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

Re: Galloping Featurism



'Daniel Quinlan wrote:'
>
>I'm beginning to believe that Debian may never be a stable system.
>A slight, but significant, attitude change may be the solution.

Please don't mistake the discussions on debian-devel for the "attitude
of Debian".  A lot of the discussion here is developers coming up to
speed on the extraordinarily complex issues of software distribution.
The real work of Debian gets done when someone with time undertakes
some project to fix or improve some piece of Debian.  There is much
left to be done.  Since prioritization tends to be done by individuals
not global discussion forums, Debian grows by spurts when someone does
some real work.  When Ian made the bug system and again when he
released dpkg with the new source packaging, there was a huge spurt
forward.  When someone takes the initiative to solve one of the
problems, we will spurt forward again.  Meanwhile we need to discuss a
wide range of issues to familiarize the developers with the complex of
issues and their interrelationships.

Secondly, I dispute that Red Hat is easier to administer than Debian.
I am chief engineer for 5 small Internet companies.  4 run Debian, one
runs Red Hat.  I have experienced more problems with Red Hat, then I do
with Debian.  Hence for my needs Debian is more stable than Red Hat.

Finally, to inspire others to take the bull by the horns and solve an
outstanding problem, I will share some of the work that John Kirk and I
have done to solve some of dselect's UI problems.  John and I have
thought about the issues raised in several of the debian-devel
discussions and have concluded that dselect needs a menu to set some
high-level installation parameters.  We have written a sample menu
config file and a simple parser for it.  Hopefully we can find time
over the next several weeks to merge this work into dselect.  Here is
our "selectmenu.cfg":

# file: selectmenu.cfg
#
#  There are three sections to the file -- indicated by '###'.
#
# a == applicability; c == criteria
#
###  Menu Item Labels and options
"Priority Criterion"
  c[standard optional extra required important]
  a[new all ignore]
"Mail Transport Agent"
  c[smail sendmail none]
  a[ignore apply]
"Defaults Selection"
  c[suggested session previous]
  a[apply]

###   Descriptions for Menu Items
"Priority Criterion"
  Select all packages at the given priority or higher.  From lowest
  (most disk space) to highest (least disk space) priority the
  choices are "extra" "optional" "standard" "important" "required".
"Mail Transport Agent"
  At this time Debian supports 2 mail transport agents: smail and
  sendmail (though only one may be installed at any given time).  The
  choices are "smail" "sendmail", or "none".
"Defaults Selection"
  Reset options available in this menu to different states.  The
  choices available are "suggested", "session" or "previous".

###  Descriptions for Menu Item options
"Priority Criterion"
  a_new:
    Apply the priority-based selection only on new packages (note: this
    distinction is meaningless for initial installations).  Use this option
    only for system upgrades.  This is the suggested default.
  a_all:
    Apply the priority-based selection to all packages (even those
    already installed on the system).  This would select for removal
    those installed packages that do not have the indicated criteria.
    Use this option if you want to get the system to a 
    status based on priority level.  Other options are applied after
    this, so you must turn off any other options if you want the
    priority's pristine state.
  a_ignore:
    Ignore priority as a criterion for installation.
  c_required:  (Highest Priority)
    "Required" packages are necessary for the proper functioning of the
    system. You must not remove these packages or your system may
    become totally broken and you may not even be able to use dpkg
    (Debian's low-level package management tool) to put things back.
    Systems with only the required packages are probably unuseable,
    but they do have enough functionality to allow the sysadmin to boot
    and install more software.  For Debian 1.2 this includes some 40
    packages.
  c_important:
    "Important" packages include those programs which one would expect
    to find on any Unix-like system. If the expectation is that an
    experienced Unix person who found it missing would go `What the
    F*!@<+ is going on, where is foo', it is important. Other packages
    without which the system will not run well or be useable should also
    be here. This does not include Emacs or X11 or TeX or any other
    large applications. The important packages are just a bare minimum
    of commonly-expected and necessary tools.  For Debian 1.2 this
    includes some 15 packages.
  c_standard:
    "Standard" packages provide a reasonably small but not too
    limited character-mode system. This priority is the default if the
    user doesn't select anything else. It doesn't include many large
    applications, but it does include Emacs (this is more of a piece of
    infrastructure than an application) and a reasonable subset of TeX
    and LaTeX.  For Debian 1.2 this includes some 60 packages.
  c_optional:
    "Optional" packages are all the software that you might reasonably
    want to install if you didn't know what it was or don't have
    specialised requirements. This is a much larger system and includes
    X11, a full TeX distribution, and lots of applications.  For
    Debian 1.2 this includes some 500 packages.
  c_extra:  (Lowest Priority)
    "Extra" packages are those that conflict with others of equal or
    higher priority, or are only likely to be useful if you already
    know what they are or have specialised requirements.  For Debian
    1.2 this includes some 65 packages.
"Mail Transport Agent"
  a_ignore:
    Take no action with respect to installing a mail transport agent.
  a_apply:
    Take the specified action.
  c_smail: [i:smail r:sendmail]
    Pick smail as your mail transport agent.  It is easier to
    configure and may be more secure than sendmail.
  c_sendmail: [i:sendmail r:smail]
    Pick sendmail as your mail transport agent.  It is harder to
    configure, but is the most flexible mail routing software available.
    Sendmail bugs frequently open up security holes.
  c_none: [r:sendmail r:smail]
    Tell the install procedure not to install any mail transport agent.
"Defaults Selection"
  a_apply:
    Do it.
  c_suggested:
    The original dselect selection criteria.
  c_session:
    Work in progress this session.
  c_previous:
    The selection criteria active upon invocation of dselect this
    time.  Maybe the same as suggested in case you never run dselect's
    selection menu before (or changed nothing when last run).
    Otherwise it will be the same as the session option was last time.

-- 
Christopher J. Fearnley            |    Linux/Internet Consulting
cjf@netaxs.com, cjf@onit.net       |    UNIX SIG Leader at PACS
http://www.netaxs.com/~cjf         |    (Philadelphia Area Computer Society)
ftp://ftp.netaxs.com/people/cjf    |    Design Science Revolutionary
"Dare to be Naive" -- Bucky Fuller |    Explorer in Universe


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com


Reply to: