As y'all know, I'm a relative latecomer to the world of Unix, but I do
try to figure out how y'all did it back when. So, sometimes, as in this
case, I can figure out how to do something, but I'm curious how it was
done back in the day, moreso than how I can get it done today. I'm
looking at the patching of my shiny new 2.11 BSD pl 431 system running
on my speedy little virtual PDP-11/70, so I grabbed patch 432 (here's a
portion of the patch):
...
To install the update cut where indicated below and save to a file
(/tmp/432) and then:
cd /tmp
sh 432
./432.sh
./432.rm
sh 432.shar
patch -p0 < 432.patch
Watch carefully for any rejected parts of the patch. Failure of a
patch typically means the system was not current on all preceeding
updates _or_ that local modifications have been made.
...
====== cut here
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create:
# 432.rm
# 432.sh
# 432.shar
# 432.patch
...
# End of shell archive
This seems straightforward. Just follow the directions et voila magic
happens.
My questions for y'all are how would you go about doing this? Use vi to
delete everything through the ==== cut here line? Use some combination
of standard unix tools to chop it up? What was your workflow for
patching up the system using these files?
In my world, if I screw something up, it's 15 seconds to run a restore
script in my simh directory and I can try again, so my level of concern
for a mistake is pretty low. If I was doing this in 1980, on real
hardware, I would have had many concerns, as I'm sure some of y'all can
remember, how did you prepare and protect yourselves so a patch was
successful.
BTW, I thought .shar was an archive format, so when I saw the patch was
a shar file, I was worried it would be in some binary form, lo and
behold, it looks like text to me... not even b64. So much to learn, so
little time.
Thanks,
Will
--
GPG Fingerprint: 68F4 B3BD 1730 555A 4462 7D45 3EAA 5B6D A982 BAAF