FW: Library infrastructure

Bas van Dijk basvandijk@home.nl
Wed, 23 Apr 2003 15:44:52 +0200


Ideas can also be borrowed from Gentoo Linux (pretty much like FreeBSD).

Quote from their website: http://www.gentoo.org/main/en/about.xml :
-------------------
Portage is the heart of Gentoo Linux, and performs many key functions. For 
one, Portage is the software distribution system for Gentoo Linux. To get the 
latest software for Gentoo Linux, you type one command: emerge sync. This 
command tells Portage to update your local "Portage tree" over the Internet. 
Your local Portage tree contains a complete collection of scripts that can be 
used by Portage to create and install the latest Gentoo packages. Currently, 
we have over 4000 packages in our Portage tree, with new ones being added all 
the time.

Portage is also a package building and installation system. When you want to 
install a package, you type emerge packagename, at which point Portage 
automatically builds a custom version of the package to your exact 
specifications, optimizing it for your hardware and ensuring that the 
optional features in the the package that you want are enabled -- and those 
you don't want aren't.

Portage also keeps your system up-to-date. Typing emerge -u world -- one 
command -- will ensure that all the packages that you want on your system are 
updated automatically.
-------------------

Like FreeBSD, all contributions and updates are handled through
CVS.



On Tuesday 22 April 2003 17:24, Matthew Donadio wrote:
> I think one way to look at this is to examine similar ideas for other
> systems that work well.
>
> The FreeBSD ports tree is very successful in bringing in a diverse set
> of libraries and programs.  Dependencies and builds are pretty much
> handled automagically through some (rather complicated) Makefiles.  They
> have also provided a fairly nice web interface for browsing and
> searching the ports tree.  Contributions and updates are handled through
> CVS.  Conceivably, this could handle issues like building and installing
> libraries for each installed compiler, and eliminate the need to
> distribute binaries.
>
> I think that building and including libraries has to be standardized
> across the different compilers.  One big benefit of using unix is that
> the C suite is basically consistent across platforms.
>
> Other random thoughts...
>
> I think that in addition to the Report and Tutorial, a Best Practices
> document needs to be developed.  This would outline the preferable
> naming conventions, indentation, make targets, and also recommend the
> use of tools like Haddock of HDoc for generating consistent
> documentation.
>
> I am willing to use my DSP library as a guinea pig for any ideas (it is
> still a little immature, though), and to help out where I can.