summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xupgpkg13
1 files changed, 12 insertions, 1 deletions
diff --git a/upgpkg b/upgpkg
index 2c3963e..ef8388f 100755
--- a/upgpkg
+++ b/upgpkg
@@ -103,7 +103,18 @@ fi
sed -i "s/pkgver=.*$/pkgver=$1/g" PKGBUILD
sed -i "s/pkgrel=.*$/pkgrel=1/g" PKGBUILD
makepkg -g || exit 1
-awk <PKGBUILD '$0 ~ /^(md5|sha[0-9]+)sums/ {i = 1; if(!run==1) {system("makepkg -g 2>/dev/null")}; run=1; }; !i {print}; $0 ~ /\)/ {i = 0}' | sponge PKGBUILD
+# replace the first checksum line with all checksums, remove all other checksums
+# TODO: this doesn't work if there are no checksum lines or if the makepkg call
+# inside the awk script doesn't return anything
+# original awk by Pierre https://projects.archlinux.de/kde-build.git/tree/common/updpkg
+awk <PKGBUILD '
+$0 ~ /^(md5|sha[0-9]+)sums/ {
+ i = 1;
+ if(!run==1) {system("makepkg -g 2>/dev/null")};
+ run=1;
+};
+!i {print};
+$0 ~ /\)/ {i = 0}' | sponge PKGBUILD
source PKGBUILD
if [ -f "upgpkg" ]; then