summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2019-04-16 13:36:12 -0400
committerAllan McRae <allan@archlinux.org>2019-05-08 13:08:47 +1000
commit0bc687e2e01f4e6e3f2a2f7ac10c7e1fdbaf5ba2 (patch)
tree54ee268e41e759e9fdbfe7acbccb4f5f23e6da58
parent9375f49865296f04bd51e5e39ddca863b67cbd6c (diff)
downloadpacman-0bc687e2e01f4e6e3f2a2f7ac10c7e1fdbaf5ba2.tar.xz
makepkg: propagate error codes when package failed to sign correctly
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--doc/makepkg.8.asciidoc2
-rw-r--r--scripts/libmakepkg/integrity/generate_signature.sh.in8
-rw-r--r--scripts/makepkg.sh.in2
3 files changed, 8 insertions, 4 deletions
diff --git a/doc/makepkg.8.asciidoc b/doc/makepkg.8.asciidoc
index b15e3a67..544659fc 100644
--- a/doc/makepkg.8.asciidoc
+++ b/doc/makepkg.8.asciidoc
@@ -340,7 +340,7 @@ On exit, makepkg will return one of the following error codes.
Programs necessary to run makepkg are missing.
16::
- Specified GPG key does not exist.
+ Specified GPG key does not exist or failed to sign package.
See Also
--------
diff --git a/scripts/libmakepkg/integrity/generate_signature.sh.in b/scripts/libmakepkg/integrity/generate_signature.sh.in
index e6ff3b1b..b6138824 100644
--- a/scripts/libmakepkg/integrity/generate_signature.sh.in
+++ b/scripts/libmakepkg/integrity/generate_signature.sh.in
@@ -47,6 +47,8 @@ create_signature() {
}
create_package_signatures() {
+ local ret=0
+
if [[ $SIGNPKG != 'y' ]]; then
return 0
fi
@@ -59,7 +61,7 @@ create_package_signatures() {
pkgarch=$(get_pkg_arch $pkg)
pkg_file="$PKGDEST/${pkg}-${fullver}-${pkgarch}${PKGEXT}"
- create_signature "$pkg_file"
+ create_signature "$pkg_file" || ret=$?
done
# check if debug package needs a signature
@@ -68,7 +70,9 @@ create_package_signatures() {
pkgarch=$(get_pkg_arch)
pkg_file="$PKGDEST/${pkg}-${fullver}-${pkgarch}${PKGEXT}"
if [[ -f $pkg_file ]]; then
- create_signature "$pkg_file"
+ create_signature "$pkg_file" || ret=$?
fi
fi
+
+ return $ret
}
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 4559afec..4d9948ec 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1481,7 +1481,7 @@ else
enter_fakeroot
- create_package_signatures
+ create_package_signatures || exit $E_PRETTY_BAD_PRIVACY
fi
# if inhibiting archive creation, go no further