Hello,

I see that a newer upload of readline was done but without the proposed
patch. Is there any problem with it? (attached here again)

Having readline available would really make the installer a *lot* easier
to handle for blind users.

Samuel

Samuel Thibault, le jeu. 23 déc. 2021 15:31:17 +0100, a ecrit:
> 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
--- 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