[squeak-dev] Why a package management system (Was: Re: Help system now for Squeak and Pharo)

Miguel Enrique Cobá Martinez miguel.coba at gmail.com
Mon Feb 22 00:47:25 UTC 2010


El lun, 22-02-2010 a las 01:02 +0100, Torsten Bergmann escribió:

Very good explanation of the advantages of a package management system.
Having a discussion about this kind of systems always make me think in
the Windows vs GNU/Linux discussion about why aptitude/apt-get/yum tools
exist. For someone that has always used Windows is customary to go to
some website search the download page of certain package he wants, look
for the last version, download and install it in their machine. For each
package is always different: different site, different download page,
different naming format for the package, sometimes zip sometimes msi
sometimes exe. Also, different showing in the windows installed packages
list, some of them don't even show. You know what I talk about.
And then you have the Linux people, and specially the Debian ones,
apt-get/aptitude get you a powerful, standardized, package management
system where you can consult what packages are available, what versions,
what *other* packages depends on, what functionality *provides*. And you
can install even the full system starting from a basic command line only
install and with just a line get the full windowing system, openoffice,
messaging tools, authoring tools, what you want, because you only
express the package *you* want install. You don't have to specify, or
even know what packages are required for your package to work. The tool
(aptitude/apt-get) is responsible of honor the _requires_ that a package
list and to go and get them installed, in a recursive way until
everything is installed and working correctly. And as you correctly
state, the users don't even have to know (if they don't want to know
that is) what is installed as long as the user-wanted package is finally
in the system and ready to use.

The custom made loader methods and classes (and also ScriptLoader class
side methods or custom Installer scripts "documented" in the mailing
list) in a package are akin to the diverse ways to install software in
windows and should be a thing of the past.

Where the Metacello based tools (like Loader) are ready and integrated
in the default image (like aptitude/yum are integrated in the basic
install of their respective distros) the install of packages will be
even easier, with the user don't even knowing (again, if they don't want
to know) where their code is downloaded from. Then a single line like:

Loader install: 'HelpSystem'.

Loader upgrade: 'Magma'.

or 

Loader install 'Seaside'.

applied on a core basic image (just kernel, collections, network, some
classes more, Gofer, Metacello and Loader) will download and build a
personal image for every one in this whole planet.

As some black-listed guy wisely said, improving Smalltalk, one little
fix at a time.

-- 
Miguel Cobá
http://miguel.leugim.com.mx




More information about the Squeak-dev mailing list