kiwi-boot-requires-8.32.2-9.1>p  @D\lYa%~?~d  Y #*I ,PlPP(89h:SF}5X}H Y}t b}c~d~~e~f~l~z~Ckiwi-boot-requires8.32.29.1KIWI - buildservice package requirements for boot imagesMeta package for the buildservice to pull in all required packages in order to have them in the buildservice created repositories to allow kiwi to build the boot image. This package must never be published nor installed by anybody else except for the buildservice, it is part of the kiwi - buildservice integration exclusivelyYa;lamb68openSUSE Leap 42.3openSUSEGPL-3.0+http://bugs.opensuse.orgSystem/Managementhttps://github.com/SUSE/kiwilinuxx86_64python-kiwi-8.32.2-9.1.src.rpmkiwi-boot:isobootkiwi-boot:vmxbootkiwi-boot:netbootkiwi-boot:oembootkiwi-filesystem:btrfskiwi-filesystem:xfskiwi-filesystem:ext3kiwi-filesystem:ext4kiwi-filesystem:squashfskiwi-boot-requireskiwi-boot-requires(x86-64)   btrfsprogse2fsprogsxfsprogspython3-kiwiadaptec-firmwareatftpbcbind-libsbind-utilsbusyboxbzip2cdrkit-cdrtools-compatcheckmediacryptsetupcurldialogdiffutilsdmraiddosfstoolsfbitermfilefilesystemfribidigawkgenisoimagegettext-runtimegfxbootglibcglibc-localegptfdiskgrub2grub2-i386-pcgrub2-x86_64-efigrub2-x86_64-xenhdparmhwinfoifplugdiproute2iputilskbdkernel-defaultkernel-desktopkernel-firmwarekexec-toolskiwi-toolskmod-compatkpartxlvm2makemdadmmemtest86+nbdnet-toolsnetcfgnfs-clientpartedpciutilsplymouthplymouth-scriptsprocpspsmiscqemu-toolsrpmrsyncshimsquashfssysconfigsysfsutilssyslinuxsysvinit-toolstartimezoneudevutil-linuxwhichwickedxzrpmlib(PayloadFilesHavePrefix)rpmlib(CompressedFileNames)rpmlib(PayloadIsLzma)8.32.24.0-13.0.4-14.4.6-14.11.2YJ_YI@YI@YI@YI@YI@YYX@X@X~@X~@X*X6@X6@X6@XXXXXXAXAXAXAX@X@XXX@X@XXX~@X~@X~@X~@X|XtXtXtXs{@Xs{@Xs{@Xs{@XY@XY@XVz@XVz@XS@XS@XRXOXOXOXN@XIK@XIK@XGXF@XF@XF@XEVXEVXEVXEVXEVXEVXEVXEVXAb@X@X@X@X>@X>@X<@X8'X6@X6@X6@X6@X6@X43@X43@X2X2X2X2X2X.@X.@X.@X-X-X-X-X,J@X,J@X,J@X,J@X*X*X*X*X*X*X)@X)@X(UX(UX'@X%X$a@X$a@X$a@X$a@X#X#X#X!@X!@X!@X!@X!@X!@X!@X!@X lX lX lX@Xx@Xx@Xx@Xx@Xx@X&X@X@X@X@X@X@XXXX2@X2@X2@X=X=X@X@X@XXI@XI@XI@XI@XI@XI@XI@X X X X @X @XXXXX`@X`@X`@X`@X`@X`@X`@X`@X`@X`@X`@XXXXXXXXXXXXXXXXXXX@X@X@X@X@X@X@Ww@Ww@Ww@Ww@Ww@Ww@Ww@Ww@Ww@Ww@W%W@W@W@W@WWWWW@W@W@V>@V>@V>@V>@V>@V>@V>@VVV͛@V͛@V͛@V͛@V͛@V͛@V͛@V͛@V͛@V͛@V͛@V͛@V͛@V͛@VIVIVIVIVIVIVIVIVIVIVIVIV@V@V@V@V@VɦVɦVɦVɦVɦVɦVɦVɦVVVVVVVVŲ@VŲ@VŲ@VŲ@VŲ@VŲ@V`V`V`V`V`V`V@V@VVVVVVVV@VwVwVwVwVwVwVwVwVwVwVwV&@V&@V&@V&@V&@VVVVVVVVVVVVVVV1V1V1V1V1V1V1V@V@V@V@V@VVVV=@VVVVVVVV@V@V@V@VT@VT@VT@VT@V@V@V@V_V_V@V@V@V@V@V@V@V@V@V@V@V@V@V@V@V@V@V@V@V@V@V@VVVVV@V@V@V@VvVvVvVvVvVvVvVvV%@V%@V%@V%@V%@V%@V%@V%@V%@VVV@V@V@V@VVV<@V<@V<@V<@V<@V<@VVVVVVVVV@V@V@V@V@V@V@V@V@V@V@VGVGV@VV@V@V@V@V@V^V^VVVj@Vj@Vj@Vj@Vj@VuVuVuVzVzVzVy;@Vy;@Vy;@Vy;@Vy;@VwVwVwVwVwVwVwVwVwVwVwVs@VrVrVrVrVrVqR@VqR@VqR@VqR@VqR@VqR@VqR@VqR@VqR@VpVpVpVpVpVpVpVpVpVn@Vn@Vn@Vn@VjVjVjVii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@VhVhVhVhVhVhVhVhVetVd#@Vd#@VbVbVbVbVbVbVbVbVbVbVbVbVbVbms@suse.dems@suse.dems@suse.dems@suse.dems@suse.dems@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comkukuk@thkukuk.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comkukuk@thkukuk.dekukuk@thkukuk.dekukuk@thkukuk.dems@suse.comms@suse.comms@suse.comms@suse.comdavidcassany@gmail.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtbechtold@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtbechtold@suse.comms@suse.comms@suse.comms@suse.comtbechtold@suse.comms@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comms@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comdcassany@suse.comdcassany@suse.comms@suse.comdcassany@suse.comms@suse.comms@suse.comms@suse.comtbechtold@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comjmason@suse.comjmason@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comcbruckmayer@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtoms@suse.dems@suse.comms@suse.comms@suse.comms@suse.comtoms@suse.detoms@suse.detoms@suse.dems@suse.comms@suse.combo@suse.debo@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.combo@suse.debo@suse.debo@suse.debo@suse.detbechtold@suse.combo@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.combo@suse.debo@suse.dems@suse.combo@suse.debo@suse.debo@suse.debo@suse.debo@suse.debo@suse.debo@suse.debo@suse.debo@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtom_schr@web.detom_schr@web.detom_schr@web.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtom_schr@web.detom_schr@web.detom_schr@web.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtoms@suse.detoms@suse.detoms@suse.detoms@suse.detoms@suse.dems@suse.comms@suse.comms@suse.comtoms@suse.detoms@suse.dems@suse.comtoms@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtoms@suse.detoms@suse.detoms@suse.detoms@suse.detoms@suse.detoms@suse.detoms@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtoms@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@novell.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtoms@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtoms@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtom_schr@web.detom_schr@web.detom_schr@web.detom_schr@web.dems@suse.comms@suse.comms@suse.comdvaleev@suse.comms@suse.comms@suse.comtoms@suse.dems@suse.comms@suse.comms@suse.comtoms@suse.dems@suse.comtoms@suse.detoms@suse.dems@suse.comtoms@suse.dems@suse.comms@suse.comms@suse.comtoms@suse.detom_schr@web.detom_schr@web.dems@suse.comms@suse.comtoms@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@novell.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtom_schr@web.detom_schr@web.dems@suse.comtom_schr@web.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@novell.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@novell.comms@novell.comms@novell.comms@novell.comms@novell.comms@novell.comms@novell.comms@novell.comms@suse.comms@novell.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtoms@suse.detoms@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comtom_schr@web.detom_schr@web.detom_schr@web.dems@suse.comms@suse.comtoms@suse.detoms@suse.dems@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.comms@suse.com- Bump version: 8.32.1 → 8.32.2- Fixed setup_plymouth_splash The schema generated get_bootsplash_theme() method returns a list because it's section content. The return value of the method was used as a string which caused a runtime error- Bump version: 8.32.0 → 8.32.1- Added Leap42.3 boot descriptions- Bump version: 8.31.0 → 8.32.0- Incorporate important Fixes + Add support for runtime configuration file + Add support for custom xz tool options + Add support for excluding packages when using DNF + Add support for excluding packages when using Yum + Fixed GPL license text to match headers and spec + Refactor documentation layout and structure + Added dracut output file format detection + Handle rpm-check-signatures flag for each package manager + Fixes OEM deployments on a free partition, bnc#1039469 + Improve rpm-check-signatures support + Added --clear-cache option + Add --signing-key option + Fixup working dir for editboot scripts + Fixup kernel name lookup + Added fallback setup for grub secure boot + Allow vendor specific grub config file location + Fixup EFI setup for iso images + Refactor detection code for grub directory name + Include imageonly attribute for repositories + Fixed gce disk format- Bump version: 8.30.1 → 8.31.0- Incorporate important Fixes + Add support for derived container builds in OBS + Support for weak and strong dependencies in dnf, yum + Add support for OCI images + Add require/recommend installation support for yum + Include 'plusRecommended' management for dnf + Update development and contribution chapter + Fixup grub2 template parameters + Fixup grub2 bios module setup + Avoid GRUB_DISTRIBUTOR setup in etc/default/grub + Added element- Bump version: 8.30.0 → 8.30.1- Incorporate important Fixes + Fixup pxe builder. Filesystem image rootfs was not in toplevel + Refactor ip link detection. There is no reliable way to check if a link is unplugged, thus the system has to be changed + Ensure grub.cfg exists in EFI path for iso images + Delete no longer needed btrfs bootpath setup (bsc#1030038) + Fixup bootloader menu title setup (bsc#1032118) + Avoid GRUB_DISTRIBUTOR setup in etc/default/grub (bsc#1032119) + Added element + Fixup grub2 setup and tool calls- Bump version: 8.29.8 → 8.30.0- Incorporate important Fixes and Features + Added support for layered docker images + Added support for base docker images created via umoci/skopeo + Added support for multipython build + Added image info command + Fixed kiwi API, make sure modules are found when used in other python programs + Fixed use of legacy services + Support repositories with credentials + Support DNF package manager + Fixed network link detection Related to (bsc#1011342) and (fate#319678)- Disable automatic documentation deployment The documentation should be in line with the master branch not with the version maintained for SLES. The documentation for SUSE enterprise products is handled by the SUSE doc team- Bump version: 8.29.7 → 8.29.8- Include in SLE 12 (fate#322094, bsc#1011342)- Bump version: 8.29.6 → 8.29.7- Update documentation Add information about new hook: handleMachineID- Bump version: 8.29.5 → 8.29.6- Fixup isolinux timeout configuration isolinux counts the timeout in units of 1/10 seconds. Thus the value provided in the image description needs to be adapted correctly. This Fixes #228- Bump version: 8.29.4 → 8.29.5- Fixup setupMachineID Cleaning up existing machine id files by deleting them causes an interactive session to be started by systemd This is something we don't want. As the consequences of touching the machine id files seems to be too critical the method has been turned into a hook caller. This allows the user to make use of it on their own purpose and by default doesn't mess with the machine id files- Bump version: 8.29.3 → 8.29.4- Change processing of setupMachineID Instead of creating new machine ids for systemd and dbus the method now cleans up all existing machine ids and leave it up to systemd to initialize and create new ids. This allows to make use of the native way how systemd retrieves and handles machine ids- Fixup typo in ReST style- Bump version: 8.29.2 → 8.29.3- Add utils.sysconfig to api documentation- Completion for grub bootloader configuration The configuration files /etc/sysconfig/bootloader and /etc/default/grub needs to be created/updated with the relevant values regarding the bootloader setup done by kiwi. This Fixes #226- Apply volume attributes for btrfs and lvm The chattr utility is used to apply file attributes So far only the no-copy-on-write attribute can be specified in a volume setup. If further attributes are needed they will be added on demand- Added attributes element in volume type- Added volume attribute copy_on_write The copy_on_write attribute allows to activate or deactivate the copy on write functionality for the desired volume. This Fixes #218- Make sure there is a storage default setup on s390 Storage disks on s390 requires an information about the type and the blocksize. In case these information is not provided in the kiwi XML configuration, None was set as value in the zipl configuration which lead to an error. This commit provides default values for those parameters- Bump version: 8.29.1 → 8.29.2- Allow unix device names in oem-unattended-id setup In order to allow a raw device name in oem-unattended-id the /dev tree has been added to search list. This is useful if e.g a ramdisk device which is not part of any /dev/disk/... or /dev/mapper device map should be used as target disk for the deployment. Thus a setup to stick the deployment to e.g /dev/ram1 would look like this ram1 This Fixes #221- Don't delete ip tools from oemboot network tools are needed for oem disk deployment via pxe- Added .coveragerc Clearly indicate which source files are excluded from the coverage report- Make sure setupMachineID also cares for dbus Systemd and dbus should use the same machine-id. Therefore a symlink /var/lib/dbus/machine-id pointing to /etc/machine-id is created right after systemd-machine-id-setup. Fixes #219- Fixup duplication of btrfs toplevel volume If using root btrfs snapshot, the default toplevel subvolume is set to /@/.snapshots/1/snapshot, thus all defined subvolumes are mounted under that cusomized default subvolume. For the first time subvolumes are mounted it is fine to include /@/.snapshots/1/snapshot prefix as root is not yet set to that specific path, however in any future mount this path prefix is not needed any more, as the root get mounted in /@/.snapshots/1/snapshot by default. Fixes (bsc#1015549)- Bump version: 8.29.0 → 8.29.1- Rebuild schema documentation- Bump version: 8.28.3 → 8.29.0- Running config.sh after including the image repositories This commit rearranges some code lines in order to run the config.sh script after the repositories of the image have been included, this way repositories can be trusted and refreshed in config.sh script.- Update container builder code to new schema layout- Auto update image descriptions to schema v6.5- Update schema for container setup In preparation to support creation of native docker containers the way docker likes it, the kiwi schema has to be adapted. So far there was no way to specify additional metadata information for containers. With this commit a new section called is provided. containerconfig is a subsection of the type and only allowed for the docker image type. This constraint is checked via a schematron rule. In addition an xslt stylesheet moves the currently existing container attribute, which was used to set a name for the container, into the new containerconfig section as name attribute- Bump version: 8.28.2 → 8.28.3- Fixed quadruple_token tokenizer Information not provided should end up as a None type in the list in any case. If an empty string was provided via e.g --add-repo source,type,, the tokenizer puts in an empty string. If the information was provided as --add-repo source,type a None type was used. The code handling the information expected a None type for not provided information, with an empty string we end up in validation code which e,g complains that an empty string can't be converted into an integer base repo priority- Bump version: 8.28.1 → 8.28.2- Update documentation Default provider must be set in the caller environment if different from the default docker provider- Bump version: 8.28.0 → 8.28.1- Update container builder documentation Add information about the now available kiwi build box and the use of it as part of libvirt provider setup for vagrant- Bump version: 8.27.5 → 8.28.0- Bump version: 8.27.4 → 8.27.5- Fixup spec file build requires shadow tools are needed for %pre tasks using groupadd/useradd tools- Bump version: 8.27.3 → 8.27.4- Fixup spec file tftp group/user setup Let %pre fail if groupadd/useradd failed and show the error to the user- Added DiskFormatVagrantLibVirt class Allow to build vagrant boxes for the libvirt provider This Fixes #15- Update vagrantconfig schema setup Delete the virtualbox provider, As long as there is no opensource variant for the ovf creation available we won't support that provider- Bump version: 8.27.2 → 8.27.3- Adapt documentation to rtd schema replace topic node used for abstract by a hint. This results in a color box for the abstract which looks better than what rtd does with simple topics- Adapt schema generator to rtd doc schema- Move to rtd sphinx schema The read-the-docs schema fits better into the mainstream of online documentation- Bump version: 8.27.1 → 8.27.2- Added check_volume_setup_has_no_root_definition The root volume in a systemdisk setup is handled in a special way. It is not allowed to setup a custom name or mountpoint for the root volume. Therefore the size of the root volume can be setup via the @root volume name. This check looks up the volume setup and searches if there is a configuration for the '/' mountpoint which would cause the image build to fail- Prevent warning about unknown opt in workflow doc- Bump version: 8.27.0 → 8.27.1- Rebuild schema documentation- Add a docstring for the extension section Short description what the extension section is good for- Prevent any type from attribute recursion The schema parser to create the documentation run into an endless recursion for the new k.any type. As any could be anything there is not much do document for this type. Thus it is now skipped from the traversal- Bump version: 8.26.1 → 8.27.0- Update documentation per review- Including minimum volume size offset in disk size calculation This commit adds Defaults:get_min_volume_mbytes() to the disk size calculation algorithm. This should be sufficient to hold fdisk default offset when creating the first partition and also to hold the LVM metadata.- Added extension documentation- Make sure to catch exceptions from xsltproc- Add extension validation and data access If an extension section exists the xml data in this section is validated against the RelaxNG schema which must be part of the xmlcatalog for the used extension namespace. If the data validates the method get_extension_xml_data can be used to access the etree parse result for each of the extension configurations- LVM volumes management during grub2 install During the grub2 install process volumes were not mounted properly, a proper mount order was not taken into consideration and LV device information was not given by the method get_volumes in VolumeManger. This commit forces the mount (and umount) operations to be done in coherent order and also modifies the get_volumes method in order to return the device associated to each volume.- Allow section for custom plugins For the use case to add additional image description information an extension section exists which allows to add custom section and attributes. Custom XML information must be connected to a namespace in order to avoid conflicts with the existing structure. The following example shows how to place additional XML information: - Fixed expansion of msdos disks If the target disk size is beyond 2TB it can't be expanded to the full size if the msdos partition table layout is in use. Because of this the disk expansion will be limited to the allowed maximum for the msdos partition table type which is at 2TB. This fixes bnc#1010966- Bump version: 8.26.0 → 8.26.1- Fixup of string + operator vs. join use- Fixed setup_disk_image_config in bootloader setup The parameter for the uuid is not enough to handle all supported disk geometries. If the disk has an extra boot partition the bootloader setup must read the boot data from the boot partition but must set the root for the kernel cmdline to the root partition. Therefore the interface needs to change and must provide both the boot_uuid and the root_uuid in oder to allow the method to setup the correct values- Parse arch attribute as a comma separated list This commit ensure that the arch attribute of each package section is parsed as a comma separated list. This way, as in previous kiwi versions, each package might be suitable for one or more specified architectures.- Fixup kernel name setup in disk builder The Kernel instance is the only correct place to ask for the kernel name. This class has the responsibility to know information about the selected kernel. The additional arch based assumption on the kernel name in the disk builder were wrong. This fixes bnc#1011936- Fixed typo in solver api documentation- Bump version: 8.25.5 → 8.26.0- No more hard links in result bundle This commit changes the copy command of the result bundle task. Now instead of creating hardlinks a relugar copy is performed. This way we ensure that the bundled files will not be modified by overwritting a linked file.- Documentation workflow review- The Sat solver class - an example The Sat solver class can be used to run a solver operation over a list of packages and/or patterns in order to receive a dependency solved list of all required packages according to the request. In order to do that a set of repositories is required which provides the package metadata and their requirements. The following is an example how to use the Sat class in your application: ```python from kiwi.solver.sat import Sat from kiwi.system.uri import Uri from kiwi.solver.repository import SolverRepository solver = Sat() solver.add_repository( SolverRepository(Uri('obs://leap/42.2/repo/oss', 'yast2')) ) print(solver.solve(['vim'])) ```- Fixup code smell for kernel name list Iterating over only one list item doesn't need a loop- Fixup style to be more pythonic- Fixed release network using ip tool Apply the cidr fix from setupNic and introduce a new method called deleteNic which replaces the wrong ip call from the releaseNetwork method. Fixes bnc#1003091- KIWI workflow documentation This commit ports the workflow documentation from previous KIWI version and also adds a sections for listing the boot parameters configurable in the Kernel command line.- Fixed kernel name lookup Complete the list of kernel names for the lookup. Normally the kernel package provides a symlink to the actual kernel image file. However if the link does not exist we extend the search to a collection of names for possible kernel images. The new list now also covers kernel names as used for arm Along with the change this patch also provides an option to raise an exception if the kernel lookup did not find any kernel, which is used for the get_kernel() request in the dracut initrd system setup where it is mandatory to find a kernel image. This fixes bnc#1010874- Added Sat solver class Added implementation for Solver class based on the SUSE libsolv C library and the solv python binding- Bump version: 8.25.4 → 8.25.5- Fixup lease time in setupNetworkWicked The default lease time with 300s used by wicked is relatively short and different from the default lease time of the former dhcpcd. This change causes wicked to use a lease time of 3600s This is related to bnc#1003091- Fixup default behavior of releaseNetwork If no tool was found to communicate with the dhcp server in order to free the lease the method did nothing. However it should at least bring down the network. This is related to bnc#1003091- Bump version: 8.25.3 → 8.25.4- Fixup get_volumes for lvm manager The method also returned the root volume in the list of volumes but it should only return a list of volumes excluding root volume- Fixup setupNic for address information in cidr Ignore netmask if address is already in cidr format- Bump version: 8.25.2 → 8.25.3- Fixup btrfs property setup The readonly property is set on the filesystem toplevel. kiwi has set the toplevel before any property is set.- vhdfixed images result compression This commit adds compression to the Result instance of the vhdfixed disk. This concrete format is not compressed or dynamic, so that, it makes sense compress them. Also this was the behavior in previous kiwi versions.- Replace tabs with spaces- Fixup handling for root_is_readonly_snapshot The information was not passed to the VolumeManager instance- Fixup mount_volumes in VolumeManagerBtrfs It is required to mount the toplevel btrfs filesystem if not already mounted, prior to mounting the subvolumes- Fixed busy mount state Make sure subvolumes are umounted first. This prevents a busy state in a partition setup with an extra boot partition- Bump version: 8.25.1 → 8.25.2- Fixup creation of etc/default/grub config file Only create the file if the base directory structure in etc/default exists.- Remove empty line too much- Implement loading of snapshots and fix snapshot menu layout. If you want to boot an old snapshot, but not to do a rollback, we need to tell the kernel which snapshot to use. This patch also fixes the broken layout of the grub snapshot menu.- Move source of grub-snapshot.cfg to the right position grub-snapshot.cfg should not be sourced at the begining, but at the end of grub.cfg. Else with creating the first snapshot this entry is getting the default boot target and the system does not boot automatically anymore.- Fixup netboot code for multipath boot device If the root disk in a netboot deployment is a multipath device we have to make sure the multipathd is started and the boot device is mapped to the wwn- Bump version: 8.25.0 → 8.25.1- Update doc string for download_from_repository The doc string for this method contained a mime string which is spuriously validated by the sphinx url checker. This commit rewords the text in a way that the checker is happy again- Bump version: 8.24.10 → 8.25.0- Do not delete all repositories if there aren't repositories to import (#191) This commit adds a tester method to check if there is any repository marked as imageinclude. The method is used to execute import_repositories_marked_as_imageinclude method only when it is actually needed.- grub.cfg: Fixes for btrfs as rootfs This addresses the following issues * An image based on btrfs using the entire boot as a subvolume causes grub to be unable to find its config file. Thus kiwi now raises an exception in this situation * Don't prefix the bootpath with the snapshot path if the btrfs root is placed in a snapshot. Instead the file etc/default/grub must be written/updated with the SUSE_BTRFS_SNAPSHOT_BOOTING variable set to true. Once this is done the bootpath is consistently set to /boot no matter which snapshot is active- grub.cfg: Source grub-snapshot.cfg if present Add a lookup for /.snapshots/grub-snapshot.cfg to the generated grub.cfg. The file is shell sourced if it exists- No need to mock Path.which There is no need to mock Path.which as isoinfo binary from the platform is needed to run the test, so better let the system look for it, note that the binray can be located in the alternate location (/usr/lib/genisoimage/) which is not part of the PATH. In that particular case the iso_test would fail if we mock Path.which.- Updated system size calculations test- Updated test for vhd-fixed subformat type- Increase the default image size for XFS filesystems When no size is specified in type section the resulting image size is calculated using the size of the whole build-root increased by an empiric factor. Some tests revealed that this factor was not enough for XFS filesystems. The empiric factor has been increased. This commit fixes #186- vhd-fixed name corrected in subformat init class This commit reverts the previous one and it applies the name change to the subformat class initializer. This way the schema is not altered and we keep compatibility with previous description files.- vhdfixed format naming inconsistency vhdfixed storage format name was not updated according its real name in the kiwi schema, making it impossible to build any vhdfixed image. The schema used to expect 'vhd-fixed', however, internally, the code was expecting 'vhdfixed'. The schema has been updated. This commit fixes #184- Implemented SolverRepositoryRpmDir Add support for local rpm-dir repositories- ActivateImage links correction Loading the iso image into a read-only ramdisk caused some issues due to the activatImage method cp commands. With this commit the symlinks are consistent during the preinit phase and also before running the cp command it is tested we are not in a read-only filesystem. This commit is a port form openSUSE/kiwi#613 PR- Implemented SolverRepositoryRpmMd Add support for rpm-md repository types- Fixup ip setup in setupNic The invocation of ip in setupNic was invalid. The way this was done causes the netmask to be set as broadcast address Related to bnc#1003091- Implemented SolverRepositorySUSE Add support for SUSE online and media repository types- Add repo_type info to Uri class This allows to eliminate the repo_type from the paramter list of the SolverRepository class, which then only needs an instance of Uri- Implement SolverRepositoryBase Base class and interface for building a SAT solvable from a given repository- Added API doc hook for solver path- Bump version: 8.24.9 → 8.24.10- Delete sphinxcontrib-programoutput setup Deleted it from virtualenv development requirements and from the sphinx configuration file- Delete use of sphinxcontrib-programoutput The developers of this sphinx extension decided to delete the module on pip and also the source from git... it's dead. Thus I replaced the dynamic usage output in the manual pages with the static version- Initial structure to support SAT solvables A SAT solvable can be used together with python-solv to implement performant package solving tasks. This is the initial structure to allow the creation of such solvable files from specified repositories. We will support the repo types yast2, rpm-md and rpm-dir in the first place.- updateOtherDeviceFstab did not get the fstab location parameter This is port from the kiwi v7 code base openSUSE/kiwi#610- Load the default unicode font in grub2 This commit fixes #179. The default font was never loaded, the loadfont call for the default was missing.- Bump version: 8.24.8 → 8.24.9- Fixed waitForStorageDevice Value for storage_size was not really used- Bump version: 8.24.7 → 8.24.8- Make sure kiwiserver/kiwiservertype is used If kiwiserver and/or kiwiservertype is specified on the kernel commandline they should take over precedence for up- and download of image files compared to the host setup in the IMAGE variable.- Don't mix python module requirements The tox setup mixes the deps modules depending on the tox target with either virtualenv.dev-requirements.txt or fixed deps lists in tox.ini. This change clean up the module dependencies for development targets to be taken from virtualenv.dev-requirements.txt exclusively- Update travis runtime requirements Installing python modules from source via pip requires git- Bump version: 8.24.6 → 8.24.7- sphinxcontrib-programoutput no longer on pypi Use the version from git directly to build the documentation In the long we should find an alternative for this sphinx extension- Fixup root init with existing host cache Creating a new root init with a shared location which already provides directories of the system failed on init of those directories. Only create the not yet existing directories- Fixup the wicked thing again- Put setupNetworkWicked in line with former dhcpcd The way setupNetworkWicked implements the dhcp discovery was incomplete. This Fixes bnc#1003091- Fixup assembling of mdraid array when udev discovers an mdraid array it partially starts the array. That is interfering with the mdadm --assemble call by kiwi which leads to a busy state and an array in inactive state. Therefore the method should wait until the raid array really exists no matter if the assembling is started by udev or kiwi's mdadm call. In addition if the array got assembled but is incomplete because devices are missing or the timout is fired, an additional call to start any array that has been partially assembled is required. pxeRaidAssemble will throw an exception if after this call no md device with a size > 0 will show up after a timeout. This Fixes bnc#1000742- Fixup waitForStorageDevice The function will return success if the size of the storage device can be obtained and is greater than zero. The pure success on reading from the block layer is not enough. In order to actually work with the device it must provide a size > 0. Related to bnc#1000742- Bump version: 8.24.5 → 8.24.6- Fixup initial directory creation for new root During testing of alternative cache locations an init problem with the var/ directory was observed- Do not allow imageinclude for images build in obs Fixes #178- SystemPrepare instance delete before runnig SystemSetup This commit fixes#175, now multiple profiles in OBS are possible using kiwi boot initrd.- Use docopt's default value feature for cache dir- Cleanup unit tests using sys.argv The tests should restore to the default argv option set as provided by the test_helper- Update manual page Include information for new --shared-cache-dir option- Added global option --shared-cache-dir The option allows to specify an alternative shared host_to_image cache directory. The default location is /var/cache/kiwi. Fixes #92- Fixed a couple of constraints- Redo of xml_parse.py with updated generateDS- Initialize the systemd machine ID on first boot The systemd machine id is considered to be a unique information Thus it is required to initialize it on first boot of the image. If the image uses the kiwi boot code (initrd) this action is performed and and Fixes #169- Bump version: 8.24.4 → 8.24.5- Some tests slightly modified in order to improve coverage This commit improves some example kiwi files and tests in order to achieve a 100% code coverage.- Corrections on test kiwi description files Some attributes needed to be changed in the test xmls. With this commit all the description files are consistent with the new co- occurrence constraints.- Co-occurrence constraints included in the schema Constraints for pxe, iso, vmx, oem and docker image types have been included.- config.partids only required for kiwi initrd If dracut is used as initrd system an unused config.partids file is generated. The partition id information is only used by kiwi boot code not by dracut boot code. Related to bnc#1005246- Bump version: 8.24.3 → 8.24.4- Make sure dracut initrd is copied correctly- Fixed a rounding error in partedMBToCylinder method bc truncates number of cylinders to zero decimal places, which results in a partition that is slightly smaller than the requested size. Add one cylinder to compensate.- Integrating Schematron syntax in schema Using Schematron syntax in schema co-occurrence constraints can be easily defined. This commit provides the schematron integration.- Bump version: 8.24.2 → 8.24.3- Write fstab to kiwi boot image only For the dracut initrd system the call happens in the system root tree which already provides the fstab data- Bump version: 8.24.1 → 8.24.2- Dereference boot arch symlinks- Bump version: 8.24.0 → 8.24.1- Fixed typo in build Makefile target- Bump version: 8.23.0 → 8.24.0- Use format method for messages in image_resize There are more places where this cleanup from %x format attributes to the format() method is required. Here it is done in the scope of the image resize task- Bump version: 8.22.0 → 8.23.0- Fixed setup.py custom install target Make install method aware of --single-version-externally-managed This option is passed to the call by pip if not installed as egg- Added setuptools to development requirements- Delete travis pypi deployment After weeks of try and error, this simply does not work for me Manual deployment via make pypi and a local account works fine Maybe this can be solved in the future but for now I can live with a manual step- Package kiwi/boot/arch into sub archive The sdist target runs into an infinite loop if installed via pip. It seems the symlink files below boot/arch confuses distutils- Bump version: 8.21.1 → 8.22.0- Revert "pycparser 2.15 does not play well with xattr" This reverts commit 428436988d1db1017adfb6e92dbc3235d54e06b3.- Only resize disk format if required Only resize the disk format if the raw disk has been changed If the size of the raw disk is the same as the requested size just print a message to the user- Simplify help call- Smarter way to calculate bytes from a size unit- Explicitly bool check for the service name option From docopt we expect a True/False value for the selected service name positional parameter. Thus the code should also make it clear what we expect- Use format method instead of printf like style- Update resize_raw_disk method Do not resize the disk if an attempt to resize to the same size was made. Do not fail in this situation but indicate via a bool return value if an action has happened(True) or not(False)- Use latest version of pip for tox setup- Revert "Fixup travis setup" This reverts commit ee9e633d78833d02a535e6f4d2ce775425082872.- Revert "Fixup travis.yml" This reverts commit 1c80841e8c264ba1957e2ae6b53d2af2929479b0.- Fixup travis.yml Make sure python-tox gets installed- Fixup travis setup No need to install requirements, this is all done by tox- pycparser 2.15 does not play well with xattr Use pycparser 2.14 in setup.py and virtual env requirements- Fixed setup.py install target pip calls the install target but not the build target. For kiwi's tools this means they need to run the tools compilation if not already done prior to the installation of the tools- Call dracut in system root tree Change BootImageDracut class to call dracut in the specified system root directory and not in a self prepared new root environment. dracut reads scripts and dracut module configurations from the installed system components, e.g kdump. Therefore calling it from an isolated runtime environment creates an initrd which is not matching the system components. Fixes bnc#1005246- Added kiwi image resize command The image resize command allows to resize a disk image and its optional disk format to a new disk geometry- Added manual page for image resize command- Add raw format to subformat factory- Allow ftp:// uri style for package repositories- Add grub2-efi-modules in rhel boot descriptions This package provides the efi modules which are needed if a custom efi module is build by kiwi via grub2-mkimage- Fixup doc string for target_removable attribute The default behaviour was not explained clear enough- Added resize_raw_disk method in DiskFormatBase Allow to increase the disk geometry of a disk image file in order to create free space on this disk- Handle target_removable in kiwi disk builder- Handle target_removable in kiwi boot code- Store kiwi_target_removable in profile env- Added target_removable attribute Indicate if the target disk for oem images is deployed to a removable device e.g a USB stick or not. This only affects the EFI setup if requested and in the end avoids the creation of a custom boot menu entry in the firmware of the target machine on first boot. This is related to bnc#993130- Use XML parser to test XML output for info.xml- parenthesis in imports only for multi-line imports- Delete unused textwrap import- Move info.xml test data into its own file- Fixup code smells per review Only import what is needed, concat strings by a join- Create info.xml file for btrfs snapshot If the system is installed into a btrfs snapshot a metadata file called info.xml is created which is used by tools like snapper. Fixes bnc#1000117- Cleanup use of cache location- Updated hideSplash method hideSplash method now hides the splash image regardless of an active console is detected or not. This commit is port from openSUSE/kiwi#601- Fixing wrong spaces- Updated fetchFile method Now it makes sure the splash is hidden before showing any progress dialog. This commit is port from openSUSE/kiwi#601- Bump version: 8.21.0 → 8.21.1- Fixup wicked DNS data validation wicked provides DNS info in DNSSERVERS with a space as separator and not with a ',' as it was the case in dhcpcd- Do not bundle the raw disk if a format is setup Only bundle the compressed version of the .raw disk image if no disk format like qcow2, vmdk, etc... is specified. Fixes #159- Do not compress disk formats Stay compatible with the former version of kiwi and do not compress disk formats like qcow2, vmdk, etc... It also does not make much sense since the disk formats itself are using a compression algorithm. Fixes #159- Support yum repository priorities yum normally installs the latest version of a package, regardless of which repository provides it. The yum-plugin-priorities provides a method to prefer a package from a repository with a higher priority. Fixes #153- Bump version: 8.20.22 → 8.21.0- Fix attributes_not_used helper script The script is used to check which parts of the XML schema are not used by the new (kiwi v8) version. The information is helpful to find missing or obsolete attribute handling in v8 vs. v7- Modified few code lines to match landscape's quality standards- Use tmpfs for write overlay in netboot via nbd/aoe- Added support for multiple `--add-profile` options- Added '--add-profile' option in compat mode This commit fixes #154. With this, the compatiblity mode accepts the `--add-profile` option which was present in previous kiwi versions and that is translated to `--profile` in the current version.- Add set_property_readonly_root for volume manager The custom option root_is_readonly_snapshot is evaluated for the method set_property_readonly_root(). If set and the root filesystem has been installed into a btrfs snapshot the filesystem is turned into read-only mode- Evaluate root_is_readonly_snapshot in disk builder- Added btrfs_root_is_readonly_snapshot attribute The attribute allows to specify if the root filesystem should be set to read-only if it is created as a btrfs snapshot. The option only has an effect if a btrfs snapshot is used as root filesystem. Fixes bnc#1000080- Bump version: 8.20.21 → 8.20.22- Added test for -udf flag for genisoimage/mkisofs- Added forcing UDF filesystem for large images Included -udf flag to force UDF filesystem usage- Fixed secure boot setup for iso media Provide the shim loader and the shim signed grub loader in the required boot path. Normally this task is done by the shim-install tool. However, shim-install does not exist on all distributions and the script does not operate well in CD environments from which we generate live and/or install media. Thus shim-install is used if possible at install time of the bootloader because it requires access to the target block device. In any other case the kiwi fallback code applies- Added support for mkisofs genisoimage and mkisofs tools are slightly different so this commit makes sure all flags are supported in both tools.- Fixed hybrid setup for large ISO images The isohybrid tool uses fseek() to locate the bootloader files. That's unfortunately not 64-bit safe. In case of an ISO image bigger than 4G this leads to 32-bit offset issues. kiwi can workaround this problem by putting the bootloader files near the top of the iso image, which is done by a change in the sortfile of this commit- Added rpm_excludedocs handling for yum rpm supports the --excludepath option. However, yum can not be configured to pass along options to rpm or the python interface it uses. Thus only a warning about excludedocs not being supported by kiwi for yum is issued. Fixes #133- Added rpm_excludedocs handling for apt Setup the appropriate dpkg options to avoid the installation of manual pages and package documentation if rpm_excludedocs is set in the kiwi XML description. Related to #133- Make sure netboot code populates kiwi_RootPart For disk based images the file config.partids is written and imported. However, for netboot stations a disk is optional and no partids information exists. In order to provide at least the partition number for the root partition on netboot stations with a disk, the kiwi_RootPart is exported from the provided client configuration file. Fixes bnc#1000194- Bump version: 8.20.20 → 8.20.21- Call grub2-install as chroot operation In addition to the chrooted call make sure all volumes from the volume manager (if used) are mounted at call time- Fixup grub default module list The test module is a required module in any case- Make sure fstab exists in initrd creation system- Umount volumes prior to bootloader installation- Bump version: 8.20.19 → 8.20.20- Respect setup of devicepersistency for swap part If a swap boot partition is requested it should be added to the fstab file according to the device persistency setup or its uuid default- Update schema documentation- Bump version: 8.20.18 → 8.20.19- Respect setup of devicepersistency for boot part If an extra boot partition is requested it should be added to the fstab file according to the device persistency setup or the default uuid persistency type- Only sync .mod grub2 module files When syncing the grub2 modules to the boot directory only the .mod version of the module needs to be present- Mount boot volumes on grub install If there are volumes below /boot they need to be mounted before grub2-install / shim-install is called in order to make sure all data is available in the volume- Bump version: 8.20.17 → 8.20.18- Make sure boot image dump is cleaned up- Refactor DiskBuilder class The DiskBuilder class is able to build a disk its corresponding format and the installation image to install this disk by using the InstallImageBuilder. However all three tasks were handled in a row which lead to the problem that resources like active mount processes were still open when e.g the disk format is created. The race conditions produced here lead to an undefined state of the resulting disk format and/or install image. In order to avoid this the DiskBuilder class has been refactored in a way that each tasks is an atomic operation which is freeing its resources after success- Delete root, boot, efi fstab setup from kiwi boot The kiwi boot code was responsible for setting up the contents of the fstab file on first boot. However the build process now provides an fstab with the generic label or uuid based fstab entries which allows to remove that part from the kiwi boot code- Add root, boot and efi partitions to fstab Make sure the above partitions are added to the generic fstab with their label or uuid at build time- Added BlockID class Class to provide support for retrieving block device metadata- Use BlockID class for block operations- Fixed fstab entries for btrfs subvolumes mount options must be part of the subvol information which itself is also a mount option- Corrected DEVICE_TIMEOUT variable validation Now it uses regex in order to validate the variable is an integer- Bump version: 8.20.16 → 8.20.17- Normalize mount path in get_fstab for lvm volumes- Fixed get_fstab parameter order for lvm- Bump version: 8.20.15 → 8.20.16- Delete fstab setup for volumes from kiwi boot code For persistent devices like LVM volumes or btrfs sub volumes the fstab setup can be done at build time. Fixes #142- Custom device timeout variable added This commit patches the issue bnc#992992. Now DEVICE_TIMEOUT variable can be used in order to set the device waiting timeout in watForStorageDevice function. Must be a numeric value expressed in seconds.- Implement get_fstab for btrfs volume management- Fixed btrfs mount_volumes if root is snapshot The provided subvolume name contained the snapshot path which is invalid. In addition nested volumes e.g /var/cache were reduced to /cache which is wrong- Cleanup unit test Use only one instance of context manager for all tests- Create fstab entries for persistent devices Instead of creating the fstab at boot time, those entries which are generic and not depending on an unknown device name can be created as part of the image building process.- Implement get_fstab for LVM volume management- Added get_fstab to volume manager interface The volume manager interface should allow to provide fstab entries for the volumes it manages- Bump version: 8.20.14 → 8.20.15- Fixed evaluation of Dialog return value The return code from the Dialog boot code was evaluated after other shell code was executed. Thus the return code from the call in question was lost and misinterpreted- Make sure volumes are mounted prior to install- Fixup invalid character in bash source- Bump version: 8.20.13 → 8.20.14- Fixup chroot adaption for caller environment The ZYPP_CONF path is provided as part of the caller environment and not as a zypper caller parameter. However the path adaptions when calls happens chrooted was only done for the commandline arguments but not for the command environment. This patch also adapts the environment, related to Issue #133- Make ifplugstatus available in boot images Added ifplugd to kiwi oem|netboot images for leap and tumbleweed- Prefer ifplugstatus for link up check Use ifplugstatus if present to check if the network link is up. Fallback is the old ip based method- Fixup theme setup in grub2 config template Only set the theme if the .txt file describing it exists- Fixup yum group install yum groups can contain spaces, thus quoting is required Fixes #138- Bump version: 8.20.12 → 8.20.13- Follow up fix for setupNetworkWicked IP address information from wicked is imported twice. However the plain IPv4 address validation happened only on the first import. Fixes bnc#992989- Fixed pxe install archive md5 file The md5 sum must be created from the uncompressed version of the disk image- Added missing trigger file for oem pxe install The config.vmxsystem trigger file was missing in the oem install initrd used when deploying a disk image over pxe- Bump version: 8.20.11 → 8.20.12- Integrate schema documentation into doc process The schema documentation is auto generated via the schema_parser helper tool. The tox doc target now also generates schema docs Fixes #53- Schema docs generation helper A simple script to parse the RelaxNG schema that grabs relevant information in order to produce autogenerated documentation from the schema inline comments.- Added handling for rpm-excludedocs for zypper In zypper zypp.conf can be setup to prevent the installation of %doc marked items from rpm packages. The section in the kiwi XML description is used to provide this functionality. So far this feature is only implemented for zypper. References #133- Make sure EFI modules are provided in uefi mode For EFI secure boot (uefi) the grub2 efi modules were not copied to the target directory. shim-install normally does that by invoking grub2-install. However shim-install does not allow to call grub2-install with the required parameters as needed for loop (image) based targets. Thus kiwi calls shim-install but skips grub2-install and takes care to provide the needed EFI modules.- Revert WaitForStorageDevice patch The logic to setup a wait timeout by asking a device property from a device which does not yet exist raises a chicken and egg problem- Fixed message typo (bnc#996255)- travis: Update pypi password Next try to get the automatic deployment on pypi fixed.- Move to tar.gz as sdist target PyPI is planning to support only .tar.gz in the near future. See https://www.python.org/dev/peps/pep-0527. This Fixes #132- Activate partition using parted instead of sfdisk sfdisk changes their caller semantics incompatible. Therefore we move to a tool which is still stable in the caller options Fixes #129- Update baseStripRPM Method is a noop and only exists for compatibility kiwi handles the deletion of packages in the core builder code- Bump version: 8.20.10 → 8.20.11- Revert "Update doc string for kiwi_compat.py" docopt strings are not allowed to be interrupted by a newline This reverts commit b1b92ed830820530bfd7bdc5256525f3dfc01a4a.- Bump version: 8.20.9 → 8.20.10- Use os.linesep Python's os module provides a portable version for the line separator which should be used whenever possible. Fixes #130- Bump version: 8.20.8 → 8.20.9- Fixed custom entries in vmdk machine config Each custom entry must be written in a separate line- Update API documentation Recall sphinx-apidoc and update the generated result markup- Update doc string for kiwi_compat.py Make sphinx happy- travis: Update pypi password Next try to get the automatic deployment on pypi fixed.- Bump version: 8.20.7 → 8.20.8- Fixup get_build_type_vmconfig_entries Make sure we can rely on a list return even if no machine section exists at all.- Add evaluation of machine's vmconfig_entry As part of the machine section it is possible to setup a custom entry which is stored in the machine configuration file. The evaluation of such an entry for the vmdk (.vmx) config file was still missing. This Fixes #122- travis: Next try to fix automatic pypi deployment Also the travis command which added the pypi deployment part formatted the yaml file.- Fixed bootloader configuration custom kernel parameters should be added to GRUB_CMDLINE_LINUX and not GRUB_CMDLINE_LINUX_DEFAULT Fixes bnc#994910- Use str.format for int to string convertion- Setup tests corrected #124- Fixes #124- Rearranged waitForStorageDevice code comments- Added a case statement for transport types- Removed some backquotes in favour of $()- Bump version: 8.20.6 → 8.20.7- Make repository an optional element So far one repository was mandatory in the XML description. However, this is not required because all repositories can be specified on the commandline- Added quotes to protect against spaces- Added getDeviceTransportType method The method gets the transport type of the given device. WaitForStorageDevice reacts according to the transport type by having a shorter timeout in case the device is a usb.- WaitForStorageDevice patch The function has been modified in order to distinguish a shorter timeout if the device is a usb.- Bump version: 8.20.5 → 8.20.6- Update compat options for create step The --ignore-repos, --set-repo and --add-repo options are allowed to be specified for compatibility reasons if --create is specified in the compat commandline. However, they are not used in the next generation kiwi create step because the repo information is persistently stored after the prepare step has finished, which is not the case for the legacy kiwi version- Support --ignore-repos in compat mode- Added --ignore-repos for build and prepare tasks The option allows to ignore all repos configured in the XML description. This allows to specify a complete set of repositories via the commandline- Bump version: 8.20.4 → 8.20.5- Preserve timestamp on grub2-install copy In order to workaround the bug in shim-install which unnecessarily calls grub2-install we replace the binary by a noop before calling shim-install. However all file attributes of the grub2-install binary, timestamp, modes, etc should stay untouched (bnc#993825)- Update documentation Move information about legacy kiwi in its own chapter- Bump version: 8.20.3 → 8.20.4- Update documentation Prevent to use non public url references- Bump version: 8.20.2 → 8.20.3- Fixup vmdk header update due to the wrong file open mode the result image was truncated on update of the vm tools version- Bump version: 8.20.1 → 8.20.2- Update documentation delete broken links to online ssh key blogs- Bump version: 8.20.0 → 8.20.1- Binary opened file should receive bytes Avoids TypeError: 'str' does not support the buffer interface for the vmdk header update- Fixed setupNetworkWicked IP address information from wicked dhcp reply consists out of two parts but we are only interested in the plain IPv4 address information at this point. Fixes bnc#992989- Make sure DHCPCHADDR is upercase Fixes bnc#992988- Delete obsolete section The section was formerly used as part of the section. kiwi no longer supports static split images in favour of overlay systems based on e.g overlayfs. Fixes #120- Better logging if Path.which doesn't find the file- Added docstring for KiwiDescriptionConflict- Fixup Command.run if called with raise_on_error set to False- indentation fix- Updated logging message Updated logging formating in a way that landscape does not complain- Updated Command to use Path.which Command.run and Command.call now make use of Path.which in order to test if the command is available or not. Also Path.which has been extended in order to support custom environments and to be able to test file permissions (read. write, execute)- protect systemd-detect-virt Protect systemd-detect-virt from being deleted in the kiwi initrd- Command validation This commit includes a validation in Command.run and Command.call in order to verify the existance of the command before running it. It case it is not found in the specified environment it raises a KiwiCommandNotFound Exception.- Detailed schema validation report This commit adds the execution of a jing process if the validation fails, that way the user has more information about what is actually failing during the validation process. If jing command is not found, it just produces an info message to warn the user and kiwi finalizes as expected.- Workaround Fix for pypi travis deployment Use all_branches: true, as we do only tag with bumpversion for a release this workaround works for us. For reference see https://github.com/travis-ci/travis-ci/issues/1675- Bump version: 8.19.6 → 8.20.0- Fixed suseSetupProduct Avoid shell complaining about binary operator- Fixed baseUpdateSysConfig Check if referenced config file exists- Delete obsolete use of SuSEconfig SuSEconfig was a tool long time ago and does not exist anymore- Delete obsolete sysV init boot code Traces of chkconfig, inittab, etc/init.d are gone now- Fixed suseSetupProduct Fixed shell variable evaluation syntax- Less complex user, group traversal- Simplified example config file- Updated get_users and get_user_groups methods Get_users method has been updated in order to be able to append the groups attribute when a user is defined in multiple sections in the description file. Appart from groups, all other user attributes are ignored if the user was already processed when parsing the description file. Get_users_groups method has been also updated so it returns a list of groups with unique values, keeping the description file order.- Updated xml_state The changes here modify the method get_users in xml_state in order to provide a simple list of users instead of nested lists. Also a new method to get the groups for a given user has been included in xml_state. This is done in order to slim down and facilitate the code in kiwi/system/setup.py. This way users and groups can be handled in more natural way.- Rebuild RNG schema and parser for 6.4- Auto validate XML descriptions for schema 6.4- Added schema conversion convert63to64.xsl- Bump kiwi schema version 6.3 -> 6.4- Fixed 6.2 to 6.3 XSL conversion Deletion of attributes of the same section must be handled in one iteration- Updated the user schema layout Now each user item may or may not have a groups attribute. The groups attribute is a comma separated list of group names. If present the first group name will be the login or primary group, if not present, the underlying toolchain will assign the default login group for that user.- New generated schema and parser- Some corrections needed after rebuilding schema and parser- Update true/false handling of text nodes The latest version of generateDS handles
true|false
text values in a way that it returns a boolean python type instead of the text string. With this change the kiwi code has to be adapted at the level of writing the shell profile which needs the string value of boolean information- Regenerate data structures Regenerate xml_parse with latest version of generateDS. The call works in the python2.7 tox virtual environment as part of the following make target: $ make kiwi/schema/kiwi.rng- Switch to latest version of generateDS Data Structures are auto generated from the XML schema. So far the development environment has requested an older version of generateDS which will go out of service soon- fixing user schema layout- Fixed typo in boot headers OpenSuSE vs. openSUSE- Fixed typo in translation OpenSUSE vs. openSUSE- Make sure awk is available in oemboot- Explain why bytes type is redefined In python2 bytes is string which is different from the bytes type in python3. The bytes type from the builtins generalizes this type to be bytes always. However the redefinition of the bytes type is marked as Smell in landscape. Thus the code should at least inform why this is done- Use six.Iterator instead of global object builtin The use of six.Iterator as base class for the CommandIterator seems more clear and explicit compared to the global object type overwritten by the builtins import. Fixes Smell reported by landscape- Added kiwi/archive/tar class description- extending kiwi/archive/tar- Fixing gce format build The patch is two fold, first it fixes the name of the raw disk when it is copied as disk.raw. Second it fixes the content list of the tarball to be dynamicly build instead of a static allocation. Reason for this change is that the list of files depends on the XML description whether or not a gce disk tag is configured. Fixes #113- Fixes #111: Included support for vdi format- Bump version: 8.19.5 → 8.19.6- Fixed changelog generator- Don't ask to start recovery in unattended mode If oem-recovery is setup in the XML description along with oem-unattended set to true as well we don't ask for confirmation to run the recovery when the recovery menu entry is selected at boot time- Release automatically on pypi (2nd try) Last try from 142ca22d8e was not working. Update the secure hash and also set explcitly the master branch when looking for tags.- Added integration build test link to doc index- Bump version: 8.19.4 → 8.19.5- Don't require an iso creation toolkit- Bump version: 8.19.3 → 8.19.4- prefer newer overlayfs mount method mount succeeds in compat mode but this mode should only be used on older overlayfs implementations- Bump version: 8.19.2 → 8.19.3- Message commit for bug reference Fixup of VMware disk tag references (bnc#988086)- Prevent duplication of context manager in test- Bump version: 8.19.1 → 8.19.2- Complete doc string for Path.which method- Implement Path.which Python provides methods to do this but we can't rely on them to be available in all python versions- Conditionally prefix encoding to vmware disk tag Prior code was always adding the encoding statement to vmware disk tag; in the event it is already present there's no need to add it a second time. See also https://github.com/openSUSE/kiwi/pull/586/commits/af1fed77af862dc44bd4322680425299ef5ad654- Remove null padding on the vmware disk tag The block of data read via dd is null padded; adding the tools data after the padding breaks detection of the data. We need to remove the nulls (0x0) so appends can occur adjacent to the block of strings. See also https://github.com/openSUSE/kiwi/pull/586/commits/ee8931c76c17c79d30a128c05cc6f839a1de7156- Update documentation Cleanup structure of contribution guide- Update documentation Complete documentation about required C libraries which needs to be installed prior to setting up the python virtual development environment- Fixup dependency on genisoimage Only for SLE12 the package requires genisoimage for any other distribution mkisofs is required. The community variant with genisoimage seems to be quite outdated. However, on SLE12 only genisoimage exists. Fixes #106- Lookup tool name by path lookup- Update import statement parenthesis only needed for multi-line multi-import- Refactor block depth on get_volumes return early if the condition makes it clear that there is nothing more to do in this method- Lookup iso creation tool Instead of strictly using genisoimage allow for using either the community variant or mkisofs as provided by J.Schilling- Refactor reading of volume variables in boot code Use new style profile variables without name limitations Related to #39- Refactor profile for volume setup Don't use volume names in bash variables. In addition that removes the name limitations we had for volume names Related to #39- Delete obsolete volume condition checks No need to check for LVSwap or LVComp in volume setup. If at all those volumes are created at boot time. Related to #39- Refactor use of kiwi_allFreeVolume_ Do not expect the value to come from an exported variable Instead a method to provide the information is implemented Related to #39- Bump version: 8.19.0 → 8.19.1- Fixup cleanup of intermediate config files kiwi uses e.g etc/hosts from the host system for proper name resolution during the build. The temporary variant of that file will be deleted by kiwi at the end of the installation process. However depending on the package manager and the distribution it could happen that the intermediate config file added by kiwi is treated as existing config variant. In case of rpm a .rpmnew file variant of the config file is created and that needs to be handled by kiwi. Therefore this patch adds a private restore method for the .rpmnew case. It might be needed to add other restore methods to deal with this issue depending on how other (non rpm) based package managers handles the situation. Fixes #104- Bump version: 8.18.9 → 8.19.0- Make sure mtab link exists in kiwi initrd On Debian systems the filesystem tools requires the presence of the mtab file, thus we make sure this file exists and links to proc/self/mounts- Refactor use of dialog program in boot code Cleanup the mess, provide only one method to run a dialog Prevent use of subshells for running the dialog program- Fixed use of shutil.copytree The target dir must not exist. However in order to force copy a potentially existing target is deleted before- udev console init requires kbd_mode on Ubuntu keep kbd_mode in initrd- Added oemboot description for ubuntu-xenial Also add kiwi linuxrc/preinit links for vmxboot- Allow alternative location for udev console init yet another name and location for the console init utility- Remove lxc configuration from docker images Docker does not use LXC execdriver anymore. Fixes #40- Bump version: 8.18.8 → 8.18.9- Fix linkcheck in container_builder.rst- Fix linkcheck in container_builder.rst- Bump version: 8.18.7 → 8.18.8- Update Documentation Update state of supported distributions- Apply editorial review changes- Apply editorial review changes- Apply editorial review changes- Delete traces of obsolete code- Prevent unconditional deletion of toplevel data The kiwi initrd descriptions calls suseStripInitrd() as part of the images.sh script. This function unconditionally removes toplevel directories like /home. Instead of deleting the data it is better to exclude them when the cpio archive is created- Bump version: 8.18.6 → 8.18.7- Added serial console support for isolinux loader Generate a serial line setup for the isolinux.cfg file according to the bootloader_console attribute from the XML description. In addition delete the use of the obsolete vga kernel parameter and work with the MENU RESOLUTION ui configuration parameter instead- Bump version: 8.18.5 → 8.18.6- Fixed setup of default install menu entry The attribute installboot allows to specify the default boot menu entry in an install image. It can be set to harddisk, install or failsafe install. The setup of that information in the bootloader configuration was not properly processed- Fix landscape Smells- Update location of build container- Update dice source link- Update Dice project location- Apply editorial review changes- Bump version: 8.18.4 → 8.18.5- Fixed building of install image If dracut is requested as initrd_system in combination with building an installiso we have to overrule the initrd_system setup for building the install image. The code to install an image is kiwi's oem install code and unknown to dracut. The process will end up using dracut as initrd in the system image but kiwi's initrd on the install image- Delete kiwi-tools from rhel boot descriptions kiwi-tools is no longer a requirement but an optional package It contains tools like utimer or dcounter which provides nice boot timer or progress dialogs for showing data transfer progress. In the Virtualization:Appliances:CommonBoot repo we provide mandatory and optional packages used by kiwi if they don't exist for the target distribution- Better warning message for root cmdline setup Under certain circumstance the root=UUID= parameter must be setup in the cmdline of the image. If the required uuid value is not provided a warning message is shown to the user. This commit makes the warning message more meaningful- Extend unit tests for boot image setup Expect kiwi_initrdname to be set in the profile of the boot image root system- Call plymouth only when installed- Add delete method for profile variables- Added article about self contained building The article describes how to make use of the dice project to control and maintain image build processes in a contained environment- Fix grub bootloader template Keep gfxpayload- Update bootloader console setup in boot code Use the variable kiwi_bootloader_console which represents the setup of the bootloader console from the XML description and setup the GRUB_TERMINAL configuration option to allow grub2-mkconfig to pick up the value. If no console setup exists in the XML description, gfxterm is used by default- Make bootloader_console availabe in profile The variable kiwi_bootloader_console is exposed into the profile environment- Delete obsolete code All traces of lilo and elilo are gone now- Fixed grub2 bootloader config template Load fonts only when they exist, do not duplicate font setup in template- Fixed bootloader theme check The check for the theme was not always called, but this is required since the theme check will reset the bootloader console if no graphics theme could be found- Bump version: 8.18.3 → 8.18.4- Apply back openSUSE 13.2 support Until Leap42.2 is not yet released we should keep the support for 13.2- Added support for setting the bootloader console Some bootloader e.g grub supports graphics, text and also serial consoles to hand over the output of the bootloader menu. With this patch we allow to customize the console used by the bootloader. So far only grub makes use of the new attribute This references Trello: https://trello.com/c/q9EhNKKV/155-support-for-grub2-serial-console- Bump version: 8.18.2 → 8.18.3- Fixed typo in message text- Fixed vmxboot/ubuntu-xenial boot description dracut should be installed to support initrd_system="dracut"- Update iso|vmxboot debian boot descriptions- Fixup ldd check for unused libraries- Update vmxboot/ubuntu-xenial boot description Complete description to be usable with kiwi initrd boot code too- Added baseCreateCommonKernelFile The stripKernel functions return early if the dracut initrd system is requested. However it is required in any case to lookup the kernel and provide a common name kiwi expects to be present- Set logger mode to append- Bump version: 8.18.1 → 8.18.2- Add distro flag match for Leap42.2- Bump version: 8.18.0 → 8.18.1- Preserve zypper package cache zypper deletes the package cache if a repo is removed. For the purpose of image building this should not happen- Pass initrd_system to profile The common functions baseStripInitrd and baseStripKernel need to be skipped if the initrd system is set to dracut. They read that information from the exported kiwi_initrd_system profile environment variable- Don't delete dracut from boot image environment If the dracut initrd system is requested we need dracut to stay in the environment from which it is called- Fixup copy_boot_delete_packages if no section exists in the target the code does not add the packages to become deleted. This patch changes the behavior in a way that a new section is created- Add isoboot support for Ubuntu system Next step to allow creation of Debian based live systems Related to Issue #37- Added suse-leap42.2 descriptions Obsolete suse-13.2- Update hyper links in project README- Rename kiwi boot code files Maintain them as common code base for all distributions During the years of development it has turned out that differences in the boot process between the distros can be handled in one code base. There is no need to maintain a basically identical copy for the different distributions- Style fixes: E275 missing whitespace after keyword- Delete obsolete C tools- Prevent use of setctsid setctsid is a suse extension to start a program on a new controlling terminal. While it is very useful it does not exist on other distributions which causes a problem in kiwi's common initrd code. This patch replaces the use of setctsid with setsid and sulogin- Open log file in mode 'w' and in utf-8 locale- Delete obsolete mkinitrd code This version of kiwi supports only distros using dracut- Delete obsolete sysV init console setup code- Make use of utimer in kiwi initrd optional- Bump version: 8.17.0 → 8.18.0- Adapt to common python style Private methods should start with _f() not __f()- Prevent temporary files to be synced to image The package manager instances created temporary package manager configuration files. The instance destructor and thus the cleanup of the instance should be called prior to the sync of the root filesystem data in order to prevent temporary configuration files to be present in the image- Grammar fixes for doc strings- Syntax change for Importing one module- Update test_load_schema_from_xml_content test Read schemaversion from RelaxNG instead of using a fixed value- debootstrap errors deserve their own exception- Avoid glob imports This could start a series of further changes in the unit test as we have allowed for glob imports there. So treat this one as a start- Add documentation for Exceptions- Support Tox with interactively positional arguments Use posargs for py.test, see http://tox.readthedocs.io/en/latest/example/general.html- Format message with named format parameters- Avoid re-assigning variable- Fixed unit test for profile variables- Handle XML per content or file more explicit- Differentiate between Python 2.7 and 3 in doc- State Python 2.7 in Trove category of setup.py- Refactor RootInit class Instead of calling multiple subprocesses make use of the os capabilities for directories, symlinks and device nodes- Fixed use of shutil.copytree- Update ubuntu xenial vmxboot description Make sure all drivers exists when dracut is called to allow inclusion of potentially all needed driver modules- Fix Lithuanian translation- Fix Ukrainian translation- Update grub2 config tempplate Load font collection- Refactor use of os.walk result- Integrate python improvement suggestions- Integrate python improvement suggestions- don't intermingle suse namespace with debian- Deleted libxslt-tools from spec template- Fixup indentation of travis setup- Fixed license setup in spec file- Remove unused import (F401) and an extra line (W391)- Fix tests for Python3- Fix tests for the XPath processing- Allow XMLDescription to be loaded also from the XML string- Release automatically on pypi for new tags When a new tag gets created, automatically release it on pypi so we don't have todo it manually.- Reimplement XSLT processing using LXML instead of calling 3rd party tools- Added tox 2.7 target for travis- Fixed creation of password hashes kiwi uses the openssl command for this purpose but did not strip the newline at the end of the hash output- Apply python 2.x compatibility decorators- Added tox target for python 2.7- python 2.x compatibility added new requirements six and future modules are needed for the compat layer- Fixup grub2 theme setup We can't expect that specific fonts to exist for all theme packages in all distributions. The code here should rely only on theme.txt In addition we check if any theme or font related data is found in the legacy grub location boot/grub which imho should not be used for grub2- Update ubuntu-xenial boot description No need for a drivers setup here, vmxboot is only the container to run dracut- Bring byte strings to Py2 compatibility in ISO- Make iterators Py2 comptible- Added boot image description vmxboot/ubuntu-xenial- Replace 'builtins.open' with patch_open decorator- Add mock_open and patch_open helpers- Remove double requirement- Use ConfigParser from six- Move urlparse to the Six package- Remove duplicate key- Add print function for Python 2- Add missing init file- Add Python2 compatibilitiy requirements- debootstrap installs apt-get Don't add the specified package manager to the list of bootstrap packages for apt-get, because that is covered by debootstrap- Allow additional bootstrap packages for apt-get- Don't run apt-get with mounted /dev- Fixed force-yes option for apt-get- Allow unattended installation of debian packages- Added PackageManagerApt class Support installation/removal of deb packages Related to #37- Support for apt-get package manager Starting to support Debian based distributions also means to support the deb repository types. This commit adds the RepositoryApt class to handle deb repositories for image building. Related to #37- Bump version: 8.16.5 → 8.17.0- Added pypi make target for upload Please note an appropirate ~/.pypirc file and registered user is required to upload- switch_root / pivot_root quiet call- Increase default boot partition size to be 300M- Delete obsolete isFSTypeReadOnly from boot code The check was used to detect if a read-only root filesystem is in use, which can be done by checking if kiwi_ROPart is defined- Refactor use of global FSTYPE variable The kiwi boot code populates a global FSTYPE variable which was used at several places. However there was no clarity for which storage device this filesystem value was detected for. Thus the entire handling has been refactored and there is no global FSTYPE variable anymore- Add attribute Allow to activate the overlay root setup for disk images- Bump version: 8.16.4 → 8.16.5- Update development status Status :: 5 - Production/Stable- Don't search for kiwicompat in fixed absolute path Allow alternative locations from search PATH- Integrate git attribute setup to sdist command- Add C tools binaries to git ignore list- Fixed command class name for distutils The overwritten build and install commands should not change their name in order to stay consistent on e.g --help- Fixed kiwicompat binary lookup The test for os.path.exists on just the binary name without a path specification always fails if not present in current directory. Let execvp do the job for us- Fixed entry point for kiwicompat- Use path lookup for kiwi-ng in kiwi_compat Instead of a fixed path use the PATH lookup. This would allow to install kiwi at alternative places as long as the path is part of the shell search PATH- Create completion data at build time- Move all build and install tasks to setup.py In an effort to distribute kiwi on pypi it should not be required to call make targets for a complete installation. Therefore the compilation of the C tools as well as the installation of the man pages and the bash completion has been added to setup.py. The spec file to build an rpm package has been changed to use setup.py exclusively- Delete obsolete .releasetags from MANIFEST.in This avoids a warning on setup.py build- Fixed warnings in C written tools- Bump version: 8.16.3 → 8.16.4- Fixed spec file update-alternatives is used, thus needs to be required- Support for overlay disk images overlay disk images uses a readonly root partition and are overlayed using overlayfs to hook in a cow based read-write space. This commit implements the basic disk setup. Implementation to boot such a disk in the kiwi boot code is still missing, as well as the investigation if dracut is able to boot such a disk too. References #65- Bump version: 8.16.2 → 8.16.3- Fixed completion generator In addition cleanup the main docopt definition- Fixed completion conflict with legacy kiwi- Bump version: 8.16.1 → 8.16.2- Fixed spec file rpmlintrc file must be mentioned as source- Bump version: 8.16.0 → 8.16.1- Update quickstart documentation kiwi can also be used as a module in other python3 projects. An example how to do that has been added to the quickstart- Bump version: 8.15.5 → 8.16.0- Added support for grub2 console switch entry An additional hidden entry allows the user to switch between the graphics and the serial console by pressing the 't' key. The kiwi grub2 template adds this switch if the terminal mode is set to graphics. The additional entries are only effective of the grub_platform is set to efi. Fixes #80- Fixed add_repo for zypper repositories Always run zypper addrepo in order to make any change in the repository definition to become effective- Fixed add_repo for yum repositories Always create the repo file from scratch in order to make any change in the repository definition to become effective- Bump version: 8.15.4 → 8.15.5- Split quickstart into two parts Split the quickstart information into a development and a user part- Bump version: 8.15.3 → 8.15.4- Added readonly check for persistent data When creating a partition for persistent data, check if the device class has the readonly flag set before trying to write anything there. Fixes #74- Bump version: 8.15.2 → 8.15.3- Fixed removal of a package in XMLState If a was unwanted in a section the former code sets the name of the package to a python None type. This causes the rest of the code to operate on potential None types which causes unexpected TypeError's under certain conditions. Instead of leaving an inconsistent package section the entire package section reference should be deleted from the packages instance holding it. Fixes #76- Exit code for --version call should be zero- Bump version: 8.15.1 → 8.15.2- Set config.sh and images.sh scripts as optional- Bump version: 8.15.0 → 8.15.1- Fixed landscape smell Unused variable 'key'- Fixed landscape smell Redefining built-in 'help'- Fixed landscape error Dangerous default value [] as argument- Refactor import_description split code into more readable parts- Make sure mandatory vmdk settings exists Even without a machine section configuration the minimum required information must be presented to the settings template- Added store_to_result for vmdk format The vmdk format provides more than the standard result store. for vmdk we need to store the vmdk and the settings file- Reduce amount of mountpoint check calls- Refactor subformat classes Add a generic store_to_result method which allows to store the format result files into an instance of Result. This allows to customize result handling per format when needed- Create VMware settings file for vmdk subformat In order to run or convert the vmdk with VMware products a settings file is required.- Added dropped features information for lxc- Bump version: 8.14.2 → 8.15.0- Fixed script/archive lookup If a script or archive is specified with an absolute path in the image description, kiwi should not assume this path to exist below the image description directory but just take the absolute path as it is. Fixes #70- Load logging at runtime for MountManager- Runtime checker message fixes Start with an empty line to improve readability- Integrate runtime checks for tasks Call appropriate runtime checks for prepare, create and build tasks. Fixes #20- Create instance of runtime_checker for any CliTask- Fixed building documentation- Reuse env in tox.ini Reuse virtualenv directory with envdir. Should speed up things a bit. Taken from https://blog.ionelmc.ro/2015/04/14/tox-tricks-and-patterns/#partial-environment-reuse https://blog.ionelmc.ro/2015/04/14/tox-tricks-and-patterns/#environment-reuse- Use more compact config for tox.ini Rewrite basepython to make it more compact Taken from https://blog.ionelmc.ro/2015/04/14/tox-tricks-and-patterns/#compact-configuration- Add requirements section in Quick Start * Describe what KIWI needs to run, further requirements, and for development * Introduce 'ghkiwi' as prefix in "extlinks" to shorten external links and to make linking to KIWI's GitHub repository more intuitive and consistent. For example, the string :ghkiwi:`tox.ini` is replaced with https://github.com/SUSE/kiwi/blob/master/tox.ini- Added check_target_directory_not_in_shared_cache Runtime checker method to check if the target directory was set to - or below the shared cache directory- Bump version: 8.14.1 → 8.14.2- Move creation of mountpoint dir to setup method The volume management classes should create the temporary mountpoint directory when it is needed and not when an instance of the class is created- Cleanup use of temporary directories All mkdtemp created directories are created with the 'kiwi_' prefix. In addition all code parts which leaves tmpdirs in the system after kiwi is done were fixed- Bump version: 8.14.0 → 8.14.1- Added python3-xattr dependency- Added xattr checker for DataSync class The method target_supports_extended_attributes() checks if the sync target directory supports extended filesystem attributes. The method is called on sync_data() and will remove the -X / -A options if provided. A warning message is issued to the caller if the rsync option list has changed because of the underlaying filesystem limitations- Fixed subformat creation The option -c makes only sense for the qcow2 subformat, whereas on all other format it cause qemu-img convert to fail- Use iterator protocol instead of StopIteration CommandIterator contains already the __iter__ magic method. We don't need to manually use while and next() in order to advance to the next element. => Code refactored to "for line in self.command" which does exactly the same job, but is better readable. Plus we avoid the nasty try...except block.- Remove kiwi.logger.init() function The init function is mostly unneccessary and can be directly created in the kiwi.logger module.- Remove useless __init__.py- Fixup usage messages- Bump version: 8.13.4 → 8.14.0- Added support for custom rootfs label A new attribute has been added This Fixes #66- Update grub2 bootloader template menuentries Mark all menuentries as --unrestricted. Fixes #64- Bump version: 8.13.3 → 8.13.4- Fixed shared local repository mounts- Bump version: 8.13.2 → 8.13.3- Added evaluation of imageincluded repositories repositories marked as imageinclude needs to be added permanently to the image. Fixes #56- Make xz the default compressor for squashfs When creating squashfs compressed files use xz as compressor if not other compressor is specified. Fixes #63- Added --add|delete package for prepare command Allow additional packages to be installed/deleted when calling system prepare. Fixes #62- Alpha sort option documentation Alpha sort options in usage and man pages- Added --add|delete package for build command Allow additional packages to be installed/deleted when calling system build. Related to Issue #62- Fixed completion generator complete for kiwi and kiwi-ng- Prevent double render on usage- Add check_image_include_repos_http_resolvable Runtime checker method to check if repositories marked with the imageinclude attribute are using a publicly available protocol- Add shared cache location to Defaults- Bump version: 8.13.1 → 8.13.2- Allow alternative if isolinux-config failed If the setup of the base directory failed because isolinux-config was not able to identify the isolinux.bin signature, we create a compat /isolinux directory and hardlink all loader files- Fixed typo in message Fix condition to show the grub module info message- Use program output for synopsis in documentation- Provide custom usage message Instead of the docopt way to show the usage information we provide a kiwi specific usage information. The usage data now always consists of: 1. the generic call kiwi [global options] service [] 2. the command specific usage defined by the docopt string short form by default, long form with -h | --help 3. the global options- Fixed loadSELinuxPolicy enforce policy is located in /sys/fs/selinux- No authconfig on RHEL >= 7- Activate SELinux for RHEL systems Added new boot method loadSELinuxPolicy and call it as part of the rhel-preinit phase. This put SELinux in enforcing mode also from the kiwi initrd- Handle fsmountoptions attribute in all builders- Refactor custom_args handling for VolumeManager class Allow for two elements fs_create_options and fs_mount_options in a VolumeManager instance and pass along the information to the FileSystem and MountManager instances- Refactor custom_args handling for FileSystem class Any FileSystem class can receive a custom_args dictionary which by defaults ensures the presence of an empty list for create_options and mount_options. The create_options are used in the subclasses when the filesystem is being created and the mount_options are passed to the MountManager when the filesystem is mounted for e.g data_sync- Make kiwicompat understand --version | -v option- Small spelling corrections Apply title style: * package -> Package * module -> Module * Use backticks for kiwi.* modules to avoid spelling problems- Update spell-checking wordlist GitHub, JeOS, KIWI, LXC, squashfs, stderr, stdin, stdout, Submodules, Subpackages, zypper- Add "spell" rule in Makefile Also included in the help target- Enable Acronyms, importable modules, and builtins- First draft to "beautify" HTML appearance * Add GitHub button and "Fork me" widgets * Add Travis button * Remove obsolete code- Bump version: 8.13.0 → 8.13.1- Added support for SELinux file security contexts Systems using SELinux require the filesystem data to be labeled according to a security context configuration. kiwi now checks for the presence of /etc/selinux/targeted/contexts/files/file_contexts and labels accordingly if it exists. This Fixes #52- Make grub2 installation path lookup dynamic Not all linux systems installs grub2 below /usr/lib/grub2 For example RHEL7 packages it below /usr/lib/grub. Therefore kiwi needs to be flexible with this path- Used :returncode: for sphinxcontrib-programoutput Fix a warning when calling "kiwi-ng". As the script returns 1, it is considered to have failed by the program-output directive. The returncode line fixes that. See more info here: https://pythonhosted.org/sphinxcontrib-programoutput/#error-handling- Integrate version string from placeholder Use |version| placeholder, no bumpversion etc. is needed. Actually, it's taken from conf.py- Added RuntimeChecker class An instance of RuntimeChecker allows to semantically check for error conditions according to the provided image description and build options. Related to #20- Spell checking doc and extended word list- Add filesystem requires in kiwi-boot-requires In order to have all filesystem creation tools available when building in the buildservice we need to require them in kiwi-boot-requires- Bump version: 8.12.0 → 8.13.0- Set ident export-subst git attribute on version.py- Bump version: 8.11.0 → 8.12.0- Fixed documentation link references Use redirected target and fix broken targets according to link check on make build- Fixed typo in documentation Missing question mark at end of sentence- Bump version: 8.10.1 → 8.11.0- Fixed typo- Added Legacy KIWI vs. Next Generation chapter- md -> rst, radically shortend README- More substantial changes of the doc * Overall: try to be more consistent * index.rst * Move "Supported Distributions" and "Dropped Features" sections * Quick Start: * Add abstract * Add note about automatic link creation * Move "example appliance description" sections and subsections further down * Streamlined "Contributing" section * Corrected titles and distinguish more between descriptive and procedural- Remove useless substitutions (placeholders)- Add KIWI logo- Move Motivation section from quickstart to index- Correct heading and remove build status- Add QuickStart Guide and improve documentation * Added Quick Start Guide, taken from README.md * Improve index/main file: * Shortend main entry page * Make more headings * Add feature highlights to draw attention * Add sidebar with important KIWI links * Use ordered list of KIWI concept (prep and creation step)- Add package manager requirements in spec file- Update README- Update README- Update README- Move program name from kiwi-py3 to kiwi-ng- Added genisoimage requirement to kiwi spec file On SLE12 we only have genisoimage, on Leap and Tumbleweed we have both genisoimage and mkisofs. For the moment both toolkits produces working iso images with kiwi, thus I chose the save default with genisoimage- Be more flexible for isoinfo lookup isoinfo can either be provided by the community package in /usr/lib/genisoimage/isoinfo or by the mkisofs package from J. Schilling in /usr/bin/isoinfo. kiwi should be smart enough to lookup which tool is installed. /usr/bin/isoinfo will be preferred- Update README Added link to documentation- Try with latest version of travis-sphinx- ghp-import required for travis-sphinx deploy- Make sure enchant library is present for travis- Update tox setup Update TOXENV targets- Move travis-sphinx build tox target to script section- Use tox target for travis-sphinx- Put travis-sphinx build into script section- Make travis-sphinx deploy work It's required to call travis-sphinx build in order to be able to run the deploy command- Fixed documentation linkcheck results- Make sure shared mount directories exists Create shared directory path on the host _and_ in the new root directory to make sure the bind mount works- Update documentation entry page- Use travis-sphinx to deploy doc to github https://suse.github.io/kiwi- Fixed package requirements libxslt-tools provides required xsltproc- Update README for style and markup- Fixed README, wrong markup- Update README Add information how to build with dice- Add part_msdos module for self build EFI image- Update tox.ini Documentation building requires sphinx_rtd_theme and sphinxcontrib-programoutput- Update volume_manager inline API documentation References #49- Update utils inline API documentation References #49- Update tasks inline API documentation References #49- Complete system inline API documentation References #49- Use Path.wipe instead of directly calling rm- Update system inline API documentation References #49- Update storage inline API documentation References #49- Fixed typo- Cleanup use of partition id maps For the partition setup the Disk class uses dictionaries to map the partition name to the partition number. However there are public partition names such as 'kiwi_BootPart' and kiwi internal partition names such as 'boot'. The code should make it more clear which mapping table is used- Update repository inline API documentation References #49- Update partitioner inline API documentation References #49- Complete bootloader inline API documentation References #49- Update README Add chapter about signing commits- Update README- Update README- Update package_manager inline API documentation References #49- Update filesystem inline API documentation References #49- Update container inline API documentation References #49- Update builder inline API documentation References #49- Update bootloader/template inline API documentation References #49- Complete bootloader install interface- Update bootloader/install inline API documentation References #49- Move get_failsafe_kernel_options to Defaults- Update bootloader/config inline API documentation References #49- Update boot/image inline API documentation References #49- Update archive inline API documentation References #49- Delete traces of zfs support- Update inline API documentation References #49- Update inline API documentation- Update inline API documentation- Update inline API documentation- Update inline API documentation- Ignore auto generated code for API docs- Update inline API documentation- Update api documentation setup- package kiwi-pxeboot must not be noarch We want to specify for which arch we provide it. Thus it's not allowed to specify it as noarch even though it provides only noarch data- Create Initial autodoc structure Called 'sphinx-apidoc -o source/api ../kiwi'- Fixup docstring for kiwi/command.py- Move manual page documentation in subdirectory Separate api documentation from manual pages- Update virtualenv development setup make sure we can build the docu in the development environment- Add docstrings for Cli class References Issue #49- Fixed ppc setup of etc/default/grub_installdevice On power grub must be installed into the Prep partition into the master boot record of the disk- Add Python 3.5 to be consistent with Travis- Fixed logger unit test- Make color output an option By default no color output is used- Added missing kiwi-packagemanager provides The buildservice looks up for a package manager capability- Fixed spec file syslinux is not a requirement for the base package- Check for derived description path in prepare too- Refactor SystemSetup class the information about the description_dir is part of the provided xml_state instance. There is no need to pass that information along twice- Fixed use of derived_description_dir Only in import_description we need to check for both locations- Make sure import_description preserves archives- Refactor InstallBootLoaderGrub2 constructor architecture dependant device setup belongs to the install method where it is actually needed. That prevents the construction of the instance to be architecture specific- Make list of efi grub modules arch dependant- Revert "Delete efi_uga module from list" This reverts commit 191d423eb571d3cc08f34b5e4ef15eb6296a6563.- Delete efi_uga module from list- add multiboot grub module only on demand multiboot is only needed for self build grub images in Xen guest mode- Don't raise if kversion exits with error In this case a default value applies- Activate partitioner support for arm- Add optional derived_from param to XMLDescription An instance of XMLDescription can now optionally become constructed with a path to an image description this instance was derived from. This is currently used for building the kiwi boot image to tell the boot image XML description instance from which system image instance it was derived from- Evaluate default video mode for iso images- Added custom profile for arm/oemboot/suse-tumbleweed- Update firmware types for arm architectures Add efi and uefi as allowed types, complete architecture name list set efi as default firmware for arm- Added pre/post hooks for bootloader setup/install preInstallBootLoader, postInstallBootLoader preSetupBootLoader, postSetupBootLoader- Fixed architecture dependant tests- Added support for virtual boot partition on arm Triggered by the firmware="vboot" setup an EFI setup plus a raw partition without filesystem is created as first partition. The size of the partition can be controlled by the vbootsize attribute. The vboot feature is used by the arm architecture to provide a space in the partition table for custom code as required by e.g the chromebook. The final customization of the vboot space is board specific and can't be implemented in a generic way in kiwi. For finalizing the vboot space the script hooks editbootconfig and editbootinstall can be used This is related to Issue #17- Rename partition id kiwi_JumpPart to kiwi_EfiPart This makes it explicit for what purpose the partition is really used. EFI is not configured the same for all architectures but what is consistent is that on this partition an efi image is located to become loaded by some firmware- Activate boot partition only for msdos tables- have tar preserve all xattrs By default tar will only preserve a subset of the capabilities with --xattrs. Adding --xattrs-include=* should preserve all capabilities (e.g. user.*, security.capability etc.).- Preserve hybrid GPT status on boot Added createHybridGPT method and setup the hybrid GPT/MBR table if requested by the XML configuration. In addition move the partition activation call also into the partition table finalize method. This is related to Issue #17- Refactor partition table setup code Added two methods preparePartitionTable and finalizePartitionTable which are used to prepare the partition table to allow resizing and to finalize for partition flags after resizing. This replaces the updatePartitionTable method- Delete obsolete GPT fixup code Related to bnc#825221 code was added to recreate the disk with a new GPT label. The reason was that parted created a gpt_sync_mbr partition table when kiwi repartitioned the disk to use the full geometry. This was an unwanted behavior by parted and causes the additional code in kiwi. The current parted version behaves correctly and thus makes this additional code obsolete- Added support for hybrid GPT Embedding an MBR into a GPT is required for a collection of boards, e.g arm rapberry PI. The kiwi configuration provides a new attribute called , initrd-- Skip local repos if they don't exist Instead of raising an exception if a local repository does not exist, we will continue with a warning message. This is needed for a flawless integration with the buildservice. Inside of a buildservice environment only those repos are setup from which packages were taken. Thus it can happen that a configured repository does not exist in the buildservice build environment if the resolver would not take any package from this repository. kiwi should not fail to build such an image- Avoid lvcreate to ask for wiping swap signature When kiwi creates the logical volume for the swap space and there is already a swap signature at the place on disk, lvm stops and asks what to do with it. This should be generally avoided at that stage in the boot process Fixes (bnc#968601)- Calculate checksum in chunks- Don't prevent an oem image from a custom disk size An oem disk ist a self expandable disk and thus it normally doesn't make sense to specify a disk size for it. However there are filesystems like btrfs which are very hard to precalculate a minimum required disk space for X bytes of data. In this situation a user should have the opportunity to specify a size- Don't call dracut in background from kiwi initrd This was useful to speedup the boot but opens a potential race condition if a reboot happens while dracut is still processing. With the last extension to use dracut as initrd system people now have the choice what fits their needs better and this allows us to revert the background call- Added support for using dracut initrd As of today only the kiwi initrd could be used with an image build. This commit adds a new initrd_system attribute and allows to select between kiwi and dracut as initrd system. Please note the dracut initrd does not support all features of the kiwi initrd. This fixes #25- Add a feature drop list to the README- update MANIFEST.in due to structure changes- Update README Use the real executable name for the documentation- Continue Refactor into subpackage storage operations should have their own namespace- Continue Refactor into subpackage container and container_setup should have their own namespace- Continue Refactor into subpackage disk namespace init is not a factory, thus the Disk class should have its own namespace. We choose disk.storage- Continue Refactor into subpackage rename dformat to subformat- Continue Refactor into subpackage The builder classes should have their own namespace- Fixed update alternative setup for kiwi completion kiwi itself is provided as update alternative for kiwi-py3 Thus the completion should be based on kiwi-py3- Refactor into subpackage to fix #23 Codecoverage are 100% and tests are green Changes: * Refactor archive_*.py -> archive subpackage * Refactor partitioner_*.py -> partitioner subpackage * Refactor package_manager_*.py -> package_manager/ subpackage * Refactor bootloader_config*.py -> bootloader/config/ subpackage * Refactor bootloader_template*.py -> bootloader/template/ subpackage * Refactor bootloader_install*.py -> bootloader/install/ subpackage * Refactor repository*.py -> repository/ subpackage * Refactor filesystem*.py -> filesystem/ subpackage * Refactor dist_*.py -> dist/dformat subpackage The name `dformat` as package name is needed to avoid any name conflicts with the built-in function `format`. * Refactor volume_manager*.py -> volume_manager/ subpackage * Refactor boot_image*.py -> boot/image/ subpackage- Remove unecessary Travis requirements- Fix check target Didn't have a basepython line, fixed strange tox error- Enhanced Contributing, add new Developing section * Create a procedure in section Contributing * Add new Developing section to describe how to use tox- Fixed device map for VolumeManagerBtrfs The return value from get_device must be a map containing an instance of a DeviceProvider, not only the DeviceProvider- Refactor use of mount/umount calls Provide a MountManager class and handle all mount/umount calls in instances of MountManager- Don't write grub.cfg to EFI directory Originally the file was written there as reference, but nothing will ever update that file if the real grub configuration changes. Thus it doesn't make sense to provide this information (bnc#968270)- Add support for POWER architecture Implements requirements for the partition and bootloader setup in order to build images for ppc64 architectures. Fixes #18- Refactor grub2 bootloader installation Make use of grub2-install to install the bootloader- Changed debug log in case of failed command Also log the stdout data from a failed command. So far we expected error data on stderr but there are also commands which print error messages on stdout. It should us at least worth a debug message with this information- Use tox in .travis.yml, remove .travis.script- Fixed helper/kiwi-boot-packages Take care for packages marked for a specific architecture- Delete unused helper/run-pep8- Adapt make flake target to changed tox target- Add --cover-min-percentage=100 and helper script- Fixed spec file for kiwi-boot-requires The meta package for the buildservice has to require the new python3-kiwi package- Use --cover-min-percentage=100 instead of coverage- Replace helper/coverage-check with coverage Use --fail-under=99 option which fails for tests under 100%- keep packages in yum cache- Rename flake -> check, move spell * Move spell target/step to doc.spell * Call doc.spell in the doc target/step * Rename flake to check (to make it independant of any tool)- Spelling fixes- Tox setup updates Integrate with Makefile, delete pep8 target from Makefile, use flake8, update travis script, delete coverage reference, we want 100% anywhere- Fixed raid_device_test The test did not mock os.path.exists and thus could fail on systems which uses a raid system- Update word list- Remove empty line to avoid error message Avoid following error message: CRITICAL **: enchant_is_title_case: assertion `word && *word' failed- Activate personal spellchecking dictionary- Open travis check for all branches- Added kiwi-filesystem provides to spec template The main python3-kiwi package provides support for these filesystem image types- Integrated Tox * First incarnation of tox.ini * Extend MANIFEST.in * Add doc/requirements.txt * Extend conf.py with 'sphinxcontrib.spelling' extension * Add wordlist to doc/source/spelling_wordlist.txt * Add flake8 section in setup.cfg- Fixed cmdline lookup Only check contents of cmdline if it is not None- No fdupes checking required anymore- Don't track root/usr/share/locale in boot images The data there is now generated by the make po target- Fixed fuzzy i18n for en_US/LC_MESSAGES/kiwi.po- Added kiwi-image provides to spec template The main python3-kiwi package provides support for these image types.- Prevent any output if quiet is set If exec >/dev/null is run before setterm clears the screen, then "Failed to find cpu0 device node" is displayed even if quiet is set.- Fixed shell syntax in grub2 template Fixes (bnc#961334)- Refactor suseStripKernel The way the method downsizes the kernel tree is wrong in several places and very hard to read. Therefore the code has been refactored and splitted into task methods which can run independently from each other. As one result the kernel tree is not missing any metadata and/or update weak-updates paths anymore. Fixes (bnc#965830)- Remove flush before resize filesystem According to the manpage, -F is flushing the fileystem buffer caches. which is only really useful for doing resize2fs time trials. With current Tumbleweed installed on MMC, -F triggers a Inappropriate ioctl for device while trying to flush error, and then fails to resize.- Update arm boot image descriptions Grub2 adds 35MB to the initrd for no reason on armv6/v7, as those images use u-boot scripts for booting.- Fixed checkFileSystem call In the refactoring fc363cc, the parameters of checkFileSystem got changed to expect the device name, but one of the invocations didn't pass down the device name due to a typo.- Ignore fdasd errors Like fdisk, fdasd also reports an error when re-reading the partition table. But the table was written correctly so we continue for the moment and add a debug message- Fixed boot image result filename Has to follow the naming convention- Fixed pxe builder kernel/hypervisor target path- Use bytes type with hashlib- Refactor result bundler instead of being clever in the result bundler we should be more explicit when adding a result to the result instance. Therefore the result.add method now also allows to specify if this result should be part of a result bundle and whether it should be placed compressed or uncompressed in this bundle- Added metadata rpm files to all builders rpm packages and verification information is now added to all builder results. Fixes #13- Fixing code smells from Landscape.io https://landscape.io/github/SUSE/kiwi/161/messages/smell Fixed issues: * Unused imports * Unused variables * Specify string format arguments as logging function parameters (log.warning("%s bla" % x) -> log.warning("%s bla", x)- Ignore backup files- Added the following system setup methods export_rpm_package_list and export_rpm_package_verification Used to provide rpm package metadata and verification information for rpm based image builds- Improve doc * Consistently use KIWI * Fixed punctuation * Added zypper ar for adding KIWI's OBS repo- Fixed unit test read return result Unit test mocking read should return a bytes array and not a string because that's what python3 would do in reality- Fixed path location in disk_format_image result- Fixed disk format builder This one was missing the output image name adaptions- Regenerate xml_parse data structures for python3- Better error response in debug output If a Command.run fails with an error code != 0 but not data was produced on the stderr channel, we provide this as information to the caller- Port kiwicompat to python 3- Port helper tools to python3 Also fixes completion to correctly parse the toplevel --compat option- Do not activate dmraid paritions Only activate the device itself, not the partitions, that may also exist. If partitions exist, the UDEV rules will create the corresponding "_partX" symlinks for each partition within "/dev/mapper, which is totally sufficient.- Fixed cut and paste error in spec template correct the project Url- Update README add install information for python3-devel- Fixed README wrong reference to env2 where it should be env3- Update README- Update travis env to python 3.4- Port application from python 2.7 to 3.4 For new applications like this kiwi version and its use cases it is better to base it on a more recent python version- Fixed bundling container results Container images are already compressed, there is no need for the bundler to do that again- Use pinch_system with force in any case Deletion of packages should be done with the force flag set. Otherwise the package manager computes a resolved list for the deletion targets which causes other packages to be deleted which is unwanted- Fixed host to image root data setup On bind mounts check if the origin path exists on the host. On copy check if the origin file exists on the host- Fixed deactivate_systemd_service Check if the service file exists, if not there is no need to deactivate an non existing service.- Use alternatives mechanism for completion file This avoids the package conflict with the legacs kiwi version- Weaken kiwi-tools requirement- Handle 32bit Intel arch as ix86 in boot code- Allow building 32bit bios images- Delete %post from kiwi-pxeboot We do not provide a default config file for the pxe setup anymore. There is no good default file we can provide here because we don't know how the user has configured a pxe image. The documentation should explain how to setup the pxe config and infrastructure with the help of the static data provided by the kiwi-pxeboot package- Don't require python-Sphinx at build time Sphinx is not available on all platforms and required only to build the manual pages. Thus the make build target can build the man pages and pack the result into the source tarball- Don't strip ctc_configure from initrd ctc_configure is used on s390 images- Added man page for result bundle command- Added result bundler- Added kiwi-boot-requires buildservice meta package- Delete unused .releasetags helper Fixes #9- Update README- Update README- Added system update manual page- Create manual pages Create man pages for result list, system build, prepare and create- Added pv xen drivers to boot descriptions Beginning with SLE12 SP2 the default kernel is a pvops capable kernel. This means it can be used in a Xen HVM full virtual machine as well as in a PV - paravirtual machine. However it's required to keep the paravirtual net, block modules in the initrd. As their location also has move an update of the boot image descriptions was necessary- Fixed wait message in waitFor boot functions Better indicate for what we are waiting- Load xen modules by alias only- Fixed validation of custom root cmdline variable A variable of the format root=LABEL=x was not correctly validated- Change default ec2 root_cmdline_parameter For ec2 based firmware the value root=UUID=x is provided instead of a static device node- Refactor internal boot image task Make a factory out of the task and allow to have e.g a dracut boot image task at a later point in time. The BootImageBase class creates an interface for this implementation. So far only BootImageKiwi is implemented- Added export_modprobe_setup method to SystemSetup export_modprobe_setup copies the contents of etc/modprobe.d to a specified target root directory. The method is used to transfer the modprobe configuration from the system image to the boot image- Fixed archive_builder_test Mock platform value- Added compatibility information to main man page- Put arch and version to output image file name- Added quick start example to main kiwi manual page- Fill master manual page with content- Added git like command completion Provide a 'Did you mean' log message for unclear task names- Update README- Fixed non-executable-script rpmlint warning- Man pages are below level 2- Fixed rpm-buildroot-usage rpmlint warning- Fixed non-executable-script rpmlint warning- Delete unused .md5 script- Fixed rpm package build- Fixed dracut call Always create a generic initrd, don't pass -H- Fixed custom args setup for vmdk format custom args is a hash with option/value pairs. For vmdk the option could be e.g adapter_type=value and the value is None. This is by intention because qemu which receives those type of options allows only the syntax "-o option=value". The kiwi code setting up the options did not check correctly if there really is a value for e.g adapter_type- Allow alternative locations for grub installation Different distributions install grub2 to different places. Therefore kiwi should not use a fixed location but allow to lookup grub data at several places- Fixed unit test for fix_boot_catalog on big endian- Fixed unit test for fix_boot_catalog on big endian- Make sure to cleanup yum requests after processing- Fixed CommandIterator check for output before sending an iteration stop- Fixed stateful copy of repository section Profiles are not copied because they might not exist in the target description- Fixed host to root path patcher Don't be confused by multiple /'es- Added support for yum package manager- Fixed use of iso mounted repositories When using an iso as repo, kiwi mounts it to a temporary location. The location is different for each build and therefore the zypper repo file needs to be recreated for any new build in this situation- Check if config file exists Before updating a config file, check if it exists. If it is not present skip the configuration and print a warning message- Added yum repository support- Make man install target more stable- Update source manifest include only doc Makefile and source, the pages are build at build time- Include installation of man pages to spec file- Added man page templates for all commands- Added man page templates Added template for master page and result_list- Added initial sphinx documentation structure The documentation will cover kiwi manual pages. more detailed documentation will be written and maintained in colaboration with the documentation department- Fixed use of noglob shell option- Added support for kiwi --compat The --compat call will trigger the call of the kiwicompat tool written to support legacy kiwi commandlines. An example could look like the following call: sudo kiwi --compat -- --build /my/description --type vmx -d /my/dest Please be aware the -- is required to tell docopt to treat all options as parameters- Prevent duplicate error logging- Refactor CommandProcess class Use an iterator class to run through the process. implement poll variants explicit and clear structured- Fixed updateRootDeviceFstab Support by-label mount entries for btrfs subvolumes This fixes bnc#964474- Add kiwicompat to Makefile build and install target- Update README- Update README- Bump version: 8.10.0 → 8.10.1- Prepare for package building- Follow up fix for fstab setup Use the system installed fstab as default if present- Support building in buildservice worker The repo setup inside of a buildservice worker uses a static path below /usr/src/packages/SOURCES/repos/. We need to adapt the provided obs uri type to match this criteria- Don't add kernel filesystems to fstab Systems with systemd which this kiwi version aims for, doesn't need proc, sysfs, debugfs and friends to be part of the fstab This fixes bnc#964472- Fixed btrfs build with snapshots- Allow system to be installed on btrfs snapshot This fixes (bnc#946648)- Put kiwi_btrfs_root_is_snapshot to boot profile- Recompile schema and data structures New attribute btrfs_root_is_snapshot and methods- Evaluate kiwi_btrfs_root_is_snapshot in boot code If set it's required to mount the subvolumes like it is done with lvm volumes. In addition this patch fixes the update of the fstab file which has to contain an entry for each subvolume excluding snapshots and the toplevel This is related to (bnc#946648)- Added btrfs_root_is_snapshot attribute This is related to (bnc#946648)- Added fix_boot_catalog and relocate_boot_catalog- Prevent duplicate validation of cmdline- Fixed grub2 xen guest bootloader config- More modules not present for grub2/x86_64-xen- There is no multiboot module for grub2/x86_64-xen- Make sure get_partition_table_type returns a value- Use bash to call config scripts- Fixed regular expression pattern use re.escape to make sure the search string has special regular expression characters quoted correctly- Added support for using internal build service An option --obs-repo-internal was added- Add support for alternative config file *.kiwi- Allow to build directly from buildservice checkout- Fix misleading variable name- Move default boot timeout to Defaults class- Fixed boot exclude for zipl case- Fixed zipl bootloader setup and install quote special characters in title for menu. refactor the zipl bootloader install class to know about the boot partition device node- Added title quoting method for older loaders- Move VTOC creation into Disk class- Fixed missing setup_disk_boot_images for zipl The interface class implements this with a raise condition by default. For zipl no bootloader images needs to be created Thus implement the method and pass- Fixed typo in list assignment- Fixed LoopDevice class custom blocksize value must be passed as string to the command level not as integer- Platform fixes for XML tests- Platform endian fix for vhd tag test- Platform fixes for unit tests- Platform mock for grub2 bootloader tests- Platform mock for grub2 bootloader tests- Added BootLoaderInstallZipl class- Activate zipl bootloader config in factory class- Finished BootLoaderConfigZipl class and tests- Delete unused patch statement from test- Added BootLoaderConfigZipl class The implementation is still unfinished- Pass the disk device to the bootloader config As a custom option the BootLoaderConfig instance now receives the target disk device node. So far this is only used in the zipl case where it is needed which is the reason why it is kept as a custom argument- Allow custom options for bootloader config classes- Added zipl bootloader template- Added partitioner_dasd for s390- Refactor Firmware class more information from the XML description is needed in order to make e.g decisions about the partition table type to use according to the firmware setup in combination with e.g the target loader type on s390. Thus the class now receives an instance of the XML state and not only the firmware attribute value- Disable setup of hwclock hwclock seems not exist on all supported architectures. In addition the build process should not fiddle with the build host hardware clock- No need for a condition if there is no alternative- No need for a condition if there is no alternative- Use 800x600 default for grub2 gfxmode- Close progress line with CR when finished- Added ImageBuilder factory- Added system build command Allows to combine prepare and create into one big task- Better error message for pickle exceptions There is no meaningfull error message for pickle.load exceptions. Thus only provide the exception type and our own message- Use pickle instead of marshal- Fixes for the container builder in the setup if the files to update do not exist the process failed. This patch adds a check prior to changing the file- Make sure the create task creates the target dir- Fixed result object dump marshal.dump requires an open file object not a filename- Added ContainerBuilder currently supports building of docker containers- Added ContainerImage class Factory plus implementation for docker- Refactor variable name for root directory If it is clear the source directory is the root directory of the image the variable should be named root_dir not source_dir- Fixing landscape issues- Added ContainerSetup classes Base and Factory plus implementation for docker- Refactor user/groups setup Provide an easier to travers data type in xml_state for the user and groups. The get_users() method returns a list of tuples which assigns each user list the group name and id it belongs to- Use normpath to avoid double slash in output- Added kiwi result task Implementing 'kiwi result list' which marshal loads the serialized result instance from a previous build and shows the build results- Dump the result instance as a marshal dump- Add clic as supported live media build target- Added FileSystemClicFs class- Fixed contents of header_end block off by one bug- Finished LiveImageBuilder for overlay iso type- Added check if UDF extension is needed or not- Put supported live image iso types into defaults- Added live ISO grub2 efi template and setup- pep8 fixes- Rebuild schema and data structures- Allow xfs as hybrid RW file system- Continue with LiveImageBuilder class Added isolinux bootloader setup, finished live build procedure Live metadata injection still missing. grub2 efi boot for live image still missing- Don't use filesystem specific mount option When mounting the read write filesystem, prevent using filesystem specific options like barrier- Use HYBRID_EXT4_OPTS in fat container filesystem- Check read write filesystem prior to mounting If a filesystem type could be identified on the read write partition check it before mounting to eliminate a potential dirty state- Cascade exfat mount try normal mount first, if this does not work try fuse mount Normally this is done automatically by the mount program but if not we will give the direct fuse mount a chance- Fixed Makefile target to build data structures A change in kiwi/schema/kiwi.rnc triggers the build of the schema rng version as well as an auto update of the data structures via python's generateDS. The intermediate xsd schema format is only relevant for the data structure creation process- Make createFileSystem more robust When passing in a loop file instead of a device name, the method should be smart enough to handle the name without shell evaluation- Added support for exfat as hybrid filesystem In addition to fat also exfat is now supported as persistent write filesystem. Because of the limitations of a fat filesystem fat and exfat are only used as a container filesystem providing an ext4 linux filesystem as a cowfile. The algorithm to create the size of the cow file has also been changed to use half of the size of the write partition or on fat a max size of 4G. The size of the cowfile is also prepared to become overwritten. However the XML definition and implementation to do this is still missing- Reread partition table after hybrid setup The hybrid write partition is created via fdisk. Some version of fdisk does not send the ioctl to let the kernel reread the table or fdisk itself holds it busy. Thus we actively initiate a reread via blockdev- Optimize ext4 hybrid write filesystem options Optimized for 512kB erase block size- Use mount options to increase overlay performace For overlay filesystems not writing into a tmpfs performance is more important than safety. We use this combination of options for now, if you encounter stability problems please let us know- Use -f force option for extX filesystem checker- Refactor and cleanup setupReadWrite Fix misleading error message and refactor the code to be less complex and more clear in the processing of tasks- Allow custom cowfile name for persistent data Instead of a fixed name 'cowfile' we allow a custom name which is predefined in HYBRID_PERSISTENT_FILENAME and prepared to become overwritten by an XML defintion whose implementation will follow later. Reason for the change is that a cowfile is visible as plain data file to the operating system if e.g used on a live stick. It should be more clear to the user what this file is good for- Protect mkfs.exfat from being deleted Added to the strip tools section in order to keep it in the initrd- Added support for exfat creation and probing In preparation to use exfat instead of vfat in a loop container for persistent data it's required to provide support for mkfs.exfat- Make loop_setup and loop_delete more robust The methods did not cope well with filenames containing bash characters with special meaning e.g spaces. For use with a iso hybrid cowfile whose name is visible in the OS the methods should be able to work with any given filename- Started with LiveImageBuilder class Added interface and required steps. tests and implementation are missing and will follow- Added archive builder- Added repo handling to compat caller Also added process execution with translated arguments- Add compat translation for prepare/create/upgrade- Added kiwicompat to support legacy commandline- Added install pxe archive support- Added warning message if pxedeploy section is used At the moment there is no class to build the pxe client config file from information provided with the optional pxedeploy section. However this is not fatal to the build because the file could be created manually too. Thus a warning message is shown which will go away when the pxe client config file creation has been ported- cleanup test data to be consistent- Added recovery setup- Added DiskFormatGce class implementation- Fixed suffix name for compressed archives- Added creation of gnu and xz archives to tar class- Refactor result collection Put the creation of a result object into the builder classes and return them from there. The builder instances knows about the results not the task instances- Fixed option handling for vmdk format- Activate disk format building in disk builder If disk format and install media is configured together only the install media will be built and a warning message for skipping the disk format is shown- Added custom argument handling for disk formats- Added DiskFormat factory- Added DiskFormatVmdk class implementation- pep8 fixes- Added DiskFormatVhdFixed class implementation- Delete unused test data symlinks- Added DiskFormatVhd class implementation- Added DiskFormat base class Also added implementation for DiskFormatQcow2. More format classes will follow next- Fixed import of kernel parameters including spaces Kernel parameters like PRODUCT_TYPE=“PRODUCT BANANA” breaks the code in includeKernelParameters. This patch allows spaces for values in a way that it replaces the embedded whitespace with \030 before parsing and then reverting after parsing. Thanks to Jay Nitikman for providing the patch- Fixed LUKS setup for dracut The system image has to provide /etc/crypttab to allow dracut to create a working initrd for reboot. In addition the name of the luks map must be 'luks' to make dracut happy.- luks setup triggers boot partition by default- Add LuksDevice class and implementation Also implemented luks support in DiskBuilder- Handle /boot/vc files for Raspberry Pi openSUSE Tumbleweed raspberrypi-firmware[-branding-openSUSE] packages have been updated to install files to /boot/vc rather than /boot. Ensure that all files in /boot/vc are provided in image/loader for further reference- Refactor file system check in boot code- Make sure VolumeManager instance updates root map An instance of volume manager could cause the creation of a new device e.g in case of LVM. The master device map in the disk builder has to be updated with this device- Fixed unconditional lookup of boot partition id- Package check for packages marked for deletion If none of the packages to become deleted are installed we will raise an error, basically to force people to fixup the image description- Better error message for call with unknown command If kiwi is called with an unknown command an error message showing which commands actually exists should be shown- Fixed user group creation The command name is groupadd not addgroup- Fixed label and UUID support for XFS creation- Traverse dictionary in ordered mode- Return sorted lists for packages/archives- Traverse dictionary in ordered mode- Traverse dictionary in ordered mode- Traverse dictionary in ordered mode- Added __githash__ to version.py Any time the version.py is changed and committed the git ident will be reset by git. After a checkout of version.py the ident will be updated in version.py to the git commit id of version.py Whenever we relase a new kiwi version the process is as follows: 1. run bumpversion to set the version for the release 2. run tox to create the source tarball for the release We have to make sure tox calls a git checkout of version.py- Consolidate use of Makefiles for schema conversion As we are going to switch to tox the Makefile setup should be cleaned up. The make targets to build xsd and rng schemas has been moved to the master Makefile- Consolidate use of Makefiles for locale setup As we are going to switch to tox the Makefile setup should be cleaned up. The make targets to handle po files and their installation has now been moved to the master Makefile- Update translation po files with template- Consolidate use of Makefiles for compiling tools As we are going to switch to tox the Makefile setup should be cleaned up. I'm going to move the various places and its tasks into one master Makefile to make it easier to move the targets one after the other into a tox setup.- Refactor source code structure All files referenced by kiwi should live below the kiwi namespace and should be referenced by the resource_filename() method from the pkg_resources- Update exclude list for boot image runtime data There are some directories needed during boot image creation time, e.g grub2 modules to create grub images. But at boot time this data is no longer required and would just waste space in the initrd- Delete dracut from boot images dracut is needed in the system and also called from there by the kiwi boot image, but inside of the boot image it is not needed and just wastes space- Add some paths not needed in the boot image- Added boot messages translations- Exclude /image from boot images- Change default boot image description path Let the default boot image description path point to boot/arch- Make sure the boot image profile provides its name The variable kiwi_initrdname was added to the .profile environment for boot image builds- Update boot image functions Delete a lot of legacy code from the bash boot code- Added boot image descriptions Provide boot(initrd) image descriptions for supported architectures and distributions- Fixed unit tests, mock NamedTemporaryFile- Added coverage to developer requirements- Use "next generation" string To distinguish it between old and new KIWI- Review and add corrections * Consistent spelling: kiwi -> KIWI, python -> Python * Add punctuation * Use backticks for scripts and dirs- Update development status to be inline with setup.py- Deleted no longer needed bin/kiwi script- Update README Added developer information how to contribute- Minor changes in virtualenv setup file names Moved the requirements.txt setup files into a namespace called .virtualenv in order to stay compatible with the .travis requirement files- Update development status in setup.py- Fix #5: Improve setup.py * setup.py: - use setuptools always, no need to check for distutils - include keywords 'include_package_data', 'zip_safe', and 'classifiers' * setup.cfg: - add bdist_wheel and sdist section * Add missing MANIFEST.in (needed for setup.py dist) * Remove executable bit for LICENSE and README.md- Fix #3: Requirement for Virtual Envs * Add requirements.txt and dev-requirements.txt The dev-requirements.txt installs requirements.txt automatically * Ignore .env, .env2, and .env3 virtual env directories- Fix #4: support bumpversion with .bumpversion.cfg- Added RaidDevice class implementation in disk_builder- Fixed hybrid call offset number should be passed as string to Command__VERSION__ -> __version__- Rename __VERSION__ -> __version__- Added hybrid ISO setup- Refactor creation of a PackageManager factory- Refactor creation of a Repository factory- Refactor creation of a BootLoaderInstall factory- Refactor creation of a VolumeManager factory- Refactor creation of a BootLoaderConfig factory- Refactor creation of a Partitioner factory- Refactor creation of a FileSystem factory- Fixed travis setup- Refactor InstallImageBuilder no need to provide the name of the disk image, this information can be created from the xml state- Fixed missing md5 file on install media- Travis testing needs cdrtools for isoinfo- Added two pass ISO creation system The kiwi ISO's are prepared to be hybrid by adding an end header block so that isohybrid can place its gpt header at the correct offset address- Added user log messages for install media builder- Fixed grub bootloader template for install case Template was missing the cdinst option- Added create_header_end_block method in Iso class- Added isols method in Iso class- Fixed ui theme setup in isolinux.cfg- Added isolinux bootloader support- Prevent zypper failing on outdated system solvable- landscape: fix unused imports- Refactor boot data extraction from boot image Allow data extraction multiple times, don't move files away from their original location- landscape: fix unused imports- landscape: fix unused variables- Add debug message for repo cleanup- landscape: fix unused variables- landscape: fix unused imports- landscape: fix dangerous defaults- landscape: fix dangerous defaults- Added landscap config file skip checking auto generated code- Update README- Set naster branch for travis setup- Update README- Update README Travis and Landscape status- Update README- Update READMElamb68 14995444728.32.2-9.18.32.2-9.1-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.opensuse.org/openSUSE:Leap:42.3/standard/a371e88e0a6cebf48cfa3b48a8dba200-python-kiwicpiolzma5x86_64-suse-linuxZ_aßwI6?] cX˄ x[dr