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.
> >