abuild: fix ~ splitting pkgname and pkgver

This commit is contained in:
Sertonix 2024-04-01 16:58:22 +02:00 committed by Natanael Copa
parent 0e325a2354
commit 20b1f47c63
3 changed files with 29 additions and 6 deletions

View File

@ -1097,7 +1097,7 @@ check_depends_dev() {
check_provides() {
local i
for i in $provides; do
if [ "${i%%[<>=]*}" = "$pkgname" ]; then
if [ "${i%%[<>=~]*}" = "$pkgname" ]; then
return 1
fi
done
@ -2373,17 +2373,17 @@ calcdeps() {
builddeps="$builddeps $i"
done
for i in $EXTRADEPENDS_HOST $EXTRADEPENDS_TARGET $makedepends_host; do
[ "$pkgname" = "${i%%[<>=]*}" ] && continue
[ "$pkgname" = "${i%%[<>=~]*}" ] && continue
list_has $i $hostdeps && continue
subpackages_has ${i%%[<>=]*} || hostdeps="$hostdeps $i"
subpackages_has ${i%%[<>=~]*} || hostdeps="$hostdeps $i"
done
else
[ -z "$makedepends" ] && makedepends="$makedepends_build $makedepends_host"
want_check && makedepends="$makedepends $checkdepends"
for i in $EXTRADEPENDS_BUILD $EXTRADEPENDS_HOST $1 $depends $makedepends; do
[ "$pkgname" = "${i%%[<>=]*}" ] && continue
[ "$pkgname" = "${i%%[<>=~]*}" ] && continue
list_has $i $builddeps && continue
subpackages_has ${i%%[<>=]*} || builddeps="$builddeps $i"
subpackages_has ${i%%[<>=~]*} || builddeps="$builddeps $i"
done
hostdeps="$EXTRADEPENDS_TARGET"
fi
@ -2731,7 +2731,7 @@ deplist_has() {
local i
shift
for i in $@; do
i=${i%%[<>=]*}
i=${i%%[<>=~]*}
[ "$needle" = "$i" ] && return 0
[ "$needle" = "!$i" ] && return 1
done

View File

@ -23,6 +23,7 @@ init_tests \
abuild_invalid_pkgnames \
abuild_invalid_subpkgnames \
abuild_invalid_subpkg_version \
abuild_provide_pkgname \
abuild_subpackage_arch \
abuild_large_doc_subpackage \
abuild_bigdocs \
@ -462,6 +463,27 @@ abuild_invalid_subpkg_version_body() {
abuild all
}
abuild_provide_pkgname_body() {
init_keys
cp -ra "$testrepo"/test-pkgname .
cd test-pkgname
TESTNAME=provided atf_check -s exit:1 \
-e match:"provides must not contain" \
abuild sanitycheck
TESTNAME=test TESTPROVIDES='test~1' atf_check -s exit:1 \
-e match:"provides must not contain" \
abuild sanitycheck
TESTNAME=test TESTPROVIDES='test=1' atf_check -s exit:1 \
-e match:"provides must not contain" \
abuild sanitycheck
TESTNAME=test TESTPROVIDES='test>1' atf_check -s exit:1 \
-e match:"provides must not contain" \
abuild sanitycheck
TESTNAME=test TESTPROVIDES='test<=1' atf_check -s exit:1 \
-e match:"provides must not contain" \
abuild sanitycheck
}
abuild_subpackage_arch_body() {
init_keys
cp -ra "$testrepo" .

View File

@ -8,6 +8,7 @@ pkgdesc="Dummy test package that fails to build"
url="https://gitlab.alpinelinux.org/alpine/aports"
arch="noarch"
license="MIT"
provides="${TESTPROVIDES-provided}"
subpackages="${TESTSUBNAME-$pkgname-sub}:_sub"
prepare() {