Bug#932023: libreadline8 misses the symbols file when cross built
Source: readline
Version: 8.0-2
Severity: important
Tags: patch
User: helmutg@debian.org
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 <helmut@subdivi.de> 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 to: