Bug#1028184: unsatisfiable cross Build-Depends: python3-jinja2

2023-01-08 Thread Salvatore Bonaccorso
Hi Helmut,

On Sun, Jan 08, 2023 at 07:44:16AM +0100, Helmut Grohne wrote:
> Source: linux
> Version: 6.1.4-1
> Tags: patch
> Severity: important
> Justification: breaks architecture bootstrap
> User: helm...@debian.org
> Usertags: rebootstrap
> User: debian-cr...@lists.debian.org
> Usertags: cross-satisfiability
> 
> Hi,
> 
> the addition of the python3-jinja2 build dependency happens to break
> architecture bootstrap. It's not as bad as it may sound initially
> though.
> 
> python3-jinja2 is an architecture-dependent package due to being a C
> extension. As such it is installed for the host architecture by default.
> Thus apt tries to install the whole python stack for the host
> architecture and that doesn't go well. We cannot make python3-jinja2
> Multi-Arch: foreign, because it really isn't, so consumers (like linux)
> have to choose how they use it instead. In this case, it's meant to be
> run during build and that means it should be annotated :native. While at
> it, I think that it is more honest to also apply this to python3 as well
> in order to disallow a host architecture Python interpreter.
> 
> This happens to be easy to work around in rebootstrap, so don't upload
> linux just for this bug, but please include the patch in your next
> regular upload to unstable.

Thanks, picked it up locally, and will later push to sid branch and
will be included in the next unstable upload.

Regards,
Salvatore



Bug#1028184: unsatisfiable cross Build-Depends: python3-jinja2

2023-01-07 Thread Helmut Grohne
Source: linux
Version: 6.1.4-1
Tags: patch
Severity: important
Justification: breaks architecture bootstrap
User: helm...@debian.org
Usertags: rebootstrap
User: debian-cr...@lists.debian.org
Usertags: cross-satisfiability

Hi,

the addition of the python3-jinja2 build dependency happens to break
architecture bootstrap. It's not as bad as it may sound initially
though.

python3-jinja2 is an architecture-dependent package due to being a C
extension. As such it is installed for the host architecture by default.
Thus apt tries to install the whole python stack for the host
architecture and that doesn't go well. We cannot make python3-jinja2
Multi-Arch: foreign, because it really isn't, so consumers (like linux)
have to choose how they use it instead. In this case, it's meant to be
run during build and that means it should be annotated :native. While at
it, I think that it is more honest to also apply this to python3 as well
in order to disallow a host architecture Python interpreter.

This happens to be easy to work around in rebootstrap, so don't upload
linux just for this bug, but please include the patch in your next
regular upload to unstable.

Helmut
diff --minimal -Nru linux-6.1.4/debian/changelog linux-6.1.4/debian/changelog
--- linux-6.1.4/debian/changelog2023-01-07 14:53:00.0 +0100
+++ linux-6.1.4/debian/changelog2023-01-08 07:29:36.0 +0100
@@ -1,3 +1,11 @@
+linux (6.1.4-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix cross Build-Depends: Annotate python3 and python3-jinja2
+dependencies :native. (Closes: #-1)
+
+ -- Helmut Grohne   Sun, 08 Jan 2023 07:29:36 +0100
+
 linux (6.1.4-1) unstable; urgency=medium
 
   * New upstream stable update:
diff --minimal -Nru linux-6.1.4/debian/control linux-6.1.4/debian/control
--- linux-6.1.4/debian/control  2023-01-07 14:53:00.0 +0100
+++ linux-6.1.4/debian/control  2023-01-08 07:29:33.0 +0100
@@ -4,7 +4,7 @@
 Maintainer: Debian Kernel Team 
 Uploaders: Bastian Blank , maximilian attems 
, Ben Hutchings , Salvatore Bonaccorso 

 Standards-Version: 4.2.0
-Build-Depends: debhelper-compat (= 12), dh-exec, python3:any, python3-jinja2, 
quilt, cpio , xz-utils , dh-python , bison 
, flex (>= 2.6.1-1.1~) 
+Build-Depends: debhelper-compat (= 12), dh-exec, python3:native, 
python3-jinja2:native, quilt, cpio , xz-utils , dh-python 
, bison , flex (>= 2.6.1-1.1~) 
 Build-Depends-Arch: kernel-wedge (>= 2.102~) , 
kmod , bc , 
libssl-dev:native , libssl-dev , openssl (>= 1.1.0-1~) , 
libelf-dev:native , libelf-dev , rsync, lz4 [amd64 arm64] , pahole 
 | dwarves:native (>= 1.16~) , gcc-12 [alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips mips64 
mips64el mips64r6 mips64r6el mipsel mipsr6 mipsr6el powerpc ppc64 ppc64el 
riscv64 s390x sh4 sparc64] , 
gcc-12-alpha-linux-gnu [alpha] , 
gcc-12-x86-64-linux-gnu [amd64] , 
gcc-12-aarch64-linux-gnu [arm64] , 
gcc-arm-linux-gnueabihf [arm64] , 
gcc-12-arm-linux-gnueabi [armel] , 
gcc-12-arm-linux-gnueabihf [armhf] , 
gcc-12-hppa-linux-gnu [hppa] , 
binutils-hppa64-linux-gnu [hppa] , 
gcc-12-hppa64-linux-gnu [hppa] , 
gcc-12-i686-linux-gnu [i386] , 
gcc-12-ia64-linux-gnu [ia64] , 
gcc-12-m68k-linux-gnu [m68k] , 
gcc-12-mips-linux-gnu [mips] , 
gcc-12-mips64-linux-gnuabi64 [mips64] , 
gcc-12-mips64el-linux-gnuabi64 [mips64el] , 
gcc-12-mipsisa64r6-linux-gnuabi64 [mips64r6] , gcc-12-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gcc-12-mipsel-linux-gnu [mipsel] , gcc-12-mipsisa32r6-linux-gnu [mipsr6] , gcc-12-mipsisa32r6el-linux-gnu [mipsr6el] , gcc-12-powerpc-linux-gnu [powerpc] , gcc-12-powerpc64-linux-gnu [ppc64] , gcc-12-powerpc64le-linux-gnu [ppc64el] , gcc-12-riscv64-linux-gnu [riscv64] , gcc-12-s390x-linux-gnu [s390x] , gcc-12-sh4-linux-gnu [sh4] , gcc-12-sparc64-linux-gnu [sparc64] , python3-docutils [linux-any] , zlib1g-dev [linux-any] , libcap-dev [linux-any] , libpci-dev 
[linux-any] , asciidoctor [alpha amd64 arm64 armel 
armhf hppa i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 
mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 ppc64el riscv64 
s390 s390x sh4 sparc sparc64] , 
gcc-multilib [amd64 mips64 mips64el mips64r6 mips64r6el ppc64 s390x sparc64] 
, libaudit-dev [alpha amd64 arm64 armel 
armhf hppa i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 
mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 ppc64el riscv64 
s390 s390x sh4 sparc sparc64] , 
libbabeltrace-dev [alpha amd64 arm64 armel armhf hppa i386 mips mips64 mips64el 
mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 
mipsr6el powerpc ppc64 ppc64el riscv64 s390 s390x sh4 sparc sparc64] , libdw-dev [alpha amd64 arm64 armel armhf hppa i386 
mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 
mipsn32r6el mipsr6 mipsr6el powerpc ppc64 ppc64el riscv64 s390 s390x sh4 sparc 
sparc64] , libiberty-dev [alpha amd64 
arm64 armel armhf hppa i386 mips mips64 mips64el mips64r6 mips64r6el mipsel