control: Avoid hello build-dep getting pulled in on buildds

If we use

foo [amd64] | hello,
bar | hello

on non-amd64 archs this gets reduced to

hello,
bar | hello

And thus hello gets installed, and thus bar does not get installed. In
the llvm-toolchain package case, this leads to wasi-libc not getting
installed as expected in experimental builds, as can be seen in various
archs:

https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-snapshot&arch=hurd-i386&ver=1%3A19~%2B%2B20240125092523%2B41fe98a6e7e5-1~exp1&stamp=1706212747&raw=0
https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-snapshot&arch=ia64&ver=1%3A19~%2B%2B20240125092523%2B41fe98a6e7e5-1~exp1&stamp=1706212238&raw=0
https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-snapshot&arch=loong64&ver=1%3A19~%2B%2B20240125092523%2B41fe98a6e7e5-1~exp1&stamp=1706211390&raw=0
https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-snapshot&arch=x32&ver=1%3A19~%2B%2B20240125092523%2B41fe98a6e7e5-1~exp1&stamp=1706211402&raw=0

So we should rather be using:

foo [amd64] | hello [amd64],
bar | hello

i.e. keep the constraints coherent, so that on non-amd64 this gets
translated to

bar | hello

which will not unexpectedly install the hello package, and properly
install bar.
This commit is contained in:
Samuel Thibault 2024-01-27 19:41:54 +01:00
parent 6b5f8935a3
commit fc5416c767
3 changed files with 16 additions and 6 deletions

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
llvm-toolchain-18 (1:18~++20240126094319+0991d3c7b53d-1~exp2) UNRELEASED; urgency=medium
* control: Avoid hello build-dep getting pulled in on buildds.
-- Samuel Thibault <sthibault@debian.org> Sat, 27 Jan 2024 19:41:35 +0100
llvm-toolchain-18 (1:18~++20240126094319+0991d3c7b53d-1~exp1) experimental; urgency=medium
* Branching of 18

8
debian/control vendored
View File

@ -23,15 +23,17 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x],
dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el riscv64 s390x],
libpfm4-dev [linux-any], python3-setuptools, libz3-dev,
llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello,
spirv-tools [linux-any] | hello [!i386],
# "| hello" is for older buster/bionic distros without spirv support
# We need to keep the constraints coherent between the two alternatives, otherwise
# hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled
llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>,
spirv-tools [linux-any] | hello [linux-any],
wasi-libc | hello,
libcurl4-openssl-dev | libcurl-dev,
libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x]
# "| hello" is for older buster/bionic distros without spirv support
Build-Conflicts: oprofile
Standards-Version: 4.6.2
Homepage: https://www.llvm.org/

8
debian/control.in vendored
View File

@ -23,15 +23,17 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x],
dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el riscv64 s390x],
libpfm4-dev [linux-any], python3-setuptools, libz3-dev,
llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello,
spirv-tools [linux-any] | hello [!i386],
# "| hello" is for older buster/bionic distros without spirv support
# We need to keep the constraints coherent between the two alternatives, otherwise
# hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled
llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>,
spirv-tools [linux-any] | hello [linux-any],
wasi-libc | hello,
libcurl4-openssl-dev | libcurl-dev,
libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x]
# "| hello" is for older buster/bionic distros without spirv support
Build-Conflicts: oprofile
Standards-Version: 4.6.2
Homepage: https://www.llvm.org/