Hello community, here is the log from the commit of package kiwi for openSUSE:Factory checked in at 2016-11-17 12:20:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kiwi (Old) and /work/SRC/openSUSE:Factory/.kiwi.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi" Changes: -------- --- /work/SRC/openSUSE:Factory/kiwi/kiwi.changes 2016-10-31 09:53:11.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes 2016-11-17 12:20:32.000000000 +0100 @@ -1,0 +2,194 @@ +Tue Nov 8 12:47:53 CET 2016 - m...@suse.de + +- v7.04.17 released + +------------------------------------------------------------------- +Tue Nov 8 12:47:13 CET 2016 - m...@suse.de + +- Delete obsolete pluginsdir from pre-commit + +------------------------------------------------------------------- +Tue Nov 8 11:29:56 CET 2016 - dcass...@suse.com + +- Testing isoinfo binary correctly + + In method 'isols()' isoinfo command line tool is used, however the + binary was opened before testing if it existed. Apparently the open + perl function was not returning an error if the file did not exist. + So in the case that isoinfo was not located in /usr/bin/isoinfo the + open command was not failing, hence never trying to open the + fallback location /usr/lib/genisoimage/isoinfo. + + This commit fixes #614. + +------------------------------------------------------------------- +Mon Nov 7 16:50:02 CET 2016 - dcass...@suse.com + +- ActivateImage links correction and read-only test + + This commit is related to bnc#1006834. 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. + +------------------------------------------------------------------- +Mon Nov 7 16:43:34 CET 2016 - m...@suse.de + +- v7.04.16 released + +------------------------------------------------------------------- +Mon Nov 7 16:42:51 CET 2016 - m...@suse.de + +- Fixup XML info reported size unit + + The value is a byte value not a Kbytes value + +------------------------------------------------------------------- +Mon Nov 7 15:53:08 CET 2016 - m...@suse.de + +- v7.04.15 released + +------------------------------------------------------------------- +Mon Nov 7 15:52:44 CET 2016 - m...@suse.de + +- 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 + +------------------------------------------------------------------- +Thu Nov 3 19:21:05 CET 2016 - m...@suse.de + +- v7.04.14 released + +------------------------------------------------------------------- +Thu Nov 3 10:16:14 CET 2016 - m...@suse.de + +- v7.04.13 released + +------------------------------------------------------------------- +Thu Nov 3 10:14:21 CET 2016 - m...@suse.de + +- Fixed mountSystemClicFS for older distributions + + On e.g sle11 the ext4 filesystem support is available in read + only mode by default. In order to allow read/write access the + filesystem parameters needs to be adapted which can be done + by writing to /sys/module/ext4/parameters/rw if present + +------------------------------------------------------------------- +Thu Nov 3 10:13:39 CET 2016 - m...@suse.de + +- Fixed typo in comments + + clicfs container is an ext4 not ext3 + +------------------------------------------------------------------- +Wed Nov 2 22:37:28 CET 2016 - dcass...@suse.com + +- UpdateOtherDeviceFstab method was not keeping the first argument + + updateOtherDeviceFstab is method responsible to include the fstab + lines needed to mount additional partitions (apart from swap and + root) defined in the description file. This methid had an error + overwriting the variable $1 witht the value of $2, which is always + empty, as the method it is never used with more than a single + parameter. + +------------------------------------------------------------------- +Wed Nov 2 17:34:14 CET 2016 - m...@suse.de + +- v7.04.12 released + +------------------------------------------------------------------- +Wed Nov 2 17:33:44 CET 2016 - m...@suse.de + +- Fixed waitForStorageDevice + + Value for storage_size was not really used + +------------------------------------------------------------------- +Wed Nov 2 12:00:13 CET 2016 - m...@suse.de + +- v7.04.11 released + +------------------------------------------------------------------- +Wed Nov 2 09:33:04 CET 2016 - syafaatku...@gmail.com + +- Translated using Weblate (Indonesian) + + Currently translated at 14.2% (4 of 28 strings) + +------------------------------------------------------------------- +Tue Nov 1 06:59:30 CET 2016 - hayya...@yahoo.com + +- Translated using Weblate (Persian) + + Currently translated at 100.0% (28 of 28 strings) + +------------------------------------------------------------------- +Mon Oct 31 16:40:00 CET 2016 - m...@suse.de + +- 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. + +------------------------------------------------------------------- +Mon Oct 31 15:25:55 CET 2016 - m...@suse.de + +- v7.04.10 released + +------------------------------------------------------------------- +Mon Oct 31 15:25:08 CET 2016 - m...@suse.de + +- Fixed lease request in wicked call bnc#1003091 + +------------------------------------------------------------------- +Mon Oct 31 11:17:28 CET 2016 - m...@suse.de + +- v7.04.9 released + +------------------------------------------------------------------- +Thu Oct 27 16:34:06 CEST 2016 - m...@suse.de + +- Put setupNetworkWicked in line with former dhcpcd + + The way setupNetworkWicked implements the dhcp discovery was + incomplete. This Fixes bnc#1003091 + +------------------------------------------------------------------- +Thu Oct 27 15:06:45 CEST 2016 - m...@suse.de + +- 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 + +------------------------------------------------------------------- +Thu Oct 27 14:49:30 CEST 2016 - m...@suse.de + +- 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 + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kiwi.spec ++++++ --- /var/tmp/diff_new_pack.3k5zJQ/_old 2016-11-17 12:20:35.000000000 +0100 +++ /var/tmp/diff_new_pack.3k5zJQ/_new 2016-11-17 12:20:35.000000000 +0100 @@ -27,7 +27,7 @@ Name: kiwi License: GPL-2.0 Group: System/Management -Version: 7.04.8 +Version: 7.04.17 Provides: kiwi-schema = 6.2 Provides: kiwi-image:aci Provides: kiwi-image:lxc ++++++ kiwi-docu.tar.bz2 ++++++ ++++++ kiwi-repo.tar.bz2 ++++++ ++++++ kiwi.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/.git-hooks/pre-commit new/kiwi/.git-hooks/pre-commit --- old/kiwi/.git-hooks/pre-commit 2016-04-18 16:58:06.000000000 +0200 +++ new/kiwi/.git-hooks/pre-commit 2016-11-08 12:47:43.000000000 +0100 @@ -597,12 +597,8 @@ # Should the code layout in our repository change, # these definitions have to be updated my $modulesDir = getcwd() . '/modules'; -my $pluginsDir; -foreach my $plugdir (glob(getcwd() . '/distribution/*')) { - $pluginsDir .= $plugdir. ':'; -} my $testInclDir = getcwd() . '/tests/unit/lib'; -my $pathEnv = "$modulesDir:$testInclDir:$pluginsDir"; +my $pathEnv = "$modulesDir:$testInclDir"; my @failedToBuild; for my $path (@changedFiles) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/.revision new/kiwi/.revision --- old/kiwi/.revision 2016-04-18 16:58:06.000000000 +0200 +++ new/kiwi/.revision 2016-04-18 16:58:06.000000000 +0200 @@ -1 +1 @@ -f8751719e761017db7048bd9a8ef846343c87f97 +eae4feb90542ac9c2f9c480a67d0fbb6341a4c73 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/locale/fa/LC_MESSAGES/kiwi.po new/kiwi/locale/fa/LC_MESSAGES/kiwi.po --- old/kiwi/locale/fa/LC_MESSAGES/kiwi.po 2016-04-18 16:58:06.000000000 +0200 +++ new/kiwi/locale/fa/LC_MESSAGES/kiwi.po 2016-11-02 11:59:44.000000000 +0100 @@ -4,15 +4,15 @@ msgstr "" "Project-Id-Version: kiwi\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: DATE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: ru\n" +"PO-Revision-Date: 2016-11-01 06:59+0000\n" +"Last-Translator: hayyan rostami <hayya...@yahoo.com>\n" +"Language-Team: Persian <https://l10n.opensuse.org/projects/kiwi/master/fa/>\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.6\n" #. /.../ #. Copyright (c) 2005 SuSE GmbH Nuernberg, Germany. All rights reserved. @@ -20,87 +20,90 @@ #. boot code for KIWI #. msgid "Boot continues in 10 sec" -msgstr "" +msgstr "بوت در 10 ثانیه ی آینده ادامه خواهد یافت" msgid "Enter LUKS passphrase" -msgstr "" +msgstr "عبارت عبور LUKS را وارد کنید" msgid "Do you accept the license agreement ?" -msgstr "" +msgstr "آیا مجوز توافق را میپذیرید ؟" msgid "Do you want to start the System-Recovery ?" -msgstr "" +msgstr "آیا میخواهید بازیابی سیستم را شروع کنید ؟" msgid "Do you want to start the System-Restore ?" -msgstr "" +msgstr "آیا میخواهید که بازگردانی سیستم را شروع کنید ؟" msgid "Restoring base operating system..." -msgstr "" +msgstr "در حال بازگردانی سیستم عامل پایه..." msgid "Destroying ALL data on %1, continue ?" -msgstr "" +msgstr "تخریب تمامی داده ها در %1، ادامه میدهید ؟" msgid "Clean sweep..." -msgstr "" +msgstr "تمیز جارو کردن..." msgid "%1 files from %2 restored..." -msgstr "" +msgstr "%1 پرونده از %2 بازیابی شدند..." msgid "backing up: %1..." -msgstr "" +msgstr "در حال پشتیبانگیری: %1..." msgid "archiving: %1..." -msgstr "" +msgstr "در حال آرشیو کردن: %1..." msgid "restoring: %1..." -msgstr "" +msgstr "در حال بازگردانی: %1..." msgid "Yes" -msgstr "" +msgstr "بله" msgid "No" -msgstr "" +msgstr "خیر" msgid "OK" -msgstr "" +msgstr "خوب" msgid "Cancel" -msgstr "" +msgstr "انصراف" msgid "Exit" -msgstr "" +msgstr "خروج" msgid "Bootloader installation has failed" -msgstr "" +msgstr "نصب بوت لودر ناموفق بود" msgid "" "The system will not be able to reboot. Please make sure to fixup and install " "the bootloader before next reboot. Check /var/log/boot.kiwi for details" msgstr "" +"سیستم قادر به راه اندازی مجدد نیست. لطفا مطمئن شوید که بوت لودر را قبل از " +"راه اندازی مجدد بعدی تعمیر و نصب میکنید. برای جزئیات /var/log/boot.kiwi را " +"بررسی کنید" msgid "Please remove the CD/DVD before reboot" -msgstr "" +msgstr "لطفا قبل از راه اندازی مجدد CD/DVD را خارج کنید" msgid "Please unplug the USB stick before reboot" -msgstr "" +msgstr "لطفا قبل از راه اندازی مجدد حافظه ی USB را خارج کنید" msgid "Installation..." -msgstr "" +msgstr "نصب..." msgid "Loading %1" -msgstr "" +msgstr "بارگزاری %1" msgid "Verifying %1" -msgstr "" +msgstr "تایید %1" msgid "Select disk for installation:" -msgstr "" +msgstr "دیسک را برای نصب انتخاب کنید:" msgid "Select %1 partition for installation:" -msgstr "" +msgstr "%1 پارتیشن را برای نصب انتخاب کنید:" msgid "System will be shutdown. Remove USB stick before power on" -msgstr "" +msgstr "سیستم خاموش خواهد شد. حافظه ی USB را قبل از روشن کردن جدا کنید" msgid "Please remove the CD/DVD before shutdown" -msgstr "" +msgstr "لطفا قبل از خاموش کردن، CD/DVD را خارج کنید" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/locale/id/LC_MESSAGES/kiwi.po new/kiwi/locale/id/LC_MESSAGES/kiwi.po --- old/kiwi/locale/id/LC_MESSAGES/kiwi.po 2016-04-18 16:58:06.000000000 +0200 +++ new/kiwi/locale/id/LC_MESSAGES/kiwi.po 2016-11-02 11:59:44.000000000 +0100 @@ -3,8 +3,8 @@ "Project-Id-Version: @PACKAGE@\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-05-15 15:07+0200\n" -"PO-Revision-Date: 2002-10-08 13:38+0200\n" -"Last-Translator: I Made Wiryana <m...@nakula.rvs.uni-bielefeld.de>\n" +"PO-Revision-Date: 2016-11-02 16:32+0700\n" +"Last-Translator: Kukuh Syafaat <syafaatku...@gmail.com>\n" "Language-Team: Indonesian <i...@suse.de>\n" "Language: id\n" "MIME-Version: 1.0\n" @@ -17,41 +17,43 @@ #. This file contains the gettext keys used within a gettext call in the #. boot code for KIWI #. +#. boot code for KIWI +#. msgid "Boot continues in 10 sec" -msgstr "" +msgstr "Boot berlanjut dalam 10 detik" msgid "Enter LUKS passphrase" -msgstr "" +msgstr "Masukkan LUKS frasa sandi" msgid "Do you accept the license agreement ?" -msgstr "" +msgstr "Apakah Anda menerima perjanjian lisensi?" msgid "Do you want to start the System-Recovery ?" -msgstr "" +msgstr "Apakah Anda ingin memulai System-Recovery?" msgid "Do you want to start the System-Restore ?" -msgstr "" +msgstr "Apakah Anda ingin memulai System-Restore?" msgid "Restoring base operating system..." -msgstr "" +msgstr "Memulihkan sistem operasi dasar..." msgid "Destroying ALL data on %1, continue ?" -msgstr "" +msgstr "Memusnahkan SEMUA data pada %1, lanjutkan?" msgid "Clean sweep..." -msgstr "" +msgstr "Menyapu bersih..." msgid "%1 files from %2 restored..." -msgstr "" +msgstr "%1 berkas dari %2 dipulihkan..." msgid "backing up: %1..." -msgstr "" +msgstr "mem-back up: %1..." msgid "archiving: %1..." -msgstr "" +msgstr "mengarsipkan: %1..." msgid "restoring: %1..." -msgstr "" +msgstr "memulihkan: %1..." msgid "Yes" msgstr "Ya" @@ -68,43 +70,42 @@ msgstr "Batal" msgid "Exit" -msgstr "" +msgstr "Keluar" msgid "Bootloader installation has failed" -msgstr "" +msgstr "Instalasi bootloader galat" msgid "" "The system will not be able to reboot. Please make sure to fixup and install " "the bootloader before next reboot. Check /var/log/boot.kiwi for details" msgstr "" +"Sistem tidak akan dapat memula lulang. Pastikan untuk memperbaiki dan " +"memasang bootloader sebelum memula ulang. Periksa /var/log/boot.kiwi untuk " +"rincian" msgid "Please remove the CD/DVD before reboot" -msgstr "" +msgstr "Silakan keluarkan CD/DVD sebelum memula ulang" msgid "Please unplug the USB stick before reboot" -msgstr "" +msgstr "Silakan cabut stik USB sebelum memula ulang" -#, fuzzy msgid "Installation..." -msgstr "Instalasi" +msgstr "Instalasi..." -#, fuzzy msgid "Loading %1" -msgstr "Kesalahan memuatkan %1" +msgstr "Sedang memuat %1" msgid "Verifying %1" -msgstr "" +msgstr "Sedang memverifikasi %1" -#, fuzzy msgid "Select disk for installation:" -msgstr "Instalasi Hard Disk" +msgstr "Pilih diska untuk instalasi:" -#, fuzzy msgid "Select %1 partition for installation:" -msgstr "Instalasi Hard Disk" +msgstr "Pilih partisi %1 untuk instalasi:" msgid "System will be shutdown. Remove USB stick before power on" -msgstr "" +msgstr "Sistem akan dimatikan. Lepas stik USB sebelum menyalakan" msgid "Please remove the CD/DVD before shutdown" -msgstr "" +msgstr "Silakan keluarkan CD/DVD sebelum mematikan" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIGlobals.pm new/kiwi/modules/KIWIGlobals.pm --- old/kiwi/modules/KIWIGlobals.pm 2016-10-25 14:38:00.000000000 +0200 +++ new/kiwi/modules/KIWIGlobals.pm 2016-11-08 12:47:47.000000000 +0100 @@ -2018,7 +2018,7 @@ # Globals (generic) #------------------------------------------ my %data; - $data{Version} = "7.04.8"; + $data{Version} = "7.04.17"; $data{Publisher} = "SUSE LINUX GmbH"; $data{Preparer} = "KIWI - http://opensuse.github.com/kiwi"; $data{ConfigName} = "config.xml"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIImage.pm new/kiwi/modules/KIWIImage.pm --- old/kiwi/modules/KIWIImage.pm 2016-10-10 16:33:54.000000000 +0200 +++ new/kiwi/modules/KIWIImage.pm 2016-11-03 10:12:59.000000000 +0100 @@ -295,7 +295,7 @@ $name = $rename; } #========================================== - # Create ext3 filesystem on extend + # Create ext4 filesystem on extend #------------------------------------------ if (! $this -> setupEXT2 ( $name,$journal )) { return; @@ -376,7 +376,7 @@ } } #========================================== - # Create clicfs filesystem from ext3 + # Create clicfs filesystem from ext4 #------------------------------------------ $kiwi -> info ( "Creating clicfs container: $this->{imageDest}/$name.clicfs" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIIsoLinux.pm new/kiwi/modules/KIWIIsoLinux.pm --- old/kiwi/modules/KIWIIsoLinux.pm 2016-10-10 17:39:43.000000000 +0200 +++ new/kiwi/modules/KIWIIsoLinux.pm 2016-11-08 12:15:09.000000000 +0100 @@ -999,11 +999,16 @@ my $isoinfo_opts = " -R -l -i $iso 2>/dev/null |"; my $files; local $_; - if (! $fd -> open ("/usr/bin/isoinfo" . $isoinfo_opts)) { - if (! $fd -> open ("/usr/lib/genisoimage/isoinfo" . $isoinfo_opts)) { + my $isoinfo_cmd = "/usr/bin/isoinfo"; + if (! -x $isoinfo_cmd){ + $isoinfo_cmd = "/usr/lib/genisoimage/isoinfo"; + if (! -x $isoinfo_cmd){ return; } } + if (! $fd -> open ($isoinfo_cmd . $isoinfo_opts)) { + return; + } while(<$fd>) { if(/^Directory listing of\s*(\/.*\/)/) { $dir = $1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWILinuxRC.sh new/kiwi/modules/KIWILinuxRC.sh --- old/kiwi/modules/KIWILinuxRC.sh 2016-10-25 11:18:18.000000000 +0200 +++ new/kiwi/modules/KIWILinuxRC.sh 2016-11-08 12:45:23.000000000 +0100 @@ -3732,7 +3732,6 @@ # ---- local IFS=$IFS_ORIG local prefix=$1 - local prefix=$2 local nfstab=$prefix/etc/fstab local index=0 local field=0 @@ -5041,7 +5040,7 @@ local address=$2 local netmask=$3 ip addr flush dev $iface - ip addr add $address broadcast $netmask dev $iface + ip addr add $address/$netmask dev $iface ip link set dev $iface up } #====================================== @@ -5222,24 +5221,14 @@ local nic_config local dhcp_info local wicked_dhcp4=/usr/lib/wicked/bin/wickedd-dhcp4 - for try_iface in ${prefer_iface[*]}; do - # try DHCP_DISCOVER on all prefered interfaces - if ip link set dev $try_iface up;then - if [ $try_iface = "lo" ];then - continue - fi - waitForLinkUp $try_iface + for try_iface in ${dev_list[*]}; do + # try DHCP_DISCOVER on all interfaces + if setIPLinkUp $try_iface; then dhcp_info=/var/run/wicked/wicked-${try_iface}.info $wicked_dhcp4 --debug all \ --test --test-output $dhcp_info $try_iface - if [ $? == 0 ] && [ -s $dhcp_info ];then - importFile < $dhcp_info - # IP address information consists out of two parts but we - # are only interested in the plain IPv4 address information - IPADDR=$(echo $IPADDR | cut -f1 -d/) - if setupNic $try_iface $IPADDR $NETMASK;then - DHCPCD_STARTED="$DHCPCD_STARTED $try_iface" - fi + if [ $? = 0 ] && [ -s $dhcp_info ];then + DHCPCD_STARTED="$DHCPCD_STARTED $try_iface" fi fi done @@ -5256,19 +5245,39 @@ fi fi #====================================== - # setup routing for first discovered + # wait for any preferred interface(s) #-------------------------------------- - for try_iface in $DHCPCD_STARTED; do + for repeat_dhcp_on_discovered in 1 2 ;do + for try_iface in ${prefer_iface[*]} ; do + dhcp_info=/var/run/wicked/wicked-${try_iface}.info + if waitForDHCPInterfaceNegotiation $dhcp_info; then + break 2 + fi + done + sleep 2 + # /.../ + # we are behind the wicked dhcp timeout 20s so the only thing + # we can do now is to try again on discovered interfaces + # ---- + for try_iface in $DHCPCD_STARTED; do + dhcp_info=/var/run/wicked/wicked-${try_iface}.info + $wicked_dhcp4 --debug all \ + --test --test-output $dhcp_info $try_iface + done + sleep 2 + done + #============================================ + # select interface from discovered devices + #-------------------------------------------- + for try_iface in ${prefer_iface[*]} $DHCPCD_STARTED; do dhcp_info=/var/run/wicked/wicked-${try_iface}.info - if [ -s $dhcp_info ]; then - export PXE_IFACE=$try_iface - ip route add default dev $PXE_IFACE - if [ ! -z "$GATEWAYS" ];then - # Use first entry as primary gateway - local gw=$(echo $GATEWAYS | cut -f1 -d " ") - ip route change default via $gw dev $PXE_IFACE + if [ -s $dhcp_info ] && grep -q "^IPADDR=" $dhcp_info; then + echo '<request type="lease"/>' |\ + wicked test dhcp4 --request - -- $try_iface > $dhcp_info + if [ $? = 0 ];then + export PXE_IFACE=$try_iface + break fi - break fi done #====================================== @@ -5291,8 +5300,30 @@ #-------------------------------------- dhcp_info=/var/run/wicked/wicked-${PXE_IFACE}.info if [ -s $dhcp_info ]; then - importFile < /var/run/wicked/wicked-${PXE_IFACE}.info + waitForDHCPInterfaceNegotiation $dhcp_info + importFile < $dhcp_info IPADDR=$(echo $IPADDR | cut -f1 -d/) + if setupNic $PXE_IFACE $IPADDR $NETMASK; then + if ip route add default dev $PXE_IFACE; then + if [ ! -z "$GATEWAYS" ];then + # Use first entry as primary gateway + local gw=$(echo $GATEWAYS | cut -f1 -d " ") + if ! ip route change default via $gw dev $PXE_IFACE; then + systemException \ + "Failed to change default GW on $PXE_IFACE !" \ + "reboot" + fi + fi + else + systemException \ + "Failed to setup default route on $PXE_IFACE !" \ + "reboot" + fi + else + systemException \ + "Failed to setup IP address on $PXE_IFACE !" \ + "reboot" + fi fi } #====================================== @@ -6125,7 +6156,7 @@ local psizeBytes local psizeKBytes if [ -z "$diskDevice" ] || [ ! -e "$diskDevice" ];then - echo 1 ; return 1 + echo 0 ; return 1 fi psizeBytes=$(blockdev --getsize64 $diskDevice) psizeKBytes=$((psizeBytes / 1024)) @@ -6734,6 +6765,24 @@ #-------------------------------------- modprobe fuse &>/dev/null #====================================== + # load ext4 module + #-------------------------------------- + # ext4 is used as the container filesystem inside of the + # clicfs if present as kernel module it must be loaded prior + # to the mount of the fuse layer + modprobe ext4 &>/dev/null + #====================================== + # make sure ext4 is in write mode + #-------------------------------------- + # on older distributions the ext4 default setup is in read-only + # mode, which is not sufficient for a clicfs based root filesystem. + # the ext4 storage is not changed because the clicfs layer moves all + # write actions into its own blocklist but ext4 is the root of all + # data and thus has to allow to pass through any kind of I/O + if [ -e /sys/module/ext4/parameters/rw ];then + echo 1 > /sys/module/ext4/parameters/rw + fi + #====================================== # create read only mount point #-------------------------------------- mkdir -p $roDir @@ -7400,26 +7449,26 @@ #-------------------------------------- function waitForStorageDevice { # /.../ - # function to check access on a storage device - # which could be a whole disk or a partition. - # the function will wait until the size of the - # storage device could be obtained or the timeout - # is reached. Default timeout is 60 seconds, however - # it can be set to different value by setting the - # DEVICE_TIMEOUT variable in the kernel command - # line. + # function to check access on a storage device which could be + # a whole disk or a partition. The function will wait until + # the size of the storage device could be obtained and is + # greater than zero or the timeout is reached. Default timeout + # is set to 60 seconds, however it can be set to different + # value by setting the DEVICE_TIMEOUT variable on the kernel + # command line. # ---- local IFS=$IFS_ORIG local device=$1 local check=0 local limit=30 + local storage_size=0 if [[ $DEVICE_TIMEOUT =~ ^[0-9]+$ ]]; then - limit=$(((DEVICE_TIMEOUT + 1)/ 2)) + limit=$(((DEVICE_TIMEOUT + 1)/ 2)) fi udevPending while true;do - partitionSize $device &>/dev/null - if [ $? = 0 ]; then + storage_size=$(partitionSize $device) + if [ $storage_size -gt 0 ]; then sleep 1; return 0 fi if [ $check -eq $limit ]; then @@ -7461,6 +7510,40 @@ done } #====================================== +# setIPLinkUp +#-------------------------------------- +function setIPLinkUp { + local IFS=$IFS_ORIG + local try_iface=$1 + if ip link set dev $try_iface up;then + if [ ! $try_iface = "lo" ];then + waitForLinkUp $try_iface + fi + # success + return 0 + fi + # error on ip call, failed state + return 1 +} +#====================================== +# waitForDHCPInterfaceNegotiation +#-------------------------------------- +function waitForDHCPInterfaceNegotiation { + local IFS=$IFS_ORIG + local dhcp_info=$1 + for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20;do + if [ -s $dhcp_info ] && + grep -q "^IPADDR=" $dhcp_info + then + # success + return 0 + fi + sleep 2 + done + # timeout reached, failed state + return 1 +} +#====================================== # waitForBlockDevice #-------------------------------------- function waitForBlockDevice { @@ -7592,11 +7675,11 @@ #====================================== # source host is required #-------------------------------------- + if [ ! -z $kiwiserver ];then + host=$kiwiserver + fi if [ -z "$host" ]; then - if test -z "$SERVER"; then - systemException "No source server specified" "reboot" - fi - host=$SERVER + systemException "No source server specified" "reboot" fi #====================================== # set default chunk size @@ -7607,12 +7690,11 @@ #====================================== # set default service type #-------------------------------------- + if [ ! -z $kiwiservertype ]; then + type=$kiwiservertype + fi if [ -z "$type" ]; then - if [ -z "$SERVERTYPE" ]; then - type="tftp" - else - type="$SERVERTYPE" - fi + type="tftp" fi #====================================== # set source path + tool if compressed @@ -7858,18 +7940,17 @@ if test -z "$path"; then systemException "No path specified" "reboot" fi + if [ ! -z $kiwiserver ];then + host=$kiwiserver + fi if test -z "$host"; then - if test -z "$SERVER"; then - systemException "No server specified" "reboot" - fi - host=$SERVER + systemException "No server specified" "reboot" + fi + if [ ! -z $kiwiservertype ]; then + type=$kiwiservertype fi if test -z "$type"; then - if test -z "$SERVERTYPE"; then - type="tftp" - else - type="$SERVERTYPE" - fi + type="tftp" fi encoded_dest=$(encodeURL "$dest") case "$type" in @@ -8139,6 +8220,7 @@ local cdDir=/livecd if [ -d $cdDir ];then mkdir -p $prefix/$cdDir && mount --move /$cdDir $prefix/$cdDir + rm -r $cdDir && ln -s $prefix/$cdDir $cdDir if [ -d /cow ];then mkdir -p $prefix/cow && mount --move /cow $prefix/cow fi @@ -8188,15 +8270,19 @@ if [ ! -e $prefix/$killall5 ]; then touch $prefix/killall5.from-initrd fi - if ! cp -f -a $killall5 $prefix/$killall5;then - systemException "Failed to copy: killall5" "reboot" + if touch $(dirname $prefix/$killall5); then + if ! cp -f -a $killall5 $prefix/$killall5; then + systemException "Failed to copy: killall5" "reboot" + fi fi local pidof=$(lookup pidof) if [ ! -e $prefix/$pidof ];then touch $prefix/pidof.from-initrd fi - if ! cp -f -a $pidof $prefix/$pidof;then - systemException "Failed to copy: pidof" "reboot" + if touch $(dirname $prefix/$pidof); then + if ! cp -f -a $pidof $prefix/$pidof;then + systemException "Failed to copy: pidof" "reboot" + fi fi } #====================================== @@ -10525,6 +10611,15 @@ fi IFS=$IFS_ORIG mdadm --assemble --run /dev/md$mdcount $devices + if ! waitForStorageDevice /dev/md$mdcount; then + # start any array that has been partially assembled + mdadm -IRs + if ! waitForStorageDevice /dev/md$mdcount; then + systemException \ + "Failed to assemble raid array, too many devices missing" \ + "reboot" + fi + fi mdadm -Db /dev/md$mdcount >> $conf mdcount=$((mdcount + 1)) done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIXMLInfo.pm new/kiwi/modules/KIWIXMLInfo.pm --- old/kiwi/modules/KIWIXMLInfo.pm 2016-04-18 16:58:06.000000000 +0200 +++ new/kiwi/modules/KIWIXMLInfo.pm 2016-11-07 16:42:41.000000000 +0100 @@ -499,7 +499,7 @@ # with the custom script and other hook-in mechanism # it's not possible to forecast the end size exactly. # returns a list with two elements: - # rootsizeKB,deletionsizeKB + # rootsizeBytes,deletionsizeBytes # --- my $this = shift; my @result = (); @@ -846,10 +846,10 @@ return; } else { my $sizenode = XML::LibXML::Element -> new("size"); - $sizenode -> setAttribute ("rootsizeKB",$sizeinfo[0]); + $sizenode -> setAttribute ("rootsizeBytes",$sizeinfo[0]); if ($sizeinfo[1]) { $sizenode -> setAttribute ( - "deletionsizeKB","$sizeinfo[1]" + "deletionsizeBytes","$sizeinfo[1]" ); } $scan -> appendChild ($sizenode);