On Wed, Mar 01, 01:12, Helmut Grohne wrote
> On Tue, Feb 28, 2023 at 11:13:24PM +0100, Andre Noll wrote:
> > > The immediate failure is failing to find the lopsub library since it
> > > configures for the build architecture. This happens as no --build nor 
> > > --host
> > > is passed which would have happened automatically if dh_auto_configure 
> > > could
> > > be used.  Thus it'll have to be passed manually.
> > 
> > Do you recommend to get rid of the override_dh_auto_configure target
> > in debian/rules?
> 
> As far as I understand it, you cannot. dh_auto_configure would pass
> options that configure does not understand.

This could be changed easily as the configure script of tfortune
is just a trivial wrapper which calls autoconf to create a standard
configure script and runs it. All arguments passed to configure are
passed through to the generated script.

> > I'm in favor of switching to something more standard, but I will
> > need your help. What's the best way forward to improve on the current
> > situation? Do you want me to apply your patch as is and push out the
> > result to the public repo? Is there anything else I can do to make
> > life easier for the Debian people?
> 
> If you are upstream, you can try making the build system behave more
> like a standard autoconf one. We tend to expect that:
>  * It uses a current version of autoconf that understands all options
>    passed by dh_auto_configure (which could allow dropping the
>    override).
>  * Enabling use of dh_autoreconf.
>  * Making the Makefile honour the settings (e.g. CC) detected by
>    configure.
> 
> However, you may also choose to keep the present behaviour and apply my
> patch to make it cross buildable.

Let's take this easy route for now. I've applied your patch and used
most of the text of your original mail as the commit message. However,
I omitted the last part because I felt that the rant about the build
system, albeit justified, does not belong there :)

If you are OK with the commit message shown below, I'll merge the
commit into the master branch and push it out to the public repo.

> I recommend scheduling this update for the trixie cycle as bookworm is
> frozen and this is not an important bug.

This is where I need your help, as I'm unfamiliar with the usual
Debian procedures. How exactly do I schedule an update for trixie?

Thanks
Andre
---
commit 51a5a39de6d9527e38b84744abfa330ef36ab779
Author: Helmut Grohne <hel...@subdivi.de>
Date:   Wed Mar 1 17:03:24 2023 +0100

    Fix cross build.
    
    The cross build fails to find the lopsub library since it configures
    for the build architecture. This happens as no --build nor --host is
    passed which would have happened automatically if dh_auto_configure
    could be used. Thus it'll have to be passed manually. Then configure
    fails finding config.h.in, which for some reason is not created (nor
    asked for) by the override_dh_autoreconf. And finally, the actual
    Makefile does not pick up the compiler detected by configure and
    rather uses plain cc, so we'll have to tell it as well.
    
    Signed-off-by: Andre Noll <m...@tuebingen.mpg.de>

diff --git a/debian/changelog b/debian/changelog
index b54c641..ef53fa1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+tfortune (1.0.1-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Also ask for generating config.h.in, which otherwise goes missing in
+      cross builds.
+    + Pass --build and --host to configure as we cannot use dh_auto_configure.
+    + Also export cross tools for make.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Tue, 28 Feb 2023 05:42:58 +0100
+
 tfortune (1.0.1-1) unstable; urgency=low
 
   * No changes relative to 1.0.0-2.
diff --git a/debian/rules b/debian/rules
index 03a9279..a360dc7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,13 +1,18 @@
 #!/usr/bin/make -f
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+include /usr/share/dpkg/architecture.mk
+DPKG_EXPORT_BUILDTOOLS=1
+include /usr/share/dpkg/buildtools.mk
+
 %:
        dh "$@"
 
 # plain dh_auto_configure uses options which configure does not understand
 override_dh_auto_configure:
        ./configure --prefix=/usr --bindir=/usr/games \
-               --datadir=/usr/share/games
+               --datadir=/usr/share/games --build=$(DEB_BUILD_GNU_TYPE) 
--host=$(DEB_HOST_GNU_TYPE)
 # needed because dh_autoreconf overwrites our configure wrapper
 override_dh_autoreconf:
-       $(MAKE) configure.sh
+       $(MAKE) config.h.in configure.sh
-- 
Max Planck Institute for Biology
Tel: (+49) 7071 601 829
Max-Planck-Ring 5, 72076 Tübingen, Germany
http://people.tuebingen.mpg.de/maan/

Attachment: signature.asc
Description: PGP signature

Reply via email to