gnu-system-discuss
[Top][All Lists]
Advanced

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

Re: Improving GNU PM translator


From: Alfred M. Szmidt
Subject: Re: Improving GNU PM translator
Date: Sun, 26 Sep 2004 19:35:18 +0200

   Now, let me do few statements to check my knowledge about GNU
   System Creator too.

GSC is a program that given a set of tarballs (lots of 'em), creates
packages that can be used to install a program.

   In GNU PM plans, I read you talked about implementing package
   manager like BSD ports or, I suggest, Gentoo's Portage.

No.  Nothing of the sort.  BSD ports (I am not that familiar with
Portage) isn't a package manager.  Yes, you can use it to install and
remove packages, but this is really done by the pkg_add and pkg_del
utilities.  The BSD ports just contain a bunch of rules that say how
to build a package, what it depends on etc; it in reality resemble
more apt-get then anything (apt-get is a wrapper around dpkg, the
package manager).

The GNU package manager translator will be a translator that will
somehow look at /packages, and merge that information back into
/bin,/sbin,/lib, ...  So they are two completly different beasts.

   I think GSC should manage something like Portage's ebuild scripts.
   These latter specify source tarball url and some compilation
   directives for a pkg.

It already does.

   Thus, translator (which is a kind of daemon ... isn't it?) asks GSC
   for package's installation instructions, downloads the package,
   performs some operations if needed (configures it to fit to GNU),
   unpacks it in target directory and creates the symlink to install
   it in the Hurdish way.

This is all wrong.  The translator won't ask anything from the GSC,
nor will it download anything, or "configure" anything (I guess you
mean pre/post install/uninstall script, we don't want to use things
like that).  It won't extract anything.

The translator will just look at /packages/*, and try to figure out
how to make this information avaiable in /, so that /packages/*/bin
would look like /bin for example.  It will also try to resolv
dependencies, if they exist, and if they are resolved then the package
is "installed", else it will update a "magic" dependency file, and say
what dependencies aren't fullfiled.

Please read the previous discussion about the issue, it was laid out
quite in detail about how things would be going on.


Happpy hacking.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]