• Bug#1079651: uronode FTCBFS: multiple reasons (1/2)

    From Helmut Grohne@1:229/2 to All on Sun Aug 25 21:30:01 2024
    XPost: linux.debian.bugs.dist
    From: [email protected]

    Source: uronode
    Version: 2.15-3
    Tags: patch
    User: [email protected]
    Usertags: ftcbfs

    uronode fails to cross build from source for multiple reasons. The build
    runs the build architecture compiler and that fails badly. Usually, when
    there is a configure script, we expect it to pick up the host from the
    --host argument, but this is not what happens here. The buildsystem is
    more similar to a bare Makefile based one where one passes cross tools
    to make. Due to the presence of a configure script, dh_auto_build does
    not pass cross tools here, but we can ask it to revert back to makefile
    and pass cross tools. Then, in the install step the upstream Makefile
    passes -s to install and that happens to use the build architecture
    strip on host architecture ELF binaries, which doesn't work well either. Ideally, we defer all stripping to dh_strip. Doing otherwise (as is done
    here) also breaks DEB_BUILD_OPTIONS=nostrip as well as generation of
    -dbgsym packages (both of which is broken here). The common way to
    suppress the -s flag is passing an install with the --strip-program=true
    and debhelper does this (for the makefile buildsystem). I'm attaching a combined patch for your convenience fixing the cross build, DEB_BUILD_OPTIONS=nostrip as well as generation of -dbgsym packages.

    Helmut

    diff --minimal -Nru uronode-2.15/debian/changelog uronode-2.15/debian/changelog --- uronode-2.15/debian/changelog 2024-02-19 00:29:12.000000000 +0100
    +++ uronode-2.15/debian/changelog 2024-08-25 10:45:15.000000000 +0200
    @@ -1,3 +1,14 @@
    +uronode (2.15-3.1) UNRELEASED; urgency=medium
    +
    + * Non-maintainer upload.
    + * Fix FTCBFS: (Closes: #-1)
    + + Let the makefile buildsystem pass cross tools to make even though there + is a configure script involved.
    + + Let the makefile buildsystem pass a non-stripping install to make install.
    + + cross.patch: Honour the $(INSTALL) variable.
    +
    + -- Helmut Grohne <[email protected]> Sun, 25 Aug 2024 10:45:15 +0200
    +
    uronode (2.15-3) unstable; urgency=medium

    * Update my details
    diff --minimal -Nru uronode-2.15/debian/patches/nostrip.patch uronode-2.15/debian/patches/nostrip.patch
    --- uronode-2.15/debian/patches/nostrip.patch 1970-01-01 01:00:00.000000000 +0100
    +++ uronode-2.15/debian/patches/nostrip.patch 2024-08-25 10:45:15.000000000 +0200
    @@ -0,0 +1,105 @@
    +--- uronode-2.15.orig/Makefile.in
    ++++ uronode-2.15/Mak