diff options
| -rwxr-xr-x | apkg | 55 |
1 files changed, 25 insertions, 30 deletions
@@ -386,7 +386,7 @@ build_src() { } fi - if [ ! -f "$lists_file" ] || [ "$build_file" -nt "$lists_file" ]; then + if [ ! -f "$apkg_list" ] || [ "$apkg_build" -nt "$apkg_list" ]; 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 > "$lists_file" + tar -tvf $packagefile | awk '{$3=$4=$5=""; print $0}' | sort -k 3 > "$apkg_list" } pkg_path() { for p in $@; do for r in $APKG_REPO; do - [ -f $r/$p/${build_file##*/} ] && { + [ -f $r/$p/${apkg_build##*/} ] && { printf "%s\n" $r/$p break } @@ -491,7 +491,7 @@ pkg_outdate() { } fi [ "$(pkg_path $n)" ] || continue - 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="$(grep ^version= $(pkg_path $n)/${apkg_build##*/} | tail -n1 | awk -F = '{print $2}')-$(grep ^release= $(pkg_path $n)/${apkg_build##*/} | 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 ${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 ${apkg_build##*/} 2>/dev/null | sed "s|/${apkg_build##*/}||" | 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 + find $APKG_REPO -type f -name ${apkg_build##*/} 2>/dev/null | sed "s|/${apkg_build##*/}||" | rev | awk -F / '{print $1}' | rev | $grep } } @@ -710,21 +710,20 @@ pkg_allinstalled() { } checksum_src() { - if [ ! -s "$checksum_file" ]; then + if [ ! -s "$apkg_csum" ]; then gencsum else - b3sumcheck || return 0 - printcsum > ${checksum_file}.tmp - diff -U 0 ${checksum_file} ${checksum_file}.tmp | \ + printcsum > ${apkg_csum}.tmp + diff -U 0 ${apkg_csum} ${apkg_csum}.tmp | \ sed '/---/d;/+++/d;/@@/d' | \ sed 's/^+/ new : /' | \ - sed 's/^-/ missing: /' > ${checksum_file}.diff - [ -s "${checksum_file}.diff" ] && { - cat ${checksum_file}.diff + sed 's/^-/ missing: /' > ${apkg_csum}.diff + [ -s "${apkg_csum}.diff" ] && { + cat ${apkg_csum}.diff msg "Checksum failed." failed=1 } - rm -f ${checksum_file}.tmp ${checksum_file}.diff + rm -f ${apkg_csum}.tmp ${apkg_csum}.diff [ "$failed" ] && ret 1 fi } @@ -756,22 +755,17 @@ checksource() { [ "$failed" ] && ret 1 } -b3sumcheck() { - command -v b3sum >/dev/null || { msg "'b3sum' not installed."; return 1; } -} - gencsum() { checksource - b3sumcheck || return 0 - rm -f .checksum - printcsum > .checksum - msg "Checksum file updated." + rm -f "$apkg_csum" + printcsum > "$apkg_csum" + msg "${apkg_csum##*/} file updated." } printcsum() { for printcsum in $(printsource); do [ -f "$printcsum" ] || continue - b3sum $printcsum | sed "s,$APKG_SOURCE_DIR/,,;s,$HERE/,," + sha256sum $printcsum | sed "s,$APKG_SOURCE_DIR/,,;s,$HERE/,," done | sort -k 2 } @@ -863,11 +857,11 @@ options: -i <pkg(s)> install package(s) -I <pkg(s)> install packages(s) with dependencies -d <pkg> list <pkg> dependencies - -D <pkg(s)> list all dependencies + -D <pkg(s)> list all dependencies in order -j <pkg> list all dependents -u <pkg(s)> upgrade package(s) -r <pkg(s)> remove package(s) - -t [pkg(s)] trigger system cache/db updates + -t <pkg(s)> trigger system cache/db updates -U update system -f force rebuild -o <pkg(s)> download source @@ -875,6 +869,7 @@ options: -g <pkg> update package checksum -k <pkg> update package files -l list outdated packages + -a list all installed packages -s <pattern> search packages -S <pattern> search files -v be verbose @@ -918,12 +913,12 @@ main() { exit 0 fi - if [ ! -f "${build_file}" ]; then + if [ ! -f "${apkg_build}" ]; then msg "'abuild' not found." exit 1 fi - . ${build_file} + . ${apkg_build} [ "$name" ] || die "name is empty" [ "$version" ] || die "version is empty" [ "$release" ] || die "release is empty" @@ -996,9 +991,9 @@ umask 022 export HERE="$PWD" -checksum_file="$HERE/.checksum" -lists_file="$HERE/.files" -build_file="$HERE/abuild" +apkg_csum="$HERE/.shasum" +apkg_list="$HERE/.files" +apkg_build="$HERE/abuild" APKG=$0 SPM_PKGDB="${APKG_ROOT%/}/var/lib/spm/db" |