Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Nov 2000 00:21:42 +0200
From:      Peter Pentchev <roam@orbitel.bg>
To:        freebsd-ports@FreeBSD.org
Cc:        "Jason R. Mastaler" <jason@mastaler.com>
Subject:   Re: NetBSD package system features
Message-ID:  <20001129002142.B318@ringworld.oblivion.bg>
In-Reply-To: <200011282208.eASM8lO60591@bmah-freebsd-0.cisco.com>; from bmah@FreeBSD.ORG on Tue, Nov 28, 2000 at 02:08:47PM -0800
References:  <00112811292900.19785@nightshade> <20001128231806.A318@ringworld.oblivion.bg> <200011282208.eASM8lO60591@bmah-freebsd-0.cisco.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Nov 28, 2000 at 02:08:47PM -0800, Bruce A. Mah wrote:
> If memory serves me right, Peter Pentchev wrote:
> > On Tue, Nov 28, 2000 at 11:29:29AM -0700, Jason R. Mastaler wrote:
> > > I've been looking at the NetBSD package system lately to see how it
> > > compares to FreeBSD's.  It seems to have quite a few additional
> > > features.  
> > > 
> > > For one thing, it has more "make" targets.  Has anyone looked into
> > > incorporating these?  Here are some noteworthy examples.  For more
> > > info, see <ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/Packages.txt>;
> 
> More != better.  :-)
> 
> But in seriousness, I thought there was some talk about adopting some 
> parts of NetBSD's pkgsrc system for FreeBSD, discussed on this list at 
> one point in the past.
> 
> > Some of these already exist in the Ports collection in one way or another.
> > 
> > >  * update:
> > >    This target causes the current package to be updated to the latest
> > >    version.  The package and all depending packages first get
> > >    deinstalled, then current versions of the corresponding packages
> > >    get compiled and installed.  This is similar to manually noting
> > >    which packages are currently installed, then performing a series of
> > >    "make deinstall" and and "make install" (or whatever DEPENDS_TARGET
> > >    is set to) for these packages.
> > 
> > This is being done at the moment - the -o (origin) option to pkg_add,
> > and some changes to bsd.port.mk, which I believe are already implemented
> > in -current and are awaiting MFC real-soon-now.
> 
> Well...almost but not quite.  I think the work with pkg_add and 
> bsd.port.mk is a prerequesite to doing an update target.  The pkg_add 
> modification is in 5-CURRENT and 4-STABLE; the bsd.port.mk is awaiting 
> a commit.
> 
> This won't give us the automagic package updating capabilities, but 
> it'll help.

Well, yeah, I knew that; I just forgot to mention it :)  But the truth is,
having the origin in packages will help updating *very* much.  I might
even go so far in my enthusiasm as to actually draft some kind of update
utility (I do not feel all that warm and fuzzy about mucking up /usr/ports/Mk
makefiles :)

> > >  * show-downlevel:
> > >    This target shows nothing if the package is not installed. If a
> > >    version of this package is installed, but is not the version
> > >    provided in this version of pkgsrc, then a warning message is
> > >    displayed. This target can be used to show which of your installed
> > >    packages are downlevel, and so the old versions can be deleted, and
> > >    the current ones added.
> > 
> > pkg_version, which will get even better once port origins work.
> 
> Yep.  Actually, if you go and apply the upcoming bsd.port.mk patch (see 
> above), pkg_version will use the origin information in any ports 
> installed after that.  I've been running my workstations that way for a 
> couple months.
> 
> > >  * show-pkgsrc-dir:
> > >    This target shows the directory in the pkgsrc hierarchy from which
> > >    the package can be built and installed. This may not be the same
> > >    directory as the one from which the package was installed. This
> > >    target is intended to be used by people who may wish to upgrade
> > >    many packages on a single host, and can be invoked from the
> > >    top-level pkgsrc Makefile by using the target
> > >    "show-host-specific-pkgs"
> > 
> > Hmm..
> 
> That sounds a little like pkg_info with the origin option.
> 
> > >  * bulk-package:
> > >    Used to do bulk builds. If an appropriate binary package already
> > >    exists, no action is taken. If not, this target will compile,
> > >    install and package it (and it's depends, if PKG_DEPENDS is set
> > >    properly, see section 3.2.1). After creating the binary package,
> > >    the sources, the just-installed package and it's required packages
> > >    are removed, preserving free disk space.
> > 
> > make all install package clean?
> 
> Agreed.

Again, almost but not quite ;)  A bit closer to the mark:

make all install package deinstall clean

G'luck,
Peter

-- 
This sentence claims to be an Epimenides paradox, but it is lying.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001129002142.B318>