[pacman-dev] [PATCH 2/2] makepkg: add new checksum algorithm via coreutils b2sum

Eli Schwartz eschwartz at archlinux.org
Fri Feb 15 16:38:18 UTC 2019


coreutils 8.26 in December 2016 added this new hashing method which is
compatible with the existing md5sum and sha*sum tool usage, while using
the blake2 hash algorithm.

makepkg uses coreutils to provide source file integrity checks via
${integ}sum binaries and it makes sense to offer this as an additional
option.

Signed-off-by: Eli Schwartz <eschwartz at archlinux.org>
---
 doc/PKGBUILD.5.asciidoc              | 2 +-
 doc/makepkg.conf.5.asciidoc          | 2 +-
 etc/makepkg.conf.in                  | 2 +-
 scripts/libmakepkg/util/schema.sh.in | 2 +-
 scripts/makepkg.sh.in                | 4 ++--
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/doc/PKGBUILD.5.asciidoc b/doc/PKGBUILD.5.asciidoc
index 32668adc..e8ce691f 100644
--- a/doc/PKGBUILD.5.asciidoc
+++ b/doc/PKGBUILD.5.asciidoc
@@ -154,7 +154,7 @@ contain whitespace characters.
 	be skipped. To easily generate md5sums, run ``makepkg -g >> PKGBUILD''.
 	If desired, move the md5sums line to an appropriate location.
 
-*sha1sums, sha224sums, sha256sums, sha384sums, sha512sums (arrays)*::
+*sha1sums, sha224sums, sha256sums, sha384sums, sha512sums, b2sums (arrays)*::
 	Alternative integrity checks that makepkg supports; these all behave
 	similar to the md5sums option described above. To enable use and generation
 	of these checksums, be sure to set up the `INTEGRITY_CHECK` option in
diff --git a/doc/makepkg.conf.5.asciidoc b/doc/makepkg.conf.5.asciidoc
index 6334db05..34810f51 100644
--- a/doc/makepkg.conf.5.asciidoc
+++ b/doc/makepkg.conf.5.asciidoc
@@ -183,7 +183,7 @@ Options
 **INTEGRITY_CHECK=(**check1 ...**)**::
 	File integrity checks to use. Multiple checks may be specified; this
 	affects both generation and checking. The current valid options are:
-	`md5`, `sha1`, `sha224`, `sha256`, `sha384`, and `sha512`.
+	`md5`, `sha1`, `sha224`, `sha256`, `sha384`, `sha512`, and `b2`.
 
 **STRIP_BINARIES=**"--strip-all"::
 	Options to be used when stripping binaries. See linkman:strip[1]
diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in
index 4d5cf4ea..f914684f 100644
--- a/etc/makepkg.conf.in
+++ b/etc/makepkg.conf.in
@@ -87,7 +87,7 @@ BUILDENV=(!distcc color !ccache check !sign)
 #
 OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !debug)
 
-#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512
+#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
 INTEGRITY_CHECK=(md5)
 #-- Options to be used when stripping binaries. See `man strip' for details.
 STRIP_BINARIES="@STRIP_BINARIES@"
diff --git a/scripts/libmakepkg/util/schema.sh.in b/scripts/libmakepkg/util/schema.sh.in
index 38f034e0..a611d221 100644
--- a/scripts/libmakepkg/util/schema.sh.in
+++ b/scripts/libmakepkg/util/schema.sh.in
@@ -26,7 +26,7 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
 source "$LIBRARY/util/util.sh"
 
 
-known_hash_algos=({md5,sha{1,224,256,384,512}})
+known_hash_algos=({md5,sha{1,224,256,384,512},b2})
 
 pkgbuild_schema_arrays=(arch backup checkdepends conflicts depends groups
                         license makedepends noextract optdepends options
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 5606f65b..fd8ec8eb 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1210,7 +1210,7 @@ unset sha{1,224,256,384,512}sums makedepends optdepends options noextract validp
 unset "${!makedepends_@}" "${!depends_@}" "${!source_@}" "${!checkdepends_@}"
 unset "${!optdepends_@}" "${!conflicts_@}" "${!provides_@}" "${!replaces_@}"
 unset "${!md5sums_@}" "${!sha1sums_@}" "${!sha224sums_@}" "${!sha256sums_@}"
-unset "${!sha384sums_@}" "${!sha512sums_@}"
+unset "${!sha384sums_@}" "${!sha512sums_@}" "${!b2sums_@}"
 
 BUILDFILE=${BUILDFILE:-$BUILDSCRIPT}
 if [[ ! -f $BUILDFILE ]]; then
@@ -1340,7 +1340,7 @@ if (( INFAKEROOT )); then
 	else
 		run_split_packaging
 	fi
-	
+
 	create_debug_package
 
 	msg "$(gettext "Leaving %s environment.")" "fakeroot"
-- 
2.20.1


More information about the pacman-dev mailing list