*)
printf %d:%s, $(printf %s "$arg" | wc -c) "$arg"
esac
-done | meta4ra-hash -hashes "$META4RA_HASHES" >$tmp
+done | meta4ra-hash -hashers "$META4RA_HASHERS" >$tmp
read hsh rem <$tmp
[ -n "$hsh" ]
perl -MMIME::Base64 \
+++ /dev/null
-#!/bin/sh -e
-# Detect possible hashers
-
-desired="$1"
-
-check() {
- local name="$1"
- local cmd="$2"
- our=$(echo -n hello world |
- sh -e -c "$cmd" |
- { read h rem ; printf %s "$h"; })
- [ $HSH == "$our" ] && echo "$name $cmd" || return 1
-}
-
-no() {
- echo no $1 >&2
-}
-
-n=blake3-256
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=d74981efa70a0c880b8d8c1985d075dbcbf679b99a5f9914e5aaf96b831a9e24
- check $n b3sum || # https://github.com/BLAKE3-team/BLAKE3
- check $n "meta4ra-hash -hashes $n:builtin" ||
- no $n
-fi
-
-n=blake2b-512
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=021ced8799296ceca557832ab941a50b4a11f83478cf141f51f933f653ab9fbcc05a037cddbed06e309bf334942c4e58cdf1a46e237911ccd7fcf9787cbc7fd0
- check $n b2sum || # https://blake2.net/, GNU Coreutils
- check $n "openssl blake2b512 -r" ||
- check $n "meta4ra-hash -hashes $n:builtin" ||
- no $n
-fi
-
-n=blake2b-256
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=256c83b297114d201b30179f3f0ef0cace9783622da5974326b436178aeef610
- check $n "b2sum -l 256" ||
- check $n "meta4ra-hash -hashes $n:builtin" ||
- no $n
-fi
-
-n=skein-512
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=8b4830244fc36daa11177311dc6bf7636376180dce2d29193335878142e7d6f5e9016beba729e0a353dd2fd421c8b2022ee8927f0bce6b88631bb01be2e0f5ba
- check $n skein512 || # FreeBSD's out-of-box command
- no $n
-fi
-
-n=shake128
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=3a9159f071e4dd1c8c4f968607c30942e120d8156b8b1e72e0d376e8871cb8b8
- check $n goshake128 || # go.stargrave.org/gosha3
- check $n "sha3sum -a 128000 | dd bs=1 count=64 2>/dev/null ; echo" || # p5-Digest-SHA3
- check $n "meta4ra-hash -hashes $n:builtin" ||
- no $n
- # openssl shake128 -- useless, as it outputs only 128 bits
-fi
-
-n=shake256
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=369771bb2cb9d2b04c1d54cca487e372d9f187f73f7ba3f65b95c8ee7798c527f4f3c2d55c2d46a29f2e945d469c3df27853a8735271f5cc2d9e889544357116
- check $n goshake256 ||
- check $n "sha3sum -a 256000 | dd bs=1 count=128 2>/dev/null ; echo" ||
- check $n "meta4ra-hash -hashes $n:builtin" ||
- no $n
-fi
-
-n=sha-512
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f
- check $n sha512 ||
- check $n sha512sum ||
- check $n "libressl dgst -sha512" ||
- check $n "openssl sha512 -r" ||
- check $n "meta4ra-hash -hashes $n:builtin" ||
- no $n
-fi
-
-n=sha-256
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
- check $n sha256 ||
- check $n sha256sum ||
- check $n "libressl dgst -sha256" ||
- check $n "openssl sha256 -r" ||
- check $n "meta4ra-hash -hashes $n:builtin" ||
- no $n
-fi
-
-unxxd="xxd -c 0 -p"
-unhexdump="hexdump -v -e '/1 \"%02x\"' ; echo"
-n=streebog-512
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=84d883ede9fa6ce855d82d8c278ecd9f5fc88bf0602831ae0c38b9b506ea3cb02f3fa076b8f5664adf1ff862c0157da4cc9a83e141b738ff9268a9ba3ed6f563
- check $n streebog512 || # go.cypherpunks.su/gogost
- check $n "nettle-hash --algorithm=streebog512 --raw | $unxxd" ||
- check $n "nettle-hash --algorithm=streebog512 --raw | $unhexdump" ||
- check $n "libressl dgst -streebog512" ||
- check $n "meta4ra-hash -hashes $n:builtin" ||
- no $n
-fi
-
-n=streebog-256
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=c600fd9dd049cf8abd2f5b32e840d2cb0e41ea44de1c155dcd88dc84fe58a855
- check $n streebog256 ||
- check $n "nettle-hash --algorithm=streebog256 --raw | $unxxd" ||
- check $n "nettle-hash --algorithm=streebog256 --raw | $unhexdump" ||
- check $n "libressl dgst -streebog256" ||
- check $n "meta4ra-hash -hashes $n:builtin" ||
- no $n
-fi
-
-n=xxh3-128
-if [ -z "$desired" ] || [ $desired = "$n" ] ; then
- HSH=df8d09e93f874900a99b8775cc15b6c7
- check $n "xxhsum -H128" || # https://cyan4973.github.io/xxHash/
- check $n "meta4ra-hash -hashes $n:builtin" ||
- no $n
-fi
# Generates hashes with specified hasher
hashers="$1"
-[ -n "$hashers" ] || hashers="$($(dirname "$0")/hashers-detect 2>/dev/null)"
+[ -n "$hashers" ] || hashers="$(meta4ra-hashers-detect 2>/dev/null)"
tmp=$(mktemp -d)
trap "rm -fr $tmp" HUP PIPE INT QUIT TERM EXIT
cd $tmp
dst=$(basename $1)
mkdir -p $dst
"$BASS_ROOT"/bin/filessize $1 >$dst/size
-meta4ra-hash -all -hashes "$META4RA_HASHES" <$1 >$dst/hashes
+meta4ra-hash -all -hashers "$META4RA_HASHERS" <$1 >$dst/hashes
/meson-0.56.0.tar.gz
/meson-0.63.3.tar.gz
/meson-1.7.2.tar.gz
-/meta4ra-1.6.0.tar.zst
+/meta4ra-2.0.0.tar.zst
/MIME-Base32-1.303.tar.gz
/mkvtoolnix-58.0.0.tar.xz
/mod_tile-v0.7.0-58-gc3453bc.tar.zst
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAghQxyOlPm7DilJhOJz1KoUGtVbH
BWX/nRiWzQembxCXUAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx
-OQAAAEBPAiDv5EzaFOwUrP/aJ+8FtLloBuoKxMRyfXLh/3uTw9swDsEiiHL43O/WSp6kK9
-IEX7oP6SGzqmIrDq4Rw48I
+OQAAAECWWsmr++QbTABqfyfq/ItJ/EV3YxOhn/14fyG4Bw0a4ifKVWPsvOWhcLy11LNbuq
++jC5vZ9sUtg3xDwMQVOKsF
-----END SSH SIGNATURE-----
if [ -s "$metadir"/hashes ] ; then
meta4ra-check \
-progress \
- -hashes "$META4RA_HASHES" \
+ -hashers "$META4RA_HASHERS" \
-plain "$metadir"/hashes \
<cache/$dst 2>&1 >/dev/null || {
echo hash check failed >&2
echo trying ${url}... >&2
if [ -s "$metadir"/hashes ] ; then
meta4ra-dl -progress -size $size "$url" |
- meta4ra-check -plain -hashes "$META4RA_HASHES" "$metadir"/hashes \
+ meta4ra-check -plain -hashers "$META4RA_HASHERS" "$metadir"/hashes \
>$fn || {
echo hash check failed >&2
rm $fn
+++ /dev/null
-blake3-256 85375cd4193d66ca14a0175d8b7d8fa83bc035c90143156a09852b8da50682de
-blake2b-512 3e5a802d5987ca59c4ca82db2ada0feee9731372e940872dae1f43b1b2f96cfa22c50664de7111490f2688bbb18d4b7c31f65eb6bfdf62d7e3fbc567d88c0a2b
-blake2b-256 367dada7de67be8baba052bec77c412119d6c2cb7f53d62dbf5655fd9f9211b8
-skein-512 0cdfd42f1b8a7e3792dc00704eae40eca26777ad75f53f8dbe1b2e718d37efdf791308d671e13f20c8cf351f1feec754cd1a4ce2364c7840215ae823c097422b
-shake128 3f19fe5d7d20843a5ea18048e3f9e169fd15e2510a7d95fd41f03352c2210ab6
-shake256 a066d78e86fd5c920975abfb4c82a92132684234c2fabde2d43d3408e527727cb31100682de56419c8bca0fe3605796e82431c74a264760ff201c92c141ae604
-sha-512 e9d488424901c59a1a984bb91608726d0d8d3c6e1a26d1900171c1e6b912d5770d6b574b6ec18669198deb88a3afe36bc978788a578d2b00c7d933c11834b196
-sha-256 f2fc6088d90ec25dd518992271ac66105ed181eaa719dfbba24cd7084fbc6b18
-streebog-512 e216f7ddc9a12b882cadf97691e65117ef418f509bea1ffb3073b8b529f250ca60f8b16e3591efc05b65df2a597a30a3e36954df1c09340370fcf1d88763d1c2
-streebog-256 66e752a519ee798528326773370d3dd4694dc26eab93522dc80c2e39f1f09861
-xxh3-128 f70dcb4452476cacc2d5f532e3d6fb90
--- /dev/null
+blake3-256 18e3dcccc4fc52cfafde48b083e760b46f97b798fc60f8d3fd05c61d70dadf2a
+blake2b-512 2ead20f377396acf34ebdd09babe370bafe52f5c5e7c1982832b05b039760c29de57c8dadf10721772f413694131acb44e867fd5cf5f8610e3e6be0f2b25d62d
+blake2b-256 cb2b21bd960b308e27dd6dec4ad044d7b93b346018ddf9d34afc6484b02b6bb8
+skein-512 eb0264a27345094871fdf49bd7cd0ce0422a5053cf8e827b3d8ad9614c9e46a8a717e503b905ef875e9b4fb199706aad2a356f8aebe9c643905c7ee844f1399b
+shake128 4d35e81df79a509224e9d65f43b198783397a16bb876e76f84b3e34a30890f73
+shake256 af25441eedd6922a8a9ede01713a7f74f43a42627173344462c01d6f0c0e484f3a3b06ff316cf55d87079b3fdb69e4531ff36c48e4434c50aba6264aca948d1f
+sha-512 a94a6acd871a9f94ceb97d2c7cb7ab333cc069b9a86d5cb6552fca787f7daafdf4087fbc3b372ff87e41d27439e2d829a8c913f266bc40d8156126abe7210515
+sha-256 3343a07de23144d6e9713d76f00ae12f7797b54de01fc2863ca0bfc8f92f0eef
+streebog-512 bddcf3d6c008ff3d2663d66298154794e892e3f35ab106407cdb8746a9e4a802a50072876ab7ff838e8d6fc55bb00b17f6d90abcb1ddc37b632ec05228c91c80
+streebog-256 83bf14ef5de1283f8b4dc01aa400df419558a7d3373b174bb69d05e084c45e12
+xxh3-128 4b579ce8081137164d5b86b9d02a49c4
trap "rm -fr $tmp" HUP PIPE INT QUIT TERM EXIT
echo $namenhash | tee $tmp/name |
- meta4ra-hash -hashes "$META4RA_HASHES" -all >$tmp/name.hashes
+ meta4ra-hash -hashers "$META4RA_HASHERS" -all >$tmp/name.hashes
cat >$tmp/buildinfo <<EOF
$BASS_REV
EOF
-meta4ra-hash -hashes "$META4RA_HASHES" -all <$tmp/buildinfo >$tmp/buildinfo.hashes
+meta4ra-hash -hashers "$META4RA_HASHERS" -all <$tmp/buildinfo >$tmp/buildinfo.hashes
chmod -R a-w $namenhash
{
} |
{ $COMPRESSOR || touch $tmp/tar-pipe-failed ; } |
{ tee $tmp/$namenhash || touch $tmp/tar-pipe-failed ; } |
-{ meta4ra-hash -hashes "$META4RA_HASHES" -all || touch $tmp/tar-pipe-failed
+{ meta4ra-hash -hashers "$META4RA_HASHERS" -all || touch $tmp/tar-pipe-failed
} >$tmp/$namenhash.hashes
[ ! -e $tmp/tar-pipe-failed ]
$TAR xf $skelpkg bin.hashes || $TAR xf $skelpkg bin.meta4
[ -s bin.hashes ] && opts="-plain bin.hashes" || opts="-pipe bin.meta4"
$TAR xfO $skelpkg bin | {
- meta4ra-check -hashes "$META4RA_HASHES" $opts $NAMENHASH ||
+ meta4ra-check -hashers "$META4RA_HASHERS" $opts $NAMENHASH ||
touch untar-failed
} | $TAR xf - || touch untar-failed
else
oursize=$("$BASS_ROOT"/bin/filessize $pkg)
theirsize=$("$BASS_ROOT"/bin/filessize "$dst"/$arch/$base)
if [ "$oursize" -eq "$theirsize" ] ; then
- meta4ra-hash -hashes "$META4RA_HASHES" <$pkg >$tmp/hshour &
- meta4ra-hash -hashes "$META4RA_HASHES" <"$dst"/$arch/$base >$tmp/hshtheir &
+ meta4ra-hash -hashers "$META4RA_HASHERS" <$pkg >$tmp/hshour &
+ meta4ra-hash -hashers "$META4RA_HASHERS" <"$dst"/$arch/$base >$tmp/hshtheir &
wait
read hshour <$tmp/hshour
read hshtheir <$tmp/hshtheir
ln -f ../../../build/distfiles/go1.25.6.tar.gz go1.25.6.src.tar.gz
ln -f ../../../build/distfiles/go1.26.1.tar.gz go1.26.1.src.tar.gz
ln -f ../../../build/distfiles/goredo-2.9.1.tar.zst
-ln -f ../../../build/distfiles/meta4ra-1.6.0.tar.zst
+ln -f ../../../build/distfiles/meta4ra-2.0.0.tar.zst
ln -f ../../../build/distfiles/zstd-1.5.7.tar.gz
+++ /dev/null
-dodl http://www.meta4ra.stargrave.org/download/$name.tar.zst $name.tar.zst e9d488424901c59a1a984bb91608726d0d8d3c6e1a26d1900171c1e6b912d5770d6b574b6ec18669198deb88a3afe36bc978788a578d2b00c7d933c11834b196
--- /dev/null
+dodl http://www.meta4ra.stargrave.org/download/$name.tar.zst $name.tar.zst a94a6acd871a9f94ceb97d2c7cb7ab333cc069b9a86d5cb6552fca787f7daafdf4087fbc3b372ff87e41d27439e2d829a8c913f266bc40d8156126abe7210515
Current BASS'es source code revision.
A [Index/Variables] SETLOCK\r
- A [Index/Variables] META4RA_HASHES\r
+ A [Index/Variables] META4RA_HASHERS\r
A [Index/Variables] FSYNC\r
A [Index/Variables] TAR\r
A [Index/Variables] TMPDIR\r
- * $SETLOCK, $META4RA_HASHES, $FSYNC, $TAR, $TMPDIR
+ * $SETLOCK, $META4RA_HASHERS, $FSYNC, $TAR, $TMPDIR
And of course they could be overridden in most cases with your $BASS_RC.
}
fi
-export META4RA_HASHES="${META4RA_HASHES:-$(meta4ra-hashes-detect 2>/dev/null)}"
+export META4RA_HASHERS="${META4RA_HASHERS:-$(meta4ra-hashers-detect 2>/dev/null)}"
export FSYNC=${FSYNC:-$(command -v fsync 2>/dev/null || command -v sync)}
export TAR=${TAR:-bsdtar}