[Aptitude-devel] Bug#999383: Bug#999383: aptitude: bashism in configure script

Axel Beckert abe at debian.org
Thu Nov 11 18:12:59 GMT 2021


Control: tag -1 + moreinfo confirmed patch

Hi Andrej,

Andrej Shadura wrote:
> It is possible your package uses configure script with bash features not
> present in POSIX without explicitly declaring the need to bash shell; this
> currently works as configure scripts select bash, but when dash enables
> LINENO support,

I'm sorry, but I don't get it: Why does _ENABLING_ a feature (which I
assume adds more compatibility with Bash) causes more issues than
without?

Please explain what this change actually does or give pointers to
according documentation.

> your configure script may start failing.

According to your attached log it's clearly not the configure script.

> […]
> [  477s] config.status: creating po/Makefile
> [  477s] config.status: executing depfiles commands
> [  477s] config.status: executing copy-gtest commands
> [  477s] config.status: executing copy-gmock commands
> [  478s] make[1]: Leaving directory '/usr/src/packages/BUILD'
> [  478s]    dh_auto_build -O--builddirectory=build -O--dbgsym-migration=aptitude-dbg

The configure script succeeded and dh_auto_build was started.

> [  478s] 	cd build && make -j3
                                 ^^^

This is not helpful when trying to debug build failures. Please
refrain from using parallel building for such bug reports in the
future as it usually just hides the real issue. Thanks in advance.

I've rebuilt it with -j1 and can confirm that the configure script is
not the issue, but this part from your build log:

> [ 1024s] make[5]: Entering directory '/usr/src/packages/BUILD/build/doc/fi'
> [ 1024s] rm -fr output-man/
> [ 1024s] rm -fr output-readme/ README.fi
> [ 1024s] /usr/bin/xsltproc -o output-man/aptitude.8 ../../../doc/aptitude-man.xsl ../../../doc/fi/aptitude.xml
> [ 1024s] /usr/bin/xsltproc -o output-readme/index.html ../../../doc/aptitude-txt.xsl ../../../doc/fi/aptitude.xml
> [ 1024s] rm -fr output-html/
> [ 1024s] /usr/bin/xsltproc -o output-html/ ../../../doc/aptitude-html.xsl ../../../doc/fi/aptitude.xml
> [ 1025s] Note: meta source : no *info/productname or alternative            aptitude
> [ 1025s] Note: meta source : see http://www.docbook.org/tdg5/en/html/produ  aptitude
> [ 1025s] Note: meta source : no refentry/refmeta/refmiscinfo at class=source   aptitude
> [ 1025s] Note: meta source : see http://www.docbook.org/tdg5/en/html/refmi  aptitude
> [ 1025s] Note: meta version: no *info/productnumber or alternative          aptitude
> [ 1025s] Note: meta version: see http://www.docbook.org/tdg5/en/html/produ  aptitude
> [ 1025s] Note: meta version: no refentry/refmeta/refmiscinfo at class=version  aptitude
> [ 1025s] Note: meta version: see http://www.docbook.org/tdg5/en/html/refmi  aptitude
> [ 1025s] Warn: meta source : no fallback for source, so inserted a fixme    aptitude
> [ 1025s] Warn: AUTHOR sect.: no personblurb|contrib for Daniel Burrows      
> [ 1025s] Note: AUTHOR sect.: see http://www.docbook.org/tdg5/en/html/contr  
> [ 1025s] Note: AUTHOR sect.: see http://www.docbook.org/tdg5/en/html/perso  
> [ 1025s] Warn: AUTHOR sect.: no personblurb|contrib for Daniel Burrows      aptitude
> [ 1025s] Note: AUTHOR sect.: see http://www.docbook.org/tdg5/en/html/contr  aptitude
> [ 1025s] Note: AUTHOR sect.: see http://www.docbook.org/tdg5/en/html/perso  aptitude
> [ 1025s] Note: Writing aptitude.8
> [ 1025s] ln -f output-man/aptitude.8 .
> [ 1025s] ../../../doc/fi/fixman aptitude.8
> [ 1025s] sed: no input files
> [ 1025s] sed: no input files
> [ 1025s] sed: no input files
> [ 1025s] sed: no input files
> [ 1025s] sed: no input files
> [ 1025s] sed: no input files
> [ 1025s] make[5]: *** [Makefile:967: docbook-man-stamp] Error 4

I'm not sure why the following patch fixes the issue, but it does so
at the expense of some more forks per build:

diff --git a/buildlib/docbook.mk b/buildlib/docbook.mk
index 9ec1b433..de03f0b4 100644
--- a/buildlib/docbook.mk
+++ b/buildlib/docbook.mk
@@ -129,7 +129,7 @@ docbook-man-stamp: $(DOCBOOK_XML) aptitude-man.xsl aptitude-common.xsl
 	@if [ -x "$(srcdir)/fixman" ]; then \
 	  for i in $(DOCBOOK_MANS); do \
 	    echo "$(srcdir)/fixman $$i"; \
-	    . $(srcdir)/fixman $$i; \
+	    $(srcdir)/fixman $$i; \
           done; \
         fi
 	touch docbook-man-stamp

It is also unclear to me what the relation of this patch to line
numbers or a variable called LINENO is.

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe at debian.org>, https://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE



More information about the Aptitude-devel mailing list