tools/mic.git
11 years agobump up to version 0.17-rc0
Gui Chen [Thu, 21 Feb 2013 08:01:02 +0000 (16:01 +0800)]
bump up to version 0.17-rc0

Change-Id: If2844a047f672887c82d37996a0eb507d27693d6
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoupdate mic.spec to enable centos and tizen
Gui Chen [Thu, 21 Feb 2013 08:38:40 +0000 (16:38 +0800)]
update mic.spec to enable centos and tizen

Change-Id: Iaf8436686dc2aa2feccdcaafc134a09ed968fd40
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoupdate AUTHORS
Gui Chen [Thu, 21 Feb 2013 07:01:16 +0000 (15:01 +0800)]
update AUTHORS

Change-Id: I78c44023828d2bacffca5e4fbcf50f6e4f24d8f7
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoadd ChangeLog to track history of release notes
Gui Chen [Thu, 21 Feb 2013 06:59:39 +0000 (14:59 +0800)]
add ChangeLog to track history of release notes

Change-Id: I9ffc25a5354cb937c48494e6e74ecb5204540370
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agorewrite REALSE_NOTES to include more info about mic
Gui Chen [Thu, 21 Feb 2013 06:49:57 +0000 (14:49 +0800)]
rewrite REALSE_NOTES to include more info about mic

the REALSE_NOTES is seen to public, it will be good
to make it looks like a real release notes by
containing more info about mic

Change-Id: Ibf839b21f73056b32364ccb723b1a447fe83e186
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agomove vcs info from .vcs file to .packages file
Gui Chen [Thu, 21 Feb 2013 03:54:35 +0000 (11:54 +0800)]
move vcs info from .vcs file to .packages file

now vcs info will recorded in .packages by default
not in a seprated .vcs file

Change-Id: I0e37ba1e8cfbbe5b67a2b32e530dc702e3ea992d
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoadd vcs field to recording_pkgs for 'release' option
Gui Chen [Thu, 21 Feb 2013 03:52:52 +0000 (11:52 +0800)]
add vcs field to recording_pkgs for 'release' option

now 'release' option will add vcs field by default

Change-Id: I66402c1e65097dd2b336179c967209681db1ae7c
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agodon't copy vmlinuz to /boot/extlinux
Gui Chen [Thu, 21 Feb 2013 02:29:09 +0000 (10:29 +0800)]
don't copy vmlinuz to /boot/extlinux

as the previous commit by Artem will use relative path
in extlinux.conf, copy vmlinuz to extlinux folder would
be unuseful

Change-Id: Ib74a27872fcea7d388e1f7c5f5de33a8c635385f
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoraw: use relative path to the kernel image in extlinux.conf
Artem Bityutskiy [Tue, 19 Feb 2013 13:59:58 +0000 (15:59 +0200)]
raw: use relative path to the kernel image in extlinux.conf

Currently raw image creator works only when there is a separate boot parition.
But when /boot is in the root partition, extlinux is unable to boot the kernel.

The reason of this is that in extlinux.conf MIC specify the absolute path to
the vmlinuz file - '/vmlinuz', which of course does not work when the correct
path is '/boot/vmlinuz'.

The fix seems to be easy - for extlinux the current directory is where the
'syslinux.conf' file is situated. And we know that the 'vmlinuz' file is one
level up. So all we need to do is to ask extlinux to take the look one level
up, i.e., take '../vmlinuz'.

This patch was tested in both configurations - with and without a separate boot
partition.

Change-Id: Ia87d053b46f7712aa491c38ed13ca6cd61c5b7ba
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: do not try to mount partitions without a mountpoint
Artem Bityutskiy [Fri, 15 Feb 2013 15:20:59 +0000 (17:20 +0200)]
partitionedfs: do not try to mount partitions without a mountpoint

With this patch MIC finally allows partitions wothout any mount point.

Change-Id: I110a90754428c2f216d27287526701ea0cdc5b0c
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoraw: allow partitions without a file-system
Artem Bityutskiy [Fri, 15 Feb 2013 14:57:09 +0000 (16:57 +0200)]
raw: allow partitions without a file-system

Do not error out if a partition does not have a mount point and file-system
type. We want MIC to create partitions without any format and without any
mount-point.

Change-Id: Ib50fecc2ffd501be8b24dac5d57324cf5de72b74
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agokickstart: allow partitions without mount points
Artem Bityutskiy [Fri, 15 Feb 2013 14:46:35 +0000 (16:46 +0200)]
kickstart: allow partitions without mount points

We need to be able to create partitions without any file-system and without any
mount-point. However, the KS files parser does not allow this, which this patch
fixes.

