autils

A minimal package manager written for Alice Linux
git clone https://codeberg.org/emmett1/autils
Log | Files | Refs | README | LICENSE

commit 8ebed7f687cf8b093aef815628671f1a15733ff5
parent bfd3420f7a507c4cacebc7ca827b436ec5f7d809
Author: emmett1 <emmett1.2miligrams@protonmail.com>
Date:   Sun,  7 Dec 2025 23:11:56 +0800

fixes

Diffstat:
Mapkg | 18+++++++++++-------
Mapkg-bin | 1+
2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/apkg b/apkg @@ -207,7 +207,7 @@ apply_patch() { esac case $pn in *.patch|*.diff) - msg "applying path '$SRC/$pn'." + msg "applying patch '$SRC/$pn'." patch ${patch_opt:--p1} -t -i $SRC/$pn || ret 1;; esac done @@ -485,9 +485,11 @@ solve_alias() { pkg_outdate() { verbose=1 pkg_allinstalled | while read -r n v; do - [ "$APKG_MASK" ] && { - printf "%s\n" "$APKG_MASK" | tr ' ' '\n' | grep -xq $n && continue - } + if [ "$mask" ]; then + [ "$APKG_MASK" ] && { + printf "%s\n" "$APKG_MASK" | tr ' ' '\n' | grep -xq $n && continue + } + fi [ "$(pkg_path $n)" ] || continue nv="$(grep ^version= $(pkg_path $n)/abuild | tail -n1 | awk -F = '{print $2}')-$(grep ^release= $(pkg_path $n)/abuild | awk -F = '{print $2}')" [ "$nv" ] || continue @@ -505,7 +507,7 @@ pkg_remove() { pkg_sysup() { needroot msg "Checking for outdated packages..." - od=$(pkg_outdate | awk '{print $1}') + od=$(mask=1 pkg_outdate | awk '{print $1}') if [ ! "$od" ]; then msg "No outdated packages." exit 0 @@ -523,9 +525,9 @@ pkg_sysup() { msg "Upgrading $totalpkg package(s): $pu" prompt_user if [ "$ni" ]; then - $APKG -i $ni || die + $APKG -i $ni #|| die fi - $APKG -u $pu || die + $APKG -u $pu #|| die fi } @@ -1014,6 +1016,7 @@ O_APKG_PACKAGE_DIR=$APKG_PACKAGE_DIR O_APKG_SOURCE_DIR=$APKG_SOURCE_DIR O_APKG_WORK_DIR=$APKG_WORK_DIR O_APKG_LOG_DIR=$APKG_LOG_DIR +O_APKG_MASK=$APKG_MASK # default value APKG_REPO="$PWD" @@ -1035,6 +1038,7 @@ APKG_PACKAGE_DIR=${O_APKG_PACKAGE_DIR:-$APKG_PACKAGE_DIR} APKG_SOURCE_DIR=${O_APKG_SOURCE_DIR:-$APKG_SOURCE_DIR} APKG_WORK_DIR=${O_APKG_WORK_DIR:-$APKG_WORK_DIR} APKG_LOG_DIR=${O_APKG_LOG_DIR:-$APKG_LOG_DIR} +APKG_MASK=${O_APKG_MASK:-$APKG_MASK} main "$@" diff --git a/apkg-bin b/apkg-bin @@ -198,6 +198,7 @@ clean_pkg() { actual_sha=$(sha256sum "$f" | awk '{print $1}') if [ "$expected_size" != "$actual_size" ] || [ "$expected_sha" != "$actual_sha" ]; then msg "Mismatch: $fname (removed)" + rm -f "$f" fi else msg "Unknown package: $fname (removed)"