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

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

Re: GNU Package Management System


From: Alfred M\. Szmidt
Subject: Re: GNU Package Management System
Date: Sat, 10 Sep 2005 20:18:32 +0200

You commented on a really really really old document, most of what is
written in there isn't valid anymore.

   I think that a "/stow/package-vers_N/"SUMMARY directory is better,
   independent of the number of files that we will need.

That is what will be used probobly.

   [...]
   > The following are non-interactive scripts.
   > ** +post-install
   > ** +pre-install
   > ** +post-deinstall
   > ** +pre-deinstall

   What that scripts will do? IMHO, We do not need most of them, but
   we can provides something that allows the use of that kind of
   scripts.

Those scripts won't exist.  Providing them would be hard, since the
package manager is a file-system, and having a file-system run the
commands in those script could cause quite funny things.

   > Information like this should not be stored in the package,
   > because it varies, and it depends on other things aside from the
   > package itself.
   >
   > So I would put this information somewhere else, perhaps under
   > /var.  It could be one large file describing the entire state of
   > package dependency satisfaction.

   IMO, the package dependencies list will come in a file on SUMMARY,
   stowfs will read it and, if there is no problem, the package will
   be 'linked' to /, if there are problems, it will return the list of
   dependencies that are no provided on something like
   /stow/NDEPENDENCIES, a list of non-provided dependencies that are
   required by any package with the name of the packages that require
   them.

The package will always be installed if you link it into /stow.

   > 1) Unpack the package (if it is already unpacked, skip to 2).
   > 2) Copied, or symlinked into /packages.

   They are the same step, user can extract the package directly on
   /stow, and the uses of symlinks is a bad idea by default. Symlinks
   could be used to test a package but not to install a package
   definitely.q

Why do you think that using symlinks is a bad idea by default?

   >  b) Run pre-install script.
   >  c) Merge package into the file-system, skipping any nodes that are
   >    related to stow, or the package format.
   >  d) Fix files according to what is described in `+manifest'.
   >  e) Run post-install script.

   You forget to describe how packages installed from source may be
   used on that case, I think that we can work with GNU Source
   Installer to it be the way to create packages from source and put
   the binaries on '/stow/package...' Better than ask people to
   install binaries on '/some/place', create the package
   infraestructure and create a symlink to /stow.


Not knowing what the GNU Source Installer does, I can't really comment
on that.  Installing packages from source is done using the classic
three commands:

configure && make && make install DESTDIR=/some/place

And then creating a symbolic link from /some/place to /stow.

   > * Deinstallation of packages
   > The following steps happen when one deinstalls a package:
   > [Should we store a backup of changed files?]

   IMO, only if user want's it, something like debian does, 'aptitude purge'
   remove the changed files, but 'aptitude remove' doesn't.


   > 2) Run pre-deinstall script.
   > 3) Unmerge the package
   > 4) Run post-deinstall script.
   > 5) To completely remove the package from the system, we just remove
   >   the node /stow/PKG-VER here, otherwise this will be a no-op.

   Okay, but what will happen if a person try to do 'mv
   /stow/package-vers_N /dev/null' without check dependencies or
   runs pre-deinstall and post-deinstall scripts?

Dependencies are not important, they are only used by a front end, and
the scripts won't be avaiable to begin with.

Most of the details are sketchy, but what generally should be done is
known.

Cheers.




reply via email to

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