[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#1002508: readline: Please provide a udeb



Hello,

I have uploaded the attached changes to DELAYED/10 for experimental so
its NEW processing doesn't interfere with maintenance.

Samuel

Samuel Thibault, le ven. 11 févr. 2022 02:01:45 +0100, a ecrit:
> Hello,
> 
> Is there any news on this?  Perhaps I can just NMU?
> 
> Samuel
> 
> Samuel Thibault, le sam. 08 janv. 2022 18:21:28 +0100, a ecrit:
> > 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) \

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.
diff -Nru readline-8.1.2/debian/changelog readline-8.1.2/debian/changelog
--- readline-8.1.2/debian/changelog	2022-01-06 17:26:54.000000000 +0100
+++ readline-8.1.2/debian/changelog	2022-04-03 16:43:54.000000000 +0200
@@ -1,3 +1,11 @@
+readline (8.1.2-1.1) experimental; urgency=medium
+
+  * Non-Maintainer Upload.
+  * Add libreadline8-udeb and readline-common-udeb packages.
+    Closes: #1002508.
+
+ -- Samuel Thibault <sthibault@debian.org>  Sun, 03 Apr 2022 16:43:54 +0200
+
 readline (8.1.2-1) unstable; urgency=medium
 
   * New upstream patch release.
diff -Nru readline-8.1.2/debian/control readline-8.1.2/debian/control
--- readline-8.1.2/debian/control	2020-12-08 07:58:32.000000000 +0100
+++ readline-8.1.2/debian/control	2022-04-03 16:43:54.000000000 +0200
@@ -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,20 @@
  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
+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.
diff -Nru readline-8.1.2/debian/rules readline-8.1.2/debian/rules
--- readline-8.1.2/debian/rules	2020-08-04 19:39:06.000000000 +0200
+++ readline-8.1.2/debian/rules	2022-04-03 16:43:50.000000000 +0200
@@ -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 to: