Tidy base image by removing /var/log files

diskimage-builder/elements/base/cleanup.d/99-tidy-logs added
to tidy up (remove) initial logs files on disk images.

Makes for slightly smaller images, and easier times tracing post
boot issues.

Change-Id: Iee98b5d818e080bcd9635482bc29349a71938087
Don't try to install if packages is empty

After running through pkg-map we could have no packages to install,
if so, don't attempt to run a malformed command.

Change-Id: Ia8e0aed62bcf814bf85c86b54ff0837da49ae7dd
Bump hacking to 0.9.x series

Change-Id: If4a34faafcd37cf68c53525ccf5ec626a9f42fdb
Add dib-lint exclusions

This patch adds exclusions for the indentation and newline
rules in dib-lint.  The indentation exclusion is needed for
files using heredoc and wanting to preserve indentation.
The newline exclusion is added here for consisently treating
all dib-lint rules the same.

Change-Id: Ic8a2164eba3cf99e55473846e3a5fe663a3c1095
Support for UBoot.

UBoot needs the kernel and ramdisk to be post processed
using mkimage utility. This element helps user do it as
part of the DIB process.

This element needs u-boot-tools to be installed.

The load address and entry point for UBoot kernel can
be specified as shown in the example below.

Example:
    export UBOOT_KERNEL_ADDR=0x80000
    export UBOOT_KERNEL_EP=0x80000

Change-Id: I0e1039bf57d1ef11a3f9831d82e24b1ec2136c13
Create cache directory

Creating of cache directory was missed in disk-image-create script

Change-Id: I4e5901bb455712d6403362a6aac48eaa93f62e29
Extend/fix support for extlinux bootloader

Some extlinux packages install mbr.bin under /usr/lib/extlinux or
/usr/lib/EXTLINUX so tese directories need to be checked as well.
Also, there are packages that create a /boot/extlinux directory
which needs to be taken into account. Finally, commit
bccffc8bfdfea4c452a5558a27f4d16da9cab6c7 dropped the /boot prefix
from the kernel and initrd references in the ext/syslinux config
file which is simply a bug that needs fixing.

Change-Id: Idb071c9b18ff557b0f0f76d0d754536f2deca904
Closes-Bug: 1335042
Cleanup apt cache after grub install

Grub installation happens in finalize.d so cleanup should be done after this.

This reapplies I6322b8b529e31fd1b7251dd9e07cc85f442f7e81 after the revert,
but working.

Change-Id: Ie1873e64d407552da37a8dbedc13c3adbf79c085
Centralize handling of /lost+found

Just remove globally /lost+found after the root and install phases, so
distribution elements don't need to do that by themselves.

Change-Id: Ic783e613bd8794aefd3f40c9a7c308d14cd04b8d
debian: exclude contents of /tmp from debootstrap tarballs

Skip the contents of /tmp/ when creating tarballs with the results of
debootstrap, as that directory contains just ccache cache (and in
general temporary files).

Small (positive) side effect is that deboostrap tarballs gets slightly
smaller, something like 2-3 MB less.

Change-Id: Ib4adf3dc908f02deed408bf9188f032767eeb2bb
Relabel filesystem if SELinux is available

Relabel the filesystem during image builds if SELinux is supported
in the kernel of the build machine and userspace tools are available.

Otherwise touch /.autorelabel to schedule a relabel the first time
the image boots. We relabel when possible because it decreases first
boot time.

Change-Id: I0bec885d6e5d4f4e1106f3bd2a90ba5f86395b07
Partial-Bug: 1347845
Merge "Tidy base image by removing /var/log files"
Merge "Relabel filesystem if SELinux is available"
Merge "Don't try to install if packages is empty"
Remove disable_interface from dhcp-all-interfaces

I don't actually think there is a way that disable_interface
would get called on Fedora... because if config_exists
it takes a different path. Furthermore we really don't
want to mess w/ configured interfaces in dhcp-all-interfaces
because that could be side effecty (and is arguably the
job os os-net-config anyways).

This function already did nothing on Debian so removing
shouldn't hurt anything.

Change-Id: Ic53bbab98aa03d487efd290ae8e076045781b5b1
Formatting fixes for dhcp-all-interfaces

Fixup some whitespace formatting issues in dhcp-all-interfaces.sh

Change-Id: Iac515f53e76e68356826cbcefb64142b2009f351
package-installs for pre-install.d/post-install.d

Packages are often also installed in both the pre-install.d and
post-install.d phases. This patch expands the package-installs element
to support declarative package support for these phases in addition to
the existing support for install.d. The actual install/uninstall logic
is moved to common scripts under bin/ so that it can be reused across
the different phases.

Change-Id: Id51d0bbad232737fc8b5ffaf016dec50cd5b66c9
Use package-installs in fedora

Updates the fedora element to use the declarative package install
support provided by the package-installs element.

Change-Id: Ib3eb1936aa5c4efc350828e004794b0a8bd6c6c4
Allow to specify an empty package list in pkg_map

An empty package list can be provided in a pkg_map file for those
cases were there is no need to install the package.

Change-Id: I0df8c6848ec4ac9e0f90790f14e8eb5399650339
map-services: add openstack-nova-novncproxy

Add a mapping from nova-novncproxy to openstack-nova-novncproxy, it was missing.

Change-Id: Ia163a967925087b9d20f7b8581f0f636e53328d8