[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: The Direction of Debian



On Fri, Apr 12, 2002 at 08:29:56PM -0400, Sean wrote:
> 
> The BSD ports system is one where you download source instead of
> binaries. The Gentoo distribution has a similar system, with it's
> portage and emerge programs.

To be more precise it

	* Is all based around Makefiles
	* Downloads original source using fetch, untars etc.
	* If any patches necessary, applies them
	* Maintains list of dependencies (build time and run time)
	* Compiles away
	* keeps database of what's installed where, and what port
	  was used to build it (comes in use in portupgrade
	  described below)
	* Makefiles contain certain hooks and macros like
	   - list of mirror sites for big projects, eg
	     sourceforge based stuff, gnome and so on
	   - marking a project as broken, or forbidden for
	     security reasons
	   - marking whether or not it should automatically
	     be put on CD-ROM distros for licence reasons,
	     restricted due to certain cryptography law reasons
	     etc.
	   - Print up warnings etc. before building risky
	     programs
	* binary packages are build automatically on
	  bento.freebsd.org, which tracks when stuff breaks
	  and marks them out on a webpage on that machine
	  These are distributed as a .tgz file
	* Mirror site overrides containing all the source files
	  you need can be set (e.g. some large sites like freebsd.org
	  itself, or ftp.esat.net etc. keep lots of original source
	  files)

The port tree is a hierarchical system of categories, as in

	/usr/ports
	    |-----/games
	    |       |---/blah/
	    |       |---/wibble/
	    |-----/x11
	           |--/gnome/
		   |--/XFree86-4/

You can update your ports tree via

	* CVS
	* Downloading a complete ports.tar.gz file
	* downloading a tar file for a specific port

The problem is (and I'm not too hot on apt, so forgive me if I'm
wrong :-) that by default you can do 'apt upgrade' (or whatever the
incantation is if it exists) to update a package and all it's
dependencies at the moment, safely.

In FreeBSD, there's another prog, portupgrade, which basically (in
my basic understanding) builds a graph of packages and their
dependencies.  The most basic dependencies end up as the outer nodes
on a graph... portupgrade goes along, brute-upgrades these, and
then updates the dependencies in the upper nodes.  It keeps on doing
this until it gets to the head node, and bang, you've got an updated
tree.  It may break stuff sometimes, but will eventually bash away
until stuff is working again.

-- 
	Niall


-- 
To UNSUBSCRIBE, email to debian-user-request@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: