From: Bennett Todd <bet@rahul.net>
To: reiserfs-list@namesys.com
Subject: software packaging and ReiserFS v4
Date: Wed, 3 Sep 2003 12:54:09 -0400 [thread overview]
Message-ID: <20030903165409.GD4714@rahul.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 2419 bytes --]
I've got this thought that ReiserFS v4 may make it possible to
implement a _really_ trivial software package management system,
with even better power than rpm.
I'm building myself a new Linux distrib; my proximate motivation is
that while there's lots I like about Red Hat --- in particular, rpm
is the best software package mgmt tool I've used or heard of ---
there's still a lot of accumulated cruft there.
As I've gotten deeper into the project, I've had my nose rubbed in
the fact that rpm is the accumulating cruft heart; it's the worst.
Way, way overdue for a rewrite.
So I started fantasizing about the replacement. Some bits are easy;
rather than trying to write a parser for yet another poorly
documented subtle and complex file format like rpm spec files, the
spec file will simply be a Lua <URL:http://www.lua.org/> source file
that exports the necessary data.
Then I started thinking about the database that a good software
packging tool needs to maintain. After a bit, it hit me that
ReiserFS 4 would be _killer_!
Let the package install process deposit the "spec file" (lua data
decl) in /var/lib/pkg/{pkgname}. Addenda like e.g. the checksums,
and pre- and post-install scripts can be
/var/lib/pkg/{pkgname}/sha1, /var/lib/pkg/{pkgname}/pre,
/var/lib/pkg/{pkgname}/post, etc. Whatever open-ended addenda the
package should wish to keep track of on a per-package basis can be
simply added there.
The one tricky bit --- and it's the performance downfall of the
current rpm --- is the reverse-mapping database, the one that maps a
pathname of an installed file to the package that installed it.
Maintaining that, and ensuring its consistency with the forward
database, makes rpm slow.
With ReiserFS v4 its as natural as can be; a file /usr/bin/foo,
installed by a package foo, would simply have a symlink
/usr/bin/foo/pkg -> /var/lib/pkg/foo
Besides scaling elegantly and staying wonderfully simple, this has
the additional otherwise-impossible feature that the package
attribution automatically correctly updates if you move the file
(although the forward mappings within /var/lib/pkg/foo wouldn't
update automagically).
I'm continuing to do the preliminary, basic dev of my new distrib on
Reiser 3 w/ rpm, because they're what I've got, but when v4 comes
around I'm seriously hoping to re-wrap the whole schmeer taking full
advantage of v4 to make a very simple new package manager.
-Bennett
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next reply other threads:[~2003-09-03 16:54 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-03 16:54 Bennett Todd [this message]
2003-09-03 21:18 ` software packaging and ReiserFS v4 Jürgen Botz
2003-09-03 21:37 ` Bennett Todd
2003-09-03 21:52 ` Jürgen Botz
2003-09-04 1:28 ` Bennett Todd
2003-09-04 5:05 ` Jeffrey Yasskin
2003-09-03 23:11 ` Grant Miner
2003-09-05 18:15 ` Grant Miner
2003-09-05 19:44 ` Mike Fedyk
2003-09-05 20:18 ` Ragnar Kjørstad
2003-09-05 20:35 ` Mike Fedyk
2003-09-05 20:39 ` OT: package scripts (was Re: software packaging and ReiserFS v4) Bennett Todd
2003-09-05 21:37 ` Grant Miner
2003-09-08 9:49 ` software packaging and ReiserFS v4 Nikita Danilov
2003-09-08 10:52 ` Hans Reiser
2003-09-05 7:08 ` Richard Heycock
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030903165409.GD4714@rahul.net \
--to=bet@rahul.net \
--cc=reiserfs-list@namesys.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.