diff options
| author | emmett1 <me@emmett1.my> | 2026-05-01 14:02:14 +0800 |
|---|---|---|
| committer | emmett1 <me@emmett1.my> | 2026-05-01 14:02:14 +0800 |
| commit | fc6eb39ac32df1d83a30b0574c76f705ee6571b3 (patch) | |
| tree | 676ec1df8929490a440dede2f57278aebdf784d8 | |
| parent | 722e9b8891446293c7cb6690249ee1b3e8ed1b28 (diff) | |
| download | autils-fc6eb39ac32df1d83a30b0574c76f705ee6571b3.tar.gz autils-fc6eb39ac32df1d83a30b0574c76f705ee6571b3.zip | |
removed /etc/apkg.conf, use env now. and some updates
| -rwxr-xr-x | apkg | 73 |
1 files changed, 20 insertions, 53 deletions
@@ -81,7 +81,7 @@ remove_workdir() { ret() { [ "$APKG_KEEP_WORKDIR" ] || remove_workdir - exit $1 + exit ${1:-0} } detect_buildtype() { @@ -386,7 +386,7 @@ build_src() { } fi - if [ ! -f "$HERE"/.files ] || [ "$HERE"/abuild -nt "$HERE"/.files ]; then + if [ ! -f "$lists_file" ] || [ "$build_file" -nt "$lists_file" ]; then pkg_updatefiles fi @@ -400,13 +400,13 @@ pkg_updatefiles() { ret 1 fi msg "filelist updated." - tar -tvf $packagefile | awk '{$3=$4=$5=""; print $0}' | sort -k 3 > "$HERE"/.files + tar -tvf $packagefile | awk '{$3=$4=$5=""; print $0}' | sort -k 3 > "$lists_file" } pkg_path() { for p in $@; do for r in $APKG_REPO; do - [ -f $r/$p/abuild ] && { + [ -f $r/$p/${build_file##*/} ] && { printf "%s\n" $r/$p break } @@ -491,7 +491,7 @@ pkg_outdate() { } 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="$(grep ^version= $(pkg_path $n)/${build_file##*/} | tail -n1 | awk -F = '{print $2}')-$(grep ^release= $(pkg_path $n)/${build_file##*/} | awk -F = '{print $2}')" [ "$nv" ] || continue [ "$v" = "$nv" ] || printf "%s\n" "$n $v -> $nv" done @@ -545,9 +545,9 @@ pkg_search() { grep=cat fi [ "$verbose" ] && { - find $APKG_REPO -type f -name abuild 2>/dev/null | sed 's|/abuild||' | rev | awk -F / '{print $1}' | rev | $grep | while read line; do printf "$line "; awk -F'=' '/^version/ {print $2}' $($APKG -p $line)/abuild ; done + find $APKG_REPO -type f -name ${build_file##*/} 2>/dev/null | sed "s|/${build_file##*/}||" | rev | awk -F / '{print $1}' | rev | $grep | while read line; do printf "$line "; awk -F'=' '/^version/ {print $2}' $($APKG -p $line)/abuild ; done } || { - find $APKG_REPO -type f -name abuild 2>/dev/null | sed 's|/abuild||' | rev | awk -F / '{print $1}' | rev | $grep + find $APKG_REPO -type f -name ${build_file##*/} 2>/dev/null | sed "s|/${build_file##*/}||" | rev | awk -F / '{print $1}' | rev | $grep } } @@ -882,9 +882,7 @@ options: environment variables: APKG_ROOT override default root (${APKG_ROOT:-/}) location - APKG_CONF override default $APKG_CONF location APKG_NOPROMPT set the variable for non-interactive use - APKG_LOG set the variable for logging the output to a file EOF exit 0 @@ -904,7 +902,7 @@ main() { exit 0 fi - for d in $APKG_PACKAGE_DIR $APKG_SOURCE_DIR $APKG_WORK_DIR $APKG_LOG_DIR; do + for d in $APKG_PACKAGE_DIR $APKG_SOURCE_DIR $APKG_WORK_DIR; do [ -d "$d" ] || { msg "Directory '$d' not exist"; exit 1; } [ -w "$d" ] || { msg "Directory '$d' dont have write access"; exit 1; } done @@ -920,12 +918,12 @@ main() { exit 0 fi - if [ ! -f ./abuild ]; then + if [ ! -f "${build_file}" ]; then msg "'abuild' not found." exit 1 fi - . ./abuild + . ${build_file} [ "$name" ] || die "name is empty" [ "$version" ] || die "version is empty" [ "$release" ] || die "release is empty" @@ -933,8 +931,7 @@ main() { msg "'name' should be same as package directory name (${PWD##*/})." exit 1 } - - logfile="$APKG_LOG_DIR"/$name.log + packagefile="$APKG_PACKAGE_DIR"/$name#$version-$release.spm if [ "$install" ] && [ -s "$SPM_PKGDB/${PWD##*/}" ]; then @@ -979,11 +976,7 @@ main() { fetch_src checksum_src extract_src - [ "$APKG_LOG" ] && { - build_src 2>&1 | tee -- "$logfile" - } || { - build_src - } + build_src fi if [ "$install" ]; then @@ -1003,42 +996,16 @@ umask 022 export HERE="$PWD" -APKG=$0 -SPM_PKGDB="${APKG_ROOT%/}/var/lib/spm/db" - -# for apkg config, either override or default -APKG_CONF="${APKG_CONF:-/etc/apkg.conf}" - -## NEED BETTER WAY TO DO THIS? -# environment override -O_APKG_REPO=$APKG_REPO -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" -APKG_PACKAGE_DIR="$PWD" -APKG_SOURCE_DIR="$PWD" -APKG_WORK_DIR="$PWD" -APKG_LOG_DIR="$PWD" - checksum_file="$HERE/.checksum" +lists_file="$HERE/.files" +build_file="$HERE/abuild" -# source config -if [ -f "$APKG_CONF" ]; then - . "$APKG_CONF" -fi - -# reset value, use override first, else either from config or use default -APKG_REPO=${O_APKG_REPO:-$APKG_REPO} -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} +APKG=$0 +SPM_PKGDB="${APKG_ROOT%/}/var/lib/spm/db" +APKG_REPO="${APKG_REPO:-$PWD}" +APKG_PACKAGE_DIR="${APKG_PACKAGE_DIR:-$PWD}" +APKG_SOURCE_DIR="${APKG_SOURCE_DIR:-$PWD}" +APKG_WORK_DIR="${APKG_WORK_DIR:-$PWD}" main "$@" |