diff options
| author | emmett1 <emmett1.2miligrams@protonmail.com> | 2024-08-27 08:11:02 +0800 |
|---|---|---|
| committer | emmett1 <emmett1.2miligrams@protonmail.com> | 2024-08-27 08:11:02 +0800 |
| commit | 3cb72c662147e84b2f2428d0a0e4b9668417fe9d (patch) | |
| tree | 720ecdc90c0fdbd5754adb1519ca76a351e733de | |
| parent | b1d6940b07256497792df02b1a93ea09c2008226 (diff) | |
| download | autils-3cb72c662147e84b2f2428d0a0e4b9668417fe9d.tar.gz autils-3cb72c662147e84b2f2428d0a0e4b9668417fe9d.zip | |
updates
| -rwxr-xr-x | apkg | 115 |
1 files changed, 67 insertions, 48 deletions
@@ -50,6 +50,10 @@ extract_src() { };; *) i=${i%::noextract} + [ -f $S/$sn ] || { + msg "Source file '$sn' not found." + ret 1 + } cp $S/$sn $SRC || { msg "Failed copy '$S/$sn' to '$SRC'." ret 1 @@ -146,7 +150,7 @@ _cmake_build() { _python_build() { python3 setup.py build - python3 setup.py install --prefix=/usr --root=$PKG --optimize=1 + python3 setup.py install --prefix=/usr --root=$PKG --optimize=1 $build_opt } _configure_build() { @@ -647,6 +651,57 @@ pkg_allinstalled() { ls -1 $SPM_PKGDB | $grep } +checksum_src() { + if [ ! -s "$checksum_file" ]; then + gencsum + else + printcsum > ${checksum_file}.tmp + diff -U 0 ${checksum_file} ${checksum_file}.tmp | \ + sed '/---/d;/+++/d;/@@/d' | \ + sed 's/^+/ new : /' | \ + sed 's/^-/ missing: /' > ${checksum_file}.diff + [ -s "${checksum_file}.diff" ] && { + cat ${checksum_file}.diff + msg "Checksum failed." + failed=1 + } + rm -f ${checksum_file}.tmp ${checksum_file}.diff + [ "$failed" ] && ret 1 + fi +} + +gencsum() { + for i in $source; do + case $i in + */*) continue;; + esac + [ -f "$i" ] || { + msg "Source file '$i' not found." + failed=1 + } + done + [ "$failed" ] && ret 1 + rm -f .checksum + printcsum > .checksum + msg "Checksum file updated." +} + +printcsum() { + for i in $source; do + i=${i%::noextract} + case $i in + *::*) sn=${i%::*};; + *) sn=${i##*/};; + esac + case ${i#*::} in + */*) f=${APKG_SOURCE_DIR}/$sn;; + *) f=${HERE}/$sn;; + esac + [ -f "$f" ] || continue + b3sum $f | sed "s,$APKG_SOURCE_DIR/,,;s,$HERE/,," + done | sort -k 2 +} + prompt_user() { if [ ! "$APKG_NOPROMPT" ]; then msg "Press ENTER to continue operation." @@ -757,46 +812,6 @@ EOF exit 0 } -checksum_src() { - if [ ! -s "$checksum_file" ]; then - gencsum - else - printcsum > ${checksum_file}.tmp - diff -U 0 ${checksum_file} ${checksum_file}.tmp | \ - sed '/---/d;/+++/d;/@@/d' | \ - sed 's/^+/ new : /' | \ - sed 's/^-/ missing: /' > ${checksum_file}.diff - [ -s "${checksum_file}.diff" ] && { - cat ${checksum_file}.diff - msg "Checksum failed." - failed=1 - } - rm -f ${checksum_file}.tmp ${checksum_file}.diff - [ "$failed" ] && ret 1 - fi -} - -gencsum() { - rm -f .checksum - printcsum > .checksum - msg "Checksum file updated." -} - -printcsum() { - for i in $source; do - i=${i%::noextract} - case $i in - *::*) sn=${i%::*};; - *) sn=${i##*/};; - esac - case ${i#*::} in - */*) f=${APKG_SOURCE_DIR}/$sn;; - *) f=${HERE}/$sn;; - esac - b3sum $f | sed "s,$APKG_SOURCE_DIR/,,;s,$HERE/,," - done | sort -k 2 -} - main() { parseopts $@ set -- $(updateopts $@) @@ -864,14 +879,16 @@ main() { msg "Packages need to build as root. Aborted." exit 1 fi - - # run preinstall script before build - runscript pre + if [ -f "$packagefile" ] && [ ! "$forcerebuild" ]; then if [ ! "$install" ] && [ ! "$upgrade" ]; then msg "Package '$packagefile' found." fi - else + else + if [ "$install" ] || [ "$upgrade" ]; then + # run preinstall script before build + runscript pre + fi fetch_src checksum_src extract_src @@ -888,6 +905,7 @@ main() { # run postinstall script after installed/upgraded runscript post fi + pkg_trigger $name } @@ -929,9 +947,10 @@ 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} -if [ ! "$APKG_LOG" ] ; - then main $@ -else main "$@" 2>&1 | tee -- "$log_file" +if [ ! "$APKG_LOG" ]; then + main $@ +else + main "$@" 2>&1 | tee -- "$log_file" fi exit 0 |