[2681] in Release_7.7_team

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

More on the Red Hat 7 update

daemon@ATHENA.MIT.EDU (Greg Hudson)
Mon Apr 9 14:17:36 2001

Date: Mon, 9 Apr 2001 14:17:13 -0400
Message-Id: <200104091817.OAA07321@egyptian-gods.MIT.EDU>
From: Greg Hudson <ghudson@MIT.EDU>
To: release-team@mit.edu

My strategy for the update to Red Hat 7 (specifically, from rpm 3.x to
rpm 4.x) was:

	* update_ws has code to freshen athena-rpmupdate to a special
	  "staging" version.

	* The staging athena-rpmupdate is in rpm 3.x format, but is
	  built against the rpm 4.x libs.

We've already put the update_ws support in 8.4.21 (due out this
evening), so if we stick with this plan, anyone who's taken tonight's
patch release will be able to update to 9.0.

Unfortunately, while the rpm 4.0.2 libs can work with an rpm 3.x
format database, they don't seem to do a very good job.  Most failures
leave the database in a corrupt state which leads to crashes (seg
faults or trying to malloc too much memory and aborting) in future
runs of rpm; then your only recovery path is to track down an old
version of rpm and run "rpm --rebuilddb".  This sounds like a recipe
for a support and public relations nightmare to me.  Perhaps there
will be an rpm 4.0.3 within the next month or so which works better,
but I'm not holding my breath.

Red Hat has provided us with another option, although it's a mildly
scary one.  The Red Hat 6.2 updates now contain an
rpm-4.0.2-6x.i386.rpm (and some friends), which is in rpm 3.x format.
We could:

	* Put the rpm-4.0.2-6x RPMs in the 8.4.23 patch release, as
	  well as an athena-rpmupdate built against those libraries.

	* Modify athena-ws.rc to run rpm --rebuilddb at boot time if
	  the RPM database is in rpm 3.x format.

That way, we never run rpm 4.x code against an rpm 3.x database.  The
scary thing about this approach is that it commits us earlier.  If rpm
4.x sucks even when the database is in 4.x format, then 8.4 users will
feel it right away.  Also, it means users will have to update to
8.4.23 before they can update to 9.0, but that's probably not an
unacceptable cost by itself.

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