Your message dated Sat, 16 Dec 2023 01:04:40 +0000
with message-id <[email protected]>
and subject line Bug#989304: fixed in lirc 0.10.1-7.3
has caused the Debian Bug report #989304,
regarding lirc FTCBFS: multiple reasons
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
989304: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989304
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: lirc
Version: 0.10.1-6.3
Tags: patch
User: [email protected]
Usertags: cross-satisfiability ftcbfs

lirc fails to cross build from source for a number of reasons. I've
understood a pile and am presenting solutions here:

1. Its Build-Depends are not satisfiable. python3-dev asks (among other
   things), for the host architecture Python interpreter, which fails to
   install. A python(.*)-dev dependency should usually be written as
   python$1-dev:any, libpython$1-dev. Beyond this, python3-yaml also
   requests the host architecture Python interpreter. It is meant to be
   run during build though, so it should be annotated :native.

   Once fixing these, a cross build can be attempted.

2. configure uses AC_RUN_IFELSE to check for existence of /dev/input. In
   principle, this is correct. For file existence however, there is a
   better check: AC_CHECK_FILE. During a cross build, this check also
   fails and consults the cache variable ac_cv__dev_input. A builder may
   supply this variable to make the check pass. It also gets a lot
   simpler by using AC_CHECK_FILE.

3. debian/rules also confuses the build architecture with the host
   architecture in two occasions. Please refer to man dpkg-architecture
   for a precise definition.

4. In order to make setup.py perform a cross build, one is supposed to
   export _PYTHON_SYSCONFIGDATA_NAME. When using the pybuild
   buildsystem, debhelper takes care of that, but here setup.py is run
   from inside autoconf+make and debhelper cannot know. Thus it needs to
   be exported explicitly.

5. When fixing all of the above, what remains is this error:

       /usr/bin/install: cannot stat './python-pkg/dist/lirc-0.10.1.tar.gz': No 
such file or directory

   I have no clue why this file is created during a regular build but
   missing during a cross build. Unfortunately, the build hides compiler
   invocations and such, so we cannot see the relevant commands. I don't
   have a solution for this issue.

In the mean time, I recommend dropping --enable-silent-rules from the
configure invocation. debhelper will automatically pass this flag when
you add "terse" to DEB_BUILD_OPTIONS and --disable-silent-rules
otherwise. Building verbosely by default is recommended by the Debian
policy. By dropping the flag, you implement recommended policy behaviour
and retain the ability to issue a terse log via the standard mechanism.

I ask you to apply the attached patch to fix 1-4. Please close this bug
when addressing 1-4 only. Of course finding a solution to 5 would be
welcome as well.

