On Thu, Sep 13, 2012 at 5:32 AM, Marc Wäckerlin <marc.waeckerlin@xxxxxxxxxxxxxxxxxx> wrote: > Hi > > I am working in Ubuntu and compiling RPMs for Fedora. That's why I install Fedora in > a **chroot** environment. That works fine with Fedora 16, but fails with Fedora 17 due > to the wrong "rpmlib(X-CheckUnifiedSystemdir)" dependency. The Fedora buildsystem uses a utility called mock to build RPMs for Fedora and RHEL. mock creates chroots and installs build dependencies automatically--just feed it an SRPM and it takes care of the rest. It's available in the Ubuntu "universe" repository in the "mock" package. I think you'll find it much easier than maintaining your own chroots. ;-) > I Do not upgrade and I cannot use dracut, because Fedora 17 is in a chroot and cannot > boot. So the instructions at http://fedoraproject.org/wiki/Upgrading_Fedora_using_yum > do **not** help. > > How to solve the problem? What does dracut do, why(*) does rpm fail, where does this > dependency come from? How can I either fake this dependency or prevent RPM from requiring > it? I need a deep inside knowledge on what's going on, what dracut does and what rpm does. > What have the fedora-guys patched to get thie wrong dependency, and how can I undo it? I believe you'll need to run the convertfs procedure dracut would ordinarily run manually. To do so, obtain the script at https://raw.github.com/haraldh/dracut/master/modules.d/30convertfs/convertfs.sh then run it with the path to your chroot as the first argument (e.g. `convertfs.sh /home/jenkins/fedora`). > ---- > (*) I mean technically *why*, not user-view answers like "to prevent upgrades without > fs-migration", this kind of answer does not help, but technical answers like "dracut > creates content X in file Y, then the dependency is ignored in rpm" > > > ---------- > > > Background information: > > I use the chroots on an Ubuntu server running a Jenkins build server to build packages > for all available Debian, Ubuntu, openSUSE and - as soon as possible - Fedora > distributions. > > I setup a chroot the following way: > > 1. download all basic RPM files > 2. unpack the RPM file into a chroot dir using rpm2cpio to get the basig filesystem > 3. within the chroot, call rpm for all packages to run installation scripts an update > rpm database > > > In the attachment you find my setup chroot script "susebootstrap.sh". It is originally > build for openSUSE, but also works for Fedora with correct parameters; i.e. > > Install Fedora 16 i686 in a chroot: > > URL=http://mirror.switch.ch/ftp/mirror/fedora/linux/releases/16/Fedora/i386/os \ > HW="i686 noarch" OS=fedora VERSION=16 PKGS="bash rpm yum fedora-release" \ > susebootstrap.sh > > Install Fedora 17 i686 in a chroot: > > URL=http://mirror.switch.ch/ftp/mirror/fedora/linux/releases/17/Fedora/i386/os \ > HW="i686 noarch" OS=fedora VERSION=17 PKGS="bash rpm yum fedora-release" \ > susebootstrap.sh > > Installing Fedora 16 works, installing Fedora 17 fails due to the > "rpmlib(X-CheckUnifiedSystemdir)" dependency. > > The very last step fails, after echo of "... install more basic packages" the > command "${CHROOT} -r -- yum -y -q groupupdate Base" fails with: > > --------------------------------------------------------------------------------- > ... install more basic packages > ERROR You need to update rpm to handle: > rpmlib(X-CheckUnifiedSystemdir) is needed by filesystem-3-2.fc17.i686 > RPM needs to be updated > You could try running: rpm -Va --nofiles --nodigest > Your transaction was saved, rerun it with: > yum load-transaction /tmp/yum_save_tx.2012-09-13.08-29.pr4OBd.yumtx > **** ERROR aborted. Status of last operation: 1 > --------------------------------------------------------------------------------- > > > Thank you > Regards > Marc > -- > users mailing list > users@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe or change subscription options: > https://admin.fedoraproject.org/mailman/listinfo/users > Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines > Have a question? Ask away: http://ask.fedoraproject.org > -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org