Subject: Re: PKGMANDIR
To: Jeremy C. Reed <reed@NetBSD.org>
From: Stoned Elipot <seb@ssr.univ-paris7.fr>
List: tech-pkg
Date: 10/04/2005 23:19:46
I saw you mail about PKGMANDIR after I posted mine...

So I suppose you already did the sweeping ?

Also you said that PLIST files could stay the same because
_PLIST_AWK_PKGMANDIR takes care of the rewriting. But print-PLIST
support of PKGMANDIR need to be added.

Cheers, Stoned.

On Tue, Oct 04, 2005 at 11:12:34PM +0200, Stoned Elipot wrote:
> 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.
> >