Date: Thu, 18 Sep 2008 13:46:44 +0100 (BST) From: "N.J. Mann" <njm@njm.me.uk> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/127469: ports system does not honour NO_MANCOMPRESS directive (PATCH included) Message-ID: <200809181246.m8ICkiwo051400@oberon.njm.f2s.com> Resent-Message-ID: <200809181320.m8IDK1Xj032871@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 127469 >Category: ports >Synopsis: ports system does not honour NO_MANCOMPRESS directive (PATCH included) >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Sep 18 13:20:00 UTC 2008 >Closed-Date: >Last-Modified: >Originator: N.J. Mann >Release: FreeBSD 7.1-PRERELEASE i386 >Organization: >Environment: System: FreeBSD oberon.njm.f2s.com 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #3: Mon Sep 15 13:57:57 BST 2008 njm@oberon.njm.f2s.com:/usr/obj/usr/src7/sys/Oberon i386 Up-to-date ports system (mine is updated nightly at 4 am UTC) and recent 7-STABLE (mine was updated on Monday morning at 4 am UTC). >Description: Back in 2004 the FreeBSD Project decided to rename all user settable NOxxx make directives to NO_xxx. In December of that year ru@ added /usr/src/share/mk/bsd.compat.mk to the system as an aid to that change. The new NO_xxx syntax has been shipped in all 6.x and 7.x releases. However, there is one part of the system which seems to have been overlooked: /usr/ports/Mk/bsd.port.mk. This file still expects NOMANCOMPRESS rather than NO_MANCOMPRESS. Thus, the base OS and the ports system are out of sync. The effect of this is that if you define NO_MANCOMPRESS in /etc/make.conf (_and_ not NOMANCOMPRESS) the base OS installs uncompressed manual pages and the ports system compressed ones. With the patch included below installed and NO_MANCOMPRESS (only) defined in /etc/make.conf, everything works as expected, i.e. manual pages for ports are not compressed. (And if NO_MANCOMPRESS is not defined they are installed compressed.) >How-To-Repeat: Add NO_MANCOMPRESS to /etc/make.conf >Fix: To fix this problem it is necessary to change all occurrences of NOMANCOMPRESS to NO_MANCOMPRESS in /usr/ports/Mk/bsd.port.mk (a patch follows). The only other occurrence of NOMANCOMPRESS is in the porters handbook. I include a patch for the American English version of such, but the same change ought to be made to the various translations. --- NOMANCOMPRESS.bsd.port.mk.patch.txt begins here --- --- Mk/bsd.port.mk~ 2008-09-06 05:12:13.000000000 +0100 +++ Mk/bsd.port.mk 2008-09-12 10:24:56.000000000 +0100 @@ -614,7 +614,7 @@ # # Set the following to specify all manpages that your port installs. # These manpages will be automatically listed in ${PLIST}. Depending -# on the setting of NOMANCOMPRESS, the make rules will compress the +# on the setting of NO_MANCOMPRESS, the make rules will compress the # manpages for you. # # MAN<sect> - A list of manpages, categorized by section. For @@ -647,7 +647,7 @@ # MANCOMPRESSED - This variable can take values "yes", "no" or # "maybe". "yes" means manpages are installed # compressed; "no" means they are not; "maybe" means -# it changes depending on the value of NOMANCOMPRESS. +# it changes depending on the value of NO_MANCOMPRESS. # Default: "yes" if USE_IMAKE is set and NO_INSTALL_MANPAGES # is not set, and "no" otherwise. # @@ -2901,7 +2901,7 @@ MANLANG?= "" # english only by default -.if !defined(NOMANCOMPRESS) +.if !defined(NO_MANCOMPRESS) MANEXT= .gz .endif @@ -2985,7 +2985,7 @@ .if defined(_MANPAGES) -.if defined(NOMANCOMPRESS) +.if defined(NO_MANCOMPRESS) __MANPAGES:= ${_MANPAGES:S%^${PREFIX}/%%} .else __MANPAGES:= ${_MANPAGES:S%^${PREFIX}/%%:S%$%.gz%} @@ -5733,10 +5733,10 @@ .if !target(compress-man) compress-man: .if defined(_MANPAGES) || defined(_MLINKS) -.if ${MANCOMPRESSED} == yes && defined(NOMANCOMPRESS) +.if ${MANCOMPRESSED} == yes && defined(NO_MANCOMPRESS) @${ECHO_MSG} "===> Uncompressing manual pages for ${PKGNAME}" @_manpages='${_MANPAGES:S/'/'\''/g}' && [ "$${_manpages}" != "" ] && ( eval ${GUNZIP_CMD} $${_manpages} ) || ${TRUE} -.elif ${MANCOMPRESSED} == no && !defined(NOMANCOMPRESS) +.elif ${MANCOMPRESSED} == no && !defined(NO_MANCOMPRESS) @${ECHO_MSG} "===> Compressing manual pages for ${PKGNAME}" @_manpages='${_MANPAGES:S/'/'\''/g}' && [ "$${_manpages}" != "" ] && ( eval ${GZIP_CMD} $${_manpages} ) || ${TRUE} .endif --- NOMANCOMPRESS.bsd.port.mk.patch.txt ends here --- --- NOMANCOMPRESS.doc_patch.txt begins here --- --- doc/en_US.ISO8859-1/books/porters-handbook/book.sgml~ 2008-09-10 14:18:52.000000000 +0100 +++ doc/en_US.ISO8859-1/books/porters-handbook/book.sgml 2008-09-16 13:15:08.000000000 +0100 @@ -3600,7 +3600,7 @@ <filename>pkg-plist</filename>—see <link linkend="plist-sub">generating PLIST</link> for more). It also makes the install stage automatically compress or uncompress manpages - depending on the setting of <makevar>NOMANCOMPRESS</makevar> in + depending on the setting of <makevar>NO_MANCOMPRESS</makevar> in <filename>/etc/make.conf</filename>.</para> <para>If your port tries to install multiple names for manpages using @@ -3617,7 +3617,7 @@ <literal>maybe</literal>. <literal>yes</literal> means manpages are already installed compressed, <literal>no</literal> means they are not, and <literal>maybe</literal> means the software already respects - the value of <makevar>NOMANCOMPRESS</makevar> so + the value of <makevar>NO_MANCOMPRESS</makevar> so <filename>bsd.port.mk</filename> does not have to do anything special.</para> --- NOMANCOMPRESS.doc_patch.txt ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809181246.m8ICkiwo051400>