need to check whether the loop device exists after excute losetupcmd --find
[tools/mic.git] / ChangeLog
1 Release 0.27 - Wed Apr 29 2015 - Lihong Sun <lihongx.sun@intel.com>
2 =====================================================================
3   * new distribution support: Ubuntu 14.04 and Debian 7.0
4   * generate manifest file to describe image information
5   * refactor archive and compress module
6   * support sparse handle for tar command
7   * replace system V with systemd on locale setting
8   * support lzop compress
9   * add new arch MIPS support
10   * add qcow2 image format support
11   * add strict mode for package installing
12   * enable ssl_verify option in config file
13   * enhance checksums of outputs: md5sum, sha1sum, sha256sum
14   * enhance VCS info in yum backend
15   * drop mic-native support
16   * update mount option
17   * revert bind mount config file to instroot
18
19   * bug fix:
20     - fix logfile incomplete in release option
21     - fix config file disappear in bootstrap
22     - fix aarch64 bin_format
23     - fix pylint
24     - fix real path of device mapper causing initrd failure
25     - fix qemu arm and arm64 issues
26     - fix AttributeError in zypp backend
27     - fix 'python-xml' depends used by cElements
28     - fix xml requirements
29     - fix logfile not in release of '--release' when creation failed
30     - fix copyright missing issue
31     - fix syslinux installation path issue in Arch Linux
32
33 Release 0.24 - Tue Mar 11 2014 - Gui Chen <gui.chen@intel.com>
34 =====================================================================
35   * enhance to handle password with special characters
36   * change python-zypp require to python-zypp-tizen
37   * add --repo comand option for local build
38   * add --user and --password option for %repo directive of ks file
39   * clean up some codes relevant to EULA agreement
40   * add hostname showing in log
41   * bug fix:
42     - fix chroot failed by space in image not enough
43     - fix obsolete packages incorrect handling
44     - fix yum backend failed to cache packages
45     - fix bare ip in no_proxy not working
46     - fix repeated log showing with yum backend
47     - fix loop device latency timing
48     - fix zypp failed to download by changing 'cachedir'
49     - fix 'mkfs' not working caused by mic-bootstrap install failed
50
51 Release 0.23 - Fri Dec 12 2013 - Gui Chen <gui.chen@intel.com>
52 =====================================================================
53   * new distribution support: Ubuntu 13.10 and OpenSUSE 13.1
54   * split requirements to subpackage 'mic-native' to reduce mic's dependencies
55   * support arm64 architecture image creation in native mode
56   * new option '--interactive'/'--non-interactive' to enable/disable interaction 
57   * new option '--uuid' for 'part' in ks file to set filesystem uuid
58   * export more variables related to installer framework for loop format
59   * bug fix:
60     - fix bootstrap handling if bootstrap package failed
61     - fix 'mapper_device' key error
62     - fix detailed error messages missing in mounting
63     - fix version comparing issue of urlgrabber in Fedora
64
65 Release 0.22 - Thu Oct 24 2013 - Gui Chen <gui.chen@intel.com>
66 =====================================================================
67   * use __version__ variable instead of VERSION file
68   * refactor msger module to ulitize logging module
69   * refine error class module
70   * improve installation in virtualenv
71   * add bash completion support
72   * add zsh completion support
73   * export mapper device related to installer framework
74   * update BmapCreate to the latest version
75   * bug fix:
76     - fix customized plugin_dir not work in bootstrap
77     - fix packing process exit on Ubuntu
78     - fix loop device alloaction failed on openSUSE
79     - fix incorrect number showing during installing
80     - set owner of cacheidr/outdir to SUDO_USER
81     - correct project url in setup.py
82     - fix mic not work when mic.conf disappear
83
84 Release 0.21 - Mon Aug 26 2013 - Gui Chen <gui.chen@intel.com>
85 =====================================================================
86   * new distribution support: Fedora 19
87   * refactor chroot module to correct the logic
88   * add an alias for installerfw - installerfw_plugins
89   * remove fuser dependency to avoid some unmount issue
90   * enable proxy setting with authentication
91   * don't get proxy info from /etc/sysconfig/proxy ever
92   * kill processes inside chroot after post script running
93   * reload device mapper using 'dmsetup' utility
94   * bug fix:
95     - fix bootloader options omitted
96     - warn failed boot partition flags set
97     - fix wrong file descriptor issue
98     - fix some requires
99
100 Release 0.20 - Mon Jul 01 2013 - Gui Chen <gui.chen@intel.com>
101 =====================================================================
102   * new distribution support: CentOS 6
103   * drop image creation if checked packages not present in image
104   * introduce 'installerfw' command in kickstart to customize configuration
105   * improve output message of post scripts
106   * bug fix:
107     - fix rpm not support 'VCS' tag traceback
108
109 Release 0.19 - Thu May 16 2013 - Gui Chen <gui.chen@intel.com>
110 =====================================================================
111  * new distribution support: Ubuntu 13.04 and openSUSE 12.3
112  * introduce '--part-type' to handle GPT partition
113  * copy bmap creation from bmap-tools
114  * update some depends and fix depends issue
115  * bug fix:
116    - fix bug autologinuser always set
117    - fix symlink bind mount left issue
118    - fix '/var/lock' non-existent throw traceback
119
120 Release 0.18 - Mon Apr 03 2013 - Gui Chen <gui.chen@intel.com>
121 =====================================================================
122  * put build_id before image name for release option
123  * mount build directory as tmpfs to speed up
124  * enable --priority in ks to set priority
125  * upgrade qemu (mic's depends) to 1.4.0
126  * bug fix:
127    - fix debuginfo rpm swig attribute lost
128    - fix release option failure with slash
129    - fix man page lost in some distros
130    - fix bmap file packed to tarball
131  * code cleanup:
132    - unify import statements to absolute import
133    - clean up many undefined in partitionfs.py/loop.py/livecd.py
134    - clean up some useless try and raise blocks
135    - clean up some bad indentations
136    - improve some error messages
137
138 Release 0.17 - Tue Feb 28 2013 - Gui Chen <gui.chen@intel.com>
139 =====================================================================
140  * support new distribution Fedora 18
141  * enable to handle more than 3 partitions
142  * support partitions without mount point
143  * move vcs infomation from .vcs to .packages
144  * clean up some mess in utils/misc.py
145  * bug fix:
146    - fix failure when symbolic link vmlinuz in single disk
147    - fix incorrect alignment handling
148    - fix requires squashfs in opensuse
149    - fix unicode error in myurlgrab
150  * code cleanup:
151    - clean up some mess in utils/misc.py
152    - clean up pylint issue in creator.py
153
154 Release 0.16.3 - Wed Feb 06 2013 - Gui Chen <gui.chen@intel.com>
155 =====================================================================
156  * fix no key 'HOME' in environ variable failure
157  * remove suffix when release specified
158  * roll back to original naming for release
159
160 Release 0.16 - Wed Jan 30 2013 - Gui Chen <gui.chen@intel.com>
161 =====================================================================
162  * add GPT support for UEFI format
163    - add --ptable=gpt option in kickstart to enable GPT
164    - add simple GPT parser to parse PARTUUID
165    - use PARTUUID in syslinux.cfg if gpt required
166    - clean up the mess code and improve readability
167  * improve alignment to reduce unused space
168    - add interface add_disks for PartitionedMount
169    - clean up the mess code in partitionfs.py
170  * append timestamp suffix to image name by default
171  * add a new option --nocache in kickstart to disable caching rpm
172  * add a new value 'vcs' for --record-pkgs to save VCS info
173  * add a new option --fstab-entry for raw image to set fstab entry
174  * introduce a new option '--install-pkgs' in mic
175    - valid values imagined: source, debuginfo, debugsource
176    - enable 'debuginfo' to install '-debuginfo' rpm in the meantime
177  * improve loop device generating and cleaning mechanism
178  * code cleanup:
179    - update documentation
180    - rename MANIFEST to MD5SUM
181    - clean up moblin stuff in kickstart
182    - clean mic tests and keep only unittest
183    - sepreate the download related as independent module
184  * bug fix:
185    - cleanup zypp credential file to fix conflicts during installing
186    - fix the issue that outdir/cachedir is not dir
187    - recalculate package content recording
188    - refactor try except statement in baseimager
189    - fix existing loop images overwritten
190
191 Release 0.15.3 - Wed Jan 23 2013 - Gui Chen <gui.chen@intel.com>
192 =====================================================================
193  * urgent bug fix:
194    - fix loop device not cleaned issue
195    - fix bootstrap dirs not unmounted issue
196    - fix mic failed in kvmic issue
197    - fix binfmt register in bootstrap incorrect
198    - fix rpm path incorrect when local repo and sslverify used
199  * other bug fix:
200    - fix x86_64 image conflicts installing x86_64 and x86 rpm
201    - verify if logfile is a file
202    - fix type error when calling mknod
203    - fix the failure if ks under / dir
204    - clean up the mess 'directory not empty'
205    - fix type error when calling mknod
206
207 Release 0.15 - Tue Dec 13 2012 - Gui Chen <gui.chen@intel.com>
208 =====================================================================
209  * adapt new mechanism for bootstrap mode
210    - create 'mic-bootstrap-x86-arm' by obs build
211    - publish 'mic-bootstrap-x86-arm' into server repo
212    - use 'mic-bootstrap-x86-arm' as bootstrap env for x86 and arm image
213  * filesystem parameter support for ext[234] fs
214    - sample in ks: part / --size 1000 --fstype=ext3 --extoptions="-I 256"
215    - other filesystem will ignore option '--extoptions'
216  * update the documentation and man page
217  * multiple bootstrap path to support multi-instance mic
218  * use 'pkgmgr=auto' to select available backend in conf file
219  * improve loop device creation algorithm and create loop device by 'mknod'
220  * bug fix:
221    - bear unexpected checksum type when getting metadata
222    - avoid traceback when loopback is NoneType
223    - lseek limit to 2G in 32bit env
224    - split out username and password in zypp repo file
225    - use rpm real path instead of 'cp' if it's local repo
226    - fix local repo unavailable in bootstrap
227    - fix traceback when failed to unmap kpartx device
228    - fix timestamp incorrect issue in logfile
229
230 Release 0.14.2 - Wed Nov 14 2012 - Gui Chen <gui.chen@intel.com>
231 =====================================================================
232  * support dracut for live image
233  * update bmap version to 1.1
234
235 Release 0.14.1 - Fri Oct 15 2012 - Gui Chen <gui.chen@intel.com>
236 =====================================================================
237  * support bmap file for ivi flashing tool
238  * just warning in chroot when not Tizen/MeeGo chroot dir
239  * fix logfile lost in bootstrap mode
240  * clean mounts in bootstrap when exiting
241  * bug fix:
242    - fix https proxy issue in yum backend
243    - avoid traceback when loop instance is NoneType
244
245 Release 0.14 - Thu Aug 02 2012 - Gui Chen <gui.chen@intel.com>
246 =====================================================================
247  * use cached metadata when checksum is not changed
248  * skip non-fatal error in ks file and prompt user to handle
249  * prompt user to handle when failed to apply img configure
250  * replace hard name with device uuid in etc/fstab
251  * enhance extlinux cfg file for symbolic kernel like IVI
252  * support label assign for raw image
253  * bug fix:
254    - fix live image create failure when label assigned
255    - avoid traceback when converting unsupported type
256    - fix mic --version ugly output
257
258 Release 0.13 - Wed Jul 12 2012 - Gui Chen <gui.chen@intel.com>
259 =====================================================================
260  * create logfile as default when --release specifid
261  * use 'gzip' and 'bzip2' to pack image instead of python
262  * automatically detect path of 'env' for chroot
263  * record version and os info in build log and logfile
264  * bug fix:
265    - fix popup message in ubuntus
266    - fix unicode issue for logfile
267    - better fix for 'chroot raw' issue
268
269 Release 0.12 - Wed Jun 20 2012 - Gui Chen <gui.chen@intel.com>
270 =====================================================================
271  * use default value when @BUILD_ID@ and @ARCH@ not specified
272  * enhance proxy support in attachment retrieve
273  * add new --shrink opt for loop image to control img shrinking
274  * avoid invalid literal for loop device generation
275  * relocate and refactor selinux_check func
276  * remove prefix for make install
277  * bug fix:
278    - fix compres image in raw image
279    - fix src pkgs download failed issue
280    - fix convert failed issue
281
282 Release 0.11 - Fri Jun 08 2012 - Gui Chen <gui.chen@intel.com>
283 =====================================================================
284  * support new subcmd 'auto' to handle magic line in ks
285  * enhance the handle of authentication url and https proxy
286  * support packing images together and support compressed file format
287  * reset LD_PRELOAD for chroot env
288  * centralized interface to check existing images
289  * avoid live image creating when using multi-partitions
290  * resolve the depends of python-urlgrabber
291  * bug fix:
292    - fix logfile context lost issue
293    - fix attachment package url handling
294    - fix mic ch raw failed issue
295
296 Release 0.10 - Tue May 15 2012 - Gui Chen <gui.chen@intel.com>
297 =====================================================================
298  * container support using '%attachment' section in ks
299  * add --compress-to option to support zip format in loop image
300  * auto-detect config and plugindir to meet virtualenv and customized install
301  * remove all hardcoded info in setup.py and use sys.prefix for installing
302  * tolerate some OS errors in the image configurations stage
303  * extra patch:
304    - fix zypp missing password when using username passwd
305    - some fixes to enhance authentication url
306    - refine repostr structure to fix comma issue in baseurl
307
308 Release 0.9 - Fri Apr 13 2012 - Gui Chen <gui.chen@intel.com>
309 =====================================================================
310  * support pre-install package with zypp backend
311  * sync /etc/mic/mic.conf to bootstrap
312  * enhance sorting for version comparsion in zypp
313  * rewrite chroot tar image using xml format mount point file
314  * fix the incorrect number showing in fs src pkgs download
315  * remove tests directory for dist in Makefile
316  * fix liveusb parted mkpart failure, revert mbr size expand in raw
317  * cleanup /tmp/repolic* dir in the EULA checking
318
319 Release 0.8 - Mon Mar 26 2012 - Gui Chen <gui.chen@intel.com>
320 =====================================================================
321  * partition alignment support
322  * remove bootloader option 'quiet vga' for raw
323  * update dist files in git source
324  * update unittest, add cases for chroot, msger, runner
325  * add 40 system test case for help
326  * rewrite loop device allocation mechanism
327
328 Release 0.7 - Fri Mar 02 2012 - Gui Chen <gui.chen@intel.com>
329 =====================================================================
330  * zypp backend: fixed a fatal issue of unreleasable loop devs
331  * zypp backend: more friendly output message
332  * backend: share cached rpm files between yum and zypp
333  * enhancement for multiple partition loop format
334  * make msger to accept Unicode string
335  * fixed a regression of compress option for FS format
336  * fixed issues in openSUSE12.1
337  * new written man page
338
339 Release 0.6 - Thu Feb 16 2012 - Gui Chen <gui.chen@intel.com>
340 =====================================================================
341  * give hint when converted image existed
342  * conf.py: proxy scheme check
343  * space check before copy image
344  * zypp: abort with error msg for repo resolver issues
345  * runner.py refinement
346  * ks file syntax check for '%post' without '%end'
347  * support more compression formats than only bzip2
348  * fix msg NoneType issue, causing exit after install
349  * bootstrap:
350    - catch creator error when retrieving bootstrap metadata
351    - correct matching .metadata file in bootstrap
352
353 Release 0.5 - Mon Feb 06 2012 - Gui Chen <gui.chen@intel.com>
354 =====================================================================
355  * Rewrite the algorithm of checking free space for download and install
356  * Add --shell option for convert to recreate image modified by internal shell
357  * Add -s option for chroot to unpack image
358  * Introduce --copy-kernel option for creator
359  * Remove the hardcoded default args for bootloader
360  * Disable logstderr and flush message buffer in disable_logstderr
361  * Deal with yum.conf inside yum backend by itself
362  * Bug fix:
363    - Fix rpmdb error in yum and zypp to avoid bad file descriptor message
364    - Fix MANIFEST syntax to be compliant with md5sum
365    - Correct dependencies for mic in bootstrap
366
367 Release 0.4 - Fri Jan 06 2012 - Gui Chen <gui.chen@intel.com>
368 =====================================================================
369  * Support bootstrap mode, run with '--runtime=bootstrap'
370  * Full support for taring-to output, use 'mic ch x.tar'
371  * Break dependency between backend and baseimage
372  * Check valid repos in ks file
373  * Space check update and catch no space exception
374  * Fix no prompt when cv and ch no existed image
375  * Fix NoneType 'createopts' when convert
376  * Fix no existed local_pkgs_path
377
378 Release 0.3 - Mon Dec 26 2011 - Gui Chen <gui.chen@intel.com>
379 =====================================================================
380  * Unit test support, run 'make test'
381  * Enable proxy support in config file
382  * Refine configmgr and pluginmgr
383  * Support multi instance with different cache dir
384  * Add 47 system test case
385  * Improve md5sum generation
386  * Add repo option --ssl_verify
387  * Add option --name_prefix
388  * Reformatted code according to PEP08
389  * Backport from mic2:
390    - Add priority and cost option for repos
391    - Reinstroduced compress-disk-image option
392
393 Release 0.2 - Tue Nov 29 2011 - Gui Chen <gui.chen@intel.com>
394 =====================================================================
395  * Support btrfs and ext4 fstype for creator, convertor, and chroot
396  * Append distfiles and Makefile
397  * Check arch type from repo data
398  * Set rpm dbpath to fix 'rpm -qa' issue
399  * Fix chroot issue caused by image size
400  * Improve setup.py and make it compatible with python 2.5
401  * Disable ca check for https
402  * Change default output dir name to ./mic-output
403  * untrack mic/__version__.py
404  * Fix some minor issues
405
406 Release 0.1 - Thu Oct 27 2011 - Gui Chen <gui.chen@intel.com>
407 =====================================================================
408  * Support three subcommand: create, convert, chroot
409  * Support five image types: fs, loop, raw, livecd, liveusb
410  * Support two package manager backend: yum and zypp
411  * Support the following global command line options:
412    - --verbose
413    - --debug
414  * Creator subcommand support the following command line options:
415    - --logfile=LOGFILE
416    - -c CONFIG, --config=CONFIG
417    - -k CACHEDIR, --cachedir=CACHEDIR
418    - -o OUTDIR, --outdir=OUTDIR
419    - -A ARCH, --arch=ARCH
420    - --release=RID
421    - --record-pkgs=RECORD_PKGS
422    - --pkgmgr=PKGMGR
423    - --local-pkgs-path=LOCAL_PKGS_PATH
424