libguestfs is a library for accessing and modifying virtual machine (VM) disk images. Amongst the things this is good for: making batch configuration changes to guests, viewing and editing files inside guests, getting disk used/free statistics, migrating between virtualization systems, performing partial backups, performing partial guest clones, cloning VMs and changing registry/UUID/hostname info, and much else besides.
libguestfs can access any type of filesystem including but not limited to: ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow2, vmdk.
libguestfs is a library that can be linked with C and C++ management programs and has bindings for OCaml, Perl, Python, Ruby, Java, Haskell and C#. You can also use it from shell scripts or the command line. With FUSE support you can also mount guest filesystems on the host .
Please, create ebuild for libguestfs
Steps to Reproduce:
Its much more than a library. Its an actual "appliance" device. It will require to build a mini version of your distro and booting that inside of qemu and then it attaches the disk image inside of it. Inside the distro image it has a little daemon that listens for requests from the host system's guestfs speaking applications.
Its got a GIANT dependency list and will be quite involved to build.
I found a libguestfs ebuild at the rion overlay:
I tried to emerge it, seems broken though...
It depends on fakechroot, febootstrap, rpm and yum. So I guess this ebuild will require rpm packages from the redhat distros like fedora. I do not think it's a good approach...
However, it'll be really great to get libguestfs emerged in gentoo. Waiting for update to this request..
This might be of interest to packagers:
Of course this means using the binary blob that we supply (basically
it's a Fedora-based appliance). However this is way easier than any
other build method.
An ebuild-based method would require someone from Gentoo to
write an appliance builder similar to debirf or febootstrap, and this
is no simple task.
(In reply to comment #3)
> I found a libguestfs ebuild at the rion overlay:
> I tried to emerge it, seems broken though...
> It depends on fakechroot, febootstrap, rpm and yum. So I guess this ebuild will
> require rpm packages from the redhat distros like fedora. I do not think it's a
> good approach...
> However, it'll be really great to get libguestfs emerged in gentoo. Waiting for
> update to this request..
zugaina collect all overlay. This ebuild in rion overlay and mantained by me.
I have not come up with ways to install it :(
Created attachment 251619 [details]
Very small and experimental ebuild
Created attachment 251621 [details]
Comment 6 ebuild looks good to me.
Comment 7 is really an upstream bug, you shouldn't need that
patch. I have noted it here:
Gentoo maintainers should be aware of this moderate CVE
which affects libguestfs <= 1.5.21:
CVE-2010-3851 libguestfs: missing disk format specifier when adding a disk
A patch to fix this is done (we are still testing it) and will
be in 1.5.22.
Comment on attachment 251621 [details]
upstream fix this bug,
Created attachment 252713 [details]
Created attachment 252715 [details, diff]
Patch, that fixes automagic (not completely ready though)
Created attachment 253533 [details, diff]
Patch that completely removes automagic.
After three days of hard work i've done this. Hope it's no errors.
Created attachment 253535 [details]
Experimental ebuild for libguestfs-1.7.1
Ebuild for libguestfs-1.7.1. dev-perl/Sys-Virt and dev-ml/xml-light are in 'rion' overlay (available in layman)
Patch in previous comment is example, please look at this place for updates: http://code.google.com/p/slepnoga/source/browse/#hg/portage/app-emulation/libguestfs
Maxim, I have converted your patch in comment 13 and pushed it
There are some differences from your patch however:
(1) The options have the opposite sense (--disable-<feature>):
--disable-fuse Disable FUSE (guestmount) support
--disable-ocaml Disable OCaml language bindings
--disable-perl Disable Perl language bindings
--disable-python Disable Python language bindings
--disable-ruby Disable Ruby language bindings
--disable-haskell Disable Haskell language bindings
--disable-php Disable PHP language bindings
(2) If you specify --enable-<feature> then it auto-detects the
feature and will not be fatal if the feature is not present. So
this is slightly different from what you did where you changed
the feature detection to fail if the feature was not found.
(3) I did not implement --disable-inspector nor --disable-tools.
That is because we will probably rewrite some of these tools in
another language (ie. not Perl) soon, so this will all change.
(4) I did not change po4a handling, but did make your change to
po-docs/ja/Makefile.am so it should work if po4a is not available.
libguestfs 1.7.3 will include all of these changes, plus the missing
generated files, so I hope that it will be suitable for Gentoo.
However if there is anything which is still missing / not working
in 1.7.3 then let me know.
Created attachment 253719 [details]
Created attachment 253721 [details, diff]
Created attachment 255373 [details]
Created attachment 255375 [details, diff]
Created attachment 255397 [details]
This might be interesting ... I have changed the way the
appliance is built (simplified it in fact), so that now
all that is needed are a few simple package manager
operations in order to build a supermin appliance on any
Unfortunately it is focused currently on binary distributions
(we have written back ends for Fedora, Debian/Ubuntu and ArchLinux
so far). But it may be possible to adapt these for source distros
#346753 block to build aplance - yum not work correctly
Created attachment 262383 [details]
I use 1.7.19 version more than 2 months
Created attachment 275455 [details]
Created attachment 275457 [details]
Created attachment 275459 [details]
Created attachment 275461 [details]
Created attachment 275463 [details]
Created attachment 275465 [details]
Created attachment 291839 [details]
1.8.15 version finally added to tree with hard mask. Thanks.