[pkg-lynx-maint] Bug#983209: lynx: differences in documentation when built in parallel

Andreas Metzler ametzler at bebt.de
Sat Feb 27 18:44:10 GMT 2021


On 2021-02-21 Vagrant Cascadian <vagrant at reproducible-builds.org> wrote:
[...]
> The lynx documentation has many differences between two builds:

>   https://tests.reproducible-builds.org/debian/rb-pkg/bullseye/amd64/diffoscope-results/lynx.html

>   /usr/share/doc/lynx-common/lynx_help/body.html.gz

> In one of the builds, there has several occurrences of:

>   Support·for·this·setting·was·disabled·at·compile-time.	 


> All of the documentation differences disappeared for me when disabling
> parallelism in the build (and fixing the usrmerge issue reported in
> another bug). The attached patch passes --no-parallel to dh in
> debian/rules to accomplish this.

> I do not know weather this is actually a more serious issue where
> various features are actually disabled between the two builds or only a
> documentation difference.
[...]

Hello,

afaict it is just a doc-generation issue, the arch-any package does not
differ.

This part of the toplevel makefile seems to be the problem:

CFG2HTML = alphatoc.html body.html cattoc.html
[...]
$(CFG2HTML) :
	@echo 'Making htmlized lynx.cfg'
	cd $(SRC_DIR) && $(MAKE_RECUR) LYReadCFG.i
	@-rm -f $(CFG2HTML)
	sed -n -e '/Config_Type  *Config_Table/,/{0, *0, *0}/ p' $(SRC_DIR)/LYReadCFG.i | \
	sed  -e 's/ *{ *"\([^"]*\)".*/\1/' | \
	perl $(scripts_dir)/cfg2html.pl -ams $(srcdir)/lynx.cfg
	-rm -f $(SRC_DIR)/LYReadCFG.i

With -j > 1 the same rule runs multiple times in parallel and job1,
generating alphatoc.html will remove $(SRC_DIR)/LYReadCFG.i before job2
can read it.

This patch (use a "Grouped Target") fixes the issue for me:
-----------
--- lynx-2.9.0dev.6.orig/makefile.in
+++ lynx-2.9.0dev.6/makefile.in
@@ -338,7 +338,7 @@ LYNX_URL='@HOMEPAGE_URL at release/breakout
 LYNXDOCS_URL='$(LYNX_URL)/docs/'
 LYNXHELP_URL='$(LYNX_URL)/lynx_help/'

- at LYNXCFG_MAKE@$(CFG2HTML) :
+ at LYNXCFG_MAKE@$(CFG2HTML) &:
 @LYNXCFG_MAKE@	@echo 'Making htmlized lynx.cfg'
 @LYNXCFG_MAKE@	cd $(SRC_DIR) && $(MAKE_RECUR) LYReadCFG.i
 @LYNXCFG_MAKE@	@-rm -f $(CFG2HTML)
-----------

Not sure whether it is upstreamable, since &: is a probably a
GNU-make-ism.

cu Andreas



More information about the pkg-lynx-maint mailing list