dhcpcd requires an interface name as parameter to work. We are now getting it from /proc/sys/net/ipv4/conf/ folder children. dhclient on Debian also has the problem, thus use the guessed interface name for it too.
Another machine-id file, used by D-Bus.
Instead of rm + touch, just truncate the file if existing. In case there was no file previously, now nothing is created, as most probably the system was fine even without it. Also, turn the single path into a list, so more machine-id files can be handled at once.
New helper to remove the signature from a file, returning a temporary file without the signature.
Move the index and entry definitions in an own Index module, together with the (previously internal to Index_parser) print_entry debugging function.
Extend Index_parser.entry to hold a list of checksums to validate, and validate all of them. This does change nothing currently, as only sha512 is read, while still allowing us to fetch more checksums if needed.
When warning that there is no known default password encryption for the current guest, print also its minor version (help debugging unsupported guests). Also, fix wrapping (and indentation) of the message.
It normally makes no difference to the final size of the appliance, because 'supermin --build' will copy back the host kernel modules.
I also sorted the list. Between libguestfs 1.28 and 1.30, the appliance grew from 95MB to 213MB. Using guestmount and filelight (see link below) I could see that the main contributor was these two directories, which should not be necessary. With this change, the size goes down to 119MB. See also: https://rwmj.wordpress.com/2015/07/23/why-has-the-libguestfs-appliance-grown-by-118-mb/
Add additional arguments for tar, so extended attributes and/or SELinux contexts and/or POSIX ACLs can be restored from input tars.
Add additional arguments for tar, so extended attributes and/or SELinux contexts and/or POSIX ACLs can be saved in output tars.
Run `qemu-nbd --help` to know whether it supports --format, and if so pass it explicitly. This avoids warnings with newer qemu versions, where they really recommends to explicit the format of disk images being specified on command line.
Yet another new location (found on recent Debian/sid) for mbr.bin.
virt-p2v looks in /sys/block to find disks, and ignores the hard disk containing the root device. This is correct when virt-p2v runs off the ISO, but when running the tests on a machine that has a single hard disk, all_disks would be NULL, resulting in a test failure. Fix this by allowing all_disks to be NULL, but adding an extra check later so that we don't perform the conversion with no hard disks (the gui.c path already has this check, so it is only needed in the kernel.c path).
In particular, add them for Archlinux, openSUSE, Frugalware, and Mageia.
Add simple operations for RHEL guests using subscription-manager, so it is possible to e.g. install software on them.
Move the read_password_from_file helper in Password to mllib with a more generic name, and use it in place of the former. Also, use it in v2v instead of reading the whole file contaning a password: given that the documentation says that the whole content is used, there will not be newlines in the password file, so the behaviour will be preserved. The oly difference is that newline is no more an acceptable character for passwords, but that is a really unlikely (if not impossible at all) situation.