[2520] in SIPB_Linux_Development

home help back first fref pref prev next nref lref last post

Re: Proposed changes to package install scripts

daemon@ATHENA.MIT.EDU (Derek Atkins)
Sat Feb 6 09:03:02 1999

To: Salvatore Valente <svalente@MIT.EDU>
Cc: linux-dev@MIT.EDU
From: Derek Atkins <warlord@MIT.EDU>
Date: 06 Feb 1999 09:02:44 -0500
In-Reply-To: Salvatore Valente's message of Sat, 6 Feb 1999 03:48:03 -0500 (EST)

I have a lot of comments.  Basically it boils down to: you can do most
of these options with a small patch to apply-patch and small changes
to the current files.

Salvatore Valente <svalente@MIT.EDU> writes:

> 1.  Use "cat" instead of "apply-patch" for /etc/services.  This way,
> we avoid adding accidentally adding the Athena services more than
> once, and we avoid accidentally removing local services when athena-rc
> gets removed.

I think it's probably reasonable to just add our services and never
remove them.  I also think it would be cleaner to just change
apply-patch to not schedule the file for reset if the last argument
doesn't exist.

> 2.  Use "sed" instead of "apply-patch" for /etc/inetd.conf so we don't
> remove local modifications when athena-rc gets removed.  This means
> that the daemons that athena-rc commented out remain commented out.
> This is arguably a good thing.

Actually, apply-patch is doing the exact same thing you propose..  If
you do the above, change apply-patch to not schedule to reset the
file, then that would be better.

> 3.  Instead of copying /etc/athena/sendmail.cf to /etc, symlink it.
> This makes it easier to make local changes.  (You can't accidentally
> change the wrong one.)

Will sendmail accept that?  I don't know if sendmail will accept a
symink as /etc/sendmail.cf.  It may, but you should check it out.
Also, you should know that we've had problems in the past with
symlinks.  When the local package get updated, it winds up
over-writing the result of the symlink.  Check to see if
/etc/sendmail.cf is a config file or not -- if it isn't (it _should_
be), then we will certainly have a problem with using a symlink.

> 4.  Only remove /etc/sendmail.cf if it's a symlink.

Perhaps we should only remove /etc/sendmail.cf if diff shows it to be
different than /etc/athena/sendmail.cf?

> 5.  Instead of copying /bin/athena/login, symlink it.  (It's a bit
> cleaner, IMHO.)  When the package is removed, only remove /bin/login
> if it's a symlink.

We tried this in the past and it failed to work right.  We had many
cases of the symlink not being put in place properly, and we had a
bigger problem when a RedHat update wound up replacing /bin/login --
we found that it would over-write /bin/athena/login through the
symlink!  This is why we had to hack around it in the update script.
I consider _that_ a kludge.  This is why I decided to go for the "cp
-p" instead of "ln -s" for the 5.x packages.

> 6.  Use "sed" instead of "apply-patch" for /etc/inittab.  The usual.
> 
> 7.  Use sed and grep to remove the Athena changes from /etc/inittab.
> Don't erase other local changes.

This is the same as inetd.conf; apply-patch is doing #6 already.  We
should probably deal with cleanup better, as you propose.  The above
change to apply-patch will fix #6.

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/      PP-ASEL      N1NWH
       warlord@MIT.EDU                        PGP key available

home help back first fref pref prev next nref lref last post