Subject: make package vs pkg_tarup
To: None <tech-pkg@netbsd.org>
From: Stoned Elipot <seb@starfleet.univ-paris7.fr>
List: tech-pkg
Date: 02/27/2003 13:18:21
Hi,
It occured to me that binary packages made from pkg_tarup and make package
are different in one respect. The former method in some situation may
produce an incomplete binary package.

When a package has an INSTALL script `make package' installs it
as ${PKG_DBDIR}/${PKGNAME}/+INSTALL (see fake-pkg target in bsd.pkg.mk).

When you make a binary package with `pkg_tar' from such an installed
package you end up with a binary package tarball containing the INSTALL script
(`check_and_add -i ${PKG_DBDIR}/${PKG}/+INSTALL' call in pkg_tarup script).

So far so good...

But now imagine you do a `pkg_add' of some binary package: you will
not have a +INSTALL file in ${PKG_DBDIR}/${PKG} because pkg_add command
does not copy it there. So now if you do pkg_tarup of such an installed
package you have a binary package which *does* contains the INSTALL script
and may be very broken for this reason.

The only fix I can see is to make pkg_add installing the INSTALL script
in ${PKG_DBDIR}/${PKG}.

Comments ?

Cheers, Stoned.