Change-Id: If046e8895aaa3bb95f25e317464677e019877819
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: fix extended partitions support
Artem Bityutskiy [Fri, 15 Feb 2013 13:10:16 +0000 (15:10 +0200)]
partitionedfs: fix extended partitions support

When we use th elegacy MBR paritions and have more than 3 paritions, MIC
creates and extended parition and which allows us to create 4 more logical
paritions. However, this functionality was broken. It was partially fixed in
the previous commit, and this is the final fix.

The problem is that kpartx maps the extended partirion (sometimes, depending on
the version), and MIC tries to use it and fails. Instead, MIC should just skip
the extended parition. This patch adds the corresponding check.

With this fix we can create images with many paritions, and both MBR and GPT
paritions work.

Change-Id: Iabf17c6407942eec7a7051bff52ebf427aa4f3a1
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoparitionedfs: do not create extended parition in case of GPT
Artem Bityutskiy [Fri, 15 Feb 2013 12:11:45 +0000 (14:11 +0200)]
paritionedfs: do not create extended parition in case of GPT

Change-Id: Ibd2ae31c7e0ed630dd7e392995a21ff90442cc6a
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoparitionedfs: partially fix extended paritions support
Artem Bityutskiy [Fri, 15 Feb 2013 11:37:59 +0000 (13:37 +0200)]
paritionedfs: partially fix extended paritions support

Currently MIC is unable to create more than 3 partitions, because the
logical/extended paritions support is broken. This is because the EBR is not
taken into account, so parted fails to create logical partitions. EBR stands
for "Extended Boot Record" and this ia basically a single sector which prepends
every logical parition.

This patch fixes the issue. We take one sector from each partition starting
from the 3rd one (the last primary parition), and this sector will be used by
parted for the EBR. This works nicely and partitions stay aligned correctly for
the best performance.

Change-Id: I678c52f24750388ffdc09c32939541ba3f3e8b8f
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoFix bad indents
Huang Hao [Tue, 19 Feb 2013 05:30:14 +0000 (13:30 +0800)]
Fix bad indents

Change-Id: I4bd330957aeaeaae8367aafdeffd2f511d479077

11 years agoMerge "paritionedfs: remove the 'extended' key from disk dictionary" into devel
Gui Chen [Tue, 19 Feb 2013 05:56:43 +0000 (21:56 -0800)]
Merge "paritionedfs: remove the 'extended' key from disk dictionary" into devel

11 years agoMerge "partitionedfs: simplify the code a tiny bit" into devel
Gui Chen [Tue, 19 Feb 2013 05:36:33 +0000 (21:36 -0800)]
Merge "partitionedfs: simplify the code a tiny bit" into devel

11 years agoMerge "partitionedfs: improve debugging prints" into devel
Gui Chen [Tue, 19 Feb 2013 05:31:12 +0000 (21:31 -0800)]
Merge "partitionedfs: improve debugging prints" into devel

11 years agoMerge "partitionedfs: remove bogus alignment check" into devel
Gui Chen [Tue, 19 Feb 2013 05:28:29 +0000 (21:28 -0800)]
Merge "partitionedfs: remove bogus alignment check" into devel

11 years agoPass command line info to CreatorError in get_file_size()
Huang Hao [Mon, 18 Feb 2013 09:31:44 +0000 (17:31 +0800)]
Pass command line info to CreatorError in get_file_size()

Variable "du" does not exist, so pass the command line to error.

Change the local var name "file" to "filename" to avoid conflicting
with builtin function.

Also refactor last "if" statement to more readable max function.

Change-Id: I661e0a02db940d75a8180c3215f95d5ff1ae8802

11 years agoparitionedfs: remove the 'extended' key from disk dictionary
Artem Bityutskiy [Fri, 15 Feb 2013 10:46:55 +0000 (12:46 +0200)]
paritionedfs: remove the 'extended' key from disk dictionary

The 'extended' key holds the size of the extended partition, and it is only
used once when we create the extended partition. However, we do not really need
this becase we can easily calculate the extended partition size, because we
know the start of the first logical partition and the disk size. Having this
'extended' key only complicates the code unnecessarily.

Change-Id: I58e61e219890339fae63eeb5bdf9f2002401cb72
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: simplify the code a tiny bit
Artem Bityutskiy [Fri, 15 Feb 2013 09:09:31 +0000 (11:09 +0200)]
partitionedfs: simplify the code a tiny bit

When we calculate the minimum disk size, we do not have to search for the last
parition, because we have d['offset'] which points to the first available
sector.

Change-Id: Ida5f92ec11939caa76ad1bf90aee137a2e918d2d
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: improve debugging prints
Artem Bityutskiy [Thu, 14 Feb 2013 12:28:10 +0000 (14:28 +0200)]
partitionedfs: improve debugging prints

