https://bugzilla.novell.com/show_bug.cgi?id=803642
https://bugzilla.novell.com/show_bug.cgi?id=803642#c16
Jon Nelson changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|CLOSED |REOPENED
Resolution|WONTFIX |
--- Comment #16 from Jon Nelson 2013-02-15 16:49:03 UTC ---
I have a working fix that doesn't use rpm2cpio.sh (or perl, etc...)
It's a fairly non-invasive patch, and would probably forestall other potential
issues.
I would ask you to at least consider the patch.
What it does is this:
1. every invocation of rpm that doesn't use chroot uses --dbpath
"$BUILD_ROOT/tmp"
2. the 'rpm2cpio' part is quite problematic, as rpm2cpio in older versions (and
who is to say it won't happen again in versions-to-come) will open the rpm
database and set (possibly creating) the dbenv. My solution to that is this
(commented-out lines are the original):
if test "$PAYLOADDECOMPRESS" = cat ; then
#rpm2cpio "$BUILD_ROOT/.init_b_cache/rpms/$1.rpm" | $CPIO
su -s /bin/sh nobody -c "rpm2cpio
$BUILD_ROOT/.init_b_cache/rpms/$1.rpm" | $CPIO
else
#rpm2cpio "$BUILD_ROOT/.init_b_cache/rpms/$1.rpm" |
$PAYLOADDECOMPRESS | $CPIO
su -s /bin/sh nobody -c "rpm2cpio
$BUILD_ROOT/.init_b_cache/rpms/$1.rpm" | $PAYLOADDECOMPRESS | $CPIO
fi
If rpm2cpio cannot open the (host) /var/lib/rpm directory, it still works, but
the rpm database will be opened without a dbenv.
3. The following line was added
find $BUILD_ROOT/var/lib/rpm -name '__db.*' -exec rm {} \;
right before init_db is called. It could probably be put in init_db directly.
rpm2cpio on the host is using libdb 4.3, in this case.
It seems to be that preventing the /build/ process from touch the /host/ rpmdb
is a worthwhile goal.
So far, this appears to have resolved my issue, but I will probably know more
in time.
I can supply the patch.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.