All of lore.kernel.org
 help / color / mirror / Atom feed
From: Grant Miner <mine0057@mrs.umn.edu>
To: reiserfs-list@namesys.com
Subject: Re: OT: package scripts (was Re: software packaging and ReiserFS v4)
Date: Fri, 05 Sep 2003 16:37:12 -0500	[thread overview]
Message-ID: <3F590208.5060900@mrs.umn.edu> (raw)
In-Reply-To: <20030905203950.GA12183@rahul.net>

I'm excited about your packaging system.  I hope you make something very 
useful.  Here are some ideas I have had about packaging and operating 
system design; they might be interesting to you.  Comments, suggestion, 
other ideas are wanted.

Ideally, each user's home dir would mirror the system directories (i.e. 
users have their own bin, share, lib and var).  This way, users can 
install a package (and it would be local to them) and root could install 
the exact same package (and it would be global to the system).  Right 
now, on every distribution, only root can install packages; this is a 
place where a new packaging system could have huge advantages.

Ideally, users' directories would get unioned to system's directories 
(in their namespace) upon login, so / would be their "home", /bin would 
be system's bin plus user's bin, etc.  This way programs ALWAYS know the 
"right path" to everything (which has always been an annoying problem in 
Unix).

Packages contain file sets only.  This avoids side-effects of scripts. 
Well-designed programs do not need pre- and post-install scripts.  If 
you want to install apache, say as www user, root would create that 
user, switch users to www, and then install apache as www.

/sbin would go away; all sbin programs go to appropriate bin directories 
(because non-root users often need programs like fdisk, etc).

/etc, /bin, /lib and /boot all have the files only necessary for bootup.
Users can have an rc.d script directory in /etc (who gets to have rc.d 
scripts would be up to the sys admin) for launching services upon 
runlevel changes.  Perhaps it would be better to put these dirs as 
/boot/bin, /boot/lib, etc, and use /bin for system-wide bin (i.e., like 
the present /usr/bin).

/share/etc-defaults would contain default configurations, instead of 
cluttering up /etc (which is just stuff needed for booting and launching 
services).  /share/etc-defaults could be mounted below user's /etc.

(optional) /share/etc-mandatory could be mounted above user's /etc, for 
settings users should not be able to change (sometimes called "lock-down").

Environment variables are replaced by files, ala Plan 9.  Instead of 
$EDITOR have /etc/default-applications/text-editor, web-browser, etc. 
TIdeally no programs should use environment variables for configuration; 
their existence is not obvious to the user, and neither is their 
possible values. (Shell scripts of course would still use env vars.) 
Programs should watch their configuration files for changes, to achive 
that instant-apply effect.

I'm most excited for that once we have a stable Reiser4 system with 
files as dirs, it should be easy to write a universal configurator tool 
using files as keys.


  reply	other threads:[~2003-09-05 21:37 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-03 16:54 software packaging and ReiserFS v4 Bennett Todd
2003-09-03 21:18 ` 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 [this message]
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=3F590208.5060900@mrs.umn.edu \
    --to=mine0057@mrs.umn.edu \
    --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.