lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 12 Jul 2015 23:59:18 +0200
From:	Ulf Magnusson <ulfalizer.lkml@...il.com>
To:	linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org
Cc:	mmarek@...e.cz, corbet@....net, herbert@...dor.apana.org.au,
	smueller@...onox.de, Ulf Magnusson <ulfalizer@...il.com>
Subject: [PATCH] DocBook: Avoid stdout junk with no man pages to compress

gzip would run as 'gzip -f' when no uncompressed man pages were found,
making it compress the (empty) stdin to stdout.

A few alternative solutions:

  - 'find' with {} + might be speedier, but maybe that's not portable
    enough (though it's in POSIX 2001 at least AFAICS)

  - xargs --no-run-if-empty, but that's a GNU extension

  - Always discarding stdout, if it's unlikely to ever be helpful

  - More fancy stuff like the following, though maybe some of them could
    run into shell limits too, re. d56fcf299fb4 (DocBook: Do not exceed
    argument list limit)

    * A plain shell 'for' loop

    * mandocs: $(MAN)
      	if [ `find $(obj)/man -name '*.9' | wc -l` -gt 0 ]; then \
      		find $(obj)/man -name '*.9' | xargs gzip -f; \
      	fi

    * mandocs: $(MAN)
      	man_pages=`find $(obj)/man -name '*.9'`; \
      	if [ -n "$$man_pages" ]; then \
      		echo "$$man_pages" | xargs gzip -f; \
      	fi

Signed-off-by: Ulf Magnusson <ulfalizer@...il.com>
---
 Documentation/DocBook/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index b6a6a2e..73bddf7 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -56,7 +56,7 @@ htmldocs: $(HTML)
 
 MAN := $(patsubst %.xml, %.9, $(BOOKS))
 mandocs: $(MAN)
-	find $(obj)/man -name '*.9' | xargs gzip -f
+	find $(obj)/man -name '*.9' -exec gzip -f {} \;
 
 installmandocs: mandocs
 	mkdir -p /usr/local/man/man9/
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