[2520] in SIPB_Linux_Development
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