Helmut
--- lirc-0.10.1/debian/changelog
+++ lirc-0.10.1/debian/changelog
@@ -1,3 +1,14 @@
+lirc (0.10.1-6.4) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Improve cross building. (Closes: #-1)
+    + Multiarchify python Build-Depends.
+    + cross.patch: Check for /dev/input using AC_CHECK_FILE.
+    + Fix two build vs host confusions.
+    + Export _PYTHON_SYSCONFIGDATA_NAME for setup.py.
+
+ -- Helmut Grohne <[email protected]>  Thu, 20 May 2021 17:27:08 +0200
+
 lirc (0.10.1-6.3) unstable; urgency=medium
 
   * Non-maintainer upload.
--- lirc-0.10.1/debian/control
+++ lirc-0.10.1/debian/control
@@ -18,6 +18,7 @@
  kmod [linux-any],
  libasound2-dev [linux-any kfreebsd-any],
  libftdi1-dev,
+ libpython3-dev (>= 3.5),
  libsystemd-dev [linux-any],
  libudev-dev [linux-any],
  libusb-1.0-0-dev [!kfreebsd-any],
@@ -26,9 +27,9 @@
  man2html-base,
  pkg-config,
  portaudio19-dev,
- python3-dev (>= 3.5),
+ python3-dev:any (>= 3.5),
  python3-setuptools,
- python3-yaml,
+ python3-yaml:native,
  socat [!hurd-any],
  systemd [linux-any],
  xsltproc
--- lirc-0.10.1/debian/patches/cross.patch
+++ lirc-0.10.1/debian/patches/cross.patch
@@ -0,0 +1,33 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -291,29 +291,12 @@
+ fi
+ 
+ AC_MSG_CHECKING(for devinput)
+-AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+-  #include <unistd.h>
+-]],[[
+-  return access("/dev/input", R_OK) == 0 ? 0 : 1;
+-]])],[
++AC_CHECK_FILE([/dev/input],[
+   have_devinput="yes"
+   AC_MSG_RESULT(yes)
+ ],[
+   AC_MSG_RESULT(no)
+   have_devinput="no"
+-],[
+-  AS_IF([test x$DEVINPUT_HEADER = x -a x$enable_devinput = xyes], [
+-    AC_MSG_ERROR([
+-      cannot cross-compile with devinput without DEVINPUT_HEADER
+-      defined, giving up
+-    ])
+-  ])
+-  if test -n "$DEVINPUT_HEADER" ; then
+-    have_devinput="yes"
+-  else
+-    have_devinput="no"
+-  fi
+-  AC_MSG_RESULT(yes)
+ ])
+ 
+ 
--- lirc-0.10.1/debian/patches/series
+++ lirc-0.10.1/debian/patches/series
@@ -5,3 +5,4 @@
 0005-systemd-support-Notify-systemd-on-successful-startup.patch
 lirc-gpio-ir-0.10.patch
 python3.8.diff
+cross.patch
--- lirc-0.10.1/debian/rules
+++ lirc-0.10.1/debian/rules
@@ -4,6 +4,7 @@
 
 export DEB_BUILD_MAINT_OPTIONS      = hardening=+all
 export DEB_LDFLAGS_MAINT_APPEND     = -Wl,--as-needed
+export 
_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__$(DEB_HOST_ARCH_OS)_$(DEB_HOST_MULTIARCH)
 
 %:
        dh $@ --with python3
@@ -40,7 +41,7 @@
        find debian/tmp -name *.la -delete
        rm -f debian/tmp/usr/share/doc/lirc/lirc.org/api-docs/api-docs
        chmod 755 debian/tmp/usr/share/lirc/python-pkg/lirc/lirctool
-ifeq ($(DEB_BUILD_ARCH_OS), linux)
+ifeq ($(DEB_HOST_ARCH_OS), linux)
        mkdir -p debian/tmp/usr/lib/tmpfiles.d
        echo "d /run/lirc  0755  root  root  10d" \
            > debian/tmp/usr/lib/tmpfiles.d/lirc.conf
@@ -63,7 +64,7 @@
 endif
 
 override_dh_installsystemd:
-ifeq ($(DEB_BUILD_ARCH_OS), linux)
+ifeq ($(DEB_HOST_ARCH_OS), linux)
        dh_installsystemd -p lirc lircd.socket
        dh_installsystemd -p lirc --no-enable --no-start lircd.service
        dh_installsystemd -p lirc --no-enable --no-start irexec.service

--- End Message ---
--- Begin Message ---
Source: lirc
Source-Version: 0.10.1-7.3
Done: Vagrant Cascadian <[email protected]>

We believe that the bug you reported is fixed in the latest version of
lirc, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Vagrant Cascadian <[email protected]> (supplier of updated lirc 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 05 Dec 2023 15:52:45 -0800
Source: lirc
Architecture: source
Version: 0.10.1-7.3
Distribution: unstable
Urgency: medium
Maintainer: Debian Lirc Team <[email protected]>
Changed-By: Vagrant Cascadian <[email protected]>
Closes: 979019 979023 979024 988907 989304 1052309
Changes:
 lirc (0.10.1-7.3) unstable; urgency=medium
 .
   [ Vagrant Cascadian ]
   * Non-maintainer upload.
   * tools: Do not embed build date and kernel version in various files.
     (Closes: #979019)
   * debian/rules: Run build in the C.UTF-8 locale. (Closes: #979023)
 .
   [ Helmut Grohne ]
   * Build verbosely by default. (Closes: #988907)
 .
   [ Vagrant Cascadian ]
   * debian/rules: Normalize shipped tarball of python source code.
     (Closes: #979024)
 .
   [ Helmut Grohne ]
   * Fix FTBFS when systemdsystemunitdir changes in systemd.pc.
     (Closes: #1052309)
   * Fix build vs host confusion. (Closes: #1052309)
   * Check for /dev/input using AC_CHECK_FILE. (Closes: #989304)
   * Multiarchify python Build-Depends. (Closes: #989304)
   * Export _PYTHON_SYSCONFIGDATA_NAME for setup.py. (Closes: #989304)
Checksums-Sha1:
 3eff410e3192cf065546314c13787019be978442 2251 lirc_0.10.1-7.3.dsc
 cc744704f2de715729638d5cd17329510b5a34a4 41928 lirc_0.10.1-7.3.debian.tar.xz
Checksums-Sha256:
 15fddc80a1852d9d1ff21872cd986c9705f6c4e9346a8098ec6c93565abcfd1f 2251 
lirc_0.10.1-7.3.dsc
 4c5c03e146f3ef7aeff2e0d0dc5f7a35713a1ddcd6f07c3044c9f607b48d92df 41928 
lirc_0.10.1-7.3.debian.tar.xz
Files:
 94227eb8effa8de90faef4ab4dbce54b 2251 utils optional lirc_0.10.1-7.3.dsc
 cf18a660942e124d53513ccc62de991b 41928 utils optional 
lirc_0.10.1-7.3.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iJYEARYKAD4WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCZW+7iSAcdmFncmFudEBy
ZXByb2R1Y2libGUtYnVpbGRzLm9yZwAKCRDcUY/If5cWqsgpAP4j50+SmtNxzq4Y
SX+8NJ3no8w8+1Ej4OjuIGL53TmsuAD/QwO1hvlAWuzEu3d7eQq7+if2SqGdL/jB
0LS+c5uKoQA=
=K8rx
-----END PGP SIGNATURE-----

--- End Message ---
_______________________________________________
Python-modules-team mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/python-modules-team

Reply via email to