[Rpm-maint] Teach rpm-4.4.2 how to avoid the __db* version time stamp (fwd)
Panu Matilainen
pmatilai at laiskiainen.org
Tue Jun 5 07:05:35 UTC 2007
Haven't tested this (yet), but might be worth considering...
Since it doesn't check whether the locks are stale or not (that I think
requires a newer bdb than what's in 4.4.2.1) there is a possibility of
nuking somebody elses active locks:
1) when trying to access rpmdb within a chroot from inside and outside of
the chroot simultaneously
2) if you have two different rpm versions on your (real) system accessing
the rpmdb
There are so many ways one can mess up a chroot environment from the
outside, 1) is mostly a non-issue. As of 2) it's probably just getting
what you bargained for :)
Opinions?
- Panu -
---------- Forwarded message ----------
Date: Mon, 4 Jun 2007 21:29:53 -0400
From: Jeff Johnson <n3npq at mac.com>
Reply-To: rpm-devel at rpm5.org
To: rpm-devel at rpm5.org
Subject: Teach rpm-4.4.2 how to avoid the __db* version time stamp
rpm-4.4.2 and earlier has always had a problem
accessing rpmdb's with different versions.
The problem shows up (at least) on build machines, which
often have multiple versions of rpm installed in chroot's.
I know that Dag has seen the problem many many times, because
he's told me so.
I've also had to do similar fixing (usually by using common
Berekely DB in all rpm versions) to keep my former employer's
build systems functioning. EINVAL checking is easier than porting
Berkeley DB for those who are able to upgrade rpm.
The attached (untested, but the fixing is easy enough to eyeball) patch
against the rpm-4_4_2-release branch @rpm5.org removes __db* files if EINVAL
(the old way) or DB_VERSION_MISMATCH (the new way) is returned
by dbenv->open().
If someone could apply to the rpm.org code base, test, and then send
along to <rpm-maint at lists.dulug.duke.edu>, I'd appreciate.
Enjoy!
73 de Jeff
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rpm-4.4.2-mismatch.patch
Type: application/octet-stream
Size: 2148 bytes
Desc:
Url : http://lists.rpm.org/pipermail/rpm-maint/attachments/20070605/776fec7b/attachment-0001.obj
More information about the Rpm-maint
mailing list