Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Aug 1997 23:18:26 -0400 (EDT)
From:      Tim Vanderhoek <hoek@hwcn.org>
To:        Ade Lovett <ade@demon.net>
Cc:        hoek@hwcn.org, current@FreeBSD.ORG
Subject:   Re: ports-current/packages-current discontinued 
Message-ID:  <Pine.GSO.3.96.970802223558.27450B-100000@james.freenet.hamilton.on.ca>
In-Reply-To: <E0wunGs-0000CE-00@genghis.eng.demon.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 3 Aug 1997, Ade Lovett wrote:

> Rather than implement a meta-port concept, which does nothing but
> bundle ports together, we add in (a) the idea that a port may not
> build anything itself, and (b) the idea of dependencies in both
> source *and* binary form.

This is what I've proposed except without the binary
dependencies.  The reason for not adding automated package is
that the pkg_* system has no way of knowing how to fetch a
package from the 'net.  Eg. I will sometimes download a package
through the FreeNet, which means that I,

1. tip hwfn

2.
J^H^H^H^H^H^H^H^H^H^H^H^H^H^Hftp://ftp.freebsd.org/pub/FreeBSD/packages-2.2.2/All

3. Choose a package

4.  Download it with Zmodem.

pkg_add has no way of knowing how to do this.

Rather than adding package (or "binary") dependancies, my
suggestion was that bsd.port.mk would, if META=yes, put all the
dependancy binaries into the .tgz file resulting from
``make package''.


> For example:
> 
> 	port-A		only has a list of dependencies (port-B)
> 
> 	port-B		builds something itself, and also depends
> 			on port-B1 and port-B2
> 
> 	port-B1		only available in /binary form (say it's
> 			a simple list of configuration files)
> 
> 	port-B2		available in both /source and /binary
> 			form, no need to grab the /source form
> 			if the /binary is already present on the system

I have a suspicion you lack some familiarity with the existing
ports system.  :)

Regardless, in concept, the above is what I am suggesting.

I want a new ports category, entitled "meta" (or whatever).
Sysinstall would allow the user to choose which meta-packages
they want installed.  It would do this in such a way that these
meta-packages seem like equal peer parts of the system.

The fallings I see are

A user may want the source to the "meta" packages.  The current
ports system doesn't provide a way to download both the binary
and the source.  Sysinstall would have to recognize meta-packages
and do pkg_add followed by ``MASTER_SITE_FREEBSD=yes make
extract''. 

This is entirely unintegrated with ``make world''.  Someone
running make world may or may not want all of their meta-packages
recompiled.  I think the answer here is that make world should
rebuild everything, including all the ports that are installed w/
source.  I suppose this would involve checking /var/db/pkg for
installed ports, and then building those ports (provided they
were installed as ports, not packages).

This leaves no problems wrt some users having a T1, some users
being occasional dial-up, and some users installing from a CD.

Other problems Jordan listed.

Why can't distfiles be kept where they are?

As for CDs.  Optimally, you'd want to get as many of the
meta-packages onto the same CD that holds the rest base system,
so they could be pkg_added without shuffling CDs.

Building srcs off CDs is tricker.  This is something that the
ports system would have to solve.  Not all ports need to be able
to do it, but there would need to be a mechanism to mark which
ones are capable of it.  There would have to be some interesting
changes to the ports system, but they would probably have the
spin-off benefit of making the whole thing cleaner.  I don't want
to propose a way of doing this now, but perhaps someone else has
some previously thought-out ideas.  :-)


--
Outnumbered?  Maybe.  Outspoken?  Never!
tIM...HOEk




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.96.970802223558.27450B-100000>