PKGDIR ambiguous (was: cvs commit: src/usr.sbin/pkg_install/info info.h main.c perform.c pkg_info.1 src/usr.sbin/pkg_install/add add.h main.c perform.c pkg_add.1 src/usr.sbin/pkg_install/lib lib.h url.c)

Florent Thoumie flz at FreeBSD.org
Tue Aug 22 09:54:57 UTC 2006


On Tue, 2006-08-22 at 05:38 -0400, Kris Kennaway wrote:
> On Mon, Aug 21, 2006 at 01:16:22PM +0100, Florent Thoumie wrote:
> > On Mon, 2006-08-21 at 07:56 -0400, Kris Kennaway wrote:
> > > On Mon, Aug 21, 2006 at 12:27:20PM +0100, Florent Thoumie wrote:
> > > > On Mon, 2006-08-21 at 07:07 -0400, Kris Kennaway wrote:
> > > > > On Mon, Aug 21, 2006 at 08:09:45AM +0200, Raphael H. Becker wrote:
> > > > > > 
> > > > > > Hi Florent,
> > > > > > 
> > > > > > PKGDIR is ambiguous in the context of ports and packages.
> > > > > > 
> > > > > > I set PKGDIR=/some/where/my/pkg in my /etc/profile which causes the
> > > > > > ports to fail badly creating any packages:
> > > > > > 
> > > > > > It is used in ports/Mk/bsd.port.mk:
> > > > > > # PKGDIR                - A directory containing any package creation
> > > > > > # files.
> > > > > > #                                 Default: ${MASTERDIR}
> > > > > > [...]
> > > > > > PKGDIR?=                ${MASTERDIR}
> > > > > > 
> > > > > > Havin set PKGDIR statically is a very bad idea here.
> > > > > 
> > > > > Yes, PKGDIR is incorrect in this usage.  The documented place where
> > > > > packages are stored is:
> > > > > 
> > > > > # PACKAGES              - A top level directory where all packages go (rather than
> > > > > #                                 going locally to each port).
> > > > > #                                 Default: ${PORTSDIR}/packages
> > > > > #
> > > > 
> > > > PACKAGES is a better choice than PKGDIR, but I'd like to avoid confusion
> > > > between "cached" packages (as in, copies of downloaded packages), and
> > > > "home-brewed" packages. 
> > > 
> > > Not sure there is a need to; they're both just packages.
> > 
> > I think there is, or there should be another subdirectory under PACKAGES
> > to tell where the packages come from. Like what apt does, something like
> > ${PACKAGES}/ftp.freebsd.org.packages.6.stable/All/blah.tbz.
> > 
> > You definitely don't want to mix packages from different sources, or
> > made from different ports trees.
> 
> I don't really see the need for this; but if you want to go this route
> there are other tools that also need to be taught about the proposed
> new directory layout).

Hum, actually you can have PACKAGES=/blah/packages/homebrewed/ in
make.conf and PACKAGES=/blah/packages/freebsd/ in your environment, so I
guess it's fine.

I'll commit the s/PKG_DBDIR/PACKAGES/ change in a few minutes.

-- 
Florent Thoumie
flz at FreeBSD.org
FreeBSD Committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20060822/dad024c5/attachment.pgp


More information about the cvs-src mailing list