Hi, On Mon, Sep 18, 2017 at 05:04:40PM -0300, Lisandro Damián Nicanor Pérez Meyer wrote: > The only way I could accept that if we could build-depend on a > specific version (the same version we are trying to compile). > > Helmut told me that's not possible, and I know from experience that > having a window opened to build qt with an oder qmake it's calling for > big troubles.
We arrived at a compromise: Turn the check into a build-time check. Rather than having dpkg-checkbuilddeps verify the property, we can have debian/rules check the version. I also updated the patch to the current version. Limitations: * Only works for arm64 and armel since no other architectures have matching mkspecs * Fails when it encounters mysql_config. I didn't figure out yet how to make it use pkg-config mysqlclient instead, but that's what needs to happen. Helmut
diff --minimal -Nru qtbase-opensource-src-5.12.5+dfsg/debian/changelog qtbase-opensource-src-5.12.5+dfsg/debian/changelog --- qtbase-opensource-src-5.12.5+dfsg/debian/changelog 2019-12-31 12:19:15.000000000 +0100 +++ qtbase-opensource-src-5.12.5+dfsg/debian/changelog 2020-01-16 16:27:50.000000000 +0100 @@ -1,3 +1,13 @@ +qtbase-opensource-src (5.12.5+dfsg-5.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Improve cross building: (Closes: #876131) + + Pass --external-hostbindir to use the native qmake. + + Pass a cross platform_arg. + + Verify that the qmake self-dependency exactly matches the version. + + -- Helmut Grohne <hel...@subdivi.de> Thu, 16 Jan 2020 16:27:50 +0100 + qtbase-opensource-src (5.12.5+dfsg-5) unstable; urgency=medium [ Pino Toscano ] diff --minimal -Nru qtbase-opensource-src-5.12.5+dfsg/debian/control qtbase-opensource-src-5.12.5+dfsg/debian/control --- qtbase-opensource-src-5.12.5+dfsg/debian/control 2019-12-31 12:19:15.000000000 +0100 +++ qtbase-opensource-src-5.12.5+dfsg/debian/control 2020-01-16 16:27:50.000000000 +0100 @@ -66,6 +66,7 @@ libxrender-dev, pkg-kde-tools (>= 0.15.17~), publicsuffix, + qt5-qmake-bin <cross>, unixodbc-dev, zlib1g-dev Build-Depends-Indep: qdoc-qt5 (>= 5.12) <!nodoc>, diff --minimal -Nru qtbase-opensource-src-5.12.5+dfsg/debian/rules qtbase-opensource-src-5.12.5+dfsg/debian/rules --- qtbase-opensource-src-5.12.5+dfsg/debian/rules 2019-12-31 12:19:15.000000000 +0100 +++ qtbase-opensource-src-5.12.5+dfsg/debian/rules 2020-01-16 16:27:50.000000000 +0100 @@ -52,14 +52,15 @@ cpu_opt = -no-sse2 -no-pch endif -ifeq ($(DEB_HOST_ARCH_OS),linux) - platform_arg = linux-g++ -else ifeq ($(DEB_HOST_ARCH_OS),hurd) - platform_arg = hurd-g++ -else ifeq ($(DEB_HOST_ARCH_OS),kfreebsd) - platform_arg = gnukfreebsd-g++ -else - $(error Unknown qmake mkspec for $(DEB_HOST_ARCH_OS)) +mkspec_osmap_kfreebsd = gnukfreebsd +platform_os = $(or $(mkspec_osmap_$(DEB_HOST_ARCH_OS)),$(DEB_HOST_ARCH_OS)) +platform_arg = $(platform_os)-g++ + +ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) +platform_arg = $(platform_os)-$(DEB_HOST_GNU_CPU)-$(DEB_HOST_ARCH_LIBC)$(filter-out base,$(DEB_HOST_ARCH_ABI))-g++ +endif +ifneq (,$(filter cross,$(DEB_BUILD_PROFILES))) +extra_configure_opts += -external-hostbindir /usr/lib/qt5/bin endif ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) @@ -72,6 +73,9 @@ dh $@ --with pkgkde_symbolshelper override_dh_auto_configure: +ifneq (,$(filter cross,$(DEB_BUILD_PROFILES))) + test "`dpkg-query -f '$${Version}' -W qt5-qmake-bin`" = "$(DEB_VERSION)" +endif MAKEFLAGS="-j$(NUMJOBS) ${CXXFLAGS:%=EXTRA_CXXFLAGS+=%} ${LDFLAGS:%=EXTRA_LFLAGS+=%}" \ ./configure \ -confirm-license \