inspection: Get icons from RHEL and CentOS 7 (RHBZ#1164619).

(cherry picked from commit c8a608ecf8576bb754749db982714fa35cedfbe4)
inspection: Allow /etc/favicon.png to be a symbolic link (RHBZ#1164619).

If /etc/favicon.png is a symbolic link, follow it.

Unfortunately RHEL 7 and Fedora have crappy 16x16 /etc/favicon.png
symlinks in the base distro.  It would be nice to ignore this symlink,
but it's almost impossible to determine if the symlink is part of the
base distro or was added by the user.  (This is a bug in those
distros.)  virt-inspector and virt-mananger both ignore favicons.

(cherry picked from commit 42391913287d935e582b0c67571a17e657aa8e2e)
Fix description of 'set_append' and 'get_append' APIs (RHBZ#1164732).

These should refer to the libguestfs appliance kernel command
line, not the guest kernel command line.

Thanks: Lingfei Kong
(cherry picked from commit 6dd371f913332a840b34ad00d52e9fa52711fb0e)
Fix minor typo in release notes (RHBZ#1164697).

(cherry picked from commit 88f2bc1a7bf769424fc219dae925a70a04b19294)
v2v: -i ova: XML is case-sensitive, so replace 'InstanceId' with 'InstanceID'.

(cherry picked from commit 78f6d3aff59ab0a539b8f2a90b88a2b6f7c994f6)
v2v: Remove useless parentheses around expression.

(cherry picked from commit d82c5fb5a0c86345891ee191ae7d820361978643)
v2v: Don't use <target dev> attribute, use <target bus> instead.

The <target dev> attribute in libvirt isn't very informative.  What we
really want to know is whether the source disk used IDE or SCSI, as
that allows us to remap block devices accurately during conversion.
For example, if the source was IDE and RHEL 5, and after conversion
virtio will be supported, then we know that we need to remap
"/dev/hda" to "/dev/vda".

Drop the s_target_dev and s_removable_target_dev fields and replace
them with s_controller and s_removable_controller.

For -i libvirt, use the <target bus> attribute to get this information.

For -i ova, use the OVF disk controller's ResourceType.
(http://blogs.vmware.com/vapp/2009/11/virtual-hardware-in-ovf-part-1.html)

(cherry picked from commit 9ebc12572317efe5c1ae83fcb61c7767dec40203)
v2v: Don't change Augeas device entries unless the value has changed.

When remapping block devices, don't change an entry unless its value
has changed.  This avoids unnecessary Augeas writes.

(cherry picked from commit 4c7026fb7a7514838a01771abb4c7e62a4e4485f)
v2v: linux: Print block device map in verbose mode.

Very useful for debugging device mapping problems.

(cherry picked from commit e25f68c47efaab886ada330b7ab596681705b02b)
v2v: linux: Always match partition number in regexp.

Change the rex_device_p regular expression to always include a
partition number.

There should be no functional change here.

(cherry picked from commit b1053150a2da121b3cb8ddc197d0d8e49d930130)
v2v: linux: Refactor device replacement code.

No functional change.  This should be equivalent to previously.

(cherry picked from commit 467bbf72f74527ca00678cfea80b1785868cd842)
RHEL 7: Emphasize libguestfs-winsupport package (RHBZ#627468).

This RHEL-only patch changes the error messages when the
inspection code cannot find an operating system inside the guest
image.  For a Windows guest this may happen because the user has not
installed the separate 'libguestfs-winsupport' package.  Therefore we
emphasize that the user may need to install this package.

Notes:

(1) In RHEL there are two pieces of inspection code, the old Perl code
(deprecated upstream) and the new C core inspection API.  Therefore
this patch has to touch two places with essentially the same change.

(2) This patch doesn't try to be clever and detect if it was a Windows
guest.  This should reduce the chance of failure.

Output from (Perl) virt-inspector now looks like this:

 $ virt-inspector disk.img
 No operating system could be detected inside this disk image.

 This may be because the file is not a disk image, or is not a virtual machine
 image, or because the OS type is not understood by virt-inspector.

 If you feel this is an error, please file a bug report including as much
 information about the disk image as possible.

 RHEL notice
 -------------
 libguestfs will return this error for Microsoft Windows guests if the
 separate 'libguestfs-winsupport' package is not installed. If the
 guest is running Microsoft Windows, please try again after installing
 'libguestfs-winsupport'.

Output from guestfish (ie. C core inspection API) now looks like this:

 $ guestfish -i disk.img
 guestfish: no operating system was found on this disk

 RHEL notice
 -------------
 libguestfs will return this error for Microsoft Windows guests if the
 separate 'libguestfs-winsupport' package is not installed. If the
 guest is running Microsoft Windows, please try again after installing
 'libguestfs-winsupport'.
RHEL 7: Remove libguestfs live (RHBZ#798980).

This isn't supported in RHEL 7.
RHEL 7: Remove 9p APIs from RHEL (RHBZ#921710).
RHEL 7: Disable unsupported remote drive protocols (RHBZ#962113).

This disables support for unsupported remote drive protocols:

 * ftp
 * ftps
 * http
 * https
 * tftp
 * gluster
 * iscsi
 * rbd
 * sheepdog
 * ssh

Note 'nbd' is not disabled, and of course 'file' works.

We hope to gradually add some of these back over the lifetime of RHEL 7.
RHEL 7: Remove User-Mode Linux (RHBZ#1144197).

This isn't supported in RHEL 7.
RHEL 7: v2v: Select correct qemu binary for -o qemu mode (RHBZ#1147313).

RHEL 7 does not have qemu-system-x86_64 (etc), and in addition the
qemu binary is located in /usr/libexec.  Encode the path to this
binary directly in the script.

Note that we don't support people running qemu directly like this.
It's just for quick testing of converted VMs, and to help us with
support cases.
RHEL 7: v2v: Disable the --qemu-boot option (RHBZ#1147313).

This cannot work because there is no Gtk or SDL output mode
in RHEL 7's qemu-kvm.

In addition you will have to edit the -display option in the
qemu script.
RHEL 7: Revert "tests: rsync: Skip this test when the backend is libvirt."

This reverts commit 765dc6237ce7b93dd2f33d99be53eae92e048a7a.
RHEL 7: Revert "appliance: Change example ping lines to ping 8.8.8.8."

This reverts commit 07c0926b588db5c86214917b609c2f477c817c0e.