abuild: test for duplicates when doing checksum

fixes https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10013
This commit is contained in:
Natanael Copa 2021-04-28 13:02:28 +02:00
parent c9a4ddf3b4
commit db1950c5ce
2 changed files with 19 additions and 1 deletions

View File

@ -2260,7 +2260,11 @@ checksum() {
[ -z "$source" ] && return 0
fetch
for s in $source; do
files="$files $(filename_from_uri $s)"
local name="$(filename_from_uri $s)"
case " $files " in
*" $name "*) die "duplicate found in \$source: $name";;
esac
files="$files $name"
done
msg "Updating the sha512sums in APKBUILD..."

View File

@ -97,3 +97,17 @@ teardown() {
sha512sum -c sums
}
@test "abuild: test duplicates in checksum generation" {
mkdir -p "$tmpdir"/foo "$tmpdir"/foo/dir1 "$tmpdir"/foo/dir2
cat >> "$tmpdir"/foo/APKBUILD <<-EOF
pkgname="foo"
pkgver="1.0"
source="dir1/testfile dir2/testfile"
EOF
echo "first" > "$tmpdir"/foo/dir1/testfile
echo "second" > "$tmpdir"/foo/dir2/testfile
cd "$tmpdir"/foo
run $ABUILD checksum
[ $status -ne 0 ]
}