On Thu, 03 Sep 2009 10:53:54 -0600 Philip Prindeville <philipp_subx@xxxxxxxxxxxxxxxxxxxxx> wrote: > 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... True. I was forgetting that the cache isn't under /var/lib/mock any more. Try deleting the root cache. And as Panu suggested, don't run mock as root. Paul. -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list