On Wed, Sep 2, 2009 at 11:52 PM, Philip Prindeville <philipp_subx@redfish-solutions.com> wrote:
Seems to be an rpm versioning issue:

[root@builder SRPMS]# mock -r fedora-10-x86_64 --rebuild perl-Net-Patricia-1.15_01-1.fc9.src.rpm
INFO: mock.py version 0.9.14 starting...
State Changed: init plugins
State Changed: start
INFO: Start(perl-Net-Patricia-1.15_01-1.fc9.src.rpm)  Config(fedora-10-x86_64)
State Changed: lock buildroot
State Changed: clean
State Changed: init
State Changed: lock buildroot
Mock Version: 0.9.14
INFO: Mock Version: 0.9.14
INFO: enabled root cache
State Changed: unpacking root cache
INFO: enabled yum cache
State Changed: cleaning yum metadata
INFO: enabled ccache
State Changed: running yum
State Changed: setup
ERROR: Exception(perl-Net-Patricia-1.15_01-1.fc9.src.rpm) Config(fedora-10-x86_64) 0 minutes 15 seconds
INFO: Results and/or logs in: /var/lib/mock/fedora-10-x86_64/result
ERROR: Command failed:
 # /usr/bin/yum --installroot /var/lib/mock/fedora-10-x86_64/root/  resolvedep  ccache  'perl(ExtUtils::MakeMaker)'
rpmdb: Program version 4.3 doesn't match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db3 -  (-30974)
error: cannot open Packages database in /var/lib/mock/fedora-10-x86_64/root/var/lib/rpm
Traceback (most recent call last):
 File "/usr/bin/yum", line 29, in <module>
   yummain.user_main(sys.argv[1:], exit_code=True)
 File "/usr/share/yum-cli/yummain.py", line 229, in user_main
   errcode = main(args)
 File "/usr/share/yum-cli/yummain.py", line 84, in main
   base.getOptionsConfig(args)
 File "/usr/share/yum-cli/cli.py", line 184, in getOptionsConfig
   enabled_plugins=self.optparser._splitArg(opts.enableplugins))
 File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 192, in _getConfig
   self._conf = config.readMainConfig(startupconf)
 File "/usr/lib/python2.5/site-packages/yum/config.py", line 774, in readMainConfig
   yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
 File "/usr/lib/python2.5/site-packages/yum/config.py", line 844, in _getsysver
   idx = ts.dbMatch('provides', distroverpkg)
TypeError: rpmdb open failed

[root@builder SRPMS]#



The host was originally an FC8 host, that was yum updated to FC9. I use
it to build FC9 and FC10 packages via Mock.

Unfortunately, it looks like it doesn't want to use the old RPM database
from the previous FC8 install.

I am pretty sure that it is because this rpm proposed patch was rejected upstream.
https://bugzilla.redhat.com/show_bug.cgi?id=464752.
The maintainer has already expressed his opinion on this topic also on this mailing list and is unnecessary to discuss further.

It seems however that without this patch, or something similar, can lead to the situation reported in the last comments. 
How do I clobber all of this to that the database gets written afresh?

Apparently, "mock -r fedora-10-x86_64 --clean" isn't adequate. Perhaps
"mock --nuke" would be useful here following an version update to zap
stale state?

Or should I just uninstall and reinstall mock?

Thanks,

-Philip

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list