bb64 release v13

This commit is contained in:
Your Name 2025-05-12 20:59:44 +12:00
parent 90c22fea00
commit 798e95dca4
2 changed files with 43 additions and 1 deletions

View File

@ -36,6 +36,18 @@ constexpr unsigned int hash(const char *s, int off = 0)
return !s[off] ? 5381 : (hash(s, off + 1) * 33) ^ s[off]; return !s[off] ? 5381 : (hash(s, off + 1) * 33) ^ s[off];
} }
std::string get_arch()
{
// determine the architecture of the system
std::string arch;
#ifdef __aarch64__
arch = "arm64";
#elif __x86_64__
arch = "amd64";
#endif
return arch;
}
int update_bb64() int update_bb64()
{ {
std::cout << "Updating bb64..." << std::endl; std::cout << "Updating bb64..." << std::endl;
@ -44,6 +56,36 @@ int update_bb64()
std::filesystem::path bb64_path = std::filesystem::canonical("/proc/self/exe"); std::filesystem::path bb64_path = std::filesystem::canonical("/proc/self/exe");
std::cout << "bb64 path: " << bb64_path << std::endl; std::cout << "bb64 path: " << bb64_path << std::endl;
// determine the architecture of the system
std::string arch = get_arch();
std::cout << "arch: " << arch << std::endl;
std::string url = "https://gitea.jde.nz/j/bb64/releases/download/latest/bb64." + arch;
// make unique temp directory
std::string temp_dir = "/tmp/bb64_" + std::to_string(getpid());
std::filesystem::create_directories(temp_dir);
std::string bash_script;
bash_script += "docker run --rm -v " + temp_dir + ":/tmp" + " -v /usr/local/bin:/target";
bash_script += " alpine/curl:latest";
bash_script += " sh -c 'curl -fsSL " + url;
bash_script += " -o /tmp/bb64";
bash_script += " && chmod +x /tmp/bb64";
bash_script += " && cp /tmp/bb64 /usr/local/bin/bb64";
bash_script += " && rm -rf /tmp/bb64'";
std::cout << "bash_script: " << std::endl
<< bash_script << std::endl;
// run the bash script
int ret = system(bash_script.c_str());
if (ret != 0)
{
std::cerr << "Failed to update bb64" << std::endl;
return -1;
}
return 0; return 0;
} }

View File

@ -1 +1 @@
static const char *VERSION = "12"; static const char *VERSION = "13";