Source: readline
Version: 8.1-2
Severity: normal
Tags: d-i a11y patch

Hello,

So as to provide better support for the text installer for speakup-based
accessibility, we need libreadline in d-i. Here is a patch to add the
udeb build, could you apply it?

Thanks,
Samuel

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 
'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), 
(500, 'proposed-updates'), (500, 'oldstable-proposed-updates-debug'), (500, 
'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), 
(500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 
'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-2-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-- 
Samuel
mdiym42: note to self
mdiym42: make sure your cat is not sleeping in the bass drum before you start 
playing them
--- debian/control.original     2021-12-23 14:14:29.494489058 +0100
+++ debian/control      2021-12-23 15:03:01.596025090 +0100
@@ -23,6 +23,21 @@
  The GNU history library provides a consistent user interface for
  recalling lines of previously typed input.
 
+Package: libreadline8-udeb
+Architecture: any
+Depends: readline-common-udeb, ${shlibs:Depends}, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Package-Type: udeb
+Build-Profiles: <!noudeb>
+Section: debian-installer
+Description: GNU readline and history libraries, run-time libraries (d-i)
+ The GNU readline library aids in the consistency of user interface
+ across discrete programs that need to provide a command line
+ interface.
+ .
+ The GNU history library provides a consistent user interface for
+ recalling lines of previously typed input.
+
 Package: lib64readline8
 Architecture: i386 powerpc s390 sparc
 Depends: readline-common, ${shlibs:Depends}, ${misc:Depends}
@@ -47,6 +62,21 @@
  The GNU readline library aids in the consistency of user interface
  across discrete programs that need to provide a command line
  interface.
+ .
+ The GNU history library provides a consistent user interface for
+ recalling lines of previously typed input.
+
+Package: readline-common-udeb
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}
+Package-Type: udeb
+Build-Profiles: <!noudeb>
+Section: debian-installer
+Description: GNU readline and history libraries, common files (d-i)
+ The GNU readline library aids in the consistency of user interface
+ across discrete programs that need to provide a command line
+ interface.
  .
  The GNU history library provides a consistent user interface for
  recalling lines of previously typed input.
--- debian/rules.original       2021-12-23 14:14:33.018490312 +0100
+++ debian/rules        2021-12-23 15:08:20.460279596 +0100
@@ -17,6 +17,10 @@
 CROSS=gcc
 endif
 
+ifeq (,$(filter noudeb,$(DEB_BUILD_PROFILES)))
+  buildudeb = yes
+endif
+
 ifneq (,$(findstring /$(DEB_HOST_ARCH)/,/i386/powerpc/sparc/s390/))
   build64 = yes
   CC64 = $(CROSS) -m64
@@ -69,9 +73,11 @@
 SHELL  = bash
 
 p_rl   = libreadline$(soversion)
+p_rlu  = libreadline$(soversion)-udeb
 p_rl32 = lib32readline$(soversion)
 p_rl64 = lib64readline$(soversion)
 p_comm = readline-common
+p_commu        = readline-common-udeb
 p_rld  = libreadline-dev
 p_rld32        = lib32readline-dev
 p_rld64        = lib64readline-dev
@@ -79,12 +85,15 @@
 p_rlfe = rlfe
 
 d      = debian/tmp
+du     = debian/tmp-udeb
 d32    = debian/tmp32
 d64    = debian/tmp64
 d_rl   = debian/$(p_rl)
+d_rlu  = debian/$(p_rlu)
 d_rl32 = debian/$(p_rl32)
 d_rl64 = debian/$(p_rl64)
 d_comm = debian/$(p_comm)
+d_commu        = debian/$(p_commu)
 d_rld  = debian/$(p_rld)
 d_rld32        = debian/$(p_rld32)
 d_rld64        = debian/$(p_rld64)
@@ -93,6 +102,7 @@
 
 srcdir         = $(CURDIR)
 builddir       = $(CURDIR)/build
+builddiru      = $(CURDIR)/buildudeb
 builddir32     = $(CURDIR)/build32
 builddir64     = $(CURDIR)/build64
 
@@ -111,6 +121,16 @@
                --host=$(DEB_HOST_GNU_TYPE) \
                --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)
 
