On Tue, Apr 28, 2009 at 11:21:59AM +0100, Luciano Miguel Ferreira Rocha wrote:
Another patch, this fix invoking make-initramfs.sh and update-initramfs.sh.
On a normal make (normal in RHEL 5.3), $(builddir) is empty. Automake/conf uses $(top_builddir) instead.
-------------- 8< -------------- --- a/Makefile.am +++ b/Makefile.am @@ -70,11 +70,11 @@ $(INITRAMFSIMG) $(VMLINUZ): initramfs/fakeroot.log initramfs/fakeroot.log: make-initramfs.sh.in -mv $(INITRAMFSIMG) $(INITRAMFSIMG).bak -mv $(VMLINUZ) $(VMLINUZ).bak
if ! bash $(builddir)/make-initramfs.sh; then rm -f $@; exit 1; fi
if ! bash $(top_builddir)/make-initramfs.sh; then rm -f $@; exit1; fi
$(INITRAMFSIMG): initramfs/fakeroot.log daemon/guestfsd rm -f $@
bash $(builddir)/update-initramfs.sh
bash $(top_builddir)/update-initramfs.sh touch $@# Tests. These are auto-generated from the test descriptions. -------------- 8< --------------
Thanks - applied.
You're trying to compile libguestfs on RHEL 5.3? That's entering new territory.
I have one problem when creating the initramfs, though. If I run the make as normal user, after the 'yum install' make fails with: chroot: cannot run command `chmod': No such file or directory
This is caused by ldconfig calls under yum fail. Probably because ldconfig is statically compiled and fake* don't work with that?
Which version of fakeroot and fakechroot do you have? You need a very recent fakechroot (2.9 + patches -- see the Fedora Rawhide package), otherwise nothing will work.
When running make as root, the ldconfig calls don't fail, but
You really don't want to be running 'make' as root. There be dragons! Or at least a good way to mess up your machine.
Rich.
On Tue, Apr 28, 2009 at 11:39:23AM +0100, Richard W.M. Jones wrote:
Which version of fakeroot and fakechroot do you have? You need a very recent fakechroot (2.9 + patches -- see the Fedora Rawhide package), otherwise nothing will work.
This one:
http://cvs.fedoraproject.org/viewvc/devel/fakechroot/
Rich.
On Tue, Apr 28, 2009 at 11:39:23AM +0100, Richard W.M. Jones wrote:
You're trying to compile libguestfs on RHEL 5.3? That's entering new territory.
Yes. :)
A patch that I'm not sending is changing futimens to futimes. I'll probably change configure to test for it and do a conditional compilation. But I don't have the time for that now.
I have one problem when creating the initramfs, though. If I run the make as normal user, after the 'yum install' make fails with: chroot: cannot run command `chmod': No such file or directory
This is caused by ldconfig calls under yum fail. Probably because ldconfig is statically compiled and fake* don't work with that?
Which version of fakeroot and fakechroot do you have? You need a very recent fakechroot (2.9 + patches -- see the Fedora Rawhide package), otherwise nothing will work.
I've used the packages from rawhide: fakeroot-1.12.2-21 fakechroot-2.9-20
The %checks were OK. I'll see if I can find some problem with those packages next.
Regards, Luciano Rocha
On Tue, Apr 28, 2009 at 11:52:17AM +0100, Luciano Miguel Ferreira Rocha wrote:
fakechroot-2.9-20
You could try 2.9-22 which includes the FAKECHROOT_CMD_SUBST patch. This allows us to substitute for commands like /sbin/ldconfig which are statically linked.
http://cvs.fedoraproject.org/viewvc/devel/fakechroot/fakechroot.spec?revisio...
Having said that, even if /sbin/ldconfig fails, it shouldn't cause yum (or make) to exit with an error. It's possible that the older version of yum in RHEL 5.3 behaves differently and exits if a %post script fails (which newer versions from Rawhide certainly don't do).
In that case you could try (as a gross hack) ...
febootstrap $modules [etc] ||:
Rich.