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

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

Re: [RFC] The GNU system's package system


From: Alfred M. Szmidt
Subject: Re: [RFC] The GNU system's package system
Date: Mon, 17 May 2004 14:53:41 +0200

       All nodes that are related to the package format shall start
       with a plus-sign (+).

   What is a "node"?

A file, directory, char. device, etc.  Anything provided by the
file-system really.

   I don't like using plus signs in file names.  If these are file
   names, I'd rather use upper case for them.

If they are put into a seperate directory, like you purpose, then no
need for making them upper case.  One can just strip the + prefix.

   Are we talking about data in the directory where the user unpacks a
   package, or are we talking about data maintained somewhere else
   internal to the package system?

For any files with a plus sign, the former.  They are used to check if
the package is OK (dependency wise, arch. wise, etc).

       ** +arch
       ** +short-description
       ** +long-description
       ** +md5sum
       ** +md5sum.sig
       ** +manifest

   If each of these is a single file, I would rather put them inside
   one common subdirectory, perhaps called SUMMARY.

Fine by me, I don't have any preferences about this.  SUMMARY it is,
and all files related to the package format in it.

       ** +post-install
       ** +pre-install
       ** +post-deinstall
       ** +pre-deinstall

   Our aim is to avoid these scripts!

The idea was that these should only be used for non-interactive tasks,
and not interactive ones, infact, one could probobly remove all of
them.  And only leave a "deinstall" script, that is the same as
`+post-deinstall'.  That way, killing deamons could be done in a safe
way, ditto for removing old logs, temporary files that are not removed
(and should not be removed) across reboots, etc.

I can't really see a need for running such a script during install...

   The Macintosh didn't seem to need them.

I'm quite unfamiliar with the Macintosh.  This is the only tid-bit I
found about the package managmanet on Macintosh [1], which seems to
imply that Macintosh does/did have them:

"A Package is a bundle (with a .pkg extension) which contains an
archive of files to install and information on where to install
them. It can also includes Read Me, License documents and scripts to
run before or after the installation.

To install a Package, all you have to do is to double-click on its
icon in the Finder and the Installer.app application will be launched
and will guide your through the necessary steps of the installation.

Packages are the solution used by Apple to install Mac OS X and to
provide System or Applications upgrades via the Software Update
solution."

       All nodes that are provided by stow shall start with a
       comma-sign (,).

       ** ,depends

       `,depends' is list of unfulfilled dependencies in the following
       format:

   Information like this should not be stored in the package, because
   it varies, and it depends on other things aside from the package
   itself.

`,depends' is a node provided by the stowfs translator (but will for
now be updated by the stow program until stowfs has been written), not
by the package.  It would be overwritten (or removed) by stow/stowfs
on install/upgrade/uninstall.

       The following steps happen when one deinstalls a package:

       [Should we store a backup of changed files?]

   What files might those be?

Configuration files mostly I think, or just anything that the user
changed (can be figured out by comparing the files against the md5sum
listing).

   Deinstallation normally means just deletion of the symlink.  The
   actual contents of the package will still exist, wherever the user
   put it, unless/until the user deletes that too.

What if the user installs the package directly (copying it into
/packages), instead of using a symlink?  This is what I would do
rather then use a symlink in almost all cases (I would only use a
symlink if I want to test something).

[1]: http://s.sudre.free.fr/Stuff/PackageMaker_Howto.html

Happy hacking (and thank you for the swift replies, hope it isn't any
burden to reply to these mails).




reply via email to

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