+ifneq ($(buildudeb),)
+       rm -rf $(builddiru)
+       mkdir $(builddiru)
+       cd $(builddiru) && \
+         CFLAGS="$(CFLAGS) -Os" CPPFLAGS="$(CPPFLAGS)" $(srcdir)/configure \
+               --prefix=/usr\
+               --host=$(DEB_HOST_GNU_TYPE) \
+               --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)
+endif
+
 ifneq ($(build32),)
        rm -rf $(builddir32)
        mkdir $(builddir32)
@@ -141,6 +161,14 @@
            SHOBJ_LDFLAGS='$(LDFLAGS) -shared' \
            SHLIB_LIBS="-ltinfo"
 
+ifneq ($(buildudeb),)
+       $(MAKE) -C $(builddiru) \
+           CFLAGS="$(CFLAGS) -Os" CPPFLAGS="$(CPPFLAGS)" \
+           SHOBJ_CFLAGS="-fPIC -D_REENTRANT" \
+           SHOBJ_LDFLAGS='$(LDFLAGS) -shared' \
+           SHLIB_LIBS="-ltinfo"
+endif
+
 ifneq ($(build32),)
        $(MAKE) -C $(builddir32) \
            CC="$(CC32)" \
@@ -277,6 +305,34 @@
        cp -p debian/rlfe.1 $(d_rlfe)/usr/share/man/man1/.
 endif
 
+ifneq ($(buildudeb),)
+       rm -rf $(du)
+       mkdir -p $(du)/usr/bin
+       mkdir -p $(du)/usr/lib/pkgconfig
+       $(MAKE) -C $(builddiru) install \
+           CC="$(CCu)" \
+           CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS) -D_REENTRANT" \
+           SHOBJ_LDFLAGS='-shared $(LDFLAGS)' \
+           SHLIB_XLDFLAGS='-Wl,-soname,`echo $$@ | sed s/\\..$$$$//`' \
+           SHLIB_LIBS=-ltinfo \
+           DESTDIR=$(CURDIR)/$(du) \
+           mandir=/usr/share/man \
+           infodir=/usr/share/info
+
+       dh_installdirs -p$(p_rlu) \
+           lib/$(DEB_HOST_MULTIARCH)
+       cp -p 
$(du)/usr/lib/$(DEB_HOST_MULTIARCH)/lib{history,readline}.so.$(libversion) \
+               $(d_rlu)/lib/$(DEB_HOST_MULTIARCH)/
+       ln -s libhistory.so.$(libversion) \
+               $(d_rlu)/lib/$(DEB_HOST_MULTIARCH)/libhistory.so.$(soversion)
+       ln -s libreadline.so.$(libversion) \
+               $(d_rlu)/lib/$(DEB_HOST_MULTIARCH)/libreadline.so.$(soversion)
+
+       dh_installdirs -p$(p_commu) \
+               usr/share/readline
+       install -m 644 debian/inputrc $(d_commu)/usr/share/readline/
+endif
+
 ifneq ($(build32),)
        rm -rf $(d32)
        mkdir -p $(d32)/usr/bin
@@ -402,11 +458,20 @@
        dh_strip -p$(p_rl) -p$(p_rld) -p$(p_rlfe)
        dh_compress -p$(p_rl) -p$(p_rld) -p$(p_rlfe) \
                -X.c -XMakefile
-       dh_makeshlibs -p$(p_rl)
+       dh_makeshlibs -p$(p_rl) --add-udeb=$(p_rlu)
        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
 
+ifneq ($(buildudeb),)
+       dh_compress -p$(p_rlu)
+       dh_fixperms -p$(p_rlu)
+       dh_strip -p$(p_rlu)
+       dh_makeshlibs -p$(p_rlu)
+       -dh_shlibdeps -p$(p_rlu) \
+                -L $(p_rlu) -l $(d_rlu)/lib
+endif
+
 ifneq ($(build32),)
        -ls -l $(d_rld)/usr/share/doc/$(p_rl)
        dh_installdocs -p$(p_rl32) \

Reply via email to