diff --git a/assets/var/gnu/cups.md b/assets/var/gnu/cups.md index 1c2eaec..6dee230 100644 --- a/assets/var/gnu/cups.md +++ b/assets/var/gnu/cups.md @@ -16,11 +16,6 @@ sed -i 's|^#TempDir /pkg/gnu/cups/var/spool/cups/tmp|TempDir /pkg/gnu/cups/var/s chmod 1777 /pkg/gnu/cups/var/spool/cups/tmp grep -q "SetEnv TMPDIR" /pkg/gnu/cups/etc/cups/cupsd.conf || \ echo 'SetEnv TMPDIR /pkg/gnu/cups/var/spool/cups/tmp' >> /pkg/gnu/cups/etc/cups/cupsd.conf - -#sed -i 's|^#User nobody|User nobody|' /pkg/gnu/cups/etc/cups/cups-files.conf -#sed -i 's|^#Group lp|Group lp|' /pkg/gnu/cups/etc/cups/cups-files.conf -#echo 'SetEnv GS_OPTIONS -dNOSAFER' >> /pkg/gnu/cups/etc/cups/cupsd.conf - usermod -aG lp nobody 2>/dev/null || gpasswd -a nobody lp chmod 750 /pkg/gnu/cups/var/spool/cups chown root:lp /pkg/gnu/cups/var/spool/cups diff --git a/assets/var/gnu/cups/s6.md b/assets/var/gnu/cups/s6.md new file mode 100644 index 0000000..d81494b --- /dev/null +++ b/assets/var/gnu/cups/s6.md @@ -0,0 +1,15 @@ +/s6 += + + +``` sh *** set *** +pkgname_flat=${pkgname//\//\~} +pkgname_flat=${pkgname_flat%\~s6} +ln -sf $(pwd) /pkg/gnu/s6/etc/service/current/$pkgname_flat +s6-svscanctl -h /pkg/gnu/s6/etc/service/current +``` + +``` sh *** off *** +pkgname_flat=${pkgname//\//\~} +rm /pkg/gnu/s6/etc/service/current/$pkgname_flat +``` diff --git a/assets/var/gnu/cups/s6/.pkgdata/run b/assets/var/gnu/cups/s6/.pkgdata/run new file mode 100755 index 0000000..f12c39e --- /dev/null +++ b/assets/var/gnu/cups/s6/.pkgdata/run @@ -0,0 +1,2 @@ +#!/pkg/gnu/bin/zsh +cupsd -f diff --git a/assets/var/gnu/llama.cpp/s6.md b/assets/var/gnu/llama.cpp/s6.md index e69de29..d81494b 100644 --- a/assets/var/gnu/llama.cpp/s6.md +++ b/assets/var/gnu/llama.cpp/s6.md @@ -0,0 +1,15 @@ +/s6 += + + +``` sh *** set *** +pkgname_flat=${pkgname//\//\~} +pkgname_flat=${pkgname_flat%\~s6} +ln -sf $(pwd) /pkg/gnu/s6/etc/service/current/$pkgname_flat +s6-svscanctl -h /pkg/gnu/s6/etc/service/current +``` + +``` sh *** off *** +pkgname_flat=${pkgname//\//\~} +rm /pkg/gnu/s6/etc/service/current/$pkgname_flat +``` diff --git a/assets/var/gnu/ollama/s6.md b/assets/var/gnu/ollama/s6.md index e69de29..d81494b 100644 --- a/assets/var/gnu/ollama/s6.md +++ b/assets/var/gnu/ollama/s6.md @@ -0,0 +1,15 @@ +/s6 += + + +``` sh *** set *** +pkgname_flat=${pkgname//\//\~} +pkgname_flat=${pkgname_flat%\~s6} +ln -sf $(pwd) /pkg/gnu/s6/etc/service/current/$pkgname_flat +s6-svscanctl -h /pkg/gnu/s6/etc/service/current +``` + +``` sh *** off *** +pkgname_flat=${pkgname//\//\~} +rm /pkg/gnu/s6/etc/service/current/$pkgname_flat +``` diff --git a/assets/var/gnu/unitprint/backend-local/s6.md b/assets/var/gnu/unitprint/backend-local/s6.md index d9966ca..d81494b 100644 --- a/assets/var/gnu/unitprint/backend-local/s6.md +++ b/assets/var/gnu/unitprint/backend-local/s6.md @@ -1,11 +1,15 @@ -unitprint/backend-local/s6 +/s6 = ``` sh *** set *** -ln -sf $(pwd) /pkg/gnu/s6/etc/service/current/unitprint-backend-local +pkgname_flat=${pkgname//\//\~} +pkgname_flat=${pkgname_flat%\~s6} +ln -sf $(pwd) /pkg/gnu/s6/etc/service/current/$pkgname_flat +s6-svscanctl -h /pkg/gnu/s6/etc/service/current ``` ``` sh *** off *** -rm /pkg/gnu/s6/etc/service/current/unitprint-backend-local +pkgname_flat=${pkgname//\//\~} +rm /pkg/gnu/s6/etc/service/current/$pkgname_flat ``` diff --git a/assets/var/gnu/unitprint/nginx/.pkgdata/.app-freebsd-proxy.conf b/assets/var/gnu/unitprint/nginx/.pkgdata/.app-freebsd-proxy.conf index b1758ea..da48a20 100644 --- a/assets/var/gnu/unitprint/nginx/.pkgdata/.app-freebsd-proxy.conf +++ b/assets/var/gnu/unitprint/nginx/.pkgdata/.app-freebsd-proxy.conf @@ -1,13 +1,13 @@ server { listen 80; - server_name unitprint.ru www.unitprint.ru; + server_name unitprint.ru local.unitprint.ru; return 301 https://$host$request_uri; } server { listen 443 ssl; http2 on; - server_name unitprint.ru www.unitprint.ru; + server_name unitprint.ru local.unitprint.ru; ssl_certificate /usr/local/etc/letsencrypt/live/unitprint.ru/fullchain.pem; ssl_certificate_key /usr/local/etc/letsencrypt/live/unitprint.ru/privkey.pem; diff --git a/assets/var/gnu/unitprint/nginx/.pkgdata/.app-local.conf b/assets/var/gnu/unitprint/nginx/.pkgdata/.app-local.conf index 9037e83..97eb1ed 100644 --- a/assets/var/gnu/unitprint/nginx/.pkgdata/.app-local.conf +++ b/assets/var/gnu/unitprint/nginx/.pkgdata/.app-local.conf @@ -1,6 +1,6 @@ server { listen 80 default_server; - server_name unitprint.ru www.unitprint.ru 192.168.20.1 _ + server_name unitprint.ru local.unitprint.ru 192.168.20.1 _ connectivitycheck.android.com connectivitycheck.gstatic.com clients3.google.com @@ -21,7 +21,7 @@ server { listen 443 ssl; http2 on; - server_name unitprint.ru www.unitprint.ru 192.168.20.1 _; + server_name unitprint.ru local.unitprint.ru 192.168.20.1 _; ssl_certificate /pkg/gnu/unitprint/certs/fullchain.pem; ssl_certificate_key /pkg/gnu/unitprint/certs/privkey.pem; diff --git a/assets/var/gnu/unitprint/nginx/.pkgdata/.app.conf b/assets/var/gnu/unitprint/nginx/.pkgdata/.app.conf index ce17d6d..7fdd60f 100644 --- a/assets/var/gnu/unitprint/nginx/.pkgdata/.app.conf +++ b/assets/var/gnu/unitprint/nginx/.pkgdata/.app.conf @@ -1,6 +1,6 @@ server { listen 80; - server_name unitprint.ru www.unitprint.ru 192.168.1.129; + server_name local.unitprint.ru unitprint.ru 192.168.1.129; access_log /pkg/gnu/unitprint/nginx/run/unitprint.access.log; error_log /pkg/gnu/unitprint/nginx/run/unitprint.error.log; diff --git a/src/commands/install.rs b/src/commands/install.rs index 2edce6c..5f2531e 100644 --- a/src/commands/install.rs +++ b/src/commands/install.rs @@ -12,7 +12,7 @@ use super::run::config::config; pub fn install(repo: &String, pkgname: &String) { let pkg_md_path = &crate::commands::get_aeropkg_var().join(format!("{}/{}.md", repo, pkgname)); - let builded_pkg_md_path = crate::commands::get_aeropkg_base().join(repo).join(pkgname).join("build-script.md"); + let builded_pkg_md_path = &crate::commands::get_aeropkg_base().join(repo).join(pkgname).join("build-script.md"); if builded_pkg_md_path.exists() { if fs::metadata(builded_pkg_md_path).unwrap().ino() == fs::metadata(pkg_md_path).unwrap().ino() { return } } @@ -25,6 +25,8 @@ pub fn install(repo: &String, pkgname: &String) { download(repo, pkgname); patch(repo, pkgname); build(repo, pkgname) + } else { + update_built_link(pkg_md_path, builded_pkg_md_path); } } Err(e) => { @@ -37,6 +39,13 @@ pub fn install(repo: &String, pkgname: &String) { shell::run_install_hook_script(full_env); } +fn update_built_link(src: &std::path::Path, dest: &std::path::Path) { + let _ = fs::remove_file(dest); + if let Err(e) = fs::hard_link(src, dest) { + eprintln!("Warning: Failed to update build-script.md link: {}", e); + } +} + fn check_build_dependency(repo: &String, pkg_md_path: &Path) { let deps = match parser::get_build_deps(pkg_md_path) { Ok(deps) => deps,