On Tue, Oct 11, 2016 at 08:40:13AM +0100, Neil Williams wrote: > cross-config exists solely to allow the removal of the dpkg-cross and > libdebian-dpkgcross-perl binaries. Even then, the contents of > cross-config could end up in other packages just as easily.
Yes, we should move cross-config to a better place. > To repeat: > > | summary 771496 If anything you are doing would fail after the > > removal of dpkg-cross, you're doing it wrong. It's going away, > > whether you want it to or not. > > That does *not* apply to cross-config and the original bug made it > clear that the configuration elements could remain. Even cross-config is sorely broken. Let me give some examples: * ac_cv_func_malloc_0_nonnull=yes is wrong for e.g. musl * Relying on DEB_HOST_* makes cross-config unuseable for non-package builds. Instead, it should be multiarched. * Searching /lib/$DEB_HOST_GNU_TYPE is broken on i386. * glib_cv_stack_grows=no is wrong on hppa. * ac_cv_file__etc_environment=no does not match native builds. * CMAKE_SYSTEM_NAME=Linux breaks kfreebsd-any and hurd-any. * The CMake toolchain file thinks we're still using sysroots. * There are very many cache results that are not required anymore. In general, all ac_cv_sizeof_* should be removed and the projects still requiring them (e.g. blt until Steve Langasek fixed it) should be fixed. Thus I believe that using cross-config is more harmful than useful, because it has been completely unmaintained for years. > Wrong package for this bug report. The package you need for CMake and > other *configuration* support for cross-building (not *packaging* > support for cross-building) is cross-config. > > https://packages.debian.org/sid/all/cross-config/filelist > > /etc/dpkg-cross/cmake/CMakeCross.txt Having dpkg-cross in the name is wrong. It should not be endorsed in any way. This needs to become a cross-distribution collaboration thing to become sustainable. > That's the only file needed for CMake - it could just as easily be > migrated into another package. As I explained, no file is needed for CMake in the common case. dh_auto_configure will just work. > > Wookey, should we add a blocker bug keep it out of jessie? Yes, this should have been stretch. > However, Stretch must not release with the dpkg-cross and > libdebian-dpkgcross-perl binary packages. If the new upload doesn't > happen by the end of November 2017, then (as agreed at DebConf16), I'll > have to do it as a final QA upload, leaving only the cross-config > binary package. Before killing it in sid, note that bootstrapping still relies on dpkg-cross. We're in kind of a limbo here. There are basically two ways to do a cross toolchain bootstrap: 1. Use dpkg-cross. 2. Use the patches from cross-gcc-dev. cross-gcc-dev is fragile because it tends to break with gcc uploads. Thus dpkg-cross currently is the only reliable way to bootstrap. Please upstream cross-gcc-dev before removing dpkg-cross. Helmut