Print the starting and ending partition sector numbers as well as partition
size. This makes it easier to debug issues.

Change-Id: Ie96872f6902d2b7c12bb043879e06d5b839d986c
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: remove bogus alignment check
Artem Bityutskiy [Thu, 14 Feb 2013 11:48:18 +0000 (13:48 +0200)]
partitionedfs: remove bogus alignment check

The following perfectly valid KS option makes MIC complain about alignment and
exit:

part /d1 --size 1 --fstype=ext4 --ondisk sdb --align 1024

This creates a 1MiB partition and aligned to 1MiB.

And it is even fine to ask for a 1MiB partition to be aligned to 4MiB. So the
alignment size check is totally incorrect - remove it.

Change-Id: If84be72f43c3be91ae5a7c3fa49b10ef1202cf50
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoAdd global declaration to var _LOOP_RULE_PTH
Huang Hao [Mon, 18 Feb 2013 09:19:32 +0000 (17:19 +0800)]
Add global declaration to var _LOOP_RULE_PTH

hide_loopdev_presentation() redefine a var with the same name
_LOOP_RULE_PTH by setting its value without global statement. and
its global counterpart can never be changed.

pylint message:
W0621:136,12:hide_loopdev_presentation: Redefining name '_LOOP_RULE_PTH' from outer scope (line 125)

Change-Id: I1cfafa46a933e22c732d4f4963c4a4f6d1ac4c1d

11 years agoMove function optparser_setup out of class MicCmd
Huang Hao [Mon, 18 Feb 2013 02:52:25 +0000 (10:52 +0800)]
Move function optparser_setup out of class MicCmd

Found this problem by pylint. Decorator optparser_setup is not a
instance/class/static method of MicCmd, so move it out.

Also fix wrong indent.

Change-Id: I0315951134360fa6081b904e6323e57c16b7ef9f

11 years agoMake sure that urlgrabber gets URLs as strings
Markus Lehtonen [Tue, 16 Oct 2012 12:40:50 +0000 (15:40 +0300)]
Make sure that urlgrabber gets URLs as strings

URLs of unicode type cause a crash in python-urlgrabber.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoroll back to original naming for release
Gui Chen [Tue, 5 Feb 2013 11:10:37 +0000 (19:10 +0800)]
roll back to original naming for release

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoremove suffix when release specified
Gui Chen [Tue, 5 Feb 2013 08:14:50 +0000 (16:14 +0800)]
remove suffix when release specified

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agofix no key 'HOME' in environ variable failure
Gui Chen [Mon, 4 Feb 2013 02:51:35 +0000 (10:51 +0800)]
fix no key 'HOME' in environ variable failure

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoFixed dependency issue for squashfs on OpenSUSE
Ed Bartosh [Tue, 5 Feb 2013 15:31:24 +0000 (17:31 +0200)]
Fixed dependency issue for squashfs on OpenSUSE

Name of the package with mksquashfs and unsquashfs utilities is squashfs
on OpenSUSE and squashfs-tools on Fedora. This change adds Requires:
squashfs to the spec for OpenSUSE and squashfs-tools for the rest of
distros.

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
11 years agobump up to release 0.16 0.16
Gui Chen [Tue, 29 Jan 2013 08:22:38 +0000 (16:22 +0800)]
bump up to release 0.16

Change-Id: I4b62e11db18c027d6cd6afe63932fc4d8eaecf7a
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoupdate RELEASE_NOTES
Gui Chen [Tue, 29 Jan 2013 08:09:33 +0000 (16:09 +0800)]
update RELEASE_NOTES

Change-Id: Ide5b483fc7bdc2c36590ea6d1d2fdbc1f970414b
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agobump up to 0.16-rc4
Gui Chen [Tue, 29 Jan 2013 05:53:35 +0000 (13:53 +0800)]
bump up to 0.16-rc4

Change-Id: I01121a1ffff0e17d199e1b69dee69c62e8bab28e
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agopartitionedfs: do not use blkid for PARTUUID
Artem Bityutskiy [Tue, 29 Jan 2013 12:19:32 +0000 (14:19 +0200)]
partitionedfs: do not use blkid for PARTUUID

Now, as we have our own GPT partition table parser, lets use it. This patch
teaches partitionedfs.py to add the 'partuuid' key to partitions dictionary.
This value is later used in 'raw.py' when generating the extlinux.conf file.

Change-Id: I1af9e59742171797842f3fafd5c74be78e1414bc
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Conflicts:
mic/imager/raw.py

11 years agoAdd a simple GPT partitions parser
Artem Bityutskiy [Tue, 29 Jan 2013 12:19:11 +0000 (14:19 +0200)]
Add a simple GPT partitions parser

