Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Sep 2000 23:37:03 -0700 (PDT)
From:      kosmos <kosmos@bowhill.yi.org>
To:        James Housley <jim@thehousleys.net>
Cc:        freebsd-ports@FreeBSD.ORG
Subject:   Re: ports features wish list: USE_PACKAGE_FIRST
Message-ID:  <Pine.BSF.4.21.0009221939090.6793-100000@bowhill.yi.org>
In-Reply-To: <39CC03C7.A67ACB97@thehousleys.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 22 Sep 2000, James Housley wrote:

> kosmos wrote:
> > 
> > I have an item for the ports development wish-list. This is
> > probably not a new idea, but it is related to building packages
> > on-the-fly, and it would be useful.
> > 
> > How about a make target that would look in packages/All to add
> > a dependent package before attempting to install it as a port?
> > 
> This seems like a reasonable thing to want.  How would this fit in with
> the discussed re-write of the ports system?

This is a philisophical question, right? :)

Since the design goals of a ports rewrite/makeover are not entirely 
clear to me, I can't really say for sure.

I think it would mainly be beneficial to re-installation, or reverting 
an upgrade that failed, if 'make upgrade' is one of the objectives.

The systems basic behaviour would have to be changed, though.
For instance, suppose the system's default "make install"
behaviour in ports was transformed to :
 
"make DEPENDS_TARGET=package package" 

(which BTW is an impressive command)

Everything gets installed, same as usual, but packages are made
of each dependency and are stored in packages/All, as an extra
step.

If USE_PKG_FIRST was on by default, the system could afford to
delete each distfile after it was made, because the built port
and it's dependencies would now be available as a packages, not
distfiles. OK, less disk space used, and re-installation of 
things is easier.

Suppose a month later, a particular port gets passed some kind of 
'make upgrade' target. Somehow, make knows that the port (and some 
of its dependencies) have been superceded by newer versions. So, 
it deinstalls these old ports, and builds/installs/packages the 
new versions. 

However, if a build failure occurs during this process, doing a 
'make revert' is a painless, becuase packages are already built for 
the old stuff. USE_PACKAGE_FIRST would just be told to use the 
old stuff, not the new stuff.

Other benefits;

* Ports could optionally install packages from from a fixed CD 
package repository, or over a network. Unless they were explictly 
told to do something like: USE_DISTFILE_FIRST, they could install 
packages instead.

The only problem I can see with something this is mixed library 
versions, if libc changed or something. But that problem would
have to be addressed anyway.


--Allan



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?Pine.BSF.4.21.0009221939090.6793-100000>