aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremmett1 <emmett1.2miligrams@protonmail.com>2024-08-27 08:11:02 +0800
committeremmett1 <emmett1.2miligrams@protonmail.com>2024-08-27 08:11:02 +0800
commit3cb72c662147e84b2f2428d0a0e4b9668417fe9d (patch)
tree720ecdc90c0fdbd5754adb1519ca76a351e733de
parentb1d6940b07256497792df02b1a93ea09c2008226 (diff)
downloadautils-3cb72c662147e84b2f2428d0a0e4b9668417fe9d.tar.gz
autils-3cb72c662147e84b2f2428d0a0e4b9668417fe9d.zip
updates
-rwxr-xr-xapkg115
1 files changed, 67 insertions, 48 deletions
diff --git a/apkg b/apkg
index 67a052f..e06d8b6 100755
--- a/apkg
+++ b/apkg
@@ -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