[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