Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Sep 2000 16:48:51 -0500
From:      Steve Price <sprice@hiwaay.net>
To:        Satoshi - Ports Wraith - Asami <asami@FreeBSD.ORG>
Cc:        FreeBSD Ports <ports@FreeBSD.ORG>
Subject:   Re: PortsNG (was Re: Ports Options Paper)
Message-ID:  <20000909164851.G2089@bonsai.hiwaay.net>
In-Reply-To: <vqcsnr966g3.fsf@silvia.hip.berkeley.edu>; from asami@FreeBSD.ORG on Sat, Sep 09, 2000 at 06:27:56AM -0700
References:  <20000903052226.E1205@radon.gryphonsoft.com> <20000909003743.B92984@bonsai.hiwaay.net> <vqcsnr966g3.fsf@silvia.hip.berkeley.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Sep 09, 2000 at 06:27:56AM -0700, Satoshi - Ports Wraith - Asami wrote:
# * Let's start by defining a wishlist[1].  I'll start with one very high on
# * my list.  Let's say we have two ports of libfoo.  The only difference
# * between them is that one is built WITH_BAR and the other without. If you
# * look at the pkgballs for each of these maybe 90% of the files in them
# * will be exactly the same.  What I'd like to see is a way to have a base
# * (barebones) libfoo package and a satellite package with only the files
# * that change when built WITH_BAR.
# * 
# * Sounds pretty easy so let's take this one step further.  Let's suppose
# 
# Is it? ;)  Doing that manually isn't too hand, but doing it
# automatically, well I don't even know if that's possible....

It is possible.  Might take a great deal of work, but that's
not the point.  The point being is this a requirement for the
new system or just something on Steve's wishlist?

I won't get to deep into a design for this because we haven't
even determined yet if we want to support this but... One
could write a program that given any two packages (foo and
foo_with_bar) the second package would be redone to only contain
the files not in the first or that were changed because an option
was added and a dependency added in the second package on the
first.  In many cases this would be a nearly trivial exercise and
would help tremendously with our need for more space on the release
discs.

# My wishlist item #1 would be a good and trusty "upgrade" target.  You
# go to a port's directory and type "make upgrade", it will upgrade the
# current port by removing the previous version (only if it is from the
# same "stream" -- to borrow a term from Nick's message), as well as any
# other ports that it depends on that also needs to be updated.  It also
# updates the children that depend on this port.  (As we talked, finding
# out which child port needs to be updated is not trivial.)
# 
# The same thing can be done from packages too.  You say pkg_add -U
# <pkg> or something at it will do something similar, only using
# packages instead of ports.

Ok.  Here's a rhetorical question?  Why do need a new target or
option for pkg_add?  Shouldn't just doing a 'make install' or a plain
pkg_add do this transparently?  Maybe we should have an expert-mode
that allows the brave at heart to turn this feature off, but I
think transparent upgrades should be the default.  No?

-steve


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?20000909164851.G2089>