Gui Chen [Thu, 16 May 2013 02:44:11 +0000 (22:44 -0400)]
bump up to 0.19-0.rc
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Thu, 16 May 2013 01:58:41 +0000 (21:58 -0400)]
fix symlink bind mount dirname
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Wed, 15 May 2013 12:11:36 +0000 (08:11 -0400)]
fix relative symbolic link in bind mount
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Wed, 15 May 2013 11:07:37 +0000 (07:07 -0400)]
typo fix
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Wed, 15 May 2013 07:18:22 +0000 (03:18 -0400)]
fix '/var/lock' non-existent throw traceback
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Wed, 15 May 2013 07:08:09 +0000 (03:08 -0400)]
fix symlink bind mount left issue
when bind mount point is symbolic link,
the umount will make it left when clean up
Signed-off-by: Gui Chen <gui.chen@intel.com>
Artem Bityutskiy [Tue, 7 May 2013 06:42:12 +0000 (09:42 +0300)]
raw: use bmap creation code from bmap-tools
This patch copies the bmap creation code from the bmap-tools project to mic.
Hopefully, at some point we can just make mic package depend on bmap-tools and
directly invoke bmap creation functions from bmap-tools. However, mid
maintainers have issues with this at this point, so we just copy the code.
Unlike the old mic implementation which uses FIBMAP ioctl, bmap-tools use the
FIEMAP ioctl, which is better and also works on btrfs.
Change-Id: I8807ac32d3fcb31e9d410250348318fd04a63275
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Tue, 7 May 2013 07:02:19 +0000 (10:02 +0300)]
misc: add get_block_size helper function
It returns file-system block size.
Change-Id: Idc512a90c58d76925e46f3bd3782093f2c102d5e
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Gui Chen [Thu, 2 May 2013 10:33:05 +0000 (06:33 -0400)]
fix some depends and add tizen requires
tizen-python-zypp is provided by 'python-zypp' maintained
by tizen tools, the provide is different with upstream
Signed-off-by: Gui Chen <gui.chen@intel.com>
Artem Bityutskiy [Fri, 19 Apr 2013 13:29:38 +0000 (16:29 +0300)]
gpt_parser: update class commentary
We now support CRC checking and partition table changing, so update
commentaries.
Change-Id: Id3acd1699d2da2752d6d05c4400404361a3e5634
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Thu, 11 Apr 2013 12:01:07 +0000 (15:01 +0300)]
partitinedfs.py: implement the --part-type option
Implement the --part-type option for GPT partitions. In case of MBR partitions
- just error out and say that the option is not implemented, but if someone
needs it for the MBR case in the future - it may be implemented.
Change-Id: I7f45db71df85bd36850d1379a38a84fe73532de6
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Thu, 11 Apr 2013 11:33:08 +0000 (14:33 +0300)]
partition.py: add --part-type option
Add a kickstart file partition option for specifying partition type. In case of
GPT partitions, this is an UUID which is stored at offset 0 of the partition
entry in the partition table. In case of MBR partitions, this will be the
1-byte partition type which is stored at offset 4 of the partition entry in the
partition table.
Change-Id: I8d03c2414b8e8c555b18f9f94f60a9e0f7742536
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Thu, 11 Apr 2013 10:56:37 +0000 (13:56 +0300)]
gpt_parser: add parition modification functinality
Add a 'change_partition()' method which allows changing partition records.
Change-Id: I29c103f856a51aab4ce11d60126128e3770906be
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Thu, 11 Apr 2013 10:19:55 +0000 (13:19 +0300)]
gpt_parser: introduce more useful dict keys
Add some more useful information to the GPT header and partition entry
dictionaries.
Change-Id: I5ab5ff309d8a926c317d1bf22d2797e0f08539f2
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Thu, 11 Apr 2013 10:05:08 +0000 (13:05 +0300)]
gpt_parser: rename the parts_cnt dict key
The 'parts_cnt' header dictionary key is named poorly because this is actually
the number of available partition table entries, not the number of partitions.
Thus, rename it to 'entries_cnt'.
Change-Id: I565ac7b700ab5ae3b1bb7c8aa503585465588db9
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Thu, 11 Apr 2013 09:33:09 +0000 (12:33 +0300)]
gpt_parser: implement partition table CRC checking
Introduce a new helper function for checking partition table CRC32 checksum and
use it in 'get_partitions()' to validate the table.
Change-Id: I1bba90d174a5e146403c1eeff6188426ab7066a2
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Thu, 11 Apr 2013 09:19:57 +0000 (12:19 +0300)]
gpt_parser: improve naming some more
Use "raw_" prefix for the on-disk data to make the code more readable.
Change-Id: I644f6250ddc3f6483910b94242f06c49c64b5e75
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Thu, 11 Apr 2013 09:17:15 +0000 (12:17 +0300)]
gpt_parser: add 'primary' dictionary key
Add another key to the GPT header and parition record dictionaries to indicate
whether it belongs to the primary or to the backup parition.
Change-Id: I0292badb61cf279a0fd9ac8c1f5bad47c05c1537
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 11:27:16 +0000 (14:27 +0300)]
gpt_parser: return a dict from get_partitions
This makes the code more redable.
Change-Id: I1b41de463d108937ace8b9ce46f08deb0a4d6081
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 11:12:53 +0000 (14:12 +0300)]
gpt_parser: return a dict from read_headers
Use a dictionary instead of a tuple because it makes it possible to write more
readable code. Indeed, header['hdr_crc'] is more readable than header[3].
Change-Id: Ia488d61580a9b1d848421a6abc462870418daa34
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 08:50:35 +0000 (11:50 +0300)]
gpt_parser: spelling fixes
A couple of spelling fixes.
Change-Id: I7807b071af34ce360bc274d9d0ffa8a7fd12a00b
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 08:47:41 +0000 (11:47 +0300)]
gpt_parser: use _read_disk helper in get_partitions
Use the helper which we just introduced, because it does errors checking. Also,
introduce a helper _GPT_ENTRY_SIZE constant.
Change-Id: I496933f46292f31987ff37fdc9dabc8c5bd150c6
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 08:38:13 +0000 (11:38 +0300)]
gpt_parser: introduce a helpful _GPT_HEADER_SIZE constant
Change-Id: Ieaf8a4f916dde383cfeb8a7191cce7bcc72617c3
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 08:36:05 +0000 (11:36 +0300)]
gpt_parser: introduce a _disk_read helper
It is useful because we can encapsulate all the error checking
in a single function.
Change-Id: I0aac2d2223bc75113b43994db39df71f2ed7cf89
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 07:36:17 +0000 (10:36 +0300)]
gpt_parser: add an index element to the partition record
Add an 'index' element to the partition record returned by the
'get_partitions()' method. This is very useful to have when one wants
to change a partition record, which will be implemented in one of the
following patches.
Change-Id: I04b560a7d1e8a97470eea5c221cba7d3e039a501
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 07:20:29 +0000 (10:20 +0300)]
gpt_parse: use _ prefix for private class members
Change-Id: Iaccffd75f77bbca172d9a328a9fba42c4e25ad57
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 06:58:38 +0000 (09:58 +0300)]
gpt_parser: add backup partition table reading support
Change-Id: I6c1aeda0b54dc5f3e4b3c1bfe69b4d005231c1e0
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Thu, 11 Apr 2013 06:04:28 +0000 (09:04 +0300)]
gpt_parser: harmonize naming a bit
Use 'raw_hdr' for raw header and 'header' for the header dictionary. This makes
the code easier to read because you always know what you deal with from the
variable name.
Change-Id: Iae0420ec149861067a455bb62276cb50fc6ba719
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 06:51:01 +0000 (09:51 +0300)]
gpt_parser: add backup GPT header reading support
Change-Id: Ie496acd5b8020a2a48a4c905be2467dda338cf12
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 06:29:07 +0000 (09:29 +0300)]
gpt_parser: move the GPT header validation to a separate function
Change-Id: I5d6b088ee8d41bed77f576f39c529914c581eef5
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Wed, 10 Apr 2013 06:03:46 +0000 (09:03 +0300)]
gpt_parser: validate GPT header CRC32
Change-Id: I2837d64600876b3fcca187dd112db4590eb96ffe
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Tue, 9 Apr 2013 14:48:25 +0000 (17:48 +0300)]
gpt_parser: validate header size
Change-Id: I7cb08dff3421f3390525c0fc4c5188d15ce90e53
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Tue, 9 Apr 2013 13:24:41 +0000 (16:24 +0300)]
gpt_parser: validate GPT header revision
We only support revision 1.0.
Change-Id: If44c27053186e77329681bdda387dc0f6d92c893
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Artem Bityutskiy [Tue, 9 Apr 2013 12:34:00 +0000 (15:34 +0300)]
gpt_parser: use _ for private variables
The standard convention in python that all the internal variables in a module
start with an underscore symbol.
Change-Id: I38e4ed6d9fc749c43f8c4909320b0415ba3ebba9
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Gui Chen [Wed, 10 Apr 2013 09:01:52 +0000 (17:01 +0800)]
fix bug autologinuser always set
Change-Id: I6510aa3de76d9d1d929ca1ad4ccef45a9afcb06a
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Tue, 2 Apr 2013 09:23:23 +0000 (17:23 +0800)]
bump up to release 0.18
Change-Id: Ia71f0f26a6cbf7e413939780e3a4131307a295a6
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Tue, 2 Apr 2013 09:52:20 +0000 (17:52 +0800)]
fix attachment packages swig attr lost
Change-Id: Idaeabdd0c340f6f9f8f5eddae6eb17478115d11c
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Tue, 2 Apr 2013 05:58:06 +0000 (13:58 +0800)]
fix conflict variable in cmpEVR and priority condition
Change-Id: Icd9b2eeac10e5f8265445d96cc9ceb1a5116d158
Signed-off-by: Gui Chen <gui.chen@intel.com>
Zhang Qiang [Tue, 2 Apr 2013 10:22:47 +0000 (18:22 +0800)]
condider repo priority while sorting packages
standard criterion:
- arch compatibility with highest priority
- repo priority
- package version have lowest priority
Change-Id: I86dcb35a568ddc0162e6145b6871dc2502c3d24f
Gui Chen [Sun, 31 Mar 2013 02:47:43 +0000 (10:47 +0800)]
bump up to version 0.18-rc0
Change-Id: Id94de376e152927ac4df1d0b2587129df5df64dd
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Mon, 25 Mar 2013 03:19:21 +0000 (11:19 +0800)]
mount tmpdir as tmpfs to accelerate performance
use --tmpfs to enable this experimental feature
Change-Id: I5fb8e60a24236f7e6cab624a137c3ddb3d03f7d9
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Mon, 25 Mar 2013 01:56:41 +0000 (09:56 +0800)]
strip slash after release option
Change-Id: I8746aaafb9d130a514ee623e62432bc0a3a6d343
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Sun, 24 Mar 2013 06:59:09 +0000 (14:59 +0800)]
generate bmap file outside __imgdir
Change-Id: I8d2759a861619f3767f95c6be73fba0c8e457638
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Sun, 24 Mar 2013 06:58:03 +0000 (14:58 +0800)]
change naming for release option
move snapshot id forward
Change-Id: I537c938c562dd4933e422698bdc84b94cacb8fb5
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Thu, 21 Mar 2013 06:44:30 +0000 (14:44 +0800)]
update AUTHORS
Change-Id: Iadf5be8daf386c777e7b73b2ff317cacd44ab0b8
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Tue, 19 Mar 2013 09:03:11 +0000 (17:03 +0800)]
fix debuginfo rpm swig attr lost
when adding debuginfo rpm, the PoolItem doesn't
convert to Solvable
Change-Id: I221760667217421235849536def6bbcfd94199c2
Signed-off-by: Gui Chen <gui.chen@intel.com>
Huang Hao [Mon, 11 Mar 2013 05:48:33 +0000 (13:48 +0800)]
Print warning when failed to temp ks in normalize_ksfile().
* print waring message in try/except block
* add doc string
* remove dir argument to tempfile.mkstemp, since its default
strategy is better than hardcode "/tmp"
* rename _clrtempks to remove_temp_ks and move it behind
* remove the code that check file existence, since it will be
always checked by confmgr.__set_ksconf
Change-Id: Ic4c6125f18eb9e9dda8faa7bc687f97b178b1cea
Huang Hao [Mon, 11 Mar 2013 10:42:25 +0000 (18:42 +0800)]
Remove useless try and reraise blocks.
These code catch all exceptions and simply reraise them, which is
equivalent to not writing the try block. So just remove them to
cleanup.
Change-Id: I965356746a5b349458205de9c5a1d6bf97bf8d93
Huang Hao [Wed, 6 Mar 2013 04:06:07 +0000 (12:06 +0800)]
Change default mutable arguments of Mic_RepoData.__init__.
Only pass arguments includepkgs, excludepkgs, baseurl,
mirrorlist, name to super __init__ if they are not false.
If they are not present the super __init__ will choose proper
default values for those arguments.
W0102: 26,4:Mic_RepoData.__init__: Dangerous default value [] as argument
W0102: 26,4:Mic_RepoData.__init__: Dangerous default value [] as argument
Change-Id: I56db875ee3d42213726a147a46f9d2e998025cce
Huang Hao [Wed, 6 Mar 2013 05:35:24 +0000 (13:35 +0800)]
Change default parameters from mutable type into immutable.
Get ride of these pylint warnings:
W0102:190,0:cleanup_chrootenv: Dangerous default value [] as argument
W0102: 47,4:ImagerPlugin.check_image_exists: Dangerous default value [] as argument
W0102:109,8:read_kickstart.KSHandlers.__init__: Dangerous default value {} as argument
W0102:708,0:get_repos: Dangerous default value {} as argument
W0102:772,0:get_attachment: Dangerous default value [] as argument
W0102:775,0:get_pre_packages: Dangerous default value [] as argument
W0102:778,0:get_packages: Dangerous default value [] as argument
W0102:781,0:get_groups: Dangerous default value [] as argument
W0102:784,0:get_excluded: Dangerous default value [] as argument
W0102:787,0:get_partitions: Dangerous default value [] as argument
W0102:877,4:BaseImageCreator.install: Dangerous default value {} as argument
W0102:210,4:Bootstrap.create: Dangerous default value [] as argument
Change-Id: Icc04896829ecfb0e2542f4d4755f4adb07b01319
Patrick McCarty [Mon, 11 Mar 2013 20:18:05 +0000 (13:18 -0700)]
Fix an issue with building the man page
If the python-docutils package is available in a distro, then make sure
a BuildRequires is added for it.
Change-Id: Ic404fe4ed94bd40aa63139bec3c12b1bcdd59640
Huang Hao [Wed, 6 Mar 2013 03:04:37 +0000 (11:04 +0800)]
Refactor function safecopy().
* Change ignore_ptns from [] to (). A mutable default value isn't
as expected when invoke in the second time.
>>> def safecopy(ignore_ptns=[]):
... ignore_ptns += ['*.pyc']
... print ignore_ptns
...
>>> safecopy()
['*.pyc']
>>> safecopy()
['*.pyc', '*.pyc']
* Add a list into ignore_ptns rather than a string
>>> l = []
>>> l += os.path.basename('/usr/bin')
>>> l
['b', 'i', 'n']
* Include all exception classes by (), otherwise it will catch
OSError and assign this exception instance to a local variable
named IOError.
* Move shutil.ignore_patterns() out of try block since it can
never throw OSError nor IOError.
* Remove useless try/except/raise block which catches every
error but reraise it. It's the same as without this try block.
Change-Id: I8837169bbf4acbadf4a2cfd8ac999d371831d86a
Huang Hao [Thu, 28 Feb 2013 12:51:44 +0000 (20:51 +0800)]
Reraise exception in bootstrap_mic() but keep original traceback.
When exception occurs, we could add additional information but
should keep the original traceback. Otherwise traceback shows up
in console will be the second one, which hide the true exception.
A bare "raise" statement is a special syntax to reraise the
original exception, which will also keep its traceback.
Please Refer PEP3134 for more details.
Change-Id: I420399061de89b911cecd5da60fde0023f1893ac
Huang Hao [Wed, 6 Mar 2013 06:05:20 +0000 (14:05 +0800)]
Refactor get_mic_binpath() to avoid catch all exceptions.
Catch the specific exceptions it cares about, and reduce "try"
block to minimal, otherwise some other errors will be hidden.
Change-Id: Icbef03eef1591ba44466d5634943db5b8c86bdc4
Huang Hao [Thu, 28 Feb 2013 06:22:33 +0000 (14:22 +0800)]
Uniform import statements to absolute import.
Change all relative imports into absolute since mixing them is bad.
Refer PEP8 for more details.
Change-Id: I39fdbe056cb0d76c5ed5812c4f69e74ce8837924
Gui Chen [Mon, 4 Mar 2013 02:21:53 +0000 (10:21 +0800)]
Merge branch 'release-0.17' into devel
Gui Chen [Sun, 3 Mar 2013 07:18:09 +0000 (15:18 +0800)]
be compatible with python-zypp built with swig 2.0
differences in python-zypp between swig 1.3 and swig 2.0 built
make the original code not work, this patch trys to fix this
compatiblity issue
Change-Id: Ie0a16182463886e9cf89f6fa1c63756e4d50c02d
Signed-off-by: Gui Chen <gui.chen@intel.com>
Huang Hao [Thu, 28 Feb 2013 06:06:02 +0000 (14:06 +0800)]
Fix import error of kickstart.custom_commands
Names listed in __all__ don't exist.
>>> from mic.kickstart.custom_commands import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Mic_Desktop'
Change-Id: Ie9ea1cccacb5fb9faaabc1951c513425c377d549
Gui Chen [Thu, 28 Feb 2013 06:26:36 +0000 (14:26 +0800)]
bump up to release 0.17
Change-Id: I172034cdb2397059331e741f4aea8e1776b1f636
Signed-off-by: Gui Chen <gui.chen@intel.com>
Huang Hao [Thu, 28 Feb 2013 03:37:19 +0000 (11:37 +0800)]
Keep error info from exception URLGrabError.
The origianl URLGrabError exception contains useful information
describing detail of the error, such as errno and http error
code.
However in some situation it doesn't include url address. So append
it if not appear.
Examples of console output before:
Error <creator>: URLGrabber error: https://xxxx
Error <creator>: URLGrabber error: https://xxxx
We can't find out difference from those two message.
After:
Error <creator>: [Errno 14] HTTP Error 401 : https://xxxx
Error <creator>: [Errno 14] problem making ssl connection on https://xxxx
Change-Id: I3f153e4caf8bbfcbac56ca22118733de7c5a3e66
Huang Hao [Thu, 28 Feb 2013 05:41:35 +0000 (13:41 +0800)]
Give reason when failed to load plugin module.
It will be helpful to solve problems.
Change-Id: I02f36706c67cfb9fedc9029ea5a177aa85c2ac61
Gui Chen [Wed, 27 Feb 2013 07:31:15 +0000 (15:31 +0800)]
bump up to 0.17-rc1
Change-Id: I1caaf24953b5f6650e02dca2a44dcf53106b79b2
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Wed, 27 Feb 2013 06:59:00 +0000 (14:59 +0800)]
update changelog files
correct indent and update date
Change-Id: I76d193ddbb4a2556181ac40699138df8d0ef1867
Signed-off-by: Gui Chen <gui.chen@intel.com>
Huang Hao [Wed, 27 Feb 2013 07:10:35 +0000 (15:10 +0800)]
Fix bad indentations.
Change-Id: I6a1b15a130576c87a85db864ec3997b7c3005f05
Gui Chen [Wed, 27 Feb 2013 05:58:42 +0000 (13:58 +0800)]
update depends for ubuntu
Change-Id: I7c213ffbb8d04f7c7dfac6d0c27be21e8e060908
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Sun, 24 Feb 2013 05:26:07 +0000 (13:26 +0800)]
imager.livecd: cleanup anaconda related code
Change-Id: I6539572adf9cd03d2b524db7f76f3bcfa7ba46df
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Sun, 24 Feb 2013 05:14:44 +0000 (13:14 +0800)]
imager.loop: fix undefined 'part'
Change-Id: Ibf16cf33ece80a6d0d400978dd8d3f6d949b8da0
Signed-off-by: Gui Chen <gui.chen@intel.com>
Gui Chen [Sun, 24 Feb 2013 05:09:57 +0000 (13:09 +0800)]
utils.fs_related: fix undefined 'out'
Change-Id: I78737c26c3fc9ed3acbd8ed71b51f40e17191bda
Signed-off-by: Gui Chen <gui.chen@intel.com>
Huang Hao [Fri, 22 Feb 2013 10:57:49 +0000 (18:57 +0800)]
Fix bug that "disk" is undefined.
Change-Id: I35f43b560c8e2176d8baa9cc873c4994b0105b27
Huang Hao [Fri, 22 Feb 2013 10:46:36 +0000 (18:46 +0800)]
Remove import warnings of utils.runner module
Avoid to import * from subprocess
Change-Id: Ib41c3a8716694d8acddf925b500fc89334a6e6f4
Huang Hao [Fri, 22 Feb 2013 10:42:39 +0000 (18:42 +0800)]
Remove import warnings of imager.fs module
* sys and subprocess are useless
* avoid to import * from utils.fs_related
* import baseimager in absolute way
Change-Id: I44c970402f06da32a576c68d4650dd7dd010fa1c
Huang Hao [Fri, 22 Feb 2013 10:29:59 +0000 (18:29 +0800)]
Remove warnings of import statements of module util.misc
* sys is useless
* hashlib, sqlite are duplicated
* avoid to import * of error and fs_related
Change-Id: I926a906939f4f8f12acab6707df992a06f74061b
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Huang Hao [Tue, 19 Feb 2013 05:30:14 +0000 (13:30 +0800)]
Fix bad indents
Change-Id: I4bd330957aeaeaae8367aafdeffd2f511d479077
Gui Chen [Tue, 19 Feb 2013 05:56:43 +0000 (21:56 -0800)]
Merge "paritionedfs: remove the 'extended' key from disk dictionary" 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
Gui Chen [Tue, 19 Feb 2013 05:31:12 +0000 (21:31 -0800)]
Merge "partitionedfs: improve debugging prints" into devel
Gui Chen [Tue, 19 Feb 2013 05:28:29 +0000 (21:28 -0800)]
Merge "partitionedfs: remove bogus alignment check" into devel
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
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>
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>
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>
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>
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
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
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>