Source: readline
Version: 8.0-2
Severity: important
Tags: patch
User: [email protected]
Usertags: rebootstrap

Recent readline (around 7.0 -> 8.0) started cross building broken
libreadline8 packages. The cross build is successful, but the resulting
binary package lacks a .symbols and .shlibs file. In order to avoid
building rlfe stuff, too much code was conditionalized. The attached
patch solves that by relying on debhelper's build profile support and
annotating rlfe with <!cross> such that debhelper automatically skips
that package during cross builds. Please consider applying it. Setting
severity to important, because this is a bootstrap regression.

Helmut
diff --minimal -Nru readline-8.0/debian/changelog readline-8.0/debian/changelog
--- readline-8.0/debian/changelog       2019-07-08 00:14:36.000000000 +0200
+++ readline-8.0/debian/changelog       2019-07-14 09:59:05.000000000 +0200
@@ -1,3 +1,10 @@
+readline (8.0-2.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Make the cross built libreadline8 work again. Closes: #-1.
+
+ -- Helmut Grohne <[email protected]>  Sun, 14 Jul 2019 09:59:05 +0200
+
 readline (8.0-2) unstable; urgency=medium
 
   * Upload to unstable.
diff --minimal -Nru readline-8.0/debian/control readline-8.0/debian/control
--- readline-8.0/debian/control 2019-01-14 16:24:35.000000000 +0100
+++ readline-8.0/debian/control 2019-07-14 09:56:28.000000000 +0200
@@ -94,6 +94,7 @@
 Section: utils
 Priority: optional
 Provides: readline-editor
+Build-Profiles: <!cross>
 Description: Front-end using readline to "cook" input lines for other programs
  This tool lets you use history and line-editing in any text oriented
  tool. This is especially useful with third-party proprietary tools that
diff --minimal -Nru readline-8.0/debian/rules readline-8.0/debian/rules
--- readline-8.0/debian/rules   2018-10-22 16:24:46.000000000 +0200
+++ readline-8.0/debian/rules   2019-07-14 09:58:50.000000000 +0200
@@ -129,11 +129,7 @@
 
        touch configure-stamp
 
-ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
-build: build-stamp build-rlfe-stamp
-else
-build: build-stamp
-endif
+build: build-stamp $(if $(filter 
cross,$(DEB_BUILD_PROFILES)),,build-rlfe-stamp)
 build-arch: build
 build-indep: build
 
@@ -270,8 +266,8 @@
            $(d_rld)/usr/include/readline/chardefs.h; \
        fi
 
+ifeq (,$(filter cross,$(DEB_BUILD_PROFILES)))
        : # install $(p_rlfe)
-ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
        dh_installdirs -p$(p_rlfe) \
            usr/bin usr/share/man/man1 \
            usr/share/doc/$(p_rlfe)
@@ -395,7 +391,6 @@
                examples/Inputrc
        ln -sf $(p_rl) $(d_rld)/usr/share/doc/$(p_rld)
 
-ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
        dh_installdocs -p$(p_rlfe) examples/rlfe/README
        dh_installchangelogs -p$(p_rlfe) examples/rlfe/ChangeLog
 
@@ -407,7 +402,6 @@
        cp -p debian/libreadline.shlibs debian/shlibs.local
        dh_shlibdeps -p$(p_rl) -p$(p_rld) -p$(p_rlfe) \
                 -L $(p_rl) -l $(d_rl)/lib
-endif
 
 ifneq ($(build32),)
        -ls -l $(d_rld)/usr/share/doc/$(p_rl)

Reply via email to