[Server-devel] Troubles running F9 mock chroot under F11

Jerry Vonau jvonau at shaw.ca
Tue Sep 15 15:33:08 UTC 2009


On Tue, 2009-09-15 at 15:47 +0545, Daniel Drake wrote:
> Hi,
> 
> A number of difficulties/unfortunate circumstances are combining and
> causing me a headache. I'm looking for help/ideas on getting around
> these...
> 
> I am trying to build a customized version of the OLPC XS school server
> for the OLPC deployment here in Nepal. The latest XS release is based
> on F9. An F11/F12 update is on the cards, but the XS development team
> is small and has more pressing priorities right now.
> 
I have an F11 iso you could test ;)

> The internet connection here at the office is too slow to make local
> builds, and also the power get turned off every night.
> 
> We do have a F11 box at the ISP which has a satisfactory internet
> connection and reliable power, and we do have a speedy connection from
> the office to that box. This box is also used to build other software
> components for the deployment so there are multiple reasons why it
> makes sense for us to run the school server build there.
> 
> The XS build system uses revisor and the upstream version is built on
> a F9 box. My problems originate from having to build our customized
> version from F11. We do not have the hardware or space to install a F9
> box there, and we cannot downgrade our F11 system.
> 

Are you just adding rpms to the install media? Or are you trying
something more difficult? I have a process in mind if you're just adding
rpms to the mix... 


> The first thing I tried is to use the F11 revisor to build the F9 XS
> release. No luck - it fails on anaconda buildinstall due to big
> differences in the F11 anaconda on the host system vs the F9 anaconda
> in the target media. Not too surprising.
> 

Revisor used to lie to buildinstall about the host environment, using
the version_from parameter, which just calls buildinstall based on your
target's version of Fedora (in /usr/lib/revisor/scripts) 
from: /usr/lib/python2.6/site-packages/revisor/pungi.py
        # setup the buildinstall call
        if os.access("scripts/%s-buildinstall" % self.cfg.version_from,
os.R_OK):
            buildinstall.extend([os.path.abspath("scripts/%
s-buildinstall" % self.cfg.version_from)])
        elif os.access("/usr/lib/revisor/scripts/%s-buildinstall" %
self.cfg.version_from, os.R_OK):
            buildinstall.extend(["/usr/lib/revisor/scripts/%
s-buildinstall" % self.cfg.version_from])
        else:

buildinstall.extend(['/usr/lib/anaconda-runtime/buildinstall'])
        #buildinstall.append('TMPDIR=%s' % self.workdir) # TMPDIR broken
in buildinstall

        # FIXME: Determine options from the anaconda-runtime version
        if self.cfg.version_from in [ "F9", "F10", "F11", "DEVEL" ]:
            buildinstall.append('--debug')

However, I see that the older buildinstall(s) are not present any
more(?)! (File a bug I guess)  If you were to add the buildinstall from
F9's anaconda in revisor's script directory as F9-buildinstall, then the
buildinstall from F9 should be used instead of the one on the host
system.

> I looked into using pungi instead, but the documentation states:
> "Pungi needs to run on the arch it is composing, as root, and with an
> install of what it is composing, eg if you are composing Fedora 8, you
> need to be running Fedora 8."
> 

Funny, how would you build a rawhide beta/preview release? ;) just
kidding...  I've been able to build a lesser version of Fedora than what
is running on the build host in the past, but it has been awhile since I
tried.  

> I then tried to create a F9 chroot using mock, with the intention of
> running revisor or pungi inside. This doesn't work, because mock
> creates a v9 berkeley DB inside the chroot, but the libraries/apps
> inside the chroot only support bdb v8. So running "rpm -qa" inside a
> fresh F9 chroot on F11 gives you these errors:
>     mock-chroot> rpm -qa
>     rpmdb: /var/lib/rpm/Packages: unsupported hash version: 9
>     error: cannot open Packages index using db3 - Invalid argument (22)
>     error: cannot open Packages database in /var/lib/rpm
> And revisor and pungi fail in the same way, even  though the Pungi
> docs suggest this kind of thing should be possible:
> https://fedorahosted.org/pungi/wiki/PungiDocs/RunningPungiInMock
> 

Just spinning up a test release using F11 as the host to build
XS-server-f9, using revisor as used in the Makefile at:
http://dev.laptop.org/git/projects/xs-livecd/tree/


> Finally I tried to use db_dump on the F11 host to dump the database
> using the v9 tools, to go into the chroot and use db_load to import it
> using the v8 tools, but this also results in a v9 database being
> loaded :(
> 
> Any further ideas or suggestions?
> 
Maybe, just need to know what your trying to do.

Jerry 





More information about the fedora-devel-list mailing list