Added psmisc runtime dependency

Mic users fuser utility from psmisc package, but doesn't depend on
psmic. This causes crash on the system without psmisc installed:

Error <creator>: Command 'fuser' is not available.
Exception mic.utils.errors.CreatorError: CreatorError() in <bound method
LiveUSBImageCreator.__del__ of <mic.imager.liveusb.LiveUSBImageCreator
object at 0x15a9fd0>> ignored
Warning: Can't cleanup loop device /dev/loop1
Info: mic instance shutdown
Warning: No image and other files in output dir, mic failed?

Change-Id: Id6026d0cc4a805397dc6c206e93f645ff669f7ce
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
remove record file to fix duplicated manifest

Signed-off-by: Gui Chen <gui.chen@intel.com>
adjust some requires for suse and tizen

rpm-python is called as python-rpm in tizen
isomd5sum is not provided in tizen, livecd will be not supported in tizen
change qemu requires for suse and tizen to file requires

Signed-off-by: Gui Chen <gui.chen@intel.com>
Support user/password in proxy

If password contains special char ':' which should be replaced with
its' quoted char '%3A'.

Fixes: #541

Change-Id: I12575208c7c337f0bad3a40bac0988e17b160819
refactor mic/chroot.py

put inner function outside to be api of
the chroot module
correct logic in setup_chrootenv and
cleanup_chrootenv
remove unused dev_null code

Signed-off-by: Gui Chen <gui.chen@intel.com>
refactor mic/chroot.py:global_mounts

describe more clear logic in this function
refine the /lib/modules handling

Signed-off-by: Gui Chen <gui.chen@intel.com>
rewrite chroot arch detecting

Signed-off-by: Gui Chen <gui.chen@intel.com>
split save fs code to savefs_before_chroot

Signed-off-by: Gui Chen <gui.chen@intel.com>
kill processes inside instroot chroot

when processes forked inside chroot is alive,
mic should kill it first before umount

Signed-off-by: Gui Chen <gui.chen@intel.com>
add lockfile support for mic/chroot.py module

a simple lockfile implementation is added,
and it is supposed to provide an exclusive
locking in the chroot dir

Signed-off-by: Gui Chen <gui.chen@intel.com>
add docstring for functions

Signed-off-by: Gui Chen <gui.chen@intel.com>
fix pylint

W: 50,0:elf_arch: Dangerous default value ['/bin/bash', '/sbin/init'] as argument
C: 76,4:global_mounts.totuple: Missing docstring
C:126,8:bind_mount: Invalid name "b" for type variable (should match [a-z_][a-z0-9_]{2,30}$)
W:134,4:setup_resolv: No exception type(s) specified
C:168,8:bind_unmount: Invalid name "b" for type variable (should match [a-z_][a-z0-9_]{2,30}$)
W:178,4:cleanup_resolv: No exception type(s) specified
C:175,8:cleanup_resolv: Invalid name "fd" for type variable (should match [a-z_][a-z0-9_]{2,30}$)
C:184,8:kill_processes: Invalid name "fp" for type variable (should match [a-z_][a-z0-9_]{2,30}$)
W:189,8:kill_processes: No exception type(s) specified
C:283,4:chroot.mychroot: Missing docstring

Signed-off-by: Gui Chen <gui.chen@intel.com>
remove myfuser to detect the instance

the detection of .chroot.lock is not so correct in logic,
if the .chroot.lock is used by another process, it works;
if it is used by this process, it faults. so fuser is not
working as expected here. also removing fuser will break
a dependency of 'fuser' command

Signed-off-by: Gui Chen <gui.chen@intel.com>
raw.py: print a message when compressing the image

Image compression may take very long time. The last message on the screen
before compression starts is "Generating map file(s)", and then a very long
delay, so that it looks like it takes so long to generate map files, but it is
not, it is actually the compression which is slow.

Let's inform users that we start compressing the image to make it obvious what
causes the delay.

Change-Id: Ie547451519aae7be5173c05bcfab1aca6c165148
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
kickstart: add an alias for installerfw

In commit "d52080c kickstart: add the installerfw KS command" we introduced the
"installerfw" option. However, the later feed-back was that the name is very
confusing and non-intuitive, and we agreed to re-name this option to
"installerfw_plugins". With this name it is more obvious that this command
enables a list of plugins.

The name of the "extlinux" option of this command was also criticized, and we
agreed to rename it to more generic "bootloader" name.

We agreed that we do the following.

1. Add "installerfw_plugins" alias for "installerfw"
2. Add "bootloader" alias for "extlinux"
3. When users use the old "installerfw" and "extlinux" names, accept this,
   but print a warning which says that these obsolete names will be removed in
   future releases
4. Remove the old keywords later, after a couple releases.

This patch implements just that - introduces the aliases, prints warnings, makes
sure that internally we only use the new names, amends commentaries.

Base on suggestions and the initial patch from Alexander Kanevskiy.

Change-Id: I4646d437833f5252061cb963385269dc240f5792
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
fix bootloader options omitted

when extra option is more than 1, the 1st will be
saved, but the others will be omitted, this patch
is fixing it

Fixes: #607

Signed-off-by: Gui Chen <gui.chen@intel.com>
typo fix

Signed-off-by: Gui Chen <gui.chen@intel.com>
Disable using proxy from /etc/sysconfig/proxy

Always set 'proxy' query paramer to disable using proxy from
/etc/sysconfig/proxy.

Fixes: #1093

Change-Id: I6a75c9e61bb2b2142c8401036ddd21b85886fa28
remove unused code and check chroot_lock before release

the open of chroot lock file is unneccessary, remove it;
if chroot_lock is None, release is invalid, check it.

Signed-off-by: Gui Chen <gui.chen@intel.com>
Merge "remove unused code and check chroot_lock before release" into devel