Subject: Re: CVS commit: pkgsrc/mk/install
To: None <pkgsrc-changes@NetBSD.org>
From: Joerg Sonnenberger <joerg@britannica.bec.de>
List: pkgsrc-changes
Date: 11/05/2006 19:05:17
On Sun, Nov 05, 2006 at 06:55:23PM +0100, Roland Illig wrote:
> Joerg Sonnenberger wrote:
> >I don't like it. IMO this can be considered a recursive dependency as it
> >won't help when creating a new package or updating one with changing
> >directory list.
>
> That may be the case for _some_ packages. Assuming that most packages
> only have "bin" and "man/*" in that list, they will usually find these
> directories precreated when the packages are installed for the first
> time, with an empty PLIST.
No, they will not. Installation to /usr/pkg will die (sooner than later)
and with it mtree. No automatically precreated directory structure under
the installation PREFIX.
> Another effect is that an error message is printed whenever something
> that should be a directory already exists as a file. Before, one had to
> wait until the check-files target caught that error. Now, the error
> message is as clear as possible.
See above -- will not work for changing directory list.
> >The list of entries in INSTALLATION_DIRS is typically
> >short enough as well, so the new variable is often even longer...
>
> It depends. I had been annoyed by writing ${PKGMANDIR}/man1 instead of
> man/man1, for example. That is converted automatically now.
.oO(who introduced PKGMANDIR again)
>
> Another benefit is that many packages will only need the same definition
> (INSTALLATION_DIRS_FROM_PLIST=yes) instead of slightly different ones
> (INSTALLATION_DIRS=...).
Many packages don't need it at all. Those which do normally use them for
documentation or example directories. Does that mean we add a magical
install, which creates the missing components in the target name?
> Using this variable, it is also possible to eliminate many of the
> ${INSTALL_*_DIR} commands in self-written do-install targets. Taking all
> these reasons into account, it felt quite good to me.
And this could have been replaced with INSTALLATION_DIRS already. This
is not new for that reason.
Joerg