Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Oct 2000 14:44:08 -0400 (EDT)
From:      Antoine Beaupre <beaupran@IRO.UMontreal.CA>
To:        freebsd-questions@freebsd.org
Subject:   Adding the package concept to the ports collection
Message-ID:  <Pine.LNX.4.21.0010191407430.20125-100000@phobos.IRO.UMontreal.CA>

next in thread | raw e-mail | index | archive | help
Hi everybody!

I ask this question here by default, please, redirect me to proper
resource if this one's not.

I was wondering if it would be possible to add the 'package' concept to
the ports collection in a sense that the database would include the name
of the package  or if there's none, why. An install target would then only
have to download the package and save the compilation time. I also
think that the package would be smaller than the source, and so, faster to
download.

I think the port collection as it is now has several drawbacks, in terms
of a software indexing facility, that is. Upgrading ports is a nightmare. 
The more we go, the more various ports have dependency lists that grow and
grow. So when a single package such as GTK or ORBit gets updated, a whole
chunk of ports have to be updated too. The problem is that
"updated" means:

1- download the new distfiles.
2- remove the older distfiles (not necessarly obvious since the databse
does not contain the older filenames!)
3- recompile the dependencies.
4- install the dependecies

With the package system integrated into the ports, it would be simpler:
1- download the packages
2- install the packages

We could still keep the older port system for packages that do not allow
freebsd to distribute packages. 

The problem with the current package system is that it does not resolve
dependency problems by itself as the ports does. How could it anyways? A
package is all it says: a package of information regarding a particular
piece of software.  It might include information on which other packages
are needed by this one, but nothing else. 

Another thing about the port collection is that there is (yet) no wformal
way to "update" a package. We all probably have benn through the same
thing: installing a package that depends on an outdated one with the ports
usually lead to duplicates packages installed, if one is not careful
. When the port collection was a bit older this was a nightmare with no
way out. But now, with the appearance of things such as 'pkg_version(1)'
and the "PORTVERSION" variable , we could start considering adding some
flexibility to the ports tree.

Is it me or all this woudn't be that hard to implement? Just a PACKAGENAME
variable along with a version variable of some sort (PORTVERSION would
probably be OK) and a  PACKAGE_SITE hierarchy of variables. That would be
the biggest desgin problem...

And for the "updateing" part, one would need to add the location of the
pkg database with some variable and have something to check the existence
of a "PACKAGENAME"* dir. Of course, dependy problems would have to be
addressed, but I won't get into this here....

I would be personnally ready to work on the ports for this to happen but I
want to know wether or not this would be a good idea, or if there's
already some work in pregress. 

Thanks for any comment

A.

Si l'image donne l'illusion de savoir
C'est que l'adage pretend que pour croire,
L'important ne serait que de voir

Lofofora





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




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