rpm/mock: can't upbuild FC10 targets on FC9 host

Philip Prindeville philipp_subx at redfish-solutions.com
Thu Sep 3 16:07:48 UTC 2009


Paul Howarth wrote:
> On 02/09/09 22:52, Philip Prindeville wrote:
>   
>> Seems to be an rpm versioning issue:
>>
>> [root at 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 at 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 at builder SRPMS]# rm -rf /var/lib/mock/fedora-10-x86_64/root
[root at 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 at builder SRPMS]# 



Could the root cache be broken?

-Philip




More information about the fedora-devel-list mailing list