The 'PARTUUID' blkid feature exists only in relatively new versions of blkid,
which causes troubles in some distributions. Therefore, lets implement our own
simple GPT parser instead.

Change-Id: Ie07efc5040770c002ef4be60431c8756fa690d63
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoraw.py: remove unused variable
Artem Bityutskiy [Tue, 29 Jan 2013 11:24:44 +0000 (13:24 +0200)]
raw.py: remove unused variable

The rootdev variable is unused - remove it.

Change-Id: I7355a006557dced7ad95dbecb053243acf86829f
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agobump up to 0.16-rc3
Gui Chen [Sun, 27 Jan 2013 03:47:45 +0000 (11:47 +0800)]
bump up to 0.16-rc3

Change-Id: I007b70a1091a89a47e81dcc58653d5835f8859f0
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoupdate REALSE_NOTES
Gui Chen [Sun, 27 Jan 2013 03:46:09 +0000 (11:46 +0800)]
update REALSE_NOTES

Change-Id: I748b53f7397009136b0a42c98d45abd5a928b9fe
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agofix .vcs file not included in output showing
Gui Chen [Sun, 27 Jan 2013 03:45:26 +0000 (11:45 +0800)]
fix .vcs file not included in output showing

Change-Id: I2feeb6de21e6f69bda05ce25ffe6b9eb06537238
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agosome minor fixes
Gui Chen [Sun, 27 Jan 2013 03:37:24 +0000 (11:37 +0800)]
some minor fixes

fix --record-pkgs missing 'vcs' in help text
fix debugsource invalid in --install-pkgs

Change-Id: Ib61c3ec587b7173cc22284779fac05daf910f684
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoadd option '--fstab-entry' to set the entry in /etc/fstab
Gui Chen [Sun, 27 Jan 2013 03:25:27 +0000 (11:25 +0800)]
add option '--fstab-entry' to set the entry in /etc/fstab

valid values: name, uuid. 'name' means using device names, 'uuid' means using filesystem uuid

Change-Id: I6ea340bc66955cc33ebbe478cbf1425e060f313c
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agogive hints when overwriting loop images
Gui Chen [Sun, 27 Jan 2013 02:55:12 +0000 (10:55 +0800)]
give hints when overwriting loop images

Change-Id: Ia5f3fc69571a34445d8e879227953d3aa5a112af
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agobump up to 0.16-rc2
Gui Chen [Wed, 23 Jan 2013 03:53:49 +0000 (11:53 +0800)]
bump up to 0.16-rc2

Change-Id: Idc3d8d191b4d7adb77c7ddad86c2a0211e591909
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoRevert "raw.py: switch to the BmapCreate module"
Gui Chen [Wed, 23 Jan 2013 03:52:04 +0000 (11:52 +0800)]
Revert "raw.py: switch to the BmapCreate module"

This reverts commit 567fc7ad08ebbce84e1cb6894d35749b17637fa3.

11 years agoput the recording stuff before pkg_manager.close
Gui Chen [Wed, 23 Jan 2013 01:41:21 +0000 (09:41 +0800)]
put the recording stuff before pkg_manager.close

Change-Id: I680e2761743a2068919b18221a004152e40068f3
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agobump up to version 0.16-0.rc1
Gui Chen [Tue, 22 Jan 2013 09:47:58 +0000 (17:47 +0800)]
bump up to version 0.16-0.rc1

Change-Id: I8d861ae9ee3b35db789347bed2b66a27e81c75d0
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoupdate release notes
Gui Chen [Tue, 22 Jan 2013 09:42:30 +0000 (17:42 +0800)]
update release notes

Change-Id: I44f98af914e3b82117ed227ab2fc46fe07cf9894
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agodon't throw exception if get_partuuid failed
Gui Chen [Tue, 22 Jan 2013 08:11:49 +0000 (16:11 +0800)]
don't throw exception if get_partuuid failed

this try except is not tricky, just make things
going on, if 'gpt' required, root_partuuid valued
None would throw an exception instead

Change-Id: I44a6ae70893eacef52f3cf1673b7c2e5bb21f141
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoupdate debian packaging files
Gui Chen [Tue, 22 Jan 2013 07:53:16 +0000 (15:53 +0800)]
update debian packaging files

Change-Id: Ia857444bb840fa6fa41e633917ac14d3813f8348
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoadd lost interface getVcsInfo in yum backend
Gui Chen [Tue, 22 Jan 2013 07:39:13 +0000 (15:39 +0800)]
add lost interface getVcsInfo in yum backend

