[3463] in SIPB_Linux_Development
Re: outstanding bugs
daemon@ATHENA.MIT.EDU (Jonathon Weiss)
Sat Apr 14 16:09:41 2001
Message-Id: <200104142009.QAA22054@Bearing-An-Hourglass.mit.edu>
From: Jonathon Weiss <jweiss@MIT.EDU>
To: Greg Hudson <ghudson@MIT.EDU>
cc: Jonathon Weiss <jweiss@MIT.EDU>, linux-dev@MIT.EDU
In-reply-to: Your message of "Fri, 13 Apr 2001 10:20:42 EDT."
<200104131420.KAA01244@egyptian-gods.MIT.EDU>
Date: Sat, 14 Apr 2001 16:09:06 -0400
> > ! rpm -qa | | sed -e 's/$/.ARCH.rpm/' > /var/athena/release-rpms
>
> A few problems:
>
> * "| |" will generate a syntax error.
Oops, typo.
> * You have to put a '/' at the beginning of the line
> (rpmupdate should be less picky here, but it's not).
I thought I'd checked that, I guess I was confused. thanks for the warning.
> * This will pretty much screw SMP machines.
Oops, I hadn't considered that.
> Is it really that hard to stash the release RPM list somewhere and
> copy it in in the postinstall script?
I believe the list of rpms comes from a file that has to be rebuilt
whenever we change what RPMs are on the installer. I'm trying really
hard to keep from duplicating this info, since things will get messy
if they ever get out of sync. (and given the number of times we've
backed out thar file it seems like a matter of time befre we got it
wrong if there were two files)
> If you do go with this approach, you might consider:
>
> rpm -qa --queryformat '/%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm\n'
Oh, cool, I didn't know about the --queryformat argument.
New patch below. It's worth noting though that I don't understand how
the kernel-smp rpm gets upgraded when it should if it isn't on our
list of rpm's, but if it does then that's ok.
Jonathon
*** /afs/sipb.mit.edu/system/rhlinux/redhat-6.2/RedHat/instimage/usr/lib/anaconda/installclass.py Tue Apr 3 01:10:21 2001
--- /tmp/installclass.py Sat Apr 14 14:37:28 2001
***************
*** 268,273 ****
--- 268,274 ----
search MIT.EDU
nameserver 127.0.0.1
EOF
+ chmod 644 $ROOT/etc/resolv.conf
if pnpdump | grep -q CS4236B ; then
touch /etc/conf.modules
***************
*** 282,291 ****
fi
fi
! chmod 644 $ROOT/etc/resolv.conf
- touch /var/athena/release-rpms
-
cp /tmp/install.log /var/athena/install.log
chmod 600 /var/athena/install.log
--- 283,297 ----
fi
fi
! # This is a kluge and requires knowing how rpmupdate parses the
! # release-rpms file. It also assumes we are not doing any custom
! # installs, since it lists every installed rpm in release-rpms.
! # rpmupdate knows that any rpm listed in release-rpms was all
! # installed by the release, and if the release doesn't think the rpm
! # should be installed any more, rpmupdate will remove it.
! rpm -qa --queryformat '/%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm\n' | \
! grep -v '^kernel-smp' > /var/athena/release-rpms
cp /tmp/install.log /var/athena/install.log
chmod 600 /var/athena/install.log