Fedora 17 in a CHROOT on Ubuntu - and the wrong dependency on rpmlib(X-CheckUnifiedSystemdir)
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. 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 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@lists.fedoraproject.org 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 |
Fedora 17 in a CHROOT on Ubuntu - and the wrong dependency on rpmlib(X-CheckUnifiedSystemdir)
Marc Wäckerlin 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. 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 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" Marc, I have to ask why you are doing that as opposed to just creating a VM and running Fedora in that. It just seems so much easier. And I have friends running fc17 in VM on both Mac and Windows7, so it's pretty sure Ubuntu would do so as well. Just curious why you took that approach. -- Bill Davidsen <davidsen@tmr.com> "We have more to fear from the bungling of the incompetent than from the machinations of the wicked." - from Slashdot -- users mailing list users@lists.fedoraproject.org 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 |
Fedora 17 in a CHROOT on Ubuntu - and the wrong dependency on rpmlib(X-CheckUnifiedSystemdir)
Hi Bill,
On Fri, Sep 14, 2012 at 10:31:20AM -0400, Bill Davidsen wrote: > Marc Wäckerlin 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. > > > >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 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" > > > Marc, I have to ask why you are doing that as opposed to just creating a VM > and running Fedora in that. It just seems so much easier. And I have friends > running fc17 in VM on both Mac and Windows7, so it's pretty sure Ubuntu > would do so as well. > > Just curious why you took that approach. > I have a similar build system for SLC 5.7. Our software can also be deployed in a VM; I have tried that but found the overhead of using a VM (build times, test job run times and the fact that you have to have a working virtualisation setup) rather large. Instead now I (and many of my colleagues) use a few scripts to maintain the chroot system for our software. This also seems easier to implement across multiple linux distros without much fiddling (it's after all a few scripts that uses chroot to setup the environment). To give you an idea about the "easy on various" distros bit, we have tried this on Arch, Ubuntu, Fedora and Debian. Getting it to work on Fedora required some extra effort to get the SELinux labels for the chroot'ed directory hierarchy correct. Hope that answers your question. -- Suvayu Open source is the future. It sets us free. -- users mailing list users@lists.fedoraproject.org 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 |
Fedora 17 in a CHROOT on Ubuntu - and the wrong dependency on rpmlib(X-CheckUnifiedSystemdir)
Suvayu Ali wrote:
Hi Bill, On Fri, Sep 14, 2012 at 10:31:20AM -0400, Bill Davidsen wrote: Marc Wäckerlin 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. 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 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" Marc, I have to ask why you are doing that as opposed to just creating a VM and running Fedora in that. It just seems so much easier. And I have friends running fc17 in VM on both Mac and Windows7, so it's pretty sure Ubuntu would do so as well. Just curious why you took that approach. I have a similar build system for SLC 5.7. Our software can also be deployed in a VM; I have tried that but found the overhead of using a VM (build times, test job run times and the fact that you have to have a working virtualisation setup) rather large. Instead now I (and many of my colleagues) use a few scripts to maintain the chroot system for our software. This also seems easier to implement across multiple linux distros without much fiddling (it's after all a few scripts that uses chroot to setup the environment). To give you an idea about the "easy on various" distros bit, we have tried this on Arch, Ubuntu, Fedora and Debian. Getting it to work on Fedora required some extra effort to get the SELinux labels for the chroot'ed directory hierarchy correct. Your last sentence sums up some of the issues I hit with chroot, but I'm glad it works well enough for your needs. I don't like to worry about the build options of the kernel I run vs. the environment of another distribution, so I went the VM route using a raw disk image. It runs on either of my home hosting machines, or my laptop in a pinch, and at least the MINT VM I built for testing reportedly runs under Mac VM, whatever comes with Windows7, and VMware (I think on VISTA). Whatever works for you, either way will work, but I don't want to ever find out that an update to SElinux changed behavior, or glibc was patched to a "more correct" but non-working state. The right solution is the one which uses the least of your time in this case. -- Bill Davidsen <davidsen@tmr.com> "We have more to fear from the bungling of the incompetent than from the machinations of the wicked." - from Slashdot -- users mailing list users@lists.fedoraproject.org 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 |
Fedora 17 in a CHROOT on Ubuntu - and the wrong dependency on rpmlib(X-CheckUnifiedSystemdir)
On Sun, Sep 16, 2012 at 08:20:13PM -0400, Bill Davidsen wrote:
> Suvayu Ali wrote: > > > >I have a similar build system for SLC 5.7. Our software can also be > >deployed in a VM; I have tried that but found the overhead of using a VM > >(build times, test job run times and the fact that you have to have a > >working virtualisation setup) rather large. Instead now I (and many of > >my colleagues) use a few scripts to maintain the chroot system for our > >software. This also seems easier to implement across multiple linux > >distros without much fiddling (it's after all a few scripts that uses > >chroot to setup the environment). To give you an idea about the "easy > >on various" distros bit, we have tried this on Arch, Ubuntu, Fedora and > >Debian. Getting it to work on Fedora required some extra effort to get > >the SELinux labels for the chroot'ed directory hierarchy correct. > > > Your last sentence sums up some of the issues I hit with chroot, but I'm > glad it works well enough for your needs. Well the "extra effort" was because I was not familiar with SELinux and had to figure out how it works and how I can customise. My solution in the end was a rather simplistic "copy to contexts to the relative chroot path". A sequence of commands like these did the trick: # fcontext --add --equal /bin "${CHROOTDIR}/bin}" > > Whatever works for you, either way will work, but I don't want to ever find > out that an update to SElinux changed behavior, or glibc was patched to a > "more correct" but non-working state. The right solution is the one which > uses the least of your time in this case. Well I hope SELinux does not fiddle with custom settings, no application should and I don't think SELinux does either. From what I understood during my investigations, SELinux makes it very clear as to what is from Fedora and what is user set and leaves the user set contexts alone. I agree with you, "what ever works best for you" is the best way to go when comes to any software. Cheers, -- Suvayu Open source is the future. It sets us free. -- users mailing list users@lists.fedoraproject.org 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 |
Fedora 17 in a CHROOT on Ubuntu - and the wrong dependency on rpmlib(X-CheckUnifiedSystemdir)
On Thu, Sep 13, 2012 at 5:32 AM, Marc Wäckerlin
<marc.waeckerlin@tech.swisssign.com> 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@lists.fedoraproject.org > 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@lists.fedoraproject.org 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 |
| All times are GMT. The time now is 05:51 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.