[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SEUL: Repost: Intended Package Management features
Reposted message:
From lso8219@cs.rit.edu Thu Dec 11 19:31 EST 1997
From: lso8219@cs.rit.edu (Loren S Osborn)
Message-Id: <199712120034.TAA02187@buddy.rit.edu>
Subject: Re: other features
To: lso8219@pony-express.cs.rit.edu (Loren S Osborn;941;icsg1;)
Date: Thu, 11 Dec 1997 19:34:08 -0500 (EST)
X-Mailer: ELM [version 2.4 PL25]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII
Content-Length: 4914
> As for the package management: Package management is the one thing that is
> most basic to a distribution, so it will be a big deal to use a brand new
> one. That's not to say we shouldn't do it. My question is: What features
> do we want to have in package management system that doesn't exist in
> either RedHat's or Debian's? (and are we sure that those features aren't
> about to be added in the next release of one of those?)
Some features I had in mind for the package manager are:
I) package manager/package management format:
1) source code distribution (two advantages:
one package for all platforms, some programs need to
be recompiled as part of the configuration process. )
2) package manager automatically compiles packages as part
of the installation process ( without needing
special instruction or CLI from the user). One
of the parts of the package-file format instructs the
installer as to how to compile and install the
package.)
3) all packages include a module for a command-line/
menu-driven/GUI configuration tool, instructing the
tool how to read/write the configuration files for the
packages programs (both the user's "dot"-files and
system-wide configuration files.)
I'd like this tool to be modeled after "Figurine"
(http://www.foxnet.net/~apenwarr/figurine/) as
opposed to programs like "The Dot-file Generator",
because figurine can both read hand-modified files,
even retaining comments, and generate modified versions
of those files without disturbing the comments, etc,
in the original hand-modified version.
This would probably be the hardest part of this
project.
4) it would contain dependencies (a given) it will also require
a small suite of test cases that the installation
program can perform to verify that the package is
properly installed, and functioning correctly. It
would also contain memory requirements, and any other
hardware constraints.
5) the package manager would be smart enough to warn the user
if other packages rely on a package being removed, as
well as indicating libraries no longer in use after the
removal of a package, that he/she may wish to remove
6) the package manager could automatically check for new
versions any packages installed on the system.
7) could be in a standard fileformat (such as a "tarball")
with a requirement for certain special files in it.
(it would probably have a different extention for
identificication purposes) It could simply be a
"tarball" containing:
the original author's original source-code
"tarball"
a file containing dependencies, hardware
requirements, and a script that
verifies that the package is installed
and functioning properly.
the configuration-tool modules,
compiling and installation instructions,
a PGP signature (from the package management
tool maintainers) verifying that it
went through part "II" below.
II) Distribution and Validation: I believe we shoul have several
computers/mirrors strewn around the "net" that do the
following:
1) a package, as above, is submitted to one of these
"Easy Linux Package Verification" systems,
either by the program's author (hopefully),
or someone who voulenteered to maintain the
package for this program.
2) It runs Linux in emulation on several different (emulated)
platforms, with the bare-bones requirements, verifying
that the test cases pass.
If they do it happily slaps a PGP signature on
it, coppies it to the public FTP directory,
and sends email to the maintainer stating so.
If not, it gets rejected, and the maintainer gets a
diagnostic email indicating what went wrong
in what situations... (ie. if it states that
it requires an x86, it won't be tested with an
alpha)
3) The server watches for new versions of the source code
"tarball" and attempts the same validation of the
new version with the old files...
If it passes, it tags it as "incomming", slaps a PGP
signature on it, coppies it to the public FTP
directory in the "incomming" section, and sends
mail to the maintainer indicating such.
If not, it gets rejected, and the maintainer gets a
diagnostic email as above...
In both cases the old version stays on the server.
4) If the package get's tagged as "incomming" the maintainer
then has two choices:
He/She can say "leave the configuratoin options, and
dependencies alone", in which case the
"incoming" tag will be removed, and the new
version will replace the old,
Or, he/she can change them, and re-submit it as in step
2... (when it gets validated, the old version
will be replaced)..
It's a bit overwhelming, but this is the system that I would consider
ideal....
Comments? Suggestions?
Loren