Change-Id: Icda3b0579d87ae4af3dc0fa566fb59be77732fe7
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agocorrect empty prefix string produce '-'
Gui Chen [Tue, 22 Jan 2013 07:33:02 +0000 (15:33 +0800)]
correct empty prefix string produce '-'

Change-Id: I722a1268220848fe76bba7a9f0eee9fa4c689cc9
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agobump up to version 0.16-rc0
Gui Chen [Tue, 22 Jan 2013 07:27:19 +0000 (15:27 +0800)]
bump up to version 0.16-rc0

Change-Id: I7ff7eb8c019afb04598b49c81537e9c103d91c74
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agocompatible with old style in name prefix
Gui Chen [Mon, 21 Jan 2013 17:39:32 +0000 (01:39 +0800)]
compatible with old style in name prefix

Change-Id: I6c223bdaf8c74fd36093da6690d8ba5c7379b57c
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agomake clear message info
Gui Chen [Mon, 21 Jan 2013 16:55:36 +0000 (00:55 +0800)]
make clear message info

Change-Id: I5717d5d92b604b544ad3ddec7a3eb2eebb9d461b
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoclean up the loop devices not released
Gui Chen [Mon, 21 Jan 2013 16:36:18 +0000 (00:36 +0800)]
clean up the loop devices not released

the pidfiles record last running info of device and
process pid, and now mic can clean these up if they
are not released for some unknown reason

Change-Id: I3b0bbd31fbcfaf7fe4c751feab6f7f9b528d64f6
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoadd pidfile for each used loop device
Gui Chen [Mon, 21 Jan 2013 15:48:53 +0000 (23:48 +0800)]
add pidfile for each used loop device

sometimes mic can't know if the device can be released,
and it will bump up to maxinum used number, now record
an pid file for each used device so that they can be
released when needed

Change-Id: I24308eebd8b2c10a46f2bf20cfdb70bf7f1b04a2
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agocleanup also when sys loop device used
Gui Chen [Mon, 21 Jan 2013 15:25:14 +0000 (23:25 +0800)]
cleanup also when sys loop device used

some interfaces are added to make LoopDevice as
loop device manager:
register: if loop device existed, register it in
          LoopDevice, and benefit the cleanup
reg_atexit: not all loop device need this atexit,
            make it optional
now, such as 'loop0' will benefit the cleanup of
LoopDevice 'cause above interface

Change-Id: I110a1aaf0179d04a31f31f7ed54b2b75cdb6bc01
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agofix the failure if ks under / dir in easy way
Gui Chen [Tue, 15 Jan 2013 13:31:49 +0000 (21:31 +0800)]
fix the failure if ks under / dir in easy way

this patch is to fix the failure if ks file under / dir,
in final, mic should sync the ks file to bootstrap,
the location should be kept inside bootstrap

Change-Id: Ia93013622ffda0fa91c81aeb8f6e0e7c1d6b70cf
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoclean up the mess message of directory not empty
Gui Chen [Tue, 15 Jan 2013 13:15:11 +0000 (21:15 +0800)]
clean up the mess message of directory not empty

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agodon't setup emulator for arm image twice
Gui Chen [Sun, 13 Jan 2013 08:49:27 +0000 (16:49 +0800)]
don't setup emulator for arm image twice

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoregister arm binfmt in every time
Gui Chen [Sun, 13 Jan 2013 08:45:19 +0000 (16:45 +0800)]
register arm binfmt in every time

in bootstrap, there is only 'qemu-arm-static', so should unregister arm binfmt,
and register it for arm image in every time to avoid conflict register

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agosync /etc/passwd to save user info to bootstrap
Gui Chen [Mon, 7 Jan 2013 07:38:27 +0000 (15:38 +0800)]
sync /etc/passwd to save user info to bootstrap

for some reason, mic bootstrap would not has correct /etc/passwd,
using local /etc/passwd also works

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoverify if logfile is a file
Gui Chen [Mon, 7 Jan 2013 07:34:00 +0000 (15:34 +0800)]
verify if logfile is a file

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agocorrect rpm path in local repo for zypp backend
Gui Chen [Mon, 7 Jan 2013 07:29:24 +0000 (15:29 +0800)]
correct rpm path in local repo for zypp backend

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoadd debuginfo rpm install option
Gui Chen [Mon, 21 Jan 2013 13:52:51 +0000 (21:52 +0800)]
add debuginfo rpm install option

make this option flexible to include 'debuginfo',
and enable '--install-pkgs=debuginfo' to work well.
later mic should add 'source' and 'debugsource' to
this option

Change-Id: I12765aeeeb5d41f9de351b617377ebe654436dac
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoinstall the according debuginfo rpms in zypp
Gui Chen [Mon, 21 Jan 2013 12:00:44 +0000 (20:00 +0800)]
install the according debuginfo rpms in zypp

