aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremmett1 <emmett1.2miligrams@protonmail.com>2024-08-27 08:30:55 +0800
committeremmett1 <emmett1.2miligrams@protonmail.com>2024-08-27 08:30:55 +0800
commit99b72ff92222d754759428fd618e0e3a5d3f7cca (patch)
tree2bce1e306062eda955b201ee6467f515fe227b24
parent3cb72c662147e84b2f2428d0a0e4b9668417fe9d (diff)
downloadautils-99b72ff92222d754759428fd618e0e3a5d3f7cca.tar.gz
autils-99b72ff92222d754759428fd618e0e3a5d3f7cca.zip
updates
-rwxr-xr-xapkg50
1 files changed, 28 insertions, 22 deletions
diff --git a/apkg b/apkg
index e06d8b6..6d78802 100755
--- a/apkg
+++ b/apkg
@@ -26,6 +26,7 @@ fetch_src() {
extract_src() {
prepare_workdir
[ "$source" ] || return 0
+ checksource
for i in $source; do
case $i in
*/*) S=$APKG_SOURCE_DIR;;
@@ -50,10 +51,6 @@ 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
@@ -670,35 +667,44 @@ checksum_src() {
fi
}
-gencsum() {
- for i in $source; do
- case $i in
- */*) continue;;
+printsource() {
+ # print out source full path
+ for printsource in $source; do
+ printsource=${printsource%::noextract}
+ case $printsource in
+ *::*) sourcename=${printsource%::*};;
+ *) sourcename=${printsource##*/};;
+ esac
+ case ${printsource#*::} in
+ */*) sourcenamefullpath=${APKG_SOURCE_DIR}/$sourcename;;
+ *) sourcenamefullpath=${HERE}/$sourcename;;
esac
- [ -f "$i" ] || {
- msg "Source file '$i' not found."
+ echo $sourcenamefullpath
+ done
+}
+
+checksource() {
+ # check for source existence, exit non-zero if missing
+ for checksource in $(printsource); do
+ [ -f "$checksource" ] || {
+ msg "Source file '$checksource' not found."
failed=1
}
done
[ "$failed" ] && ret 1
+}
+
+gencsum() {
+ checksource
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/,,"
+ for printcsum in $(printsource); do
+ [ -f "$printcsum" ] || continue
+ b3sum $printcsum | sed "s,$APKG_SOURCE_DIR/,,;s,$HERE/,,"
done | sort -k 2
}