Subject: PKGMANDIR
To: Jeremy C. Reed <reed@NetBSD.org>
From: Stoned Elipot <seb@ssr.univ-paris7.fr>
List: tech-pkg
Date: 10/04/2005 23:12:34
I may be missing something here but...
This new _PLIST_AWK_PKGMANDIR awk script snippet unconditionaly rewrite any
man page looking entry in ${PLIST_SRC} with the leading man directory
as ${PKGMANDIR}.

What if:
- you set PKGMANDIR to 'foobar' in "mk.conf"
- install a non-PKGMANDIR-aware pkg ?
It looks to me that it result in a broken PLIST...
Example:
# pwd                           
/usr/pkgsrc/textproc/biblook
# make PKGMANDIR=foobar install
...
===> register-pkg [biblook-2.9] ===> Registering installation for biblook-2.9
pkg_create: can't stat `/usr/pkg/foobar/man1/bibindex.1'
pkg_create: can't stat `/usr/pkg/foobar/man1/biblook.1'
...
# ls /usr/pkg/man/man1/bib*     
/usr/pkg/man/man1/bibindex.1   /usr/pkg/man/man1/biblook.1

See ?

What should we do ?
Sweep all pkgs to make all packages PKGMANDIR-compliant ?
	this sound painfull
Introduce a per-package knob like OBEY_PKGMANDIR (you get the idea) so that
_PLIST_AWK_PKGMANDIR is not rolled in ?
	ugly IMHO
Something else ?

Cheers, Stoned.

On Tue, Oct 04, 2005 at 05:27:00PM +0000, Jeremy C. Reed wrote:
> 
> Module Name:	pkgsrc
> Committed By:	reed
> Date:		Tue Oct  4 17:27:00 UTC 2005
> 
> Modified Files:
> 	pkgsrc/mk: bsd.pkg.mk
> 	pkgsrc/mk/defaults: mk.conf
> 
> Log Message:
> Add custom PKGMANDIR setting to mk/defaults/mk.conf.  This is a
> pathname relative to ${PREFIX} of directory holding the manual pages
> and man directories. I have been using this for over two years.
> 
> This defaults to "man" so no change.
> 
> If using GNU_CONFIGURE then set --mandir.  (Unless CONFIGURE_HAS_MANDIR
> is no because some old GNU configure scripts are too old. This is
> similar to existing CONFIGURE_HAS_INFODIR.)
> 
> Add PKGMANDIR to PLIST_SUBST.  Add plist awk pattern-action statement
> to convert man/ to ${PKGMANDIR}/. (This might need to be double checked
> for some PLISTs that prefix some custom settings in front. qmail
> used to do this, but now I see it does not.)
> 
> When "Decompressing manual pages" convert man/ also.
> 
> I have several other changes to commit for individual packages.
> 
> I chose not to modify the INSTALL_MAN or INSTALLATION_DIRS
> to also convert man/ to PKGMANDIR/ because I thought this may
> make it more confusing. So instead, I modify the individual
> uses of these instead. (Todo: modify pkglint to check for this?)
> 
> (agc@ of the pkgsrc-pmc asked me to make these changes.)
> 
> 
> To generate a diff of this commit:
> cvs rdiff -r1.1721 -r1.1722 pkgsrc/mk/bsd.pkg.mk
> cvs rdiff -r1.79 -r1.80 pkgsrc/mk/defaults/mk.conf
> 
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.
>