normally every binary package would have one
corresponding debuginfo package, and now mic
can install those debuginfo rpm in the meantime
in zypp backend if needed

Change-Id: Id3d4dd678257d21a737632a395031b0776c3d2bc
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agorefactor try except statement in baseimager
Gui Chen [Mon, 21 Jan 2013 08:46:28 +0000 (16:46 +0800)]
refactor try except statement in baseimager

it's risky to handle the assignment in finally loop,
actually it will only cleanup pkg_manager, try to
refactor it here

Change-Id: Icae4108ce4df353389f4a92f7f2be603434a00ed
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agocleanup zypp credential file to fix conflicts during installing
Gui Chen [Mon, 21 Jan 2013 07:50:39 +0000 (15:50 +0800)]
cleanup zypp credential file to fix conflicts during installing

the issue is zypp will create credential file $instroot/$home/.zypp/*.cat,
and this file only influence rpm downloading, but it cause some conflicts
issue during rpm installing for it is not owned by any package.
in this patch, it will locate the credential file to $instroot/.zypp,
then clean it up before rpm installing.

Change-Id: Ib1409b5aa57547ec8ff96ca39be07bf53894b1bf
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoadd vcs value for --record-pkgs to record vcs info
Gui Chen [Mon, 21 Jan 2013 02:15:48 +0000 (10:15 +0800)]
add vcs value for --record-pkgs to record vcs info

vcs info includes git tree and tag info

Change-Id: Ibe9263de569c888709e46767d08f919046324754
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agorecalculate package content recording
Gui Chen [Mon, 21 Jan 2013 02:08:01 +0000 (10:08 +0800)]
recalculate package content recording

Change-Id: I1c0e9bbf2e1c6c05d552e89f764e1082f91415f0
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agofix the issue that outdir/cachedir is not dir
Gui Chen [Sun, 20 Jan 2013 14:01:34 +0000 (22:01 +0800)]
fix the issue that outdir/cachedir is not dir

Change-Id: I321066964626404ca84d2d650fc7801ddf54e025
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoreformat rpm name string to be more flexible
Gui Chen [Sun, 20 Jan 2013 11:54:31 +0000 (19:54 +0800)]
reformat rpm name string to be more flexible

Change-Id: I5f735ad31ef7dd3a8c2a23eb31b6bca22aaa4f0f
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agorevert back to use device name
Gui Chen [Sun, 20 Jan 2013 07:02:02 +0000 (15:02 +0800)]
revert back to use device name

to fix some specific image can't boot by uuid,
mic revert it back, but mic will change this
configurable, then put it to some config file

Change-Id: I73a07d54ef467bf2148d4833a4372e70f68bbbc7
Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoadd a new opiton --nocache for repo command
Gui Chen [Tue, 15 Jan 2013 08:29:44 +0000 (16:29 +0800)]
add a new opiton --nocache for repo command

this option '--nocache' in repo command is used
to disable using cached rpm in this repo

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agosplit out the download stuff as one python module
Gui Chen [Tue, 15 Jan 2013 08:05:06 +0000 (16:05 +0800)]
split out the download stuff as one python module

mix the download code into rpmmisc is mess,
try to make it stand alone, now the download
stuff like myurlgrabb, TextProcess can be
treated in one owned module

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoremove moblin stuff from mic code
Gui Chen [Tue, 15 Jan 2013 07:27:24 +0000 (15:27 +0800)]
remove moblin stuff from mic code

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agocompatible with old style if 'release' specified
Gui Chen [Tue, 15 Jan 2013 06:41:33 +0000 (14:41 +0800)]
compatible with old style if 'release' specified

when '--release=tizen-2013' is specified, mic shouldn't
append the original suffix, to be compatible with old
style, build_name will replace suffix with release

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agouse build_name to genarate image name
Gui Chen [Tue, 15 Jan 2013 06:33:13 +0000 (14:33 +0800)]
use build_name to genarate image name

consider prefix and suffix, mic should use build_name
to genarate the name of image

Signed-off-by: Gui Chen <gui.chen@intel.com>
11 years agoraw.py: implement booting by partition UUID
Artem Bityutskiy [Tue, 8 Jan 2013 13:53:24 +0000 (15:53 +0200)]
raw.py: implement booting by partition UUID

If the partition typ is "gpt", specify the rootfs by partition UUID instead of
the device node. This will allow to be device-node-independent.

Change-Id: I534036d2a38a072a73ac2994f5753425d60ab8a1
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: implement 'get_partuuid()' method
Artem Bityutskiy [Tue, 8 Jan 2013 13:49:56 +0000 (15:49 +0200)]
partitionedfs: implement 'get_partuuid()' method

Implement a method for getting the partition UUID for a mapped partition.
We will use it for mounting by partition UUID a bit later.

Change-Id: Iaf497c34eaf84e8e25dd5019a99d76f3674744cd
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoraw.py: kill rootdev and prefix
Artem Bityutskiy [Tue, 8 Jan 2013 13:11:30 +0000 (15:11 +0200)]
raw.py: kill rootdev and prefix

Similarly, kill the 'rootdev' and 'prefix' values returned by
'_get_syslinux_boot_config()' - they are not used. This cleans up things a bit
further.

Change-Id: I164c46d5a17ebdd2404f5da1ff883ec9d79cfffc
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoraw.py: kill bootdevnum
Artem Bityutskiy [Tue, 8 Jan 2013 13:07:47 +0000 (15:07 +0200)]
raw.py: kill bootdevnum

The _get_syslinux_boot_config() function returns bootdevnum which is not really
needed, because it is not used. There is only one usage - an exception error
string, but this usage is incorrect anywere, because it prints incorrect
loopback name anyway.

So kill it, and make the code a little bit cleaner. We have enough mess there.

Change-Id: Ia6fff77205389e77ce1dac55ab044f7410bcf347
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoraw.py: detect the boot partition properly
Artem Bityutskiy [Tue, 8 Jan 2013 12:43:21 +0000 (14:43 +0200)]
raw.py: detect the boot partition properly

Remove a hack of detecting the boot partition by mount point. We have a special
key for marking the boot partition.

Change-Id: I05f62cc33a72cc87ad95f45cdb79a8a611cf53de

11 years agoraw.py: fix strange "bug"
Artem Bityutskiy [Tue, 8 Jan 2013 12:50:43 +0000 (14:50 +0200)]
raw.py: fix strange "bug"

The entire file kind of assumes that there may be several disks. And this is
why we have a lot of complexity in raw.py and partitionedfs.py.

But if we look at _install_syslinux(), we have a nonesense loop at the
beginning. Obviously, the entire function has to be in this loop, otherwise it
makes zero sense, right?

Change-Id: I2e6825ca475b4e1c34128361b9c4cc97159379da
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: enable GPT support
Artem Bityutskiy [Mon, 7 Jan 2013 10:12:41 +0000 (12:12 +0200)]
partitionedfs: enable GPT support

This adds finally GPT support. It works, and Tizen IVI images with GPT
partition table boot fine.

We now need is to use 'root=PARTUUID=<uuid>' in syslinux.conf to boot by
UUID - will be added later as well.

Change-Id: Icfe938e72b96c4092131039a120d6095b3acbbd4
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agokickstart: add --ptable option
Artem Bityutskiy [Thu, 10 Jan 2013 11:41:41 +0000 (13:41 +0200)]
kickstart: add --ptable option

This patch adds a --ptable option to the 'bootloader' command of the KS file,
as suggested by Guy Chen. The default partition table format is "msdos". We are
going to support the "gpt" format soon. Usage:

bootloader --timeout=blah --append=blah --ptable=blah

Change-Id: I02772df92a8e883ac3450b5b947789bca19be037
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoraw.py: remove redundant code
Artem Bityutskiy [Mon, 7 Jan 2013 11:16:59 +0000 (13:16 +0200)]
raw.py: remove redundant code

Remove code from raw.py which sets the 'bootable' flag to the boot partition,
because it is redundant.

partitionedfs.py it the file where everything concerning partitions has to be
done. And there is code which sets the 'boot' flag to the boot partition. We
just need to use the '--active' option for that partition in the ks file.

Change-Id: I17fd4e6e8785b8c6b1a48a7af1a2335a056b4d98
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: a preparation and nicification
Artem Bityutskiy [Fri, 4 Jan 2013 14:25:15 +0000 (16:25 +0200)]
partitionedfs: a preparation and nicification

Prepare for further changes and refactor the code a bit: separate the parted
running functionality to the '__run_parted()' function.

Do some nicifications in '__create_partition()' to improve readability.

Move the '__create_partition()' and '__run_parted()' functions down so that
they go just before 'format_disk()', which is more logical.

Remove a lot of redundant code by moving the error checking to
'__run_parted()'.

Change-Id: If9697cd2ede6f8b3f07289aa8e8ac391ea882cf2
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: rename self.__create_part_to_image
Artem Bityutskiy [Fri, 4 Jan 2013 14:17:21 +0000 (16:17 +0200)]
partitionedfs: rename self.__create_part_to_image

The 'self.__create_part_to_image()' is too long and not too descriptive either.
Let's name it '__create_partition()' instead.

Change-Id: I556c8dd872b1fd79d8c44fac0ca5130ae1521bc8
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: add partial GPT support
Artem Bityutskiy [Fri, 4 Jan 2013 13:53:10 +0000 (15:53 +0200)]
partitionedfs: add partial GPT support

This commit partially adds GPT partitions support. Further patches will add
full support. I split them to make the patches more reviewable.

This patch basically implements most of the things except of actually asking
parted to use GPT partitioning.

This patch introduces another 'layout_partitions()' parameter which defines the
partition table format. It now may be 'msdos' or 'gpt'.

Change-Id: I210bacc629b938d307a1e4d209c90d4400a42daa
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: make the interface a bit saner
Artem Bityutskiy [Fri, 4 Jan 2013 13:41:08 +0000 (15:41 +0200)]
partitionedfs: make the interface a bit saner

We have 'add_partition()' call to add one partion, but we have 'add_disks()'
method to add all disks at once. This is inconsistent and makes the code more
difficult to understand. Fix this by changind 'add_disks()' into 'add_disk()'
which adds a single disk. This makes things look a lot nicer.

Change-Id: I8a4f4249b1f8fa02486d4cbb3fbc4226ca2e65b8
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs.py: improve readability some more
Artem Bityutskiy [Fri, 4 Jan 2013 13:32:46 +0000 (15:32 +0200)]
partitionedfs.py: improve readability some more

Add a comment to 'add_partition()'. Also convert all the non-docstring comments
to the normal '#' style to make the code consistent.

Change-Id: I772d08f20d434b7bb4f4725410622da5ac9d2fb6
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: rename MBR_SECTOR_LEN
Artem Bityutskiy [Fri, 4 Jan 2013 13:10:49 +0000 (15:10 +0200)]
partitionedfs: rename MBR_SECTOR_LEN

The 'MBR_SECTOR_LEN' name becomes not very appropriate when we add GPT
partitions, which have a lot larger overhead comparing to MBR partitions. We'll
need to introduce another constant. Let's use the 'MBR_OVERHEAD' instead, and
later we'll introduce a 'GPT_OVERHEAD' variable.

Change-Id: Iedf9338b58eed3b4b4b149ba9f30acf5369500c7
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoparitionedfs: improve readability
Artem Bityutskiy [Fri, 4 Jan 2013 13:01:52 +0000 (15:01 +0200)]
paritionedfs: improve readability

Rename the 'disk' key in parition and subvolume dictionaries into 'disk_name',
because it is really a disk name string. Old name is very confusing because
the disks dictionary also has a 'disk' key which points to a real disk object.
I was many times confused by this when I was trying to understand the code, and
now it is time to clean the mess up a bit.

Change-Id: I58526ce719f831051924498550df5de9b3ebd737
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: fix the mbr_sector_skipped hack
Artem Bityutskiy [Fri, 4 Jan 2013 12:35:25 +0000 (14:35 +0200)]
partitionedfs: fix the mbr_sector_skipped hack

The entire PartitionedMount class assumes there may be more than one disk. And
the 'mbr_sector_skipped' hack is wrong because it assumes there is only one
disk and we need to skip only once, which is incorrect.

This patch fixes the issue. And it actually makes things nicer as well.

Change-Id: Icb399cfa488786ce6668ffaa21146f01a3e15a08
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agopartitionedfs: clean-up some mess
Artem Bityutskiy [Fri, 4 Jan 2013 12:26:18 +0000 (14:26 +0200)]
partitionedfs: clean-up some mess

This is a clean-up patch. It cleans up the code around alignment and makes it
both shorter and more readable. No functinal changes, just using better
constructs and removing useless operations.

Change-Id: I9655239168101ca491ac60b3a16798dedef12841
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoraw.py: kill get_diskinfo()
Artem Bityutskiy [Fri, 4 Jan 2013 12:04:20 +0000 (14:04 +0200)]
raw.py: kill get_diskinfo()

We do not need this function anymore. The only thing we need is to get disk
names. So instead, introduce a 'get_disk_names()' method which simply returns a
list of disk names.

This is a clean-up.

Change-Id: I5145ab0fe3f36c9ac5fef6bb82b53a29f51eb5b0
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
11 years agoraw: fix image size with --align
Artem Bityutskiy [Fri, 4 Jan 2013 11:41:15 +0000 (13:41 +0200)]
raw: fix image size with --align

Finally, with the preparation patches we did, we can fix the --align problem
and fix bug #624.

The issue is: with --align the image size becomes too large and there are
unused blocks at the end.

Now we can use correct image size calculated by partitionedfs.py.

Change-Id: I59e19281934b9557cdb960a7228d81f463f37786
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>