Paul Howarth wrote:
On 03/09/09 17:07, Philip Prindeville wrote:
> Paul Howarth wrote:
>
>> On 02/09/09 22:52, Philip Prindeville 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.
>>>
>>> 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?
>>>
>>>
>> I'd try this first:
>>
>> # rm -rf /var/lib/mock/fedora-10-x86_64/root
>>
>> Paul.
>>
>>
>>
> No joy:
>
> [root@builder SRPMS]# rm -rf /var/lib/mock/fedora-10-x86_64/root
> [root@builder SRPMS]# mock -r fedora-10-x86_64 --init --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 30 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]#
>
>
>
> Could the root cache be broken?
>
Likely: try:
# rm -rf /var/lib/mock/fedora-10-x86_64
Paul.
No joy:
[root@builder SRPMS]# rm -rf /var/lib/mock/fedora-10-x86_64
[root@builder SRPMS]#
[root@builder SRPMS]# mock -r fedora-10-x86_64 --init --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 13 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]#
What if the data that's being unpacked from the root cache is broken?
It will be the same each time...