openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
May 2019
- 1 participants
- 2232 discussions
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-31 21:02:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Fri May 31 21:02:12 2019 rev:288 rq: version:unknown
Fri May 31 21:01:59 2019 rev:287 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.1:update_1559295026.packages.xz
42.3:update_1559312760.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-31 21:01:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Fri May 31 21:01:52 2019 rev:286 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.0:update_1559296423.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2019-05-31 12:13:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Fri May 31 12:13:44 2019 rev:153 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
openSUSE-MicroOS-release.spec: same change
openSUSE-release.spec: same change
stub.spec: same change
++++++ weakremovers.inc ++++++
++++ 20118 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/000release-packages/weakremovers.inc
++++ and /work/SRC/openSUSE:Factory/.000release-packages.new.5148/weakremovers.inc
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-31 11:21:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri May 31 11:21:37 2019 rev:1282 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.ApBC8C/_old 2019-05-31 11:21:47.808149008 +0200
+++ /var/tmp/diff_new_pack.ApBC8C/_new 2019-05-31 11:21:47.812149006 +0200
@@ -54,6 +54,460 @@
<repopackage name="skelcd-openSUSE" medium="0" removearch="src,nosrc" onlyarch="x86_64"/>
</metadata>
<repopackages>
+ <repopackage name="aaa_base"/>
+ <repopackage name="apparmor-abstractions" arch="x86_64"/>
+ <repopackage name="apparmor-parser" arch="x86_64"/>
+ <repopackage name="apparmor-profiles" arch="x86_64"/>
+ <repopackage name="apparmor-utils" arch="x86_64"/>
+ <repopackage name="attr" arch="x86_64"/>
+ <repopackage name="audit" arch="x86_64"/>
+ <repopackage name="bash"/>
+ <repopackage name="bc" arch="x86_64"/>
+ <repopackage name="bind-utils" arch="x86_64"/>
+ <repopackage name="biosdevname" arch="x86_64"/>
+ <repopackage name="blog"/>
+ <repopackage name="boost-license1_69_0" arch="x86_64"/>
+ <repopackage name="btrfsmaintenance" arch="x86_64"/>
+ <repopackage name="btrfsprogs" arch="x86_64"/>
+ <repopackage name="btrfsprogs-udev-rules" arch="x86_64"/>
+ <repopackage name="ca-certificates" arch="x86_64"/>
+ <repopackage name="ca-certificates-mozilla" arch="x86_64"/>
+ <repopackage name="catatonit" arch="x86_64"/>
+ <repopackage name="checkpolicy" arch="x86_64"/>
+ <repopackage name="chkstat"/>
+ <repopackage name="chrony" arch="x86_64"/>
+ <repopackage name="cloud-init" arch="x86_64"/>
+ <repopackage name="cloud-init-config-caasp" arch="x86_64"/>
+ <repopackage name="cni" arch="x86_64"/>
+ <repopackage name="cni-plugins" arch="x86_64"/>
+ <repopackage name="coreutils"/>
+ <repopackage name="cpio"/>
+ <repopackage name="cracklib"/>
+ <repopackage name="cracklib-dict-full"/>
+ <repopackage name="cracklib-dict-small" arch="x86_64"/>
+ <repopackage name="cryptsetup" arch="x86_64"/>
+ <repopackage name="curl" arch="x86_64"/>
+ <repopackage name="cyrus-sasl" arch="x86_64"/>
+ <repopackage name="cyrus-sasl-gssapi" arch="x86_64"/>
+ <repopackage name="dbus-1"/>
+ <repopackage name="dbus-1-glib" arch="x86_64"/>
+ <repopackage name="device-mapper" arch="x86_64"/>
+ <repopackage name="dhcp" arch="x86_64"/>
+ <repopackage name="dhcp-client" arch="x86_64"/>
+ <repopackage name="diffutils"/>
+ <repopackage name="dmidecode" arch="x86_64"/>
+ <repopackage name="dosfstools" arch="x86_64"/>
+ <repopackage name="dracut"/>
+ <repopackage name="dracut-ima" arch="x86_64"/>
+ <repopackage name="e2fsprogs" arch="x86_64"/>
+ <repopackage name="efibootmgr" arch="x86_64"/>
+ <repopackage name="elfutils"/>
+ <repopackage name="evmctl" arch="x86_64"/>
+ <repopackage name="expat" arch="x86_64"/>
+ <repopackage name="fcoe-utils" arch="x86_64"/>
+ <repopackage name="file"/>
+ <repopackage name="file-magic"/>
+ <repopackage name="filesystem"/>
+ <repopackage name="fillup"/>
+ <repopackage name="findutils"/>
+ <repopackage name="gawk"/>
+ <repopackage name="GeoIP-data" arch="x86_64"/>
+ <repopackage name="gettext-runtime" arch="x86_64"/>
+ <repopackage name="gio-branding-openSUSE" arch="x86_64"/>
+ <repopackage name="glib-networking" arch="x86_64"/>
+ <repopackage name="glib2-tools" arch="x86_64"/>
+ <repopackage name="glibc"/>
+ <repopackage name="glibc-locale" arch="x86_64"/>
+ <repopackage name="glibc-locale-base" arch="x86_64"/>
+ <repopackage name="gpg2" arch="x86_64"/>
+ <repopackage name="gptfdisk" arch="x86_64"/>
+ <repopackage name="grep"/>
+ <repopackage name="growpart" arch="x86_64"/>
+ <repopackage name="grub2" arch="x86_64"/>
+ <repopackage name="grub2-branding-openSUSE" arch="x86_64"/>
+ <repopackage name="grub2-i386-pc" arch="x86_64"/>
+ <repopackage name="grub2-snapper-plugin" arch="x86_64"/>
+ <repopackage name="grub2-x86_64-efi" arch="x86_64"/>
+ <repopackage name="gsettings-desktop-schemas" arch="x86_64"/>
+ <repopackage name="gzip"/>
+ <repopackage name="hardlink"/>
+ <repopackage name="haveged" arch="x86_64"/>
+ <repopackage name="health-checker" arch="x86_64"/>
+ <repopackage name="health-checker-plugins-MicroOS" arch="x86_64"/>
+ <repopackage name="hostname" arch="x86_64"/>
+ <repopackage name="hwdata" arch="x86_64"/>
+ <repopackage name="hwinfo" arch="x86_64"/>
+ <repopackage name="hyper-v" arch="x86_64"/>
+ <repopackage name="info"/>
+ <repopackage name="iproute2" arch="x86_64"/>
+ <repopackage name="ipset" arch="x86_64"/>
+ <repopackage name="iptables" arch="x86_64"/>
+ <repopackage name="iputils" arch="x86_64"/>
+ <repopackage name="irqbalance" arch="x86_64"/>
+ <repopackage name="iscsiuio" arch="x86_64"/>
+ <repopackage name="issue-generator"/>
+ <repopackage name="kbd"/>
+ <repopackage name="kbd-legacy"/>
+ <repopackage name="kdump" arch="x86_64"/>
+ <repopackage name="kernel-debug" arch="x86_64"/>
+ <repopackage name="kernel-default"/>
+ <repopackage name="kernel-default-base" arch="x86_64"/>
+ <repopackage name="kernel-firmware" arch="x86_64"/>
+ <repopackage name="kexec-tools" arch="x86_64"/>
+ <repopackage name="keyutils" arch="x86_64"/>
+ <repopackage name="kmod"/>
+ <repopackage name="kmod-compat"/>
+ <repopackage name="kpartx" arch="x86_64"/>
+ <repopackage name="krb5"/>
+ <repopackage name="kubic-locale-archive" arch="x86_64"/>
+ <repopackage name="less" arch="x86_64"/>
+ <repopackage name="libacl1"/>
+ <repopackage name="libaio1" arch="x86_64"/>
+ <repopackage name="libapparmor1"/>
+ <repopackage name="libarchive13" arch="x86_64"/>
+ <repopackage name="libargon2-1"/>
+ <repopackage name="libasm1"/>
+ <repopackage name="libassuan0" arch="x86_64"/>
+ <repopackage name="libattr1"/>
+ <repopackage name="libaudit1"/>
+ <repopackage name="libaugeas0" arch="x86_64"/>
+ <repopackage name="libauparse0" arch="x86_64"/>
+ <repopackage name="libbasicobjects0" arch="x86_64"/>
+ <repopackage name="libbind9-160" arch="x86_64"/>
+ <repopackage name="libblkid1"/>
+ <repopackage name="libblogger2"/>
+ <repopackage name="libboost_thread1_69_0" arch="x86_64"/>
+ <repopackage name="libbtrfs0" arch="x86_64"/>
+ <repopackage name="libbz2-1"/>
+ <repopackage name="libcap-ng0"/>
+ <repopackage name="libcap2"/>
+ <repopackage name="libcares2" arch="x86_64"/>
+ <repopackage name="libcetcd0" arch="x86_64"/>
+ <repopackage name="libcollection4" arch="x86_64"/>
+ <repopackage name="libcom_err2"/>
+ <repopackage name="libconfig11" arch="x86_64"/>
+ <repopackage name="libcontainers-common" arch="x86_64"/>
+ <repopackage name="libcrack2"/>
+ <repopackage name="libcroco-0_6-3" arch="x86_64"/>
+ <repopackage name="libcrypt1"/>
+ <repopackage name="libcryptsetup12"/>
+ <repopackage name="libcurl4" arch="x86_64"/>
+ <repopackage name="libdb-4_8"/>
+ <repopackage name="libdbus-1-3"/>
+ <repopackage name="libdevmapper-event1_03" arch="x86_64"/>
+ <repopackage name="libdevmapper1_03"/>
+ <repopackage name="libdhash1" arch="x86_64"/>
+ <repopackage name="libdnet1" arch="x86_64"/>
+ <repopackage name="libdns169" arch="x86_64"/>
+ <repopackage name="libdw1"/>
+ <repopackage name="libebl-plugins"/>
+ <repopackage name="libedit0" arch="x86_64"/>
+ <repopackage name="libefivar1" arch="x86_64"/>
+ <repopackage name="libelf1"/>
+ <repopackage name="libesmtp6" arch="x86_64"/>
+ <repopackage name="libexpat1"/>
+ <repopackage name="libext2fs2" arch="x86_64"/>
+ <repopackage name="libfdisk1"/>
+ <repopackage name="libffi7"/>
+ <repopackage name="libfreebl3" arch="x86_64"/>
+ <repopackage name="libfreetype6" arch="x86_64"/>
+ <repopackage name="libfuse2" arch="x86_64"/>
+ <repopackage name="libgcc_s1"/>
+ <repopackage name="libgcrypt20"/>
+ <repopackage name="libgdbm6" arch="x86_64"/>
+ <repopackage name="libgdbm_compat4" arch="x86_64"/>
+ <repopackage name="libGeoIP1" arch="x86_64"/>
+ <repopackage name="libgio-2_0-0" arch="x86_64"/>
+ <repopackage name="libglib-2_0-0" arch="x86_64"/>
+ <repopackage name="libgmodule-2_0-0" arch="x86_64"/>
+ <repopackage name="libgmp10"/>
+ <repopackage name="libgnutls30"/>
+ <repopackage name="libgobject-2_0-0" arch="x86_64"/>
+ <repopackage name="libgpg-error0"/>
+ <repopackage name="libgpgme11" arch="x86_64"/>
+ <repopackage name="libhavege1" arch="x86_64"/>
+ <repopackage name="libhogweed4"/>
+ <repopackage name="libicu-suse64_2" arch="x86_64"/>
+ <repopackage name="libicu64_2-ledata" arch="x86_64"/>
+ <repopackage name="libidn2-0"/>
+ <repopackage name="libimaevm0" arch="x86_64"/>
+ <repopackage name="libini_config5" arch="x86_64"/>
+ <repopackage name="libipset13" arch="x86_64"/>
+ <repopackage name="libiptc0" arch="x86_64"/>
+ <repopackage name="libirs160" arch="x86_64"/>
+ <repopackage name="libisc166" arch="x86_64"/>
+ <repopackage name="libisccc160" arch="x86_64"/>
+ <repopackage name="libisccfg160" arch="x86_64"/>
+ <repopackage name="libjson-c4"/>
+ <repopackage name="libkeyutils1"/>
+ <repopackage name="libkmod2"/>
+ <repopackage name="libksba8" arch="x86_64"/>
+ <repopackage name="libldap-2_4-2" arch="x86_64"/>
+ <repopackage name="libldb1" arch="x86_64"/>
+ <repopackage name="liblldp_clif1" arch="x86_64"/>
+ <repopackage name="liblmdb-0_9_23" arch="x86_64"/>
+ <repopackage name="libltdl7" arch="x86_64"/>
+ <repopackage name="liblua5_3-5"/>
+ <repopackage name="liblwres160" arch="x86_64"/>
+ <repopackage name="liblz4-1"/>
+ <repopackage name="liblzma5"/>
+ <repopackage name="liblzo2-2" arch="x86_64"/>
+ <repopackage name="libmagic1"/>
+ <repopackage name="libmetalink3" arch="x86_64"/>
+ <repopackage name="libmnl0" arch="x86_64"/>
+ <repopackage name="libmodman1" arch="x86_64"/>
+ <repopackage name="libmount1"/>
+ <repopackage name="libmpath0" arch="x86_64"/>
+ <repopackage name="libmspack0" arch="x86_64"/>
+ <repopackage name="libncurses6"/>
+ <repopackage name="libnetfilter_conntrack3" arch="x86_64"/>
+ <repopackage name="libnettle6"/>
+ <repopackage name="libnfnetlink0" arch="x86_64"/>
+ <repopackage name="libnftnl11" arch="x86_64"/>
+ <repopackage name="libnghttp2-14" arch="x86_64"/>
+ <repopackage name="libnl-config" arch="x86_64"/>
+ <repopackage name="libnl3-200" arch="x86_64"/>
+ <repopackage name="libnpth0" arch="x86_64"/>
+ <repopackage name="libnsl2"/>
+ <repopackage name="libnuma1" arch="x86_64"/>
+ <repopackage name="libopeniscsiusr0_2_0" arch="x86_64"/>
+ <repopackage name="libopenssl1_1"/>
+ <repopackage name="libostree-1-1" arch="x86_64"/>
+ <repopackage name="libp11-kit0"/>
+ <repopackage name="libparted0" arch="x86_64"/>
+ <repopackage name="libpath_utils1" arch="x86_64"/>
+ <repopackage name="libpci3" arch="x86_64"/>
+ <repopackage name="libpciaccess0" arch="x86_64"/>
+ <repopackage name="libpcre1"/>
+ <repopackage name="libpcre2-8-0"/>
+ <repopackage name="libpng16-16" arch="x86_64"/>
+ <repopackage name="libpopt0"/>
+ <repopackage name="libprocps7" arch="x86_64"/>
+ <repopackage name="libproxy1" arch="x86_64"/>
+ <repopackage name="libpsl5" arch="x86_64"/>
+ <repopackage name="libpwquality1" arch="x86_64"/>
+ <repopackage name="libpython2_7-1_0" arch="x86_64"/>
+ <repopackage name="libpython3_7m1_0" arch="x86_64"/>
+ <repopackage name="libqrencode4"/>
+ <repopackage name="libreadline8"/>
+ <repopackage name="libref_array1" arch="x86_64"/>
+ <repopackage name="libreiserfscore0" arch="x86_64"/>
+ <repopackage name="libsasl2-3" arch="x86_64"/>
+ <repopackage name="libseccomp2"/>
+ <repopackage name="libselinux1"/>
+ <repopackage name="libsemanage1"/>
+ <repopackage name="libsepol1"/>
+ <repopackage name="libsgutils2-1_45-2" arch="x86_64"/>
+ <repopackage name="libsmartcols1"/>
+ <repopackage name="libsnapper4" arch="x86_64"/>
+ <repopackage name="libsnappy1" arch="x86_64"/>
+ <repopackage name="libsolv-tools" arch="x86_64"/>
+ <repopackage name="libsoup-2_4-1" arch="x86_64"/>
+ <repopackage name="libsqlite3-0" arch="x86_64"/>
+ <repopackage name="libssh4" arch="x86_64"/>
+ <repopackage name="libsss_certmap0" arch="x86_64"/>
+ <repopackage name="libsss_idmap0" arch="x86_64"/>
+ <repopackage name="libsss_nss_idmap0" arch="x86_64"/>
+ <repopackage name="libstdc++6"/>
+ <repopackage name="libsystemd0"/>
+ <repopackage name="libtalloc2" arch="x86_64"/>
+ <repopackage name="libtasn1"/>
+ <repopackage name="libtasn1-6"/>
+ <repopackage name="libtdb1" arch="x86_64"/>
+ <repopackage name="libtevent0" arch="x86_64"/>
+ <repopackage name="libtirpc-netconfig"/>
+ <repopackage name="libtirpc3"/>
+ <repopackage name="libudev1"/>
+ <repopackage name="libunistring2"/>
+ <repopackage name="liburcu6" arch="x86_64"/>
+ <repopackage name="libusb-1_0-0" arch="x86_64"/>
+ <repopackage name="libutempter0"/>
+ <repopackage name="libuuid1"/>
+ <repopackage name="libverto1"/>
+ <repopackage name="libvmtools0" arch="x86_64"/>
+ <repopackage name="libwicked-0-6" arch="x86_64"/>
+ <repopackage name="libwrap0" arch="x86_64"/>
+ <repopackage name="libx86emu2" arch="x86_64"/>
+ <repopackage name="libxml2-2" arch="x86_64"/>
+ <repopackage name="libxml2-tools" arch="x86_64"/>
+ <repopackage name="libxmlsec1-1" arch="x86_64"/>
+ <repopackage name="libxmlsec1-openssl1" arch="x86_64"/>
+ <repopackage name="libxslt1" arch="x86_64"/>
+ <repopackage name="libxtables12" arch="x86_64"/>
+ <repopackage name="libyajl2" arch="x86_64"/>
+ <repopackage name="libyaml-0-2" arch="x86_64"/>
+ <repopackage name="libz1"/>
+ <repopackage name="libzio1"/>
+ <repopackage name="libzstd1" arch="x86_64"/>
+ <repopackage name="libzypp" arch="x86_64"/>
+ <repopackage name="logrotate" arch="x86_64"/>
+ <repopackage name="lsof" arch="x86_64"/>
+ <repopackage name="makedumpfile" arch="x86_64"/>
+ <repopackage name="mcstrans" arch="x86_64"/>
+ <repopackage name="microos-tools" arch="x86_64"/>
+ <repopackage name="mokutil" arch="x86_64"/>
+ <repopackage name="multipath-tools" arch="x86_64"/>
+ <repopackage name="ncurses-utils"/>
+ <repopackage name="net-tools" arch="x86_64"/>
+ <repopackage name="netcfg"/>
+ <repopackage name="open-iscsi" arch="x86_64"/>
+ <repopackage name="open-lldp" arch="x86_64"/>
+ <repopackage name="open-vm-tools" arch="x86_64"/>
+ <repopackage name="openslp" arch="x86_64"/>
+ <repopackage name="openssh" arch="x86_64"/>
+ <repopackage name="openssl" arch="x86_64"/>
+ <repopackage name="openssl-1_1" arch="x86_64"/>
+ <repopackage name="openSUSE-build-key" arch="x86_64"/>
+ <repopackage name="openSUSE-MicroOS-release"/>
+ <repopackage name="openSUSE-MicroOS-release-appliance"/>
+ <repopackage name="p11-kit" arch="x86_64"/>
+ <repopackage name="p11-kit-tools" arch="x86_64"/>
+ <repopackage name="pam"/>
+ <repopackage name="pam-config"/>
+ <repopackage name="parted" arch="x86_64"/>
+ <repopackage name="patterns-containers-container_runtime" arch="x86_64"/>
+ <repopackage name="patterns-microos-alt_onlyDVD" arch="x86_64"/>
+ <repopackage name="patterns-microos-apparmor" arch="x86_64"/>
+ <repopackage name="patterns-microos-base" arch="x86_64"/>
+ <repopackage name="patterns-microos-basesystem" arch="x86_64"/>
+ <repopackage name="patterns-microos-cloud" arch="x86_64"/>
+ <repopackage name="patterns-microos-defaults" arch="x86_64"/>
+ <repopackage name="patterns-microos-hardware" arch="x86_64"/>
+ <repopackage name="patterns-microos-ima_evm" arch="x86_64"/>
+ <repopackage name="patterns-microos-onlyDVD" arch="x86_64"/>
+ <repopackage name="patterns-microos-selinux" arch="x86_64"/>
+ <repopackage name="patterns-microos-sssd_ldap" arch="x86_64"/>
+ <repopackage name="pciutils" arch="x86_64"/>
+ <repopackage name="perl" arch="x86_64"/>
+ <repopackage name="perl-apparmor" arch="x86_64"/>
+ <repopackage name="perl-base"/>
+ <repopackage name="perl-Bootloader"/>
+ <repopackage name="perl-Config-IniFiles" arch="x86_64"/>
+ <repopackage name="perl-HTML-Parser" arch="x86_64"/>
+ <repopackage name="perl-HTML-Tagset" arch="x86_64"/>
+ <repopackage name="perl-IO-stringy" arch="x86_64"/>
+ <repopackage name="perl-JSON" arch="x86_64"/>
+ <repopackage name="perl-XML-Parser" arch="x86_64"/>
+ <repopackage name="perl-XML-Twig" arch="x86_64"/>
+ <repopackage name="permissions"/>
+ <repopackage name="permissions-config"/>
+ <repopackage name="pigz"/>
+ <repopackage name="pinentry" arch="x86_64"/>
+ <repopackage name="pkg-config"/>
+ <repopackage name="podman" arch="x86_64"/>
+ <repopackage name="podman-cni-config" arch="x86_64"/>
+ <repopackage name="policycoreutils" arch="x86_64"/>
+ <repopackage name="procps" arch="x86_64"/>
+ <repopackage name="psmisc" arch="x86_64"/>
+ <repopackage name="python-base" arch="x86_64"/>
+ <repopackage name="python-rpm-macros" arch="x86_64"/>
+ <repopackage name="python3" arch="x86_64"/>
+ <repopackage name="python3-apparmor" arch="x86_64"/>
+ <repopackage name="python3-appdirs" arch="x86_64"/>
+ <repopackage name="python3-asn1crypto" arch="x86_64"/>
+ <repopackage name="python3-audit" arch="x86_64"/>
+ <repopackage name="python3-Babel" arch="x86_64"/>
+ <repopackage name="python3-base" arch="x86_64"/>
+ <repopackage name="python3-bind" arch="x86_64"/>
+ <repopackage name="python3-blinker" arch="x86_64"/>
+ <repopackage name="python3-certifi" arch="x86_64"/>
+ <repopackage name="python3-cffi" arch="x86_64"/>
+ <repopackage name="python3-chardet" arch="x86_64"/>
+ <repopackage name="python3-configobj" arch="x86_64"/>
+ <repopackage name="python3-cryptography" arch="x86_64"/>
+ <repopackage name="python3-decorator" arch="x86_64"/>
+ <repopackage name="python3-ecdsa" arch="x86_64"/>
+ <repopackage name="python3-idna" arch="x86_64"/>
+ <repopackage name="python3-ipy" arch="x86_64"/>
+ <repopackage name="python3-Jinja2" arch="x86_64"/>
+ <repopackage name="python3-jsonpatch" arch="x86_64"/>
+ <repopackage name="python3-jsonpointer" arch="x86_64"/>
+ <repopackage name="python3-jsonschema" arch="x86_64"/>
+ <repopackage name="python3-MarkupSafe" arch="x86_64"/>
+ <repopackage name="python3-networkx" arch="x86_64"/>
+ <repopackage name="python3-oauthlib" arch="x86_64"/>
+ <repopackage name="python3-packaging" arch="x86_64"/>
+ <repopackage name="python3-ply" arch="x86_64"/>
+ <repopackage name="python3-policycoreutils" arch="x86_64"/>
+ <repopackage name="python3-py" arch="x86_64"/>
+ <repopackage name="python3-pyasn1" arch="x86_64"/>
+ <repopackage name="python3-pycparser" arch="x86_64"/>
+ <repopackage name="python3-PyJWT" arch="x86_64"/>
+ <repopackage name="python3-pyparsing" arch="x86_64"/>
+ <repopackage name="python3-pyserial" arch="x86_64"/>
+ <repopackage name="python3-pytz" arch="x86_64"/>
+ <repopackage name="python3-PyYAML" arch="x86_64"/>
+ <repopackage name="python3-requests" arch="x86_64"/>
+ <repopackage name="python3-selinux" arch="x86_64"/>
+ <repopackage name="python3-semanage" arch="x86_64"/>
+ <repopackage name="python3-setools" arch="x86_64"/>
+ <repopackage name="python3-setuptools" arch="x86_64"/>
+ <repopackage name="python3-six" arch="x86_64"/>
+ <repopackage name="python3-urllib3" arch="x86_64"/>
+ <repopackage name="read-only-root-fs" arch="x86_64"/>
+ <repopackage name="rebootmgr" arch="x86_64"/>
+ <repopackage name="restorecond" arch="x86_64"/>
+ <repopackage name="rpm"/>
+ <repopackage name="rpm-config-SUSE"/>
+ <repopackage name="rsync" arch="x86_64"/>
+ <repopackage name="runc" arch="x86_64"/>
+ <repopackage name="sed"/>
+ <repopackage name="selinux-tools" arch="x86_64"/>
+ <repopackage name="sg3_utils" arch="x86_64"/>
+ <repopackage name="shadow"/>
+ <repopackage name="shared-mime-info" arch="x86_64"/>
+ <repopackage name="shim" arch="x86_64"/>
+ <repopackage name="slirp4netns" arch="x86_64"/>
+ <repopackage name="snapper" arch="x86_64"/>
+ <repopackage name="sssd" arch="x86_64"/>
+ <repopackage name="sssd-krb5-common" arch="x86_64"/>
+ <repopackage name="sssd-ldap" arch="x86_64"/>
+ <repopackage name="sudo" arch="x86_64"/>
+ <repopackage name="supportutils" arch="x86_64"/>
+ <repopackage name="suse-module-tools"/>
+ <repopackage name="sysconfig" arch="x86_64"/>
+ <repopackage name="sysconfig-netconfig" arch="x86_64"/>
+ <repopackage name="sysfsutils" arch="x86_64"/>
+ <repopackage name="system-group-hardware"/>
+ <repopackage name="system-group-wheel" arch="x86_64"/>
+ <repopackage name="system-user-nobody" arch="x86_64"/>
+ <repopackage name="system-user-root"/>
+ <repopackage name="systemd"/>
+ <repopackage name="systemd-logger" arch="x86_64"/>
+ <repopackage name="systemd-presets-branding-MicroOS"/>
+ <repopackage name="systemd-presets-common-SUSE"/>
+ <repopackage name="systemd-sysvinit"/>
+ <repopackage name="sysuser-shadow"/>
+ <repopackage name="sysvinit-tools"/>
+ <repopackage name="tallow" arch="x86_64"/>
+ <repopackage name="tar" arch="x86_64"/>
+ <repopackage name="terminfo" arch="x86_64"/>
+ <repopackage name="terminfo-base"/>
+ <repopackage name="tftpboot-installation-openSUSE-MicroOS-x86_64" arch="x86_64"/>
+ <repopackage name="thin-provisioning-tools" arch="x86_64"/>
+ <repopackage name="timezone" arch="x86_64"/>
+ <repopackage name="transactional-update" arch="x86_64"/>
+ <repopackage name="transactional-update-zypp-config" arch="x86_64"/>
+ <repopackage name="ucode-amd" arch="x86_64"/>
+ <repopackage name="ucode-intel" arch="x86_64"/>
+ <repopackage name="udev"/>
+ <repopackage name="update-alternatives"/>
+ <repopackage name="update-checker" arch="x86_64"/>
+ <repopackage name="util-linux"/>
+ <repopackage name="util-linux-systemd" arch="x86_64"/>
+ <repopackage name="vim" arch="x86_64"/>
+ <repopackage name="vim-data-common" arch="x86_64"/>
+ <repopackage name="vlan" arch="x86_64"/>
+ <repopackage name="which" arch="x86_64"/>
+ <repopackage name="wicked" arch="x86_64"/>
+ <repopackage name="wicked-service" arch="x86_64"/>
+ <repopackage name="wpa_supplicant" arch="x86_64"/>
+ <repopackage name="xen-libs" arch="x86_64"/>
+ <repopackage name="xfsprogs" arch="x86_64"/>
+ <repopackage name="xtables-plugins" arch="x86_64"/>
+ <repopackage name="xz"/>
+ <repopackage name="yast2-logs" arch="x86_64"/>
+ <repopackage name="zypper" arch="x86_64"/>
<repopackage name="openSUSE-MicroOS-release" addarch="x86_64"/>
<repopackage name="openSUSE-MicroOS-release-dvd" addarch="x86_64"/>
</repopackages>
++++++ openSUSE-MicroOS-dvd5-kubic-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.ApBC8C/_old 2019-05-31 11:21:47.836148997 +0200
+++ /var/tmp/diff_new_pack.ApBC8C/_new 2019-05-31 11:21:47.836148997 +0200
@@ -54,6 +54,534 @@
<repopackage name="skelcd-openSUSE" medium="0" removearch="src,nosrc" onlyarch="x86_64"/>
</metadata>
<repopackages>
+ <repopackage name="aaa_base"/>
+ <repopackage name="apparmor-abstractions" arch="x86_64"/>
+ <repopackage name="apparmor-parser" arch="x86_64"/>
+ <repopackage name="apparmor-profiles" arch="x86_64"/>
+ <repopackage name="apparmor-utils" arch="x86_64"/>
+ <repopackage name="attr" arch="x86_64"/>
+ <repopackage name="audit" arch="x86_64"/>
+ <repopackage name="autofs" arch="x86_64"/>
+ <repopackage name="babeltrace" arch="x86_64"/>
+ <repopackage name="bash"/>
+ <repopackage name="bash-completion" arch="x86_64"/>
+ <repopackage name="bc" arch="x86_64"/>
+ <repopackage name="bind-utils" arch="x86_64"/>
+ <repopackage name="biosdevname" arch="x86_64"/>
+ <repopackage name="blog"/>
+ <repopackage name="boost-license1_69_0" arch="x86_64"/>
+ <repopackage name="btrfsmaintenance" arch="x86_64"/>
+ <repopackage name="btrfsprogs" arch="x86_64"/>
+ <repopackage name="btrfsprogs-udev-rules" arch="x86_64"/>
+ <repopackage name="ca-certificates" arch="x86_64"/>
+ <repopackage name="ca-certificates-mozilla" arch="x86_64"/>
+ <repopackage name="catatonit" arch="x86_64"/>
+ <repopackage name="ceph-common" arch="x86_64"/>
+ <repopackage name="certstrap" arch="x86_64"/>
+ <repopackage name="checkpolicy" arch="x86_64"/>
+ <repopackage name="chkstat"/>
+ <repopackage name="chrony" arch="x86_64"/>
+ <repopackage name="cloud-init" arch="x86_64"/>
+ <repopackage name="cloud-init-config-caasp" arch="x86_64"/>
+ <repopackage name="cni" arch="x86_64"/>
+ <repopackage name="cni-plugins" arch="x86_64"/>
+ <repopackage name="conntrack-tools" arch="x86_64"/>
+ <repopackage name="coreutils"/>
+ <repopackage name="cpio"/>
+ <repopackage name="cracklib"/>
+ <repopackage name="cracklib-dict-full"/>
+ <repopackage name="cracklib-dict-small" arch="x86_64"/>
+ <repopackage name="cri-o" arch="x86_64"/>
+ <repopackage name="cri-o-kubeadm-criconfig" arch="x86_64"/>
+ <repopackage name="cri-tools" arch="x86_64"/>
+ <repopackage name="cryptsetup" arch="x86_64"/>
+ <repopackage name="curl" arch="x86_64"/>
+ <repopackage name="cyrus-sasl" arch="x86_64"/>
+ <repopackage name="cyrus-sasl-gssapi" arch="x86_64"/>
+ <repopackage name="dbus-1"/>
+ <repopackage name="dbus-1-glib" arch="x86_64"/>
+ <repopackage name="device-mapper" arch="x86_64"/>
+ <repopackage name="dhcp" arch="x86_64"/>
+ <repopackage name="dhcp-client" arch="x86_64"/>
+ <repopackage name="diffutils"/>
+ <repopackage name="dmidecode" arch="x86_64"/>
+ <repopackage name="dosfstools" arch="x86_64"/>
+ <repopackage name="dracut"/>
+ <repopackage name="dracut-ima" arch="x86_64"/>
+ <repopackage name="e2fsprogs" arch="x86_64"/>
+ <repopackage name="ebtables" arch="x86_64"/>
+ <repopackage name="efibootmgr" arch="x86_64"/>
+ <repopackage name="elfutils"/>
+ <repopackage name="ethtool" arch="x86_64"/>
+ <repopackage name="evmctl" arch="x86_64"/>
+ <repopackage name="expat" arch="x86_64"/>
+ <repopackage name="fcoe-utils" arch="x86_64"/>
+ <repopackage name="file"/>
+ <repopackage name="file-magic"/>
+ <repopackage name="filesystem"/>
+ <repopackage name="fillup"/>
+ <repopackage name="findutils"/>
+ <repopackage name="gawk"/>
+ <repopackage name="GeoIP-data" arch="x86_64"/>
+ <repopackage name="gettext-runtime" arch="x86_64"/>
+ <repopackage name="gio-branding-openSUSE" arch="x86_64"/>
+ <repopackage name="glib-networking" arch="x86_64"/>
+ <repopackage name="glib2-tools" arch="x86_64"/>
+ <repopackage name="glibc"/>
+ <repopackage name="glibc-locale" arch="x86_64"/>
+ <repopackage name="glibc-locale-base" arch="x86_64"/>
+ <repopackage name="gpg2" arch="x86_64"/>
+ <repopackage name="gptfdisk" arch="x86_64"/>
+ <repopackage name="grep"/>
+ <repopackage name="growpart" arch="x86_64"/>
+ <repopackage name="grub2" arch="x86_64"/>
+ <repopackage name="grub2-branding-openSUSE" arch="x86_64"/>
+ <repopackage name="grub2-i386-pc" arch="x86_64"/>
+ <repopackage name="grub2-snapper-plugin" arch="x86_64"/>
+ <repopackage name="grub2-x86_64-efi" arch="x86_64"/>
+ <repopackage name="gsettings-desktop-schemas" arch="x86_64"/>
+ <repopackage name="gzip"/>
+ <repopackage name="hardlink"/>
+ <repopackage name="haveged" arch="x86_64"/>
+ <repopackage name="health-checker" arch="x86_64"/>
+ <repopackage name="health-checker-plugins-kubic" arch="x86_64"/>
+ <repopackage name="health-checker-plugins-MicroOS" arch="x86_64"/>
+ <repopackage name="hostname" arch="x86_64"/>
+ <repopackage name="hwdata" arch="x86_64"/>
+ <repopackage name="hwinfo" arch="x86_64"/>
+ <repopackage name="hyper-v" arch="x86_64"/>
+ <repopackage name="info"/>
+ <repopackage name="iproute2" arch="x86_64"/>
+ <repopackage name="ipset" arch="x86_64"/>
+ <repopackage name="iptables" arch="x86_64"/>
+ <repopackage name="iputils" arch="x86_64"/>
+ <repopackage name="irqbalance" arch="x86_64"/>
+ <repopackage name="iscsiuio" arch="x86_64"/>
+ <repopackage name="issue-generator"/>
+ <repopackage name="kbd"/>
+ <repopackage name="kbd-legacy"/>
+ <repopackage name="kdump" arch="x86_64"/>
+ <repopackage name="kernel-debug" arch="x86_64"/>
+ <repopackage name="kernel-default"/>
+ <repopackage name="kernel-default-base" arch="x86_64"/>
+ <repopackage name="kernel-firmware" arch="x86_64"/>
+ <repopackage name="kexec-tools" arch="x86_64"/>
+ <repopackage name="keyutils" arch="x86_64"/>
+ <repopackage name="kmod"/>
+ <repopackage name="kmod-compat"/>
+ <repopackage name="kpartx" arch="x86_64"/>
+ <repopackage name="krb5"/>
+ <repopackage name="kubernetes-client" arch="x86_64"/>
+ <repopackage name="kubernetes-common" arch="x86_64"/>
+ <repopackage name="kubernetes-kubeadm" arch="x86_64"/>
+ <repopackage name="kubernetes-kubelet" arch="x86_64"/>
+ <repopackage name="kubic-locale-archive" arch="x86_64"/>
+ <repopackage name="kubicctl" arch="x86_64"/>
+ <repopackage name="kubicd" arch="x86_64"/>
+ <repopackage name="kured-k8s-yaml" arch="x86_64"/>
+ <repopackage name="less" arch="x86_64"/>
+ <repopackage name="libacl1"/>
+ <repopackage name="libaio1" arch="x86_64"/>
+ <repopackage name="libapparmor1"/>
+ <repopackage name="libarchive13" arch="x86_64"/>
+ <repopackage name="libargon2-1"/>
+ <repopackage name="libasm1"/>
+ <repopackage name="libassuan0" arch="x86_64"/>
+ <repopackage name="libattr1"/>
+ <repopackage name="libaudit1"/>
+ <repopackage name="libaugeas0" arch="x86_64"/>
+ <repopackage name="libauparse0" arch="x86_64"/>
+ <repopackage name="libbasicobjects0" arch="x86_64"/>
+ <repopackage name="libbind9-160" arch="x86_64"/>
+ <repopackage name="libblkid1"/>
+ <repopackage name="libblogger2"/>
+ <repopackage name="libboost_thread1_69_0" arch="x86_64"/>
+ <repopackage name="libbtrfs0" arch="x86_64"/>
+ <repopackage name="libbz2-1"/>
+ <repopackage name="libcap-ng0"/>
+ <repopackage name="libcap2"/>
+ <repopackage name="libcares2" arch="x86_64"/>
+ <repopackage name="libcephfs2" arch="x86_64"/>
+ <repopackage name="libcetcd0" arch="x86_64"/>
+ <repopackage name="libcollection4" arch="x86_64"/>
+ <repopackage name="libcom_err2"/>
+ <repopackage name="libconfig11" arch="x86_64"/>
+ <repopackage name="libcontainers-common" arch="x86_64"/>
+ <repopackage name="libcrack2"/>
+ <repopackage name="libcroco-0_6-3" arch="x86_64"/>
+ <repopackage name="libcrypt1"/>
+ <repopackage name="libcryptsetup12"/>
+ <repopackage name="libcurl4" arch="x86_64"/>
+ <repopackage name="libdb-4_8"/>
+ <repopackage name="libdbus-1-3"/>
+ <repopackage name="libdevmapper-event1_03" arch="x86_64"/>
+ <repopackage name="libdevmapper1_03"/>
+ <repopackage name="libdhash1" arch="x86_64"/>
+ <repopackage name="libdnet1" arch="x86_64"/>
+ <repopackage name="libdns169" arch="x86_64"/>
+ <repopackage name="libdw1"/>
+ <repopackage name="libebl-plugins"/>
+ <repopackage name="libedit0" arch="x86_64"/>
+ <repopackage name="libefivar1" arch="x86_64"/>
+ <repopackage name="libelf1"/>
+ <repopackage name="libesmtp6" arch="x86_64"/>
+ <repopackage name="libevent-2_1-8" arch="x86_64"/>
+ <repopackage name="libexpat1"/>
+ <repopackage name="libext2fs2" arch="x86_64"/>
+ <repopackage name="libfdisk1"/>
+ <repopackage name="libffi7"/>
+ <repopackage name="libfreebl3" arch="x86_64"/>
+ <repopackage name="libfreetype6" arch="x86_64"/>
+ <repopackage name="libfuse2" arch="x86_64"/>
+ <repopackage name="libgcc_s1"/>
+ <repopackage name="libgcrypt20"/>
+ <repopackage name="libgdbm6" arch="x86_64"/>
+ <repopackage name="libgdbm_compat4" arch="x86_64"/>
+ <repopackage name="libGeoIP1" arch="x86_64"/>
+ <repopackage name="libgio-2_0-0" arch="x86_64"/>
+ <repopackage name="libglib-2_0-0" arch="x86_64"/>
+ <repopackage name="libgmodule-2_0-0" arch="x86_64"/>
+ <repopackage name="libgmp10"/>
+ <repopackage name="libgnutls30"/>
+ <repopackage name="libgobject-2_0-0" arch="x86_64"/>
+ <repopackage name="libgpg-error0"/>
+ <repopackage name="libgpgme11" arch="x86_64"/>
+ <repopackage name="libhavege1" arch="x86_64"/>
+ <repopackage name="libhogweed4"/>
+ <repopackage name="libibverbs" arch="x86_64"/>
+ <repopackage name="libibverbs1" arch="x86_64"/>
+ <repopackage name="libicu-suse64_2" arch="x86_64"/>
+ <repopackage name="libicu64_2-ledata" arch="x86_64"/>
+ <repopackage name="libidn2-0"/>
+ <repopackage name="libimaevm0" arch="x86_64"/>
+ <repopackage name="libini_config5" arch="x86_64"/>
+ <repopackage name="libipset13" arch="x86_64"/>
+ <repopackage name="libiptc0" arch="x86_64"/>
+ <repopackage name="libirs160" arch="x86_64"/>
+ <repopackage name="libisc166" arch="x86_64"/>
+ <repopackage name="libisccc160" arch="x86_64"/>
+ <repopackage name="libisccfg160" arch="x86_64"/>
+ <repopackage name="libjson-c4"/>
+ <repopackage name="libkeyutils1"/>
+ <repopackage name="libkmod2"/>
+ <repopackage name="libksba8" arch="x86_64"/>
+ <repopackage name="libldap-2_4-2" arch="x86_64"/>
+ <repopackage name="libldb1" arch="x86_64"/>
+ <repopackage name="liblldp_clif1" arch="x86_64"/>
+ <repopackage name="liblmdb-0_9_23" arch="x86_64"/>
+ <repopackage name="libltdl7" arch="x86_64"/>
+ <repopackage name="liblttng-ust0" arch="x86_64"/>
+ <repopackage name="liblua5_3-5"/>
+ <repopackage name="liblvm2app2_2" arch="x86_64"/>
+ <repopackage name="liblvm2cmd2_02" arch="x86_64"/>
+ <repopackage name="liblwres160" arch="x86_64"/>
+ <repopackage name="liblz4-1"/>
+ <repopackage name="liblzma5"/>
+ <repopackage name="liblzo2-2" arch="x86_64"/>
+ <repopackage name="libmagic1"/>
+ <repopackage name="libmetalink3" arch="x86_64"/>
+ <repopackage name="libmlx4-1" arch="x86_64"/>
+ <repopackage name="libmlx5-1" arch="x86_64"/>
+ <repopackage name="libmnl0" arch="x86_64"/>
+ <repopackage name="libmodman1" arch="x86_64"/>
+ <repopackage name="libmount1"/>
+ <repopackage name="libmpath0" arch="x86_64"/>
+ <repopackage name="libmspack0" arch="x86_64"/>
+ <repopackage name="libncurses6"/>
+ <repopackage name="libnetfilter_conntrack3" arch="x86_64"/>
+ <repopackage name="libnetfilter_cthelper0" arch="x86_64"/>
+ <repopackage name="libnetfilter_cttimeout1" arch="x86_64"/>
+ <repopackage name="libnettle6"/>
+ <repopackage name="libnfnetlink0" arch="x86_64"/>
+ <repopackage name="libnftnl11" arch="x86_64"/>
+ <repopackage name="libnghttp2-14" arch="x86_64"/>
+ <repopackage name="libnl-config" arch="x86_64"/>
+ <repopackage name="libnl3-200" arch="x86_64"/>
+ <repopackage name="libnpth0" arch="x86_64"/>
+ <repopackage name="libnsl2"/>
+ <repopackage name="libnuma1" arch="x86_64"/>
+ <repopackage name="liboath0" arch="x86_64"/>
+ <repopackage name="libopeniscsiusr0_2_0" arch="x86_64"/>
+ <repopackage name="libopenssl1_1"/>
+ <repopackage name="libostree-1-1" arch="x86_64"/>
+ <repopackage name="libp11-kit0"/>
+ <repopackage name="libparted0" arch="x86_64"/>
+ <repopackage name="libpath_utils1" arch="x86_64"/>
+ <repopackage name="libpci3" arch="x86_64"/>
+ <repopackage name="libpciaccess0" arch="x86_64"/>
+ <repopackage name="libpcre1"/>
+ <repopackage name="libpcre2-8-0"/>
+ <repopackage name="libpgm-5_2-0" arch="x86_64"/>
+ <repopackage name="libpng16-16" arch="x86_64"/>
+ <repopackage name="libpopt0"/>
+ <repopackage name="libprocps7" arch="x86_64"/>
+ <repopackage name="libproxy1" arch="x86_64"/>
+ <repopackage name="libpsl5" arch="x86_64"/>
+ <repopackage name="libpwquality1" arch="x86_64"/>
+ <repopackage name="libpython2_7-1_0" arch="x86_64"/>
+ <repopackage name="libpython3_7m1_0" arch="x86_64"/>
+ <repopackage name="libqrencode4"/>
+ <repopackage name="librados2" arch="x86_64"/>
+ <repopackage name="libradosstriper1" arch="x86_64"/>
+ <repopackage name="librbd1" arch="x86_64"/>
+ <repopackage name="librdmacm1" arch="x86_64"/>
+ <repopackage name="libreadline8"/>
+ <repopackage name="libref_array1" arch="x86_64"/>
+ <repopackage name="libreiserfscore0" arch="x86_64"/>
+ <repopackage name="librgw2" arch="x86_64"/>
+ <repopackage name="libsasl2-3" arch="x86_64"/>
+ <repopackage name="libseccomp2"/>
+ <repopackage name="libselinux1"/>
+ <repopackage name="libsemanage1"/>
+ <repopackage name="libsepol1"/>
+ <repopackage name="libsgutils2-1_45-2" arch="x86_64"/>
+ <repopackage name="libsmartcols1"/>
+ <repopackage name="libsnapper4" arch="x86_64"/>
+ <repopackage name="libsnappy1" arch="x86_64"/>
+ <repopackage name="libsodium23" arch="x86_64"/>
+ <repopackage name="libsoftokn3" arch="x86_64"/>
+ <repopackage name="libsolv-tools" arch="x86_64"/>
+ <repopackage name="libsoup-2_4-1" arch="x86_64"/>
+ <repopackage name="libsqlite3-0" arch="x86_64"/>
+ <repopackage name="libssh4" arch="x86_64"/>
+ <repopackage name="libsss_certmap0" arch="x86_64"/>
+ <repopackage name="libsss_idmap0" arch="x86_64"/>
+ <repopackage name="libsss_nss_idmap0" arch="x86_64"/>
+ <repopackage name="libstdc++6"/>
+ <repopackage name="libsystemd0"/>
+ <repopackage name="libtalloc2" arch="x86_64"/>
+ <repopackage name="libtasn1"/>
+ <repopackage name="libtasn1-6"/>
+ <repopackage name="libtdb1" arch="x86_64"/>
+ <repopackage name="libtevent0" arch="x86_64"/>
+ <repopackage name="libtirpc-netconfig"/>
+ <repopackage name="libtirpc3"/>
+ <repopackage name="libudev1"/>
+ <repopackage name="libunistring2"/>
+ <repopackage name="libunwind" arch="x86_64"/>
+ <repopackage name="liburcu6" arch="x86_64"/>
+ <repopackage name="libusb-1_0-0" arch="x86_64"/>
+ <repopackage name="libutempter0"/>
+ <repopackage name="libuuid1"/>
+ <repopackage name="libverto1"/>
+ <repopackage name="libvmtools0" arch="x86_64"/>
+ <repopackage name="libwicked-0-6" arch="x86_64"/>
+ <repopackage name="libwrap0" arch="x86_64"/>
+ <repopackage name="libx86emu2" arch="x86_64"/>
+ <repopackage name="libxml2-2" arch="x86_64"/>
+ <repopackage name="libxml2-tools" arch="x86_64"/>
+ <repopackage name="libxmlsec1-1" arch="x86_64"/>
+ <repopackage name="libxmlsec1-openssl1" arch="x86_64"/>
+ <repopackage name="libxslt1" arch="x86_64"/>
+ <repopackage name="libxtables12" arch="x86_64"/>
+ <repopackage name="libyajl2" arch="x86_64"/>
+ <repopackage name="libyaml-0-2" arch="x86_64"/>
+ <repopackage name="libz1"/>
+ <repopackage name="libzio1"/>
+ <repopackage name="libzmq5" arch="x86_64"/>
+ <repopackage name="libzstd1" arch="x86_64"/>
+ <repopackage name="libzypp" arch="x86_64"/>
+ <repopackage name="logrotate" arch="x86_64"/>
+ <repopackage name="lsof" arch="x86_64"/>
+ <repopackage name="lvm2" arch="x86_64"/>
+ <repopackage name="makedumpfile" arch="x86_64"/>
+ <repopackage name="mcstrans" arch="x86_64"/>
+ <repopackage name="metallb-k8s-yaml" arch="x86_64"/>
+ <repopackage name="microos-tools" arch="x86_64"/>
+ <repopackage name="mokutil" arch="x86_64"/>
+ <repopackage name="mozilla-nspr" arch="x86_64"/>
+ <repopackage name="mozilla-nss" arch="x86_64"/>
+ <repopackage name="mozilla-nss-certs" arch="x86_64"/>
+ <repopackage name="multipath-tools" arch="x86_64"/>
+ <repopackage name="ncurses-utils"/>
+ <repopackage name="net-tools" arch="x86_64"/>
+ <repopackage name="netcfg"/>
+ <repopackage name="nfs-client" arch="x86_64"/>
+ <repopackage name="nfsidmap" arch="x86_64"/>
+ <repopackage name="oath-toolkit-xml" arch="x86_64"/>
+ <repopackage name="open-iscsi" arch="x86_64"/>
+ <repopackage name="open-lldp" arch="x86_64"/>
+ <repopackage name="open-vm-tools" arch="x86_64"/>
+ <repopackage name="openslp" arch="x86_64"/>
+ <repopackage name="openssh" arch="x86_64"/>
+ <repopackage name="openssl" arch="x86_64"/>
+ <repopackage name="openssl-1_1" arch="x86_64"/>
+ <repopackage name="openSUSE-build-key" arch="x86_64"/>
+ <repopackage name="openSUSE-MicroOS-release"/>
+ <repopackage name="openSUSE-MicroOS-release-appliance"/>
+ <repopackage name="p11-kit" arch="x86_64"/>
+ <repopackage name="p11-kit-tools" arch="x86_64"/>
+ <repopackage name="pam"/>
+ <repopackage name="pam-config"/>
+ <repopackage name="parted" arch="x86_64"/>
+ <repopackage name="patterns-containers-container_runtime" arch="x86_64"/>
+ <repopackage name="patterns-containers-container_runtime_kubernetes" arch="x86_64"/>
+ <repopackage name="patterns-containers-kubeadm" arch="x86_64"/>
+ <repopackage name="patterns-containers-kubic_admin" arch="x86_64"/>
+ <repopackage name="patterns-containers-kubic_worker" arch="x86_64"/>
+ <repopackage name="patterns-microos-alt_onlyDVD" arch="x86_64"/>
+ <repopackage name="patterns-microos-apparmor" arch="x86_64"/>
+ <repopackage name="patterns-microos-base" arch="x86_64"/>
+ <repopackage name="patterns-microos-basesystem" arch="x86_64"/>
+ <repopackage name="patterns-microos-cloud" arch="x86_64"/>
+ <repopackage name="patterns-microos-defaults" arch="x86_64"/>
+ <repopackage name="patterns-microos-hardware" arch="x86_64"/>
+ <repopackage name="patterns-microos-ima_evm" arch="x86_64"/>
+ <repopackage name="patterns-microos-onlyDVD" arch="x86_64"/>
+ <repopackage name="patterns-microos-selinux" arch="x86_64"/>
+ <repopackage name="patterns-microos-sssd_ldap" arch="x86_64"/>
+ <repopackage name="pciutils" arch="x86_64"/>
+ <repopackage name="perl" arch="x86_64"/>
+ <repopackage name="perl-apparmor" arch="x86_64"/>
+ <repopackage name="perl-base"/>
+ <repopackage name="perl-Bootloader"/>
+ <repopackage name="perl-Config-IniFiles" arch="x86_64"/>
+ <repopackage name="perl-HTML-Parser" arch="x86_64"/>
+ <repopackage name="perl-HTML-Tagset" arch="x86_64"/>
+ <repopackage name="perl-IO-stringy" arch="x86_64"/>
+ <repopackage name="perl-JSON" arch="x86_64"/>
+ <repopackage name="perl-XML-Parser" arch="x86_64"/>
+ <repopackage name="perl-XML-Twig" arch="x86_64"/>
+ <repopackage name="permissions"/>
+ <repopackage name="permissions-config"/>
+ <repopackage name="pigz"/>
+ <repopackage name="pinentry" arch="x86_64"/>
+ <repopackage name="pkg-config"/>
+ <repopackage name="podman" arch="x86_64"/>
+ <repopackage name="podman-cni-config" arch="x86_64"/>
+ <repopackage name="policycoreutils" arch="x86_64"/>
+ <repopackage name="procps" arch="x86_64"/>
+ <repopackage name="psmisc" arch="x86_64"/>
+ <repopackage name="python-base" arch="x86_64"/>
+ <repopackage name="python-rpm-macros" arch="x86_64"/>
+ <repopackage name="python3" arch="x86_64"/>
+ <repopackage name="python3-apparmor" arch="x86_64"/>
+ <repopackage name="python3-appdirs" arch="x86_64"/>
+ <repopackage name="python3-asn1crypto" arch="x86_64"/>
+ <repopackage name="python3-audit" arch="x86_64"/>
+ <repopackage name="python3-Babel" arch="x86_64"/>
+ <repopackage name="python3-base" arch="x86_64"/>
+ <repopackage name="python3-bind" arch="x86_64"/>
+ <repopackage name="python3-blinker" arch="x86_64"/>
+ <repopackage name="python3-ceph-argparse" arch="x86_64"/>
+ <repopackage name="python3-cephfs" arch="x86_64"/>
+ <repopackage name="python3-certifi" arch="x86_64"/>
+ <repopackage name="python3-cffi" arch="x86_64"/>
+ <repopackage name="python3-chardet" arch="x86_64"/>
+ <repopackage name="python3-configobj" arch="x86_64"/>
+ <repopackage name="python3-cryptography" arch="x86_64"/>
+ <repopackage name="python3-decorator" arch="x86_64"/>
+ <repopackage name="python3-ecdsa" arch="x86_64"/>
+ <repopackage name="python3-idna" arch="x86_64"/>
+ <repopackage name="python3-ipy" arch="x86_64"/>
+ <repopackage name="python3-Jinja2" arch="x86_64"/>
+ <repopackage name="python3-jsonpatch" arch="x86_64"/>
+ <repopackage name="python3-jsonpointer" arch="x86_64"/>
+ <repopackage name="python3-jsonschema" arch="x86_64"/>
+ <repopackage name="python3-MarkupSafe" arch="x86_64"/>
+ <repopackage name="python3-msgpack" arch="x86_64"/>
+ <repopackage name="python3-networkx" arch="x86_64"/>
+ <repopackage name="python3-oauthlib" arch="x86_64"/>
+ <repopackage name="python3-packaging" arch="x86_64"/>
+ <repopackage name="python3-ply" arch="x86_64"/>
+ <repopackage name="python3-policycoreutils" arch="x86_64"/>
+ <repopackage name="python3-PrettyTable" arch="x86_64"/>
+ <repopackage name="python3-psutil" arch="x86_64"/>
+ <repopackage name="python3-py" arch="x86_64"/>
+ <repopackage name="python3-pyasn1" arch="x86_64"/>
+ <repopackage name="python3-pycparser" arch="x86_64"/>
+ <repopackage name="python3-pycryptodome" arch="x86_64"/>
+ <repopackage name="python3-PyJWT" arch="x86_64"/>
+ <repopackage name="python3-pyparsing" arch="x86_64"/>
+ <repopackage name="python3-pyserial" arch="x86_64"/>
+ <repopackage name="python3-pytz" arch="x86_64"/>
+ <repopackage name="python3-PyYAML" arch="x86_64"/>
+ <repopackage name="python3-pyzmq" arch="x86_64"/>
+ <repopackage name="python3-rados" arch="x86_64"/>
+ <repopackage name="python3-rbd" arch="x86_64"/>
+ <repopackage name="python3-requests" arch="x86_64"/>
+ <repopackage name="python3-rgw" arch="x86_64"/>
+ <repopackage name="python3-rpm" arch="x86_64"/>
+ <repopackage name="python3-salt" arch="x86_64"/>
+ <repopackage name="python3-selinux" arch="x86_64"/>
+ <repopackage name="python3-semanage" arch="x86_64"/>
+ <repopackage name="python3-setools" arch="x86_64"/>
+ <repopackage name="python3-setuptools" arch="x86_64"/>
+ <repopackage name="python3-simplejson" arch="x86_64"/>
+ <repopackage name="python3-six" arch="x86_64"/>
+ <repopackage name="python3-tornado" arch="x86_64"/>
+ <repopackage name="python3-urllib3" arch="x86_64"/>
+ <repopackage name="python3-zypp-plugin" arch="x86_64"/>
+ <repopackage name="rdma-core" arch="x86_64"/>
+ <repopackage name="read-only-root-fs" arch="x86_64"/>
+ <repopackage name="rebootmgr" arch="x86_64"/>
+ <repopackage name="restorecond" arch="x86_64"/>
+ <repopackage name="rpcbind" arch="x86_64"/>
+ <repopackage name="rpm"/>
+ <repopackage name="rpm-config-SUSE"/>
+ <repopackage name="rsync" arch="x86_64"/>
+ <repopackage name="runc" arch="x86_64"/>
+ <repopackage name="salt" arch="x86_64"/>
+ <repopackage name="salt-master" arch="x86_64"/>
+ <repopackage name="salt-minion" arch="x86_64"/>
+ <repopackage name="sed"/>
+ <repopackage name="selinux-tools" arch="x86_64"/>
+ <repopackage name="sg3_utils" arch="x86_64"/>
+ <repopackage name="shadow"/>
+ <repopackage name="shared-mime-info" arch="x86_64"/>
+ <repopackage name="shim" arch="x86_64"/>
+ <repopackage name="slirp4netns" arch="x86_64"/>
+ <repopackage name="snapper" arch="x86_64"/>
+ <repopackage name="socat" arch="x86_64"/>
+ <repopackage name="sssd" arch="x86_64"/>
+ <repopackage name="sssd-krb5-common" arch="x86_64"/>
+ <repopackage name="sssd-ldap" arch="x86_64"/>
+ <repopackage name="sudo" arch="x86_64"/>
+ <repopackage name="supportutils" arch="x86_64"/>
+ <repopackage name="suse-module-tools"/>
+ <repopackage name="sysconfig" arch="x86_64"/>
+ <repopackage name="sysconfig-netconfig" arch="x86_64"/>
+ <repopackage name="sysfsutils" arch="x86_64"/>
+ <repopackage name="system-group-hardware"/>
+ <repopackage name="system-group-wheel" arch="x86_64"/>
+ <repopackage name="system-user-nobody" arch="x86_64"/>
+ <repopackage name="system-user-root"/>
+ <repopackage name="systemd"/>
+ <repopackage name="systemd-logger" arch="x86_64"/>
+ <repopackage name="systemd-presets-branding-MicroOS"/>
+ <repopackage name="systemd-presets-common-SUSE"/>
+ <repopackage name="systemd-sysvinit"/>
+ <repopackage name="sysuser-shadow"/>
+ <repopackage name="sysvinit-tools"/>
+ <repopackage name="tallow" arch="x86_64"/>
+ <repopackage name="tar" arch="x86_64"/>
+ <repopackage name="terminfo" arch="x86_64"/>
+ <repopackage name="terminfo-base"/>
+ <repopackage name="tftpboot-installation-openSUSE-MicroOS-x86_64" arch="x86_64"/>
+ <repopackage name="thin-provisioning-tools" arch="x86_64"/>
+ <repopackage name="timezone" arch="x86_64"/>
+ <repopackage name="transactional-update" arch="x86_64"/>
+ <repopackage name="transactional-update-zypp-config" arch="x86_64"/>
+ <repopackage name="ucode-amd" arch="x86_64"/>
+ <repopackage name="ucode-intel" arch="x86_64"/>
+ <repopackage name="udev"/>
+ <repopackage name="update-alternatives"/>
+ <repopackage name="update-checker" arch="x86_64"/>
+ <repopackage name="util-linux"/>
+ <repopackage name="util-linux-systemd" arch="x86_64"/>
+ <repopackage name="vim" arch="x86_64"/>
+ <repopackage name="vim-data-common" arch="x86_64"/>
+ <repopackage name="vlan" arch="x86_64"/>
+ <repopackage name="which" arch="x86_64"/>
+ <repopackage name="wicked" arch="x86_64"/>
+ <repopackage name="wicked-service" arch="x86_64"/>
+ <repopackage name="wpa_supplicant" arch="x86_64"/>
+ <repopackage name="xen-libs" arch="x86_64"/>
+ <repopackage name="xfsprogs" arch="x86_64"/>
+ <repopackage name="xtables-plugins" arch="x86_64"/>
+ <repopackage name="xz"/>
+ <repopackage name="yast2-logs" arch="x86_64"/>
+ <repopackage name="zypper" arch="x86_64"/>
<repopackage name="openSUSE-MicroOS-release" addarch="x86_64"/>
<repopackage name="openSUSE-MicroOS-release-kubic-dvd" addarch="x86_64"/>
</repopackages>
openSUSE-cd-mini-x86_64.kiwi: same change
++++++ openSUSE-dvd5-dvd-i586.kiwi ++++++
++++ 11155 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/000product/openSUSE-dvd5-dvd-i586.kiwi
++++ and /work/SRC/openSUSE:Factory/.000product.new.5148/openSUSE-dvd5-dvd-i586.kiwi
openSUSE-dvd5-dvd-x86_64.kiwi: same change
stub.kiwi: same change
++++++ dvd.group ++++++
++++ 734 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/000product/dvd.group
++++ and /work/SRC/openSUSE:Factory/.000product.new.5148/dvd.group
++++++ opensuse_kubic.group ++++++
++++ 693 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/000product/opensuse_kubic.group
++++ and /work/SRC/openSUSE:Factory/.000product.new.5148/opensuse_kubic.group
++++++ opensuse_microos.group ++++++
--- /var/tmp/diff_new_pack.ApBC8C/_old 2019-05-31 11:21:48.152148873 +0200
+++ /var/tmp/diff_new_pack.ApBC8C/_new 2019-05-31 11:21:48.152148873 +0200
@@ -1,25 +1,6 @@
<group name="opensuse_microos">
<!-- ### AUTOMATICALLY GENERATED, DO NOT EDIT ### -->
<packagelist relationship="recommends">
- <!-- kernel-default not found on x86_64-->
- <!-- kernel-default-base not found on x86_64-->
- <!-- openSUSE-MicroOS-release not found on x86_64-->
- <!-- patterns-containers-container_runtime not found on x86_64-->
- <!-- patterns-microos-alt_onlyDVD not found on x86_64-->
- <!-- patterns-microos-apparmor not found on x86_64-->
- <!-- patterns-microos-cloud not found on x86_64-->
- <!-- patterns-microos-defaults not found on x86_64-->
- <!-- patterns-microos-hardware not found on x86_64-->
- <!-- patterns-microos-ima_evm not found on x86_64-->
- <!-- patterns-microos-onlyDVD not found on x86_64-->
- <!-- patterns-microos-selinux not found on x86_64-->
- <!-- patterns-microos-sssd_ldap not found on x86_64-->
- <!-- podman-cni-config not found on x86_64-->
- </packagelist>
-</group>
-<group name="opensuse_microos.i586">
- <conditional name="only_i586"/>
- <packagelist relationship="recommends">
<package name="aaa_base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:kernel-default -->
<package name="bash" supportstatus="unsupported"/> <!-- reason: opensuse_microos:openSUSE-MicroOS-release -->
<package name="blog" supportstatus="unsupported"/> <!-- reason: opensuse_microos:kernel-default -->
@@ -149,9 +130,339 @@
<package name="xz" supportstatus="unsupported"/> <!-- reason: opensuse_microos:kernel-default -->
</packagelist>
</group>
+<group name="opensuse_microos.i586">
+ <conditional name="only_i586"/>
+ <packagelist relationship="recommends"/>
+</group>
<group name="opensuse_microos.x86_64">
<conditional name="only_x86_64"/>
<packagelist relationship="recommends">
- <!-- patterns-microos-base uninstallable: nothing provides coreutils needed by patterns-microos-base-5.0-5.2.x86_64-->
+ <package name="GeoIP-data" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="apparmor-abstractions" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
+ <package name="apparmor-parser" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
+ <package name="apparmor-profiles" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
+ <package name="apparmor-utils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
+ <package name="attr" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="audit" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="bc" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="bind-utils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="biosdevname" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="boost-license1_69_0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="btrfsmaintenance" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="btrfsprogs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="btrfsprogs-udev-rules" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="ca-certificates" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="ca-certificates-mozilla" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="catatonit" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="checkpolicy" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="chrony" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="cloud-init" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="cloud-init-config-caasp" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="cni" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="cni-plugins" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="cracklib-dict-small" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="cryptsetup" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="curl" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="cyrus-sasl" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="cyrus-sasl-gssapi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="dbus-1-glib" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="device-mapper" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="dhcp" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="dhcp-client" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="dmidecode" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="dosfstools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="dracut-ima" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-ima_evm -->
+ <package name="e2fsprogs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="efibootmgr" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="evmctl" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-ima_evm -->
+ <package name="expat" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="fcoe-utils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="gettext-runtime" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="gio-branding-openSUSE" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="glib-networking" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="glib2-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="glibc-locale" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="glibc-locale-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="gpg2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="gptfdisk" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="growpart" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="grub2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="grub2-branding-openSUSE" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="grub2-i386-pc" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="grub2-snapper-plugin" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="grub2-x86_64-efi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="gsettings-desktop-schemas" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="haveged" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="health-checker" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="health-checker-plugins-MicroOS" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="hostname" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="hwdata" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="hwinfo" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="hyper-v" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="iproute2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="ipset" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="iptables" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="iputils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="irqbalance" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="iscsiuio" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="kdump" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="kernel-debug" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="kernel-default-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
+ <package name="kernel-firmware" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-hardware -->
+ <package name="kexec-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="keyutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-ima_evm -->
+ <package name="kpartx" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="kubic-locale-archive" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="less" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libGeoIP1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="libaio1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libarchive13" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="libassuan0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libaugeas0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libauparse0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libbasicobjects0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libbind9-160" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="libboost_thread1_69_0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libbtrfs0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libcares2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libcetcd0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libcollection4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libconfig11" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libcontainers-common" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="libcroco-0_6-3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libcurl4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libdevmapper-event1_03" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libdhash1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libdnet1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libdns169" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="libedit0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libefivar1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libesmtp6" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libext2fs2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libfreebl3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libfreetype6" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libfuse2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libgdbm6" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libgdbm_compat4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libgio-2_0-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libglib-2_0-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libgmodule-2_0-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libgobject-2_0-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libgpgme11" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libhavege1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libicu-suse64_2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libicu64_2-ledata" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libimaevm0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-ima_evm -->
+ <package name="libini_config5" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libipset13" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libiptc0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libirs160" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="libisc166" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="libisccc160" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="libisccfg160" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="libksba8" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libldap-2_4-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libldb1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="liblldp_clif1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="liblmdb-0_9_23" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libltdl7" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="liblwres160" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="liblzo2-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libmetalink3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libmnl0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libmodman1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libmpath0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libmspack0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libnetfilter_conntrack3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libnfnetlink0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libnftnl11" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libnghttp2-14" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libnl-config" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libnl3-200" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libnpth0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libnuma1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libopeniscsiusr0_2_0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libostree-1-1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="libparted0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libpath_utils1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libpci3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libpciaccess0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libpng16-16" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libprocps7" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libproxy1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libpsl5" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libpwquality1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libpython2_7-1_0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libpython3_7m1_0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libref_array1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libreiserfscore0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libsasl2-3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libsgutils2-1_45-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libsnapper4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libsnappy1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libsolv-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libsoup-2_4-1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="libsqlite3-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libssh4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libsss_certmap0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libsss_idmap0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libsss_nss_idmap0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libtalloc2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libtdb1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="libtevent0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="liburcu6" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libusb-1_0-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libvmtools0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libwicked-0-6" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libwrap0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libx86emu2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libxml2-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libxml2-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libxmlsec1-1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libxmlsec1-openssl1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libxslt1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="libxtables12" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libyajl2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libyaml-0-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="libzstd1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="libzypp" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="logrotate" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="lsof" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="makedumpfile" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="mcstrans" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="microos-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="mokutil" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="multipath-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="net-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="open-iscsi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="open-lldp" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="open-vm-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="openSUSE-build-key" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="openslp" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="openssh" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="openssl" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="openssl-1_1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="p11-kit" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="p11-kit-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="parted" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="patterns-containers-container_runtime" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="patterns-microos-alt_onlyDVD" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
+ <package name="patterns-microos-apparmor" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
+ <package name="patterns-microos-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="patterns-microos-basesystem" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="patterns-microos-cloud" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="patterns-microos-defaults" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-defaults -->
+ <package name="patterns-microos-hardware" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-hardware -->
+ <package name="patterns-microos-ima_evm" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-ima_evm -->
+ <package name="patterns-microos-onlyDVD" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="patterns-microos-selinux" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="patterns-microos-sssd_ldap" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="pciutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="perl" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="perl-Config-IniFiles" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="perl-HTML-Parser" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="perl-HTML-Tagset" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="perl-IO-stringy" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="perl-JSON" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="perl-XML-Parser" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="perl-XML-Twig" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="perl-apparmor" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
+ <package name="pinentry" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="podman" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="podman-cni-config" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="policycoreutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="procps" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="psmisc" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="python-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="python-rpm-macros" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="python3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
+ <package name="python3-Babel" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-Jinja2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-MarkupSafe" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-PyJWT" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-PyYAML" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-apparmor" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
+ <package name="python3-appdirs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-asn1crypto" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-audit" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="python3-bind" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-blinker" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-certifi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-cffi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-chardet" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-configobj" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-cryptography" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-decorator" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-ecdsa" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-idna" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-ipy" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-jsonpatch" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-jsonpointer" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-jsonschema" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-networkx" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-oauthlib" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-packaging" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-ply" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-policycoreutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-py" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-pyasn1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-pycparser" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-pyparsing" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-pyserial" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-pytz" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-requests" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python3-selinux" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-semanage" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-setools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-setuptools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-six" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="python3-urllib3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="read-only-root-fs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="rebootmgr" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="restorecond" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="rsync" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="runc" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="selinux-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
+ <package name="sg3_utils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="shared-mime-info" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="shim" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="slirp4netns" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
+ <package name="snapper" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="sssd" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="sssd-krb5-common" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="sssd-ldap" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
+ <package name="sudo" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="supportutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="sysconfig" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="sysconfig-netconfig" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="sysfsutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="system-group-wheel" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="system-user-nobody" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="systemd-logger" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-defaults -->
+ <package name="tallow" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="tar" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="terminfo" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="tftpboot-installation-openSUSE-MicroOS-x86_64" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="thin-provisioning-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="timezone" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="transactional-update" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="transactional-update-zypp-config" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="ucode-amd" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="ucode-intel" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="update-checker" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="util-linux-systemd" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="vim" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="vim-data-common" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="vlan" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="which" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="wicked" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="wicked-service" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="wpa_supplicant" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
+ <package name="xen-libs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="xfsprogs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="xtables-plugins" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="yast2-logs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <package name="zypper" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
</packagelist>
</group>
++++++ unsorted.yml ++++++
++++ 60057 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/000product/unsorted.yml
++++ and /work/SRC/openSUSE:Factory/.000product.new.5148/unsorted.yml
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-31 10:53:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri May 31 10:53:59 2019 rev:1281 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.eAAafD/_old 2019-05-31 10:54:02.252856290 +0200
+++ /var/tmp/diff_new_pack.eAAafD/_new 2019-05-31 10:54:02.252856290 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20190528" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20190529" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -36,11 +36,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190528</productvar>
+ <productvar name="VERSION">20190529</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190528,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190529,openSUSE NonOSS Addon</productinfo>
<productinfo name="LINGUAS">af ar be_BY bg br ca cy el et ga gl gu_IN he hi_IN hr ka km ko lt mk nn pa_IN rw sk sl sr_CS ss st tg th tr uk ve vi xh zu </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019… obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019… obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.eAAafD/_old 2019-05-31 10:54:02.272856282 +0200
+++ /var/tmp/diff_new_pack.eAAafD/_new 2019-05-31 10:54:02.272856282 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-MicroOS___20190528" schemaversion="4.1">
+<image name="OBS__openSUSE-MicroOS___20190529" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190528</productvar>
+ <productvar name="VERSION">20190529</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190528,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190529,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190528/…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190529/…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
@@ -54,460 +54,6 @@
<repopackage name="skelcd-openSUSE" medium="0" removearch="src,nosrc" onlyarch="x86_64"/>
</metadata>
<repopackages>
- <repopackage name="aaa_base"/>
- <repopackage name="apparmor-abstractions" arch="x86_64"/>
- <repopackage name="apparmor-parser" arch="x86_64"/>
- <repopackage name="apparmor-profiles" arch="x86_64"/>
- <repopackage name="apparmor-utils" arch="x86_64"/>
- <repopackage name="attr" arch="x86_64"/>
- <repopackage name="audit" arch="x86_64"/>
- <repopackage name="bash"/>
- <repopackage name="bc" arch="x86_64"/>
- <repopackage name="bind-utils" arch="x86_64"/>
- <repopackage name="biosdevname" arch="x86_64"/>
- <repopackage name="blog"/>
- <repopackage name="boost-license1_69_0" arch="x86_64"/>
- <repopackage name="btrfsmaintenance" arch="x86_64"/>
- <repopackage name="btrfsprogs" arch="x86_64"/>
- <repopackage name="btrfsprogs-udev-rules" arch="x86_64"/>
- <repopackage name="ca-certificates" arch="x86_64"/>
- <repopackage name="ca-certificates-mozilla" arch="x86_64"/>
- <repopackage name="catatonit" arch="x86_64"/>
- <repopackage name="checkpolicy" arch="x86_64"/>
- <repopackage name="chkstat"/>
- <repopackage name="chrony" arch="x86_64"/>
- <repopackage name="cloud-init" arch="x86_64"/>
- <repopackage name="cloud-init-config-caasp" arch="x86_64"/>
- <repopackage name="cni" arch="x86_64"/>
- <repopackage name="cni-plugins" arch="x86_64"/>
- <repopackage name="coreutils"/>
- <repopackage name="cpio"/>
- <repopackage name="cracklib"/>
- <repopackage name="cracklib-dict-full"/>
- <repopackage name="cracklib-dict-small" arch="x86_64"/>
- <repopackage name="cryptsetup" arch="x86_64"/>
- <repopackage name="curl" arch="x86_64"/>
- <repopackage name="cyrus-sasl" arch="x86_64"/>
- <repopackage name="cyrus-sasl-gssapi" arch="x86_64"/>
- <repopackage name="dbus-1"/>
- <repopackage name="dbus-1-glib" arch="x86_64"/>
- <repopackage name="device-mapper" arch="x86_64"/>
- <repopackage name="dhcp" arch="x86_64"/>
- <repopackage name="dhcp-client" arch="x86_64"/>
- <repopackage name="diffutils"/>
- <repopackage name="dmidecode" arch="x86_64"/>
- <repopackage name="dosfstools" arch="x86_64"/>
- <repopackage name="dracut"/>
- <repopackage name="dracut-ima" arch="x86_64"/>
- <repopackage name="e2fsprogs" arch="x86_64"/>
- <repopackage name="efibootmgr" arch="x86_64"/>
- <repopackage name="elfutils"/>
- <repopackage name="evmctl" arch="x86_64"/>
- <repopackage name="expat" arch="x86_64"/>
- <repopackage name="fcoe-utils" arch="x86_64"/>
- <repopackage name="file"/>
- <repopackage name="file-magic"/>
- <repopackage name="filesystem"/>
- <repopackage name="fillup"/>
- <repopackage name="findutils"/>
- <repopackage name="gawk"/>
- <repopackage name="GeoIP-data" arch="x86_64"/>
- <repopackage name="gettext-runtime" arch="x86_64"/>
- <repopackage name="gio-branding-openSUSE" arch="x86_64"/>
- <repopackage name="glib-networking" arch="x86_64"/>
- <repopackage name="glib2-tools" arch="x86_64"/>
- <repopackage name="glibc"/>
- <repopackage name="glibc-locale" arch="x86_64"/>
- <repopackage name="glibc-locale-base" arch="x86_64"/>
- <repopackage name="gpg2" arch="x86_64"/>
- <repopackage name="gptfdisk" arch="x86_64"/>
- <repopackage name="grep"/>
- <repopackage name="growpart" arch="x86_64"/>
- <repopackage name="grub2" arch="x86_64"/>
- <repopackage name="grub2-branding-openSUSE" arch="x86_64"/>
- <repopackage name="grub2-i386-pc" arch="x86_64"/>
- <repopackage name="grub2-snapper-plugin" arch="x86_64"/>
- <repopackage name="grub2-x86_64-efi" arch="x86_64"/>
- <repopackage name="gsettings-desktop-schemas" arch="x86_64"/>
- <repopackage name="gzip"/>
- <repopackage name="hardlink"/>
- <repopackage name="haveged" arch="x86_64"/>
- <repopackage name="health-checker" arch="x86_64"/>
- <repopackage name="health-checker-plugins-MicroOS" arch="x86_64"/>
- <repopackage name="hostname" arch="x86_64"/>
- <repopackage name="hwdata" arch="x86_64"/>
- <repopackage name="hwinfo" arch="x86_64"/>
- <repopackage name="hyper-v" arch="x86_64"/>
- <repopackage name="info"/>
- <repopackage name="iproute2" arch="x86_64"/>
- <repopackage name="ipset" arch="x86_64"/>
- <repopackage name="iptables" arch="x86_64"/>
- <repopackage name="iputils" arch="x86_64"/>
- <repopackage name="irqbalance" arch="x86_64"/>
- <repopackage name="iscsiuio" arch="x86_64"/>
- <repopackage name="issue-generator"/>
- <repopackage name="kbd"/>
- <repopackage name="kbd-legacy"/>
- <repopackage name="kdump" arch="x86_64"/>
- <repopackage name="kernel-debug" arch="x86_64"/>
- <repopackage name="kernel-default"/>
- <repopackage name="kernel-default-base" arch="x86_64"/>
- <repopackage name="kernel-firmware" arch="x86_64"/>
- <repopackage name="kexec-tools" arch="x86_64"/>
- <repopackage name="keyutils" arch="x86_64"/>
- <repopackage name="kmod"/>
- <repopackage name="kmod-compat"/>
- <repopackage name="kpartx" arch="x86_64"/>
- <repopackage name="krb5"/>
- <repopackage name="kubic-locale-archive" arch="x86_64"/>
- <repopackage name="less" arch="x86_64"/>
- <repopackage name="libacl1"/>
- <repopackage name="libaio1" arch="x86_64"/>
- <repopackage name="libapparmor1"/>
- <repopackage name="libarchive13" arch="x86_64"/>
- <repopackage name="libargon2-1"/>
- <repopackage name="libasm1"/>
- <repopackage name="libassuan0" arch="x86_64"/>
- <repopackage name="libattr1"/>
- <repopackage name="libaudit1"/>
- <repopackage name="libaugeas0" arch="x86_64"/>
- <repopackage name="libauparse0" arch="x86_64"/>
- <repopackage name="libbasicobjects0" arch="x86_64"/>
- <repopackage name="libbind9-160" arch="x86_64"/>
- <repopackage name="libblkid1"/>
- <repopackage name="libblogger2"/>
- <repopackage name="libboost_thread1_69_0" arch="x86_64"/>
- <repopackage name="libbtrfs0" arch="x86_64"/>
- <repopackage name="libbz2-1"/>
- <repopackage name="libcap-ng0"/>
- <repopackage name="libcap2"/>
- <repopackage name="libcares2" arch="x86_64"/>
- <repopackage name="libcetcd0" arch="x86_64"/>
- <repopackage name="libcollection4" arch="x86_64"/>
- <repopackage name="libcom_err2"/>
- <repopackage name="libconfig11" arch="x86_64"/>
- <repopackage name="libcontainers-common" arch="x86_64"/>
- <repopackage name="libcrack2"/>
- <repopackage name="libcroco-0_6-3" arch="x86_64"/>
- <repopackage name="libcrypt1"/>
- <repopackage name="libcryptsetup12"/>
- <repopackage name="libcurl4" arch="x86_64"/>
- <repopackage name="libdb-4_8"/>
- <repopackage name="libdbus-1-3"/>
- <repopackage name="libdevmapper-event1_03" arch="x86_64"/>
- <repopackage name="libdevmapper1_03"/>
- <repopackage name="libdhash1" arch="x86_64"/>
- <repopackage name="libdnet1" arch="x86_64"/>
- <repopackage name="libdns169" arch="x86_64"/>
- <repopackage name="libdw1"/>
- <repopackage name="libebl-plugins"/>
- <repopackage name="libedit0" arch="x86_64"/>
- <repopackage name="libefivar1" arch="x86_64"/>
- <repopackage name="libelf1"/>
- <repopackage name="libesmtp6" arch="x86_64"/>
- <repopackage name="libexpat1"/>
- <repopackage name="libext2fs2" arch="x86_64"/>
- <repopackage name="libfdisk1"/>
- <repopackage name="libffi7"/>
- <repopackage name="libfreebl3" arch="x86_64"/>
- <repopackage name="libfreetype6" arch="x86_64"/>
- <repopackage name="libfuse2" arch="x86_64"/>
- <repopackage name="libgcc_s1"/>
- <repopackage name="libgcrypt20"/>
- <repopackage name="libgdbm6" arch="x86_64"/>
- <repopackage name="libgdbm_compat4" arch="x86_64"/>
- <repopackage name="libGeoIP1" arch="x86_64"/>
- <repopackage name="libgio-2_0-0" arch="x86_64"/>
- <repopackage name="libglib-2_0-0" arch="x86_64"/>
- <repopackage name="libgmodule-2_0-0" arch="x86_64"/>
- <repopackage name="libgmp10"/>
- <repopackage name="libgnutls30"/>
- <repopackage name="libgobject-2_0-0" arch="x86_64"/>
- <repopackage name="libgpg-error0"/>
- <repopackage name="libgpgme11" arch="x86_64"/>
- <repopackage name="libhavege1" arch="x86_64"/>
- <repopackage name="libhogweed4"/>
- <repopackage name="libicu-suse64_2" arch="x86_64"/>
- <repopackage name="libicu64_2-ledata" arch="x86_64"/>
- <repopackage name="libidn2-0"/>
- <repopackage name="libimaevm0" arch="x86_64"/>
- <repopackage name="libini_config5" arch="x86_64"/>
- <repopackage name="libipset13" arch="x86_64"/>
- <repopackage name="libiptc0" arch="x86_64"/>
- <repopackage name="libirs160" arch="x86_64"/>
- <repopackage name="libisc166" arch="x86_64"/>
- <repopackage name="libisccc160" arch="x86_64"/>
- <repopackage name="libisccfg160" arch="x86_64"/>
- <repopackage name="libjson-c4"/>
- <repopackage name="libkeyutils1"/>
- <repopackage name="libkmod2"/>
- <repopackage name="libksba8" arch="x86_64"/>
- <repopackage name="libldap-2_4-2" arch="x86_64"/>
- <repopackage name="libldb1" arch="x86_64"/>
- <repopackage name="liblldp_clif1" arch="x86_64"/>
- <repopackage name="liblmdb-0_9_23" arch="x86_64"/>
- <repopackage name="libltdl7" arch="x86_64"/>
- <repopackage name="liblua5_3-5"/>
- <repopackage name="liblwres160" arch="x86_64"/>
- <repopackage name="liblz4-1"/>
- <repopackage name="liblzma5"/>
- <repopackage name="liblzo2-2" arch="x86_64"/>
- <repopackage name="libmagic1"/>
- <repopackage name="libmetalink3" arch="x86_64"/>
- <repopackage name="libmnl0" arch="x86_64"/>
- <repopackage name="libmodman1" arch="x86_64"/>
- <repopackage name="libmount1"/>
- <repopackage name="libmpath0" arch="x86_64"/>
- <repopackage name="libmspack0" arch="x86_64"/>
- <repopackage name="libncurses6"/>
- <repopackage name="libnetfilter_conntrack3" arch="x86_64"/>
- <repopackage name="libnettle6"/>
- <repopackage name="libnfnetlink0" arch="x86_64"/>
- <repopackage name="libnftnl11" arch="x86_64"/>
- <repopackage name="libnghttp2-14" arch="x86_64"/>
- <repopackage name="libnl-config" arch="x86_64"/>
- <repopackage name="libnl3-200" arch="x86_64"/>
- <repopackage name="libnpth0" arch="x86_64"/>
- <repopackage name="libnsl2"/>
- <repopackage name="libnuma1" arch="x86_64"/>
- <repopackage name="libopeniscsiusr0_2_0" arch="x86_64"/>
- <repopackage name="libopenssl1_1"/>
- <repopackage name="libostree-1-1" arch="x86_64"/>
- <repopackage name="libp11-kit0"/>
- <repopackage name="libparted0" arch="x86_64"/>
- <repopackage name="libpath_utils1" arch="x86_64"/>
- <repopackage name="libpci3" arch="x86_64"/>
- <repopackage name="libpciaccess0" arch="x86_64"/>
- <repopackage name="libpcre1"/>
- <repopackage name="libpcre2-8-0"/>
- <repopackage name="libpng16-16" arch="x86_64"/>
- <repopackage name="libpopt0"/>
- <repopackage name="libprocps7" arch="x86_64"/>
- <repopackage name="libproxy1" arch="x86_64"/>
- <repopackage name="libpsl5" arch="x86_64"/>
- <repopackage name="libpwquality1" arch="x86_64"/>
- <repopackage name="libpython2_7-1_0" arch="x86_64"/>
- <repopackage name="libpython3_7m1_0" arch="x86_64"/>
- <repopackage name="libqrencode4"/>
- <repopackage name="libreadline8"/>
- <repopackage name="libref_array1" arch="x86_64"/>
- <repopackage name="libreiserfscore0" arch="x86_64"/>
- <repopackage name="libsasl2-3" arch="x86_64"/>
- <repopackage name="libseccomp2"/>
- <repopackage name="libselinux1"/>
- <repopackage name="libsemanage1"/>
- <repopackage name="libsepol1"/>
- <repopackage name="libsgutils2-1_45-2" arch="x86_64"/>
- <repopackage name="libsmartcols1"/>
- <repopackage name="libsnapper4" arch="x86_64"/>
- <repopackage name="libsnappy1" arch="x86_64"/>
- <repopackage name="libsolv-tools" arch="x86_64"/>
- <repopackage name="libsoup-2_4-1" arch="x86_64"/>
- <repopackage name="libsqlite3-0" arch="x86_64"/>
- <repopackage name="libssh4" arch="x86_64"/>
- <repopackage name="libsss_certmap0" arch="x86_64"/>
- <repopackage name="libsss_idmap0" arch="x86_64"/>
- <repopackage name="libsss_nss_idmap0" arch="x86_64"/>
- <repopackage name="libstdc++6"/>
- <repopackage name="libsystemd0"/>
- <repopackage name="libtalloc2" arch="x86_64"/>
- <repopackage name="libtasn1"/>
- <repopackage name="libtasn1-6"/>
- <repopackage name="libtdb1" arch="x86_64"/>
- <repopackage name="libtevent0" arch="x86_64"/>
- <repopackage name="libtirpc-netconfig"/>
- <repopackage name="libtirpc3"/>
- <repopackage name="libudev1"/>
- <repopackage name="libunistring2"/>
- <repopackage name="liburcu6" arch="x86_64"/>
- <repopackage name="libusb-1_0-0" arch="x86_64"/>
- <repopackage name="libutempter0"/>
- <repopackage name="libuuid1"/>
- <repopackage name="libverto1"/>
- <repopackage name="libvmtools0" arch="x86_64"/>
- <repopackage name="libwicked-0-6" arch="x86_64"/>
- <repopackage name="libwrap0" arch="x86_64"/>
- <repopackage name="libx86emu2" arch="x86_64"/>
- <repopackage name="libxml2-2" arch="x86_64"/>
- <repopackage name="libxml2-tools" arch="x86_64"/>
- <repopackage name="libxmlsec1-1" arch="x86_64"/>
- <repopackage name="libxmlsec1-openssl1" arch="x86_64"/>
- <repopackage name="libxslt1" arch="x86_64"/>
- <repopackage name="libxtables12" arch="x86_64"/>
- <repopackage name="libyajl2" arch="x86_64"/>
- <repopackage name="libyaml-0-2" arch="x86_64"/>
- <repopackage name="libz1"/>
- <repopackage name="libzio1"/>
- <repopackage name="libzstd1" arch="x86_64"/>
- <repopackage name="libzypp" arch="x86_64"/>
- <repopackage name="logrotate" arch="x86_64"/>
- <repopackage name="lsof" arch="x86_64"/>
- <repopackage name="makedumpfile" arch="x86_64"/>
- <repopackage name="mcstrans" arch="x86_64"/>
- <repopackage name="microos-tools" arch="x86_64"/>
- <repopackage name="mokutil" arch="x86_64"/>
- <repopackage name="multipath-tools" arch="x86_64"/>
- <repopackage name="ncurses-utils"/>
- <repopackage name="net-tools" arch="x86_64"/>
- <repopackage name="netcfg"/>
- <repopackage name="open-iscsi" arch="x86_64"/>
- <repopackage name="open-lldp" arch="x86_64"/>
- <repopackage name="open-vm-tools" arch="x86_64"/>
- <repopackage name="openslp" arch="x86_64"/>
- <repopackage name="openssh" arch="x86_64"/>
- <repopackage name="openssl" arch="x86_64"/>
- <repopackage name="openssl-1_1" arch="x86_64"/>
- <repopackage name="openSUSE-build-key" arch="x86_64"/>
- <repopackage name="openSUSE-MicroOS-release"/>
- <repopackage name="openSUSE-MicroOS-release-appliance"/>
- <repopackage name="p11-kit" arch="x86_64"/>
- <repopackage name="p11-kit-tools" arch="x86_64"/>
- <repopackage name="pam"/>
- <repopackage name="pam-config"/>
- <repopackage name="parted" arch="x86_64"/>
- <repopackage name="patterns-containers-container_runtime" arch="x86_64"/>
- <repopackage name="patterns-microos-alt_onlyDVD" arch="x86_64"/>
- <repopackage name="patterns-microos-apparmor" arch="x86_64"/>
- <repopackage name="patterns-microos-base" arch="x86_64"/>
- <repopackage name="patterns-microos-basesystem" arch="x86_64"/>
- <repopackage name="patterns-microos-cloud" arch="x86_64"/>
- <repopackage name="patterns-microos-defaults" arch="x86_64"/>
- <repopackage name="patterns-microos-hardware" arch="x86_64"/>
- <repopackage name="patterns-microos-ima_evm" arch="x86_64"/>
- <repopackage name="patterns-microos-onlyDVD" arch="x86_64"/>
- <repopackage name="patterns-microos-selinux" arch="x86_64"/>
- <repopackage name="patterns-microos-sssd_ldap" arch="x86_64"/>
- <repopackage name="pciutils" arch="x86_64"/>
- <repopackage name="perl" arch="x86_64"/>
- <repopackage name="perl-apparmor" arch="x86_64"/>
- <repopackage name="perl-base"/>
- <repopackage name="perl-Bootloader"/>
- <repopackage name="perl-Config-IniFiles" arch="x86_64"/>
- <repopackage name="perl-HTML-Parser" arch="x86_64"/>
- <repopackage name="perl-HTML-Tagset" arch="x86_64"/>
- <repopackage name="perl-IO-stringy" arch="x86_64"/>
- <repopackage name="perl-JSON" arch="x86_64"/>
- <repopackage name="perl-XML-Parser" arch="x86_64"/>
- <repopackage name="perl-XML-Twig" arch="x86_64"/>
- <repopackage name="permissions"/>
- <repopackage name="permissions-config"/>
- <repopackage name="pigz"/>
- <repopackage name="pinentry" arch="x86_64"/>
- <repopackage name="pkg-config"/>
- <repopackage name="podman" arch="x86_64"/>
- <repopackage name="podman-cni-config" arch="x86_64"/>
- <repopackage name="policycoreutils" arch="x86_64"/>
- <repopackage name="procps" arch="x86_64"/>
- <repopackage name="psmisc" arch="x86_64"/>
- <repopackage name="python-base" arch="x86_64"/>
- <repopackage name="python-rpm-macros" arch="x86_64"/>
- <repopackage name="python3" arch="x86_64"/>
- <repopackage name="python3-apparmor" arch="x86_64"/>
- <repopackage name="python3-appdirs" arch="x86_64"/>
- <repopackage name="python3-asn1crypto" arch="x86_64"/>
- <repopackage name="python3-audit" arch="x86_64"/>
- <repopackage name="python3-Babel" arch="x86_64"/>
- <repopackage name="python3-base" arch="x86_64"/>
- <repopackage name="python3-bind" arch="x86_64"/>
- <repopackage name="python3-blinker" arch="x86_64"/>
- <repopackage name="python3-certifi" arch="x86_64"/>
- <repopackage name="python3-cffi" arch="x86_64"/>
- <repopackage name="python3-chardet" arch="x86_64"/>
- <repopackage name="python3-configobj" arch="x86_64"/>
- <repopackage name="python3-cryptography" arch="x86_64"/>
- <repopackage name="python3-decorator" arch="x86_64"/>
- <repopackage name="python3-ecdsa" arch="x86_64"/>
- <repopackage name="python3-idna" arch="x86_64"/>
- <repopackage name="python3-ipy" arch="x86_64"/>
- <repopackage name="python3-Jinja2" arch="x86_64"/>
- <repopackage name="python3-jsonpatch" arch="x86_64"/>
- <repopackage name="python3-jsonpointer" arch="x86_64"/>
- <repopackage name="python3-jsonschema" arch="x86_64"/>
- <repopackage name="python3-MarkupSafe" arch="x86_64"/>
- <repopackage name="python3-networkx" arch="x86_64"/>
- <repopackage name="python3-oauthlib" arch="x86_64"/>
- <repopackage name="python3-packaging" arch="x86_64"/>
- <repopackage name="python3-ply" arch="x86_64"/>
- <repopackage name="python3-policycoreutils" arch="x86_64"/>
- <repopackage name="python3-py" arch="x86_64"/>
- <repopackage name="python3-pyasn1" arch="x86_64"/>
- <repopackage name="python3-pycparser" arch="x86_64"/>
- <repopackage name="python3-PyJWT" arch="x86_64"/>
- <repopackage name="python3-pyparsing" arch="x86_64"/>
- <repopackage name="python3-pyserial" arch="x86_64"/>
- <repopackage name="python3-pytz" arch="x86_64"/>
- <repopackage name="python3-PyYAML" arch="x86_64"/>
- <repopackage name="python3-requests" arch="x86_64"/>
- <repopackage name="python3-selinux" arch="x86_64"/>
- <repopackage name="python3-semanage" arch="x86_64"/>
- <repopackage name="python3-setools" arch="x86_64"/>
- <repopackage name="python3-setuptools" arch="x86_64"/>
- <repopackage name="python3-six" arch="x86_64"/>
- <repopackage name="python3-urllib3" arch="x86_64"/>
- <repopackage name="read-only-root-fs" arch="x86_64"/>
- <repopackage name="rebootmgr" arch="x86_64"/>
- <repopackage name="restorecond" arch="x86_64"/>
- <repopackage name="rpm"/>
- <repopackage name="rpm-config-SUSE"/>
- <repopackage name="rsync" arch="x86_64"/>
- <repopackage name="runc" arch="x86_64"/>
- <repopackage name="sed"/>
- <repopackage name="selinux-tools" arch="x86_64"/>
- <repopackage name="sg3_utils" arch="x86_64"/>
- <repopackage name="shadow"/>
- <repopackage name="shared-mime-info" arch="x86_64"/>
- <repopackage name="shim" arch="x86_64"/>
- <repopackage name="slirp4netns" arch="x86_64"/>
- <repopackage name="snapper" arch="x86_64"/>
- <repopackage name="sssd" arch="x86_64"/>
- <repopackage name="sssd-krb5-common" arch="x86_64"/>
- <repopackage name="sssd-ldap" arch="x86_64"/>
- <repopackage name="sudo" arch="x86_64"/>
- <repopackage name="supportutils" arch="x86_64"/>
- <repopackage name="suse-module-tools"/>
- <repopackage name="sysconfig" arch="x86_64"/>
- <repopackage name="sysconfig-netconfig" arch="x86_64"/>
- <repopackage name="sysfsutils" arch="x86_64"/>
- <repopackage name="system-group-hardware"/>
- <repopackage name="system-group-wheel" arch="x86_64"/>
- <repopackage name="system-user-nobody" arch="x86_64"/>
- <repopackage name="system-user-root"/>
- <repopackage name="systemd"/>
- <repopackage name="systemd-logger" arch="x86_64"/>
- <repopackage name="systemd-presets-branding-MicroOS"/>
- <repopackage name="systemd-presets-common-SUSE"/>
- <repopackage name="systemd-sysvinit"/>
- <repopackage name="sysuser-shadow"/>
- <repopackage name="sysvinit-tools"/>
- <repopackage name="tallow" arch="x86_64"/>
- <repopackage name="tar" arch="x86_64"/>
- <repopackage name="terminfo" arch="x86_64"/>
- <repopackage name="terminfo-base"/>
- <repopackage name="tftpboot-installation-openSUSE-MicroOS-x86_64" arch="x86_64"/>
- <repopackage name="thin-provisioning-tools" arch="x86_64"/>
- <repopackage name="timezone" arch="x86_64"/>
- <repopackage name="transactional-update" arch="x86_64"/>
- <repopackage name="transactional-update-zypp-config" arch="x86_64"/>
- <repopackage name="ucode-amd" arch="x86_64"/>
- <repopackage name="ucode-intel" arch="x86_64"/>
- <repopackage name="udev"/>
- <repopackage name="update-alternatives"/>
- <repopackage name="update-checker" arch="x86_64"/>
- <repopackage name="util-linux"/>
- <repopackage name="util-linux-systemd" arch="x86_64"/>
- <repopackage name="vim" arch="x86_64"/>
- <repopackage name="vim-data-common" arch="x86_64"/>
- <repopackage name="vlan" arch="x86_64"/>
- <repopackage name="which" arch="x86_64"/>
- <repopackage name="wicked" arch="x86_64"/>
- <repopackage name="wicked-service" arch="x86_64"/>
- <repopackage name="wpa_supplicant" arch="x86_64"/>
- <repopackage name="xen-libs" arch="x86_64"/>
- <repopackage name="xfsprogs" arch="x86_64"/>
- <repopackage name="xtables-plugins" arch="x86_64"/>
- <repopackage name="xz"/>
- <repopackage name="yast2-logs" arch="x86_64"/>
- <repopackage name="zypper" arch="x86_64"/>
<repopackage name="openSUSE-MicroOS-release" addarch="x86_64"/>
<repopackage name="openSUSE-MicroOS-release-dvd" addarch="x86_64"/>
</repopackages>
++++++ openSUSE-MicroOS-dvd5-kubic-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.eAAafD/_old 2019-05-31 10:54:02.300856272 +0200
+++ /var/tmp/diff_new_pack.eAAafD/_new 2019-05-31 10:54:02.304856270 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-MicroOS___20190528" schemaversion="4.1">
+<image name="OBS__openSUSE-MicroOS___20190529" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190528</productvar>
+ <productvar name="VERSION">20190529</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190528,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190529,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190528/…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190529/…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
@@ -54,534 +54,6 @@
<repopackage name="skelcd-openSUSE" medium="0" removearch="src,nosrc" onlyarch="x86_64"/>
</metadata>
<repopackages>
- <repopackage name="aaa_base"/>
- <repopackage name="apparmor-abstractions" arch="x86_64"/>
- <repopackage name="apparmor-parser" arch="x86_64"/>
- <repopackage name="apparmor-profiles" arch="x86_64"/>
- <repopackage name="apparmor-utils" arch="x86_64"/>
- <repopackage name="attr" arch="x86_64"/>
- <repopackage name="audit" arch="x86_64"/>
- <repopackage name="autofs" arch="x86_64"/>
- <repopackage name="babeltrace" arch="x86_64"/>
- <repopackage name="bash"/>
- <repopackage name="bash-completion" arch="x86_64"/>
- <repopackage name="bc" arch="x86_64"/>
- <repopackage name="bind-utils" arch="x86_64"/>
- <repopackage name="biosdevname" arch="x86_64"/>
- <repopackage name="blog"/>
- <repopackage name="boost-license1_69_0" arch="x86_64"/>
- <repopackage name="btrfsmaintenance" arch="x86_64"/>
- <repopackage name="btrfsprogs" arch="x86_64"/>
- <repopackage name="btrfsprogs-udev-rules" arch="x86_64"/>
- <repopackage name="ca-certificates" arch="x86_64"/>
- <repopackage name="ca-certificates-mozilla" arch="x86_64"/>
- <repopackage name="catatonit" arch="x86_64"/>
- <repopackage name="ceph-common" arch="x86_64"/>
- <repopackage name="certstrap" arch="x86_64"/>
- <repopackage name="checkpolicy" arch="x86_64"/>
- <repopackage name="chkstat"/>
- <repopackage name="chrony" arch="x86_64"/>
- <repopackage name="cloud-init" arch="x86_64"/>
- <repopackage name="cloud-init-config-caasp" arch="x86_64"/>
- <repopackage name="cni" arch="x86_64"/>
- <repopackage name="cni-plugins" arch="x86_64"/>
- <repopackage name="conntrack-tools" arch="x86_64"/>
- <repopackage name="coreutils"/>
- <repopackage name="cpio"/>
- <repopackage name="cracklib"/>
- <repopackage name="cracklib-dict-full"/>
- <repopackage name="cracklib-dict-small" arch="x86_64"/>
- <repopackage name="cri-o" arch="x86_64"/>
- <repopackage name="cri-o-kubeadm-criconfig" arch="x86_64"/>
- <repopackage name="cri-tools" arch="x86_64"/>
- <repopackage name="cryptsetup" arch="x86_64"/>
- <repopackage name="curl" arch="x86_64"/>
- <repopackage name="cyrus-sasl" arch="x86_64"/>
- <repopackage name="cyrus-sasl-gssapi" arch="x86_64"/>
- <repopackage name="dbus-1"/>
- <repopackage name="dbus-1-glib" arch="x86_64"/>
- <repopackage name="device-mapper" arch="x86_64"/>
- <repopackage name="dhcp" arch="x86_64"/>
- <repopackage name="dhcp-client" arch="x86_64"/>
- <repopackage name="diffutils"/>
- <repopackage name="dmidecode" arch="x86_64"/>
- <repopackage name="dosfstools" arch="x86_64"/>
- <repopackage name="dracut"/>
- <repopackage name="dracut-ima" arch="x86_64"/>
- <repopackage name="e2fsprogs" arch="x86_64"/>
- <repopackage name="ebtables" arch="x86_64"/>
- <repopackage name="efibootmgr" arch="x86_64"/>
- <repopackage name="elfutils"/>
- <repopackage name="ethtool" arch="x86_64"/>
- <repopackage name="evmctl" arch="x86_64"/>
- <repopackage name="expat" arch="x86_64"/>
- <repopackage name="fcoe-utils" arch="x86_64"/>
- <repopackage name="file"/>
- <repopackage name="file-magic"/>
- <repopackage name="filesystem"/>
- <repopackage name="fillup"/>
- <repopackage name="findutils"/>
- <repopackage name="gawk"/>
- <repopackage name="GeoIP-data" arch="x86_64"/>
- <repopackage name="gettext-runtime" arch="x86_64"/>
- <repopackage name="gio-branding-openSUSE" arch="x86_64"/>
- <repopackage name="glib-networking" arch="x86_64"/>
- <repopackage name="glib2-tools" arch="x86_64"/>
- <repopackage name="glibc"/>
- <repopackage name="glibc-locale" arch="x86_64"/>
- <repopackage name="glibc-locale-base" arch="x86_64"/>
- <repopackage name="gpg2" arch="x86_64"/>
- <repopackage name="gptfdisk" arch="x86_64"/>
- <repopackage name="grep"/>
- <repopackage name="growpart" arch="x86_64"/>
- <repopackage name="grub2" arch="x86_64"/>
- <repopackage name="grub2-branding-openSUSE" arch="x86_64"/>
- <repopackage name="grub2-i386-pc" arch="x86_64"/>
- <repopackage name="grub2-snapper-plugin" arch="x86_64"/>
- <repopackage name="grub2-x86_64-efi" arch="x86_64"/>
- <repopackage name="gsettings-desktop-schemas" arch="x86_64"/>
- <repopackage name="gzip"/>
- <repopackage name="hardlink"/>
- <repopackage name="haveged" arch="x86_64"/>
- <repopackage name="health-checker" arch="x86_64"/>
- <repopackage name="health-checker-plugins-kubic" arch="x86_64"/>
- <repopackage name="health-checker-plugins-MicroOS" arch="x86_64"/>
- <repopackage name="hostname" arch="x86_64"/>
- <repopackage name="hwdata" arch="x86_64"/>
- <repopackage name="hwinfo" arch="x86_64"/>
- <repopackage name="hyper-v" arch="x86_64"/>
- <repopackage name="info"/>
- <repopackage name="iproute2" arch="x86_64"/>
- <repopackage name="ipset" arch="x86_64"/>
- <repopackage name="iptables" arch="x86_64"/>
- <repopackage name="iputils" arch="x86_64"/>
- <repopackage name="irqbalance" arch="x86_64"/>
- <repopackage name="iscsiuio" arch="x86_64"/>
- <repopackage name="issue-generator"/>
- <repopackage name="kbd"/>
- <repopackage name="kbd-legacy"/>
- <repopackage name="kdump" arch="x86_64"/>
- <repopackage name="kernel-debug" arch="x86_64"/>
- <repopackage name="kernel-default"/>
- <repopackage name="kernel-default-base" arch="x86_64"/>
- <repopackage name="kernel-firmware" arch="x86_64"/>
- <repopackage name="kexec-tools" arch="x86_64"/>
- <repopackage name="keyutils" arch="x86_64"/>
- <repopackage name="kmod"/>
- <repopackage name="kmod-compat"/>
- <repopackage name="kpartx" arch="x86_64"/>
- <repopackage name="krb5"/>
- <repopackage name="kubernetes-client" arch="x86_64"/>
- <repopackage name="kubernetes-common" arch="x86_64"/>
- <repopackage name="kubernetes-kubeadm" arch="x86_64"/>
- <repopackage name="kubernetes-kubelet" arch="x86_64"/>
- <repopackage name="kubic-locale-archive" arch="x86_64"/>
- <repopackage name="kubicctl" arch="x86_64"/>
- <repopackage name="kubicd" arch="x86_64"/>
- <repopackage name="kured-k8s-yaml" arch="x86_64"/>
- <repopackage name="less" arch="x86_64"/>
- <repopackage name="libacl1"/>
- <repopackage name="libaio1" arch="x86_64"/>
- <repopackage name="libapparmor1"/>
- <repopackage name="libarchive13" arch="x86_64"/>
- <repopackage name="libargon2-1"/>
- <repopackage name="libasm1"/>
- <repopackage name="libassuan0" arch="x86_64"/>
- <repopackage name="libattr1"/>
- <repopackage name="libaudit1"/>
- <repopackage name="libaugeas0" arch="x86_64"/>
- <repopackage name="libauparse0" arch="x86_64"/>
- <repopackage name="libbasicobjects0" arch="x86_64"/>
- <repopackage name="libbind9-160" arch="x86_64"/>
- <repopackage name="libblkid1"/>
- <repopackage name="libblogger2"/>
- <repopackage name="libboost_thread1_69_0" arch="x86_64"/>
- <repopackage name="libbtrfs0" arch="x86_64"/>
- <repopackage name="libbz2-1"/>
- <repopackage name="libcap-ng0"/>
- <repopackage name="libcap2"/>
- <repopackage name="libcares2" arch="x86_64"/>
- <repopackage name="libcephfs2" arch="x86_64"/>
- <repopackage name="libcetcd0" arch="x86_64"/>
- <repopackage name="libcollection4" arch="x86_64"/>
- <repopackage name="libcom_err2"/>
- <repopackage name="libconfig11" arch="x86_64"/>
- <repopackage name="libcontainers-common" arch="x86_64"/>
- <repopackage name="libcrack2"/>
- <repopackage name="libcroco-0_6-3" arch="x86_64"/>
- <repopackage name="libcrypt1"/>
- <repopackage name="libcryptsetup12"/>
- <repopackage name="libcurl4" arch="x86_64"/>
- <repopackage name="libdb-4_8"/>
- <repopackage name="libdbus-1-3"/>
- <repopackage name="libdevmapper-event1_03" arch="x86_64"/>
- <repopackage name="libdevmapper1_03"/>
- <repopackage name="libdhash1" arch="x86_64"/>
- <repopackage name="libdnet1" arch="x86_64"/>
- <repopackage name="libdns169" arch="x86_64"/>
- <repopackage name="libdw1"/>
- <repopackage name="libebl-plugins"/>
- <repopackage name="libedit0" arch="x86_64"/>
- <repopackage name="libefivar1" arch="x86_64"/>
- <repopackage name="libelf1"/>
- <repopackage name="libesmtp6" arch="x86_64"/>
- <repopackage name="libevent-2_1-8" arch="x86_64"/>
- <repopackage name="libexpat1"/>
- <repopackage name="libext2fs2" arch="x86_64"/>
- <repopackage name="libfdisk1"/>
- <repopackage name="libffi7"/>
- <repopackage name="libfreebl3" arch="x86_64"/>
- <repopackage name="libfreetype6" arch="x86_64"/>
- <repopackage name="libfuse2" arch="x86_64"/>
- <repopackage name="libgcc_s1"/>
- <repopackage name="libgcrypt20"/>
- <repopackage name="libgdbm6" arch="x86_64"/>
- <repopackage name="libgdbm_compat4" arch="x86_64"/>
- <repopackage name="libGeoIP1" arch="x86_64"/>
- <repopackage name="libgio-2_0-0" arch="x86_64"/>
- <repopackage name="libglib-2_0-0" arch="x86_64"/>
- <repopackage name="libgmodule-2_0-0" arch="x86_64"/>
- <repopackage name="libgmp10"/>
- <repopackage name="libgnutls30"/>
- <repopackage name="libgobject-2_0-0" arch="x86_64"/>
- <repopackage name="libgpg-error0"/>
- <repopackage name="libgpgme11" arch="x86_64"/>
- <repopackage name="libhavege1" arch="x86_64"/>
- <repopackage name="libhogweed4"/>
- <repopackage name="libibverbs" arch="x86_64"/>
- <repopackage name="libibverbs1" arch="x86_64"/>
- <repopackage name="libicu-suse64_2" arch="x86_64"/>
- <repopackage name="libicu64_2-ledata" arch="x86_64"/>
- <repopackage name="libidn2-0"/>
- <repopackage name="libimaevm0" arch="x86_64"/>
- <repopackage name="libini_config5" arch="x86_64"/>
- <repopackage name="libipset13" arch="x86_64"/>
- <repopackage name="libiptc0" arch="x86_64"/>
- <repopackage name="libirs160" arch="x86_64"/>
- <repopackage name="libisc166" arch="x86_64"/>
- <repopackage name="libisccc160" arch="x86_64"/>
- <repopackage name="libisccfg160" arch="x86_64"/>
- <repopackage name="libjson-c4"/>
- <repopackage name="libkeyutils1"/>
- <repopackage name="libkmod2"/>
- <repopackage name="libksba8" arch="x86_64"/>
- <repopackage name="libldap-2_4-2" arch="x86_64"/>
- <repopackage name="libldb1" arch="x86_64"/>
- <repopackage name="liblldp_clif1" arch="x86_64"/>
- <repopackage name="liblmdb-0_9_23" arch="x86_64"/>
- <repopackage name="libltdl7" arch="x86_64"/>
- <repopackage name="liblttng-ust0" arch="x86_64"/>
- <repopackage name="liblua5_3-5"/>
- <repopackage name="liblvm2app2_2" arch="x86_64"/>
- <repopackage name="liblvm2cmd2_02" arch="x86_64"/>
- <repopackage name="liblwres160" arch="x86_64"/>
- <repopackage name="liblz4-1"/>
- <repopackage name="liblzma5"/>
- <repopackage name="liblzo2-2" arch="x86_64"/>
- <repopackage name="libmagic1"/>
- <repopackage name="libmetalink3" arch="x86_64"/>
- <repopackage name="libmlx4-1" arch="x86_64"/>
- <repopackage name="libmlx5-1" arch="x86_64"/>
- <repopackage name="libmnl0" arch="x86_64"/>
- <repopackage name="libmodman1" arch="x86_64"/>
- <repopackage name="libmount1"/>
- <repopackage name="libmpath0" arch="x86_64"/>
- <repopackage name="libmspack0" arch="x86_64"/>
- <repopackage name="libncurses6"/>
- <repopackage name="libnetfilter_conntrack3" arch="x86_64"/>
- <repopackage name="libnetfilter_cthelper0" arch="x86_64"/>
- <repopackage name="libnetfilter_cttimeout1" arch="x86_64"/>
- <repopackage name="libnettle6"/>
- <repopackage name="libnfnetlink0" arch="x86_64"/>
- <repopackage name="libnftnl11" arch="x86_64"/>
- <repopackage name="libnghttp2-14" arch="x86_64"/>
- <repopackage name="libnl-config" arch="x86_64"/>
- <repopackage name="libnl3-200" arch="x86_64"/>
- <repopackage name="libnpth0" arch="x86_64"/>
- <repopackage name="libnsl2"/>
- <repopackage name="libnuma1" arch="x86_64"/>
- <repopackage name="liboath0" arch="x86_64"/>
- <repopackage name="libopeniscsiusr0_2_0" arch="x86_64"/>
- <repopackage name="libopenssl1_1"/>
- <repopackage name="libostree-1-1" arch="x86_64"/>
- <repopackage name="libp11-kit0"/>
- <repopackage name="libparted0" arch="x86_64"/>
- <repopackage name="libpath_utils1" arch="x86_64"/>
- <repopackage name="libpci3" arch="x86_64"/>
- <repopackage name="libpciaccess0" arch="x86_64"/>
- <repopackage name="libpcre1"/>
- <repopackage name="libpcre2-8-0"/>
- <repopackage name="libpgm-5_2-0" arch="x86_64"/>
- <repopackage name="libpng16-16" arch="x86_64"/>
- <repopackage name="libpopt0"/>
- <repopackage name="libprocps7" arch="x86_64"/>
- <repopackage name="libproxy1" arch="x86_64"/>
- <repopackage name="libpsl5" arch="x86_64"/>
- <repopackage name="libpwquality1" arch="x86_64"/>
- <repopackage name="libpython2_7-1_0" arch="x86_64"/>
- <repopackage name="libpython3_7m1_0" arch="x86_64"/>
- <repopackage name="libqrencode4"/>
- <repopackage name="librados2" arch="x86_64"/>
- <repopackage name="libradosstriper1" arch="x86_64"/>
- <repopackage name="librbd1" arch="x86_64"/>
- <repopackage name="librdmacm1" arch="x86_64"/>
- <repopackage name="libreadline8"/>
- <repopackage name="libref_array1" arch="x86_64"/>
- <repopackage name="libreiserfscore0" arch="x86_64"/>
- <repopackage name="librgw2" arch="x86_64"/>
- <repopackage name="libsasl2-3" arch="x86_64"/>
- <repopackage name="libseccomp2"/>
- <repopackage name="libselinux1"/>
- <repopackage name="libsemanage1"/>
- <repopackage name="libsepol1"/>
- <repopackage name="libsgutils2-1_45-2" arch="x86_64"/>
- <repopackage name="libsmartcols1"/>
- <repopackage name="libsnapper4" arch="x86_64"/>
- <repopackage name="libsnappy1" arch="x86_64"/>
- <repopackage name="libsodium23" arch="x86_64"/>
- <repopackage name="libsoftokn3" arch="x86_64"/>
- <repopackage name="libsolv-tools" arch="x86_64"/>
- <repopackage name="libsoup-2_4-1" arch="x86_64"/>
- <repopackage name="libsqlite3-0" arch="x86_64"/>
- <repopackage name="libssh4" arch="x86_64"/>
- <repopackage name="libsss_certmap0" arch="x86_64"/>
- <repopackage name="libsss_idmap0" arch="x86_64"/>
- <repopackage name="libsss_nss_idmap0" arch="x86_64"/>
- <repopackage name="libstdc++6"/>
- <repopackage name="libsystemd0"/>
- <repopackage name="libtalloc2" arch="x86_64"/>
- <repopackage name="libtasn1"/>
- <repopackage name="libtasn1-6"/>
- <repopackage name="libtdb1" arch="x86_64"/>
- <repopackage name="libtevent0" arch="x86_64"/>
- <repopackage name="libtirpc-netconfig"/>
- <repopackage name="libtirpc3"/>
- <repopackage name="libudev1"/>
- <repopackage name="libunistring2"/>
- <repopackage name="libunwind" arch="x86_64"/>
- <repopackage name="liburcu6" arch="x86_64"/>
- <repopackage name="libusb-1_0-0" arch="x86_64"/>
- <repopackage name="libutempter0"/>
- <repopackage name="libuuid1"/>
- <repopackage name="libverto1"/>
- <repopackage name="libvmtools0" arch="x86_64"/>
- <repopackage name="libwicked-0-6" arch="x86_64"/>
- <repopackage name="libwrap0" arch="x86_64"/>
- <repopackage name="libx86emu2" arch="x86_64"/>
- <repopackage name="libxml2-2" arch="x86_64"/>
- <repopackage name="libxml2-tools" arch="x86_64"/>
- <repopackage name="libxmlsec1-1" arch="x86_64"/>
- <repopackage name="libxmlsec1-openssl1" arch="x86_64"/>
- <repopackage name="libxslt1" arch="x86_64"/>
- <repopackage name="libxtables12" arch="x86_64"/>
- <repopackage name="libyajl2" arch="x86_64"/>
- <repopackage name="libyaml-0-2" arch="x86_64"/>
- <repopackage name="libz1"/>
- <repopackage name="libzio1"/>
- <repopackage name="libzmq5" arch="x86_64"/>
- <repopackage name="libzstd1" arch="x86_64"/>
- <repopackage name="libzypp" arch="x86_64"/>
- <repopackage name="logrotate" arch="x86_64"/>
- <repopackage name="lsof" arch="x86_64"/>
- <repopackage name="lvm2" arch="x86_64"/>
- <repopackage name="makedumpfile" arch="x86_64"/>
- <repopackage name="mcstrans" arch="x86_64"/>
- <repopackage name="metallb-k8s-yaml" arch="x86_64"/>
- <repopackage name="microos-tools" arch="x86_64"/>
- <repopackage name="mokutil" arch="x86_64"/>
- <repopackage name="mozilla-nspr" arch="x86_64"/>
- <repopackage name="mozilla-nss" arch="x86_64"/>
- <repopackage name="mozilla-nss-certs" arch="x86_64"/>
- <repopackage name="multipath-tools" arch="x86_64"/>
- <repopackage name="ncurses-utils"/>
- <repopackage name="net-tools" arch="x86_64"/>
- <repopackage name="netcfg"/>
- <repopackage name="nfs-client" arch="x86_64"/>
- <repopackage name="nfsidmap" arch="x86_64"/>
- <repopackage name="oath-toolkit-xml" arch="x86_64"/>
- <repopackage name="open-iscsi" arch="x86_64"/>
- <repopackage name="open-lldp" arch="x86_64"/>
- <repopackage name="open-vm-tools" arch="x86_64"/>
- <repopackage name="openslp" arch="x86_64"/>
- <repopackage name="openssh" arch="x86_64"/>
- <repopackage name="openssl" arch="x86_64"/>
- <repopackage name="openssl-1_1" arch="x86_64"/>
- <repopackage name="openSUSE-build-key" arch="x86_64"/>
- <repopackage name="openSUSE-MicroOS-release"/>
- <repopackage name="openSUSE-MicroOS-release-appliance"/>
- <repopackage name="p11-kit" arch="x86_64"/>
- <repopackage name="p11-kit-tools" arch="x86_64"/>
- <repopackage name="pam"/>
- <repopackage name="pam-config"/>
- <repopackage name="parted" arch="x86_64"/>
- <repopackage name="patterns-containers-container_runtime" arch="x86_64"/>
- <repopackage name="patterns-containers-container_runtime_kubernetes" arch="x86_64"/>
- <repopackage name="patterns-containers-kubeadm" arch="x86_64"/>
- <repopackage name="patterns-containers-kubic_admin" arch="x86_64"/>
- <repopackage name="patterns-containers-kubic_worker" arch="x86_64"/>
- <repopackage name="patterns-microos-alt_onlyDVD" arch="x86_64"/>
- <repopackage name="patterns-microos-apparmor" arch="x86_64"/>
- <repopackage name="patterns-microos-base" arch="x86_64"/>
- <repopackage name="patterns-microos-basesystem" arch="x86_64"/>
- <repopackage name="patterns-microos-cloud" arch="x86_64"/>
- <repopackage name="patterns-microos-defaults" arch="x86_64"/>
- <repopackage name="patterns-microos-hardware" arch="x86_64"/>
- <repopackage name="patterns-microos-ima_evm" arch="x86_64"/>
- <repopackage name="patterns-microos-onlyDVD" arch="x86_64"/>
- <repopackage name="patterns-microos-selinux" arch="x86_64"/>
- <repopackage name="patterns-microos-sssd_ldap" arch="x86_64"/>
- <repopackage name="pciutils" arch="x86_64"/>
- <repopackage name="perl" arch="x86_64"/>
- <repopackage name="perl-apparmor" arch="x86_64"/>
- <repopackage name="perl-base"/>
- <repopackage name="perl-Bootloader"/>
- <repopackage name="perl-Config-IniFiles" arch="x86_64"/>
- <repopackage name="perl-HTML-Parser" arch="x86_64"/>
- <repopackage name="perl-HTML-Tagset" arch="x86_64"/>
- <repopackage name="perl-IO-stringy" arch="x86_64"/>
- <repopackage name="perl-JSON" arch="x86_64"/>
- <repopackage name="perl-XML-Parser" arch="x86_64"/>
- <repopackage name="perl-XML-Twig" arch="x86_64"/>
- <repopackage name="permissions"/>
- <repopackage name="permissions-config"/>
- <repopackage name="pigz"/>
- <repopackage name="pinentry" arch="x86_64"/>
- <repopackage name="pkg-config"/>
- <repopackage name="podman" arch="x86_64"/>
- <repopackage name="podman-cni-config" arch="x86_64"/>
- <repopackage name="policycoreutils" arch="x86_64"/>
- <repopackage name="procps" arch="x86_64"/>
- <repopackage name="psmisc" arch="x86_64"/>
- <repopackage name="python-base" arch="x86_64"/>
- <repopackage name="python-rpm-macros" arch="x86_64"/>
- <repopackage name="python3" arch="x86_64"/>
- <repopackage name="python3-apparmor" arch="x86_64"/>
- <repopackage name="python3-appdirs" arch="x86_64"/>
- <repopackage name="python3-asn1crypto" arch="x86_64"/>
- <repopackage name="python3-audit" arch="x86_64"/>
- <repopackage name="python3-Babel" arch="x86_64"/>
- <repopackage name="python3-base" arch="x86_64"/>
- <repopackage name="python3-bind" arch="x86_64"/>
- <repopackage name="python3-blinker" arch="x86_64"/>
- <repopackage name="python3-ceph-argparse" arch="x86_64"/>
- <repopackage name="python3-cephfs" arch="x86_64"/>
- <repopackage name="python3-certifi" arch="x86_64"/>
- <repopackage name="python3-cffi" arch="x86_64"/>
- <repopackage name="python3-chardet" arch="x86_64"/>
- <repopackage name="python3-configobj" arch="x86_64"/>
- <repopackage name="python3-cryptography" arch="x86_64"/>
- <repopackage name="python3-decorator" arch="x86_64"/>
- <repopackage name="python3-ecdsa" arch="x86_64"/>
- <repopackage name="python3-idna" arch="x86_64"/>
- <repopackage name="python3-ipy" arch="x86_64"/>
- <repopackage name="python3-Jinja2" arch="x86_64"/>
- <repopackage name="python3-jsonpatch" arch="x86_64"/>
- <repopackage name="python3-jsonpointer" arch="x86_64"/>
- <repopackage name="python3-jsonschema" arch="x86_64"/>
- <repopackage name="python3-MarkupSafe" arch="x86_64"/>
- <repopackage name="python3-msgpack" arch="x86_64"/>
- <repopackage name="python3-networkx" arch="x86_64"/>
- <repopackage name="python3-oauthlib" arch="x86_64"/>
- <repopackage name="python3-packaging" arch="x86_64"/>
- <repopackage name="python3-ply" arch="x86_64"/>
- <repopackage name="python3-policycoreutils" arch="x86_64"/>
- <repopackage name="python3-PrettyTable" arch="x86_64"/>
- <repopackage name="python3-psutil" arch="x86_64"/>
- <repopackage name="python3-py" arch="x86_64"/>
- <repopackage name="python3-pyasn1" arch="x86_64"/>
- <repopackage name="python3-pycparser" arch="x86_64"/>
- <repopackage name="python3-pycryptodome" arch="x86_64"/>
- <repopackage name="python3-PyJWT" arch="x86_64"/>
- <repopackage name="python3-pyparsing" arch="x86_64"/>
- <repopackage name="python3-pyserial" arch="x86_64"/>
- <repopackage name="python3-pytz" arch="x86_64"/>
- <repopackage name="python3-PyYAML" arch="x86_64"/>
- <repopackage name="python3-pyzmq" arch="x86_64"/>
- <repopackage name="python3-rados" arch="x86_64"/>
- <repopackage name="python3-rbd" arch="x86_64"/>
- <repopackage name="python3-requests" arch="x86_64"/>
- <repopackage name="python3-rgw" arch="x86_64"/>
- <repopackage name="python3-rpm" arch="x86_64"/>
- <repopackage name="python3-salt" arch="x86_64"/>
- <repopackage name="python3-selinux" arch="x86_64"/>
- <repopackage name="python3-semanage" arch="x86_64"/>
- <repopackage name="python3-setools" arch="x86_64"/>
- <repopackage name="python3-setuptools" arch="x86_64"/>
- <repopackage name="python3-simplejson" arch="x86_64"/>
- <repopackage name="python3-six" arch="x86_64"/>
- <repopackage name="python3-tornado" arch="x86_64"/>
- <repopackage name="python3-urllib3" arch="x86_64"/>
- <repopackage name="python3-zypp-plugin" arch="x86_64"/>
- <repopackage name="rdma-core" arch="x86_64"/>
- <repopackage name="read-only-root-fs" arch="x86_64"/>
- <repopackage name="rebootmgr" arch="x86_64"/>
- <repopackage name="restorecond" arch="x86_64"/>
- <repopackage name="rpcbind" arch="x86_64"/>
- <repopackage name="rpm"/>
- <repopackage name="rpm-config-SUSE"/>
- <repopackage name="rsync" arch="x86_64"/>
- <repopackage name="runc" arch="x86_64"/>
- <repopackage name="salt" arch="x86_64"/>
- <repopackage name="salt-master" arch="x86_64"/>
- <repopackage name="salt-minion" arch="x86_64"/>
- <repopackage name="sed"/>
- <repopackage name="selinux-tools" arch="x86_64"/>
- <repopackage name="sg3_utils" arch="x86_64"/>
- <repopackage name="shadow"/>
- <repopackage name="shared-mime-info" arch="x86_64"/>
- <repopackage name="shim" arch="x86_64"/>
- <repopackage name="slirp4netns" arch="x86_64"/>
- <repopackage name="snapper" arch="x86_64"/>
- <repopackage name="socat" arch="x86_64"/>
- <repopackage name="sssd" arch="x86_64"/>
- <repopackage name="sssd-krb5-common" arch="x86_64"/>
- <repopackage name="sssd-ldap" arch="x86_64"/>
- <repopackage name="sudo" arch="x86_64"/>
- <repopackage name="supportutils" arch="x86_64"/>
- <repopackage name="suse-module-tools"/>
- <repopackage name="sysconfig" arch="x86_64"/>
- <repopackage name="sysconfig-netconfig" arch="x86_64"/>
- <repopackage name="sysfsutils" arch="x86_64"/>
- <repopackage name="system-group-hardware"/>
- <repopackage name="system-group-wheel" arch="x86_64"/>
- <repopackage name="system-user-nobody" arch="x86_64"/>
- <repopackage name="system-user-root"/>
- <repopackage name="systemd"/>
- <repopackage name="systemd-logger" arch="x86_64"/>
- <repopackage name="systemd-presets-branding-MicroOS"/>
- <repopackage name="systemd-presets-common-SUSE"/>
- <repopackage name="systemd-sysvinit"/>
- <repopackage name="sysuser-shadow"/>
- <repopackage name="sysvinit-tools"/>
- <repopackage name="tallow" arch="x86_64"/>
- <repopackage name="tar" arch="x86_64"/>
- <repopackage name="terminfo" arch="x86_64"/>
- <repopackage name="terminfo-base"/>
- <repopackage name="tftpboot-installation-openSUSE-MicroOS-x86_64" arch="x86_64"/>
- <repopackage name="thin-provisioning-tools" arch="x86_64"/>
- <repopackage name="timezone" arch="x86_64"/>
- <repopackage name="transactional-update" arch="x86_64"/>
- <repopackage name="transactional-update-zypp-config" arch="x86_64"/>
- <repopackage name="ucode-amd" arch="x86_64"/>
- <repopackage name="ucode-intel" arch="x86_64"/>
- <repopackage name="udev"/>
- <repopackage name="update-alternatives"/>
- <repopackage name="update-checker" arch="x86_64"/>
- <repopackage name="util-linux"/>
- <repopackage name="util-linux-systemd" arch="x86_64"/>
- <repopackage name="vim" arch="x86_64"/>
- <repopackage name="vim-data-common" arch="x86_64"/>
- <repopackage name="vlan" arch="x86_64"/>
- <repopackage name="which" arch="x86_64"/>
- <repopackage name="wicked" arch="x86_64"/>
- <repopackage name="wicked-service" arch="x86_64"/>
- <repopackage name="wpa_supplicant" arch="x86_64"/>
- <repopackage name="xen-libs" arch="x86_64"/>
- <repopackage name="xfsprogs" arch="x86_64"/>
- <repopackage name="xtables-plugins" arch="x86_64"/>
- <repopackage name="xz"/>
- <repopackage name="yast2-logs" arch="x86_64"/>
- <repopackage name="zypper" arch="x86_64"/>
<repopackage name="openSUSE-MicroOS-release" addarch="x86_64"/>
<repopackage name="openSUSE-MicroOS-release-kubic-dvd" addarch="x86_64"/>
</repopackages>
++++++ openSUSE-cd-mini-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.eAAafD/_old 2019-05-31 10:54:02.320856264 +0200
+++ /var/tmp/diff_new_pack.eAAafD/_new 2019-05-31 10:54:02.320856264 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190528" schemaversion="4.1">
+<image name="OBS__openSUSE___20190529" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190528</productvar>
+ <productvar name="VERSION">20190529</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190528,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190529,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190528/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190529/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-cd-mini-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.eAAafD/_old 2019-05-31 10:54:02.336856258 +0200
+++ /var/tmp/diff_new_pack.eAAafD/_new 2019-05-31 10:54:02.336856258 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190528" schemaversion="4.1">
+<image name="OBS__openSUSE___20190529" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190528</productvar>
+ <productvar name="VERSION">20190529</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190528,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190529,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190528/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190529/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-dvd5-dvd-i586.kiwi ++++++
++++ 11176 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/000product/openSUSE-dvd5-dvd-i586.kiwi
++++ and /work/SRC/openSUSE:Factory/.000product.new.5148/openSUSE-dvd5-dvd-i586.kiwi
openSUSE-dvd5-dvd-x86_64.kiwi: same change
++++++ openSUSE-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.eAAafD/_old 2019-05-31 10:54:02.408856231 +0200
+++ /var/tmp/diff_new_pack.eAAafD/_new 2019-05-31 10:54:02.408856231 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190528" schemaversion="4.1">
+<image name="OBS__openSUSE___20190529" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -24,7 +24,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20190528-i586-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20190529-i586-x86_64</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -36,11 +36,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190528</productvar>
+ <productvar name="VERSION">20190529</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190528,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190529,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190528/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190528/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190529/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190529/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ dvd.group ++++++
++++ 734 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/000product/dvd.group
++++ and /work/SRC/openSUSE:Factory/.000product.new.5148/dvd.group
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.eAAafD/_old 2019-05-31 10:54:02.552856177 +0200
+++ /var/tmp/diff_new_pack.eAAafD/_new 2019-05-31 10:54:02.552856177 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190528</version>
+ <version>20190529</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE-MicroOS.product ++++++
--- /var/tmp/diff_new_pack.eAAafD/_old 2019-05-31 10:54:02.560856174 +0200
+++ /var/tmp/diff_new_pack.eAAafD/_new 2019-05-31 10:54:02.564856173 +0200
@@ -6,7 +6,7 @@
<name>openSUSE-MicroOS</name>
<releasepkgname>openSUSE-MicroOS-release</releasepkgname>
<endoflife/>
- <version>20190528</version>
+ <version>20190529</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>openSUSE-MicroOS</productline>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.eAAafD/_old 2019-05-31 10:54:02.576856168 +0200
+++ /var/tmp/diff_new_pack.eAAafD/_new 2019-05-31 10:54:02.576856168 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190528</version>
+ <version>20190529</version>
<release>0</release>
<productline>openSUSE</productline>
++++++ opensuse_kubic.group ++++++
++++ 693 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/000product/opensuse_kubic.group
++++ and /work/SRC/openSUSE:Factory/.000product.new.5148/opensuse_kubic.group
++++++ opensuse_microos.group ++++++
--- /var/tmp/diff_new_pack.eAAafD/_old 2019-05-31 10:54:02.612856155 +0200
+++ /var/tmp/diff_new_pack.eAAafD/_new 2019-05-31 10:54:02.612856155 +0200
@@ -1,6 +1,25 @@
<group name="opensuse_microos">
<!-- ### AUTOMATICALLY GENERATED, DO NOT EDIT ### -->
<packagelist relationship="recommends">
+ <!-- kernel-default not found on x86_64-->
+ <!-- kernel-default-base not found on x86_64-->
+ <!-- openSUSE-MicroOS-release not found on x86_64-->
+ <!-- patterns-containers-container_runtime not found on x86_64-->
+ <!-- patterns-microos-alt_onlyDVD not found on x86_64-->
+ <!-- patterns-microos-apparmor not found on x86_64-->
+ <!-- patterns-microos-cloud not found on x86_64-->
+ <!-- patterns-microos-defaults not found on x86_64-->
+ <!-- patterns-microos-hardware not found on x86_64-->
+ <!-- patterns-microos-ima_evm not found on x86_64-->
+ <!-- patterns-microos-onlyDVD not found on x86_64-->
+ <!-- patterns-microos-selinux not found on x86_64-->
+ <!-- patterns-microos-sssd_ldap not found on x86_64-->
+ <!-- podman-cni-config not found on x86_64-->
+ </packagelist>
+</group>
+<group name="opensuse_microos.i586">
+ <conditional name="only_i586"/>
+ <packagelist relationship="recommends">
<package name="aaa_base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:kernel-default -->
<package name="bash" supportstatus="unsupported"/> <!-- reason: opensuse_microos:openSUSE-MicroOS-release -->
<package name="blog" supportstatus="unsupported"/> <!-- reason: opensuse_microos:kernel-default -->
@@ -130,339 +149,9 @@
<package name="xz" supportstatus="unsupported"/> <!-- reason: opensuse_microos:kernel-default -->
</packagelist>
</group>
-<group name="opensuse_microos.i586">
- <conditional name="only_i586"/>
- <packagelist relationship="recommends"/>
-</group>
<group name="opensuse_microos.x86_64">
<conditional name="only_x86_64"/>
<packagelist relationship="recommends">
- <package name="GeoIP-data" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="apparmor-abstractions" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
- <package name="apparmor-parser" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
- <package name="apparmor-profiles" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
- <package name="apparmor-utils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
- <package name="attr" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="audit" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="bc" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="bind-utils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="biosdevname" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="boost-license1_69_0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="btrfsmaintenance" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="btrfsprogs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="btrfsprogs-udev-rules" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="ca-certificates" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="ca-certificates-mozilla" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="catatonit" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="checkpolicy" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="chrony" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="cloud-init" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="cloud-init-config-caasp" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="cni" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="cni-plugins" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="cracklib-dict-small" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="cryptsetup" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="curl" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="cyrus-sasl" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="cyrus-sasl-gssapi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="dbus-1-glib" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="device-mapper" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="dhcp" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="dhcp-client" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="dmidecode" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="dosfstools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="dracut-ima" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-ima_evm -->
- <package name="e2fsprogs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="efibootmgr" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="evmctl" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-ima_evm -->
- <package name="expat" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="fcoe-utils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="gettext-runtime" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="gio-branding-openSUSE" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="glib-networking" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="glib2-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="glibc-locale" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="glibc-locale-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="gpg2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="gptfdisk" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="growpart" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="grub2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="grub2-branding-openSUSE" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="grub2-i386-pc" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="grub2-snapper-plugin" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="grub2-x86_64-efi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="gsettings-desktop-schemas" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="haveged" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="health-checker" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="health-checker-plugins-MicroOS" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="hostname" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="hwdata" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="hwinfo" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="hyper-v" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="iproute2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="ipset" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="iptables" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="iputils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="irqbalance" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="iscsiuio" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="kdump" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="kernel-debug" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="kernel-default-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
- <package name="kernel-firmware" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-hardware -->
- <package name="kexec-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="keyutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-ima_evm -->
- <package name="kpartx" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="kubic-locale-archive" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="less" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libGeoIP1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="libaio1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libarchive13" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="libassuan0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libaugeas0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libauparse0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libbasicobjects0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libbind9-160" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="libboost_thread1_69_0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libbtrfs0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libcares2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libcetcd0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libcollection4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libconfig11" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libcontainers-common" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="libcroco-0_6-3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libcurl4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libdevmapper-event1_03" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libdhash1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libdnet1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libdns169" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="libedit0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libefivar1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libesmtp6" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libext2fs2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libfreebl3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libfreetype6" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libfuse2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libgdbm6" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libgdbm_compat4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libgio-2_0-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libglib-2_0-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libgmodule-2_0-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libgobject-2_0-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libgpgme11" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libhavege1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libicu-suse64_2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libicu64_2-ledata" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libimaevm0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-ima_evm -->
- <package name="libini_config5" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libipset13" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libiptc0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libirs160" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="libisc166" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="libisccc160" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="libisccfg160" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="libksba8" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libldap-2_4-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libldb1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="liblldp_clif1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="liblmdb-0_9_23" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libltdl7" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="liblwres160" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="liblzo2-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libmetalink3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libmnl0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libmodman1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libmpath0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libmspack0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libnetfilter_conntrack3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libnfnetlink0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libnftnl11" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libnghttp2-14" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libnl-config" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libnl3-200" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libnpth0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libnuma1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libopeniscsiusr0_2_0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libostree-1-1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="libparted0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libpath_utils1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libpci3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libpciaccess0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libpng16-16" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libprocps7" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libproxy1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libpsl5" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libpwquality1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libpython2_7-1_0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libpython3_7m1_0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libref_array1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libreiserfscore0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libsasl2-3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libsgutils2-1_45-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libsnapper4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libsnappy1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libsolv-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libsoup-2_4-1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="libsqlite3-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libssh4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libsss_certmap0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libsss_idmap0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libsss_nss_idmap0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libtalloc2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libtdb1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="libtevent0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="liburcu6" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libusb-1_0-0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libvmtools0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libwicked-0-6" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libwrap0" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libx86emu2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libxml2-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libxml2-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libxmlsec1-1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libxmlsec1-openssl1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libxslt1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="libxtables12" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libyajl2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libyaml-0-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="libzstd1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="libzypp" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="logrotate" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="lsof" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="makedumpfile" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="mcstrans" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="microos-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="mokutil" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="multipath-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="net-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="open-iscsi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="open-lldp" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="open-vm-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="openSUSE-build-key" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="openslp" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="openssh" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="openssl" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="openssl-1_1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="p11-kit" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="p11-kit-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="parted" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="patterns-containers-container_runtime" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="patterns-microos-alt_onlyDVD" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
- <package name="patterns-microos-apparmor" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
- <package name="patterns-microos-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="patterns-microos-basesystem" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="patterns-microos-cloud" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="patterns-microos-defaults" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-defaults -->
- <package name="patterns-microos-hardware" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-hardware -->
- <package name="patterns-microos-ima_evm" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-ima_evm -->
- <package name="patterns-microos-onlyDVD" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="patterns-microos-selinux" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="patterns-microos-sssd_ldap" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="pciutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="perl" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="perl-Config-IniFiles" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="perl-HTML-Parser" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="perl-HTML-Tagset" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="perl-IO-stringy" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="perl-JSON" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="perl-XML-Parser" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="perl-XML-Twig" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="perl-apparmor" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
- <package name="pinentry" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="podman" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="podman-cni-config" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="policycoreutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="procps" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="psmisc" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="python-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="python-rpm-macros" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="python3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
- <package name="python3-Babel" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-Jinja2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-MarkupSafe" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-PyJWT" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-PyYAML" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-apparmor" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-apparmor -->
- <package name="python3-appdirs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-asn1crypto" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-audit" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="python3-bind" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-blinker" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-certifi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-cffi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-chardet" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-configobj" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-cryptography" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-decorator" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-ecdsa" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-idna" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-ipy" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-jsonpatch" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-jsonpointer" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-jsonschema" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-networkx" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-oauthlib" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-packaging" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-ply" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-policycoreutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-py" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-pyasn1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-pycparser" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-pyparsing" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-pyserial" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-pytz" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-requests" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="python3-selinux" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-semanage" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-setools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-setuptools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-six" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-urllib3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
- <package name="read-only-root-fs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="rebootmgr" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="restorecond" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="rsync" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="runc" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="selinux-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="sg3_utils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="shared-mime-info" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="shim" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="slirp4netns" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-containers-container_runtime -->
- <package name="snapper" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="sssd" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="sssd-krb5-common" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="sssd-ldap" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-sssd_ldap -->
- <package name="sudo" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="supportutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="sysconfig" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="sysconfig-netconfig" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="sysfsutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="system-group-wheel" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="system-user-nobody" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="systemd-logger" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-defaults -->
- <package name="tallow" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="tar" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="terminfo" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="tftpboot-installation-openSUSE-MicroOS-x86_64" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="thin-provisioning-tools" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="timezone" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="transactional-update" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="transactional-update-zypp-config" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="ucode-amd" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="ucode-intel" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="update-checker" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="util-linux-systemd" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="vim" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="vim-data-common" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="vlan" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="which" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="wicked" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="wicked-service" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="wpa_supplicant" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
- <package name="xen-libs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="xfsprogs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="xtables-plugins" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="yast2-logs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
- <package name="zypper" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-base -->
+ <!-- patterns-microos-base uninstallable: nothing provides coreutils needed by patterns-microos-base-5.0-5.2.x86_64-->
</packagelist>
</group>
++++++ unsorted.yml ++++++
++++ 60057 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/000product/unsorted.yml
++++ and /work/SRC/openSUSE:Factory/.000product.new.5148/unsorted.yml
1
0
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2019-05-31 10:53:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Fri May 31 10:53:41 2019 rev:152 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.CrOjNI/_old 2019-05-31 10:53:48.740861352 +0200
+++ /var/tmp/diff_new_pack.CrOjNI/_new 2019-05-31 10:53:48.744861351 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20190528)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20190529)
#
# Copyright (c) 2019 openSUSE.
#
@@ -16,16 +16,16 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon
-Version: 20190528
+Version: 20190529
Release: 0
License: BSD-3-Clause
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE-Addon-NonOss
-Provides: product(openSUSE-Addon-NonOss) = 20190528-0
+Provides: product(openSUSE-Addon-NonOss) = 20190529-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190528
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190529
AutoReqProv: on
@@ -49,10 +49,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190528</version>
+ <version>20190529</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190528</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190529</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.CrOjNI/_old 2019-05-31 10:53:48.764861343 +0200
+++ /var/tmp/diff_new_pack.CrOjNI/_new 2019-05-31 10:53:48.768861342 +0200
@@ -17,7 +17,7 @@
Name: openSUSE-MicroOS-release
-Version: 20190528
+Version: 20190529
Release: 0
Summary: openSUSE MicroOS
License: GPL-2.0-or-later
@@ -40,9 +40,9 @@
ExclusiveArch: %ix86 x86_64 ppc64le s390x aarch64
Provides: %name-%version
Provides: product() = openSUSE-MicroOS
-Provides: product(openSUSE-MicroOS) = 20190528-0
+Provides: product(openSUSE-MicroOS) = 20190529-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190528
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190529
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(openSUSE-MicroOS)
@@ -58,7 +58,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE-MicroOS) = 20190528-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190529-0
Summary: openSUSE MicroOS
%description dvd
@@ -74,7 +74,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(kubic-dvd)
-Provides: product_flavor(openSUSE-MicroOS) = 20190528-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190529-0
Summary: openSUSE MicroOS
%description kubic-dvd
@@ -90,7 +90,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE-MicroOS) = 20190528-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190529-0
Summary: openSUSE MicroOS
%description appliance
@@ -106,7 +106,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kubic)
-Provides: product_flavor(openSUSE-MicroOS) = 20190528-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190529-0
Summary: openSUSE MicroOS
%description appliance-kubic
@@ -164,11 +164,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-MicroOS</name>
- <version>20190528</version>
+ <version>20190529</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-microos:20190528</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-microos:20190529</cpeid>
<productline>openSUSE-MicroOS</productline>
<register>
<pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.CrOjNI/_old 2019-05-31 10:53:48.788861334 +0200
+++ /var/tmp/diff_new_pack.CrOjNI/_new 2019-05-31 10:53:48.792861333 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20190528
+Version: 20190529
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -55,7 +55,7 @@
Obsoletes: aaa_version
Obsoletes: openSUSE-Promo-release <= 11.1
Obsoletes: openSUSE-release-live <= 11.0
-Obsoletes: product_flavor(%{product}) < 20190528
+Obsoletes: product_flavor(%{product}) < 20190529
# bnc#826592
Provides: weakremover(kernel-default) < 3.11
Provides: weakremover(kernel-desktop) < 4.2
@@ -183,7 +183,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20190528-0
+Provides: product(openSUSE) = 20190529-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -197,7 +197,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190528
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190529
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-url(repository) = http%3A%2F%2Fdownload.opensuse.org%2Ftumbleweed%2Frepo%2Foss%2F
Requires: product_flavor(openSUSE)
@@ -211,7 +211,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description ftp
@@ -226,7 +226,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description mini
@@ -241,7 +241,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description dvd
@@ -256,7 +256,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description livecd-kde
@@ -271,7 +271,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description livecd-x11
@@ -286,7 +286,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description livecd-gnome
@@ -301,7 +301,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description livecd-xfce
@@ -316,7 +316,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description usb-kde
@@ -331,7 +331,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description usb-gnome
@@ -346,7 +346,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description usb-x11
@@ -361,7 +361,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20190528-0
+Provides: product_flavor(openSUSE) = 20190529-0
Summary: openSUSE Tumbleweed
%description appliance
@@ -435,10 +435,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190528</version>
+ <version>20190529</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20190528</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20190529</cpeid>
<productline>openSUSE</productline>
<register>
<pool>
++++++ weakremovers.inc ++++++
++++ 20118 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/000release-packages/weakremovers.inc
++++ and /work/SRC/openSUSE:Factory/.000release-packages.new.5148/weakremovers.inc
1
0
Hello community,
here is the log from the commit of package dracut for openSUSE:Factory checked in at 2019-05-31 09:41:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dracut (Old)
and /work/SRC/openSUSE:Factory/.dracut.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dracut"
Fri May 31 09:41:33 2019 rev:139 rq: version:044.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/dracut/dracut.changes 2019-05-28 09:40:43.993896426 +0200
+++ /work/SRC/openSUSE:Factory/.dracut.new.5148/dracut.changes 2019-05-31 09:42:01.702401574 +0200
@@ -2,229 +1,0 @@
-Sat May 25 19:40:09 UTC 2019 - Daniel Molkentin <daniel.molkentin(a)suse.com>
-
-- Bump to 049
-- Patches are now maintained in git
- * Removed 0012-40network-Fix-race-condition-when-wait-for-networks.patch
- * Removed 0013-40network-always-start-netroot-in-ifup.sh.patch
- * Removed 0015-40network-replace-dhclient-with-wickedd-dhcp-supplic.patch
- * Removed 0016-Add-new-s390x-specific-rule-files.patch
- * Removed 0017-45ifcfg-use-distro-specific-scripts.patch
- * Removed 0020-00warpclock-Set-correct-timezone.patch
- * Removed 0021-95dcssblk-Add-new-module-for-DCSS-block-devices.patch
- * Removed 0048-40network-Only-enable-network-interfaces-if-explicit.patch
- * Removed 0053-01fips-fixup-loading-issues.patch
- * Removed 0056-81cio_ignore-handle-cio_ignore-commandline.patch
- * Removed 0057-01fips-Include-some-more-hmacs.patch
- * Removed 0058-dracut-add-warning-when-including-unsupported-module.patch
- * Removed 0059-99suse-Add-SUSE-specific-initrd-parsing.patch
- * Removed 0060-45ifcfg-Add-SUSE-specific-write-ifcfg-file.patch
- * Removed 0061-45ifcfg-Fixup-error-message-in-write-ifcfg-suse.patch
- * Removed 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch
- * Removed 0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch
- * Removed 0079-95dasd_rules-fixup-rd.dasd-parsing.patch
- * Removed 0080-95dasd_rules-print-out-rd.dasd-commandline.patch
- * Removed 0081-95dasd_mod-do-not-set-module-parameters-if-dasd_cio_.patch
- * Removed 0083-95zfcp_rules-Fixup-rd.zfcp-parsing.patch
- * Removed 0085-95zfcp_rules-print-out-rd.zfcp-commandline-parameter.patch
- * Removed 0086-95zfcp_rules-Auto-generate-udev-rule-for-ipl-device.patch
- * Removed 0087-95dasd_rules-Auto-generate-udev-rule-for-ipl-device.patch
- * Removed 0088-91zipl-Add-new-module-to-update-s390x-configuration.patch
- * Removed 0089-40network-create-var-lib-wicked-in-ifup.sh.patch
- * Removed 0090-dracut-caps-Remove-whole-caps-module.patch
- * Removed 0091-dracut-biosdevname-In-SUSE-biosdevname-package-is-in.patch
- * Removed 0094-Implement-shortcut-ip-ifname-static-for-static-confi.patch
- * Removed 0107-Fixup-typo-firmare-instead-of-firmware.patch
- * Removed 0108-91zipl-Store-commandline-correctly.patch
- * Removed 0109-95dasd_rules-Store-all-devices-in-commandline.patch
- * Removed 0110-95zfcp_rules-Store-all-devices-in-commandline.patch
- * Removed 0113-91zipl-Install-script-as-executable.patch
- * Removed 0114-91zipl-Translate-ext2-3-into-ext4.patch
- * Removed 0116-Mark-scripts-as-executable.patch
- * Removed 0117-95dasd_rules-Enable-the-device-before-checking-devic.patch
- * Removed 0118-95zfcp_rules-Enable-the-device-before-checking-devic.patch
- * Removed 0121-Adjust-initramfs-kernel.img-to-SUSE-default-initrd-k.patch
- * Removed 0123-95zfcp_rules-fix-typo-in-module_setup.patch
- * Removed 0124-40network-Update-iBFT-scanning-code-to-handle-IPv6.patch
- * Removed 0125-40network-separate-mask-and-prefix.patch
- * Removed 0126-01fips-Add-drbg-module-to-force-loaded-modules.patch
- * Removed 0128-90lvm-Install-dm-snapshot-module.patch
- * Removed 0130-nfs-Always-add-all-kernel-modules-for-kdump.patch
- * Removed 0131-40network-handle-prefixed-IP-addresses-correctly.patch
- * Removed 0132-40network-fixup-static-network-configuration.patch
- * Removed 0133-Allow-multiple-configurations-per-network-interface-.patch
- * Removed 0137-Switch-from-Mozilla-NSS-sha256hmac-checking-to-fipsc.patch
- * Removed 0138-fips_add_aesni-intel.patch
- * Removed 0139-fips-kernel-4.4-fixes.patch
- * Removed 0142-40network-Don-t-report-error-for-etc-sysconfig-netwo.patch
- * Removed 0144-90crypt-Fixed-crypttab_contains-to-also-work-with-de.patch
- * Removed 0145-40network-handle-ip-ifname-static-correctly.patch
- * Removed 0150-Find-kernel-modules-in-extra-and-weak-updates-path-a.patch
- * Removed 0157-Add-boot-zipl-to-host-devs-if-it-is-a-mount-point.patch
- * Removed 0158-Add-SUSE-kernel-module-dependencies-in-etc-modprobe.patch
- * Removed 0159-network-Try-to-load-xennet.patch
- * Removed 0160-s390-update_active_devices_initrd.patch
- * Removed 0161-95zfcp_rules-simplified-rd.zfcp-commandline-for-NPIV.patch
- * Removed 0162-network-Request-DHCP-lease-instead-of-getting-applyi.patch
- * Removed 0163-Install-etc-sysconfig-console-to-see-specific-fonts.patch
- * Removed 0164-Fix-initramfs-ver.img-vs-initrd-ver-in-dracut-initra.patch
- * Removed 0168-remove_plymouth_logo_file.patch
- * Removed 0169-network_set_mtu_macaddr_for_dhcp.patch
- * Removed 0170-iscsi-skip-ibft-invalid-dhcp.patch
- * Removed 0180-i18n_add_correct_fontmaps.patch
- * Removed 0182-fix-include-parsing.patch
- * Removed 0183-fix_add_drivers_hang.patch
- * Removed 0188-95dasd_rules-Install-collect-udev-helper-binary.patch
- * Removed 0190-replace-iscsistart-with-systemd-service-files.patch
- * Removed 0191-static_network_setup_return_zero.patch
- * Removed 0192-iscsi_set_boot_protocol_from_ifcfg.patch
- * Removed 0193-95iscsi-Set-number-of-login-retries.patch
- * Removed 0196-ibft-wait-for-session-on-all-paths.patch
- * Removed 0197-95iscsi-Do-not-require-network-for-qla4xxx-flash-ses.patch
- * Removed 0198-95iscsi-set-rd.iscsi.firmware-for-qla4xxx-sessions.patch
- * Removed 0199-rd-iscsi-waitnet-default-false.patch
- * Removed 0200-dracut_fix_multipath_without_config.patch
- * Removed 0201-fix_nfs_with_ip_instead_of_hostname.patch
- * Removed 0202-dracut_dmraid_use_udev.patch
- * Removed 0203-no-fail-builtin-module.patch
- * Removed 0204-mkinitrd-fix-monster.patch
- * Removed 0205-mdraid_ignore_hostonly.patch
- * Removed 0206-nfs_dns_alias.patch
- * Removed 0207-handle_module_aliases.patch
- * Removed 0208-no_forced_virtnet.patch
- * Removed 0209-fix_modules_load_d_hostonly.patch
- * Removed 0210-add_fcoe_uefi_check.patch
- * Removed 0212-fcoe_reorder_init_path.patch
- * Removed 0213-Fix-wrong-keymap-inclusion.patch
- * Removed 0214-95fcoe-Do-not-overwrite-FCoE-configuration.patch
- * Removed 0215-95fcoe-Do-not-complain-about-missing-etc-hba.conf.patch
- * Removed 0216-95fcoe-silence-lldpad-warnings.patch
- * Removed 0217-95fcoe-Allow-to-specify-the-FCoE-mode-via-the-fcoe-p.patch
- * Removed 0218-40network-allow-persistent-interface-names.patch
- * Removed 0219-95fcoe-use-interface-names-instead-of-MAC-addresses.patch
- * Removed 0220-95fcoe-always-set-AUTO_VLAN-for-fcoemon.patch
- * Removed 0221-95fcoe-Add-shutdown-script.patch
- * Removed 0222-90dm-Fixup-shutdown-script.patch
- * Removed 0223-90dm-fixup-dependency-cycle-between-MD-and-DM-shutdo.patch
- * Removed 0224-95iscsi-setup-bnx2i-offload-connections-properly.patch
- * Removed 0225-95fcoe-do-not-start-fcoemon-twice.patch
- * Removed 0300-dracut_dont_use_dpkg_defaults_on_SUSE.patch
- * Removed 0301-include_sysconfig_language.patch
- * Removed 0302-Revert-90multipath-add-hostonly-multipath.conf-in-ca.patch
- * Removed 0303-fix_multipath_check_hostonly.patch
- * Removed 0304-90multipath-Start-daemon-after-udev-settle.patch
- * Removed 0305-90multipath-load-dm_multipath-module-during-startup.patch
- * Removed 0306-90multipath-add-shutdown-script.patch
- * Removed 0307-90multipath-parse-kernel-commandline-option-multipat.patch
- * Removed 0308-mdraid_add_IMSM_NO_PLATFORM_env.patch
- * Removed 0309-90dmraid-do-not-delete-partitions.patch
- * Removed 0310-95resume-Do-not-resume-on-iSCSI.patch
- * Removed 0311-95iscsi-ip-ibft-is-deprecated.patch
- * Removed 0312-40network-Do-not-print-message-about-tmp-net.ibft0.c.patch
- * Removed 0313-90mdraid-Use-stock-MD-rules-to-assemble-RAID-arrays.patch
- * Removed 0314-nfs_do_not_pass_ifname_for_bonding_devices.patch
- * Removed 0402-driver-fail-summary.patch
- * Removed 0403-95lunmask-Add-module-to-handle-LUN-masking.patch
- * Removed 0404-dracut-emergency-optionally-print-fs-help.patch
- * Removed 0450-Strip-NUL-bytes-in-stream-before-push-in-string.patch
- * Removed 0451-systemd-initrd-add-initrd-root-device.target.patch
- * Removed 0452-Always-try-to-add-pinctrl-cherryview.patch
- * Removed 0453-Resolve-symbolic-links-for-i-and-k-parameters-bsc-90.patch
- * Removed 0454-Add-md4-and-arc4-modules-for-ntlm.patch
- * Removed 0500-Reset-IFS-variable.patch
- * Removed 0501-dasd_fix_ssid_bigger_zero.patch
- * Removed 0502-persistent_device_policy_param_enhance.patch
- * Removed 0503-dracut.sh-create-the-initramfs-non-world-readable-al.patch
- * Removed 0504-ibft-fix-boot-flag-check.patch
- * Removed 0505-Allow-booting-from-degraded-MD-RAID-arrays.patch
- * Removed 0506-Boot-on-s390x-with-fips-1-on-the-kernel-commnad-line.patch
- * Removed 0507-Set-TaskMax-inifinite-for-the-emergency-shell.patch
- * Removed 0508-90multipath-start-before-local-fs-pre.target.patch
- * Removed 0509-01fips-Remove-zlib-module-as-requirement.patch
- * Removed 0510-01fips-Some-modules-use-separators-other-than.patch
- * Removed 0511-01fips-ensure-fips-initialization-succeeds-on-s390-x.patch
- * Removed 0512-Make-binutils-optional-when-elfutils-are-available.patch
- * Removed 0513-Fix-regression-caused-by-6f9bf2b8ac436259bdccb110545.patch
- * Removed 0514-man-make-the-k-option-clear-using-mkinitrd.patch
- * Removed 0515-90kernel-modules-also-add-block-device-driver-revers.patch
- * Removed 0516-mkinitrd-suse.sh-Fix-prefix-calculation.patch
- * Removed 0517-95fcoe-fixup-fcoe-genrules.sh-for-VN2VN-mode.patch
- * Removed 0518-90kernel-modules-Fix-backlight-on-Cherrytrail-device.patch
- * Removed 0519-90kernel-modules-Ensure-phy-drivers-are-loaded-in-in.patch
- * Removed 0520-Ignore-module-resolution-errors.patch
- * Removed 0521-Ensure-udev-persistent-storage-compat-rules-get-crea.patch
- * Removed 0522-Fix-typo-from-commit-3f1cdb520.patch
- * Removed 0523-98dracut-systemd-Fix-module-force-loading-with-syste.patch
- * Removed 0524-Suppress-nonsensical-error-message-bsc-1032029.patch
- * Removed 0525-backport-bail-out-if-module-directory-does-not-exist.patch
- * Removed 0526-iscsiroot-call-handle_firmware-only-for-non-iface-in.patch
- * Removed 0527-switch-fips-checking-to-use-the-libkcapi-based-fipsc.patch
- * Removed 0528-Ensure-dracut.sh-responds-properly-to-hostonly_cmdli.patch
- * Removed 0529-systemd-add-missing-.slice-unit.patch
- * Removed 0530-dracut-systemd-dracut-cmdline-ask-fix-dracut-kernel-.patch
- * Removed 0531-dracut-systemd-.service-conflict-with-shutdown-targe.patch
- * Removed 0532-List-drivers-rather-than-looking-for-reverse-depende.patch
- * Removed 0533-instmods-check-modules.builtin-in-srcmods.patch
- * Removed 0534-ssh-client-Include-nss_-libraries.patch
- * Removed 0535-Sync-initramfs-after-creation.patch
- * Removed 0536-90multipath-drop-67-kpartx-compat.rules.patch
- * Removed 0537-dracut-init.sh-ignore-crc32.ko-in-builtin-test.patch
- * Removed 0538-Enable-core-dumps-with-systemd-from-initrd.patch
- * Removed 0539-Add-IMA-functionality-fate-323289.patch
- * Removed 0540-Check-the-proper-variable-for-a-custom-IMA-keys-dire.patch
- * Removed 0541-Make-sure-70-persistent-net.rules-is-included-in-ini.patch
- * Removed 0542-Include-crc32c-intel-module-when-using-btrfs.patch
- * Removed 0543-Remove-00systemd-bootchart.patch
- * Removed 0544-40network-Make-ip-dhcp-work.patch
- * Removed 0545-Add-early-microcode-support-for-AMD-family-16h.patch
- * Removed 0546-Support-Microcode-Updates-for-AMD-CPU-Family-0x17.patch
- * Removed 0547-Fix-task-limit-in-emergency.service-the-same-change-.patch
- * Removed 0548-95fcoe-Switch-back-to-using-fipvlan-for-bnx2fc.patch
- * Removed 0549-fcoe-up-Increase-sleeptime-to-13s.patch
- * Removed 0550-95fcoe-add-timeout-initqueue-entries.patch
- * Removed 0551-fips-use-lib-modules-uname-r-modules.fips.patch
- * Removed 0552-98integrity-support-validating-the-IMA-policy-file-s.patch
- * Removed 0553-98integrity-support-loading-x509-into-the-trusted-bu.patch
- * Removed 0554-98integrity-support-X.509-only-EVM-configuration.patch
- * Removed 0555-Avoid-executing-emergency-hooks-twice.patch
- * Removed 0556-95qeth_rules-Add-new-module-to-copy-qeth-rules.patch
- * Removed 0557-40network-make-arping-optional.patch
- * Removed 0558-40network-remove-brctl-dependency.patch
- * Removed 0559-Add-wickedd-duid.xml-and-iaid.xml-if-available.patch
- * Removed 0560-90kernel-modules-Ensure-PCI-host-modules-are-include.patch
- * Removed 0561-Add-the-qedi-driver-to-driver-list-for-iscsi-boot.patch
- * Removed 0562-Adjust-driver-list-to-modern-kernels.patch
- * Removed 0563-40network-collapse-arping-and-dhcp-calls-into-wicked.patch
- * Removed 0564-40network-Always-set-the-gw-variable.patch
- * Removed 0565-90kernel-modules-Include-Intel-Volume-Management-Dev.patch
- * Removed 0566-95nfs-If-no-server-is-configured-read-BOOTSERVERADDR.patch
++++ 32 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/dracut/dracut.changes
++++ and /work/SRC/openSUSE:Factory/.dracut.new.5148/dracut.changes
Old:
----
README.susemaint
_service
_servicedata
dracut-049+git92.951f754b.obscpio
dracut-049+git92.951f754b.tar.xz
dracut.obsinfo
New:
----
0012-40network-Fix-race-condition-when-wait-for-networks.patch
0013-40network-always-start-netroot-in-ifup.sh.patch
0015-40network-replace-dhclient-with-wickedd-dhcp-supplic.patch
0016-Add-new-s390x-specific-rule-files.patch
0017-45ifcfg-use-distro-specific-scripts.patch
0020-00warpclock-Set-correct-timezone.patch
0021-95dcssblk-Add-new-module-for-DCSS-block-devices.patch
0048-40network-Only-enable-network-interfaces-if-explicit.patch
0053-01fips-fixup-loading-issues.patch
0056-81cio_ignore-handle-cio_ignore-commandline.patch
0057-01fips-Include-some-more-hmacs.patch
0058-dracut-add-warning-when-including-unsupported-module.patch
0059-99suse-Add-SUSE-specific-initrd-parsing.patch
0060-45ifcfg-Add-SUSE-specific-write-ifcfg-file.patch
0061-45ifcfg-Fixup-error-message-in-write-ifcfg-suse.patch
0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch
0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch
0079-95dasd_rules-fixup-rd.dasd-parsing.patch
0080-95dasd_rules-print-out-rd.dasd-commandline.patch
0081-95dasd_mod-do-not-set-module-parameters-if-dasd_cio_.patch
0083-95zfcp_rules-Fixup-rd.zfcp-parsing.patch
0085-95zfcp_rules-print-out-rd.zfcp-commandline-parameter.patch
0086-95zfcp_rules-Auto-generate-udev-rule-for-ipl-device.patch
0087-95dasd_rules-Auto-generate-udev-rule-for-ipl-device.patch
0088-91zipl-Add-new-module-to-update-s390x-configuration.patch
0089-40network-create-var-lib-wicked-in-ifup.sh.patch
0090-dracut-caps-Remove-whole-caps-module.patch
0091-dracut-biosdevname-In-SUSE-biosdevname-package-is-in.patch
0094-Implement-shortcut-ip-ifname-static-for-static-confi.patch
0107-Fixup-typo-firmare-instead-of-firmware.patch
0108-91zipl-Store-commandline-correctly.patch
0109-95dasd_rules-Store-all-devices-in-commandline.patch
0110-95zfcp_rules-Store-all-devices-in-commandline.patch
0113-91zipl-Install-script-as-executable.patch
0114-91zipl-Translate-ext2-3-into-ext4.patch
0116-Mark-scripts-as-executable.patch
0117-95dasd_rules-Enable-the-device-before-checking-devic.patch
0118-95zfcp_rules-Enable-the-device-before-checking-devic.patch
0121-Adjust-initramfs-kernel.img-to-SUSE-default-initrd-k.patch
0123-95zfcp_rules-fix-typo-in-module_setup.patch
0124-40network-Update-iBFT-scanning-code-to-handle-IPv6.patch
0125-40network-separate-mask-and-prefix.patch
0126-01fips-Add-drbg-module-to-force-loaded-modules.patch
0128-90lvm-Install-dm-snapshot-module.patch
0130-nfs-Always-add-all-kernel-modules-for-kdump.patch
0131-40network-handle-prefixed-IP-addresses-correctly.patch
0132-40network-fixup-static-network-configuration.patch
0133-Allow-multiple-configurations-per-network-interface-.patch
0137-Switch-from-Mozilla-NSS-sha256hmac-checking-to-fipsc.patch
0138-fips_add_aesni-intel.patch
0139-fips-kernel-4.4-fixes.patch
0142-40network-Don-t-report-error-for-etc-sysconfig-netwo.patch
0144-90crypt-Fixed-crypttab_contains-to-also-work-with-de.patch
0145-40network-handle-ip-ifname-static-correctly.patch
0150-Find-kernel-modules-in-extra-and-weak-updates-path-a.patch
0157-Add-boot-zipl-to-host-devs-if-it-is-a-mount-point.patch
0158-Add-SUSE-kernel-module-dependencies-in-etc-modprobe.patch
0159-network-Try-to-load-xennet.patch
0160-s390-update_active_devices_initrd.patch
0161-95zfcp_rules-simplified-rd.zfcp-commandline-for-NPIV.patch
0162-network-Request-DHCP-lease-instead-of-getting-applyi.patch
0163-Install-etc-sysconfig-console-to-see-specific-fonts.patch
0164-Fix-initramfs-ver.img-vs-initrd-ver-in-dracut-initra.patch
0168-remove_plymouth_logo_file.patch
0169-network_set_mtu_macaddr_for_dhcp.patch
0170-iscsi-skip-ibft-invalid-dhcp.patch
0180-i18n_add_correct_fontmaps.patch
0182-fix-include-parsing.patch
0183-fix_add_drivers_hang.patch
0188-95dasd_rules-Install-collect-udev-helper-binary.patch
0190-replace-iscsistart-with-systemd-service-files.patch
0191-static_network_setup_return_zero.patch
0192-iscsi_set_boot_protocol_from_ifcfg.patch
0193-95iscsi-Set-number-of-login-retries.patch
0196-ibft-wait-for-session-on-all-paths.patch
0197-95iscsi-Do-not-require-network-for-qla4xxx-flash-ses.patch
0198-95iscsi-set-rd.iscsi.firmware-for-qla4xxx-sessions.patch
0199-rd-iscsi-waitnet-default-false.patch
0200-dracut_fix_multipath_without_config.patch
0201-fix_nfs_with_ip_instead_of_hostname.patch
0202-dracut_dmraid_use_udev.patch
0203-no-fail-builtin-module.patch
0204-mkinitrd-fix-monster.patch
0205-mdraid_ignore_hostonly.patch
0206-nfs_dns_alias.patch
0207-handle_module_aliases.patch
0208-no_forced_virtnet.patch
0209-fix_modules_load_d_hostonly.patch
0210-add_fcoe_uefi_check.patch
0212-fcoe_reorder_init_path.patch
0213-Fix-wrong-keymap-inclusion.patch
0214-95fcoe-Do-not-overwrite-FCoE-configuration.patch
0215-95fcoe-Do-not-complain-about-missing-etc-hba.conf.patch
0216-95fcoe-silence-lldpad-warnings.patch
0217-95fcoe-Allow-to-specify-the-FCoE-mode-via-the-fcoe-p.patch
0218-40network-allow-persistent-interface-names.patch
0219-95fcoe-use-interface-names-instead-of-MAC-addresses.patch
0220-95fcoe-always-set-AUTO_VLAN-for-fcoemon.patch
0221-95fcoe-Add-shutdown-script.patch
0222-90dm-Fixup-shutdown-script.patch
0223-90dm-fixup-dependency-cycle-between-MD-and-DM-shutdo.patch
0224-95iscsi-setup-bnx2i-offload-connections-properly.patch
0225-95fcoe-do-not-start-fcoemon-twice.patch
0300-dracut_dont_use_dpkg_defaults_on_SUSE.patch
0301-include_sysconfig_language.patch
0302-Revert-90multipath-add-hostonly-multipath.conf-in-ca.patch
0303-fix_multipath_check_hostonly.patch
0304-90multipath-Start-daemon-after-udev-settle.patch
0305-90multipath-load-dm_multipath-module-during-startup.patch
0306-90multipath-add-shutdown-script.patch
0307-90multipath-parse-kernel-commandline-option-multipat.patch
0308-mdraid_add_IMSM_NO_PLATFORM_env.patch
0309-90dmraid-do-not-delete-partitions.patch
0310-95resume-Do-not-resume-on-iSCSI.patch
0311-95iscsi-ip-ibft-is-deprecated.patch
0312-40network-Do-not-print-message-about-tmp-net.ibft0.c.patch
0313-90mdraid-Use-stock-MD-rules-to-assemble-RAID-arrays.patch
0314-nfs_do_not_pass_ifname_for_bonding_devices.patch
0402-driver-fail-summary.patch
0403-95lunmask-Add-module-to-handle-LUN-masking.patch
0404-dracut-emergency-optionally-print-fs-help.patch
0450-Strip-NUL-bytes-in-stream-before-push-in-string.patch
0451-systemd-initrd-add-initrd-root-device.target.patch
0452-Always-try-to-add-pinctrl-cherryview.patch
0453-Resolve-symbolic-links-for-i-and-k-parameters-bsc-90.patch
0454-Add-md4-and-arc4-modules-for-ntlm.patch
0500-Reset-IFS-variable.patch
0501-dasd_fix_ssid_bigger_zero.patch
0502-persistent_device_policy_param_enhance.patch
0503-dracut.sh-create-the-initramfs-non-world-readable-al.patch
0504-ibft-fix-boot-flag-check.patch
0505-Allow-booting-from-degraded-MD-RAID-arrays.patch
0506-Boot-on-s390x-with-fips-1-on-the-kernel-commnad-line.patch
0507-Set-TaskMax-inifinite-for-the-emergency-shell.patch
0508-90multipath-start-before-local-fs-pre.target.patch
0509-01fips-Remove-zlib-module-as-requirement.patch
0510-01fips-Some-modules-use-separators-other-than.patch
0511-01fips-ensure-fips-initialization-succeeds-on-s390-x.patch
0512-Make-binutils-optional-when-elfutils-are-available.patch
0513-Fix-regression-caused-by-6f9bf2b8ac436259bdccb110545.patch
0514-man-make-the-k-option-clear-using-mkinitrd.patch
0515-90kernel-modules-also-add-block-device-driver-revers.patch
0516-mkinitrd-suse.sh-Fix-prefix-calculation.patch
0517-95fcoe-fixup-fcoe-genrules.sh-for-VN2VN-mode.patch
0518-90kernel-modules-Fix-backlight-on-Cherrytrail-device.patch
0519-90kernel-modules-Ensure-phy-drivers-are-loaded-in-in.patch
0520-Ignore-module-resolution-errors.patch
0521-Ensure-udev-persistent-storage-compat-rules-get-crea.patch
0522-Fix-typo-from-commit-3f1cdb520.patch
0523-98dracut-systemd-Fix-module-force-loading-with-syste.patch
0524-Suppress-nonsensical-error-message-bsc-1032029.patch
0525-backport-bail-out-if-module-directory-does-not-exist.patch
0526-iscsiroot-call-handle_firmware-only-for-non-iface-in.patch
0527-switch-fips-checking-to-use-the-libkcapi-based-fipsc.patch
0528-Ensure-dracut.sh-responds-properly-to-hostonly_cmdli.patch
0529-systemd-add-missing-.slice-unit.patch
0530-dracut-systemd-dracut-cmdline-ask-fix-dracut-kernel-.patch
0531-dracut-systemd-.service-conflict-with-shutdown-targe.patch
0532-List-drivers-rather-than-looking-for-reverse-depende.patch
0533-instmods-check-modules.builtin-in-srcmods.patch
0534-ssh-client-Include-nss_-libraries.patch
0535-Sync-initramfs-after-creation.patch
0536-90multipath-drop-67-kpartx-compat.rules.patch
0537-dracut-init.sh-ignore-crc32.ko-in-builtin-test.patch
0538-Enable-core-dumps-with-systemd-from-initrd.patch
0539-Add-IMA-functionality-fate-323289.patch
0540-Check-the-proper-variable-for-a-custom-IMA-keys-dire.patch
0541-Make-sure-70-persistent-net.rules-is-included-in-ini.patch
0542-Include-crc32c-intel-module-when-using-btrfs.patch
0543-Remove-00systemd-bootchart.patch
0544-40network-Make-ip-dhcp-work.patch
0545-Add-early-microcode-support-for-AMD-family-16h.patch
0546-Support-Microcode-Updates-for-AMD-CPU-Family-0x17.patch
0547-Fix-task-limit-in-emergency.service-the-same-change-.patch
0548-95fcoe-Switch-back-to-using-fipvlan-for-bnx2fc.patch
0549-fcoe-up-Increase-sleeptime-to-13s.patch
0550-95fcoe-add-timeout-initqueue-entries.patch
0551-fips-use-lib-modules-uname-r-modules.fips.patch
0552-98integrity-support-validating-the-IMA-policy-file-s.patch
0553-98integrity-support-loading-x509-into-the-trusted-bu.patch
0554-98integrity-support-X.509-only-EVM-configuration.patch
0555-Avoid-executing-emergency-hooks-twice.patch
0556-95qeth_rules-Add-new-module-to-copy-qeth-rules.patch
0557-40network-make-arping-optional.patch
0558-40network-remove-brctl-dependency.patch
0559-Add-wickedd-duid.xml-and-iaid.xml-if-available.patch
0560-90kernel-modules-Ensure-PCI-host-modules-are-include.patch
0561-Add-the-qedi-driver-to-driver-list-for-iscsi-boot.patch
0562-Adjust-driver-list-to-modern-kernels.patch
0563-40network-collapse-arping-and-dhcp-calls-into-wicked.patch
0564-40network-Always-set-the-gw-variable.patch
0565-90kernel-modules-Include-Intel-Volume-Management-Dev.patch
0566-95nfs-If-no-server-is-configured-read-BOOTSERVERADDR.patch
0567-Fix-booting-with-fips-1-on-SLES-15.patch
0568-95multipath-Pickup-files-in-etc-multipath-conf.d.patch
0569-10i18n-Load-all-keymaps-for-a-given-locale.patch
0570-10i18n-Fix-possible-infinite-recursion.patch
0571-40network-Fix-static-network-setup.patch
0572-lsinitrd-no-more-cat-write-error-Broken-pipe.patch
0573-lsinitrd.sh-quote-filename-in-extract_files.patch
0574-s-find_btrfs_devs-btrfs_devs.patch
0580-check_for_CONFIG_ACPI_TABLE_UPGRADE.patch
0581-kernel-modules-add-nfit.patch
0582-98dracut-systemd-Start-systemd-vconsole-setup-before.patch
0583-99base-Allow-files-with-backslashes-in-hostonly-file.patch
0584-95dasd_rules-mark-dasd-rules-host_only.patch
0585-emergency-mode-use-sulogin.patch
0586-95zfcp_rules-parse-zfcp.sh-remove-rule-existence-check.patch
0587-Fix-a-missing-space-in-example-configs.patch
0588-Ensure-mmc-host-modules-get-included-properly.patch
0589-Fix-98dracut-systemd-dracut-emergency.sh.patch
0590-00systemd-check-if-systemd-version-is-a-number.patch
0591-91zipl-Don-t-use-contents-of-commented-lines.patch
0592-95iscsi-handle-qedi-like-bnx2i.patch
0593-dracut-only-copy-xattr-if-root.patch
0594-Check-SUSE-kernel-module-dependencies-recursively.patch
0595-iscsi-don-t-continue-waiting-if-the-root-device-is-p.patch
0596-network-stop-waiting-for-interfaces-if-root-device-i.patch
0597-iscsiroot-parse_iscsi_root-overwrites-command-line-a.patch
0598-iscsiroot-there-s-never-more-than-one-target-per-cal.patch
0599-iscsiroot-try-targets-only-once.patch
0600-iscsiroot-remove-bashisms.patch
0601-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch
99-debug.conf
dracut-044.tar.xz
dracut-installkernel
mkinitrd_setup_dummy
purge-kernels
purge-kernels.service
s390x_persistent_device.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dracut.spec ++++++
++++ 910 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/dracut/dracut.spec
++++ and /work/SRC/openSUSE:Factory/.dracut.new.5148/dracut.spec
++++++ 0012-40network-Fix-race-condition-when-wait-for-networks.patch ++++++
>From e4a8408698ea1a4d77b1c6d9ba76a7eab93b024a Mon Sep 17 00:00:00 2001
From: Pawel Wieczorkiewicz <pwieczorkiewicz(a)suse.de>
Date: Tue, 8 Apr 2014 08:50:55 +0200
Subject: 40network: Fix race condition when wait for networks
If no network related params are specific, but rd.neednet=1 is set,
the default initqueue action is to wait until one of the network
interfaces is marked as setup properly.
This also help with initqueue's race condition when the network interface
shows upd late
References: bnc#866771
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/40network/net-genrules.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
index b1c156c..d591161 100755
--- a/modules.d/40network/net-genrules.sh
+++ b/modules.d/40network/net-genrules.sh
@@ -95,6 +95,9 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh
cond='ACTION=="add", SUBSYSTEM=="net"'
# if you change the name of "91-default-net.rules", also change modules.d/80cms/cmssetup.sh
echo "$cond, $runcmd" > /etc/udev/rules.d/91-default-net.rules
+ if [ "$NEEDNET" = "1" ]; then
+ echo "[ -f /tmp/net.*.did-setup ]" >$hookdir/initqueue/finished/wait-network.sh
+ fi
fi
# if you change the name of "90-net.rules", also change modules.d/80cms/cmssetup.sh
--
2.6.6
++++++ 0013-40network-always-start-netroot-in-ifup.sh.patch ++++++
>From a9a919e44e0ce5cc5bc4167889a31d87626058e4 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 4 Jun 2014 12:04:10 +0200
Subject: 40network: always start netroot in ifup.sh
It's totally irrelevant how the network is configured when
trying to setup netroot. It only matters if it could be
configured at all.
So change the logic the check for correct network setup
and then start netroot.
References: bnc#881235
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/40network/ifup.sh | 29 +++++++++++------------------
1 file changed, 11 insertions(+), 18 deletions(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 109fb4b..31a04bf 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -373,27 +373,20 @@ for p in $(getargs ip=); do
do_static ;;
esac
done
- ret=$?
- > /tmp/net.${netif}.up
+ if [ $? -eq 0 ]; then
+ > /tmp/net.${netif}.up
- if [ -e /sys/class/net/${netif}/address ]; then
- > /tmp/net.$(cat /sys/class/net/${netif}/address).up
- fi
+ if [ -e /sys/class/net/${netif}/address ]; then
+ > /tmp/net.$(cat /sys/class/net/${netif}/address).up
+ fi
- case $autoconf in
- dhcp|on|any|dhcp6)
- ;;
- *)
- if [ $ret -eq 0 ]; then
- setup_net $netif
- source_hook initqueue/online $netif
- if [ -z "$manualup" ]; then
- /sbin/netroot $netif
- fi
- fi
- ;;
- esac
+ setup_net $netif
+ source_hook initqueue/online $netif
+ if [ -z "$manualup" ]; then
+ /sbin/netroot $netif
+ fi
+ fi
exit 0
done
--
2.6.6
++++++ 0015-40network-replace-dhclient-with-wickedd-dhcp-supplic.patch ++++++
>From 3b7df07e27efd2ef2df4d9d40253ee8185eb4152 Mon Sep 17 00:00:00 2001
From: Pavel Wieczorkiewicz <pwieczorkiewicz(a)suse.com>
Date: Mon, 7 Apr 2014 16:26:57 +0200
Subject: 40network: replace dhclient with wickedd-dhcp-supplicant
SLES12 is using wickedd, so we need to replace dhclient with
wickedd-dhcp-supplicant.
References: bnc#866771
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/40network/dhclient.conf | 3 -
modules.d/40network/ifup.sh | 109 ++++++++++++++++++++++++++++-------
modules.d/40network/kill-dhclient.sh | 15 -----
modules.d/40network/module-setup.sh | 15 +++--
4 files changed, 98 insertions(+), 44 deletions(-)
delete mode 100644 modules.d/40network/dhclient.conf
delete mode 100755 modules.d/40network/kill-dhclient.sh
diff --git a/modules.d/40network/dhclient.conf b/modules.d/40network/dhclient.conf
deleted file mode 100644
index dbf5882..0000000
--- a/modules.d/40network/dhclient.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-request subnet-mask, broadcast-address, time-offset, routers,
- domain-name, domain-name-servers, domain-search, host-name,
- root-path, interface-mtu;
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 31a04bf..92e4b38 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -87,6 +87,70 @@ else
[ -e /tmp/net.$(cat /sys/class/net/$netif/address).did-setup ] && exit 0
fi
+dhcp_apply() {
+ if [ -f /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1} ]; then
+ . /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1}
+ else
+ warn "DHCP failed";
+ return 1
+ fi
+
+ if [ -z "${IPADDR}" ] || [ -z "${INTERFACE}" ]; then
+ warn "Missing crucial DHCP variables"
+ return 1
+ fi
+
+ # Assign IP address
+ ip $1 addr add "$IPADDR" ${BROADCAST:+broadcast $BROADCAST} dev "$INTERFACE"
+
+ # Assign network route the interface is attached to
+ if [ -n "${NETWORK}" ]; then
+ ip $1 route add "$NETWORK"/"$PREFIXLEN" dev "$INTERFACE"
+ fi
+
+ # Assign provided routes
+ local r route=()
+ if [ -n "${ROUTES}" ]; then
+ for r in ${ROUTES}; do
+ route=(${r//,/ })
+ ip $1 route add "$route[0]"/"$route[1]" via "$route[2]" dev "$INTERFACE"
+ done
+ fi
+
+ # Assign provided routers
+ local g
+ if [ -n "${GATEWAYS}" ]; then
+ for g in ${GATEWAYS}; do
+ ip $1 route add default via "$g" dev "$INTERFACE" && break
+ done
+ fi
+
+ # Setup hostname
+ [ -n "${HOSTNAME}" ] && hostname "$HOSTNAME"
+
+ # If nameserver= has not been specified, use what dhcp provides
+ if [ ! -s /tmp/net.$netif.resolv.conf ]; then
+ if [ -n "${DNSDOMAIN}" ]; then
+ echo domain "${DNSDOMAIN}"
+ fi >> /tmp/net.$netif.resolv.conf
+
+ if [ -n "${DNSSEARCH}" ]; then
+ echo search "${DNSSEARCH}"
+ fi >> /tmp/net.$netif.resolv.conf
+
+ if [ -n "${DNSSERVERS}" ] ; then
+ for s in ${DNSSERVERS}; do
+ echo nameserver "$s"
+ done
+ fi >> /tmp/net.$netif.resolv.conf
+ fi
+ [ -e /tmp/net.$netif.resolv.conf ] && \
+ cp -f /tmp/net.$netif.resolv.conf /etc/resolv.conf
+
+ info "DHCP is finished successfully"
+ return 0
+}
+
# Run dhclient
do_dhcp() {
# dhclient-script will mark the netif up and generate the online
@@ -98,28 +162,35 @@ do_dhcp() {
local _DHCPRETRY=$(getargs rd.net.dhcp.retry=)
_DHCPRETRY=${_DHCPRETRY:-1}
- [ -e /tmp/dhclient.$netif.pid ] && return 0
+ [ -f /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1} ] && return 0
+
+ info "Preparation for DHCP transaction"
+
+ local dhclient=''
+ if [ "$1" = "-4" ] ; then
+ dhclient="wickedd-dhcp4"
+ elif [ "$1" = "-6" ] ; then
+ dhclient="wickedd-dhcp6"
+ fi
+
+ # Address changed
+ ip $1 addr flush dev "$netif"
if ! iface_has_link $netif; then
- warn "No carrier detected on interface $netif"
- return 1
+ warn "No carrier detected"
+ warn "Trying to set $netif up..."
+ ip $1 link set dev "$netif" up
+ if ! iface_has_link $netif; then
+ warn "Failed..."
+ return 1
+ fi
fi
- while [ $_COUNT -lt $_DHCPRETRY ]; do
- info "Starting dhcp for interface $netif"
- dhclient "$@" \
- ${_timeout:+-timeout $_timeout} \
- -q \
- -cf /etc/dhclient.conf \
- -pf /tmp/dhclient.$netif.pid \
- -lf /tmp/dhclient.$netif.lease \
- $netif \
- && return 0
- _COUNT=$(($_COUNT+1))
- [ $_COUNT -lt $_DHCPRETRY ] && sleep 1
- done
- warn "dhcp for interface $netif failed"
- return 1
+ $dhclient --test $netif > /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1}
+ dhcp_apply $1 || return $?
+
+ echo $netif > /tmp/setup_net_${netif}.ok
+ return 0
}
load_ipv6() {
@@ -262,8 +333,6 @@ if [ -e /tmp/team.info ]; then
fi
fi
-# XXX need error handling like dhclient-script
-
if [ -e /tmp/bridge.info ]; then
. /tmp/bridge.info
# start bridge if necessary
diff --git a/modules.d/40network/kill-dhclient.sh b/modules.d/40network/kill-dhclient.sh
deleted file mode 100755
index 9a17495..0000000
--- a/modules.d/40network/kill-dhclient.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-for f in /tmp/dhclient.*.pid; do
- [ -e $f ] || continue
- read PID < $f;
- kill $PID >/dev/null 2>&1
-done
-
-sleep 0.1
-
-for f in /tmp/dhclient.*.pid; do
- [ -e $f ] || continue
- read PID < $f;
- kill -9 $PID >/dev/null 2>&1
-done
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index 4bf93cc..2252995 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -1,10 +1,13 @@
#!/bin/bash
+WICKEDD_DHCP_PATH="/usr/lib/wicked/bin"
+WICKED_EXT_PATH="/etc/wicked/extensions"
+
# called by dracut
check() {
local _program
- require_binaries ip arping dhclient || return 1
+ require_binaries ip arping $WICKEDD_DHCP_PATH/wickedd-dhcp4 $WICKEDD_DHCP_PATH/wickedd-dhcp6 || return 1
return 255
}
@@ -23,17 +26,18 @@ installkernel() {
# called by dracut
install() {
local _arch _i _dir
- inst_multiple ip arping dhclient sed
+ inst_multiple ip arping hostname sed
inst_multiple -o ping ping6
inst_multiple -o brctl
inst_multiple -o teamd teamdctl teamnl
inst_simple /etc/libnl/classid
+ inst_simple "$WICKEDD_DHCP_PATH/wickedd-dhcp4" "/usr/sbin/wickedd-dhcp4"
+ inst_simple "$WICKEDD_DHCP_PATH/wickedd-dhcp6" "/usr/sbin/wickedd-dhcp6"
+ inst_libdir_file "libwicked*.so.*"
+ inst_libdir_file "libdbus-1.so.*"
inst_script "$moddir/ifup.sh" "/sbin/ifup"
inst_script "$moddir/netroot.sh" "/sbin/netroot"
- inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script"
inst_simple "$moddir/net-lib.sh" "/lib/net-lib.sh"
- inst_simple -H "/etc/dhclient.conf"
- cat "$moddir/dhclient.conf" >> "${initdir}/etc/dhclient.conf"
inst_hook pre-udev 50 "$moddir/ifname-genrules.sh"
inst_hook pre-udev 60 "$moddir/net-genrules.sh"
inst_hook cmdline 91 "$moddir/dhcp-root.sh"
@@ -44,7 +48,6 @@ install() {
inst_hook cmdline 97 "$moddir/parse-bridge.sh"
inst_hook cmdline 98 "$moddir/parse-ip-opts.sh"
inst_hook cmdline 99 "$moddir/parse-ifname.sh"
- inst_hook cleanup 10 "$moddir/kill-dhclient.sh"
_arch=$(uname -m)
--
2.6.6
++++++ 0016-Add-new-s390x-specific-rule-files.patch ++++++
>From 7995f23a106e28afa0204b5eca68671cb514b1d9 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 21 Jan 2014 14:32:09 +0100
Subject: [PATCH] Add new s390x-specific rule files
With the new s390x configuration tool the naming of the udev
rules files have changed. So add these to the existing ones
to be compatible with existing and new installations.
References: bnc#856585
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd_rules/module-setup.sh | 4 ++--
modules.d/95zfcp_rules/module-setup.sh | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
Index: dracut-042/modules.d/95dasd_rules/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_rules/module-setup.sh 2015-06-11 17:39:47.000000000 +0200
+++ dracut-042/modules.d/95dasd_rules/module-setup.sh 2015-06-24 18:02:06.297197575 +0200
@@ -4,7 +4,7 @@
check() {
local _arch=$(uname -m)
[ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
- require_binaries dasd_configure /usr/lib/udev/collect || return 1
+ require_binaries /usr/lib/udev/collect || return 1
return 0
}
@@ -16,10 +16,10 @@ depends() {
# called by dracut
install() {
- inst_multiple /usr/lib/udev/collect
inst_hook cmdline 30 "$moddir/parse-dasd.sh"
if [[ $hostonly ]] ; then
inst_rules_wildcard 51-dasd-*.rules
+ inst_rules_wildcard 41-s390x-dasd-*.rules
fi
inst_rules 59-dasd.rules
}
Index: dracut-042/modules.d/95zfcp_rules/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/95zfcp_rules/module-setup.sh 2015-06-11 17:39:47.000000000 +0200
+++ dracut-042/modules.d/95zfcp_rules/module-setup.sh 2015-06-24 18:02:06.297197575 +0200
@@ -19,5 +19,6 @@ install() {
inst_hook cmdline 30 "$moddir/parse-zfcp.sh"
if [[ $hostonly ]] ; then
inst_rules_wildcard 51-zfcp-*.rules
+ inst_rules_wildcard 41-s390x-zfcp-*.rules
fi
}
++++++ 0017-45ifcfg-use-distro-specific-scripts.patch ++++++
>From afc08d7bbee93db0b81d20aef00f538fde3209e3 Mon Sep 17 00:00:00 2001
From: Pawel Wieczorkiewicz <pwieczorkiewicz(a)suse.de>
Date: Tue, 8 Apr 2014 08:48:27 +0200
Subject: 45ifcfg: use distro-specific scripts
Detect the system flavor and write the ifcfg files accordingly.
- Do not move ifcfg to -suse and -redhat files to avoid re-diffing after
each upgrade. Handle this in the spec file and a separate
write-ifcfg-suse.sh source file
- Also revert upstream commit f34e1d6, to not forcibly include 45ifcfg
and thus the whole network stack (bsc#960669)
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
Modified-by: Thomas Rennigner <trenn(a)suse.de>
Modified-by: Fabian Vogt <fvogt(a)suse.com>
---
modules.d/40network/ifup.sh | 1 +
modules.d/40network/module-setup.sh | 7 +++++++
modules.d/45ifcfg/module-setup.sh | 1 -
3 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 92e4b38..347c7f7 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -189,6 +189,7 @@ do_dhcp() {
$dhclient --test $netif > /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1}
dhcp_apply $1 || return $?
+ echo $netif > /tmp/net.${netif}.did-setup
echo $netif > /tmp/setup_net_${netif}.ok
return 0
}
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index 2252995..fa6c7fc 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -15,6 +15,13 @@ check() {
# called by dracut
depends() {
echo "kernel-network-modules"
+ local link=$(readlink $moddir/write-ifcfg.sh)
+ [[ "$link" = "write-ifcfg-suse.sh" ]] && \
+ [[ -d /etc/sysconfig/network ]] && \
+ echo "ifcfg"
+ [[ "$link" = "write-ifcfg-redhat.sh" ]] && \
+ [[ -d /etc/sysconfig/network-scripts ]] && \
+ echo "ifcfg"
return 0
}
diff --git a/modules.d/45ifcfg/module-setup.sh b/modules.d/45ifcfg/module-setup.sh
index 6791985..60ed92b 100755
--- a/modules.d/45ifcfg/module-setup.sh
+++ b/modules.d/45ifcfg/module-setup.sh
@@ -2,7 +2,6 @@
# called by dracut
check() {
- [[ -d /etc/sysconfig/network-scripts ]] && return 0
return 255
}
--
2.6.6
++++++ 0020-00warpclock-Set-correct-timezone.patch ++++++
>From 8792c2c46d3841ea11b9bd30e388eaeb64549fdc Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 5 Dec 2013 09:29:28 +0100
Subject: [PATCH] 00warpclock: Set correct timezone
Add module for setting correct timezone.
References: bnc#830060
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/00warpclock/module-setup.sh | 22 ++++++++++++++++++++++
modules.d/00warpclock/warpclock.sh | 9 +++++++++
2 files changed, 31 insertions(+)
create mode 100755 modules.d/00warpclock/module-setup.sh
create mode 100755 modules.d/00warpclock/warpclock.sh
Index: dracut-042/modules.d/00warpclock/module-setup.sh
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dracut-042/modules.d/00warpclock/module-setup.sh 2015-06-24 18:02:06.917232873 +0200
@@ -0,0 +1,27 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# called by dracut
+check() {
+ # hwclock does not exist on S390(x), bail out silently then
+ local _arch=$(uname -m)
+ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] && return 1
+
+ [ -e /etc/localtime -a -e /etc/adjtime ] || return 1
+ require_binaries /sbin/hwclock || return 1
+}
+
+# called by dracut
+depends() {
+ return 0
+}
+
+# called by dracut
+install() {
+ inst /usr/share/zoneinfo/UTC
+ inst /etc/localtime
+ inst /etc/adjtime
+ inst_hook pre-trigger 00 "$moddir/warpclock.sh"
+ inst /sbin/hwclock
+}
Index: dracut-042/modules.d/00warpclock/warpclock.sh
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dracut-042/modules.d/00warpclock/warpclock.sh 2015-06-24 18:02:06.917232873 +0200
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if test -e /etc/adjtime ; then
+ while read line ; do
+ if test "$line" = LOCAL ; then
+ hwclock --systz
+ fi
+ done < /etc/adjtime
+fi
++++++ 0021-95dcssblk-Add-new-module-for-DCSS-block-devices.patch ++++++
>From c4a980a8fa7a2a9d5e25063b0d5b5070e59aa2cc Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.de>
Date: Tue, 8 Apr 2014 08:53:59 +0200
Subject: [PATCH] 95dcssblk: Add new module for DCSS block devices
Add s390 dcssblk driver and introduce rd.dcssblk= to pass mounts
that should get activated at initrd stage.
References: FATE#308263
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dcssblk/module-setup.sh | 28 ++++++++++++++++++++++++++++
modules.d/95dcssblk/parse-dcssblk.sh | 8 ++++++++
2 files changed, 36 insertions(+)
create mode 100755 modules.d/95dcssblk/module-setup.sh
create mode 100755 modules.d/95dcssblk/parse-dcssblk.sh
Index: dracut-042/modules.d/95dcssblk/module-setup.sh
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dracut-042/modules.d/95dcssblk/module-setup.sh 2015-06-24 18:02:07.217249953 +0200
@@ -0,0 +1,28 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# called by dracut
+check() {
+ local _arch=$(uname -m)
+ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
+ return 0
+}
+
+# called by dracut
+installkernel() {
+ if [ -e /sys/devices/dcssblk/*/block/dcssblk* ];then
+ hostonly='' instmods dcssblk
+ fi
+}
+
+# called by dracut
+install() {
+ inst_hook cmdline 30 "$moddir/parse-dcssblk.sh"
+ # If there is a config file which contains avail (best only of root device)
+ # disks to activate add it and use it during boot -> then we do not need
+ # a kernel param anymore
+ #if [[ $hostonly ]]; then
+ # inst /etc/dcssblk.conf
+ #fi
+}
Index: dracut-042/modules.d/95dcssblk/parse-dcssblk.sh
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dracut-042/modules.d/95dcssblk/parse-dcssblk.sh 2015-06-24 18:02:07.217249953 +0200
@@ -0,0 +1,8 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+dcssblk_arg=$(getarg rd.dcssblk=)
+if [ $? == 0 ];then
+ info "Loading dcssblk segments=$dcssblk_arg"
+ modprobe dcssblk segments=$dcssblk_arg
+fi
++++++ 0048-40network-Only-enable-network-interfaces-if-explicit.patch ++++++
>From 3a951a971fdaa4b51f5375d9b77af0db3c67414e Mon Sep 17 00:00:00 2001
From: Pawel Wieczorkiewicz <pwieczorkiewicz(a)suse.de>
Date: Tue, 27 May 2014 11:48:43 +0200
Subject: 40network: Only enable network interfaces if explicitly requested
Currently all available network interfaces are started whenever
40network is pulled in. This causes massive delays during bootup.
This patch modifies the behaviour to start interfaces only if
rd.neednet is specified.
References: bnc#879038
Signed-off-by: Pawel Wieczorkiewicz <pwieczorkiewicz(a)suse.de>
---
modules.d/40network/net-genrules.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
index d591161..559b325 100755
--- a/modules.d/40network/net-genrules.sh
+++ b/modules.d/40network/net-genrules.sh
@@ -94,8 +94,8 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh
else
cond='ACTION=="add", SUBSYSTEM=="net"'
# if you change the name of "91-default-net.rules", also change modules.d/80cms/cmssetup.sh
- echo "$cond, $runcmd" > /etc/udev/rules.d/91-default-net.rules
if [ "$NEEDNET" = "1" ]; then
+ echo "$cond, $runcmd" > /etc/udev/rules.d/91-default-net.rules
echo "[ -f /tmp/net.*.did-setup ]" >$hookdir/initqueue/finished/wait-network.sh
fi
fi
--
2.6.6
++++++ 0053-01fips-fixup-loading-issues.patch ++++++
>From a15945f1cd7cac0ad472807ca7979726dd34288b Mon Sep 17 00:00:00 2001
From: Marcus Meissner <meissner(a)suse.de>
Date: Mon, 2 Jun 2014 15:02:04 +0200
Subject: [PATCH] 01fips: fixup loading issues
Adjust the FIPS module list to avoid loading issues
References: bnc#875855
Signed-off-by: Marcus Meissner <meissner(a)suse.de>
---
modules.d/01fips/fips.sh | 12 ++++++++++++
modules.d/01fips/module-setup.sh | 6 +++++-
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
index 6acdf62..835f520 100755
--- a/modules.d/01fips/fips.sh
+++ b/modules.d/01fips/fips.sh
@@ -98,6 +98,18 @@ do_fips()
_found=1
break
done </proc/crypto
+ # If we find some hardware specific modules and cannot load them
+ # it is not a problem, proceed.
+ if [ "$_found" = "0" ]; then
+ if [ "$_module" != "${_module%-intel}" \
+ -o "$_module" != "${_module%-ssse3}" \
+ -o "$_module" != "${_module%-x86_64}" \
+ -o "$_module" != "${_module%z90}" \
+ ]; then
+ _found=1
+ fi
+ fi
+
[ "$_found" = "0" ] && return 1
fi
fi
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index 7278347..18c8377 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -19,6 +19,8 @@ installkernel() {
_fipsmodules+="rmd160 rmd256 rmd320 rot13 salsa20 seed seqiv serpent sha1 sha224 sha256 sha256_generic "
_fipsmodules+="sha384 sha512 sha512_generic tcrypt tea tnepres twofish wp256 wp384 wp512 xeta xtea xts zlib"
_fipsmodules+="aes_s390 des_s390 prng sha256_s390 sha_common des_check_key ghash_s390 sha1_s390 sha512_s390"
+ _fipsmodules+="sha512-ssse3 sha1-ssse3 sha256-ssse3 "
+ _fipsmodules+="ghash-clmulni-intel "
mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
@@ -44,7 +46,9 @@ install() {
libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10 \
libfreeblpriv3.so libfreeblpriv3.chk
- inst_multiple -o prelink
+ # we do not use prelink at SUSE
+ #inst_multiple -o prelink
+
inst_simple /etc/system-fips
}
--
2.6.6
++++++ 0056-81cio_ignore-handle-cio_ignore-commandline.patch ++++++
From: Hannes Reinecke <hare(a)suse.de>
81cio_ignore: handle cio_ignore commandline
References: bnc#874902
Incorporates following on-top patches/fixes:
----------------------------
Subject: 81cio_ignore: skip module if cio_ignore is not active
When cio_ignore is not active we should skip the entire module
during boot; otherwise it'll lead to adverse effects.
References: bnc#882685
----------------------------
Subject: 81cio_ignore: rewrite module
Rewrite cio_ignore module to rely on the dracut commandline
parameter 'rd.cio_accept', which takes a comma-separated list
of CCW IDs. Each of those IDs are being removed from the
list of devices from cio_ignore.
The default values for rd.cio_accept are taken from
/boot/zipl/active_devices.txt.
References: bnc#882685
-----------------------------
Subject: More empty cmdline fixes
This fixes up some more modules which might print out empty
commandline files.
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
Index: dracut-044/dracut.cmdline.7.asc
===================================================================
--- dracut-044.orig/dracut.cmdline.7.asc
+++ dracut-044/dracut.cmdline.7.asc
@@ -948,6 +948,21 @@ that memory is given back to the kernel
anymore.
+CIO_IGNORE
+~~~~~~~~~~
+**rd.cio_accept=**__<device-ids>__::
+ Remove the devices listed in <device-ids> from the default
+ cio_ignore kernel command-line settings.
+ <device-ids> is a list of comma-separated CCW device ids.
+ The default for this value is taken from the
+ _/boot/zipl/active_devices.txt_ file.
++
+[listing]
+.Example
+--
+rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
+--
+
Plymouth Boot Splash
~~~~~~~~~~~~~~~~~~~~
**plymouth.enable=0**::
Index: dracut-044/modules.d/81cio_ignore/module-setup.sh
===================================================================
--- /dev/null
+++ dracut-044/modules.d/81cio_ignore/module-setup.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# called by dracut
+check() {
+# do not add this module by default
+ local arch=$(uname -m)
+ [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
+ return 0
+}
+
+cmdline() {
+ local cio_accept
+
+ if [ -e /boot/zipl/active_devices.txt ] ; then
+ while read dev etc ; do
+ [ "$dev" = "#" -o "$dev" = "" ] && continue;
+ if [ -z "$cio_accept" ] ; then
+ cio_accept="$dev"
+ else
+ cio_accept="${cio_accept},${dev}"
+ fi
+ done < /boot/zipl/active_devices.txt
+ fi
+ if [ -n "$cio_accept" ] ; then
+ echo "rd.cio_accept=${cio_accept}"
+ fi
+}
+
+# called by dracut
+install() {
+ if [[ $hostonly_cmdline == "yes" ]] ; then
+ local _cio_accept=$(cmdline)
+ [[ $_cio_accept ]] && printf "%s\n" "$_cio_accept" >> "${initdir}/etc/cmdline.d/01cio_accept.conf"
+ fi
+
+ inst_hook cmdline 20 "$moddir/parse-cio_accept.sh"
+ inst_multiple cio_ignore
+}
Index: dracut-044/modules.d/81cio_ignore/parse-cio_accept.sh
===================================================================
--- /dev/null
+++ dracut-044/modules.d/81cio_ignore/parse-cio_accept.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+CIO_IGNORE=$(getarg cio_ignore)
+CIO_ACCEPT=$(getarg rd.cio_accept)
+
+if [ -z $CIO_IGNORE ] ; then
+ info "cio_ignored disabled on commandline"
+ return
+fi
+if [ -n "$CIO_ACCEPT" ] ; then
+ OLDIFS="$IFS"
+ IFS=,
+ set -- $CIO_ACCEPT
+ while (($# > 0)) ; do
+ info "Enabling device $1"
+ cio_ignore --remove $1
+ shift
+ done
+ IFS="$OLDIFS"
+fi
++++++ 0057-01fips-Include-some-more-hmacs.patch ++++++
>From b53bc39cb35dda350b0629036a3eb87d90debe56 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 12 Jun 2014 09:26:20 +0200
Subject: 01fips: Include some more hmacs
Include the several hmacs needed for FIPS integrity checking
of cryptsetup, libgcrypt, libfipscheck1. Also add the openssl
HMACs too as someone else seems to use those too.
Signed-off-by: Marcus Meissner <meissner(a)suse.de>
---
modules.d/01fips/module-setup.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Index: dracut-042/modules.d/01fips/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/01fips/module-setup.sh 2015-06-24 18:02:07.817284113 +0200
+++ dracut-042/modules.d/01fips/module-setup.sh 2015-06-24 18:02:08.453320321 +0200
@@ -44,6 +44,10 @@ install() {
inst_libdir_file libsoftokn3.so libsoftokn3.so \
libsoftokn3.chk libfreebl3.so libfreebl3.chk \
libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10 \
+ .libcrypto.so.1.0.0.hmac .libssl.so.1.0.0.hmac \
+ .libcryptsetup.so.4.5.0.hmac .libcryptsetup.so.4.hmac \
+ .libgcrypt.so.20.hmac \
+ .libfipscheck.so.1.hmac .libfipscheck.so.1.1.0.hmac
libfreeblpriv3.so libfreeblpriv3.chk
# we do not use prelink at SUSE
++++++ 0058-dracut-add-warning-when-including-unsupported-module.patch ++++++
>From 5473e4b5d8d9bbf9bd995dff815647de0ed1b30b Mon Sep 17 00:00:00 2001
From: Jeff Mahoney <jeffm(a)suse.com>
Date: Thu, 12 Jun 2014 09:30:01 +0200
Subject: dracut: add warning when including unsupported modules
With self-built kernels (often used for debugging by both internal and
external development), it's a common mistake to not set up
Module.supported properly. As a result, modules can end up without the
supported tag. "make install" will happily build an initramfs, via
dracut, that will not boot due to the kernel refusing to load the
unsupported modules.
This patch adds a --check-supported option to check whether all modules
added to the initramfs are marked supported and warn if they are not.
It will not cause the initramfs creation to fail.
The option is intended to be called via /sbin/installkernel, which will
check to see if the kernel has CONFIG_SUSE_KERNEL_SUPPORTED before using
the option.
Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
---
dracut-init.sh | 21 +++++++++++++++++++++
dracut.8.asc | 11 +++++++++++
dracut.sh | 5 +++++
3 files changed, 37 insertions(+)
Index: dracut-044/dracut-init.sh
===================================================================
--- dracut-044.orig/dracut-init.sh
+++ dracut-044/dracut-init.sh
@@ -849,6 +849,17 @@ for_each_module_dir() {
done
}
+check_supported_kmod() {
+ kmod=$1
+ supported=$(modinfo -k $kernel -F supported $kmod 2>/dev/null)
+ case "$supported" in
+ yes|external) ;;
+ *) dwarn "Module \"$(basename $kmod)\" is unsupported. This may cause" \
+ "problems while booting." ;;
+ esac
+}
+
+
# Install a single kernel module along with any firmware it may require.
# $1 = full path to kernel module to install
install_kmod_with_fw() {
@@ -910,6 +921,10 @@ install_kmod_with_fw() {
fi
fi
done
+
+ if [[ "$check_supported" = "yes" ]]; then
+ check_supported_kmod $1
+ fi
return 0
}
@@ -956,6 +971,12 @@ dracut_kernel_post() {
inst_simple "$_modpath" "/lib/modules/$kernel/${_destpath}" || exit $?
done < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"
fi
+
+ if [[ $check_supported ]]; then
+ while read _modpath; do
+ check_supported_kmod $_modpath
+ done < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"
+ fi
) &
_pid=$(jobs -p | while read a || [ -n "$a" ]; do printf ":$a";done)
_pid=${_pid##*:}
Index: dracut-044/dracut.8.asc
===================================================================
--- dracut-044.orig/dracut.8.asc
+++ dracut-044/dracut.8.asc
@@ -490,6 +490,17 @@ will not be able to boot.
Specifies the kernel image, which to include in the UEFI executable. The default is
_/lib/modules/<KERNEL-VERSION>/vmlinuz_ or _/boot/vmlinuz-<KERNEL-VERSION>_
+**--check-supported**::
+ The kernel may be configured to check whether a module is
+ supported by the vendor before allowing it to be loaded. On these
+ systems, it's possible to generate an initramfs image that will
+ fail to boot due to unsupported modules being refused. This
+ option enables a check that will issue a warning if a module built
+ without the support option enabled is encountered while building
+ the image. Use of this option assumes that the kernel requires
+ supported modules and will issue a warning on every module if used
+ otherwise.
+
FILES
-----
_/var/log/dracut.log_::
Index: dracut-044/dracut.sh
===================================================================
--- dracut-044.orig/dracut.sh
+++ dracut-044/dracut.sh
@@ -203,6 +203,9 @@ Creates initial ramdisk images for prelo
--printsize Print out the module install size
--sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module)
--logfile [FILE] Logfile to use (overrides configuration setting)
+ --check-supported Check to ensure that modules are marked supported when
+ using a kernel that is configured to check the
+ support status of a module before loading.
--reproducible Create reproducible images
--no-reproducible Do not create reproducible images
--loginstall [DIR] Log all files installed from the host to [DIR]
@@ -360,6 +363,7 @@ rearrange_params()
--long noimageifnotneeded \
--long early-microcode \
--long no-early-microcode \
+ --long check-supported \
--long reproducible \
--long no-reproducible \
--long loginstall: \
@@ -556,6 +560,7 @@ while :; do
--printsize) printsize="yes";;
--regenerate-all) regenerate_all="yes";;
--noimageifnotneeded) noimageifnotneeded="yes";;
+ --check-supported) check_supported="yes" ;;
--reproducible) reproducible_l="yes";;
--no-reproducible) reproducible_l="no";;
--uefi) uefi="yes";;
++++++ 0059-99suse-Add-SUSE-specific-initrd-parsing.patch ++++++
>From 1202041ec3f7b2d8dd58999e72a309c9fba9069f Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.de>
Date: Wed, 4 Jun 2014 12:56:50 +0200
Subject: 99suse: Add SUSE-specific initrd parsing
Add a module to implement mkinitrd-compatible kernel parameter parsing
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
modules.d/99suse/module-setup.sh | 8 ++++++
modules.d/99suse/parse-suse-initrd.sh | 51 +++++++++++++++++++++++++++++++++++
2 files changed, 59 insertions(+)
create mode 100755 modules.d/99suse/module-setup.sh
create mode 100755 modules.d/99suse/parse-suse-initrd.sh
Index: dracut-042/modules.d/99suse/module-setup.sh
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dracut-042/modules.d/99suse/module-setup.sh 2015-06-24 18:02:09.081356075 +0200
@@ -0,0 +1,8 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+# module-setup.sh for openSUSE / SLE initrd parameters conversion
+
+install() {
+ inst_hook cmdline 99 "$moddir/parse-suse-initrd.sh"
+}
Index: dracut-042/modules.d/99suse/parse-suse-initrd.sh
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dracut-042/modules.d/99suse/parse-suse-initrd.sh 2015-06-24 18:02:09.081356075 +0200
@@ -0,0 +1,51 @@
+#!/bin/sh
+# convert openSUSE / SLE initrd command lines into dracut ones
+# linuxrc=trace shell=1 sysrq=yes sysrq=1-9 journaldev mduuid
+# TargetAddress TargetPort TargetName
+
+# sysrq
+sysrq=$(getarg sysrq)
+if [ "$sysrq" ] && [ "$sysrq" != "no" ]; then
+ echo 1 > /proc/sys/kernel/sysrq
+ case "$sysrq" in
+ 0|1|2|3|4|5|6|7|8|9)
+ echo $sysrq > /proc/sysrq-trigger
+ ;;
+ esac
+fi
+
+# debug
+if getarg linuxrc=trace; then
+ echo "rd.debug rd.udev.debug" >> /etc/cmdline.d/99-suse.conf
+ unset CMDLINE
+fi
+
+# debug shell
+if getargbool 0 shell; then
+ echo "rd.break" >> /etc/cmdline.d/99-suse.conf
+ unset CMDLINE
+fi
+
+# journaldev
+journaldev=$(getarg journaldev)
+if [ -n "$journaldev" ]; then
+ echo "root.journaldev=$journaldev" >> /etc/cmdline.d/99-suse.conf
+ unset CMDLINE
+fi
+
+# mduuid
+mduuid=$(getarg mduuid)
+if [ -n "$mduuid" ]; then
+ echo "rd.md.uuid=$mduuid" >> /etc/cmdline.d/99-suse.conf
+ unset CMDLINE
+fi
+
+# TargetAddress / TargetPort / TargetName
+TargetAddress=$(getarg TargetAddress)
+TargetPort=$(getarg TargetPort)
+TargetName=$(getarg TargetName)
+
+if [ -n "$TargetAddress" -a -n "$TargetName" ]; then
+ echo "netroot=iscsi:$TargetAddress::$TargetPort::$TargetName" >> /etc/cmdline.d/99-suse.conf
+ unset CMDLINE
+fi
++++++ 0060-45ifcfg-Add-SUSE-specific-write-ifcfg-file.patch ++++++
>From 105e96464320c8acae22ee730717e071e156aa0b Mon Sep 17 00:00:00 2001
From: Pawel Wieczorkiewicz <pwieczorkiewicz(a)suse.com>
Date: Wed, 4 Jun 2014 13:00:06 +0200
Subject: 45ifcfg: Add SUSE-specific write-ifcfg file
Signed-off-by: Pawel Wieczorkiewicz <pwieczorkiewicz(a)suse.com>
---
modules.d/45ifcfg/write-ifcfg-suse.sh | 183 ++++++++++++++++++++++++++++++++++
1 file changed, 183 insertions(+)
create mode 100644 modules.d/45ifcfg/write-ifcfg-suse.sh
diff --git a/modules.d/45ifcfg/write-ifcfg-suse.sh b/modules.d/45ifcfg/write-ifcfg-suse.sh
new file mode 100644
index 0000000..4b6350f
--- /dev/null
+++ b/modules.d/45ifcfg/write-ifcfg-suse.sh
@@ -0,0 +1,183 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# NFS root might have reached here before /tmp/net.ifaces was written
+udevadm settle --timeout=30
+
+if [ -e /tmp/bridge.info ]; then
+ . /tmp/bridge.info
+fi
+
+if [ -e /tmp/vlan.info ]; then
+ . /tmp/vlan.info
+fi
+
+mkdir -m 0755 -p /tmp/ifcfg/
+mkdir -m 0755 -p /tmp/ifcfg-leases/
+
+get_vid() {
+ case "$1" in
+ vlan*)
+ echo ${1#vlan}
+ ;;
+ *.*)
+ echo ${1##*.}
+ ;;
+ esac
+}
+
+for netup in /tmp/net.*.did-setup ; do
+ [ -f $netup ] || continue
+
+ netif=${netup%%.did-setup}
+ netif=${netif##*/net.}
+ [ -e /tmp/ifcfg/ifcfg-$netif ] && continue
+ unset bridge
+ unset bond
+ unset bondslaves
+ unset bondname
+ unset bondoptions
+ unset uuid
+ unset ip
+ unset gw
+ unset mtu
+ unset mask
+ unset macaddr
+ unset slave
+ unset ethname
+ [ -e /tmp/bond.${netif}.info ] && . /tmp/bond.${netif}.info
+
+ uuid=$(cat /proc/sys/kernel/random/uuid)
+ if [ "$netif" = "$bridgename" ]; then
+ bridge=yes
+ elif [ "$netif" = "$bondname" ]; then
+ # $netif can't be bridge and bond at the same time
+ bond=yes
+ fi
+ if [ "$netif" = "$vlanname" ]; then
+ vlan=yes
+ fi
+ cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr
+ {
+ echo "# Generated by dracut initrd"
+ echo "NAME='$netif'"
+ if [ -f /tmp/net.$netif.has_ibft_config ]; then
+ echo "STARTMODE='nfsroot'"
+ else
+ echo "STARTMODE='auto'"
+ fi
+
+ local bootproto="static"
+ if [ -f /tmp/leaseinfo.${netif}.dhcp.ipv6 ]; then
+ bootproto="dhcp6"
+ fi
+ if [ -f /tmp/leaseinfo.${netif}.dhcp.ipv4 ]; then
+ if [ "$bootproto" = "dhcp6" ]; then
+ bootproto="dhcp"
+ else
+ bootproto="dhcp4"
+ fi
+ fi
+
+ echo "BOOTPROTO='$bootproto'"
+
+ if [ "$bootproto" = "static" ]; then
+ # If we've booted with static ip= lines, the override file is there
+ [ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override
+ echo "IPADDR='$ip'"
+ if [ -n "$mask" ]; then
+ if strstr "$mask" "."; then
+ echo "NETMASK='$mask'"
+ else
+ echo "PREFIXLEN='$mask'"
+ fi
+ fi
+ if [ -n "$gw" ]; then
+ echo "GATEWAY='$gw'"
+ fi
+ fi
+ [ -n "$mtu" ] && echo "MTU='$mtu'"
+ } > /tmp/ifcfg/ifcfg-$netif
+
+ # bridge needs different things written to ifcfg
+ if [ -z "$bridge" ] && [ -z "$bond" ] && [ -z "$vlan" ]; then
+ # standard interface
+ {
+ if [ -n "$macaddr" ]; then
+ echo "LLADDR='$macaddr'"
+ else
+ echo "LLADDR='$(cat /sys/class/net/$netif/address)'"
+ fi
+ echo "INTERFACETYPE='Ethernet'"
+ } >> /tmp/ifcfg/ifcfg-$netif
+ fi
+
+ if [ -n "$vlan" ]; then
+ {
+ echo "INTERFACETYPE='Vlan'"
+ echo "VLAN_ID='$(get_vid $vlanname)'"
+ echo "ETHERDEVICE='$phydevice'"
+ } >> /tmp/ifcfg/ifcfg-$netif
+ fi
+
+ if [ -n "$bond" ] ; then
+ # bond interface
+ {
+ # This variable is an indicator of a bond interface for initscripts
+ echo "BONDING_MASTER='yes'"
+ echo "BONDING_MODULE_OPTS='$bondoptions'"
+ echo "INTERFACETYPE='Bond'"
+ } >> /tmp/ifcfg/ifcfg-$netif
+
+ local i=0
+ for slave in $bondslaves ; do
+ echo "BONDING_SLAVE_$i='$slave'" >> /tmp/ifcfg/ifcfg-$netif
+ i=$((i+1))
+ # write separate ifcfg file for the raw eth interface
+ {
+ echo "# Generated by dracut initrd"
+ echo "NAME='$slave'"
+ echo "INTERFACETYPE='Ethernet'"
+ echo "STARTMODE='hotplug'"
+ echo "BOOTPROTO='none'"
+ echo "# ETHTOOL=''"
+ } >> /tmp/ifcfg/ifcfg-$slave
+ done
+ fi
+
+ if [ -n "$bridge" ] ; then
+ # bridge
+ {
+ echo "INTERFACETYPE='Bridge'"
+ echo "BRIDGE='yes'"
+ echo "BRIDGE_STP='off'"
+ echo "BRIDGE_FORWARDDELAY='0'"
+ echo -n "BRIDGE_PORTS='"
+
+ } >> /tmp/ifcfg/ifcfg-$netif
+
+ if [ "$ethname" = "$bondname" ] ; then
+ {
+ for slave in $bondslaves ; do
+ echo -n "$bondname "
+ done
+ echo "'"
+ } >> /tmp/ifcfg/ifcfg-$netif
+ else
+ echo "$ethname'" >> /tmp/ifcfg/ifcfg-$netif
+ fi
+ fi
+done
+
+# Pass network opts
+mkdir -m 0755 -p /run/initramfs/state/etc/sysconfig/network
+mkdir -m 0755 -p /run/initramfs/state/var/run/wicked
+echo "files /etc/sysconfig/network" >> /run/initramfs/rwtab
+echo "files /var/run/wicked" >> /run/initramfs/rwtab
+{
+ cp /tmp/net.* /run/initramfs/
+ cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/resolv.conf
+ copytree /tmp/ifcfg /run/initramfs/state/etc/sysconfig/network
+ cp /tmp/leaseinfo.* /run/initramfs/state/var/run/wicked/
+} > /dev/null 2>&1
--
2.6.6
++++++ 0061-45ifcfg-Fixup-error-message-in-write-ifcfg-suse.patch ++++++
>From 7104ea8c873ef89c9aacdd12a542bc71fc738aaa Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 4 Jun 2014 13:12:31 +0200
Subject: 45ifcfg: Fixup error message in write-ifcfg-suse
A fix was missing in write-ifcfg-suse.sh, cause dracut to issue
a warning for a non-existent file.
References: bnc#881286
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/45ifcfg/write-ifcfg-suse.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/modules.d/45ifcfg/write-ifcfg-suse.sh b/modules.d/45ifcfg/write-ifcfg-suse.sh
index 4b6350f..e9b4d10 100644
--- a/modules.d/45ifcfg/write-ifcfg-suse.sh
+++ b/modules.d/45ifcfg/write-ifcfg-suse.sh
@@ -32,6 +32,7 @@ for netup in /tmp/net.*.did-setup ; do
netif=${netup%%.did-setup}
netif=${netif##*/net.}
+ strglobin "$netif" ":*:*:*:*:" && continue
[ -e /tmp/ifcfg/ifcfg-$netif ] && continue
unset bridge
unset bond
@@ -58,7 +59,8 @@ for netup in /tmp/net.*.did-setup ; do
if [ "$netif" = "$vlanname" ]; then
vlan=yes
fi
- cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr
+ [ -e /sys/class/net/$netif/address ] && \
+ cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr
{
echo "# Generated by dracut initrd"
echo "NAME='$netif'"
--
2.6.6
++++++ 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch ++++++
>From 1ab0a485f8e3a3b0ba62ea2f920fd3457039e7f1 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 18 Jun 2014 15:10:46 +0200
Subject: 95dasd_rules: enable parsing of rd.dasd= commandline parameter
Dracut documents the 'rd.dasd=' parameter, so we should be
enabling the usage of this parameter, too.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd_rules/parse-dasd.sh | 37 ++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
Index: dracut-042/modules.d/95dasd_rules/parse-dasd.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-06-11 17:39:47.000000000 +0200
+++ dracut-042/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:09.969406631 +0200
@@ -52,3 +52,40 @@ for dasd_arg in $(getargs root=) $(getar
fi
)
done
+
+for dasd_arg in $(getargs rd.dasd=); do
+ (
+ IFS=","
+ set -- $dasd_arg
+ unset IFS
+ while (($# > 0)); do
+ case $1 in
+ autodetect|probeonly)
+ shift
+ ;;
+ *-*)
+ range=$1
+ IFS="-"
+ set -- $range
+ start=${1#0.0.}
+ shift
+ end=${1#0.0.}
+ shift
+ unset IFS
+ for dev in $(seq $(( 10#$start )) $(( 10#$end )) ) ; do
+ create_udev_rule $(printf "0.0.%04d" "$dev")
+ done
+ ;;
+ *)
+ dev=${1%(ro)}
+ if [ "$dev" != "$1" ] ; then
+ ro=1
+ fi
+ dev=${dev#0.0.}
+ create_udev_rule $(printf "0.0.%04d" $(( 10#$dev )) )
+ shift
+ ;;
+ esac
+ done
+ )
+done
++++++ 0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch ++++++
>From 7a725ea4a1cb606edd3f060f46818250f2a82a1a Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 18 Jun 2014 15:17:21 +0200
Subject: Correctly set cio_ignore for dynamic s390 rules
When converting 'rd.zfcp' and 'rd.dasd' into udev rules we
need to make sure the enable those device ids via cio_ignore,
otherwise the rules might never be called.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd_rules/parse-dasd.sh | 3 +++
modules.d/95zfcp_rules/parse-zfcp.sh | 3 +++
2 files changed, 6 insertions(+)
Index: dracut-042/modules.d/95dasd_rules/parse-dasd.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:09.969406631 +0200
+++ dracut-042/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:10.257423027 +0200
@@ -36,6 +36,9 @@ ACTION=="add", SUBSYSTEM=="ccw", KERNEL=
ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="$_drv", IMPORT{program}="collect $ccw %k ${ccw} $_drv"
ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1"
EOF
+ if [ -x /sbin/cio_ignore ] && ! cio_ignore -i $ccw > /dev/null ; then
+ cio_ignore -r $ccw
+ fi
}
for dasd_arg in $(getargs root=) $(getargs resume=); do
Index: dracut-042/modules.d/95zfcp_rules/parse-zfcp.sh
===================================================================
--- dracut-042.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2015-06-11 17:39:47.000000000 +0200
+++ dracut-042/modules.d/95zfcp_rules/parse-zfcp.sh 2015-06-24 18:02:10.257423027 +0200
@@ -35,6 +35,9 @@ EOF
ACTION=="add", KERNEL=="rport-*", ATTR{port_name}=="$wwpn", SUBSYSTEMS=="ccw", KERNELS=="$ccw", ATTR{[ccw/$ccw]$wwpn/unit_add}="$lun"
EOF
fi
+ if [ -x /sbin/cio_ignore ] && ! cio_ignore -i $ccw > /dev/null ; then
+ cio_ignore -r $ccw
+ fi
}
for zfcp_arg in $(getargs rd.zfcp); do
++++++ 0079-95dasd_rules-fixup-rd.dasd-parsing.patch ++++++
>From b302dd2a53864bdd4ff271275fa244f654cb92ca Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 26 Jun 2014 10:49:03 +0200
Subject: 95dasd_rules: fixup rd.dasd parsing
There were some errors when rd.dasd parsing, resulting in the
device never to be activated. And we should check for
cio_ignore even if a udev rules has been found.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd_rules/parse-dasd.sh | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
Index: dracut-042/modules.d/95dasd_rules/parse-dasd.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:10.257423027 +0200
+++ dracut-042/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:10.589441929 +0200
@@ -29,6 +29,10 @@ create_udev_rule() {
esac
[ -z "${_drv}" ] && return 0
+ if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
+ cio_ignore -r $ccw
+ fi
+
[ -e ${_rule} ] && return 0
cat > $_rule <<EOF
@@ -36,9 +40,6 @@ ACTION=="add", SUBSYSTEM=="ccw", KERNEL=
ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="$_drv", IMPORT{program}="collect $ccw %k ${ccw} $_drv"
ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1"
EOF
- if [ -x /sbin/cio_ignore ] && ! cio_ignore -i $ccw > /dev/null ; then
- cio_ignore -r $ccw
- fi
}
for dasd_arg in $(getargs root=) $(getargs resume=); do
@@ -46,7 +47,7 @@ for dasd_arg in $(getargs root=) $(getar
case $dasd_arg in
/dev/disk/by-path/ccw-*)
ccw_arg=${dasd_arg##*/}
- break;
+ ;;
esac
if [ -n "$ccw_arg" ] ; then
IFS="-"
@@ -75,8 +76,8 @@ for dasd_arg in $(getargs rd.dasd=); do
end=${1#0.0.}
shift
unset IFS
- for dev in $(seq $(( 10#$start )) $(( 10#$end )) ) ; do
- create_udev_rule $(printf "0.0.%04d" "$dev")
+ for dev in $(seq $(( 16#$start )) $(( 16#$end )) ) ; do
+ create_udev_rule $(printf "0.0.%04x" "$dev")
done
;;
*)
@@ -85,7 +86,7 @@ for dasd_arg in $(getargs rd.dasd=); do
ro=1
fi
dev=${dev#0.0.}
- create_udev_rule $(printf "0.0.%04d" $(( 10#$dev )) )
+ create_udev_rule $(printf "0.0.%04x" $(( 16#$dev )) )
shift
;;
esac
++++++ 0080-95dasd_rules-print-out-rd.dasd-commandline.patch ++++++
>From 3e2e526a74cdad48d40a1ec58dac9f709d8fef0e Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 26 Jun 2014 10:50:43 +0200
Subject: 95dasd_rules: print out 'rd.dasd' commandline
When a DASD is found to be required for the rootfs we should
be printing out a 'rd.dasd' commandline parameter. This not
only enables us to correctly enable the device with cio_ignore,
we can also inspect the resulting initrd to figure out which
devices are required to mount the rootfs.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd_rules/module-setup.sh | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
Index: dracut-042/modules.d/95dasd_rules/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_rules/module-setup.sh 2015-06-24 18:02:06.297197575 +0200
+++ dracut-042/modules.d/95dasd_rules/module-setup.sh 2015-06-24 18:02:10.881458552 +0200
@@ -1,10 +1,39 @@
#!/bin/bash
# called by dracut
+cmdline() {
+ is_dasd() {
+ local _dev=$1
+ local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD)
+
+ [ "${_devpath#*/dasd}" == "$_devpath" ] && return 1
+ _ccw="${_devpath%%/block/*}"
+ echo "rd.dasd=${_ccw##*/}"
+ return 0
+ }
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
+ for_each_host_dev_and_slaves is_dasd || return 255
+ }
+}
+
+# called by dracut
check() {
local _arch=$(uname -m)
+ local found=0
+ local bdev
[ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
require_binaries /usr/lib/udev/collect || return 1
+
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
+ for bdev in /sys/block/* ; do
+ case "${bdev##*/}" in
+ dasd*)
+ found=$(($found+1));
+ break;
+ esac
+ done
+ [ $found -eq 0 ] && return 255
+ }
return 0
}
@@ -17,6 +46,10 @@ depends() {
# called by dracut
install() {
inst_hook cmdline 30 "$moddir/parse-dasd.sh"
+ if [[ $hostonly_cmdline == "yes" ]] ; then
+ local _dasd=$(cmdline)
+ [[ $_dasd ]] && printf "%s\n" "$_dasd" >> "${initdir}/etc/cmdline.d/95dasd.conf"
+ fi
if [[ $hostonly ]] ; then
inst_rules_wildcard 51-dasd-*.rules
inst_rules_wildcard 41-s390x-dasd-*.rules
++++++ 0081-95dasd_mod-do-not-set-module-parameters-if-dasd_cio_.patch ++++++
>From 95dc2742b9304029068a2b320e011bdfcc4087ea Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 26 Jun 2014 10:53:01 +0200
Subject: 95dasd_mod: do not set module parameters if dasd_cio_free is not
present
We're now parsing the 'rd.dasd' parameter from 95dasd_rules, so
setting the 'dasd_mod' module parameter should be dropped here.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd_mod/parse-dasd-mod.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-042/modules.d/95dasd_mod/parse-dasd-mod.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_mod/parse-dasd-mod.sh 2015-06-11 17:39:47.000000000 +0200
+++ dracut-042/modules.d/95dasd_mod/parse-dasd-mod.sh 2015-06-24 18:02:11.169474949 +0200
@@ -7,7 +7,7 @@ done
mod_args="${mod_args#*,}"
-if [ -n "$mod_args" ]; then
+if [ -x /sbin/dasd_cio_free -a -n "$mod_args" ]; then
[ -d /etc/modprobe.d ] || mkdir -m 0755 -p /etc/modprobe.d
echo "options dasd_mod dasd=$mod_args" >> /etc/modprobe.d/dasd_mod.conf
fi
++++++ 0083-95zfcp_rules-Fixup-rd.zfcp-parsing.patch ++++++
>From 90b21dafd469ce4a8ac56944ce825f90c0782b16 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 26 Jun 2014 11:52:29 +0200
Subject: 95zfcp_rules: Fixup rd.zfcp parsing
There were some errors when parsing rd.zfcp, causing the device
never to be activated.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95zfcp_rules/parse-zfcp.sh | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
Index: dracut-042/modules.d/95zfcp_rules/parse-zfcp.sh
===================================================================
--- dracut-042.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2015-06-24 18:02:10.257423027 +0200
+++ dracut-042/modules.d/95zfcp_rules/parse-zfcp.sh 2015-06-24 18:02:11.461491574 +0200
@@ -5,9 +5,7 @@ create_udev_rule() {
local wwpn=$2
local lun=$3
local _rule=/etc/udev/rules.d/51-zfcp-${ccw}.rules
-
local _cu_type _dev_type
- local _rule=/etc/udev/rules.d/51-zfcp-${ccw}.rules
if [ -e /sys/bus/ccw/devices/${ccw} ] ; then
read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype
@@ -20,6 +18,10 @@ create_udev_rule() {
return 0;
fi
+ if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
+ cio_ignore -r $ccw
+ fi
+
[ -e ${_rule} ] && return 0
if [ ! -f "$_rule" ] ; then
@@ -35,9 +37,6 @@ EOF
ACTION=="add", KERNEL=="rport-*", ATTR{port_name}=="$wwpn", SUBSYSTEMS=="ccw", KERNELS=="$ccw", ATTR{[ccw/$ccw]$wwpn/unit_add}="$lun"
EOF
fi
- if [ -x /sbin/cio_ignore ] && ! cio_ignore -i $ccw > /dev/null ; then
- cio_ignore -r $ccw
- fi
}
for zfcp_arg in $(getargs rd.zfcp); do
@@ -53,7 +52,7 @@ for zfcp_arg in $(getargs root=) $(getar
case $zfcp_arg in
/dev/disk/by-path/ccw-*)
ccw_arg=${zfcp_arg##*/}
- break;
+ ;;
esac
if [ -n "$ccw_arg" ] ; then
IFS="-"
++++++ 0085-95zfcp_rules-print-out-rd.zfcp-commandline-parameter.patch ++++++
>From 3d918eb5be673f243dc75b358a35e1ed307f0ea5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 26 Jun 2014 13:44:05 +0200
Subject: 95zfcp_rules: print out rd.zfcp commandline parameter
When called with '--hostonly-cmdline' the module should print
out the configuration.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95zfcp_rules/module-setup.sh | 39 +++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)
Index: dracut-042/modules.d/95zfcp_rules/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/95zfcp_rules/module-setup.sh 2015-06-24 18:02:06.297197575 +0200
+++ dracut-042/modules.d/95zfcp_rules/module-setup.sh 2015-06-24 18:02:11.753508198 +0200
@@ -1,10 +1,40 @@
#!/bin/bash
# called by dracut
+cmdline() {
+ is_zfcp() {
+ local _dev=$1
+ local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD)
+ local _sdev _lun _wwpn _ccw
+
+ [ "${_devpath#*/sd}" == "$_devpath" ] && return 1
+ _sdev="${_devpath%%/block/*}"
+ [ -e ${_sdev}/fcp_lun ] || return 1
+ _lun=$(cat ${_sdev}/fcp_lun)
+ _wwpn=$(cat ${_sdev}/wwpn)
+ _ccw=$(cat ${_sdev}/hba_id)
+ echo "rd.zfcp=${_ccw},${_wwpn},${_lun}"
+ return 1
+ }
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
+ for_each_host_dev_and_slaves is_zfcp
+ }
+}
+
+# called by dracut
check() {
local _arch=$(uname -m)
+ local _ccw
[ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
- require_binaries zfcp_disk_configure /usr/lib/udev/collect || return 1
+ require_binaries /usr/lib/udev/collect || return 1
+
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
+ for _ccw in /sys/bus/ccw/devices/*/host* ; do
+ [ -d "$_ccw" ] || continue
+ found=$(($found+1));
+ done
+ [ $found -eq 0 ] && return 255
+ }
return 0
}
@@ -17,6 +47,13 @@ depends() {
install() {
inst_multiple /usr/lib/udev/collect
inst_hook cmdline 30 "$moddir/parse-zfcp.sh"
+ if [[ $hostonly_cmdline == "yes" ]] ; then
+ local _zfcp
+
+ for _zfcp in $(cmdline) ; do
+ printf "%s\n" "$zfcp" >> "${initdir}/etc/cmdline.d/94zfcp.conf"
+ done
+ fi
if [[ $hostonly ]] ; then
inst_rules_wildcard 51-zfcp-*.rules
inst_rules_wildcard 41-s390x-zfcp-*.rules
++++++ 0086-95zfcp_rules-Auto-generate-udev-rule-for-ipl-device.patch ++++++
>From 754bda4bcf9698837802b31bd74061702edf6c8c Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 26 Jun 2014 14:01:33 +0200
Subject: 95zfcp_rules: Auto-generate udev rule for ipl device
We should auto-generate an udev rule for the ipl device; it'll be
enabled anyway.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95zfcp_rules/parse-zfcp.sh | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
Index: dracut-042/modules.d/95zfcp_rules/parse-zfcp.sh
===================================================================
--- dracut-042.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2015-06-24 18:02:11.461491574 +0200
+++ dracut-042/modules.d/95zfcp_rules/parse-zfcp.sh 2015-06-24 18:02:12.041524595 +0200
@@ -39,6 +39,17 @@ EOF
fi
}
+if [[ -f /sys/firmware/ipl/ipl_type &&
+ $(</sys/firmare/ipl/ipl_type) = "fcp" ]] ; then
+ (
+ local _wwpn=$(cat /sys/firmware/ipl/wwpn)
+ local _lun=$(cat /sys/firmware/ipl/lun)
+ local _ccw=$(cat /sys/firmware/ipl/device)
+
+ create_udev_rule $_ccw $_wwpn $_lun
+ )
+fi
+
for zfcp_arg in $(getargs rd.zfcp); do
(
IFS=","
@@ -49,6 +60,9 @@ done
for zfcp_arg in $(getargs root=) $(getargs resume=); do
(
+ local _wwpn
+ local _lun
+
case $zfcp_arg in
/dev/disk/by-path/ccw-*)
ccw_arg=${zfcp_arg##*/}
@@ -57,8 +71,8 @@ for zfcp_arg in $(getargs root=) $(getar
if [ -n "$ccw_arg" ] ; then
IFS="-"
set -- $ccw_arg
- wwpn=${4%:*}
- lun=${4#*:}
+ _wwpn=${4%:*}
+ _lun=${4#*:}
create_udev_rule $2 $wwpn $lun
fi
)
++++++ 0087-95dasd_rules-Auto-generate-udev-rule-for-ipl-device.patch ++++++
>From 96af5adcdc4ec9bdbaff4dc053f415060eee301a Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 26 Jun 2014 14:04:19 +0200
Subject: 95dasd_rules: Auto-generate udev rule for ipl device
We should be generating a udev rule for the ipl device; it'll
be enabled anyway.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd_rules/parse-dasd.sh | 9 +++++++++
1 file changed, 9 insertions(+)
Index: dracut-042/modules.d/95dasd_rules/parse-dasd.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:10.589441929 +0200
+++ dracut-042/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:12.329540991 +0200
@@ -42,6 +42,15 @@ ACTION=="add", ENV{COLLECT_$ccw}=="0", A
EOF
}
+if [[ -f /sys/firmware/ipl/ipl_type &&
+ $(</sys/firmare/ipl/ipl_type) = "ccw" ]] ; then
+ (
+ local _ccw=$(cat /sys/firmware/ipl/device)
+
+ create_udev_rule $_ccw
+ )
+fi
+
for dasd_arg in $(getargs root=) $(getargs resume=); do
(
case $dasd_arg in
++++++ 0088-91zipl-Add-new-module-to-update-s390x-configuration.patch ++++++
>From 78329f4df2afc9fae11ea30dd11839d956d4af08 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 27 Jun 2014 11:43:28 +0200
Subject: 91zipl: Add new module to update s390x configuration
Add new module to update the dracut commandline values
during booting with the values found in the file
dracut-cmdline.conf on the device specified by
rd.zipl.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
dracut.cmdline.7.asc | 14 ++++++++++
modules.d/91zipl/install_zipl_cmdline.sh | 33 +++++++++++++++++++++++
modules.d/91zipl/module-setup.sh | 45 ++++++++++++++++++++++++++++++++
modules.d/91zipl/parse-zipl.sh | 41 +++++++++++++++++++++++++++++
4 files changed, 133 insertions(+)
create mode 100644 modules.d/91zipl/install_zipl_cmdline.sh
create mode 100644 modules.d/91zipl/module-setup.sh
create mode 100644 modules.d/91zipl/parse-zipl.sh
Index: dracut-044/dracut.cmdline.7.asc
===================================================================
--- dracut-044.orig/dracut.cmdline.7.asc
+++ dracut-044/dracut.cmdline.7.asc
@@ -963,6 +963,20 @@ CIO_IGNORE
rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
--
+ZIPL
+~~~~
+**rd.zipl=**__<path to blockdevice>__::
+ Update the dracut commandline with the values found in the
+ _dracut-cmdline.conf_ file on the given device.
+ The values are merged into the existing commandline values
+ and the udev events are regenerated.
++
+[listing]
+.Example
+--
+rd.zipl=UUID=0fb28157-99e3-4395-adef-da3f7d44835a
+--
+
Plymouth Boot Splash
~~~~~~~~~~~~~~~~~~~~
**plymouth.enable=0**::
Index: dracut-044/modules.d/91zipl/install_zipl_cmdline.sh
===================================================================
--- /dev/null
+++ dracut-044/modules.d/91zipl/install_zipl_cmdline.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+DEV=$1
+MNT=/boot/zipl
+
+if [ -z "$DEV" ] ; then
+ echo "No IPL device given"
+ > /tmp/install.zipl.cmdline-done
+ exit 1
+fi
+
+[ -d ${MNT} ] || mkdir -p ${MNT}
+
+mount -o ro ${DEV} ${MNT}
+if [ "$?" != "0" ] ; then
+ echo "Failed to mount ${MNT}"
+ > /tmp/install.zipl.cmdline-done
+ exit 1
+fi
+
+if [ -f ${MNT}/dracut-cmdline.conf ] ; then
+ cp ${MNT}/dracut-cmdline.conf /etc/cmdline.d/99zipl.conf
+fi
+
+umount ${MNT}
+
+if [ -f /etc/cmdline.d/99zipl.conf ] ; then
+ systemctl restart dracut-cmdline.service
+ systemctl restart systemd-udev-trigger.service
+fi
+> /tmp/install.zipl.cmdline-done
+
+exit 0
Index: dracut-044/modules.d/91zipl/module-setup.sh
===================================================================
--- /dev/null
+++ dracut-044/modules.d/91zipl/module-setup.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# called by dracut
+check() {
+ local _arch=$(uname -m)
+ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
+ return 0
+}
+
+# called by dracut
+depends() {
+ echo grub2
+ return 0
+}
+
+# called by dracut
+installkernel() {
+ instmods ext2
+}
+
+# called by dracut
+cmdline() {
+ local _boot_zipl
+
+ _boot_zipl=$(sed -n 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
+ if [ -n "$_boot_zipl" ] ; then
+ echo "rd.zipl=${_boot_zipl}"
+ fi
+}
+
+# called by dracut
+install() {
+ inst_multiple mount umount
+
+ inst_hook cmdline 91 "$moddir/parse-zipl.sh"
+ inst "${moddir}/install_zipl_cmdline.sh" /sbin/install_zipl_cmdline.sh
+ if [[ $hostonly_cmdline == "yes" ]] ; then
+ local _zipl=$(cmdline)
+
+ [[ $_zipl ]] && printf "%s\n" "$_zipl"
+ fi
+ dracut_need_initqueue
+}
Index: dracut-044/modules.d/91zipl/parse-zipl.sh
===================================================================
--- /dev/null
+++ dracut-044/modules.d/91zipl/parse-zipl.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+zipl_arg=$(getarg rd.zipl)
+
+if [ -n "$zipl_arg" ] ; then
+ case "$zipl_arg" in
+ LABEL=*) \
+ zipl_env="ENV{ID_FS_LABEL}"
+ zipl_val=${zipl_arg#LABEL=}
+ zipl_arg="/dev/disk/by-label/${zipl_val}"
+ ;;
+ UUID=*) \
+ zipl_env="ENV{ID_FS_UUID}"
+ zipl_val=${zipl_arg#UUID=}
+ zipl_arg="/dev/disk/by-uuid/${zipl_val}"
+ ;;
+ /dev/mapper/*) \
+ zipl_env="ENV{DM_NAME}"
+ zipl_val=${zipl_arg#/dev/mapper/}
+ ;;
+ /dev/disk/by-*) \
+ zipl_env="SYMLINK"
+ zipl_val=${zipl_arg#/dev/}
+ ;;
+ /dev/*) \
+ zipl_env="KERNEL"
+ zipl_val=${zipl_arg}
+ ;;
+ esac
+ if [ "$zipl_env" ] ; then
+ {
+ printf 'ACTION=="add|change", SUBSYSTEM=="block", %s=="%s", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/install_zipl_cmdline.sh %s"\n' \
+ ${zipl_env} ${zipl_val} ${zipl_arg}
+ echo "[ -f /tmp/install.zipl.cmdline-done ]" >$hookdir/initqueue/finished/wait-zipl-conf.sh
+ } >> /etc/udev/rules.d/99zipl-conf.rules
+ cat /etc/udev/rules.d/99zipl-conf.rules
+ fi
+ wait_for_dev -n "$zipl_arg"
+fi
++++++ 0089-40network-create-var-lib-wicked-in-ifup.sh.patch ++++++
>From 16a940a8fb1fe6697474dc4abb1ce5b5ee281068 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 1 Jul 2014 08:15:00 +0200
Subject: 40network: create /var/lib/wicked in ifup.sh
wicked requires the /var/lib/wicked directory to be present.
This is just a work-around; it should be fixed in wicked itself.
References: bnc#885141
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/40network/ifup.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 347c7f7..c7279df 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -18,6 +18,8 @@ netif=$1
use_bridge='false'
use_vlan='false'
+[ -d /var/lib/wicked ] || mkdir -p /var/lib/wicked
+
# enslave this interface to bond?
for i in /tmp/bond.*.info; do
[ -e "$i" ] || continue
--
2.6.6
++++++ 0090-dracut-caps-Remove-whole-caps-module.patch ++++++
>From dccbc0fc7f1b814ad8a03f380a31bed2c9d86a9b Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.de>
Date: Tue, 1 Jul 2014 13:53:43 +0200
Subject: dracut: caps: Remove whole caps module
To get installed it must not have systemd included in initramfs which is
an unsupported scenario for SUSE.
This gets also rid of the error in its check function.
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
modules.d/02caps/README | 33 ---------------------------------
modules.d/02caps/caps.sh | 36 ------------------------------------
modules.d/02caps/module-setup.sh | 26 --------------------------
3 files changed, 95 deletions(-)
delete mode 100644 modules.d/02caps/README
delete mode 100755 modules.d/02caps/caps.sh
delete mode 100755 modules.d/02caps/module-setup.sh
Index: dracut-042/modules.d/02caps/README
===================================================================
--- dracut-042.orig/modules.d/02caps/README 2015-06-11 17:39:47.000000000 +0200
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,33 +0,0 @@
-This adds the following parameters:
-rd.caps=1
- turn the caps module on/off
-rd.caps.initdrop=cap_sys_module,cap_sys_rawio
- drop the specified comma separated capabilities
-rd.caps.disablemodules=1
- turn off module loading
-rd.caps.disablekexec=1
- turn off the kexec functionality
-
-If module loading is turned off, all modules have to be loaded in the
-initramfs, which are used later on. This can be done with
-"rd.driver.pre="
-rd.driver.pre=autofs4,sunrpc,ipt_REJECT,nf_conntrack_ipv4,....
-
-Because the kernel command line would get huge with all those drivers, I
-recommend to make use of $initramfs/etc/cmdline.
-
-So, all rd.caps.* and rd.driver.pre arguments are in caps.conf can be
-copied to $initramfs/etc/cmdline with "-i caps.conf /etc/cmdline".
-
-Also all modules have to be loaded in the initramfs via "--add-drivers".
-
-The resulting initramfs creation would look like this:
-
- --add-drivers "autofs4 sunrpc ipt_REJECT nf_conntrack_ipv4 \
- nf_defrag_ipv4 iptable_filter ip_tables
- ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack
- ip6table_filter ip6_tables dm_mirror dm_region_hash dm_log uinput ppdev
- parport_pc parport ipv6 sg 8139too 8139cp mii i2c_piix4 i2c_core ext3
- jbd mbcache sd_mod crc_t10dif sr_mod cdrom ata_generic pata_acpi ata_piix
- dm_mod" \
- /boot/initramfs-caps.img
Index: dracut-042/modules.d/02caps/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/02caps/module-setup.sh 2015-06-11 17:39:47.000000000 +0200
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,24 +0,0 @@
-#!/bin/bash
-
-# called by dracut
-check() {
- require_binaries capsh
-}
-
-# called by dracut
-depends() {
- return 0
-}
-
-# called by dracut
-install() {
- if ! dracut_module_included "systemd"; then
- inst_hook pre-pivot 00 "$moddir/caps.sh"
- inst $(type -P capsh 2>/dev/null) /usr/sbin/capsh
- # capsh wants bash and we need bash also
- inst /bin/bash
- else
- dwarning "caps: does not work with systemd in the initramfs"
- fi
-}
-
Index: dracut-042/modules.d/02caps/caps.sh
===================================================================
--- dracut-042.orig/modules.d/02caps/caps.sh 2015-06-11 17:39:47.000000000 +0200
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,34 +0,0 @@
-#!/bin/bash
-
-capsmode=$(getarg rd.caps)
-
-if [ "$capsmode" = "1" ]; then
- CAPS_INIT_DROP=$(getarg rd.caps.initdrop=)
- CAPS_USERMODEHELPER_BSET=$(capsh --drop="$CAPS_INIT_DROP" -- -c 'while read a b || [ -n "$a" ]; do [ "$a" = "CapBnd:" ] && echo $((0x${b:$((${#b}-8)):8})) $((0x${b:$((${#b}-16)):8})) && break; done < /proc/self/status')
- CAPS_MODULES_DISABLED=$(getarg rd.caps.disablemodules=)
- CAPS_KEXEC_DISABLED=$(getarg rd.caps.disablekexec=)
-
- info "Loading CAPS_MODULES $CAPS_MODULES"
- for i in $CAPS_MODULES;do modprobe $i 2>&1 >/dev/null | vinfo; done
-
- if [ "$CAPS_MODULES_DISABLED" = "1" -a -e /proc/sys/kernel/modules_disabled ]; then
- info "Disabling module loading."
- echo $CAPS_MODULES_DISABLED > /proc/sys/kernel/modules_disabled
- fi
-
- if [ "$CAPS_KEXEC_DISABLED" = "1" -a -e /proc/sys/kernel/kexec_disabled ]; then
- info "Disabling kexec."
- echo $CAPS_KEXEC_DISABLED > /proc/sys/kernel/kexec_disabled
- fi
-
- info "CAPS_USERMODEHELPER_BSET=$CAPS_USERMODEHELPER_BSET"
- if [ -e /proc/sys/kernel/usermodehelper/bset ]; then
- info "Setting usermode helper bounding set."
- echo $CAPS_USERMODEHELPER_BSET > /proc/sys/kernel/usermodehelper/bset
- echo $CAPS_USERMODEHELPER_BSET > /proc/sys/kernel/usermodehelper/inheritable
- fi
-
- echo "CAPS_INIT_DROP=\"$CAPS_INIT_DROP\"" > /etc/capsdrop
- info "Will drop capabilities $CAPS_INIT_DROP from init."
-fi
-
++++++ 0091-dracut-biosdevname-In-SUSE-biosdevname-package-is-in.patch ++++++
>From edfae68d9a9af81cd1ff230b72b9c320d4c58e82 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.de>
Date: Tue, 1 Jul 2014 13:53:57 +0200
Subject: dracut: biosdevname: In SUSE biosdevname package is installed on
relevant platforms
all others should not add biosdevname on purpose. Do not complain about it.
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
modules.d/97biosdevname/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: dracut-042/modules.d/97biosdevname/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/97biosdevname/module-setup.sh 2015-06-11 17:39:47.000000000 +0200
+++ dracut-042/modules.d/97biosdevname/module-setup.sh 2015-06-24 18:02:13.557610904 +0200
@@ -3,7 +3,8 @@
# called by dracut
check() {
[[ "$mount_needs" ]] && return 1
- require_binaries biosdevname || return 1
+ # Include biosdevname if the binary is installed
+ type -P biosdevname >/dev/null || return 1
return 0
}
++++++ 0094-Implement-shortcut-ip-ifname-static-for-static-confi.patch ++++++
>From a345cf3c3d7c15cfca5735c531f825062235c135 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 2 Jul 2014 11:20:22 +0200
Subject: Implement shortcut 'ip=<ifname>:static' for static configuration
To simplify static configurate we should be pulling in the
existing 'ifcfg' files when running in hostonly mode.
With that we can implement the shortcut 'ip=<ifname>:static'
to use the existing configuration from the ifcfg file.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/40network/ifup.sh | 14 +++++++++++++-
modules.d/40network/module-setup.sh | 4 ++++
modules.d/40network/parse-ip-opts.sh | 8 +++++++-
3 files changed, 24 insertions(+), 2 deletions(-)
Index: dracut-044/modules.d/40network/ifup.sh
===================================================================
--- dracut-044.orig/modules.d/40network/ifup.sh
+++ dracut-044/modules.d/40network/ifup.sh
@@ -421,6 +421,18 @@ for p in $(getargs ip=); do
[ "$use_bridge" != 'true' ] && \
[ "$use_vlan" != 'true' ] && continue
+ if [ "$autoconf" = "static" ] &&
+ [ -e /etc/sysconfig/network/ifcfg-${netif} ] ; then
+ # Pull in existing static configuration
+ . /etc/sysconfig/network/ifcfg-${netif}
+ ip=${IPADDR}
+ mask=${PREFIXLEN}
+ mtu=${MTU}
+ server=${REMOTE_IPADDR}
+ gw=${GATEWAY}
+ autoconf=${BOOTPROTO}
+ fi
+
# setup nameserver
for s in "$dns1" "$dns2" $(getargs nameserver); do
[ -n "$s" ] || continue
@@ -434,7 +446,7 @@ for p in $(getargs ip=); do
for autoopt in $(str_replace "$autoconf" "," " "); do
case $autoopt in
- dhcp|on|any)
+ dhcp4|dhcp|on|any)
do_dhcp -4 ;;
dhcp6)
load_ipv6
Index: dracut-044/modules.d/40network/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/40network/module-setup.sh
+++ dracut-044/modules.d/40network/module-setup.sh
@@ -58,6 +58,10 @@ install() {
_arch=$(uname -m)
+ [[ $hostonly ]] && {
+ inst_multiple /etc/sysconfig/network/ifcfg-*
+ }
+
inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
{"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*"
Index: dracut-044/modules.d/40network/parse-ip-opts.sh
===================================================================
--- dracut-044.orig/modules.d/40network/parse-ip-opts.sh
+++ dracut-044/modules.d/40network/parse-ip-opts.sh
@@ -69,7 +69,13 @@ for p in $(getargs ip=); do
for autoopt in $(str_replace "$autoconf" "," " "); do
case $autoopt in
error) die "Error parsing option 'ip=$p'";;
- bootp|rarp|both) die "Sorry, ip=$autoopt is currenty unsupported";;
+ bootp|rarp|both) die "Sorry, ip=$autoopt is currently unsupported";;
+ static)
+ if [ ! -e /etc/sysconfig/network/ifcfg-${dev} ] ; then
+ warn "No ifcfg configuration present for interface $dev, skipping"
+ continue
+ fi
+ ;;
none|off)
[ -z "$ip" ] && \
die "For argument 'ip=$p'\nValue '$autoopt' without static configuration does not make sense"
++++++ 0107-Fixup-typo-firmare-instead-of-firmware.patch ++++++
>From b723f5fabf7ca5396fbd451e8b2d6ee6b82888c8 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 9 Jul 2014 09:34:35 +0200
Subject: Fixup typo 'firmare' instead of 'firmware'
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd_rules/parse-dasd.sh | 2 +-
modules.d/95zfcp_rules/parse-zfcp.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: dracut-042/modules.d/95dasd_rules/parse-dasd.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:12.329540991 +0200
+++ dracut-042/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:14.541666926 +0200
@@ -43,7 +43,7 @@ EOF
}
if [[ -f /sys/firmware/ipl/ipl_type &&
- $(</sys/firmare/ipl/ipl_type) = "ccw" ]] ; then
+ $(</sys/firmware/ipl/ipl_type) = "ccw" ]] ; then
(
local _ccw=$(cat /sys/firmware/ipl/device)
Index: dracut-042/modules.d/95zfcp_rules/parse-zfcp.sh
===================================================================
--- dracut-042.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2015-06-24 18:02:12.041524595 +0200
+++ dracut-042/modules.d/95zfcp_rules/parse-zfcp.sh 2015-06-24 18:02:14.541666926 +0200
@@ -40,7 +40,7 @@ EOF
}
if [[ -f /sys/firmware/ipl/ipl_type &&
- $(</sys/firmare/ipl/ipl_type) = "fcp" ]] ; then
+ $(</sys/firmware/ipl/ipl_type) = "fcp" ]] ; then
(
local _wwpn=$(cat /sys/firmware/ipl/wwpn)
local _lun=$(cat /sys/firmware/ipl/lun)
++++++ 0108-91zipl-Store-commandline-correctly.patch ++++++
>From 0d9482bf68e9d8f1c9b13d4beb9cecc660dda017 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 10 Jul 2014 14:55:50 +0200
Subject: 91zipl: Store commandline correctly
The 'rd.zipl' command was only printed and never stored in the
initramfs itself.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/91zipl/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-042/modules.d/91zipl/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/91zipl/module-setup.sh 2015-06-24 18:02:12.621557615 +0200
+++ dracut-042/modules.d/91zipl/module-setup.sh 2015-06-24 18:02:14.857684916 +0200
@@ -39,7 +39,7 @@ install() {
if [[ $hostonly_cmdline == "yes" ]] ; then
local _zipl=$(cmdline)
- [[ $_zipl ]] && printf "%s\n" "$_zipl"
+ [[ $_zipl ]] && printf "%s\n" "$_zipl" > "${initdir}/etc/cmdline.d/91zipl.conf"
fi
dracut_need_initqueue
}
++++++ 0109-95dasd_rules-Store-all-devices-in-commandline.patch ++++++
>From 0299c9f31fb0c5794747a6a7f62c32abd9a49754 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 10 Jul 2014 14:56:54 +0200
Subject: 95dasd_rules: Store all devices in commandline
'for_each_host_dev_and_slaves' would stop at the first found
device, so the cmdline() call would never list all required
devices. Use 'for_each_host_dev_and_slaves_all' instead and
filter out duplicates.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd_rules/module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: dracut-042/modules.d/95dasd_rules/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_rules/module-setup.sh 2015-06-24 18:02:10.881458552 +0200
+++ dracut-042/modules.d/95dasd_rules/module-setup.sh 2015-06-24 18:02:15.149701540 +0200
@@ -12,8 +12,8 @@ cmdline() {
return 0
}
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_and_slaves is_dasd || return 255
- }
+ for_each_host_dev_and_slaves_all is_dasd || return 255
+ } | sort | uniq
}
# called by dracut
++++++ 0110-95zfcp_rules-Store-all-devices-in-commandline.patch ++++++
>From 0be3d022964d54e8ab769ebed4006ba8b8d65078 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 10 Jul 2014 14:56:54 +0200
Subject: 95zfcp_rules: Store all devices in commandline
'for_each_host_dev_and_slaves' would stop at the first found
device, so the cmdline() call would never list all required
devices. Use 'for_each_host_dev_and_slaves_all' instead and
filter out duplicates.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95zfcp_rules/module-setup.sh | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
Index: dracut-042/modules.d/95zfcp_rules/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/95zfcp_rules/module-setup.sh 2015-06-24 18:02:11.753508198 +0200
+++ dracut-042/modules.d/95zfcp_rules/module-setup.sh 2015-06-24 18:02:15.445718391 +0200
@@ -14,11 +14,11 @@ cmdline() {
_wwpn=$(cat ${_sdev}/wwpn)
_ccw=$(cat ${_sdev}/hba_id)
echo "rd.zfcp=${_ccw},${_wwpn},${_lun}"
- return 1
+ return 0
}
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_and_slaves is_zfcp
- }
+ for_each_host_dev_and_slaves_all is_zfcp
+ } | sort | uniq
}
# called by dracut
@@ -29,6 +29,7 @@ check() {
require_binaries /usr/lib/udev/collect || return 1
[[ $hostonly ]] || [[ $mount_needs ]] && {
+ found=0
for _ccw in /sys/bus/ccw/devices/*/host* ; do
[ -d "$_ccw" ] || continue
found=$(($found+1));
++++++ 0113-91zipl-Install-script-as-executable.patch ++++++
>From 488cf7ad86eee4cd9138d5e58c1baefeeb5e8c98 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 10 Jul 2014 15:58:24 +0200
Subject: 91zipl: Install script as executable
initqueue will only work with executable scripts, so we need to
mark it as such.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/91zipl/install_zipl_cmdline.sh | 2 +-
modules.d/91zipl/module-setup.sh | 2 +-
modules.d/91zipl/parse-zipl.sh | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
mode change 100644 => 100755 modules.d/91zipl/install_zipl_cmdline.sh
Index: dracut-042/modules.d/91zipl/install_zipl_cmdline.sh
===================================================================
--- dracut-042.orig/modules.d/91zipl/install_zipl_cmdline.sh 2015-06-24 18:02:12.621557615 +0200
+++ dracut-042/modules.d/91zipl/install_zipl_cmdline.sh 2015-06-24 18:02:15.773737066 +0200
@@ -1,6 +1,6 @@
#!/bin/bash
-DEV=$1
+DEV="$1"
MNT=/boot/zipl
if [ -z "$DEV" ] ; then
Index: dracut-042/modules.d/91zipl/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/91zipl/module-setup.sh 2015-06-24 18:02:14.857684916 +0200
+++ dracut-042/modules.d/91zipl/module-setup.sh 2015-06-24 18:02:15.773737066 +0200
@@ -35,7 +35,7 @@ install() {
inst_multiple mount umount
inst_hook cmdline 91 "$moddir/parse-zipl.sh"
- inst "${moddir}/install_zipl_cmdline.sh" /sbin/install_zipl_cmdline.sh
+ inst_script "${moddir}/install_zipl_cmdline.sh" /sbin/install_zipl_cmdline.sh
if [[ $hostonly_cmdline == "yes" ]] ; then
local _zipl=$(cmdline)
Index: dracut-042/modules.d/91zipl/parse-zipl.sh
===================================================================
--- dracut-042.orig/modules.d/91zipl/parse-zipl.sh 2015-06-24 18:02:12.621557615 +0200
+++ dracut-042/modules.d/91zipl/parse-zipl.sh 2015-06-24 18:02:15.773737066 +0200
@@ -31,7 +31,7 @@ if [ -n "$zipl_arg" ] ; then
esac
if [ "$zipl_env" ] ; then
{
- printf 'ACTION=="add|change", SUBSYSTEM=="block", %s=="%s", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/install_zipl_cmdline.sh %s"\n' \
+ printf 'ACTION=="add|change", SUBSYSTEM=="block", %s=="%s", RUN+="/sbin/initqueue --settled --onetime --unique --name install_zipl_cmdline /sbin/install_zipl_cmdline.sh %s"\n' \
${zipl_env} ${zipl_val} ${zipl_arg}
echo "[ -f /tmp/install.zipl.cmdline-done ]" >$hookdir/initqueue/finished/wait-zipl-conf.sh
} >> /etc/udev/rules.d/99zipl-conf.rules
++++++ 0114-91zipl-Translate-ext2-3-into-ext4.patch ++++++
>From 12131d99811c9829ed1c19e164f2ef22634ba4e5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 11 Jul 2014 12:55:55 +0200
Subject: 91zipl: Translate 'ext2/3' into ext4
91zipl tries to read the filesystem for the /boot/zipl device.
On SLE12, however, the ext2 and ext3 filesystems are handled
by the ext4 module.
And due to bug#886839 no error is registered and booting fails.
So implement a band-aid to translate it into ext4.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/91zipl/module-setup.sh | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
Index: dracut-042/modules.d/91zipl/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/91zipl/module-setup.sh 2015-06-24 18:02:15.773737066 +0200
+++ dracut-042/modules.d/91zipl/module-setup.sh 2015-06-24 18:02:16.101755740 +0200
@@ -17,7 +17,20 @@ depends() {
# called by dracut
installkernel() {
- instmods ext2
+ local _boot_zipl
+
+ _boot_zipl=$(sed -n 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
+ if [ -n "$_boot_zipl" ] ; then
+ eval $(blkid -s TYPE -o udev ${_boot_zipl})
+ if [ -n "$ID_FS_TYPE" ] ; then
+ case "$ID_FS_TYPE" in
+ ext?)
+ ID_FS_TYPE=ext4
+ ;;
+ esac
+ instmods ${ID_FS_TYPE}
+ fi
+ fi
}
# called by dracut
++++++ 0116-Mark-scripts-as-executable.patch ++++++
>From 941b55f8d9d50b3ba20ba0a2bb64c7509d38ee72 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Sat, 12 Jul 2014 14:55:35 +0200
Subject: Mark scripts as executable
All scripts need to be marked as executable, otherwise dracut
won't be running them.
References: bnc#887010
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/81cio_ignore/module-setup.sh | 0
modules.d/81cio_ignore/parse-cio_accept.sh | 0
modules.d/91crypt-loop/module-setup.sh | 0
modules.d/91zipl/module-setup.sh | 0
modules.d/91zipl/parse-zipl.sh | 0
modules.d/95fcoe/lldpad.sh | 0
6 files changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 modules.d/81cio_ignore/module-setup.sh
mode change 100644 => 100755 modules.d/81cio_ignore/parse-cio_accept.sh
mode change 100644 => 100755 modules.d/91crypt-loop/module-setup.sh
mode change 100644 => 100755 modules.d/91zipl/module-setup.sh
mode change 100644 => 100755 modules.d/91zipl/parse-zipl.sh
mode change 100644 => 100755 modules.d/95fcoe/lldpad.sh
diff --git a/modules.d/81cio_ignore/module-setup.sh b/modules.d/81cio_ignore/module-setup.sh
old mode 100644
new mode 100755
diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh b/modules.d/81cio_ignore/parse-cio_accept.sh
old mode 100644
new mode 100755
diff --git a/modules.d/91crypt-loop/module-setup.sh b/modules.d/91crypt-loop/module-setup.sh
old mode 100644
new mode 100755
diff --git a/modules.d/91zipl/module-setup.sh b/modules.d/91zipl/module-setup.sh
old mode 100644
new mode 100755
diff --git a/modules.d/91zipl/parse-zipl.sh b/modules.d/91zipl/parse-zipl.sh
old mode 100644
new mode 100755
diff --git a/modules.d/95fcoe/lldpad.sh b/modules.d/95fcoe/lldpad.sh
old mode 100644
new mode 100755
--
1.8.4.5
++++++ 0117-95dasd_rules-Enable-the-device-before-checking-devic.patch ++++++
>From 22c039c79eb496af10fbc811854e07822b063616 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Mon, 14 Jul 2014 10:13:53 +0200
Subject: 95dasd_rules: Enable the device before checking device type
For creating dynamic udev rules parse-dasd.sh look for the device
type in sysfs, which of course does not exist if cio_ignore is
active. So first enable the device before checking.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd_rules/parse-dasd.sh | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
Index: dracut-042/modules.d/95dasd_rules/parse-dasd.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:14.541666926 +0200
+++ dracut-042/modules.d/95dasd_rules/parse-dasd.sh 2015-06-24 18:02:16.761793314 +0200
@@ -5,6 +5,10 @@ create_udev_rule() {
local _drv _cu_type _dev_type
local _rule=/etc/udev/rules.d/51-dasd-${ccw}.rules
+ if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
+ cio_ignore -r $ccw
+ fi
+
if [ -e /sys/bus/ccw/devices/${ccw} ] ; then
read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype
read _dev_type < /sys/bus/ccw/devices/${ccw}/devtype
@@ -29,10 +33,6 @@ create_udev_rule() {
esac
[ -z "${_drv}" ] && return 0
- if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
- cio_ignore -r $ccw
- fi
-
[ -e ${_rule} ] && return 0
cat > $_rule <<EOF
++++++ 0118-95zfcp_rules-Enable-the-device-before-checking-devic.patch ++++++
>From d4245680ba1cd00a15b86f5ccecd4b8be124f6e5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Mon, 14 Jul 2014 10:17:07 +0200
Subject: 95zfcp_rules: Enable the device before checking device type
For creating dynamic udev rules parse-dasd.sh look for the device
type in sysfs, which of course does not exist if cio_ignore is
active. So first enable the device before checking.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95zfcp_rules/parse-zfcp.sh | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
Index: dracut-042/modules.d/95zfcp_rules/parse-zfcp.sh
===================================================================
--- dracut-042.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2015-06-24 18:02:14.541666926 +0200
+++ dracut-042/modules.d/95zfcp_rules/parse-zfcp.sh 2015-06-24 18:02:17.057810167 +0200
@@ -7,6 +7,10 @@ create_udev_rule() {
local _rule=/etc/udev/rules.d/51-zfcp-${ccw}.rules
local _cu_type _dev_type
+ if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
+ cio_ignore -r $ccw
+ fi
+
if [ -e /sys/bus/ccw/devices/${ccw} ] ; then
read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype
read _dev_type < /sys/bus/ccw/devices/${ccw}/devtype
@@ -18,10 +22,6 @@ create_udev_rule() {
return 0;
fi
- if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
- cio_ignore -r $ccw
- fi
-
[ -e ${_rule} ] && return 0
if [ ! -f "$_rule" ] ; then
++++++ 0121-Adjust-initramfs-kernel.img-to-SUSE-default-initrd-k.patch ++++++
>From 05bee849390ba39a5a441cbcc921634ddc298232 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.de>
Date: Wed, 16 Jul 2014 16:37:15 +0200
Subject: Adjust initramfs-$kernel.img to SUSE default: initrd-$kernel
In lsinitrd and /usr/bin/dracut
bnc#882306
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
dracut.sh | 2 +-
lsinitrd.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: dracut-044/dracut.sh
===================================================================
--- dracut-044.orig/dracut.sh
+++ dracut-044/dracut.sh
@@ -632,7 +632,7 @@ if ! [[ $outfile ]]; then
if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
outfile="/boot/${MACHINE_ID}/$kernel/initrd"
else
- outfile="/boot/initramfs-$kernel.img"
+ outfile="/boot/initrd-$kernel"
fi
fi
Index: dracut-044/lsinitrd.sh
===================================================================
--- dracut-044.orig/lsinitrd.sh
+++ dracut-044/lsinitrd.sh
@@ -89,7 +89,7 @@ else
&& [[ -d /boot/${MACHINE_ID} || -L /boot/${MACHINE_ID} ]] ; then
image="/boot/${MACHINE_ID}/${KERNEL_VERSION}/initrd"
else
- image="/boot/initramfs-${KERNEL_VERSION}.img"
+ image="/boot/initrd-${KERNEL_VERSION}"
fi
fi
++++++ 0123-95zfcp_rules-fix-typo-in-module_setup.patch ++++++
>From 9e0bf05cd6e0a0ff50502dbce31a8d5031219fe7 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 17 Jul 2014 14:29:24 +0200
Subject: 95zfcp_rules: fix typo in module_setup
module_setup.sh has a typo preventing it from saving the correct
dracut commandline.
References: bnc#887582
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95zfcp_rules/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-042/modules.d/95zfcp_rules/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/95zfcp_rules/module-setup.sh 2015-06-24 18:02:15.445718391 +0200
+++ dracut-042/modules.d/95zfcp_rules/module-setup.sh 2015-06-24 18:02:22.510120561 +0200
@@ -52,7 +52,7 @@ install() {
local _zfcp
for _zfcp in $(cmdline) ; do
- printf "%s\n" "$zfcp" >> "${initdir}/etc/cmdline.d/94zfcp.conf"
+ printf "%s\n" "$_zfcp" >> "${initdir}/etc/cmdline.d/94zfcp.conf"
done
fi
if [[ $hostonly ]] ; then
++++++ 0124-40network-Update-iBFT-scanning-code-to-handle-IPv6.patch ++++++
>From de870b8879974927873264010b6294a70b6c7980 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 17 Jul 2014 14:09:28 +0200
Subject: 40network: Update iBFT scanning code to handle IPv6
IPv6 addresses should be specified in brackets so that the
ip= scanning code doesn't get confused.
References: bnc#887542
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/40network/net-lib.sh | 48 +++++++++++++++++++++++++++++++++++++-----
1 file changed, 43 insertions(+), 5 deletions(-)
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index 135c378..d41920a 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -241,23 +241,54 @@ ibft_to_cmdline() {
[ -e /tmp/net.${dev}.has_ibft_config ] && continue
+ [ -e ${iface}/flags ] && flags=$(read a < ${iface}/flags; echo $a)
+ # Skip invalid interfaces
+ (( $flags & 1 )) || continue
+ # Skip interfaces not used for booting
+ (( $flags & 2 )) || continue
[ -e ${iface}/dhcp ] && dhcp=$(read a < ${iface}/dhcp; echo $a)
-
- if [ -n "$dhcp" ]; then
- echo "ip=$dev:dhcp"
+ [ -e ${iface}/origin ] && origin=$(read a < ${iface}/origin; echo $a)
+ [ -e ${iface}/ip-addr ] && ip=$(read a < ${iface}/ip-addr; echo $a)
+
+ if [ -n "$ip" ] ; then
+ case "$ip" in
+ *.*.*.*)
+ family=ipv4
+ ;;
+ *:*)
+ family=ipv6
+ ;;
+ esac
+ fi
+ if [ -n "$dhcp" ] || [ "$origin" -eq 3 ]; then
+ if [ "$family" = "ipv6" ] ; then
+ echo "ip=$dev:dhcp6"
+ else
+ echo "ip=$dev:dhcp"
+ fi
elif [ -e ${iface}/ip-addr ]; then
- [ -e ${iface}/ip-addr ] && ip=$(read a < ${iface}/ip-addr; echo $a)
# skip not assigned ip adresses
[ "$ip" = "0.0.0.0" ] && continue
[ -e ${iface}/gateway ] && gw=$(read a < ${iface}/gateway; echo $a)
[ "$gateway" = "0.0.0.0" ] && unset $gateway
[ -e ${iface}/subnet-mask ] && mask=$(read a < ${iface}/subnet-mask; echo $a)
+ [ -e ${iface}/prefix-len ] && prefix=$(read a < ${iface}/prefix-len; echo $a)
[ -e ${iface}/primary-dns ] && dns1=$(read a < ${iface}/primary-dns; echo $a)
[ "$dns1" = "0.0.0.0" ] && unset $dns1
[ -e ${iface}/secondary-dns ] && dns2=$(read a < ${iface}/secondary-dns; echo $a)
[ "$dns2" = "0.0.0.0" ] && unset $dns2
[ -e ${iface}/hostname ] && hostname=$(read a < ${iface}/hostname; echo $a)
- if [ -n "$ip" ] && [ -n "$mask" ]; then
+ if [ "$family" = "ipv6" ] ; then
+ if [ -n "$ip" ] ; then
+ [ -n "$prefix" ] || prefix=64
+ ip="[${ip}/${prefix}]"
+ mask=
+ fi
+ if [ -n "$gw" ] ; then
+ gw="[${gw}]"
+ fi
+ fi
+ if [ -n "$ip" ] && [ -n "$mask" -o -n "$prefix" ]; then
echo "ip=$ip::$gw:$mask:$hostname:$dev:none${dns1:+:$dns1}${dns2:+:$dns2}"
else
warn "${iface} does not contain a valid iBFT configuration"
@@ -436,6 +467,13 @@ ip_to_var() {
esac
;;
esac
+ # Extract prefix length from CIDR notation
+ case $ip in
+ */*)
+ mask=${ip##*/}
+ ip=${ip%/*}
+ ;;
+ esac
# ip=<ipv4-address> means anaconda-style static config argument cluster:
# ip=<ip> gateway=<gw> netmask=<nm> hostname=<host> mtu=<mtu>
--
2.6.6
++++++ 0125-40network-separate-mask-and-prefix.patch ++++++
>From de3ab1c75c5f97a9935db4ce9f0cba332e5ca1ee Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 18 Jul 2014 10:28:00 +0200
Subject: 40network: separate 'mask' and 'prefix'
The 'mask' parameter is used for both, the (IPv4) netmask and
the prefix length. As both are in different format separate them
out into 'mask' for the netmask and 'prefix' for the prefix length.
And also prefer the use of 'prefix' where possible to ease
calculation and better IPv6 support.
References: bnc#887542
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/40network/ifup.sh | 9 ++++----
modules.d/40network/net-lib.sh | 43 +++++++++++++++++++++++++++++++++---
modules.d/40network/parse-ip-opts.sh | 2 +-
3 files changed, 46 insertions(+), 8 deletions(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index ef8828d..b384dab 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -240,9 +240,10 @@ do_static() {
[ -n "$macaddr" ] && ip link set address $macaddr dev $netif
[ -n "$mtu" ] && ip link set mtu $mtu dev $netif
+ [ -n "$mask" -a -z "$prefix" ] && prefix=$(mask_to_prefix $mask)
if strglobin $ip '*:*:*'; then
# note no ip addr flush for ipv6
- ip addr add $ip/$mask ${srv:+peer $srv} dev $netif
+ ip addr add $ip/$prefix ${srv:+peer $srv} dev $netif
wait_for_ipv6_dad $netif
else
if ! arping -f -q -D -c 2 -I $netif $ip; then
@@ -250,7 +251,7 @@ do_static() {
return 1
fi
ip addr flush dev $netif
- ip addr add $ip/$mask ${srv:+peer $srv} brd + dev $netif
+ ip addr add $ip/$prefix ${srv:+peer $srv} brd + dev $netif
fi
[ -n "$gw" ] && echo ip route replace default via $gw dev $netif > /tmp/net.$netif.gw
@@ -426,7 +427,7 @@ for p in $(getargs ip=); do
# Pull in existing static configuration
. /etc/sysconfig/network/ifcfg-${netif}
ip=${IPADDR}
- mask=${PREFIXLEN}
+ prefix=${PREFIXLEN}
mtu=${MTU}
server=${REMOTE_IPADDR}
gw=${GATEWAY}
@@ -440,7 +441,7 @@ for p in $(getargs ip=); do
done
# Store config for later use
- for i in ip srv gw mask hostname macaddr dns1 dns2; do
+ for i in ip srv gw mask prefix hostname macaddr dns1 dns2; do
eval '[ "$'$i'" ] && echo '$i'="$'$i'"'
done > /tmp/net.$netif.override
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index d41920a..d963029 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -20,6 +20,36 @@ get_ip() {
echo $ip
}
+mask_to_prefix() {
+ local mask="$1"
+ local prefix=0
+ local OLDIFS="$IFS"
+
+ IFS=.
+ set -- $mask
+ IFS="$OLDIFS"
+ for mask in $@ ; do
+ if [ "$mask" -eq 255 ] ; then
+ prefix=$(($prefix + 8))
+ elif [ "$mask" -eq 254 ] ; then
+ prefix=$(($prefix + 7))
+ elif [ "$mask" -eq 252 ] ; then
+ prefix=$(($prefix + 6))
+ elif [ "$mask" -eq 248 ] ; then
+ prefix=$(($prefix + 5))
+ elif [ "$mask" -eq 240 ] ; then
+ prefix=$(($prefix + 4))
+ elif [ "$mask" -eq 224 ] ; then
+ prefix=$(($prefix + 3))
+ elif [ "$mask" -eq 192 ] ; then
+ prefix=$(($prefix + 2))
+ elif [ "$mask" -eq 128 ] ; then
+ prefix=$(($prefix + 1))
+ fi
+ done
+ echo $prefix
+}
+
iface_for_remote_addr() {
set -- $(ip -o route get to $1)
echo $5
@@ -232,7 +262,7 @@ ibft_to_cmdline() {
for iface in /sys/firmware/ibft/ethernet*; do
local mac="" dev=""
local dhcp="" ip="" gw="" mask="" hostname=""
- local dns1 dns2
+ local dns1 dns2 prefix
[ -e ${iface}/mac ] || continue
mac=$(read a < ${iface}/mac; echo $a)
@@ -280,6 +310,7 @@ ibft_to_cmdline() {
[ -e ${iface}/hostname ] && hostname=$(read a < ${iface}/hostname; echo $a)
if [ "$family" = "ipv6" ] ; then
if [ -n "$ip" ] ; then
+ # Prefix defaults to 64 for IPv6
[ -n "$prefix" ] || prefix=64
ip="[${ip}/${prefix}]"
mask=
@@ -287,6 +318,11 @@ ibft_to_cmdline() {
if [ -n "$gw" ] ; then
gw="[${gw}]"
fi
+ else
+ if [ -n "$prefix" ] ; then
+ ip="$ip/$prefix"
+ mask=
+ fi
fi
if [ -n "$ip" ] && [ -n "$mask" -o -n "$prefix" ]; then
echo "ip=$ip::$gw:$mask:$hostname:$dev:none${dns1:+:$dns1}${dns2:+:$dns2}"
@@ -295,6 +331,7 @@ ibft_to_cmdline() {
warn "ip-addr=$ip"
warn "gateway=$gw"
warn "subnet-mask=$mask"
+ warn "prefix-len=$prefix"
warn "hostname=$hostname"
fi
else
@@ -442,7 +479,7 @@ ip_to_var() {
fi
done
- unset ip srv gw mask hostname dev autoconf macaddr mtu dns1 dns2
+ unset ip srv gw mask prefix hostname dev autoconf macaddr mtu dns1 dns2
case $# in
0) autoconf="error" ;;
1) autoconf=$1 ;;
@@ -470,7 +507,7 @@ ip_to_var() {
# Extract prefix length from CIDR notation
case $ip in
*/*)
- mask=${ip##*/}
+ prefix=${ip##*/}
ip=${ip%/*}
;;
esac
diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh
index a3a3a3f..099a21c 100755
--- a/modules.d/40network/parse-ip-opts.sh
+++ b/modules.d/40network/parse-ip-opts.sh
@@ -79,7 +79,7 @@ for p in $(getargs ip=); do
none|off)
[ -z "$ip" ] && \
die "For argument 'ip=$p'\nValue '$autoopt' without static configuration does not make sense"
- [ -z "$mask" ] && \
+ [ -z "$mask" -a -z "$prefix" ] && \
die "Sorry, automatic calculation of netmask is not yet supported"
;;
auto6);;
--
2.6.6
++++++ 0126-01fips-Add-drbg-module-to-force-loaded-modules.patch ++++++
>From 58f937144d9f206c06052791456599e48c37c417 Mon Sep 17 00:00:00 2001
From: Marcus Meissner <meissner(a)suse.de>
Date: Fri, 18 Jul 2014 15:53:22 +0200
Subject: 01fips: Add drbg module to force loaded modules
References: bnc#875855
Signed-off-by: Marcus Meissner <meissner(a)suse.de>
---
modules.d/01fips/module-setup.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index 0e90246..04d5113 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -22,6 +22,8 @@ installkernel() {
_fipsmodules+="sha512-ssse3 sha1-ssse3 sha256-ssse3 "
_fipsmodules+="ghash-clmulni-intel "
+ _fipsmodules+="drbg"
+
mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
for _mod in $_fipsmodules; do
--
2.6.6
++++++ 0128-90lvm-Install-dm-snapshot-module.patch ++++++
>From 68b8183fc65c2ff1c7d178e782ea5bff7be74d70 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.com>
Date: Wed, 4 May 2016 13:32:56 +0200
Subject: 90lvm: Install dm-snapshot module
Signed-off-by: Thomas Renninger <trenn(a)suse.com>
---
modules.d/90lvm/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
index c4db779..6ca4ee4 100755
--- a/modules.d/90lvm/module-setup.sh
+++ b/modules.d/90lvm/module-setup.sh
@@ -43,7 +43,7 @@ cmdline() {
}
installkernel() {
- instmods dm-snapshot
+ hostonly='' instmods dm-snapshot
}
# called by dracut
--
2.6.6
++++++ 0130-nfs-Always-add-all-kernel-modules-for-kdump.patch ++++++
>From 520f0e9185774956e5739841ce87474fcee52594 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.de>
Date: Mon, 28 Jul 2014 17:53:10 +0200
Subject: nfs: Always add all kernel modules for kdump
bnc#887906
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
modules.d/95nfs/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-042/modules.d/95nfs/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/95nfs/module-setup.sh 2015-06-11 17:39:47.000000000 +0200
+++ dracut-042/modules.d/95nfs/module-setup.sh 2015-06-24 18:02:23.718189334 +0200
@@ -25,7 +25,7 @@ depends() {
# called by dracut
installkernel() {
- instmods nfs sunrpc ipv6 nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files
+ hostonly='' instmods nfs sunrpc ipv6 nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files lockd rpcsec_gss_krb5 auth_rpcgss
}
cmdline() {
++++++ 0131-40network-handle-prefixed-IP-addresses-correctly.patch ++++++
>From fc03504435d8bf5d0a31b8c566c2e783fbb96ec6 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 30 Jul 2014 10:28:27 +0200
Subject: 40network: handle prefixed IP addresses correctly
If an IP address is given with prefix length ifup should be
parsing that correctly. And we should assume a prefix length
of /64 for IPv6 resp /24 for IPv4 if none were given.
References: bnc#880108
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/40network/ifup.sh | 8 ++++++++
1 file changed, 8 insertions(+)
Index: dracut-044/modules.d/40network/ifup.sh
===================================================================
--- dracut-044.orig/modules.d/40network/ifup.sh
+++ dracut-044/modules.d/40network/ifup.sh
@@ -241,7 +241,13 @@ do_static() {
[ -n "$macaddr" ] && ip link set address $macaddr dev $netif
[ -n "$mtu" ] && ip link set mtu $mtu dev $netif
[ -n "$mask" -a -z "$prefix" ] && prefix=$(mask_to_prefix $mask)
- if strglobin $ip '*:*:*'; then
+ if [ "${ip##*/}" != "${ip}" ] ; then
+ prefix="${ip##*/}"
+ ip="${ip%/*}"
+ fi
+if strglobin $ip '*:*:*'; then
+ # Always assume /64 prefix for IPv6
+ [ -z "$prefix" ] && prefix=64
# note no ip addr flush for ipv6
ip addr add $ip/$prefix ${srv:+peer $srv} dev $netif
wait_for_ipv6_dad $netif
@@ -250,6 +256,8 @@ do_static() {
warn "Duplicate address detected for $ip for interface $netif."
return 1
fi
+ # Assume /24 prefix for IPv4
+ [ -z "$prefix" ] && prefix=24
ip addr flush dev $netif
ip addr add $ip/$prefix ${srv:+peer $srv} brd + dev $netif
fi
++++++ 0132-40network-fixup-static-network-configuration.patch ++++++
>From 6fd2c01a1cd2dcbd7d2fc3bbe6e62c7d8336bf24 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 31 Jul 2014 09:21:14 +0200
Subject: 40network: fixup static network configuration
The static network configuration was broken; the 'gateway' was
written as the complete 'ip' command line, but simply sourced
later on.
The patch fixes the gateway registration that the '.gw' file
holds entire 'ip route' command lines, which just needs to
be evaluated later on.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/40network/ifup.sh | 13 +++++++++++++
modules.d/40network/module-setup.sh | 2 ++
modules.d/40network/net-lib.sh | 6 +++++-
3 files changed, 20 insertions(+), 1 deletion(-)
Index: dracut-044/modules.d/40network/ifup.sh
===================================================================
--- dracut-044.orig/modules.d/40network/ifup.sh
+++ dracut-044/modules.d/40network/ifup.sh
@@ -263,6 +263,19 @@ if strglobin $ip '*:*:*'; then
fi
[ -n "$gw" ] && echo ip route replace default via $gw dev $netif > /tmp/net.$netif.gw
+
+ for ifroute in /etc/sysconfig/network/ifroute-${netif} /etc/sysconfig/netwrk/routes ; do
+ [ -e ${ifroute} ] || continue
+ # Pull in existing routing configuration
+ read ifr_dest ifr_gw ifr_mask ifr_if < ${ifroute}
+ [ -z "$ifr_dest" -o -z "$ifr_gw" ] && continue
+ if [ "$ifr_if" = "-" ] ; then
+ echo ip route add $ifr_dest via $ifr_gw >> /tmp/net.$netif.gw
+ else
+ echo ip route add $ifr_dest via $ifr_gw dev $ifr_if >> /tmp/net.$netif.gw
+ fi
+ done
+
[ -n "$hostname" ] && echo "echo $hostname > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname
return 0
Index: dracut-044/modules.d/40network/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/40network/module-setup.sh
+++ dracut-044/modules.d/40network/module-setup.sh
@@ -60,6 +60,8 @@ install() {
[[ $hostonly ]] && {
inst_multiple /etc/sysconfig/network/ifcfg-*
+ inst_multiple /etc/sysconfig/network/ifroute-*
+ inst_simple /etc/sysconfig/network/routes
}
inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
++++++ 0133-Allow-multiple-configurations-per-network-interface-.patch ++++++
>From 114aadff326cb6ac63d2b3926fafe944b1670a62 Mon Sep 17 00:00:00 2001
From: Julian Wolf <juwolf(a)suse.com>
Date: Thu, 31 Jul 2014 17:11:16 +0200
Subject: Allow multiple configurations per network interface bnc#887906
Signed-off-by: Julian Wolf <juwolf(a)suse.com>
---
modules.d/40network/ifup.sh | 90 +++++++++++++++++++++++-------------
modules.d/40network/net-genrules.sh | 2 +-
modules.d/40network/net-lib.sh | 4 +-
modules.d/40network/parse-ip-opts.sh | 14 +++---
4 files changed, 66 insertions(+), 44 deletions(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 1b71a3c..1cd1677 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -90,6 +90,7 @@ else
fi
dhcp_apply() {
+ unset IPADDR INTERFACE BROADCAST NETWORK PREFIXLEN ROUTES GATEWAYS HOSTNAME DNSDOMAIN DNSSEARCH DNSSERVERS
if [ -f /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1} ]; then
. /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1}
else
@@ -131,23 +132,36 @@ dhcp_apply() {
[ -n "${HOSTNAME}" ] && hostname "$HOSTNAME"
# If nameserver= has not been specified, use what dhcp provides
- if [ ! -s /tmp/net.$netif.resolv.conf ]; then
+ if [ ! -s /tmp/net.$netif.resolv.conf.ipv${1:1:1} ]; then
if [ -n "${DNSDOMAIN}" ]; then
echo domain "${DNSDOMAIN}"
- fi >> /tmp/net.$netif.resolv.conf
+ fi >> /tmp/net.$netif.resolv.conf.ipv${1:1:1}
if [ -n "${DNSSEARCH}" ]; then
echo search "${DNSSEARCH}"
- fi >> /tmp/net.$netif.resolv.conf
+ fi >> /tmp/net.$netif.resolv.conf.ipv${1:1:1}
if [ -n "${DNSSERVERS}" ] ; then
for s in ${DNSSERVERS}; do
echo nameserver "$s"
done
- fi >> /tmp/net.$netif.resolv.conf
+ fi >> /tmp/net.$netif.resolv.conf.ipv${1:1:1}
+ fi
+ # copy resolv.conf if it doesn't exist yet, modify otherwise
+ if [ -e /tmp/net.$netif.resolv.conf.ipv${1:1:1} ] && [ ! -e /etc/resolv.conf ]; then
+ cp -f /tmp/net.$netif.resolv.conf.ipv${1:1:1} /etc/resolv.conf
+ else
+ if [ -n "$(sed -n '/^search .*$/p' /etc/resolv.conf)" ]; then
+ sed -i "s/\(^search .*\)$/\1 ${DNSSEARCH}/" /etc/resolv.conf
+ else
+ echo search ${DNSSEARCH} >> /etc/resolv.conf
+ fi
+ if [ -n "${DNSSERVERS}" ] ; then
+ for s in ${DNSSERVERS}; do
+ echo nameserver "$s"
+ done
+ fi >> /etc/resolv.conf
fi
- [ -e /tmp/net.$netif.resolv.conf ] && \
- cp -f /tmp/net.$netif.resolv.conf /etc/resolv.conf
info "DHCP is finished successfully"
return 0
@@ -175,9 +189,6 @@ do_dhcp() {
dhclient="wickedd-dhcp6"
fi
- # Address changed
- ip $1 addr flush dev "$netif"
-
if ! iface_has_link $netif; then
warn "No carrier detected"
warn "Trying to set $netif up..."
@@ -191,7 +202,6 @@ do_dhcp() {
$dhclient --test $netif > /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1}
dhcp_apply $1 || return $?
- echo $netif > /tmp/net.${netif}.did-setup
echo $netif > /tmp/setup_net_${netif}.ok
return 0
}
@@ -222,6 +232,31 @@ do_ipv6auto() {
# Handle static ip configuration
do_static() {
+ if [ "$autoconf" = "static" ] &&
+ [ -e /etc/sysconfig/network/ifcfg-${netif} ] ; then
+ # Pull in existing static configuration
+ . /etc/sysconfig/network/ifcfg-${netif}
+
+ # loop over all configurations in ifcfg-$netif (IPADDR*) and apply
+ for conf in ${!IPADDR@}; do
+ ip=${!conf}
+ [ -z "$ip" ] && continue
+ ext=${conf#IPADDR}
+ concat="PREFIXLEN$ext" && [ -n "${!concat}" ] && mtu=${!concat}
+ concat="MTU$ext" && [ -n "${!concat}" ] && mtu=${!concat}
+ concat="REMOTE_IPADDR$ext" && [ -n "${!concat}" ] && server=${!concat}
+ concat="GATEWAY$ext" && [ -n "${!concat}" ] && gw=${!concat}
+ concat="BOOTPROTO$ext" && [ -n "${!concat}" ] && autoconf=${!concat}
+ do_static_setup
+ done
+ else
+ do_static_setup
+ fi
+
+ return 0
+}
+
+do_static_setup() {
strglobin $ip '*:*:*' && load_ipv6
if ! linkup $netif; then
@@ -258,7 +293,6 @@ if strglobin $ip '*:*:*'; then
fi
# Assume /24 prefix for IPv4
[ -z "$prefix" ] && prefix=24
- ip addr flush dev $netif
ip addr add $ip/$prefix ${srv:+peer $srv} brd + dev $netif
fi
@@ -277,8 +311,6 @@ if strglobin $ip '*:*:*'; then
done
[ -n "$hostname" ] && echo "echo $hostname > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname
-
- return 0
}
# loopback is always handled the same way
@@ -427,6 +459,14 @@ for p in $(getargs ip=); do
# skip ibft
[ "$autoconf" = "ibft" ] && continue
+ # skip if same configuration appears twice
+ while read line
+ do
+ [ "$line" = "$p" ] && continue 2
+ done < /tmp/net.${netif}.conf
+
+ echo $p >> /tmp/net.${netif}.conf
+
case "$dev" in
??:??:??:??:??:??) # MAC address
_dev=$(iface_for_mac $dev)
@@ -443,29 +483,12 @@ for p in $(getargs ip=); do
[ "$use_bridge" != 'true' ] && \
[ "$use_vlan" != 'true' ] && continue
- if [ "$autoconf" = "static" ] &&
- [ -e /etc/sysconfig/network/ifcfg-${netif} ] ; then
- # Pull in existing static configuration
- . /etc/sysconfig/network/ifcfg-${netif}
- ip=${IPADDR}
- prefix=${PREFIXLEN}
- mtu=${MTU}
- server=${REMOTE_IPADDR}
- gw=${GATEWAY}
- autoconf=${BOOTPROTO}
- fi
-
# setup nameserver
for s in "$dns1" "$dns2" $(getargs nameserver); do
[ -n "$s" ] || continue
echo nameserver $s >> /tmp/net.$netif.resolv.conf
done
- # Store config for later use
- for i in ip srv gw mask prefix hostname macaddr dns1 dns2; do
- eval '[ "$'$i'" ] && echo '$i'="$'$i'"'
- done > /tmp/net.$netif.override
-
for autoopt in $(str_replace "$autoconf" "," " "); do
case $autoopt in
dhcp4|dhcp|on|any)
@@ -493,8 +516,6 @@ for p in $(getargs ip=); do
/sbin/netroot $netif
fi
fi
-
- exit 0
done
# netif isn't the top stack? Then we should exit here.
@@ -523,4 +544,9 @@ if [ ! -e /tmp/net.${netif}.up ]; then
fi
fi
+if [ -e /tmp/net.${netif}.up ]; then
+ > /tmp/net.$netif.did-setup
+ [ -e /sys/class/net/$netif/address ] && \
+ > /tmp/net.$(cat /sys/class/net/$netif/address).did-setup
+fi
exit 0
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
index 559b325..843bd98 100755
--- a/modules.d/40network/net-genrules.sh
+++ b/modules.d/40network/net-genrules.sh
@@ -96,7 +96,7 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh
# if you change the name of "91-default-net.rules", also change modules.d/80cms/cmssetup.sh
if [ "$NEEDNET" = "1" ]; then
echo "$cond, $runcmd" > /etc/udev/rules.d/91-default-net.rules
- echo "[ -f /tmp/net.*.did-setup ]" >$hookdir/initqueue/finished/wait-network.sh
+ echo "ls -1 /tmp/net.*.did-setup >/dev/null 2>&1" >$hookdir/initqueue/finished/wait-network.sh
fi
fi
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index d963029..5aa1468 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -131,6 +131,7 @@ ifdown() {
ip addr flush dev $netif
echo "#empty" > /etc/resolv.conf
rm -f -- /tmp/net.$netif.did-setup
+ rm -f -- /tmp/net.$netif.conf
[ -e /sys/class/net/$netif/address ] && \
rm -f -- /tmp/net.$(cat /sys/class/net/$netif/address).did-setup
# TODO: send "offline" uevent?
@@ -203,9 +204,6 @@ setup_net() {
fi
unset layer2
- > /tmp/net.$netif.did-setup
- [ -e /sys/class/net/$netif/address ] && \
- > /tmp/net.$(cat /sys/class/net/$netif/address).did-setup
}
save_netinfo() {
diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh
index 099a21c..7926b6b 100755
--- a/modules.d/40network/parse-ip-opts.sh
+++ b/modules.d/40network/parse-ip-opts.sh
@@ -83,25 +83,23 @@ for p in $(getargs ip=); do
die "Sorry, automatic calculation of netmask is not yet supported"
;;
auto6);;
- dhcp|dhcp6|on|any) \
- [ -n "$NEEDBOOTDEV" ] && [ -z "$dev" ] && \
- die "Sorry, 'ip=$p' does not make sense for multiple interface configurations"
- [ -n "$ip" ] && \
- die "For argument 'ip=$p'\nSorry, setting client-ip does not make sense for '$autoopt'"
- ;;
+ dhcp|dhcp6|on|any);;
*) die "For argument 'ip=$p'\nSorry, unknown value '$autoopt'";;
esac
done
+ dup=0
if [ -n "$dev" ] ; then
# We don't like duplicate device configs
if [ -n "$IFACES" ] ; then
for i in $IFACES ; do
- [ "$dev" = "$i" ] && die "For argument 'ip=$p'\nDuplication configurations for '$dev'"
+ [ "$dev" = "$i" ] && dup=1 && break
done
fi
# IFACES list for later use
- IFACES="$IFACES $dev"
+ if [ $dup -eq 0 ]; then
+ IFACES="$IFACES $dev"
+ fi
fi
# Do we need to check for specific options?
--
2.6.6
++++++ 0137-Switch-from-Mozilla-NSS-sha256hmac-checking-to-fipsc.patch ++++++
>From 6a85f188d671723ad76bb729307c12e89199b7bd Mon Sep 17 00:00:00 2001
From: Marcus Meissner <meissner(a)suse.com>
Date: Thu, 14 Aug 2014 16:13:55 +0200
Subject: Switch from Mozilla NSS sha256hmac checking to fipscheck as
recommended
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
modules.d/01fips/fips.sh | 6 ++----
modules.d/01fips/module-setup.sh | 13 +++++++------
2 files changed, 9 insertions(+), 10 deletions(-)
Index: dracut-042/modules.d/01fips/fips.sh
===================================================================
--- dracut-042.orig/modules.d/01fips/fips.sh 2015-06-24 18:02:07.817284113 +0200
+++ dracut-042/modules.d/01fips/fips.sh 2015-06-24 18:02:28.266448262 +0200
@@ -59,9 +59,7 @@ do_rhevh_check()
kpath=${1}
# If we're on RHEV-H, the kernel is in /run/initramfs/live/vmlinuz0
- HMAC_SUM_ORIG=$(cat $NEWROOT/boot/.vmlinuz-${KERNEL}.hmac | while read a b || [ -n "$a" ]; do printf "%s\n" $a; done)
- HMAC_SUM_CALC=$(sha512hmac $kpath | while read a b || [ -n "$a" ]; do printf "%s\n" $a; done || return 1)
- if [ -z "$HMAC_SUM_ORIG" ] || [ -z "$HMAC_SUM_CALC" ] || [ "${HMAC_SUM_ORIG}" != "${HMAC_SUM_CALC}" ]; then
+ if fipscheck $NEWROOT/boot/vmlinuz-${KERNEL} ; then
warn "HMAC sum mismatch"
return 1
fi
@@ -126,7 +124,7 @@ do_fips()
elif [ -e "/run/initramfs/live/isolinux/vmlinuz0" ]; then
do_rhevh_check /run/initramfs/live/isolinux/vmlinuz0 || return 1
else
- sha512hmac -c "/boot/.vmlinuz-${KERNEL}.hmac" || return 1
+ fipscheck "/boot/vmlinuz-${KERNEL}" || return 1
fi
info "All initrd crypto checks done"
Index: dracut-042/modules.d/01fips/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/01fips/module-setup.sh 2015-06-24 18:02:23.422172483 +0200
+++ dracut-042/modules.d/01fips/module-setup.sh 2015-06-24 18:02:28.266448262 +0200
@@ -41,15 +41,16 @@ install() {
inst_hook pre-pivot 01 "$moddir/fips-noboot.sh"
inst_script "$moddir/fips.sh" /sbin/fips.sh
- inst_multiple sha512hmac rmmod insmod mount uname umount fipscheck
+ inst_multiple rmmod insmod mount uname umount fipscheck
- inst_libdir_file libsoftokn3.so libsoftokn3.so \
- libsoftokn3.chk libfreebl3.so libfreebl3.chk \
- libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10 \
+ inst_libdir_file \
+ fipscheck .fipscheck.hmac \
+ libfipscheck.so.1 \
+ .libfipscheck.so.1.hmac .libfipscheck.so.1.1.0.hmac \
+ libcrypto.so.1.0.0 libssl.so.1.0.0 \
.libcrypto.so.1.0.0.hmac .libssl.so.1.0.0.hmac \
.libcryptsetup.so.4.5.0.hmac .libcryptsetup.so.4.hmac \
.libgcrypt.so.20.hmac \
- .libfipscheck.so.1.hmac .libfipscheck.so.1.1.0.hmac
libfreeblpriv3.so libfreeblpriv3.chk
# we do not use prelink at SUSE
++++++ 0138-fips_add_aesni-intel.patch ++++++
>From d74cd280562cc316cbf94db71cb30fd935d26b8b Mon Sep 17 00:00:00 2001
From: Marcus Meissner <meissner(a)suse.com>
Date: Wed, 4 May 2016 13:02:50 +0200
Subject: 01fips: Put aesni-intel into the initrd for FIPS usage
References: bsc#914126
Signed-off-by: Marcus Meissner <meissner(a)suse.com>
---
modules.d/01fips/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index 7e20b21..2aa9f4f 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -20,7 +20,7 @@ installkernel() {
_fipsmodules+="sha384 sha512 sha512_generic tcrypt tea tnepres twofish wp256 wp384 wp512 xeta xtea xts zlib"
_fipsmodules+="aes_s390 des_s390 prng sha256_s390 sha_common des_check_key ghash_s390 sha1_s390 sha512_s390"
_fipsmodules+="sha512-ssse3 sha1-ssse3 sha256-ssse3 "
- _fipsmodules+="ghash-clmulni-intel "
+ _fipsmodules+="ghash-clmulni-intel aesni-intel"
_fipsmodules+="drbg"
--
2.6.6
++++++ 0139-fips-kernel-4.4-fixes.patch ++++++
>From 2477f53068b4a59af89b2ad89dd2fa174eab7db3 Mon Sep 17 00:00:00 2001
From: Marcus Meissner <meissner(a)suse.com>
Date: Tue, 23 Aug 2016 12:26:00 +0200
Subject: 01fips: Adjust kernel module list for SLES12 SP2
Adjust the kernel module list to match the SLES12 SP2 kernel.
References: bsc#976577
Signed-off-by: Marcus Meissner <meissner(a)suse.com>
---
modules.d/01fips/fips.sh | 1 +
modules.d/01fips/module-setup.sh | 21 +++++++++++----------
2 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
index 1cd9852..f33481a 100755
--- a/modules.d/01fips/fips.sh
+++ b/modules.d/01fips/fips.sh
@@ -103,6 +103,7 @@ do_fips()
-o "$_module" != "${_module%-ssse3}" \
-o "$_module" != "${_module%-x86_64}" \
-o "$_module" != "${_module%z90}" \
+ -o "$_module" != "${_module%s390}" \
]; then
_found=1
fi
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index 2aa9f4f..0bca7a1 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -13,16 +13,17 @@ depends() {
# called by dracut
installkernel() {
local _fipsmodules _mod
- _fipsmodules="aead aes_generic aes-x86_64 ansi_cprng arc4 authenc authencesn blowfish camellia cast6 cbc ccm "
- _fipsmodules+="chainiv crc32c crct10dif_generic cryptomgr crypto_null ctr cts deflate des des3_ede dm-crypt dm-mod drbg "
- _fipsmodules+="ecb eseqiv fcrypt gcm ghash_generic hmac khazad lzo md4 md5 michael_mic rmd128 "
- _fipsmodules+="rmd160 rmd256 rmd320 rot13 salsa20 seed seqiv serpent sha1 sha224 sha256 sha256_generic "
- _fipsmodules+="sha384 sha512 sha512_generic tcrypt tea tnepres twofish wp256 wp384 wp512 xeta xtea xts zlib"
- _fipsmodules+="aes_s390 des_s390 prng sha256_s390 sha_common des_check_key ghash_s390 sha1_s390 sha512_s390"
- _fipsmodules+="sha512-ssse3 sha1-ssse3 sha256-ssse3 "
- _fipsmodules+="ghash-clmulni-intel aesni-intel"
-
- _fipsmodules+="drbg"
+ _fipsmodules="ansi_cprng arc4 authenc ccm "
+ _fipsmodules+="ctr cts deflate drbg "
+ _fipsmodules+="ecb fcrypt gcm ghash_generic khazad md4 michael_mic rmd128 "
+ _fipsmodules+="rmd160 rmd256 rmd320 seed "
+ _fipsmodules+="sha512_generic tcrypt tea wp512 xts zlib "
+ _fipsmodules+="aes_s390 des_s390 sha256_s390 ghash_s390 sha1_s390 sha512_s390 "
+ _fipsmodules+="gf128mul "
+ _fipsmodules+="cmac vmac xcbc salsa20_generic salsa20_x86_64 camellia_generic camellia_x86_64 pcbc tgr192 anubis "
+ _fipsmodules+="cast6_generic cast5_generic cast_common sha512_ssse3 serpent_sse2_x86_64 serpent_generic twofish_generic "
+ _fipsmodules+="ablk_helper cryptd twofish_x86_64_3way lrw glue_helper twofish_x86_64 twofish_common blowfish_generic "
+ _fipsmodules+="blowfish_x86_64 blowfish_common des_generic "
mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
--
2.6.6
++++++ 0142-40network-Don-t-report-error-for-etc-sysconfig-netwo.patch ++++++
>From fac3fb787b0a74cf8d9d32939dd6d6831342a25d Mon Sep 17 00:00:00 2001
From: Julian Wolf <juwolf(a)suse.de>
Date: Tue, 19 Aug 2014 12:39:18 +0200
Subject: 40network: Don't report error for /etc/sysconfig/network/ifroute-*
during module setup
Signed-off-by: Julian Wolf <juwolf(a)suse.de>
---
modules.d/40network/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-044/modules.d/40network/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/40network/module-setup.sh
+++ dracut-044/modules.d/40network/module-setup.sh
@@ -60,7 +60,7 @@ install() {
[[ $hostonly ]] && {
inst_multiple /etc/sysconfig/network/ifcfg-*
- inst_multiple /etc/sysconfig/network/ifroute-*
+ inst_multiple -o /etc/sysconfig/network/ifroute-*
inst_simple /etc/sysconfig/network/routes
}
++++++ 0144-90crypt-Fixed-crypttab_contains-to-also-work-with-de.patch ++++++
>From 7f4dea242398cc369ff3fecd599faa00d81a522c Mon Sep 17 00:00:00 2001
From: Julian Wolf <juwolf(a)suse.de>
Date: Tue, 19 Aug 2014 16:23:59 +0200
Subject: 90crypt: Fixed crypttab_contains() to also work with device path in
/etc/crypttab
blkid is not available when this function is called, so block_uuid.map is put into
the initrd, mapping block devices from /etc/crypttab to UUIDs.
This fixes a bug where udev rules were created by mistake as crypttab_contains()
returned false for devices specified by path in /etc/crypttab which resulted in
error messages during boot.
Signed-off-by: Julian Wolf <juwolf(a)suse.de>
---
modules.d/90crypt/crypt-lib.sh | 9 +++++++++
modules.d/90crypt/module-setup.sh | 4 ++++
2 files changed, 13 insertions(+)
Index: dracut-044/modules.d/90crypt/crypt-lib.sh
===================================================================
--- dracut-044.orig/modules.d/90crypt/crypt-lib.sh
+++ dracut-044/modules.d/90crypt/crypt-lib.sh
@@ -16,6 +16,14 @@ crypttab_contains() {
[ "$dev" -ef "$_dev" ] && return 0
done
fi
+ if [ -e /usr/lib/dracut/modules.d/90crypt/block_uuid.map ]; then
+ # search for line starting with $d
+ _line=$(sed -n "\,^$d .*$,{p}" /usr/lib/dracut/modules.d/90crypt/block_uuid.map)
+ [ -z "$_line" ] && continue
+ # get second column with uuid
+ _uuid="$(echo $_line | sed 's,^.* \(.*$\),\1,')"
+ strstr "$_uuid" "${luks##luks-}" && return 0
+ fi
done < /etc/crypttab
fi
return 1
Index: dracut-044/modules.d/90crypt/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/90crypt/module-setup.sh
+++ dracut-044/modules.d/90crypt/module-setup.sh
@@ -64,6 +64,8 @@ install() {
inst_hook cleanup 30 "$moddir/crypt-cleanup.sh"
fi
+ # Have to use exit here, return value gets ignored in dracut.sh...
+ uuid_map_file=$(mktemp /tmp/dracut.XXXXXXXXXX) || exit 1
if [[ $hostonly ]] && [[ -f /etc/crypttab ]]; then
# filter /etc/crypttab for the devices we need
while read _mapper _dev _rest || [ -n "$_mapper" ]; do
@@ -73,6 +75,8 @@ install() {
[[ $_dev == UUID=* ]] && \
_dev="/dev/disk/by-uuid/${_dev#UUID=}"
+ echo "$_dev $(blkid $_dev -s UUID -o value)" >> $uuid_map_file
+
for _hdev in "${!host_fs_types[@]}"; do
[[ ${host_fs_types[$_hdev]} == "crypto_LUKS" ]] || continue
if [[ $_hdev -ef $_dev ]] || [[ /dev/block/$_hdev -ef $_dev ]]; then
@@ -85,6 +89,8 @@ install() {
fi
inst_simple "$moddir/crypt-lib.sh" "/lib/dracut-crypt-lib.sh"
+ inst_simple $uuid_map_file "/usr/lib/dracut/modules.d/90crypt/block_uuid.map"
+ rm -f $uuid_map_file
if dracut_module_included "systemd"; then
inst_multiple -o \
++++++ 0145-40network-handle-ip-ifname-static-correctly.patch ++++++
>From 4b0e5841ce7dbeca5186e0d47f8835b00007cd6e Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 21 Aug 2014 12:46:45 +0200
Subject: 40network: handle 'ip=ifname:static' correctly
'static' configuration means 'apply the settings from the ifcfg file'.
Which might be either static or dhcp.
And for multiple configurations the first configuration can be
either dhcp or static; only the following configurations must
be static.
References: bnc#892801
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/40network/ifup.sh | 40 ++++++++++++++++++++++++++++++----------
1 file changed, 30 insertions(+), 10 deletions(-)
Index: dracut-044/modules.d/40network/ifup.sh
===================================================================
--- dracut-044.orig/modules.d/40network/ifup.sh
+++ dracut-044/modules.d/40network/ifup.sh
@@ -182,11 +182,13 @@ do_dhcp() {
info "Preparation for DHCP transaction"
+ [ -d /var/lib/wicked ] || mkdir -p /var/lib/wicked
+
local dhclient=''
- if [ "$1" = "-4" ] ; then
- dhclient="wickedd-dhcp4"
- elif [ "$1" = "-6" ] ; then
+ if [ "$1" = "-6" ] ; then
dhclient="wickedd-dhcp6"
+ else
+ dhclient="wickedd-dhcp4"
fi
if ! iface_has_link $netif; then
@@ -230,33 +232,49 @@ do_ipv6auto() {
return 0
}
-# Handle static ip configuration
-do_static() {
+# Handle ip configuration via ifcfg files
+do_ifcfg() {
if [ "$autoconf" = "static" ] &&
[ -e /etc/sysconfig/network/ifcfg-${netif} ] ; then
# Pull in existing static configuration
. /etc/sysconfig/network/ifcfg-${netif}
+ # The first configuration can be anything
+ [ -n "$PREFIXLEN" ] && prefix=${PREFIXLEN}
+ [ -n "$MTU" ] && mtu=${MTU}
+ [ -n "$REMOTE_IPADDR" ] && server=${REMOTE_IPADDR}
+ [ -n "$GATEWAY" ] && gw=${GATEWAY}
+ [ -n "$BOOTPROTO" ] && autoconf=${BOOTPROTO}
+ case "$autoconf" in
+ dhcp6)
+ load_ipv6
+ do_dhcp -6 ;;
+ dhcp*)
+ do_dhcp -4 ;;
+ *)
+ do_static ;;
+ esac
# loop over all configurations in ifcfg-$netif (IPADDR*) and apply
for conf in ${!IPADDR@}; do
ip=${!conf}
[ -z "$ip" ] && continue
ext=${conf#IPADDR}
- concat="PREFIXLEN$ext" && [ -n "${!concat}" ] && mtu=${!concat}
+ concat="PREFIXLEN$ext" && [ -n "${!concat}" ] && prefix=${!concat}
concat="MTU$ext" && [ -n "${!concat}" ] && mtu=${!concat}
concat="REMOTE_IPADDR$ext" && [ -n "${!concat}" ] && server=${!concat}
concat="GATEWAY$ext" && [ -n "${!concat}" ] && gw=${!concat}
- concat="BOOTPROTO$ext" && [ -n "${!concat}" ] && autoconf=${!concat}
- do_static_setup
+ # Additional configurations must be static
+ do_static
done
else
- do_static_setup
+ do_static
fi
return 0
}
-do_static_setup() {
+# Handle static ip configuration
+do_static() {
strglobin $ip '*:*:*' && load_ipv6
if ! linkup $netif; then
@@ -498,6 +516,8 @@ for p in $(getargs ip=); do
do_dhcp -6 ;;
auto6)
do_ipv6auto ;;
+ static)
+ do_ifcfg ;;
*)
do_static ;;
esac
++++++ 0150-Find-kernel-modules-in-extra-and-weak-updates-path-a.patch ++++++
>From b5a5fb4486dee09287df825ecd1d2f8b76a98682 Mon Sep 17 00:00:00 2001
From: Martin Wilck <martin.wilck(a)ts.fujitsu.com>
Date: Fri, 29 Aug 2014 15:42:51 +0200
Subject: Find kernel modules in extra and weak-updates path also
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
dracut-init.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Index: dracut-044/dracut-init.sh
===================================================================
--- dracut-044.orig/dracut-init.sh
+++ dracut-044/dracut-init.sh
@@ -1058,7 +1058,7 @@ find_kernel_modules_by_path () {
_OLDIFS=$IFS
IFS=:
while read a rest || [ -n "$a" ]; do
- [[ $a = */$1/* ]] || [[ $a = updates/* ]] || continue
+ [[ $a = */$1/* ]] || [[ $a = updates/* ]] || [[ $a = extra/* ]] || [[ $a = weak-updates/* ]] || continue
printf "%s\n" "$srcmods/$a"
done < "$srcmods/modules.dep"
IFS=$_OLDIFS
++++++ 0157-Add-boot-zipl-to-host-devs-if-it-is-a-mount-point.patch ++++++
>From 7067073ca16b10749edd6a508e3c4b1c38c3c7c2 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.de>
Date: Thu, 11 Sep 2014 15:17:10 +0200
Subject: Add /boot/zipl to host devs if it is a mount point
bnc#892187
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
dracut.sh | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
Index: dracut-044/dracut.sh
===================================================================
--- dracut-044.orig/dracut.sh
+++ dracut-044/dracut.sh
@@ -1121,6 +1121,7 @@ if [[ $hostonly ]]; then
"/usr/lib64" \
"/boot" \
"/boot/efi" \
+ "/boot/zipl" \
;
do
mp=$(readlink -f "$mp")
++++++ 0158-Add-SUSE-kernel-module-dependencies-in-etc-modprobe.patch ++++++
>From 75faba5ea84fe53df7d3ca3e4f4b6cf390c824bb Mon Sep 17 00:00:00 2001
From: Jan Loeser <jloeser(a)suse.de>
Date: Thu, 11 Sep 2014 15:20:23 +0200
Subject: Add SUSE kernel module dependencies (in /etc/modprobe.d/*)
bnc#895331
Fixed-by: Fabian Vogt <fvogt(a)suse.com>
---
dracut-init.sh | 6 +++++-
dracut.sh | 12 ++++++++++++
2 files changed, 17 insertions(+), 1 deletions(-)
Index: dracut-044/dracut-init.sh
===================================================================
--- dracut-044.orig/dracut-init.sh
+++ dracut-044/dracut-init.sh
@@ -944,6 +944,13 @@ for_each_kmod_dep() {
$_func ${_modpath} || exit $?
done
)
+
+ for suse_mod_dep in ${suse_mod_deps["${_kmod%.ko*}"]}; do
+ _modpath=$(modinfo -k "$kernel" -F filename "$suse_mod_dep" 2> /dev/null)
+ [ -n "$_modpath" ] || continue
+ for_each_kmod_dep "$_func" "$_modpath" "$@"
+ $_func ${_modpath} || exit $?
+ done
}
dracut_kernel_post() {
@@ -1141,8 +1148,14 @@ instmods() {
--set-version $kernel ${_moddirname} $_mpargs
((_ret+=$?))
else
- [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \
+ if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] \
+ && [ -n "${_mod%.ko*}" ]; then
echo ${_mod%.ko*} >> "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist"
+ for suse_mod_dep in ${suse_mod_deps["${_mod%.ko*}"]}; do
+ echo $suse_mod_dep >> "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist"
+ done
+ fi
+
fi
;;
esac
Index: dracut-044/dracut.sh
===================================================================
--- dracut-044.orig/dracut.sh
+++ dracut-044/dracut.sh
@@ -767,6 +767,18 @@ if [[ -n "$logfile" ]];then
fi
fi
+# parse SUSE kernel module dependencies
+# Kernel modules using "load_module" function may not show up in modprobe
+# depencies. While this is the case there is a workaround in SUSE which adds:
+# # SUSE_INITRD: module_name REQUIRES module1 module2 ...
+# to /etc/modprobe.d/*.conf
+declare -A suse_mod_deps
+while read -r line; do
+ _suse_mod="${line##*SUSE INITRD: }"
+ _suse_mod="${_suse_mod%% REQUIRES*}"
+ suse_mod_deps["$_suse_mod"]="${suse_mod_deps["$_suse_mod"]} ${line##*REQUIRES }"
+done <<< "$(grep -h "^# SUSE INITRD: " /etc/modprobe.d/[0-9][0-9]*.conf)"
+
# handle compression options.
if [[ $_no_compress_l = "cat" ]]; then
compress="cat"
++++++ 0159-network-Try-to-load-xennet.patch ++++++
>From 2a73a8c956bd3b34f19cadd17b44303d8c104a53 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.de>
Date: Fri, 19 Sep 2014 15:34:54 +0200
Subject: network: Try to load xennet
bnc#896464, bnc#896259
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
modules.d/40network/module-setup.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Index: dracut-044/modules.d/90kernel-network-modules/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh
+++ dracut-044/modules.d/90kernel-network-modules/module-setup.sh
@@ -61,7 +61,7 @@ installkernel() {
=drivers/net/phy \
=drivers/net/team \
=drivers/net/ethernet \
- ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net
+ ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net xennet
hostonly="" instmods iscsi_ibft crc32c iscsi_boot_sysfs
}
++++++ 0160-s390-update_active_devices_initrd.patch ++++++
From: Thomas Blume <thomas.blume(a)suse.com>
Subject: 91zipl: Update active_devices.txt from /boot/zipl device
References: bsc#939101
Signed-off-by: Thomas Blume <thomas.blume(a)suse.com>
Index: dracut-044/modules.d/91zipl/install_zipl_cmdline.sh
===================================================================
--- dracut-044.orig/modules.d/91zipl/install_zipl_cmdline.sh 2016-04-12 15:48:34.620382686 +0200
+++ dracut-044/modules.d/91zipl/install_zipl_cmdline.sh 2016-04-12 15:48:35.140412123 +0200
@@ -22,6 +22,13 @@ if [ -f ${MNT}/dracut-cmdline.conf ] ; t
cp ${MNT}/dracut-cmdline.conf /etc/cmdline.d/99zipl.conf
fi
+if [ -f ${MNT}/active_devices.txt ] ; then
+ while read dev etc ; do
+ [ "$dev" = "#" -o "$dev" = "" ] && continue;
+ cio_ignore -r $dev
+ done < ${MNT}/active_devices.txt
+fi
+
umount ${MNT}
if [ -f /etc/cmdline.d/99zipl.conf ] ; then
++++++ 0161-95zfcp_rules-simplified-rd.zfcp-commandline-for-NPIV.patch ++++++
>From 61d345654fbdd895a406a5a7517f01a7c984a7ed Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 10 Mar 2016 15:45:43 +0100
Subject: [PATCH] 95zfcp_rules: simplified rd.zfcp commandline for NPIV
When NPIV is enabled and the allow_lun_scan parameter is set to 'Y'
the HBA will initiate a LUN scan automatically, so there is no need
to specify the WWPN and LUN number manually.
References: bsc#964456
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
dracut.cmdline.7.asc | 9 ++++++++-
modules.d/95zfcp_rules/module-setup.sh | 23 +++++++++++++++++++----
modules.d/95zfcp_rules/parse-zfcp.sh | 1 +
3 files changed, 28 insertions(+), 5 deletions(-)
Index: dracut-044/dracut.cmdline.7.asc
===================================================================
--- dracut-044.orig/dracut.cmdline.7.asc 2016-04-12 15:48:42.072804543 +0200
+++ dracut-044/dracut.cmdline.7.asc 2016-04-12 15:48:46.869076048 +0200
@@ -771,12 +771,19 @@ DASD
ZFCP
~~~~
**rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
- rd.zfcp can be specified multiple times on the kernel command line.
+ rd.zfcp can be specified multiple times on the kernel command
+ line.
+
+**rd.zfcp=**__<zfcp adaptor device bus ID>__::
+ If NPIV is enabled and the 'allow_lun_scan' parameter to the zfcp
+ module is set to 'Y' then the zfcp adaptor will be initiating a
+ scan internally and the <WWPN> and <FCPLUN> parameters can be omitted.
+
[listing]
.Example
--
rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
+rd.zfcp=0.0.4000
--
**rd.zfcp.conf=0**::
Index: dracut-044/modules.d/95zfcp_rules/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/95zfcp_rules/module-setup.sh 2016-04-12 15:48:42.072804543 +0200
+++ dracut-044/modules.d/95zfcp_rules/module-setup.sh 2016-04-12 15:48:46.869076048 +0200
@@ -5,15 +5,30 @@ cmdline() {
is_zfcp() {
local _dev=$1
local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD)
- local _sdev _lun _wwpn _ccw
+ local _sdev _scsiid _hostno _lun _wwpn _ccw _port_type
+ local _allow_lun_scan _is_npiv
+ _allow_lun_scan=$(cat /sys/module/zfcp/parameters/allow_lun_scan)
[ "${_devpath#*/sd}" == "$_devpath" ] && return 1
_sdev="${_devpath%%/block/*}"
[ -e ${_sdev}/fcp_lun ] || return 1
- _lun=$(cat ${_sdev}/fcp_lun)
- _wwpn=$(cat ${_sdev}/wwpn)
+ _scsiid="${_sdev##*/}"
+ _hostno="${_scsiid%%:*}"
+ [ -d /sys/class/fc_host/host${_hostno} ] || return 1
+ _port_type=$(cat /sys/class/fc_host/host${_hostno}/port_type)
+ case "$_port_type" in
+ NPIV*)
+ _is_npiv=1
+ ;;
+ esac
_ccw=$(cat ${_sdev}/hba_id)
- echo "rd.zfcp=${_ccw},${_wwpn},${_lun}"
+ if [ "$_is_npiv" ] && [ "$_allow_lun_scan" = "Y" ] ; then
+ echo "rd.zfcp=${_ccw}"
+ else
+ _lun=$(cat ${_sdev}/fcp_lun)
+ _wwpn=$(cat ${_sdev}/wwpn)
+ echo "rd.zfcp=${_ccw},${_wwpn},${_lun}"
+ fi
return 0
}
[[ $hostonly ]] || [[ $mount_needs ]] && {
Index: dracut-044/modules.d/95zfcp_rules/parse-zfcp.sh
===================================================================
--- dracut-044.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2016-04-12 15:48:42.072804543 +0200
+++ dracut-044/modules.d/95zfcp_rules/parse-zfcp.sh 2016-04-12 15:48:46.869076048 +0200
@@ -31,6 +31,7 @@ ACTION=="add", SUBSYSTEM=="drivers", KER
ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1"
EOF
fi
+ [ -z "$wwpn" -o -z "$lun" ] && return
m=$(sed -n "/.*${wwpn}.*${lun}.*/p" $_rule)
if [ -z "$m" ] ; then
cat >> $_rule <<EOF
++++++ 0162-network-Request-DHCP-lease-instead-of-getting-applyi.patch ++++++
>From b4216546ff3254f2ca21c6b29c745e1bfd4956cc Mon Sep 17 00:00:00 2001
From: Pawel Wieczorkiewicz <pwieczorkiewicz(a)suse.de>
Date: Wed, 24 Sep 2014 18:14:37 +0200
Subject: network: Request DHCP lease instead of getting/applying the offer
- Request ipv6 lease in proper mode: auto when auto6+dhcp6 requested
otherwise managed mode
- wait for DAD results in case of ipv6
Signed-off-by: Pawel Wieczorkiewicz <pwieczorkiewicz(a)suse.de>
---
modules.d/40network/ifup.sh | 20 ++++++++++++++++----
1 files changed, 16 insertions(+), 4 deletions(-)
Index: dracut-044/modules.d/40network/ifup.sh
===================================================================
--- dracut-044.orig/modules.d/40network/ifup.sh
+++ dracut-044/modules.d/40network/ifup.sh
@@ -186,9 +186,15 @@ do_dhcp() {
local dhclient=''
if [ "$1" = "-6" ] ; then
- dhclient="wickedd-dhcp6"
+ local ipv6_mode=''
+ if [ -f /tmp/net.$netif.auto6 ] ; then
+ ipv6_mode="auto"
+ else
+ ipv6_mode="managed"
+ fi
+ dhclient="wickedd-dhcp6 --test --test-mode $ipv6_mode"
else
- dhclient="wickedd-dhcp4"
+ dhclient="wickedd-dhcp4 --test"
fi
if ! iface_has_link $netif; then
@@ -201,10 +207,14 @@ do_dhcp() {
fi
fi
- $dhclient --test $netif > /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1}
+ $dhclient --test-format leaseinfo --test-output /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1} --test-request - $netif << EOF
+<request type="lease"/>
+EOF
dhcp_apply $1 || return $?
+ if [ "$1" = "-6" ] ; then
+ wait_for_ipv6_dad $netif
+ fi
- echo $netif > /tmp/setup_net_${netif}.ok
return 0
}
@@ -224,6 +234,7 @@ do_ipv6auto() {
echo 0 > /proc/sys/net/ipv6/conf/$netif/forwarding
echo 1 > /proc/sys/net/ipv6/conf/$netif/accept_ra
echo 1 > /proc/sys/net/ipv6/conf/$netif/accept_redirects
+ echo 1 > /proc/sys/net/ipv6/conf/$netif/autoconf
linkup $netif
wait_for_ipv6_auto $netif
@@ -515,6 +526,7 @@ for p in $(getargs ip=); do
load_ipv6
do_dhcp -6 ;;
auto6)
+ echo $netif > /tmp/net.$netif.auto6
do_ipv6auto ;;
static)
do_ifcfg ;;
++++++ 0163-Install-etc-sysconfig-console-to-see-specific-fonts.patch ++++++
>From 4ef054c0510f24e8652726674461833a33643b26 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.de>
Date: Tue, 30 Sep 2014 16:58:05 +0200
Subject: Install /etc/sysconfig/console to see specific fonts
bnc#897972
Author: Werner Fink <werner(a)suse.de>
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
modules.d/10i18n/module-setup.sh | 4 ++++
1 file changed, 4 insertions(+)
Index: dracut-042/modules.d/10i18n/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/10i18n/module-setup.sh 2015-06-11 17:39:47.000000000 +0200
+++ dracut-042/modules.d/10i18n/module-setup.sh 2015-06-24 18:02:33.938771180 +0200
@@ -219,6 +219,10 @@ install() {
print_vars KEYMAP EXT_KEYMAPS UNICODE FONT FONT_MAP FONT_UNIMAP >> ${initdir}${VCONFIG_CONF}
fi
+ if dracut_module_included "systemd" && [[ -f /etc/sysconfig/console ]]; then
+ inst_simple /etc/sysconfig/console
+ fi
+
return 0
}
++++++ 0164-Fix-initramfs-ver.img-vs-initrd-ver-in-dracut-initra.patch ++++++
>From 76396977ee19d97697226bda13de007030433854 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez(a)opensuse.org>
Date: Wed, 15 Oct 2014 17:50:36 +0200
Subject: Fix initramfs-$ver.img vs initrd-$ver in dracut-initramfs-restore.sh
dracut-shutdown.service invokes dracut-initramfs-restore script which
will never work in openSUSE because initrd images are named initrd not
initramfs.
---
dracut-initramfs-restore.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-042/dracut-initramfs-restore.sh
===================================================================
--- dracut-042.orig/dracut-initramfs-restore.sh 2015-06-11 17:39:47.000000000 +0200
+++ dracut-042/dracut-initramfs-restore.sh 2015-06-24 18:02:34.238788260 +0200
@@ -19,7 +19,7 @@ mount -o ro /boot &>/dev/null
if [[ $MACHINE_ID ]] && [[ -d /boot/${MACHINE_ID} || -L /boot/${MACHINE_ID} ]] ; then
IMG="/boot/${MACHINE_ID}/${KERNEL_VERSION}/initrd"
fi
-[[ -f $IMG ]] || IMG="/boot/initramfs-${KERNEL_VERSION}.img"
+[[ -f $IMG ]] || IMG="/boot/initrd-${KERNEL_VERSION}"
cd /run/initramfs
++++++ 0168-remove_plymouth_logo_file.patch ++++++
>From 280d52085fe2876bc08ce1dcdbf1522f8861801c Mon Sep 17 00:00:00 2001
From: Shawn W Dunn <sfalken(a)opensuse.org>
Date: Tue, 23 Aug 2016 13:16:20 +0200
Subject: 50plymouth: remove PLYMOUTH_LOGO_FILE
Remove PLYMOUTH_LOGO_FILE from plymouth-populate-initrd.sh
References: bnc#910952
Signed-off-by: Shawn W Dunn <sfalken(a)opensuse.org>
---
modules.d/50plymouth/plymouth-populate-initrd.sh | 2 --
1 file changed, 2 deletions(-)
diff --git a/modules.d/50plymouth/plymouth-populate-initrd.sh b/modules.d/50plymouth/plymouth-populate-initrd.sh
index 6c184ac..3294878 100755
--- a/modules.d/50plymouth/plymouth-populate-initrd.sh
+++ b/modules.d/50plymouth/plymouth-populate-initrd.sh
@@ -1,10 +1,8 @@
#!/bin/bash
-PLYMOUTH_LOGO_FILE="/usr/share/pixmaps/system-logo-white.png"
PLYMOUTH_THEME=$(plymouth-set-default-theme)
inst_multiple plymouthd plymouth \
- "${PLYMOUTH_LOGO_FILE}" \
/etc/system-release
mkdir -m 0755 -p "${initdir}/usr/share/plymouth"
--
2.6.6
++++++ 0169-network_set_mtu_macaddr_for_dhcp.patch ++++++
>From b27ca9cfcb5df2066e87f673cb5c060bcf4016fa Mon Sep 17 00:00:00 2001
From: Pawel Wieczorkiewicz <pwieczorkiewicz(a)suse.de>
Date: Tue, 23 Aug 2016 12:29:03 +0200
Subject: Set MTU and LLADDR for DHCP if specified
References: boo#959803
Signed-off-by: Pawel Wieczorkiewicz <pwieczorkiewicz(a)suse.de>
---
modules.d/40network/ifup.sh | 52 ++++++++++++++++++++++++++++-----------------
1 file changed, 32 insertions(+), 20 deletions(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 0aaea72..3b92854 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -90,7 +90,7 @@ else
fi
dhcp_apply() {
- unset IPADDR INTERFACE BROADCAST NETWORK PREFIXLEN ROUTES GATEWAYS HOSTNAME DNSDOMAIN DNSSEARCH DNSSERVERS
+ unset IPADDR INTERFACE BROADCAST NETWORK PREFIXLEN ROUTES GATEWAYS MTU HOSTNAME DNSDOMAIN DNSSEARCH DNSSERVERS
if [ -f /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1} ]; then
. /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1}
else
@@ -128,6 +128,9 @@ dhcp_apply() {
done
fi
+ # Set MTU
+ [ -n "${MTU}" ] && ip $1 link set mtu "$MTU" dev "$INTERFACE"
+
# Setup hostname
[ -n "${HOSTNAME}" ] && hostname "$HOSTNAME"
@@ -167,6 +170,25 @@ dhcp_apply() {
return 0
}
+read_ifcfg() {
+ unset PREFIXLEN LLADDR MTU REMOTE_IPADDR GATEWAY BOOTPROTO
+
+ if [ -e /etc/sysconfig/network/ifcfg-${netif} ] ; then
+ # Pull in existing configuration
+ . /etc/sysconfig/network/ifcfg-${netif}
+
+ # The first configuration can be anything
+ [ -n "$PREFIXLEN" ] && prefix=${PREFIXLEN}
+ [ -n "$LLADDR" ] && macaddr=${LLADDR}
+ [ -n "$MTU" ] && mtu=${MTU}
+ [ -n "$REMOTE_IPADDR" ] && server=${REMOTE_IPADDR}
+ [ -n "$GATEWAY" ] && gw=${GATEWAY}
+ [ -n "$BOOTPROTO" ] && autoconf=${BOOTPROTO}
+ return 0
+ fi
+ return 1
+}
+
# Run dhclient
do_dhcp() {
# dhclient-script will mark the netif up and generate the online
@@ -197,14 +219,14 @@ do_dhcp() {
dhclient="wickedd-dhcp4 --test"
fi
- if ! iface_has_link $netif; then
- warn "No carrier detected"
- warn "Trying to set $netif up..."
- ip $1 link set dev "$netif" up
- if ! iface_has_link $netif; then
- warn "Failed..."
- return 1
- fi
+ if ! linkup $netif; then
+ warn "Could not bring interface $netif up!"
+ return 1
+ fi
+
+ if read_ifcfg ; then
+ [ -n "$macaddr" ] && ip $1 link set address $macaddr dev $netif
+ [ -n "$mtu" ] && ip $1 link set mtu $mtu dev $netif
fi
$dhclient --test-format leaseinfo --test-output /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1} --test-request - $netif << EOF
@@ -245,17 +267,7 @@ do_ipv6auto() {
# Handle ip configuration via ifcfg files
do_ifcfg() {
- if [ "$autoconf" = "static" ] &&
- [ -e /etc/sysconfig/network/ifcfg-${netif} ] ; then
- # Pull in existing static configuration
- . /etc/sysconfig/network/ifcfg-${netif}
-
- # The first configuration can be anything
- [ -n "$PREFIXLEN" ] && prefix=${PREFIXLEN}
- [ -n "$MTU" ] && mtu=${MTU}
- [ -n "$REMOTE_IPADDR" ] && server=${REMOTE_IPADDR}
- [ -n "$GATEWAY" ] && gw=${GATEWAY}
- [ -n "$BOOTPROTO" ] && autoconf=${BOOTPROTO}
+ if [ "$autoconf" = "static" ] && read_ifcfg; then
case "$autoconf" in
dhcp6)
load_ipv6
--
2.6.6
++++++ 0170-iscsi-skip-ibft-invalid-dhcp.patch ++++++
>From e5d14a8adbfc875517e5d873bea18bf9d997b91f Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.com>
Date: Tue, 23 Aug 2016 12:30:21 +0200
Subject: 40network: fixup invalid DHCP setting for iBFT
References: bsc#953361
Signed-off-by: Thomas Renninger <trenn(a)suse.com>
---
modules.d/40network/net-lib.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index 5aa1468..0a77d4b 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -288,7 +288,7 @@ ibft_to_cmdline() {
;;
esac
fi
- if [ -n "$dhcp" ] || [ "$origin" -eq 3 ]; then
+ if [ -n "$dhcp" -a "$dhcp" != "0.0.0.0" ] || [ -z "$dhcp" -a "$origin" -eq 3 ]; then
if [ "$family" = "ipv6" ] ; then
echo "ip=$dev:dhcp6"
else
--
2.6.6
++++++ 0180-i18n_add_correct_fontmaps.patch ++++++
>From 5f56e6a34ddbc27eee6f7fbe5776bd23629b2e4d Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt(a)suse.com>
Date: Wed, 4 May 2016 13:08:19 +0200
Subject: 10i18n: Add correct fontmaps
References: bsc#943312, bsc#932981
Signed-off-by: Fabian Vogt <fvogt(a)suse.com>
---
modules.d/10i18n/module-setup.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index 398d02b..4fd0b26 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -196,7 +196,11 @@ install() {
if [[ ${FONT_MAP} ]]
then
FONT_MAP=${FONT_MAP%.trans}
- inst_simple ${kbddir}/consoletrans/${FONT_MAP}.trans
+ # There are three different formats that setfont supports
+ inst_simple ${kbddir}/consoletrans/${FONT_MAP} \
+ || inst_simple ${kbddir}/consoletrans/${FONT_MAP}.trans \
+ || inst_simple ${kbddir}/consoletrans/${FONT_MAP}_to_uni.trans \
+ || dwarn "Could not find FONT_MAP ${FONT_MAP}!"
fi
if [[ ${FONT_UNIMAP} ]]
--
2.6.6
++++++ 0182-fix-include-parsing.patch ++++++
>From 11d6560d7bbd8a4c4610a39c0985e50d728920fb Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt(a)suse.com>
Date: Mon, 21 Sep 2015 15:15:07 +0200
Subject: [PATCH] Fix parsing of "-i" and "--include"
- dracut replaced every instance of "-i" in the cmdline,
even if it was part of a kernel image name, e.g. "vmlinuz-i"
- Fixes boo#908452
Signed-off-by: Fabian Vogt <fvogt(a)suse.com>
---
dracut.sh | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
Index: dracut-044/dracut.sh
===================================================================
--- dracut-044.orig/dracut.sh
+++ dracut-044/dracut.sh
@@ -279,11 +279,17 @@ dropindirs_sort()
rearrange_params()
{
# Workaround -i, --include taking 2 arguments
- set -- "${@/--include/++include}"
-
- # This prevents any long argument ending with "-i"
- # -i, like --opt-i but I think we can just prevent that
- set -- "${@/%-i/++include}"
+ newat=()
+ for i in "$@"; do
+ if [[ $i =~ ^-i(.*) ]]; then
+ newat+=("++include" "${BASH_REMATCH[1]}") # Replace -i by ++include
+ elif [[ $i == "--include" ]]; then
+ newat+=("++include") # Replace --include by ++include
+ else
+ newat+=("$i")
+ fi
+ done
+ set -- "${newat[@]}" # Set new $@
TEMP=$(unset POSIXLY_CORRECT; getopt \
-o "a:m:o:d:I:k:c:L:fvqlHhMN" \
++++++ 0183-fix_add_drivers_hang.patch ++++++
>From d774a6f49771b9f55de2956c3c0038a7655b6e94 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt(a)suse.com>
Date: Wed, 23 Sep 2015 12:12:08 +0200
Subject: [PATCH] Fix possible hang in dracut
- Caused by add_drivers+=" " in dracut.conf (bsc#923116)
Signed-off-by: Fabian Vogt <fvogt(a)suse.com>
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-044/dracut.sh
===================================================================
--- dracut-044.orig/dracut.sh
+++ dracut-044/dracut.sh
@@ -1441,7 +1441,7 @@ if [[ $no_kernel != yes ]]; then
hostonly='' instmods $drivers
fi
- if [[ $add_drivers ]]; then
+ if [[ -n "${add_drivers// }" ]]; then
hostonly='' instmods -c $add_drivers
fi
if [[ $force_drivers ]]; then
++++++ 0188-95dasd_rules-Install-collect-udev-helper-binary.patch ++++++
From: Thomas Renninger <trenn(a)suse.com>
Date: Mon, 3 Aug 2015 14:07:59 +0200
Subject: 95dasd_rules: Install 'collect' udev helper binary
Install the 'collect' udev helper binary for s390-specific rules.
References: bsc#938867
Signed-off-by: Thomas Renninger <trenn(a)suse.com>
---
modules.d/95dasd_rules/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
Index: dracut-044/modules.d/95dasd_rules/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/95dasd_rules/module-setup.sh 2016-04-25 15:02:50.532329644 +0200
+++ dracut-044/modules.d/95dasd_rules/module-setup.sh 2016-04-25 15:02:52.384434310 +0200
@@ -45,6 +45,7 @@ depends() {
# called by dracut
install() {
+ inst_multiple /usr/lib/udev/collect
inst_hook cmdline 30 "$moddir/parse-dasd.sh"
if [[ $hostonly_cmdline == "yes" ]] ; then
local _dasd=$(cmdline)
++++++ 0190-replace-iscsistart-with-systemd-service-files.patch ++++++
>From c426dc773fe654aed309375e20e398e9299ca34e Mon Sep 17 00:00:00 2001
From: Thomas Blume <Thomas.Blume(a)suse.com>
Date: Mon, 19 Oct 2015 09:14:53 +0200
Subject: Replace iscsistart with iscsiadm
References: FATE#319024
iscsistart allows for a single connection only, and offers no means
or terminating or re-establishing another one.
So replace iscsistart with iscsiadm to allow several connection for
multipath booting and also to ease maintenance in case of error.
Signed-off-by: Thomas Blume <thomas.blume(a)suse.com>
---
modules.d/95iscsi/iscsiroot.sh | 48 ++++++++++++++++++++++++------------
modules.d/95iscsi/module-setup.sh | 19 ++++++++++++--
modules.d/95iscsi/parse-iscsiroot.sh | 2 +-
3 files changed, 50 insertions(+), 19 deletions(-)
Index: dracut-044/modules.d/95iscsi/iscsiroot.sh
===================================================================
--- dracut-044.orig/modules.d/95iscsi/iscsiroot.sh 2016-04-18 17:43:51.198589298 +0200
+++ dracut-044/modules.d/95iscsi/iscsiroot.sh 2016-04-18 17:53:11.962323970 +0200
@@ -43,17 +43,13 @@ fi
handle_firmware()
{
- if ! iscsistart -f; then
- warn "iscistart: Could not get list of targets from firmware."
+ if ! iscsiadm -m fw; then
+ warn "iscsiadm: Could not get list of targets from firmware."
return 1
fi
- for p in $(getargs rd.iscsi.param -d iscsi_param); do
- iscsi_param="$iscsi_param --param $p"
- done
-
- if ! iscsistart -b $iscsi_param; then
- warn "'iscsistart -b $iscsi_param' failed with return code $?"
+ if ! iscsiadm -m fw -l; then
+ warn "iscsiadm: Log-in to iscsi target failed"
fi
echo 'started' > "/tmp/iscsistarted-iscsi:"
@@ -77,7 +73,7 @@ handle_netroot()
# override conf settings by command line options
arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=)
[ -n "$arg" ] && iscsi_initiator=$arg
- arg=$(getarg rd.iscsi.target.name -d iscsi_target_name=)
+ arg=$(getargs rd.iscsi.target.name -d iscsi_target_name=)
[ -n "$arg" ] && iscsi_target_name=$arg
arg=$(getarg rd.iscsi.target.ip -d iscsi_target_ip)
[ -n "$arg" ] && iscsi_target_ip=$arg
@@ -94,7 +90,7 @@ handle_netroot()
arg=$(getarg rd.iscsi.in.password -d iscsi_in_password=)
[ -n "$arg" ] && iscsi_in_password=$arg
for p in $(getargs rd.iscsi.param -d iscsi_param); do
- iscsi_param="$iscsi_param --param $p"
+ iscsi_param="$iscsi_param $p"
done
parse_iscsi_root "$1" || return 1
@@ -182,45 +178,37 @@ handle_netroot()
echo "iscsi_lun=$iscsi_lun . /bin/mount-lun.sh " > $hookdir/mount/01-$$-iscsi.sh
fi
- if [ -n "$DRACUT_SYSTEMD" ] && command -v systemd-run >/dev/null 2>&1; then
- netroot_enc=$(systemd-escape "iscsistart_${1}")
- status=$(systemctl is-active "$netroot_enc" 2>/dev/null)
- is_active=$?
- if [ $is_active -ne 0 ]; then
- if [ "$status" != "activating" ] && ! systemctl is-failed "$netroot_enc" >/dev/null 2>&1; then
- systemd-run --no-block --service-type=oneshot --remain-after-exit --quiet \
- --description="Login iSCSI Target $iscsi_target_name" \
- --unit="$netroot_enc" -- \
- $(command -v iscsistart) \
- -i "$iscsi_initiator" -t "$iscsi_target_name" \
- -g "$iscsi_target_group" -a "$iscsi_target_ip" \
- -p "$iscsi_target_port" \
- ${iscsi_username:+-u "$iscsi_username"} \
- ${iscsi_password:+-w "$iscsi_password"} \
- ${iscsi_in_username:+-U "$iscsi_in_username"} \
- ${iscsi_in_password:+-W "$iscsi_in_password"} \
- ${iscsi_iface_name:+--param "iface.iscsi_ifacename=$iscsi_iface_name"} \
- ${iscsi_netdev_name:+--param "iface.net_ifacename=$iscsi_netdev_name"} \
- ${iscsi_param} >/dev/null 2>&1 \
- && { > $hookdir/initqueue/work ; }
+ ### ToDo: Upstream calls systemd-run - Shall we, do we have to port this?
+
+ if iscsiadm -m node; then
+ targets=$(iscsiadm -m node | sed 's/^.*iqn/iqn/')
+ else
+ targets=$(iscsiadm -m discovery -t st -p $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} | sed 's/^.*iqn/iqn/')
+ [ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1
+ fi
+
+ for target in $iscsi_target_name; do
+ if [[ "$targets" =~ "$target" ]]; then
+ if [ -n "$iscsi_iface_name" ]; then
+ $(iscsiadm -m iface -I $iscsi_iface_name --op=new)
+ [ -n "$iscsi_initiator" ] && $(iscsiadm -m iface -I $iscsi_iface_name --op=update --name=iface.initiatorname --value=$iscsi_initiator)
+ [ -n "$iscsi_netdev_name" ] && $(iscsiadm -m iface -I $iscsi_iface_name --op=update --name=iface.net_ifacename --value=$iscsi_netdev_name)
+ COMMAND="iscsiadm -m node -T $target -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} -I $iscsi_iface_name --op=update"
else
- systemctl --no-block restart "$netroot_enc" >/dev/null 2>&1 \
- && { > $hookdir/initqueue/work ; }
+ COMMAND="iscsiadm -m node -T $target -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} --op=update"
fi
+ $($COMMAND --name=node.startup --value=onboot)
+ [ -n "$iscsi_username" ] && $($COMMAND --name=node.session.auth.username --value=$iscsi_username)
+ [ -n "$iscsi_password" ] && $($COMMAND --name=node.session.auth.password --value=$iscsi_password)
+ [ -n "$iscsi_in_username" ] && $($COMMAND --name=node.session.auth.username_in --value=$iscsi_in_username)
+ [ -n "$iscsi_in_password" ] && $($COMMAND --name=node.session.auth.password_in --value=$iscsi_in_password)
+ [ -n "$iscsi_param" ] && $($COMMAND --name=${iscsi_param%=*} --value=${iscsi_param#*=}
fi
- else
- iscsistart -i "$iscsi_initiator" -t "$iscsi_target_name" \
- -g "$iscsi_target_group" -a "$iscsi_target_ip" \
- -p "$iscsi_target_port" \
- ${iscsi_username:+-u "$iscsi_username"} \
- ${iscsi_password:+-w "$iscsi_password"} \
- ${iscsi_in_username:+-U "$iscsi_in_username"} \
- ${iscsi_in_password:+-W "$iscsi_in_password"} \
- ${iscsi_iface_name:+--param "iface.iscsi_ifacename=$iscsi_iface_name"} \
- ${iscsi_netdev_name:+--param "iface.net_ifacename=$iscsi_netdev_name"} \
- ${iscsi_param} \
- && { > $hookdir/initqueue/work ; }
- fi
+ done
+
+ iscsiadm -m node -L onboot || :
+ > $hookdir/initqueue/work
+
netroot_enc=$(str_replace "$1" '/' '\2f')
echo 'started' > "/tmp/iscsistarted-iscsi:${netroot_enc}"
return 0
Index: dracut-044/modules.d/95iscsi/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/95iscsi/module-setup.sh 2016-04-18 17:43:51.198589298 +0200
+++ dracut-044/modules.d/95iscsi/module-setup.sh 2016-04-18 17:53:11.962323970 +0200
@@ -4,7 +4,7 @@
check() {
local _rootdev
# If our prerequisites are not met, fail anyways.
- require_binaries iscsistart hostname iscsi-iname || return 1
+ require_binaries hostname iscsi-iname iscsiadm iscsid || return 1
# If hostonly was requested, fail the check if we are not actually
# booting from root.
@@ -211,9 +211,22 @@ cmdline() {
# called by dracut
install() {
- inst_multiple umount iscsistart hostname iscsi-iname
inst_multiple -o iscsiuio
inst_libdir_file 'libgcc_s.so*'
+ inst_multiple umount hostname iscsi-iname iscsiadm iscsid
+
+ ln -sf $systemdsystemunitdir/iscsid.socket $systemdsystemunitdir/sockets.target.wants/iscsid.socket
+ ln -sf $systemdsystemunitdir/iscsiuio.socket $systemdsystemunitdir/sockets.target.wants/iscsiuio.socket
+
+ inst_multiple -o \
+ $systemdsystemunitdir/iscsid.socket \
+ $systemdsystemunitdir/iscsid.service \
+ $systemdsystemunitdir/iscsiuio.service \
+ $systemdsystemunitdir/iscsiuio.socket \
+ $systemdsystemunitdir/sockets.target.wants/iscsid.socket \
+ $systemdsystemunitdir/sockets.target.wants/iscsiuio.socket
+
+ [[ -d /etc/iscsi ]] && inst_dir $(/usr/bin/find /etc/iscsi)
# Detect iBFT and perform mandatory steps
if [[ $hostonly_cmdline == "yes" ]] ; then
@@ -221,6 +234,8 @@ install() {
[[ $_iscsiconf ]] && printf "%s\n" "$_iscsiconf" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
fi
+ echo 'rd.neednet=1' >> "${initdir}/etc/cmdline.d/95iscsi.conf"
+
inst_hook cmdline 90 "$moddir/parse-iscsiroot.sh"
inst_hook cleanup 90 "$moddir/cleanup-iscsi.sh"
inst "$moddir/iscsiroot.sh" "/sbin/iscsiroot"
++++++ 0191-static_network_setup_return_zero.patch ++++++
From: Thomas Blume <thomas.blume(a)suse.com>
Subject: Unset gateway variable if emtpy
If the gateway variable is empty (ie '::' for IPv6 or '0.0.0.0' for IPv4)
it should be unset.
References: bsc#919179
Signed-off-by: Thomas Blume <thomas.blume(a)suse.com>
Index: dracut-044/modules.d/40network/ifup.sh
===================================================================
--- dracut-044.orig/modules.d/40network/ifup.sh 2016-04-11 17:41:48.628218989 +0200
+++ dracut-044/modules.d/40network/ifup.sh 2016-04-11 17:43:45.250819391 +0200
@@ -327,6 +327,7 @@ if strglobin $ip '*:*:*'; then
# note no ip addr flush for ipv6
ip addr add $ip/$prefix ${srv:+peer $srv} dev $netif
wait_for_ipv6_dad $netif
+ [ "$gw" = "::" ] && gw=""
else
if ! arping -f -q -D -c 2 -I $netif $ip; then
warn "Duplicate address detected for $ip for interface $netif."
@@ -335,6 +336,7 @@ if strglobin $ip '*:*:*'; then
# Assume /24 prefix for IPv4
[ -z "$prefix" ] && prefix=24
ip addr add $ip/$prefix ${srv:+peer $srv} brd + dev $netif
+ [ "$gw" = "0.0.0.0" ] && gw=""
fi
[ -n "$gw" ] && echo ip route replace default via $gw dev $netif > /tmp/net.$netif.gw
@@ -352,6 +354,9 @@ if strglobin $ip '*:*:*'; then
done
[ -n "$hostname" ] && echo "echo $hostname > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname
+
+ [ $? -ne 0 ] && info "Static network setup returned $?"
+ return 0
}
# loopback is always handled the same way
++++++ 0192-iscsi_set_boot_protocol_from_ifcfg.patch ++++++
From: Thomas Blume <thomas.blume(a)suse.com>
Subject: set boot protocol for iscsi from ifcfg file
References: bsc#919179
Signed-off-by: Thomas Blume <thomas.blume(a)suse.com>
Index: dracut-044/modules.d/95iscsi/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/95iscsi/module-setup.sh 2016-04-14 14:12:39.693392427 +0200
+++ dracut-044/modules.d/95iscsi/module-setup.sh 2016-04-14 14:53:00.630227712 +0200
@@ -104,7 +104,14 @@ install_iscsiroot() {
[ -z "$iscsi_address" ] && return
local_address=$(ip -o route get to $iscsi_address | sed -n 's/.*src \([0-9a-f.:]*\).*/\1/p')
ifname=$(ip -o route get to $iscsi_address | sed -n 's/.*dev \([^ ]*\).*/\1/p')
- printf 'ip=%s:static ' ${ifname}
+
+ #follow ifcfg settings for boot protocol
+ bootproto=$(sed -n "/BOOTPROTO/s/BOOTPROTO='\([[:alpha:]]*6\?\)4\?'/\1/p" /etc/sysconfig/network/ifcfg-$ifname)
+ if [ $bootproto ]; then
+ printf 'ip=%s:%s ' ${ifname} ${bootproto}
+ else
+ printf 'ip=%s:static ' ${ifname}
+ fi
if [ -e /sys/class/net/$ifname/address ] ; then
ifmac=$(cat /sys/class/net/$ifname/address)
++++++ 0193-95iscsi-Set-number-of-login-retries.patch ++++++
From: Thomas Blume <thomas.blume(a)suse.com>
Date: Mon, 19 Oct 2015 09:39:41 +0200
Subject: Set number of login retries
Allow to set the number of login retries from the kernel commandline.
References: bsc#919179
Signed-off-by: Thomas Blume <thomas.blume(a)suse.com>
---
modules.d/95iscsi/iscsiroot.sh | 25 +++++++++++++++++++++----
1 file changed, 21 insertions(+), 4 deletions(-)
Index: dracut-044/modules.d/95iscsi/iscsiroot.sh
===================================================================
--- dracut-044.orig/modules.d/95iscsi/iscsiroot.sh 2016-04-14 14:52:44.685325362 +0200
+++ dracut-044/modules.d/95iscsi/iscsiroot.sh 2016-04-14 14:57:07.628188324 +0200
@@ -41,6 +41,14 @@ if [ -z "${DRACUT_SYSTEMD}" ] && [ -e /s
> /tmp/iscsiuio-started
fi
+#set value for initial login retry
+set_login_retries() {
+ local default retries
+ default=2
+ retries=$(getarg rd.iscsilogin.retries)
+ return ${retries:-$default}
+}
+
handle_firmware()
{
if ! iscsiadm -m fw; then
@@ -67,7 +75,7 @@ handle_netroot()
local iscsi_username iscsi_password
local iscsi_in_username iscsi_in_password
local iscsi_iface_name iscsi_netdev_name
- local iscsi_param
+ local iscsi_param param
local p
# override conf settings by command line options
@@ -100,6 +108,15 @@ handle_netroot()
ip route get "$iscsi_target_ip" >/dev/null 2>&1 || return 0
fi
+ #limit iscsistart login retries
+ if [[ ! "$iscsi_param" =~ "node.session.initial_login_retry_max" ]]; then
+ set_login_retries
+ retries=$?
+ if [ $retries -gt 0 ]; then
+ iscsi_param="${iscsi_param% } node.session.initial_login_retry_max=$retries"
+ fi
+ fi
+
# XXX is this needed?
getarg ro && iscsirw=ro
getarg rw && iscsirw=rw
@@ -202,7 +219,7 @@ handle_netroot()
[ -n "$iscsi_password" ] && $($COMMAND --name=node.session.auth.password --value=$iscsi_password)
[ -n "$iscsi_in_username" ] && $($COMMAND --name=node.session.auth.username_in --value=$iscsi_in_username)
[ -n "$iscsi_in_password" ] && $($COMMAND --name=node.session.auth.password_in --value=$iscsi_in_password)
- [ -n "$iscsi_param" ] && $($COMMAND --name=${iscsi_param%=*} --value=${iscsi_param#*=}
+ [ -n "$iscsi_param" ] && for param in $iscsi_param; do $($COMMAND --name=${param%=*} --value=${param#*=}); done
fi
done
++++++ 0196-ibft-wait-for-session-on-all-paths.patch ++++++
>From 3944cdfd4d99c3d7cd8e801f786e75ed6d254e51 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.com>
Date: Tue, 23 Aug 2016 12:33:34 +0200
Subject: 95iscsi: Wait for session on all paths
References: bsc#951003
Signed-off-by: Thomas Renninger <trenn(a)suse.com>
---
modules.d/95iscsi/iscsiroot.sh | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
index 4412188..6ef6276 100755
--- a/modules.d/95iscsi/iscsiroot.sh
+++ b/modules.d/95iscsi/iscsiroot.sh
@@ -51,11 +51,23 @@ set_login_retries() {
handle_firmware()
{
+ local ifaces retry
+
if ! iscsiadm -m fw; then
warn "iscsiadm: Could not get list of targets from firmware."
return 1
fi
+ ifaces=( $(echo /sys/firmware/ibft/ethernet*) )
+ [ -f /tmp/session-retry ] || echo 1 > /tmp/session-retry
+ retry=$(cat /tmp/session-retry)
+
+ if [ $retry -lt ${#ifaces[*]} ]; then
+ let retry++
+ echo $retry > /tmp/session-retry
+ return 1
+ fi
+
if ! iscsiadm -m fw -l; then
warn "iscsiadm: Log-in to iscsi target failed"
fi
--
2.6.6
++++++ 0197-95iscsi-Do-not-require-network-for-qla4xxx-flash-ses.patch ++++++
>From 4287dca195e2435c7ab20265db6225f97b576fd3 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Mon, 19 Oct 2015 14:02:19 +0200
Subject: 95iscsi: Do not require network for qla4xxx flash sessions
qla4xxx can store boot sessions in flash, which will then
not show up with iBFT. These boot sesssions will be maintained
by the driver; no specific network configuration is required
here. So suppress network setup for these cases.
References: bsc#935320
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95iscsi/module-setup.sh | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 6dca212..797d4e1 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -70,7 +70,7 @@ install_ibft() {
install_iscsiroot() {
local devpath=$1
- local scsi_path iscsi_lun session c d conn
+ local scsi_path iscsi_lun session c d conn host flash
local iscsi_session iscsi_address iscsi_port iscsi_targetname iscsi_tpgt
scsi_path=${devpath%%/block*}
@@ -81,6 +81,19 @@ install_iscsiroot() {
[ "$session" = "$devpath" ] && return 1
iscsi_session=${session##*/}
[ "$iscsi_session" = "$session" ] && return 1
+ host=${session%%/session*}
+ [ "$host" = "$session" ] && return 1
+ iscsi_host=${host##*/}
+
+ for flash in ${host}/flashnode_sess-* ; do
+ is_boot=$(cat $flash/is_boot_target)
+ if [ $is_boot -eq 1 ] ; then
+ # qla4xxx flashnode session; skip iBFT discovery
+ iscsi_initiator=$(cat /sys/class/iscsi_host/${iscsi_host}/initiatorname)
+ echo "rd.iscsi.initiator=${iscsi_initiator}"
+ return;
+ fi
+ done
for d in ${session}/* ; do
case $d in
@@ -135,6 +148,7 @@ install_iscsiroot() {
# can sort out rd.iscsi.initiator= duplicates
echo "rd.iscsi.initiator=${iscsi_initiator}"
echo "netroot=iscsi:${iscsi_address}::${iscsi_port}:${iscsi_lun}:${iscsi_targetname}"
+ echo "rd.neednet=1"
fi
return 0
}
@@ -241,8 +255,6 @@ install() {
[[ $_iscsiconf ]] && printf "%s\n" "$_iscsiconf" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
fi
- echo 'rd.neednet=1' >> "${initdir}/etc/cmdline.d/95iscsi.conf"
-
inst_hook cmdline 90 "$moddir/parse-iscsiroot.sh"
inst_hook cleanup 90 "$moddir/cleanup-iscsi.sh"
inst "$moddir/iscsiroot.sh" "/sbin/iscsiroot"
--
2.6.6
++++++ 0198-95iscsi-set-rd.iscsi.firmware-for-qla4xxx-sessions.patch ++++++
>From c56c855754914283bb930ef1a2b2dd5e8d5a6f25 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 20 Oct 2015 07:59:43 +0200
Subject: 95iscsi: set 'rd.iscsi.firmware' for qla4xxx sessions
The qla4xxx driver can run with or without open-iscsi support,
depending on the setting of the 'ql4xdisablesysfsboot' module
parameter.
When the parameter is set to '0', dracut needs to call
'iscsiadm -m fw' to trigger iSCSI login, so we need to set
the 'rd.iscsi.firmware' dracut variable. But this will then
fail if the parameter is set to '1', as in these cases the
list of firmware targets is empty.
To cover both scenarios this patch reshuffles 'handle_firmware'
in iscsiroot.sh to continue if iscsiadm -m fw fails but iscsi
sessions are present.
References: bsc#951003
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95iscsi/iscsiroot.sh | 37 +++++++++++++++++++++----------------
1 file changed, 21 insertions(+), 16 deletions(-)
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
index 6ef6276..77755fb 100755
--- a/modules.d/95iscsi/iscsiroot.sh
+++ b/modules.d/95iscsi/iscsiroot.sh
@@ -53,29 +53,34 @@ handle_firmware()
{
local ifaces retry
+ # Depending on the 'ql4xdisablesysfsboot' qla4xxx
+ # will be autostarting sessions without presenting
+ # them via the firmware interface.
+ # In these cases 'iscsiadm -m fw' will fail, but
+ # the iSCSI sessions will still be present.
if ! iscsiadm -m fw; then
warn "iscsiadm: Could not get list of targets from firmware."
- return 1
- fi
-
- ifaces=( $(echo /sys/firmware/ibft/ethernet*) )
- [ -f /tmp/session-retry ] || echo 1 > /tmp/session-retry
- retry=$(cat /tmp/session-retry)
-
- if [ $retry -lt ${#ifaces[*]} ]; then
- let retry++
- echo $retry > /tmp/session-retry
- return 1
- fi
+ else
+ ifaces=( $(echo /sys/firmware/ibft/ethernet*) )
+ [ -f /tmp/session-retry ] || echo 1 > /tmp/session-retry
+ retry=$(cat /tmp/session-retry)
+
+ if [ $retry -lt ${#ifaces[*]} ]; then
+ let retry++
+ echo $retry > /tmp/session-retry
+ return 1
+ fi
- if ! iscsiadm -m fw -l; then
- warn "iscsiadm: Log-in to iscsi target failed"
+ if ! iscsiadm -m fw -l; then
+ warn "iscsiadm: Log-in to iscsi target failed"
+ else
+ need_shutdown
+ fi
fi
-
+ [ -d /sys/class/iscsi_session ] || return 1
echo 'started' > "/tmp/iscsistarted-iscsi:"
echo 'started' > "/tmp/iscsistarted-firmware"
- need_shutdown
return 0
}
--
2.6.6
++++++ 0199-rd-iscsi-waitnet-default-false.patch ++++++
>From fbd1ae50f37d4d904dc69844de869ff2daf02ded Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 27 Sep 2016 12:38:21 +0200
Subject: 95iscsi: wait for network devices when starting iscsi
rd.iscsi.waitnet should default to false in order for dracut to
wait for any network devices to come up.
References: bsc#997598
Signed-off-by: Thomas Blume <thomas.blume(a)suse.com>
---
modules.d/95iscsi/iscsiroot.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
index 77755fb..6f0a15d 100755
--- a/modules.d/95iscsi/iscsiroot.sh
+++ b/modules.d/95iscsi/iscsiroot.sh
@@ -62,13 +62,14 @@ handle_firmware()
warn "iscsiadm: Could not get list of targets from firmware."
else
ifaces=( $(echo /sys/firmware/ibft/ethernet*) )
- [ -f /tmp/session-retry ] || echo 1 > /tmp/session-retry
retry=$(cat /tmp/session-retry)
if [ $retry -lt ${#ifaces[*]} ]; then
let retry++
echo $retry > /tmp/session-retry
return 1
+ else
+ rm /tmp/session-retry
fi
if ! iscsiadm -m fw -l; then
@@ -250,7 +251,7 @@ handle_netroot()
ret=0
-if [ "$netif" != "timeout" ] && getargbool 1 rd.iscsi.waitnet; then
+if [ "$netif" != "timeout" ] && getargbool 0 rd.iscsi.waitnet; then
all_ifaces_setup || exit 0
fi
@@ -264,6 +265,7 @@ fi
if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then
if [ "$netif" = "timeout" ] || [ "$netif" = "online" ]; then
+ [ -f /tmp/session-retry ] || echo 1 > /tmp/session-retry
handle_firmware
ret=$?
fi
--
2.6.6
++++++ 0200-dracut_fix_multipath_without_config.patch ++++++
>From 796000a6afd2fa20dc40eae053ee71480b16b49c Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 27 Sep 2016 12:40:22 +0200
Subject: 90multipath: do not fail startup on missing configuration
References: bsc#930019
If rootfs is on multipath, but platform does not have an /etc/multipath.conf
file which is not urgently needed, they system will not boot, due to:
multipathd is not started and rootfs and swap are not found:
systemctl status multipathd.service
* multipathd.service - Device-Mapper Multipath Device Controller
Loaded: loaded (/usr/lib/systemd/system/multipathd.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Condition: start condition failed at Thu 2015-05-07 11:49:11 CEST; 7min ago
ConditionPathExists=/etc/multipath.conf was not met
and exit to dracut shell.
---
modules.d/90multipath/multipathd.service | 1 -
1 file changed, 1 deletion(-)
diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service
index b64b02c..f7bc65f 100644
--- a/modules.d/90multipath/multipathd.service
+++ b/modules.d/90multipath/multipathd.service
@@ -6,7 +6,6 @@ Conflicts=shutdown.target
ConditionKernelCommandLine=!nompath
ConditionKernelCommandLine=!rd.multipath=0
ConditionKernelCommandLine=!rd_NO_MULTIPATH
-ConditionPathExists=/etc/multipath.conf
[Service]
Type=simple
--
2.6.6
++++++ 0201-fix_nfs_with_ip_instead_of_hostname.patch ++++++
>From 7b4b832aded41e25cebbb8807b8e60bf58fd122e Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn(a)suse.com>
Date: Wed, 4 May 2016 13:33:43 +0200
Subject: 95nfs: Fix mount if IPv4 address is used in /etc/fstab
Signed-off-by: Thomas Renninger <trenn(a)suse.com>
---
modules.d/95nfs/module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
index dc97aba..6644c07 100755
--- a/modules.d/95nfs/module-setup.sh
+++ b/modules.d/95nfs/module-setup.sh
@@ -51,9 +51,9 @@ cmdline() {
### ip= ###
if [[ $nfs_device = [0-9]*\.[0-9]*\.[0-9]*.[0-9]* ]] || [[ $nfs_device = \[.*\] ]]; then
- nfs_address="$nfs_device"
+ nfs_address="${nfs_device%%:*}"
else
- lookup=$(host $(echo ${nfs_device%%:*})| head -n1)
+ lookup=$(host "${nfs_device%%:*}"| head -n1)
nfs_address=${lookup##* }
fi
ifname=$(ip -o route get to $nfs_address | sed -n 's/.*dev \([^ ]*\).*/\1/p')
--
2.6.6
++++++ 0202-dracut_dmraid_use_udev.patch ++++++
From: Hannes Reinecke <hare(a)suse.com>
Use udev rules to create dmraid /dev/mapper/ devices
https://bugzilla.opensuse.org/show_bug.cgi?id=905746
---
modules.d/90dmraid/dmraid.sh | 3 ---
modules.d/90dmraid/module-setup.sh | 2 +-
2 files changed, 1 insertion(+), 4 deletions(-)
Index: dracut-044/modules.d/90dmraid/dmraid.sh
===================================================================
--- dracut-044.orig/modules.d/90dmraid/dmraid.sh
+++ dracut-044/modules.d/90dmraid/dmraid.sh
@@ -33,8 +33,6 @@ if [ -n "$DM_RAIDS" ] || getargbool 0 rd
if [ "${s##$r}" != "$s" ]; then
info "Activating $s"
dmraid -ay -i -p --rm_partitions "$s" 2>&1 | vinfo
- [ -e "/dev/mapper/$s" ] && kpartx -a "/dev/mapper/$s" 2>&1 | vinfo
- udevsettle
fi
done
done
Index: dracut-044/modules.d/90dmraid/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/90dmraid/module-setup.sh
+++ dracut-044/modules.d/90dmraid/module-setup.sh
@@ -74,6 +74,8 @@ install() {
inst "$moddir/dmraid.sh" /sbin/dmraid_scan
+ inst_rules 66-kpartx.rules 67-kpartx-compat.rules
+
inst_libdir_file "libdmraid-events*.so*"
inst_rules "$moddir/61-dmraid-imsm.rules"
++++++ 0203-no-fail-builtin-module.patch ++++++
>From a7996e5e33c0456c96764dfb1ab35c0a59134ccc Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt(a)suse.com>
Date: Tue, 3 Nov 2015 16:29:21 +0100
Subject: [PATCH] Don't let inst1mod fail if module is built-in
- Fixes bsc#935563
Signed-off-by: Fabian Vogt <fvogt(a)suse.com>
---
dracut-init.sh | 5 +++++
1 file changed, 5 insertions(+)
Index: dracut-044/dracut-init.sh
===================================================================
--- dracut-044.orig/dracut-init.sh 2016-04-14 14:12:39.421377052 +0200
+++ dracut-044/dracut-init.sh 2016-04-14 14:58:46.285764636 +0200
@@ -1129,6 +1129,11 @@ instmods() {
return 0
fi
+ if grep -q "/${_mod}.ko" /lib/modules/$kernel/modules.builtin; then
+ # Module is built-in
+ return 0
+ fi
+
# If we are building a host-specific initramfs and this
# module is not already loaded, move on to the next one.
[[ $hostonly ]] \
++++++ 0204-mkinitrd-fix-monster.patch ++++++
From: Fabian Vogt <fvogt(a)suse.com>
Subject: Implement functionality of -A option
References: boo#935993
- Without this patch, -A sets host_only=0,
but host_only wasn't used
- Translates into --no-host-only now
---
mkinitrd-suse.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-043/mkinitrd-suse.sh
===================================================================
--- dracut-043.orig/mkinitrd-suse.sh
+++ dracut-043/mkinitrd-suse.sh
@@ -263,7 +263,7 @@ while (($# > 0)); do
;;
-M) read_arg map_file "$@" || shift $?
;;
- -A) host_only=0;;
+ -A) dracut_args="${dracut_args} --no-host-only";;
-B) skip_update_bootloader=1;;
-v|--verbose) dracut_args="${dracut_args} -v";;
-L) logfile=;;
++++++ 0205-mdraid_ignore_hostonly.patch ++++++
From: Fabian Vogt <fvogt(a)suse.com>
Subject: [PATCH] Always install mdraid modules
References: boo#935993
- Even if not currently loaded
- hostonly logic seems to be broken
---
modules.d/90mdraid/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-043/modules.d/90mdraid/module-setup.sh
===================================================================
--- dracut-043.orig/modules.d/90mdraid/module-setup.sh
+++ dracut-043/modules.d/90mdraid/module-setup.sh
@@ -33,7 +33,7 @@ depends() {
# called by dracut
installkernel() {
- instmods =drivers/md
+ hostonly='' instmods =drivers/md
}
# called by dracut
++++++ 0206-nfs_dns_alias.patch ++++++
From: Fabian Vogt <fvogt(a)suse.com>
Subject: NFS: Support host being a DNS ALIAS
The "host" command may also print something else than
"asdf.local.lan has address 1.2.3.4", like:
"rootserver.local.net is an alias for rainbow.local.net.".
So "head -n1" is not enough.
Fixes boo#955592
---
modules.d/95nfs/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-043/modules.d/95nfs/module-setup.sh
===================================================================
--- dracut-043.orig/modules.d/95nfs/module-setup.sh
+++ dracut-043/modules.d/95nfs/module-setup.sh
@@ -53,7 +53,7 @@ cmdline() {
if [[ $nfs_device = [0-9]*\.[0-9]*\.[0-9]*.[0-9]* ]] || [[ $nfs_device = \[.*\] ]]; then
nfs_address="${nfs_device%%:*}"
else
- lookup=$(host "${nfs_device%%:*}"| head -n1)
+ lookup=$(host "${nfs_device%%:*}"| grep " address " | head -n1)
nfs_address=${lookup##* }
fi
ifname=$(ip -o route get to $nfs_address | sed -n 's/.*dev \([^ ]*\).*/\1/p')
++++++ 0207-handle_module_aliases.patch ++++++
From: Fabian Vogt <fvogt(a)suse.com>
Date: Thu, 21 Jan 2016 12:38:05 +0100
Subject: [PATCH] Correctly handle module aliases
Handle module aliases correctly to not generate unbootable
initrds with different kernel versions. Fix for boo#962694
See the diff for a detailed explanation.
---
dracut.sh | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
Index: dracut-044/dracut.sh
===================================================================
--- dracut-044.orig/dracut.sh
+++ dracut-044/dracut.sh
@@ -1214,6 +1214,27 @@ if [[ $hostonly ]]; then
while read m rest || [ -n "$m" ]; do
host_modules["$m"]=1
done </proc/modules
+
+ # Explanation of the following section:
+ # Since kernel 4.4, mpt3sas is a complete replacement for mpt2sas.
+ # mpt3sas has an alias to mpt2sas now, but since mpt3sas isn't loaded
+ # when generating the initrd from kernel < 4.4, it's not included.
+ # The other direction has the same issue:
+ # When generating the initrd from kernel >= 4.4, mpt2sas isn't loaded,
+ # so it's not included.
+ # Both ways result in an unbootable initrd.
+
+ # also add aliases of loaded modules
+ for mod in "${!host_modules[@]}"; do
+ aliases=$(modinfo -F alias "$mod" 2>&1)
+ for alias in $aliases; do
+ host_modules["$alias"]=1
+ done
+ # mod might be an alias in the target kernel, find the real module
+ mod_filename=$(modinfo -k "$kernel" "$mod" -F filename)
+ [ $? -ne 0 ] && continue
+ host_modules["$(basename -s .ko "$mod_filename")"]=1
+ done
fi
unset m
++++++ 0208-no_forced_virtnet.patch ++++++
From: Fabian Vogt <fvogt(a)suse.com>
Subject: Don't include qemu network modules without reason
virtio-net without other network tools does not make sense
and causes various bugs, like bsc#960669.
This patch merges 90qemu-net into 90-kernel-network-modules.
---
modules.d/90kernel-network-modules/module-setup.sh | 24 ++++++++++++++++++++-
modules.d/90qemu-net/module-setup.sh | 1
2 files changed, 24 insertions(+), 1 deletion(-)
Index: dracut-044/modules.d/90kernel-network-modules/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh
+++ dracut-044/modules.d/90kernel-network-modules/module-setup.sh
@@ -10,6 +10,25 @@ depends() {
return 0
}
+running_in_qemu() {
+ if type -P systemd-detect-virt >/dev/null 2>&1; then
+ vm=$(systemd-detect-virt --vm 2>&1)
+ (($? != 0)) && return 255
+ [[ $vm = "qemu" ]] && return 0
+ [[ $vm = "kvm" ]] && return 0
+ [[ $vm = "bochs" ]] && return 0
+ fi
+
+ for i in /sys/class/dmi/id/*_vendor; do
+ [[ -f $i ]] || continue
+ read vendor < $i
+ [[ "$vendor" == "QEMU" ]] && return 0
+ [[ "$vendor" == "Bochs" ]] && return 0
+ done
+
+ return 255
+}
+
# called by dracut
installkernel() {
# Include wired net drivers, excluding wireless
@@ -63,6 +82,12 @@ installkernel() {
=drivers/net/ethernet \
ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net xennet
hostonly="" instmods iscsi_ibft crc32c iscsi_boot_sysfs
+
+ if running_in_qemu; then
+ hostonly='' instmods virtio_net e1000 8139cp pcnet32 e100 ne2k_pci
+ else
+ return 0
+ fi
}
# called by dracut
Index: dracut-044/modules.d/90qemu-net/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/90qemu-net/module-setup.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-
-# called by dracut
-check() {
- if type -P systemd-detect-virt >/dev/null 2>&1; then
- vm=$(systemd-detect-virt --vm >/dev/null 2>&1)
- (($? != 0)) && return 255
- [[ $vm = "qemu" ]] && return 0
- [[ $vm = "kvm" ]] && return 0
- [[ $vm = "bochs" ]] && return 0
- fi
-
- for i in /sys/class/dmi/id/*_vendor; do
- [[ -f $i ]] || continue
- read vendor < $i
- [[ "$vendor" == "QEMU" ]] && return 0
- [[ "$vendor" == "Bochs" ]] && return 0
- done
-
- return 255
-}
-
-# called by dracut
-installkernel() {
- # qemu specific modules
- hostonly='' instmods virtio_net e1000 8139cp pcnet32 e100 ne2k_pci
-}
++++++ 0209-fix_modules_load_d_hostonly.patch ++++++
From: Fabian Vogt <fvogt(a)suse.com>
Subject: Fix loading of modules in modules-load.d
With hostonly enabled, only modules that are currently
loaded are included in the initrd. Modules which are
explicitly listed in modules-load.d do not need to
be filtered that way. Fix for boo#962224.
---
modules.d/00systemd/module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: dracut-044/modules.d/00systemd/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/00systemd/module-setup.sh
+++ dracut-044/modules.d/00systemd/module-setup.sh
@@ -154,7 +154,7 @@ install() {
}
_mods=$(modules_load_get /usr/lib/modules-load.d)
- [[ $_mods ]] && instmods $_mods
+ [[ $_mods ]] && hostonly='' instmods $_mods
if [[ $hostonly ]]; then
inst_multiple -H -o \
@@ -169,7 +169,7 @@ install() {
/etc/sysctl.conf
_mods=$(modules_load_get /etc/modules-load.d)
- [[ $_mods ]] && instmods $_mods
+ [[ $_mods ]] && hostonly='' instmods $_mods
fi
if ! [[ -e "$initdir/etc/machine-id" ]]; then
++++++ 0210-add_fcoe_uefi_check.patch ++++++
>From c5fd4748ecff45dfaf707af30b649153ae88ea20 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt(a)suse.com>
Date: Tue, 27 Sep 2016 12:41:17 +0200
Subject: fcoe-uefi: Add check for usage
References: boo#965477
fcoe-uefi gets included by default on EFI systems,
as it does not do the same check that fcoe does,
therefore needlessly pulling in network modules.
This patch copies the check from fcoe to fcoe-uefi.
---
modules.d/95fcoe-uefi/module-setup.sh | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/modules.d/95fcoe-uefi/module-setup.sh b/modules.d/95fcoe-uefi/module-setup.sh
index 5d8477c..66af804 100755
--- a/modules.d/95fcoe-uefi/module-setup.sh
+++ b/modules.d/95fcoe-uefi/module-setup.sh
@@ -4,6 +4,11 @@
check() {
[[ $hostonly ]] || [[ $mount_needs ]] && {
[ -d /sys/firmware/efi ] || return 255
+ for c in /sys/bus/fcoe/devices/ctlr_* ; do
+ [ -L $c ] || continue
+ fcoe_ctlr=$c
+ done
+ [ -z "$fcoe_ctlr" ] && return 255
}
require_binaries dcbtool fipvlan lldpad ip readlink || return 1
return 0
--
2.6.6
++++++ 0212-fcoe_reorder_init_path.patch ++++++
>From 77b3a15c6673dfce2dbd76cceffb7d5d4819c694 Mon Sep 17 00:00:00 2001
From: Johannes Thumshirn <jthumshirn(a)suse.com>
Date: Tue, 27 Sep 2016 12:41:22 +0200
Subject: 95fcoe: Reorder initialisation for bnx2x
References: bsc#982588
Signed-off-by: Johannes Thumshirn <jthumshirn(a)suse.com>
---
modules.d/95fcoe/fcoe-up.sh | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
index fb3b4c4..a525ade 100755
--- a/modules.d/95fcoe/fcoe-up.sh
+++ b/modules.d/95fcoe/fcoe-up.sh
@@ -45,7 +45,16 @@ write_fcoemon_cfg() {
echo MODE=\"fabric\" >> /etc/fcoe/cfg-$netif
}
-if [ "$dcb" = "dcb" ]; then
+if [ "$netdriver" = "bnx2x" ]; then
+ # If driver is bnx2x, do not use /sys/module/fcoe/parameters/create but fipvlan
+ modprobe 8021q
+ udevadm settle --timeout=30
+ # Sleep for 3 s to allow dcb negotiation
+ sleep 3
+ write_fcoemon_cfg
+ fcoemon --syslog=yes
+ fipvlan -c -s "$netif"
+elif [ "$dcb" = "dcb" ]; then
# wait for lldpad to be ready
i=0
while [ $i -lt 60 ]; do
@@ -79,18 +88,11 @@ if [ "$dcb" = "dcb" ]; then
sleep 1
write_fcoemon_cfg
- fcoemon --syslog
-elif [ "$netdriver" = "bnx2x" ]; then
- # If driver is bnx2x, do not use /sys/module/fcoe/parameters/create but fipvlan
- modprobe 8021q
- udevadm settle --timeout=30
- # Sleep for 3 s to allow dcb negotiation
- sleep 3
- fipvlan "$netif" -c -s
+ fcoemon --syslog=yes
else
vlan="no"
write_fcoemon_cfg
- fcoemon --syslog
+ fcoemon --syslog=yes
fi
need_shutdown
--
2.6.6
++++++ 0213-Fix-wrong-keymap-inclusion.patch ++++++
>From 234283235ba52a50b84b396b85ff8cf6e16d80a0 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt(a)suse.com>
Date: Fri, 26 Aug 2016 09:44:05 +0200
Subject: [PATCH] Fix wrong keymap inclusion
For MAP=lt, dracut would choose lt.std.map instead of lt.map.
References: bsc#942896
---
modules.d/10i18n/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index 4fd0b26..e5bf5eb 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -30,8 +30,9 @@ install() {
# This is from 10redhat-i18n.
findkeymap () {
local MAP=$1
+ local MAPNAME=${1%.map*}
[[ ! -f $MAP ]] && \
- MAP=$(find ${kbddir}/keymaps -type f -name $MAP -o -name $MAP.\* | head -n1)
+ MAP=$(find ${kbddir}/keymaps -type f -name ${MAPNAME} -o -name ${MAPNAME}.map -o -name ${MAPNAME}.map.\* | head -n1)
[[ " $KEYMAPS " = *" $MAP "* ]] && return
KEYMAPS="$KEYMAPS $MAP"
case $MAP in
--
2.6.6
++++++ 0214-95fcoe-Do-not-overwrite-FCoE-configuration.patch ++++++
>From 581b48e2e171f1afb01b89a9a4089400d9b20829 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 16 Aug 2016 13:26:07 +0200
Subject: [PATCH] 95fcoe: Do not overwrite FCoE configuration
If the installation already has a FCoE configuration we should
not attempt to overwrite it but rather use the pre-defined
configuration.
References: bsc#993861
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/fcoe-up.sh | 1 +
modules.d/95fcoe/module-setup.sh | 2 ++
2 files changed, 3 insertions(+)
diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
index a525ade..662b21a 100755
--- a/modules.d/95fcoe/fcoe-up.sh
+++ b/modules.d/95fcoe/fcoe-up.sh
@@ -31,6 +31,7 @@ netdriver=$(readlink -f /sys/class/net/$netif/device/driver)
netdriver=${netdriver##*/}
write_fcoemon_cfg() {
+ [ -f /etc/fcoe/cfg-$netif ] && return
echo FCOE_ENABLE=\"yes\" > /etc/fcoe/cfg-$netif
if [ "$dcb" = "dcb" ]; then
echo DCB_REQUIRED=\"yes\" >> /etc/fcoe/cfg-$netif
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index 059bfde..a78516d 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -77,6 +77,8 @@ install() {
local _fcoeconf=$(cmdline)
[[ $_fcoeconf ]] && printf "%s\n" "$_fcoeconf" >> "${initdir}/etc/cmdline.d/95fcoe.conf"
fi
+ inst_multiple /etc/fcoe/cfg-*
+
inst "$moddir/fcoe-up.sh" "/sbin/fcoe-up"
inst "$moddir/fcoe-edd.sh" "/sbin/fcoe-edd"
inst "$moddir/fcoe-genrules.sh" "/sbin/fcoe-genrules.sh"
--
2.6.6
++++++ 0215-95fcoe-Do-not-complain-about-missing-etc-hba.conf.patch ++++++
>From 46736da0be28e579b53ac3c0dd982f3765d48f4a Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 23 Aug 2016 14:09:12 +0200
Subject: [PATCH] 95fcoe: Do not complain about missing /etc/hba.conf
The file '/etc/hba.conf' got dropped by an updated fcoe-utils
package, so do not complain if it doesn't exist.
References: bsc#980539
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/module-setup.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index a78516d..d08e917 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -67,8 +67,10 @@ cmdline() {
# called by dracut
install() {
inst_multiple ip dcbtool fipvlan lldpad readlink lldptool fcoemon fcoeadm
- inst_libdir_file 'libhbalinux.so*'
- inst "/etc/hba.conf" "/etc/hba.conf"
+ if [ -f "/etc/hba.conf" ] ; then
+ inst_libdir_file 'libhbalinux.so*'
+ inst "/etc/hba.conf" "/etc/hba.conf"
+ fi
mkdir -m 0755 -p "$initdir/var/lib/lldpad"
mkdir -m 0755 -p "$initdir/etc/fcoe"
--
2.6.6
++++++ 0216-95fcoe-silence-lldpad-warnings.patch ++++++
>From 4d9ec023b6c4a20cc7ffc6ea4ccf86b008a3cbcf Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 23 Aug 2016 14:35:04 +0200
Subject: [PATCH] 95fcoe: silence lldpad warnings
When lldpad is not running, any calls to 'dcbtool' will be printing
out a warning. As it perfectly legit to have FCoE running without
DCB we should not be printing out the error.
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index d08e917..18c00b3 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -48,11 +48,11 @@ cmdline() {
d=$(cd -P $c; echo $PWD)
i=${d%/*}
read mac < ${i}/address
- s=$(dcbtool gc ${i##*/} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
+ s=$(dcbtool gc ${i##*/} dcb 2>/dev/null | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
if [ -z "$s" ] ; then
p=$(get_vlan_parent ${i})
if [ "$p" ] ; then
- s=$(dcbtool gc ${p} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
+ s=$(dcbtool gc ${p} dcb 2>/dev/null | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
fi
fi
if [ "$s" = "on" ] ; then
--
2.6.6
++++++ 0217-95fcoe-Allow-to-specify-the-FCoE-mode-via-the-fcoe-p.patch ++++++
>From 77a524b3659529b14abfdb574094b92216b59af5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 24 Aug 2016 08:32:04 +0200
Subject: [PATCH] 95fcoe: Allow to specify the FCoE mode via the fcoe=
parameter
FCoE can run in Fabric (ie FCF) or VN2VN mode, so we should allowing
to set this parameter from the commandline, too.
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
dracut.cmdline.7.asc | 8 +++++---
modules.d/95fcoe/fcoe-genrules.sh | 4 ++--
modules.d/95fcoe/fcoe-up.sh | 9 +++++++--
modules.d/95fcoe/module-setup.sh | 8 +++++++-
modules.d/95fcoe/parse-fcoe.sh | 22 ++++++++++++++++++----
5 files changed, 39 insertions(+), 12 deletions(-)
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
index 7368aa1..b885946 100644
--- a/dracut.cmdline.7.asc
+++ b/dracut.cmdline.7.asc
@@ -746,10 +746,12 @@ iscsistart -b --param node.session.timeo.replacement_timeout=30
FCoE
~~~~
-**fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__::
+**fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__:__{fabric|vn2vn}__::
Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
- _<MAC>_ or EDD settings. For the second argument, currently only nodcb is
- supported. This parameter can be specified multiple times.
+ _<MAC>_ or EDD settings. The second argument specifies if DCB
+ should be used. The optional third argument specifies whether
+ fabric or VN2VN mode should be used.
+ This parameter can be specified multiple times.
+
NOTE: letters in the MAC-address must be lowercase!
diff --git a/modules.d/95fcoe/fcoe-genrules.sh b/modules.d/95fcoe/fcoe-genrules.sh
index eb58601..af15a58 100755
--- a/modules.d/95fcoe/fcoe-genrules.sh
+++ b/modules.d/95fcoe/fcoe-genrules.sh
@@ -7,8 +7,8 @@
# Write udev rules
{
if [ -n "$fcoe_mac" ] ; then
- printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s"\n' "$fcoe_mac" "$fcoe_dcb"
+ printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s"\n' "$fcoe_mac" "$fcoe_dcb" "$fcoe_mode"
else
- printf 'ACTION=="add", SUBSYSTEM=="net", NAME=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s"\n' "$fcoe_interface" "$fcoe_dcb"
+ printf 'ACTION=="add", SUBSYSTEM=="net", NAME=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s"\n' "$fcoe_interface" "$fcoe_dcb" "$fcoe_mode"
fi
} >> /etc/udev/rules.d/92-fcoe.rules
diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
index 662b21a..ffcc4e3 100755
--- a/modules.d/95fcoe/fcoe-up.sh
+++ b/modules.d/95fcoe/fcoe-up.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
# We get called like this:
-# fcoe-up <network-device> <dcb|nodcb>
+# fcoe-up <network-device> <dcb|nodcb> <fabric|vn2vn>
#
# Note currently only nodcb is supported, the dcb option is reserved for
# future use.
@@ -15,6 +15,7 @@ type ip_to_var >/dev/null 2>&1 || . /lib/net-lib.sh
netif=$1
dcb=$2
+mode=$3
vlan="yes"
iflink=$(cat /sys/class/net/$netif/iflink)
@@ -43,7 +44,11 @@ write_fcoemon_cfg() {
else
echo AUTO_VLAN=\"no\" >> /etc/fcoe/cfg-$netif
fi
- echo MODE=\"fabric\" >> /etc/fcoe/cfg-$netif
+ if [ "$mode" = "vn2vn" ] ; then
+ echo MODE=\"vn2vn\" >> /etc/fcoe/cfg-$netif
+ else
+ echo MODE=\"fabric\" >> /etc/fcoe/cfg-$netif
+ fi
}
if [ "$netdriver" = "bnx2x" ]; then
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index 18c00b3..2a5c71a 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -44,7 +44,13 @@ cmdline() {
for c in /sys/bus/fcoe/devices/ctlr_* ; do
[ -L $c ] || continue
read enabled < $c/enabled
+ read mode < $c/mode
[ $enabled -eq 0 ] && continue
+ if [ $mode = "VN2VN" ] ; then
+ mode="vn2vn"
+ else
+ mode="fabric"
+ fi
d=$(cd -P $c; echo $PWD)
i=${d%/*}
read mac < ${i}/address
@@ -60,7 +66,7 @@ cmdline() {
else
dcb="nodcb"
fi
- echo "fcoe=${mac}:${dcb}"
+ echo "fcoe=${mac}:${dcb}:${mode}"
done
}
diff --git a/modules.d/95fcoe/parse-fcoe.sh b/modules.d/95fcoe/parse-fcoe.sh
index 9f47184..75cca9a 100755
--- a/modules.d/95fcoe/parse-fcoe.sh
+++ b/modules.d/95fcoe/parse-fcoe.sh
@@ -1,8 +1,8 @@
#!/bin/sh
#
# Supported formats:
-# fcoe=<networkdevice>:<dcb|nodcb>
-# fcoe=<macaddress>:<dcb|nodcb>
+# fcoe=<networkdevice>:<dcb|nodcb>:<fabric|vn2vn>
+# fcoe=<macaddress>:<dcb|nodcb>:<fabric|vn2vn>
#
# Note currently only nodcb is supported, the dcb option is reserved for
# future use.
@@ -10,8 +10,8 @@
# Note letters in the macaddress must be lowercase!
#
# Examples:
-# fcoe=eth0:nodcb
-# fcoe=4a:3f:4c:04:f8:d7:nodcb
+# fcoe=eth0:nodcb:vn2vn
+# fcoe=4a:3f:4c:04:f8:d7:nodcb:fabric
[ -z "$fcoe" ] && fcoe=$(getarg fcoe=)
@@ -32,11 +32,25 @@ parse_fcoe_opts() {
2)
fcoe_interface=$1
fcoe_dcb=$2
+ fcoe_mode="fabric"
+ return 0
+ ;;
+ 3)
+ fcoe_interface=$1
+ fcoe_dcb=$2
+ fcoe_mode=$3
return 0
;;
7)
fcoe_mac=$1:$2:$3:$4:$5:$6
fcoe_dcb=$7
+ fcoe_mode="fabric"
+ return 0
+ ;;
+ 8)
+ fcoe_mac=$1:$2:$3:$4:$5:$6
+ fcoe_dcb=$7
+ fcoe_mode=$8
return 0
;;
*)
--
2.6.6
++++++ 0218-40network-allow-persistent-interface-names.patch ++++++
>From 47831cf386dd4d49c2b56f3bbbaf719348b9862f Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 24 Aug 2016 15:12:52 +0200
Subject: [PATCH] 40network: allow persistent interface names
We are using persistent interface names even for kernel device
names on SLES, so we should be removing the warning.
References: bsc#995284
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/40network/net-lib.sh | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index 0a77d4b..d17209a 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -573,15 +573,6 @@ parse_ifname_opts() {
;;
esac
- case $ifname_if in
- eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]|eth[0-9][0-9][0-9][0-9])
- warn "ifname=$ifname_if uses the kernel name space for interfaces"
- warn "This can fail for multiple network interfaces and is discouraged!"
- warn "Please use a custom name like \"netboot\" or \"bluesocket\""
- warn "or use biosdevname and no ifname= at all."
- ;;
- esac
-
}
# some network driver need long time to initialize, wait before it's ready.
--
2.6.6
++++++ 0219-95fcoe-use-interface-names-instead-of-MAC-addresses.patch ++++++
>From 4f19de16df2746b0b742bfbecfb493728a150c86 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 24 Aug 2016 15:14:31 +0200
Subject: [PATCH] 95fcoe: use interface names instead of MAC addresses
Now that we are using persistent network names we can switch
to using the interface names when specifying the fcoe configuration.
With that we can print the fcoe configuration only once.
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/module-setup.sh | 60 +++++++++++++++++++++-------------------
1 file changed, 32 insertions(+), 28 deletions(-)
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index 2a5c71a..acc611d 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -40,34 +40,38 @@ get_vlan_parent() {
# called by dracut
cmdline() {
-
- for c in /sys/bus/fcoe/devices/ctlr_* ; do
- [ -L $c ] || continue
- read enabled < $c/enabled
- read mode < $c/mode
- [ $enabled -eq 0 ] && continue
- if [ $mode = "VN2VN" ] ; then
- mode="vn2vn"
- else
- mode="fabric"
- fi
- d=$(cd -P $c; echo $PWD)
- i=${d%/*}
- read mac < ${i}/address
- s=$(dcbtool gc ${i##*/} dcb 2>/dev/null | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
- if [ -z "$s" ] ; then
- p=$(get_vlan_parent ${i})
- if [ "$p" ] ; then
- s=$(dcbtool gc ${p} dcb 2>/dev/null | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
- fi
- fi
- if [ "$s" = "on" ] ; then
- dcb="dcb"
- else
- dcb="nodcb"
- fi
- echo "fcoe=${mac}:${dcb}:${mode}"
- done
+ {
+ for c in /sys/bus/fcoe/devices/ctlr_* ; do
+ [ -L $c ] || continue
+ read enabled < $c/enabled
+ read mode < $c/mode
+ [ $enabled -eq 0 ] && continue
+ if [ $mode = "VN2VN" ] ; then
+ mode="vn2vn"
+ else
+ mode="fabric"
+ fi
+ d=$(cd -P $c; echo $PWD)
+ i=${d%/*}
+ ifname=${i##*/}
+ read mac < ${i}/address
+ s=$(dcbtool gc ${i##*/} dcb 2>/dev/null | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
+ if [ -z "$s" ] ; then
+ p=$(get_vlan_parent ${i})
+ if [ "$p" ] ; then
+ s=$(dcbtool gc ${p} dcb 2>/dev/null | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
+ ifname=${p##*/}
+ fi
+ fi
+ if [ "$s" = "on" ] ; then
+ dcb="dcb"
+ else
+ dcb="nodcb"
+ fi
+ echo "ifname=${ifname}:${mac}"
+ echo "fcoe=${ifname}:${dcb}:${mode}"
+ done
+ } | sort | uniq
}
# called by dracut
--
2.6.6
++++++ 0220-95fcoe-always-set-AUTO_VLAN-for-fcoemon.patch ++++++
>From fdbb581a9df74db58c306141aca24dc824e72dec Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 24 Aug 2016 12:26:04 +0200
Subject: [PATCH] 95fcoe: always set AUTO_VLAN for fcoemon
fcoemon is well capable of figuring out whether a vlan should
be used, so there's no need to disable the AUTO_VLAN feature.
References: bsc#995019
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/fcoe-up.sh | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
index ffcc4e3..102f9d3 100755
--- a/modules.d/95fcoe/fcoe-up.sh
+++ b/modules.d/95fcoe/fcoe-up.sh
@@ -92,13 +92,8 @@ elif [ "$dcb" = "dcb" ]; then
done
sleep 1
-
- write_fcoemon_cfg
- fcoemon --syslog=yes
-else
- vlan="no"
- write_fcoemon_cfg
- fcoemon --syslog=yes
fi
+write_fcoemon_cfg
+fcoemon --syslog=yes
need_shutdown
--
2.6.6
++++++ 0221-95fcoe-Add-shutdown-script.patch ++++++
>From 2a5b570b7a6020d63ab6c4cbdb9e926d88b32639 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 25 Aug 2016 09:36:06 +0200
Subject: [PATCH] 95fcoe: Add shutdown script
We should be disabling the FCoE connection (which triggers sending
a LOGO internally) to logout from the target; this resets the target
and will avoid hitting a busy condition during reboots.
References: bsc#994860
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/module-setup.sh | 1 +
modules.d/95fcoe/stop-fcoe.sh | 6 ++++++
2 files changed, 7 insertions(+)
create mode 100755 modules.d/95fcoe/stop-fcoe.sh
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
index acc611d..572670c 100755
--- a/modules.d/95fcoe/module-setup.sh
+++ b/modules.d/95fcoe/module-setup.sh
@@ -97,6 +97,7 @@ install() {
inst_hook pre-trigger 03 "$moddir/lldpad.sh"
inst_hook cmdline 99 "$moddir/parse-fcoe.sh"
inst_hook cleanup 90 "$moddir/cleanup-fcoe.sh"
+ inst_hook shutdown 40 "$moddir/stop-fcoe.sh"
dracut_need_initqueue
}
diff --git a/modules.d/95fcoe/stop-fcoe.sh b/modules.d/95fcoe/stop-fcoe.sh
new file mode 100755
index 0000000..d2462b3
--- /dev/null
+++ b/modules.d/95fcoe/stop-fcoe.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+for f in /sys/bus/fcoe/devices/ctlr_* ; do
+ [ -e $f ] || continue
+ echo 0 > $f/enabled
+done
--
2.6.6
++++++ 0222-90dm-Fixup-shutdown-script.patch ++++++
>From 885b133ecd7913990449e7598526d0965ebc3458 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 25 Aug 2016 09:28:30 +0200
Subject: [PATCH] 90dm: Fixup shutdown script
When calling the shutdown script we need to take care of traversing
the device-mapper tables, otherwise we might end up trying to remove
a device-mapper device which still has another one stacked on top
and the removal will fail.
References: bsc#994860
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/90dm/dm-shutdown.sh | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/modules.d/90dm/dm-shutdown.sh b/modules.d/90dm/dm-shutdown.sh
index 04c89be..0685a68 100755
--- a/modules.d/90dm/dm-shutdown.sh
+++ b/modules.d/90dm/dm-shutdown.sh
@@ -1,11 +1,28 @@
#!/bin/sh
+_remove_dm() {
+ local dev=$1
+ local s
+ local devname
+
+ for s in /sys/block/${dev}/holders/dm-* ; do
+ [ -e ${s} ] || continue
+ _remove_dm ${s##*/}
+ done
+ devname=$(cat /sys/block/${dev}/dm/name)
+ dmsetup -v --noudevsync remove "$devname" || return $?
+ return 0
+}
+
_do_dm_shutdown() {
local ret=0
local final=$1
+ local dev
+
info "Disassembling device-mapper devices"
- for dev in $(dmsetup info -c --noheadings -o name) ; do
- dmsetup -v --noudevsync remove "$dev" || ret=$?
+ for dev in /sys/block/dm-* ; do
+ [ -e ${dev} ] || continue
+ _remove_dm ${dev##*/} || ret=$?
done
if [ "x$final" != "x" ]; then
info "dmsetup ls --tree"
--
2.6.6
++++++ 0223-90dm-fixup-dependency-cycle-between-MD-and-DM-shutdo.patch ++++++
>From e35fe0828445a36284b2ba0852247bf6671a2680 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 25 Aug 2016 09:49:14 +0200
Subject: [PATCH] 90dm: fixup dependency cycle between MD and DM shutdown
DM devices might be located on top of MD devices, so we need to
call the DM shutdown script before MD shutdown. The exception
here are multipath devices, which are below MD devices.
So skip removing multipath devices here to avoid spurious errors.
References: bsc#994860
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/90dm/dm-shutdown.sh | 14 ++++++++++++--
modules.d/90dm/module-setup.sh | 2 +-
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/modules.d/90dm/dm-shutdown.sh b/modules.d/90dm/dm-shutdown.sh
index 0685a68..732548b 100755
--- a/modules.d/90dm/dm-shutdown.sh
+++ b/modules.d/90dm/dm-shutdown.sh
@@ -9,8 +9,18 @@ _remove_dm() {
[ -e ${s} ] || continue
_remove_dm ${s##*/}
done
- devname=$(cat /sys/block/${dev}/dm/name)
- dmsetup -v --noudevsync remove "$devname" || return $?
+ # multipath devices might have MD devices on top,
+ # which are removed after this script. So do not
+ # remove those to avoid spurious errors
+ case $(cat /sys/block/${dev}/dm/uuid) in
+ mpath-*)
+ return 0
+ ;;
+ *)
+ devname=$(cat /sys/block/${dev}/dm/name)
+ dmsetup -v --noudevsync remove "$devname" || return $?
+ ;;
+ esac
return 0
}
diff --git a/modules.d/90dm/module-setup.sh b/modules.d/90dm/module-setup.sh
index 419e8b1..a5ada46 100755
--- a/modules.d/90dm/module-setup.sh
+++ b/modules.d/90dm/module-setup.sh
@@ -39,6 +39,6 @@ install() {
inst_rules "$moddir/59-persistent-storage-dm.rules"
prepare_udev_rules 59-persistent-storage-dm.rules
- inst_hook shutdown 30 "$moddir/dm-shutdown.sh"
+ inst_hook shutdown 25 "$moddir/dm-shutdown.sh"
}
--
2.6.6
++++++ 0224-95iscsi-setup-bnx2i-offload-connections-properly.patch ++++++
>From 3ac0a07b762d115b385aa05abcb0c1559f932319 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 27 Sep 2016 12:51:09 +0200
Subject: 95iscsi: setup bnx2i offload connections properly
bnx2i offload connections do not have a corresponding network
device, but needs the 'iscsiuio' daemon to be started.
References: bsc#997598
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95iscsi/iscsiroot.sh | 8 +++-----
modules.d/95iscsi/module-setup.sh | 1 +
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
index 6f0a15d..6ad279f 100755
--- a/modules.d/95iscsi/iscsiroot.sh
+++ b/modules.d/95iscsi/iscsiroot.sh
@@ -264,11 +264,9 @@ if [ "$netif" = "timeout" ] && all_ifaces_setup; then
fi
if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then
- if [ "$netif" = "timeout" ] || [ "$netif" = "online" ]; then
- [ -f /tmp/session-retry ] || echo 1 > /tmp/session-retry
- handle_firmware
- ret=$?
- fi
+ [ -f /tmp/session-retry ] || echo 1 > /tmp/session-retry
+ handle_firmware
+ ret=$?
fi
if ! [ "$netif" = "online" ]; then
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 797d4e1..e272b24 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -279,6 +279,7 @@ install() {
mkdir -p "${initdir}/$systemdsystemunitdir/basic.target.wants"
for i in \
iscsid.service \
+ iscsiuio.service \
; do
ln_r "$systemdsystemunitdir/${i}" "$systemdsystemunitdir/basic.target.wants/${i}"
done
--
2.6.6
++++++ 0225-95fcoe-do-not-start-fcoemon-twice.patch ++++++
>From 6e779051fd7ac96cf7db758df3ffe240ae3f8880 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 27 Sep 2016 16:38:36 +0200
Subject: [PATCH] 95fcoe: do not start fcoemon twice
With the latest changes to fcoe the fcoemon got started twice for
bnx2 installations.
References: bsc#1001512
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/fcoe-up.sh | 3 ---
1 file changed, 3 deletions(-)
diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
index 102f9d3..74bdf81 100755
--- a/modules.d/95fcoe/fcoe-up.sh
+++ b/modules.d/95fcoe/fcoe-up.sh
@@ -57,9 +57,6 @@ if [ "$netdriver" = "bnx2x" ]; then
udevadm settle --timeout=30
# Sleep for 3 s to allow dcb negotiation
sleep 3
- write_fcoemon_cfg
- fcoemon --syslog=yes
- fipvlan -c -s "$netif"
elif [ "$dcb" = "dcb" ]; then
# wait for lldpad to be ready
i=0
--
2.6.6
++++++ 0300-dracut_dont_use_dpkg_defaults_on_SUSE.patch ++++++
>From 9a3027a11ea5bac05c474a85da355e4e74793006 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 4 May 2016 13:36:34 +0200
Subject: [PATCH] 50plymouth: don't use dpkg defaults on SUSE
Signed-off-by: Thomas Renninger <trenn(a)suse.com>
---
modules.d/50plymouth/module-setup.sh | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
index 27dafca..d00f2f1 100755
--- a/modules.d/50plymouth/module-setup.sh
+++ b/modules.d/50plymouth/module-setup.sh
@@ -3,6 +3,8 @@
# called by dracut
check() {
[[ "$mount_needs" ]] && return 1
+ # Don't include plymouth if plymouth-dracut package not installed
+ [ -x /usr/lib/plymouth/plymouth-populate-initrd ] || return 1
require_binaries plymouthd plymouth plymouth-set-default-theme
}
@@ -14,9 +16,10 @@ depends() {
# called by dracut
install() {
PKGLIBDIR="/usr/lib/plymouth"
- if type -P dpkg-architecture &>/dev/null; then
- PKGLIBDIR="/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/plymouth"
- fi
+ # breaks if dpkg is installed on openSUSE
+ #if type -P dpkg-architecture &>/dev/null; then
+ # PKGLIBDIR="/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/plymouth"
+ #fi
[ -x /usr/libexec/plymouth/plymouth-populate-initrd ] && PKGLIBDIR="/usr/libexec/plymouth"
if grep -q nash ${PKGLIBDIR}/plymouth-populate-initrd \
--
2.6.6
++++++ 0301-include_sysconfig_language.patch ++++++
>From 64929793cb6f58c865b7d87d241524d9d9cd7a4e Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt(a)suse.com>
Date: Tue, 23 Aug 2016 12:56:08 +0200
Subject: [PATCH] Include /etc/sysconfig/language instead of generating
/etc/locale.conf
- There's a bug in systemd's locale-setup code, ignoring /etc/locale.conf
- Work around it by providing /etc/sysconfig/language directly
- May be the best way to support ROOT_USES_LANG in the initrd properly anyway,
so this patch can be kept even after the original systemd bug is fixed
---
modules.d/10i18n/module-setup.sh | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index e5bf5eb..d6aab19 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -25,6 +25,7 @@ install() {
KBDSUBDIRS=consolefonts,consoletrans,keymaps,unimaps
DEFAULT_FONT="${i18n_default_font:-LatArCyrHeb-16}"
I18N_CONF="/etc/locale.conf"
+ I18N_CONF_SUSE="/etc/sysconfig/language"
VCONFIG_CONF="/etc/vconsole.conf"
# This is from 10redhat-i18n.
@@ -212,9 +213,10 @@ install() {
if dracut_module_included "systemd" && [[ -f ${I18N_CONF} ]]; then
inst_simple ${I18N_CONF}
- else
- mksubdirs ${initdir}${I18N_CONF}
- print_vars LC_ALL LANG >> ${initdir}${I18N_CONF}
+ fi
+
+ if dracut_module_included "systemd" && [[ -f ${I18N_CONF_SUSE} ]]; then
+ inst_simple ${I18N_CONF_SUSE}
fi
if dracut_module_included "systemd" && [[ -f ${VCONFIG_CONF} ]]; then
--
2.6.6
++++++ 0302-Revert-90multipath-add-hostonly-multipath.conf-in-ca.patch ++++++
>From 269941f54e5cf0c601ae284207cdeab865ccc18d Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung(a)redhat.com>
Date: Wed, 4 May 2016 12:46:12 +0200
Subject: [PATCH] Revert '90multipath: add hostonly multipath.conf in case
hostonly mode'
Patch is incompatible with SUSE, which doesn't have mpathconf.
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
---
modules.d/90multipath/module-setup.sh | 42 +++++++----------------------------
1 file changed, 8 insertions(+), 34 deletions(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 831c99f..c2c85c4 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -1,28 +1,18 @@
#!/bin/bash
-is_mpath() {
- local _dev=$1
- [ -e /sys/dev/block/$_dev/dm/uuid ] || return 1
- [[ $(cat /sys/dev/block/$_dev/dm/uuid) =~ mpath- ]] && return 0
- return 1
-}
-
-majmin_to_mpath_dev() {
- local _dev
- for i in `ls -1 /dev/mapper/mpath*`; do
- dev=$(get_maj_min $i)
- if [ "$dev" = "$1" ]; then
- echo $i
- return
- fi
- done
-}
# called by dracut
check() {
local _rootdev
# if there's no multipath binary, no go.
require_binaries multipath || return 1
+ is_mpath() {
+ local _dev=$1
+ [ -e /sys/dev/block/$_dev/dm/uuid ] || return 1
+ [[ $(cat /sys/dev/block/$_dev/dm/uuid) =~ mpath- ]] && return 0
+ return 1
+ }
+
[[ $hostonly ]] || [[ $mount_needs ]] && {
for_each_host_dev_and_slaves is_mpath || return 255
}
@@ -89,18 +79,7 @@ installkernel() {
# called by dracut
install() {
- local _f _allow
- add_hostonly_mpath_conf() {
- is_mpath $1 && {
- local _dev
-
- _dev=$(majmin_to_mpath_dev $1)
- [ -z "$_dev" ] && return
- strstr "$_allow" "$_dev" && return
- _allow="$_allow --allow $_dev"
- }
- }
-
+ local _f
inst_multiple -o \
dmsetup \
kpartx \
@@ -114,11 +93,6 @@ install() {
/etc/multipath.conf \
/etc/multipath/*
- [[ $hostonly ]] && {
- for_each_host_dev_and_slaves_all add_hostonly_mpath_conf
- [ -n "$_allow" ] && mpathconf $_allow --outfile ${initdir}/etc/multipath.conf
- }
-
inst $(command -v partx) /sbin/partx
inst_libdir_file "libmultipath*" "multipath/*"
--
2.6.6
++++++ 0303-fix_multipath_check_hostonly.patch ++++++
>From 72e51c9d9eed05a8a012b944494306eddd92eae4 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt(a)suse.com>
Date: Tue, 23 Aug 2016 12:56:21 +0200
Subject: [PATCH] Fix warning about multipath if not needed
Although no device uses multipath, the module checks
for presence of the multipath binary first, printing a
warning if not present. This patch fixes the wrong ordering.
---
modules.d/90multipath/module-setup.sh | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index c2c85c4..d4bd6e1 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -3,8 +3,6 @@
# called by dracut
check() {
local _rootdev
- # if there's no multipath binary, no go.
- require_binaries multipath || return 1
is_mpath() {
local _dev=$1
@@ -17,6 +15,9 @@ check() {
for_each_host_dev_and_slaves is_mpath || return 255
}
+ # if there's no multipath binary, no go.
+ require_binaries multipath || return 1
+
return 0
}
--
2.6.6
++++++ 0304-90multipath-Start-daemon-after-udev-settle.patch ++++++
>From d72902ee8f789ccdb6db0f7fb31b9a3adf06670f Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 24 Aug 2016 09:05:01 +0200
Subject: [PATCH] 90multipath: Start daemon after udev settle
We need to wait until udev has processed all events, otherwise we'll
risk of misdetecting devices. This might cause a temporary interruption
during which multipath removes a device-mapper device, which then
causes a booting failure.
References: bsc#986734
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/90multipath/multipathd.service | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service
index f7bc65f..0f11bd5 100644
--- a/modules.d/90multipath/multipathd.service
+++ b/modules.d/90multipath/multipathd.service
@@ -1,6 +1,8 @@
[Unit]
Description=Device-Mapper Multipath Device Controller
Before=iscsi.service iscsid.service lvm2-activation-early.service
+Wants=systemd-udev-trigger.service systemd-udev-settle.service
+After=systemd-udev-trigger.service systemd-udev-settle.service
DefaultDependencies=no
Conflicts=shutdown.target
ConditionKernelCommandLine=!nompath
--
2.6.6
++++++ 0305-90multipath-load-dm_multipath-module-during-startup.patch ++++++
>From 457e1bd3a8707d82aa7b73294be84316b4658c61 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 24 Aug 2016 12:44:31 +0200
Subject: [PATCH] 90multipath: load dm_multipath module during startup
As the 'multipath' program will be triggered directly from
udev events it will be called before the multipath service
unit has started up. Which means we cannot rely on the
service unit to load the module for us, but we rather
have to do it early before udev is started.
References: bsc#986734
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/90multipath/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index d4bd6e1..a5db55f 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -30,7 +30,7 @@ depends() {
# called by dracut
cmdline() {
- for m in scsi_dh_alua scsi_dh_emc scsi_dh_rdac ; do
+ for m in scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm_multipath; do
if module_is_host_only $m ; then
printf 'rd.driver.pre=%s ' "$m"
fi
--
2.6.6
++++++ 0306-90multipath-add-shutdown-script.patch ++++++
>From 800cfd66abb60fe9524d321df77717435ed96e35 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 25 Aug 2016 09:33:26 +0200
Subject: [PATCH] 90multipath: add shutdown script
As the device-mapper module is removing all device-mapper tables
during shutdown we need to make sure to disable queuing on the
multipath devices; otherwise there might still be I/O pending
and the removal will fail.
References: bsc#994860
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/90multipath/module-setup.sh | 1 +
modules.d/90multipath/multipath-shutdown.sh | 7 +++++++
modules.d/90multipath/multipathd-needshutdown.sh | 9 +++++----
3 files changed, 13 insertions(+), 4 deletions(-)
create mode 100755 modules.d/90multipath/multipath-shutdown.sh
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index a5db55f..ad257ad 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -114,6 +114,7 @@ install() {
fi
inst_hook cleanup 80 "$moddir/multipathd-needshutdown.sh"
+ inst_hook shutdown 20 "$moddir/multipath-shutdown.sh"
inst_rules 40-multipath.rules 56-multipath.rules \
62-multipath.rules 65-multipath.rules \
diff --git a/modules.d/90multipath/multipath-shutdown.sh b/modules.d/90multipath/multipath-shutdown.sh
new file mode 100755
index 0000000..47e9990
--- /dev/null
+++ b/modules.d/90multipath/multipath-shutdown.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+for i in $(multipath -l -v1); do
+ if ! $(dmsetup table $i | sed -n '/.*queue_if_no_path.*/q1') ; then
+ dmsetup message $i 0 fail_if_no_path
+ fi
+done
diff --git a/modules.d/90multipath/multipathd-needshutdown.sh b/modules.d/90multipath/multipathd-needshutdown.sh
index 214abd3..1d41bf8 100755
--- a/modules.d/90multipath/multipathd-needshutdown.sh
+++ b/modules.d/90multipath/multipathd-needshutdown.sh
@@ -1,7 +1,8 @@
#!/bin/sh
-for i in /dev/mapper/mpath*; do
- [ -b "$i" ] || continue
- need_shutdown
- break
+for i in $(multipath -l -v1); do
+ if $(dmsetup table $i | sed -n '/.*queue_if_no_path.*/q1') ; then
+ need_shutdown
+ break
+ fi
done
--
2.6.6
++++++ 0307-90multipath-parse-kernel-commandline-option-multipat.patch ++++++
>From 8997862e7a72ee3322bc17002e321ec1969c1260 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 28 Sep 2016 15:29:52 +0200
Subject: [PATCH] 90multipath: parse kernel commandline option 'multipath=off'
SLES11 provided a kernel commandline option 'multipath=off',
so dracut should be parsing the option, too.
References: bsc#1001691
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/90multipath/multipathd.service | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service
index 0f11bd5..ab42740 100644
--- a/modules.d/90multipath/multipathd.service
+++ b/modules.d/90multipath/multipathd.service
@@ -8,6 +8,7 @@ Conflicts=shutdown.target
ConditionKernelCommandLine=!nompath
ConditionKernelCommandLine=!rd.multipath=0
ConditionKernelCommandLine=!rd_NO_MULTIPATH
+ConditionKernelCommandLine=!multipath=off
[Service]
Type=simple
--
2.6.6
++++++ 0308-mdraid_add_IMSM_NO_PLATFORM_env.patch ++++++
Index: dracut-044/modules.d/90mdraid/parse-md.sh
===================================================================
--- dracut-044.orig/modules.d/90mdraid/parse-md.sh 2015-11-25 14:22:28.000000000 +0100
+++ dracut-044/modules.d/90mdraid/parse-md.sh 2016-10-07 15:23:20.122868317 +0200
@@ -19,6 +19,7 @@ else
done;
printf 'GOTO="md_end"\n'
printf 'LABEL="md_uuid_ok"\n'
+ printf 'ENV{IMSM_NO_PLATFORM}="1"'
else
echo "$line"
fi
++++++ 0309-90dmraid-do-not-delete-partitions.patch ++++++
>From ec36a74a94d7d96670c25c89cffbbca1e964df0b Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 27 Sep 2016 16:38:36 +0200
Subject: [PATCH] 90dmraid: do not delete partitions
There is no point trying to delete partitions; dmraid works
happily even with them. On the contrary trying to delete partitions
can even be harmful when eg dmraid should _not_ be started.
References: bsc#998860
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/90dmraid/61-dmraid-imsm.rules | 3 ---
1 file changed, 3 deletions(-)
diff --git a/modules.d/90dmraid/61-dmraid-imsm.rules b/modules.d/90dmraid/61-dmraid-imsm.rules
index 0193fbc..406cebd 100644
--- a/modules.d/90dmraid/61-dmraid-imsm.rules
+++ b/modules.d/90dmraid/61-dmraid-imsm.rules
@@ -21,9 +21,6 @@ ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="dm_end"
PROGRAM=="/bin/sh -c 'for i in $sys/$devpath/holders/dm-[0-9]*; do [ -e $$i ] && exit 0; done; exit 1;' ", \
GOTO="dm_end"
-ENV{DEVTYPE}!="partition", \
- RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}"
-
RUN+="/sbin/initqueue --onetime --unique --settled /sbin/dmraid_scan $env{DEVNAME}"
LABEL="dm_end"
--
2.6.6
++++++ 0310-95resume-Do-not-resume-on-iSCSI.patch ++++++
>From 7cafbd9fe0f0799dc1a5c795d716e6732deb47ce Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 13 Oct 2016 09:58:32 +0200
Subject: [PATCH 1/3] 95resume: Do not resume on iSCSI
The iSCSI configuration is started after dracut checks for resume,
so we run into a timeout here. Additionally it's questionable if
resume on iSCSI makes sense (or is even supported on the platform),
so disable it for now.
References: bsc#999663
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95resume/module-setup.sh | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh
index 7fe6df3..b11f8e8 100755
--- a/modules.d/95resume/module-setup.sh
+++ b/modules.d/95resume/module-setup.sh
@@ -2,6 +2,11 @@
# called by dracut
check() {
+ if dracut_module_included "iscsi" ; then
+ # Do not attempt resume on iscsi
+ return 255
+ fi
+
# No point trying to support resume, if no swap partition exist
[[ $hostonly ]] || [[ $mount_needs ]] && {
for fs in "${host_fs_types[@]}"; do
--
2.6.6
++++++ 0311-95iscsi-ip-ibft-is-deprecated.patch ++++++
>From d6ad4e35af406a344fd1a1a3e872e941e7e59c86 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 13 Oct 2016 10:00:49 +0200
Subject: [PATCH 2/3] 95iscsi: ip=ibft is deprecated
Upstream deprecated 'ip=ibft', so update module-setup.sh to
emit the correct command-line argument.
References: bsc#1004437
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95iscsi/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index e272b24..d6521f0 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -61,7 +61,7 @@ install_ibft() {
fi
if [ -d ${d}/initiator ] ; then
if [ ${d##*/} = "ibft" ] && [ "$ibft_mod" != "bnx2i" ] ; then
- echo -n "ip=ibft "
+ echo -n "rd.iscsi.ibft=1 "
fi
echo -n "rd.iscsi.firmware=1"
fi
--
2.6.6
++++++ 0312-40network-Do-not-print-message-about-tmp-net.ibft0.c.patch ++++++
>From cc2bdf6b3bf0fcaa6597ee652c024027da24b501 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 13 Oct 2016 10:27:57 +0200
Subject: [PATCH 3/3] 40network: Do not print message about /tmp/net.ibft0.conf
not found
We need to check if the file /tmp/net.X.conf exists before trying
to read from it; not doing so will create a warning during boot.
References: bsc#1004437
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/40network/ifup.sh | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index a4515d1..a684cba 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -506,10 +506,12 @@ for p in $(getargs ip=); do
[ "$autoconf" = "ibft" ] && continue
# skip if same configuration appears twice
- while read line
- do
- [ "$line" = "$p" ] && continue 2
- done < /tmp/net.${netif}.conf
+ if [ -f /tmp/net.${netif}.conf ] ; then
+ while read line
+ do
+ [ "$line" = "$p" ] && continue 2
+ done < /tmp/net.${netif}.conf
+ fi
echo $p >> /tmp/net.${netif}.conf
--
2.6.6
++++++ 0313-90mdraid-Use-stock-MD-rules-to-assemble-RAID-arrays.patch ++++++
>From 91ab88b0bda124816724dcea4c532259add83e41 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 14 Oct 2016 11:01:57 +0200
Subject: [PATCH] 90mdraid: Use stock MD rules to assemble RAID arrays
We cannot call 'mdadm' from a RUN udev event key or use the
initqueue, as 'mdadm -I' will remove the partitions before
assembling the array. This is only safe to be called directly
from the udev rule (eg by the IMPORT or PROGRAM key), as then
udev will prevent any events for the partition devices to
be processed.
If 'mdadm -I' is called _after_ the event is processed it will
race with udev processing the events for the partitions devices,
and induce random boot failures.
References: bsc#998860
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/90mdraid/62-md-dracut-cmdline.rules | 16 +++++++++
modules.d/90mdraid/65-md-incremental-imsm.rules | 44 -------------------------
modules.d/90mdraid/mdraid_start.sh | 34 -------------------
modules.d/90mdraid/module-setup.sh | 14 +-------
modules.d/90mdraid/parse-md.sh | 34 +++++++++----------
5 files changed, 32 insertions(+), 110 deletions(-)
create mode 100644 modules.d/90mdraid/62-md-dracut-cmdline.rules
delete mode 100644 modules.d/90mdraid/65-md-incremental-imsm.rules
delete mode 100755 modules.d/90mdraid/mdraid_start.sh
diff --git a/modules.d/90mdraid/62-md-dracut-cmdline.rules b/modules.d/90mdraid/62-md-dracut-cmdline.rules
new file mode 100644
index 0000000..c30636f
--- /dev/null
+++ b/modules.d/90mdraid/62-md-dracut-cmdline.rules
@@ -0,0 +1,16 @@
+# Interpret dracut-specific commandline arguments which inhibit
+# mdadm from starting
+# See udev(8) for syntax
+
+ACTION!="add|change", GOTO="md_end"
+SUBSYSTEM!="block", GOTO="md_end"
+
+# Disable MD assembly if rd_NO_MD is given
+ENV{rd_NO_MD}=="?*", ENV{ID_FS_TYPE}=="ddf_raid_member|isw_raid_member|linux_raid_member", ENV{ID_FS_TYPE}="unknown"
+
+# Disable ISW / IMSM RAID assembly if rd_NO_MDIMSM is given
+ENV{ID_FS_TYPE}=="isw_raid_member", ENV{rd_NO_MDIMSM}=="?*", ENV{ID_FS_TYPE}="unknown"
+# Disable DDF RAID assembly if rd_NO_MDDDF is given
+ENV{ID_FS_TYPE}=="ddf_raid_member", ENV{rd_NO_MDDDF}=="?*", ENV{ID_FS_TYPE}="unknown"
+
+LABEL="md_end"
diff --git a/modules.d/90mdraid/65-md-incremental-imsm.rules b/modules.d/90mdraid/65-md-incremental-imsm.rules
deleted file mode 100644
index d66dd01..0000000
--- a/modules.d/90mdraid/65-md-incremental-imsm.rules
+++ /dev/null
@@ -1,44 +0,0 @@
-# This file causes block devices with Linux RAID (mdadm) signatures to
-# automatically cause mdadm to be run.
-# See udev(8) for syntax
-
-ACTION!="add|change", GOTO="md_end"
-SUBSYSTEM!="block", GOTO="md_end"
-ENV{rd_NO_MD}=="?*", GOTO="md_end"
-KERNEL=="md*", ENV{ID_FS_TYPE}!="linux_raid_member", GOTO="md_end"
-KERNEL=="md*", ACTION!="change", GOTO="md_end"
-
-# Also don't process disks that are slated to be a multipath device
-ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="md_end"
-
-ENV{ID_FS_TYPE}=="ddf_raid_member|isw_raid_member|linux_raid_member", GOTO="md_try"
-GOTO="md_end"
-
-LABEL="md_try"
-ENV{ID_FS_TYPE}=="isw_raid_member", ENV{rd_NO_MDIMSM}=="?*", GOTO="md_end"
-ENV{ID_FS_TYPE}=="ddf_raid_member", ENV{rd_NO_MDDDF}=="?*", GOTO="md_end"
-
-# already done ?
-PROGRAM="/bin/sh -c 'for i in $sys/$devpath/holders/md[0-9_]*; do [ -e $$i ] && exit 0; done; exit 1;' ", \
- GOTO="md_end"
-
-# for native arrays - array's uuid has to be specified
-# for containers - container's uuid has to be specified
-# TODO : how to get embedded array's uuid having container's component ?
-#
-# UUID CHECK
-
-ENV{DEVTYPE}!="partition", \
- RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}"
-
-RUN+="/sbin/initqueue --timeout --name 50-mdraid_start --onetime --unique /sbin/mdraid_start"
-
-#
-# Incrementally build the md array; this will automatically assemble
-# any eventual containers as well (imsm, ddf)
-#
-LABEL="md_incremental"
-
-RUN+="/sbin/mdadm $env{rd_MD_OFFROOT} -I $env{DEVNAME}"
-
-LABEL="md_end"
diff --git a/modules.d/90mdraid/mdraid_start.sh b/modules.d/90mdraid/mdraid_start.sh
deleted file mode 100755
index 400ab5d..0000000
--- a/modules.d/90mdraid/mdraid_start.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
-_md_force_run() {
- local _udevinfo
- local _path_s
- local _path_d
- local _offroot
- _offroot=$(strstr "$(mdadm --help-options 2>&1)" offroot && echo --offroot)
- # try to force-run anything not running yet
- for md in /dev/md[0-9_]*; do
- [ -b "$md" ] || continue
- _udevinfo="$(udevadm info --query=env --name="$md")"
- strstr "$_udevinfo" "MD_LEVEL=container" && continue
- strstr "$_udevinfo" "DEVTYPE=partition" && continue
-
- _path_s="/sys/$(udevadm info -q path -n "$md")/md/array_state"
- [ ! -r "$_path_s" ] && continue
-
- # inactive ?
- [ "$(cat "$_path_s")" != "inactive" ] && continue
-
- mdadm $_offroot -R "$md" 2>&1 | vinfo
-
- # still inactive ?
- [ "$(cat "$_path_s")" = "inactive" ] && continue
-
- _path_d="${_path_s%/*}/degraded"
- [ ! -r "$_path_d" ] && continue
- > $hookdir/initqueue/work
- done
-}
-
-_md_force_run
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
index d865fca..13ef9fe 100755
--- a/modules.d/90mdraid/module-setup.sh
+++ b/modules.d/90mdraid/module-setup.sh
@@ -79,18 +79,8 @@ install() {
inst_rules 64-md-raid.rules
# >=mdadm-3.3 udev rules
inst_rules 63-md-raid-arrays.rules 64-md-raid-assembly.rules
- # remove incremental assembly from stock rules, so they don't shadow
- # 65-md-inc*.rules and its fine-grained controls, or cause other problems
- # when we explicitly don't want certain components to be incrementally
- # assembled
- for rule in 64-md-raid.rules 64-md-raid-assembly.rules; do
- rule_path="${initdir}${udevdir}/rules.d/${rule}"
- [ -f "${rule_path}" ] && sed -i -r \
- -e '/(RUN|IMPORT\{program\})\+?="[[:alpha:]/]*mdadm[[:blank:]]+(--incremental|-I)[[:blank:]]+(--export )?(\$env\{DEVNAME\}|\$tempnode|\$devnode)/d' \
- "${rule_path}"
- done
- inst_rules "$moddir/65-md-incremental-imsm.rules"
+ inst_rules "$moddir/62-md-dracut-cmdline.rules"
inst_rules "$moddir/59-persistent-storage-md.rules"
prepare_udev_rules 59-persistent-storage-md.rules
@@ -125,12 +115,10 @@ install() {
inst_hook cleanup 99 "$moddir/mdraid-needshutdown.sh"
inst_hook shutdown 30 "$moddir/md-shutdown.sh"
inst_script "$moddir/mdraid-cleanup.sh" /sbin/mdraid-cleanup
- inst_script "$moddir/mdraid_start.sh" /sbin/mdraid_start
if dracut_module_included "systemd"; then
if [ -e $systemdsystemunitdir/mdmon@.service ]; then
inst_simple $systemdsystemunitdir/mdmon@.service
fi
fi
inst_hook pre-shutdown 30 "$moddir/mdmon-pre-shutdown.sh"
- dracut_need_initqueue
}
diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
index 8582f59..c187a91 100755
--- a/modules.d/90mdraid/parse-md.sh
+++ b/modules.d/90mdraid/parse-md.sh
@@ -1,31 +1,27 @@
#!/bin/sh
MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=)
+MD_RULES=/etc/udev/62-md-dracut-uuid.rules
if ( ! [ -n "$MD_UUID" ] && ! getargbool 0 rd.auto ) || ! getargbool 1 rd.md -d -n rd_NO_MD; then
info "rd.md=0: removing MD RAID activation"
udevproperty rd_NO_MD=1
else
- # rewrite the md rules to only process the specified raid array
+ # Create md rule to only process the specified raid array
if [ -n "$MD_UUID" ]; then
- for f in /etc/udev/rules.d/65-md-incremental*.rules; do
- [ -e "$f" ] || continue
- while read line || [ -n "$line" ]; do
- if [ "${line%%UUID CHECK}" != "$line" ]; then
- printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n'
- for uuid in $MD_UUID; do
- printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
- printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
- done;
- printf 'GOTO="md_end"\n'
- printf 'LABEL="md_uuid_ok"\n'
- printf 'ENV{IMSM_NO_PLATFORM}="1"'
- else
- echo "$line"
- fi
- done < "${f}" > "${f}.new"
- mv "${f}.new" "$f"
- done
+ printf 'ACTION!="add|change", GOTO="md_uuid_end"\n' > $MD_RULES
+ printf 'SUBSYSTEM!="block", GOTO="md_uuid_end"\n' >> $MD_RULES
+ printf 'ENV{ID_FS_TYPE}!="ddf_raid_member", ENV{ID_FS_TYPE}!="isw_raid_member", ENV{ID_FS_TYPE}!="linux_raid_member", GOTO="md_uuid_end"\n' >> $MD_RULES
+
+ for uuid in $MD_UUID; do
+ printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid >> $MD_RULES
+ printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid >> $MD_RULES
+ done;
+ printf 'ENV{ID_FS_TYPE}="unknown"\n' >> $MD_RULES
+ printf 'GOTO="md_uuid_end"\n' >> $MD_RULES
+ printf 'LABEL="md_uuid_ok"\n' >> $MD_RULES
+ printf 'ENV{IMSM_NO_PLATFORM}="1"' >> $MD_RULES
+ printf 'LABEL="md_uuid_end"\n' >> $MD_RULES
fi
fi
--
2.6.6
++++++ 0314-nfs_do_not_pass_ifname_for_bonding_devices.patch ++++++
Index: dracut-044/modules.d/95nfs/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/95nfs/module-setup.sh 2016-12-07 11:46:32.799438777 +0100
+++ dracut-044/modules.d/95nfs/module-setup.sh 2016-12-07 11:46:33.519479687 +0100
@@ -57,7 +57,10 @@ cmdline() {
nfs_address=${lookup##* }
fi
ifname=$(ip -o route get to $nfs_address | sed -n 's/.*dev \([^ ]*\).*/\1/p')
- if [ -e /sys/class/net/$ifname/address ] ; then
+ if [ -d /sys/class/net/$ifname/bonding ]; then
+ dinfo "Found bonded interface '${ifname}'. Make sure to provide an appropriate 'bond=' cmdline."
+ return
+ elif [ -e /sys/class/net/$ifname/address ] ; then
ifmac=$(cat /sys/class/net/$ifname/address)
printf 'ifname=%s:%s ' ${ifname} ${ifmac}
fi
++++++ 0402-driver-fail-summary.patch ++++++
>From 2e176c1a99db334756c91c6c0e10e029993e56c7 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt(a)suse.com>
Date: Tue, 3 Nov 2015 17:25:44 +0100
Subject: [PATCH] Accumulate kernel module installation failures
- Port 0169-Enabled-Warning-for-failed-kernel-modules-per-defaul.patch:
Subject: Enable warning for failed kernel moduiles
Enabled Warning for failed kernel modules per default
and added summary of those to the end of dracut output
References: bnc#886839
- Disable inline warnings in favour of summary
Signed-off-by: Fabian Vogt <fvogt(a)suse.com>
---
dracut-init.sh | 8 +++++---
dracut.sh | 15 +++++++++++++++
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/dracut-init.sh b/dracut-init.sh
index 9689c0b..0fda778 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -1084,14 +1084,16 @@ instmods() {
[[ $no_kernel = yes ]] && return
# called [sub]functions inherit _fderr
local _fderr=9
- local _check=no
+ local _check=yes
local _silent=no
+
if [[ $1 = '-c' ]]; then
_check=yes
shift
fi
if [[ $1 = '-s' ]]; then
+ _check=no
_silent=yes
shift
fi
@@ -1173,7 +1175,7 @@ instmods() {
while read _mod || [ -n "$_mod" ]; do
inst1mod "${_mod%.ko*}" || {
if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then
- dfatal "Failed to install module $_mod"
+ echo $_mod >> $tmp_dracut_failed_drivers
fi
}
done
@@ -1181,7 +1183,7 @@ instmods() {
while (($# > 0)); do # filenames as arguments
inst1mod ${1%.ko*} || {
if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then
- dfatal "Failed to install module $1"
+ echo $1 >> $tmp_dracut_failed_drivers
fi
}
shift
diff --git a/dracut.sh b/dracut.sh
index 12b253d..d7dc9ff 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -390,6 +390,12 @@ verbosity_mod_l=0
unset kernel
unset outfile
+if ! tmp_dracut_failed_drivers=$(mktemp /tmp/dracut.XXXXXXXXXX); then
+ echo "Could not create temporary file"
+ exit 1
+fi
+export tmp_dracut_failed_drivers
+
rearrange_params "$@"
eval set -- "$TEMP"
@@ -1761,6 +1767,15 @@ if ! (
exit 1
fi
+if [[ -s $tmp_dracut_failed_drivers ]]; then
+ dwarn "Some kernel modules could not be included"
+ dwarn "This is not necessarily an error:"
+ while read line; do
+ dwarn "$line"
+ done < $tmp_dracut_failed_drivers
+fi
+rm $tmp_dracut_failed_drivers
+
if (( maxloglvl >= 5 )); then
if [[ $allowlocal ]]; then
"$dracutbasedir/lsinitrd.sh" "${DRACUT_TMPDIR}/initramfs.img"| ddebug
--
2.6.6
++++++ 0403-95lunmask-Add-module-to-handle-LUN-masking.patch ++++++
>From 55adce6c6676c83f9130c3b6e0391bfcb5c92320 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 11 Nov 2015 12:20:33 +0100
Subject: [PATCH] 95lunmask: Add module to handle LUN masking
Using the module option 'scsi_mod.scan=manual'
this implements LUN masking by selectively enable only those
devices required for booting.
References: bsc#954600,FATE#319786
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95lunmask/fc_transport_scan_lun.sh | 26 ++++++++++
modules.d/95lunmask/module-setup.sh | 70 +++++++++++++++++++++++++++
modules.d/95lunmask/parse-lunmask.sh | 40 +++++++++++++++
modules.d/95lunmask/sas_transport_scan_lun.sh | 26 ++++++++++
4 files changed, 162 insertions(+)
create mode 100755 modules.d/95lunmask/fc_transport_scan_lun.sh
create mode 100755 modules.d/95lunmask/module-setup.sh
create mode 100755 modules.d/95lunmask/parse-lunmask.sh
create mode 100755 modules.d/95lunmask/sas_transport_scan_lun.sh
diff --git a/modules.d/95lunmask/fc_transport_scan_lun.sh b/modules.d/95lunmask/fc_transport_scan_lun.sh
new file mode 100755
index 0000000..d9f84a3
--- /dev/null
+++ b/modules.d/95lunmask/fc_transport_scan_lun.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+#
+# fc_transport_lun_scan
+#
+# Selectively enable individual LUNs behind an FC remote port
+#
+# ACTION=="add", SUBSYSTEM=="fc_transport", ATTR{port_name}=="wwpn", \
+# PROGRAM="fc_transport_lun_scan lun"
+#
+
+[ -z $DEVPATH ] && exit 1
+
+if [ -n "$1" ] ; then
+ LUN=$1
+else
+ LUN=-
+fi
+ID=${DEVPATH##*/rport-}
+HOST=${ID%%:*}
+CHANNEL=${ID%%-*}
+CHANNEL=${CHANNEL#*:}
+if [ -f /sys$DEVPATH/scsi_target_id ] ; then
+ TARGET=$(cat /sys$DEVPATH/scsi_target_id)
+fi
+[ -z "$TARGET" ] && exit 1
+echo $CHANNEL $TARGET $LUN > /sys/class/scsi_host/host$HOST/scan
diff --git a/modules.d/95lunmask/module-setup.sh b/modules.d/95lunmask/module-setup.sh
new file mode 100755
index 0000000..6afaed2
--- /dev/null
+++ b/modules.d/95lunmask/module-setup.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# called by dracut
+cmdline() {
+ get_lunmask() {
+ local _dev=$1
+ local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD)
+ local _sdev _lun _rport _end_device _classdev _wwpn _sas_address
+
+ [ "${_devpath#*/sd}" == "$_devpath" ] && return 1
+ _sdev="${_devpath%%/block/*}"
+ _lun="${_sdev##*:}"
+ # Check for FibreChannel
+ _rport="${_devpath##*/rport-}"
+ if [ "$_rport" != "$_devpath" ] ; then
+ _rport="${_rport%%/*}"
+ _classdev="/sys/class/fc_remote_ports/rport-${_rport}"
+ [ -d "$_classdev" ] || return 1
+ _wwpn=$(cat ${_classdev}/port_name)
+ echo "rd.lunmask=fc,${_wwpn},${_lun}"
+ return 0
+ fi
+ # Check for SAS
+ _end_device="${_devpath##*/end_device-}"
+ if [ "$_end_device" != "$_devpath" ] ; then
+ _end_device="${_end_device%%/*}"
+ _classdev="/sys/class/sas_device/end_device-${_end_device}"
+ [ -e "$_classdev" ] || return 1
+ _sas_address=$(cat ${_classdev}/sas_address)
+ echo "rd.lunmask=sas,${_sas_address},${_lun}"
+ return 0
+ fi
+ return 1
+ }
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
+ for_each_host_dev_and_slaves_all get_lunmask
+ } | sort | uniq
+}
+
+# called by dracut
+check() {
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
+ [ -w /sys/module/scsi_mod/parameters/scan ] || return 255
+ scan_type=$(cat /sys/module/scsi_mod/parameters/scan)
+ [ "$scan_type" = "manual" ] && return 0
+ return 255
+ }
+ return 0
+}
+
+# called by dracut
+depends() {
+ return 0
+}
+
+# called by dracut
+install() {
+ inst_script "$moddir/fc_transport_scan_lun.sh" /usr/lib/udev/fc_transport_scan_lun.sh
+ inst_script "$moddir/sas_transport_scan_lun.sh" /usr/lib/udev/sas_transport_scan_lun.sh
+ inst_hook cmdline 30 "$moddir/parse-lunmask.sh"
+ if [[ $hostonly_cmdline == "yes" ]] ; then
+ local _lunmask
+
+ for _lunmask in $(cmdline) ; do
+ printf "%s\n" "$_lunmask" >> "${initdir}/etc/cmdline.d/95lunmask.conf"
+ done
+ fi
+}
diff --git a/modules.d/95lunmask/parse-lunmask.sh b/modules.d/95lunmask/parse-lunmask.sh
new file mode 100755
index 0000000..6646876
--- /dev/null
+++ b/modules.d/95lunmask/parse-lunmask.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+create_udev_rule() {
+ local transport=$1
+ local tgtid=$2
+ local lun=$3
+ local _rule=/etc/udev/rules.d/51-${transport}-lunmask-${tgtid}.rules
+ local _cu_type _dev_type
+
+ [ -e ${_rule} ] && return 0
+
+ if [ ! -f "$_rule" ] ; then
+ if [ "$transport" = "fc" ] ; then
+ cat > $_rule <<EOF
+ACTION=="add", SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="$tgtid", PROGRAM="fc_transport_scan_lun.sh $lun"
+EOF
+ elif [ "$transport" = "sas" ] ; then
+ cat > $_rule <<EOF
+ACTION=="add", SUBSYSTEM=="sas_device", ATTR{sas_address}=="$tgtid", PROGRAM="sas_transport_scan_lun.sh $lun"
+EOF
+ fi
+ fi
+}
+
+for lunmask_arg in $(getargs rd.lunmask); do
+ (
+ local OLDIFS="$IFS"
+ local IFS=","
+ set $lunmask_arg
+ IFS="$OLDIFS"
+ if [ -d /sys/module/scsi_mod ] ; then
+ echo -n "manual" > /sys/module/scsi_mod/parameters/scan
+ elif [ ! -f /etc/modprobe.d/95lunmask.conf ] ; then
+ echo "options scsi_mod scan=manual" > /etc/modprobe.d/95lunmask.conf
+ fi
+ create_udev_rule $1 $2 $3
+ )
+done
diff --git a/modules.d/95lunmask/sas_transport_scan_lun.sh b/modules.d/95lunmask/sas_transport_scan_lun.sh
new file mode 100755
index 0000000..f7702f8
--- /dev/null
+++ b/modules.d/95lunmask/sas_transport_scan_lun.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+#
+# sas_transport_lun_scan
+#
+# Selectively enable individual LUNs behind a SAS end device
+#
+# ACTION=="add", SUBSYSTEM=="sas_transport", ATTR{sas_address}=="sas_addr", \
+# PROGRAM="sas_transport_lun_scan lun"
+#
+
+[ -z $DEVPATH ] && exit 1
+
+if [ -n "$1" ] ; then
+ LUN=$1
+else
+ LUN=-
+fi
+ID=${DEVPATH##*/end_device-}
+HOST=${ID%%:*}
+CHANNEL=${ID%%-*}
+CHANNEL=${CHANNEL#*:}
+if [ -f /sys$DEVPATH/scsi_target_id ] ; then
+ TARGET=$(cat /sys$DEVPATH/scsi_target_id)
+fi
+[ -z "$TARGET" ] && exit 1
+echo 0 $TARGET $LUN > /sys/class/scsi_host/host$HOST/scan
--
2.6.6
++++++ 0404-dracut-emergency-optionally-print-fs-help.patch ++++++
>From 033e11927e1f7f3d1163ba78dfd5e7a6bad41ee7 Mon Sep 17 00:00:00 2001
From: Mark Fasheh <mfasheh(a)suse.de>
Date: Fri, 24 Jun 2016 15:11:17 -0700
Subject: [PATCH] dracut-emergency: optionally print fs help
Allow filesystem modules to install a fs-specific text file with
instructions on what to do when mount fails. This is printed when we go into
an emergency shell.
Signed-off-by: Mark Fasheh <mfasheh(a)suse.de>
---
dracut-init.sh | 6 ++++++
modules.d/98dracut-systemd/dracut-emergency.sh | 2 ++
2 files changed, 8 insertions(+)
diff --git a/dracut-init.sh b/dracut-init.sh
index 0fda778..c941390 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -240,6 +240,12 @@ inst_script() {
(($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || :
}
+inst_fsck_help() {
+ local _helper="/usr/share/fsck/fsck_help_$1.txt"
+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$2" $_helper
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$2" $_helper || :
+}
+
mark_hostonly() {
for i in "$@"; do
echo "$i" >> "$initdir/lib/dracut/hostonly-files"
diff --git a/modules.d/98dracut-systemd/dracut-emergency.sh b/modules.d/98dracut-systemd/dracut-emergency.sh
index 26be291..2d9ecd7 100755
--- a/modules.d/98dracut-systemd/dracut-emergency.sh
+++ b/modules.d/98dracut-systemd/dracut-emergency.sh
@@ -16,6 +16,7 @@ source_hook "$hook"
if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
+ FSTXT="/usr/share/fsck/fsck_help_$fstype.txt"
echo
rdsosreport
echo
@@ -26,6 +27,7 @@ if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
echo 'after mounting them and attach it to a bug report.'
echo
echo
+ [ -f $FSTXT ] && cat $FSTXT
[ -f /etc/profile ] && . /etc/profile
[ -z "$PS1" ] && export PS1="$_name:\${PWD}# "
exec sh -i -l
--
2.6.6
++++++ 0450-Strip-NUL-bytes-in-stream-before-push-in-string.patch ++++++
>From 8ebcb9c3ded888ecd5c6fc0bbf4c9f490c3cdb56 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.de>
Date: Tue, 1 Mar 2016 21:03:18 +0100
Subject: [PATCH] Strip NUL bytes in stream before push in string
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Based on a patch by Tomasz Paweł Gajc <tpgxyz(a)gmail.com>
Workaround for bsc989218, the next upstream release
fixes this properly.
---
dracut.sh | 2 +-
modules.d/50drm/module-setup.sh | 6 +++---
modules.d/90kernel-modules/module-setup.sh | 6 +++---
modules.d/90kernel-network-modules/module-setup.sh | 6 +++---
modules.d/90multipath/module-setup.sh | 6 +++---
modules.d/95iscsi/module-setup.sh | 6 +++---
6 files changed, 16 insertions(+), 16 deletions(-)
Index: dracut-044/dracut.sh
===================================================================
--- dracut-044.orig/dracut.sh
+++ dracut-044/dracut.sh
@@ -1641,7 +1641,7 @@ if [[ $do_strip = yes ]] && ! [[ $DRACUT
# strip kernel modules, but do not touch signed modules
find "$initdir" -type f -path '*/lib/modules/*.ko' -print0 \
| while read -r -d $'\0' f || [ -n "$f" ]; do
- SIG=$(tail -c 28 "$f")
+ SIG=$(tail -c 28 "$f" | tr -d '\000')
[[ $SIG == '~Module signature appended~' ]] || { printf "%s\000" "$f"; }
done | xargs -r -0 strip -g
Index: dracut-044/modules.d/50drm/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/50drm/module-setup.sh
+++ dracut-044/modules.d/50drm/module-setup.sh
@@ -24,9 +24,9 @@ installkernel() {
local _fname _fcont
while read _fname || [ -n "$_fname" ]; do
case "$_fname" in
- *.ko) _fcont="$(< $_fname)" ;;
- *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
- *.ko.xz) _fcont="$(xz -dc $_fname)" ;;
+ *.ko) _fcont="$(cat "$_fname" | tr -cd '[:print:]')" ;;
+ *.ko.gz) _fcont="$(gzip -dc "$_fname" | tr -cd '[:print:]')" ;;
+ *.ko.xz) _fcont="$(xz -dc "$_fname" | tr -cd '[:print:]')" ;;
esac
[[ $_fcont =~ $_drm_drivers
&& ! $_fcont =~ iw_handler_get_spy ]] \
Index: dracut-044/modules.d/90kernel-modules/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/90kernel-modules/module-setup.sh
+++ dracut-044/modules.d/90kernel-modules/module-setup.sh
@@ -10,9 +10,9 @@ installkernel() {
function bmf1() {
local _f
while read _f || [ -n "$_f" ]; do case "$_f" in
- *.ko) [[ $(< $_f) =~ $_blockfuncs ]] && echo "$_f" ;;
- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;;
- *.ko.xz) [[ $(xz -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;;
+ *.ko) [[ $(cat "$_f" | tr -cd '[:print:]') =~ $_blockfuncs ]] && echo "$_f" ;;
+ *.ko.gz) [[ $(gzip -dc <"$_f" | tr -cd '[:print:]') =~ $_blockfuncs ]] && echo "$_f" ;;
+ *.ko.xz) [[ $(xz -dc <"$_f" | tr -cd '[:print:]') =~ $_blockfuncs ]] && echo "$_f" ;;
esac
done
return 0
Index: dracut-044/modules.d/90kernel-network-modules/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh
+++ dracut-044/modules.d/90kernel-network-modules/module-setup.sh
@@ -45,9 +45,9 @@ installkernel() {
while read _fname; do
[[ $_fname =~ $_unwanted_drivers ]] && continue
case "$_fname" in
- *.ko) _fcont="$(< $_fname)" ;;
- *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
- *.ko.xz) _fcont="$(xz -dc $_fname)" ;;
+ *.ko) _fcont="$(cat "$_fname" | tr -cd '[:print:]')" ;;
+ *.ko.gz) _fcont="$(gzip -dc "$_fname" | tr -cd '[:print:]')" ;;
+ *.ko.xz) _fcont="$(xz -dc "$_fname" | tr -cd '[:print:]')" ;;
esac
[[ $_fcont =~ $_net_drivers
&& ! $_fcont =~ iw_handler_get_spy ]] \
Index: dracut-044/modules.d/90multipath/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/90multipath/module-setup.sh
+++ dracut-044/modules.d/90multipath/module-setup.sh
@@ -49,9 +49,9 @@ installkernel() {
local _f
while read _f || [ -n "$_f" ]; do
case "$_f" in
- *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;;
- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
- *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
+ *.ko) [[ $(cat "$_f" | tr -cd '[:print:]') =~ $_funcs ]] && echo "$_f" ;;
+ *.ko.gz) [[ $(gzip -dc <"$_f" | tr -cd '[:print:]') =~ $_funcs ]] && echo "$_f" ;;
+ *.ko.xz) [[ $(xz -dc <"$_f" | tr -cd '[:print:]') =~ $_funcs ]] && echo "$_f" ;;
esac
done
return 0
Index: dracut-044/modules.d/95iscsi/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/95iscsi/module-setup.sh
+++ dracut-044/modules.d/95iscsi/module-setup.sh
@@ -189,9 +189,9 @@ installkernel() {
local _f
while read _f || [ -n "$_f" ]; do
case "$_f" in
- *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;;
- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
- *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
+ *.ko) [[ $(< "$_f" | tr -cd '[:print:]') =~ $_funcs ]] && echo "$_f" ;;
+ *.ko.gz) [[ $(gzip -dc <"$_f" | tr -cd '[:print:]') =~ $_funcs ]] && echo "$_f" ;;
+ *.ko.xz) [[ $(xz -dc <"$_f" | tr -cd '[:print:]') =~ $_funcs ]] && echo "$_f" ;;
esac
done
return 0
++++++ 0451-systemd-initrd-add-initrd-root-device.target.patch ++++++
>From d4efc0aeeecc470d9a267b7f3c130f472488905c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald(a)redhat.com>
Date: Wed, 25 May 2016 15:06:29 +0200
Subject: [PATCH] systemd-initrd: add initrd-root-device.target
---
modules.d/01systemd-initrd/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/01systemd-initrd/module-setup.sh b/modules.d/01systemd-initrd/module-setup.sh
index fb6a9ea..c1ccd2a 100755
--- a/modules.d/01systemd-initrd/module-setup.sh
+++ b/modules.d/01systemd-initrd/module-setup.sh
@@ -28,6 +28,7 @@ install() {
inst_multiple -o \
$systemdsystemunitdir/initrd.target \
$systemdsystemunitdir/initrd-fs.target \
+ $systemdsystemunitdir/initrd-root-device.target \
$systemdsystemunitdir/initrd-root-fs.target \
$systemdsystemunitdir/initrd-switch-root.target \
$systemdsystemunitdir/initrd-switch-root.service \
--
2.10.0
++++++ 0452-Always-try-to-add-pinctrl-cherryview.patch ++++++
>From 9ffab3f3a5105691b4b640649c3a99e3cce39c1a Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Tue, 15 Nov 2016 11:51:01 +0100
Subject: [PATCH] Always try to add pinctrl-cherryview
Contrary to previous intel pinctrl drivers, the cherryview driver can be
and usually is built as a module. However, it sets up the SDIO pinout
so sdhci can make use of the SD card reader, which may subsequently
hold a root file system on a card (bsc#998440).
---
modules.d/90kernel-modules/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
Index: dracut-044/modules.d/90kernel-modules/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/90kernel-modules/module-setup.sh
+++ dracut-044/modules.d/90kernel-modules/module-setup.sh
@@ -39,7 +39,8 @@ installkernel() {
ehci-hcd ehci-pci ehci-platform \
ohci-hcd ohci-pci \
uhci-hcd \
- xhci-hcd xhci-pci xhci-plat-hcd
+ xhci-hcd xhci-pci xhci-plat-hcd \
+ pinctrl-cherryview
instmods \
"=drivers/hid" \
++++++ 0453-Resolve-symbolic-links-for-i-and-k-parameters-bsc-90.patch ++++++
>From 7957bd01b097507a601495ed7cd2c8480c2af67b Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 17 Nov 2016 16:08:31 +0100
Subject: [PATCH] Resolve symbolic links for -i and -k parameters (bsc#902375)
---
mkinitrd-suse.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index 0f2b3c4..bc49d73 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -237,11 +237,13 @@ while (($# > 0)); do
-k) # Would be nice to get a list of images here
read_arg kernel_images "$@" || shift $?
for kernel_image in $kernel_images;do
+ [ -L "/boot/$kernel_image" ] && kernel_image="$(readlink "/boot/$kernel_image")"
kernels="$kernels ${kernel_image#*-}"
done
;;
-i) read_arg initrd_images "$@" || shift $?
for initrd_image in $initrd_images;do
+ [ -L "/boot/$initrd_image" ] && initrd_image="$(readlink "/boot/$initrd_image")"
# Check if the initrd_image contains a path.
# if not, then add the default boot_dir
dname=`dirname $initrd_image`
--
2.10.0
++++++ 0454-Add-md4-and-arc4-modules-for-ntlm.patch ++++++
>From e69da98de1a4175fb3c745570471fc3a7d567a33 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 17 Nov 2016 11:22:48 +0100
Subject: [PATCH] Add md4 and arc4 modules for ntlm
Some crashkernel targets still use legacy NTLM auth, which
require those (bsc#869496). This patch enumerates all dependent
hash algorithems, because even though most of them are probably
compiled in, older ones (e.g. md4 and arc4) usually aren't.
---
modules.d/95cifs/module-setup.sh | 6 ++++++
1 file changed, 6 insertions(+)
Index: dracut-044/modules.d/95cifs/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/95cifs/module-setup.sh
+++ dracut-044/modules.d/95cifs/module-setup.sh
@@ -24,6 +24,12 @@ depends() {
# called by dracut
installkernel() {
instmods cifs ipv6
+ # hash algos
+ instmods md4 md5 sha256
+ # ciphers
+ instmods aes arc4 des ecb
+ # macs
+ instmods hmac cmac
}
# called by dracut
++++++ 0500-Reset-IFS-variable.patch ++++++
>From bcaa0a11b41765be7cbb92e2641750b5adb8e326 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Mon, 14 Jul 2014 10:22:31 +0200
Subject: [PATCH] Reset IFS variable
Setting and unsetting the IFS variable is tricky. To be on the
safe side we should always reset the IFS variable to its original
value after parsing.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
modules.d/95dasd/parse-dasd.sh | 2 ++
modules.d/95dasd_rules/parse-dasd.sh | 8 ++++++--
modules.d/95zfcp_rules/parse-zfcp.sh | 4 ++++
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/modules.d/95dasd/parse-dasd.sh b/modules.d/95dasd/parse-dasd.sh
index 35c997c..976bd03 100755
--- a/modules.d/95dasd/parse-dasd.sh
+++ b/modules.d/95dasd/parse-dasd.sh
@@ -1,8 +1,10 @@
#!/bin/sh
for dasd_arg in $(getargs rd.dasd= -d rd_DASD= DASD=); do
(
+ local OLDIFS="$IFS"
IFS=","
set -- $dasd_arg
+ IFS="$OLDIFS"
echo "$@" | normalize_dasd_arg >> /etc/dasd.conf
)
done
diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
index e1bee62..1cc621f 100755
--- a/modules.d/95dasd_rules/parse-dasd.sh
+++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -59,8 +59,10 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do
;;
esac
if [ -n "$ccw_arg" ] ; then
+ OLDIFS="$IFS"
IFS="-"
set -- $ccw_arg
+ IFS="$OLDIFS"
create_udev_rule $2
fi
)
@@ -68,9 +70,10 @@ done
for dasd_arg in $(getargs rd.dasd=); do
(
+ OLDIFS="$IFS"
IFS=","
set -- $dasd_arg
- unset IFS
+ IFS="$OLDIFS"
while (($# > 0)); do
case $1 in
autodetect|probeonly)
@@ -78,13 +81,14 @@ for dasd_arg in $(getargs rd.dasd=); do
;;
*-*)
range=$1
+ OLDIFS="$IFS"
IFS="-"
set -- $range
start=${1#0.0.}
shift
end=${1#0.0.}
shift
- unset IFS
+ IFS="$OLDIFS"
for dev in $(seq $(( 16#$start )) $(( 16#$end )) ) ; do
create_udev_rule $(printf "0.0.%04x" "$dev")
done
diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh
index 77412f7..7d47d35 100755
--- a/modules.d/95zfcp_rules/parse-zfcp.sh
+++ b/modules.d/95zfcp_rules/parse-zfcp.sh
@@ -53,8 +53,10 @@ fi
for zfcp_arg in $(getargs rd.zfcp); do
(
+ OLDIFS="$IFS"
IFS=","
set $zfcp_arg
+ IFS="$OLDIFS"
create_udev_rule $1 $2 $3
)
done
@@ -70,8 +72,10 @@ for zfcp_arg in $(getargs root=) $(getargs resume=); do
;;
esac
if [ -n "$ccw_arg" ] ; then
+ OLDIFS="$IFS"
IFS="-"
set -- $ccw_arg
+ IFS="$OLDIFS"
_wwpn=${4%:*}
_lun=${4#*:}
create_udev_rule $2 $wwpn $lun
--
2.6.6
++++++ 0501-dasd_fix_ssid_bigger_zero.patch ++++++
>From d8b28c14e3f350acdda42a0cc2c60ce71b9c53a2 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.com>
Date: Tue, 23 Aug 2016 12:56:53 +0200
Subject: [PATCH] Fix DASD with SSID greater than 0
bsc#989313
Signed-off-by: Thomas Renninger <trenn(a)suse.com>
---
modules.d/95dasd_rules/parse-dasd.sh | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
index 1cc621f..67ed802 100755
--- a/modules.d/95dasd_rules/parse-dasd.sh
+++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -84,13 +84,14 @@ for dasd_arg in $(getargs rd.dasd=); do
OLDIFS="$IFS"
IFS="-"
set -- $range
- start=${1#0.0.}
+ prefix=${1%.*}
+ start=${1##*.}
shift
- end=${1#0.0.}
+ end=${1##.}
shift
IFS="$OLDIFS"
for dev in $(seq $(( 16#$start )) $(( 16#$end )) ) ; do
- create_udev_rule $(printf "0.0.%04x" "$dev")
+ create_udev_rule $(printf "%s.%04x" "$prefix" "$dev")
done
;;
*)
@@ -98,8 +99,16 @@ for dasd_arg in $(getargs rd.dasd=); do
if [ "$dev" != "$1" ] ; then
ro=1
fi
- dev=${dev#0.0.}
- create_udev_rule $(printf "0.0.%04x" $(( 16#$dev )) )
+ OLDIFS="$IFS"
+ IFS="."
+ set -- $dev
+ sid=$1
+ shift
+ ssid=$1
+ shift
+ chan=$1
+ IFS="$OLDIFS"
+ create_udev_rule $(printf "%01x.%01x.%04x" $(( 16#$sid )) $(( 16#$ssid )) $(( 16#$chan )) )
shift
;;
esac
--
2.6.6
++++++ 0502-persistent_device_policy_param_enhance.patch ++++++
From: Martin Wilck <mwilck(a)suse.de>
Date: Wed, 5 Oct 2016 13:54:26 +0200
Subject: [RFC/PATCH] Give --persistent_policy precedence over /dev/mapper names
There is currently no way to override dracut's preference for
/dev/mapper device names. But using these is problematic in
different scenarios: For example, if a user has a multipath-
enabled system but wants to disable multipath, or if the
names of multipath maps change because of configuration changes
(e.g. toggling user_friendly_names in /etc/multipath.conf).
This patch makes dracut prefer the user-specified
--persistent_policy names over /dev/mapper names.
It might be worthwhile to discuss why dracut prefers /dev/mapper
of /dev/disk/by-uuid at all. This preference was introduced
in 9037b63e with the argument "dm devices maintain /dev/mapper/* as
persistent names", but that's wrong for the scenarios mentioned
above, and is not a compelling reason for preferring /dev/mapper
over /dev/disk/by-uuid.
References: bsc#908143
Signed-off-by: Martin Wilck <mwilck(a)suse.de>
---
dracut-functions.sh | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 249d8fb..e97765d 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -223,14 +223,20 @@ get_devpath_block() {
# get a persistent path from a device
get_persistent_dev() {
- local i _tmp _dev
+ local i _tmp _dev _pol
_dev=$(get_maj_min "$1")
[ -z "$_dev" ] && return
+ if [[ -n "$persistent_policy" ]]; then
+ _pol="/dev/disk/${persistent_policy}/*"
+ else
+ _pol=
+ fi
+
for i in \
+ $_pol \
/dev/mapper/* \
- /dev/disk/${persistent_policy:-by-uuid}/* \
/dev/disk/by-uuid/* \
/dev/disk/by-label/* \
/dev/disk/by-partuuid/* \
--
2.10.0
++++++ 0503-dracut.sh-create-the-initramfs-non-world-readable-al.patch ++++++
>From 0db98910a11c12a454eac4c8e86dc7a7bbc764a4 Mon Sep 17 00:00:00 2001
From: Andreas Stieger <astieger(a)suse.com>
Date: Mon, 7 Nov 2016 10:37:22 +0100
Subject: [PATCH] dracut.sh: create the initramfs non-world readable also if
early cpio is used
Fixes: 5f2c30d9bcd614d546d5c55c6897e33f88b9ab90
Previously fixed CVE-2012-4453: e1b48995c26c4f06d1a718539cb1bd5b0179af91
Signed-off-by: Andreas Stieger <astieger(a)suse.com>
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index 40ca08f..2d79bbc 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1700,7 +1700,7 @@ if [[ $create_early_cpio = yes ]]; then
# The microcode blob is _before_ the initramfs blob, not after
if ! (
- cd "$early_cpio_dir/d"
+ umask 077; cd "$early_cpio_dir/d"
find . -print0 | sort -z \
| cpio ${CPIO_REPRODUCIBLE:+--reproducible} --null $cpio_owner_root -H newc -o --quiet > "${DRACUT_TMPDIR}/initramfs.img"
); then
--
2.10.2
++++++ 0504-ibft-fix-boot-flag-check.patch ++++++
>From 7eb60d945d6007a794530aba0ca103bef3853174 Mon Sep 17 00:00:00 2001
From: Thomas Blume <tblume(a)c1496.arch.suse.de>
Date: Wed, 14 Dec 2016 12:51:44 +0100
Subject: [PATCH] ibft fix boot flag check
---
modules.d/40network/net-lib.sh | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index d17209a..749dc47 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -270,10 +270,12 @@ ibft_to_cmdline() {
[ -e /tmp/net.${dev}.has_ibft_config ] && continue
[ -e ${iface}/flags ] && flags=$(read a < ${iface}/flags; echo $a)
- # Skip invalid interfaces
- (( $flags & 1 )) || continue
- # Skip interfaces not used for booting
- (( $flags & 2 )) || continue
+ # Skip invalid/non-booting interfaces
+ # Per spec, Bits 0 and 1 are valid and bootable,
+ # respectively, but some firmware only sets Bit 1,
+ # so just accept either bit
+ (( $flags & 3 )) || continue
+
[ -e ${iface}/dhcp ] && dhcp=$(read a < ${iface}/dhcp; echo $a)
[ -e ${iface}/origin ] && origin=$(read a < ${iface}/origin; echo $a)
[ -e ${iface}/ip-addr ] && ip=$(read a < ${iface}/ip-addr; echo $a)
--
2.10.2
++++++ 0505-Allow-booting-from-degraded-MD-RAID-arrays.patch ++++++
>From a113e853f71050aa6f05982ecf16660603f98825 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 30 Jan 2017 11:10:40 +0100
Subject: [PATCH] Allow booting from degraded MD RAID arrays
bnc#1017695
---
modules.d/90mdraid/module-setup.sh | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
index 13ef9fe..962b3a4 100755
--- a/modules.d/90mdraid/module-setup.sh
+++ b/modules.d/90mdraid/module-setup.sh
@@ -119,6 +119,12 @@ install() {
if [ -e $systemdsystemunitdir/mdmon@.service ]; then
inst_simple $systemdsystemunitdir/mdmon@.service
fi
+ if [ -e $systemdsystemunitdir/mdadm-last-resort@.service ]; then
+ inst_simple $systemdsystemunitdir/mdadm-last-resort@.service
+ fi
+ if [ -e $systemdsystemunitdir/mdadm-last-resort@.timer ]; then
+ inst_simple $systemdsystemunitdir/mdadm-last-resort@.timer
+ fi
fi
inst_hook pre-shutdown 30 "$moddir/mdmon-pre-shutdown.sh"
}
--
2.10.2
++++++ 0506-Boot-on-s390x-with-fips-1-on-the-kernel-commnad-line.patch ++++++
>From e9e5b0424648bc0d81e865d1fe54d10639a10182 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 2 Feb 2017 12:41:25 +0100
Subject: [PATCH] Boot on s390x with fips=1 on the kernel commnad line
On s390, the kernel image that is bootet from is called 'image'.
(bnc#1021687)
Original-Patch-By: Marcus Meissner <meissner(a)suse.de>
---
modules.d/01fips/fips.sh | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
index f33481a..055093a 100755
--- a/modules.d/01fips/fips.sh
+++ b/modules.d/01fips/fips.sh
@@ -73,11 +73,17 @@ do_fips()
local _s
local _v
local _module
+ local _arch=$(uname -m)
+ local _vmname=vmlinuz
+
+ if [ "$_arch" == "s390x" ]; then
+ _vmname=image
+ fi
KERNEL=$(uname -r)
- if ! [ -e "/boot/.vmlinuz-${KERNEL}.hmac" ]; then
- warn "/boot/.vmlinuz-${KERNEL}.hmac does not exist"
+ if ! [ -e "/boot/.${_vmname}-${KERNEL}.hmac" ]; then
+ warn "/boot/.${_vname}-${KERNEL}.hmac does not exist"
return 1
fi
@@ -125,7 +131,7 @@ do_fips()
elif [ -e "/run/initramfs/live/isolinux/vmlinuz0" ]; then
do_rhevh_check /run/initramfs/live/isolinux/vmlinuz0 || return 1
else
- fipscheck "/boot/vmlinuz-${KERNEL}" || return 1
+ fipscheck "/boot/${_vmname}-${KERNEL}" || return 1
fi
info "All initrd crypto checks done"
--
2.10.2
++++++ 0507-Set-TaskMax-inifinite-for-the-emergency-shell.patch ++++++
>From efc65e27554cfb2278dd46eba0e6cba0b58b7e35 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Fri, 20 Jan 2017 10:57:40 +0100
Subject: [PATCH] Set TaskMax=inifinite for the emergency shell
Certain rescue/recovery operations, e.g. xfs_repair need
that liberty (bsc#1019938).
---
modules.d/98dracut-systemd/dracut-emergency.service | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/98dracut-systemd/dracut-emergency.service b/modules.d/98dracut-systemd/dracut-emergency.service
index a523671..620b565 100644
--- a/modules.d/98dracut-systemd/dracut-emergency.service
+++ b/modules.d/98dracut-systemd/dracut-emergency.service
@@ -27,6 +27,7 @@ StandardOutput=inherit
StandardError=inherit
KillMode=process
IgnoreSIGPIPE=no
+TasksMax=infinity
# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
# terminates cleanly.
--
2.10.2
++++++ 0508-90multipath-start-before-local-fs-pre.target.patch ++++++
>From 172a873a599bbea5546b64fe12802aa903a0738c Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck(a)suse.de>
Date: Thu, 3 Nov 2016 20:37:01 +0100
Subject: [PATCH] 90multipath: start before local-fs-pre.target
local-fs-pre.target serves as a separator between the code for
detecting block devices and systemd's fsck/mount logic. This
patch ensures that multipathd is started before local-fs-pre.target
in the initrd. By adding a "Wants=" line for local-fs-pre.target,
it makes sure that this target is started at all.
References: bsc#1006118
Signed-off-by: Martin Wilck <mwilck(a)suse.de>
===================================================================
---
modules.d/90multipath/multipathd.service | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service
index ab42740..0554d95 100644
--- a/modules.d/90multipath/multipathd.service
+++ b/modules.d/90multipath/multipathd.service
@@ -1,8 +1,9 @@
[Unit]
Description=Device-Mapper Multipath Device Controller
Before=iscsi.service iscsid.service lvm2-activation-early.service
-Wants=systemd-udev-trigger.service systemd-udev-settle.service
+Wants=systemd-udev-trigger.service systemd-udev-settle.service local-fs-pre.target
After=systemd-udev-trigger.service systemd-udev-settle.service
+Before=local-fs-pre.target
DefaultDependencies=no
Conflicts=shutdown.target
ConditionKernelCommandLine=!nompath
--
2.10.2
++++++ 0509-01fips-Remove-zlib-module-as-requirement.patch ++++++
>From 17eff2759ab2d5e3622864fb06a7657c7f95bfd3 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Wed, 1 Mar 2017 11:43:39 +0100
Subject: [PATCH] 01fips: Remove zlib module as requirement
zlib has been removed from the upstream kernel, affecting SLE12SP3.
This patch must not be backported to SLE12SP2 and earlier (bsc#1020063).
---
modules.d/01fips/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index 0bca7a1..e29af08 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -17,7 +17,7 @@ installkernel() {
_fipsmodules+="ctr cts deflate drbg "
_fipsmodules+="ecb fcrypt gcm ghash_generic khazad md4 michael_mic rmd128 "
_fipsmodules+="rmd160 rmd256 rmd320 seed "
- _fipsmodules+="sha512_generic tcrypt tea wp512 xts zlib "
+ _fipsmodules+="sha512_generic tcrypt tea wp512 xts "
_fipsmodules+="aes_s390 des_s390 sha256_s390 ghash_s390 sha1_s390 sha512_s390 "
_fipsmodules+="gf128mul "
_fipsmodules+="cmac vmac xcbc salsa20_generic salsa20_x86_64 camellia_generic camellia_x86_64 pcbc tgr192 anubis "
--
2.10.2
++++++ 0510-01fips-Some-modules-use-separators-other-than.patch ++++++
>From e8804fc3d2052000d66661ced4a03103e0176e63 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Tue, 7 Mar 2017 11:51:17 +0100
Subject: [PATCH] 01fips: Some modules use separators other than "-"
We need to account for that in our exception list
of modules that are fine to fail. This only happened
on non-Intel machines, because the intel modules
use "_" as separator.
Original-Patch-By: Marcus Meissner <meissner(a)suse.de>
Reference: bsc#1021687
---
modules.d/01fips/fips.sh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
index 055093a..30f53b4 100755
--- a/modules.d/01fips/fips.sh
+++ b/modules.d/01fips/fips.sh
@@ -105,11 +105,11 @@ do_fips()
# If we find some hardware specific modules and cannot load them
# it is not a problem, proceed.
if [ "$_found" = "0" ]; then
- if [ "$_module" != "${_module%-intel}" \
- -o "$_module" != "${_module%-ssse3}" \
- -o "$_module" != "${_module%-x86_64}" \
+ if [ "$_module" != "${_module%intel}" \
+ -o "$_module" != "${_module%ssse3}" \
+ -o "$_module" != "${_module%x86_64}" \
-o "$_module" != "${_module%z90}" \
- -o "$_module" != "${_module%s390}" \
+ -o "$_module" != "${_module%s390}" \
]; then
_found=1
fi
--
2.10.2
++++++ 0511-01fips-ensure-fips-initialization-succeeds-on-s390-x.patch ++++++
>From d31f6dc51b26ac4110b2e5357a46f9b74ebd80e2 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Wed, 15 Mar 2017 11:59:28 +0100
Subject: [PATCH] 01fips: ensure fips initialization succeeds on s390(x)
More modules are x86_64 only but are not matchable
by the generic postfix checks. Others are helper modules
that are not strictly needed on all platforms. Ensure
we pass FIPS init without them.
Finally, cbc is not always compiled into the kernel -- try
adding as a module.
Relates-to: e8804fc3d2052000d66661ced4a03103e0176e63
Reference: bsc#1021687
---
modules.d/01fips/fips.sh | 3 +++
modules.d/01fips/module-setup.sh | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
index 30f53b4..a005b0f 100755
--- a/modules.d/01fips/fips.sh
+++ b/modules.d/01fips/fips.sh
@@ -110,6 +110,9 @@ do_fips()
-o "$_module" != "${_module%x86_64}" \
-o "$_module" != "${_module%z90}" \
-o "$_module" != "${_module%s390}" \
+ -o "$_module" == "twofish_x86_64_3way" \
+ -o "$_module" == "ablk_helper" \
+ -o "$_module" == "glue_helper" \
]; then
_found=1
fi
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index e29af08..beeb2f6 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -23,7 +23,7 @@ installkernel() {
_fipsmodules+="cmac vmac xcbc salsa20_generic salsa20_x86_64 camellia_generic camellia_x86_64 pcbc tgr192 anubis "
_fipsmodules+="cast6_generic cast5_generic cast_common sha512_ssse3 serpent_sse2_x86_64 serpent_generic twofish_generic "
_fipsmodules+="ablk_helper cryptd twofish_x86_64_3way lrw glue_helper twofish_x86_64 twofish_common blowfish_generic "
- _fipsmodules+="blowfish_x86_64 blowfish_common des_generic "
+ _fipsmodules+="blowfish_x86_64 blowfish_common des_generic cbc "
mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
--
2.10.2
++++++ 0512-Make-binutils-optional-when-elfutils-are-available.patch ++++++
>From a7970811473e4d351e82de8a523ecf46572c3e8c Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 3 Apr 2017 15:23:37 +0200
Subject: [PATCH] Make binutils optional when elfutils are available
This is intended for minimum host OSes where 36 MB used by binutils
are deemed too expensive. We only need "strip", which exists as eu-strip
in elfutils, which in turn is < 1 MB in size.
Note that the tests (TEST-04-FULL-SYSTEMD/test.sh) still depend on
strip from binutils. It could use sstrip in the future.
---
dracut.sh | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index d25da8e3..f4794d1d 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1624,7 +1624,11 @@ fi
# strip binaries
if [[ $do_strip = yes ]] ; then
- for p in strip xargs find; do
+ # Prefer strip from elfutils for package size
+ declare strip_cmd=$(command -v eu-strip)
+ test -z "$strip_cmd" && strip_cmd="strip"
+
+ for p in $strip_cmd xargs find; do
if ! type -P $p >/dev/null; then
dinfo "Could not find '$p'. Not stripping the initramfs."
do_strip=no
@@ -1636,14 +1640,14 @@ if [[ $do_strip = yes ]] && ! [[ $DRACUT_FIPS_MODE ]]; then
dinfo "*** Stripping files ***"
find "$initdir" -type f \
-executable -not -path '*/lib/modules/*.ko' -print0 \
- | xargs -r -0 strip -g 2>/dev/null
+ | xargs -r -0 $strip_cmd -g 2>/dev/null
# strip kernel modules, but do not touch signed modules
find "$initdir" -type f -path '*/lib/modules/*.ko' -print0 \
| while read -r -d $'\0' f || [ -n "$f" ]; do
SIG=$(tail -c 28 "$f" | tr -d '\000')
[[ $SIG == '~Module signature appended~' ]] || { printf "%s\000" "$f"; }
- done | xargs -r -0 strip -g
+ done | xargs -r -0 $strip_cmd -g
dinfo "*** Stripping files done ***"
fi
--
2.12.0
++++++ 0513-Fix-regression-caused-by-6f9bf2b8ac436259bdccb110545.patch ++++++
>From 31445aa3a415f9586f3bd6f6b14f0ae668d30ff9 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 9 Mar 2017 11:45:47 +0100
Subject: [PATCH 1/2] Fix regression caused by
6f9bf2b8ac436259bdccb11054562aedaa78c496
This was trying to fix bsc#998860, but introduced a regression:
62-md-dracut-uuid.rules was not generated in /etc/udev/rules.d and
therefore not processed.
Also, force reassembly of raid arrays given at the command line
and ensure IMSM_NO_PLATFORM is set correctly.
Reference: bsc#1028542
Signed-Off-By: Daniel Molkentin <dmolkentin(a)suse.com>
Signed-Off-By: Thomas Blume <thomas.blume(a)suse.com>
---
modules.d/90mdraid/parse-md.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
index c187a916..91e52f2d 100755
--- a/modules.d/90mdraid/parse-md.sh
+++ b/modules.d/90mdraid/parse-md.sh
@@ -1,7 +1,7 @@
#!/bin/sh
MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=)
-MD_RULES=/etc/udev/62-md-dracut-uuid.rules
+MD_RULES=/etc/udev/rules.d/62-md-dracut-uuid.rules
if ( ! [ -n "$MD_UUID" ] && ! getargbool 0 rd.auto ) || ! getargbool 1 rd.md -d -n rd_NO_MD; then
info "rd.md=0: removing MD RAID activation"
@@ -13,6 +13,8 @@ else
printf 'SUBSYSTEM!="block", GOTO="md_uuid_end"\n' >> $MD_RULES
printf 'ENV{ID_FS_TYPE}!="ddf_raid_member", ENV{ID_FS_TYPE}!="isw_raid_member", ENV{ID_FS_TYPE}!="linux_raid_member", GOTO="md_uuid_end"\n' >> $MD_RULES
+ #check for array components
+ printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n' >> $MD_RULES
for uuid in $MD_UUID; do
printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid >> $MD_RULES
printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid >> $MD_RULES
@@ -20,7 +22,7 @@ else
printf 'ENV{ID_FS_TYPE}="unknown"\n' >> $MD_RULES
printf 'GOTO="md_uuid_end"\n' >> $MD_RULES
printf 'LABEL="md_uuid_ok"\n' >> $MD_RULES
- printf 'ENV{IMSM_NO_PLATFORM}="1"' >> $MD_RULES
+ printf 'ENV{IMSM_NO_PLATFORM}="1"\n' >> $MD_RULES
printf 'LABEL="md_uuid_end"\n' >> $MD_RULES
fi
fi
--
2.12.0
++++++ 0514-man-make-the-k-option-clear-using-mkinitrd.patch ++++++
>From fff87a6a53c322448ddd42a47c839570091cb824 Mon Sep 17 00:00:00 2001
From: Lidong Zhong <lidong.zhong(a)suse.com>
Date: Fri, 2 Dec 2016 14:32:09 +0800
Subject: [PATCH 2/2] man: make the -k option clear using mkinitrd
For example under x86, someone maybe missunderstand that the vmlinuz
is the link /boot/vmlinuz points to a specific kernel image and use
the following command directly.
mkinitrd -k vmlinuz
---
mkinitrd-suse.8.asc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/mkinitrd-suse.8.asc b/mkinitrd-suse.8.asc
index cdb8e3aa..91ec4695 100644
--- a/mkinitrd-suse.8.asc
+++ b/mkinitrd-suse.8.asc
@@ -29,8 +29,9 @@ OPTIONS
**-k** _<kernel_list>_::
List of kernel images for which initrd files are created (relative
- to _boot_dir_), defaults to _vmlinux_ on ppc/ppc64, _image_ on s390/s390x
- and _vmlinuz_ for everything else.
+ to _boot_dir_), Image name should begin with the following string,
+ defaults to _vmlinux_ on ppc/ppc64, _image_ on s390/s390x and _vmlinuz_
+ for everything else.
**-i** _<initrd_list>_::
List of file names (relative to _boot_dir_) for the initrd; positions
--
2.12.0
++++++ 0515-90kernel-modules-also-add-block-device-driver-revers.patch ++++++
>From a929c6f1b19cc945c119802feff2d8e111954f5c Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 20 Apr 2017 21:54:38 +0200
Subject: [PATCH] 90kernel-modules: also add block device driver reverse
dependencies
The code finds relevant modules by symbol. Some drivers, such as
the hisi_sas has two slightly different implementations with
a common backend which contain the relevant symbols. However,
we also need to include the modules that depend on these
implementations.
Ex: hisi_sas_v{1,2}_hw -> hisi_sas_main
We use a simple reverse lookup for all modules via modules.dep to
include direct reverse dependencies.
Reference: bnc#1034597
---
modules.d/90kernel-modules/module-setup.sh | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 67d0e01e..bc00991d 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -3,6 +3,28 @@
# called by dracut
installkernel() {
if [[ -z $drivers ]]; then
+ # modules with symbols might have abstractions that depend on them, so let's add those
+ add_rev_deps() {
+ local _module
+ local _line
+ [[ -f "$srcmods/modules.dep" ]] || return 0
+ while read _module; do
+ local _mod
+ local _deps
+ _module=${_module##$srcmods/}
+ printf "%s\n" "$_module"
+ egrep ".*:.*$_module.*" $srcmods/modules.dep | (
+ local _OLDIFS=$IFS
+ IFS=:
+ while read _mod _deps; do
+ printf "%s\n" "$srcmods/$_mod"
+ done
+ IFS=$_OLDIFS
+ )
+ done | sort -u
+ return 0
+ }
+
block_module_filter() {
local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_add_host'
# subfunctions inherit following FDs
@@ -65,7 +87,7 @@ installkernel() {
instmods virtio virtio_blk virtio_ring virtio_pci virtio_scsi \
"=drivers/pcmcia" =ide "=drivers/usb/storage"
- find_kernel_modules | block_module_filter | instmods
+ find_kernel_modules | block_module_filter | add_rev_deps | instmods
# if not on hostonly mode, install all known filesystems,
# if the required list is not set via the filesystems variable
--
2.12.0
++++++ 0516-mkinitrd-suse.sh-Fix-prefix-calculation.patch ++++++
>From 7cf2c21798b537a5553ecc23df5ce8cfda631e9c Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Tue, 25 Apr 2017 15:25:20 +0200
Subject: [PATCH] mkinitrd-suse.sh: Fix prefix calculation
The previous algorithm was incorrect and would return
incorrect results e.g. for a /20 mask. Also gets rid
of an undocumented depencency on bc(1).
Reference: bsc#1035743
---
mkinitrd-suse.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index bc49d731..d9de81b9 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -104,7 +104,7 @@ calc_netmask() {
local prefix=$1
[ -z "$prefix" ] && return
- mask=$(echo "(2 ^ 32) - (2 ^ $prefix)" | bc -l)
+ mask=$(( 0xffffffff << (32 - $prefix) ))
byte1=$(( mask >> 24 ))
byte2=$(( mask >> 16 ))
byte3=$(( mask >> 8 ))
--
2.12.0
++++++ 0517-95fcoe-fixup-fcoe-genrules.sh-for-VN2VN-mode.patch ++++++
>From c3c16d6b7c74cbd00d6e925f83c983f6e50cf7cd Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 26 Apr 2017 16:38:11 +0200
Subject: [PATCH] 95fcoe: fixup fcoe-genrules.sh for VN2VN mode
The 'mode' argument was never referenced in the printf format, causing
invalid rules to be written.
References: bsc#1036323
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/fcoe-genrules.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/95fcoe/fcoe-genrules.sh b/modules.d/95fcoe/fcoe-genrules.sh
index af15a584..5b16cb0d 100755
--- a/modules.d/95fcoe/fcoe-genrules.sh
+++ b/modules.d/95fcoe/fcoe-genrules.sh
@@ -7,8 +7,8 @@
# Write udev rules
{
if [ -n "$fcoe_mac" ] ; then
- printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s"\n' "$fcoe_mac" "$fcoe_dcb" "$fcoe_mode"
+ printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s %s"\n' "$fcoe_mac" "$fcoe_dcb" "$fcoe_mode"
else
- printf 'ACTION=="add", SUBSYSTEM=="net", NAME=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s"\n' "$fcoe_interface" "$fcoe_dcb" "$fcoe_mode"
+ printf 'ACTION=="add", SUBSYSTEM=="net", NAME=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s %s"\n' "$fcoe_interface" "$fcoe_dcb" "$fcoe_mode"
fi
} >> /etc/udev/rules.d/92-fcoe.rules
--
2.12.0
++++++ 0518-90kernel-modules-Fix-backlight-on-Cherrytrail-device.patch ++++++
>From 5e23b376c39c8fcea8a02115d5c233dbb476c13a Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Wed, 26 Apr 2017 18:07:17 +0200
Subject: [PATCH] 90kernel-modules: Fix backlight on Cherrytrail devices
Next to the cherrytrail module, more modules need to be part of
initrd to make e.g. the backlight control work properly.
Reference: boo#1034785
Original-Patch-By: Takashi Iwai <tiwai(a)suse.de>
---
modules.d/90kernel-modules/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index bc00991d..566edd77 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -62,7 +62,7 @@ installkernel() {
ohci-hcd ohci-pci \
uhci-hcd \
xhci-hcd xhci-pci xhci-plat-hcd \
- pinctrl-cherryview
+ pinctrl-cherryview pwm-lpss pwm-lpss-platform
instmods \
"=drivers/hid" \
--
2.12.0
++++++ 0519-90kernel-modules-Ensure-phy-drivers-are-loaded-in-in.patch ++++++
>From d1680a249acfde2b889b25c231a04429a6e17c2e Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Wed, 26 Apr 2017 18:42:39 +0200
Subject: [PATCH] 90kernel-modules: Ensure phy drivers are loaded in initrd
Reference: bnc#1034893
---
modules.d/90kernel-modules/module-setup.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 566edd77..77b6bcae 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -64,6 +64,9 @@ installkernel() {
xhci-hcd xhci-pci xhci-plat-hcd \
pinctrl-cherryview pwm-lpss pwm-lpss-platform
+ # ensure early availability for e.g. emmc phys
+ instmods "=drivers/phy"
+
instmods \
"=drivers/hid" \
"=drivers/input/serio" \
--
2.12.0
++++++ 0520-Ignore-module-resolution-errors.patch ++++++
>From 7ede212132383c7f4a6624f3d1e999f1a4a70bb4 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 8 May 2017 17:32:11 +0200
Subject: [PATCH] Ignore module resolution errors
Can occur with version-unique modules names for kgraft.
Reference: bsc#1037120
diff --git a/dracut.sh b/dracut.sh
index f4794d1d..69833cab 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1237,7 +1237,7 @@ if [[ $hostonly ]]; then
host_modules["$alias"]=1
done
# mod might be an alias in the target kernel, find the real module
- mod_filename=$(modinfo -k "$kernel" "$mod" -F filename)
+ mod_filename=$(modinfo -k "$kernel" "$mod" -F filename 2>/dev/null)
[ $? -ne 0 ] && continue
host_modules["$(basename -s .ko "$mod_filename")"]=1
done
--
2.12.0
++++++ 0521-Ensure-udev-persistent-storage-compat-rules-get-crea.patch ++++++
>From 3f9e2420fbb180672a566cbcab6e9dfdaa914c0e Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 1 Jun 2017 16:59:55 +0200
Subject: [PATCH] Ensure udev persistent storage compat rules get created and
installed
Reference: bsc#1040153
---
modules.d/95udev-rules/module-setup.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index 6a0625aa..5e3f444d 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -56,6 +56,10 @@ install() {
# eudev rules
inst_rules 80-drivers-modprobe.rules
+ # bsc#1040153
+ inst_rules 61-persistent-storage-compat.rules
+ inst_multiple -o ${udevdir}/compat-symlink-generation
+
if dracut_module_included "systemd"; then
inst_multiple -o ${systemdutildir}/network/*.link
[[ $hostonly ]] && inst_multiple -H -o /etc/systemd/network/*.link
--
2.12.3
++++++ 0522-Fix-typo-from-commit-3f1cdb520.patch ++++++
>From 4ed5df996e5b1ac86ad855152c3e54cdf72294ff Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 29 May 2017 14:27:16 +0200
Subject: [PATCH 1/2] Fix typo from commit 3f1cdb520
Reference: bsc#1033238
---
modules.d/01fips/fips.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
index a005b0f0..ddf03994 100755
--- a/modules.d/01fips/fips.sh
+++ b/modules.d/01fips/fips.sh
@@ -83,7 +83,7 @@ do_fips()
KERNEL=$(uname -r)
if ! [ -e "/boot/.${_vmname}-${KERNEL}.hmac" ]; then
- warn "/boot/.${_vname}-${KERNEL}.hmac does not exist"
+ warn "/boot/.${_vmname}-${KERNEL}.hmac does not exist"
return 1
fi
--
2.12.3
++++++ 0523-98dracut-systemd-Fix-module-force-loading-with-syste.patch ++++++
>From cf7069480ebad261ca76e1e074f0fddf1c38497b Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Fri, 16 Jun 2017 16:32:56 +0200
Subject: [PATCH 2/2] 98dracut-systemd: Fix module force loading with systemd
This used to work only when specified via the command line
or if systemd was not being used. However, the exisistence of
20_force_driver.conf also requires dracut-pre-udev.service
to be run.
Reference: bsc#986216
---
modules.d/98dracut-systemd/dracut-pre-udev.service | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/98dracut-systemd/dracut-pre-udev.service b/modules.d/98dracut-systemd/dracut-pre-udev.service
index 73740bef..43408f3e 100644
--- a/modules.d/98dracut-systemd/dracut-pre-udev.service
+++ b/modules.d/98dracut-systemd/dracut-pre-udev.service
@@ -15,6 +15,7 @@ Before=systemd-udevd.service dracut-pre-trigger.service
After=dracut-cmdline.service
Wants=dracut-cmdline.service
ConditionPathExists=/usr/lib/initrd-release
+ConditionPathExists=|/etc/cmdline.d/20-force_drivers.conf
ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-udev
ConditionKernelCommandLine=|rd.break=pre-udev
ConditionKernelCommandLine=|rd.driver.blacklist
--
2.12.3
++++++ 0524-Suppress-nonsensical-error-message-bsc-1032029.patch ++++++
>From a651341debaf284101cb32c27373ed9a0dec7107 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 19 Jun 2017 13:42:43 +0200
Subject: [PATCH] Suppress nonsensical error message (bsc#1032029)
---
dracut.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/dracut.sh b/dracut.sh
index 69833cab..1016d5ae 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -788,6 +788,7 @@ declare -A suse_mod_deps
while read -r line; do
_suse_mod="${line##*SUSE INITRD: }"
_suse_mod="${_suse_mod%% REQUIRES*}"
+ test -z $_suse_mod && continue
suse_mod_deps["$_suse_mod"]="${suse_mod_deps["$_suse_mod"]} ${line##*REQUIRES }"
done <<< "$(grep -h "^# SUSE INITRD: " /etc/modprobe.d/[0-9][0-9]*.conf)"
--
2.12.3
++++++ 0525-backport-bail-out-if-module-directory-does-not-exist.patch ++++++
>From cb1c81fc7f6bc72a72de1f87847924572aa39b54 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 29 Jun 2017 17:18:37 +0200
Subject: [PATCH] backport: bail out if module directory does not exist
this basically reverts commit
05214a0bedc084a41c35a128609745ad04a0c6cf
if people want to build the initramfs without kernel modules,
then --no-kernel should be specified
Upstream-Commit: 106255afd46ea2be1d035aca0c5695186a3f2c41
---
dracut.sh | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 1016d5ae..492ecbf7 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -632,12 +632,6 @@ if ! [[ $kernel ]]; then
kernel=$(uname -r)
fi
-if [[ $kernel ]]; then
- if ! [[ -d /lib/modules/$kernel ]] && [[ $no_kernel != yes ]]; then
- printf -- "Kernel version $kernel has no module directory /lib/modules/$kernel\n" >&2
- fi
-fi
-
if ! [[ $outfile ]]; then
[[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id
@@ -892,6 +886,12 @@ else
exit 1
fi
+if [[ $no_kernel != yes ]] && ! [[ -d $srcmods ]]; then
+ printf "%s\n" "dracut: Cannot find module directory $srcmods" >&2
+ printf "%s\n" "dracut: and --no-kernel was not specified" >&2
+ exit 1
+fi
+
if ! [[ $print_cmdline ]]; then
inst /bin/sh
if ! $DRACUT_INSTALL ${initdir:+-D "$initdir"} -R "$initdir/bin/sh" &>/dev/null; then
--
2.12.3
++++++ 0526-iscsiroot-call-handle_firmware-only-for-non-iface-in.patch ++++++
>From d9e0e5682daeda83e5b1096d2fe570f2d38e65a5 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Wed, 12 Jul 2017 11:46:50 +0200
Subject: [PATCH] iscsiroot: call handle_firmware only for non-iface
invocations (bsc#1032284)
This partially reverts the "setup bnx2i offload connections properly"
patch to the original version from bsc#997598.
Patch-by: Martin Wilck <martin.wilck(a)suse.com>
---
modules.d/95iscsi/iscsiroot.sh | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
index 6ad279f2..3a2463f5 100755
--- a/modules.d/95iscsi/iscsiroot.sh
+++ b/modules.d/95iscsi/iscsiroot.sh
@@ -264,9 +264,11 @@ if [ "$netif" = "timeout" ] && all_ifaces_setup; then
fi
if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then
- [ -f /tmp/session-retry ] || echo 1 > /tmp/session-retry
- handle_firmware
- ret=$?
+ if [ "$netif" = "timeout" ] || [ "$netif" = "online" ] || [ "$netif" = "dummy" ]; then
+ [ -f /tmp/session-retry ] || echo 1 > /tmp/session-retry
+ handle_firmware
+ ret=$?
+ fi
fi
if ! [ "$netif" = "online" ]; then
--
2.12.3
++++++ 0527-switch-fips-checking-to-use-the-libkcapi-based-fipsc.patch ++++++
>From 3a1abe58f68fbdee31f7370314432ff903954daa Mon Sep 17 00:00:00 2001
From: Marcus Meissner <meissner(a)suse.de>
Date: Thu, 13 Jul 2017 16:56:14 +0200
Subject: [PATCH] switch fips checking to use the libkcapi based fipscheck
toolset.
---
modules.d/01fips/fips.sh | 19 ++++++++++++++++---
modules.d/01fips/module-setup.sh | 10 ++++++++++
suse/dracut.spec | 1 +
3 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
index ddf03994..081dba95 100755
--- a/modules.d/01fips/fips.sh
+++ b/modules.d/01fips/fips.sh
@@ -57,9 +57,15 @@ do_rhevh_check()
{
KERNEL=$(uname -r)
kpath=${1}
-
+ FIPSCHECK=/usr/lib64/libkcapi/fipscheck
+ if [ ! -f $FIPSCHECK ]; then
+ FIPSCHECK=/usr/lib/libkcapi/fipscheck
+ fi
+ if [ ! -f $FIPSCHECK ]; then
+ FIPSCHECK=/usr/bin/fipscheck
+ fi
# If we're on RHEV-H, the kernel is in /run/initramfs/live/vmlinuz0
- if fipscheck $NEWROOT/boot/vmlinuz-${KERNEL} ; then
+ if $FIPSCHECK $NEWROOT/boot/vmlinuz-${KERNEL} ; then
warn "HMAC sum mismatch"
return 1
fi
@@ -81,6 +87,13 @@ do_fips()
fi
KERNEL=$(uname -r)
+ FIPSCHECK=/usr/lib64/libkcapi/fipscheck
+ if [ ! -f $FIPSCHECK ]; then
+ FIPSCHECK=/usr/lib/libkcapi/fipscheck
+ fi
+ if [ ! -f $FIPSCHECK ]; then
+ FIPSCHECK=/usr/bin/fipscheck
+ fi
if ! [ -e "/boot/.${_vmname}-${KERNEL}.hmac" ]; then
warn "/boot/.${_vmname}-${KERNEL}.hmac does not exist"
@@ -134,7 +147,7 @@ do_fips()
elif [ -e "/run/initramfs/live/isolinux/vmlinuz0" ]; then
do_rhevh_check /run/initramfs/live/isolinux/vmlinuz0 || return 1
else
- fipscheck "/boot/${_vmname}-${KERNEL}" || return 1
+ $FIPSCHECK "/boot/${_vmname}-${KERNEL}" || return 1
fi
info "All initrd crypto checks done"
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index beeb2f6d..9e5eca4f 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -24,6 +24,7 @@ installkernel() {
_fipsmodules+="cast6_generic cast5_generic cast_common sha512_ssse3 serpent_sse2_x86_64 serpent_generic twofish_generic "
_fipsmodules+="ablk_helper cryptd twofish_x86_64_3way lrw glue_helper twofish_x86_64 twofish_common blowfish_generic "
_fipsmodules+="blowfish_x86_64 blowfish_common des_generic cbc "
+ _fipsmodules+="algif_hash af_alg crypto_user "
mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
@@ -54,9 +55,18 @@ install() {
.libgcrypt.so.20.hmac \
libfreeblpriv3.so libfreeblpriv3.chk
+ if [ -f /usr/lib64/libkcapi/.fipscheck.hmac ]; then
+ inst_simple /usr/lib64/libkcapi/.fipscheck.hmac
+ inst_simple /usr/lib64/libkcapi/fipscheck
+ else
+ inst_simple /usr/lib/libkcapi/.fipscheck.hmac
+ inst_simple /usr/lib/libkcapi/fipscheck
+ fi
+
# we do not use prelink at SUSE
#inst_multiple -o prelink
inst_simple /etc/system-fips
+
}
--
2.12.3
++++++ 0528-Ensure-dracut.sh-responds-properly-to-hostonly_cmdli.patch ++++++
>From 469d28c50718de7761c91db07ccc7f40821f2d8b Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 17 Jul 2017 16:51:39 +0200
Subject: [PATCH] Ensure dracut.sh responds properly to hostonly_cmdline="no"
Reference: bsc#1048748
---
dracut.conf.5.asc | 2 +-
dracut.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut.conf.5.asc b/dracut.conf.5.asc
index 0460d4ff..3497f349 100644
--- a/dracut.conf.5.asc
+++ b/dracut.conf.5.asc
@@ -97,7 +97,7 @@ Configuration files must have the extension .conf; other extensions are ignored.
instead of a generic host and generate host-specific configuration.
*hostonly_cmdline=*"__{yes|no}__"::
- If set, store the kernel command line arguments needed in the initramfs
+ If set to "yes", store the kernel command line arguments needed in the initramfs
*persistent_policy=*"__<policy>__"::
Use _<policy>_ to address disks and partitions.
diff --git a/dracut.sh b/dracut.sh
index 492ecbf7..35d7e134 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1708,7 +1708,7 @@ if ! ( echo $PARMS_TO_STORE > $initdir/lib/dracut/build-parameter.txt ); then
exit 1
fi
-if [[ $hostonly_cmdline ]] ; then
+if [[ $hostonly_cmdline == "yes" ]] ; then
unset _stored_cmdline
if [ -d $initdir/etc/cmdline.d ];then
dinfo "Stored kernel commandline:"
--
2.12.3
++++++ 0529-systemd-add-missing-.slice-unit.patch ++++++
>From 1a4ff58c7451a88206bc119d19eb88f04936569e Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald(a)redhat.com>
Date: Wed, 22 Jun 2016 18:11:28 +0200
Subject: [PATCH 1/3] systemd: add missing -.slice unit
---
modules.d/00systemd/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
index d3133b23..86728208 100755
--- a/modules.d/00systemd/module-setup.sh
+++ b/modules.d/00systemd/module-setup.sh
@@ -122,6 +122,7 @@ install() {
\
$systemdsystemunitdir/slices.target \
$systemdsystemunitdir/system.slice \
+ $systemdsystemunitdir/-.slice \
\
$tmpfilesdir/systemd.conf \
\
--
2.12.3
++++++ 0530-dracut-systemd-dracut-cmdline-ask-fix-dracut-kernel-.patch ++++++
>From e053630ec37e31f1d7a9bcc22a4c67b2aae7c8e4 Mon Sep 17 00:00:00 2001
From: Evgeny Vereshchagin <evvers(a)ya.ru>
Date: Mon, 15 Feb 2016 08:29:40 +0000
Subject: [PATCH 2/3] dracut-systemd/dracut-cmdline-ask: fix dracut
--kernel-cmdline=rd.cmdline=ask
How to reproduce:
host# dracut --kernel-cmdline='rd.cmdline=ask' initramfs.img
host# qemu-system-x86_64 -initrd initramfs.img ... -append root=/dev/sda1 ...
...
qemu-host# journalctl -b | grep dracut-cmdline-ask
...
Feb 15 08:45:36 localhost systemd[1]: dracut-cmdline-ask.service: Installed new job dracut-cmdline-ask.service/start as 42
Feb 15 08:45:36 localhost systemd[1]: dracut-cmdline-ask.service: ConditionKernelCommandLine=rd.cmdline=ask failed.
Feb 15 08:45:36 localhost systemd[1]: dracut-cmdline-ask.service: Starting requested but condition failed. Not starting unit.
Feb 15 08:45:36 localhost systemd[1]: dracut-cmdline-ask.service: Job dracut-cmdline-ask.service/start finished, result=done
...
Signed-off-by: Evgeny Vereshchagin <evvers(a)ya.ru>
---
modules.d/98dracut-systemd/dracut-cmdline-ask.service | 3 ++-
modules.d/98dracut-systemd/dracut-cmdline-ask.sh | 4 ++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/modules.d/98dracut-systemd/dracut-cmdline-ask.service b/modules.d/98dracut-systemd/dracut-cmdline-ask.service
index 9a34b355..8bc7d809 100644
--- a/modules.d/98dracut-systemd/dracut-cmdline-ask.service
+++ b/modules.d/98dracut-systemd/dracut-cmdline-ask.service
@@ -14,7 +14,8 @@ Before=dracut-cmdline.service
After=systemd-journald.socket
Wants=systemd-journald.socket
ConditionPathExists=/usr/lib/initrd-release
-ConditionKernelCommandLine=rd.cmdline=ask
+ConditionKernelCommandLine=|rd.cmdline=ask
+ConditionPathExistsGlob=|/etc/cmdline.d/*.conf
[Service]
Environment=DRACUT_SYSTEMD=1
diff --git a/modules.d/98dracut-systemd/dracut-cmdline-ask.sh b/modules.d/98dracut-systemd/dracut-cmdline-ask.sh
index ab8933ad..f410f464 100755
--- a/modules.d/98dracut-systemd/dracut-cmdline-ask.sh
+++ b/modules.d/98dracut-systemd/dracut-cmdline-ask.sh
@@ -1,5 +1,9 @@
#!/bin/bash
+type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
+
+getarg "rd.cmdline=ask" || exit 0
+
sleep 0.5
echo
sleep 0.5
--
2.12.3
++++++ 0531-dracut-systemd-.service-conflict-with-shutdown-targe.patch ++++++
>From 326c5cb2c0b280f158d587f9ad77eff80a28b9dd Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald(a)redhat.com>
Date: Wed, 22 Jun 2016 18:12:19 +0200
Subject: [PATCH 3/3] dracut-systemd/*.service: conflict with shutdown target
make reboot/poweroff/halt work
also conflict with emergency.target
---
modules.d/98dracut-systemd/dracut-cmdline-ask.service | 2 ++
modules.d/98dracut-systemd/dracut-cmdline.service | 2 ++
modules.d/98dracut-systemd/dracut-emergency.service | 5 +++--
modules.d/98dracut-systemd/dracut-initqueue.service | 2 ++
modules.d/98dracut-systemd/dracut-mount.service | 2 ++
modules.d/98dracut-systemd/dracut-pre-mount.service | 2 ++
modules.d/98dracut-systemd/dracut-pre-pivot.service | 3 +++
modules.d/98dracut-systemd/dracut-pre-trigger.service | 2 ++
modules.d/98dracut-systemd/dracut-pre-udev.service | 2 ++
modules.d/98dracut-systemd/emergency.service | 2 ++
10 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/modules.d/98dracut-systemd/dracut-cmdline-ask.service b/modules.d/98dracut-systemd/dracut-cmdline-ask.service
index 8bc7d809..1685479a 100644
--- a/modules.d/98dracut-systemd/dracut-cmdline-ask.service
+++ b/modules.d/98dracut-systemd/dracut-cmdline-ask.service
@@ -16,6 +16,8 @@ Wants=systemd-journald.socket
ConditionPathExists=/usr/lib/initrd-release
ConditionKernelCommandLine=|rd.cmdline=ask
ConditionPathExistsGlob=|/etc/cmdline.d/*.conf
+Conflicts=shutdown.target emergency.target
+Before=shutdown.target emergency.target
[Service]
Environment=DRACUT_SYSTEMD=1
diff --git a/modules.d/98dracut-systemd/dracut-cmdline.service b/modules.d/98dracut-systemd/dracut-cmdline.service
index 6eeb991a..c22856e2 100644
--- a/modules.d/98dracut-systemd/dracut-cmdline.service
+++ b/modules.d/98dracut-systemd/dracut-cmdline.service
@@ -20,6 +20,8 @@ ConditionDirectoryNotEmpty=|/lib/dracut/hooks/cmdline
ConditionKernelCommandLine=|rd.break=cmdline
ConditionKernelCommandLine=|resume
ConditionKernelCommandLine=|noresume
+Conflicts=shutdown.target emergency.target
+Before=shutdown.target emergency.target
[Service]
Environment=DRACUT_SYSTEMD=1
diff --git a/modules.d/98dracut-systemd/dracut-emergency.service b/modules.d/98dracut-systemd/dracut-emergency.service
index 620b565f..3f1e0125 100644
--- a/modules.d/98dracut-systemd/dracut-emergency.service
+++ b/modules.d/98dracut-systemd/dracut-emergency.service
@@ -12,14 +12,15 @@ Description=Dracut Emergency Shell
DefaultDependencies=no
After=systemd-vconsole-setup.service
Wants=systemd-vconsole-setup.service
-Conflicts=emergency.service emergency.target
+Conflicts=shutdown.target emergency.target
+Before=shutdown.target emergency.target
[Service]
Environment=HOME=/
Environment=DRACUT_SYSTEMD=1
Environment=NEWROOT=/sysroot
WorkingDirectory=/
-ExecStart=/bin/dracut-emergency
+ExecStart=-/bin/dracut-emergency
ExecStopPost=-/bin/rm -f -- /.console_lock
Type=oneshot
StandardInput=tty-force
diff --git a/modules.d/98dracut-systemd/dracut-initqueue.service b/modules.d/98dracut-systemd/dracut-initqueue.service
index fa5ca561..20d6a8c2 100644
--- a/modules.d/98dracut-systemd/dracut-initqueue.service
+++ b/modules.d/98dracut-systemd/dracut-initqueue.service
@@ -18,6 +18,8 @@ Wants=systemd-udev-trigger.service
ConditionPathExists=/usr/lib/initrd-release
ConditionPathExists=|/lib/dracut/need-initqueue
ConditionKernelCommandLine=|rd.break=initqueue
+Conflicts=shutdown.target emergency.target
+Before=shutdown.target emergency.target
[Service]
Environment=DRACUT_SYSTEMD=1
diff --git a/modules.d/98dracut-systemd/dracut-mount.service b/modules.d/98dracut-systemd/dracut-mount.service
index 1b14f4a3..baa8edbc 100644
--- a/modules.d/98dracut-systemd/dracut-mount.service
+++ b/modules.d/98dracut-systemd/dracut-mount.service
@@ -15,6 +15,8 @@ After=dracut-initqueue.service dracut-pre-mount.service
ConditionPathExists=/usr/lib/initrd-release
ConditionDirectoryNotEmpty=|/lib/dracut/hooks/mount
ConditionKernelCommandLine=|rd.break=mount
+Conflicts=shutdown.target emergency.target
+Before=shutdown.target emergency.target
[Service]
Environment=DRACUT_SYSTEMD=1
diff --git a/modules.d/98dracut-systemd/dracut-pre-mount.service b/modules.d/98dracut-systemd/dracut-pre-mount.service
index 1e4e29f0..c7b123cc 100644
--- a/modules.d/98dracut-systemd/dracut-pre-mount.service
+++ b/modules.d/98dracut-systemd/dracut-pre-mount.service
@@ -17,6 +17,8 @@ After=cryptsetup.target
ConditionPathExists=/usr/lib/initrd-release
ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-mount
ConditionKernelCommandLine=|rd.break=pre-mount
+Conflicts=shutdown.target emergency.target
+Before=shutdown.target emergency.target
[Service]
Environment=DRACUT_SYSTEMD=1
diff --git a/modules.d/98dracut-systemd/dracut-pre-pivot.service b/modules.d/98dracut-systemd/dracut-pre-pivot.service
index f5a85ce0..20a872a7 100644
--- a/modules.d/98dracut-systemd/dracut-pre-pivot.service
+++ b/modules.d/98dracut-systemd/dracut-pre-pivot.service
@@ -10,6 +10,7 @@
[Unit]
Description=dracut pre-pivot and cleanup hook
Documentation=man:dracut-pre-pivot.service(8)
+DefaultDependencies=no
After=initrd.target initrd-parse-etc.service sysroot.mount
After=dracut-initqueue.service dracut-pre-mount.service dracut-mount.service
Before=initrd-cleanup.service
@@ -23,6 +24,8 @@ ConditionKernelCommandLine=|rd.break=cleanup
ConditionKernelCommandLine=|rd.break
ConditionPathExists=|/dev/root
ConditionPathExists=|/dev/nfs
+Conflicts=shutdown.target emergency.target
+Before=shutdown.target emergency.target
[Service]
Environment=DRACUT_SYSTEMD=1
diff --git a/modules.d/98dracut-systemd/dracut-pre-trigger.service b/modules.d/98dracut-systemd/dracut-pre-trigger.service
index 826b89b2..2df9d7bf 100644
--- a/modules.d/98dracut-systemd/dracut-pre-trigger.service
+++ b/modules.d/98dracut-systemd/dracut-pre-trigger.service
@@ -17,6 +17,8 @@ Wants=dracut-pre-udev.service systemd-udevd.service
ConditionPathExists=/usr/lib/initrd-release
ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-trigger
ConditionKernelCommandLine=|rd.break=pre-trigger
+Conflicts=shutdown.target emergency.target
+Before=shutdown.target emergency.target
[Service]
Environment=DRACUT_SYSTEMD=1
diff --git a/modules.d/98dracut-systemd/dracut-pre-udev.service b/modules.d/98dracut-systemd/dracut-pre-udev.service
index 43408f3e..1f71546b 100644
--- a/modules.d/98dracut-systemd/dracut-pre-udev.service
+++ b/modules.d/98dracut-systemd/dracut-pre-udev.service
@@ -21,6 +21,8 @@ ConditionKernelCommandLine=|rd.break=pre-udev
ConditionKernelCommandLine=|rd.driver.blacklist
ConditionKernelCommandLine=|rd.driver.pre
ConditionKernelCommandLine=|rd.driver.post
+Conflicts=shutdown.target emergency.target
+Before=shutdown.target emergency.target
[Service]
Environment=DRACUT_SYSTEMD=1
diff --git a/modules.d/98dracut-systemd/emergency.service b/modules.d/98dracut-systemd/emergency.service
index 35d9c317..969a300e 100644
--- a/modules.d/98dracut-systemd/emergency.service
+++ b/modules.d/98dracut-systemd/emergency.service
@@ -12,6 +12,8 @@ Description=Emergency Shell
DefaultDependencies=no
After=systemd-vconsole-setup.service
Wants=systemd-vconsole-setup.service
+Conflicts=shutdown.target
+Before=shutdown.target
[Service]
Environment=HOME=/
--
2.12.3
++++++ 0532-List-drivers-rather-than-looking-for-reverse-depende.patch ++++++
>From a233d68d230de2e6cd53c557999ad7cb3184cc46 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 7 Aug 2017 14:23:20 +0200
Subject: [PATCH] List drivers rather than looking for reverse dependencies of
block device-providing drivers
Adding all reverse dependencies for a driver shot over the top too often
(e.g. boo#1037344).
This reverts "90kernel-modules: also add block device driver reverse dependencies"
(commit 8a679916e597a2c589334c5aeaef8996b18debab)
Reference: boo#1037344
Reference: bsc#1034597
---
modules.d/90kernel-modules/module-setup.sh | 28 +++++-----------------------
1 file changed, 5 insertions(+), 23 deletions(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 77b6bcae..e1880725 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -3,28 +3,6 @@
# called by dracut
installkernel() {
if [[ -z $drivers ]]; then
- # modules with symbols might have abstractions that depend on them, so let's add those
- add_rev_deps() {
- local _module
- local _line
- [[ -f "$srcmods/modules.dep" ]] || return 0
- while read _module; do
- local _mod
- local _deps
- _module=${_module##$srcmods/}
- printf "%s\n" "$_module"
- egrep ".*:.*$_module.*" $srcmods/modules.dep | (
- local _OLDIFS=$IFS
- IFS=:
- while read _mod _deps; do
- printf "%s\n" "$srcmods/$_mod"
- done
- IFS=$_OLDIFS
- )
- done | sort -u
- return 0
- }
-
block_module_filter() {
local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_add_host'
# subfunctions inherit following FDs
@@ -90,7 +68,11 @@ installkernel() {
instmods virtio virtio_blk virtio_ring virtio_pci virtio_scsi \
"=drivers/pcmcia" =ide "=drivers/usb/storage"
- find_kernel_modules | block_module_filter | add_rev_deps | instmods
+ find_kernel_modules | block_module_filter | instmods
+
+ # modules that will fail block_module_filter because their implementation
+ # is spread over multiple modules (bsc#1034597)
+ instmods hisi_sas_v1_hw hisi_sas_v2_hw # symbols in dep hisi_sas_main
# if not on hostonly mode, install all known filesystems,
# if the required list is not set via the filesystems variable
--
2.12.3
++++++ 0533-instmods-check-modules.builtin-in-srcmods.patch ++++++
>From 41c4ef96400cd1dbcce175a4b909ebdbd429e5a2 Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck(a)suse.com>
Date: Thu, 13 Jul 2017 21:17:27 +0200
Subject: [PATCH] instmods: check modules.builtin in $srcmods
Running dracut with --kmoddir causes lots of errors like this:
grep: /lib/modules/4.4.73-default/modules.builtin: No such file or directory
Fix this by looking up modules.builtin in the proper path.
Reference: bsc#1048606
---
dracut-init.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut-init.sh b/dracut-init.sh
index c9413907..3f30cc9c 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -1137,7 +1137,7 @@ instmods() {
return 0
fi
- if grep -q "/${_mod}.ko" /lib/modules/$kernel/modules.builtin; then
+ if grep -q "/${_mod}.ko" $srcmods/modules.builtin; then
# Module is built-in
return 0
fi
--
2.12.3
++++++ 0534-ssh-client-Include-nss_-libraries.patch ++++++
>From 9c2c061b2f1760c96b3cc9bcd38d7c1b5f25061d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michal=20Koutn=C3=BD?= <mkoutny(a)suse.com>
Date: Tue, 15 Aug 2017 15:25:18 +0200
Subject: [PATCH] ssh-client: Include nss_ libraries
SSH uses passwd database and thus need various NSS plugin libraries,
depending upon setting in nsswitch.conf.
SSH binary fails within the dracut environment without the libraries:
#:/ ssh
No user exist for uid 0
---
modules.d/95ssh-client/module-setup.sh | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
index 0a0e80cd..a6945c1f 100755
--- a/modules.d/95ssh-client/module-setup.sh
+++ b/modules.d/95ssh-client/module-setup.sh
@@ -56,7 +56,16 @@ inst_sshenv()
# called by dracut
install() {
+ local _nsslibs
+
inst_multiple ssh scp
inst_sshenv
+
+ _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
+ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+ _nsslibs=${_nsslibs#|}
+ _nsslibs=${_nsslibs%|}
+
+ inst_libdir_file -n "$_nsslibs" 'libnss_*.so*'
}
--
2.12.3
++++++ 0535-Sync-initramfs-after-creation.patch ++++++
>From 6b4f01ef7728cdb4ade4d6ef44313127d7d8f8f3 Mon Sep 17 00:00:00 2001
From: Ankit Kumar <ankit(a)linux.vnet.ibm.com>
Date: Mon, 7 Aug 2017 12:13:53 +0530
Subject: [PATCH] Sync initramfs after creation
If we trigger crash just after creating initramfs, sometimes it is
observed that initramfs is not written to disk causing the subsequent
boot to fail. A sync should resolve this.
Signed-off-by: Ankit Kumar <ankit(a)linux.vnet.ibm.com>
---
dracut.sh | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dracut.sh b/dracut.sh
index 35d7e134..39bae4e7 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1832,4 +1832,10 @@ else
fi
+sync $outfile 2> /dev/null
+if [ $? -ne 0 ] ; then
+ dinfo "dracut: sync operartion on newly created initramfs $outfile failed"
+ exit 1
+fi
+
exit 0
--
2.12.3
++++++ 0536-90multipath-drop-67-kpartx-compat.rules.patch ++++++
>From 684d83b9492b8a8323f4b99d4384e56c7c7b3580 Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck(a)suse.com>
Date: Mon, 14 Aug 2017 16:43:45 +0200
Subject: [PATCH 1/2] 90multipath: drop 67-kpartx-compat.rules
This file is obsolete in SLE-15 and Factory.
Reference: bsc#1054539
---
modules.d/90multipath/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 4f342c89..85848068 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -118,7 +118,7 @@ install() {
inst_rules 40-multipath.rules 56-multipath.rules \
62-multipath.rules 65-multipath.rules \
- 66-kpartx.rules 67-kpartx-compat.rules \
+ 66-kpartx.rules \
11-dm-mpath.rules
}
--
2.12.3
++++++ 0537-dracut-init.sh-ignore-crc32.ko-in-builtin-test.patch ++++++
>From c909fcc8e1b34098e2ec58cd585df0dbb8c3ec3c Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck(a)suse.com>
Date: Wed, 19 Jul 2017 01:25:13 +0200
Subject: [PATCH 2/2] dracut-init.sh: ignore crc32.ko in builtin test
crc32.ko exists twice in certain kernels (e.g. SLE12): as
/kernel/lib/crc32.ko (SLE12: builtin) and as kernel/crypto/crc32.ko
(SLE12: module). When the latter module is necessary, dracut
falsely classifies it as builtin. Fix that.
Reference: bsc#1054538
---
dracut-init.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut-init.sh b/dracut-init.sh
index 3f30cc9c..65597ffa 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -1137,7 +1137,7 @@ instmods() {
return 0
fi
- if grep -q "/${_mod}.ko" $srcmods/modules.builtin; then
+ if [[ ${_mod} != crc32 ]] && grep -q "/${_mod}.ko" $srcmods/modules.builtin; then
# Module is built-in
return 0
fi
--
2.12.3
++++++ 0538-Enable-core-dumps-with-systemd-from-initrd.patch ++++++
>From c15c37986d9387c7f7d1020bd7ca17f890ae6276 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Tue, 29 Aug 2017 08:46:07 +0200
Subject: [PATCH] Enable core dumps with systemd from initrd
systemd sets /proc/sys/kernel/core_pattern to use systemd-coredump.
However, systemd-coredump is missing from initrd, making dumping
the core in initrd impossible by default.
Reference: bsc#1054809
---
modules.d/00systemd/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
index 86728208..14b3ab07 100755
--- a/modules.d/00systemd/module-setup.sh
+++ b/modules.d/00systemd/module-setup.sh
@@ -33,6 +33,7 @@ install() {
inst_multiple -o \
$systemdutildir/systemd \
+ $systemdutildir/systemd-coredump \
$systemdutildir/systemd-cgroups-agent \
$systemdutildir/systemd-shutdown \
$systemdutildir/systemd-reply-password \
--
2.12.3
++++++ 0539-Add-IMA-functionality-fate-323289.patch ++++++
>From 31f5f290cf74a719b93439bced08260f5af47f80 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 28 Sep 2017 13:16:33 +0200
Subject: [PATCH] Add IMA functionality (fate#323289)
This is implemented as a sub module analogous to FIPS.
(changes to spec file applied in OBS only)
---
dracut.conf.d/ima.conf.example | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 dracut.conf.d/ima.conf.example
diff --git a/dracut.conf.d/ima.conf.example b/dracut.conf.d/ima.conf.example
new file mode 100644
index 00000000..b4c4eea7
--- /dev/null
+++ b/dracut.conf.d/ima.conf.example
@@ -0,0 +1,3 @@
+# turn on ima modules
+
+add_dracutmodules+=" integrity "
--
2.14.1
++++++ 0540-Check-the-proper-variable-for-a-custom-IMA-keys-dire.patch ++++++
>From 551cc3694e32be97084b1f198f76f4daf908d503 Mon Sep 17 00:00:00 2001
From: Jason Dana <jasondana(a)quarksecurity.com>
Date: Thu, 27 Apr 2017 07:55:58 -0400
Subject: [PATCH] Check the proper variable for a custom IMA keys directory
---
modules.d/98integrity/ima-keys-load.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/98integrity/ima-keys-load.sh b/modules.d/98integrity/ima-keys-load.sh
index 659b7222..e142f74d 100755
--- a/modules.d/98integrity/ima-keys-load.sh
+++ b/modules.d/98integrity/ima-keys-load.sh
@@ -13,7 +13,7 @@ load_x509_keys()
. ${IMACONFIG}
fi
- if [ -z "${IMAKEYDIR}" ]; then
+ if [ -z "${IMAKEYSDIR}" ]; then
IMAKEYSDIR="/etc/keys/ima"
fi
--
2.14.1
++++++ 0541-Make-sure-70-persistent-net.rules-is-included-in-ini.patch ++++++
>From 9ddabe8afc13e0ea038ab5bc8aaf1cffe1c905ed Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 23 Oct 2017 12:01:43 +0200
Subject: [PATCH] Make sure 70-persistent-net.rules is included in initramfs
This is to support predictable interface names
Note: This should not be backported.
Reference: boo#960669
---
modules.d/95udev-rules/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index 5e3f444d..38f7726c 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -38,6 +38,7 @@ install() {
60-pcmcia.rules \
60-persistent-storage.rules \
61-persistent-storage-edd.rules \
+ 70-persistent-net.rules \
70-uaccess.rules \
71-seat.rules \
73-seat-late.rules \
--
2.14.1
++++++ 0542-Include-crc32c-intel-module-when-using-btrfs.patch ++++++
>From 3c2699fc3f5602a13ec18a0a07d515847dc11fa9 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 23 Oct 2017 13:36:18 +0200
Subject: [PATCH] Include crc32c-intel module when using btrfs
Reference: bsc#1011554
---
modules.d/90btrfs/module-setup.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
index 9303dbe2..b0d0058b 100755
--- a/modules.d/90btrfs/module-setup.sh
+++ b/modules.d/90btrfs/module-setup.sh
@@ -26,6 +26,8 @@ depends() {
# called by dracut
installkernel() {
instmods btrfs
+ # Make sure btfs can use fast crc32c implementations where available (bsc#1011554)
+ instmods crc32c-intel
}
# called by dracut
--
2.14.1
++++++ 0543-Remove-00systemd-bootchart.patch ++++++
>From d886567080bd53d2efcba43c89cdfb000ffd594b Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 4 Dec 2017 15:55:12 +0100
Subject: [PATCH] Remove 00systemd-bootchart
This was removed from systemd almost two years ago in
c550f7a9b89d017215af084288bc44f736f774fe, so dracut should drop support
as well.
Reference: bsc#1067279
---
modules.d/00systemd-bootchart/module-setup.sh | 19 -------------------
1 file changed, 19 deletions(-)
delete mode 100755 modules.d/00systemd-bootchart/module-setup.sh
diff --git a/modules.d/00systemd-bootchart/module-setup.sh b/modules.d/00systemd-bootchart/module-setup.sh
deleted file mode 100755
index dcf546e6..00000000
--- a/modules.d/00systemd-bootchart/module-setup.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-
-# called by dracut
-check() {
- [[ "$mount_needs" ]] && return 1
- require_binaries $systemdutildir/systemd-bootchart || return 1
- return 255
-}
-
-# called by dracut
-depends() {
- return 0
-}
-
-# called by dracut
-install() {
- inst_symlink /init /sbin/init
- inst_multiple $systemdutildir/systemd-bootchart
-}
--
2.13.6
++++++ 0544-40network-Make-ip-dhcp-work.patch ++++++
>From 9d4167efa9b6f093f1a37cb07bc744e763a5d292 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Fri, 8 Dec 2017 09:51:47 +0100
Subject: [PATCH] 40network: Make ip=dhcp work
This fixes ip=dhcp to behave exactly like ip=<dev>:dhcp, as indicated
in the documentation.
Reference: bsc#1069163
---
modules.d/40network/ifup.sh | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index a684cba0..d9a418e5 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -497,6 +497,19 @@ if [ -z "$ip" ]; then
fi
fi
+bring_online() {
+ > /tmp/net.${netif}.up
+
+ if [ -e /sys/class/net/${netif}/address ]; then
+ > /tmp/net.$(cat /sys/class/net/${netif}/address).up
+ fi
+
+ setup_net $netif
+ source_hook initqueue/online $netif
+ if [ -z "$manualup" ]; then
+ /sbin/netroot $netif
+ fi
+}
# Specific configuration, spin through the kernel command line
# looking for ip= lines
@@ -555,17 +568,7 @@ for p in $(getargs ip=); do
done
if [ $? -eq 0 ]; then
- > /tmp/net.${netif}.up
-
- if [ -e /sys/class/net/${netif}/address ]; then
- > /tmp/net.$(cat /sys/class/net/${netif}/address).up
- fi
-
- setup_net $netif
- source_hook initqueue/online $netif
- if [ -z "$manualup" ]; then
- /sbin/netroot $netif
- fi
+ bring_online
fi
done
@@ -593,6 +596,9 @@ if [ ! -e /tmp/net.${netif}.up ]; then
do_dhcp -4
fi
fi
+ if [ $? -eq 0 ]; then
+ bring_online
+ fi
fi
if [ -e /tmp/net.${netif}.up ]; then
--
2.13.6
++++++ 0545-Add-early-microcode-support-for-AMD-family-16h.patch ++++++
>From 8bbdf5f5300fcb234a36fc83b8218b0f5be21b31 Mon Sep 17 00:00:00 2001
From: jonathan-teh <30538043+jonathan-teh(a)users.noreply.github.com>
Date: Sat, 29 Jul 2017 00:19:19 +0100
Subject: [PATCH 1/2] Add early microcode support for AMD family 16h
---
dracut-functions.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index ebe05a21..93a56f03 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -656,8 +656,10 @@ get_ucode_file ()
local stepping=`grep -E "stepping" /proc/cpuinfo | head -1 | sed s/.*:\ //`
if [[ "$(get_cpu_vendor)" == "AMD" ]]; then
- # If family greater or equal than 0x15
- if [[ $family -ge 21 ]]; then
+ # If family greater than or equal to 0x16
+ if [[ $family -ge 22 ]]; then
+ printf "microcode_amd_fam16h.bin"
+ elif [[ $family -eq 21 ]]; then
printf "microcode_amd_fam15h.bin"
else
printf "microcode_amd.bin"
--
2.13.6
++++++ 0546-Support-Microcode-Updates-for-AMD-CPU-Family-0x17.patch ++++++
>From e725f7e919c286c93ee720aefb91ae231f89ec87 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Tue, 12 Dec 2017 17:48:36 +0100
Subject: [PATCH 2/2] Support Microcode Updates for AMD CPU Family 0x17
Original-Patch-By: Tom Lendacky <thomas.lendacky(a)amd.com>
---
dracut-functions.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 93a56f03..7dcbef7c 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -656,8 +656,10 @@ get_ucode_file ()
local stepping=`grep -E "stepping" /proc/cpuinfo | head -1 | sed s/.*:\ //`
if [[ "$(get_cpu_vendor)" == "AMD" ]]; then
- # If family greater than or equal to 0x16
- if [[ $family -ge 22 ]]; then
+ # If family greater than or equal to 0x17
+ if [[ $family -ge 23 ]]; then
+ printf "microcode_amd_fam17h.bin"
+ elif [[ $family -eq 22 ]]; then
printf "microcode_amd_fam16h.bin"
elif [[ $family -eq 21 ]]; then
printf "microcode_amd_fam15h.bin"
--
2.13.6
++++++ 0547-Fix-task-limit-in-emergency.service-the-same-change-.patch ++++++
>From e6e429407845cefe1305315ede997d961f486f99 Mon Sep 17 00:00:00 2001
From: Lidong Zhong <lidong.zhong(a)suse.com>
Date: Tue, 5 Sep 2017 16:40:14 +0200
Subject: [PATCH] Fix task limit in emergency.service (the same change as in
dracut-emergency.service) (bsc#1019938)
---
modules.d/98dracut-systemd/emergency.service | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/98dracut-systemd/emergency.service b/modules.d/98dracut-systemd/emergency.service
index 969a300e..d8bc779a 100644
--- a/modules.d/98dracut-systemd/emergency.service
+++ b/modules.d/98dracut-systemd/emergency.service
@@ -28,6 +28,7 @@ StandardOutput=inherit
StandardError=inherit
KillMode=process
IgnoreSIGPIPE=no
+TasksMax=infinity
# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
# terminates cleanly.
--
2.13.6
++++++ 0548-95fcoe-Switch-back-to-using-fipvlan-for-bnx2fc.patch ++++++
>From 9353f7e22da71f16a070cb27c139817ba04879c5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 17 Aug 2017 10:54:22 +0200
Subject: [PATCH 1/3] 95fcoe: Switch back to using fipvlan for bnx2fc
bnx2fc doesn't _actually_ need fcoemon, so fipvlan is sufficient
to start the FCoE connection.
And, in fact, fcoemon is started for every interface, causing
subsequent invocations to fail with
fcoemon[1157]: error 98 address already in use
and fcoemon tearing down the connection.
References: bsc#1052840
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/fcoe-up.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
index 74bdf819..261bf70c 100755
--- a/modules.d/95fcoe/fcoe-up.sh
+++ b/modules.d/95fcoe/fcoe-up.sh
@@ -57,7 +57,11 @@ if [ "$netdriver" = "bnx2x" ]; then
udevadm settle --timeout=30
# Sleep for 3 s to allow dcb negotiation
sleep 3
-elif [ "$dcb" = "dcb" ]; then
+ fipvlan "$netif" -c -s
+ need_shutdown
+ exit
+fi
+if [ "$dcb" = "dcb" ]; then
# wait for lldpad to be ready
i=0
while [ $i -lt 60 ]; do
--
2.13.6
++++++ 0549-fcoe-up-Increase-sleeptime-to-13s.patch ++++++
>From be4084fa2c097cd4b0ca870501e1a9628141de07 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 12 Oct 2017 13:38:11 +0200
Subject: [PATCH 2/3] fcoe-up: Increase sleeptime to 13s
The bnx2 driver requires some time to complete DCB negotiation,
so we should rather increase the sleep time to avoid FCoE not
being able to start correctly.
References: bsc#1052840
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/fcoe-up.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
index 261bf70c..21947447 100755
--- a/modules.d/95fcoe/fcoe-up.sh
+++ b/modules.d/95fcoe/fcoe-up.sh
@@ -55,8 +55,8 @@ if [ "$netdriver" = "bnx2x" ]; then
# If driver is bnx2x, do not use /sys/module/fcoe/parameters/create but fipvlan
modprobe 8021q
udevadm settle --timeout=30
- # Sleep for 3 s to allow dcb negotiation
- sleep 3
+ # Sleep for 13 s to allow dcb negotiation
+ sleep 13
fipvlan "$netif" -c -s
need_shutdown
exit
--
2.13.6
++++++ 0550-95fcoe-add-timeout-initqueue-entries.patch ++++++
>From 853356a0d72e5c1a3cc69b9eb09dff66f6e20647 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 13 Sep 2017 09:42:01 +0200
Subject: [PATCH] 95fcoe: add timeout initqueue entries
Occasionally the FCoE connection might be reset after fipvlan was
called, causing the FCoE connection to be dropped and boot to fail.
For these cases we should be adding a timeout entry for the
initqueue to have a failsave mechanism to re-run fipvlan in
these cases.
References: bsc#1052840
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/95fcoe/fcoe-genrules.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/95fcoe/fcoe-genrules.sh b/modules.d/95fcoe/fcoe-genrules.sh
index 5b16cb0d..445a09c2 100755
--- a/modules.d/95fcoe/fcoe-genrules.sh
+++ b/modules.d/95fcoe/fcoe-genrules.sh
@@ -8,7 +8,9 @@
{
if [ -n "$fcoe_mac" ] ; then
printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s %s"\n' "$fcoe_mac" "$fcoe_dcb" "$fcoe_mode"
+ printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", RUN+="/sbin/initqueue --onetime --timeout --unique --name fcoe-timeout-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s %s"\n' "$fcoe_mac" "$fcoe_dcb" "$fcoe_mode"
else
printf 'ACTION=="add", SUBSYSTEM=="net", NAME=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s %s"\n' "$fcoe_interface" "$fcoe_dcb" "$fcoe_mode"
+ printf 'ACTION=="add", SUBSYSTEM=="net", NAME=="%s", RUN+="/sbin/initqueue --onetime --timeout --unique --name fcoe-timeout-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s %s"\n' "$fcoe_interface" "$fcoe_dcb" "$fcoe_mode"
fi
} >> /etc/udev/rules.d/92-fcoe.rules
--
2.13.6
++++++ 0551-fips-use-lib-modules-uname-r-modules.fips.patch ++++++
>From 2a7f2be7475dfaf5090bbafbbf5b7eb3067eef46 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Wed, 10 Jan 2018 11:03:22 +0100
Subject: [PATCH] fips: use /lib/modules/$(uname -r)/modules.fips
if /lib/modules/$(uname -r)/modules.fips exists, use that list instead
of the hardcoded dracut module list.
Backported from upstream's master branch
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index 9e5eca4f..709cfc85 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -13,18 +13,22 @@ depends() {
# called by dracut
installkernel() {
local _fipsmodules _mod
- _fipsmodules="ansi_cprng arc4 authenc ccm "
- _fipsmodules+="ctr cts deflate drbg "
- _fipsmodules+="ecb fcrypt gcm ghash_generic khazad md4 michael_mic rmd128 "
- _fipsmodules+="rmd160 rmd256 rmd320 seed "
- _fipsmodules+="sha512_generic tcrypt tea wp512 xts "
- _fipsmodules+="aes_s390 des_s390 sha256_s390 ghash_s390 sha1_s390 sha512_s390 "
- _fipsmodules+="gf128mul "
- _fipsmodules+="cmac vmac xcbc salsa20_generic salsa20_x86_64 camellia_generic camellia_x86_64 pcbc tgr192 anubis "
- _fipsmodules+="cast6_generic cast5_generic cast_common sha512_ssse3 serpent_sse2_x86_64 serpent_generic twofish_generic "
- _fipsmodules+="ablk_helper cryptd twofish_x86_64_3way lrw glue_helper twofish_x86_64 twofish_common blowfish_generic "
- _fipsmodules+="blowfish_x86_64 blowfish_common des_generic cbc "
- _fipsmodules+="algif_hash af_alg crypto_user "
+ if [[ -f "${srcmods}/modules.fips" ]]; then
+ _fipsmodules="$(cat "${srcmods}/modules.fips")"
+ else
+ _fipsmodules="ansi_cprng arc4 authenc ccm "
+ _fipsmodules+="ctr cts deflate drbg "
+ _fipsmodules+="ecb fcrypt gcm ghash_generic khazad md4 michael_mic rmd128 "
+ _fipsmodules+="rmd160 rmd256 rmd320 seed "
+ _fipsmodules+="sha512_generic tcrypt tea wp512 xts "
+ _fipsmodules+="aes_s390 des_s390 sha256_s390 ghash_s390 sha1_s390 sha512_s390 "
+ _fipsmodules+="gf128mul "
+ _fipsmodules+="cmac vmac xcbc salsa20_generic salsa20_x86_64 camellia_generic camellia_x86_64 pcbc tgr192 anubis "
+ _fipsmodules+="cast6_generic cast5_generic cast_common sha512_ssse3 serpent_sse2_x86_64 serpent_generic twofish_generic "
+ _fipsmodules+="ablk_helper cryptd twofish_x86_64_3way lrw glue_helper twofish_x86_64 twofish_common blowfish_generic "
+ _fipsmodules+="blowfish_x86_64 blowfish_common des_generic cbc "
+ _fipsmodules+="algif_hash af_alg crypto_user "
+ fi
mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
--
2.13.6
++++++ 0552-98integrity-support-validating-the-IMA-policy-file-s.patch ++++++
>From d31e03d34cc743c6538f532704ec7fc3bc75a03d Mon Sep 17 00:00:00 2001
From: Stefan Berger <stefanb(a)us.ibm.com>
Date: Thu, 13 Oct 2016 16:49:43 -0400
Subject: [PATCH] 98integrity: support validating the IMA policy file signature
IMA validates file signatures based on the security.ima xattr. As of
Linux-4.7, instead of cat'ing the IMA policy into the securityfs policy,
the IMA policy pathname can be written, allowing the IMA policy file
signature to be validated.
This patch first attempts to write the pathname, but on failure falls
back to cat'ing the IMA policy contents .
Signed-off-by: Stefan Berger <stefanb(a)linux.vnet.ibm.com>
Signed-off-by: Mimi Zohar <zohar(a)linux.vnet.ibm.com>
---
modules.d/98integrity/ima-policy-load.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/98integrity/ima-policy-load.sh b/modules.d/98integrity/ima-policy-load.sh
index 0061cfff..5460d025 100755
--- a/modules.d/98integrity/ima-policy-load.sh
+++ b/modules.d/98integrity/ima-policy-load.sh
@@ -30,7 +30,8 @@ load_ima_policy()
# check the existence of the IMA policy file
[ -f "${IMAPOLICYPATH}" ] && {
info "Loading the provided IMA custom policy";
- cat ${IMAPOLICYPATH} > ${IMASECDIR}/policy;
+ echo -n "${IMAPOLICYPATH}" > ${IMASECDIR}/policy || \
+ cat "${IMAPOLICYPATH}" > ${IMASECDIR}/policy
}
return 0
--
2.13.6
++++++ 0553-98integrity-support-loading-x509-into-the-trusted-bu.patch ++++++
>From 266d28ad09755c1c7016891f356bb75a9861f77c Mon Sep 17 00:00:00 2001
From: Matthias Gerstner <matthias.gerstner(a)suse.de>
Date: Wed, 24 Jan 2018 16:58:15 +0100
Subject: [PATCH 1/2] 98integrity: support loading x509 into the
trusted/builtin .evm keyring
This implements logic analogous to the one already implemented in
ima-keys-load.sh, only for the .evm/_evm keyrings.
If the kernel was built with CONFIG_IMA_TRUSTED_KEYRING then the kernel
initially creates and configures .ima and .evm keyrings. These keyrings
only accept x509 certificates that have been signed by a local CA which
belongs to the kernel builtin trusted keyring.
Thus if such a keyring is already present then additional evm keys
should be loaded into them. If this is not the case then the _evm
keyring needs to be created in userspace and keys will be loaded into
it instead.
Before this change dracut always created the _evm keyring and loaded
keys into it without considering an existing .evm keyring. In case of
CONFIG_IMA_TRUSTED_KEYRING being enabled, the _evm keyring will not be
used by the kernel, however, and EVM digital signatures will not work as
expected.
---
modules.d/98integrity/evm-enable.sh | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/modules.d/98integrity/evm-enable.sh b/modules.d/98integrity/evm-enable.sh
index ec4f03bc..a3ba59fd 100755
--- a/modules.d/98integrity/evm-enable.sh
+++ b/modules.d/98integrity/evm-enable.sh
@@ -76,8 +76,21 @@ load_evm_x509()
return 1
fi
+ local evm_pubid
+ local line=$(keyctl describe %keyring:.evm)
+ if [ $? -eq 0 ]; then
+ # the kernel already setup a trusted .evm keyring so use that one
+ evm_pubid=${line%%:*}
+ else
+ # look for an existing regular keyring
+ evm_pubid=`keyctl search @u keyring _evm`
+ if [ -z "${evm_pubid}" ]; then
+ # create a new regular _evm keyring
+ evm_pubid=`keyctl newring _evm @u`
+ fi
+ fi
+
# load the EVM public key onto the EVM keyring
- evm_pubid=`keyctl newring _evm @u`
EVMX509ID=$(evmctl import ${EVMX509PATH} ${evm_pubid})
[ $? -eq 0 ] || {
info "integrity: failed to load the EVM X509 cert ${EVMX509PATH}";
--
2.13.6
++++++ 0554-98integrity-support-X.509-only-EVM-configuration.patch ++++++
>From 16d52f692c2add82f54f712a7fc60885536dc39a Mon Sep 17 00:00:00 2001
From: Matthias Gerstner <matthias.gerstner(a)suse.de>
Date: Wed, 24 Jan 2018 17:19:03 +0100
Subject: [PATCH 2/2] 98integrity: support X.509-only EVM configuration
Previously if no symmetric key was configured for EVM, then the
initialization process was aborted. It can be a valid use case, however,
to only use EVM digital signatures. In this case only X.509 certificates
need to be loaded.
With this change EVM initialization will continue if any of the
symmetric or X.509 keys could be loaded.
---
modules.d/98integrity/evm-enable.sh | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/modules.d/98integrity/evm-enable.sh b/modules.d/98integrity/evm-enable.sh
index a3ba59fd..5a92b598 100755
--- a/modules.d/98integrity/evm-enable.sh
+++ b/modules.d/98integrity/evm-enable.sh
@@ -125,11 +125,18 @@ enable_evm()
return 0
fi
- # load the EVM encrypted key
- load_evm_key || return 1
+ local evm_configured
+
+ # try to load the EVM encrypted key
+ load_evm_key && evm_configured=1
+
+ # try to load the EVM public key
+ load_evm_x509 && evm_configured=1
- # load the EVM public key, if it exists
- load_evm_x509
+ # only enable EVM if a key or x509 certificate could be loaded
+ if [ -z "$evm_configured" ]; then
+ return 1
+ fi
# initialize EVM
info "Enabling EVM"
--
2.13.6
++++++ 0555-Avoid-executing-emergency-hooks-twice.patch ++++++
>From 64511ab0b73df0c9d704e61b14beba641818dd56 Mon Sep 17 00:00:00 2001
From: Ignaz Forster <iforster(a)suse.com>
Date: Tue, 6 Feb 2018 17:32:47 +0100
Subject: [PATCH] Avoid executing emergency hooks twice
When using systemd emergency hooks were executed twice; this patch will avoid
that by only calling the hook of systemd is not called anyway.
Also see https://github.com/dracutdevs/dracut/pull/374
---
modules.d/99base/dracut-lib.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: dracut-044/modules.d/99base/dracut-lib.sh
===================================================================
--- dracut-044.orig/modules.d/99base/dracut-lib.sh
+++ dracut-044/modules.d/99base/dracut-lib.sh
@@ -1072,6 +1072,7 @@ _emergency_shell()
rm -f -- /.console_lock
else
debug_off
+ source_hook "$hook"
echo
/sbin/rdsosreport
echo 'You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot'
@@ -1122,12 +1123,12 @@ emergency_shell()
echo ; echo
warn "$*"
- source_hook "$hook"
echo
if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
_emergency_shell $_rdshell_name
else
+ source_hook "$hook"
warn "$action has failed. To debug this issue add \"rd.shell rd.debug\" to the kernel command line."
# cause a kernel panic
exit 1
++++++ 0556-95qeth_rules-Add-new-module-to-copy-qeth-rules.patch ++++++
>From c4f914a33ac07348245b865dd356c60459d81b42 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 29 Jan 2018 08:58:31 -0500
Subject: [PATCH] 95qeth_rules: Add new module to copy qeth rules
Only pick rules for interfaces which have a carrier in the running
system. Those interfaces will be assembled by udev to allow booting
from those devices (i.e. iSCSI).
Reference: FATE#323440
---
modules.d/95qeth_rules/module-setup.sh | 59 ++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
create mode 100755 modules.d/95qeth_rules/module-setup.sh
diff --git a/modules.d/95qeth_rules/module-setup.sh b/modules.d/95qeth_rules/module-setup.sh
new file mode 100755
index 00000000..d4d15118
--- /dev/null
+++ b/modules.d/95qeth_rules/module-setup.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+# called by dracut
+check() {
+ local _arch=$(uname -m)
+ local _online=0
+ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
+ require_binaries /usr/lib/udev/collect || return 1
+ dracut_module_included network || return 1
+
+ [[ $hostonly ]] && {
+ for i in /sys/devices/qeth/*/online; do
+ read _online < $i
+ [ $_online -eq 1 ] && return 0
+ done
+ }
+ return 255
+}
+
+# called by dracut
+installkernel() {
+ instmods qeth
+}
+
+# called by dracut
+install() {
+ ccwid() {
+ qeth_path=$(readlink -e -q $1/device)
+ basename "$qeth_path"
+ }
+
+ inst_rules_qeth() {
+ for rule in /etc/udev/rules.d/{4,5}1-qeth-${1}.rules; do
+ # prefer chzdev generated 41- rules
+ if [ -f "$rule" ]; then
+ inst_rules "$rule"
+ break
+ fi
+ done
+ }
+
+ has_carrier() {
+ carrier=0
+ # not readable in qeth interfaces
+ # that have just been assembled, ignore
+ # read error and assume no carrier
+ read carrier 2>/dev/null < "$1/carrier"
+ [ "$carrier" -eq 1 ] && return 0
+ return 1;
+ }
+
+ for dev in /sys/class/net/*; do
+ has_carrier $dev || continue
+ id=$(ccwid $dev)
+ [ -n "$id" ] && inst_rules_qeth $id
+ done
+
+ inst_simple /usr/lib/udev/collect
+}
--
2.13.6
++++++ 0557-40network-make-arping-optional.patch ++++++
>From a36a38050e9091b1325bd7cc9e2190a31bb0da26 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 30 Jan 2018 11:14:06 +0100
Subject: [PATCH 1/2] 40network: make arping optional
'arping' is not part of the standard installation on SLE15, so we
should be making it optional.
References: bsc#1078245
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
---
modules.d/40network/dhclient-script.sh | 3 +++
modules.d/40network/ifup.sh | 2 +-
modules.d/40network/module-setup.sh | 6 +++---
modules.d/40network/net-lib.sh | 4 ++++
4 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh
index 9aac2b17..f8a558c7 100755
--- a/modules.d/40network/dhclient-script.sh
+++ b/modules.d/40network/dhclient-script.sh
@@ -113,6 +113,9 @@ case $reason in
if [ -f /sys/class/net/$netif/device/layer2 ]; then
read layer2 < /sys/class/net/$netif/device/layer2
fi
+ if ! which arping > /dev/null 2>&1 ; then
+ layer2=0
+ fi
if [ "$layer2" != "0" ]; then
if ! arping -f -q -D -c 2 -I $netif $new_ip_address ; then
warn "Duplicate address detected for $new_ip_address while doing dhcp. retrying"
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index d9a418e5..11377e6b 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -329,7 +329,7 @@ if strglobin $ip '*:*:*'; then
wait_for_ipv6_dad $netif
[ "$gw" = "::" ] && gw=""
else
- if ! arping -f -q -D -c 2 -I $netif $ip; then
+ if which arping > /dev/null 2>&1 -a ! arping -f -q -D -c 2 -I $netif $ip; then
warn "Duplicate address detected for $ip for interface $netif."
return 1
fi
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index e23d9e06..18cebc91 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -7,7 +7,7 @@ WICKED_EXT_PATH="/etc/wicked/extensions"
check() {
local _program
- require_binaries ip arping $WICKEDD_DHCP_PATH/wickedd-dhcp4 $WICKEDD_DHCP_PATH/wickedd-dhcp6 || return 1
+ require_binaries ip $WICKEDD_DHCP_PATH/wickedd-dhcp4 $WICKEDD_DHCP_PATH/wickedd-dhcp6 || return 1
return 255
}
@@ -33,8 +33,8 @@ installkernel() {
# called by dracut
install() {
local _arch _i _dir
- inst_multiple ip arping hostname sed
- inst_multiple -o ping ping6
+ inst_multiple ip hostname sed
+ inst_multiple -o arping ping ping6
inst_multiple -o brctl
inst_multiple -o teamd teamdctl teamnl
inst_simple /etc/libnl/classid
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index 749dc47d..c8ab84d0 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -199,6 +199,10 @@ setup_net() {
read layer2 < /sys/class/net/$netif/device/layer2
fi
+ if ! which arping > /dev/null 2>&1 ; then
+ layer2=0
+ fi
+
if [ "$layer2" != "0" ] && [ -n "$dest" ] && ! strstr "$dest" ":"; then
arping -q -f -w 60 -I $netif $dest || info "Resolving $dest via ARP on $netif failed"
fi
--
2.13.6
++++++ 0558-40network-remove-brctl-dependency.patch ++++++
>From dbf455d3cca765be7453104b6c187ad979ac1e03 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Fri, 16 Feb 2018 15:32:04 +0100
Subject: [PATCH 2/2] 40network: remove brctl dependency
brctl is no longer default in SLE15, and its use has been obsoleted
by iputils2.
References: bsc#1078245
---
modules.d/40network/ifup.sh | 6 +++---
modules.d/40network/module-setup.sh | 1 -
modules.d/40network/parse-bridge.sh | 5 -----
3 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 11377e6b..9775084e 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -440,8 +440,8 @@ if [ -e /tmp/bridge.info ]; then
. /tmp/bridge.info
# start bridge if necessary
if [ "$netif" = "$bridgename" ] && [ ! -e /tmp/net.$bridgename.up ]; then
- brctl addbr $bridgename
- brctl setfd $bridgename 0
+ ip link add name $bridgename type bridge forward_delay 0
+ ip link set dev $bridgename up
for ethname in $bridgeslaves ; do
if [ "$ethname" = "$bondname" ] ; then
DO_BOND_SETUP=yes ifup $bondname -m
@@ -452,7 +452,7 @@ if [ -e /tmp/bridge.info ]; then
else
linkup $ethname
fi
- brctl addif $bridgename $ethname
+ ip link set dev $ethname master $bridgename
done
fi
fi
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index 18cebc91..f99ca44c 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -35,7 +35,6 @@ install() {
local _arch _i _dir
inst_multiple ip hostname sed
inst_multiple -o arping ping ping6
- inst_multiple -o brctl
inst_multiple -o teamd teamdctl teamnl
inst_simple /etc/libnl/classid
inst_simple "$WICKEDD_DHCP_PATH/wickedd-dhcp4" "/usr/sbin/wickedd-dhcp4"
diff --git a/modules.d/40network/parse-bridge.sh b/modules.d/40network/parse-bridge.sh
index 212f2595..a15b64e3 100755
--- a/modules.d/40network/parse-bridge.sh
+++ b/modules.d/40network/parse-bridge.sh
@@ -10,11 +10,6 @@
# return if bridge already parsed
[ -n "$bridgename" ] && return
-# Check if bridge parameter is valid
-if getarg bridge= >/dev/null ; then
- command -v brctl >/dev/null 2>&1 || die "No 'brctl' installed"
-fi
-
parsebridge() {
local v=${1}:
set --
--
2.13.6
++++++ 0559-Add-wickedd-duid.xml-and-iaid.xml-if-available.patch ++++++
>From 657315ab800d894691b8165329fa6b234a073d6f Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Wed, 28 Feb 2018 13:40:24 +0100
Subject: [PATCH] Add wickedd duid.xml and iaid.xml if available
This allows to present the same identity to the dhcp server, and
thus retaining the IP address assigned during initrd phase in the
regular system.
Reference: bsc#1022872, bsc#1082832
---
modules.d/40network/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index f99ca44c..2dd3630c 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -61,6 +61,7 @@ install() {
inst_multiple /etc/sysconfig/network/ifcfg-*
inst_multiple -o /etc/sysconfig/network/ifroute-*
inst_simple /etc/sysconfig/network/routes
+ inst_multiple -o /var/lib/wicked/duid.xml /var/lib/wicked/iaid.xml
}
inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
--
2.13.6
++++++ 0560-90kernel-modules-Ensure-PCI-host-modules-are-include.patch ++++++
>From aeee703cca60faf8ca41d21529d37738822576aa Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 1 Mar 2018 10:37:47 +0100
Subject: [PATCH] 90kernel-modules: Ensure PCI host modules are included
The includes modules like the Intel Volume Management Device
driver, which is required to boot from disk on some systems.
Reference: boo#1079924
---
modules.d/90kernel-modules/module-setup.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index e1880725..41610a24 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -45,6 +45,8 @@ installkernel() {
# ensure early availability for e.g. emmc phys
instmods "=drivers/phy"
+ instmods "=drivers/pci/host"
+
instmods \
"=drivers/hid" \
"=drivers/input/serio" \
--
2.13.6
++++++ 0561-Add-the-qedi-driver-to-driver-list-for-iscsi-boot.patch ++++++
>From 36ffd889434463968da7f3fd16c53f781adf460f Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan(a)suse.com>
Date: Tue, 6 Mar 2018 10:17:30 -0800
Subject: [PATCH] Add the qedi driver to driver list for iscsi boot
Reference: bsc#1084179
---
modules.d/95iscsi/module-setup.sh | 2 +-
modules.d/95iscsi/parse-iscsiroot.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index a6173f7b..7c5b3099 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -179,7 +179,7 @@ depends() {
installkernel() {
local _arch=$(uname -m)
- instmods bnx2i qla4xxx cxgb3i cxgb4i be2iscsi
+ instmods bnx2i qla4xxx cxgb3i cxgb4i be2iscsi qedi
hostonly="" instmods iscsi_tcp iscsi_ibft crc32c iscsi_boot_sysfs
iscsi_module_filter() {
local _funcs='iscsi_register_transport'
diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
index 43b2e088..f884e684 100755
--- a/modules.d/95iscsi/parse-iscsiroot.sh
+++ b/modules.d/95iscsi/parse-iscsiroot.sh
@@ -96,7 +96,7 @@ fi
initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT"
-initqueue --onetime modprobe --all -b -q qla4xxx cxgb3i cxgb4i bnx2i be2iscsi
+initqueue --onetime modprobe --all -b -q qla4xxx cxgb3i cxgb4i bnx2i be2iscsi qedi
# ISCSI actually supported?
if ! [ -e /sys/module/iscsi_tcp ]; then
--
2.13.6
++++++ 0562-Adjust-driver-list-to-modern-kernels.patch ++++++
>From 1229cbc091ac11434b0b628d58630ce4c8fbe8e3 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin(a)suse.com>
Date: Wed, 9 Dec 2015 14:14:46 +0100
Subject: [PATCH] Adjust driver list to modern kernels
This particularly enables aarch64 and adds critical drivers of ARM platform.
Reference: bsc#1084272
Full change summary of upstream changes included:
kernel-modules: include all HID driver in hostonly mode
If a kernel is updated in the undocked state and later on docked, some
keyboard modules can be missing.
Thus include all HID drivers.
(cherry picked from commit 8d26b5661ea2fd9fb41c83048b7590e44b1c95df)
kernel-modules: add usb-storage
To save the rdsosreport.txt to a USB stick, the usb-storage module is
needed
(cherry picked from commit b4dd861a0b916368bad9413fdc5d90482fcbd65a)
kernel-modules: join instmods and install all usb/storage
(cherry picked from commit 6bc2096cf58c4b52f23ecc1bf8dc301d6122dfb5)
kernel-modules: add nvme kernel module
(cherry picked from commit a84c391b8771e0238a0edb8b382ecbf7f2d2bfd3)
modules: kernel: add phy and power modules to generic initrd
The phy and power modules are needed by some of the recent ARM
devices that have appeared like CHIP and some exynos devices.
Signed-off-by: Peter Robinson <pbrobinson(a)gmail.com>
(cherry picked from commit e752d42de9c37dd9906a802a5cdf528fbd360453)
modules: kernel: add more usb controller modules
There's a number of usb controllers that are common yet aren't
contained in the host directory. Include these for generic host.
Signed-off-by: Peter Robinson <pbrobinson(a)gmail.com>
(cherry picked from commit 0c5e5f271be8cb99e4f65fd6cb37ed70dd63754d)
dracut: Add drivers/clk by default on arm
This will bundle clock drivers into the initramfs on arm
Tested on ti dm8148-t410 where adpll is needed on 4.6+ kernel
This will avoid to rely on (maybe broken) bootloader clocks.
Theses modules are also usually loaded early. Having them bundled into
the initramfs will avoid lot of deferred probes and others delay.
Signed-off-by: Nicolas Chauvet <kwizart(a)gmail.com>
(cherry picked from commit 2602a74edf543f98f2aa1eb79db3de3a1cda13f0)
Add check for aarch64 to the arm kernel module list
This adds the same list of drivers we use for arm platforms for
aarch64 too, also add the DMA drivers there too as they can add
sigficant performance for some storage/usb and often need to be
present when the storage drivers load.
Signed-off-by: Peter Robinson <pbrobinson(a)gmail.com>
(cherry picked from commit 917e1b6b5b2669a30bce69061686adbb6abc5e35)
module-setup.sh: Add ARM specific driver to initramfs image
If a hisi_sas storage device is used as / during system install, the
resulting installation will not boot because the hisi_sas driver is not
included in the initramfs.
The Hisilicon storage driver needs to be added to the initramfs image for
aarch64 kernels.
Signed-off-by: Prarit Bhargava <prarit(a)redhat.com>
Cc: dzickus(a)redhat.com
Cc: dmarlin(a)redhat.com
Cc: wefu(a)redhat.com
Cc: harald(a)redhat.com
(cherry picked from commit fd24c90c363109e1693161a5d5c51190bb99cd29)
kernel-modules: add serial line drivers
(cherry picked from commit c1699b59c6ec0c86f1355fbb68eaf65281b81789)
add options to pickup dw_mmc submodules to blockfuncs
Signed-off-by: Peter Robinson <pbrobinson(a)gmail.com>
(cherry picked from commit f496af50b7c5ddf13154123186cee713f540c8db)
arm: add soc/extcon/mfd as they're often needed for USB and core memory/soc drivers
Signed-off-by: Peter Robinson <pbrobinson(a)gmail.com>
(cherry picked from commit 39018c93c2bcf20a7f5f9ee509ad1c0448d598f7)
Add rpmsg, hwspinlock and usb/misc for ARM
Some of the more complex devices now need rpmsg and hwspinlock in the early boot
process to start, and these to the initrd, and pull in usb/misc because
apparently non standard usb hubs are a thing.
Signed-off-by: Peter Robinson <pbrobinson(a)gmail.com>
(cherry picked from commit 82651e9ef3c4c799281ba006f6ef46902e13086f)
kernel-modules: add mmc/core for arm
(cherry picked from commit f8e0c7cc6296909cff92f718ed360ff9ef1f7bae)
Add aarch64 to drm modules along side ARM
Add aarch64 to modules, also update the drivers checked for latest
kernel changes.
Signed-off-by: Peter Robinson <pbrobinson(a)gmail.com>
(cherry picked from commit eec49634d4fd5b2d9535a99e184c2450f6026903)
---
modules.d/50drm/module-setup.sh | 6 ++--
modules.d/90kernel-modules/module-setup.sh | 47 ++++++++++++++++++++----------
2 files changed, 34 insertions(+), 19 deletions(-)
diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh
index 1e2ada07..3e03a5d9 100755
--- a/modules.d/50drm/module-setup.sh
+++ b/modules.d/50drm/module-setup.sh
@@ -49,14 +49,14 @@ installkernel() {
return 0
}
- if [[ "$(uname -p)" == arm* ]]; then
- # arm specific modules needed by drm
+ if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then
+ # arm/aarch64 specific modules needed by drm
instmods \
"=drivers/gpu/drm/i2c" \
"=drivers/gpu/drm/panel" \
+ "=drivers/gpu/drm/bridge" \
"=drivers/pwm" \
"=drivers/video/backlight" \
- "=drivers/video/fbdev/omap2/displays-new" \
${NULL}
fi
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 41610a24..37cc76f3 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -39,37 +39,52 @@ installkernel() {
ehci-hcd ehci-pci ehci-platform \
ohci-hcd ohci-pci \
uhci-hcd \
- xhci-hcd xhci-pci xhci-plat-hcd \
pinctrl-cherryview pwm-lpss pwm-lpss-platform
- # ensure early availability for e.g. emmc phys
- instmods "=drivers/phy"
-
- instmods "=drivers/pci/host"
-
- instmods \
+ hostonly='' instmods \
+ xhci-hcd xhci-pci xhci-plat-hcd \
"=drivers/hid" \
+ "=drivers/tty/serial" \
"=drivers/input/serio" \
- "=drivers/input/keyboard"
+ "=drivers/input/keyboard" \
+ "=drivers/usb/storage" \
+ "=drivers/pci/host" \
+ ${NULL}
- instmods yenta_socket scsi_dh_rdac scsi_dh_emc scsi_dh_alua \
- atkbd i8042 usbhid firewire-ohci pcmcia hv-vmbus
+ instmods \
+ yenta_socket scsi_dh_rdac scsi_dh_emc scsi_dh_alua \
+ atkbd i8042 usbhid firewire-ohci pcmcia hv-vmbus \
+ virtio virtio_blk virtio_ring virtio_pci virtio_scsi \
+ "=drivers/pcmcia" =ide nvme
- if [[ "$(uname -p)" == arm* ]]; then
- # arm specific modules
+ if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then
+ # arm/aarch64 specific modules
+ _blockfuncs+='|dw_mc_probe|dw_mci_pltfm_register'
instmods \
+ "=drivers/clk" \
+ "=drivers/dma" \
+ "=drivers/extcon" \
+ "=drivers/hwspinlock" \
"=drivers/i2c/busses" \
+ "=drivers/mfd" \
+ "=drivers/mmc/core" \
+ "=drivers/phy" \
+ "=drivers/power" \
"=drivers/regulator" \
+ "=drivers/rpmsg" \
"=drivers/rtc" \
+ "=drivers/soc" \
+ "=drivers/usb/chipidea" \
+ "=drivers/usb/dwc2" \
+ "=drivers/usb/dwc3" \
"=drivers/usb/host" \
+ "=drivers/usb/misc" \
+ "=drivers/usb/musb" \
"=drivers/usb/phy" \
+ "=drivers/scsi/hisi_sas" \
${NULL}
fi
- # install virtual machine support
- instmods virtio virtio_blk virtio_ring virtio_pci virtio_scsi \
- "=drivers/pcmcia" =ide "=drivers/usb/storage"
-
find_kernel_modules | block_module_filter | instmods
# modules that will fail block_module_filter because their implementation
--
2.13.6
++++++ 0563-40network-collapse-arping-and-dhcp-calls-into-wicked.patch ++++++
>From abb2c4123658ec5e9f7b21d92c80e1af7e879180 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Fri, 16 Feb 2018 11:51:18 +0100
Subject: [PATCH] 40network: collapse arping and dhcp calls into wicked binary
References: bsc#1078245
---
modules.d/40network/dhclient-script.sh | 6 ++----
modules.d/40network/ifup.sh | 25 ++++++++++++++++---------
modules.d/40network/module-setup.sh | 8 +++-----
modules.d/40network/net-lib.sh | 14 +++++++++-----
4 files changed, 30 insertions(+), 23 deletions(-)
diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh
index f8a558c7..fb9f5858 100755
--- a/modules.d/40network/dhclient-script.sh
+++ b/modules.d/40network/dhclient-script.sh
@@ -113,11 +113,9 @@ case $reason in
if [ -f /sys/class/net/$netif/device/layer2 ]; then
read layer2 < /sys/class/net/$netif/device/layer2
fi
- if ! which arping > /dev/null 2>&1 ; then
- layer2=0
- fi
if [ "$layer2" != "0" ]; then
- if ! arping -f -q -D -c 2 -I $netif $new_ip_address ; then
+ wicked arp verify $netif $new_ip_address 2>/dev/null
+ if [ $? -eq 4 ]; then
warn "Duplicate address detected for $new_ip_address while doing dhcp. retrying"
exit 1
fi
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 9775084e..a51b6a30 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -214,9 +214,9 @@ do_dhcp() {
else
ipv6_mode="managed"
fi
- dhclient="wickedd-dhcp6 --test --test-mode $ipv6_mode"
+ dhclient="wicked test dhcp6"
else
- dhclient="wickedd-dhcp4 --test"
+ dhclient="wicked test dhcp4"
fi
if ! linkup $netif; then
@@ -229,9 +229,8 @@ do_dhcp() {
[ -n "$mtu" ] && ip $1 link set mtu $mtu dev $netif
fi
- $dhclient --test-format leaseinfo --test-output /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1} --test-request - $netif << EOF
-<request type="lease"/>
-EOF
+ echo '<request type="lease"/>' > /tmp/request.${netif}.dhcp.ipv${1:1:1}
+ $dhclient --format leaseinfo --output /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1} --request /tmp/request.${netif}.dhcp.ipv${1:1:1} $netif
dhcp_apply $1 || return $?
if [ "$1" = "-6" ] ; then
@@ -329,10 +328,18 @@ if strglobin $ip '*:*:*'; then
wait_for_ipv6_dad $netif
[ "$gw" = "::" ] && gw=""
else
- if which arping > /dev/null 2>&1 -a ! arping -f -q -D -c 2 -I $netif $ip; then
- warn "Duplicate address detected for $ip for interface $netif."
- return 1
- fi
+ wicked arp verify --quiet $netif $ip 2>/dev/null
+ case "$?" in
+ 1)
+ info "$netif does not support ARP, cannot attempt to resolve $dest."
+ ;;
+ 4)
+ warn "Duplicate address detected for $ip for interface $netif."
+ return 1
+ ;;
+ *)
+ ;;
+ esac
# Assume /24 prefix for IPv4
[ -z "$prefix" ] && prefix=24
ip addr add $ip/$prefix ${srv:+peer $srv} brd + dev $netif
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index 2dd3630c..023400ac 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -1,13 +1,12 @@
#!/bin/bash
-WICKEDD_DHCP_PATH="/usr/lib/wicked/bin"
WICKED_EXT_PATH="/etc/wicked/extensions"
# called by dracut
check() {
local _program
- require_binaries ip $WICKEDD_DHCP_PATH/wickedd-dhcp4 $WICKEDD_DHCP_PATH/wickedd-dhcp6 || return 1
+ require_binaries ip wicked || return 1
return 255
}
@@ -34,11 +33,10 @@ installkernel() {
install() {
local _arch _i _dir
inst_multiple ip hostname sed
- inst_multiple -o arping ping ping6
+ inst_multiple ping ping6
inst_multiple -o teamd teamdctl teamnl
+ inst_multiple wicked
inst_simple /etc/libnl/classid
- inst_simple "$WICKEDD_DHCP_PATH/wickedd-dhcp4" "/usr/sbin/wickedd-dhcp4"
- inst_simple "$WICKEDD_DHCP_PATH/wickedd-dhcp6" "/usr/sbin/wickedd-dhcp6"
inst_libdir_file "libwicked*.so.*"
inst_libdir_file "libdbus-1.so.*"
inst_script "$moddir/ifup.sh" "/sbin/ifup"
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index c8ab84d0..b491f8e1 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -199,12 +199,16 @@ setup_net() {
read layer2 < /sys/class/net/$netif/device/layer2
fi
- if ! which arping > /dev/null 2>&1 ; then
- layer2=0
- fi
-
if [ "$layer2" != "0" ] && [ -n "$dest" ] && ! strstr "$dest" ":"; then
- arping -q -f -w 60 -I $netif $dest || info "Resolving $dest via ARP on $netif failed"
+ wicked arp ping --interval 3000 --replies 1 --timeout 60000 --quiet $netif $dest 2>/dev/null
+ case "$?" in
+ 0)
+ # Everything is ok
+ ;;
+ *)
+ info "Resolving $dest via ARP on $netif failed"
+ ;;
+ esac
fi
unset layer2
--
2.13.6
++++++ 0564-40network-Always-set-the-gw-variable.patch ++++++
>From 25c8b7f654a906d9829e273578b02d5e6a4c2b0c Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 15 Mar 2018 19:01:58 +0100
Subject: [PATCH] 40network: Always set the gw variable
$gw was not set in case of dhcp. This resulted in some codepathes,
including vital checks, not being executed with wicked.
Reference: bsc#1085614
---
modules.d/40network/ifup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index a51b6a30..2d93cebd 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -123,6 +123,7 @@ dhcp_apply() {
# Assign provided routers
local g
if [ -n "${GATEWAYS}" ]; then
+ gw="${GATEWAYS%% *}"
for g in ${GATEWAYS}; do
ip $1 route add default via "$g" dev "$INTERFACE" && break
done
--
2.13.6
++++++ 0565-90kernel-modules-Include-Intel-Volume-Management-Dev.patch ++++++
>From 99a2f22df36de96f6da808b9720a400980729b35 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Fri, 16 Mar 2018 15:17:41 +0100
Subject: [PATCH] 90kernel-modules: Include Intel Volume Management Device
support
Reference: bsc#1079924
---
modules.d/90kernel-modules/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 37cc76f3..1eff6f52 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -55,7 +55,7 @@ installkernel() {
yenta_socket scsi_dh_rdac scsi_dh_emc scsi_dh_alua \
atkbd i8042 usbhid firewire-ohci pcmcia hv-vmbus \
virtio virtio_blk virtio_ring virtio_pci virtio_scsi \
- "=drivers/pcmcia" =ide nvme
+ "=drivers/pcmcia" =ide nvme vmd
if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then
# arm/aarch64 specific modules
--
2.13.6
++++++ 0566-95nfs-If-no-server-is-configured-read-BOOTSERVERADDR.patch ++++++
>From af76a8ca775ba44815116ae880de56d7a8a03c97 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt(a)suse.com>
Date: Thu, 12 Apr 2018 14:27:43 +0200
Subject: [PATCH] 95nfs: If no server is configured, read BOOTSERVERADDR from
wicked's leaseinfo
References: boo#1089332
---
modules.d/95nfs/nfs-lib.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/95nfs/nfs-lib.sh b/modules.d/95nfs/nfs-lib.sh
index 58aa7e30..b2e5f91d 100755
--- a/modules.d/95nfs/nfs-lib.sh
+++ b/modules.d/95nfs/nfs-lib.sh
@@ -106,7 +106,7 @@ anaconda_nfsv6_to_var() {
# fill in missing server/path from DHCP options.
nfsroot_from_dhcp() {
local f
- for f in /tmp/net.$1.override /tmp/dhclient.$1.dhcpopts; do
+ for f in /tmp/net.$1.override /tmp/dhclient.$1.dhcpopts /tmp/leaseinfo.$1.dhcp.*; do
[ -f $f ] && . $f
done
[ -n "$new_root_path" ] && nfsroot_to_var "$nfs:$new_root_path"
@@ -114,6 +114,7 @@ nfsroot_from_dhcp() {
[ -z "$server" ] && server=$srv
[ -z "$server" ] && server=$new_dhcp_server_identifier
[ -z "$server" ] && server=$new_next_server
+ [ -z "$server" ] && server=$BOOTSERVERADDR
[ -z "$server" ] && server=${new_root_path%%:*}
}
--
2.13.6
++++++ 0567-Fix-booting-with-fips-1-on-SLES-15.patch ++++++
>From c3f2e356ca15c32123334764c014df264d72f149 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Wed, 25 Apr 2018 18:43:46 +0200
Subject: [PATCH] Fix booting with fips=1 on SLES 15
Also, add some documentation on how FIPS actually works.
Reference: bsc#1074984
---
modules.d/01fips/module-setup.sh | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index 709cfc85..178bae17 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -13,6 +13,12 @@ depends() {
# called by dracut
installkernel() {
local _fipsmodules _mod
+ # The FIPS process requires that crypto primitives should perform a power-up self test. They must not be loaded and
+ # used prior to successful completion. FIPS140-2, section 4.9 mandates that during power-up, crypto algorithms should
+ # perform self tests, displaying an error if any one of them fails.
+
+ # dracut implements this by first compiling a blacklist (provided by the kernel in newer distros) and then
+ # load the modules in that list one by one in a controlled manner, aborting on failure.
if [[ -f "${srcmods}/modules.fips" ]]; then
_fipsmodules="$(cat "${srcmods}/modules.fips")"
else
@@ -28,6 +34,7 @@ installkernel() {
_fipsmodules+="ablk_helper cryptd twofish_x86_64_3way lrw glue_helper twofish_x86_64 twofish_common blowfish_generic "
_fipsmodules+="blowfish_x86_64 blowfish_common des_generic cbc "
_fipsmodules+="algif_hash af_alg crypto_user "
+ _fipsmodules+="sha3_generic "
fi
mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
@@ -52,10 +59,10 @@ install() {
inst_libdir_file \
fipscheck .fipscheck.hmac \
libfipscheck.so.1 \
- .libfipscheck.so.1.hmac .libfipscheck.so.1.1.0.hmac \
- libcrypto.so.1.0.0 libssl.so.1.0.0 \
- .libcrypto.so.1.0.0.hmac .libssl.so.1.0.0.hmac \
- .libcryptsetup.so.4.5.0.hmac .libcryptsetup.so.4.hmac \
+ .libfipscheck.so.1.hmac .libfipscheck.so.1.2.1.hmac \
+ libcrypto.so.1.1 libssl.so.1.1 \
+ .libcrypto.so.1.1.hmac .libssl.so.1.1.hmac \
+ .libcryptsetup.so.12.1.0.hmac .libcryptsetup.so.12.hmac \
.libgcrypt.so.20.hmac \
libfreeblpriv3.so libfreeblpriv3.chk
--
2.13.6
++++++ 0568-95multipath-Pickup-files-in-etc-multipath-conf.d.patch ++++++
>From 05f1365ffd1c03bad44fdbb312769044cda032a8 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Fri, 14 Jul 2017 14:21:43 +0200
Subject: [PATCH] 95multipath: Pickup files in /etc/multipath/conf.d
Reference: boo#1048551
---
modules.d/90multipath/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 85848068..4e059b41 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -92,7 +92,8 @@ install() {
xdrgetprio \
/etc/xdrdevices.conf \
/etc/multipath.conf \
- /etc/multipath/*
+ /etc/multipath/* \
+ /etc/multipath/conf.d/*
inst $(command -v partx) /sbin/partx
--
2.12.3
++++++ 0569-10i18n-Load-all-keymaps-for-a-given-locale.patch ++++++
>From afd09c9a87ef09e2595f71fdae1d38ac00cfd071 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 26 Oct 2017 14:59:34 +0200
Subject: [PATCH 1/2] 10i18n: Load all keymaps for a given locale
Previously, dracut would only copy the first one found. However,
with legacy maps for some locales around, there is a chance we
pick the wrong one. Pick all matching keymaps instead
Reference: boo#1065058
---
modules.d/10i18n/module-setup.sh | 35 ++++++++++++++++++++---------------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index d6aab19f..be4ada54 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -30,21 +30,24 @@ install() {
# This is from 10redhat-i18n.
findkeymap () {
- local MAP=$1
+ local MAPS=$1
local MAPNAME=${1%.map*}
- [[ ! -f $MAP ]] && \
- MAP=$(find ${kbddir}/keymaps -type f -name ${MAPNAME} -o -name ${MAPNAME}.map -o -name ${MAPNAME}.map.\* | head -n1)
- [[ " $KEYMAPS " = *" $MAP "* ]] && return
- KEYMAPS="$KEYMAPS $MAP"
- case $MAP in
- *.gz) cmd=zgrep;;
- *.bz2) cmd=bzgrep;;
- *) cmd=grep ;;
- esac
-
- for INCL in $($cmd "^include " $MAP | while read a a b || [ -n "$a" ]; do echo ${a//\"/}; done); do
- for FN in $(find ${kbddir}/keymaps -type f -name $INCL\*); do
- findkeymap $FN
+ local map
+ [[ ! -f $MAPS ]] && \
+ MAPS=$(find ${kbddir}/keymaps -type f -name ${MAPNAME} -o -name ${MAPNAME}.map -o -name ${MAPNAME}.map.\*)
+
+ for map in $MAPS; do
+ KEYMAPS="$KEYMAPS $map"
+ case $map in
+ *.gz) cmd=zgrep;;
+ *.bz2) cmd=bzgrep;;
+ *) cmd=grep ;;
+ esac
+
+ for INCL in $($cmd "^include " $map | while read a a b || [ -n "$a" ]; do echo ${a//\"/}; done); do
+ for FN in $(find ${kbddir}/keymaps -type f -name $INCL\*); do
+ findkeymap $FN
+ done
done
done
}
@@ -185,7 +188,9 @@ install() {
findkeymap ${map}
done
- inst_opt_decompress ${KEYMAPS}
+ for keymap in ${KEYMAPS}; do
+ inst_opt_decompress ${keymap}
+ done
inst_opt_decompress ${kbddir}/consolefonts/${DEFAULT_FONT}.*
--
2.16.3
++++++ 0570-10i18n-Fix-possible-infinite-recursion.patch ++++++
>From a4e11a0e4d6fbed25244cc0f01732f81841bd642 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Fri, 27 Apr 2018 16:59:47 +0200
Subject: [PATCH 2/2] 10i18n: Fix possible infinite recursion
---
modules.d/10i18n/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index be4ada54..9083e98f 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -46,7 +46,7 @@ install() {
for INCL in $($cmd "^include " $map | while read a a b || [ -n "$a" ]; do echo ${a//\"/}; done); do
for FN in $(find ${kbddir}/keymaps -type f -name $INCL\*); do
- findkeymap $FN
+ strstr "$KEYMAPS" "$FN" || findkeymap $FN
done
done
done
--
2.16.3
++++++ 0571-40network-Fix-static-network-setup.patch ++++++
>From a3fdbedce43956881ca01c94543b22e37d205da6 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Thu, 14 Jun 2018 14:18:44 +0200
Subject: [PATCH] 40network: Fix static network setup
Patch-by: Thomas Blume <tblume(a)suse.com>
References: bsc#1091099
---
modules.d/40network/ifup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 2d93cebd..13564778 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -275,7 +275,7 @@ do_ifcfg() {
dhcp*)
do_dhcp -4 ;;
*)
- do_static ;;
+ ;;
esac
# loop over all configurations in ifcfg-$netif (IPADDR*) and apply
for conf in ${!IPADDR@}; do
--
2.16.3
++++++ 0572-lsinitrd-no-more-cat-write-error-Broken-pipe.patch ++++++
>From b2e09d1d444e771493c26c576256f962bd8869f3 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald(a)redhat.com>
Date: Tue, 16 Jan 2018 12:14:15 +0100
Subject: [PATCH 1/2] lsinitrd: no more cat: write error: Broken pipe
silence the cat
---
lsinitrd.sh | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/lsinitrd.sh b/lsinitrd.sh
index 1e4d99ac..9c7a178b 100755
--- a/lsinitrd.sh
+++ b/lsinitrd.sh
@@ -120,7 +120,7 @@ extract_files()
for f in "${!filenames[@]}"; do
[[ $nofileinfo ]] || echo "initramfs:/$f"
[[ $nofileinfo ]] || echo "========================================================================"
- $CAT $image | cpio --extract --verbose --quiet --to-stdout $f 2>/dev/null
+ $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --to-stdout $f 2>/dev/null
((ret+=$?))
[[ $nofileinfo ]] || echo "========================================================================"
[[ $nofileinfo ]] || echo
@@ -139,15 +139,14 @@ list_files()
{
echo "========================================================================"
if [ "$sorted" -eq 1 ]; then
- $CAT "$image" | cpio --extract --verbose --quiet --list | sort -n -k5
+ $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --list | sort -n -k5
else
- $CAT "$image" | cpio --extract --verbose --quiet --list | sort -k9
+ $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --list | sort -k9
fi
((ret+=$?))
echo "========================================================================"
}
-
if (( ${#filenames[@]} <= 0 )); then
echo "Image: $image: $(du -h $image | while read a b || [ -n "$a" ]; do echo $a;done)"
echo "========================================================================"
--
2.16.3
++++++ 0573-lsinitrd.sh-quote-filename-in-extract_files.patch ++++++
>From 0bb520ee706a0927f538004e2acb50d8c2b469b3 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald(a)redhat.com>
Date: Thu, 18 Jan 2018 10:17:42 +0100
Subject: [PATCH 2/2] lsinitrd.sh: quote filename in extract_files()
---
lsinitrd.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lsinitrd.sh b/lsinitrd.sh
index 9c7a178b..da7bf044 100755
--- a/lsinitrd.sh
+++ b/lsinitrd.sh
@@ -120,7 +120,7 @@ extract_files()
for f in "${!filenames[@]}"; do
[[ $nofileinfo ]] || echo "initramfs:/$f"
[[ $nofileinfo ]] || echo "========================================================================"
- $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --to-stdout $f 2>/dev/null
+ $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --to-stdout "$f" 2>/dev/null
((ret+=$?))
[[ $nofileinfo ]] || echo "========================================================================"
[[ $nofileinfo ]] || echo
--
2.16.3
++++++ 0574-s-find_btrfs_devs-btrfs_devs.patch ++++++
>From bfa4e45fa74fabf70ca0d80869e3b209f300ef6d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald(a)redhat.com>
Date: Mon, 7 May 2018 10:26:05 +0200
Subject: [PATCH] s/find_btrfs_devs/btrfs_devs
References: bsc#1104178
Patch-mainline: 048
Git-commit: bfa4e45fa74fabf70ca0d80869e3b209f300ef6d
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index f52d38ac472a..5b5b27e322c5 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1236,7 +1236,7 @@ if [[ $hostonly ]] && [[ "$hostonly_default_device" != "no" ]]; then
push_host_devs "$_dev"
if [[ "$_t" == btrfs ]]; then
- for i in $(find_btrfs_devs "$_m"); do
+ for i in $(btrfs_devs "$_m"); do
push_host_devs "$i"
done
fi
--
2.13.7
++++++ 0580-check_for_CONFIG_ACPI_TABLE_UPGRADE.patch ++++++
From: Harald Hoyer <harald(a)redhat.com>
Subject: check for CONFIG_ACPI_TABLE_UPGRADE
References: bsc#1098448
Patch-Mainline: 046
Git-commit: 940169e8d8e500498a3f350b2b3f341ae6548492
Git-repo: https://github.com/dracutdevs/dracut.git
additionally as for CONFIG_ACPI_INITRD_TABLE_OVERRIDE
config parameter got renamed
Signed-off-by: Thomas Renninger <trenn(a)suse.com>
Index: dracut-044/dracut.sh
===================================================================
--- dracut-044.orig/dracut.sh 2018-06-20 17:43:56.664313292 +0200
+++ dracut-044/dracut.sh 2018-06-20 17:43:57.488359175 +0200
@@ -1046,8 +1046,8 @@ if [[ ! $print_cmdline ]]; then
fi
fi
-if [[ $acpi_override = yes ]] && ! check_kernel_config CONFIG_ACPI_INITRD_TABLE_OVERRIDE; then
- dwarn "Disabling ACPI override, because kernel does not support it. CONFIG_ACPI_INITRD_TABLE_OVERRIDE!=y"
+if [[ $acpi_override = yes ]] && ! ( check_kernel_config CONFIG_ACPI_TABLE_UPGRADE || check_kernel_config CONFIG_ACPI_INITRD_TABLE_OVERRIDE ); then
+ dwarn "Disabling ACPI override, because kernel does not support it. CONFIG_ACPI_INITRD_TABLE_OVERRIDE!=y or CONFIG_ACPI_TABLE_UPGRADE!=y"
unset acpi_override
fi
++++++ 0581-kernel-modules-add-nfit.patch ++++++
>From 09ba1b289f2cba613c1950b03f0f549ebb7eb83f Mon Sep 17 00:00:00 2001
From: Kairui Song <kasong(a)redhat.com>
Date: Mon, 20 Aug 2018 18:40:05 +0800
Subject: [PATCH] kernel-modules: add nfit
To support pmem devices, nfit module is required
---
modules.d/90kernel-modules/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-044/modules.d/90kernel-modules/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/90kernel-modules/module-setup.sh
+++ dracut-044/modules.d/90kernel-modules/module-setup.sh
@@ -55,7 +55,7 @@ installkernel() {
yenta_socket scsi_dh_rdac scsi_dh_emc scsi_dh_alua \
atkbd i8042 usbhid firewire-ohci pcmcia hv-vmbus \
virtio virtio_blk virtio_ring virtio_pci virtio_scsi \
- "=drivers/pcmcia" =ide nvme vmd
+ "=drivers/pcmcia" =ide nvme vmd nfit
if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then
# arm/aarch64 specific modules
++++++ 0582-98dracut-systemd-Start-systemd-vconsole-setup-before.patch ++++++
>From e9a84e0a215fb5a79e563f665bc406c0ea177d32 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Wed, 5 Sep 2018 12:06:06 +0200
Subject: [PATCH] 98dracut-systemd: Start systemd-vconsole-setup before
dracut-cmdline-ask
This is what happened before this patch (edited for brevity):
dracut-cmdline-ask.service in modules.d/98dracut-systemd, which invokes
dracut-cmdline-ask.sh. This script and systemd-vconsole-setup are
started in parallel for the same console (tty1).
Then dracut-cmdline-ask quits immediately without doing anything (unless
rd.cmdline=ask is given). As this is a bash script and it gets tty as
stdin as specified in its *.service, this triggers the hangup of tty1 at
its exit.
Meanwhile systemd-vconsole-setup continues and tries some ioctls after
that, but they fail because of the hung up tty1.
The usual culprit for starting systemd-vconsole-setup early on is
plymouth-start.service, even if plymouth.enable=0 is set.
A popular (and annoying) symptom of this as reported by users was
the inability use their configured keyboard layout in plymouth when
unlocking their crypted block devices.
Reference: boo#1055834
---
modules.d/98dracut-systemd/dracut-cmdline-ask.service | 2 ++
1 file changed, 2 insertions(+)
Index: dracut-044/modules.d/98dracut-systemd/dracut-cmdline-ask.service
===================================================================
--- dracut-044.orig/modules.d/98dracut-systemd/dracut-cmdline-ask.service
+++ dracut-044/modules.d/98dracut-systemd/dracut-cmdline-ask.service
@@ -12,6 +12,8 @@ Description=dracut ask for additional cm
DefaultDependencies=no
Before=dracut-cmdline.service
After=systemd-journald.socket
+After=systemd-vconsole-setup.service
+Requires=systemd-vconsole-setup.service
Wants=systemd-journald.socket
ConditionPathExists=/usr/lib/initrd-release
ConditionKernelCommandLine=|rd.cmdline=ask
++++++ 0583-99base-Allow-files-with-backslashes-in-hostonly-file.patch ++++++
>From 7117bf627028298970d8a6a5e153e1942f3430f3 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Fri, 19 Oct 2018 14:30:36 +0200
Subject: [PATCH 1/2] 99base: Allow files with backslashes in hostonly files
Files with blackslashes are routinely by systemd.
Reference: bsc#1090884
---
modules.d/99base/dracut-lib.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dracut-044/modules.d/99base/dracut-lib.sh
===================================================================
--- dracut-044.orig/modules.d/99base/dracut-lib.sh
+++ dracut-044/modules.d/99base/dracut-lib.sh
@@ -1291,7 +1291,7 @@ show_memstats()
remove_hostonly_files() {
rm -fr /etc/cmdline /etc/cmdline.d/*.conf "$hookdir/initqueue/finished"
if [ -f /lib/dracut/hostonly-files ]; then
- while read line || [ -n "$line" ]; do
+ while read -r line || [ -n "$line" ]; do
[ -e "$line" ] || [ -h "$line" ] || continue
rm -f "$line"
done < /lib/dracut/hostonly-files
++++++ 0584-95dasd_rules-mark-dasd-rules-host_only.patch ++++++
>From b38b7fef36333a59890233dccfbbb6d2c40ebe83 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Fri, 19 Oct 2018 14:39:30 +0200
Subject: [PATCH 2/2] 95dasd_rules: mark dasd rules host_only
Reference: bsc#1090884
---
modules.d/95dasd_rules/module-setup.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh
index 488400c3..124dbad9 100755
--- a/modules.d/95dasd_rules/module-setup.sh
+++ b/modules.d/95dasd_rules/module-setup.sh
@@ -54,6 +54,8 @@ install() {
if [[ $hostonly ]] ; then
inst_rules_wildcard 51-dasd-*.rules
inst_rules_wildcard 41-s390x-dasd-*.rules
+ mark_hostonly /etc/udev/rules.d/51-dasd-*.rules
+ mark_hostonly /etc/udev/rules.d/41-s390x-dasd-*.rules
fi
inst_rules 59-dasd.rules
}
--
2.16.4
++++++ 0585-emergency-mode-use-sulogin.patch ++++++
>From 97ce7a8179dfebe16d072d8d7355af3817512d0d Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Wed, 5 Dec 2018 16:52:45 +0100
Subject: [PATCH] emergency mode: use sulogin
- allow emergency login on every console
specified in the kernel cmdline
- require password for hostonly images
- emergency mode: Manually multiplex emergency infos
This will bring all vital information to all ttys specified
as console devices, regardless of wether they hold the C flag.
Reference: FATE#325386
Reference: #449
---
modules.d/98dracut-systemd/dracut-emergency.sh | 29 +++++++++++++++-----------
modules.d/98dracut-systemd/module-setup.sh | 2 ++
modules.d/99base/module-setup.sh | 8 +++++--
3 files changed, 25 insertions(+), 14 deletions(-)
Index: dracut-044/modules.d/98dracut-systemd/dracut-emergency.sh
===================================================================
--- dracut-044.orig/modules.d/98dracut-systemd/dracut-emergency.sh
+++ dracut-044/modules.d/98dracut-systemd/dracut-emergency.sh
@@ -17,20 +17,26 @@ source_hook "$hook"
if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
FSTXT="/usr/share/fsck/fsck_help_$fstype.txt"
+ RDSOSREPORT="$(rdsosreport)"
echo
- rdsosreport
- echo
- echo
- echo 'Entering emergency mode. Exit the shell to continue.'
- echo 'Type "journalctl" to view system logs.'
- echo 'You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot'
- echo 'after mounting them and attach it to a bug report.'
- echo
- echo
- [ -f $FSTXT ] && cat $FSTXT
+ while read _tty rest; do
+ (
+ echo
+ echo $RDSOSREPORT
+ echo
+ echo
+ echo 'Entering emergency mode. Exit the shell to continue.'
+ echo 'Type "journalctl" to view system logs.'
+ echo 'You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot'
+ echo 'after mounting them and attach it to a bug report.'
+ echo
+ echo
+ [ -f "$FSTXT" ] && cat "$FSTXT"
+ ) > /dev/$_tty
+ done < /dev/consoles
[ -f /etc/profile ] && . /etc/profile
[ -z "$PS1" ] && export PS1="$_name:\${PWD}# "
- exec sh -i -l
+ exec sulogin -e
else
warn "$action has failed. To debug this issue add \"rd.shell rd.debug\" to the kernel command line."
exit 1
Index: dracut-044/modules.d/98dracut-systemd/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/98dracut-systemd/module-setup.sh
+++ dracut-044/modules.d/98dracut-systemd/module-setup.sh
@@ -59,5 +59,7 @@ install() {
done
inst_simple "$moddir/dracut-tmpfiles.conf" "$tmpfilesdir/dracut-tmpfiles.conf"
+
+ inst_multiple sulogin
}
Index: dracut-044/modules.d/99base/module-setup.sh
===================================================================
--- dracut-044.orig/modules.d/99base/module-setup.sh
+++ dracut-044/modules.d/99base/module-setup.sh
@@ -26,9 +26,13 @@ install() {
(ln -s bash "${initdir}/bin/sh" || :)
fi
- #add common users in /etc/passwd, it will be used by nfs/ssh currently
- egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo 'root:x:0:0::/root:/bin/sh' >> "$initdir/etc/passwd"
- egrep '^nobody:' /etc/passwd >> "$initdir/etc/passwd"
+ # add common users in /etc/passwd, it will be used by nfs/ssh currently
+ # use password for hostonly images to facilitate secure sulogin in emergency console
+ [[ $hostonly ]] && pwshadow='x'
+ grep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo "root:$pwshadow:0:0::/root:/bin/sh" >> "$initdir/etc/passwd"
+ grep '^nobody:' /etc/passwd >> "$initdir/etc/passwd"
+
+ [[ $hostonly ]] && grep '^root:' /etc/shadow >> "$initdir/etc/shadow"
# install our scripts and hooks
inst_script "$moddir/init.sh" "/init"
++++++ 0586-95zfcp_rules-parse-zfcp.sh-remove-rule-existence-check.patch ++++++
diff -ur dracut-044.orig/modules.d/95zfcp_rules/parse-zfcp.sh dracut-044/modules.d/95zfcp_rules/parse-zfcp.sh
--- dracut-044.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2018-12-21 11:52:21.457034071 +0100
+++ dracut-044/modules.d/95zfcp_rules/parse-zfcp.sh 2018-12-21 11:56:19.179414976 +0100
@@ -22,8 +22,6 @@
return 0;
fi
- [ -e ${_rule} ] && return 0
-
if [ ! -f "$_rule" ] ; then
cat > $_rule <<EOF
ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$ccw", IMPORT{program}="collect $ccw %k ${ccw} zfcp"
++++++ 0587-Fix-a-missing-space-in-example-configs.patch ++++++
>From 43b774786cc4583e682c1f7f397643c7c1fccadf Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Sun, 20 Jan 2019 21:56:05 +0100
Subject: [PATCH] Fix a missing space in example configs
It has
omit_drivers+=" i2o_scsi"
which would break the next omit_drivers+="foo " if it's
missing a space at the beginning.
Reference: boo#1121251
---
dracut.conf.d/gentoo.conf.example | 2 +-
dracut.conf.d/suse.conf.example | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
index 26e73147..df102e00 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -12,4 +12,4 @@ ro_mnt=yes
i18n_vars="/etc/conf.d/keymaps:keymap-KEYMAP,extended_keymaps-EXT_KEYMAPS /etc/conf.d/consolefont:consolefont-FONT,consoletranslation-FONT_MAP /etc/rc.conf:unicode-UNICODE"
i18n_default_font="LatArCyrHeb-16"
-omit_drivers+=" i2o_scsi"
+omit_drivers+=" i2o_scsi "
diff --git a/dracut.conf.d/suse.conf.example b/dracut.conf.d/suse.conf.example
index 37ffd72b..e1d800c8 100644
--- a/dracut.conf.d/suse.conf.example
+++ b/dracut.conf.d/suse.conf.example
@@ -10,7 +10,7 @@ hostonly_cmdline="yes"
compress="xz -0 --check=crc32 --memlimit-compress=50%"
i18n_vars="/etc/sysconfig/language:RC_LANG-LANG,RC_LC_ALL-LC_ALL /etc/sysconfig/console:CONSOLE_UNICODEMAP-FONT_UNIMAP,CONSOLE_FONT-FONT,CONSOLE_SCREENMAP-FONT_MAP /etc/sysconfig/keyboard:KEYTABLE-KEYMAP"
-omit_drivers+=" i2o_scsi"
+omit_drivers+=" i2o_scsi "
# Below adds additional tools to the initrd which are not urgently necessary to
# bring up the system, but help to debug problems.
--
2.16.4
++++++ 0588-Ensure-mmc-host-modules-get-included-properly.patch ++++++
>From 68777f36a4041f520197531e94a1b909801e67d9 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 21 Jan 2019 14:21:14 +0100
Subject: [PATCH] Ensure mmc host modules get included properly
This fixes an in incorrect part of the backport in
1229cbc091ac11434b0b628d58630ce4c8fbe8e3
aka Adjust-driver-list-to-modern-kernels.patch
Patch is not applicable for 049
Reference: bsc#1119037
---
modules.d/90kernel-modules/module-setup.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index cc6a9309..79e615a6 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -5,6 +5,9 @@ installkernel() {
if [[ -z $drivers ]]; then
block_module_filter() {
local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_add_host'
+ if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then
+ _blockfuncs+='|dw_mc_probe|dw_mci_pltfm_register'
+ fi
# subfunctions inherit following FDs
local _merge=8 _side2=9
function bmf1() {
@@ -59,7 +62,6 @@ installkernel() {
if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then
# arm/aarch64 specific modules
- _blockfuncs+='|dw_mc_probe|dw_mci_pltfm_register'
instmods \
"=drivers/clk" \
"=drivers/dma" \
--
2.16.4
++++++ 0589-Fix-98dracut-systemd-dracut-emergency.sh.patch ++++++
>From 0d08f43d7137e10cbbf7390809c4659128f8a2ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?B=C3=B6sz=C3=B6rm=C3=A9nyi=20Zolt=C3=A1n?= <zboszor(a)pr.hu>
Date: Tue, 12 Feb 2019 12:55:32 +0100
Subject: [PATCH] Fix 98dracut-systemd/dracut-emergency.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
/dev/consoles does not exist. It's /proc/consoles.
Signed-off-by: Böszörményi Zoltán <zboszor(a)pr.hu>
---
modules.d/98dracut-systemd/dracut-emergency.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/98dracut-systemd/dracut-emergency.sh b/modules.d/98dracut-systemd/dracut-emergency.sh
index 1a11220b..864f13ba 100755
--- a/modules.d/98dracut-systemd/dracut-emergency.sh
+++ b/modules.d/98dracut-systemd/dracut-emergency.sh
@@ -31,7 +31,7 @@ if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
echo
[ -f "$FSTXT" ] && cat "$FSTXT"
) > /dev/$_tty
- done < /dev/consoles
+ done < /proc/consoles
[ -f /etc/profile ] && . /etc/profile
[ -z "$PS1" ] && export PS1="$_name:\${PWD}# "
exec sulogin -e
--
2.16.4
++++++ 0590-00systemd-check-if-systemd-version-is-a-number.patch ++++++
>From 53cb081b4c3afa843022d8e6156bdbd4808db4a2 Mon Sep 17 00:00:00 2001
From: Frantisek Sumsal <frantisek(a)sumsal.cz>
Date: Fri, 4 Jan 2019 16:51:15 +0100
Subject: [PATCH] 00systemd: check if systemd version is a number
The recent systemd upstream introduced a slightly modified version
string which included information about a git commit, which however
broke the version check in dracut. Unfortunately, the (( )) bash syntax
went along with it in certain cases and introduced a pretty nasty issue,
when the systemd would boot up but with slightly changed environment.
To prevent this from happening in the future, let's at least check if
the version parsed from the `systemd --version` output is a comparable
number.
---
modules.d/00systemd/module-setup.sh | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
index 1ed4b34f..3583062b 100755
--- a/modules.d/00systemd/module-setup.sh
+++ b/modules.d/00systemd/module-setup.sh
@@ -5,6 +5,11 @@ check() {
[[ $mount_needs ]] && return 1
if require_binaries $systemdutildir/systemd; then
SYSTEMD_VERSION=$($systemdutildir/systemd --version | { read a b a; echo $b; })
+ # Check if the systemd version is a valid number
+ if ! [[ $SYSTEMD_VERSION =~ ^[0-9]+$ ]]; then
+ dfatal "systemd version is not a number ($SYSTEMD_VERSION)"
+ exit 1
+ fi
(( $SYSTEMD_VERSION >= 198 )) && return 0
return 255
fi
--
2.16.4
++++++ 0591-91zipl-Don-t-use-contents-of-commented-lines.patch ++++++
>From 38ccf7c8e5e19b1e7ef400ff0a77eb92531754c0 Mon Sep 17 00:00:00 2001
From: Thomas Abraham <tabraham(a)suse.com>
Date: Wed, 19 Dec 2018 18:24:41 -0500
Subject: [PATCH] 91zipl: Don't use contents of commented lines
Comment lines should be ignored. They should not be used for determining
the /boot/zipl device
---
modules.d/91zipl/module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/91zipl/module-setup.sh b/modules.d/91zipl/module-setup.sh
index d0cd75da..2f95fd55 100755
--- a/modules.d/91zipl/module-setup.sh
+++ b/modules.d/91zipl/module-setup.sh
@@ -22,7 +22,7 @@ depends() {
installkernel() {
local _boot_zipl
- _boot_zipl=$(sed -n 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
+ _boot_zipl=$(sed -n -e '/^[[:space:]]*#/d' -e 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
if [ -n "$_boot_zipl" ] ; then
eval $(blkid -s TYPE -o udev ${_boot_zipl})
if [ -n "$ID_FS_TYPE" ] ; then
@@ -40,7 +40,7 @@ installkernel() {
cmdline() {
local _boot_zipl
- _boot_zipl=$(sed -n 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
+ _boot_zipl=$(sed -n -e '/^[[:space:]]*#/d' -e 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
if [ -n "$_boot_zipl" ] ; then
echo "rd.zipl=${_boot_zipl}"
fi
--
2.16.4
++++++ 0592-95iscsi-handle-qedi-like-bnx2i.patch ++++++
>From 8095b250d173b0e12f9826e7124c0781086be891 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Tue, 12 Feb 2019 16:55:26 +0100
Subject: [PATCH] 95iscsi: handle qedi like bnx2i
The new qedi driver needs to be handled just like
the bnx2i driver, so update 95iscsi scripts to do this.
References: bsc#1113712
Signed-off-by: Lee Duncan <lduncan(a)suse.com>
---
modules.d/95iscsi/cleanup-iscsi.sh | 5 +++--
modules.d/95iscsi/iscsiroot.sh | 9 ++++++---
2 files changed, 9 insertions(+), 5 deletions(-)
Index: dracut-044/modules.d/95iscsi/cleanup-iscsi.sh
===================================================================
--- dracut-044.orig/modules.d/95iscsi/cleanup-iscsi.sh
+++ dracut-044/modules.d/95iscsi/cleanup-iscsi.sh
@@ -1,4 +1,5 @@
#!/bin/sh
-[ -z "${DRACUT_SYSTEMD}" ] && [ -e /sys/module/bnx2i ] && killproc iscsiuio
-
+if [[ -z "${DRACUT_SYSTEMD}" ]] && ( [[ -e /sys/module/bnx2i ]] || [[ -e /sys/module/qedi ]] ) ; then
+ killproc iscsiuio
+fi
Index: dracut-044/modules.d/95iscsi/iscsiroot.sh
===================================================================
--- dracut-044.orig/modules.d/95iscsi/iscsiroot.sh
+++ dracut-044/modules.d/95iscsi/iscsiroot.sh
@@ -36,9 +36,12 @@ iroot=${iroot#:}
# figured out a way how to check whether this is built-in or not
modprobe crc32c 2>/dev/null
-if [ -z "${DRACUT_SYSTEMD}" ] && [ -e /sys/module/bnx2i ] && ! [ -e /tmp/iscsiuio-started ]; then
- iscsiuio
- > /tmp/iscsiuio-started
+# start iscsiuio if needed
+if [[ -z "${DRACUT_SYSTEMD}" ]] && \
+ ( [[ -e /sys/module/bnx2i ]] || [[ -e /sys/module/qedi ]] ) && \
+ ! [ -e /tmp/iscsiuio-started ]; then
+ iscsiuio
+ > /tmp/iscsiuio-started
fi
#set value for initial login retry
++++++ 0593-dracut-only-copy-xattr-if-root.patch ++++++
>From 97b36b154ce40f91b1c73a610c796965a569b637 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 18 Feb 2019 14:21:05 +0100
Subject: [PATCH] dracut: only copy xattr, if root
(Cherry-picked from 076fcd1652af25f57aae063fda3b8c39ef828ac6)
---
install/dracut-install.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index a7bfdb8c..381327c2 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -222,8 +222,13 @@ static int cp(const char *src, const char *dst)
if (ret == 0) {
struct timeval tv[2];
if (fchown(dest_desc, sb.st_uid, sb.st_gid) != 0)
- if(fchown(dest_desc, (uid_t) - 1, sb.st_gid) != 0)
- log_error("Failed to chown %s: %m", dst);
+ if(fchown(dest_desc, (uid_t) - 1, sb.st_gid) != 0) {
+ if (geteuid() == 0)
+ log_error("Failed to chown %s: %m", dst);
+ else
+ log_info("Failed to chown %s: %m", dst);
+ }
+
tv[0].tv_sec = sb.st_atime;
tv[0].tv_usec = 0;
tv[1].tv_sec = sb.st_mtime;
--
2.16.4
++++++ 0594-Check-SUSE-kernel-module-dependencies-recursively.patch ++++++
>From 6ead8ad47fa141eca039c45f09805808a5ff7d4d Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin(a)suse.com>
Date: Mon, 11 Mar 2019 17:35:14 +0100
Subject: [PATCH] Check SUSE kernel module dependencies recursively
This fixes commit f29f334cf1638594f90bbf3e775917c610232785
Reference: bsc#1127891
---
dracut-init.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut-init.sh b/dracut-init.sh
index 65597ffa..74e2086d 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -954,7 +954,7 @@ for_each_kmod_dep() {
for suse_mod_dep in ${suse_mod_deps["${_kmod%.ko*}"]}; do
_modpath=$(modinfo -k "$kernel" -F filename "$suse_mod_dep" 2> /dev/null)
[ -n "$_modpath" ] || continue
- for_each_kmod_dep "$_func" "$_modpath" "$@"
+ for_each_kmod_dep "$_func" $(basename "${_modpath%.ko*}") "$@"
$_func ${_modpath} || exit $?
done
}
--
2.16.4
++++++ 0595-iscsi-don-t-continue-waiting-if-the-root-device-is-p.patch ++++++
>From 06d95ed6eb72ad9b1a4666b3d7cb6977e5b83ca5 Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck(a)suse.com>
Date: Thu, 21 Mar 2019 16:27:04 +0100
Subject: [PATCH 1/6] iscsi: don't continue waiting if the root device is
present
dracut waits for every iscsiroot connection to be established
before switching root. This is not necessary in multipath scenarios,
where a single path is usually sufficient to set up the root device,
and where users expect booting to succeed unless all paths are down.
Don't wait for the iscsi portal to start if the root device has
already been found.
---
modules.d/95iscsi/parse-iscsiroot.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
index f884e684..b96605ef 100755
--- a/modules.d/95iscsi/parse-iscsiroot.sh
+++ b/modules.d/95iscsi/parse-iscsiroot.sh
@@ -84,7 +84,7 @@ if [ -n "$iscsi_firmware" ]; then
modprobe -b -q iscsi_boot_sysfs 2>/dev/null
modprobe -b -q iscsi_ibft
# if no ip= is given, but firmware
- echo "[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_started.sh
+ echo "${DRACUT_SYSTEMD+systemctl is-active initrd-root-device.target || }[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_started.sh
initqueue --unique --online /sbin/iscsiroot online "iscsi:" "$NEWROOT"
initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "iscsi:" "$NEWROOT"
initqueue --unique --onetime --settled /sbin/iscsiroot online "iscsi:" "'$NEWROOT'"
@@ -147,7 +147,7 @@ for nroot in $(getargs netroot); do
type parse_iscsi_root >/dev/null 2>&1 || . /lib/net-lib.sh
parse_iscsi_root "$nroot" || return 1
netroot_enc=$(str_replace "$nroot" '/' '\2f')
- echo "[ -f '/tmp/iscsistarted-$netroot_enc' ]" > $hookdir/initqueue/finished/iscsi_started.sh
+ echo "${DRACUT_SYSTEMD+systemctl is-active initrd-root-device.target || }[ -f '/tmp/iscsistarted-$netroot_enc' ]" > $hookdir/initqueue/finished/iscsi_started.sh
done
# Done, all good!
--
2.16.4
++++++ 0596-network-stop-waiting-for-interfaces-if-root-device-i.patch ++++++
>From 9aeceb14e010d68f8ee92f60664eef39d57552c2 Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck(a)suse.com>
Date: Thu, 21 Mar 2019 21:31:15 +0100
Subject: [PATCH 2/6] network: stop waiting for interfaces if root device is
present
---
modules.d/40network/net-genrules.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
index 843bd988..a5a9ae22 100755
--- a/modules.d/40network/net-genrules.sh
+++ b/modules.d/40network/net-genrules.sh
@@ -86,7 +86,7 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh
for iface in $wait_ifaces; do
if [ "$bootdev" = "$iface" ] || [ "$NEEDNET" = "1" ]; then
- echo "[ -f /tmp/net.${iface}.did-setup ]" >$hookdir/initqueue/finished/wait-$iface.sh
+ echo "${DRACUT_SYSTEMD+systemctl is-active initrd-root-device.target || }[ -f /tmp/net.${iface}.did-setup ]" >$hookdir/initqueue/finished/wait-$iface.sh
fi
done
# Default: We don't know the interface to use, handle all
--
2.16.4
++++++ 0597-iscsiroot-parse_iscsi_root-overwrites-command-line-a.patch ++++++
>From a9ef0960799ad8d95de2e13a9f8773e88826e83e Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck(a)suse.com>
Date: Thu, 4 Apr 2019 15:29:04 +0200
Subject: [PATCH 3/6] iscsiroot: parse_iscsi_root overwrites command line args
iscsi_target_name, iscsi_target_ip, iscsi_target_port are
unconditionally overwritten by parse_iscsi_root. Don't set
them here, for code clarity.
---
modules.d/95iscsi/iscsiroot.sh | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
Index: dracut-044/modules.d/95iscsi/iscsiroot.sh
===================================================================
--- dracut-044.orig/modules.d/95iscsi/iscsiroot.sh
+++ dracut-044/modules.d/95iscsi/iscsiroot.sh
@@ -102,12 +102,6 @@ handle_netroot()
# override conf settings by command line options
arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=)
[ -n "$arg" ] && iscsi_initiator=$arg
- arg=$(getargs rd.iscsi.target.name -d iscsi_target_name=)
- [ -n "$arg" ] && iscsi_target_name=$arg
- arg=$(getarg rd.iscsi.target.ip -d iscsi_target_ip)
- [ -n "$arg" ] && iscsi_target_ip=$arg
- arg=$(getarg rd.iscsi.target.port -d iscsi_target_port=)
- [ -n "$arg" ] && iscsi_target_port=$arg
arg=$(getarg rd.iscsi.target.group -d iscsi_target_group=)
[ -n "$arg" ] && iscsi_target_group=$arg
arg=$(getarg rd.iscsi.username -d iscsi_username=)
@@ -122,6 +116,8 @@ handle_netroot()
iscsi_param="$iscsi_param $p"
done
+ # this sets iscsi_target_name and possibly overwrites most
+ # parameters read from the command line above
parse_iscsi_root "$1" || return 1
# Bail out early, if there is no route to the destination
++++++ 0598-iscsiroot-there-s-never-more-than-one-target-per-cal.patch ++++++
>From 04657e60f00d53f52d47b7fd02b53618762340e4 Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck(a)suse.com>
Date: Thu, 4 Apr 2019 15:40:14 +0200
Subject: [PATCH 4/6] iscsiroot: there's never more than one target per call
iscsi_target_name is set by iscsi_root, and thus can't have
more than one member. This allows us to get rid of one bashism
in iscsiroot.sh.
---
modules.d/95iscsi/iscsiroot.sh | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
Index: dracut-044/modules.d/95iscsi/iscsiroot.sh
===================================================================
--- dracut-044.orig/modules.d/95iscsi/iscsiroot.sh
+++ dracut-044/modules.d/95iscsi/iscsiroot.sh
@@ -221,8 +221,8 @@ handle_netroot()
[ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1
fi
- for target in $iscsi_target_name; do
- if [[ "$targets" =~ "$target" ]]; then
+ for target in $targets; do
+ if [ "$target" = "$iscsi_target_name" ]; then
if [ -n "$iscsi_iface_name" ]; then
$(iscsiadm -m iface -I $iscsi_iface_name --op=new)
[ -n "$iscsi_initiator" ] && $(iscsiadm -m iface -I $iscsi_iface_name --op=update --name=iface.initiatorname --value=$iscsi_initiator)
++++++ 0599-iscsiroot-try-targets-only-once.patch ++++++
>From 1fd34ae26591701e27577e381dc284248e3bf6e2 Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck(a)suse.com>
Date: Thu, 4 Apr 2019 16:16:40 +0200
Subject: [PATCH 5/6] iscsiroot: try targets only once
In multipath scenarios, "iscsiadm -m node" may contain
several records with the same target.
There's no point in trying "iscsiadm --login" multiple
time for the same target, through the same portal.
Moreover, warn if the desired target is not on the node
list.
---
modules.d/95iscsi/iscsiroot.sh | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
Index: dracut-044/modules.d/95iscsi/iscsiroot.sh
===================================================================
--- dracut-044.orig/modules.d/95iscsi/iscsiroot.sh
+++ dracut-044/modules.d/95iscsi/iscsiroot.sh
@@ -97,7 +97,7 @@ handle_netroot()
local iscsi_in_username iscsi_in_password
local iscsi_iface_name iscsi_netdev_name
local iscsi_param param
- local p
+ local p found
# override conf settings by command line options
arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=)
@@ -221,6 +221,7 @@ handle_netroot()
[ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1
fi
+ found=
for target in $targets; do
if [ "$target" = "$iscsi_target_name" ]; then
if [ -n "$iscsi_iface_name" ]; then
++++++ 0600-iscsiroot-remove-bashisms.patch ++++++
>From c14a550d54b408088fd0aa14a4f2088f8b45237e Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck(a)suse.com>
Date: Thu, 4 Apr 2019 17:12:07 +0200
Subject: [PATCH 6/6] iscsiroot: remove bashisms
According to the dracut README, module code to be run in
the initrd must be POSIX-compliant. Replace remaining
bashisms (as reported by checkbashisms) with POSIX compliant
code.
The use of "type" is not strictly POSIX compliant, but it's
all over the place in dracut code. dash supports it, anyway.
---
modules.d/95iscsi/iscsiroot.sh | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
index 73dd8c20..c00a9f58 100755
--- a/modules.d/95iscsi/iscsiroot.sh
+++ b/modules.d/95iscsi/iscsiroot.sh
@@ -61,11 +61,11 @@ handle_firmware()
if ! iscsiadm -m fw; then
warn "iscsiadm: Could not get list of targets from firmware."
else
- ifaces=( $(echo /sys/firmware/ibft/ethernet*) )
+ ifaces=$(set -- /sys/firmware/ibft/ethernet*; echo $#)
retry=$(cat /tmp/session-retry)
- if [ $retry -lt ${#ifaces[*]} ]; then
- let retry++
+ if [ $retry -lt $ifaces ]; then
+ retry=$((retry+1))
echo $retry > /tmp/session-retry
return 1
else
@@ -95,6 +95,7 @@ handle_netroot()
local iscsi_iface_name iscsi_netdev_name
local iscsi_param param
local p found
+ local login_retry_max_seen=
# override conf settings by command line options
arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=)
@@ -110,7 +111,9 @@ handle_netroot()
arg=$(getarg rd.iscsi.in.password -d iscsi_in_password=)
[ -n "$arg" ] && iscsi_in_password=$arg
for p in $(getargs rd.iscsi.param -d iscsi_param); do
- iscsi_param="$iscsi_param $p"
+ [ "${p%=*}" = node.session.initial_login_retry_max ] && \
+ login_retry_max_seen=yes
+ iscsi_param="$iscsi_param $p"
done
# this sets iscsi_target_name and possibly overwrites most
@@ -123,9 +126,8 @@ handle_netroot()
fi
#limit iscsistart login retries
- if [[ ! "$iscsi_param" =~ "node.session.initial_login_retry_max" ]]; then
- set_login_retries
- retries=$?
+ if [ "$login_retry_max_seen" != yes ]; then
+ retries=$(getargnum 3 0 10000 rd.iscsi.login_retry_max)
if [ $retries -gt 0 ]; then
iscsi_param="${iscsi_param% } node.session.initial_login_retry_max=$retries"
fi
--
2.16.4
++++++ 0601-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch ++++++
>From 33348c63393d6fca3b6070dfdf108bff7b59d53b Mon Sep 17 00:00:00 2001
From: Alexander Tsoy <alexander(a)tsoy.me>
Date: Tue, 5 Jan 2016 22:11:57 +0300
Subject: [PATCH] base/dracut-lib.sh:dev_unit_name() guard against $dev
beginning with "-"
crypt/parse-crypt.sh generate initqueue job which always call
dev_unit_name() with an argument beginning with "-". This results
in the following error:
dracut-initqueue[307]: + systemd-escape -p -cfb4aa43-2f02-4c6b-a313-60ea99288087
dracut-initqueue[307]: systemd-escape: invalid option -- 'c'
---
modules.d/99base/dracut-lib.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 89235b04..45ef31b6 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -874,7 +874,7 @@ dev_unit_name()
local dev="$1"
if command -v systemd-escape >/dev/null; then
- systemd-escape -p "$dev"
+ systemd-escape -p -- "$dev"
return
fi
--
2.16.4
++++++ 99-debug.conf ++++++
# Below adds additional tools to the initrd which are not urgently necessary to
# bring up the system, but help to debug problems.
# See /usr/lib/dracut/modules.d/95debug/module-setup.sh which additional tools
# are installed and add more if you need them. This specifically helps if you
# use:
# rd.break=[cmdline|pre-udev|pre-trigger|initqueue|pre-mount|
# mount|pre-pivot|cleanup]
# boot parameter or if you are forced to enter the dracut emergency shell.
# add_dracutmodules+=debug
++++++ dracut-049+git92.951f754b.tar.xz -> dracut-044.tar.xz ++++++
++++ 32604 lines of diff (skipped)
++++++ dracut-installkernel ++++++
#! /bin/sh
#
# /sbin/installkernel - written by tyson(a)rwii.com
#
# May 21, 2003 - agruen(a)suse.de
# * Adapted for SuSE and cleaned up.
# November 21, 2018 - jdelvare(a)suse.de
# * Stop creating .old files.
#
: ${INSTALL_PATH:=/boot}
KERNEL_VERSION=$1
BOOTIMAGE=$2
MAPFILE=$3
CONFIGFILE=config-$KERNEL_VERSION
case "$(uname -m)" in
s390|s390x)
BOOTFILE=image
;;
ppc|ppc64)
BOOTFILE=vmlinux
;;
aarch64)
BOOTFILE=Image
;;
armv*)
BOOTFILE=zImage
;;
*)
BOOTFILE=vmlinuz
;;
esac
#
# Install new files
#
cp -fp $BOOTIMAGE $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION
cp -fp $MAPFILE $INSTALL_PATH/System.map-$KERNEL_VERSION
[ -f .config ] && cp -fp .config $INSTALL_PATH/$CONFIGFILE
# If the kernel has module support, recreate modules.dep using depmod
# since the contents of modules.dep do not have a consistent format across
# releases.
if [ -x /sbin/depmod -a -d /lib/modules/$KERNEL_VERSION ]; then
/sbin/depmod $KERNEL_VERSION;
fi
function check_supported()
{
local MOD_SUPP_FILE="/etc/modprobe.d/10-unsupported-modules.conf"
local MOD_SUPP_REGEX="^\s*allow_unsupported_modules\s+0\s*$"
local cfg="$1"
if [ ! -e "$cfg" ]; then return; fi
local tmp=$(modprobe --showconfig | grep -Eq $MOD_SUPP_REGEX)
if [ -n "$tmp" ]; then
CHECK_SUPPORTED="--check-supported"
return;
fi
if grep -q "^CONFIG_SUSE_KERNEL_SUPPORTED=y" $cfg ; then
if [ -e $MOD_SUPP_FILE ] && grep -Eq $MOD_SUPP_REGEX $MOD_SUPP_FILE; then
CHECK_SUPPORTED="--check-supported"
fi
fi
}
CONFIG=$(dirname $MAPFILE)/.config
CHECK_SUPPORTED=
check_supported $CONFIG
KERNTYPES=$(dirname $MAPFILE)/init/kerntypes.o
if [ -e $KERNTYPES ]; then
cp -fp $KERNTYPES $INSTALL_PATH/Kerntypes-$KERNEL_VERSION
fi
case "$(uname -m)" in
i?86 | x86_64)
KERNBIN=$(dirname $MAPFILE)/vmlinux
if [ -e $KERNBIN ]; then
gzip -c $KERNBIN > $INSTALL_PATH/vmlinux-$KERNEL_VERSION.gz
fi
;;
esac
#
# Generate initial ramdisk
#
if [ -x /usr/bin/dracut -a -d /lib/modules/$KERNEL_VERSION ]; then
/usr/bin/dracut --hostonly --force $CHECK_SUPPORTED \
$INSTALL_PATH/initrd-$KERNEL_VERSION $KERNEL_VERSION
else
echo "You may need to create an initial ramdisk now."
fi
#
# Update boot loader
#
if [ -x /sbin/update-bootloader ]; then
opt_initrd=
[ -e $INSTALL_PATH/initrd-$KERNEL_VERSION ] \
&& opt_initrd="--initrd $INSTALL_PATH/initrd-$KERNEL_VERSION"
/sbin/update-bootloader --name $KERNEL_VERSION \
--image $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION \
$opt_initrd --add --force
fi
++++++ mkinitrd_setup_dummy ++++++
#!/bin/bash
true
++++++ purge-kernels ++++++
#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
sub usage {
print "Usage: $0 [--test]\n";
print "Reads list of kernels to keep from /etc/zypp/zypp.conf:multiversion.kernels\n";
print "kernels can be given as <version>, latest(-N), running, oldest(+N).\n";
}
# arch/flavor => version-release => [ subpackages ]
my %kernels;
my @keep_spec;
my ($want_running, $running_version, $running_flavor);
# do not actually delete anything
my $test_only;
# undocumented debugging options
my ($fake_config, $fake_rpm_qa, $fake_uname_r, $fake_uname_m);
sub get_config_line {
my $file = "/etc/zypp/zypp.conf";
if ($fake_config) {
return $fake_config;
}
if (!-e $file) {
print STDERR "$0: /etc/zypp/zypp.conf does not exist, exiting.\n";
exit 0;
}
open(my $fh, '<', $file) or die "$0: $file: $!\n";
while (<$fh>) {
chomp;
next unless /^\s*multiversion\.kernels\b/;
s/^[^=]*=\s*//;
close($fh);
return $_;
}
close($fh);
return "";
}
sub load_config {
my @kernels;
@kernels = split(/,\s*/, get_config_line());
for my $kernel (@kernels) {
if ($kernel =~ /^\s*(latest|oldest|running)(\s*[-+]\s*\d+)?\s*$/) {
my $new = { whence => $1, offset => $2 || 0 };
$new->{offset} =~ s/\s*//g;
if ($new->{whence} eq "running") {
$want_running = 1;
}
push (@keep_spec, $new);
} elsif ($kernel =~ /^\d+\.\d+/) {
my $new = { version => $kernel };
push (@keep_spec, $new);
} elsif ($kernel =~ /^\s*$/) {
next;
} else {
print STDERR "$0: Ignoring unknow kernel specification in\n";
print STDERR "/etc/zypp/zypp.conf:multiversion.kernels: $kernel\n";
}
}
}
sub add_package {
my ($name, $vr, $arch) = @_;
(my $flavor = $name) =~ s/^kernel-//;
#print STDERR "add_package: $name $vr $arch\n";
if ($name eq "kernel-firmware" || $name eq "kernel-coverage") {
return;
}
# Put all subpackages into the same group, except for
# kernel-source-{vanilla,rt}, which are packages on their own
if ($flavor !~ /^source/) {
$flavor =~ s/-.*//; # XXX: No dashes in flavor names
}
# kernel-devel is a subpackage of kernel-source
$flavor =~ s/^devel/source/;
$kernels{"$arch/$flavor"} ||= {};
$kernels{"$arch/$flavor"}{$vr} ||= [];
push(@{$kernels{"$arch/$flavor"}{$vr}}, "$name-$vr.$arch");
}
sub load_packages {
my $pipe;
if ($fake_rpm_qa) {
open($pipe, '<', $fake_rpm_qa) or die "$fake_rpm_qa: $!\n";
} else {
open($pipe, '-|', 'rpm', '-qa', '--qf',
'%{n} %{v}-%{r} %{arch}\n', 'kernel-*') or die "rpm: $!\n";
}
while (<$pipe>) {
chomp;
my ($name, $vr, $arch) = split;
add_package($name, $vr, $arch);
}
close($pipe)
}
sub sort_versions {
my @versions = @_;
pipe (my $read, my $write);
my $pid = fork();
if (!defined($pid)) {
die "Cannot fork: $!\n";
} elsif ($pid == 0) {
# child
close($read);
open STDOUT, '>&', $write;
open(my $fh, '|-', "/usr/lib/rpm/rpmsort") or die "/usr/lib/rpm/rpmsort: $!\n";
print $fh join("\n", @versions), "\n";
close($fh);
die "rpmsort failed ($?)\n" if $? != 0;
exit 0;
}
# parent
close($write);
@versions = <$read>;
chomp @versions;
close($read);
waitpid($pid, 0);
die "rpmsort failed ($?)\n" if $? != 0;
return @versions;
}
# return true if VER1 == VER2 or VER1 == (VER2 minus rebuild counter)
sub version_match {
my ($ver1, $ver2) = @_;
return 1 if $ver1 eq $ver2;
# copied from kernel-source/rpm/kernel-spec-macros
$ver2 =~ s/\.[0-9]+($|\.[^.]*[^.0-9][^.]*$)/$1/;
return $ver1 eq $ver2;
}
sub list_old_versions {
my ($flavor) = @_;
my $is_source = $flavor =~ /\/(source|syms)/;
my $kernels = $kernels{$flavor};
my @versions = sort_versions(keys(%$kernels));
my %idx = (
oldest => 0,
latest => scalar(@versions) - 1,
);
if ($want_running && ($running_flavor eq $flavor || $is_source)) {
for (my $i = scalar(@versions) - 1; $i >= 0; $i--) {
if (version_match($running_version, $versions[$i])) {
$idx{running} = $i;
last;
}
}
if (!exists($idx{running}) && !$is_source) {
print STDERR "$0: Running kernel $running_version-$running_flavor not installed.\n";
print "NOT removing any packages for flavor $flavor.\n";
return;
}
}
my %delete = map { $_ => 1 } @versions;
for my $keep (@keep_spec) {
if ($keep->{version}) {
for my $ver (@versions) {
if (version_match($keep->{version}, $ver)) {
$delete{$ver} = 0;
}
}
} elsif ($keep->{whence}) {
next unless exists($idx{$keep->{whence}});
my $idx = $idx{$keep->{whence}};
$idx += $keep->{offset};
next unless $idx >= 0 && $idx < scalar(@versions);
$delete{$versions[$idx]} = 0;
} else {
die "??";
}
}
return grep { $delete{$_} } @versions;
}
sub package_exists {
my ($version, $archs, $flavors) = @_;
for my $arch (@$archs) {
for my $flavor (@$flavors) {
my $config = "$arch/$flavor";
if (exists($kernels{$config})
&& exists($kernels{$config}->{$version})) {
return 1;
}
}
}
return 0;
}
sub list_old_packages {
my (@packages, @archs, @flavors);
my (@syms_flavors, @binary_flavors, @source_configs);
# there are some inter-dependencies among the kernel packages,
# so we have to be careful
my %t = map { s:/.*::; $_ => 1 } keys(%kernels);
@archs = sort(keys(%t));
%t = map { s:.*/::; $_ => 1 } keys(%kernels);
@flavors = sort(keys(%t));
@syms_flavors = grep { /^syms/ } @flavors;
@binary_flavors = grep { !/^(source|syms)/ } @flavors;
@source_configs = grep { /\/source/ } sort(keys(%kernels));
for my $arch (@archs) {
for my $flavor (@syms_flavors) {
my $config = "$arch/$flavor";
next unless exists($kernels{$config});
my @versions = list_old_versions($config);
for my $ver (@versions) {
push(@packages, @{$kernels{$config}->{$ver}});
delete($kernels{$config}->{$ver});
}
}
for my $flavor (@binary_flavors) {
my $config = "$arch/$flavor";
next unless exists($kernels{$config});
my @versions = list_old_versions($config);
for my $ver (@versions) {
my @pacs = @{$kernels{$config}->{$ver}};
my $remove_all = 1;
# do not remove kernel-$flavor-devel-$ver
# if kernel-syms-$ver still exists
if (grep { /-devel$/ } @pacs) {
my $syms = "syms";
if ($flavor =~ /^rt/) {
$syms = "syms-rt";
}
if (exists($kernels{$syms}->{$ver})) {
$remove_all = 0;
@pacs = grep { !/-devel$/ }
@pacs;
}
}
push(@packages, @pacs);
if ($remove_all) {
delete($kernels{$config}->{$ver});
}
}
}
}
for my $config (@source_configs) {
my @versions = list_old_versions($config);
for my $ver (@versions) {
# Remove kernel-{devel,source} only if no other package
# of the same version exists
next if package_exists($ver, \@archs, \@binary_flavors);
push(@packages, @{$kernels{$config}->{$ver}});
}
}
return @packages;
}
sub find_package {
my $name = shift @_;
my $version = shift @_;
my @packages = @_;
my $expr = "^" . quotemeta($version ? "$name-$version" : $name);
my @found = grep { $_ =~ $expr } @packages;
return @found if @found;
$expr = "^" . quotemeta($name) . " = " . quotemeta($version) . "\$";
@found = grep {
my @provides = qx/rpm -q --provides $_/;
chomp (@provides);
grep { $_ =~ $expr} @provides;
} @packages;
return @found;
}
# Try to remove a list of packages.
#
# If there is a KMP or livepatch depending on the package remove it as well. If
# there is another package depending on the kernel keep the kernel. If there is
# a package that depends on a KMP keep the KMP and a kernel required to use the
# KMP.
# In each step a KMP or livepatch may be added or a package which cannot be
# removed due to dependencies is marked as taboo and removed from the list.
#
# Finish when packages uninstall successfully or we can't find any packages to
# add or remove from the list to make it uninstallable.
sub remove_packages {
my @packages = @_;
my %taboo_packages;
while (1) {
pipe(my $read, my $write);
my $pid = fork();
if (!defined($pid)) {
die "Cannot fork: $!\n";
} elsif($pid == 0) {
# child
close($read);
open STDOUT, '>&', $write;
open STDERR, '>&', $write;
$ENV{LC_ALL} = "C";
my @cmd = qw(rpm -e);
push(@cmd, "--test") if $test_only;
exec(@cmd, @packages) or die "rpm: $!\n";
}
# parent
close($write);
my @out = <$read>;
chomp @out;
close($read);
waitpid($pid, 0);
if ($? == 0) {
print "Removed:\n ", join("\n ", @packages), "\n";
return 1;
}
my $retry = 0;
my %old_packages = map { $_ => 1 } @packages;
my %new_packages;
for (@out) {
if (/ is needed by \(installed\) (kernel-syms-.*|kgraft-patch-.*|kernel-livepatch-.*|.*-kmp-.*)/ &&
!$old_packages{$1} && !$taboo_packages{$1}) {
push(@packages, $1) unless $new_packages{$1};
$new_packages{$1} = 1;
$retry = 1;
} elsif (/([^ \t]*)(?: = ([^ \t]*))? is needed by \(installed\) /) {
my @unremovable = find_package($1, $2, @packages);
my $match = $unremovable[$#unremovable];
if ($match) {
print STDERR "$0: $_\n";
print STDERR "$0: Keeping " . ($2 ? "$1 = $2" : $1) . " ($match)\n";
@packages = grep { $_ !~ $match } @packages;
$taboo_packages{$match} = 1;
$retry = 1;
last; # Only remove one package providing the dependency from the list
}
}
}
if (!$retry) {
print STDERR join("\n", @out), "\n";
print STDERR "$0: giving up.\n";
return 0;
}
}
}
if (!GetOptions(
"h|help" => sub { usage(); exit; },
"--test" => \$test_only,
"--fake-config=s" => \$fake_config,
"--fake-rpm-qa=s" => \$fake_rpm_qa,
"--fake-uname-r=s" => \$fake_uname_r,
"--fake-uname-m=s" => \$fake_uname_m)) {
usage();
exit 1;
}
load_config();
if (!@keep_spec) {
print STDERR "$0: multiversion.kernels not configured in /etc/zypp/zypp.conf, exiting.\n";
exit 0;
}
load_packages();
if ($want_running) {
$running_version = $fake_uname_r ? $fake_uname_r : `uname -r`;
chomp($running_version);
($running_flavor = $running_version) =~ s/.*-//;
$running_version =~ s/-[^-]*$//;
(my $release = $running_version) =~ s/.*-//;
$running_version =~ s/-[^-]*$//;
# copied from kernel-source/rpm/mkspec
$running_version =~ s/\.0-rc/.rc/;
$running_version =~ s/-rc\d+//;
$running_version =~ s/-/./g;
$running_version .= "-$release";
my $arch = $fake_uname_m ? $fake_uname_m : `uname -m`;
chomp($arch);
$arch =~ s/^i.86$/i586/;
$running_flavor = "$arch/$running_flavor";
}
my @remove = list_old_packages();
if (!@remove) {
print STDERR "$0: Nothing to do.\n";
exit 0;
}
if (remove_packages(@remove)) {
exit 0;
}
exit 1;
++++++ purge-kernels.service ++++++
[Unit]
Description=Purge old kernels
After=local-fs.target
ConditionPathExists=/boot/do_purge_kernels
ConditionPathIsReadWrite=/
[Service]
Type=oneshot
Nice=19
IOSchedulingClass=idle
ExecStartPre=/bin/rm -f /boot/do_purge_kernels
ExecStart=/sbin/purge-kernels
[Install]
WantedBy=multi-user.target
++++++ s390x_persistent_device.conf ++++++
# Set persistent policy by-path on s390 platforms, to prevent
# the system from hanging during the boot when vDISKs are used
# as swap devices (bsc#915218).
#
# Indeed, they are required to be present early in the boot
# process to possibly resume the system. However, since
# they are cleared after logoff/logon and the UUID will likely
# change after reinitialization, these will not be found with
# the default by-uuid policy.
persistent_policy=by-path
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-30 21:01:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Thu May 30 21:01:59 2019 rev:285 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.0:update_1559202279.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-30 01:00:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Thu May 30 01:00:29 2019 rev:1280 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
openSUSE-MicroOS-dvd5-dvd-x86_64.kiwi: same change
openSUSE-MicroOS-dvd5-kubic-dvd-x86_64.kiwi: same change
openSUSE-cd-mini-i586.kiwi: same change
openSUSE-cd-mini-x86_64.kiwi: same change
openSUSE-dvd5-dvd-i586.kiwi: same change
openSUSE-dvd5-dvd-x86_64.kiwi: same change
openSUSE-ftp-ftp-i586_x86_64.kiwi: same change
stub.kiwi: same change
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.Fc6eVR/_old 2019-05-30 01:00:38.004188244 +0200
+++ /var/tmp/diff_new_pack.Fc6eVR/_new 2019-05-30 01:00:38.008188243 +0200
@@ -6457,7 +6457,7 @@
- leechcraft-lmp-httstream
- leechcraft-lmp-mp3tunes
- leechcraft-lmp-mtpsync
- - leechcraft-lmp-potorchu: [i586]
+ - leechcraft-lmp-potorchu
- leechcraft-lmp-ppl
- leechcraft-mellonetray
- leechcraft-monocle
1
0
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2019-05-30 01:00:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Thu May 30 01:00:16 2019 rev:151 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
openSUSE-MicroOS-release.spec: same change
openSUSE-release.spec: same change
stub.spec: same change
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.WyfurI/_old 2019-05-30 01:00:25.416192933 +0200
+++ /var/tmp/diff_new_pack.WyfurI/_new 2019-05-30 01:00:25.440192924 +0200
@@ -20636,7 +20636,6 @@
Provides: weakremover(kubic-tiller-image)
Provides: weakremover(kubic-velum-image)
Provides: weakremover(lam-32bit)
-Provides: weakremover(leechcraft-lmp-potorchu)
Provides: weakremover(lib96BoardsGPIO0)
Provides: weakremover(libGLEW1_13-32bit)
Provides: weakremover(libGLEW2_0-32bit)
1
0