Control: severity -1 important
Control: tags -1 + patch

On Mon, Jul 24, 2017 at 05:07:28PM +0100, Wookey wrote:
> On 2017-07-16 00:01 +0200, John Paul Adrian Glaubitz wrote:
> > Either way, the list should be consistent or removed altogether.

Agreed.

> We have not tried to provide files for arches where we are not sure of
> the answers. The idea was that porters would provide info for their
> architectures, and thus get the details right. We could probably find
> out the answers for various arches with some effort. If you provide
> files I am happy to include them. I guess I could check by logging on
> to porter boxes and collecting suitable details.

There are a number of arch-specific cache variables, but also a number
that depend on kernel/libc. Given that all release archs are
Linux/glibc, the latter ones have been collected in
config/cross-config.cache despite being wrong for hurd-any, kfreebsd-any
and musl-linux-any.

I've set up crossqa.debian.net to deviate as little as possible from the
standard developer workflow (using sbuild) and that means using
dpkg-cross. Consequently, a lot (around 200) of packages FTCBFS for
mips64el, ppc64el and s390x, because they lack
ac_cv_func_malloc_0_nonnull=yes (which sits in the general
cross-config.cache). Failures due to really arch-specific values are
rare. The arch-specific sizeof caches are generally useless, because any
remotely recent autoconf doesn't need them any longer. We even fixed blt
to stop using them. At present I don't know a single package using them.

Therefore I suggest the following route:

For each "relevant" architecture (at least all release architectures),
create a config/cross-config.$ARCH containing at least:

    . `dirname $ac_site_file`/cross-config.cache

For all existing per-arch cache files, ensure that this line is present
(e.g. amd64 misses it).

Doing just this solves a large fraction of the practical issues. The
attached patch shows how simply the change is.

Do you agree with the change?

Do you agree that it largely (but not entirely) solves the reported bug?

I think this should be fixed asap, ideally in buster. Do you agree with
bumping this bug to rcness?

Do you also agree with removing all ac_cv_sizeof_*? (At a later time)

Helmut
diff --minimal -Nru dpkg-cross-2.6.15/config/cross-config.alpha 
dpkg-cross-2.6.15/config/cross-config.alpha
--- dpkg-cross-2.6.15/config/cross-config.alpha 2015-01-22 20:16:37.000000000 
+0100
+++ dpkg-cross-2.6.15/config/cross-config.alpha 2019-04-06 07:18:42.000000000 
+0200
@@ -1,3 +1,4 @@
+. `dirname $ac_site_file`/cross-config.cache
 #
 # alpha specific configure variables
 #
diff --minimal -Nru dpkg-cross-2.6.15/config/cross-config.amd64 
dpkg-cross-2.6.15/config/cross-config.amd64
--- dpkg-cross-2.6.15/config/cross-config.amd64 2011-03-27 08:14:10.000000000 
+0200
+++ dpkg-cross-2.6.15/config/cross-config.amd64 2019-04-06 07:18:27.000000000 
+0200
@@ -1,3 +1,4 @@
+. `dirname $ac_site_file`/cross-config.cache
 #
 # amd64-specific configuration variables
 #
diff --minimal -Nru dpkg-cross-2.6.15/config/cross-config.hppa 
dpkg-cross-2.6.15/config/cross-config.hppa
--- dpkg-cross-2.6.15/config/cross-config.hppa  2011-03-27 08:14:10.000000000 
+0200
+++ dpkg-cross-2.6.15/config/cross-config.hppa  2019-04-06 07:19:17.000000000 
+0200
@@ -1,3 +1,4 @@
+. `dirname $ac_site_file`/cross-config.cache
 #
 # hppa specific configure variables
 #
diff --minimal -Nru dpkg-cross-2.6.15/config/cross-config.m68k 
dpkg-cross-2.6.15/config/cross-config.m68k
--- dpkg-cross-2.6.15/config/cross-config.m68k  2011-03-27 08:14:10.000000000 
+0200
+++ dpkg-cross-2.6.15/config/cross-config.m68k  2019-04-06 07:18:48.000000000 
+0200
@@ -1,3 +1,4 @@
+. `dirname $ac_site_file`/cross-config.cache
 #
 # m68k specific configure variables
 #
diff --minimal -Nru dpkg-cross-2.6.15/config/cross-config.mips64el 
dpkg-cross-2.6.15/config/cross-config.mips64el
--- dpkg-cross-2.6.15/config/cross-config.mips64el      1970-01-01 
01:00:00.000000000 +0100
+++ dpkg-cross-2.6.15/config/cross-config.mips64el      2019-04-06 
07:21:27.000000000 +0200
@@ -0,0 +1 @@
+. `dirname $ac_site_file`/cross-config.cache
diff --minimal -Nru dpkg-cross-2.6.15/config/cross-config.ppc64el 
dpkg-cross-2.6.15/config/cross-config.ppc64el
--- dpkg-cross-2.6.15/config/cross-config.ppc64el       1970-01-01 
01:00:00.000000000 +0100
+++ dpkg-cross-2.6.15/config/cross-config.ppc64el       2019-04-06 
07:19:31.000000000 +0200
@@ -0,0 +1 @@
+. `dirname $ac_site_file`/cross-config.cache
diff --minimal -Nru dpkg-cross-2.6.15/config/cross-config.s390x 
dpkg-cross-2.6.15/config/cross-config.s390x
--- dpkg-cross-2.6.15/config/cross-config.s390x 1970-01-01 01:00:00.000000000 
+0100
+++ dpkg-cross-2.6.15/config/cross-config.s390x 2019-04-06 07:19:27.000000000 
+0200
@@ -0,0 +1 @@
+. `dirname $ac_site_file`/cross-config.cache
diff --minimal -Nru dpkg-cross-2.6.15/debian/changelog 
dpkg-cross-2.6.15/debian/changelog
--- dpkg-cross-2.6.15/debian/changelog  2017-07-24 18:09:56.000000000 +0200
+++ dpkg-cross-2.6.15/debian/changelog  2019-04-06 07:21:56.000000000 +0200
@@ -1,3 +1,11 @@
+dpkg-cross (2.6.15-2.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * cross-config: Ensure that every release arch uses the common file.
+    (Closes: #868483)
+
+ -- Helmut Grohne <hel...@subdivi.de>  Sat, 06 Apr 2019 07:21:56 +0200
+
 dpkg-cross (2.6.15-2) unstable; urgency=medium
 
   * Make code perl 5.26-compatible (escape left braces in regexps).

Reply via email to