2008-08-08 07:47:35

by Bastian Blank

[permalink] [raw]
Subject: [PATCH] DocBook: don't compress mandocs

The mandocs target uses gzip to compress the resulting manpages. If this
target runs more than once (using make -jX) at the same time, gzip may
run more then once with the same set of files. It just bails out if it
is not able to find a file because a concurrent run already removed it.

Fix this by removing the gzip call and only work with uncompressed
manpages.

Signed-off-by: Bastian Blank <[email protected]>

diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index 1d1b345..3fb6ef2 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -51,7 +51,7 @@ mandocs: $(MAN)

installmandocs: mandocs
mkdir -p /usr/local/man/man9/
- install Documentation/DocBook/man/*.9.gz /usr/local/man/man9/
+ install Documentation/DocBook/man/*.9 /usr/local/man/man9/

###
#External programs used
@@ -156,7 +156,7 @@ quiet_cmd_db2html = HTML $@
cp $(PNG-$(basename $(notdir $@))) $(patsubst %.html,%,$@); fi

quiet_cmd_db2man = MAN $@
- cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; gzip -f $(obj)/man/*.9; fi
+ cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $<; fi
%.9 : %.xml
@(which xmlto > /dev/null 2>&1) || \
(echo "*** You need to install xmlto ***"; \
--
Only a fool fights in a burning house.
-- Kank the Klingon, "Day of the Dove", stardate unknown


2008-08-08 21:44:52

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH] DocBook: don't compress mandocs

On Fri, Aug 08, 2008 at 09:47:24AM +0200, Bastian Blank wrote:
> The mandocs target uses gzip to compress the resulting manpages. If this
> target runs more than once (using make -jX) at the same time, gzip may
> run more then once with the same set of files. It just bails out if it
> is not able to find a file because a concurrent run already removed it.
>
> Fix this by removing the gzip call and only work with uncompressed
> manpages.

If it failded with gzip being run more than once before this
patch does not solve the bug - it simply makes it harder to trigger.

Anything that does not work with a make -j100 build is broken.
And please understand that we have people that uses "make -j100" when building
the kernel.

These people most likely does not do "make mandocs" but we should still fix
the bug and not try to paper it over in this way.

So try to analyse why we in the first place will run gzip in parallele and solve that.

Sam

2008-08-09 06:42:23

by Bastian Blank

[permalink] [raw]
Subject: Re: [PATCH] DocBook: don't compress mandocs

On Fri, Aug 08, 2008 at 11:45:04PM +0200, Sam Ravnborg wrote:
> On Fri, Aug 08, 2008 at 09:47:24AM +0200, Bastian Blank wrote:
> > The mandocs target uses gzip to compress the resulting manpages. If this
> > target runs more than once (using make -jX) at the same time, gzip may
> > run more then once with the same set of files. It just bails out if it
> > is not able to find a file because a concurrent run already removed it.
> >
> > Fix this by removing the gzip call and only work with uncompressed
> > manpages.
>
> If it failded with gzip being run more than once before this
> patch does not solve the bug - it simply makes it harder to trigger.

No, the problem does not longer exists then. Or do you see a "*" to be
expanded on runtime?

> Anything that does not work with a make -j100 build is broken.
> And please understand that we have people that uses "make -j100" when building
> the kernel.

I only use -j64 ...

> These people most likely does not do "make mandocs" but we should still fix
> the bug and not try to paper it over in this way.
>
> So try to analyse why we in the first place will run gzip in parallele and solve that.

make mandocs
-> make a.9 b.9 c.9 d.9 ... z.9
-> xmlto a.xml; gzip *
-> xmlto b.xml; gzip *
-> xmlto c.xml; gzip *
-> xmlto d.xml; gzip *
...
-> xmlto z.xml; gzip *

Bastian

--
Captain's Log, star date 21:34.5...


Attachments:
(No filename) (1.36 kB)
signature.asc (197.00 B)
Digital signature
Download all attachments