openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 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
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-29 21:02:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Wed May 29 21:02:09 2019 rev:284 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
42.3:update_1559124360.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-29 21:01:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Wed May 29 21:01:58 2019 rev:283 rq: version:unknown
Wed May 29 21:01:57 2019 rev:282 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.0:update_1559126367.packages.xz
15.1:update_1559123894.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-29 05:01:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Wed May 29 05:01:19 2019 rev:1279 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.F2yhNT/_old 2019-05-29 05:01:22.813571943 +0200
+++ /var/tmp/diff_new_pack.F2yhNT/_new 2019-05-29 05:01:22.813571943 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20190527" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20190528" 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">20190527</productvar>
+ <productvar name="VERSION">20190528</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190527,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190528,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.F2yhNT/_old 2019-05-29 05:01:22.829571938 +0200
+++ /var/tmp/diff_new_pack.F2yhNT/_new 2019-05-29 05:01:22.829571938 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-MicroOS___20190527" schemaversion="4.1">
+<image name="OBS__openSUSE-MicroOS___20190528" 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">20190527</productvar>
+ <productvar name="VERSION">20190528</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190527,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190528,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190527/…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190528/…</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-kubic-dvd-x86_64.kiwi: same change
++++++ openSUSE-cd-mini-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.F2yhNT/_old 2019-05-29 05:01:22.865571925 +0200
+++ /var/tmp/diff_new_pack.F2yhNT/_new 2019-05-29 05:01:22.865571925 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190527" schemaversion="4.1">
+<image name="OBS__openSUSE___20190528" 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">20190527</productvar>
+ <productvar name="VERSION">20190528</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190527,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190528,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/20190527/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190528/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.F2yhNT/_old 2019-05-29 05:01:22.877571921 +0200
+++ /var/tmp/diff_new_pack.F2yhNT/_new 2019-05-29 05:01:22.881571920 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190527" schemaversion="4.1">
+<image name="OBS__openSUSE___20190528" 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">20190527</productvar>
+ <productvar name="VERSION">20190528</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190527,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190528,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/20190527/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190528/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 ++++++
--- /var/tmp/diff_new_pack.F2yhNT/_old 2019-05-29 05:01:22.897571914 +0200
+++ /var/tmp/diff_new_pack.F2yhNT/_new 2019-05-29 05:01:22.897571914 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190527" schemaversion="4.1">
+<image name="OBS__openSUSE___20190528" 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">20190527</productvar>
+ <productvar name="VERSION">20190528</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190527,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190528,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/20190527/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190528/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>
@@ -4130,8 +4130,6 @@
<repopackage name="python2-pyliblzma"/>
<repopackage name="python2-pyOpenSSL"/>
<repopackage name="python2-pyparsing"/>
- <repopackage name="python2-python-dateutil"/>
- <repopackage name="python2-PyYAML"/>
<repopackage name="python2-reportlab"/>
<repopackage name="python2-rpm"/>
<repopackage name="python2-scour"/>
@@ -4340,6 +4338,7 @@
<repopackage name="rsyslog"/>
<repopackage name="rt2860"/>
<repopackage name="rtkit"/>
+ <repopackage name="rtl8812au-kmp-default"/>
<repopackage name="ruby"/>
<repopackage name="ruby-common"/>
<repopackage name="ruby-devel"/>
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.F2yhNT/_old 2019-05-29 05:01:22.917571907 +0200
+++ /var/tmp/diff_new_pack.F2yhNT/_new 2019-05-29 05:01:22.917571907 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190527" schemaversion="4.1">
+<image name="OBS__openSUSE___20190528" 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">20190527</productvar>
+ <productvar name="VERSION">20190528</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190527,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190528,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/20190527/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190528/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>
@@ -4352,8 +4352,6 @@
<repopackage name="python2-pyliblzma"/>
<repopackage name="python2-pyOpenSSL"/>
<repopackage name="python2-pyparsing"/>
- <repopackage name="python2-python-dateutil"/>
- <repopackage name="python2-PyYAML"/>
<repopackage name="python2-reportlab"/>
<repopackage name="python2-rpm"/>
<repopackage name="python2-scour"/>
@@ -4580,6 +4578,7 @@
<repopackage name="rsyslog"/>
<repopackage name="rt2860"/>
<repopackage name="rtkit"/>
+ <repopackage name="rtl8812au-kmp-default"/>
<repopackage name="ruby"/>
<repopackage name="ruby-common"/>
<repopackage name="ruby-devel"/>
++++++ openSUSE-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.F2yhNT/_old 2019-05-29 05:01:22.945571898 +0200
+++ /var/tmp/diff_new_pack.F2yhNT/_new 2019-05-29 05:01:22.949571896 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190527" schemaversion="4.1">
+<image name="OBS__openSUSE___20190528" 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-20190527-i586-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20190528-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">20190527</productvar>
+ <productvar name="VERSION">20190528</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190527,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190528,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/20190527/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190527/x86_64</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="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ dvd.group ++++++
--- /var/tmp/diff_new_pack.F2yhNT/_old 2019-05-29 05:01:23.101571844 +0200
+++ /var/tmp/diff_new_pack.F2yhNT/_new 2019-05-29 05:01:23.101571844 +0200
@@ -4046,7 +4046,6 @@
<package name="python-wxWidgets-3_0-lang" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="python-xml" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="python2-Pillow" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
- <package name="python2-PyYAML" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-osc-devel_osc_build -->
<package name="python2-SecretStorage" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-osc-devel_osc_build -->
<package name="python2-appdirs" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-osc-devel_osc_build -->
<package name="python2-asn1crypto" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-osc-devel_osc_build -->
@@ -4081,7 +4080,6 @@
<package name="python2-pygame" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="python2-pyliblzma" supportstatus="unsupported"/> <!-- reason: dvd:createrepo -->
<package name="python2-pyparsing" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-osc-devel_osc_build -->
- <package name="python2-python-dateutil" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-osc-devel_osc_build -->
<package name="python2-reportlab" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="python2-rpm" supportstatus="unsupported"/> <!-- reason: dvd:createrepo -->
<package name="python2-scour" supportstatus="unsupported"/> <!-- reason: dvd:patterns-desktop-technical_writing -->
@@ -4101,7 +4099,7 @@
<package name="python3-PyHamcrest" supportstatus="unsupported"/> <!-- reason: dvd:salt-master -->
<package name="python3-PyNaCl" supportstatus="unsupported"/> <!-- reason: dvd:salt-master -->
<package name="python3-PySocks" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
- <package name="python3-PyYAML" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-directory_server -->
+ <package name="python3-PyYAML" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-osc-devel_osc_build -->
<package name="python3-Pygments" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde_ide -->
<package name="python3-Twisted" supportstatus="unsupported"/> <!-- reason: dvd:salt-master -->
<package name="python3-apparmor" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
@@ -4184,7 +4182,7 @@
<package name="python3-pyparsing" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="python3-pyserial" supportstatus="unsupported"/> <!-- reason: dvd:salt-master -->
<package name="python3-pysmbc" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
- <package name="python3-python-dateutil" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-directory_server -->
+ <package name="python3-python-dateutil" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-osc-devel_osc_build -->
<package name="python3-pytz" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-directory_server -->
<package name="python3-pyudev" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="python3-pywbem" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
@@ -4289,6 +4287,7 @@
<package name="rsyslog" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="rt2860" supportstatus="unsupported"/> <!-- reason: dvd:rt2860 -->
<package name="rtkit" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
+ <package name="rtl8812au-kmp-default" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="ruby" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="ruby-common" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="ruby-devel" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.F2yhNT/_old 2019-05-29 05:01:23.217571804 +0200
+++ /var/tmp/diff_new_pack.F2yhNT/_new 2019-05-29 05:01:23.217571804 +0200
@@ -6457,6 +6457,7 @@
- leechcraft-lmp-httstream
- leechcraft-lmp-mp3tunes
- leechcraft-lmp-mtpsync
+ - leechcraft-lmp-potorchu: [i586]
- leechcraft-lmp-ppl
- leechcraft-mellonetray
- leechcraft-monocle
@@ -17054,6 +17055,7 @@
- python2-PyWavelets
- python2-PyWebDAV3
- python2-PyX
+ - python2-PyYAML
- python2-Pydap
- python2-Pygments
- python2-Pykka
@@ -18562,6 +18564,7 @@
- python2-python-crfsuite
- python2-python-daemon
- python2-python-datamatrix
+ - python2-python-dateutil
- python2-python-dbusmock
- python2-python-dotenv
- python2-python-editor
@@ -21822,7 +21825,6 @@
- rtl-sdr-devel
- rtl-sdr-udev
- rtl8812au
- - rtl8812au-kmp-default
- rtl8812au-kmp-pae: [i586]
- rtl_433
- rtl_433-devel
@@ -32108,7 +32110,6 @@
- yate
- yate-bts
- yate-devel
- - yate-qt4
- yate-scripts
- yaz
- yaz-doc
1
0
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2019-05-29 05:01:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Wed May 29 05:01:03 2019 rev:150 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.N3HJAR/_old 2019-05-29 05:01:15.737574379 +0200
+++ /var/tmp/diff_new_pack.N3HJAR/_new 2019-05-29 05:01:15.741574378 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20190527)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20190528)
#
# Copyright (c) 2019 openSUSE.
#
@@ -16,16 +16,16 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon
-Version: 20190527
+Version: 20190528
Release: 0
License: BSD-3-Clause
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE-Addon-NonOss
-Provides: product(openSUSE-Addon-NonOss) = 20190527-0
+Provides: product(openSUSE-Addon-NonOss) = 20190528-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190527
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190528
AutoReqProv: on
@@ -49,10 +49,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190527</version>
+ <version>20190528</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190527</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190528</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.N3HJAR/_old 2019-05-29 05:01:15.757574372 +0200
+++ /var/tmp/diff_new_pack.N3HJAR/_new 2019-05-29 05:01:15.761574371 +0200
@@ -17,7 +17,7 @@
Name: openSUSE-MicroOS-release
-Version: 20190527
+Version: 20190528
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) = 20190527-0
+Provides: product(openSUSE-MicroOS) = 20190528-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190527
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190528
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) = 20190527-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190528-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) = 20190527-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190528-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) = 20190527-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190528-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) = 20190527-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190528-0
Summary: openSUSE MicroOS
%description appliance-kubic
@@ -164,11 +164,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-MicroOS</name>
- <version>20190527</version>
+ <version>20190528</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-microos:20190527</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-microos:20190528</cpeid>
<productline>openSUSE-MicroOS</productline>
<register>
<pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.N3HJAR/_old 2019-05-29 05:01:15.777574365 +0200
+++ /var/tmp/diff_new_pack.N3HJAR/_new 2019-05-29 05:01:15.781574364 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20190527
+Version: 20190528
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}) < 20190527
+Obsoletes: product_flavor(%{product}) < 20190528
# 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) = 20190527-0
+Provides: product(openSUSE) = 20190528-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%3A20190527
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190528
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) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-0
Summary: openSUSE Tumbleweed
%description ftp
@@ -226,7 +226,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-0
Summary: openSUSE Tumbleweed
%description mini
@@ -241,7 +241,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-0
Summary: openSUSE Tumbleweed
%description dvd
@@ -256,7 +256,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-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) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-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) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-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) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-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) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-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) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-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) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-0
Summary: openSUSE Tumbleweed
%description usb-x11
@@ -361,7 +361,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20190527-0
+Provides: product_flavor(openSUSE) = 20190528-0
Summary: openSUSE Tumbleweed
%description appliance
@@ -435,10 +435,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190527</version>
+ <version>20190528</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20190527</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20190528</cpeid>
<productline>openSUSE</productline>
<register>
<pool>
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.N3HJAR/_old 2019-05-29 05:01:15.897574323 +0200
+++ /var/tmp/diff_new_pack.N3HJAR/_new 2019-05-29 05:01:15.901574323 +0200
@@ -6070,7 +6070,6 @@
Provides: weakremover(python-configobj)
Provides: weakremover(python-cov-core)
Provides: weakremover(python-cryptopp)
-Provides: weakremover(python-demjson)
Provides: weakremover(python-dib-utils)
Provides: weakremover(python-distutils-extra)
Provides: weakremover(python-dockerpty)
@@ -6082,7 +6081,6 @@
Provides: weakremover(python-gstreamer-0_10)
Provides: weakremover(python-gstreamer-0_10-devel)
Provides: weakremover(python-iniparse)
-Provides: weakremover(python-iso8601)
Provides: weakremover(python-itsdangerous)
Provides: weakremover(python-jsonpath-rw)
Provides: weakremover(python-jupyter_core-doc-html)
@@ -6103,7 +6101,6 @@
Provides: weakremover(python-matplotlib-tk)
Provides: weakremover(python-matplotlib-web)
Provides: weakremover(python-matplotlib-wx)
-Provides: weakremover(python-ndg-httpsclient)
Provides: weakremover(python-nose-cover3)
Provides: weakremover(python-numpy-doc-html)
Provides: weakremover(python-oauth2client-django)
@@ -6116,9 +6113,6 @@
Provides: weakremover(python-psycopg2-doc)
Provides: weakremover(python-pyBarcode)
Provides: weakremover(python-pyPEG2)
-Provides: weakremover(python-pycha)
-Provides: weakremover(python-pydotplus)
-Provides: weakremover(python-pyinotify)
Provides: weakremover(python-pylint)
Provides: weakremover(python-pyparsing-doc)
Provides: weakremover(python-pyrrd)
@@ -6134,7 +6128,6 @@
Provides: weakremover(python-simplegeneric)
Provides: weakremover(python-slimit)
Provides: weakremover(python-smmap)
-Provides: weakremover(python-socketpool)
Provides: weakremover(python-sphinxcontrib-docbookrestapi)
Provides: weakremover(python-suds-jurko)
Provides: weakremover(python-termcolor)
@@ -6943,7 +6936,6 @@
Provides: weakremover(python-GeoIP)
Provides: weakremover(python-Levenshtein)
Provides: weakremover(python-blist)
-Provides: weakremover(python-cdecimal)
Provides: weakremover(python-cracklib)
Provides: weakremover(python-crcmod)
Provides: weakremover(python-deltarpm)
@@ -7931,6 +7923,7 @@
Provides: weakremover(python-appdirs)
Provides: weakremover(python-blinker)
Provides: weakremover(python-fasteners)
+Provides: weakremover(python-ndg-httpsclient)
Provides: weakremover(python-snowballstemmer)
Provides: weakremover(python-sphinxcontrib)
Provides: weakremover(python-uritemplate)
@@ -13102,7 +13095,6 @@
Provides: weakremover(lash-devel)
Provides: weakremover(laszip-test)
Provides: weakremover(lcms)
-Provides: weakremover(leechcraft-lmp-potorchu)
Provides: weakremover(lentil)
Provides: weakremover(lessons4lizards_en)
Provides: weakremover(letshelp-certbot)
@@ -15563,7 +15555,6 @@
Provides: weakremover(python-cliff-tablib)
Provides: weakremover(python-cloudfiles)
Provides: weakremover(python-cly)
-Provides: weakremover(python-configparser2)
Provides: weakremover(python-configshell)
Provides: weakremover(python-configshell-doc)
Provides: weakremover(python-configshell-fb)
@@ -20645,6 +20636,7 @@
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
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-28 21:02:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Tue May 28 21:02:34 2019 rev:281 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
42.3:update_1559023621.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-28 21:02:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Tue May 28 21:02:24 2019 rev:280 rq: version:unknown
Tue May 28 21:02:23 2019 rev:279 rq: version:unknown
Tue May 28 21:02:16 2019 rev:278 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.0:update_1559067867.packages.xz
15.1:update_1559023378.packages.xz
factory:non-oss_1275.3.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-28 21:02:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Tue May 28 21:02:15 2019 rev:277 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory_20190527.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-28 09:44:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Tue May 28 09:44:12 2019 rev:1278 rq: version:unknown
Tue May 28 09:44:10 2019 rev:1277 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
++++++ openSUSE-MicroOS.product ++++++
--- /var/tmp/diff_new_pack.4sP8dt/_old 2019-05-28 09:44:20.081822072 +0200
+++ /var/tmp/diff_new_pack.4sP8dt/_new 2019-05-28 09:44:20.081822072 +0200
@@ -6,7 +6,7 @@
<name>openSUSE-MicroOS</name>
<releasepkgname>openSUSE-MicroOS-release</releasepkgname>
<endoflife/>
- <version>20190527</version>
+ <version>20190528</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>openSUSE-MicroOS</productline>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.4sP8dt/_old 2019-05-28 09:44:20.101822064 +0200
+++ /var/tmp/diff_new_pack.4sP8dt/_new 2019-05-28 09:44:20.101822064 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190527</version>
+ <version>20190528</version>
<release>0</release>
<productline>openSUSE</productline>
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-28 09:44:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Tue May 28 09:44:08 2019 rev:1276 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
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.msEb1L/_old 2019-05-28 09:44:17.741822881 +0200
+++ /var/tmp/diff_new_pack.msEb1L/_new 2019-05-28 09:44:17.741822881 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190527</version>
+ <version>20190528</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
1
0
Hello community,
here is the log from the commit of package libpmemobj-cpp for openSUSE:Factory checked in at 2019-05-28 09:44:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libpmemobj-cpp (Old)
and /work/SRC/openSUSE:Factory/.libpmemobj-cpp.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libpmemobj-cpp"
Tue May 28 09:44:04 2019 rev:3 rq:705791 version:1.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/libpmemobj-cpp/libpmemobj-cpp.changes 2019-02-08 12:11:18.821516260 +0100
+++ /work/SRC/openSUSE:Factory/.libpmemobj-cpp.new.5148/libpmemobj-cpp.changes 2019-05-28 09:44:04.861827340 +0200
@@ -1,0 +2,6 @@
+Mon May 13 08:12:29 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
+
+- Update to version 1.6 (jsc#6358)
+ - See ChangeLog for the complete change list
+
+-------------------------------------------------------------------
Old:
----
1.5.tar.gz
New:
----
1.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libpmemobj-cpp.spec ++++++
--- /var/tmp/diff_new_pack.bbVzsT/_old 2019-05-28 09:44:05.733827038 +0200
+++ /var/tmp/diff_new_pack.bbVzsT/_new 2019-05-28 09:44:05.737827036 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -21,10 +21,10 @@
Summary: C++ bindings for libpmemobj
License: BSD-3-Clause
Group: Development/Libraries/C and C++
-Version: 1.5
+Version: 1.6
Release: 0
URL: http://pmem.io/pmdk/
-Source: https://github.com/pmem/libpmemobj-cpp/archive/1.5.tar.gz
+Source: https://github.com/pmem/libpmemobj-cpp/archive/%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cmake
BuildRequires: gcc-c++
@@ -69,7 +69,8 @@
%cmake_install
%files devel
-%doc LICENSE
+%license LICENSE
+%doc ChangeLog
%_includedir/libpmemobj++/
%_libdir/libpmemobj++/
++++++ 1.5.tar.gz -> 1.6.tar.gz ++++++
++++ 85997 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package flashfocus for openSUSE:Factory checked in at 2019-05-28 09:44:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/flashfocus (Old)
and /work/SRC/openSUSE:Factory/.flashfocus.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "flashfocus"
Tue May 28 09:44:00 2019 rev:7 rq:705778 version:1.2.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/flashfocus/flashfocus.changes 2019-02-01 11:47:05.592450950 +0100
+++ /work/SRC/openSUSE:Factory/.flashfocus.new.5148/flashfocus.changes 2019-05-28 09:44:03.137827937 +0200
@@ -1,0 +2,14 @@
+Tue May 28 06:33:34 UTC 2019 - mvetter(a)suse.com
+
+- Update to 1.2.7:
+ * Added support for marshmallow v3 which is in prerelease
+ * Set windows to default opacity even if they're not flashed (#25)
+
+-------------------------------------------------------------------
+Mon May 27 05:51:23 UTC 2019 - mvetter(a)suse.com
+
+- Update to 1.2.5:
+ * Stopped using the deprecated inspect.getargspec API in python3
+ * Bug fix (issue #25)
+
+-------------------------------------------------------------------
Old:
----
v1.2.1.tar.gz
New:
----
v1.2.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ flashfocus.spec ++++++
--- /var/tmp/diff_new_pack.VQsabr/_old 2019-05-28 09:44:04.625827422 +0200
+++ /var/tmp/diff_new_pack.VQsabr/_new 2019-05-28 09:44:04.629827420 +0200
@@ -17,7 +17,7 @@
Name: flashfocus
-Version: 1.2.1
+Version: 1.2.7
Release: 0
Summary: Focus animations for tiling window managers
License: MIT
++++++ v1.2.1.tar.gz -> v1.2.7.tar.gz ++++++
/work/SRC/openSUSE:Factory/flashfocus/v1.2.1.tar.gz /work/SRC/openSUSE:Factory/.flashfocus.new.5148/v1.2.7.tar.gz differ: char 12, line 1
1
0
Hello community,
here is the log from the commit of package lollypop for openSUSE:Factory checked in at 2019-05-28 09:43:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lollypop (Old)
and /work/SRC/openSUSE:Factory/.lollypop.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lollypop"
Tue May 28 09:43:56 2019 rev:83 rq:705735 version:1.0.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/lollypop/lollypop.changes 2019-05-20 13:18:32.359906375 +0200
+++ /work/SRC/openSUSE:Factory/.lollypop.new.5148/lollypop.changes 2019-05-28 09:44:00.829828735 +0200
@@ -1,0 +2,12 @@
+Tue May 28 05:31:01 UTC 2019 - antoine.belvire(a)opensuse.org
+
+- Update to version 1.0.12:
+ * Prevent view change upon song rate (glgo#World/lollypop#1826).
+ * Prevent scrollbar to be hidden by artist banner
+ (glgo#World/lollypop#1822).
+ * Fix a crash upon click on artist name
+ (glgo#World/lollypop#1821).
+ * Prevent application notifications to pop out of the window
+ (glgo#World/lollypop#1820).
+
+-------------------------------------------------------------------
Old:
----
lollypop-1.0.11.tar.xz
New:
----
lollypop-1.0.12.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lollypop.spec ++++++
--- /var/tmp/diff_new_pack.GV9BsT/_old 2019-05-28 09:44:01.665828446 +0200
+++ /var/tmp/diff_new_pack.GV9BsT/_new 2019-05-28 09:44:01.665828446 +0200
@@ -17,7 +17,7 @@
Name: lollypop
-Version: 1.0.11
+Version: 1.0.12
Release: 0
Summary: GNOME music playing application
License: GPL-3.0-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.GV9BsT/_old 2019-05-28 09:44:01.701828434 +0200
+++ /var/tmp/diff_new_pack.GV9BsT/_new 2019-05-28 09:44:01.701828434 +0200
@@ -1,7 +1,7 @@
<services>
<service mode="disabled" name="tar_scm">
<param name="changesgenerate">enable</param>
- <param name="revision">1.0.11</param>
+ <param name="revision">1.0.12</param>
<param name="scm">git</param>
<param name="url">https://gitlab.gnome.org/World/lollypop.git</param>
<param name="versionformat">@PARENT_TAG@</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.GV9BsT/_old 2019-05-28 09:44:01.717828428 +0200
+++ /var/tmp/diff_new_pack.GV9BsT/_new 2019-05-28 09:44:01.721828427 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://gitlab.gnome.org/World/lollypop.git</param>
- <param name="changesrevision">45682b183defe9b7c8c707fe6b6c290460513045</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">fdcb83e6a3dbd7afa9c479490d124d6603dbc7df</param></service></servicedata>
\ No newline at end of file
++++++ lollypop-1.0.11.tar.xz -> lollypop-1.0.12.tar.xz ++++++
++++ 1887 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package spdlog for openSUSE:Factory checked in at 2019-05-28 09:43:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/spdlog (Old)
and /work/SRC/openSUSE:Factory/.spdlog.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spdlog"
Tue May 28 09:43:52 2019 rev:8 rq:705730 version:1.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/spdlog/spdlog.changes 2019-04-17 10:10:22.158914153 +0200
+++ /work/SRC/openSUSE:Factory/.spdlog.new.5148/spdlog.changes 2019-05-28 09:43:54.261831009 +0200
@@ -1,0 +2,5 @@
+Mon May 27 06:11:03 UTC 2019 - Dead Mozay <dead_mozay(a)opensuse.org>
+
+- Added additional building options
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ spdlog.spec ++++++
--- /var/tmp/diff_new_pack.WrcylL/_old 2019-05-28 09:43:54.981830760 +0200
+++ /var/tmp/diff_new_pack.WrcylL/_new 2019-05-28 09:43:54.985830758 +0200
@@ -31,6 +31,8 @@
%else
BuildRequires: gcc8-c++
%endif
+BuildRequires: gcc
+BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: pkgconfig(fmt)
@@ -57,11 +59,17 @@
%build
export CXX=g++
test -x "$(type -p g++-8)" && export CXX=g++-8
-%cmake -DSPDLOG_FMT_EXTERNAL=ON
-%make_jobs
+%cmake -G Ninja \
+ -DSPDLOG_BUILD_TESTS=ON \
+ -DSPDLOG_BUILD_BENCH=OFF \
+ -DSPDLOG_FMT_EXTERNAL=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DSPDLOG_BUILD_EXAMPLES=OFF \
+..
+%ninja_build
%install
-%cmake_install
+%ninja_install -C build
%check
%ctest
1
0
Hello community,
here is the log from the commit of package jupyter-jupyterlab-widgets for openSUSE:Factory checked in at 2019-05-28 09:43:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jupyter-jupyterlab-widgets (Old)
and /work/SRC/openSUSE:Factory/.jupyter-jupyterlab-widgets.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jupyter-jupyterlab-widgets"
Tue May 28 09:43:49 2019 rev:2 rq:705712 version:0.6.15
Changes:
--------
--- /work/SRC/openSUSE:Factory/jupyter-jupyterlab-widgets/jupyter-jupyterlab-widgets.changes 2019-05-22 11:06:23.490589831 +0200
+++ /work/SRC/openSUSE:Factory/.jupyter-jupyterlab-widgets.new.5148/jupyter-jupyterlab-widgets.changes 2019-05-28 09:43:49.969832495 +0200
@@ -1,0 +2,5 @@
+Mon May 27 21:31:58 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Fix jupyter lab extensions directory
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jupyter-jupyterlab-widgets.spec ++++++
--- /var/tmp/diff_new_pack.dQxwvf/_old 2019-05-28 09:43:50.629832266 +0200
+++ /var/tmp/diff_new_pack.dQxwvf/_new 2019-05-28 09:43:50.633832265 +0200
@@ -59,11 +59,13 @@
%install
pip%{python3_bin_suffix} install --root=%{buildroot} %{SOURCE0}
+mkdir -p %{buildroot}%{_jupyter_lab_dir}
+mv %{buildroot}%{_jupyter_prefix}/labextensions %{buildroot}%{_jupyter_labextensions_dir}
%{fdupes %{buildroot}%{_jupyter_prefix} %{buildroot}%{python3_sitelib}}
%files
%license COPYING.md LICENSE
-%{_jupyter_prefix}/labextensions/jupyterlab_widgets/
+%{_jupyter_labextensions_dir}/jupyterlab_widgets/
%{python3_sitelib}/jupyterlab_widgets-%{version}.dist-info
%{python3_sitelib}/jupyterlab_widgets/
1
0
Hello community,
here is the log from the commit of package python-hetzner for openSUSE:Factory checked in at 2019-05-28 09:43:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-hetzner (Old)
and /work/SRC/openSUSE:Factory/.python-hetzner.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-hetzner"
Tue May 28 09:43:39 2019 rev:3 rq:705707 version:0.8.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-hetzner/python-hetzner.changes 2019-03-05 12:23:32.960873863 +0100
+++ /work/SRC/openSUSE:Factory/.python-hetzner.new.5148/python-hetzner.changes 2019-05-28 09:43:46.877833565 +0200
@@ -1,0 +2,9 @@
+Mon May 27 19:31:07 UTC 2019 - Martin Hauke <mardnh(a)gmx.de>
+
+- Update to version 0.8.2
+ * RobotWebInterface: Fix login by using CSRF token
+ * server: Fix fetching rescue system information
+ * Expose server power state and reset options
+ * Properly encode non-scalar values in API requests
+
+-------------------------------------------------------------------
Old:
----
python-hetzner-0.8.1.tar.gz
New:
----
python-hetzner-0.8.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-hetzner.spec ++++++
--- /var/tmp/diff_new_pack.lVxQ2C/_old 2019-05-28 09:43:48.469833014 +0200
+++ /var/tmp/diff_new_pack.lVxQ2C/_new 2019-05-28 09:43:48.469833014 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-hetzner
-Version: 0.8.1
+Version: 0.8.2
Release: 0
Summary: High level access to the Hetzner robot
License: BSD-2-Clause
++++++ python-hetzner-0.8.1.tar.gz -> python-hetzner-0.8.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hetzner-0.8.1/hetzner/robot.py new/hetzner-0.8.2/hetzner/robot.py
--- old/hetzner-0.8.1/hetzner/robot.py 2018-09-19 14:12:45.000000000 +0200
+++ new/hetzner-0.8.2/hetzner/robot.py 2019-05-27 19:10:15.000000000 +0200
@@ -1,3 +1,4 @@
+import re
import json
import logging
@@ -23,6 +24,10 @@
ROBOT_WEBHOST = "robot.your-server.de"
ROBOT_LOGINHOST = "accounts.hetzner.com"
+RE_CSRF_TOKEN = re.compile(
+ r'<input[^>]*?name="_csrf_token"[^>]*?value="([^">]+)"'
+)
+
__all__ = ['Robot', 'RobotConnection', 'RobotWebInterface', 'ServerManager']
@@ -156,7 +161,14 @@
raise WebRobotError("Invalid status code {0} while visiting login"
" page".format(response.status))
- data = urlencode({'_username': self.user, '_password': self.passwd})
+ # Find the CSRF token
+ haystack = response.read()
+ token = RE_CSRF_TOKEN.search(str(haystack))
+ if token is None:
+ raise WebRobotError("Unable to find CSRF token for login form")
+
+ data = urlencode({'_username': self.user, '_password': self.passwd,
+ '_csrf_token': token.group(1)})
self.logger.debug("Logging in to auth site with user %s.", self.user)
# Again, we need to reconnect here.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hetzner-0.8.1/setup.py new/hetzner-0.8.2/setup.py
--- old/hetzner-0.8.1/setup.py 2018-09-19 14:12:45.000000000 +0200
+++ new/hetzner-0.8.2/setup.py 2019-05-27 19:10:15.000000000 +0200
@@ -32,7 +32,7 @@
setup(name='hetzner',
- version='0.8.1',
+ version='0.8.2',
description='High level access to the Hetzner robot',
url='https://github.com/aszlig/hetzner',
author='aszlig',
1
0
Hello community,
here is the log from the commit of package v4l2loopback for openSUSE:Factory checked in at 2019-05-28 09:43:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/v4l2loopback (Old)
and /work/SRC/openSUSE:Factory/.v4l2loopback.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "v4l2loopback"
Tue May 28 09:43:35 2019 rev:7 rq:705704 version:0.12.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/v4l2loopback/v4l2loopback.changes 2019-05-24 11:33:08.165372507 +0200
+++ /work/SRC/openSUSE:Factory/.v4l2loopback.new.5148/v4l2loopback.changes 2019-05-28 09:43:37.949836655 +0200
@@ -1,0 +2,11 @@
+Mon May 27 18:55:53 UTC 2019 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Update to version 0.12.2
+ * Fixed compat with kernel 5.0
+ * Replace v4l2_get_timestamp with ktime_get_ts(64) for
+ linux-5.1 compat
+
+- Dropped v4l2loopback-no_deprecated_function.patch (merged
+ upstream)
+
+-------------------------------------------------------------------
Old:
----
v4l2loopback-0.12.1.tar.gz
v4l2loopback-no_deprecated_function.patch
New:
----
v4l2loopback-0.12.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ v4l2loopback.spec ++++++
--- /var/tmp/diff_new_pack.Ka1rtf/_old 2019-05-28 09:43:38.565836442 +0200
+++ /var/tmp/diff_new_pack.Ka1rtf/_new 2019-05-28 09:43:38.569836441 +0200
@@ -17,7 +17,7 @@
Name: v4l2loopback
-Version: 0.12.1
+Version: 0.12.2
Release: 0
Summary: A kernel module to create V4L2 loopback devices
License: GPL-2.0-or-later
@@ -25,8 +25,6 @@
URL: https://github.com/umlaeute/v4l2loopback
Source: https://github.com/umlaeute/v4l2loopback/archive/v%{version}.tar.gz#/%{name…
Source1: preamble
-# PATCH-FIX-UPSTREAM v4l2loopback-no_deprecated_function.patch
-Patch0: v4l2loopback-no_deprecated_function.patch
BuildRequires: %{kernel_module_package_buildreqs}
BuildRequires: gcc
BuildRequires: help2man
@@ -49,7 +47,6 @@
%prep
%setup -q
-%patch0 -p1
set -- *
mkdir source
mv "$@" source/
++++++ v4l2loopback-0.12.1.tar.gz -> v4l2loopback-0.12.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/v4l2loopback-0.12.1/AUTHORS new/v4l2loopback-0.12.2/AUTHORS
--- old/v4l2loopback-0.12.1/AUTHORS 2019-01-23 22:03:43.000000000 +0100
+++ new/v4l2loopback-0.12.2/AUTHORS 2019-05-27 20:35:32.000000000 +0200
@@ -20,8 +20,10 @@
Stefan Diewald <stefan.diewald AT mytum DOT de>
Tasos Sahanidis <tasos AT tasossah DOT com>
Ted Mielczarek <ted AT mielczarek DOT org>
+Theodore Cipicchio <okready AT github>
Todor Minchev <todor.minchev AT linux DOT intel DOT com>
tz
Vasily Levin
WaleedTageldeen <waleed.tageldeen AT gmail DOT com>
+wuweixin <wuweixin AT gmail DOT com>
Yusuke Ohshima <git AT yukke DOT org>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/v4l2loopback-0.12.1/ChangeLog new/v4l2loopback-0.12.2/ChangeLog
--- old/v4l2loopback-0.12.1/ChangeLog 2019-01-23 22:03:43.000000000 +0100
+++ new/v4l2loopback-0.12.2/ChangeLog 2019-05-27 20:35:32.000000000 +0200
@@ -1,3 +1,17 @@
+v4l2loopback (0.12.2) unstable; urgency=medium
+
+ [ wuweixin ]
+ * Update README.md
+
+ [ Theodore Cipicchio ]
+ * Replace v4l2_get_timestamp with ktime_get_ts(64)
+
+ [ IOhannes m zmölnig ]
+ * Mention support for 5.0.0
+ * Fix typo
+
+ -- IOhannes m zmölnig (Debian/GNU) <umlaeute(a)debian.org> Mon, 27 May 2019 20:32:08 +0200
+
v4l2loopback (0.12.1) unstable; urgency=medium
[ IOhannes m zmölnig ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/v4l2loopback-0.12.1/NEWS new/v4l2loopback-0.12.2/NEWS
--- old/v4l2loopback-0.12.1/NEWS 2019-01-23 22:03:43.000000000 +0100
+++ new/v4l2loopback-0.12.2/NEWS 2019-05-27 20:35:32.000000000 +0200
@@ -1,6 +1,7 @@
v4l2loopback-0.12.1
* Fixed compat with kernel 5.0
+ * Replace v4l2_get_timestamp with ktime_get_ts(64) for linux-5.1 compat
-- IOhannes m zmölnig <zmoelnig(a)umlaeute.mur.at> Mon, 02 Jul 2018 12:27:29 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/v4l2loopback-0.12.1/README.md new/v4l2loopback-0.12.2/README.md
--- old/v4l2loopback-0.12.1/README.md 2019-01-23 22:03:43.000000000 +0100
+++ new/v4l2loopback-0.12.2/README.md 2019-05-27 20:35:32.000000000 +0200
@@ -131,7 +131,7 @@
# FORCING A GSTREAMER (1.0) CAPS
- $ v4l2loopback-ctl set-caps "video/x-raw,forum=UYVY,width=640,height=480" /dev/video0
+ $ v4l2loopback-ctl set-caps "video/x-raw,format=UYVY,width=640,height=480" /dev/video0
# SETTING STREAM TIMEOUT
~~~
@@ -149,6 +149,7 @@
newer kernels being continually tested as they enter Debian.
support:
+- >= <kbd>5.0.0</kbd> should work
- >= <kbd>4.0.0</kbd> should work
- >= <kbd>3.0.0</kbd> might work
- << <kbd>3.0.0</kbd> may work (has not been tested in ages)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/v4l2loopback-0.12.1/dkms.conf new/v4l2loopback-0.12.2/dkms.conf
--- old/v4l2loopback-0.12.1/dkms.conf 2019-01-23 22:03:43.000000000 +0100
+++ new/v4l2loopback-0.12.2/dkms.conf 2019-05-27 20:35:32.000000000 +0200
@@ -1,5 +1,5 @@
PACKAGE_NAME="v4l2loopback"
-PACKAGE_VERSION="0.12.1"
+PACKAGE_VERSION="0.12.2"
# Items below here should not have to change with each driver version
MAKE[0]="make KERNEL_DIR=${kernel_source_dir} all"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/v4l2loopback-0.12.1/release.sh new/v4l2loopback-0.12.2/release.sh
--- old/v4l2loopback-0.12.1/release.sh 2019-01-23 22:03:43.000000000 +0100
+++ new/v4l2loopback-0.12.2/release.sh 2019-05-27 20:35:32.000000000 +0200
@@ -74,7 +74,7 @@
if dpkg --compare-versions ${OLDVERSION} ge ${NEWVERSION}
then
- fatal "version mismatch: ${NEWVErSION} is not newer than ${OLDVERSION}"
+ fatal "version mismatch: ${NEWVERSION} is not newer than ${OLDVERSION}"
fi
echo "updating to ${NEWVERSION}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/v4l2loopback-0.12.1/v4l2loopback.c new/v4l2loopback-0.12.2/v4l2loopback.c
--- old/v4l2loopback-0.12.1/v4l2loopback.c 2019-01-23 22:03:43.000000000 +0100
+++ new/v4l2loopback-0.12.2/v4l2loopback.c 2019-05-27 20:35:32.000000000 +0200
@@ -40,7 +40,7 @@
#define HAVE_TIMER_SETUP
#endif
-#define V4L2LOOPBACK_VERSION_CODE KERNEL_VERSION(0, 12, 1)
+#define V4L2LOOPBACK_VERSION_CODE KERNEL_VERSION(0, 12, 2)
MODULE_DESCRIPTION("V4L2 loopback video device");
MODULE_AUTHOR("Vasily Levin, " \
@@ -134,6 +134,20 @@
# define v4l2l_vzalloc vzalloc
#endif
+static inline void v4l2l_get_timestamp(struct timeval *tv) {
+ /* ktime_get_ts is considered deprecated, so use ktime_get_ts64 if possible */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+ struct timespec ts;
+ ktime_get_ts(&ts);
+#else
+ struct timespec64 ts;
+ ktime_get_ts64(&ts);
+#endif
+
+ tv->tv_sec = (time_t)ts.tv_sec;
+ tv->tv_usec = (suseconds_t)(ts.tv_nsec / NSEC_PER_USEC);
+}
+
/* module constants
* can be overridden during he build process using something like
@@ -1506,7 +1520,7 @@
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
dprintkrw("output QBUF pos: %d index: %d\n", dev->write_position, index);
if (buf->timestamp.tv_sec == 0 && buf->timestamp.tv_usec == 0)
- v4l2_get_timestamp(&b->buffer.timestamp);
+ v4l2l_get_timestamp(&b->buffer.timestamp);
else
b->buffer.timestamp = buf->timestamp;
b->buffer.bytesused = buf->bytesused;
@@ -1933,7 +1947,7 @@
count);
return -EFAULT;
}
- v4l2_get_timestamp(&b->timestamp);
+ v4l2l_get_timestamp(&b->timestamp);
b->bytesused = count;
b->sequence = dev->write_position;
buffer_written(dev, &dev->buffers[write_index]);
@@ -2038,7 +2052,7 @@
b->timestamp.tv_usec = 0;
b->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
- v4l2_get_timestamp(&b->timestamp);
+ v4l2l_get_timestamp(&b->timestamp);
}
dev->timeout_image_buffer = dev->buffers[0];
dev->timeout_image_buffer.buffer.m.offset = MAX_BUFFERS * buffer_size;
1
0
Hello community,
here is the log from the commit of package R-rlang for openSUSE:Factory checked in at 2019-05-28 09:43:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/R-rlang (Old)
and /work/SRC/openSUSE:Factory/.R-rlang.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "R-rlang"
Tue May 28 09:43:29 2019 rev:2 rq:705700 version:0.3.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/R-rlang/R-rlang.changes 2019-03-05 12:18:47.720960855 +0100
+++ /work/SRC/openSUSE:Factory/.R-rlang.new.5148/R-rlang.changes 2019-05-28 09:43:31.553838869 +0200
@@ -1,0 +2,10 @@
+Mon May 27 11:59:37 UTC 2019 - Pierre Bonamy <flyos(a)mailoo.org>
+
+- Update to 0.3.4
+
+-------------------------------------------------------------------
+Fri Feb 8 20:17:28 UTC 2019 - Pierre Bonamy <flyos(a)mailoo.org>
+
+- Update to 0.3.1
+
+-------------------------------------------------------------------
Old:
----
rlang_0.3.0.1.tar.gz
New:
----
rlang_0.3.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ R-rlang.spec ++++++
--- /var/tmp/diff_new_pack.ADuj6E/_old 2019-05-28 09:43:32.369838587 +0200
+++ /var/tmp/diff_new_pack.ADuj6E/_new 2019-05-28 09:43:32.373838585 +0200
@@ -1,7 +1,7 @@
#
# spec file for package R-rlang
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,20 +19,21 @@
%global packname rlang
%global rlibdir %{_libdir}/R/library
Name: R-%{packname}
-Version: 0.3.0.1
+Version: 0.3.4
Release: 0
Summary: Functions for Base Types and Core R and 'Tidyverse' Features
License: GPL-3.0-only
Group: Development/Libraries/Other
-URL: https://cran.r-project.org/package=%{packname}
-Source: https://cran.r-project.org/src/contrib/%{packname}_%{version}.tar.gz
-BuildRequires: R-base-devel >= 3.1.0
+URL: http://cran.r-project.org/web/packages/%{packname}
+Source: http://cran.r-project.org/src/contrib/%{packname}_%{version}.tar.gz
+BuildRequires: R-base-devel
BuildRequires: fdupes
+BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: texinfo
BuildRequires: texlive
-Requires: R-base >= 3.1.0
+Requires: R-base
%description
A toolbox for working with base types, core R features like the condition
@@ -42,7 +43,6 @@
%setup -q -c -n %{packname}
%build
-#Not needed
%install
mkdir -p %{buildroot}%{rlibdir}
@@ -50,16 +50,17 @@
test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so)
rm -f %{buildroot}%{rlibdir}/R.css
+
%files
%dir %{rlibdir}/%{packname}
-%doc %{rlibdir}/%{packname}/html/
-%doc %{rlibdir}/%{packname}/DESCRIPTION
-%doc %{rlibdir}/%{packname}/NEWS.md
-%{rlibdir}/%{packname}/INDEX
-%{rlibdir}/%{packname}/NAMESPACE
-%{rlibdir}/%{packname}/Meta/
-%{rlibdir}/%{packname}/R/
-%{rlibdir}/%{packname}/help/
-%{rlibdir}/%{packname}/libs/
+%doc %{rlibdir}/rlang/html
+%{rlibdir}/rlang/libs
+%{rlibdir}/rlang/Meta
+%{rlibdir}/rlang/INDEX
+%{rlibdir}/rlang/NAMESPACE
+%{rlibdir}/rlang/DESCRIPTION
+%{rlibdir}/rlang/R
+%{rlibdir}/rlang/help
+%{rlibdir}/rlang/NEWS.md
%changelog
++++++ rlang_0.3.0.1.tar.gz -> rlang_0.3.4.tar.gz ++++++
++++ 8925 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-sh for openSUSE:Factory checked in at 2019-05-28 09:43:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sh (Old)
and /work/SRC/openSUSE:Factory/.python-sh.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sh"
Tue May 28 09:43:24 2019 rev:6 rq:705683 version:1.12.14
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sh/python-sh.changes 2019-02-02 21:50:08.947934047 +0100
+++ /work/SRC/openSUSE:Factory/.python-sh.new.5148/python-sh.changes 2019-05-28 09:43:26.137840744 +0200
@@ -1,0 +2,7 @@
+Mon May 27 11:59:53 UTC 2019 - Alberto Planas Dominguez <aplanas(a)suse.com>
+
+- Add patches to fix some tests:
+ * fix-test_signal_group.diff
+ * fix-test_general_signal.diff (bsc#1120329)
+
+-------------------------------------------------------------------
New:
----
fix-test_general_signal.diff
fix-test_signal_group.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sh.spec ++++++
--- /var/tmp/diff_new_pack.3Sp4Vy/_old 2019-05-28 09:43:26.921840473 +0200
+++ /var/tmp/diff_new_pack.3Sp4Vy/_new 2019-05-28 09:43:26.921840473 +0200
@@ -29,6 +29,8 @@
Patch1: no-coverage.patch
Patch2: 0001-Fix-tests-for-the-drop-the-unversion-python.patch
Patch3: pep-0538-test-fix.patch
+Patch4: fix-test_signal_group.diff
+Patch5: fix-test_general_signal.diff
BuildRequires: %{python_module setuptools}
BuildRequires: python-rpm-macros
BuildArch: noarch
++++++ fix-test_general_signal.diff ++++++
Index: sh-1.12.14/test.py
===================================================================
--- sh-1.12.14.orig/test.py
+++ sh-1.12.14/test.py
@@ -1374,10 +1374,9 @@ for i in range(5):
self.assertTrue("4" not in stdout)
def test_general_signal(self):
- import signal
from signal import SIGINT
- py = create_tmp_test("""
+ py = create_tmp_test(r"""
import sys
import os
import time
@@ -1386,7 +1385,7 @@ import signal
def sig_handler(sig, frame):
print(10)
exit(0)
-
+
signal.signal(signal.SIGINT, sig_handler)
for i in range(5):
@@ -1403,7 +1402,7 @@ for i in range(5):
process.signal(SIGINT)
return True
- p = python(py.name, _out=agg, _tee=True)
+ p = python('-u', py.name, _out=agg, _tee=True)
p.wait()
self.assertEqual(p.process.exit_code, 0)
++++++ fix-test_signal_group.diff ++++++
Index: sh-1.12.14/test.py
===================================================================
--- sh-1.12.14.orig/test.py
+++ sh-1.12.14/test.py
@@ -1,4 +1,4 @@
-# -*- coding: utf8 -*-
+# -*- coding: utf-8 -*-
import sys
import os
@@ -2048,7 +2048,8 @@ time.sleep(3)
""")
parent = create_tmp_test("""
-import sys
+import os, sys
+sys.path.insert(0, os.getcwd())
import sh
system_python = sh.Command(sh.which("python%d.%d" % sys.version_info[:2]))
p = system_python("{child_file}", _bg=True, _new_session=False)
1
0
Hello community,
here is the log from the commit of package leechcraft for openSUSE:Factory checked in at 2019-05-28 09:43:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/leechcraft (Old)
and /work/SRC/openSUSE:Factory/.leechcraft.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "leechcraft"
Tue May 28 09:43:20 2019 rev:52 rq:705682 version:0.6.70+git.13186.g2c3ee31903
Changes:
--------
--- /work/SRC/openSUSE:Factory/leechcraft/leechcraft.changes 2019-05-13 14:51:31.762938273 +0200
+++ /work/SRC/openSUSE:Factory/.leechcraft.new.5148/leechcraft.changes 2019-05-28 09:43:24.177841423 +0200
@@ -1,0 +2,6 @@
+Mon May 27 11:17:01 UTC 2019 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Use GCC >= 8 for suse_version > 1500 (i.e. Tumbleweed and
+ CODE16).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ leechcraft-doc.spec ++++++
--- /var/tmp/diff_new_pack.lHyN8B/_old 2019-05-28 09:43:24.793841209 +0200
+++ /var/tmp/diff_new_pack.lHyN8B/_new 2019-05-28 09:43:24.793841209 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
++++++ leechcraft.spec ++++++
--- /var/tmp/diff_new_pack.lHyN8B/_old 2019-05-28 09:43:24.809841204 +0200
+++ /var/tmp/diff_new_pack.lHyN8B/_new 2019-05-28 09:43:24.813841202 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -58,7 +58,7 @@
BuildRequires: cmake >= 3.8
BuildRequires: fdupes
BuildRequires: file-devel
-%if 0%{?sle_version} > 150100
+%if 0%{?sle_version} > 150100 || 0%{?suse_version} > 1500
BuildRequires: gcc-c++ >= 8
%else
BuildRequires: gcc8-c++
@@ -135,7 +135,7 @@
%if %{with ffmpeg}
BuildRequires: pkgconfig(libpostproc)
%endif
-%if 0%{?sle_version} > 150100
+%if 0%{?sle_version} > 150100 || 0%{?suse_version} > 1500
%ifarch %ix86 x86_64 ppc64 ppc64le
BuildRequires: pkgconfig(libprojectM) >= 3
%endif
@@ -1419,7 +1419,7 @@
This package allows to synchronize with MTP devices via LeechCraft.
-%if 0%{?sle_version} > 150100
+%if 0%{?sle_version} > 150100 || 0%{?suse_version} > 1500
%ifarch %ix86 x86_64 ppc64 ppc64le
%package lmp-potorchu
Summary: LeechCraft Visualization Effects Module
@@ -2282,7 +2282,7 @@
-DCMAKE_CXX_FLAGS="${tmpflags} -Doverride=" \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-%if 0%{?sle_version} <= 150100
+%if 0%{?sle_version} <= 150100 && 0%{?suse_version} < 1550
-DCMAKE_C_COMPILER=/usr/bin/gcc-8 \
-DCMAKE_CXX_COMPILER=/usr/bin/g++-8 \
%endif
@@ -2367,7 +2367,7 @@
-DENABLE_LMP_LIBGUESS=True \
-DENABLE_LMP_MPRIS=True \
-DENABLE_LMP_MTPSYNC=True \
-%if 0%{?sle_version} > 150100
+%if 0%{?sle_version} > 150100 || 0%{?suse_version} > 1500
%ifarch %ix86 x86_64 ppc64 ppc64le
-DENABLE_LMP_POTORCHU=True \
%else
@@ -3052,7 +3052,7 @@
%defattr(-,root,root)
%{plugin_dir}/*craft_lmp_mtpsync.so
-%if 0%{?sle_version} > 150100
+%if 0%{?sle_version} > 150100 || 0%{?suse_version} > 1500
%ifarch %ix86 x86_64 ppc64 ppc64le
%files lmp-potorchu
%defattr(-,root,root)
1
0
Hello community,
here is the log from the commit of package slick-greeter for openSUSE:Factory checked in at 2019-05-28 09:43:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/slick-greeter (Old)
and /work/SRC/openSUSE:Factory/.slick-greeter.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "slick-greeter"
Tue May 28 09:43:17 2019 rev:16 rq:705681 version:1.2.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/slick-greeter/slick-greeter.changes 2018-12-18 14:58:13.930265843 +0100
+++ /work/SRC/openSUSE:Factory/.slick-greeter.new.5148/slick-greeter.changes 2019-05-28 09:43:19.181843151 +0200
@@ -1,0 +2,6 @@
+Mon May 27 13:16:31 UTC 2019 - Marguerite Su <i(a)marguerite.su>
+
+- fix tumbleweed build
+ * add slick-greeter-1.2.4-FTBFS-vala-0.43.patch
+
+-------------------------------------------------------------------
New:
----
slick-greeter-1.2.4-FTBFS-vala-0.43.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ slick-greeter.spec ++++++
--- /var/tmp/diff_new_pack.JgxsA6/_old 2019-05-28 09:43:19.913842898 +0200
+++ /var/tmp/diff_new_pack.JgxsA6/_new 2019-05-28 09:43:19.917842897 +0200
@@ -1,7 +1,7 @@
#
# spec file for package slick-greeter
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -29,6 +29,8 @@
Source1: README.GSettings-overrides
# PATCH-FEATURE-OPENSUSE slick-greeter-gtk-3.20.patch -- Restore GTK+ 3.20 support.
Patch0: slick-greeter-gtk-3.20.patch
+# PATCH-FIX-UPSTREAM slick-greeter-1.2.4-FTBFS-vala-0.43.patch -- fix tumbleweed build
+Patch1: slick-greeter-1.2.4-FTBFS-vala-0.43.patch
BuildRequires: gnome-common
BuildRequires: pkgconfig
BuildRequires: vala >= 0.24
@@ -89,6 +91,7 @@
%setup -q
cp -a %{SOURCE1} .
%patch0 -p1
+%patch1 -p1
%build
NOCONFIGURE=1 gnome-autogen.sh
++++++ slick-greeter-1.2.4-FTBFS-vala-0.43.patch ++++++
Index: slick-greeter-1.2.4/src/list-stack.vala
===================================================================
--- slick-greeter-1.2.4.orig/src/list-stack.vala
+++ slick-greeter-1.2.4/src/list-stack.vala
@@ -72,7 +72,7 @@ public class ListStack : Gtk.Fixed
return_if_fail (children != null);
- unowned List<Gtk.Widget> prev = children.last ().prev;
+ unowned List<weak Gtk.Widget> prev = children.last ().prev;
if (prev != null)
(prev.data as GreeterList).greeter_box.pop ();
}
1
0
Hello community,
here is the log from the commit of package freeradius-server for openSUSE:Factory checked in at 2019-05-28 09:43:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/freeradius-server (Old)
and /work/SRC/openSUSE:Factory/.freeradius-server.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "freeradius-server"
Tue May 28 09:43:13 2019 rev:77 rq:705679 version:3.0.19
Changes:
--------
--- /work/SRC/openSUSE:Factory/freeradius-server/freeradius-server.changes 2019-04-11 12:20:36.093026178 +0200
+++ /work/SRC/openSUSE:Factory/.freeradius-server.new.5148/freeradius-server.changes 2019-05-28 09:43:15.945844271 +0200
@@ -4 +4 @@
-- update to 3.0.19
+- update to 3.0.19 (jira#SLE-5890)
@@ -18,0 +19 @@
+ (CVE-2019-11234, CVE-2019-11235, bsc#1132549, bsc#1132664)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2019-05-28 09:43:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Tue May 28 09:43:08 2019 rev:183 rq:705661 version:20190527.edbb8573
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2019-05-27 08:40:15.539027151 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.5148/openSUSE-release-tools.changes 2019-05-28 09:43:13.005845290 +0200
@@ -1,0 +2,7 @@
+Mon May 27 12:27:08 UTC 2019 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20190527.edbb8573:
+ * Exit with an error if there were exceptions caught
+ * ReviewBot: Simplify the !interval case
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20190524.65b73f1d.obscpio
New:
----
openSUSE-release-tools-20190527.edbb8573.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.O2Dcl0/_old 2019-05-28 09:43:13.545845103 +0200
+++ /var/tmp/diff_new_pack.O2Dcl0/_new 2019-05-28 09:43:13.549845101 +0200
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20190524.65b73f1d
+Version: 20190527.edbb8573
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.O2Dcl0/_old 2019-05-28 09:43:13.593845086 +0200
+++ /var/tmp/diff_new_pack.O2Dcl0/_new 2019-05-28 09:43:13.593845086 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param name="changesrevision">65b73f1d416e9a7cdc337902c7aec744f4d2d334</param>
+ <param name="changesrevision">edbb8573b616c09400ab6da1dda27a9da07c87c5</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20190524.65b73f1d.obscpio -> openSUSE-release-tools-20190527.edbb8573.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20190524.65b73f1d/ReviewBot.py new/openSUSE-release-tools-20190527.edbb8573/ReviewBot.py
--- old/openSUSE-release-tools-20190524.65b73f1d/ReviewBot.py 2019-05-24 21:57:50.000000000 +0200
+++ new/openSUSE-release-tools-20190527.edbb8573/ReviewBot.py 2019-05-27 14:25:50.000000000 +0200
@@ -165,6 +165,8 @@
# give implementations a chance to do something before single requests
self.prepare_review()
+ return_value = 0
+
for req in self.requests:
self.logger.info("checking %s"%req.reqid)
self.request = req
@@ -180,6 +182,7 @@
import traceback
traceback.print_exc()
+ return_value = 1
if self.review_mode == 'no':
good = None
@@ -193,6 +196,8 @@
elif self.review_mode != 'accept-onpass':
self._set_review(req, 'declined')
+ return return_value
+
@memoize(session=True)
def request_override_check_users(self, project):
"""Determine users allowed to override review in a comment command."""
@@ -806,7 +811,7 @@
${cmd_option_list}
"""
self.checker.set_request_ids(args)
- self.checker.check_requests()
+ return self.checker.check_requests()
@cmdln.option('-n', '--interval', metavar="minutes", type="int", help="periodic interval in minutes")
def do_review(self, subcmd, opts, *args):
@@ -820,9 +825,9 @@
def work():
self.checker.set_request_ids_search_review()
- self.checker.check_requests()
+ return self.checker.check_requests()
- self.runner(work, opts.interval)
+ return self.runner(work, opts.interval)
@cmdln.option('-n', '--interval', metavar="minutes", type="int", help="periodic interval in minutes")
def do_project(self, subcmd, opts, project, typename):
@@ -834,9 +839,9 @@
def work():
self.checker.set_request_ids_project(project, typename)
- self.checker.check_requests()
+ return self.checker.check_requests()
- self.runner(work, opts.interval)
+ return self.runner(work, opts.interval)
def runner(self, workfunc, interval):
""" runs the specified callback every <interval> minutes or
@@ -845,10 +850,15 @@
class ExTimeout(Exception):
"""raised on timeout"""
- if interval:
- def alarm_called(nr, frame):
- raise ExTimeout()
- signal.signal(signal.SIGALRM, alarm_called)
+ if not interval:
+ print('WORK')
+ r = workfunc()
+ print('WORK', r)
+ return r
+
+ def alarm_called(nr, frame):
+ raise ExTimeout()
+ signal.signal(signal.SIGALRM, alarm_called)
while True:
try:
@@ -856,31 +866,27 @@
except Exception as e:
self.logger.exception(e)
- if interval:
- if os.isatty(0):
- self.logger.info("sleeping %d minutes. Press enter to check now ..."%interval)
- signal.alarm(interval*60)
- try:
- input()
- except ExTimeout:
- pass
- signal.alarm(0)
- self.logger.info("recheck at %s"%datetime.datetime.now().isoformat())
- else:
- self.logger.info("sleeping %d minutes." % interval)
- time.sleep(interval * 60)
-
- # Reset all memoize session caches which are designed for single
- # tool run and not extended usage.
- memoize_session_reset()
-
- # Reload checker to flush instance variables and thus any config
- # or caches they may contain.
- self.postoptparse()
+ if os.isatty(0):
+ self.logger.info("sleeping %d minutes. Press enter to check now ..."%interval)
+ signal.alarm(interval*60)
+ try:
+ input()
+ except ExTimeout:
+ pass
+ signal.alarm(0)
+ self.logger.info("recheck at %s"%datetime.datetime.now().isoformat())
+ else:
+ self.logger.info("sleeping %d minutes." % interval)
+ time.sleep(interval * 60)
- continue
+ # Reset all memoize session caches which are designed for single
+ # tool run and not extended usage.
+ memoize_session_reset()
+
+ # Reload checker to flush instance variables and thus any config
+ # or caches they may contain.
+ self.postoptparse()
- break
if __name__ == "__main__":
app = CommandLineInterface()
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.O2Dcl0/_old 2019-05-28 09:43:14.241844861 +0200
+++ /var/tmp/diff_new_pack.O2Dcl0/_new 2019-05-28 09:43:14.241844861 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20190524.65b73f1d
-mtime: 1558727870
-commit: 65b73f1d416e9a7cdc337902c7aec744f4d2d334
+version: 20190527.edbb8573
+mtime: 1558959950
+commit: edbb8573b616c09400ab6da1dda27a9da07c87c5
1
0
Hello community,
here is the log from the commit of package yate for openSUSE:Factory checked in at 2019-05-28 09:43:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yate (Old)
and /work/SRC/openSUSE:Factory/.yate.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yate"
Tue May 28 09:43:05 2019 rev:32 rq:705654 version:6.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/yate/yate.changes 2018-07-06 10:49:23.230725362 +0200
+++ /work/SRC/openSUSE:Factory/.yate.new.5148/yate.changes 2019-05-28 09:43:07.937847044 +0200
@@ -1,0 +2,11 @@
+Mon May 20 09:52:34 UTC 2019 - Christophe Giboudeaux <christophe(a)krop.fr>
+
+- Explicitly require zlib at build time.
+- Obsolete yate-qt4 for the factory package to avoid file conflicts.
+
+-------------------------------------------------------------------
+Sun Apr 28 15:52:20 UTC 2019 - Christophe Giboudeaux <christophe(a)krop.fr>
+
+- Only build the Qt4 GUI up to suse_version 1500.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yate.spec ++++++
--- /var/tmp/diff_new_pack.R8Xxn1/_old 2019-05-28 09:43:08.565846827 +0200
+++ /var/tmp/diff_new_pack.R8Xxn1/_new 2019-05-28 09:43:08.569846825 +0200
@@ -1,7 +1,7 @@
#
# spec file for package yate
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2011, Sascha Peilicke <saschpe(a)gmx.de>
# Copyright (c) 2011, Pascal Bleser <pascal.bleser(a)opensuse.org>
#
@@ -14,7 +14,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -24,7 +24,7 @@
Summary: Yet Another Telephony Engine
License: GPL-2.0-or-later
Group: Productivity/Telephony/Clients
-Url: http://www.yate.null.ro/
+URL: http://www.yate.null.ro/
Source0: http://yate.null.ro/tarballs/yate6/yate-%{version}-1.tar.gz
Patch1: dont-mess-with-cflags.patch
Patch2: add-arm64-support.patch
@@ -33,7 +33,6 @@
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libgsm-devel
-BuildRequires: libqt4-devel
BuildRequires: lksctp-tools-devel
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
@@ -42,6 +41,13 @@
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(spandsp)
BuildRequires: pkgconfig(speex)
+BuildRequires: pkgconfig(zlib)
+%if 0%{?suse_version} <= 1500
+BuildRequires: libqt4-devel
+%else
+# Needed to avoid conflicts caused by providers.conf which is now in the main package
+Obsoletes: yate-qt4 <= %{version}-%{release}
+%endif
%if 0%{?packman_bs}
BuildRequires: libamrnb-devel
%endif
@@ -71,6 +77,7 @@
This package contains all necessary include files and libraries needed
to compile and develop applications that use Yate.
+%if 0%{?suse_version} <= 1500
%package qt4
Summary: Qt4 client package for Yate
License: GPL-2.0-only
@@ -80,6 +87,7 @@
%description qt4
The yate-qt4 package includes the files needed to use Yate as a VoIP client
with a Qt4 graphical interface.
+%endif
%package scripts
Summary: External scripting package for Yate
@@ -113,8 +121,10 @@
%install
%make_install
+%if 0%{?suse_version} <= 1500
%suse_update_desktop_file -i %{name}-qt4 Network Telephony Qt
rm %{buildroot}%{_prefix}/lib/menu/yate-qt4.menu # Unused, causes lots of rpmlint warnings
+%endif
mkdir -p %{buildroot}%{_docdir}/%{name} # We want docs in /usr/share/doc/packages/yate
mv %{buildroot}%{_datadir}/doc/%{name}-%{version} %{buildroot}%{_docdir}/%{name}
@@ -123,18 +133,29 @@
This %{name} package has been built with AMRNB support.
EOF
%endif
+
+%if 0%{?suse_version} > 1500
+# These files are installed unconditionally but belong to the -qt4 package
+rm -fr %{buildroot}%{_datadir}/%{name}/skins
+rm -fr %{buildroot}%{_datadir}/%{name}/help
+rm %{buildroot}%{_sysconfdir}/%{name}/yate-qt4.conf
+%endif
+
%fdupes %{buildroot}/%{_prefix}
%post -n libyate6 -p /sbin/ldconfig
%postun -n libyate6 -p /sbin/ldconfig
+%if 0%{?suse_version} <= 1500
%post qt4 -p /sbin/ldconfig
%postun qt4 -p /sbin/ldconfig
+%endif
%files
-%doc ChangeLog COPYING README
+%license COPYING
+%doc ChangeLog README
%doc %{_docdir}/%{name}/%{name}-%{version}/
%{_bindir}/%{name}
-%{_mandir}/man8/%{name}.8%{ext_man}
+%{_mandir}/man8/%{name}.8%{?ext_man}
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/data
%{_datadir}/%{name}/sounds
@@ -234,6 +255,7 @@
%config(noreplace) %{_sysconfdir}/%{name}/pbxassist.conf
%config(noreplace) %{_sysconfdir}/%{name}/pgsqldb.conf
%config(noreplace) %{_sysconfdir}/%{name}/presence.conf
+%config(noreplace) %{_sysconfdir}/%{name}/providers.conf
%config(noreplace) %{_sysconfdir}/%{name}/queues.conf
%config(noreplace) %{_sysconfdir}/%{name}/queuesnotify.conf
%config(noreplace) %{_sysconfdir}/%{name}/radiotest.conf
@@ -278,9 +300,10 @@
%{_includedir}/%{name}
%{_libdir}/lib*.so
%{_bindir}/%{name}-config
-%{_mandir}/man8/%{name}-config.8%{ext_man}
+%{_mandir}/man8/%{name}-config.8%{?ext_man}
%{_libdir}/pkgconfig/%{name}.pc
+%if 0%{?suse_version} <= 1500
%files qt4
%{_bindir}/yate-qt4
%{_libdir}/libyateqt4.so.*
@@ -290,7 +313,7 @@
%{_datadir}/%{name}/skins
%{_datadir}/%{name}/help
%config(noreplace) %{_sysconfdir}/%{name}/yate-qt4.conf
-%config(noreplace) %{_sysconfdir}/%{name}/providers.conf
+%endif
%files scripts
%{_datadir}/%{name}/scripts
1
0
Hello community,
here is the log from the commit of package klee for openSUSE:Factory checked in at 2019-05-28 09:43:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/klee (Old)
and /work/SRC/openSUSE:Factory/.klee.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "klee"
Tue May 28 09:43:03 2019 rev:15 rq:705642 version:2.0+20190507
Changes:
--------
--- /work/SRC/openSUSE:Factory/klee/klee.changes 2019-02-25 17:59:53.150153278 +0100
+++ /work/SRC/openSUSE:Factory/.klee.new.5148/klee.changes 2019-05-28 09:43:05.545847872 +0200
@@ -1,0 +2,16 @@
+Mon May 27 09:39:22 UTC 2019 - jslaby(a)suse.com
+
+- Update to version 2.0+20190507:
+ * Propagate correct version of metasmt to build script
+ * Add missing dependency for tabulate package
+ * Remove CC as requirement; automatically set by sanitizer_compiler
+ * klee-stats: add - to to-csv/grafana options
+ * Add klee-stats test, fix microseconds bug
+ * Add MSan support for sqlite
+ * Clean klee-stats, StatsTracker and cmake
+ * Change the .stats format into sqlite3
+ * Add FreeBSD OS triple in RaiseAsm
+ * Teach ConcreteTest.py to use `gmake` instead of `make` on FreeBSD
+ * and more
+
+-------------------------------------------------------------------
Old:
----
klee-1.4.0+20190115.tar.xz
New:
----
klee-2.0+20190507.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ klee.spec ++++++
--- /var/tmp/diff_new_pack.uRarE3/_old 2019-05-28 09:43:06.249847628 +0200
+++ /var/tmp/diff_new_pack.uRarE3/_new 2019-05-28 09:43:06.253847627 +0200
@@ -20,7 +20,7 @@
%define llvm_version_minor 0
%define llvm_version %{llvm_version_major}
-%define version_unconverted 1.4.0+20190115
+%define version_unconverted 2.0+20190507
%ifarch %{ix86} x86_64
%define with_uclibc 1
@@ -32,14 +32,15 @@
Summary: LLVM Execution Engine
License: NCSA
Group: Development/Languages/Other
-Version: 1.4.0+20190115
+Version: 2.0+20190507
Release: 0
Url: http://klee.github.io/
Source0: %{name}-%{version}.tar.xz
Source1: %{name}-rpmlintrc
Source2: https://raw.githubusercontent.com/llvm-mirror/llvm/release_%{llvm_version_m…
Source3: https://raw.githubusercontent.com/llvm-mirror/llvm/release_%{llvm_version_m…
-Patch0: disable-failing-test.patch
+# Unused -- let's check if this is still needed
+Source4: disable-failing-test.patch
BuildRequires: clang%{llvm_version}
BuildRequires: cmake
@@ -55,6 +56,8 @@
BuildRequires: python3-base
BuildRequires: python3-lit
BuildRequires: python3-setuptools
+BuildRequires: python3-tabulate
+BuildRequires: sqlite3-devel
BuildRequires: stp-devel
BuildRequires: xz
BuildRequires: zlib-devel
@@ -114,7 +117,7 @@
%files
%defattr(-,root,root)
-%doc NEWS README.md TODO.txt
+%doc NEWS README.md
%license LICENSE.TXT
%{_bindir}/gen-bout
%{_bindir}/gen-random-bout
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.uRarE3/_old 2019-05-28 09:43:06.309847607 +0200
+++ /var/tmp/diff_new_pack.uRarE3/_new 2019-05-28 09:43:06.309847607 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/klee/klee.git</param>
- <param name="changesrevision">44325801ed4840cb1c334b9810f16ea8d691e986</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">0cf14d6d70b939ad29a9da42b33a4a5d4697b947</param></service></servicedata>
\ No newline at end of file
++++++ disable-failing-test.patch ++++++
--- /var/tmp/diff_new_pack.uRarE3/_old 2019-05-28 09:43:06.317847605 +0200
+++ /var/tmp/diff_new_pack.uRarE3/_new 2019-05-28 09:43:06.321847603 +0200
@@ -10,6 +10,6 @@
+++ b/test/Runtime/POSIX/DirConsistency.c
@@ -1,3 +1,4 @@
+// REQUIRES: bubak
- // RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+ // RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
// RUN: rm -rf %t.klee-out %t.klee-out-tmp
// RUN: %gentmp %t.klee-out-tmp
++++++ klee-1.4.0+20190115.tar.xz -> klee-2.0+20190507.tar.xz ++++++
++++ 18941 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package xwmfs for openSUSE:Factory checked in at 2019-05-28 09:42:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xwmfs (Old)
and /work/SRC/openSUSE:Factory/.xwmfs.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xwmfs"
Tue May 28 09:42:59 2019 rev:2 rq:705638 version:0.83
Changes:
--------
--- /work/SRC/openSUSE:Factory/xwmfs/xwmfs.changes 2017-10-23 16:51:55.300532219 +0200
+++ /work/SRC/openSUSE:Factory/.xwmfs.new.5148/xwmfs.changes 2019-05-28 09:43:01.677849211 +0200
@@ -1,0 +2,8 @@
+Mon May 27 10:23:59 UTC 2019 - mgerstner <matthias.gerstner(a)suse.com>
+
+- update to minor version 0.83:
+ - compatibility with gcc-9 (fixed warning -Wdeprecated-copy)
+- update to minor version 0.82:
+ - Fixes issues with make check in automated builds.
+
+-------------------------------------------------------------------
Old:
----
xwmfs-0.81-dist.tar.gz
New:
----
xwmfs-0.83-dist.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xwmfs.spec ++++++
--- /var/tmp/diff_new_pack.zbJxVf/_old 2019-05-28 09:43:02.405848958 +0200
+++ /var/tmp/diff_new_pack.zbJxVf/_new 2019-05-28 09:43:02.405848958 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xwmfs
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -20,14 +20,14 @@
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: fuse-devel
-BuildRequires: libX11-devel
BuildRequires: gcc-c++
+BuildRequires: libX11-devel
Requires: fuse
-Version: 0.81
+Version: 0.83
Release: 0
Url: https://github.com/gerstner-hub/xwmfs
Summary: A file system for accessing X server and window manager features
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: System/Filesystems
Source0: https://github.com/gerstner-hub/xwmfs/releases/download/v%{version}/xwmfs-%…
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ xwmfs-0.81-dist.tar.gz -> xwmfs-0.83-dist.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/ChangeLog new/xwmfs-0.83/ChangeLog
--- old/xwmfs-0.81/ChangeLog 2017-10-16 21:56:02.000000000 +0200
+++ new/xwmfs-0.83/ChangeLog 2019-05-15 18:48:56.000000000 +0200
@@ -1,3 +1,20 @@
+2019-05-15 Matthias Gerstner <Matthias.Gerstner(a)nefkom.net>
+
+ version 0.83
+
+ Minor bugfix release
+
+ - fix build with gcc-9 (-Wdeprecated-copy)
+
+2017-11-08 Matthias Gerstner <Matthias.Gerstner(a)nefkom.net>
+
+ version 0.82
+
+ Minor bugfix release
+
+ - skip tests during `make check` if no DISPLAY variable is set
+ (bgo#636814)
+
2017-10-16 Matthias Gerstner <Matthias.Gerstner(a)nefkom.net>
version 0.81
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/Makefile.in new/xwmfs-0.83/Makefile.in
--- old/xwmfs-0.81/Makefile.in 2017-10-16 22:12:52.000000000 +0200
+++ new/xwmfs-0.83/Makefile.in 2019-05-15 19:12:50.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -576,7 +576,7 @@
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
@@ -602,7 +602,7 @@
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
@@ -620,7 +620,7 @@
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
@@ -630,7 +630,7 @@
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/aclocal.m4 new/xwmfs-0.83/aclocal.m4
--- old/xwmfs-0.81/aclocal.m4 2017-10-16 22:12:52.000000000 +0200
+++ new/xwmfs-0.83/aclocal.m4 2019-05-15 19:12:49.000000000 +0200
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,32 +20,63 @@
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-#
-# Copyright © 2004 Scott James Remnant <scott(a)netsplit.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 12 (pkg-config-0.29.2)
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
+dnl Copyright © 2004 Scott James Remnant <scott(a)netsplit.com>.
+dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists(a)gmail.com>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29.2])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+ [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@@ -67,18 +98,19 @@
PKG_CONFIG=""
fi
fi[]dnl
-])# PKG_PROG_PKG_CONFIG
+])dnl PKG_PROG_PKG_CONFIG
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists. Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
@@ -88,8 +120,10 @@
$3])dnl
fi])
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
@@ -101,10 +135,11 @@
else
pkg_failed=untried
fi[]dnl
-])# _PKG_CONFIG
+])dnl _PKG_CONFIG
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -112,26 +147,24 @@
else
_pkg_short_errors_supported=no
fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
-AC_MSG_CHECKING([for $1])
+AC_MSG_CHECKING([for $2])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
@@ -141,11 +174,11 @@
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
- AC_MSG_RESULT([no])
+ AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
- else
+ else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
@@ -162,7 +195,7 @@
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
- AC_MSG_RESULT([no])
+ AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
@@ -178,16 +211,40 @@
AC_MSG_RESULT([yes])
$3
fi[]dnl
-])# PKG_CHECK_MODULES
+])dnl PKG_CHECK_MODULES
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
@@ -198,16 +255,18 @@
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
+])dnl PKG_INSTALLDIR
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
@@ -218,13 +277,15 @@
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
+])dnl PKG_NOARCH_INSTALLDIR
-# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
-# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# -------------------------------------------
-# Retrieves the value of the pkg-config variable for the given module.
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
@@ -233,9 +294,9 @@
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
-])# PKG_CHECK_VAR
+])dnl PKG_CHECK_VAR
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -250,7 +311,7 @@
[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.15], [],
+m4_if([$1], [1.15.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -266,14 +327,14 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -325,7 +386,7 @@
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -356,7 +417,7 @@
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -547,7 +608,7 @@
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -623,7 +684,7 @@
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -820,7 +881,7 @@
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -841,7 +902,7 @@
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -862,7 +923,7 @@
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -912,7 +973,7 @@
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -951,7 +1012,7 @@
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -980,7 +1041,7 @@
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1027,7 +1088,7 @@
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1046,7 +1107,7 @@
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1127,7 +1188,7 @@
rm -f conftest.file
])
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1187,7 +1248,7 @@
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1215,7 +1276,7 @@
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1234,7 +1295,7 @@
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/configure new/xwmfs-0.83/configure
--- old/xwmfs-0.81/configure 2017-10-16 22:12:52.000000000 +0200
+++ new/xwmfs-0.83/configure 2019-05-15 19:12:50.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xwmfs 0.81.
+# Generated by GNU Autoconf 2.69 for xwmfs 0.83.
#
# Report bugs to <Matthias.Gerstner(a)nefkom.net>.
#
@@ -579,8 +579,8 @@
# Identity of this package.
PACKAGE_NAME='xwmfs'
PACKAGE_TARNAME='xwmfs'
-PACKAGE_VERSION='0.81'
-PACKAGE_STRING='xwmfs 0.81'
+PACKAGE_VERSION='0.83'
+PACKAGE_STRING='xwmfs 0.83'
PACKAGE_BUGREPORT='Matthias.Gerstner(a)nefkom.net'
PACKAGE_URL=''
@@ -1250,7 +1250,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xwmfs 0.81 to adapt to many kinds of systems.
+\`configure' configures xwmfs 0.83 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1316,7 +1316,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xwmfs 0.81:";;
+ short | recursive ) echo "Configuration of xwmfs 0.83:";;
esac
cat <<\_ACEOF
@@ -1417,7 +1417,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xwmfs configure 0.81
+xwmfs configure 0.83
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1510,7 +1510,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xwmfs $as_me 0.81, which was
+It was created by xwmfs $as_me 0.83, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2378,7 +2378,7 @@
# Define the identity of the package.
PACKAGE='xwmfs'
- VERSION='0.81'
+ VERSION='0.83'
cat >>confdefs.h <<_ACEOF
@@ -4243,8 +4243,8 @@
fi
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fuse" >&5
-$as_echo_n "checking for fuse... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fuse >= 2.8.1 " >&5
+$as_echo_n "checking for fuse >= 2.8.1 ... " >&6; }
if test -n "$fuse_CFLAGS"; then
pkg_cv_fuse_CFLAGS="$fuse_CFLAGS"
@@ -4284,7 +4284,7 @@
if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -4311,7 +4311,7 @@
and fuse_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details." "$LINENO" 5
elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -4334,8 +4334,8 @@
fi
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x11" >&5
-$as_echo_n "checking for x11... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x11 >= 1.2.2 " >&5
+$as_echo_n "checking for x11 >= 1.2.2 ... " >&6; }
if test -n "$x11_CFLAGS"; then
pkg_cv_x11_CFLAGS="$x11_CFLAGS"
@@ -4375,7 +4375,7 @@
if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -4402,7 +4402,7 @@
and x11_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details." "$LINENO" 5
elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -4973,7 +4973,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xwmfs $as_me 0.81, which was
+This file was extended by xwmfs $as_me 0.83, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5039,7 +5039,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xwmfs config.status 0.81
+xwmfs config.status 0.83
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/configure.ac new/xwmfs-0.83/configure.ac
--- old/xwmfs-0.81/configure.ac 2017-10-16 22:08:53.000000000 +0200
+++ new/xwmfs-0.83/configure.ac 2019-05-15 18:48:04.000000000 +0200
@@ -4,7 +4,7 @@
AC_PREREQ(2.61)
dnl Our wmfs application
-AC_INIT([xwmfs], [0.81], [Matthias.Gerstner(a)nefkom.net]
+AC_INIT([xwmfs], [0.83], [Matthias.Gerstner(a)nefkom.net]
dnl Stores some generated files in a separate directory for cleaner structure
AC_CONFIG_AUX_DIR(config_aux)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/docs/Makefile.in new/xwmfs-0.83/docs/Makefile.in
--- old/xwmfs-0.81/docs/Makefile.in 2017-10-16 22:12:52.000000000 +0200
+++ new/xwmfs-0.83/docs/Makefile.in 2019-05-15 19:12:50.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/src/Makefile.in new/xwmfs-0.83/src/Makefile.in
--- old/xwmfs-0.81/src/Makefile.in 2017-10-16 22:12:52.000000000 +0200
+++ new/xwmfs-0.83/src/Makefile.in 2019-05-15 19:12:50.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/src/common/Exception.hxx new/xwmfs-0.83/src/common/Exception.hxx
--- old/xwmfs-0.81/src/common/Exception.hxx 2017-02-22 21:00:00.000000000 +0100
+++ new/xwmfs-0.83/src/common/Exception.hxx 2019-05-15 18:37:55.000000000 +0200
@@ -45,12 +45,6 @@
) :
file(p_file), line(p_line), func(p_func) { }
- SourceLocation(const SourceLocation &other) :
- file(other.file),
- line(other.line),
- func(other.func)
- { }
-
const char* getFile() const { return file; }
int getLine() const { return line; }
const char* getFunction() const { return func; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/src/x11/XWindow.hxx new/xwmfs-0.83/src/x11/XWindow.hxx
--- old/xwmfs-0.81/src/x11/XWindow.hxx 2017-10-15 13:38:55.000000000 +0200
+++ new/xwmfs-0.83/src/x11/XWindow.hxx 2019-05-15 18:41:22.000000000 +0200
@@ -126,6 +126,8 @@
m_std_props(StandardProps::instance())
{ }
+ XWindow(const XWindow &other) : XWindow() { *this = other; }
+
/**
* \brief
* Create an object representing \c win on the current Display
@@ -382,7 +384,7 @@
/**
* \brief
* The same as
- *
+ *
* setProperty(const std::string&, const Property<PROPTYPE>&)
*
* but for the case when you already have an atom mapping for the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/tests/Makefile.in new/xwmfs-0.83/tests/Makefile.in
--- old/xwmfs-0.81/tests/Makefile.in 2017-10-16 22:12:52.000000000 +0200
+++ new/xwmfs-0.83/tests/Makefile.in 2019-05-15 19:12:50.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xwmfs-0.81/tests/base/base.py new/xwmfs-0.83/tests/base/base.py
--- old/xwmfs-0.81/tests/base/base.py 2017-04-29 00:54:07.000000000 +0200
+++ new/xwmfs-0.83/tests/base/base.py 2017-11-08 20:19:44.000000000 +0100
@@ -195,6 +195,17 @@
def run(self):
+ if not "DISPLAY" in os.environ:
+ # don't fail tests because of a missing DISPLAY. this
+ # is typically the case on automated build servers and
+ # alike. our tests are mor for interactive testing.
+
+ # according to autotools documentation this is the
+ # exit code to signal a skipped test:
+
+ # https://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Te…
+ return 77
+
self.parseArgs()
self.m_xwmfs = self.getBinary()
self.mount()
1
0
Hello community,
here is the log from the commit of package kcm_tablet for openSUSE:Factory checked in at 2019-05-28 09:42:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kcm_tablet (Old)
and /work/SRC/openSUSE:Factory/.kcm_tablet.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kcm_tablet"
Tue May 28 09:42:55 2019 rev:6 rq:705635 version:3.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/kcm_tablet/kcm_tablet.changes 2019-01-15 09:15:38.170276754 +0100
+++ /work/SRC/openSUSE:Factory/.kcm_tablet.new.5148/kcm_tablet.changes 2019-05-28 09:42:57.985850489 +0200
@@ -1,0 +2,6 @@
+Mon May 27 09:40:00 UTC 2019 - Fabian Vogt <fabian(a)ritter-vogt.de>
+
+- Add patch to fix build with GCC 9:
+ * 0001-Supposedly-fix-building-with-gcc9.patch
+
+-------------------------------------------------------------------
New:
----
0001-Supposedly-fix-building-with-gcc9.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kcm_tablet.spec ++++++
--- /var/tmp/diff_new_pack.ESdGox/_old 2019-05-28 09:42:58.573850285 +0200
+++ /var/tmp/diff_new_pack.ESdGox/_new 2019-05-28 09:42:58.577850284 +0200
@@ -1,7 +1,7 @@
#
# spec file for package kcm_tablet
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Raymond Wooninck <tittiatcoke(a)gmail.com>
#
# All modifications and additions to the file contributed by third parties
@@ -13,7 +13,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -22,10 +22,12 @@
Version: 3.1.1
Release: 0
Summary: KDE Config Module for Wacom Tablets
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: System/GUI/KDE
Url: https://cgit.kde.org/wacomtablet.git/
Source: https://download.kde.org/stable/%{rname}/%{version}/%{rname}-%{version}.tar…
+# PATCH-FIX-UPSTREAM
+Patch1: 0001-Supposedly-fix-building-with-gcc9.patch
BuildRequires: extra-cmake-modules
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
@@ -67,7 +69,7 @@
%lang_package
%prep
-%setup -q -n %{rname}-%{version}
+%autosetup -p1 -n %{rname}-%{version}
%build
%cmake_kf5 -d build
++++++ 0001-Supposedly-fix-building-with-gcc9.patch ++++++
>From 91d821f7efdf4aa929f85ef8cd4cce04fa642a8f Mon Sep 17 00:00:00 2001
From: Valerii Malov <jazzvoid(a)gmail.com>
Date: Sun, 28 Apr 2019 19:10:43 +0300
Subject: [PATCH] (Supposedly) fix building with gcc9
I don't really have access to gcc9 right now to test, but this should
fix "static assertion failed: unique_ptr's deleter must be invocable
with a pointer"
CCBUG: 407015
---
src/common/libwacomwrapper.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/common/libwacomwrapper.cpp b/src/common/libwacomwrapper.cpp
index 1d11fc3..92a559a 100644
--- a/src/common/libwacomwrapper.cpp
+++ b/src/common/libwacomwrapper.cpp
@@ -60,7 +60,7 @@ libWacomWrapper::~libWacomWrapper()
bool libWacomWrapper::lookupTabletInfo(int tabletId, int vendorId, TabletInformation &tabletInfo)
{
qCDebug(COMMON) << "LibWacom lookup for" << tabletId << vendorId;
- auto errorDeleter = [](WacomError *&e){libwacom_error_free(&e);};
+ auto errorDeleter = [](WacomError *e){libwacom_error_free(&e);};
std::unique_ptr<WacomError, decltype(errorDeleter)>
error(libwacom_error_new(), errorDeleter);
std::unique_ptr<WacomDevice, decltype(&libwacom_destroy)>
--
2.21.0
1
0
Hello community,
here is the log from the commit of package python-django-rest-knox for openSUSE:Factory checked in at 2019-05-28 09:42:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-rest-knox (Old)
and /work/SRC/openSUSE:Factory/.python-django-rest-knox.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-rest-knox"
Tue May 28 09:42:52 2019 rev:2 rq:705620 version:3.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-rest-knox/python-django-rest-knox.changes 2019-04-15 11:52:24.594551094 +0200
+++ /work/SRC/openSUSE:Factory/.python-django-rest-knox.new.5148/python-django-rest-knox.changes 2019-05-28 09:42:53.737851959 +0200
@@ -1,0 +2,5 @@
+Mon May 20 01:47:09 UTC 2019 - John Vandenberg <jayvdb(a)gmail.com>
+
+- Add non-updating note to the SPEC file
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-rest-knox.spec ++++++
--- /var/tmp/diff_new_pack.VV4qGx/_old 2019-05-28 09:42:54.881851563 +0200
+++ /var/tmp/diff_new_pack.VV4qGx/_new 2019-05-28 09:42:54.881851563 +0200
@@ -12,20 +12,23 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-django-rest-knox
Version: 3.6.0
Release: 0
-License: MIT
+# Please, do not update to the current version, 4.x, as it is a breaking
+# change that at least breaks drf-jwt-knox
Summary: Authentication for Django REST framework
-Url: https://github.com/James1345/django-rest-knox
+License: MIT
Group: Development/Languages/Python
+Url: https://github.com/James1345/django-rest-knox
Source: https://github.com/James1345/django-rest-knox/archive/%{version}.tar.gz#/dj…
-BuildRequires: python-rpm-macros
BuildRequires: %{python_module setuptools}
+BuildRequires: python-rpm-macros
# SECTION test requirements
BuildRequires: %{python_module Django}
BuildRequires: %{python_module cryptography}
1
0
Hello community,
here is the log from the commit of package python-django-registration for openSUSE:Factory checked in at 2019-05-28 09:42:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-registration (Old)
and /work/SRC/openSUSE:Factory/.python-django-registration.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-registration"
Tue May 28 09:42:50 2019 rev:14 rq:705619 version:3.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-registration/python-django-registration.changes 2019-03-20 13:19:38.745338682 +0100
+++ /work/SRC/openSUSE:Factory/.python-django-registration.new.5148/python-django-registration.changes 2019-05-28 09:42:52.553852369 +0200
@@ -1,0 +2,6 @@
+Mon May 20 08:50:30 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 3.0.1:
+ * Support for django 2.2
+
+-------------------------------------------------------------------
Old:
----
django-registration-3.0.tar.gz
New:
----
django-registration-3.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-registration.spec ++++++
--- /var/tmp/diff_new_pack.FTEOVY/_old 2019-05-28 09:42:52.997852215 +0200
+++ /var/tmp/diff_new_pack.FTEOVY/_new 2019-05-28 09:42:52.997852215 +0200
@@ -17,7 +17,7 @@
Name: python-django-registration
-Version: 3.0
+Version: 3.0.1
Release: 0
Summary: An extensible user-registration application for Django
License: BSD-3-Clause
++++++ django-registration-3.0.tar.gz -> django-registration-3.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/LICENSE new/django-registration-3.0.1/LICENSE
--- old/django-registration-3.0/LICENSE 2018-01-21 13:32:28.000000000 +0100
+++ new/django-registration-3.0.1/LICENSE 2019-05-07 21:04:34.000000000 +0200
@@ -1,4 +1,4 @@
-Copyright (c) 2007-2018, James Bennett
+Copyright (c) 2007-2019, James Bennett
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/PKG-INFO new/django-registration-3.0.1/PKG-INFO
--- old/django-registration-3.0/PKG-INFO 2018-09-04 09:29:32.000000000 +0200
+++ new/django-registration-3.0.1/PKG-INFO 2019-05-07 21:23:34.000000000 +0200
@@ -1,12 +1,24 @@
Metadata-Version: 1.2
Name: django-registration
-Version: 3.0
+Version: 3.0.1
Summary: An extensible user-registration application for Django
Home-page: https://github.com/ubernostrum/django-registration/
Author: James Bennett
Author-email: james(a)b-list.org
License: UNKNOWN
-Description: UNKNOWN
+Description: .. -*-restructuredtext-*-
+
+ .. image:: https://travis-ci.org/ubernostrum/django-registration.svg?branch=master
+ :target: https://travis-ci.org/ubernostrum/django-registration
+
+ This is a user-registration application for `Django
+ <https://www.djangoproject.com/>`_. There are two registration
+ workflows (one-step, and two-step with activation) built in, and it's
+ designed to be extensible and support building additional workflows.
+
+ Full documentation is `available online
+ <https://django-registration.readthedocs.io/>`_.
+
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
@@ -14,6 +26,7 @@
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Framework :: Django :: 2.1
+Classifier: Framework :: Django :: 2.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/docs/activation-workflow.rst new/django-registration-3.0.1/docs/activation-workflow.rst
--- old/django-registration-3.0/docs/activation-workflow.rst 2018-09-04 06:50:15.000000000 +0200
+++ new/django-registration-3.0.1/docs/activation-workflow.rst 2019-05-07 20:50:20.000000000 +0200
@@ -134,7 +134,7 @@
A string specifying the template to use for the body of the
activation email. Default is
- `"django_registration/activation_email.txt"`.
+ `"django_registration/activation_email_body.txt"`.
.. attribute:: email_subject_template
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/docs/conf.py new/django-registration-3.0.1/docs/conf.py
--- old/django-registration-3.0/docs/conf.py 2018-09-04 09:29:09.000000000 +0200
+++ new/django-registration-3.0.1/docs/conf.py 2019-05-07 21:04:26.000000000 +0200
@@ -9,9 +9,9 @@
source_suffix = '.rst'
master_doc = 'index'
project = u'django-registration'
-copyright = u'2007-2018, James Bennett'
-version = '3.0'
-release = '3.0'
+copyright = u'2007-2019, James Bennett'
+version = '3.0.1'
+release = '3.0.1'
exclude_trees = ['_build']
pygments_style = 'sphinx'
html_static_path = ['_static']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/docs/faq.rst new/django-registration-3.0.1/docs/faq.rst
--- old/django-registration-3.0/docs/faq.rst 2018-09-04 07:53:22.000000000 +0200
+++ new/django-registration-3.0.1/docs/faq.rst 2019-05-07 21:08:48.000000000 +0200
@@ -38,9 +38,9 @@
What versions of Django and Python are supported?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-As of django-registration |release|, Django 1.11, 2.0 and 2.1 are
-supported, on Python 2.7, (Django 1.11 only), 3.4 (Django 1.11 and 2.0
-only), 3.5, 3.6 and 3.7 (Django 2.0 and 2.1 only).
+As of django-registration |release|, Django 1.11, 2.0, 2.1, and 2.2
+are supported, on Python 2.7 (Django 1.11 only), 3.4 (Django 1.11 and
+2.0 only), 3.5, 3.6 and 3.7 (Django 2.0, 2.1, and 2.2 only).
I found a bug or want to make an improvement!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/docs/install.rst new/django-registration-3.0.1/docs/install.rst
--- old/django-registration-3.0/docs/install.rst 2018-09-04 03:49:19.000000000 +0200
+++ new/django-registration-3.0.1/docs/install.rst 2019-05-07 21:08:04.000000000 +0200
@@ -5,7 +5,7 @@
==================
The |release| release of django-registration supports Django 1.11,
-2.0 and 2.1 on the following Python versions:
+2.0, 2.1, and 2.2 on the following Python versions:
* Django 1.11 supports Python 2.7, 3.4, 3.5 and 3.6.
@@ -13,6 +13,8 @@
* Django 2.1 supports Python 3.5, 3.6 and 3.7.
+* Django 2.2 supports Python 3.5, 3.6, and 3.7.
+
Normal installation
-------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/docs/one-step-workflow.rst new/django-registration-3.0.1/docs/one-step-workflow.rst
--- old/django-registration-3.0/docs/one-step-workflow.rst 2018-09-04 06:53:21.000000000 +0200
+++ new/django-registration-3.0.1/docs/one-step-workflow.rst 2018-10-06 12:52:50.000000000 +0200
@@ -52,7 +52,7 @@
from django.conf.urls import include, url
- from django_registration.backends.one_step import RegistrationView
+ from django_registration.backends.one_step.views import RegistrationView
urlpatterns = [
# Other URL patterns ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/docs/security.rst new/django-registration-3.0.1/docs/security.rst
--- old/django-registration-3.0/docs/security.rst 2018-09-04 07:50:37.000000000 +0200
+++ new/django-registration-3.0.1/docs/security.rst 2018-10-06 12:52:50.000000000 +0200
@@ -155,7 +155,7 @@
which uses a list of twenty thousand common passwords. A more
comprehensive option is the password validator and other utilities
from `pwned-passwords-django
- <https://pwned-passwords-django.readthedocs.io/en/1.2.1/>`_, which
+ <https://pwned-passwords-django.readthedocs.io/en/stable/>`_, which
checks against a database containing (as of mid-2018) over half a
billion passwords found in data breaches.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/docs/upgrade.rst new/django-registration-3.0.1/docs/upgrade.rst
--- old/django-registration-3.0/docs/upgrade.rst 2018-09-04 07:51:20.000000000 +0200
+++ new/django-registration-3.0.1/docs/upgrade.rst 2019-05-07 21:07:35.000000000 +0200
@@ -9,6 +9,22 @@
release series.
+Changes within the 3.x series
+-----------------------------
+
+Within the 3.x release series, there have been several minor changes
+and improvements, documented here along with the version in which they
+occurred.
+
+django-registration 3.0.1
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* The :ref:`custom validators <validators>` are now serializable.
+
+* Although no code changes were required, this release officially
+ marks itself compatible with Python 3.7 and with django 2.2.
+
+
Changes between django-registration 2.x and 3.x
-----------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/setup.py new/django-registration-3.0.1/setup.py
--- old/django-registration-3.0/setup.py 2018-09-04 09:29:16.000000000 +0200
+++ new/django-registration-3.0.1/setup.py 2019-05-07 21:17:06.000000000 +0200
@@ -1,10 +1,14 @@
+import os
+
from setuptools import find_packages, setup
setup(name='django-registration',
zip_safe=False, # eggs are the devil.
- version='3.0',
+ version='3.0.1',
description='An extensible user-registration application for Django',
+ long_description=open(os.path.join(os.path.dirname(__file__),
+ 'README.rst')).read(),
author='James Bennett',
author_email='james(a)b-list.org',
url='https://github.com/ubernostrum/django-registration/',
@@ -18,6 +22,7 @@
'Framework :: Django :: 1.11',
'Framework :: Django :: 2.0',
'Framework :: Django :: 2.1',
+ 'Framework :: Django :: 2.2',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/src/django_registration/validators.py new/django-registration-3.0.1/src/django_registration/validators.py
--- old/django-registration-3.0/src/django_registration/validators.py 2018-09-03 14:35:06.000000000 +0200
+++ new/django-registration-3.0.1/src/django_registration/validators.py 2019-05-07 21:02:19.000000000 +0200
@@ -6,9 +6,9 @@
import unicodedata
from confusable_homoglyphs import confusables
-from django.contrib.auth import get_user_model
from django.core.exceptions import ValidationError
from django.utils import six
+from django.utils.deconstruct import deconstructible
from django.utils.translation import ugettext_lazy as _
@@ -25,9 +25,6 @@
TOS_REQUIRED = _(u"You must agree to the terms to register")
-User = get_user_model()
-
-
# Below we construct a large but non-exhaustive list of names which
# users probably should not be able to register with, due to various
# risks:
@@ -190,6 +187,7 @@
)
+@deconstructible
class ReservedNameValidator(object):
"""
Validator which disallows many reserved names as form field
@@ -210,7 +208,11 @@
RESERVED_NAME, code='invalid'
)
+ def __eq__(self, other):
+ return self.reserved_names == other.reserved_names
+
+@deconstructible
class CaseInsensitiveUnique(object):
"""
Validator which performs a case-insensitive uniqueness check.
@@ -233,6 +235,11 @@
}).exists():
raise ValidationError(self.error_message, code='unique')
+ def __eq__(self, other):
+ return self.model == other.model and \
+ self.field_name == other.field_name and \
+ self.error_message == other.error_message
+
def validate_confusables(value):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/src/django_registration.egg-info/PKG-INFO new/django-registration-3.0.1/src/django_registration.egg-info/PKG-INFO
--- old/django-registration-3.0/src/django_registration.egg-info/PKG-INFO 2018-09-04 09:29:32.000000000 +0200
+++ new/django-registration-3.0.1/src/django_registration.egg-info/PKG-INFO 2019-05-07 21:23:34.000000000 +0200
@@ -1,12 +1,24 @@
Metadata-Version: 1.2
Name: django-registration
-Version: 3.0
+Version: 3.0.1
Summary: An extensible user-registration application for Django
Home-page: https://github.com/ubernostrum/django-registration/
Author: James Bennett
Author-email: james(a)b-list.org
License: UNKNOWN
-Description: UNKNOWN
+Description: .. -*-restructuredtext-*-
+
+ .. image:: https://travis-ci.org/ubernostrum/django-registration.svg?branch=master
+ :target: https://travis-ci.org/ubernostrum/django-registration
+
+ This is a user-registration application for `Django
+ <https://www.djangoproject.com/>`_. There are two registration
+ workflows (one-step, and two-step with activation) built in, and it's
+ designed to be extensible and support building additional workflows.
+
+ Full documentation is `available online
+ <https://django-registration.readthedocs.io/>`_.
+
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
@@ -14,6 +26,7 @@
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Framework :: Django :: 2.1
+Classifier: Framework :: Django :: 2.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/tests/test_forms.py new/django-registration-3.0.1/tests/test_forms.py
--- old/django-registration-3.0/tests/test_forms.py 2018-09-03 14:39:21.000000000 +0200
+++ new/django-registration-3.0.1/tests/test_forms.py 2019-05-07 21:02:19.000000000 +0200
@@ -148,6 +148,22 @@
for value in (123456, 1.7, uuid.uuid4()):
self.assertTrue(validator(value) is None)
+ def test_reserved_name_validator_eq(self):
+ """
+ Test ReservedNameValidator __eq__ method.
+ __eq__ is necessary for serializing custom user models that use
+ the validator.
+
+ """
+ validator = validators.ReservedNameValidator()
+ validator_same = validators.ReservedNameValidator()
+ self.assertTrue(validator.__eq__(validator_same))
+
+ validator_different = validators.ReservedNameValidator(
+ reserved_names=[]
+ )
+ self.assertFalse(validator.__eq__(validator_different))
+
def test_case_insensitive_validator(self):
"""
Test the case-insensitive username validator.
@@ -187,6 +203,29 @@
validator(conflict)
existing_user.delete()
+ def test_case_insensitive_validator_eq(self):
+ """
+ Test CaseInsensitiveUnique __eq__ method.
+ __eq__ is necessary for serializing custom user models that use
+ the validator.
+
+ """
+ validator = validators.CaseInsensitiveUnique(
+ self.user_model, self.user_model.USERNAME_FIELD,
+ validators.DUPLICATE_USERNAME
+ )
+ validator_same = validators.CaseInsensitiveUnique(
+ self.user_model, self.user_model.USERNAME_FIELD,
+ validators.DUPLICATE_USERNAME
+ )
+ self.assertTrue(validator.__eq__(validator_same))
+
+ validator_different = validators.CaseInsensitiveUnique(
+ self.user_model, 'not username field',
+ validators.DUPLICATE_USERNAME
+ )
+ self.assertFalse(validator.__eq__(validator_different))
+
def test_case_insensitive_form(self):
"""
Test the case-insensitive registration form.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-registration-3.0/tox.ini new/django-registration-3.0.1/tox.ini
--- old/django-registration-3.0/tox.ini 2018-09-02 15:00:29.000000000 +0200
+++ new/django-registration-3.0.1/tox.ini 2019-05-07 20:53:27.000000000 +0200
@@ -7,8 +7,8 @@
envlist =
{py27}-django{111}
{py34}-django{111,20}
- {py35,py36}-django{111,20,21}
- {py37}-django{20,21}
+ {py35,py36}-django{111,20,21,22}
+ {py37}-django{20,21,22}
docs
spelling
flake8
@@ -72,10 +72,12 @@
django111: Django>=1.11,<2.0
django20: Django>=2.0,<2.1
django21: Django>=2.1,<2.2
+ django22: Django>=2.2,<3.0
[travis]
python =
2.7: py27
3.4: py34
3.5: py35
- 3.6: py36, docs, flake8, isort, spelling
+ 3.6: py36
+ 3.7: py37, docs, flake8, isort, spelling
\ No newline at end of file
1
0
Hello community,
here is the log from the commit of package rtl8812au for openSUSE:Factory checked in at 2019-05-28 09:42:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rtl8812au (Old)
and /work/SRC/openSUSE:Factory/.rtl8812au.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rtl8812au"
Tue May 28 09:42:46 2019 rev:6 rq:705615 version:5.2.20.2+git20190520.6faa3ea
Changes:
--------
--- /work/SRC/openSUSE:Factory/rtl8812au/rtl8812au.changes 2019-02-02 21:50:02.243939854 +0100
+++ /work/SRC/openSUSE:Factory/.rtl8812au.new.5148/rtl8812au.changes 2019-05-28 09:42:49.489853429 +0200
@@ -1,0 +2,14 @@
+Mon May 27 09:19:54 UTC 2019 - Antonio Larrosa <alarrosa(a)suse.com>
+
+- Fix _service file so it follows Factory policies
+
+-------------------------------------------------------------------
+Mon May 27 00:32:15 UTC 2019 - Ryan Bach <romulasry(a)protonmail.com>
+
+- Update to 5.2.20.2+git1558384184.6faa3ea
+ * Fixes to make it work with kernel 5.1
+ * Fixes to make it work with kernel 5.2
+
+- Use obs_scm instead of depricated tar_scm service file for maintainability in the future
+
+-------------------------------------------------------------------
Old:
----
rtl8812au-5.2.20.2+git20190117.edcd447.tar.xz
New:
----
rtl8812au-5.2.20.2+git20190520.6faa3ea.obscpio
rtl8812au.obsinfo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rtl8812au.spec ++++++
--- /var/tmp/diff_new_pack.URn0xZ/_old 2019-05-28 09:42:51.365852780 +0200
+++ /var/tmp/diff_new_pack.URn0xZ/_new 2019-05-28 09:42:51.397852769 +0200
@@ -17,7 +17,7 @@
Name: rtl8812au
-Version: 5.2.20.2+git20190117.edcd447
+Version: 5.2.20.2+git20190520.6faa3ea
Release: 0
Summary: Kernel driver for Realtek 802.11ac 8812au wifi cards
License: GPL-2.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.URn0xZ/_old 2019-05-28 09:42:51.877852603 +0200
+++ /var/tmp/diff_new_pack.URn0xZ/_new 2019-05-28 09:42:51.901852595 +0200
@@ -1,14 +1,14 @@
<services>
- <service name="tar_scm" mode="disabled">
- <param name="url">https://github.com/gordboy/rtl8812au</param>
+ <service name="obs_scm" mode="disabled">
<param name="scm">git</param>
- <param name="versionformat">5.2.20.2+git%cd.%h</param>
- <param name="revision">master</param>
+ <param name="url">https://github.com/gordboy/rtl8812au.git</param>
<param name="filename">rtl8812au</param>
+ <param name="versionformat">5.2.20.2+git%cd.%h</param>
</service>
- <service name="recompress" mode="disabled">
- <param name="file">*.tar</param>
+ <service name="set_version" mode="disabled"/>
+ <service name="tar" mode="buildtime"/>
+ <service name="recompress" mode="buildtime">
<param name="compression">xz</param>
+ <param name="file">*.tar</param>
</service>
- <service name="set_version" mode="disabled"/>
</services>
++++++ rtl8812au.obsinfo ++++++
name: rtl8812au
version: 5.2.20.2+git20190520.6faa3ea
mtime: 1558384184
commit: 6faa3eaf8916667cb7f4ab59923b3608e6ab7b18
1
0
Hello community,
here is the log from the commit of package crmsh for openSUSE:Factory checked in at 2019-05-28 09:42:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crmsh (Old)
and /work/SRC/openSUSE:Factory/.crmsh.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "crmsh"
Tue May 28 09:42:42 2019 rev:157 rq:705613 version:4.0.0+git.1558430233.89bb6eec
Changes:
--------
--- /work/SRC/openSUSE:Factory/crmsh/crmsh.changes 2019-05-10 09:19:15.732415788 +0200
+++ /work/SRC/openSUSE:Factory/.crmsh.new.5148/crmsh.changes 2019-05-28 09:42:45.541854796 +0200
@@ -1,0 +2,17 @@
+Tue May 21 09:17:59 UTC 2019 - krig(a)koru.se
+
+- Update to version 4.0.0+git.1558430233.89bb6eec:
+ * Fix: bootstrap: bindnetaddr should accept both network and specific IP(bsc#1135585, bsc#1135586)
+ * Fix: hb_report: analysis.txt should includes warning, error, critical messages(bsc#1135696)
+ * Remove landscape.io
+ * medium: ui_node: Check corosync state before clearstate (bsc#1129702)
+
+-------------------------------------------------------------------
+Mon May 20 09:31:06 UTC 2019 - krig(a)koru.se
+
+- Update to version 4.0.0+git.1558344349.9cd3669a:
+ * fix: hb_report: handle UnicodeDecodeError(bsc#1130715) * setting error='replace' to replace invalid utf-8 characters * try to catch UnicodeDecodeError and print traceback
+ * dev: hb_report: Using Tempfile class to manage tempfiles
+ * dev: unittest: add test_report.py to test hb_report module
+
+-------------------------------------------------------------------
Old:
----
crmsh-4.0.0+git.1557307618.dc73b57b.tar.bz2
New:
----
crmsh-4.0.0+git.1558430233.89bb6eec.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ crmsh.spec ++++++
--- /var/tmp/diff_new_pack.8JMCpd/_old 2019-05-28 09:42:46.393854501 +0200
+++ /var/tmp/diff_new_pack.8JMCpd/_new 2019-05-28 09:42:46.417854492 +0200
@@ -36,7 +36,7 @@
Summary: High Availability cluster command-line interface
License: GPL-2.0-or-later
Group: %{pkg_group}
-Version: 4.0.0+git.1557307618.dc73b57b
+Version: 4.0.0+git.1558430233.89bb6eec
Release: 0
Url: http://crmsh.github.io
Source0: %{name}-%{version}.tar.bz2
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.8JMCpd/_old 2019-05-28 09:42:46.881854332 +0200
+++ /var/tmp/diff_new_pack.8JMCpd/_new 2019-05-28 09:42:46.905854324 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/ClusterLabs/crmsh.git</param>
- <param name="changesrevision">dc73b57b255d9b2a2fbf6cca0c459a63c2c76624</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">89bb6eec61701c1e6675dda65b48be19e18754f3</param></service></servicedata>
\ No newline at end of file
++++++ crmsh-4.0.0+git.1557307618.dc73b57b.tar.bz2 -> crmsh-4.0.0+git.1558430233.89bb6eec.tar.bz2 ++++++
++++ 1696 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package csync2 for openSUSE:Factory checked in at 2019-05-28 09:42:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/csync2 (Old)
and /work/SRC/openSUSE:Factory/.csync2.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "csync2"
Tue May 28 09:42:38 2019 rev:23 rq:705608 version:2.0+git.1542296533.b974921
Changes:
--------
--- /work/SRC/openSUSE:Factory/csync2/csync2.changes 2018-08-20 16:19:07.656797667 +0200
+++ /work/SRC/openSUSE:Factory/.csync2.new.5148/csync2.changes 2019-05-28 09:42:41.365856242 +0200
@@ -1,0 +2,27 @@
+Mon May 27 08:13:02 UTC 2019 - Kristoffer Gronlund <kgronlund(a)suse.com>
+
+- Update to 2.0+git.1542296533.b974921:
+ * Convert documentation to asciidoc
+ * Add error handling for out-of-memory while parsing config file
+ * create_key: use all random bits; add some error handling
+
+- Update patches
+ * Add 0001-Add-COPYING-as-docfile.patch
+ * Add 0002-Patch-sonames.patch
+ * Add 0003-Set-AC_PROG_CPP-in-configure.ac.patch
+ * Remove add-COPYING.patch
+ * Remove add-ac_prog_cpp.patch
+ * Remove fix-sonames.patch
+
+-------------------------------------------------------------------
+Mon May 27 08:13:02 UTC 2019 - Kristoffer Gronlund <kgronlund(a)suse.com>
+
+- Update patches
+ * Add 0001-Add-COPYING-as-docfile.patch
+ * Add 0002-Patch-sonames.patch
+ * Add 0003-Set-AC_PROG_CPP-in-configure.ac.patch
+ * Remove add-COPYING.patch
+ * Remove add-ac_prog_cpp.patch
+ * Remove fix-sonames.patch
+
+-------------------------------------------------------------------
Old:
----
add-COPYING.patch
add-ac_prog_cpp.patch
csync2-2.0+git.1529072214.b66d298.tar.bz2
fix-sonames.patch
New:
----
0001-Add-COPYING-as-docfile.patch
0002-Patch-sonames.patch
0003-Set-AC_PROG_CPP-in-configure.ac.patch
csync2-2.0+git.1542296533.b974921.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ csync2.spec ++++++
--- /var/tmp/diff_new_pack.W3ENcG/_old 2019-05-28 09:42:43.357855552 +0200
+++ /var/tmp/diff_new_pack.W3ENcG/_new 2019-05-28 09:42:43.381855544 +0200
@@ -1,7 +1,7 @@
#
# spec file for package csync2
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,12 +12,12 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: csync2
-Version: 2.0+git.1529072214.b66d298
+Version: 2.0+git.1542296533.b974921
Release: 0
Summary: Cluster synchronization tool
License: GPL-2.0-or-later
@@ -29,12 +29,12 @@
Source2: csync2-rm-ssl-cert
Source3: csync2.socket
Source4: csync2@.service
-# PATCH-FIX-UPSTREAM -- add-ac_prog_cpp.patch tserong(a)suse.com -- fix ugly ./configure warnings about missing headers
-Patch10: add-ac_prog_cpp.patch
-# PATCH-FIX-UPSTREAM -- fix-sonames.patch tserong(a)suse.com -- use properly versioned sonames in dlopen()
-Patch12: fix-sonames.patch
-# PATCH-FIX-UPSTREAM -- add-COPYING.patch tserong(a)suse.com -- ensure COPYING is present in docfiles and thus %doc
-Patch13: add-COPYING.patch
+# PATCH-FIX-UPSTREAM -- tserong(a)suse.com -- fix ugly ./configure warnings about missing headers
+Patch10: 0003-Set-AC_PROG_CPP-in-configure.ac.patch
+# PATCH-FIX-UPSTREAM -- tserong(a)suse.com -- use properly versioned sonames in dlopen()
+Patch12: 0002-Patch-sonames.patch
+# PATCH-FIX-UPSTREAM -- tserong(a)suse.com -- ensure COPYING is present in docfiles and thus %doc
+Patch13: 0001-Add-COPYING-as-docfile.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
@@ -90,22 +90,17 @@
%service_add_post csync2.socket
umask 077
if [ ! -f %{_sysconfdir}/csync2/csync2_ssl_key.pem ]; then
-%{_bindir}/openssl genrsa -rand /proc/apm:/proc/cpuinfo:/proc/dma:/proc/filesystems:/proc/interrupts:/proc/ioports:/proc/pci:/proc/rtc:/proc/uptime 1024 > %{_sysconfdir}/csync2/csync2_ssl_key.pem 2>/dev/null
+ %{_bindir}/openssl genrsa -out %{_sysconfdir}/csync2/csync2_ssl_key.pem 1024
fi
FQDN=`hostname`
if [ "x${FQDN}" = "x" ]; then
FQDN=localhost.localdomain
fi
if [ ! -f %{_sysconfdir}/csync2/csync2_ssl_cert.pem ]; then
-cat << EOF | %{_bindir}/openssl req -new -key %{_sysconfdir}/csync2/csync2_ssl_key.pem -x509 -days 3000 -out %{_sysconfdir}/csync2/csync2_ssl_cert.pem 2>/dev/null
---
-SomeState
-SomeCity
-SomeOrganization
-SomeOrganization
-SomeName
-name(a)example.com
-EOF
+ yes '' | %{_bindir}/openssl req -new -key %{_sysconfdir}/csync2/csync2_ssl_key.pem -out %{_sysconfdir}/csync2/csync2_ssl_cert.csr
+ %{_bindir}/openssl x509 -req -days 3000 -in %{_sysconfdir}/csync2/csync2_ssl_cert.csr -signkey %{_sysconfdir}/csync2/csync2_ssl_key.pem \
+ -out %{_sysconfdir}/csync2/csync2_ssl_cert.pem
+ rm %{_sysconfdir}/csync2/csync2_ssl_cert.csr
fi
%preun
++++++ 0001-Add-COPYING-as-docfile.patch ++++++
>From 2488638523147ff0a4fc0643736153d1cb015334 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristoffer=20Gr=C3=B6nlund?= <krig(a)koru.se>
Date: Mon, 27 May 2019 07:09:16 +0200
Subject: [PATCH 1/3] Add COPYING as docfile
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index a938da6..e25d1d4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -40,7 +40,7 @@ CLEANFILES = cfgfile_parser.c cfgfile_parser.h cfgfile_scanner.c \
DISTCLEANFILES = config.status config.h .deps/*.Po stamp-h1 Makefile Makefile.in configure
-docfiles = ChangeLog README.adoc AUTHORS.adoc doc/csync2.adoc
+docfiles = ChangeLog README.adoc AUTHORS.adoc doc/csync2.adoc COPYING
doc_DATA = $(docfiles)
dist_doc_DATA = $(docfiles)
--
2.21.0
++++++ 0002-Patch-sonames.patch ++++++
>From 61fc9b93569fd17399404eebe68f8b45b07e1d86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristoffer=20Gr=C3=B6nlund?= <krig(a)koru.se>
Date: Mon, 27 May 2019 07:10:23 +0200
Subject: [PATCH 2/3] Patch sonames
---
db_mysql.c | 8 ++++----
db_postgres.c | 8 ++++----
db_sqlite2.c | 11 ++++-------
3 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/db_mysql.c b/db_mysql.c
index 9570fd0..21e5887 100644
--- a/db_mysql.c
+++ b/db_mysql.c
@@ -53,16 +53,16 @@ static void *dl_handle;
static void db_mysql_dlopen(void)
{
- csync_debug(2, "Opening shared library libmysqlclient.so\n");
- dl_handle = dlopen("libmysqlclient.so", RTLD_LAZY);
+ csync_debug(2, "Opening shared library libmysqlclient.so.18\n");
+ dl_handle = dlopen("libmysqlclient.so.18", RTLD_LAZY);
if (dl_handle == NULL) {
csync_fatal
- ("Could not open libmysqlclient.so: %s\n"
+ ("Could not open libmysqlclient.so.18: %s\n"
"Please install Mysql client library (libmysqlclient) or use other database (sqlite, postgres)\n",
dlerror());
}
- csync_debug(2, "Reading symbols from shared library libmysqlclient.so\n");
+ csync_debug(2, "Reading symbols from shared library libmysqlclient.so.18\n");
LOOKUP_SYMBOL(dl_handle, mysql_init);
LOOKUP_SYMBOL(dl_handle, mysql_real_connect);
diff --git a/db_postgres.c b/db_postgres.c
index 5aa3355..beea8ae 100644
--- a/db_postgres.c
+++ b/db_postgres.c
@@ -58,16 +58,16 @@ static void *dl_handle;
static void db_postgres_dlopen(void)
{
- csync_debug(2, "Opening shared library libpq.so\n");
+ csync_debug(2, "Opening shared library libpq.so.5\n");
- dl_handle = dlopen("libpq.so", RTLD_LAZY);
+ dl_handle = dlopen("libpq.so.5", RTLD_LAZY);
if (dl_handle == NULL) {
csync_fatal
- ("Could not open libpq.so: %s\n"
+ ("Could not open libpq.so.5: %s\n"
"Please install postgres client library (libpg) or use other database (sqlite, mysql)\n",
dlerror());
}
- csync_debug(2, "Reading symbols from shared library libpq.so\n");
+ csync_debug(2, "Reading symbols from shared library libpq.so.5\n");
LOOKUP_SYMBOL(dl_handle, PQconnectdb);
LOOKUP_SYMBOL(dl_handle, PQstatus);
diff --git a/db_sqlite2.c b/db_sqlite2.c
index 577cbcb..485b065 100644
--- a/db_sqlite2.c
+++ b/db_sqlite2.c
@@ -54,20 +54,17 @@ static void *dl_handle;
static void db_sqlite_dlopen(void)
{
- csync_debug(2, "Opening shared library libsqlite.so\n");
+ csync_debug(2, "Opening shared library libsqlite.so.0\n");
- dl_handle = dlopen("libsqlite.so", RTLD_LAZY);
+ dl_handle = dlopen("libsqlite.so.0", RTLD_LAZY);
if (dl_handle == NULL) {
- csync_debug(1, "Libsqlite.so not found, trying libsqlite.so.0\n");
- dl_handle = dlopen("libsqlite.so.0", RTLD_LAZY);
- if (dl_handle == NULL) {
csync_fatal
- ("Could not open libsqlite.so: %s\n"
+ ("Could not open libsqlite.so.0: %s\n"
"Please install sqlite client library (libsqlite) or use other database (postgres, mysql)\n",
dlerror());
}
}
- csync_debug(2, "Opening shared library libsqlite.so\n");
+ csync_debug(2, "Opening shared library libsqlite.so.0\n");
LOOKUP_SYMBOL(dl_handle, sqlite_open);
LOOKUP_SYMBOL(dl_handle, sqlite_close);
--
2.21.0
++++++ 0003-Set-AC_PROG_CPP-in-configure.ac.patch ++++++
>From a1b5fdcd3b641717cdb0bfa2342d265831dc86e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristoffer=20Gr=C3=B6nlund?= <krig(a)koru.se>
Date: Mon, 27 May 2019 07:11:21 +0200
Subject: [PATCH 3/3] Set AC_PROG_CPP in configure.ac
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index 3d2c27d..169e302 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,6 +29,7 @@ AM_CONFIG_HEADER(config.h)
# Checks for programs.
AC_PROG_CC
+AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_YACC
AM_PROG_LEX
--
2.21.0
++++++ csync2-2.0+git.1529072214.b66d298.tar.bz2 -> csync2-2.0+git.1542296533.b974921.tar.bz2 ++++++
++++ 2804 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package wine for openSUSE:Factory checked in at 2019-05-28 09:42:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wine (Old)
and /work/SRC/openSUSE:Factory/.wine.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wine"
Tue May 28 09:42:33 2019 rev:278 rq:705606 version:4.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/wine/wine.changes 2019-05-14 13:43:10.428615476 +0200
+++ /work/SRC/openSUSE:Factory/.wine.new.5148/wine.changes 2019-05-28 09:42:37.701857510 +0200
@@ -1,0 +2,12 @@
+Sun May 26 08:30:03 UTC 2019 - Marcus Meissner <meissner(a)suse.com>
+
+- updated to 4.9 development release
+ - Initial support for installing Plug and Play drivers.
+ - Support for building 16-bit modules in PE format.
+ - A lot of code moved to the new KernelBase DLL.
+ - Various game controller fixes.
+ - Use higher performance system clocks if available.
+ - Various bug fixes.
+- updated staging to 4.9
+
+-------------------------------------------------------------------
Old:
----
wine-4.8.tar.xz
wine-4.8.tar.xz.sign
wine-staging-4.8.tar.xz
New:
----
wine-4.9.tar.xz
wine-4.9.tar.xz.sign
wine-staging-4.9.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wine.spec ++++++
--- /var/tmp/diff_new_pack.hoVXHu/_old 2019-05-28 09:42:39.477856895 +0200
+++ /var/tmp/diff_new_pack.hoVXHu/_new 2019-05-28 09:42:39.477856895 +0200
@@ -108,8 +108,8 @@
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xxf86vm)
BuildRequires: pkgconfig(zlib)
-%define realver 4.8
-Version: 4.8
+%define realver 4.9
+Version: 4.9
Release: 0
Summary: An MS Windows Emulator
License: LGPL-2.1-or-later
@@ -143,7 +143,7 @@
ExclusiveArch: %{ix86} x86_64 ppc %arm aarch64
%if %{staging}
# upstream patch target version
-%define staging_version 4.8
+%define staging_version 4.9
Source100: wine-staging-%{staging_version}.tar.xz
BuildRequires: gtk3-devel
BuildRequires: libOSMesa-devel
++++++ _service ++++++
--- /var/tmp/diff_new_pack.hoVXHu/_old 2019-05-28 09:42:40.001856714 +0200
+++ /var/tmp/diff_new_pack.hoVXHu/_new 2019-05-28 09:42:40.017856708 +0200
@@ -3,7 +3,7 @@
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="url">https://github.com/wine-staging/wine-staging.git</param>
- <param name="revision">refs/tags/v4.8</param>
+ <param name="revision">refs/tags/v4.9</param>
<param name="match-tag">v*.*</param>
<param name="scm">git</param>
</service>
++++++ wine-4.8.tar.xz -> wine-4.9.tar.xz ++++++
/work/SRC/openSUSE:Factory/wine/wine-4.8.tar.xz /work/SRC/openSUSE:Factory/.wine.new.5148/wine-4.9.tar.xz differ: char 26, line 1
++++++ wine-staging-4.8.tar.xz -> wine-staging-4.9.tar.xz ++++++
/work/SRC/openSUSE:Factory/wine/wine-staging-4.8.tar.xz /work/SRC/openSUSE:Factory/.wine.new.5148/wine-staging-4.9.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package buildstream for openSUSE:Factory checked in at 2019-05-28 09:42:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/buildstream (Old)
and /work/SRC/openSUSE:Factory/.buildstream.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "buildstream"
Tue May 28 09:42:29 2019 rev:11 rq:705586 version:1.2.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/buildstream/buildstream.changes 2019-03-28 22:49:32.811045391 +0100
+++ /work/SRC/openSUSE:Factory/.buildstream.new.5148/buildstream.changes 2019-05-28 09:42:30.145860126 +0200
@@ -1,0 +2,31 @@
+Sun May 26 08:52:06 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 1.2.7:
+ + Improved messaging around unknown artifact cache keys.
+ + Fixed crash which occurs when deleting artifact cache with open
+ workspaces.
+ + Fixed `bst --no-strict build --track-all ...` which sometimes
+ exited successfully without building anything.
+ + Fixed incorrect error message with malformed YAML in
+ project.conf.
+
+-------------------------------------------------------------------
+Thu May 23 09:26:16 UTC 2019 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Require python3-click (boo#1116806).
+
+-------------------------------------------------------------------
+Tue Apr 30 11:07:14 UTC 2019 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Update to version 1.2.6:
+ + Fix 'quit' option when interrupting a build.
+ + Only queue one cache size calculation job at a time.
+ + Fix stack traces on forceful termination.
+ + Fix scheduler processing order regression.
+ + Fix race condition in bzr source plugin.
+ + Better error messages for insufficient disk space.
+ + UI/Logging improvements regarding cache quota usage.
+ + Fix `bst push` in non-strict mode.
+ + Fix crash (regression) when tracking a single element.
+
+-------------------------------------------------------------------
Old:
----
BuildStream-1.2.5.tar.xz
New:
----
BuildStream-1.2.7.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ buildstream.spec ++++++
--- /var/tmp/diff_new_pack.YBJphF/_old 2019-05-28 09:42:31.065859807 +0200
+++ /var/tmp/diff_new_pack.YBJphF/_new 2019-05-28 09:42:31.069859806 +0200
@@ -18,14 +18,13 @@
%define real_name BuildStream
Name: buildstream
-Version: 1.2.5
+Version: 1.2.7
Release: 0
Summary: A framework for modelling build pipelines in YAML
License: LGPL-2.1-or-later
Group: Development/Tools/Building
URL: https://wiki.gnome.org/Projects/BuildStream
Source0: https://download.gnome.org/sources/BuildStream/1.2/%{real_name}-%{version}.…
-
BuildRequires: bubblewrap
BuildRequires: fdupes
BuildRequires: python3-base >= 3.4
@@ -36,6 +35,7 @@
BuildRequires: typelib-1_0-OSTree-1_0
Requires: bubblewrap
Requires: python3-base >= 3.4
+Requires: python3-click
Requires: python3-gobject
Requires: python3-psutil
Requires: python3-ruamel.yaml
++++++ BuildStream-1.2.5.tar.xz -> BuildStream-1.2.7.tar.xz ++++++
++++ 3273 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package lasem for openSUSE:Factory checked in at 2019-05-28 09:42:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lasem (Old)
and /work/SRC/openSUSE:Factory/.lasem.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lasem"
Tue May 28 09:42:25 2019 rev:10 rq:705585 version:0.4.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/lasem/lasem.changes 2018-03-09 10:39:58.976968482 +0100
+++ /work/SRC/openSUSE:Factory/.lasem.new.5148/lasem.changes 2019-05-28 09:42:28.717860620 +0200
@@ -1,0 +2,6 @@
+Sun May 26 08:47:15 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 0.4.4:
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
lasem-0.4.3.tar.xz
New:
----
lasem-0.4.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lasem.spec ++++++
--- /var/tmp/diff_new_pack.NxQ7NC/_old 2019-05-28 09:42:29.245860437 +0200
+++ /var/tmp/diff_new_pack.NxQ7NC/_new 2019-05-28 09:42:29.249860435 +0200
@@ -1,7 +1,7 @@
#
# spec file for package lasem
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,13 +12,13 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define api 0.4
Name: lasem
-Version: 0.4.3
+Version: 0.4.4
Release: 0
Summary: MathML and SVG rendering library
License: LGPL-2.1-or-later
++++++ lasem-0.4.3.tar.xz -> lasem-0.4.4.tar.xz ++++++
++++ 33288 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package gitg for openSUSE:Factory checked in at 2019-05-28 09:42:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gitg (Old)
and /work/SRC/openSUSE:Factory/.gitg.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gitg"
Tue May 28 09:42:20 2019 rev:49 rq:705580 version:3.32.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/gitg/gitg.changes 2019-02-11 21:27:52.886999777 +0100
+++ /work/SRC/openSUSE:Factory/.gitg.new.5148/gitg.changes 2019-05-28 09:42:23.229862519 +0200
@@ -1,0 +2,30 @@
+Fri May 24 13:26:30 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 3.32.0:
+ + Detect links in commit messages.
+ + Push action with http/ssh support.
+ + Fix time sort mode.
+ + Add push support.
+ + Add typeahead find feature.
+ + Respect system fonts.
+ + Update submodules at clone.
+ + Add body to patch.
+ + Shorcut to open preferences.
+ + Honor GIT_DIR env.
+ + Update menus for AppMenu removal.
+ + Bump libgit2 to 0.27.
+ + Use Unicode typography in user-visible strings.
+ + Fix shared library paths in typelib files.
+ + Migrate from Intltool to Gettext.
+ + Meson polish.
+ + Removed autotools.
+ + Fixes in documentation.
+ + Fixed several deprecations.
+ + Misc fixes.
+- Drop upstream fixed patches:
+ + gitg-Bump-libgit2-glib-dependency.patch.
+ + gitg-Various-meson-build-fixes.patch.
+- Add pkgconfig(libdazzle-1.0) BuildRequires: New dependency.
+- Drop intltool BuildRequires: No longer needed, nor used.
+
+-------------------------------------------------------------------
Old:
----
gitg-3.30.1.tar.xz
gitg-Bump-libgit2-glib-dependency.patch
gitg-Various-meson-build-fixes.patch
New:
----
gitg-3.32.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gitg.spec ++++++
--- /var/tmp/diff_new_pack.FExYGo/_old 2019-05-28 09:42:24.457862094 +0200
+++ /var/tmp/diff_new_pack.FExYGo/_new 2019-05-28 09:42:24.461862093 +0200
@@ -17,21 +17,18 @@
Name: gitg
-Version: 3.30.1
+Version: 3.32.0
Release: 0
Summary: Git repository viewer
License: GPL-2.0-or-later
Group: Development/Tools/Version Control
URL: https://wiki.gnome.org/Apps/Gitg
-Source0: https://download.gnome.org/sources/gitg/3.30/%{name}-%{version}.tar.xz
-# PATCH-FIX-UPSTREAM gitg-Bump-libgit2-glib-dependency.patch -- Fix build with new libgit2-glib
-Patch0: gitg-Bump-libgit2-glib-dependency.patch
-# PATCH-FIX-UPSTREAM gitg-Various-meson-build-fixes.patch -- Various meson build fixes needed, all taken from upstream
-Patch1: gitg-Various-meson-build-fixes.patch
+Source0: https://download.gnome.org/sources/gitg/3.32/%{name}-%{version}.tar.xz
+
# PATCH-FIX-OPENSUSE gitg-typelib-dependencies.patch dimstar(a)opensuse.org -- Change the way we add library dependencies to .typelibs. openSUSE requires a full library name, incl. version
-Patch2: gitg-typelib-dependencies.patch
+Patch0: gitg-typelib-dependencies.patch
+
BuildRequires: fdupes
-BuildRequires: intltool
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: translation-update-upstream
@@ -46,6 +43,7 @@
BuildRequires: pkgconfig(gtksourceview-3.0) >= 3.10
BuildRequires: pkgconfig(gtkspell3-3.0) >= 3.0.3
BuildRequires: pkgconfig(json-glib-1.0)
+BuildRequires: pkgconfig(libdazzle-1.0)
BuildRequires: pkgconfig(libgit2-glib-1.0) >= 0.27.7
BuildRequires: pkgconfig(libpeas-1.0) >= 1.5.0
BuildRequires: pkgconfig(libpeas-gtk-1.0) >= 1.5.0
@@ -158,7 +156,7 @@
%install
%meson_install
-%suse_update_desktop_file -G "Git repository viewer" %{name} RevisionControl
+%suse_update_desktop_file -G "Git repository viewer" org.gnome.gitg RevisionControl
%find_lang %{name} %{?no_lang_C}
%fdupes %{buildroot}%{_datadir}
@@ -169,11 +167,11 @@
%files
%license COPYING
-%doc AUTHORS README NEWS
+%doc AUTHORS README.md NEWS
%{_bindir}/gitg
-%{_datadir}/metainfo/gitg.appdata.xml
+%{_datadir}/metainfo/org.gnome.gitg.appdata.xml
%{_datadir}/gitg/
-%{_datadir}/applications/gitg.desktop
+%{_datadir}/applications/org.gnome.gitg.desktop
%{_datadir}/glib-2.0/schemas/org.gnome.gitg.gschema.xml
%{_datadir}/icons/hicolor/
%{_libdir}/gitg/
++++++ gitg-3.30.1.tar.xz -> gitg-3.32.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/gitg/gitg-3.30.1.tar.xz /work/SRC/openSUSE:Factory/.gitg.new.5148/gitg-3.32.0.tar.xz differ: char 8, line 1
1
0
Hello community,
here is the log from the commit of package os-autoinst for openSUSE:Factory checked in at 2019-05-28 09:42:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
and /work/SRC/openSUSE:Factory/.os-autoinst.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst"
Tue May 28 09:42:15 2019 rev:62 rq:705571 version:4.5.1558854356.09e08ded
Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-test.changes 2019-05-27 08:39:07.919053512 +0200
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.5148/os-autoinst-test.changes 2019-05-28 09:42:18.525864148 +0200
@@ -1,0 +2,6 @@
+Mon May 27 06:50:41 UTC 2019 - okurz(a)suse.com
+
+- Update to version 4.5.1558854356.09e08ded:
+ * Log best candidate needle also on timeout
+
+-------------------------------------------------------------------
os-autoinst.changes: same change
Old:
----
os-autoinst-4.5.1558691185.f7da5cd0.obscpio
New:
----
os-autoinst-4.5.1558854356.09e08ded.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.N6Qg39/_old 2019-05-28 09:42:19.521863803 +0200
+++ /var/tmp/diff_new_pack.N6Qg39/_new 2019-05-28 09:42:19.525863802 +0200
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst
Name: %{short_name}%{?name_ext}
-Version: 4.5.1558691185.f7da5cd0
+Version: 4.5.1558854356.09e08ded
Release: 0
Summary: test package for os-autoinst
License: GPL-2.0-or-later
++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.N6Qg39/_old 2019-05-28 09:42:19.545863794 +0200
+++ /var/tmp/diff_new_pack.N6Qg39/_new 2019-05-28 09:42:19.549863793 +0200
@@ -17,7 +17,7 @@
Name: os-autoinst
-Version: 4.5.1558691185.f7da5cd0
+Version: 4.5.1558854356.09e08ded
Release: 0
Summary: OS-level test automation
License: GPL-2.0-or-later
++++++ os-autoinst-4.5.1558691185.f7da5cd0.obscpio -> os-autoinst-4.5.1558854356.09e08ded.obscpio ++++++
/work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-4.5.1558691185.f7da5cd0.obscpio /work/SRC/openSUSE:Factory/.os-autoinst.new.5148/os-autoinst-4.5.1558854356.09e08ded.obscpio differ: char 50, line 1
++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.N6Qg39/_old 2019-05-28 09:42:19.605863774 +0200
+++ /var/tmp/diff_new_pack.N6Qg39/_new 2019-05-28 09:42:19.605863774 +0200
@@ -1,5 +1,5 @@
name: os-autoinst
-version: 4.5.1558691185.f7da5cd0
-mtime: 1558691185
-commit: f7da5cd086dac10771e09db715116188313159f3
+version: 4.5.1558854356.09e08ded
+mtime: 1558854356
+commit: 09e08ded2780a9b877d37e483d559975b0465593
1
0
Hello community,
here is the log from the commit of package openwsman for openSUSE:Factory checked in at 2019-05-28 09:42:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openwsman (Old)
and /work/SRC/openSUSE:Factory/.openwsman.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openwsman"
Tue May 28 09:42:08 2019 rev:66 rq:705567 version:2.6.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/openwsman/openwsman.changes 2018-11-20 22:43:43.286254122 +0100
+++ /work/SRC/openSUSE:Factory/.openwsman.new.5148/openwsman.changes 2019-05-28 09:42:13.773865793 +0200
@@ -1,0 +2,16 @@
+Wed Apr 3 09:01:06 UTC 2019 - Adam Majer <adam.majer(a)suse.de>
+
+- bsc1122623.patch: (bsc#1122623, CVE-2019-3816, CVE-2019-3833)
+ + treat all non-registered by provider paths as invalid
+ + fix possible denial of service in path parsing
+- debug_fix.patch: fix compilation in debug mode
+- use OBS specific BuildIgnore syntax that is rpm friendly. This is
+ to prevent rpm parser from reporting errors.
+
+-------------------------------------------------------------------
+Tue Jan 8 09:27:48 UTC 2019 - olaf(a)aepfle.de
+
+- Remove comment from postun scriptlet because it generates a
+ script which is not understood by specified interpreter
+
+-------------------------------------------------------------------
New:
----
bsc1122623.patch
debug_fix.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openwsman.spec ++++++
--- /var/tmp/diff_new_pack.me3L0v/_old 2019-05-28 09:42:15.093865336 +0200
+++ /var/tmp/diff_new_pack.me3L0v/_new 2019-05-28 09:42:15.097865334 +0200
@@ -1,7 +1,7 @@
#
# spec file for package openwsman
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -44,7 +44,7 @@
%endif
%if 0%{?rhel_version} > 0
-BuildRequires: -vim
+#!BuildIgnore: vim
%endif
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
@@ -153,6 +153,8 @@
Source3: %{name}.SuSEfirewall2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source4: %{name}.service
+Patch2: bsc1122623.patch
+Patch3: debug_fix.patch
%description
OpenWSMAN is an implementation of the WS-Management protocol stack.
@@ -363,6 +365,8 @@
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
%patch1 -p1
%endif
+%patch2 -p1
+%patch3 -p1
%build
rm -rf build
@@ -408,7 +412,7 @@
%install
cd build
-%make_install
+DESTDIR=%{buildroot} make install
mkdir -p %{buildroot}/%{_docdir}
# don't copy ruby docs if they don't exist
[ -d bindings/ruby/html ] && cp -a bindings/ruby/html %{buildroot}/%{_docdir}/openwsman-ruby-docs
@@ -441,7 +445,6 @@
%post -n libwsman3 -p /sbin/ldconfig
%postun -n libwsman3 -p /sbin/ldconfig
-# follow http://en.opensuse.org/openSUSE:Systemd_packaging_guidelines
%if 0%{?has_systemd}
%pre server
if [ -f /var/lib/systemd/migrated/%{name} ]; then
++++++ bsc1122623.patch ++++++
Index: openwsman-2.6.7/src/server/shttpd/shttpd.c
===================================================================
--- openwsman-2.6.7.orig/src/server/shttpd/shttpd.c
+++ openwsman-2.6.7/src/server/shttpd/shttpd.c
@@ -336,10 +336,12 @@ date_to_epoch(const char *s)
}
static void
-remove_double_dots(char *s)
+remove_all_leading_dots(char *s)
{
char *p = s;
+ while (*s != '\0' && *s == '.') s++;
+
while (*s != '\0') {
*p++ = *s++;
if (s[-1] == '/' || s[-1] == '\\')
@@ -546,7 +548,7 @@ decide_what_to_do(struct conn *c)
*c->query++ = '\0';
_shttpd_url_decode(c->uri, strlen(c->uri), c->uri, strlen(c->uri) + 1);
- remove_double_dots(c->uri);
+ remove_all_leading_dots(c->uri);
root = c->ctx->options[OPT_ROOT];
if (strlen(c->uri) + strlen(root) >= sizeof(path)) {
@@ -556,6 +558,7 @@ decide_what_to_do(struct conn *c)
(void) _shttpd_snprintf(path, sizeof(path), "%s%s", root, c->uri);
+ DBG(("decide_what_to_do -> processed path: [%s]", path));
/* User may use the aliases - check URI for mount point */
if (is_alias(c->ctx, c->uri, &alias_uri, &alias_path) != NULL) {
(void) _shttpd_snprintf(path, sizeof(path), "%.*s%s",
@@ -572,7 +575,10 @@ decide_what_to_do(struct conn *c)
if ((ruri = _shttpd_is_registered_uri(c->ctx, c->uri)) != NULL) {
_shttpd_setup_embedded_stream(c,
ruri->callback, ruri->callback_data);
- } else
+ } else {
+ _shttpd_send_server_error(c, 403, "Forbidden");
+ }
+#if 0
if (strstr(path, HTPASSWD)) {
/* Do not allow to view passwords files */
_shttpd_send_server_error(c, 403, "Forbidden");
@@ -656,6 +662,7 @@ decide_what_to_do(struct conn *c)
} else {
_shttpd_send_server_error(c, 500, "Internal Error");
}
+#endif
}
static int
@@ -698,11 +705,11 @@ parse_http_request(struct conn *c)
_shttpd_send_server_error(c, 500, "Cannot allocate request");
}
+ io_inc_tail(&c->rem.io, req_len);
+
if (c->loc.flags & FLAG_CLOSED)
return;
- io_inc_tail(&c->rem.io, req_len);
-
DBG(("Conn %d: parsing request: [%.*s]", c->rem.chan.sock, req_len, s));
c->rem.flags |= FLAG_HEADERS_PARSED;
@@ -968,7 +975,7 @@ write_stream(struct stream *from, struct
}
-static void
+static int
connection_desctructor(struct llhead *lp)
{
struct conn *c = LL_ENTRY(lp, struct conn, link);
@@ -992,7 +999,8 @@ connection_desctructor(struct llhead *lp
* Check the "Connection: " header before we free c->request
* If it its 'keep-alive', then do not close the connection
*/
- do_close = (c->ch.connection.v_vec.len >= vec.len &&
+ do_close = c->rem.flags & FLAG_CLOSED ||
+ (c->ch.connection.v_vec.len >= vec.len &&
!_shttpd_strncasecmp(vec.ptr,c->ch.connection.v_vec.ptr,vec.len)) ||
(c->major_version < 1 ||
(c->major_version >= 1 && c->minor_version < 1));
@@ -1014,7 +1022,7 @@ connection_desctructor(struct llhead *lp
io_clear(&c->loc.io);
c->birth_time = _shttpd_current_time;
if (io_data_len(&c->rem.io) > 0)
- process_connection(c, 0, 0);
+ return 1;
} else {
if (c->rem.io_class != NULL)
c->rem.io_class->close(&c->rem);
@@ -1025,6 +1033,8 @@ connection_desctructor(struct llhead *lp
free(c);
}
+
+ return 0;
}
static void
@@ -1032,7 +1042,7 @@ worker_destructor(struct llhead *lp)
{
struct worker *worker = LL_ENTRY(lp, struct worker, link);
- free_list(&worker->connections, connection_desctructor);
+ free_list(&worker->connections, (void (*)(struct llhead *))connection_desctructor);
free(worker);
}
@@ -1065,6 +1075,8 @@ add_to_set(int fd, fd_set *set, int *max
static void
process_connection(struct conn *c, int remote_ready, int local_ready)
{
+again:
+
/* Read from remote end if it is ready */
if (remote_ready && io_space_len(&c->rem.io))
read_stream(&c->rem);
@@ -1093,7 +1105,11 @@ process_connection(struct conn *c, int r
if ((_shttpd_current_time > c->expire_time) ||
(c->rem.flags & FLAG_CLOSED) ||
((c->loc.flags & FLAG_CLOSED) && !io_data_len(&c->loc.io)))
- connection_desctructor(&c->link);
+ if (connection_desctructor(&c->link)) {
+ remote_ready = 0;
+ local_ready = 0;
+ goto again;
+ }
}
static int
@@ -1650,7 +1666,7 @@ worker_function(void *param)
while (worker->exit_flag == 0)
poll_worker(worker, 1000 * 10);
- free_list(&worker->connections, connection_desctructor);
+ free_list(&worker->connections, (void (*)(struct llhead *))connection_desctructor);
free(worker);
}
Index: openwsman-2.6.7/src/server/wsmand.c
===================================================================
--- openwsman-2.6.7.orig/src/server/wsmand.c
+++ openwsman-2.6.7/src/server/wsmand.c
@@ -198,6 +198,11 @@ static void daemonize(void)
int fd;
char *pid;
+ /* Change our CWD to service_path */
+ i=chdir("/");
+ // i=chdir(wsmand_options_get_service_path());
+ assert(i == 0);
+
if (wsmand_options_get_foreground_debug() > 0) {
return;
}
@@ -214,10 +219,6 @@ static void daemonize(void)
log_pid = 0;
setsid();
- /* Change our CWD to / */
- i=chdir("/");
- assert(i == 0);
-
/* Close all file descriptors. */
for (i = getdtablesize(); i >= 0; --i)
close(i);
++++++ debug_fix.patch ++++++
diff --git a/include/u/carpal.h b/include/u/carpal.h
index fd49617b..653fef58 100644
--- a/include/u/carpal.h
+++ b/include/u/carpal.h
@@ -16,6 +16,7 @@
#include <u/log.h>
+#include "./debug_internal.h"
#ifdef __cplusplus
extern "C" {
diff --git a/include/u/debug_internal.h b/include/u/debug_internal.h
index 03c000e6..6b59246b 100644
--- a/include/u/debug_internal.h
+++ b/include/u/debug_internal.h
@@ -52,8 +52,8 @@ struct _debug_handler_t {
};
typedef struct _debug_handler_t debug_handler_t;
-void debug_full(debug_level_e level, const char *format, ...);
-void debug_full_verbose(debug_level_e level, char *file,
+int debug_full(debug_level_e level, const char *format, ...);
+int debug_full_verbose(debug_level_e level, char *file,
int line, const char *proc, const char *format, ...);
// #define ENABLE_TRACING
diff --git a/src/lib/u/debug.c b/src/lib/u/debug.c
index d647cd47..300d981d 100644
--- a/src/lib/u/debug.c
+++ b/src/lib/u/debug.c
@@ -106,13 +106,14 @@ static void call_handlers(debug_level_e level, char *str)
}
-void debug_full(debug_level_e level, const char *format, ...)
+int debug_full(debug_level_e level, const char *format, ...)
{
va_list args;
char *str;
+ int ret = 0;
if (handlers == NULL) {
- return;
+ return -1;
}
va_start(args, format);
@@ -120,13 +121,15 @@ void debug_full(debug_level_e level, const char *format, ...)
va_end(args);
call_handlers(level, str);
+ ret = strlen(str);
u_free(str);
+ return ret;
}
-void
+int
debug_full_verbose(debug_level_e level,
char *file,
int line, const char *proc, const char *format, ...)
@@ -134,9 +137,10 @@ debug_full_verbose(debug_level_e level,
va_list args;
char *str;
char *body;
+ int ret = 0;
if (handlers == NULL) {
- return;
+ return -1;
}
va_start(args, format);
@@ -147,6 +151,8 @@ debug_full_verbose(debug_level_e level,
u_free(body);
call_handlers(level, str);
+ ret = strlen(str);
u_free(str);
+ return ret;
}
diff --git a/src/lib/u/uri.c b/src/lib/u/uri.c
index be5fe47e..e210ffc2 100644
--- a/src/lib/u/uri.c
+++ b/src/lib/u/uri.c
@@ -7,6 +7,7 @@ static const char rcsid[] =
#ifdef HAVE_CONFIG_H
#include <wsman_config.h>
#endif
+#include <ctype.h>
#include <stdlib.h>
#include <string.h>
1
0
Hello community,
here is the log from the commit of package yamagi-quake2 for openSUSE:Factory checked in at 2019-05-28 09:42:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yamagi-quake2 (Old)
and /work/SRC/openSUSE:Factory/.yamagi-quake2.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yamagi-quake2"
Tue May 28 09:42:06 2019 rev:13 rq:705521 version:7.41
Changes:
--------
--- /work/SRC/openSUSE:Factory/yamagi-quake2/yamagi-quake2.changes 2019-02-08 12:16:02.433410022 +0100
+++ /work/SRC/openSUSE:Factory/.yamagi-quake2.new.5148/yamagi-quake2.changes 2019-05-28 09:42:06.893868173 +0200
@@ -1,0 +2,20 @@
+Sun May 26 15:03:51 UTC 2019 - Martin Hauke <mardnh(a)gmx.de>
+
+- Update to version 7.41
+ * Some bugfixes to HTTP downloads introduced in 7.40.
+ * Fix several crashes when loading savegames in coop.
+ * Fix some out of memory aborts when loading maps with a lot
+ surfaces.
+ * Allow autodetection of the desktop resolution. Set 'r_mode' to
+ '-2' to enable that.
+ * Several fixes to the OpenGL 3.2 renderer. Some dynamic lights
+ were missing, for example for most explosions. Stencil shadows
+ were broken under some conditions. Intel Ivy Bridge didn't work.
+ Under some conditions lights were too bright.
+ * Add an optional fix for lighting problems in maps that misuse
+ sky surfaces for interior lighting. Set 'gl_fixsurfsky' to '1'
+ to enable it.
+ * Another bunch of timing fixes. The game should now hold the
+ framerate under all conditions.
+
+-------------------------------------------------------------------
Old:
----
quake2-7.40.tar.xz
New:
----
quake2-7.41.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yamagi-quake2.spec ++++++
--- /var/tmp/diff_new_pack.15zKiH/_old 2019-05-28 09:42:07.677867902 +0200
+++ /var/tmp/diff_new_pack.15zKiH/_new 2019-05-28 09:42:07.677867902 +0200
@@ -13,12 +13,12 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: yamagi-quake2
-Version: 7.40
+Version: 7.41
Release: 0
Summary: Enhanced Quake 2 Source Port
License: GPL-2.0-only
@@ -104,8 +104,8 @@
%endif
%files
-%defattr(-,root,root)
-%doc CHANGELOG LICENSE README.md
+%license LICENSE
+%doc CHANGELOG README.md
%attr(0755,root,root) %{_bindir}/yquake2
%{_bindir}/yq2ded
%{_libexecdir}/%{name}
++++++ quake2-7.40.tar.xz -> quake2-7.41.tar.xz ++++++
++++ 4564 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package minetest for openSUSE:Factory checked in at 2019-05-28 09:42:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/minetest (Old)
and /work/SRC/openSUSE:Factory/.minetest.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "minetest"
Tue May 28 09:42:01 2019 rev:8 rq:690637 version:5.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/minetest/minetest.changes 2019-03-19 09:57:49.120116787 +0100
+++ /work/SRC/openSUSE:Factory/.minetest.new.5148/minetest.changes 2019-05-28 09:42:05.337868713 +0200
@@ -1,0 +2,28 @@
+Tue Apr 2 11:25:15 UTC 2019 - mvetter(a)suse.com
+
+- Update to 5.0.1:
+ * Fix detached inventory serialisation
+ * Fix texture rotation for wallmounted nodeboxes
+ * Fix build failing on some compilers
+ * Warn about issues with the num_emerge_threads setting
+ * HPChange Reason: Fix issues with custom reasons
+ * Fix FreeBSD build by handling std::time_t properly
+ * Confirm registration GUI: Remove positional strings to fix Windows bug
+ * Prevent multi-line chat messages server-side
+ * httpfetch: Disable IPv6 here too if requested by settings
+
+-------------------------------------------------------------------
+Mon Apr 1 13:10:28 UTC 2019 - Reinhard Max <max(a)suse.com>
+
+- bsc#1131077: BuildRequire postgresql-server-devel as a workaround
+ for CMake which explicitly looks for server headers even if just
+ building a client application.
+
+ CAUTION: This workaround should not blindly be copied to other
+ packages that fail to build with PostgreSQL 11. It is always
+ preferrable to convert the package to use pkg-config for linking
+ against libpq instead of pulling in postgresql-server-devel
+ to have pg_config. If in doubt, please talk to max(a)suse.com
+ before applying such a workaround.
+
+-------------------------------------------------------------------
Old:
----
minetest-5.0.0.tar.gz
New:
----
minetest-5.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ minetest.spec ++++++
--- /var/tmp/diff_new_pack.baJgim/_old 2019-05-28 09:42:06.481868316 +0200
+++ /var/tmp/diff_new_pack.baJgim/_new 2019-05-28 09:42:06.497868311 +0200
@@ -28,7 +28,7 @@
%bcond_with postgresql
%endif
Name: minetest
-Version: 5.0.0
+Version: 5.0.1
Release: 0
Summary: A InfiniMiner/Minecraft inspired game
License: LGPL-2.1-or-later AND CC-BY-SA-3.0
@@ -87,6 +87,11 @@
%endif
%if %{with postgresql}
BuildRequires: postgresql-devel
+%if 0%{?suse_version} > 1500
+# Workaround for CMake's FindPostgreSQL.cmake depending on internal
+# server headers even if just building a client application.
+BuildRequires: postgresql-server-devel
+%endif
%endif
%description
++++++ minetest-5.0.0.tar.gz -> minetest-5.0.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/minetest/minetest-5.0.0.tar.gz /work/SRC/openSUSE:Factory/.minetest.new.5148/minetest-5.0.1.tar.gz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package libselinux for openSUSE:Factory checked in at 2019-05-28 09:41:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libselinux (Old)
and /work/SRC/openSUSE:Factory/.libselinux.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libselinux"
Tue May 28 09:41:57 2019 rev:55 rq:705247 version:2.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/libselinux/libselinux-bindings.changes 2019-03-24 14:55:06.679214042 +0100
+++ /work/SRC/openSUSE:Factory/.libselinux.new.5148/libselinux-bindings.changes 2019-05-28 09:41:59.753870645 +0200
@@ -1,0 +2,5 @@
+Fri May 24 11:22:19 UTC 2019 - <jsegitz(a)suse.com>
+
+- Set License: to correct value (bsc#1135710)
+
+-------------------------------------------------------------------
libselinux.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libselinux-bindings.spec ++++++
--- /var/tmp/diff_new_pack.8pIa47/_old 2019-05-28 09:42:01.901869902 +0200
+++ /var/tmp/diff_new_pack.8pIa47/_new 2019-05-28 09:42:01.945869887 +0200
@@ -22,7 +22,7 @@
Version: 2.9
Release: 0
Summary: SELinux runtime library and simple utilities
-License: GPL-2.0-only AND SUSE-Public-Domain
+License: SUSE-Public-Domain
Group: Development/Libraries/C and C++
URL: https://github.com/SELinuxProject/selinux/wiki/Releases
# embedded is the MD5
@@ -45,7 +45,6 @@
%package -n python3-selinux
%define oldpython python
Summary: Python bindings for the SELinux runtime library
-License: SUSE-Public-Domain
Group: Development/Libraries/Python
Requires: libselinux1 = %{version}
Requires: python3
@@ -63,7 +62,6 @@
%package -n ruby-selinux
Summary: Ruby bindings for the SELinux runtime library
-License: SUSE-Public-Domain
Group: Development/Languages/Ruby
Requires: libselinux1 = %{version}
Requires: ruby
++++++ libselinux.spec ++++++
--- /var/tmp/diff_new_pack.8pIa47/_old 2019-05-28 09:42:02.261869777 +0200
+++ /var/tmp/diff_new_pack.8pIa47/_new 2019-05-28 09:42:02.293869766 +0200
@@ -21,7 +21,7 @@
Version: 2.9
Release: 0
Summary: SELinux runtime library and utilities
-License: GPL-2.0-only AND SUSE-Public-Domain
+License: SUSE-Public-Domain
Group: Development/Libraries/C and C++
URL: https://github.com/SELinuxProject/selinux/wiki/Releases
Source: https://github.com/SELinuxProject/selinux/releases/download/20190315/%{name…
1
0
Hello community,
here is the log from the commit of package python-subprocess32 for openSUSE:Factory checked in at 2019-05-28 09:41:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-subprocess32 (Old)
and /work/SRC/openSUSE:Factory/.python-subprocess32.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-subprocess32"
Tue May 28 09:41:43 2019 rev:5 rq:705298 version:3.5.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-subprocess32/python-subprocess32.changes 2019-01-15 09:13:04.766419040 +0100
+++ /work/SRC/openSUSE:Factory/.python-subprocess32.new.5148/python-subprocess32.changes 2019-05-28 09:41:44.949875770 +0200
@@ -1,0 +2,9 @@
+Fri May 24 19:34:16 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 3.5.4:
+ * TimeoutExpired and CalledProcessError exceptions can now
+ be unpickled.
+ * Backport the fixes for https://bugs.python.org/issue10963,
+ https://bugs.python.org/issue19612, and https://bugs.python.org/issue30418.
+
+-------------------------------------------------------------------
Old:
----
subprocess32-3.5.3.tar.gz
New:
----
subprocess32-3.5.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-subprocess32.spec ++++++
--- /var/tmp/diff_new_pack.of5qVJ/_old 2019-05-28 09:41:45.817875469 +0200
+++ /var/tmp/diff_new_pack.of5qVJ/_new 2019-05-28 09:41:45.817875469 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-subprocess32
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -20,7 +20,7 @@
# Note: this package is python 2.x-only.
%define skip_python3 1
Name: python-subprocess32
-Version: 3.5.3
+Version: 3.5.4
Release: 0
Summary: A backport of the subprocess module from Python 3.2/3.3 for use on 2.x
License: Python-2.0
@@ -29,10 +29,10 @@
Source: https://files.pythonhosted.org/packages/source/s/subprocess32/subprocess32-…
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
+BuildRequires: python-rpm-macros
%if 0%{?rhel} || 0%{?fedora}
BuildRequires: python-test
%endif
-BuildRequires: python-rpm-macros
%python_subpackages
%description
++++++ subprocess32-3.5.3.tar.gz -> subprocess32-3.5.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/subprocess32-3.5.3/ChangeLog new/subprocess32-3.5.4/ChangeLog
--- old/subprocess32-3.5.3/ChangeLog 2018-10-10 00:12:07.000000000 +0200
+++ new/subprocess32-3.5.4/ChangeLog 2019-05-21 00:08:37.000000000 +0200
@@ -1,7 +1,28 @@
-----------------
+2019-05-20 3.5.4
+-----------------
+ * Promoted 3.5.4rc2 to become 3.5.4.
+
+-----------------
+2019-05-13 3.5.4rc2
+-----------------
+ * GitHub [#57]: TimeoutExpired and CalledProcessError exceptions can now
+ be unpickled.
+
+-----------------
+2019-05-10 3.5.4rc1
+-----------------
+* GitHub [#61]: Backport the fixes for https://bugs.python.org/issue10963,
+ https://bugs.python.org/issue19612, and https://bugs.python.org/issue30418.
+ When a child process was so short lived it dies or closes its pipes before
+ you call communicate(). When supplying stdin or reading its output in
+ this scenario, do not raise an unexpected broken pipe or interrupted
+ system call exception.
+
+-----------------
2018-10-09 3.5.3
-----------------
-* Disallow rediculiously large numbers (millions) of arguments. [#54]
+* Disallow ridiculously large numbers (millions) of arguments. [#54]
-----------------
2018-06-07 3.5.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/subprocess32-3.5.3/PKG-INFO new/subprocess32-3.5.4/PKG-INFO
--- old/subprocess32-3.5.3/PKG-INFO 2018-10-10 00:13:43.000000000 +0200
+++ new/subprocess32-3.5.4/PKG-INFO 2019-05-21 00:10:13.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: subprocess32
-Version: 3.5.3
+Version: 3.5.4
Summary: A backport of the subprocess module from Python 3 for use on 2.x.
Home-page: https://github.com/google/python-subprocess32
Maintainer: Gregory P. Smith
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/subprocess32-3.5.3/setup.py new/subprocess32-3.5.4/setup.py
--- old/subprocess32-3.5.3/setup.py 2018-10-10 00:12:07.000000000 +0200
+++ new/subprocess32-3.5.4/setup.py 2019-05-21 00:08:37.000000000 +0200
@@ -66,7 +66,7 @@
setup(
name='subprocess32',
- version='3.5.3',
+ version='3.5.4',
description='A backport of the subprocess module from Python 3 for use on 2.x.',
long_description="""\
This is a backport of the subprocess standard library module from
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/subprocess32-3.5.3/subprocess32.egg-info/PKG-INFO new/subprocess32-3.5.4/subprocess32.egg-info/PKG-INFO
--- old/subprocess32-3.5.3/subprocess32.egg-info/PKG-INFO 2018-10-10 00:13:43.000000000 +0200
+++ new/subprocess32-3.5.4/subprocess32.egg-info/PKG-INFO 2019-05-21 00:10:13.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: subprocess32
-Version: 3.5.3
+Version: 3.5.4
Summary: A backport of the subprocess module from Python 3 for use on 2.x.
Home-page: https://github.com/google/python-subprocess32
Maintainer: Gregory P. Smith
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/subprocess32-3.5.3/subprocess32.py new/subprocess32-3.5.4/subprocess32.py
--- old/subprocess32-3.5.3/subprocess32.py 2018-10-10 00:12:07.000000000 +0200
+++ new/subprocess32-3.5.4/subprocess32.py 2019-05-21 00:08:37.000000000 +0200
@@ -41,6 +41,7 @@
mswindows = (sys.platform == "win32")
import os
+import errno
import exceptions
import types
import time
@@ -64,6 +65,8 @@
self.cmd = cmd
self.output = output
self.stderr = stderr
+ super(CalledProcessError, self).__init__(returncode, cmd,
+ output, stderr)
def __str__(self):
if self.returncode and self.returncode < 0:
@@ -99,6 +102,7 @@
self.timeout = timeout
self.output = output
self.stderr = stderr
+ super(TimeoutExpired, self).__init__(cmd, timeout, output, stderr)
def __str__(self):
return ("Command '%s' timed out after %s seconds" %
@@ -132,7 +136,6 @@
else:
import select
_has_poll = hasattr(select, 'poll')
- import errno
import fcntl
import pickle
@@ -682,6 +685,29 @@
self._devnull = os.open(os.devnull, os.O_RDWR)
return self._devnull
+ def _stdin_write(self, input):
+ if input:
+ try:
+ self.stdin.write(input)
+ except EnvironmentError as e:
+ if e.errno == errno.EPIPE:
+ # communicate() must ignore broken pipe error
+ pass
+ elif e.errno == errno.EINVAL :
+ # bpo-19612, bpo-30418: On Windows, stdin.write() fails
+ # with EINVAL if the child process exited or if the child
+ # process is still running but closed the pipe.
+ pass
+ else:
+ raise
+
+ try:
+ self.stdin.close()
+ except EnvironmentError as e:
+ if e.errno in (errno.EPIPE, errno.EINVAL):
+ pass
+ else:
+ raise
def communicate(self, input=None, timeout=None):
"""Interact with process: Send data to stdin. Read data from
@@ -708,9 +734,7 @@
stdout = None
stderr = None
if self.stdin:
- if input:
- self.stdin.write(input)
- self.stdin.close()
+ self._stdin_write(input)
elif self.stdout:
stdout = _eintr_retry_call(self.stdout.read)
self.stdout.close()
@@ -983,9 +1007,7 @@
self.stderr_thread.start()
if self.stdin:
- if input is not None:
- self.stdin.write(input)
- self.stdin.close()
+ self._stdin_write(input)
# Wait for the reader threads, or time out. If we time out, the
# threads remain reading and the fds left open in case the user
@@ -1681,11 +1703,19 @@
if self.stdin in wlist:
chunk = self._input[self._input_offset :
self._input_offset + _PIPE_BUF]
- bytes_written = os.write(self.stdin.fileno(), chunk)
- self._input_offset += bytes_written
- if self._input_offset >= len(self._input):
- self.stdin.close()
- self._write_set.remove(self.stdin)
+ try:
+ bytes_written = os.write(self.stdin.fileno(), chunk)
+ except EnvironmentError as e:
+ if e.errno == errno.EPIPE:
+ self._write_set.remove(self.stdin)
+ self.stdin.close()
+ else:
+ raise
+ else:
+ self._input_offset += bytes_written
+ if self._input_offset >= len(self._input):
+ self.stdin.close()
+ self._write_set.remove(self.stdin)
if self.stdout in rlist:
data = os.read(self.stdout.fileno(), 1024)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/subprocess32-3.5.3/test_subprocess32.py new/subprocess32-3.5.4/test_subprocess32.py
--- old/subprocess32-3.5.3/test_subprocess32.py 2018-10-10 00:12:07.000000000 +0200
+++ new/subprocess32-3.5.4/test_subprocess32.py 2019-05-21 00:08:37.000000000 +0200
@@ -27,6 +27,7 @@
import gc
except ImportError:
gc = None
+import pickle
mswindows = (sys.platform == "win32")
@@ -999,6 +1000,25 @@
output = subprocess.check_output([sys.executable, '-c', code])
self.assert_(output.startswith('Hello World!'), output)
+ def test_communicate_epipe(self):
+ # Issue 10963: communicate() should hide EPIPE
+ p = subprocess.Popen([sys.executable, "-c", 'pass'],
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ self.addCleanup(p.stdout.close)
+ self.addCleanup(p.stderr.close)
+ self.addCleanup(p.stdin.close)
+ p.communicate(b"x" * 2**20)
+
+ def test_communicate_epipe_only_stdin(self):
+ # Issue 10963: communicate() should hide EPIPE
+ p = subprocess.Popen([sys.executable, "-c", 'pass'],
+ stdin=subprocess.PIPE)
+ self.addCleanup(p.stdin.close)
+ p.wait()
+ p.communicate(b"x" * 2**20)
+
if not mswindows: # Signal tests are POSIX specific.
def test_communicate_eintr(self):
# Issue #12493: communicate() should handle EINTR
@@ -2340,6 +2360,28 @@
args_list = subprocess32._args_from_interpreter_flags()
self.assertTrue(isinstance(args_list, list), msg=repr(args_list))
+ def test_timeout_expired_unpickling(self):
+ """https://github.com/google/python-subprocess32/issues/57"""
+ t = subprocess32.TimeoutExpired(['command', 'arg1'], 5,
+ output='stdout!', stderr='err')
+ t_pickled = pickle.dumps(t)
+ t2 = pickle.loads(t_pickled)
+ self.assertEqual(t.cmd, t2.cmd)
+ self.assertEqual(t.timeout, t2.timeout)
+ self.assertEqual(t.output, t2.output)
+ self.assertEqual(t.stderr, t2.stderr)
+
+ def test_called_process_error_unpickling(self):
+ """https://github.com/google/python-subprocess32/issues/57"""
+ e = subprocess32.CalledProcessError(
+ 2, ['command', 'arg1'], output='stdout!', stderr='err')
+ e_pickled = pickle.dumps(e)
+ e2 = pickle.loads(e_pickled)
+ self.assertEqual(e.returncode, e2.returncode)
+ self.assertEqual(e.cmd, e2.cmd)
+ self.assertEqual(e.output, e2.output)
+ self.assertEqual(e.stderr, e2.stderr)
+
def reap_children():
"""Use this function at the end of test_main() whenever sub-processes
1
0
Hello community,
here is the log from the commit of package frameworkintegration for openSUSE:Factory checked in at 2019-05-28 09:41:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/frameworkintegration (Old)
and /work/SRC/openSUSE:Factory/.frameworkintegration.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "frameworkintegration"
Tue May 28 09:41:35 2019 rev:71 rq:705295 version:5.58.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/frameworkintegration/frameworkintegration.changes 2019-05-21 10:24:52.655564001 +0200
+++ /work/SRC/openSUSE:Factory/.frameworkintegration.new.5148/frameworkintegration.changes 2019-05-28 09:41:37.885878215 +0200
@@ -1,0 +2,8 @@
+Fri May 24 18:17:49 UTC 2019 - wbauer(a)tmo.at
+
+- Update to 5.58.2
+ * New bugfix release
+- Changes since 5.58.1:
+ * ensure to search also in the legacy location
+
+-------------------------------------------------------------------
@@ -6,2 +13,0 @@
- * For more details please see:
- * https://www.kde.org/announcements/kde-frameworks-5.58.1.php
Old:
----
frameworkintegration-5.58.1.tar.xz
New:
----
frameworkintegration-5.58.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ frameworkintegration.spec ++++++
--- /var/tmp/diff_new_pack.erBZHQ/_old 2019-05-28 09:41:39.169877771 +0200
+++ /var/tmp/diff_new_pack.erBZHQ/_new 2019-05-28 09:41:39.169877771 +0200
@@ -23,7 +23,7 @@
# Last major and minor KF5 version (e.g. 5.33)
%{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')}
Name: frameworkintegration
-Version: 5.58.1
+Version: 5.58.2
Release: 0
Summary: Plugins responsible for better integration of Qt applications in KDE Workspace
License: LGPL-2.1-or-later
++++++ frameworkintegration-5.58.1.tar.xz -> frameworkintegration-5.58.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frameworkintegration-5.58.1/src/kpackage-install-handlers/kns/main.cpp new/frameworkintegration-5.58.2/src/kpackage-install-handlers/kns/main.cpp
--- old/frameworkintegration-5.58.1/src/kpackage-install-handlers/kns/main.cpp 2019-05-14 23:21:33.000000000 +0200
+++ new/frameworkintegration-5.58.2/src/kpackage-install-handlers/kns/main.cpp 2019-05-24 12:55:14.000000000 +0200
@@ -48,7 +48,7 @@
Q_ASSERT(url.scheme() == QLatin1String("kns"));
QString knsname;
- for (const auto &location : KNSCore::Engine::configSearchLocations()) {
+ for (const auto &location : KNSCore::Engine::configSearchLocations(true)) {
QString candidate = location + QLatin1Char('/') + url.host();
if (QFile::exists(candidate)) {
knsname = candidate;
1
0
Hello community,
here is the log from the commit of package iputils for openSUSE:Factory checked in at 2019-05-28 09:41:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/iputils (Old)
and /work/SRC/openSUSE:Factory/.iputils.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iputils"
Tue May 28 09:41:27 2019 rev:45 rq:705287 version:s20190515
Changes:
--------
--- /work/SRC/openSUSE:Factory/iputils/iputils.changes 2018-08-02 14:49:51.735448435 +0200
+++ /work/SRC/openSUSE:Factory/.iputils.new.5148/iputils.changes 2019-05-28 09:41:29.545881102 +0200
@@ -1,0 +2,20 @@
+Fri May 24 16:22:41 UTC 2019 - Petr Vorel <pvorel(a)suse.cz>
+
+- Update to version s20190515 (includes changes s20190324)
+ * s20190324: 189 commits since s20180629 that include changing build
+ system from autotools to meson, added rarpd and rdisc systemd service
+ files, many fixes
+ * s20190515 bugfix release (6 commits)
+- User visible change: arping and clockdiff are moved from /usr/sbin
+ to /usr/bin (respect upstream path)
+- Backport patch 0001-build-sys-doc-Fix-the-dependency-on-xsltproc.patch
+ (fixing build system)
+- Add workaround patch meson-remove-setcap-setuid.sh.patch
+- Remove 0001-tracepath-Fix-copying-input-IPv6-address.patch
+ (included in s20190324 release)
+- Refresh old patches (iputils-ping-interrupt.diff, iputils-sec-ping-unblock.diff)
+- Changes caused by upstream switching to meson build system (drop sed build dependency)
+- Added locales
+- Fix typos
+
+-------------------------------------------------------------------
Old:
----
0001-tracepath-Fix-copying-input-IPv6-address.patch
s20180629.tar.gz
New:
----
0001-build-sys-doc-Fix-the-dependency-on-xsltproc.patch
meson-remove-setcap-setuid.sh.patch
s20190515.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iputils.spec ++++++
--- /var/tmp/diff_new_pack.9fJiRL/_old 2019-05-28 09:41:30.373880815 +0200
+++ /var/tmp/diff_new_pack.9fJiRL/_new 2019-05-28 09:41:30.373880815 +0200
@@ -1,7 +1,7 @@
#
# spec file for package iputils
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,12 +12,12 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: iputils
-Version: s20180629
+Version: s20190515
Release: 0
Summary: IPv4 and IPv6 Networking Utilities
License: BSD-3-Clause AND GPL-2.0-or-later
@@ -27,24 +27,26 @@
Source1: rarpd.service
Patch1: iputils-sec-ping-unblock.diff
Patch2: iputils-ping-interrupt.diff
-Patch3: 0001-tracepath-Fix-copying-input-IPv6-address.patch
-BuildRequires: docbook-xsl-stylesheets
-BuildRequires: docbook_3
+Patch3: 0001-build-sys-doc-Fix-the-dependency-on-xsltproc.patch
+Patch4: meson-remove-setcap-setuid.sh.patch
+BuildRequires: docbook5-xsl-stylesheets
+BuildRequires: docbook_5
BuildRequires: iso_ent
BuildRequires: libcap-devel
BuildRequires: libidn2-devel
BuildRequires: libopenssl-devel
+BuildRequires: meson
BuildRequires: opensp
BuildRequires: perl-SGMLS
BuildRequires: pkgconfig
BuildRequires: systemd-rpm-macros
+BuildRequires: pkgconfig(systemd)
# For Makefile modifications
-BuildRequires: sed
BuildRequires: pkgconfig(libidn)
Requires(pre): permissions
# I have spotted at least two packages (yast-printer and dhcp-client) that need
# /bin/ping and /sbin/arping but they do not seem to use them with absolute
-# paths so we may be lukcy and no further changes are necessary.
+# paths so we may be lucky and no further changes are necessary.
Provides: /bin/ping
Provides: /sbin/arping
@@ -67,115 +69,116 @@
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
%build
-
-# Drop LASTTAG variable since it needs git and it's not used for regular
-# building
-sed -i '/^LASTTAG:=/d' Makefile
-# Do not link against nettle
-sed -i '/^USE_NETTLE/s/yes/no/' Makefile
-
# Export CFLAGS so we can also benefit from the ones the Makefile sets for us
# Instead of overriding all of them.
-export CFLAGS='%{optflags} -fpie'
+%ifarch s390 s390x
+ export CFLAGS="-fPIE"
+%else
+ export CFLAGS="-fpie"
+%endif
# Pulled-in by the LINK.o variable.
-export LDFLAGS='-pie -Wl,-z,relro,-z,now'
+export LDFLAGS="-pie -Wl,-z,relro,-z,now"
-# Build only selected apps
-make %{?_smp_mflags} arping clockdiff ping rdisc tracepath \
- rarpd man
+%meson -DBUILD_NINFOD=false -DBUILD_TFTPD=false -DBUILD_RARPD=true
+%meson_build
%install
-mkdir -p %{buildroot}/%{_sbindir}
-mkdir -p %{buildroot}/%{_bindir}
-install arping %{buildroot}/%{_sbindir}
-install clockdiff %{buildroot}/%{_sbindir}
-install rarpd %{buildroot}/%{_sbindir}
-install rdisc %{buildroot}/%{_sbindir}
-# boo#795788
-install tracepath %{buildroot}/%{_bindir}
-install ping %{buildroot}/%{_bindir}
+%meson_install
+
# boo#1017616
ln -sf %{_bindir}/ping %{buildroot}/%{_bindir}/ping6
ln -sf %{_bindir}/tracepath %{buildroot}/%{_bindir}/tracepath6
+# symlink to man tracepath6(8)
+ln -sf %{_mandir}/man8/tracepath.8%{ext_man} %{buildroot}%{_mandir}/man8/tracepath6.8%{ext_man}
+
+# Install service files and create rc compat symling
+install -Dpm 0644 build/rdisc.service %{buildroot}/%{_unitdir}
+install -Dpm 0644 build/rarpd@.service %{buildroot}/%{_unitdir}
+ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcrarpd
+ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcrdisc
+
#UsrMerge
# We still have reverse dependencies using /sbin/* or /bin/*
# so keep these symlinks for now. They are slowly being fixed
# but lets not just break them yet.
mkdir -p %{buildroot}/{bin,sbin}
-ln -sf %{_sbindir}/arping %{buildroot}/sbin
-ln -sf %{_sbindir}/clockdiff %{buildroot}/sbin
+ln -sf %{_bindir}/arping %{buildroot}/bin
+ln -sf %{_bindir}/clockdiff %{buildroot}/bin
ln -sf %{_sbindir}/rarpd %{buildroot}/sbin
ln -sf %{_sbindir}/rdisc %{buildroot}/sbin
-ln -sf %{_bindir}/tracepath %{buildroot}/bin
ln -sf %{_bindir}/ping %{buildroot}/bin
ln -sf %{_bindir}/ping6 %{buildroot}/bin
+ln -sf %{_bindir}/tracepath %{buildroot}/bin
ln -sf %{_bindir}/tracepath6 %{buildroot}/bin
#EndUsrMerge
-mkdir -p %{buildroot}/%{_mandir}/man8
-# Remove conflicting / unused manpages
-rm doc/ninfod* doc/pg3* doc/rdisc* doc/tftpd* doc/traceroute* doc/ipg* doc/pgset*
-# Install the rest
-install -m 644 doc/*.8 %{buildroot}%{_mandir}/man8/
+%find_lang %{name}
-# Install rarp service and create rc compat symling
-install -Dpm 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/rarpd.service
-ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcrarpd
+%pre
+%service_add_pre rdisc.service
%post
%set_permissions %{_bindir}/ping
%verifyscript
%verify_permissions -e %{_bindir}/ping
+%service_add_post rdisc.service
+
+%preun
+%service_del_preun rdisc.service
+
+%postun
+%service_del_postun rdisc.service
%pre -n rarpd
-%service_add_pre rarpd.service
+%service_add_pre rarpd@.service
%post -n rarpd
-%service_add_post rarpd.service
+%service_add_post rarpd@.service
%preun -n rarpd
-%service_del_preun rarpd.service
+%service_del_preun rarpd@.service
%postun -n rarpd
-%service_del_postun rarpd.service
+%service_del_postun rarpd@.service
-%files
-%if 0%{?suse_version} < 1500
-%doc LICENSE LICENSE.BSD3 LICENSE.GPL2
-%else
-%license LICENSE LICENSE.BSD3 LICENSE.GPL2
-%endif
+%files -f %{name}.lang
+%license LICENSE
%verify(not mode caps) %attr(0755,root,root) %{_bindir}/ping
+%{_bindir}/arping
+%{_bindir}/clockdiff
%{_bindir}/ping6
-%{_sbindir}/arping
-%{_sbindir}/clockdiff
+%{_sbindir}/rcrdisc
+%{_sbindir}/rdisc
%{_bindir}/tracepath
%{_bindir}/tracepath6
-%{_sbindir}/rdisc
+%{_unitdir}/rdisc.service
+
#UsrMerge
+/bin/arping
+/bin/clockdiff
/bin/ping
/bin/ping6
+/sbin/rdisc
/bin/tracepath
/bin/tracepath6
-/sbin/arping
-/sbin/clockdiff
-/sbin/rdisc
#EndUsrMerge
%{_mandir}/man8/arping.8%{ext_man}
%{_mandir}/man8/clockdiff.8%{ext_man}
%{_mandir}/man8/ping.8%{ext_man}
+%{_mandir}/man8/rdisc.8%{ext_man}
%{_mandir}/man8/tracepath.8%{ext_man}
%{_mandir}/man8/tracepath6.8%{ext_man}
#EndUsrMerge
%files -n rarpd
%{_sbindir}/rarpd
+%{_unitdir}/rarpd@.service
%{_sbindir}/rcrarpd
-%{_unitdir}/rarpd.service
#UsrMerge
/sbin/rarpd
#EndUsrMerge
++++++ 0001-build-sys-doc-Fix-the-dependency-on-xsltproc.patch ++++++
>From 3b013f271931c3fe771e5a2c591f35d617de90f3 Mon Sep 17 00:00:00 2001
From: Michael Weiss <dev.primeos(a)gmail.com>
Date: Thu, 16 May 2019 10:08:50 +0000
Subject: [PATCH] build-sys/doc: Fix the dependency on xsltproc
This dependency is only required if either the man pages or the HTML
documentation is being build. Both targets require docbook-xsl-ns and
not docbook-xsl (the former is preferred and in use since c503834).
---
.travis.yml | 1 -
doc/meson.build | 27 +++++++++++++++++----------
2 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 54edb61..6a6e8c3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,7 +14,6 @@ addons:
- "libidn2-0-dev"
- "nettle-dev"
- "xsltproc"
- - "docbook-xsl"
- "docbook-xsl-ns"
matrix:
include:
diff --git a/doc/meson.build b/doc/meson.build
index 369090f..9a007b3 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -38,7 +38,7 @@ if build_ninfod == true
manpages += ['ninfod']
endif
-xsltproc = find_program('xsltproc', required : true)
+xsltproc = find_program('xsltproc', required : build_mans or build_html_mans)
xsltproc_args = [
'--nonet',
'--stringparam', 'man.output.quietly', '1',
@@ -48,19 +48,26 @@ xsltproc_args = [
]
if xsltproc.found()
- xsl = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
- testrun = run_command([xsltproc, '--nonet', xsl])
- xsltproc_works = testrun.returncode() == 0
- if xsltproc_works == false
- warning('xsltproc: cannot process ' + xsl)
+ doc_targets = []
+ if build_mans
+ doc_targets += ['manpages']
endif
-else
- warning('No docbook stylesheet found for generating man pages')
- xsltproc_works = false
+ if build_html_mans
+ doc_targets += ['html']
+ endif
+ xsltproc_works = true
+ foreach doc_target : doc_targets
+ xsl = 'http://docbook.sourceforge.net/release/xsl-ns/current/' + doc_target + '/docbook.xsl'
+ testrun = run_command([xsltproc, '--nonet', xsl])
+ if testrun.returncode() != 0
+ xsltproc_works = false
+ warning('xsltproc: cannot process ' + xsl)
+ endif
+ endforeach
endif
if xsltproc_works == false
- error('Man pages cannot be built: xsltproc does not work correctly')
+ error('Docs cannot be built: xsltproc does not work correctly')
endif
if build_mans
--
2.21.0
++++++ iputils-ping-interrupt.diff ++++++
--- /var/tmp/diff_new_pack.9fJiRL/_old 2019-05-28 09:41:30.409880803 +0200
+++ /var/tmp/diff_new_pack.9fJiRL/_new 2019-05-28 09:41:30.409880803 +0200
@@ -8,19 +8,19 @@
ping.c | 8 ++++++++
1 file changed, 8 insertions(+)
-Index: iputils/ping.c
-===================================================================
---- iputils.orig/ping.c
-+++ iputils/ping.c
-@@ -94,6 +94,7 @@ static unsigned short in_cksum(const unsigned short *addr, int len, unsigned sho
- static void pr_icmph(__u8 type, __u8 code, __u32 info, struct icmphdr *icp);
+diff --git a/ping.c b/ping.c
+index 06cc369..2c76677 100644
+--- a/ping.c
++++ b/ping.c
+@@ -92,6 +92,7 @@ static unsigned short in_cksum(const unsigned short *addr, int len, unsigned sho
+ static void pr_icmph(uint8_t type, uint8_t code, uint32_t info, struct icmphdr *icp);
static int parsetos(char *str);
static int parseflow(char *str);
+static void doexit (int);
- static struct {
- struct cmsghdr cm;
-@@ -572,6 +573,8 @@ int ping4_run(int argc, char **argv, struct addrinfo *ai, socket_st *sock)
+ static struct sockaddr_in source = { .sin_family = AF_INET };
+ char *device;
+@@ -543,6 +544,8 @@ int ping4_run(int argc, char **argv, struct addrinfo *ai, socket_st *sock)
options |= F_SOURCEROUTE;
}
}
@@ -29,12 +29,15 @@
while (argc > 0) {
target = *argv;
-@@ -1711,3 +1714,8 @@ void usage(void)
- ping6_usage(1);
- exit(2);
+@@ -1619,3 +1622,8 @@ void ping4_install_filter(socket_st *sock)
+ if (setsockopt(sock->fd, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof(filter)))
+ error(0, errno, _("WARNING: failed to install socket filter"));
}
+
-+static void doexit(int signo)
++static void doexit(int signo __attribute__((unused)))
+{
+ exit (1);
+}
+--
+2.21.0
+
++++++ iputils-sec-ping-unblock.diff ++++++
--- /var/tmp/diff_new_pack.9fJiRL/_old 2019-05-28 09:41:30.417880800 +0200
+++ /var/tmp/diff_new_pack.9fJiRL/_new 2019-05-28 09:41:30.421880799 +0200
@@ -16,10 +16,10 @@
1 file changed, 11 insertions(+)
diff --git a/ping.c b/ping.c
-index 733477f..4efdaa8 100644
+index 3debd82..06cc369 100644
--- a/ping.c
+++ b/ping.c
-@@ -483,6 +483,17 @@ main(int argc, char **argv)
+@@ -452,6 +452,17 @@ main(int argc, char **argv)
/* Create sockets */
enable_capability_raw();
@@ -35,8 +35,8 @@
+ set_signal(SIGALRM, doexit);
+
if (hints.ai_family != AF_INET6)
- create_socket(&sock4, AF_INET, hints.ai_socktype, IPPROTO_ICMP, hints.ai_family == AF_INET);
- if (hints.ai_family != AF_INET) {
+ create_socket(&sock4, AF_INET, hints.ai_socktype, IPPROTO_ICMP,
+ hints.ai_family == AF_INET);
--
2.17.1
++++++ meson-remove-setcap-setuid.sh.patch ++++++
# patch to workaround error
# meson.build:242:7: ERROR: add_install_script args must be strings
# Upstream status: not upstreamable (workaround)
diff --git a/meson.build b/meson.build
index 8af9e18..c82597c 100644
--- a/meson.build
+++ b/meson.build
@@ -239,12 +239,6 @@ if build_ping == true
dependencies : [m_dep, cap_dep, idn_dep, crypto_dep, resolv_dep],
link_with : [libcommon],
install: true)
- meson.add_install_script('build-aux/setcap-setuid.sh',
- join_paths(get_option('prefix'), get_option('bindir')),
- 'ping',
- perm_type,
- setcap.path()
- )
endif
if build_tracepath == true
@@ -259,12 +253,6 @@ if build_traceroute6 == true
dependencies : [cap_dep, idn_dep],
link_with : [libcommon],
install: true)
- meson.add_install_script('build-aux/setcap-setuid.sh',
- join_paths(get_option('prefix'), get_option('bindir')),
- 'traceroute6',
- perm_type,
- setcap.path()
- )
endif
if build_clockdiff == true
@@ -272,12 +260,6 @@ if build_clockdiff == true
dependencies : [cap_dep],
link_with : [libcommon],
install: true)
- meson.add_install_script('build-aux/setcap-setuid.sh',
- join_paths(get_option('prefix'), get_option('bindir')),
- 'clockdiff',
- perm_type,
- setcap.path()
- )
endif
if build_rinfod == true
@@ -302,12 +284,6 @@ if build_arping == true
dependencies : [rt_dep, cap_dep, idn_dep],
link_with : [libcommon],
install: true)
- meson.add_install_script('build-aux/setcap-setuid.sh',
- join_paths(get_option('prefix'), get_option('bindir')),
- 'arping',
- perm_type,
- setcap.path()
- )
endif
if build_tftpd == true
++++++ s20180629.tar.gz -> s20190515.tar.gz ++++++
++++ 37390 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package haveged for openSUSE:Factory checked in at 2019-05-28 09:41:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/haveged (Old)
and /work/SRC/openSUSE:Factory/.haveged.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haveged"
Tue May 28 09:41:21 2019 rev:53 rq:705285 version:1.9.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/haveged/haveged.changes 2018-09-26 14:53:39.575085233 +0200
+++ /work/SRC/openSUSE:Factory/.haveged.new.5148/haveged.changes 2019-05-28 09:41:22.601883505 +0200
@@ -4 +4 @@
-- Add patch f2193587.patch from github pull request
+- Add patch f2193587.patch from github pull request (bsc#1134351)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ haveged.spec ++++++
--- /var/tmp/diff_new_pack.Qatx2Z/_old 2019-05-28 09:41:23.209883295 +0200
+++ /var/tmp/diff_new_pack.Qatx2Z/_new 2019-05-28 09:41:23.213883294 +0200
@@ -1,7 +1,7 @@
#
# spec file for package haveged
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -34,7 +34,7 @@
Patch1: haveged-conditional-enttest.patch
# PATCH-FIX-UPSTREAM: don't write to syslog at startup to avoid deadlocks psimons(a)suse.com bnc#959237
Patch2: haveged-no-syslog.patch
-# PATCH-FIX-GITHUN: Fix segfault on arm machines
+# PATCH-FIX-GITHUB: Fix segfault on arm machines
Patch3: f2193587.patch
BuildRequires: autoconf
BuildRequires: automake
1
0
Hello community,
here is the log from the commit of package MozillaThunderbird for openSUSE:Factory checked in at 2019-05-28 09:40:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old)
and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird"
Tue May 28 09:40:54 2019 rev:211 rq:705454 version:60.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes 2019-04-25 17:52:11.765013389 +0200
+++ /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.5148/MozillaThunderbird.changes 2019-05-28 09:40:56.233892393 +0200
@@ -1,0 +2,44 @@
+Fri May 24 08:53:57 UTC 2019 - Wolfgang Rosenauer <wr(a)rosenauer.org>
+
+- Mozilla Thunderbird 60.7.0
+ * Attachment pane of Write window no longer focussed when attaching
+ files using a keyboard shortcut
+ MFSA 2019-15 (boo#1135824)
+ * CVE-2019-9815 (bmo#1546544)
+ Disable hyperthreading on content JavaScript threads on macOS
+ * CVE-2019-9816 (bmo#1536768)
+ Type confusion with object groups and UnboxedObjects
+ * CVE-2019-9817 (bmo#1540221)
+ Stealing of cross-domain images using canvas
+ * CVE-2019-9818 (bmo#1542581) (Windows only)
+ Use-after-free in crash generation server
+ * CVE-2019-9819 (bmo#1532553)
+ Compartment mismatch with fetch API
+ * CVE-2019-9820 (bmo#1536405)
+ Use-after-free of ChromeEventHandler by DocShell
+ * CVE-2019-11691 (bmo#1542465)
+ Use-after-free in XMLHttpRequest
+ * CVE-2019-11692 (bmo#1544670)
+ Use-after-free removing listeners in the event listener manager
+ * CVE-2019-11693 (bmo#1532525)
+ Buffer overflow in WebGL bufferdata on Linux
+ * CVE-2019-7317 (bmo#1542829)
+ Use-after-free in png_image_free of libpng library
+ * CVE-2019-9797 (bmo#1528909)
+ Cross-origin theft of images with createImageBitmap
+ * CVE-2018-18511 (bmo#1526218)
+ Cross-origin theft of images with ImageBitmapRenderingContext
+ * CVE-2019-11694 (bmo#1534196) (Windows only)
+ Uninitialized memory memory leakage in Windows sandbox
+ * CVE-2019-11698 (bmo#1543191)
+ Theft of user history data through drag and drop of hyperlinks
+ to and from bookmarks
+ * CVE-2019-5798 (bmo#1535518)
+ Out-of-bounds read in Skia
+ * CVE-2019-9800 (bmo#1540166, bmo#1534593, bmo#1546327, bmo#1540136,
+ bmo#1538736, bmo#1538042, bmo#1535612, bmo#1499719, bmo#1499108,
+ bmo#1538619, bmo#1535194, bmo#1516325, bmo#1542324, bmo#1542097,
+ bmo#1532465, bmo#1533554, bmo#1541580)
+ Memory safety bugs fixed in Firefox 67 and Firefox ESR 60.7
+
+-------------------------------------------------------------------
Old:
----
l10n-60.6.1.tar.xz
thunderbird-60.6.1.source.tar.xz
thunderbird-60.6.1.source.tar.xz.asc
New:
----
l10n-60.7.0.tar.xz
thunderbird-60.7.0.source.tar.xz
thunderbird-60.7.0.source.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaThunderbird.spec ++++++
--- /var/tmp/diff_new_pack.k83Pf0/_old 2019-05-28 09:41:05.969889185 +0200
+++ /var/tmp/diff_new_pack.k83Pf0/_new 2019-05-28 09:41:05.969889185 +0200
@@ -17,9 +17,9 @@
#
-%define mainversion 60.6.1
+%define mainversion 60.7.0
%define update_channel release
-%define releasedate 20190314112142
+%define releasedate 20190517095026
%bcond_without mozilla_tb_kde4
%bcond_with mozilla_tb_valgrind
++++++ compare-locales.tar.xz ++++++
++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.k83Pf0/_old 2019-05-28 09:41:06.245889094 +0200
+++ /var/tmp/diff_new_pack.k83Pf0/_new 2019-05-28 09:41:06.245889094 +0200
@@ -2,9 +2,9 @@
CHANNEL="esr60"
BRANCH="releases/comm-$CHANNEL"
-RELEASE_TAG="ed1296af783ca23d9b07aac774cd104b14d246c3"
-MOZ_RELEASE_TAG="ac46edc9c4223fb6613501d3287705f49d1dfc57"
-VERSION="60.6.1"
+RELEASE_TAG="5822a83963e333699a33099c37c65bcd6527b988"
+MOZ_RELEASE_TAG="2ae9b50be57173c299c10df512590e2feb164977"
+VERSION="60.7.0"
VERSION_SUFFIX=""
LOCALE_FILE="thunderbird-$VERSION/comm/mail/locales/l10n-changesets.json"
++++++ l10n-60.6.1.tar.xz -> l10n-60.7.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-60.6.1.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.5148/l10n-60.7.0.tar.xz differ: char 26, line 1
++++++ mozilla-bmo1519629.patch ++++++
--- /var/tmp/diff_new_pack.k83Pf0/_old 2019-05-28 09:41:06.281889082 +0200
+++ /var/tmp/diff_new_pack.k83Pf0/_new 2019-05-28 09:41:06.281889082 +0200
@@ -1,32 +1,47 @@
-diff -rup thunderbird-60.6.1.orig/servo/components/style/lib.rs thunderbird-60.6.1/servo/components/style/lib.rs
---- thunderbird-60.6.1.orig/servo/components/style/lib.rs 2019-03-25 02:38:41.000000000 +0100
-+++ thunderbird-60.6.1/servo/components/style/lib.rs 2019-03-30 14:46:10.491001809 +0100
-@@ -23,7 +23,7 @@
+# HG changeset patch
+# Parent ba0e794338a92e82d4b19e9fb012c848302b7dbd
+
+diff --git a/servo/components/style/lib.rs b/servo/components/style/lib.rs
+--- a/servo/components/style/lib.rs
++++ b/servo/components/style/lib.rs
+@@ -18,17 +18,17 @@
+ //! [recalc_style_at]: traversal/fn.recalc_style_at.html
+ //!
+ //! Major dependencies are the [cssparser][cssparser] and [selectors][selectors]
+ //! crates.
+ //!
//! [cssparser]: ../cssparser/index.html
//! [selectors]: ../selectors/index.html
-#![deny(missing_docs)]
-+/// #![deny(missing_docs)]
++//#![deny(missing_docs)]
extern crate app_units;
extern crate arrayvec;
-diff -rup thunderbird-60.6.1.orig/servo/components/style_traits/values.rs thunderbird-60.6.1/servo/components/style_traits/values.rs
---- thunderbird-60.6.1.orig/servo/components/style_traits/values.rs 2019-03-25 02:38:43.000000000 +0100
-+++ thunderbird-60.6.1/servo/components/style_traits/values.rs 2019-03-30 12:31:55.070634646 +0100
-@@ -135,6 +135,7 @@ where
- }
- }
-
-+/// Documentation needed here, but the macro appears to be unused anyway...
- #[macro_export]
- macro_rules! serialize_function {
- ($dest: expr, $name: ident($( $arg: expr, )+)) => {
-@@ -404,6 +405,8 @@ impl_to_css_for_predefined_type!(::csspa
- impl_to_css_for_predefined_type!(::cssparser::Color);
- impl_to_css_for_predefined_type!(::cssparser::UnicodeRange);
-
-+
-+/// Define an enum type with unit variants that each correspond to a CSS keyword.
- #[macro_export]
- macro_rules! define_css_keyword_enum {
- (pub enum $name:ident { $($variant:ident = $css:expr,)+ }) => {
+ extern crate atomic_refcell;
+ #[macro_use]
+ extern crate bitflags;
+ #[allow(unused_extern_crates)] extern crate byteorder;
+ #[cfg(feature = "gecko")] #[macro_use] #[no_link] extern crate cfg_if;
+diff --git a/servo/components/style_traits/lib.rs b/servo/components/style_traits/lib.rs
+--- a/servo/components/style_traits/lib.rs
++++ b/servo/components/style_traits/lib.rs
+@@ -4,17 +4,17 @@
+
+ //! This module contains shared types and messages for use by devtools/script.
+ //! The traits are here instead of in script so that the devtools crate can be
+ //! modified independently of the rest of Servo.
+
+ #![crate_name = "style_traits"]
+ #![crate_type = "rlib"]
+
+-#![deny(unsafe_code, missing_docs)]
++#![deny(unsafe_code)]
+
+ extern crate app_units;
+ #[macro_use] extern crate bitflags;
+ #[macro_use] extern crate cssparser;
+ extern crate euclid;
+ extern crate malloc_size_of;
+ #[macro_use] extern crate malloc_size_of_derive;
+ extern crate selectors;
++++++ thunderbird-60.6.1.source.tar.xz -> thunderbird-60.7.0.source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-60.6.1.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.5148/thunderbird-60.7.0.source.tar.xz differ: char 15, line 1
1
0
Hello community,
here is the log from the commit of package libgadu for openSUSE:Factory checked in at 2019-05-28 09:40:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libgadu (Old)
and /work/SRC/openSUSE:Factory/.libgadu.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libgadu"
Tue May 28 09:40:47 2019 rev:30 rq:705449 version:1.12.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/libgadu/libgadu.changes 2017-06-17 10:19:53.373987035 +0200
+++ /work/SRC/openSUSE:Factory/.libgadu.new.5148/libgadu.changes 2019-05-28 09:40:48.805894841 +0200
@@ -1,0 +2,5 @@
+Sat May 25 20:14:19 UTC 2019 - Mariusz Fik <fisiu(a)opensuse.org>
+
+- Build against zlib.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libgadu.spec ++++++
--- /var/tmp/diff_new_pack.nT3NiO/_old 2019-05-28 09:40:49.273894686 +0200
+++ /var/tmp/diff_new_pack.nT3NiO/_new 2019-05-28 09:40:49.273894686 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libgadu
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -21,7 +21,7 @@
Version: 1.12.2
Release: 0
Summary: Library for Handling of Gadu-Gadu Instant Messaging
-License: LGPL-2.1+
+License: LGPL-2.1-or-later
Group: System/Libraries
Url: http://toxygen.net/libgadu/
Source: http://github.com/wojtekka/%{name}/releases/download/%{version}/%{name}-%{v…
@@ -30,6 +30,7 @@
BuildRequires: pkg-config
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(libprotobuf-c)
+BuildRequires: pkgconfig(zlib)
# these packages are necessary for tests, but not necessary for a library:
# libexpat-devel, pkgconfig(libcurl), pkgconfig(libxml-2.0)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
1
0
Hello community,
here is the log from the commit of package dracut for openSUSE:Factory checked in at 2019-05-28 09:40:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dracut (Old)
and /work/SRC/openSUSE:Factory/.dracut.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dracut"
Tue May 28 09:40:39 2019 rev:138 rq:705447 version:049+git92.951f754b
Changes:
--------
--- /work/SRC/openSUSE:Factory/dracut/dracut.changes 2019-05-03 22:06:57.850863647 +0200
+++ /work/SRC/openSUSE:Factory/.dracut.new.5148/dracut.changes 2019-05-28 09:40:43.993896426 +0200
@@ -1,0 +2,229 @@
+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:
----
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
New:
----
README.susemaint
_service
_servicedata
dracut-049+git92.951f754b.obscpio
dracut-049+git92.951f754b.tar.xz
dracut.obsinfo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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
++++++ README.susemaint ++++++
Maintaining Dracut
==================
1. Adding/Submitting patches:
Patches get added as merge requests on Github against the respective maintenance branch.
If the dracut version is 049, the maintenance branch is SUSE/049. Please make sure
to provide an adiquate patch description. If you fix a modules, please prepend the module
name in the first line. Also add bugzilla and fate references in their own line:
99example: Provide a useful description
Explain the use cases for the module in more detail, give a general summary of
its purpose.
Reference: bsc#4566
2. Updating the OBS repo from git:
rm dracut*.xz
rm dracut*.obscpio
osc service localrun
osc ar
osc commit
osc sr
++++++ _service ++++++
<services>
<service name="obs_scm" mode="localonly">
<param name="scm">git</param>
<param name="url">https://github.com/opensuse/dracut.git</param>
<param name="revision">SUSE/049</param>
<param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@.%h</param>
<param name="extract">suse/dracut.spec</param>
<param name="extract">suse/README.susemaint</param>
<param name="changesgenerate">enable</param>
</service>
<service name="tar" mode="localonly" />
<service name="recompress" mode="localonly">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="localonly" />
</services>
++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/opensuse/dracut.git</param>
<param name="changesrevision">951f754bdf44f95c745cfe157c5580b9602f5d21</param></service></servicedata>++++++ dracut.obsinfo ++++++
name: dracut
version: 049+git92.951f754b
mtime: 1558812590
commit: 951f754bdf44f95c745cfe157c5580b9602f5d21
1
0
Hello community,
here is the log from the commit of package python-boto3 for openSUSE:Factory checked in at 2019-05-28 09:40:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-boto3 (Old)
and /work/SRC/openSUSE:Factory/.python-boto3.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-boto3"
Tue May 28 09:40:23 2019 rev:28 rq:705435 version:1.9.156
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-boto3/python-boto3.changes 2019-05-22 10:55:11.371069601 +0200
+++ /work/SRC/openSUSE:Factory/.python-boto3.new.5148/python-boto3.changes 2019-05-28 09:40:26.053902337 +0200
@@ -1,0 +2,46 @@
+Sat May 25 15:32:34 UTC 2019 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Version update to 1.9.156
+ * api-change:``mediastore-data``: [``botocore``] Update mediastore-data client to latest version
+ * api-change:``codedeploy``: [``botocore``] Update codedeploy client to latest version
+ * api-change:``opsworkscm``: [``botocore``] Update opsworkscm client to latest version
+- from version 1.9.155
+ * api-change:``waf-regional``: [``botocore``] Update waf-regional client to latest version
+ * api-change:``ec2``: [``botocore``] Update ec2 client to latest version
+- from version 1.9.154
+ * api-change:``efs``: [``botocore``] Update efs client to latest version
+ * api-change:``ec2``: [``botocore``] Update ec2 client to latest version
+ * api-change:``apigateway``: [``botocore``] Update apigateway client to latest version
+ * api-change:``worklink``: [``botocore``] Update worklink client to latest version
+ * api-change:``rds``: [``botocore``] Update rds client to latest version
+ * api-change:``servicecatalog``: [``botocore``] Update servicecatalog client to latest version
+ * api-change:``devicefarm``: [``botocore``] Update devicefarm client to latest version
+ * api-change:``budgets``: [``botocore``] Update budgets client to latest version
+- from version 1.9.153
+ * api-change:``datasync``: [``botocore``] Update datasync client to latest version
+ * api-change:``alexaforbusiness``: [``botocore``] Update alexaforbusiness client to latest version
+- from version 1.9.152
+ * api-change:``kafka``: [``botocore``] Update kafka client to latest version
+ * api-change:``meteringmarketplace``: [``botocore``] Update meteringmarketplace client to latest version
+ * api-change:``mediapackage-vod``: [``botocore``] Update mediapackage-vod client to latest version
+- from version 1.9.151
+ * api-change:``appstream``: [``botocore``] Update appstream client to latest version
+- from version 1.9.150
+ * api-change:``medialive``: [``botocore``] Update medialive client to latest version
+ * api-change:``s3``: [``botocore``] Update s3 client to latest version
+- from version 1.9.149
+ * api-change:``ec2``: [``botocore``] Update ec2 client to latest version
+ * api-change:``transcribe``: [``botocore``] Update transcribe client to latest version
+ * api-change:``mediapackage``: [``botocore``] Update mediapackage client to latest version
+ * api-change:``codepipeline``: [``botocore``] Update codepipeline client to latest version
+ * enhancement:Environment Variables: [``botocore``] Ignore env var credentials is values
+ are empty (`#1680 <https://github.com/boto/botocore/issues/1680>`__)
+ * api-change:``rds``: [``botocore``] Update rds client to latest version
+- from version 1.9.148
+ * api-change:``comprehend``: [``botocore``] Update comprehend client to latest version
+ * api-change:``chime``: [``botocore``] Update chime client to latest version
+ * api-change:``storagegateway``: [``botocore``] Update storagegateway client to latest version
+ * api-change:``ec2``: [``botocore``] Update ec2 client to latest version
+- Update BuildRequires and Requires in spec file from setup.py
+
+-------------------------------------------------------------------
Old:
----
1.9.147.tar.gz
New:
----
1.9.156.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-boto3.spec ++++++
--- /var/tmp/diff_new_pack.d4vkGd/_old 2019-05-28 09:40:26.845902076 +0200
+++ /var/tmp/diff_new_pack.d4vkGd/_new 2019-05-28 09:40:26.845902076 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-boto3
-Version: 1.9.147
+Version: 1.9.156
Release: 0
Summary: Amazon Web Services Library
License: Apache-2.0
@@ -27,7 +27,7 @@
Source: https://github.com/boto/boto3/archive/%{version}.tar.gz
# Related test dependencies
BuildRequires: %{python_module botocore < 1.13.0}
-BuildRequires: %{python_module botocore >= 1.12.147}
+BuildRequires: %{python_module botocore >= 1.12.156}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module nose}
BuildRequires: %{python_module s3transfer < 0.3.0}
@@ -37,7 +37,7 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-botocore < 1.13.0
-Requires: python-botocore >= 1.12.147
+Requires: python-botocore >= 1.12.156
Requires: python-jmespath < 1.0.0
Requires: python-jmespath >= 0.7.1
Requires: python-s3transfer < 0.3.0
++++++ 1.9.147.tar.gz -> 1.9.156.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/.changes/1.9.148.json new/boto3-1.9.156/.changes/1.9.148.json
--- old/boto3-1.9.147/.changes/1.9.148.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.9.156/.changes/1.9.148.json 2019-05-24 20:13:32.000000000 +0200
@@ -0,0 +1,22 @@
+[
+ {
+ "category": "``comprehend``",
+ "description": "[``botocore``] Update comprehend client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``chime``",
+ "description": "[``botocore``] Update chime client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``storagegateway``",
+ "description": "[``botocore``] Update storagegateway client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``ec2``",
+ "description": "[``botocore``] Update ec2 client to latest version",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/.changes/1.9.149.json new/boto3-1.9.156/.changes/1.9.149.json
--- old/boto3-1.9.147/.changes/1.9.149.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.9.156/.changes/1.9.149.json 2019-05-24 20:13:32.000000000 +0200
@@ -0,0 +1,32 @@
+[
+ {
+ "category": "``ec2``",
+ "description": "[``botocore``] Update ec2 client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``transcribe``",
+ "description": "[``botocore``] Update transcribe client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``mediapackage``",
+ "description": "[``botocore``] Update mediapackage client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``codepipeline``",
+ "description": "[``botocore``] Update codepipeline client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "Environment Variables",
+ "description": "[``botocore``] Ignore env var credentials is values are empty (`#1680 <https://github.com/boto/botocore/issues/1680>`__)",
+ "type": "enhancement"
+ },
+ {
+ "category": "``rds``",
+ "description": "[``botocore``] Update rds client to latest version",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/.changes/1.9.150.json new/boto3-1.9.156/.changes/1.9.150.json
--- old/boto3-1.9.147/.changes/1.9.150.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.9.156/.changes/1.9.150.json 2019-05-24 20:13:32.000000000 +0200
@@ -0,0 +1,12 @@
+[
+ {
+ "category": "``medialive``",
+ "description": "[``botocore``] Update medialive client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``s3``",
+ "description": "[``botocore``] Update s3 client to latest version",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/.changes/1.9.151.json new/boto3-1.9.156/.changes/1.9.151.json
--- old/boto3-1.9.147/.changes/1.9.151.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.9.156/.changes/1.9.151.json 2019-05-24 20:13:32.000000000 +0200
@@ -0,0 +1,7 @@
+[
+ {
+ "category": "``appstream``",
+ "description": "[``botocore``] Update appstream client to latest version",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/.changes/1.9.152.json new/boto3-1.9.156/.changes/1.9.152.json
--- old/boto3-1.9.147/.changes/1.9.152.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.9.156/.changes/1.9.152.json 2019-05-24 20:13:32.000000000 +0200
@@ -0,0 +1,17 @@
+[
+ {
+ "category": "``kafka``",
+ "description": "[``botocore``] Update kafka client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``meteringmarketplace``",
+ "description": "[``botocore``] Update meteringmarketplace client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``mediapackage-vod``",
+ "description": "[``botocore``] Update mediapackage-vod client to latest version",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/.changes/1.9.153.json new/boto3-1.9.156/.changes/1.9.153.json
--- old/boto3-1.9.147/.changes/1.9.153.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.9.156/.changes/1.9.153.json 2019-05-24 20:13:32.000000000 +0200
@@ -0,0 +1,12 @@
+[
+ {
+ "category": "``datasync``",
+ "description": "[``botocore``] Update datasync client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``alexaforbusiness``",
+ "description": "[``botocore``] Update alexaforbusiness client to latest version",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/.changes/1.9.154.json new/boto3-1.9.156/.changes/1.9.154.json
--- old/boto3-1.9.147/.changes/1.9.154.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.9.156/.changes/1.9.154.json 2019-05-24 20:13:32.000000000 +0200
@@ -0,0 +1,42 @@
+[
+ {
+ "category": "``efs``",
+ "description": "[``botocore``] Update efs client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``ec2``",
+ "description": "[``botocore``] Update ec2 client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``apigateway``",
+ "description": "[``botocore``] Update apigateway client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``worklink``",
+ "description": "[``botocore``] Update worklink client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``rds``",
+ "description": "[``botocore``] Update rds client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``servicecatalog``",
+ "description": "[``botocore``] Update servicecatalog client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``devicefarm``",
+ "description": "[``botocore``] Update devicefarm client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``budgets``",
+ "description": "[``botocore``] Update budgets client to latest version",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/.changes/1.9.155.json new/boto3-1.9.156/.changes/1.9.155.json
--- old/boto3-1.9.147/.changes/1.9.155.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.9.156/.changes/1.9.155.json 2019-05-24 20:13:32.000000000 +0200
@@ -0,0 +1,12 @@
+[
+ {
+ "category": "``waf-regional``",
+ "description": "[``botocore``] Update waf-regional client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``ec2``",
+ "description": "[``botocore``] Update ec2 client to latest version",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/.changes/1.9.156.json new/boto3-1.9.156/.changes/1.9.156.json
--- old/boto3-1.9.147/.changes/1.9.156.json 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.9.156/.changes/1.9.156.json 2019-05-24 20:13:32.000000000 +0200
@@ -0,0 +1,17 @@
+[
+ {
+ "category": "``mediastore-data``",
+ "description": "[``botocore``] Update mediastore-data client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``codedeploy``",
+ "description": "[``botocore``] Update codedeploy client to latest version",
+ "type": "api-change"
+ },
+ {
+ "category": "``opsworkscm``",
+ "description": "[``botocore``] Update opsworkscm client to latest version",
+ "type": "api-change"
+ }
+]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/CHANGELOG.rst new/boto3-1.9.156/CHANGELOG.rst
--- old/boto3-1.9.147/CHANGELOG.rst 2019-05-13 20:43:44.000000000 +0200
+++ new/boto3-1.9.156/CHANGELOG.rst 2019-05-24 20:13:32.000000000 +0200
@@ -2,6 +2,82 @@
CHANGELOG
=========
+1.9.156
+=======
+
+* api-change:``mediastore-data``: [``botocore``] Update mediastore-data client to latest version
+* api-change:``codedeploy``: [``botocore``] Update codedeploy client to latest version
+* api-change:``opsworkscm``: [``botocore``] Update opsworkscm client to latest version
+
+
+1.9.155
+=======
+
+* api-change:``waf-regional``: [``botocore``] Update waf-regional client to latest version
+* api-change:``ec2``: [``botocore``] Update ec2 client to latest version
+
+
+1.9.154
+=======
+
+* api-change:``efs``: [``botocore``] Update efs client to latest version
+* api-change:``ec2``: [``botocore``] Update ec2 client to latest version
+* api-change:``apigateway``: [``botocore``] Update apigateway client to latest version
+* api-change:``worklink``: [``botocore``] Update worklink client to latest version
+* api-change:``rds``: [``botocore``] Update rds client to latest version
+* api-change:``servicecatalog``: [``botocore``] Update servicecatalog client to latest version
+* api-change:``devicefarm``: [``botocore``] Update devicefarm client to latest version
+* api-change:``budgets``: [``botocore``] Update budgets client to latest version
+
+
+1.9.153
+=======
+
+* api-change:``datasync``: [``botocore``] Update datasync client to latest version
+* api-change:``alexaforbusiness``: [``botocore``] Update alexaforbusiness client to latest version
+
+
+1.9.152
+=======
+
+* api-change:``kafka``: [``botocore``] Update kafka client to latest version
+* api-change:``meteringmarketplace``: [``botocore``] Update meteringmarketplace client to latest version
+* api-change:``mediapackage-vod``: [``botocore``] Update mediapackage-vod client to latest version
+
+
+1.9.151
+=======
+
+* api-change:``appstream``: [``botocore``] Update appstream client to latest version
+
+
+1.9.150
+=======
+
+* api-change:``medialive``: [``botocore``] Update medialive client to latest version
+* api-change:``s3``: [``botocore``] Update s3 client to latest version
+
+
+1.9.149
+=======
+
+* api-change:``ec2``: [``botocore``] Update ec2 client to latest version
+* api-change:``transcribe``: [``botocore``] Update transcribe client to latest version
+* api-change:``mediapackage``: [``botocore``] Update mediapackage client to latest version
+* api-change:``codepipeline``: [``botocore``] Update codepipeline client to latest version
+* enhancement:Environment Variables: [``botocore``] Ignore env var credentials is values are empty (`#1680 <https://github.com/boto/botocore/issues/1680>`__)
+* api-change:``rds``: [``botocore``] Update rds client to latest version
+
+
+1.9.148
+=======
+
+* api-change:``comprehend``: [``botocore``] Update comprehend client to latest version
+* api-change:``chime``: [``botocore``] Update chime client to latest version
+* api-change:``storagegateway``: [``botocore``] Update storagegateway client to latest version
+* api-change:``ec2``: [``botocore``] Update ec2 client to latest version
+
+
1.9.147
=======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/LICENSE new/boto3-1.9.156/LICENSE
--- old/boto3-1.9.147/LICENSE 2019-05-13 20:43:44.000000000 +0200
+++ new/boto3-1.9.156/LICENSE 2019-05-24 20:13:32.000000000 +0200
@@ -1,12 +1,177 @@
-Copyright 2013-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Licensed under the Apache License, Version 2.0 (the "License"). You
-may not use this file except in compliance with the License. A copy of
-the License is located at
-
- http://aws.amazon.com/apache2.0/
-
-or in the "license" file accompanying this file. This file is
-distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-ANY KIND, either express or implied. See the License for the specific
-language governing permissions and limitations under the License.
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/NOTICE new/boto3-1.9.156/NOTICE
--- old/boto3-1.9.147/NOTICE 1970-01-01 01:00:00.000000000 +0100
+++ new/boto3-1.9.156/NOTICE 2019-05-24 20:13:32.000000000 +0200
@@ -0,0 +1,2 @@
+boto3
+Copyright 2013-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/boto3/__init__.py new/boto3-1.9.156/boto3/__init__.py
--- old/boto3-1.9.147/boto3/__init__.py 2019-05-13 20:43:44.000000000 +0200
+++ new/boto3-1.9.156/boto3/__init__.py 2019-05-24 20:13:32.000000000 +0200
@@ -17,7 +17,7 @@
__author__ = 'Amazon Web Services'
-__version__ = '1.9.147'
+__version__ = '1.9.156'
# The default Boto3 session; autoloaded when needed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/setup.cfg new/boto3-1.9.156/setup.cfg
--- old/boto3-1.9.147/setup.cfg 2019-05-13 20:43:44.000000000 +0200
+++ new/boto3-1.9.156/setup.cfg 2019-05-24 20:13:32.000000000 +0200
@@ -3,6 +3,6 @@
[metadata]
requires-dist =
- botocore>=1.12.147,<1.13.0
+ botocore>=1.12.156,<1.13.0
jmespath>=0.7.1,<1.0.0
s3transfer>=0.2.0,<0.3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/setup.py new/boto3-1.9.156/setup.py
--- old/boto3-1.9.147/setup.py 2019-05-13 20:43:44.000000000 +0200
+++ new/boto3-1.9.156/setup.py 2019-05-24 20:13:32.000000000 +0200
@@ -14,7 +14,7 @@
requires = [
- 'botocore>=1.12.147,<1.13.0',
+ 'botocore>=1.12.156,<1.13.0',
'jmespath>=0.7.1,<1.0.0',
's3transfer>=0.2.0,<0.3.0'
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.9.147/tests/integration/test_s3.py new/boto3-1.9.156/tests/integration/test_s3.py
--- old/boto3-1.9.147/tests/integration/test_s3.py 2019-05-13 20:43:44.000000000 +0200
+++ new/boto3-1.9.156/tests/integration/test_s3.py 2019-05-24 20:13:32.000000000 +0200
@@ -187,6 +187,9 @@
}
bucket = self.s3.create_bucket(**kwargs)
self.addCleanup(bucket.delete)
+
+ for _ in range(3):
+ bucket.wait_until_exists()
return bucket
def test_s3(self):
1
0
Hello community,
here is the log from the commit of package python-botocore for openSUSE:Factory checked in at 2019-05-28 09:40:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-botocore (Old)
and /work/SRC/openSUSE:Factory/.python-botocore.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-botocore"
Tue May 28 09:40:16 2019 rev:42 rq:705434 version:1.12.156
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-botocore/python-botocore.changes 2019-05-22 10:55:04.991084240 +0200
+++ /work/SRC/openSUSE:Factory/.python-botocore.new.5148/python-botocore.changes 2019-05-28 09:40:18.033904979 +0200
@@ -1,0 +2,48 @@
+Sat May 25 15:32:05 UTC 2019 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Version update to 1.12.156 (boo#1136184)
+ * api-change:``mediastore-data``: Update mediastore-data client to latest version
+ * api-change:``codedeploy``: Update codedeploy client to latest version
+ * api-change:``opsworkscm``: Update opsworkscm client to latest version
+- from version 1.12.155
+ * api-change:``waf-regional``: Update waf-regional client to latest version
+ * api-change:``ec2``: Update ec2 client to latest version
+- from version 1.12.154
+ * api-change:``efs``: Update efs client to latest version
+ * api-change:``ec2``: Update ec2 client to latest version
+ * api-change:``apigateway``: Update apigateway client to latest version
+ * api-change:``worklink``: Update worklink client to latest version
+ * api-change:``rds``: Update rds client to latest version
+ * api-change:``servicecatalog``: Update servicecatalog client to latest version
+ * api-change:``devicefarm``: Update devicefarm client to latest version
+ * api-change:``budgets``: Update budgets client to latest version
+- from version 1.12.153
+ * api-change:``datasync``: Update datasync client to latest version
+ * api-change:``alexaforbusiness``: Update alexaforbusiness client to latest version
+- from version 1.12.152
+ * api-change:``kafka``: Update kafka client to latest version
+ * api-change:``meteringmarketplace``: Update meteringmarketplace client to latest version
+ * api-change:``mediapackage-vod``: Update mediapackage-vod client to latest version
+- from version 1.12.151
+ * api-change:``appstream``: Update appstream client to latest version
+- from 1.12.150
+ * api-change:``medialive``: Update medialive client to latest version
+ * api-change:``s3``: Update s3 client to latest version
+- from version 1.12.149
+ * api-change:``ec2``: Update ec2 client to latest version
+ * api-change:``transcribe``: Update transcribe client to latest version
+ * api-change:``mediapackage``: Update mediapackage client to latest version
+ * api-change:``codepipeline``: Update codepipeline client to latest version
+ * enhancement:Environment Variables: Ignore env var credentials is values are
+ empty (`#1680 <https://github.com/boto/botocore/issues/1680>`__)
+ * api-change:``rds``: Update rds client to latest version
+- from version 1.12.148
+ * api-change:``comprehend``: Update comprehend client to latest version
+ * api-change:``chime``: Update chime client to latest version
+ * api-change:``storagegateway``: Update storagegateway client to latest version
+ * api-change:``ec2``: Update ec2 client to latest version
+- Refresh patches for new version
+ + hide_py_pckgmgmt.patch
+- Update Requires in spec file from setup.py
+
+-------------------------------------------------------------------
Old:
----
botocore-1.12.147.tar.gz
New:
----
botocore-1.12.156.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-botocore.spec ++++++
--- /var/tmp/diff_new_pack.kmNdRd/_old 2019-05-28 09:40:18.637904780 +0200
+++ /var/tmp/diff_new_pack.kmNdRd/_new 2019-05-28 09:40:18.637904780 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-botocore
-Version: 1.12.147
+Version: 1.12.156
Release: 0
Summary: Python interface for AWS
License: Apache-2.0
@@ -32,7 +32,7 @@
BuildRequires: %{python_module python-dateutil <= 3.0.0}
BuildRequires: %{python_module python-dateutil >= 2.1}
BuildRequires: %{python_module setuptools}
-BuildRequires: %{python_module urllib3 < 1.25}
+BuildRequires: %{python_module urllib3 < 1.26}
BuildRequires: %{python_module urllib3 >= 1.20}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
++++++ botocore-1.12.147.tar.gz -> botocore-1.12.156.tar.gz ++++++
++++ 11404 lines of diff (skipped)
++++++ hide_py_pckgmgmt.patch ++++++
--- /var/tmp/diff_new_pack.kmNdRd/_old 2019-05-28 09:40:20.221904259 +0200
+++ /var/tmp/diff_new_pack.kmNdRd/_new 2019-05-28 09:40:20.225904257 +0200
@@ -1,6 +1,6 @@
-diff -Nru botocore-1.12.84.orig/setup.py botocore-1.12.84/setup.py
---- botocore-1.12.84.orig/setup.py 2019-01-24 00:03:29.000000000 +0100
-+++ botocore-1.12.84/setup.py 2019-01-24 11:52:15.619409887 +0100
+diff -Nru botocore-1.12.156.orig/setup.py botocore-1.12.156/setup.py
+--- botocore-1.12.156.orig/setup.py 2019-05-24 20:11:40.000000000 +0200
++++ botocore-1.12.156/setup.py 2019-05-25 17:15:57.371868069 +0200
@@ -23,31 +23,31 @@
raise RuntimeError("Unable to find version string.")
@@ -31,7 +31,7 @@
-elif sys.version_info[:2] == (3, 3):
- requires.append('urllib3>=1.20,<1.23')
-else:
-- requires.append('urllib3>=1.20,<1.25')
+- requires.append('urllib3>=1.20,<1.26')
+# if sys.version_info[:2] == (2, 6):
+# # For python2.6 we have a few other dependencies.
+# # First we need an ordered dictionary so we use the
@@ -52,7 +52,7 @@
+# elif sys.version_info[:2] == (3, 3):
+# requires.append('urllib3>=1.20,<1.23')
+# else:
-+# requires.append('urllib3>=1.20,<1.25')
++# requires.append('urllib3>=1.20,<1.26')
setup(
1
0
Hello community,
here is the log from the commit of package obs-service-tar_scm for openSUSE:Factory checked in at 2019-05-28 09:40:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-tar_scm (Old)
and /work/SRC/openSUSE:Factory/.obs-service-tar_scm.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-tar_scm"
Tue May 28 09:40:05 2019 rev:53 rq:705415 version:0.10.9.1557261720.32a1cdb
Changes:
--------
--- /work/SRC/openSUSE:Factory/obs-service-tar_scm/obs-service-tar_scm.changes 2019-03-14 14:53:15.827780052 +0100
+++ /work/SRC/openSUSE:Factory/.obs-service-tar_scm.new.5148/obs-service-tar_scm.changes 2019-05-28 09:40:10.285907532 +0200
@@ -1,0 +2,57 @@
+Wed May 8 13:26:40 UTC 2019 - Julio González Gil <jgonzalez(a)suse.com>
+
+- Require external argparse for RHEL6
+
+-------------------------------------------------------------------
+Tue May 07 22:41:38 UTC 2019 - FSchreiner(a)suse.com
+
+- Update to version 0.10.9.1557261720.32a1cdb:
+ * fix encoding error for surrogates
+ * glibc-common was used up to FC23 and RHEL7
+
+-------------------------------------------------------------------
+Fri May 03 15:24:40 UTC 2019 - FSchreiner(a)suse.com
+
+- Update to version 0.10.8.1556896538.0693a62:
+ * Compile python files before install
+ * change order in GNUMakefile to prefer python3
+ * More thorought spec file cleanup
+ * predefine python version in spec file for GNUMAkefile
+
+-------------------------------------------------------------------
+Fri Apr 26 19:00:00 UTC 2019 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- the current guessing code is finding python2 and then uses that,
+ because python2 still seems to be available in the build env,
+ as we already know which python version we want we can just pass
+ the path to make and skip the whole guessing.
+
+-------------------------------------------------------------------
+Fri Apr 26 12:40:14 UTC 2019 - FSchreiner(a)suse.com
+
+- Update to version 0.10.7.1556277536.7e9915a:
+ * [dist] spec file: python3 only and multidist
+ * Git also uses the LANGUAGE variable
+ * centos_version and rhel_version are triple digits
+ * Minimize diff with the version in openSUSE:Tools
+ * Fix the logic to pick the locale package on Fedora
+ * Forgot the guard 0 in one conditional
+
+-------------------------------------------------------------------
+Tue Apr 9 17:18:09 UTC 2019 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- centos_version and rhel_version are triple digits
+
+-------------------------------------------------------------------
+Tue Apr 9 17:03:08 UTC 2019 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- locally apply fixes from
+ https://github.com/openSUSE/obs-service-tar_scm/pull/298
+
+-------------------------------------------------------------------
+Fri Mar 29 13:49:15 UTC 2019 - Julio González Gil <jgonzalez(a)suse.com>
+
+- Change requirement locale_package to glibc-common to fix building
+ for CentOS6 and CentOS7
+
+-------------------------------------------------------------------
Old:
----
obs-service-tar_scm-0.10.6.1551887937.e42c270.tar.gz
New:
----
obs-service-tar_scm-0.10.9.1557261720.32a1cdb.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obs-service-tar_scm.spec ++++++
--- /var/tmp/diff_new_pack.4KcJgf/_old 2019-05-28 09:40:11.465907143 +0200
+++ /var/tmp/diff_new_pack.4KcJgf/_new 2019-05-28 09:40:11.469907142 +0200
@@ -16,65 +16,123 @@
#
+%if 0%{?suse_version} && 0%{?suse_version} >= 1220
+%bcond_without obs_scm_testsuite
+%else
+%bcond_with obs_scm_testsuite
+%endif
+
+%if 0%{?suse_version} >= 1500 || 0%{?fedora_version} >= 29
+%bcond_without python3
+%else
+%bcond_with python3
+%endif
+
+# This list probably needs to be extended
+# logic seems to be if python < 2.7 ; then needs_external_argparse ; fi
+%if (0%{?centos_version} == 6) || (0%{?rhel_version} == 600) || (0%{?suse_version} && 0%{?suse_version} < 1315) || (0%{?fedora_version} && 0%{?fedora_version} < 26)
+%bcond_without needs_external_argparse
+%else
+%bcond_with needs_external_argparse
+%endif
+
+%if %{with python3}
+%define use_python python3
+%define use_test test3
+%else
+%define use_python python
+%define use_test test
+%endif
+
%if 0%{?suse_version}
-%if 0%{?suse_version} >= 1550
+%define pyyaml_package %{use_python}-PyYAML
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100
%define locale_package glibc-locale-base
%else
%define locale_package glibc-locale
%endif
%endif
-%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
+
+%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?scientificlinux_version}
+%if 0%{?fedora_version} >= 29 || 0%{?rhel_version} >= 800 || 0%{?centos_version} >= 800
+%define pyyaml_package %{use_python}-PyYAML
+%else
+%define pyyaml_package PyYAML
+%endif
+
+%if 0%{?fedora_version} >= 24 || 0%{?rhel_version} >= 800 || 0%{?centos_version} >= 800
%define locale_package glibc-langpack-en
+%else
+%define locale_package glibc-common
+%endif
%endif
-%bcond_without obs_scm_testsuite
+%if 0%{?mageia} || 0%{?mandriva_version}
+%define pyyaml_package python-yaml
+%define locale_package locales
+%endif
+
+# avoid code duplication
+%define scm_common_dep \
+Requires: obs-service-obs_scm-common = %version-%release \
+%{nil}
+
+%define scm_dependencies \
+Requires: git-core \
+%if 0%{?suse_version} >= 1315 \
+Recommends: bzr \
+Recommends: mercurial \
+Recommends: subversion \
+Recommends: obs-service-download_files \
+%endif \
+%{nil}
+
+######## END OF MACROS AND FUN ###################################
Name: obs-service-tar_scm
-%define version_unconverted 0.10.6.1551887937.e42c270
-Version: 0.10.6.1551887937.e42c270
+%define version_unconverted 0.10.9.1557261720.32a1cdb
+Version: 0.10.9.1557261720.32a1cdb
Release: 0
Summary: An OBS source service: create tar ball from svn/git/hg
License: GPL-2.0-or-later
Group: Development/Tools/Building
Url: https://github.com/openSUSE/obs-service-tar_scm
Source: %{name}-%{version}.tar.gz
+
# Fix build on Ubuntu by disabling mercurial tests, not applied in rpm
# based distributions
#Patch0: 0001-Debianization-disable-running-mercurial-tests.patch
+
%if %{with obs_scm_testsuite}
BuildRequires: %{locale_package}
+BuildRequires: %{use_python}-mock
+BuildRequires: %{use_python}-six
+BuildRequires: %{use_python}-unittest2
BuildRequires: bzr
BuildRequires: git-core
BuildRequires: mercurial
BuildRequires: subversion
-%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
-%define py_compile(O) \
-find %1 -name '*.pyc' -exec rm -f {} \\; \
-python -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \
-%{-O: \
-find %1 -name '*.pyo' -exec rm -f {} \\; \
-python -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \
-}
-
-BuildRequires: PyYAML
-%else
-BuildRequires: python-PyYAML
-%endif
-BuildRequires: python-dateutil
-BuildRequires: python-lxml
-BuildRequires: python-mock
-BuildRequires: python-six
-BuildRequires: python-unittest2
%endif
-BuildRequires: python >= 2.6
-Requires: git-core
-%if 0%{?suse_version} >= 1315
-Recommends: bzr
-Recommends: mercurial
-Recommends: subversion
+BuildRequires: %{locale_package}
+BuildRequires: %{pyyaml_package}
+%if %{with needs_external_argparse}
+BuildRequires: %{use_python}-argparse
+%endif
+BuildRequires: %{use_python}-dateutil
+# Why do we need this? we dont use it as runtime requires later
+BuildRequires: %{use_python}-lxml
+
+%if %{with python3}
+BuildRequires: %{use_python}
+%else
+BuildRequires: python >= 2.6
%endif
-Requires: obs-service-obs_scm-common = %version-%release
+%scm_common_dep
+%scm_dependencies
+#
+#
+#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
@@ -87,31 +145,24 @@
Summary: Common parts of SCM handling services
Group: Development/Tools/Building
Requires: %{locale_package}
-Requires: python-dateutil
-%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
-Requires: PyYAML
-%else
-Requires: python-PyYAML
-%if 0%{?suse_version} < 1315
-Requires: python-argparse
-%endif
-%endif
-
-%if 0%{?fedora_version} >= 25
-Requires: python2
+Requires: %{pyyaml_package}
+Requires: %{use_python}-dateutil
+%if %{with needs_external_argparse}
+Requires: %{use_python}-argparse
%endif
%description -n obs-service-obs_scm-common
+This is a source service for openSUSE Build Service.
+
+It supports downloading from svn, git, hg and bzr repositories.
+
+This package holds the shared files for different services.
%package -n obs-service-tar
Summary: Creates a tar archive from local directory
Group: Development/Tools/Building
-Requires: obs-service-obs_scm-common = %version-%release
Provides: obs-service-tar_scm:/usr/lib/obs/service/tar.service
-%if (0%{?fedora_version} && 0%{?fedora_version} < 26) || 0%{?centos} == 6 || 0%{?centos} == 7
-BuildRequires: python-argparse
-Requires: python-argparse
-%endif
+%scm_common_dep
%description -n obs-service-tar
Creates a tar archive from local directory
@@ -120,13 +171,8 @@
Summary: Creates a OBS cpio from a remote SCM resource
Group: Development/Tools/Building
Provides: obs-service-tar_scm:/usr/lib/obs/service/obs_scm.service
-Requires: git-core
-%if 0%{?suse_version} >= 1315
-Recommends: bzr
-Recommends: mercurial
-Recommends: subversion
-%endif
-Requires: obs-service-obs_scm-common = %version-%release
+%scm_common_dep
+%scm_dependencies
%description -n obs-service-obs_scm
Creates a OBS cpio from a remote SCM resource.
@@ -137,14 +183,8 @@
%package -n obs-service-appimage
Summary: Handles source downloads defined in appimage.yml files
Group: Development/Tools/Building
-Requires: git-core
-%if 0%{?suse_version} >= 1315
-Recommends: bzr
-Recommends: mercurial
-Recommends: subversion
-Recommends: obs-service-download_files
-%endif
-Requires: obs-service-obs_scm-common = %version-%release
+%scm_common_dep
+%scm_dependencies
%description -n obs-service-appimage
Experimental appimage support: This parses appimage.yml files for SCM
@@ -154,14 +194,8 @@
Summary: Handles source downloads defined in snapcraft.yaml files
Group: Development/Tools/Building
Provides: obs-service-tar_scm:/usr/lib/obs/service/snapcraft.service
-Requires: git-core
-%if 0%{?suse_version} >= 1315
-Recommends: bzr
-Recommends: mercurial
-Recommends: subversion
-Recommends: obs-service-download_files
-%endif
-Requires: obs-service-obs_scm-common = %version-%release
+%scm_common_dep
+%scm_dependencies
%description -n obs-service-snapcraft
Experimental snapcraft support: This parses snapcraft.yaml files for SCM
@@ -172,24 +206,17 @@
%setup -q -n obs-service-tar_scm-%version
%build
-%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
-%py_compile .
-%else
-%py_compile %{buildroot}
-%endif
%install
-make install DESTDIR="%{buildroot}" PREFIX="%{_prefix}" SYSCFG="%{_sysconfdir}"
+make install DESTDIR="%{buildroot}" PREFIX="%{_prefix}" SYSCFG="%{_sysconfdir}" PYTHON="%{_bindir}/%{use_python}"
%if %{with obs_scm_testsuite}
-%if 0%{?suse_version} >= 1220
-
+# moved conditional to the top as it helps to have it all in one place and only rely on the bcond_with here.
%check
# No need to run PEP8 tests here; that would require a potentially
# brittle BuildRequires: python-pep8, and any style issues are already
# caught by Travis CI.
-make test
-%endif
+make %{use_test}
%endif
%files
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.4KcJgf/_old 2019-05-28 09:40:11.521907125 +0200
+++ /var/tmp/diff_new_pack.4KcJgf/_new 2019-05-28 09:40:11.521907125 +0200
@@ -1,5 +1,5 @@
pkgname=obs-service-tar_scm
-pkgver=0.10.6.1551887937.e42c270
+pkgver=0.10.9.1557261720.32a1cdb
pkgrel=0
pkgdesc="Source Service for the OpenSUSE Build Service (OBS)"
arch=('any')
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.4KcJgf/_old 2019-05-28 09:40:11.553907114 +0200
+++ /var/tmp/diff_new_pack.4KcJgf/_new 2019-05-28 09:40:11.553907114 +0200
@@ -5,4 +5,4 @@
<param name="url">git://github.com/M0ses/obs-service-tar_scm.git</param>
<param name="changesrevision">b742dfc0e12755cf306a95439494b5bdde7c0c61</param></service><service name="tar_scm">
<param name="url">git://github.com/openSUSE/obs-service-tar_scm.git</param>
- <param name="changesrevision">689f06bdad912d238ee2714eeae9f53218953b9a</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">d35048f2cac019c9f452fe8fac2fe1eab5018e6e</param></service></servicedata>
\ No newline at end of file
++++++ debian.dsc ++++++
--- /var/tmp/diff_new_pack.4KcJgf/_old 2019-05-28 09:40:11.569907109 +0200
+++ /var/tmp/diff_new_pack.4KcJgf/_new 2019-05-28 09:40:11.573907107 +0200
@@ -1,6 +1,6 @@
Format: 1.0
Source: obs-service-tar-scm
-Version: 0.10.6.1551887937.e42c270
+Version: 0.10.9.1557261720.32a1cdb
Provides: obs-service-obs_scm, obs-service-tar
Binary: obs-service-tar_scm
Maintainer: Adrian Schroeter <adrian(a)suse.de>
++++++ obs-service-tar_scm-0.10.6.1551887937.e42c270.tar.gz -> obs-service-tar_scm-0.10.9.1557261720.32a1cdb.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.6.1551887937.e42c270/GNUmakefile new/obs-service-tar_scm-0.10.9.1557261720.32a1cdb/GNUmakefile
--- old/obs-service-tar_scm-0.10.6.1551887937.e42c270/GNUmakefile 2019-03-06 16:58:57.000000000 +0100
+++ new/obs-service-tar_scm-0.10.9.1557261720.32a1cdb/GNUmakefile 2019-05-07 22:42:00.000000000 +0200
@@ -53,19 +53,19 @@
)
endef
-# On ArchLinux, /usr/bin/python is Python 3, and other distros
-# will switch to the same at various points. So until we support
-# Python 3, we need to do our best to ensure we have Python 2.
-PYTHON3 = python3 python3.6 python-3.6 python
-PYTHON2 = python2 python2.7 python-2.7 python2.6 python-2.6 python
-ALL_PYTHONS = $(PYTHON3) $(PYTHON2)
+PYTHON3 = python3.7 python-3.7 python3.6 python-3.6 python3.5 python-3.5 python3.4 python-3.4 python3.3 python-3.3 python3.2 python-3.2 python3
+PYTHON2 = python2.7 python-2.7 python2.6 python-2.6 python2
+
+# Ensure that correct python version is used in travis
PYTHON_MAJOR := $(shell python -c "import sys; print sys.version[:1]" 2>/dev/null)
ifeq ($(PYTHON_MAJOR), 2)
-PYTHON := $(shell which python2)
+ALL_PYTHONS = $(PYTHON2) python
else
-PYTHON = $(call first_in_path,$(ALL_PYTHONS))
+ALL_PYTHONS = $(PYTHON3) $(PYTHON2) python
endif
+PYTHON = $(call first_in_path,$(ALL_PYTHONS))
+
mylibdir = $(PREFIX)/lib/obs/service
mycfgdir = $(SYSCFG)/obs/services
@@ -165,7 +165,7 @@
.PHONY: install
-install: dirs tar_scm service
+install: dirs tar_scm service compile
install -m 0755 tar_scm $(DESTDIR)$(mylibdir)/tar_scm
install -m 0644 tar_scm.rc $(DESTDIR)$(mycfgdir)/tar_scm
# Recreate links, otherwise reinstalling would fail
@@ -177,7 +177,7 @@
ln -s tar_scm $(DESTDIR)$(mylibdir)/appimage
[ ! -L $(DESTDIR)$(mylibdir)/snapcraft ] || rm $(DESTDIR)$(mylibdir)/snapcraft
ln -s tar_scm $(DESTDIR)$(mylibdir)/snapcraft
- find ./TarSCM/ -name '*.py*' -exec install -m 644 {} $(DESTDIR)$(mylibdir)/{} \;
+ find ./TarSCM/ -name '*.py*' -exec install -D -m 644 {} $(DESTDIR)$(mylibdir)/{} \;
.PHONY: dirs
dirs:
@@ -206,4 +206,4 @@
rm -f ./cover.log
compile:
- find -name '*.py' -exec python -m py_compile {} \;
+ find -name '*.py' -exec $(PYTHON) -m py_compile {} \;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.6.1551887937.e42c270/TarSCM/archive.py new/obs-service-tar_scm-0.10.9.1557261720.32a1cdb/TarSCM/archive.py
--- old/obs-service-tar_scm-0.10.6.1551887937.e42c270/TarSCM/archive.py 2019-03-06 16:58:57.000000000 +0100
+++ new/obs-service-tar_scm-0.10.9.1557261720.32a1cdb/TarSCM/archive.py 2019-05-07 22:42:00.000000000 +0200
@@ -114,9 +114,10 @@
# bytes() break in python2 with a TypeError as it expects only 1
# arg
try:
- proc.stdin.write(bytes(name, 'UTF-8'))
+ proc.stdin.write(name.encode('UTF-8', 'surrogateescape'))
except TypeError:
proc.stdin.write(name)
+
proc.stdin.write(b"\n")
proc.stdin.close()
ret_code = proc.wait()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.6.1551887937.e42c270/TarSCM/cli.py new/obs-service-tar_scm-0.10.9.1557261720.32a1cdb/TarSCM/cli.py
--- old/obs-service-tar_scm-0.10.6.1551887937.e42c270/TarSCM/cli.py 2019-03-06 16:58:57.000000000 +0100
+++ new/obs-service-tar_scm-0.10.9.1557261720.32a1cdb/TarSCM/cli.py 2019-05-07 22:42:00.000000000 +0200
@@ -176,5 +176,6 @@
locale.setlocale(locale.LC_ALL, args.locale)
os.environ["LC_ALL"] = args.locale
os.environ["LANG"] = args.locale
+ os.environ["LANGUAGE"] = args.locale
return args
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.6.1551887937.e42c270/dist/obs-service-tar_scm.spec new/obs-service-tar_scm-0.10.9.1557261720.32a1cdb/dist/obs-service-tar_scm.spec
--- old/obs-service-tar_scm-0.10.6.1551887937.e42c270/dist/obs-service-tar_scm.spec 2019-03-06 16:58:57.000000000 +0100
+++ new/obs-service-tar_scm-0.10.9.1557261720.32a1cdb/dist/obs-service-tar_scm.spec 2019-05-07 22:42:00.000000000 +0200
@@ -15,65 +15,124 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+
+%if 0%{?suse_version} && 0%{?suse_version} >= 1220
+%bcond_without obs_scm_testsuite
+%else
+%bcond_with obs_scm_testsuite
+%endif
+
+%if 0%{?suse_version} >= 1500 || 0%{?fedora_version} >= 29
+%bcond_without python3
+%else
+%bcond_with python3
+%endif
+
+# This list probably needs to be extended
+# logic seems to be if python < 2.7 ; then needs_external_argparse ; fi
+%if (0%{?centos_version} == 6) || (0%{?suse_version} && 0%{?suse_version} < 1315) || (0%{?fedora_version} && 0%{?fedora_version} < 26)
+%bcond_without needs_external_argparse
+%else
+%bcond_with needs_external_argparse
+%endif
+
+%if %{with python3}
+%define use_python python3
+%define use_test test3
+%else
+%define use_python python
+%define use_test test
+%endif
+
%if 0%{?suse_version}
-%if 0%{?suse_version} >= 1550
+%define pyyaml_package %{use_python}-PyYAML
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100
%define locale_package glibc-locale-base
%else
%define locale_package glibc-locale
%endif
%endif
-%if %{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
+
+%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?scientificlinux_version}
+%if 0%{?fedora_version} >= 29 || 0%{?rhel_version} >= 800 || 0%{?centos_version} >= 800
+%define pyyaml_package %{use_python}-PyYAML
+%else
+%define pyyaml_package PyYAML
+%endif
+
+%if 0%{?fedora_version} >= 24 || 0%{?rhel_version} >= 800 || 0%{?centos_version} >= 800
%define locale_package glibc-langpack-en
+%else
+%define locale_package glibc-common
+%endif
%endif
-%bcond_without obs_scm_testsuite
+%if 0%{?mageia} || 0%{?mandriva_version}
+%define pyyaml_package python-yaml
+%define locale_package locales
+%endif
+
+# avoid code duplication
+%define scm_common_dep \
+Requires: obs-service-obs_scm-common = %version-%release \
+%{nil}
+
+%define scm_dependencies \
+Requires: git-core \
+%if 0%{?suse_version} >= 1315 \
+Recommends: bzr \
+Recommends: mercurial \
+Recommends: subversion \
+Recommends: obs-service-download_files \
+%endif \
+%{nil}
+
+######## END OF MACROS AND FUN ###################################
Name: obs-service-tar_scm
-%define version_unconverted 0.9.5.1545082095.8dbc95f
-Version: 0.9.5.1545082095.8dbc95f
+%define version_unconverted 0.10.7.1556277536.7e9915a
+Version: 0.10.7.1556277536.7e9915a
Release: 0
Summary: An OBS source service: create tar ball from svn/git/hg
License: GPL-2.0-or-later
Group: Development/Tools/Building
Url: https://github.com/openSUSE/obs-service-tar_scm
Source: %{name}-%{version}.tar.gz
+
# Fix build on Ubuntu by disabling mercurial tests, not applied in rpm
# based distributions
#Patch0: 0001-Debianization-disable-running-mercurial-tests.patch
+
%if %{with obs_scm_testsuite}
+BuildRequires: %{locale_package}
+BuildRequires: %{use_python}-mock
+BuildRequires: %{use_python}-six
+BuildRequires: %{use_python}-unittest2
BuildRequires: bzr
BuildRequires: git-core
BuildRequires: mercurial
BuildRequires: subversion
-BuildRequires: %{locale_package}
-%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
-%define py_compile(O) \
-find %1 -name '*.pyc' -exec rm -f {} \\; \
-python -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \
-%{-O: \
-find %1 -name '*.pyo' -exec rm -f {} \\; \
-python -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \
-}
-
-BuildRequires: PyYAML
-%else
-BuildRequires: python-PyYAML
-%endif
-BuildRequires: python-dateutil
-BuildRequires: python-lxml
-BuildRequires: python-mock
-BuildRequires: python-unittest2
-BuildRequires: python-six
%endif
-BuildRequires: python >= 2.6
-Requires: git-core
-%if 0%{?suse_version} >= 1315
-Recommends: bzr
-Recommends: mercurial
-Recommends: subversion
+BuildRequires: %{locale_package}
+BuildRequires: %{pyyaml_package}
+%if %{with needs_external_argparse}
+BuildRequires: %{use_python}-argparse
+%endif
+BuildRequires: %{use_python}-dateutil
+# Why do we need this? we dont use it as runtime requires later
+BuildRequires: %{use_python}-lxml
+
+%if %{with python3}
+BuildRequires: %{use_python}
+%else
+BuildRequires: python >= 2.6
%endif
-Requires: obs-service-obs_scm-common = %version-%release
+%scm_common_dep
+%scm_dependencies
+#
+#
+#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
@@ -85,32 +144,25 @@
%package -n obs-service-obs_scm-common
Summary: Common parts of SCM handling services
Group: Development/Tools/Building
-Requires: python-dateutil
Requires: %{locale_package}
-%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
-Requires: PyYAML
-%else
-Requires: python-PyYAML
-%if 0%{?suse_version} < 1315
-Requires: python-argparse
-%endif
-%endif
-
-%if 0%{?fedora_version} >= 25
-Requires: python2
+Requires: %{pyyaml_package}
+Requires: %{use_python}-dateutil
+%if %{with needs_external_argparse}
+Requires: %{use_python}-argparse
%endif
%description -n obs-service-obs_scm-common
+This is a source service for openSUSE Build Service.
+
+It supports downloading from svn, git, hg and bzr repositories.
+
+This package holds the shared files for different services.
%package -n obs-service-tar
Summary: Creates a tar archive from local directory
Group: Development/Tools/Building
-Requires: obs-service-obs_scm-common = %version-%release
Provides: obs-service-tar_scm:/usr/lib/obs/service/tar.service
-%if (0%{?fedora_version} && 0%{?fedora_version} < 26) || 0%{?centos} == 6 || 0%{?centos} == 7
-BuildRequires: python-argparse
-Requires: python-argparse
-%endif
+%scm_common_dep
%description -n obs-service-tar
Creates a tar archive from local directory
@@ -119,13 +171,8 @@
Summary: Creates a OBS cpio from a remote SCM resource
Group: Development/Tools/Building
Provides: obs-service-tar_scm:/usr/lib/obs/service/obs_scm.service
-Requires: git-core
-%if 0%{?suse_version} >= 1315
-Recommends: bzr
-Recommends: mercurial
-Recommends: subversion
-%endif
-Requires: obs-service-obs_scm-common = %version-%release
+%scm_common_dep
+%scm_dependencies
%description -n obs-service-obs_scm
Creates a OBS cpio from a remote SCM resource.
@@ -136,14 +183,8 @@
%package -n obs-service-appimage
Summary: Handles source downloads defined in appimage.yml files
Group: Development/Tools/Building
-Requires: git-core
-%if 0%{?suse_version} >= 1315
-Recommends: bzr
-Recommends: mercurial
-Recommends: subversion
-Recommends: obs-service-download_files
-%endif
-Requires: obs-service-obs_scm-common = %version-%release
+%scm_common_dep
+%scm_dependencies
%description -n obs-service-appimage
Experimental appimage support: This parses appimage.yml files for SCM
@@ -153,14 +194,8 @@
Summary: Handles source downloads defined in snapcraft.yaml files
Group: Development/Tools/Building
Provides: obs-service-tar_scm:/usr/lib/obs/service/snapcraft.service
-Requires: git-core
-%if 0%{?suse_version} >= 1315
-Recommends: bzr
-Recommends: mercurial
-Recommends: subversion
-Recommends: obs-service-download_files
-%endif
-Requires: obs-service-obs_scm-common = %version-%release
+%scm_common_dep
+%scm_dependencies
%description -n obs-service-snapcraft
Experimental snapcraft support: This parses snapcraft.yaml files for SCM
@@ -171,24 +206,17 @@
%setup -q -n obs-service-tar_scm-%version
%build
-%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
-%py_compile .
-%else
-%py_compile %{buildroot}
-%endif
%install
-make install DESTDIR="%{buildroot}" PREFIX="%{_prefix}" SYSCFG="%{_sysconfdir}"
+make install DESTDIR="%{buildroot}" PREFIX="%{_prefix}" SYSCFG="%{_sysconfdir}" PYTHON="%{_bindir}/%{use_python}"
%if %{with obs_scm_testsuite}
-%if 0%{?suse_version} >= 1220
-
+# moved conditional to the top as it helps to have it all in one place and only rely on the bcond_with here.
%check
# No need to run PEP8 tests here; that would require a potentially
# brittle BuildRequires: python-pep8, and any style issues are already
# caught by Travis CI.
-make test
-%endif
+make %{use_test}
%endif
%files
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.6.1551887937.e42c270/tests/fixtures.py new/obs-service-tar_scm-0.10.9.1557261720.32a1cdb/tests/fixtures.py
--- old/obs-service-tar_scm-0.10.6.1551887937.e42c270/tests/fixtures.py 2019-03-06 16:58:57.000000000 +0100
+++ new/obs-service-tar_scm-0.10.9.1557261720.32a1cdb/tests/fixtures.py 2019-05-07 22:42:00.000000000 +0200
@@ -1,4 +1,3 @@
-#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import os
1
0
Hello community,
here is the log from the commit of package perl-Devel-StackTrace for openSUSE:Factory checked in at 2019-05-28 09:39:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Devel-StackTrace (Old)
and /work/SRC/openSUSE:Factory/.perl-Devel-StackTrace.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-StackTrace"
Tue May 28 09:39:56 2019 rev:20 rq:705413 version:2.04
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Devel-StackTrace/perl-Devel-StackTrace.changes 2017-11-23 09:37:39.307311278 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Devel-StackTrace.new.5148/perl-Devel-StackTrace.changes 2019-05-28 09:39:58.093911549 +0200
@@ -1,0 +2,15 @@
+Sat May 25 05:05:57 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 2.04
+ see /usr/share/doc/packages/perl-Devel-StackTrace/Changes
+
+ 2.04 2019-05-24
+
+ - Add a partial workaround for "Bizarre copy" errors (GH #11) that come when
+ attempting to look at arguments in the call stack. This is only a partial
+ fix as there are cases that can lead to a SEGV. Ultimately this needs to be
+ fixed in the Perl core. See
+ https://rt.perl.org/Public/Bug/Display.html?id=131046 for relevant
+ discussion. Fixed by pali. GH #21.
+
+-------------------------------------------------------------------
Old:
----
Devel-StackTrace-2.03.tar.gz
New:
----
Devel-StackTrace-2.04.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Devel-StackTrace.spec ++++++
--- /var/tmp/diff_new_pack.mGfBA2/_old 2019-05-28 09:39:58.941911270 +0200
+++ /var/tmp/diff_new_pack.mGfBA2/_new 2019-05-28 09:39:58.941911270 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Devel-StackTrace
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,18 +12,18 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: perl-Devel-StackTrace
-Version: 2.03
+Version: 2.04
Release: 0
%define cpan_name Devel-StackTrace
Summary: An object representing a stack trace
License: Artistic-2.0
Group: Development/Libraries/Perl
-Url: http://search.cpan.org/dist/Devel-StackTrace/
+Url: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/%{cpan_name}-%{version}.t…
Source1: cpanspec.yml
BuildArch: noarch
@@ -50,11 +50,11 @@
%setup -q -n %{cpan_name}-%{version}
%build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
-%{__make} %{?_smp_mflags}
+perl Makefile.PL INSTALLDIRS=vendor
+make %{?_smp_mflags}
%check
-%{__make} test
+make test
%install
%perl_make_install
@@ -63,7 +63,7 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc appveyor.yml Changes CONTRIBUTING.md README.md
+%doc appveyor.yml Changes CODE_OF_CONDUCT.md CONTRIBUTING.md README.md
%license LICENSE
%changelog
++++++ Devel-StackTrace-2.03.tar.gz -> Devel-StackTrace-2.04.tar.gz ++++++
++++ 1902 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-pyjsparser for openSUSE:Factory checked in at 2019-05-28 09:39:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyjsparser (Old)
and /work/SRC/openSUSE:Factory/.python-pyjsparser.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyjsparser"
Tue May 28 09:39:46 2019 rev:3 rq:705409 version:2.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyjsparser/python-pyjsparser.changes 2019-04-04 12:04:56.221422555 +0200
+++ /work/SRC/openSUSE:Factory/.python-pyjsparser.new.5148/python-pyjsparser.changes 2019-05-28 09:39:48.757914625 +0200
@@ -1,0 +2,7 @@
+Sat May 25 13:09:24 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 2.7.1:
+ * no upstream changelog
+- Rebase fix_version.patch
+
+-------------------------------------------------------------------
Old:
----
README.md
pyjsparser-2.5.2.tar.gz
New:
----
pyjsparser-2.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyjsparser.spec ++++++
--- /var/tmp/diff_new_pack.Tdr6IL/_old 2019-05-28 09:39:49.505914379 +0200
+++ /var/tmp/diff_new_pack.Tdr6IL/_new 2019-05-28 09:39:49.505914379 +0200
@@ -18,21 +18,19 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pyjsparser
-Version: 2.5.2
+Version: 2.7.1
Release: 0
Summary: Javascript parser based on esprimajs
License: MIT
Group: Development/Languages/Python
-Url: https://github.com/PiotrDabkowski/pyjsparser
+URL: https://github.com/PiotrDabkowski/pyjsparser
Source: https://files.pythonhosted.org/packages/source/p/pyjsparser/pyjsparser-%{ve…
Source1: https://raw.githubusercontent.com/PiotrDabkowski/pyjsparser/master/LICENSE
-Source2: https://raw.githubusercontent.com/PiotrDabkowski/pyjsparser/master/README.md
Patch0: fix_version.patch
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
-
%python_subpackages
%description
@@ -42,8 +40,7 @@
%prep
%setup -q -n pyjsparser-%{version}
%patch0 -p1
-cp %{S:1} .
-cp %{S:2} .
+cp %{SOURCE1} .
%build
%python_build
++++++ fix_version.patch ++++++
--- /var/tmp/diff_new_pack.Tdr6IL/_old 2019-05-28 09:39:49.565914359 +0200
+++ /var/tmp/diff_new_pack.Tdr6IL/_new 2019-05-28 09:39:49.565914359 +0200
@@ -1,12 +1,13 @@
-Index: pyjsparser-2.5.2/pyjsparser/__init__.py
+Index: pyjsparser-2.7.1/pyjsparser/__init__.py
===================================================================
---- pyjsparser-2.5.2.orig/pyjsparser/__init__.py
-+++ pyjsparser-2.5.2/pyjsparser/__init__.py
-@@ -1,4 +1,4 @@
- __all__ = ['PyJsParser', 'parse', 'JsSyntaxError']
+--- pyjsparser-2.7.1.orig/pyjsparser/__init__.py
++++ pyjsparser-2.7.1/pyjsparser/__init__.py
+@@ -1,5 +1,5 @@
+ __all__ = ['PyJsParser', 'parse', 'JsSyntaxError', 'pyjsparserdata']
__author__ = 'Piotr Dabkowski'
-__version__ = '2.2.0'
--from .parser import PyJsParser, parse, JsSyntaxError
++__version__ = '2.7.1'
+ from .parser import PyJsParser, parse, JsSyntaxError
+-from . import pyjsparserdata
\ No newline at end of file
-+__version__ = '2.5.2'
-+from .parser import PyJsParser, parse, JsSyntaxError
++from . import pyjsparserdata
++++++ pyjsparser-2.5.2.tar.gz -> pyjsparser-2.7.1.tar.gz ++++++
++++ 3706 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-27 21:03:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Mon May 27 21:03:43 2019 rev:276 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
42.3:update_1558977742.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-27 21:03:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Mon May 27 21:03:34 2019 rev:275 rq: version:unknown
Mon May 27 21:03:33 2019 rev:274 rq: version:unknown
Mon May 27 21:03:26 2019 rev:273 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.0:update_1558973132.packages.xz
15.1:update_1558972848.packages.xz
factory:non-oss_1271.3.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-27 21:03:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Mon May 27 21:03:24 2019 rev:272 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory_20190525.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-27 15:02:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Mon May 27 15:02:28 2019 rev:1275 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.HvRxf5/_old 2019-05-27 15:02:36.317592828 +0200
+++ /var/tmp/diff_new_pack.HvRxf5/_new 2019-05-27 15:02:36.321592826 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20190525" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20190527" 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">20190525</productvar>
+ <productvar name="VERSION">20190527</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190525,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190527,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.HvRxf5/_old 2019-05-27 15:02:36.357592811 +0200
+++ /var/tmp/diff_new_pack.HvRxf5/_new 2019-05-27 15:02:36.357592811 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-MicroOS___20190525" schemaversion="4.1">
+<image name="OBS__openSUSE-MicroOS___20190527" 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">20190525</productvar>
+ <productvar name="VERSION">20190527</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190525,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190527,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190525/…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190527/…</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-kubic-dvd-x86_64.kiwi: same change
++++++ openSUSE-cd-mini-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.HvRxf5/_old 2019-05-27 15:02:36.409592790 +0200
+++ /var/tmp/diff_new_pack.HvRxf5/_new 2019-05-27 15:02:36.409592790 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190525" schemaversion="4.1">
+<image name="OBS__openSUSE___20190527" 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">20190525</productvar>
+ <productvar name="VERSION">20190527</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190527,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/20190525/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190527/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.HvRxf5/_old 2019-05-27 15:02:36.425592783 +0200
+++ /var/tmp/diff_new_pack.HvRxf5/_new 2019-05-27 15:02:36.425592783 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190525" schemaversion="4.1">
+<image name="OBS__openSUSE___20190527" 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">20190525</productvar>
+ <productvar name="VERSION">20190527</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190527,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/20190525/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190527/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 ++++++
--- /var/tmp/diff_new_pack.HvRxf5/_old 2019-05-27 15:02:36.453592772 +0200
+++ /var/tmp/diff_new_pack.HvRxf5/_new 2019-05-27 15:02:36.453592772 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190525" schemaversion="4.1">
+<image name="OBS__openSUSE___20190527" 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">20190525</productvar>
+ <productvar name="VERSION">20190527</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190527,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/20190525/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190527/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>
@@ -1019,7 +1019,6 @@
<repopackage name="ibus-mozc"/>
<repopackage name="ibus-mozc-candidate-window"/>
<repopackage name="ibus-pinyin"/>
- <repopackage name="ibus-qt"/>
<repopackage name="ibus-table"/>
<repopackage name="ibus-table-chinese-array"/>
<repopackage name="ibus-table-chinese-cangjie"/>
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.HvRxf5/_old 2019-05-27 15:02:36.485592758 +0200
+++ /var/tmp/diff_new_pack.HvRxf5/_new 2019-05-27 15:02:36.489592757 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190525" schemaversion="4.1">
+<image name="OBS__openSUSE___20190527" 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">20190525</productvar>
+ <productvar name="VERSION">20190527</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190527,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/20190525/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190527/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>
@@ -1049,7 +1049,6 @@
<repopackage name="ibus-mozc"/>
<repopackage name="ibus-mozc-candidate-window"/>
<repopackage name="ibus-pinyin"/>
- <repopackage name="ibus-qt"/>
<repopackage name="ibus-table"/>
<repopackage name="ibus-table-chinese-array"/>
<repopackage name="ibus-table-chinese-cangjie"/>
++++++ openSUSE-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.HvRxf5/_old 2019-05-27 15:02:36.509592749 +0200
+++ /var/tmp/diff_new_pack.HvRxf5/_new 2019-05-27 15:02:36.509592749 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190525" schemaversion="4.1">
+<image name="OBS__openSUSE___20190527" 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-20190525-i586-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20190527-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">20190525</productvar>
+ <productvar name="VERSION">20190527</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190527,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/20190525/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190527/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190527/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 ++++++
--- /var/tmp/diff_new_pack.HvRxf5/_old 2019-05-27 15:02:36.713592665 +0200
+++ /var/tmp/diff_new_pack.HvRxf5/_new 2019-05-27 15:02:36.713592665 +0200
@@ -1015,7 +1015,6 @@
<package name="ibus-mozc" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="ibus-mozc-candidate-window" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="ibus-pinyin" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
- <package name="ibus-qt" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="ibus-table" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="ibus-table-chinese-array" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="ibus-table-chinese-cangjie" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.HvRxf5/_old 2019-05-27 15:02:36.845592611 +0200
+++ /var/tmp/diff_new_pack.HvRxf5/_new 2019-05-27 15:02:36.849592608 +0200
@@ -798,9 +798,6 @@
- avocado-common
- avocado-examples
- avocado-vt-common
- - avogadro
- - avogadro-devel
- - avogadro-devel-32bit: [x86_64]
- avogadrolibs-devel
- avr-libc
- avrdude
@@ -5119,8 +5116,6 @@
- ibus-hangul
- ibus-input-pad
- ibus-kkc
- - ibus-qt-32bit: [x86_64]
- - ibus-qt-devel
- ibus-rime
- ibus-skk
- ibus-table-cns11643
@@ -5408,9 +5403,6 @@
- jackson-parent
- jacktrip
- jaero
- - jag
- - jag-data
- - jag-level-editor
- jakarta-commons-discovery
- jakarta-commons-discovery-javadoc
- jakarta-commons-launcher
@@ -5532,6 +5524,7 @@
- jemmy
- jemmy-javadoc
- jeos-firstboot
+ - jeos-firstboot-rpiwifi
- jeuclid
- jeuclid-cli
- jeuclid-fop
@@ -7319,8 +7312,6 @@
- libavfilter7-32bit: [x86_64]
- libavformat58-32bit: [x86_64]
- libavfs0
- - libavogadro1
- - libavogadro1-32bit: [x86_64]
- libavrdude1
- libavresample4-32bit: [x86_64]
- libavtp-devel
@@ -13928,6 +13919,7 @@
- nvdock
- nvidia-texture-tools
- nvme-cli
+ - nvme-cli-regress-script
- nvmetcli
- nvptx-tools: [x86_64]
- nxtvepg
@@ -16324,7 +16316,6 @@
- postgresql11-server-devel
- postgresql11-test
- postgresql11-timescaledb
- - postgresql93-devel
- postgresql93-plr
- postgresql93-plr-doc
- postgresql94
@@ -16633,7 +16624,6 @@
- python-apfel
- python-atomicwrites-doc
- python-automaton-doc
- - python-avogadro
- python-azure-agent
- python-azure-agent-test
- python-azure-sdk
@@ -17956,7 +17946,6 @@
- python2-jupyter_nbextensions_configurator
- python2-jupyter_nbformat
- python2-jupyter_nbsmoke
- - python2-jupyter_nbval
- python2-jupyter_notebook
- python2-jupyter_notebook-lang
- python2-jupyter_notebook-latex
@@ -18659,6 +18648,7 @@
- python2-rcssmin
- python2-rdflib
- python2-readme_renderer
+ - python2-readthedocs-sphinx-ext
- python2-rebulk
- python2-recommonmark
- python2-redbaron
@@ -19069,7 +19059,6 @@
- python2-yaspin
- python2-youtube-dl
- python2-yq
- - python2-yubico
- python2-zake
- python2-zaqarclient
- python2-zc.buildout
@@ -20205,7 +20194,6 @@
- python3-jupyter_nbextensions_configurator
- python3-jupyter_nbformat
- python3-jupyter_nbsmoke
- - python3-jupyter_nbval
- python3-jupyter_notebook
- python3-jupyter_notebook-lang
- python3-jupyter_notebook-latex
@@ -20952,6 +20940,7 @@
- python3-rcssmin
- python3-rdflib
- python3-readme_renderer
+ - python3-readthedocs-sphinx-ext
- python3-rebulk
- python3-recommonmark
- python3-redbaron
@@ -21391,7 +21380,6 @@
- python3-youtube-dl
- python3-yq
- python3-yt
- - python3-yubico
- python3-z3
- python3-zake
- python3-zaqarclient
1
0
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2019-05-27 15:02:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Mon May 27 15:02:09 2019 rev:149 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.geeJzJ/_old 2019-05-27 15:02:16.129601143 +0200
+++ /var/tmp/diff_new_pack.geeJzJ/_new 2019-05-27 15:02:16.141601137 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20190525)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20190527)
#
# Copyright (c) 2019 openSUSE.
#
@@ -16,16 +16,16 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon
-Version: 20190525
+Version: 20190527
Release: 0
License: BSD-3-Clause
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE-Addon-NonOss
-Provides: product(openSUSE-Addon-NonOss) = 20190525-0
+Provides: product(openSUSE-Addon-NonOss) = 20190527-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190525
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190527
AutoReqProv: on
@@ -49,10 +49,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190525</version>
+ <version>20190527</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190525</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190527</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.geeJzJ/_old 2019-05-27 15:02:16.157601131 +0200
+++ /var/tmp/diff_new_pack.geeJzJ/_new 2019-05-27 15:02:16.169601126 +0200
@@ -17,7 +17,7 @@
Name: openSUSE-MicroOS-release
-Version: 20190525
+Version: 20190527
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) = 20190525-0
+Provides: product(openSUSE-MicroOS) = 20190527-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190525
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190527
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) = 20190525-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190527-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) = 20190525-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190527-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) = 20190525-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190527-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) = 20190525-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190527-0
Summary: openSUSE MicroOS
%description appliance-kubic
@@ -164,11 +164,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-MicroOS</name>
- <version>20190525</version>
+ <version>20190527</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-microos:20190525</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-microos:20190527</cpeid>
<productline>openSUSE-MicroOS</productline>
<register>
<pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.geeJzJ/_old 2019-05-27 15:02:16.185601119 +0200
+++ /var/tmp/diff_new_pack.geeJzJ/_new 2019-05-27 15:02:16.189601118 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20190525
+Version: 20190527
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}) < 20190525
+Obsoletes: product_flavor(%{product}) < 20190527
# 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) = 20190525-0
+Provides: product(openSUSE) = 20190527-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%3A20190525
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190527
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) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-0
Summary: openSUSE Tumbleweed
%description ftp
@@ -226,7 +226,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-0
Summary: openSUSE Tumbleweed
%description mini
@@ -241,7 +241,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-0
Summary: openSUSE Tumbleweed
%description dvd
@@ -256,7 +256,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-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) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-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) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-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) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-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) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-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) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-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) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-0
Summary: openSUSE Tumbleweed
%description usb-x11
@@ -361,7 +361,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20190525-0
+Provides: product_flavor(openSUSE) = 20190527-0
Summary: openSUSE Tumbleweed
%description appliance
@@ -435,10 +435,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190525</version>
+ <version>20190527</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20190525</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20190527</cpeid>
<productline>openSUSE</productline>
<register>
<pool>
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.geeJzJ/_old 2019-05-27 15:02:16.333601059 +0200
+++ /var/tmp/diff_new_pack.geeJzJ/_new 2019-05-27 15:02:16.341601055 +0200
@@ -6146,7 +6146,6 @@
Provides: weakremover(python-wxWidgets)
Provides: weakremover(python-wxWidgets-devel)
Provides: weakremover(python-wxWidgets-lang)
-Provides: weakremover(python-yubico)
Provides: weakremover(python-zeroconf)
Provides: weakremover(python-zope.interface-doc)
Provides: weakremover(python-zypp)
@@ -8022,6 +8021,8 @@
Provides: weakremover(audex-lang)
Provides: weakremover(audience)
Provides: weakremover(audience-lang)
+Provides: weakremover(avogadro)
+Provides: weakremover(avogadro-devel)
Provides: weakremover(baloo5)
Provides: weakremover(bind-dyndb-ldap)
Provides: weakremover(blitz-devel)
@@ -12620,6 +12621,8 @@
Provides: weakremover(ibmrtpkgs)
Provides: weakremover(ibus-branding-openSUSE-KDE)
Provides: weakremover(ibus-googlepinyin)
+Provides: weakremover(ibus-qt)
+Provides: weakremover(ibus-qt-devel)
Provides: weakremover(ibus-sunpinyin)
Provides: weakremover(ibus-table-zhengma)
Provides: weakremover(ibus-table-zhuyin)
@@ -12650,6 +12653,9 @@
Provides: weakremover(iptables-nft)
Provides: weakremover(irqd)
Provides: weakremover(ivtv-firmware)
+Provides: weakremover(jag)
+Provides: weakremover(jag-data)
+Provides: weakremover(jag-level-editor)
Provides: weakremover(jailbreak-cabal)
Provides: weakremover(jakarta-commons-compress-javadoc)
Provides: weakremover(jakarta-commons-digester-javadoc)
@@ -13236,6 +13242,7 @@
Provides: weakremover(libavfilter6)
Provides: weakremover(libavformat56)
Provides: weakremover(libavformat57)
+Provides: weakremover(libavogadro1)
Provides: weakremover(libavresample2)
Provides: weakremover(libavresample3)
Provides: weakremover(libavutil54)
@@ -15480,6 +15487,7 @@
Provides: weakremover(postgresql-jdbc-javadoc)
Provides: weakremover(postgresql93)
Provides: weakremover(postgresql93-contrib)
+Provides: weakremover(postgresql93-devel)
Provides: weakremover(postgresql93-docs)
Provides: weakremover(postgresql93-pgagent)
Provides: weakremover(postgresql93-plperl)
@@ -15537,6 +15545,7 @@
Provides: weakremover(python-antlr)
Provides: weakremover(python-apsw-doc)
Provides: weakremover(python-async)
+Provides: weakremover(python-avogadro)
Provides: weakremover(python-backports)
Provides: weakremover(python-bcdoc)
Provides: weakremover(python-beautifulsoup)
@@ -15765,6 +15774,7 @@
Provides: weakremover(python-wsgiref)
Provides: weakremover(python-xcb-proto-devel)
Provides: weakremover(python-xklavier)
+Provides: weakremover(python-yubico)
Provides: weakremover(python-z3)
Provides: weakremover(python-zbar)
Provides: weakremover(python-zbar-gtk)
@@ -15878,6 +15888,7 @@
Provides: weakremover(python2-vdirsyncer)
Provides: weakremover(python2-xarray)
Provides: weakremover(python2-xcb-proto-devel)
+Provides: weakremover(python2-yubico)
Provides: weakremover(python2-zeroconf)
Provides: weakremover(python3-Attest)
Provides: weakremover(python3-CXX)
@@ -15975,6 +15986,7 @@
Provides: weakremover(python3-usb)
Provides: weakremover(python3-vtk-compat_gl)
Provides: weakremover(python3-vtk-qt)
+Provides: weakremover(python3-yubico)
Provides: weakremover(python3-zope.event-doc)
Provides: weakremover(qca)
Provides: weakremover(qca-devel)
@@ -20538,6 +20550,7 @@
Provides: weakremover(allegro-jack-plugin-32bit)
Provides: weakremover(anthy-32bit)
Provides: weakremover(arts-32bit)
+Provides: weakremover(avogadro-devel-32bit)
Provides: weakremover(cg-32bit)
Provides: weakremover(clang3_8-devel-32bit)
Provides: weakremover(clang4-devel-32bit)
@@ -20601,6 +20614,7 @@
Provides: weakremover(gtk4-immodule-vietnamese-32bit)
Provides: weakremover(gtk4-immodule-xim-32bit)
Provides: weakremover(gtk4-immodules-tigrigna-32bit)
+Provides: weakremover(ibus-qt-32bit)
Provides: weakremover(idnkit-devel-32bit)
Provides: weakremover(java-1_5_0-gcj-compat-32bit)
Provides: weakremover(kdebase3-32bit)
@@ -20697,6 +20711,7 @@
Provides: weakremover(libavfilter6-32bit)
Provides: weakremover(libavformat56-32bit)
Provides: weakremover(libavformat57-32bit)
+Provides: weakremover(libavogadro1-32bit)
Provides: weakremover(libavresample2-32bit)
Provides: weakremover(libavresample3-32bit)
Provides: weakremover(libavutil54-32bit)
1
0
Hello community,
here is the log from the commit of package homebank for openSUSE:Factory checked in at 2019-05-27 11:14:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/homebank (Old)
and /work/SRC/openSUSE:Factory/.homebank.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "homebank"
Mon May 27 11:14:55 2019 rev:23 rq:705590 version:5.2.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/homebank/homebank.changes 2019-03-26 22:32:50.369699745 +0100
+++ /work/SRC/openSUSE:Factory/.homebank.new.5148/homebank.changes 2019-05-27 11:15:01.103407842 +0200
@@ -1,0 +2,16 @@
+Mon May 27 06:18:13 UTC 2019 - mvetter(a)suse.com
+
+- Update to 5.2.6:
+ + Changes:
+ - access to the show all transaction with the toolbar
+ + Bugfixes:
+ - #1829630 homebank: _cairo_arc_in_direction(): homebank killed by SIGABRT
+ - #1829076 status "no category" filter not working
+ - #1829603 multi currencies problem in Trend Time Report
+ + Wishes:
+ - #1829007 prefill txn dialog with account if single
+ - #1828209 multiple edit could allow updating transaction amount
+ - #1809022 detail txn show only category amount split part
+ - #1792749 main window date 'other...' consistency
+
+-------------------------------------------------------------------
Old:
----
homebank-5.2.3.tar.gz
New:
----
homebank-5.2.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ homebank.spec ++++++
--- /var/tmp/diff_new_pack.coWPcG/_old 2019-05-27 11:15:02.323407370 +0200
+++ /var/tmp/diff_new_pack.coWPcG/_new 2019-05-27 11:15:02.327407369 +0200
@@ -17,7 +17,7 @@
Name: homebank
-Version: 5.2.3
+Version: 5.2.6
Release: 0
Summary: Application to manage personal accounts
License: GPL-2.0-or-later
++++++ homebank-5.2.3.tar.gz -> homebank-5.2.6.tar.gz ++++++
++++ 165524 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package FirmwareUpdateKit for openSUSE:Factory checked in at 2019-05-27 11:14:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/FirmwareUpdateKit (Old)
and /work/SRC/openSUSE:Factory/.FirmwareUpdateKit.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "FirmwareUpdateKit"
Mon May 27 11:14:47 2019 rev:21 rq:705529 version:2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/FirmwareUpdateKit/FirmwareUpdateKit.changes 2019-05-24 11:32:10.617394228 +0200
+++ /work/SRC/openSUSE:Factory/.FirmwareUpdateKit.new.5148/FirmwareUpdateKit.changes 2019-05-27 11:14:51.795411438 +0200
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Thu May 23 12:58:39 UTC 2019 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Use noun phrase in descriptions.
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ FirmwareUpdateKit.spec ++++++
--- /var/tmp/diff_new_pack.GH6Zuu/_old 2019-05-27 11:14:52.863411025 +0200
+++ /var/tmp/diff_new_pack.GH6Zuu/_new 2019-05-27 11:14:52.863411025 +0200
@@ -13,14 +13,14 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: FirmwareUpdateKit
Version: 2.0
Release: 0
-Summary: Assist with DOS-based firmware updates
+Summary: Tool for assisting with DOS-based firmware updates
License: GPL-3.0-only
Group: System/Boot
Source: %{name}-%{version}.tar.xz
@@ -37,8 +37,8 @@
ExclusiveArch: %{ix86} x86_64
%description
-Create a bootable mini-DOS system and add files to it. Useful if you
-have to do firmware updates from DOS.
+This tool creates a bootable mini-DOS system and adds files to it.
+It may be useful if one has to do firmware updates from a real-mode environment.
%prep
%setup -q
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-27 08:40:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Mon May 27 08:40:19 2019 rev:1274 rq: version:unknown
Mon May 27 08:40:15 2019 rev:1273 rq: version:unknown
Mon May 27 08:40:11 2019 rev:1272 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
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.iW66p6/_old 2019-05-27 08:40:25.523023259 +0200
+++ /var/tmp/diff_new_pack.iW66p6/_new 2019-05-27 08:40:25.527023257 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190525</version>
+ <version>20190527</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE-MicroOS.product ++++++
--- /var/tmp/diff_new_pack.iW66p6/_old 2019-05-27 08:40:25.539023252 +0200
+++ /var/tmp/diff_new_pack.iW66p6/_new 2019-05-27 08:40:25.539023252 +0200
@@ -6,7 +6,7 @@
<name>openSUSE-MicroOS</name>
<releasepkgname>openSUSE-MicroOS-release</releasepkgname>
<endoflife/>
- <version>20190525</version>
+ <version>20190527</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>openSUSE-MicroOS</productline>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.iW66p6/_old 2019-05-27 08:40:25.575023239 +0200
+++ /var/tmp/diff_new_pack.iW66p6/_new 2019-05-27 08:40:25.575023239 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190525</version>
+ <version>20190527</version>
<release>0</release>
<productline>openSUSE</productline>
1
0
Hello community,
here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2019-05-27 08:40:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Mon May 27 08:40:08 2019 rev:182 rq:705487 version:20190524.65b73f1d
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2019-05-25 13:21:03.696318118 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.5148/openSUSE-release-tools.changes 2019-05-27 08:40:15.539027151 +0200
@@ -1,0 +2,15 @@
+Fri May 24 19:59:27 UTC 2019 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20190524.65b73f1d:
+ * userscript/staging*: only utilize the last two domain components.
+ * osclib/core: package_version(): drop lxml element and return string version.
+ * systemd: increase timeout to 24 hours for origin-manager report services.
+
+-------------------------------------------------------------------
+Fri May 24 19:52:42 UTC 2019 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20190524.86919f96:
+ * README: Add explanation of developing against git osc.
+ * .gitignore: ignore osc symlink commonly used to develop against pre-release osc.
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20190524.fa2a17cf.obscpio
New:
----
openSUSE-release-tools-20190524.65b73f1d.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.ekRSSi/_old 2019-05-27 08:40:18.783025886 +0200
+++ /var/tmp/diff_new_pack.ekRSSi/_new 2019-05-27 08:40:18.807025877 +0200
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20190524.fa2a17cf
+Version: 20190524.65b73f1d
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.ekRSSi/_old 2019-05-27 08:40:18.971025813 +0200
+++ /var/tmp/diff_new_pack.ekRSSi/_new 2019-05-27 08:40:18.975025811 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param name="changesrevision">5d13e07b5a71b808c3ed1668be5d92065a288380</param>
+ <param name="changesrevision">65b73f1d416e9a7cdc337902c7aec744f4d2d334</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20190524.fa2a17cf.obscpio -> openSUSE-release-tools-20190524.65b73f1d.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20190524.fa2a17cf/README.md new/openSUSE-release-tools-20190524.65b73f1d/README.md
--- old/openSUSE-release-tools-20190524.fa2a17cf/README.md 2019-05-24 12:24:49.000000000 +0200
+++ new/openSUSE-release-tools-20190524.65b73f1d/README.md 2019-05-24 21:57:50.000000000 +0200
@@ -42,6 +42,18 @@
ln -sr ./osc-staging.py ./osclib ~/.osc-plugins
+It can also be useful to work against a development copy of `osc` either to utilize new features or to debug/fix functionality. To do so one must place the development copy in the path to be loaded and utilize the wrapper script if working on `osc` plugins. One method to accomplish this is shown below.
+
+ # outside of openSUSE-release-tools checkout
+ git clone git clone https://github.com/openSUSE/osc.git
+
+ # inside openSUSE-release-tools checkout
+ # note the ending /osc which points to the osc directory within the checkout
+ ln -s /path/to/osc/osc ./
+
+ # to utilize the wrapper for working on osc plugins from osrt checkout
+ $(realpath ./osc)/../osc-wrapper.py --version
+
A containerized OBS can be started via one command. The default credentials are `Admin` and `opensuse` on [0.0.0.0:3000](http://0.0.0.0:3000).
./dist/ci/docker-compose-obs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20190524.fa2a17cf/osclib/core.py new/openSUSE-release-tools-20190524.65b73f1d/osclib/core.py
--- old/openSUSE-release-tools-20190524.fa2a17cf/osclib/core.py 2019-05-24 12:24:49.000000000 +0200
+++ new/openSUSE-release-tools-20190524.65b73f1d/osclib/core.py 2019-05-24 21:57:50.000000000 +0200
@@ -642,7 +642,7 @@
raise e
- return root.xpath('(//version)[last()]/text()')[0]
+ return str(root.xpath('(//version)[last()]/text()')[0])
def project_attribute_list(apiurl, attribute, value=None):
xpath = 'attribute/@name="{}"'.format(attribute)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20190524.fa2a17cf/systemd/osrt-obs-operator-origin-manager-report@.service new/openSUSE-release-tools-20190524.65b73f1d/systemd/osrt-obs-operator-origin-manager-report@.service
--- old/openSUSE-release-tools-20190524.fa2a17cf/systemd/osrt-obs-operator-origin-manager-report@.service 2019-05-24 12:24:49.000000000 +0200
+++ new/openSUSE-release-tools-20190524.65b73f1d/systemd/osrt-obs-operator-origin-manager-report@.service 2019-05-24 21:57:50.000000000 +0200
@@ -5,7 +5,7 @@
User=osrt-obs-operator
SyslogIdentifier=osrt-obs-operator-origin-manager
ExecStart=/usr/bin/osc origin -p "%i" report --force-refresh
-RuntimeMaxSec=12 hour
+RuntimeMaxSec=24 hour
[Install]
WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20190524.fa2a17cf/systemd/osrt-origin-manager-report@.service new/openSUSE-release-tools-20190524.65b73f1d/systemd/osrt-origin-manager-report@.service
--- old/openSUSE-release-tools-20190524.fa2a17cf/systemd/osrt-origin-manager-report@.service 2019-05-24 12:24:49.000000000 +0200
+++ new/openSUSE-release-tools-20190524.65b73f1d/systemd/osrt-origin-manager-report@.service 2019-05-24 21:57:50.000000000 +0200
@@ -5,7 +5,7 @@
User=osrt-origin-manager
SyslogIdentifier=osrt-origin-manager
ExecStart=/usr/bin/osc origin -p "%i" report --diff --force-refresh --mail
-RuntimeMaxSec=12 hour
+RuntimeMaxSec=24 hour
[Install]
WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20190524.fa2a17cf/userscript/staging-move-drag-n-drop.user.js new/openSUSE-release-tools-20190524.65b73f1d/userscript/staging-move-drag-n-drop.user.js
--- old/openSUSE-release-tools-20190524.fa2a17cf/userscript/staging-move-drag-n-drop.user.js 2019-05-24 12:24:49.000000000 +0200
+++ new/openSUSE-release-tools-20190524.65b73f1d/userscript/staging-move-drag-n-drop.user.js 2019-05-24 21:57:50.000000000 +0200
@@ -271,7 +271,7 @@
var project = pathParts[pathParts.length - 1];
var data = JSON.stringify({'user': user, 'project': project, 'move': true, 'selection': summary});
- var domain_parent = window.location.hostname.split('.').splice(1).join('.');
+ var domain_parent = window.location.hostname.split('.').splice(-2).join('.');
var subdomain = domain_parent.endsWith('suse.de') ? 'tortuga' : 'operator';
var url = 'https://' + subdomain + '.' + domain_parent + '/staging/select';
$.post({url: url, data: data, crossDomain: true, xhrFields: {withCredentials: true},
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.ekRSSi/_old 2019-05-27 08:40:22.715024353 +0200
+++ /var/tmp/diff_new_pack.ekRSSi/_new 2019-05-27 08:40:22.715024353 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20190524.fa2a17cf
-mtime: 1558693489
-commit: fa2a17cfec75d7eb9b99f987feff0aae1bf1cfa0
+version: 20190524.65b73f1d
+mtime: 1558727870
+commit: 65b73f1d416e9a7cdc337902c7aec744f4d2d334
1
0
Hello community,
here is the log from the commit of package smplayer for openSUSE:Factory checked in at 2019-05-27 08:39:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/smplayer (Old)
and /work/SRC/openSUSE:Factory/.smplayer.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "smplayer"
Mon May 27 08:39:59 2019 rev:35 rq:705431 version:19.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/smplayer/smplayer.changes 2019-02-08 12:12:26.489490893 +0100
+++ /work/SRC/openSUSE:Factory/.smplayer.new.5148/smplayer.changes 2019-05-27 08:40:02.223032342 +0200
@@ -1,0 +2,12 @@
+Wed May 22 15:01:34 UTC 2019 - Alexei Sorokin <sor.alexei(a)meowr.ru>
+
+- Update to version 19.5.0:
+ * Add command line option -start.
+ * Add actions for previous subtitle track, previous audio track
+ and previous video track.
+ * Fix YouTube live streams (it seems to work only with mpv).
+ * Try to prevent to play invalid YouTube streams.
+ * Fix for YouTube.
+- Remove any Qt4 support conditionals.
+
+-------------------------------------------------------------------
Old:
----
smplayer-19.1.0.tar.bz2
New:
----
smplayer-19.5.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ smplayer.spec ++++++
--- /var/tmp/diff_new_pack.1ZzuId/_old 2019-05-27 08:40:04.227031561 +0200
+++ /var/tmp/diff_new_pack.1ZzuId/_new 2019-05-27 08:40:04.231031559 +0200
@@ -17,7 +17,7 @@
Name: smplayer
-Version: 19.1.0
+Version: 19.5.0
Release: 0
Summary: Complete frontend for MPV
License: GPL-2.0-or-later
@@ -33,10 +33,23 @@
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: hicolor-icon-theme
+BuildRequires: libQt5Gui-private-headers-devel
+BuildRequires: libqt5-qttools-devel
BuildRequires: libstdc++-devel
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: zlib-devel
+BuildRequires: pkgconfig(Qt5Concurrent)
+BuildRequires: pkgconfig(Qt5Core)
+BuildRequires: pkgconfig(Qt5DBus)
+BuildRequires: pkgconfig(Qt5Gui)
+BuildRequires: pkgconfig(Qt5Network)
+BuildRequires: pkgconfig(Qt5PrintSupport)
+BuildRequires: pkgconfig(Qt5Script)
+BuildRequires: pkgconfig(Qt5Sql)
+BuildRequires: pkgconfig(Qt5WebKitWidgets)
+BuildRequires: pkgconfig(Qt5Widgets)
+BuildRequires: pkgconfig(Qt5Xml)
# Either mpv >= 0.6.2 or MPlayer >= 1.0rc4_r32607.
Requires: mpv >= 0.6.2
Recommends: smplayer-lang
@@ -49,23 +62,6 @@
Provides: smplayer-qt5 = %{version}
Obsoletes: smplayer-qt5 < %{version}
Obsoletes: smplayer-qt5-lang < %{version}
-%if 0%{?suse_version} >= 1320 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse})
-BuildRequires: libQt5Gui-private-headers-devel
-BuildRequires: libqt5-qttools-devel
-BuildRequires: pkgconfig(Qt5Concurrent)
-BuildRequires: pkgconfig(Qt5Core)
-BuildRequires: pkgconfig(Qt5DBus)
-BuildRequires: pkgconfig(Qt5Gui)
-BuildRequires: pkgconfig(Qt5Network)
-BuildRequires: pkgconfig(Qt5PrintSupport)
-BuildRequires: pkgconfig(Qt5Script)
-BuildRequires: pkgconfig(Qt5Sql)
-BuildRequires: pkgconfig(Qt5WebKitWidgets)
-BuildRequires: pkgconfig(Qt5Widgets)
-BuildRequires: pkgconfig(Qt5Xml)
-%else
-BuildRequires: libqt4-devel
-%endif
%description
SMPlayer is a front-end for MPV/MPlayer, from basic features like
@@ -79,10 +75,7 @@
%lang_package
%prep
-%setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+%autosetup -p1
# Fix CRLF in .txt files.
sed -i 's/\r$//' *.txt
@@ -102,13 +95,8 @@
%build
make \
MAKEFLAGS="%{?_smp_mflags} V=1" \
-%if 0%{?suse_version} >= 1320 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse})
QMAKE=%{_libqt5_bindir}/qmake \
LRELEASE=%{_libqt5_bindir}/lrelease \
-%else
- QMAKE=%{_libdir}/qt4/bin/qmake \
- LRELEASE=%{_libdir}/qt4/bin/lrelease \
-%endif
PREFIX=%{_prefix}
%install
++++++ smplayer-19.1.0.tar.bz2 -> smplayer-19.5.0.tar.bz2 ++++++
++++ 122926 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package perl-CPAN-Perl-Releases for openSUSE:Factory checked in at 2019-05-27 08:39:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-CPAN-Perl-Releases (Old)
and /work/SRC/openSUSE:Factory/.perl-CPAN-Perl-Releases.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-CPAN-Perl-Releases"
Mon May 27 08:39:50 2019 rev:77 rq:705414 version:4.06
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-CPAN-Perl-Releases/perl-CPAN-Perl-Releases.changes 2019-05-24 11:32:37.373384267 +0200
+++ /work/SRC/openSUSE:Factory/.perl-CPAN-Perl-Releases.new.5148/perl-CPAN-Perl-Releases.changes 2019-05-27 08:39:56.659034511 +0200
@@ -1,0 +2,6 @@
+Sat May 25 05:02:38 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 4.06
+ see /usr/share/doc/packages/perl-CPAN-Perl-Releases/Changes
+
+-------------------------------------------------------------------
Old:
----
CPAN-Perl-Releases-4.04.tar.gz
New:
----
CPAN-Perl-Releases-4.06.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-CPAN-Perl-Releases.spec ++++++
--- /var/tmp/diff_new_pack.XxPCxN/_old 2019-05-27 08:39:58.479033801 +0200
+++ /var/tmp/diff_new_pack.XxPCxN/_new 2019-05-27 08:39:58.483033800 +0200
@@ -17,7 +17,7 @@
Name: perl-CPAN-Perl-Releases
-Version: 4.04
+Version: 4.06
Release: 0
%define cpan_name CPAN-Perl-Releases
Summary: Mapping Perl releases on CPAN to the location of the tarballs
++++++ CPAN-Perl-Releases-4.04.tar.gz -> CPAN-Perl-Releases-4.06.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.04/Changes new/CPAN-Perl-Releases-4.06/Changes
--- old/CPAN-Perl-Releases-4.04/Changes 2019-05-22 13:25:48.000000000 +0200
+++ new/CPAN-Perl-Releases-4.06/Changes 2019-05-24 23:34:08.000000000 +0200
@@ -1,8 +1,18 @@
==================================================
-Changes from 2014-05-23 00:00:00 +0000 to present.
+Changes from 2014-05-25 00:00:00 +0000 to present.
==================================================
-----------------------------------------
+version 4.06 at 2019-05-24 21:33:36 +0000
+-----------------------------------------
+
+ Change: 9d848cd326c05f8d69f4dc212cef20ee89ded872
+ Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
+ Date : 2019-05-24 22:33:36 +0000
+
+ Updated for v5.31.0
+
+-----------------------------------------
version 4.04 at 2019-05-22 11:19:39 +0000
-----------------------------------------
@@ -1203,5 +1213,5 @@
Updated for v5.20.0
=================================================
-Plus 84 releases after 2014-05-23 00:00:00 +0000.
+Plus 84 releases after 2014-05-25 00:00:00 +0000.
=================================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.04/META.json new/CPAN-Perl-Releases-4.06/META.json
--- old/CPAN-Perl-Releases-4.04/META.json 2019-05-22 13:25:48.000000000 +0200
+++ new/CPAN-Perl-Releases-4.06/META.json 2019-05-24 23:34:08.000000000 +0200
@@ -54,7 +54,7 @@
"web" : "https://github.com/bingos/cpan-perl-releases"
}
},
- "version" : "4.04",
+ "version" : "4.06",
"x_generated_by_perl" : "v5.26.3",
"x_serialization_backend" : "Cpanel::JSON::XS version 4.11"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.04/META.yml new/CPAN-Perl-Releases-4.06/META.yml
--- old/CPAN-Perl-Releases-4.04/META.yml 2019-05-22 13:25:48.000000000 +0200
+++ new/CPAN-Perl-Releases-4.06/META.yml 2019-05-24 23:34:08.000000000 +0200
@@ -21,6 +21,6 @@
resources:
homepage: https://github.com/bingos/cpan-perl-releases
repository: https://github.com/bingos/cpan-perl-releases.git
-version: '4.04'
+version: '4.06'
x_generated_by_perl: v5.26.3
x_serialization_backend: 'YAML::Tiny version 1.73'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.04/Makefile.PL new/CPAN-Perl-Releases-4.06/Makefile.PL
--- old/CPAN-Perl-Releases-4.04/Makefile.PL 2019-05-22 13:25:48.000000000 +0200
+++ new/CPAN-Perl-Releases-4.06/Makefile.PL 2019-05-24 23:34:08.000000000 +0200
@@ -26,7 +26,7 @@
"IPC::Open3" => 0,
"Test::More" => "0.47"
},
- "VERSION" => "4.04",
+ "VERSION" => "4.06",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.04/README new/CPAN-Perl-Releases-4.06/README
--- old/CPAN-Perl-Releases-4.04/README 2019-05-22 13:25:48.000000000 +0200
+++ new/CPAN-Perl-Releases-4.06/README 2019-05-24 23:34:08.000000000 +0200
@@ -5,7 +5,7 @@
VERSION
- version 4.04
+ version 4.06
SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.04/dist.ini new/CPAN-Perl-Releases-4.06/dist.ini
--- old/CPAN-Perl-Releases-4.04/dist.ini 2019-05-22 13:25:48.000000000 +0200
+++ new/CPAN-Perl-Releases-4.06/dist.ini 2019-05-24 23:34:08.000000000 +0200
@@ -1,5 +1,5 @@
name = CPAN-Perl-Releases
-version = 4.04
+version = 4.06
author = Chris Williams <chris(a)bingosnet.co.uk>
license = Perl_5
copyright_holder = Chris Williams
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.04/lib/CPAN/Perl/Releases.pm new/CPAN-Perl-Releases-4.06/lib/CPAN/Perl/Releases.pm
--- old/CPAN-Perl-Releases-4.04/lib/CPAN/Perl/Releases.pm 2019-05-22 13:25:48.000000000 +0200
+++ new/CPAN-Perl-Releases-4.06/lib/CPAN/Perl/Releases.pm 2019-05-24 23:34:08.000000000 +0200
@@ -1,5 +1,5 @@
package CPAN::Perl::Releases;
-$CPAN::Perl::Releases::VERSION = '4.04';
+$CPAN::Perl::Releases::VERSION = '4.06';
#ABSTRACT: Mapping Perl releases on CPAN to the location of the tarballs
use strict;
@@ -240,6 +240,7 @@
"5.30.0-RC1" => { id => 'XSAWYERX' },
"5.30.0-RC2" => { id => 'XSAWYERX' },
"5.30.0" => { id => 'XSAWYERX' },
+"5.31.0" => { id => 'XSAWYERX' },
};
sub perl_tarballs {
@@ -308,7 +309,7 @@
=head1 VERSION
-version 4.04
+version 4.06
=head1 SYNOPSIS
1
0
Hello community,
here is the log from the commit of package perl-Test-Spelling for openSUSE:Factory checked in at 2019-05-27 08:39:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-Spelling (Old)
and /work/SRC/openSUSE:Factory/.perl-Test-Spelling.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Test-Spelling"
Mon May 27 08:39:47 2019 rev:14 rq:705412 version:0.24
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Test-Spelling/perl-Test-Spelling.changes 2019-05-24 11:32:40.725382986 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Test-Spelling.new.5148/perl-Test-Spelling.changes 2019-05-27 08:39:49.219037411 +0200
@@ -1,0 +2,11 @@
+Sat May 25 05:31:02 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 0.24
+ see /usr/share/doc/packages/perl-Test-Spelling/Changes
+
+ 0.24 2019-05-24
+ - Fixup the prereqs some
+ - Revert the unicode support added in the last release as it caused
+ some test breakage
+
+-------------------------------------------------------------------
Old:
----
Test-Spelling-0.23.tar.gz
New:
----
Test-Spelling-0.24.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Test-Spelling.spec ++++++
--- /var/tmp/diff_new_pack.U0bgkc/_old 2019-05-27 08:39:49.879037154 +0200
+++ /var/tmp/diff_new_pack.U0bgkc/_new 2019-05-27 08:39:49.879037154 +0200
@@ -17,7 +17,7 @@
Name: perl-Test-Spelling
-Version: 0.23
+Version: 0.24
Release: 0
%define cpan_name Test-Spelling
Summary: Check for spelling errors in POD files
++++++ Test-Spelling-0.23.tar.gz -> Test-Spelling-0.24.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.23/Changes new/Test-Spelling-0.24/Changes
--- old/Test-Spelling-0.23/Changes 2019-05-22 02:44:53.000000000 +0200
+++ new/Test-Spelling-0.24/Changes 2019-05-24 15:43:01.000000000 +0200
@@ -1,5 +1,10 @@
Revision history for Test-Spelling
+0.24 2019-05-24
+ - Fixup the prereqs some
+ - Revert the unicode support added in the last release as it caused
+ some test breakage
+
0.23 2019-05-21
- Fixed some documentation errors (Mohammad S Anwar)
- Added unicode support (Kivanc Yazan, GH PR#10)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.23/META.json new/Test-Spelling-0.24/META.json
--- old/Test-Spelling-0.23/META.json 2019-05-22 02:44:53.000000000 +0200
+++ new/Test-Spelling-0.24/META.json 2019-05-24 15:43:01.000000000 +0200
@@ -64,7 +64,6 @@
"Symbol" : "0",
"Test::Builder" : "0",
"Text::Wrap" : "0",
- "base" : "0",
"perl" : "5.008",
"strict" : "0",
"warnings" : "0"
@@ -80,6 +79,7 @@
"Test::More" : "0.88",
"Test::Tester" : "0",
"strict" : "0",
+ "utf8" : "0",
"warnings" : "0"
}
}
@@ -87,7 +87,7 @@
"provides" : {
"Test::Spelling" : {
"file" : "lib/Test/Spelling.pm",
- "version" : "0.23"
+ "version" : "0.24"
}
},
"release_status" : "stable",
@@ -102,7 +102,7 @@
"web" : "https://github.com/genio/test-spelling"
}
},
- "version" : "0.23",
+ "version" : "0.24",
"x_Dist_Zilla" : {
"perl" : {
"version" : "5.026001"
@@ -413,7 +413,7 @@
"branch" : null,
"changelog" : "Changes",
"signed" : 0,
- "tag" : "v0.23",
+ "tag" : "v0.24",
"tag_format" : "v%V",
"tag_message" : "v%V"
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.23/META.yml new/Test-Spelling-0.24/META.yml
--- old/Test-Spelling-0.23/META.yml 2019-05-22 02:44:53.000000000 +0200
+++ new/Test-Spelling-0.24/META.yml 2019-05-24 15:43:01.000000000 +0200
@@ -8,6 +8,7 @@
Test::More: '0.88'
Test::Tester: '0'
strict: '0'
+ utf8: '0'
warnings: '0'
configure_requires:
ExtUtils::MakeMaker: '0'
@@ -29,7 +30,7 @@
provides:
Test::Spelling:
file: lib/Test/Spelling.pm
- version: '0.23'
+ version: '0.24'
requires:
Exporter: '5.57'
File::Spec: '0'
@@ -38,7 +39,6 @@
Symbol: '0'
Test::Builder: '0'
Text::Wrap: '0'
- base: '0'
perl: '5.008'
strict: '0'
warnings: '0'
@@ -46,7 +46,7 @@
bugtracker: https://github.com/genio/test-spelling/issues
homepage: https://github.com/genio/test-spelling
repository: https://github.com/genio/test-spelling.git
-version: '0.23'
+version: '0.24'
x_Dist_Zilla:
perl:
version: '5.026001'
@@ -286,7 +286,7 @@
branch: ~
changelog: Changes
signed: 0
- tag: v0.23
+ tag: v0.24
tag_format: v%V
tag_message: v%V
Dist::Zilla::Role::Git::Repo:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.23/Makefile.PL new/Test-Spelling-0.24/Makefile.PL
--- old/Test-Spelling-0.23/Makefile.PL 2019-05-22 02:44:53.000000000 +0200
+++ new/Test-Spelling-0.24/Makefile.PL 2019-05-24 15:43:01.000000000 +0200
@@ -27,7 +27,6 @@
"Symbol" => 0,
"Test::Builder" => 0,
"Text::Wrap" => 0,
- "base" => 0,
"strict" => 0,
"warnings" => 0
},
@@ -37,9 +36,10 @@
"Test::More" => "0.88",
"Test::Tester" => 0,
"strict" => 0,
+ "utf8" => 0,
"warnings" => 0
},
- "VERSION" => "0.23",
+ "VERSION" => "0.24",
"test" => {
"TESTS" => "t/*.t"
}
@@ -56,8 +56,8 @@
"Test::More" => "0.88",
"Test::Tester" => 0,
"Text::Wrap" => 0,
- "base" => 0,
"strict" => 0,
+ "utf8" => 0,
"warnings" => 0
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.23/cpanfile new/Test-Spelling-0.24/cpanfile
--- old/Test-Spelling-0.23/cpanfile 2019-05-22 02:44:53.000000000 +0200
+++ new/Test-Spelling-0.24/cpanfile 2019-05-24 15:43:01.000000000 +0200
@@ -2,7 +2,6 @@
requires 'perl' => '5.008';
requires 'strict';
requires 'warnings';
- requires 'base';
requires 'Exporter' => '5.57';
requires 'File::Spec';
requires 'IPC::Run3';
@@ -19,6 +18,9 @@
on 'test' => sub {
requires 'strict';
requires 'warnings';
+ requires 'utf8';
+ requires 'ExtUtils::MakeMaker';
+ requires 'File::Spec';
requires 'Test::More' => '0.88'; # already uses done_testing
requires 'Test::Tester';
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.23/lib/Test/Spelling.pm new/Test-Spelling-0.24/lib/Test/Spelling.pm
--- old/Test-Spelling-0.23/lib/Test/Spelling.pm 2019-05-22 02:44:53.000000000 +0200
+++ new/Test-Spelling-0.24/lib/Test/Spelling.pm 2019-05-24 15:43:01.000000000 +0200
@@ -11,7 +11,7 @@
use IPC::Run3;
use Symbol 'gensym';
-our $VERSION = '0.23';
+our $VERSION = '0.24';
our @EXPORT = qw(
pod_file_spelling_ok
@@ -101,11 +101,12 @@
my $document = '';
open my $handle, '>', \$document;
- open my $infile, '<:encoding(UTF-8)', $file;
+ # the UTF-8 parsing seems to have broken many tests
+ #open my $infile, '<:encoding(UTF-8)', $file;
# save digested POD to the string $document
- get_pod_parser()->parse_from_filehandle($infile, $handle);
-
+ #get_pod_parser()->parse_from_filehandle($infile, $handle);
+ get_pod_parser()->parse_from_file($file, $handle);
my @words = _get_spellcheck_results($document);
chomp for @words;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.23/t/00-report-prereqs.dd new/Test-Spelling-0.24/t/00-report-prereqs.dd
--- old/Test-Spelling-0.23/t/00-report-prereqs.dd 2019-05-22 02:44:53.000000000 +0200
+++ new/Test-Spelling-0.24/t/00-report-prereqs.dd 2019-05-24 15:43:01.000000000 +0200
@@ -39,7 +39,6 @@
'Symbol' => '0',
'Test::Builder' => '0',
'Text::Wrap' => '0',
- 'base' => '0',
'perl' => '5.008',
'strict' => '0',
'warnings' => '0'
@@ -55,6 +54,7 @@
'Test::More' => '0.88',
'Test::Tester' => '0',
'strict' => '0',
+ 'utf8' => '0',
'warnings' => '0'
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.23/t/basic.t new/Test-Spelling-0.24/t/basic.t
--- old/Test-Spelling-0.23/t/basic.t 2019-05-22 02:44:53.000000000 +0200
+++ new/Test-Spelling-0.24/t/basic.t 2019-05-24 15:43:01.000000000 +0200
@@ -25,12 +25,13 @@
diag => "Errors:\n incorectly",
});
-add_stopwords("ünıçöđé");
-
-check_test(sub { pod_file_spelling_ok('t/corpus/unicode-pod.pm', 'unicode pod has no errors') }, {
- ok => 1,
- name => 'unicode pod has no errors',
-});
+SKIP: {
+ skip "Unicode support reverted", 1;
+ add_stopwords("ünıçöđé");
+ check_test(sub { pod_file_spelling_ok('t/corpus/unicode-pod.pm', 'unicode pod has no errors') }, {
+ ok => 1,
+ name => 'unicode pod has no errors',
+ });
+};
done_testing;
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.23/xt/release/changes_has_content.t new/Test-Spelling-0.24/xt/release/changes_has_content.t
--- old/Test-Spelling-0.23/xt/release/changes_has_content.t 2019-05-22 02:44:53.000000000 +0200
+++ new/Test-Spelling-0.24/xt/release/changes_has_content.t 2019-05-24 15:43:01.000000000 +0200
@@ -2,7 +2,7 @@
note 'Checking Changes';
my $changes_file = 'Changes';
-my $newver = '0.23';
+my $newver = '0.24';
my $trial_token = '-TRIAL';
my $encoding = 'UTF-8';
1
0
Hello community,
here is the log from the commit of package perl-Test-Synopsis for openSUSE:Factory checked in at 2019-05-27 08:39:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-Synopsis (Old)
and /work/SRC/openSUSE:Factory/.perl-Test-Synopsis.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Test-Synopsis"
Mon May 27 08:39:44 2019 rev:16 rq:705411 version:0.16
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Test-Synopsis/perl-Test-Synopsis.changes 2016-03-16 10:34:01.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Test-Synopsis.new.5148/perl-Test-Synopsis.changes 2019-05-27 08:39:46.643038415 +0200
@@ -1,0 +2,10 @@
+Sat May 25 05:31:18 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 0.16
+ see /usr/share/doc/packages/perl-Test-Synopsis/Changes
+
+ 0.16 2019-05-24
+ - Fix test failures when version 0.23 of
+ Test::Spelling is in use (by ppisar, #21)
+
+-------------------------------------------------------------------
Old:
----
Test-Synopsis-0.15.tar.gz
New:
----
Test-Synopsis-0.16.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Test-Synopsis.spec ++++++
--- /var/tmp/diff_new_pack.khU1kW/_old 2019-05-27 08:39:47.383038127 +0200
+++ /var/tmp/diff_new_pack.khU1kW/_new 2019-05-27 08:39:47.387038125 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Test-Synopsis
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,19 +12,19 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: perl-Test-Synopsis
-Version: 0.15
+Version: 0.16
Release: 0
%define cpan_name Test-Synopsis
Summary: Test your SYNOPSIS code
-License: Artistic-1.0 or GPL-1.0+
+License: Artistic-1.0 OR GPL-1.0-or-later
Group: Development/Libraries/Perl
-Url: http://search.cpan.org/dist/Test-Synopsis/
-Source0: http://www.cpan.org/authors/id/Z/ZO/ZOFFIX/%{cpan_name}-%{version}.tar.gz
+Url: https://metacpan.org/release/%{cpan_name}
+Source0: https://cpan.metacpan.org/authors/id/Z/ZO/ZOFFIX/%{cpan_name}-%{version}.ta…
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -69,11 +69,11 @@
%setup -q -n %{cpan_name}-%{version}
%build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
-%{__make} %{?_smp_mflags}
+perl Makefile.PL INSTALLDIRS=vendor
+make %{?_smp_mflags}
%check
-%{__make} test
+make test
%install
%perl_make_install
@@ -82,6 +82,7 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes LICENSE README README.md
+%doc Changes README README.md
+%license LICENSE
%changelog
++++++ Test-Synopsis-0.15.tar.gz -> Test-Synopsis-0.16.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/Changes new/Test-Synopsis-0.16/Changes
--- old/Test-Synopsis-0.15/Changes 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/Changes 2019-05-24 17:07:41.000000000 +0200
@@ -1,5 +1,9 @@
Revision history for Perl extension Test::Synopsis
+0.16 2019-05-24
+ - Fix test failures when version 0.23 of
+ Test::Spelling is in use (by ppisar, #21)
+
0.15 2016-03-02
- Specify Pod::Simple version to prereq, as needed
feature missing from older versions (by autarch)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/INSTALL new/Test-Synopsis-0.16/INSTALL
--- old/Test-Synopsis-0.15/INSTALL 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/INSTALL 2019-05-24 17:07:41.000000000 +0200
@@ -8,10 +8,10 @@
% cpanm Test::Synopsis
-If you are installing into a system-wide directory, you may need to pass the
-"-S" flag to cpanm, which uses sudo to install the module:
-
- % cpanm -S Test::Synopsis
+If it does not have permission to install modules to the current perl, cpanm
+will automatically set up and install to a local::lib in your home directory.
+See the local::lib documentation (https://metacpan.org/pod/local::lib) for
+details on enabling it in your environment.
## Installing with the CPAN shell
@@ -22,7 +22,7 @@
## Manual installation
As a last resort, you can manually install it. Download the tarball, untar it,
-then build it:
+install configure prerequisites (see below), then build it:
% perl Makefile.PL
% make && make test
@@ -31,13 +31,42 @@
% make install
-If you are installing into a system-wide directory, you may need to run:
+On Windows platforms, you should use `dmake` or `nmake`, instead of `make`.
+
+If your perl is system-managed, you can create a local::lib in your home
+directory to install modules to. For details, see the local::lib documentation:
+https://metacpan.org/pod/local::lib
+
+The prerequisites of this distribution will also have to be installed manually. The
+prerequisites are listed in one of the files: `MYMETA.yml` or `MYMETA.json` generated
+by running the manual build process described above.
+
+## Configure Prerequisites
+
+This distribution requires other modules to be installed before this
+distribution's installer can be run. They can be found under the
+"configure_requires" key of META.yml or the
+"{prereqs}{configure}{requires}" key of META.json.
- % sudo make install
+## Other Prerequisites
+
+This distribution may require additional modules to be installed after running
+Makefile.PL.
+Look for prerequisites in the following phases:
+
+* to run make, PHASE = build
+* to use the module code itself, PHASE = runtime
+* to run tests, PHASE = test
+
+They can all be found in the "PHASE_requires" key of MYMETA.yml or the
+"{prereqs}{PHASE}{requires}" key of MYMETA.json.
## Documentation
Test-Synopsis documentation is available as POD.
-You can run perldoc from a shell to read the documentation:
+You can run `perldoc` from a shell to read the documentation:
% perldoc Test::Synopsis
+
+For more information on installing Perl modules via CPAN, please see:
+https://www.cpan.org/modules/INSTALL.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/LICENSE new/Test-Synopsis-0.16/LICENSE
--- old/Test-Synopsis-0.15/LICENSE 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/LICENSE 2019-05-24 17:07:41.000000000 +0200
@@ -1,4 +1,4 @@
-This software is copyright (c) 2016 by Tatsuhiko Miyagawa.
+This software is copyright (c) 2019 by Tatsuhiko Miyagawa.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@
--- The GNU General Public License, Version 1, February 1989 ---
-This software is Copyright (c) 2016 by Tatsuhiko Miyagawa.
+This software is Copyright (c) 2019 by Tatsuhiko Miyagawa.
This is free software, licensed under:
@@ -272,7 +272,7 @@
--- The Artistic License 1.0 ---
-This software is Copyright (c) 2016 by Tatsuhiko Miyagawa.
+This software is Copyright (c) 2019 by Tatsuhiko Miyagawa.
This is free software, licensed under:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/MANIFEST new/Test-Synopsis-0.16/MANIFEST
--- old/Test-Synopsis-0.15/MANIFEST 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/MANIFEST 2019-05-24 17:07:41.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.042.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012.
Changes
INSTALL
LICENSE
@@ -38,17 +38,17 @@
t/lib/Test12DATAInPodWithError.pm
t/lib/TestMultipleChunks.pm
xt/author/eol.t
+xt/author/minimum-version.t
xt/author/mojibake.t
xt/author/no-tabs.t
xt/author/pod-coverage.t
xt/author/pod-spell.t
xt/author/pod-syntax.t
+xt/author/portability.t
+xt/author/synopsis.t
xt/author/test-version.t
xt/release/cpan-changes.t
xt/release/dist-manifest.t
xt/release/distmeta.t
xt/release/kwalitee.t
xt/release/meta-json.t
-xt/release/minimum-version.t
-xt/release/portability.t
-xt/release/synopsis.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/META.json new/Test-Synopsis-0.16/META.json
--- old/Test-Synopsis-0.15/META.json 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/META.json 2019-05-24 17:07:41.000000000 +0200
@@ -4,7 +4,7 @@
"Tatsuhiko Miyagawa <miyagawa(a)bulknews.net>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.042, CPAN::Meta::Converter version 2.150001",
+ "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
@@ -41,11 +41,13 @@
"Test::CPAN::Meta::JSON" : "0.16",
"Test::EOL" : "0",
"Test::Kwalitee" : "1.21",
+ "Test::MinimumVersion" : "0",
"Test::Mojibake" : "0",
"Test::More" : "0.96",
"Test::NoTabs" : "0",
"Test::Pod" : "1.41",
"Test::Pod::Coverage" : "1.08",
+ "Test::Portability::Files" : "0",
"Test::Spelling" : "0.12",
"Test::Synopsis" : "0",
"Test::Version" : "1"
@@ -70,7 +72,6 @@
"Test::Builder" : "0.34",
"Test::Builder::Tester" : "0",
"Test::More" : "0",
- "blib" : "1.01",
"perl" : "5.008_001"
}
}
@@ -78,7 +79,7 @@
"provides" : {
"Test::Synopsis" : {
"file" : "lib/Test/Synopsis.pm",
- "version" : "0.15"
+ "version" : "0.16"
}
},
"release_status" : "stable",
@@ -93,16 +94,16 @@
"web" : "https://github.com/miyagawa/test-synopsis"
}
},
- "version" : "0.15",
+ "version" : "0.16",
"x_Dist_Zilla" : {
"perl" : {
- "version" : "5.022000"
+ "version" : "5.026000"
},
"plugins" : [
{
"class" : "Dist::Zilla::Plugin::OurPkgVersion",
"name" : "@Author::ZOFFIX/OurPkgVersion",
- "version" : "0.06"
+ "version" : "0.15"
},
{
"class" : "Dist::Zilla::Plugin::Pod::Spiffy",
@@ -117,6 +118,7 @@
"check_all_prereqs" : 1,
"modules" : [],
"phase" : "release",
+ "run_under_travis" : 0,
"skip" : [
"ExtUtils::MakeMaker",
"File::Copy",
@@ -128,7 +130,7 @@
}
},
"name" : "@Author::ZOFFIX/PromptIfStale",
- "version" : "0.047"
+ "version" : "0.055"
},
{
"class" : "Dist::Zilla::Plugin::GatherDir",
@@ -144,42 +146,42 @@
}
},
"name" : "@Author::ZOFFIX/GatherDir",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@Author::ZOFFIX/PruneCruft",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::ManifestSkip",
"name" : "@Author::ZOFFIX/ManifestSkip",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@Author::ZOFFIX/MetaYAML",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@Author::ZOFFIX/License",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
"name" : "@Author::ZOFFIX/Readme",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@Author::ZOFFIX/ExecDir",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::ShareDir",
"name" : "@Author::ZOFFIX/ShareDir",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::MakeMaker",
@@ -189,27 +191,27 @@
}
},
"name" : "@Author::ZOFFIX/MakeMaker",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@Author::ZOFFIX/Manifest",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "@Author::ZOFFIX/AutoPrereqs",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@Author::ZOFFIX/MetaConfig",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs::AuthorDeps",
"name" : "@Author::ZOFFIX/Prereqs::AuthorDeps",
- "version" : "0.005"
+ "version" : "0.006"
},
{
"class" : "Dist::Zilla::Plugin::MinimumPerl",
@@ -224,23 +226,35 @@
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : "@Author::ZOFFIX/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
- "version" : "5.042"
+ "version" : "6.012"
}
- ]
+ ],
+ "include_underscores" : 0
},
"Dist::Zilla::Role::MetaProvider::Provider" : {
- "inherit_missing" : "1",
- "inherit_version" : "1",
- "meta_noindex" : "1"
+ "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
+ "inherit_missing" : 1,
+ "inherit_version" : 1,
+ "meta_noindex" : 1
+ },
+ "Dist::Zilla::Role::ModuleMetadata" : {
+ "Module::Metadata" : "1.000033",
+ "version" : "0.006"
}
},
"name" : "@Author::ZOFFIX/MetaProvides::Package",
- "version" : "2.003001"
+ "version" : "2.004003"
},
{
"class" : "Dist::Zilla::Plugin::InstallGuide",
+ "config" : {
+ "Dist::Zilla::Role::ModuleMetadata" : {
+ "Module::Metadata" : "1.000033",
+ "version" : "0.006"
+ }
+ },
"name" : "@Author::ZOFFIX/InstallGuide",
- "version" : "1.200006"
+ "version" : "1.200013"
},
{
"class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
@@ -250,13 +264,13 @@
}
},
"name" : "@Author::ZOFFIX/ReadmeAnyFromPod",
- "version" : "0.150250"
+ "version" : "0.163250"
},
{
"class" : "Dist::Zilla::Plugin::Test::Compile",
"config" : {
"Dist::Zilla::Plugin::Test::Compile" : {
- "bail_out_on_fail" : "0",
+ "bail_out_on_fail" : 0,
"fail_on_warning" : "author",
"fake_home" : 0,
"filename" : "t/00-compile.t",
@@ -268,11 +282,12 @@
"script_finder" : [
":PerlExecFiles"
],
- "skips" : []
+ "skips" : [],
+ "switch" : []
}
},
"name" : "@Author::ZOFFIX/Test::Compile",
- "version" : "2.054"
+ "version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::DistManifest",
@@ -285,20 +300,20 @@
"Dist::Zilla::Plugin::Test::EOL" : {
"filename" : "xt/author/eol.t",
"finder" : [
- ":InstallModules",
":ExecFiles",
+ ":InstallModules",
":TestFiles"
],
- "trailing_whitespace" : "1"
+ "trailing_whitespace" : 1
}
},
"name" : "@Author::ZOFFIX/Test::EOL",
- "version" : "0.18"
+ "version" : "0.19"
},
{
"class" : "Dist::Zilla::Plugin::Test::Version",
"name" : "@Author::ZOFFIX/Test::Version",
- "version" : "1.05"
+ "version" : "1.09"
},
{
"class" : "Dist::Zilla::Plugin::Test::Kwalitee",
@@ -314,7 +329,7 @@
{
"class" : "Dist::Zilla::Plugin::MetaTests",
"name" : "@Author::ZOFFIX/MetaTests",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::Test::CPAN::Meta::JSON",
@@ -344,40 +359,53 @@
{
"class" : "Dist::Zilla::Plugin::PodCoverageTests",
"name" : "@Author::ZOFFIX/PodCoverageTests",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@Author::ZOFFIX/PodSyntaxTests",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::Test::Portability",
+ "config" : {
+ "Dist::Zilla::Plugin::Test::Portability" : {
+ "options" : ""
+ }
+ },
"name" : "@Author::ZOFFIX/Test::Portability",
- "version" : "2.000006"
+ "version" : "2.001000"
},
{
"class" : "Dist::Zilla::Plugin::Test::Synopsis",
"name" : "@Author::ZOFFIX/Test::Synopsis",
- "version" : "2.000006"
+ "version" : "2.000007"
},
{
"class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
+ "config" : {
+ "Dist::Zilla::Plugin::Test::CPAN::Changes" : {
+ "changelog" : "Changes"
+ }
+ },
"name" : "@Author::ZOFFIX/Test::CPAN::Changes",
- "version" : "0.009"
+ "version" : "0.012"
},
{
"class" : "Dist::Zilla::Plugin::Test::PodSpelling",
"config" : {
"Dist::Zilla::Plugin::Test::PodSpelling" : {
- "directories" : [],
+ "directories" : [
+ "bin",
+ "lib"
+ ],
"spell_cmd" : "",
"stopwords" : [],
"wordlist" : "Pod::Wordlist"
}
},
"name" : "@Author::ZOFFIX/Test::PodSpelling",
- "version" : "2.007000"
+ "version" : "2.007005"
},
{
"class" : "Dist::Zilla::Plugin::CheckSelfDependency",
@@ -388,8 +416,8 @@
]
},
"Dist::Zilla::Role::ModuleMetadata" : {
- "Module::Metadata" : "1.000026",
- "version" : "0.003"
+ "Module::Metadata" : "1.000033",
+ "version" : "0.006"
}
},
"name" : "@Author::ZOFFIX/CheckSelfDependency",
@@ -398,12 +426,17 @@
{
"class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
"name" : "@Author::ZOFFIX/CheckPrereqsIndexed",
- "version" : "0.017"
+ "version" : "0.020"
},
{
"class" : "Dist::Zilla::Plugin::Test::MinimumVersion",
+ "config" : {
+ "Dist::Zilla::Plugin::Test::MinimumVersion" : {
+ "max_target_perl" : "5.008008"
+ }
+ },
"name" : "@Author::ZOFFIX/Test::MinimumVersion",
- "version" : "2.000006"
+ "version" : "2.000010"
},
{
"class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
@@ -421,7 +454,7 @@
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@Author::ZOFFIX/TestRelease",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::InstallRelease",
@@ -431,12 +464,12 @@
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@Author::ZOFFIX/ConfirmRelease",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@Author::ZOFFIX/UploadToCPAN",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -447,7 +480,7 @@
}
},
"name" : "TestRequires",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -458,7 +491,7 @@
}
},
"name" : "DevelopRequires",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::AutoMetaResources",
@@ -479,11 +512,12 @@
"version_regexp" : "(?^u:^(.+)$)"
},
"Dist::Zilla::Role::Git::Repo" : {
+ "git_version" : "2.1.4",
"repo_root" : "."
}
},
"name" : "Git::NextVersion",
- "version" : "2.036"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
@@ -492,11 +526,12 @@
"branch" : null,
"changelog" : "Changes",
"signed" : 0,
- "tag" : "0.15",
+ "tag" : "0.16",
"tag_format" : "%v",
"tag_message" : "%v"
},
"Dist::Zilla::Role::Git::Repo" : {
+ "git_version" : "2.1.4",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
@@ -504,7 +539,7 @@
}
},
"name" : "Git::Tag",
- "version" : "2.036"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::Git::Check",
@@ -521,18 +556,19 @@
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
+ "git_version" : "2.1.4",
"repo_root" : "."
}
},
"name" : "Git::Check",
- "version" : "2.036"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
"config" : {
"Dist::Zilla::Plugin::Git::Commit" : {
"add_files_in" : [],
- "commit_msg" : "v%v%n%n%c"
+ "commit_msg" : "v%V%n%n%c"
},
"Dist::Zilla::Role::Git::DirtyFiles" : {
"allow_dirty" : [
@@ -543,6 +579,7 @@
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
+ "git_version" : "2.1.4",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
@@ -550,7 +587,7 @@
}
},
"name" : "Git::Commit",
- "version" : "2.036"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::Git::Push",
@@ -562,90 +599,93 @@
"remotes_must_exist" : 1
},
"Dist::Zilla::Role::Git::Repo" : {
+ "git_version" : "2.1.4",
"repo_root" : "."
}
},
"name" : "Git::Push",
- "version" : "2.036"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "MetaJSON",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExtraTestFiles",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":PerlExecFiles",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":AllFiles",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":NoFiles",
- "version" : "5.042"
+ "version" : "6.012"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : "@Author::ZOFFIX/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
- "version" : "5.042"
+ "version" : "6.012"
}
],
"zilla" : {
"class" : "Dist::Zilla::Dist::Builder",
"config" : {
- "is_trial" : "0"
+ "is_trial" : 0
},
- "version" : "5.042"
+ "version" : "6.012"
}
},
"x_contributors" : [
"Dave Rolsky <autarch(a)urth.org>",
"Kevin Ryde <kryde(a)cpan.org>",
- "Marcel Grünauer <marcel(a)cpan.org>",
+ "Marcel Gr\u00fcnauer <marcel(a)cpan.org>",
"Mike Doherty <doherty(a)cpan.org>",
"Patrice Clement <monsieurp(a)gentoo.org>",
"Greg Sabino Mullane <turnstep(a)cpan.org>",
"Zoffix Znet <zoffix(a)cpan.org>",
- "Olivier Mengué <dolmen(a)cpan.org>"
- ]
+ "Olivier Mengu\u00e9 <dolmen(a)cpan.org>"
+ ],
+ "x_generated_by_perl" : "v5.26.0",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 3.0233"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/META.yml new/Test-Synopsis-0.16/META.yml
--- old/Test-Synopsis-0.15/META.yml 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/META.yml 2019-05-24 17:07:41.000000000 +0200
@@ -9,13 +9,12 @@
Test::Builder: '0.34'
Test::Builder::Tester: '0'
Test::More: '0'
- blib: '1.01'
perl: 5.008_001
configure_requires:
ExtUtils::MakeMaker: '0'
perl: 5.008_001
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.042, CPAN::Meta::Converter version 2.150001'
+generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -24,7 +23,7 @@
provides:
Test::Synopsis:
file: lib/Test/Synopsis.pm
- version: '0.15'
+ version: '0.16'
requires:
ExtUtils::Manifest: '0'
Pod::Simple: '3.09'
@@ -37,15 +36,15 @@
bugtracker: https://github.com/miyagawa/test-synopsis/issues
homepage: http://metacpan.org/release/Test-Synopsis
repository: git://github.com/miyagawa/test-synopsis.git
-version: '0.15'
+version: '0.16'
x_Dist_Zilla:
perl:
- version: '5.022000'
+ version: '5.026000'
plugins:
-
class: Dist::Zilla::Plugin::OurPkgVersion
name: '@Author::ZOFFIX/OurPkgVersion'
- version: '0.06'
+ version: '0.15'
-
class: Dist::Zilla::Plugin::Pod::Spiffy
name: '@Author::ZOFFIX/Pod::Spiffy'
@@ -58,6 +57,7 @@
check_all_prereqs: 1
modules: []
phase: release
+ run_under_travis: 0
skip:
- ExtUtils::MakeMaker
- File::Copy
@@ -66,7 +66,7 @@
- strict
- warnings
name: '@Author::ZOFFIX/PromptIfStale'
- version: '0.047'
+ version: '0.055'
-
class: Dist::Zilla::Plugin::GatherDir
config:
@@ -79,58 +79,58 @@
prune_directory: []
root: .
name: '@Author::ZOFFIX/GatherDir'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::PruneCruft
name: '@Author::ZOFFIX/PruneCruft'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::ManifestSkip
name: '@Author::ZOFFIX/ManifestSkip'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@Author::ZOFFIX/MetaYAML'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::License
name: '@Author::ZOFFIX/License'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::Readme
name: '@Author::ZOFFIX/Readme'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::ExecDir
name: '@Author::ZOFFIX/ExecDir'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::ShareDir
name: '@Author::ZOFFIX/ShareDir'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::MakeMaker
config:
Dist::Zilla::Role::TestRunner:
default_jobs: 1
name: '@Author::ZOFFIX/MakeMaker'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::Manifest
name: '@Author::ZOFFIX/Manifest'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::AutoPrereqs
name: '@Author::ZOFFIX/AutoPrereqs'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@Author::ZOFFIX/MetaConfig'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::Prereqs::AuthorDeps
name: '@Author::ZOFFIX/Prereqs::AuthorDeps'
- version: '0.005'
+ version: '0.006'
-
class: Dist::Zilla::Plugin::MinimumPerl
name: '@Author::ZOFFIX/MinimumPerl'
@@ -143,24 +143,33 @@
-
class: Dist::Zilla::Plugin::FinderCode
name: '@Author::ZOFFIX/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
- version: '5.042'
+ version: '6.012'
+ include_underscores: 0
Dist::Zilla::Role::MetaProvider::Provider:
+ $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004'
inherit_missing: '1'
inherit_version: '1'
meta_noindex: '1'
+ Dist::Zilla::Role::ModuleMetadata:
+ Module::Metadata: '1.000033'
+ version: '0.006'
name: '@Author::ZOFFIX/MetaProvides::Package'
- version: '2.003001'
+ version: '2.004003'
-
class: Dist::Zilla::Plugin::InstallGuide
+ config:
+ Dist::Zilla::Role::ModuleMetadata:
+ Module::Metadata: '1.000033'
+ version: '0.006'
name: '@Author::ZOFFIX/InstallGuide'
- version: '1.200006'
+ version: '1.200013'
-
class: Dist::Zilla::Plugin::ReadmeAnyFromPod
config:
Dist::Zilla::Role::FileWatcher:
version: '0.006'
name: '@Author::ZOFFIX/ReadmeAnyFromPod'
- version: '0.150250'
+ version: '0.163250'
-
class: Dist::Zilla::Plugin::Test::Compile
config:
@@ -176,8 +185,9 @@
script_finder:
- ':PerlExecFiles'
skips: []
+ switch: []
name: '@Author::ZOFFIX/Test::Compile'
- version: '2.054'
+ version: '2.058'
-
class: Dist::Zilla::Plugin::Test::DistManifest
name: '@Author::ZOFFIX/Test::DistManifest'
@@ -188,16 +198,16 @@
Dist::Zilla::Plugin::Test::EOL:
filename: xt/author/eol.t
finder:
- - ':InstallModules'
- ':ExecFiles'
+ - ':InstallModules'
- ':TestFiles'
- trailing_whitespace: '1'
+ trailing_whitespace: 1
name: '@Author::ZOFFIX/Test::EOL'
- version: '0.18'
+ version: '0.19'
-
class: Dist::Zilla::Plugin::Test::Version
name: '@Author::ZOFFIX/Test::Version'
- version: '1.05'
+ version: '1.09'
-
class: Dist::Zilla::Plugin::Test::Kwalitee
config:
@@ -209,7 +219,7 @@
-
class: Dist::Zilla::Plugin::MetaTests
name: '@Author::ZOFFIX/MetaTests'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::Test::CPAN::Meta::JSON
name: '@Author::ZOFFIX/Test::CPAN::Meta::JSON'
@@ -232,33 +242,41 @@
-
class: Dist::Zilla::Plugin::PodCoverageTests
name: '@Author::ZOFFIX/PodCoverageTests'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@Author::ZOFFIX/PodSyntaxTests'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::Test::Portability
+ config:
+ Dist::Zilla::Plugin::Test::Portability:
+ options: ''
name: '@Author::ZOFFIX/Test::Portability'
- version: '2.000006'
+ version: '2.001000'
-
class: Dist::Zilla::Plugin::Test::Synopsis
name: '@Author::ZOFFIX/Test::Synopsis'
- version: '2.000006'
+ version: '2.000007'
-
class: Dist::Zilla::Plugin::Test::CPAN::Changes
+ config:
+ Dist::Zilla::Plugin::Test::CPAN::Changes:
+ changelog: Changes
name: '@Author::ZOFFIX/Test::CPAN::Changes'
- version: '0.009'
+ version: '0.012'
-
class: Dist::Zilla::Plugin::Test::PodSpelling
config:
Dist::Zilla::Plugin::Test::PodSpelling:
- directories: []
+ directories:
+ - bin
+ - lib
spell_cmd: ''
stopwords: []
wordlist: Pod::Wordlist
name: '@Author::ZOFFIX/Test::PodSpelling'
- version: '2.007000'
+ version: '2.007005'
-
class: Dist::Zilla::Plugin::CheckSelfDependency
config:
@@ -266,18 +284,21 @@
finder:
- ':InstallModules'
Dist::Zilla::Role::ModuleMetadata:
- Module::Metadata: '1.000026'
- version: '0.003'
+ Module::Metadata: '1.000033'
+ version: '0.006'
name: '@Author::ZOFFIX/CheckSelfDependency'
version: '0.011'
-
class: Dist::Zilla::Plugin::CheckPrereqsIndexed
name: '@Author::ZOFFIX/CheckPrereqsIndexed'
- version: '0.017'
+ version: '0.020'
-
class: Dist::Zilla::Plugin::Test::MinimumVersion
+ config:
+ Dist::Zilla::Plugin::Test::MinimumVersion:
+ max_target_perl: '5.008008'
name: '@Author::ZOFFIX/Test::MinimumVersion'
- version: '2.000006'
+ version: '2.000010'
-
class: Dist::Zilla::Plugin::CopyFilesFromRelease
config:
@@ -290,7 +311,7 @@
-
class: Dist::Zilla::Plugin::TestRelease
name: '@Author::ZOFFIX/TestRelease'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::InstallRelease
name: '@Author::ZOFFIX/InstallRelease'
@@ -298,11 +319,11 @@
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@Author::ZOFFIX/ConfirmRelease'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@Author::ZOFFIX/UploadToCPAN'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -310,7 +331,7 @@
phase: test
type: requires
name: TestRequires
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -318,7 +339,7 @@
phase: develop
type: requires
name: DevelopRequires
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::AutoMetaResources
name: AutoMetaResources
@@ -335,9 +356,10 @@
version_by_branch: 0
version_regexp: (?^u:^(.+)$)
Dist::Zilla::Role::Git::Repo:
+ git_version: 2.1.4
repo_root: .
name: Git::NextVersion
- version: '2.036'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::Git::Tag
config:
@@ -345,15 +367,16 @@
branch: ~
changelog: Changes
signed: 0
- tag: '0.15'
+ tag: '0.16'
tag_format: '%v'
tag_message: '%v'
Dist::Zilla::Role::Git::Repo:
+ git_version: 2.1.4
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: Git::Tag
- version: '2.036'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::Git::Check
config:
@@ -366,15 +389,16 @@
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
+ git_version: 2.1.4
repo_root: .
name: Git::Check
- version: '2.036'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::Git::Commit
config:
Dist::Zilla::Plugin::Git::Commit:
add_files_in: []
- commit_msg: v%v%n%n%c
+ commit_msg: v%V%n%n%c
Dist::Zilla::Role::Git::DirtyFiles:
allow_dirty:
- Changes
@@ -382,11 +406,12 @@
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
+ git_version: 2.1.4
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: Git::Commit
- version: '2.036'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::Git::Push
config:
@@ -395,62 +420,63 @@
- origin
remotes_must_exist: 1
Dist::Zilla::Role::Git::Repo:
+ git_version: 2.1.4
repo_root: .
name: Git::Push
- version: '2.036'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::MetaJSON
name: MetaJSON
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExtraTestFiles'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':PerlExecFiles'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':AllFiles'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':NoFiles'
- version: '5.042'
+ version: '6.012'
-
class: Dist::Zilla::Plugin::FinderCode
name: '@Author::ZOFFIX/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
- version: '5.042'
+ version: '6.012'
zilla:
class: Dist::Zilla::Dist::Builder
config:
is_trial: '0'
- version: '5.042'
+ version: '6.012'
x_contributors:
- 'Dave Rolsky <autarch(a)urth.org>'
- 'Kevin Ryde <kryde(a)cpan.org>'
@@ -460,3 +486,5 @@
- 'Greg Sabino Mullane <turnstep(a)cpan.org>'
- 'Zoffix Znet <zoffix(a)cpan.org>'
- 'Olivier Mengué <dolmen(a)cpan.org>'
+x_generated_by_perl: v5.26.0
+x_serialization_backend: 'YAML::Tiny version 1.73'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/Makefile.PL new/Test-Synopsis-0.16/Makefile.PL
--- old/Test-Synopsis-0.15/Makefile.PL 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/Makefile.PL 2019-05-24 17:07:41.000000000 +0200
@@ -1,8 +1,8 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.042.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.012.
use strict;
use warnings;
-use 5.008_001;
+use 5.008001;
use ExtUtils::MakeMaker;
@@ -14,7 +14,7 @@
},
"DISTNAME" => "Test-Synopsis",
"LICENSE" => "perl",
- "MIN_PERL_VERSION" => "5.008_001",
+ "MIN_PERL_VERSION" => "5.008001",
"NAME" => "Test::Synopsis",
"PREREQ_PM" => {
"ExtUtils::Manifest" => 0,
@@ -30,10 +30,9 @@
"IPC::Open3" => 0,
"Test::Builder" => "0.34",
"Test::Builder::Tester" => 0,
- "Test::More" => 0,
- "blib" => "1.01"
+ "Test::More" => 0
},
- "VERSION" => "0.15",
+ "VERSION" => "0.16",
"test" => {
"TESTS" => "t/*.t"
}
@@ -50,7 +49,6 @@
"Test::Builder::Module" => 0,
"Test::Builder::Tester" => 0,
"Test::More" => 0,
- "blib" => "1.01",
"parent" => 0,
"strict" => 0,
"warnings" => 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/README new/Test-Synopsis-0.16/README
--- old/Test-Synopsis-0.15/README 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/README 2019-05-24 17:07:41.000000000 +0200
@@ -1,15 +1,12 @@
-
-
This archive contains the distribution Test-Synopsis,
-version 0.15:
+version 0.16:
Test your SYNOPSIS code
-This software is copyright (c) 2016 by Tatsuhiko Miyagawa.
+This software is copyright (c) 2019 by Tatsuhiko Miyagawa.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
-This README file was generated by Dist::Zilla::Plugin::Readme v5.042.
-
+This README file was generated by Dist::Zilla::Plugin::Readme v6.012.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/README.md new/Test-Synopsis-0.16/README.md
--- old/Test-Synopsis-0.15/README.md 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/README.md 2019-05-24 17:07:41.000000000 +0200
@@ -165,7 +165,7 @@
# AUTHOR
-Tatsuhiko Miyagawa <miyagawa(a)bulknews.net>
+Tatsuhiko Miyagawa <miyagawa(a)bulknews.net>
Goro Fuji blogged about the original idea at
[http://d.hatena.ne.jp/gfx/20090224/1235449381](http://d.hatena.ne.jp/gfx/20… based on the testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/lib/Test/Synopsis.pm new/Test-Synopsis-0.16/lib/Test/Synopsis.pm
--- old/Test-Synopsis-0.15/lib/Test/Synopsis.pm 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/lib/Test/Synopsis.pm 2019-05-24 17:07:41.000000000 +0200
@@ -4,7 +4,7 @@
use warnings;
use 5.008_001;
-our $VERSION = '0.15'; # VERSION
+our $VERSION = '0.16'; # VERSION
use parent qw( Test::Builder::Module );
our @EXPORT = qw( synopsis_ok all_synopsis_ok );
@@ -168,6 +168,7 @@
=for stopwords Goro blogged Znet Zoffix DOHERTY Doherty
KRYDE Ryde ZOFFIX Gr nauer Grünauer pm HEREDOC HEREDOCs DROLSKY
+ Mengué
=for test_synopsis $main::for_checked=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/t/00-compile.t new/Test-Synopsis-0.16/t/00-compile.t
--- old/Test-Synopsis-0.15/t/00-compile.t 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/t/00-compile.t 2019-05-24 17:07:41.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.054
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.058
use Test::More;
@@ -16,7 +16,9 @@
# no fake home requested
-my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
+my @switches = (
+ -d 'blib' ? '-Mblib' : '-Ilib',
+);
use File::Spec;
use IPC::Open3;
@@ -30,14 +32,18 @@
# see L<perlfaq8/How can I capture STDERR from an external command?>
my $stderr = IO::Handle->new;
- my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
+ diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} }
+ $^X, @switches, '-e', "require q[$lib]"))
+ if $ENV{PERL_COMPILE_TEST_DEBUG};
+
+ my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]");
binmode $stderr, ':crlf' if $^O eq 'MSWin32';
my @_warnings = <$stderr>;
waitpid($pid, 0);
is($?, 0, "$lib loaded ok");
shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/
- and not eval { require blib; blib->VERSION('1.01') };
+ and not eval { +require blib; blib->VERSION('1.01') };
if (@_warnings)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/xt/author/eol.t new/Test-Synopsis-0.16/xt/author/eol.t
--- old/Test-Synopsis-0.15/xt/author/eol.t 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/xt/author/eol.t 2019-05-24 17:07:41.000000000 +0200
@@ -1,7 +1,7 @@
use strict;
use warnings;
-# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.18
+# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.19
use Test::More 0.88;
use Test::EOL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/xt/author/minimum-version.t new/Test-Synopsis-0.16/xt/author/minimum-version.t
--- old/Test-Synopsis-0.15/xt/author/minimum-version.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Synopsis-0.16/xt/author/minimum-version.t 2019-05-24 17:07:41.000000000 +0200
@@ -0,0 +1,6 @@
+use strict;
+use warnings;
+
+use Test::More;
+use Test::MinimumVersion;
+all_minimum_version_ok( qq{5.008008} );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/xt/author/pod-spell.t new/Test-Synopsis-0.16/xt/author/pod-spell.t
--- old/Test-Synopsis-0.15/xt/author/pod-spell.t 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/xt/author/pod-spell.t 2019-05-24 17:07:41.000000000 +0200
@@ -2,42 +2,42 @@
use warnings;
use Test::More;
-# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007000
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007005
use Test::Spelling 0.12;
use Pod::Wordlist;
add_stopwords(<DATA>);
-all_pod_files_spelling_ok( qw( bin lib ) );
+all_pod_files_spelling_ok( qw( bin lib ) );
__DATA__
-Tatsuhiko
-Miyagawa
-miyagawa
+Clement
Dave
-Rolsky
-autarch
+Doherty
+Greg
+Grünauer
Kevin
-Ryde
-kryde
Marcel
-Grünauer
-marcel
+Mengué
Mike
-Doherty
-doherty
+Miyagawa
+Mullane
+Olivier
Patrice
-Clement
-monsieurp
-Greg
+Rolsky
+Ryde
Sabino
-Mullane
-turnstep
-Zoffix
+Synopsis
+Tatsuhiko
+Test
Znet
-zoffix
-Olivier
-Mengué
+Zoffix
+autarch
+doherty
dolmen
+kryde
lib
-Test
-Synopsis
+marcel
+miyagawa
+monsieurp
+turnstep
+zoffix
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/xt/author/portability.t new/Test-Synopsis-0.16/xt/author/portability.t
--- old/Test-Synopsis-0.15/xt/author/portability.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Synopsis-0.16/xt/author/portability.t 2019-05-24 17:07:41.000000000 +0200
@@ -0,0 +1,10 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+eval 'use Test::Portability::Files';
+plan skip_all => 'Test::Portability::Files required for testing portability'
+ if $@;
+
+run_tests();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/xt/author/synopsis.t new/Test-Synopsis-0.16/xt/author/synopsis.t
--- old/Test-Synopsis-0.15/xt/author/synopsis.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Synopsis-0.16/xt/author/synopsis.t 2019-05-24 17:07:41.000000000 +0200
@@ -0,0 +1,5 @@
+#!perl
+
+use Test::Synopsis;
+
+all_synopsis_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/xt/author/test-version.t new/Test-Synopsis-0.16/xt/author/test-version.t
--- old/Test-Synopsis-0.15/xt/author/test-version.t 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/xt/author/test-version.t 2019-05-24 17:07:41.000000000 +0200
@@ -2,7 +2,7 @@
use warnings;
use Test::More;
-# generated by Dist::Zilla::Plugin::Test::Version 1.05
+# generated by Dist::Zilla::Plugin::Test::Version 1.09
use Test::Version;
my @imports = qw( version_all_ok );
@@ -17,7 +17,6 @@
push @imports, $params
if version->parse( $Test::Version::VERSION ) >= version->parse('1.002');
-
Test::Version->import(@imports);
version_all_ok;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/xt/release/cpan-changes.t new/Test-Synopsis-0.16/xt/release/cpan-changes.t
--- old/Test-Synopsis-0.15/xt/release/cpan-changes.t 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/xt/release/cpan-changes.t 2019-05-24 17:07:41.000000000 +0200
@@ -1,11 +1,10 @@
-#!perl
-
use strict;
use warnings;
-use Test::More 0.96 tests => 2;
-use_ok('Test::CPAN::Changes');
+# this test was generated with Dist::Zilla::Plugin::Test::CPAN::Changes 0.012
+
+use Test::More 0.96 tests => 1;
+use Test::CPAN::Changes;
subtest 'changes_ok' => sub {
changes_file_ok('Changes');
};
-done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/xt/release/minimum-version.t new/Test-Synopsis-0.16/xt/release/minimum-version.t
--- old/Test-Synopsis-0.15/xt/release/minimum-version.t 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/xt/release/minimum-version.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-#!perl
-
-use Test::More;
-
-eval "use Test::MinimumVersion";
-plan skip_all => "Test::MinimumVersion required for testing minimum versions"
- if $@;
-all_minimum_version_ok( qq{5.008008} );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/xt/release/portability.t new/Test-Synopsis-0.16/xt/release/portability.t
--- old/Test-Synopsis-0.15/xt/release/portability.t 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/xt/release/portability.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-use Test::More;
-
-eval 'use Test::Portability::Files';
-plan skip_all => 'Test::Portability::Files required for testing portability'
- if $@;
-
-run_tests();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Synopsis-0.15/xt/release/synopsis.t new/Test-Synopsis-0.16/xt/release/synopsis.t
--- old/Test-Synopsis-0.15/xt/release/synopsis.t 2016-03-02 18:49:07.000000000 +0100
+++ new/Test-Synopsis-0.16/xt/release/synopsis.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-#!perl
-
-use Test::Synopsis;
-
-all_synopsis_ok();
1
0
Hello community,
here is the log from the commit of package python-pyacoustid for openSUSE:Factory checked in at 2019-05-27 08:39:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyacoustid (Old)
and /work/SRC/openSUSE:Factory/.python-pyacoustid.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyacoustid"
Mon May 27 08:39:40 2019 rev:3 rq:705407 version:1.1.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyacoustid/python-pyacoustid.changes 2018-12-24 11:41:41.485436196 +0100
+++ /work/SRC/openSUSE:Factory/.python-pyacoustid.new.5148/python-pyacoustid.changes 2019-05-27 08:39:42.699039953 +0200
@@ -1,0 +2,13 @@
+Sat May 25 13:01:58 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.1.7:
+ * Distribute license
+
+-------------------------------------------------------------------
+Sat May 25 09:50:00 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.1.6:
+ * In submission, avoid an error on non-integer durations.
+ A new function, get_submission_status, abstracts the API endpoint for monitoring submissions using the (new) result from the submit function.
+
+-------------------------------------------------------------------
Old:
----
pyacoustid-1.1.5.tar.gz
New:
----
pyacoustid-1.1.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyacoustid.spec ++++++
--- /var/tmp/diff_new_pack.8S2YDC/_old 2019-05-27 08:39:43.227039747 +0200
+++ /var/tmp/diff_new_pack.8S2YDC/_new 2019-05-27 08:39:43.231039746 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pyacoustid
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,22 +18,21 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pyacoustid
-Version: 1.1.5
+Version: 1.1.7
Release: 0
-Summary: bindings for Chromaprint acoustic fingerprinting and the Acoustid API
+Summary: Bindings for Chromaprint acoustic fingerprinting and the Acoustid API
License: MIT
Group: Development/Languages/Python
-Url: https://github.com/sampsyo/pyacoustid
+URL: https://github.com/sampsyo/pyacoustid
Source: https://files.pythonhosted.org/packages/source/p/pyacoustid/pyacoustid-%{ve…
BuildRequires: %{python_module audioread}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-audioread
Requires: python-requests
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
-
%python_subpackages
%description
@@ -52,10 +51,11 @@
%install
%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
%files %{python_files}
-%defattr(-,root,root,-)
%doc README.rst
+%license LICENSE
%{python_sitelib}/*
%changelog
++++++ pyacoustid-1.1.5.tar.gz -> pyacoustid-1.1.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/LICENSE new/pyacoustid-1.1.7/LICENSE
--- old/pyacoustid-1.1.5/LICENSE 1970-01-01 01:00:00.000000000 +0100
+++ new/pyacoustid-1.1.7/LICENSE 2019-05-25 14:44:37.000000000 +0200
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2011-2019 Adrian Sampson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/MANIFEST.in new/pyacoustid-1.1.7/MANIFEST.in
--- old/pyacoustid-1.1.5/MANIFEST.in 2014-03-30 21:37:10.000000000 +0200
+++ new/pyacoustid-1.1.7/MANIFEST.in 2019-05-25 14:44:51.000000000 +0200
@@ -1,5 +1,6 @@
# Documentation.
include README.rst
+include LICENSE
# Example scripts.
include aidmatch.py
include fpcalc.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/PKG-INFO new/pyacoustid-1.1.7/PKG-INFO
--- old/pyacoustid-1.1.5/PKG-INFO 2017-04-08 18:23:35.000000000 +0200
+++ new/pyacoustid-1.1.7/PKG-INFO 2019-05-25 14:47:25.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pyacoustid
-Version: 1.1.5
+Version: 1.1.7
Summary: bindings for Chromaprint acoustic fingerprinting and the Acoustid API
Home-page: https://github.com/sampsyo/pyacoustid
Author: Adrian Sampson
@@ -112,6 +112,14 @@
Version History
---------------
+ 1.1.7
+ Include a LICENSE file.
+
+ 1.1.6
+ In submission, avoid an error on non-integer durations.
+ A new function, `get_submission_status`, abstracts the API endpoint for
+ monitoring submissions using the (new) result from the `submit` function.
+
1.1.5
Fix compatibility with Python 3 in the `submit` function.
Errors in `submit` are now also handled correctly (i.e., they raise an
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/README.rst new/pyacoustid-1.1.7/README.rst
--- old/pyacoustid-1.1.5/README.rst 2016-12-23 16:52:22.000000000 +0100
+++ new/pyacoustid-1.1.7/README.rst 2019-05-25 14:46:32.000000000 +0200
@@ -104,6 +104,14 @@
Version History
---------------
+1.1.7
+ Include a LICENSE file.
+
+1.1.6
+ In submission, avoid an error on non-integer durations.
+ A new function, `get_submission_status`, abstracts the API endpoint for
+ monitoring submissions using the (new) result from the `submit` function.
+
1.1.5
Fix compatibility with Python 3 in the `submit` function.
Errors in `submit` are now also handled correctly (i.e., they raise an
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/acoustid.py new/pyacoustid-1.1.7/acoustid.py
--- old/pyacoustid-1.1.5/acoustid.py 2016-12-23 16:51:22.000000000 +0100
+++ new/pyacoustid-1.1.7/acoustid.py 2018-11-20 22:19:28.000000000 +0100
@@ -39,8 +39,8 @@
API_BASE_URL = 'http://api.acoustid.org/v2/'
DEFAULT_META = 'recordings'
-REQUEST_INTERVAL = 0.33 # 3 requests/second.
-MAX_AUDIO_LENGTH = 120 # Seconds.
+REQUEST_INTERVAL = 0.33 # 3 requests/second.
+MAX_AUDIO_LENGTH = 120 # Seconds.
FPCALC_COMMAND = 'fpcalc'
FPCALC_ENVVAR = 'FPCALC'
@@ -112,6 +112,9 @@
"""Get the URL of the submission API endpoint."""
return API_BASE_URL + 'submit'
+def _get_submission_status_url():
+ """Get the URL of the submission status API endpoint."""
+ return API_BASE_URL + 'submission_status'
# Compressed HTTP request bodies.
@@ -137,7 +140,7 @@
# Utilities.
-class _rate_limit(object):
+class _rate_limit(object): # noqa: N801
"""A decorator that limits the rate at which the function may be
called. The rate is controlled by the REQUEST_INTERVAL module-level
constant; set the value to zero to disable rate limiting. The
@@ -201,10 +204,10 @@
fper = chromaprint.Fingerprinter()
fper.start(samplerate, channels)
- position = 0 # Samples of audio fed to the fingerprinter.
+ position = 0 # Samples of audio fed to the fingerprinter.
for block in pcmiter:
fper.feed(block)
- position += len(block) // 2 # 2 bytes/sample.
+ position += len(block) // 2 # 2 bytes/sample.
if position >= endposition:
break
@@ -351,6 +354,8 @@
If the required keys are not present in a dictionary, a
FingerprintSubmissionError is raised.
+
+ Returns the parsed JSON response.
"""
if isinstance(data, dict):
data = [data]
@@ -366,6 +371,10 @@
for i, d in enumerate(data):
if "duration" not in d or "fingerprint" not in d:
raise FingerprintSubmissionError("missing required parameters")
+
+ # The duration needs to be an integer.
+ d["duration"] = int(d["duration"])
+
for k, v in d.items():
args["%s.%s" % (k, i)] = v
@@ -377,3 +386,16 @@
except KeyError:
raise WebServiceError("response: {0}".format(response))
raise WebServiceError("error {0}: {1}".format(code, message))
+ return response
+
+def get_submission_status(apikey, submission_id):
+ """Get the status of a submission to the acoustid server.
+ ``submission_id`` is the id of a fingerprint submission, as returned
+ in the response object of a call to the ``submit`` endpoint.
+ """
+ params = {
+ 'format': 'json',
+ 'client': apikey,
+ 'id': submission_id,
+ }
+ return _api_request(_get_submission_status_url(), params)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/chromaprint.py new/pyacoustid-1.1.7/chromaprint.py
--- old/pyacoustid-1.1.5/chromaprint.py 2016-10-29 22:28:57.000000000 +0200
+++ new/pyacoustid-1.1.7/chromaprint.py 2018-08-22 15:41:03.000000000 +0200
@@ -11,9 +11,9 @@
if sys.version_info[0] >= 3:
BUFFER_TYPES = (memoryview, bytearray,)
elif sys.version_info[1] >= 7:
- BUFFER_TYPES = (buffer, memoryview, bytearray,)
+ BUFFER_TYPES = (buffer, memoryview, bytearray,) # noqa: F821
else:
- BUFFER_TYPES = (buffer, bytearray,)
+ BUFFER_TYPES = (buffer, bytearray,) # noqa: F821
# Find the base library and declare prototypes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/fpcalc.py new/pyacoustid-1.1.7/fpcalc.py
--- old/pyacoustid-1.1.5/fpcalc.py 2014-03-30 22:22:20.000000000 +0200
+++ new/pyacoustid-1.1.7/fpcalc.py 2018-08-22 15:41:03.000000000 +0200
@@ -21,11 +21,13 @@
from __future__ import absolute_import
from __future__ import print_function
-import sys
import argparse
+import sys
+
import acoustid
import chromaprint
+
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-length', metavar='SECS', type=int, default=120,
@@ -37,7 +39,8 @@
help='audio file to be fingerprinted')
args = parser.parse_args()
- del sys.argv[1:] # to make gst not try to parse the args
+ # make gst not try to parse the args
+ del sys.argv[1:]
first = True
for i, path in enumerate(args.paths):
@@ -57,5 +60,6 @@
print('DURATION=%d' % duration)
print('FINGERPRINT=%s' % fp.decode('utf8'))
+
if __name__ == '__main__':
main()
Binary files old/pyacoustid-1.1.5/pyacoustid.egg-info/.pbr.json.icloud and new/pyacoustid-1.1.7/pyacoustid.egg-info/.pbr.json.icloud differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/pyacoustid.egg-info/PKG-INFO new/pyacoustid-1.1.7/pyacoustid.egg-info/PKG-INFO
--- old/pyacoustid-1.1.5/pyacoustid.egg-info/PKG-INFO 2017-04-08 18:23:35.000000000 +0200
+++ new/pyacoustid-1.1.7/pyacoustid.egg-info/PKG-INFO 2019-05-25 14:47:25.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pyacoustid
-Version: 1.1.5
+Version: 1.1.7
Summary: bindings for Chromaprint acoustic fingerprinting and the Acoustid API
Home-page: https://github.com/sampsyo/pyacoustid
Author: Adrian Sampson
@@ -112,6 +112,14 @@
Version History
---------------
+ 1.1.7
+ Include a LICENSE file.
+
+ 1.1.6
+ In submission, avoid an error on non-integer durations.
+ A new function, `get_submission_status`, abstracts the API endpoint for
+ monitoring submissions using the (new) result from the `submit` function.
+
1.1.5
Fix compatibility with Python 3 in the `submit` function.
Errors in `submit` are now also handled correctly (i.e., they raise an
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/pyacoustid.egg-info/SOURCES.txt new/pyacoustid-1.1.7/pyacoustid.egg-info/SOURCES.txt
--- old/pyacoustid-1.1.5/pyacoustid.egg-info/SOURCES.txt 2017-04-08 18:23:35.000000000 +0200
+++ new/pyacoustid-1.1.7/pyacoustid.egg-info/SOURCES.txt 2019-05-25 14:47:25.000000000 +0200
@@ -1,3 +1,4 @@
+LICENSE
MANIFEST.in
README.rst
acoustid.py
@@ -5,9 +6,9 @@
chromaprint.py
fpcalc.py
setup.py
+pyacoustid.egg-info/.pbr.json.icloud
pyacoustid.egg-info/PKG-INFO
pyacoustid.egg-info/SOURCES.txt
pyacoustid.egg-info/dependency_links.txt
-pyacoustid.egg-info/pbr.json
pyacoustid.egg-info/requires.txt
pyacoustid.egg-info/top_level.txt
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/pyacoustid.egg-info/pbr.json new/pyacoustid-1.1.7/pyacoustid.egg-info/pbr.json
--- old/pyacoustid-1.1.5/pyacoustid.egg-info/pbr.json 2017-04-08 18:23:35.000000000 +0200
+++ new/pyacoustid-1.1.7/pyacoustid.egg-info/pbr.json 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"is_release": false, "git_version": "0d56b1d"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/setup.cfg new/pyacoustid-1.1.7/setup.cfg
--- old/pyacoustid-1.1.5/setup.cfg 2017-04-08 18:23:35.000000000 +0200
+++ new/pyacoustid-1.1.7/setup.cfg 2019-05-25 14:47:25.000000000 +0200
@@ -1,5 +1,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyacoustid-1.1.5/setup.py new/pyacoustid-1.1.7/setup.py
--- old/pyacoustid-1.1.5/setup.py 2016-12-23 16:45:18.000000000 +0100
+++ new/pyacoustid-1.1.7/setup.py 2019-05-25 14:46:06.000000000 +0200
@@ -31,10 +31,9 @@
setup(name='pyacoustid',
- version='1.1.5',
- description=
- 'bindings for Chromaprint acoustic fingerprinting and the '
- 'Acoustid API',
+ version='1.1.7',
+ description=('bindings for Chromaprint acoustic fingerprinting and the '
+ 'Acoustid API'),
author='Adrian Sampson',
author_email='adrian(a)radbox.org',
url='https://github.com/sampsyo/pyacoustid',
@@ -42,7 +41,7 @@
platforms='ALL',
long_description=_read('README.rst'),
- install_requires = ['audioread', 'requests'],
+ install_requires=['audioread', 'requests'],
py_modules=[
'chromaprint',
@@ -55,4 +54,4 @@
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 3',
],
-)
+ )
1
0
Hello community,
here is the log from the commit of package python-pyannotate for openSUSE:Factory checked in at 2019-05-27 08:39:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyannotate (Old)
and /work/SRC/openSUSE:Factory/.python-pyannotate.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyannotate"
Mon May 27 08:39:36 2019 rev:4 rq:705396 version:1.0.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyannotate/python-pyannotate.changes 2018-12-24 11:41:43.349434544 +0100
+++ /work/SRC/openSUSE:Factory/.python-pyannotate.new.5148/python-pyannotate.changes 2019-05-27 08:39:40.283040895 +0200
@@ -1,0 +2,7 @@
+Sat May 25 09:48:22 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.0.7:
+ * No upstream changelog
+- Run testsuite
+
+-------------------------------------------------------------------
Old:
----
pyannotate-1.0.5.tar.gz
New:
----
v1.0.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyannotate.spec ++++++
--- /var/tmp/diff_new_pack.v7N8Kv/_old 2019-05-27 08:39:41.051040595 +0200
+++ /var/tmp/diff_new_pack.v7N8Kv/_new 2019-05-27 08:39:41.059040592 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pyannotate
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,33 +16,29 @@
#
-%if %python3_version_nodots < 34
-%define skip_python3 1
-%endif
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pyannotate
-Version: 1.0.5
+Version: 1.0.7
Release: 0
Summary: PyAnnotate: Auto-generate PEP-484 annotations
License: Apache-2.0
Group: Development/Languages/Python
-Url: https://github.com/dropbox/pyannotate
-Source: https://files.pythonhosted.org/packages/source/p/pyannotate/pyannotate-%{ve…
+URL: https://github.com/dropbox/pyannotate
+Source: https://github.com/dropbox/pyannotate/archive/v%{version}.tar.gz
BuildRequires: %{python_module setuptools >= 28.8.0}
+BuildRequires: fdupes
BuildRequires: python-rpm-macros
+Requires: python-mypy_extensions
+Requires: python-six >= 1.11.0
+Requires: python-typing
+BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module mypy_extensions}
BuildRequires: %{python_module pytest => 3.3.0}
BuildRequires: %{python_module six >= 1.11.0}
+BuildRequires: %{python_module typing}
+BuildRequires: python3-testsuite
# /SECTION
-BuildRequires: fdupes
-Requires: python-mypy_extensions
-Requires: python-six >= 1.11.0
-%if %python_version_nodots < 35
-Requires: python-typing >= 3.5.3
-%endif
-BuildArch: noarch
-
%python_subpackages
%description
@@ -59,6 +55,9 @@
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%check
+%pytest
+
%files %{python_files}
%doc README.md example/
%license LICENSE
1
0
Hello community,
here is the log from the commit of package python-pyelftools for openSUSE:Factory checked in at 2019-05-27 08:39:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyelftools (Old)
and /work/SRC/openSUSE:Factory/.python-pyelftools.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyelftools"
Mon May 27 08:39:30 2019 rev:2 rq:705394 version:0.25
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyelftools/python-pyelftools.changes 2018-05-19 15:44:09.930897453 +0200
+++ /work/SRC/openSUSE:Factory/.python-pyelftools.new.5148/python-pyelftools.changes 2019-05-27 08:39:39.319041271 +0200
@@ -1,0 +2,20 @@
+Sat May 25 09:32:46 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.25:
+ - Make parsing of SH_TYPE and PT_TYPE fields dependent on the machine
+ (e_machine header field), making it possible to support conflicting type
+ enums between different machines (#71 and #121).
+ - Add parsing and readelf dumping for .eh_frame (#155)
+ - Support compressed sections (#152)
+ - Better support for parsing core dumps (#147)
+ - More comprehensive handling of ARM relocations (#121)
+ - Convert all ascii encoding to utf-8 encoding (#182)
+ - Don't attempt to hex/string dump SHT_NOBITS sections in readelf (#119).
+ - Test with Python 3.6
+ - Minor bugfixes (#118)
+ - Cleanup: Use argparse instead of optparse
+ - Make readelf comparison tests run in parallel using multiprocessing; cuts
+ testing time 3-5x
+ - Improvements in MIPS flags handling (#165)
+
+-------------------------------------------------------------------
Old:
----
pyelftools-0.24.tar.gz
New:
----
pyelftools-0.25.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyelftools.spec ++++++
--- /var/tmp/diff_new_pack.DTfkwi/_old 2019-05-27 08:39:39.903041043 +0200
+++ /var/tmp/diff_new_pack.DTfkwi/_new 2019-05-27 08:39:39.903041043 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pyelftools
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,23 +12,23 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pyelftools
-Version: 0.24
+Version: 0.25
Release: 0
-License: SUSE-Public-Domain
Summary: Library for analyzing ELF files and DWARF debugging information
-Url: https://github.com/eliben/pyelftools
+License: SUSE-Public-Domain
Group: Development/Languages/Python
+URL: https://github.com/eliben/pyelftools
Source: https://files.pythonhosted.org/packages/source/p/pyelftools/pyelftools-%{ve…
-BuildRequires: python-rpm-macros
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
+BuildRequires: python-rpm-macros
BuildArch: noarch
-
%python_subpackages
%description
@@ -43,6 +43,7 @@
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+
%check
%python_exec test/run_all_unittests.py
%python_exec test/run_examples_test.py
++++++ pyelftools-0.24.tar.gz -> pyelftools-0.25.tar.gz ++++++
++++ 5901 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-pyftpdlib for openSUSE:Factory checked in at 2019-05-27 08:39:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyftpdlib (Old)
and /work/SRC/openSUSE:Factory/.python-pyftpdlib.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyftpdlib"
Mon May 27 08:39:27 2019 rev:7 rq:705393 version:1.5.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyftpdlib/python-pyftpdlib.changes 2018-12-24 11:41:53.661425399 +0100
+++ /work/SRC/openSUSE:Factory/.python-pyftpdlib.new.5148/python-pyftpdlib.changes 2019-05-27 08:39:37.899041824 +0200
@@ -1,0 +2,6 @@
+Sat May 25 09:29:17 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.5.5:
+ * Various minor fixes and documentation updates
+
+-------------------------------------------------------------------
Old:
----
pyftpdlib-1.5.4.tar.gz
New:
----
pyftpdlib-1.5.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyftpdlib.spec ++++++
--- /var/tmp/diff_new_pack.TyQtXK/_old 2019-05-27 08:39:38.707041509 +0200
+++ /var/tmp/diff_new_pack.TyQtXK/_new 2019-05-27 08:39:38.711041508 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pyftpdlib
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2016 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
@@ -21,7 +21,7 @@
# Tests randomly fail: https://github.com/giampaolo/pyftpdlib/issues/386
%bcond_with test
Name: python-pyftpdlib
-Version: 1.5.4
+Version: 1.5.5
Release: 0
Summary: Asynchronous FTP server library for Python
License: MIT
@@ -57,7 +57,8 @@
%install
%python_install
-%python_expand %fdupes -s %{buildroot}%{$python_sitelib}
+%python_expand rm -r %{buildroot}%{$python_sitelib}/pyftpdlib/test
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
%if %{with test}
%check
++++++ pyftpdlib-1.5.4.tar.gz -> pyftpdlib-1.5.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/CREDITS new/pyftpdlib-1.5.5/CREDITS
--- old/pyftpdlib-1.5.4/CREDITS 2017-12-30 09:44:57.000000000 +0100
+++ new/pyftpdlib-1.5.5/CREDITS 2019-03-27 17:31:43.000000000 +0100
@@ -48,6 +48,12 @@
D: Inclusion of pyftpdlib in Far Manager, a file and archive manager for Windows
http://www.farmanager.com/enforum/viewtopic.php?t=640&highlight=&sid=12d4d9….
+N: Andrew Shulgin
+C: Ukraine
+E: andrewshulginua(a)gmail.com
+D: Fixing CR duplication in ASCII mode downloads.
+ https://github.com/giampaolo/pyftpdlib/pull/492
+
N: Arkadiusz Wahlig
C: Germany
W: http://arkadiusz-wahlig.blogspot.com
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/HISTORY.rst new/pyftpdlib-1.5.5/HISTORY.rst
--- old/pyftpdlib-1.5.4/HISTORY.rst 2018-05-04 23:04:49.000000000 +0200
+++ new/pyftpdlib-1.5.5/HISTORY.rst 2019-04-04 11:10:16.000000000 +0200
@@ -1,5 +1,17 @@
Bug tracker at https://github.com/giampaolo/pyftpdlib/issues
+Version: 1.5.5 - 2019-04-04
+===========================
+
+**Enhancements**
+
+- #495: colored test output.
+
+**Bug fixes**
+
+- #492: CRLF line endings are replaced with CRCRLF in ASCII mode downloads.
+- #496: import error due to multiprocessing.Lock() bug.
+
Version: 1.5.4 - 2018-05-04
===========================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/Makefile new/pyftpdlib-1.5.5/Makefile
--- old/pyftpdlib-1.5.4/Makefile 2018-04-27 08:26:44.000000000 +0200
+++ new/pyftpdlib-1.5.5/Makefile 2019-03-27 17:32:12.000000000 +0100
@@ -2,7 +2,7 @@
# To use a specific Python version run:
# $ make install PYTHON=python3.3
-PYTHON = python
+PYTHON = python3
TSCRIPT = pyftpdlib/test/runner.py
ARGS =
DEV_DEPS = \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/PKG-INFO new/pyftpdlib-1.5.5/PKG-INFO
--- old/pyftpdlib-1.5.4/PKG-INFO 2018-05-04 23:06:51.000000000 +0200
+++ new/pyftpdlib-1.5.5/PKG-INFO 2019-04-04 11:11:03.000000000 +0200
@@ -1,12 +1,16 @@
Metadata-Version: 2.1
Name: pyftpdlib
-Version: 1.5.4
+Version: 1.5.5
Summary: Very fast asynchronous FTP server library
Home-page: https://github.com/giampaolo/pyftpdlib/
Author: Giampaolo Rodola'
Author-email: g.rodola(a)gmail.com
License: MIT
-Description: .. image:: https://img.shields.io/travis/giampaolo/pyftpdlib/master.svg?maxAge=3600&la…
+Description: .. image:: http://pepy.tech/badge/pyftpdlib
+ :target: http://pepy.tech/project/pyftpdlib
+ :alt: Downloads
+
+ .. image:: https://img.shields.io/travis/giampaolo/pyftpdlib/master.svg?maxAge=3600&la…
:target: https://travis-ci.org/giampaolo/pyftpdlib
:alt: Linux tests (Travis)
@@ -194,67 +198,6 @@
software to the
`adoptions list <http://pyftpdlib.readthedocs.io/en/latest/adoptions.html>`__.
- Timeline
- ========
-
- - 2018-05-04: version `1.5.4 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.4.tar.gz>`__ released.
- - 2017-11-04: version `1.5.3 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.3.tar.gz>`__ released.
- - 2017-04-06: version `1.5.2 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.2.tar.gz>`__ released.
- - 2016-05-02: version `1.5.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.1.tar.gz>`__ released.
- - 2015-12-13: version `1.5.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.0.tar.gz>`__ released.
- - 2014-06-03: version `1.4.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.4.0.tar.gz>`__ released.
- - 2014-04-12: version `1.3.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.3.1.tar.gz>`__ released.
- - 2013-11-07: version `1.3.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.3.0.tar.gz>`__ released.
- - 2013-04-22: version `1.2.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.2.0.tar.gz>`__ released.
- - 2013-04-09: version `1.1.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.1.0.tar.gz>`__ released.
- - 2013-02-22: version `1.0.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.0.1.tar.gz>`__ released.
- - 2013-02-19: version `1.0.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.0.0.tar.gz>`__ released.
- - 2012-05-14: pyftpdlib included in `ftp-cloudfs <https://github.com/chmouel/ftp-cloudfs/>`__ project.
- - 2012-01-25: version `0.7.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.7.0.tar.gz>`__ released.
- - 2011-12-01: pyftpdlib included in `feitp-server <http://code.google.com/p/feitp-server/>`__ project.
- - 2011-09-26: pyftpdlib included in `ftpmaster <https://github.com/MarkLIC/ftpmaster>`__ project.
- - 2011-07-09: pyftpdlib included in `bftpd <http://bftpd.sourceforge.net/>`__ project.
- - 2011-07-09: pyftpdlib included in `fastersync <http://code.google.com/p/fastersync/>`__ project.
- - 2011-01-31: pyftpdlib included in `put.io FTP connector project <http://code.google.com/p/pyftpdlib/wiki/Adoptions?ts=1296442469&updated=Ado…>`__.
- - 2011-01-24: version `0.6.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.6.0.tar.gz>`__ released.
- - 2010-12-14: added `donations <http://code.google.com/p/pyftpdlib/wiki/Donate>`__.
- - 2010-08-24: pyftpdlib included in `peerscape <http://www.peerscape.org/>`__ project.
- - 2010-07-15: pyftpdlib included in `Faetus <http://tomatohater.com/faetus/>`__ project.
- - 2010-07-11: pyftpdlib included in `Pyfilesystem <http://code.google.com/p/pyfilesystem>`__ project.
- - 2010-06-28: pyftpdlib has been `packaged for Debian <http://packages.debian.org/sid/python-pyftpdlib>`__
- - 2010-04-28: pyftpdlib included in `sierramodulepos <http://forge.openbravo.com/plugins/mwiki/index.php/MobilePOS>`__ project.
- - 2010-03-20: `http://www.smartfile.com <http://www.smartfile.com>`__ uses pyftpdlib.
- - 2010-01-13: pyftpdlib included in `zenftp <http://code.irondojo.com/>`__ project.
- - 2009-12-26: pyftpdlib included in `Symbian Python FTP server <http://code.google.com/p/sypftp>`__ project.
- - 2009-11-04: `www.netplay.it <http://www.netplay.it>`__ uses pyftpdlib.
- - 2009-11-04: `www.adcast.tv <http://www.adcast.tv>`__ uses pyftpdlib.
- - 2009-11-04: `www.bitsontherun.com <http://www.bitsontherun.com>`__ uses pyftpdlib.
- - 2009-11-02: pyftpdlib included in `ftp-cloudfs <http://github.com/chmouel/ftp-cloudfs>`__ project.
- - 2009-09-14: version `0.5.2 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.5.2.tar.gz>`__ released.
- - 2009-08-10: pyftpdlib included in `Imgserve <http://github.com/wuzhe/imgserve/tree/master>`__ project.
- - 2009-07-22: pyftpdlib included in `Plumi <http://plumi.org/wiki>`__ project.
- - 2009-04-02: pyftpdlib RPM-packaged and ported on `Fedora <https://admin.fedoraproject.org/pkgdb/packages/name/pyftpdlib>`__ to make users can easily install on it via *yum install pyftpdlib*.
- - 2009-03-28: pyftpdlib included in `Bazaar <http://bazaar-vcs.org/>`__ project.
- - 2009-02-23: pyftpdlib included in `ShareFTP <http://git.logfish.net/shareftp.git/>`__ project.
- - 2009-01-21: version `0.5.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.5.1.tar.gz>`__ released.
- - 2008-12-27: pyftpdlib included in `Google Chromium <http://code.google.com/intl/it-IT/chromium/>`__, the open source project behind `Google Chrome <http://www.google.com/chrome>`__.
- - 2008-12-27: pyftpdlib ported on `GNU Darwin <http://www.gnu-darwin.org/>`__ systems to make users can easily install on it.
- - 2008-11-26: pyftpdlib included in `OpenERP <http://openerp.com>`__.
- - 2008-10-26: pyftpdlib included in `Python for OpenVMS <http://www.vmspython.org/>`__ as standard package.
- - 2008-10-09: pyftpdlib included in `Shareme <http://bbs.archlinux.org/viewtopic.php?pid=431474>`__ project.
- - 2008-09-20: version `0.5.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.5.0.tar.gz>`__ released.
- - 2008-08-10: pyftpdlib included in `Manent <http://trac.manent-backup.com/>`__ project.
- - 2008-05-16: version `0.4.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.4.0.tar.gz>`__ released.
- - 2008-04-09: pyftpdlib used as backend for `gpftpd <http://arkadiusz-wahlig.blogspot.com/2008/04/hosting-files-on-google.html>`__, an FTP server for managing files hosted on `Google Pages <http://-ages.google.com>`__.
- - 2008-01-17: version `0.3.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.3.0.tar.gz>`__ released.
- - 2007-10-14: pyftpdlib included in `Aksy <http://walco.n--tree.net/projects/aksy/wiki>`__ project.
- - 2007-09-17: version `0.2.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.2.0.tar.gz>`__ released.
- - 2007-09-08: pyftpdlib included as `FarManager <http://farmanager.com/>`__ `plug-in <http://www.farmanager.com/enforum/viewtopic.php?t=640&highlight=&sid=12d4d9…>`__.
- - 2007-03-06: pyftpdlib `ported on FreeBSD <http://www.freshports.org/ftp/py-pyftpdlib/>`__ systems to make users can easily install on it.
- - 2007-03-07: version `0.1.1 <http://pyftpdlib.googlecode.com/files/pyftpdlib*0.1.1.tar.gz>`__ released.
- - 2007-02-26: version `0.1.0 <http://pyftpdlib.googlecode.com/files/pyftpdlib*0.1.tar.gz>`__ released.
- - 2006-09-26: initial clunky thread-based progenitor `link <http://billiejoex.altervista.org/Prj_pftpd.htm>`__.
-
Trademarks
==========
@@ -299,5 +242,4 @@
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
-Provides-Extra: sendfile
Provides-Extra: ssl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/README.rst new/pyftpdlib-1.5.5/README.rst
--- old/pyftpdlib-1.5.4/README.rst 2018-05-04 23:06:31.000000000 +0200
+++ new/pyftpdlib-1.5.5/README.rst 2019-04-04 11:10:51.000000000 +0200
@@ -1,3 +1,7 @@
+.. image:: http://pepy.tech/badge/pyftpdlib
+ :target: http://pepy.tech/project/pyftpdlib
+ :alt: Downloads
+
.. image:: https://img.shields.io/travis/giampaolo/pyftpdlib/master.svg?maxAge=3600&la…
:target: https://travis-ci.org/giampaolo/pyftpdlib
:alt: Linux tests (Travis)
@@ -186,67 +190,6 @@
software to the
`adoptions list <http://pyftpdlib.readthedocs.io/en/latest/adoptions.html>`__.
-Timeline
-========
-
-- 2018-05-04: version `1.5.4 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.4.tar.gz>`__ released.
-- 2017-11-04: version `1.5.3 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.3.tar.gz>`__ released.
-- 2017-04-06: version `1.5.2 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.2.tar.gz>`__ released.
-- 2016-05-02: version `1.5.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.1.tar.gz>`__ released.
-- 2015-12-13: version `1.5.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.0.tar.gz>`__ released.
-- 2014-06-03: version `1.4.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.4.0.tar.gz>`__ released.
-- 2014-04-12: version `1.3.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.3.1.tar.gz>`__ released.
-- 2013-11-07: version `1.3.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.3.0.tar.gz>`__ released.
-- 2013-04-22: version `1.2.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.2.0.tar.gz>`__ released.
-- 2013-04-09: version `1.1.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.1.0.tar.gz>`__ released.
-- 2013-02-22: version `1.0.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.0.1.tar.gz>`__ released.
-- 2013-02-19: version `1.0.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.0.0.tar.gz>`__ released.
-- 2012-05-14: pyftpdlib included in `ftp-cloudfs <https://github.com/chmouel/ftp-cloudfs/>`__ project.
-- 2012-01-25: version `0.7.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.7.0.tar.gz>`__ released.
-- 2011-12-01: pyftpdlib included in `feitp-server <http://code.google.com/p/feitp-server/>`__ project.
-- 2011-09-26: pyftpdlib included in `ftpmaster <https://github.com/MarkLIC/ftpmaster>`__ project.
-- 2011-07-09: pyftpdlib included in `bftpd <http://bftpd.sourceforge.net/>`__ project.
-- 2011-07-09: pyftpdlib included in `fastersync <http://code.google.com/p/fastersync/>`__ project.
-- 2011-01-31: pyftpdlib included in `put.io FTP connector project <http://code.google.com/p/pyftpdlib/wiki/Adoptions?ts=1296442469&updated=Ado…>`__.
-- 2011-01-24: version `0.6.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.6.0.tar.gz>`__ released.
-- 2010-12-14: added `donations <http://code.google.com/p/pyftpdlib/wiki/Donate>`__.
-- 2010-08-24: pyftpdlib included in `peerscape <http://www.peerscape.org/>`__ project.
-- 2010-07-15: pyftpdlib included in `Faetus <http://tomatohater.com/faetus/>`__ project.
-- 2010-07-11: pyftpdlib included in `Pyfilesystem <http://code.google.com/p/pyfilesystem>`__ project.
-- 2010-06-28: pyftpdlib has been `packaged for Debian <http://packages.debian.org/sid/python-pyftpdlib>`__
-- 2010-04-28: pyftpdlib included in `sierramodulepos <http://forge.openbravo.com/plugins/mwiki/index.php/MobilePOS>`__ project.
-- 2010-03-20: `http://www.smartfile.com <http://www.smartfile.com>`__ uses pyftpdlib.
-- 2010-01-13: pyftpdlib included in `zenftp <http://code.irondojo.com/>`__ project.
-- 2009-12-26: pyftpdlib included in `Symbian Python FTP server <http://code.google.com/p/sypftp>`__ project.
-- 2009-11-04: `www.netplay.it <http://www.netplay.it>`__ uses pyftpdlib.
-- 2009-11-04: `www.adcast.tv <http://www.adcast.tv>`__ uses pyftpdlib.
-- 2009-11-04: `www.bitsontherun.com <http://www.bitsontherun.com>`__ uses pyftpdlib.
-- 2009-11-02: pyftpdlib included in `ftp-cloudfs <http://github.com/chmouel/ftp-cloudfs>`__ project.
-- 2009-09-14: version `0.5.2 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.5.2.tar.gz>`__ released.
-- 2009-08-10: pyftpdlib included in `Imgserve <http://github.com/wuzhe/imgserve/tree/master>`__ project.
-- 2009-07-22: pyftpdlib included in `Plumi <http://plumi.org/wiki>`__ project.
-- 2009-04-02: pyftpdlib RPM-packaged and ported on `Fedora <https://admin.fedoraproject.org/pkgdb/packages/name/pyftpdlib>`__ to make users can easily install on it via *yum install pyftpdlib*.
-- 2009-03-28: pyftpdlib included in `Bazaar <http://bazaar-vcs.org/>`__ project.
-- 2009-02-23: pyftpdlib included in `ShareFTP <http://git.logfish.net/shareftp.git/>`__ project.
-- 2009-01-21: version `0.5.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.5.1.tar.gz>`__ released.
-- 2008-12-27: pyftpdlib included in `Google Chromium <http://code.google.com/intl/it-IT/chromium/>`__, the open source project behind `Google Chrome <http://www.google.com/chrome>`__.
-- 2008-12-27: pyftpdlib ported on `GNU Darwin <http://www.gnu-darwin.org/>`__ systems to make users can easily install on it.
-- 2008-11-26: pyftpdlib included in `OpenERP <http://openerp.com>`__.
-- 2008-10-26: pyftpdlib included in `Python for OpenVMS <http://www.vmspython.org/>`__ as standard package.
-- 2008-10-09: pyftpdlib included in `Shareme <http://bbs.archlinux.org/viewtopic.php?pid=431474>`__ project.
-- 2008-09-20: version `0.5.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.5.0.tar.gz>`__ released.
-- 2008-08-10: pyftpdlib included in `Manent <http://trac.manent-backup.com/>`__ project.
-- 2008-05-16: version `0.4.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.4.0.tar.gz>`__ released.
-- 2008-04-09: pyftpdlib used as backend for `gpftpd <http://arkadiusz-wahlig.blogspot.com/2008/04/hosting-files-on-google.html>`__, an FTP server for managing files hosted on `Google Pages <http://-ages.google.com>`__.
-- 2008-01-17: version `0.3.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.3.0.tar.gz>`__ released.
-- 2007-10-14: pyftpdlib included in `Aksy <http://walco.n--tree.net/projects/aksy/wiki>`__ project.
-- 2007-09-17: version `0.2.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.2.0.tar.gz>`__ released.
-- 2007-09-08: pyftpdlib included as `FarManager <http://farmanager.com/>`__ `plug-in <http://www.farmanager.com/enforum/viewtopic.php?t=640&highlight=&sid=12d4d9…>`__.
-- 2007-03-06: pyftpdlib `ported on FreeBSD <http://www.freshports.org/ftp/py-pyftpdlib/>`__ systems to make users can easily install on it.
-- 2007-03-07: version `0.1.1 <http://pyftpdlib.googlecode.com/files/pyftpdlib*0.1.1.tar.gz>`__ released.
-- 2007-02-26: version `0.1.0 <http://pyftpdlib.googlecode.com/files/pyftpdlib*0.1.tar.gz>`__ released.
-- 2006-09-26: initial clunky thread-based progenitor `link <http://billiejoex.altervista.org/Prj_pftpd.htm>`__.
-
Trademarks
==========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/docs/api.rst new/pyftpdlib-1.5.5/docs/api.rst
--- old/pyftpdlib-1.5.4/docs/api.rst 2018-04-27 16:47:07.000000000 +0200
+++ new/pyftpdlib-1.5.5/docs/api.rst 2018-05-15 17:45:22.000000000 +0200
@@ -390,12 +390,13 @@
.. method:: close()
Stop accepting connections without disconnecting currently connected
- clients.
+ clients. :meth:`server_forever` loop will automatically stop when there are
+ no more connected clients.
.. method:: close_all()
- Tell :meth:`server_forever` loop to stop and wait until it does.
- Also all connected clients will be closed.
+ Disconnect all clients, tell :meth:`server_forever` loop to stop and wait
+ until it does.
*Changed in version 1.0.0: 'map' and 'ignore_all' parameters were removed.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/docs/benchmarks.rst new/pyftpdlib-1.5.5/docs/benchmarks.rst
--- old/pyftpdlib-1.5.4/docs/benchmarks.rst 2017-12-30 09:44:57.000000000 +0100
+++ new/pyftpdlib-1.5.5/docs/benchmarks.rst 2019-03-27 17:31:43.000000000 +0100
@@ -77,8 +77,8 @@
By using *sendfile()* (Twisted *does not* support sendfile()):
+-----------------------------------------+----------------+----------------+-------------+
-| *benchmark type* | *pyftpdlib* | *twisted* | *speedup* |
-+=========================================+=================+================+============+
+| *benchmark type* | *pyftpdlib* | *twisted* | *speedup* |
++=========================================+================+================+=============+
| STOR (client -> server) | 585.90 MB/sec | 496.44 MB/sec | **+0.01x** |
+-----------------------------------------+----------------+----------------+-------------+
| RETR (server -> client) | 1652.72 MB/sec | 283.24 MB/sec | **+4.8x** |
@@ -99,7 +99,7 @@
By using plain *send()*:
+-----------------------------------------+----------------+---------------+--------------+
-| *benchmark type* |tpdlib* | *twisted* | *speedup* |
+| *benchmark type* | *tpdlib* | *twisted* | *speedup* |
+=========================================+================+===============+==============+
| RETR (server -> client) | 894.29 MB/sec | 283.24 MB/sec | **+2.1x** |
+-----------------------------------------+----------------+---------------+--------------+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/make.bat new/pyftpdlib-1.5.5/make.bat
--- old/pyftpdlib-1.5.4/make.bat 2017-12-30 09:44:57.000000000 +0100
+++ new/pyftpdlib-1.5.5/make.bat 2019-03-27 21:33:09.000000000 +0100
@@ -2,99 +2,36 @@
rem ==========================================================================
rem Shortcuts for various tasks, emulating UNIX "make" on Windows.
-rem It is primarly intended as a shortcut for installing pyftpdlib and running
-rem tests (just run "make.bat test").
+rem It is primarly intended as a shortcut for compiling / installing
+rem psutil ("make.bat build", "make.bat install") and running tests
+rem ("make.bat test").
+rem
+rem This script is modeled after my Windows installation which uses:
+rem - Visual studio 2008 for Python 2.6, 2.7
+rem - Visual studio 2010 for Python 3.4+
+rem ...therefore it might not work on your Windows installation.
+rem
rem By default C:\Python27\python.exe is used.
-rem To use another Python version run:
-rem set PYTHON=C:\Python24\python.exe & make.bat test
+rem To compile for a specific Python version run:
+rem set PYTHON=C:\Python34\python.exe & make.bat build
+rem
+rem To use a different test script:
+rem set PYTHON=C:\Python34\python.exe & set TSCRIPT=foo.py & make.bat test
rem ==========================================================================
-
if "%PYTHON%" == "" (
- set PYTHON=C:\Python27\python.exe
-)
-if "%TSCRIPT%" == "" (
- set TSCRIPT=pyftpdlib\test\runner.py
-)
-
-
-if "%1" == "help" (
- :help
- echo Run `make ^<target^>` where ^<target^> is one of:
- echo clean clean build files
- echo install compile and install
- echo uninstall uninstall
- echo test run tests
- echo setup-dev-env install all deps
- goto :eof
-)
-
-if "%1" == "clean" (
- :clean
- for /r %%R in (__pycache__) do if exist %%R (rmdir /S /Q %%R)
- for /r %%R in (*.pyc) do if exist %%R (del /s %%R)
- for /r %%R in (*.pyd) do if exist %%R (del /s %%R)
- for /r %%R in (*.orig) do if exist %%R (del /s %%R)
- for /r %%R in (*.bak) do if exist %%R (del /s %%R)
- for /r %%R in (*.rej) do if exist %%R (del /s %%R)
- if exist pyftpdlib.egg-info (rmdir /S /Q pyftpdlib.egg-info)
- if exist build (rmdir /S /Q build)
- if exist dist (rmdir /S /Q dist)
- goto :eof
-)
-
-if "%1" == "install" (
- :install
- if %PYTHON%==C:\Python24\python.exe (
- %PYTHON% setup.py build -c mingw32 install
- ) else if %PYTHON%==C:\Python25\python.exe (
- %PYTHON% setup.py build -c mingw32 install
+ if exist "C:\Python37\python.exe" (
+ set PYTHON=C:\Python37\python.exe
) else (
- %PYTHON% setup.py build install
+ set PYTHON=C:\Python27\python.exe
)
- goto :eof
-)
-
-if "%1" == "uninstall" (
- :uninstall
- rmdir /S /Q %PYTHON%\Lib\site-packages\pyftpdlib*
- goto :eof
-)
-
-if "%1" == "test" (
- :test
- call :install
- %PYTHON% %TSCRIPT%
- goto :eof
)
-if "%1" == "setup-dev-env" (
- :setup-env
- if not exist get-pip.py (
- @echo ------------------------------------------------
- @echo downloading pip installer
- @echo ------------------------------------------------
- C:\python27\python.exe -c "import urllib2; r = urllib2.urlopen('https://bootstrap.pypa.io/get-pip.py'); open('get-pip.py', 'wb').write(r.read())"
- )
- @echo ------------------------------------------------
- @echo installing pip for %PYTHON%
- @echo ------------------------------------------------
- %PYTHON% get-pip.py
- @echo ------------------------------------------------
- @echo upgrade pip for %PYTHON%
- @echo ------------------------------------------------
- %PYTHON% -m pip install pip --upgrade
- @echo ------------------------------------------------
- @echo installing deps
- @echo ------------------------------------------------
- rem mandatory / for unittests
- %PYTHON% -m pip install unittest2 ipaddress mock wmi pypiwin32 pyopenssl --upgrade
- goto :eof
+if "%TSCRIPT%" == "" (
+ set TSCRIPT=psutil\tests\__main__.py
)
+rem Needed to locate the .pypirc file and upload exes on PyPI.
+set HOME=%USERPROFILE%
-goto :help
-
-:error
- echo last command returned an error; exiting
- exit /b %errorlevel%
+%PYTHON% scripts\winmake.py %1 %2 %3 %4 %5 %6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib/__init__.py new/pyftpdlib-1.5.5/pyftpdlib/__init__.py
--- old/pyftpdlib-1.5.4/pyftpdlib/__init__.py 2017-12-30 09:44:57.000000000 +0100
+++ new/pyftpdlib-1.5.5/pyftpdlib/__init__.py 2019-03-27 21:53:41.000000000 +0100
@@ -68,6 +68,6 @@
"""
-__ver__ = '1.5.4'
+__ver__ = '1.5.5'
__author__ = "Giampaolo Rodola' <g.rodola(a)gmail.com>"
__web__ = 'https://github.com/giampaolo/pyftpdlib/'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib/filesystems.py new/pyftpdlib-1.5.5/pyftpdlib/filesystems.py
--- old/pyftpdlib-1.5.4/pyftpdlib/filesystems.py 2017-12-30 09:44:57.000000000 +0100
+++ new/pyftpdlib-1.5.5/pyftpdlib/filesystems.py 2018-08-29 12:40:33.000000000 +0200
@@ -237,11 +237,13 @@
# --- Wrapper methods around os.* calls
def chdir(self, path):
- """Change the current directory."""
+ """Change the current directory. If this method is overridden
+ it is vital that `cwd` attribute gets set.
+ """
# note: process cwd will be reset by the caller
assert isinstance(path, unicode), path
os.chdir(path)
- self._cwd = self.fs2ftp(path)
+ self.cwd = self.fs2ftp(path)
def mkdir(self, path):
"""Create the specified directory."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib/handlers.py new/pyftpdlib-1.5.5/pyftpdlib/handlers.py
--- old/pyftpdlib-1.5.4/pyftpdlib/handlers.py 2017-12-30 09:44:57.000000000 +0100
+++ new/pyftpdlib-1.5.5/pyftpdlib/handlers.py 2019-04-04 01:41:30.000000000 +0200
@@ -54,6 +54,8 @@
from .log import debug
from .log import logger
+CR_BYTE = ord('\r')
+
def _import_sendfile():
# By default attempt to use os.sendfile introduced in Python 3.3:
@@ -1028,11 +1030,32 @@
"""
self.file = file
self.type = type
+ self._prev_chunk_endswith_cr = False
if type == 'a' and os.linesep != '\r\n':
- self._data_wrapper = lambda x: x.replace(b(os.linesep), b'\r\n')
+ self._data_wrapper = self._posix_ascii_data_wrapper
else:
self._data_wrapper = None
+ def _posix_ascii_data_wrapper(self, chunk):
+ """The data wrapper used for sending data in ASCII mode on
+ systems using a single line terminator, handling those cases
+ where CRLF ('\r\n') gets delivered in two chunks.
+ """
+ chunk = bytearray(chunk)
+ pos = 0
+ if self._prev_chunk_endswith_cr and chunk.startswith(b'\n'):
+ pos += 1
+ while True:
+ pos = chunk.find(b'\n', pos)
+ if pos == -1:
+ break
+ if chunk[pos - 1] != CR_BYTE:
+ chunk.insert(pos, CR_BYTE)
+ pos += 1
+ pos += 1
+ self._prev_chunk_endswith_cr = chunk.endswith(b'\r')
+ return chunk
+
def more(self):
"""Attempt a chunk of data of size self.buffer_size."""
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib/servers.py new/pyftpdlib-1.5.5/pyftpdlib/servers.py
--- old/pyftpdlib-1.5.4/pyftpdlib/servers.py 2018-04-27 16:35:39.000000000 +0200
+++ new/pyftpdlib-1.5.5/pyftpdlib/servers.py 2019-04-04 01:42:29.000000000 +0200
@@ -122,6 +122,7 @@
@property
def address(self):
+ """The address this server is listening on as a (ip, port) tuple."""
return self.socket.getsockname()[:2]
def _map_len(self):
@@ -513,16 +514,21 @@
if os.name == 'posix':
- import multiprocessing
+ try:
+ import multiprocessing
+ multiprocessing.Lock()
+ except Exception:
+ # see https://github.com/giampaolo/pyftpdlib/issues/496
+ pass
+ else:
+ __all__ += ['MultiprocessFTPServer']
+
+ class MultiprocessFTPServer(_SpawnerBase):
+ """A modified version of base FTPServer class which spawns a
+ process every time a new connection is established.
+ """
+ _lock = multiprocessing.Lock()
+ _exit = multiprocessing.Event()
- __all__ += ['MultiprocessFTPServer']
-
- class MultiprocessFTPServer(_SpawnerBase):
- """A modified version of base FTPServer class which spawns a
- process every time a new connection is established.
- """
- _lock = multiprocessing.Lock()
- _exit = multiprocessing.Event()
-
- def _start_task(self, *args, **kwargs):
- return multiprocessing.Process(*args, **kwargs)
+ def _start_task(self, *args, **kwargs):
+ return multiprocessing.Process(*args, **kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib/test/__init__.py new/pyftpdlib-1.5.5/pyftpdlib/test/__init__.py
--- old/pyftpdlib-1.5.4/pyftpdlib/test/__init__.py 2018-04-27 16:24:18.000000000 +0200
+++ new/pyftpdlib-1.5.5/pyftpdlib/test/__init__.py 2018-05-15 14:14:07.000000000 +0200
@@ -77,6 +77,22 @@
unittest.TestCase = TestCase
+def close_client(session):
+ """Closes a ftplib.FTP client session."""
+ try:
+ if session.sock is not None:
+ try:
+ resp = session.quit()
+ except Exception:
+ pass
+ else:
+ # ...just to make sure the server isn't replying to some
+ # pending command.
+ assert resp.startswith('221'), resp
+ finally:
+ session.close()
+
+
def try_address(host, port=0, family=socket.AF_INET):
"""Try to bind a socket on the given host:port and return True
if that has been possible."""
@@ -240,7 +256,8 @@
p = psutil.Process()
children = p.children()
assert not children, children
- cons = p.connections('tcp')
+ cons = [x for x in p.connections('tcp')
+ if x.status != psutil.CONN_CLOSE_WAIT]
assert not cons, cons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib/test/runner.py new/pyftpdlib-1.5.5/pyftpdlib/test/runner.py
--- old/pyftpdlib-1.5.4/pyftpdlib/test/runner.py 2018-04-27 08:21:14.000000000 +0200
+++ new/pyftpdlib-1.5.5/pyftpdlib/test/runner.py 2019-03-27 21:53:41.000000000 +0100
@@ -4,8 +4,18 @@
# Use of this source code is governed by MIT license that can be
# found in the LICENSE file.
+
+from __future__ import print_function
+import atexit
import os
import sys
+from unittest import TestResult
+from unittest import TextTestResult
+from unittest import TextTestRunner
+try:
+ import ctypes
+except ImportError:
+ ctypes = None
from pyftpdlib.test import configure_logging
from pyftpdlib.test import remove_test_files
@@ -13,22 +23,136 @@
from pyftpdlib.test import VERBOSITY
HERE = os.path.abspath(os.path.dirname(__file__))
+if os.name == 'posix':
+ GREEN = 1
+ RED = 2
+ BROWN = 94
+else:
+ GREEN = 2
+ RED = 4
+ BROWN = 6
+ DEFAULT_COLOR = 7
+
+
+def term_supports_colors(file=sys.stdout):
+ if os.name == 'nt':
+ return ctypes is not None
+ try:
+ import curses
+ assert file.isatty()
+ curses.setupterm()
+ assert curses.tigetnum("colors") > 0
+ except Exception:
+ return False
+ else:
+ return True
+
+
+def hilite(s, color, bold=False):
+ """Return an highlighted version of 'string'."""
+ attr = []
+ if color == GREEN:
+ attr.append('32')
+ elif color == RED:
+ attr.append('91')
+ elif color == BROWN:
+ attr.append('33')
+ else:
+ raise ValueError("unrecognized color")
+ if bold:
+ attr.append('1')
+ return '\x1b[%sm%s\x1b[0m' % (';'.join(attr), s)
+
+
+def _stderr_handle():
+ GetStdHandle = ctypes.windll.Kernel32.GetStdHandle
+ STD_ERROR_HANDLE_ID = ctypes.c_ulong(0xfffffff4)
+ GetStdHandle.restype = ctypes.c_ulong
+ handle = GetStdHandle(STD_ERROR_HANDLE_ID)
+ atexit.register(ctypes.windll.Kernel32.CloseHandle, handle)
+ return handle
+
+
+def win_colorprint(printer, s, color, bold=False):
+ if bold and color <= 7:
+ color += 8
+ handle = _stderr_handle()
+ SetConsoleTextAttribute = ctypes.windll.Kernel32.SetConsoleTextAttribute
+ SetConsoleTextAttribute(handle, color)
+ try:
+ printer(s)
+ finally:
+ SetConsoleTextAttribute(handle, DEFAULT_COLOR)
+
+
+class ColouredResult(TextTestResult):
+
+ def _color_print(self, s, color, bold=False):
+ if os.name == 'posix':
+ self.stream.writeln(hilite(s, color, bold=bold))
+ else:
+ win_colorprint(self.stream.writeln, s, color, bold=bold)
+
+ def addSuccess(self, test):
+ TestResult.addSuccess(self, test)
+ self._color_print("OK", GREEN)
+
+ def addError(self, test, err):
+ TestResult.addError(self, test, err)
+ self._color_print("ERROR", RED, bold=True)
+
+ def addFailure(self, test, err):
+ TestResult.addFailure(self, test, err)
+ self._color_print("FAIL", RED)
+
+ def addSkip(self, test, reason):
+ TestResult.addSkip(self, test, reason)
+ self._color_print("skipped: %s" % reason, BROWN)
+
+ def printErrorList(self, flavour, errors):
+ flavour = hilite(flavour, RED, bold=flavour == 'ERROR')
+ TextTestResult.printErrorList(self, flavour, errors)
+
+
+class ColouredRunner(TextTestRunner):
+ resultclass = ColouredResult if term_supports_colors() else TextTestResult
+
+ def _makeResult(self):
+ # Store result instance so that it can be accessed on
+ # KeyboardInterrupt.
+ self.result = TextTestRunner._makeResult(self)
+ return self.result
+
+
+def get_suite(name=None):
+ suite = unittest.TestSuite()
+ if name is None:
+ testmods = [os.path.splitext(x)[0] for x in os.listdir(HERE)
+ if x.endswith('.py') and x.startswith('test_')]
+ for tm in testmods:
+ # ...so that the full test paths are printed on screen
+ tm = "pyftpdlib.test.%s" % tm
+ suite.addTest(unittest.defaultTestLoader.loadTestsFromName(tm))
+ else:
+ name = os.path.splitext(os.path.basename(name))[0]
+ suite.addTest(unittest.defaultTestLoader.loadTestsFromName(name))
+ return suite
-def main():
- testmodules = [os.path.splitext(x)[0] for x in os.listdir(HERE)
- if x.endswith('.py') and x.startswith('test_')]
+def main(name=None):
configure_logging()
remove_test_files()
- suite = unittest.TestSuite()
- for t in testmodules:
- # ...so that "make test" will print the full test paths
- t = "pyftpdlib.test.%s" % t
- suite.addTest(unittest.defaultTestLoader.loadTestsFromName(t))
- result = unittest.TextTestRunner(verbosity=VERBOSITY).run(suite)
- return result.wasSuccessful()
+ runner = ColouredRunner(verbosity=VERBOSITY)
+ try:
+ result = runner.run(get_suite(name))
+ except (KeyboardInterrupt, SystemExit) as err:
+ print("received %s" % err.__class__.__name__, file=sys.stderr)
+ runner.result.printErrors()
+ sys.exit(1)
+ else:
+ success = result.wasSuccessful()
+ sys.exit(0 if success else 1)
if __name__ == '__main__':
- if not main():
- sys.exit(1)
+ main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib/test/test_functional.py new/pyftpdlib-1.5.5/pyftpdlib/test/test_functional.py
--- old/pyftpdlib-1.5.4/pyftpdlib/test/test_functional.py 2018-04-27 16:53:45.000000000 +0200
+++ new/pyftpdlib-1.5.5/pyftpdlib/test/test_functional.py 2019-03-27 17:31:43.000000000 +0100
@@ -30,6 +30,7 @@
from pyftpdlib.ioloop import IOLoop
from pyftpdlib.servers import FTPServer
from pyftpdlib.test import BUFSIZE
+from pyftpdlib.test import close_client
from pyftpdlib.test import configure_logging
from pyftpdlib.test import disable_log_warning
from pyftpdlib.test import get_server_handler
@@ -86,7 +87,7 @@
self.dummyfile = BytesIO()
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
if not self.file.closed:
self.file.close()
@@ -260,7 +261,7 @@
self.client.login(USER, PASSWD)
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
def test_type(self):
@@ -383,7 +384,7 @@
self.client.login(USER, PASSWD)
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
def test_arg_cmds(self):
@@ -448,7 +449,7 @@
self.tempdir = os.path.basename(tempfile.mkdtemp(dir=HOME))
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
safe_remove(self.tempfile)
if os.path.exists(self.tempdir):
@@ -658,7 +659,7 @@
self.dummy_sendfile = BytesIO()
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
self.dummy_recvfile.close()
self.dummy_sendfile.close()
@@ -960,12 +961,24 @@
class TestFtpRetrieveData(unittest.TestCase):
-
- "Test RETR, REST, TYPE"
+ """Test RETR, REST, TYPE"""
server_class = MProcessTestFTPd
client_class = ftplib.FTP
use_sendfile = None
+ def retrieve_ascii(self, cmd, callback, blocksize=8192, rest=None):
+ """Like retrbinary but uses TYPE A instead."""
+ self.client.voidcmd('type a')
+ with contextlib.closing(
+ self.client.transfercmd(cmd, rest)) as conn:
+ conn.settimeout(TIMEOUT)
+ while True:
+ data = conn.recv(blocksize)
+ if not data:
+ break
+ callback(data)
+ return self.client.voidresp()
+
def setUp(self):
self.server = self.server_class()
if self.use_sendfile is not None:
@@ -978,7 +991,7 @@
self.dummyfile = BytesIO()
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
if not self.file.closed:
self.file.close()
@@ -1005,31 +1018,30 @@
"retr " + bogus, lambda x: x)
def test_retr_ascii(self):
- # Test RETR in ASCII mode.
-
- def retrieve(cmd, callback, blocksize=8192, rest=None):
- # like retrbinary but uses TYPE A instead
- self.client.voidcmd('type a')
- with contextlib.closing(
- self.client.transfercmd(cmd, rest)) as conn:
- conn.settimeout(TIMEOUT)
- while True:
- data = conn.recv(blocksize)
- if not data:
- break
- callback(data)
- return self.client.voidresp()
+ """Test RETR in ASCII mode."""
data = (b'abcde12345' + b(os.linesep)) * 100000
self.file.write(data)
self.file.close()
- retrieve("retr " + TESTFN, self.dummyfile.write)
+ self.retrieve_ascii("retr " + TESTFN, self.dummyfile.write)
expected = data.replace(b(os.linesep), b'\r\n')
self.dummyfile.seek(0)
datafile = self.dummyfile.read()
self.assertEqual(len(expected), len(datafile))
self.assertEqual(hash(expected), hash(datafile))
+ def test_retr_ascii_already_crlf(self):
+ """Test ASCII mode RETR for data with CRLF line endings."""
+
+ data = b'abcde12345\r\n' * 100000
+ self.file.write(data)
+ self.file.close()
+ self.retrieve_ascii("retr " + TESTFN, self.dummyfile.write)
+ self.dummyfile.seek(0)
+ datafile = self.dummyfile.read()
+ self.assertEqual(len(data), len(datafile))
+ self.assertEqual(hash(data), hash(datafile))
+
@retry_on_failure()
def test_restore_on_retr(self):
data = b'abcde12345' * 1000000
@@ -1096,7 +1108,7 @@
touch(TESTFN)
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
os.remove(TESTFN)
@@ -1257,7 +1269,7 @@
self.client.login(USER, PASSWD)
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
def test_abor_no_data(self):
@@ -1364,7 +1376,7 @@
self.dummyfile = BytesIO()
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.handler.dtp_handler.read_limit = 0
self.server.handler.dtp_handler.write_limit = 0
self.server.handler.dtp_handler = DTPHandler
@@ -1430,7 +1442,7 @@
def tearDown(self):
if self.client is not None and self.server is not None:
- self.client.close()
+ close_client(self.client)
self.server.handler.timeout = 300
self.server.handler.dtp_handler.timeout = 300
self.server.handler.passive_dtp.timeout = 30
@@ -1580,7 +1592,7 @@
def tearDown(self):
if self.client is not None:
- self.client.close()
+ close_client(self.client)
# set back options to their original value
if self.server is not None:
self.server.server.max_cons = 0
@@ -1823,7 +1835,7 @@
self.client.connect(self.server.host, self.server.port)
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
safe_remove(TESTFN)
safe_remove(self.TESTFN_2)
@@ -1913,7 +1925,10 @@
if bytes_sent >= INTERRUPTED_TRANSF_SIZE or not chunk:
self.client.putcmd('abor')
break
+ # If a data transfer is in progress server is supposed to send
+ # a 426 reply followed by a 226 reply.
self.assertRaises(ftplib.error_temp, self.client.getresp) # 426
+ self.assertEqual(self.client.getresp()[:3], "226")
self.read_file(
'on_connect,on_login:%s,on_incomplete_file_received:%s,' %
(USER, self.TESTFN_2))
@@ -1958,7 +1973,7 @@
self.other_proto = "1"
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
def cmdresp(self, cmd):
@@ -2149,7 +2164,7 @@
def tearDown(self):
if self.client is not None:
- self.client.close()
+ close_client(self.client)
self.server.stop()
def test_port_v4(self):
@@ -2225,7 +2240,7 @@
self.client.login(USER, PASSWD)
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
def test_port_race_condition(self):
@@ -2365,7 +2380,7 @@
# warnings.resetwarnings()
# def tearDown(self):
-# self.client.close()
+# close_client(self.client)
# self.server.stop()
# remove_test_files()
@@ -2529,7 +2544,7 @@
self.dummy_sendfile = BytesIO()
def tearDown(self):
- self.client.close()
+ close_client(self.client)
self.server.stop()
self.dummy_recvfile.close()
self.dummy_sendfile.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib/test/test_functional_ssl.py new/pyftpdlib-1.5.5/pyftpdlib/test/test_functional_ssl.py
--- old/pyftpdlib-1.5.4/pyftpdlib/test/test_functional_ssl.py 2017-12-30 09:44:57.000000000 +0100
+++ new/pyftpdlib-1.5.5/pyftpdlib/test/test_functional_ssl.py 2018-05-15 13:19:21.000000000 +0200
@@ -14,6 +14,7 @@
import OpenSSL # requires "pip install pyopenssl"
from pyftpdlib.handlers import TLS_FTPHandler
+from pyftpdlib.test import close_client
from pyftpdlib.test import configure_logging
from pyftpdlib.test import MProcessTestFTPd
from pyftpdlib.test import OSX
@@ -195,7 +196,7 @@
def tearDown(self):
if self.client is not None:
self.client.ssl_version = ssl.PROTOCOL_SSLv23
- self.client.close()
+ close_client(self.client)
if self.server is not None:
self.server.handler.ssl_protocol = ssl.PROTOCOL_SSLv23
self.server.handler.tls_control_required = False
@@ -313,7 +314,7 @@
def try_protocol_combo(self, server_protocol, client_protocol):
self._setup(ssl_protocol=server_protocol)
self.client.ssl_version = client_protocol
- self.client.close()
+ close_client(self.client)
self.client.connect(self.server.host, self.server.port)
try:
self.client.login()
@@ -339,7 +340,7 @@
if hasattr(ssl, "PROTOCOL_SSLv2"):
def test_sslv2(self):
self.client.ssl_version = ssl.PROTOCOL_SSLv2
- self.client.close()
+ close_client(self.client)
if not OSX:
with self.server.lock:
self.client.connect(self.server.host, self.server.port)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib/test/test_servers.py new/pyftpdlib-1.5.5/pyftpdlib/test/test_servers.py
--- old/pyftpdlib-1.5.4/pyftpdlib/test/test_servers.py 2018-05-04 23:04:20.000000000 +0200
+++ new/pyftpdlib-1.5.5/pyftpdlib/test/test_servers.py 2018-08-29 12:37:54.000000000 +0200
@@ -12,6 +12,7 @@
from pyftpdlib import handlers
from pyftpdlib import servers
+from pyftpdlib.test import close_client
from pyftpdlib.test import configure_logging
from pyftpdlib.test import HOST
from pyftpdlib.test import PASSWD
@@ -48,7 +49,7 @@
def tearDown(self):
if self.client is not None:
- self.client.close()
+ close_client(self.client)
if self.server is not None:
self.server.stop()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib.egg-info/PKG-INFO new/pyftpdlib-1.5.5/pyftpdlib.egg-info/PKG-INFO
--- old/pyftpdlib-1.5.4/pyftpdlib.egg-info/PKG-INFO 2018-05-04 23:06:51.000000000 +0200
+++ new/pyftpdlib-1.5.5/pyftpdlib.egg-info/PKG-INFO 2019-04-04 11:11:03.000000000 +0200
@@ -1,12 +1,16 @@
Metadata-Version: 2.1
Name: pyftpdlib
-Version: 1.5.4
+Version: 1.5.5
Summary: Very fast asynchronous FTP server library
Home-page: https://github.com/giampaolo/pyftpdlib/
Author: Giampaolo Rodola'
Author-email: g.rodola(a)gmail.com
License: MIT
-Description: .. image:: https://img.shields.io/travis/giampaolo/pyftpdlib/master.svg?maxAge=3600&la…
+Description: .. image:: http://pepy.tech/badge/pyftpdlib
+ :target: http://pepy.tech/project/pyftpdlib
+ :alt: Downloads
+
+ .. image:: https://img.shields.io/travis/giampaolo/pyftpdlib/master.svg?maxAge=3600&la…
:target: https://travis-ci.org/giampaolo/pyftpdlib
:alt: Linux tests (Travis)
@@ -194,67 +198,6 @@
software to the
`adoptions list <http://pyftpdlib.readthedocs.io/en/latest/adoptions.html>`__.
- Timeline
- ========
-
- - 2018-05-04: version `1.5.4 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.4.tar.gz>`__ released.
- - 2017-11-04: version `1.5.3 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.3.tar.gz>`__ released.
- - 2017-04-06: version `1.5.2 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.2.tar.gz>`__ released.
- - 2016-05-02: version `1.5.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.1.tar.gz>`__ released.
- - 2015-12-13: version `1.5.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.5.0.tar.gz>`__ released.
- - 2014-06-03: version `1.4.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.4.0.tar.gz>`__ released.
- - 2014-04-12: version `1.3.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.3.1.tar.gz>`__ released.
- - 2013-11-07: version `1.3.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.3.0.tar.gz>`__ released.
- - 2013-04-22: version `1.2.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.2.0.tar.gz>`__ released.
- - 2013-04-09: version `1.1.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.1.0.tar.gz>`__ released.
- - 2013-02-22: version `1.0.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.0.1.tar.gz>`__ released.
- - 2013-02-19: version `1.0.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-1.0.0.tar.gz>`__ released.
- - 2012-05-14: pyftpdlib included in `ftp-cloudfs <https://github.com/chmouel/ftp-cloudfs/>`__ project.
- - 2012-01-25: version `0.7.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.7.0.tar.gz>`__ released.
- - 2011-12-01: pyftpdlib included in `feitp-server <http://code.google.com/p/feitp-server/>`__ project.
- - 2011-09-26: pyftpdlib included in `ftpmaster <https://github.com/MarkLIC/ftpmaster>`__ project.
- - 2011-07-09: pyftpdlib included in `bftpd <http://bftpd.sourceforge.net/>`__ project.
- - 2011-07-09: pyftpdlib included in `fastersync <http://code.google.com/p/fastersync/>`__ project.
- - 2011-01-31: pyftpdlib included in `put.io FTP connector project <http://code.google.com/p/pyftpdlib/wiki/Adoptions?ts=1296442469&updated=Ado…>`__.
- - 2011-01-24: version `0.6.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.6.0.tar.gz>`__ released.
- - 2010-12-14: added `donations <http://code.google.com/p/pyftpdlib/wiki/Donate>`__.
- - 2010-08-24: pyftpdlib included in `peerscape <http://www.peerscape.org/>`__ project.
- - 2010-07-15: pyftpdlib included in `Faetus <http://tomatohater.com/faetus/>`__ project.
- - 2010-07-11: pyftpdlib included in `Pyfilesystem <http://code.google.com/p/pyfilesystem>`__ project.
- - 2010-06-28: pyftpdlib has been `packaged for Debian <http://packages.debian.org/sid/python-pyftpdlib>`__
- - 2010-04-28: pyftpdlib included in `sierramodulepos <http://forge.openbravo.com/plugins/mwiki/index.php/MobilePOS>`__ project.
- - 2010-03-20: `http://www.smartfile.com <http://www.smartfile.com>`__ uses pyftpdlib.
- - 2010-01-13: pyftpdlib included in `zenftp <http://code.irondojo.com/>`__ project.
- - 2009-12-26: pyftpdlib included in `Symbian Python FTP server <http://code.google.com/p/sypftp>`__ project.
- - 2009-11-04: `www.netplay.it <http://www.netplay.it>`__ uses pyftpdlib.
- - 2009-11-04: `www.adcast.tv <http://www.adcast.tv>`__ uses pyftpdlib.
- - 2009-11-04: `www.bitsontherun.com <http://www.bitsontherun.com>`__ uses pyftpdlib.
- - 2009-11-02: pyftpdlib included in `ftp-cloudfs <http://github.com/chmouel/ftp-cloudfs>`__ project.
- - 2009-09-14: version `0.5.2 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.5.2.tar.gz>`__ released.
- - 2009-08-10: pyftpdlib included in `Imgserve <http://github.com/wuzhe/imgserve/tree/master>`__ project.
- - 2009-07-22: pyftpdlib included in `Plumi <http://plumi.org/wiki>`__ project.
- - 2009-04-02: pyftpdlib RPM-packaged and ported on `Fedora <https://admin.fedoraproject.org/pkgdb/packages/name/pyftpdlib>`__ to make users can easily install on it via *yum install pyftpdlib*.
- - 2009-03-28: pyftpdlib included in `Bazaar <http://bazaar-vcs.org/>`__ project.
- - 2009-02-23: pyftpdlib included in `ShareFTP <http://git.logfish.net/shareftp.git/>`__ project.
- - 2009-01-21: version `0.5.1 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.5.1.tar.gz>`__ released.
- - 2008-12-27: pyftpdlib included in `Google Chromium <http://code.google.com/intl/it-IT/chromium/>`__, the open source project behind `Google Chrome <http://www.google.com/chrome>`__.
- - 2008-12-27: pyftpdlib ported on `GNU Darwin <http://www.gnu-darwin.org/>`__ systems to make users can easily install on it.
- - 2008-11-26: pyftpdlib included in `OpenERP <http://openerp.com>`__.
- - 2008-10-26: pyftpdlib included in `Python for OpenVMS <http://www.vmspython.org/>`__ as standard package.
- - 2008-10-09: pyftpdlib included in `Shareme <http://bbs.archlinux.org/viewtopic.php?pid=431474>`__ project.
- - 2008-09-20: version `0.5.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.5.0.tar.gz>`__ released.
- - 2008-08-10: pyftpdlib included in `Manent <http://trac.manent-backup.com/>`__ project.
- - 2008-05-16: version `0.4.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.4.0.tar.gz>`__ released.
- - 2008-04-09: pyftpdlib used as backend for `gpftpd <http://arkadiusz-wahlig.blogspot.com/2008/04/hosting-files-on-google.html>`__, an FTP server for managing files hosted on `Google Pages <http://-ages.google.com>`__.
- - 2008-01-17: version `0.3.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.3.0.tar.gz>`__ released.
- - 2007-10-14: pyftpdlib included in `Aksy <http://walco.n--tree.net/projects/aksy/wiki>`__ project.
- - 2007-09-17: version `0.2.0 <https://pypi.python.org/packages/source/p/pyftpdlib/pyftpdlib-0.2.0.tar.gz>`__ released.
- - 2007-09-08: pyftpdlib included as `FarManager <http://farmanager.com/>`__ `plug-in <http://www.farmanager.com/enforum/viewtopic.php?t=640&highlight=&sid=12d4d9…>`__.
- - 2007-03-06: pyftpdlib `ported on FreeBSD <http://www.freshports.org/ftp/py-pyftpdlib/>`__ systems to make users can easily install on it.
- - 2007-03-07: version `0.1.1 <http://pyftpdlib.googlecode.com/files/pyftpdlib*0.1.1.tar.gz>`__ released.
- - 2007-02-26: version `0.1.0 <http://pyftpdlib.googlecode.com/files/pyftpdlib*0.1.tar.gz>`__ released.
- - 2006-09-26: initial clunky thread-based progenitor `link <http://billiejoex.altervista.org/Prj_pftpd.htm>`__.
-
Trademarks
==========
@@ -299,5 +242,4 @@
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
-Provides-Extra: sendfile
Provides-Extra: ssl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyftpdlib-1.5.4/pyftpdlib.egg-info/requires.txt new/pyftpdlib-1.5.5/pyftpdlib.egg-info/requires.txt
--- old/pyftpdlib-1.5.4/pyftpdlib.egg-info/requires.txt 2018-05-04 23:06:51.000000000 +0200
+++ new/pyftpdlib-1.5.5/pyftpdlib.egg-info/requires.txt 2019-04-04 11:11:03.000000000 +0200
@@ -1,6 +1,3 @@
-[sendfile]
-pysendfile
-
[ssl]
PyOpenSSL
1
0
Hello community,
here is the log from the commit of package elisa for openSUSE:Factory checked in at 2019-05-27 08:39:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/elisa (Old)
and /work/SRC/openSUSE:Factory/.elisa.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "elisa"
Mon May 27 08:39:21 2019 rev:6 rq:705392 version:0.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/elisa/elisa.changes 2018-10-09 15:54:53.710230999 +0200
+++ /work/SRC/openSUSE:Factory/.elisa.new.5148/elisa.changes 2019-05-27 08:39:33.911043379 +0200
@@ -1,0 +2,21 @@
+Tue May 21 12:51:03 UTC 2019 - wbauer(a)tmo.at
+
+- Update to 0.4.0
+ * Support for progress bar on Plasma Desktop taskbar entries
+ * Improved party mode
+ * Undo Support when Playlist is Cleared
+ * New Browsing Views: most recently played tracks, most
+ frequently played tracks
+ * A new context view that is now able to show some of the
+ metadata from the currently playing track like the composer,
+ lyricist, play count, lyrics ...
+ * Optimizations And Reduced Memory Usage
+ * Support for Embedded Cover Images
+ * Easy Navigation to Album or Artist of the Currently Playing
+ Track
+ * Improved Grid Views Elements
+- Add kirigami2 dependency, which is used/required now also for the
+ desktop version
+- Run spec-cleaner
+
+-------------------------------------------------------------------
Old:
----
elisa-0.3.0.tar.xz
elisa-0.3.0.tar.xz.sig
New:
----
elisa-0.4.0.tar.xz
elisa-0.4.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ elisa.spec ++++++
--- /var/tmp/diff_new_pack.KWiuFA/_old 2019-05-27 08:39:34.575043120 +0200
+++ /var/tmp/diff_new_pack.KWiuFA/_new 2019-05-27 08:39:34.575043120 +0200
@@ -1,7 +1,7 @@
#
# spec file for package elisa
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,27 +12,24 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
-%bcond_without lang
-
%define qt5_version 5.10.0
-%define kf5_version 5.45.0
-
+%define kf5_version 5.48.0
+%bcond_without lang
Name: elisa
-Version: 0.3.0
+Version: 0.4.0
Release: 0
Summary: Music player and collection organizer
License: LGPL-3.0-or-later
Group: Productivity/Multimedia/Sound/Players
-Url: https://community.kde.org/Elisa
+URL: https://community.kde.org/Elisa
Source0: https://download.kde.org/stable/%{name}/%{version}/%{name}-%{version}.tar.xz
Source1: https://download.kde.org/stable/%{name}/%{version}/%{name}-%{version}.tar.x…
Source2: %{name}.keyring
BuildRequires: cmake
-BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: cmake(KF5Baloo) >= %{kf5_version}
BuildRequires: cmake(KF5Config) >= %{kf5_version}
@@ -46,22 +43,24 @@
BuildRequires: cmake(KF5I18n) >= %{kf5_version}
BuildRequires: cmake(KF5KCMUtils) >= %{kf5_version}
BuildRequires: cmake(KF5KIO) >= %{kf5_version}
+BuildRequires: cmake(KF5Kirigami2) >= %{kf5_version}
BuildRequires: cmake(KF5Package) >= %{kf5_version}
BuildRequires: cmake(KF5XmlGui) >= %{kf5_version}
-BuildRequires: pkgconfig(Qt5Concurrent) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5Core) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5DBus) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5Gui) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5Multimedia) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5Network) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5Qml) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5QuickControls2) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5Quick) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5Sql) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5Svg) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5Test) >= %{qt5_version}
-BuildRequires: pkgconfig(Qt5Widgets) >= %{qt5_version}
+BuildRequires: cmake(Qt5Concurrent) >= %{qt5_version}
+BuildRequires: cmake(Qt5Core) >= %{qt5_version}
+BuildRequires: cmake(Qt5DBus) >= %{qt5_version}
+BuildRequires: cmake(Qt5Gui) >= %{qt5_version}
+BuildRequires: cmake(Qt5Multimedia) >= %{qt5_version}
+BuildRequires: cmake(Qt5Network) >= %{qt5_version}
+BuildRequires: cmake(Qt5Qml) >= %{qt5_version}
+BuildRequires: cmake(Qt5Quick) >= %{qt5_version}
+BuildRequires: cmake(Qt5QuickControls2) >= %{qt5_version}
+BuildRequires: cmake(Qt5Sql) >= %{qt5_version}
+BuildRequires: cmake(Qt5Svg) >= %{qt5_version}
+BuildRequires: cmake(Qt5Test) >= %{qt5_version}
+BuildRequires: cmake(Qt5Widgets) >= %{qt5_version}
Requires: kdeclarative-components >= %{kf5_version}
+Requires: kirigami2 >= %{kf5_version}
Requires: libqt5-qtquickcontrols >= %{qt5_version}
Requires: libqt5-qtquickcontrols2 >= %{qt5_version}
%if %{with lang}
++++++ elisa-0.3.0.tar.xz -> elisa-0.4.0.tar.xz ++++++
++++ 80899 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-python-barcode for openSUSE:Factory checked in at 2019-05-27 08:39:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-barcode (Old)
and /work/SRC/openSUSE:Factory/.python-python-barcode.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-barcode"
Mon May 27 08:39:14 2019 rev:3 rq:705390 version:0.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-barcode/python-python-barcode.changes 2019-05-06 13:21:16.808521536 +0200
+++ /work/SRC/openSUSE:Factory/.python-python-barcode.new.5148/python-python-barcode.changes 2019-05-27 08:39:29.819044974 +0200
@@ -1,0 +2,7 @@
+Sat May 25 09:01:04 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.10.0:
+ * Various minor fixes and tweaks
+ * CI integration fixes
+
+-------------------------------------------------------------------
Old:
----
python-barcode-0.9.0.tar.gz
New:
----
python-barcode-0.10.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-barcode.spec ++++++
--- /var/tmp/diff_new_pack.Ttx9hU/_old 2019-05-27 08:39:30.279044794 +0200
+++ /var/tmp/diff_new_pack.Ttx9hU/_new 2019-05-27 08:39:30.279044794 +0200
@@ -21,7 +21,7 @@
%define skip_python2 1
%define base_name python-barcode
Name: python-%{base_name}
-Version: 0.9.0
+Version: 0.10.0
Release: 0
Summary: Library to create Barcodes with Python
License: MIT
@@ -48,6 +48,8 @@
%setup -q -n %{base_name}-%{version}
# Fix rpmlint warning about too many +x perms when these files get installed later.
find . -type f -exec chmod a-x {} +
+# doc buildscripts we don't wanna ship
+rm docs/{Makefile,make.bat}
%build
%python_build
++++++ python-barcode-0.9.0.tar.gz -> python-barcode-0.10.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/.travis.yml new/python-barcode-0.10.0/.travis.yml
--- old/python-barcode-0.9.0/.travis.yml 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/.travis.yml 2019-05-24 10:41:57.000000000 +0200
@@ -4,7 +4,6 @@
python:
- 3.5
- 3.6
- - 3.7-dev
stages:
@@ -18,6 +17,10 @@
jobs:
include:
+ - stage: test
+ python: 3.7
+ dist: xenial
+ sudo: true
- stage: deploy
script:
- pip install wheel twine
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/PKG-INFO new/python-barcode-0.10.0/PKG-INFO
--- old/python-barcode-0.9.0/PKG-INFO 2018-06-14 18:50:08.000000000 +0200
+++ new/python-barcode-0.10.0/PKG-INFO 2019-05-24 10:42:11.000000000 +0200
@@ -1,22 +1,33 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: python-barcode
-Version: 0.9.0
-Summary: Create standard barcodes with Python. No external modules needed (optional PIL support included).
+Version: 0.10.0
+Summary: Create standard barcodes with Python. No external modules needed. (optional Pillow support included).
Home-page: https://github.com/WhyNotHugo/python-barcode
Author: Thorsten Weimann et al
Author-email: weimann.th(a)yahoo.com
License: MIT
-Description-Content-Type: UNKNOWN
Description: python-barcode
==============
- .. image:: example-ean13.png
- :target: https://github.com/WhyNotHugo/python-barcode
- :alt: python-barcode
+ .. image:: https://travis-ci.org/WhyNotHugo/python-barcode.svg?branch=master
+ :target: https://travis-ci.org/WhyNotHugo/python-barcode
+ :alt: build status
+
+ .. image:: https://img.shields.io/pypi/v/python-barcode.svg
+ :target: https://pypi.python.org/pypi/python-barcode
+ :alt: version on pypi
+
+ .. image:: https://img.shields.io/pypi/l/python-barcode.svg
+ :target: https://github.com/WhyNotHugo/python-barcode/blob/master/LICENCE
+ :alt: licence
This library provides a simple way to create barcodes using only the
Python standard lib. The barcodes are created as SVG objects.
+ .. image:: example-ean13.png
+ :target: https://github.com/WhyNotHugo/python-barcode
+ :alt: python-barcode
+
Please report any bugs at https://github.com/WhyNotHugo/python-barcode/issues
@@ -26,7 +37,7 @@
- Setuptools/distribute for installation.
- Python 3.5 or above
- Program to open SVG objects (your browser should do it)
- - Optional: PIL to render barcodes as images (PNG, JPG, ...)
+ - Optional: Pillow to render barcodes as images (PNG, JPG, ...)
Installation
@@ -67,37 +78,37 @@
>>> import barcode
>>> barcode.PROVIDED_BARCODES
- [u'code39', u'code128', u'ean', u'ean13', u'ean8', u'gs1', u'gtin',
- u'isbn', u'isbn10', u'isbn13', u'issn', u'jan', u'pzn', u'upc', u'upca']
+ ['code39', 'code128', 'ean', 'ean13', 'ean8', 'gs1', 'gtin',
+ 'isbn', 'isbn10', 'isbn13', 'issn', 'jan', 'pzn', 'upc', 'upca']
>>> EAN = barcode.get_barcode_class('ean13')
>>> EAN
<class 'barcode.ean.EuropeanArticleNumber13'>
- >>> ean = EAN(u'5901234123457')
+ >>> ean = EAN('5901234123457')
>>> ean
<barcode.ean.EuropeanArticleNumber13 object at 0x00BE98F0>
>>> fullname = ean.save('ean13_barcode')
>>> fullname
- u'ean13_barcode.svg'
+ 'ean13_barcode.svg'
# Example with PNG
>>> from barcode.writer import ImageWriter
- >>> ean = EAN(u'5901234123457', writer=ImageWriter())
+ >>> ean = EAN('5901234123457', writer=ImageWriter())
>>> fullname = ean.save('ean13_barcode')
- u'ean13_barcode.png'
+ 'ean13_barcode.png'
# New in v0.4.2
>>> from StringIO import StringIO
>>> fp = StringIO()
>>> ean.write(fp)
# or
>>> f = open('/my/new/file', 'wb')
- >>> ean.write(f) # PIL (ImageWriter) produces RAW format here
+ >>> ean.write(f) # Pillow (ImageWriter) produces RAW format here
# New in v0.5.0
>>> from barcode import generate
- >>> name = generate('EAN13', u'5901234123457', output='barcode_svg')
+ >>> name = generate('EAN13', '5901234123457', output='barcode_svg')
>>> name
- u'barcode_svg.svg'
+ 'barcode_svg.svg'
# with file like object
>>> fp = StringIO()
- >>> generate('EAN13', u'5901234123457', writer=ImageWriter(), output=fp)
+ >>> generate('EAN13', '5901234123457', writer=ImageWriter(), output=fp)
>>>
Now open ean13_barcode.[svg|png] in a graphic app or simply in your browser
@@ -105,16 +116,29 @@
Commandline::
- $ pybarcode create "My Text" outfile
+ $ python-barcode create "My Text" outfile
New barcode saved as outfile.svg.
- $ pybarcode create -t png "My Text" outfile
+ $ python-barcode create -t png "My Text" outfile
New barcode saved as outfile.png.
- Try `pybarcode -h` for help.
+ Try `python-barcode -h` for help.
Changelog
---------
+ v0.9.1
+ ~~~~~~
+
+ * Officially support Python 3.7
+ * Refer to Pillow in the docs, rather than PIL.
+
+ v0.9.0
+ ~~~~~~
+
+ * Removed buggy ``Barcode.raw`` attribute.
+ * Various CLI errors ironed out.
+ * Make the default value for ``writer_options``` consistent across writers.
+
v0.8.3
~~~~~~
@@ -228,5 +252,7 @@
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Provides-Extra: images
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/README.rst new/python-barcode-0.10.0/README.rst
--- old/python-barcode-0.9.0/README.rst 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/README.rst 2019-05-24 10:41:57.000000000 +0200
@@ -1,13 +1,25 @@
python-barcode
==============
-.. image:: example-ean13.png
- :target: https://github.com/WhyNotHugo/python-barcode
- :alt: python-barcode
+.. image:: https://travis-ci.org/WhyNotHugo/python-barcode.svg?branch=master
+ :target: https://travis-ci.org/WhyNotHugo/python-barcode
+ :alt: build status
+
+.. image:: https://img.shields.io/pypi/v/python-barcode.svg
+ :target: https://pypi.python.org/pypi/python-barcode
+ :alt: version on pypi
+
+.. image:: https://img.shields.io/pypi/l/python-barcode.svg
+ :target: https://github.com/WhyNotHugo/python-barcode/blob/master/LICENCE
+ :alt: licence
This library provides a simple way to create barcodes using only the
Python standard lib. The barcodes are created as SVG objects.
+.. image:: example-ean13.png
+ :target: https://github.com/WhyNotHugo/python-barcode
+ :alt: python-barcode
+
Please report any bugs at https://github.com/WhyNotHugo/python-barcode/issues
@@ -17,7 +29,7 @@
- Setuptools/distribute for installation.
- Python 3.5 or above
- Program to open SVG objects (your browser should do it)
-- Optional: PIL to render barcodes as images (PNG, JPG, ...)
+- Optional: Pillow to render barcodes as images (PNG, JPG, ...)
Installation
@@ -58,37 +70,37 @@
>>> import barcode
>>> barcode.PROVIDED_BARCODES
- [u'code39', u'code128', u'ean', u'ean13', u'ean8', u'gs1', u'gtin',
- u'isbn', u'isbn10', u'isbn13', u'issn', u'jan', u'pzn', u'upc', u'upca']
+ ['code39', 'code128', 'ean', 'ean13', 'ean8', 'gs1', 'gtin',
+ 'isbn', 'isbn10', 'isbn13', 'issn', 'jan', 'pzn', 'upc', 'upca']
>>> EAN = barcode.get_barcode_class('ean13')
>>> EAN
<class 'barcode.ean.EuropeanArticleNumber13'>
- >>> ean = EAN(u'5901234123457')
+ >>> ean = EAN('5901234123457')
>>> ean
<barcode.ean.EuropeanArticleNumber13 object at 0x00BE98F0>
>>> fullname = ean.save('ean13_barcode')
>>> fullname
- u'ean13_barcode.svg'
+ 'ean13_barcode.svg'
# Example with PNG
>>> from barcode.writer import ImageWriter
- >>> ean = EAN(u'5901234123457', writer=ImageWriter())
+ >>> ean = EAN('5901234123457', writer=ImageWriter())
>>> fullname = ean.save('ean13_barcode')
- u'ean13_barcode.png'
+ 'ean13_barcode.png'
# New in v0.4.2
>>> from StringIO import StringIO
>>> fp = StringIO()
>>> ean.write(fp)
# or
>>> f = open('/my/new/file', 'wb')
- >>> ean.write(f) # PIL (ImageWriter) produces RAW format here
+ >>> ean.write(f) # Pillow (ImageWriter) produces RAW format here
# New in v0.5.0
>>> from barcode import generate
- >>> name = generate('EAN13', u'5901234123457', output='barcode_svg')
+ >>> name = generate('EAN13', '5901234123457', output='barcode_svg')
>>> name
- u'barcode_svg.svg'
+ 'barcode_svg.svg'
# with file like object
>>> fp = StringIO()
- >>> generate('EAN13', u'5901234123457', writer=ImageWriter(), output=fp)
+ >>> generate('EAN13', '5901234123457', writer=ImageWriter(), output=fp)
>>>
Now open ean13_barcode.[svg|png] in a graphic app or simply in your browser
@@ -96,16 +108,29 @@
Commandline::
- $ pybarcode create "My Text" outfile
+ $ python-barcode create "My Text" outfile
New barcode saved as outfile.svg.
- $ pybarcode create -t png "My Text" outfile
+ $ python-barcode create -t png "My Text" outfile
New barcode saved as outfile.png.
- Try `pybarcode -h` for help.
+ Try `python-barcode -h` for help.
Changelog
---------
+v0.9.1
+~~~~~~
+
+* Officially support Python 3.7
+* Refer to Pillow in the docs, rather than PIL.
+
+v0.9.0
+~~~~~~
+
+* Removed buggy ``Barcode.raw`` attribute.
+* Various CLI errors ironed out.
+* Make the default value for ``writer_options``` consistent across writers.
+
v0.8.3
~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/__init__.py new/python-barcode-0.10.0/barcode/__init__.py
--- old/python-barcode-0.9.0/barcode/__init__.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/__init__.py 2019-05-24 10:41:57.000000000 +0200
@@ -7,13 +7,12 @@
This package provides a simple way to create standard barcodes.
It needs no external packages to be installed, the barcodes are
-created as SVG objects. If PIL (Python Imaging Library) is
-installed, the barcodes can also be rendered as images (all
-formats supported by PIL).
+created as SVG objects. If Pillow is installed, the barcodes can also be
+rendered as images (all formats supported by Pillow).
"""
from barcode.errors import BarcodeNotFoundError
-from barcode.codex import Code39, PZN, Code128
+from barcode.codex import Code39, PZN, Code128, Gs1_128
from barcode.ean import EAN8, EAN13, EAN14, JAN
from barcode.isxn import ISBN10, ISBN13, ISSN
from barcode.upc import UPCA
@@ -44,20 +43,22 @@
pzn=PZN,
code128=Code128,
itf=ITF,
+ gs1_128=Gs1_128,
)
-PROVIDED_BARCODES = list(__BARCODE_MAP.keys())
+PROVIDED_BARCODES = list(__BARCODE_MAP)
PROVIDED_BARCODES.sort()
-def get(name, code=None, writer=None):
+def get(name, code=None, writer=None, options=None):
+ options = options or {}
try:
barcode = __BARCODE_MAP[name.lower()]
except KeyError:
raise BarcodeNotFoundError('The barcode {0!r} you requested is not '
'known.'.format(name))
if code is not None:
- return barcode(code, writer)
+ return barcode(code, writer, **options)
else:
return barcode
@@ -69,7 +70,7 @@
def generate(name, code, writer=None, output=None, writer_options=None,
text=None, pil=False):
options = writer_options or {}
- barcode = get(name, code, writer)
+ barcode = get(name, code, writer, options)
if pil:
return barcode.render(writer_options, text)
if isinstance(output, _strbase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/codex.py new/python-barcode-0.10.0/barcode/codex.py
--- old/python-barcode-0.9.0/barcode/codex.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/codex.py 2019-05-24 10:41:57.000000000 +0200
@@ -258,5 +258,25 @@
return Barcode.render(self, options, text)
+class Gs1_128(Code128):
+ """
+ following the norm, a gs1-128 barcode is a subset of code 128 barcode,
+ it can be generated by prepending the code with the FNC1 character
+ https://en.wikipedia.org/wiki/GS1-128
+ https://www.gs1-128.info/
+ """
+
+ name = 'GS1-128'
+
+ FNC1_CHAR = '\xf1'
+
+ def __init__(self, code, writer=None):
+ code = self.FNC1_CHAR + code
+ super(Gs1_128, self).__init__(code, writer)
+
+ def get_fullcode(self):
+ return super(Gs1_128, self).get_fullcode()[1:]
+
+
# For pre 0.8 compatibility
PZN = PZN7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/isxn.py new/python-barcode-0.10.0/barcode/isxn.py
--- old/python-barcode-0.9.0/barcode/isxn.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/isxn.py 2019-05-24 10:41:57.000000000 +0200
@@ -19,13 +19,13 @@
>>> ISBN = get_barcode('isbn10')
>>> isbn = ISBN('0132354187')
>>> unicode(isbn)
- u'0132354187'
+ '0132354187'
>>> isbn.get_fullcode()
- u'9780132354189'
+ '9780132354189'
>>> # Test with wrong checksum
>>> isbn = ISBN('0132354180')
>>> unicode(isbn)
- u'0132354187'
+ '0132354187'
"""
__docformat__ = 'restructuredtext en'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/pybarcode.py new/python-barcode-0.10.0/barcode/pybarcode.py
--- old/python-barcode-0.9.0/barcode/pybarcode.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/pybarcode.py 2019-05-24 10:41:57.000000000 +0200
@@ -33,9 +33,9 @@
print('Available image formats')
print('Standard: svg')
if ImageWriter is not None:
- print('PIL:', ', '.join(IMG_FORMATS))
+ print('Pillow:', ', '.join(IMG_FORMATS))
else:
- print('PIL: disabled')
+ print('Pillow: disabled')
print('\n')
@@ -68,7 +68,7 @@
msg = []
if ImageWriter is None:
msg.append(
- 'Image output disabled (PIL not found), --type option disabled.'
+ 'Image output disabled (Pillow not found), --type option disabled.'
)
else:
msg.append(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/version.py new/python-barcode-0.10.0/barcode/version.py
--- old/python-barcode-0.9.0/barcode/version.py 2018-06-14 18:50:08.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/version.py 2019-05-24 10:42:11.000000000 +0200
@@ -1,4 +1,4 @@
# coding: utf-8
# file generated by setuptools_scm
# don't change, don't track in version control
-version = '0.9.0'
+version = '0.10.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/writer.py new/python-barcode-0.10.0/barcode/writer.py
--- old/python-barcode-0.9.0/barcode/writer.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/writer.py 2019-05-24 10:41:57.000000000 +0200
@@ -18,7 +18,7 @@
except ImportError:
import logging
log = logging.getLogger('pyBarcode')
- log.info('PIL not found. Image output disabled')
+ log.info('Pillow not found. Image output disabled')
Image = ImageDraw = ImageFont = None # lint:ok
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/docs/barcode.rst new/python-barcode-0.10.0/docs/barcode.rst
--- old/python-barcode-0.9.0/docs/barcode.rst 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/docs/barcode.rst 2019-05-24 10:41:57.000000000 +0200
@@ -1,9 +1,9 @@
Introduction
============
-This package was created to have barcodes available without having
-PIL_ (Python Imaging Library) installed. As of version 0.4b1 PIL
-is also supported for creating barcodes.
+This package was created to have barcodes available with pure-python.
+Pillow_ is required for exporting for exporting images (png, jpg), although not
+for SVGs.
All you need to create a barcode is to know the system (EAN, UPC, ...)
and the code (e.g. for EAN-13: 123456789102). As you see, you do not
@@ -13,7 +13,7 @@
As of version 0.7beta3 Python 3 is supported, but not well tested.
-.. _PIL: http://www.pythonware.com/products/pil
+.. _Pillow: https://python-pillow.org/
Creating barcodes as SVG
------------------------
@@ -27,14 +27,14 @@
>>> ean = barcode.get('ean13', '123456789102')
# Now we look if the checksum was added
>>> ean.get_fullcode()
- u'1234567891026'
+ '1234567891026'
>>> filename = ean.save('ean13')
>>> filename
- u'ean13.svg'
+ 'ean13.svg'
>>> options = dict(compress=True)
>>> filename = ean.save('ean13', options)
>>> filename
- u'ean13.svgz'
+ 'ean13.svgz'
Now you have ean13.svg and the compressed ean13.svgz in your current
working directory. Open it and see the result.
@@ -55,4 +55,4 @@
>>> ean = barcode.get('ean13', '123456789102', writer=ImageWriter())
>>> filename = ean.save('ean13')
>>> filename
- u'ean13.png'
+ 'ean13.png'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/docs/conf.py new/python-barcode-0.10.0/docs/conf.py
--- old/python-barcode-0.9.0/docs/conf.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/docs/conf.py 2019-05-24 10:41:57.000000000 +0200
@@ -176,8 +176,8 @@
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
- ('index', 'pyBarcode.tex', u'pyBarcode Documentation',
- u'Thorsten Weimann', 'manual'),
+ ('index', 'pyBarcode.tex', 'pyBarcode Documentation',
+ 'Thorsten Weimann', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/docs/writers/image.rst new/python-barcode-0.10.0/docs/writers/image.rst
--- old/python-barcode-0.9.0/docs/writers/image.rst 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/docs/writers/image.rst 2019-05-24 10:41:57.000000000 +0200
@@ -3,7 +3,7 @@
.. versionadded:: 0.4b1
-Creates barcodes as image. All imagetypes supported by PIL are availble.
+Creates barcodes as image. All imagetypes supported by Pillow are availble.
Special Options
---------------
@@ -15,7 +15,7 @@
~~~~~~~~~~~~~~~~
:format:
- The image file format as *string*. All formats supported by PIL are
+ The image file format as *string*. All formats supported by Pillow are
valid (e.g. PNG, JPEG, BMP, ...).
Defaults to **PNG**.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/python_barcode.egg-info/PKG-INFO new/python-barcode-0.10.0/python_barcode.egg-info/PKG-INFO
--- old/python-barcode-0.9.0/python_barcode.egg-info/PKG-INFO 2018-06-14 18:50:08.000000000 +0200
+++ new/python-barcode-0.10.0/python_barcode.egg-info/PKG-INFO 2019-05-24 10:42:11.000000000 +0200
@@ -1,22 +1,33 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: python-barcode
-Version: 0.9.0
-Summary: Create standard barcodes with Python. No external modules needed (optional PIL support included).
+Version: 0.10.0
+Summary: Create standard barcodes with Python. No external modules needed. (optional Pillow support included).
Home-page: https://github.com/WhyNotHugo/python-barcode
Author: Thorsten Weimann et al
Author-email: weimann.th(a)yahoo.com
License: MIT
-Description-Content-Type: UNKNOWN
Description: python-barcode
==============
- .. image:: example-ean13.png
- :target: https://github.com/WhyNotHugo/python-barcode
- :alt: python-barcode
+ .. image:: https://travis-ci.org/WhyNotHugo/python-barcode.svg?branch=master
+ :target: https://travis-ci.org/WhyNotHugo/python-barcode
+ :alt: build status
+
+ .. image:: https://img.shields.io/pypi/v/python-barcode.svg
+ :target: https://pypi.python.org/pypi/python-barcode
+ :alt: version on pypi
+
+ .. image:: https://img.shields.io/pypi/l/python-barcode.svg
+ :target: https://github.com/WhyNotHugo/python-barcode/blob/master/LICENCE
+ :alt: licence
This library provides a simple way to create barcodes using only the
Python standard lib. The barcodes are created as SVG objects.
+ .. image:: example-ean13.png
+ :target: https://github.com/WhyNotHugo/python-barcode
+ :alt: python-barcode
+
Please report any bugs at https://github.com/WhyNotHugo/python-barcode/issues
@@ -26,7 +37,7 @@
- Setuptools/distribute for installation.
- Python 3.5 or above
- Program to open SVG objects (your browser should do it)
- - Optional: PIL to render barcodes as images (PNG, JPG, ...)
+ - Optional: Pillow to render barcodes as images (PNG, JPG, ...)
Installation
@@ -67,37 +78,37 @@
>>> import barcode
>>> barcode.PROVIDED_BARCODES
- [u'code39', u'code128', u'ean', u'ean13', u'ean8', u'gs1', u'gtin',
- u'isbn', u'isbn10', u'isbn13', u'issn', u'jan', u'pzn', u'upc', u'upca']
+ ['code39', 'code128', 'ean', 'ean13', 'ean8', 'gs1', 'gtin',
+ 'isbn', 'isbn10', 'isbn13', 'issn', 'jan', 'pzn', 'upc', 'upca']
>>> EAN = barcode.get_barcode_class('ean13')
>>> EAN
<class 'barcode.ean.EuropeanArticleNumber13'>
- >>> ean = EAN(u'5901234123457')
+ >>> ean = EAN('5901234123457')
>>> ean
<barcode.ean.EuropeanArticleNumber13 object at 0x00BE98F0>
>>> fullname = ean.save('ean13_barcode')
>>> fullname
- u'ean13_barcode.svg'
+ 'ean13_barcode.svg'
# Example with PNG
>>> from barcode.writer import ImageWriter
- >>> ean = EAN(u'5901234123457', writer=ImageWriter())
+ >>> ean = EAN('5901234123457', writer=ImageWriter())
>>> fullname = ean.save('ean13_barcode')
- u'ean13_barcode.png'
+ 'ean13_barcode.png'
# New in v0.4.2
>>> from StringIO import StringIO
>>> fp = StringIO()
>>> ean.write(fp)
# or
>>> f = open('/my/new/file', 'wb')
- >>> ean.write(f) # PIL (ImageWriter) produces RAW format here
+ >>> ean.write(f) # Pillow (ImageWriter) produces RAW format here
# New in v0.5.0
>>> from barcode import generate
- >>> name = generate('EAN13', u'5901234123457', output='barcode_svg')
+ >>> name = generate('EAN13', '5901234123457', output='barcode_svg')
>>> name
- u'barcode_svg.svg'
+ 'barcode_svg.svg'
# with file like object
>>> fp = StringIO()
- >>> generate('EAN13', u'5901234123457', writer=ImageWriter(), output=fp)
+ >>> generate('EAN13', '5901234123457', writer=ImageWriter(), output=fp)
>>>
Now open ean13_barcode.[svg|png] in a graphic app or simply in your browser
@@ -105,16 +116,29 @@
Commandline::
- $ pybarcode create "My Text" outfile
+ $ python-barcode create "My Text" outfile
New barcode saved as outfile.svg.
- $ pybarcode create -t png "My Text" outfile
+ $ python-barcode create -t png "My Text" outfile
New barcode saved as outfile.png.
- Try `pybarcode -h` for help.
+ Try `python-barcode -h` for help.
Changelog
---------
+ v0.9.1
+ ~~~~~~
+
+ * Officially support Python 3.7
+ * Refer to Pillow in the docs, rather than PIL.
+
+ v0.9.0
+ ~~~~~~
+
+ * Removed buggy ``Barcode.raw`` attribute.
+ * Various CLI errors ironed out.
+ * Make the default value for ``writer_options``` consistent across writers.
+
v0.8.3
~~~~~~
@@ -228,5 +252,7 @@
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Provides-Extra: images
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/setup.py new/python-barcode-0.10.0/setup.py
--- old/python-barcode-0.9.0/setup.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/setup.py 2019-05-24 10:41:57.000000000 +0200
@@ -12,8 +12,8 @@
author='Thorsten Weimann et al',
author_email='weimann.th(a)yahoo.com',
description=(
- 'Create standard barcodes with Python. No external modules needed '
- '(optional PIL support included).'
+ 'Create standard barcodes with Python. No external modules needed. '
+ '(optional Pillow support included).'
),
long_description=Path('README.rst').read_text(),
classifiers=[
@@ -26,6 +26,7 @@
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
'Topic :: Multimedia :: Graphics',
'Topic :: Software Development :: Libraries :: Python Modules',
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/test.py new/python-barcode-0.10.0/test.py
--- old/python-barcode-0.9.0/test.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/test.py 2019-05-24 10:41:57.000000000 +0200
@@ -45,7 +45,7 @@
IMAGES = ('<h3>As PNG-Image</h3><br>\n'
'<img src="{filename}" alt="PNG {name}"></p>\n')
-NO_PIL = '<h3>PIL was not found. No PNG-Image created.</h3></p>\n'
+NO_PIL = '<h3>Pillow was not found. No PNG-Image created.</h3></p>\n'
TESTCODES = (
('ean8', '40267708'),
@@ -149,6 +149,10 @@
isbn = get_barcode('isbn13', '978376926085')
self.assertEqual('9783769260854', isbn.get_fullcode())
+ def test_gs1_128(self):
+ gs1_128 = get_barcode('gs1_128', '00376401856400470087')
+ self.assertEqual('00376401856400470087', gs1_128.get_fullcode())
+
if __name__ == '__main__':
test()
1
0
Hello community,
here is the log from the commit of package python-python-dotenv for openSUSE:Factory checked in at 2019-05-27 08:39:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-dotenv (Old)
and /work/SRC/openSUSE:Factory/.python-python-dotenv.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-dotenv"
Mon May 27 08:39:12 2019 rev:3 rq:705389 version:0.10.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-dotenv/python-python-dotenv.changes 2019-03-10 09:37:02.240152362 +0100
+++ /work/SRC/openSUSE:Factory/.python-python-dotenv.new.5148/python-python-dotenv.changes 2019-05-27 08:39:27.623045830 +0200
@@ -1,0 +2,9 @@
+Sat May 25 08:58:11 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.10.2:
+ * Add type hints and expose them to users (@qnighy)(#172)
+ * load_dotenv and dotenv_values now accept an encoding parameter, defaults to None (@theskumar)(@earlbread)(#161)
+ * Fix str/unicode inconsistency in Python 2: values are always str now. (@bbc2)(#121)
+ * Fix Unicode error in Python 2, introduced in 0.10.0. (@bbc2)(#176)
+
+-------------------------------------------------------------------
Old:
----
python-dotenv-0.10.1.tar.gz
New:
----
python-dotenv-0.10.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-dotenv.spec ++++++
--- /var/tmp/diff_new_pack.8uALDD/_old 2019-05-27 08:39:28.123045635 +0200
+++ /var/tmp/diff_new_pack.8uALDD/_new 2019-05-27 08:39:28.123045635 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-python-dotenv
-Version: 0.10.1
+Version: 0.10.2
Release: 0
Summary: Python library for .env support
License: BSD-3-Clause
@@ -63,7 +63,7 @@
export PATH=%{buildroot}%{_bindir}:$PATH
%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib}
cp %{buildroot}%{_bindir}/dotenv-%{$python_bin_suffix} %{buildroot}%{_bindir}/dotenv
-$python -m pytest
+$python -m pytest -v
}
mv %{buildroot}%{_bindir}/dotenv.orig %{buildroot}%{_bindir}/dotenv
++++++ python-dotenv-0.10.1.tar.gz -> python-dotenv-0.10.2.tar.gz ++++++
++++ 2188 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-python-slugify for openSUSE:Factory checked in at 2019-05-27 08:39:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-slugify (Old)
and /work/SRC/openSUSE:Factory/.python-python-slugify.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-slugify"
Mon May 27 08:39:08 2019 rev:5 rq:705388 version:3.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-slugify/python-python-slugify.changes 2019-03-26 15:45:34.156077730 +0100
+++ /work/SRC/openSUSE:Factory/.python-python-slugify.new.5148/python-python-slugify.changes 2019-05-27 08:39:26.467046281 +0200
@@ -1,0 +2,6 @@
+Sat May 25 08:55:08 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 3.0.2:
+ * Add official support of Py 3.7
+
+-------------------------------------------------------------------
Old:
----
python-slugify-3.0.1.tar.gz
New:
----
python-slugify-3.0.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-slugify.spec ++++++
--- /var/tmp/diff_new_pack.J0v0jD/_old 2019-05-27 08:39:27.027046062 +0200
+++ /var/tmp/diff_new_pack.J0v0jD/_new 2019-05-27 08:39:27.027046062 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-python-slugify
-Version: 3.0.1
+Version: 3.0.2
Release: 0
Summary: Slugify application that handles Unicode
License: MIT
++++++ python-slugify-3.0.1.tar.gz -> python-slugify-3.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slugify-3.0.1/CHANGELOG.md new/python-slugify-3.0.2/CHANGELOG.md
--- old/python-slugify-3.0.1/CHANGELOG.md 2019-03-25 23:24:43.000000000 +0100
+++ new/python-slugify-3.0.2/CHANGELOG.md 2019-03-31 16:15:13.000000000 +0200
@@ -1,3 +1,6 @@
+## 3.0.2
+ - Add official support of Py 3.7
+
## 3.0.1
- Add test.py to manifest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slugify-3.0.1/PKG-INFO new/python-slugify-3.0.2/PKG-INFO
--- old/python-slugify-3.0.1/PKG-INFO 2019-03-25 23:25:02.000000000 +0100
+++ new/python-slugify-3.0.2/PKG-INFO 2019-03-31 16:15:19.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: python-slugify
-Version: 3.0.1
+Version: 3.0.2
Summary: A Python Slugify application that handles Unicode
Home-page: https://github.com/un33k/python-slugify
Author: Val Neekman
@@ -22,4 +22,5 @@
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Provides-Extra: unidecode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slugify-3.0.1/python_slugify.egg-info/PKG-INFO new/python-slugify-3.0.2/python_slugify.egg-info/PKG-INFO
--- old/python-slugify-3.0.1/python_slugify.egg-info/PKG-INFO 2019-03-25 23:25:02.000000000 +0100
+++ new/python-slugify-3.0.2/python_slugify.egg-info/PKG-INFO 2019-03-31 16:15:19.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: python-slugify
-Version: 3.0.1
+Version: 3.0.2
Summary: A Python Slugify application that handles Unicode
Home-page: https://github.com/un33k/python-slugify
Author: Val Neekman
@@ -22,4 +22,5 @@
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Provides-Extra: unidecode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slugify-3.0.1/setup.py new/python-slugify-3.0.2/setup.py
--- old/python-slugify-3.0.1/setup.py 2019-03-03 18:41:22.000000000 +0100
+++ new/python-slugify-3.0.2/setup.py 2019-03-31 16:09:05.000000000 +0200
@@ -32,6 +32,7 @@
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slugify-3.0.1/slugify/__init__.py new/python-slugify-3.0.2/slugify/__init__.py
--- old/python-slugify-3.0.1/slugify/__init__.py 2019-03-25 23:24:43.000000000 +0100
+++ new/python-slugify-3.0.2/slugify/__init__.py 2019-03-31 16:15:13.000000000 +0200
@@ -3,4 +3,4 @@
__author__ = 'Val Neekman @ Neekware Inc. [@vneekman]'
__description__ = 'A Python slugify application that also handles Unicode'
-__version__ = '3.0.1'
+__version__ = '3.0.2'
1
0
Hello community,
here is the log from the commit of package python-pythonfinder for openSUSE:Factory checked in at 2019-05-27 08:39:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pythonfinder (Old)
and /work/SRC/openSUSE:Factory/.python-pythonfinder.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pythonfinder"
Mon May 27 08:39:02 2019 rev:2 rq:705387 version:1.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pythonfinder/python-pythonfinder.changes 2019-03-24 15:00:02.855178925 +0100
+++ /work/SRC/openSUSE:Factory/.python-pythonfinder.new.5148/python-pythonfinder.changes 2019-05-27 08:39:20.619048560 +0200
@@ -1,0 +2,7 @@
+Sat May 25 08:52:45 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.2.1:
+ * Added support for subprocess timeouts while discovering python paths. #62
+- Merged patch setup-ascii.patch
+
+-------------------------------------------------------------------
Old:
----
pythonfinder-1.2.0.tar.gz
setup-ascii.patch
New:
----
pythonfinder-1.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pythonfinder.spec ++++++
--- /var/tmp/diff_new_pack.reH3et/_old 2019-05-27 08:39:21.735048125 +0200
+++ /var/tmp/diff_new_pack.reH3et/_new 2019-05-27 08:39:21.743048122 +0200
@@ -18,15 +18,13 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pythonfinder
-Version: 1.2.0
+Version: 1.2.1
Release: 0
Summary: A tool to locate Python on the system
License: MIT
Group: Development/Languages/Python
URL: https://github.com/sarugaku/pythonfinder
Source: https://github.com/sarugaku/pythonfinder/archive/%{version}.tar.gz#/pythonf…
-# https://github.com/sarugaku/pythonfinder/issues/62
-Patch0: setup-ascii.patch
BuildRequires: %{python_module setuptools >= 36.2.2}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -55,11 +53,6 @@
%prep
%setup -q -n pythonfinder-%{version}
-%patch0 -p1
-# Has no direct dependency on pathlib2 or lru_cache, which it obtains from vistir
-# https://github.com/sarugaku/pythonfinder/pull/63
-sed -i '/pathlib2/d;/lru_cache/d' setup.cfg
-
rm -r tasks
sed -i '/addopts/d' setup.cfg
@@ -78,9 +71,7 @@
%check
# Three tests fail with OSError: [Errno 1] Operation not permitted , attempting
# to modify read-only system image files.
-%{python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} $python -m pytest -k \
- 'not (test_python_versions or test_shims_are_kept or test_shims_are_removed)'
-}
+%pytest -k 'not (test_python_versions or test_shims_are_kept or test_shims_are_removed)'
%files %{python_files}
%doc CHANGELOG.rst README.rst
++++++ pythonfinder-1.2.0.tar.gz -> pythonfinder-1.2.1.tar.gz ++++++
++++ 3995 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-rrdtool for openSUSE:Factory checked in at 2019-05-27 08:38:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rrdtool (Old)
and /work/SRC/openSUSE:Factory/.python-rrdtool.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rrdtool"
Mon May 27 08:38:58 2019 rev:2 rq:705385 version:0.1.15
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rrdtool/python-rrdtool.changes 2019-05-16 22:09:33.934308515 +0200
+++ /work/SRC/openSUSE:Factory/.python-rrdtool.new.5148/python-rrdtool.changes 2019-05-27 08:39:14.547050927 +0200
@@ -1,0 +2,6 @@
+Sat May 25 08:38:54 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.1.15:
+ * no upstream changelog provided
+
+-------------------------------------------------------------------
Old:
----
v0.1.14.tar.gz
New:
----
v0.1.15.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-rrdtool.spec ++++++
--- /var/tmp/diff_new_pack.pZkGZU/_old 2019-05-27 08:39:16.803050048 +0200
+++ /var/tmp/diff_new_pack.pZkGZU/_new 2019-05-27 08:39:16.807050046 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-rrdtool
-Version: 0.1.14
+Version: 0.1.15
Release: 0
Summary: Python bindings for rrdtool
License: LGPL-2.1-or-later
++++++ v0.1.14.tar.gz -> v0.1.15.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/.editorconfig new/python-rrdtool-0.1.15/.editorconfig
--- old/python-rrdtool-0.1.14/.editorconfig 1970-01-01 01:00:00.000000000 +0100
+++ new/python-rrdtool-0.1.15/.editorconfig 2019-05-17 14:18:18.000000000 +0200
@@ -0,0 +1,13 @@
+root = true
+
+[*]
+end_of_line = lf
+insert_final_newline = true
+
+[*.py]
+indent_style = space
+indent_size = 4
+
+[{*.c,*.h}]
+indent_style = space
+indent_size = 4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/.github/ISSUE_TEMPLATE/bug_report.md new/python-rrdtool-0.1.15/.github/ISSUE_TEMPLATE/bug_report.md
--- old/python-rrdtool-0.1.14/.github/ISSUE_TEMPLATE/bug_report.md 1970-01-01 01:00:00.000000000 +0100
+++ new/python-rrdtool-0.1.15/.github/ISSUE_TEMPLATE/bug_report.md 2019-05-17 14:18:18.000000000 +0200
@@ -0,0 +1,29 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: bug
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots and/or console outputs to help explain your problem.
+
+**Desktop (please complete the following information):**
+ - Python version:
+ - RRDtool version:
+ - python-rrdtool version:
+
+**Additional context**
+Add any other context about the problem here.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/.travis.yml new/python-rrdtool-0.1.15/.travis.yml
--- old/python-rrdtool-0.1.14/.travis.yml 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/.travis.yml 2019-05-17 14:18:18.000000000 +0200
@@ -1,13 +1,12 @@
-dist: trusty
+dist: xenial
language: python
sudo: required
python:
- - "2.6"
- "2.7"
- - "3.3"
- "3.4"
- "3.5"
- "3.6"
+ - "3.7"
before_install:
- sudo apt-get -qq update
- sudo apt-get install -y librrd-dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/README.md new/python-rrdtool-0.1.15/README.md
--- old/python-rrdtool-0.1.14/README.md 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/README.md 2019-05-17 14:18:18.000000000 +0200
@@ -1,29 +1,29 @@
[![Build Status](https://travis-ci.org/commx/python-rrdtool.svg?branch=master)](http…
-python-rrdtool
-==============
+# python-rrdtool
-Python bindings for [RRDtool](http://oss.oetiker.ch/rrdtool) with a native C extension.
+Python bindings for [RRDtool](https://oss.oetiker.ch/rrdtool) for Python 2 and 3.
-Supported Python versions: 2.6+, 3.3+.
+The bindings are based on the code of the original Python 2 bindings module for rrdtool by Hye-Shik Chang and are now shipped with the RRDtool distribution. This project is maintained separately to provide a more pythonic way to install those bindings via [PyPI](https://pypi.org).
-The bindings are based on the code of the original Python 2 bindings for rrdtool by Hye-Shik Chang, which are currently shipped as official bindings with rrdtool.
+## Features
-**Note:** python-rrdtool is now the official rrdtool Python binding and shipped with the upstream distribution.
+* Native extension (written in C) for performance reasons.
+* Uses library functions as exposed by librrd.
+* Works with Python 2.6, 2.7, 3.3 and any later version.
-Installation
-------------
-The easy way:
+## Installation
- # pip install rrdtool
+The most convenient way to install (on POSIX-like systems) is to use pip:
-**Note:** This requires rrdtool and it's development files (headers, libraries, dependencies) to be installed.
+ pip install rrdtool
-In case you'd like to build the module on your own, you can obtain a copy of the repository and run `python setup.py install` in it's destination folder to build the native C extension.
+**Note:** Unless binary versions are available for your target system, the command above requires rrdtool development files (headers, libraries, dependencies) to be installed, otherwise building the module will fail.
-Usage
------
+In case you'd like to build the module on your own (regardless of whether binary versions are available for your system), you can obtain a copy of the source code and run `python setup.py install` in its destination folder to build the module.
+
+## Usage
```python
import rrdtool
@@ -35,7 +35,10 @@
rrdtool.update('test.rrd', 'N:32')
```
-Documentation
--------------
+## Documentation
+
+You can find the latest documentation for this project at https://pythonhosted.org/rrdtool.
+
+## License
-You can find the latest documentation for this project at http://pythonhosted.org/rrdtool.
+[GNU Lesser General Public License version 2.1](https://opensource.org/licenses/LGPL-2.1).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/docs/index.rst new/python-rrdtool-0.1.15/docs/index.rst
--- old/python-rrdtool-0.1.14/docs/index.rst 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/docs/index.rst 2019-05-17 14:18:18.000000000 +0200
@@ -10,7 +10,7 @@
The bindings are a fork of the `Python bindings by Hye-Shik Chang <http://www.nongnu.org/py-rrdtool/>`_, which are currently shipped with the official rrdtool source distribution.
-Tables of content
+Table of contents
-----------------
.. toctree::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/docs/usage.rst new/python-rrdtool-0.1.15/docs/usage.rst
--- old/python-rrdtool-0.1.14/docs/usage.rst 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/docs/usage.rst 2019-05-17 14:18:18.000000000 +0200
@@ -42,27 +42,27 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
.. function:: dump(*args)
- Dump an round robin database to XML.
+ Dump a round robin database to XML.
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
.. function:: fetch(*args)
- Fetch data from an round robin database.
+ Fetch data from a round robin database.
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: tuple
@@ -79,7 +79,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: int
@@ -89,7 +89,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
@@ -99,7 +99,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: tuple
@@ -118,7 +118,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: dict
@@ -143,7 +143,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: dict
@@ -175,17 +175,17 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: int
.. function:: lastupdate(*args)
- Returns datetme and value stored for each datum in the most recent update of an RRD.
+ Returns datetime and value stored for each datum in the most recent update of an RRD.
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: dict
@@ -227,7 +227,7 @@
:param callable: A callable method or object
:type callable: callable
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:rtype: None
Example::
@@ -278,7 +278,7 @@
rrdtool.register_fetch_cb(cb) # overwrite callback
rrdtool.graphv(**graphv_args)
- .. note:: This function uses Python long integers on Python 2.x and 3.x to minimize compatibility code requirements (Python 3 has long integers as it's default int anyway).
+ .. note:: This function uses Python long integers on Python 2.x and 3.x to minimize compatibility code requirements (Python 3 has long integers as its default int anyway).
.. note:: This function has been added in rrdtool 1.5.0 and may not be available if compiled against an older version.
@@ -290,7 +290,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
@@ -300,7 +300,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
@@ -310,7 +310,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
@@ -320,7 +320,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: dict
@@ -330,7 +330,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: dict
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/rrdtoolmodule.c new/python-rrdtool-0.1.15/rrdtoolmodule.c
--- old/python-rrdtool-0.1.14/rrdtoolmodule.c 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/rrdtoolmodule.c 2019-05-17 14:18:18.000000000 +0200
@@ -3,7 +3,7 @@
* Based on the rrdtool Python bindings for Python 2 from
* Hye-Shik Chang <perky(a)fallin.lv>.
*
- * Copyright 2012 Christian Jurk <commx(a)commx.ws>
+ * Copyright 2012 Christian Kroeger <commx(a)commx.ws>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -157,13 +157,13 @@
o = PyTuple_GET_ITEM(args, i);
if (PyRRD_String_Check(o))
- (*rrdtool_argv)[++argv_count] = PyRRD_String_AS_STRING(o);
+ (*rrdtool_argv)[++argv_count] = (char *)PyRRD_String_AS_STRING(o);
else if (PyList_CheckExact(o)) {
for (j = 0; j < PyList_Size(o); j++) {
lo = PyList_GetItem(o, j);
if (PyRRD_String_Check(lo))
- (*rrdtool_argv)[++argv_count] = PyRRD_String_AS_STRING(lo);
+ (*rrdtool_argv)[++argv_count] = (char *)PyRRD_String_AS_STRING(lo);
else {
PyMem_Del(*rrdtool_argv);
PyErr_Format(PyExc_TypeError,
@@ -265,7 +265,7 @@
[DS:ds-name[=mapped-ds-name[source-index]]:DST:heartbeat:min:max]\n\
[RRA:CF:xff:steps:rows]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html";
static PyObject *
_rrdtool_create(PyObject *Py_UNUSED(self), PyObject *args)
@@ -304,7 +304,7 @@
file.rrd\n\
[file.xml]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrddump.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrddump.en.html";
static PyObject *
_rrdtool_dump(PyObject *Py_UNUSED(self), PyObject *args)
@@ -343,7 +343,7 @@
N|timestamp:value[:value...]\n\
[timestamp:value[:value...] ...]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdupdate.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdupdate.en.html";
static PyObject *
_rrdtool_update(PyObject *Py_UNUSED(self), PyObject *args)
@@ -417,7 +417,7 @@
[-a|--align-start]\n\
[-d|--daemon address]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdfetch.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdfetch.en.html";
static PyObject *
_rrdtool_fetch(PyObject *Py_UNUSED(self), PyObject *args)
@@ -495,7 +495,7 @@
filename\n\
[filename ...]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdflushcached.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdflushcached.en.html";
static PyObject *
_rrdtool_flushcached(PyObject *Py_UNUSED(self), PyObject *args)
@@ -587,7 +587,7 @@
CDEF:vname=RPN expression\n\
VDEF=vname:RPN expression\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html";
static PyObject *
_rrdtool_graph(PyObject *Py_UNUSED(self), PyObject *args)
@@ -644,7 +644,7 @@
This function works the same way as 'graph', but will return a info\n\
dictionary instead of None.\n\n\
Full documentation can be found at (graphv section):\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html";
static PyObject *
_rrdtool_graphv(PyObject *Py_UNUSED(self), PyObject *args)
@@ -689,7 +689,7 @@
[CDEF:vname=rpn-expression]\n\
[XPORT:vname[:legend]]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdxport.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdxport.en.html";
static PyObject *
_rrdtool_xport(PyObject *Py_UNUSED(self), PyObject *args)
@@ -791,7 +791,7 @@
[-d|--data-source-type ds-name:DST]\n\
[-r|--data-source-rename old-name:new-name]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdtune.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdtune.en.html";
static PyObject *
_rrdtool_tune(PyObject *Py_UNUSED(self), PyObject *args)
@@ -829,7 +829,7 @@
[--rraindex number]\n\
[-d|--daemon address]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdfirst.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdfirst.en.html";
static PyObject *
_rrdtool_first(PyObject *Py_UNUSED(self), PyObject *args)
@@ -864,7 +864,7 @@
filename\n\
[-d|--daemon address]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdlast.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdlast.en.html";
static PyObject *
_rrdtool_last(PyObject *Py_UNUSED(self), PyObject *args)
@@ -901,7 +901,7 @@
GROW|SHRINK\n\
rows\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdlast.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdlast.en.html";
static PyObject *
_rrdtool_resize(PyObject *Py_UNUSED(self), PyObject *args)
@@ -939,7 +939,7 @@
[-d|--daemon address]\n\
[-F|--noflush]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdinfo.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdinfo.en.html";
static PyObject *
_rrdtool_info(PyObject *Py_UNUSED(self), PyObject *args)
@@ -976,7 +976,7 @@
filename\n\
[-d|--daemon address]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdlastupdate.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdlastupdate.en.html";
static PyObject *
_rrdtool_lastupdate(PyObject *Py_UNUSED(self), PyObject *args)
@@ -1052,7 +1052,7 @@
#ifdef WITH_FETCH_CB
-/** An Python object which will hold an callable for fetch callbacks */
+/** A Python object which will hold a callable for fetch callbacks */
static PyObject *_rrdtool_fetch_callable = NULL;
static int
@@ -1143,7 +1143,7 @@
rrd_set_error("expected 'start' key in callback return value to be "
"of type int");
goto gil_release_err;
- } else if (PyObject_RichCompareBool(tmp, tmp_min_ts, Py_EQ) ||
+ } else if (PyObject_RichCompareBool(tmp, tmp_min_ts, Py_EQ) ||
PyObject_RichCompareBool(tmp, po_start, Py_LT)) {
rrd_set_error("expected 'start' value in callback return dict to be "
"equal or earlier than passed start timestamp");
@@ -1181,7 +1181,7 @@
unsigned int x = 0;
while (PyDict_Next(tmp, &pos, &key, &value)) {
- char *key_str = PyRRD_String_AS_STRING(key);
+ const char *key_str = PyRRD_String_AS_STRING(key);
if (key_str == NULL) {
rrd_set_error("key of 'data' element from callback return "
@@ -1240,8 +1240,7 @@
if (exc_value != NULL) {
exc_value_str = PyObject_Str(exc_value);
- char *exc_str = PyRRD_String_AS_STRING(exc_value_str);
- rrd_set_error(exc_str);
+ rrd_set_error((char *)PyRRD_String_AS_STRING(exc_value_str));
Py_DECREF(exc_value);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/rrdtoolmodule.h new/python-rrdtool-0.1.15/rrdtoolmodule.h
--- old/python-rrdtool-0.1.14/rrdtoolmodule.h 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/rrdtoolmodule.h 2019-05-17 14:18:18.000000000 +0200
@@ -35,7 +35,7 @@
const char *filename, /* name of the rrd */
enum cf_en cf_idx, /* consolidation function */
time_t *start,
- time_t *end, /* which time frame do you want ?
+ time_t *end, /* which time frame do you want?
* will be changed to represent reality */
unsigned long *step, /* which stepsize do you want?
* will be changed to represent reality */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/setup.cfg new/python-rrdtool-0.1.15/setup.cfg
--- old/python-rrdtool-0.1.14/setup.cfg 1970-01-01 01:00:00.000000000 +0100
+++ new/python-rrdtool-0.1.15/setup.cfg 2019-05-17 14:18:18.000000000 +0200
@@ -0,0 +1,2 @@
+[metadata]
+license_file = LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/setup.py new/python-rrdtool-0.1.15/setup.py
--- old/python-rrdtool-0.1.14/setup.py 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/setup.py 2019-05-17 14:18:18.000000000 +0200
@@ -12,7 +12,7 @@
package_dir = os.path.abspath(os.path.dirname(__file__))
# package version
-package_version = '0.1.14'
+package_version = '0.1.15'
def check_extensions():
@@ -108,42 +108,49 @@
libraries=libraries)
except CompileError:
sys.exit('Error: Unable to compile the binary module. Do you have the rrdtool header and libraries installed?')
- ret = None
- except LinkError as exc:
- shutil.rmtree(tmp_dir)
- raise # re-raise
+ except LinkError:
+ raise
else:
return exts # seems to be available, compile in regular way
-
- shutil.rmtree(tmp_dir)
- return ret
+ finally:
+ shutil.rmtree(tmp_dir)
def main():
+ with open('README.md') as readme:
+ long_description = readme.read()
+
kwargs = dict(
name='rrdtool',
version=package_version,
description='Python bindings for rrdtool',
+ long_description=long_description,
+ long_description_content_type='text/markdown',
keywords=['rrdtool'],
- author='Christian Kroeger, Hye-Shik Chang',
+ author='Christian Kroeger',
author_email='commx(a)commx.ws',
- license='LGPL',
url='https://github.com/commx/python-rrdtool',
- classifiers=['License :: OSI Approved',
- 'Operating System :: POSIX',
- 'Operating System :: Unix',
- 'Operating System :: MacOS',
- 'Programming Language :: C',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 2.6',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3.3',
- 'Programming Language :: Python :: 3.4',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
+ classifiers=[
+ 'Development Status :: 5 - Production/Stable',
+ 'License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)',
+ 'Operating System :: POSIX',
+ 'Programming Language :: C',
+ 'Programming Language :: Python :: 2',
+ 'Programming Language :: Python :: 2.6',
+ 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.3',
+ 'Programming Language :: Python :: 3.4',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
],
ext_modules=check_extensions(),
- test_suite='tests'
+ test_suite='tests',
+ package_data={
+ '': ['LICENSE']
+ },
+ python_requires='>=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4'
)
setup(**kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/tests/test_fetch_cb.py new/python-rrdtool-0.1.15/tests/test_fetch_cb.py
--- old/python-rrdtool-0.1.14/tests/test_fetch_cb.py 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/tests/test_fetch_cb.py 2019-05-17 14:18:18.000000000 +0200
@@ -1,13 +1,12 @@
-import base64
import math
-import os
import rrdtool
import unittest
import sys
class TestFetchCallback(unittest.TestCase):
- def check_skip(self):
+ @staticmethod
+ def check_skip():
if not hasattr(rrdtool, 'register_fetch_cb'):
if sys.version_info >= (2, 7):
raise unittest.SkipTest('register_fetch_cb not available')
@@ -46,7 +45,13 @@
rrdtool.register_fetch_cb(my_callback)
- self.assertRaisesRegex(
+ # TestCase.assertRaisesRegexp was renamed in Python 3.2
+ if sys.version_info >= (3, 2):
+ assert_raises_regex = self.assertRaisesRegex
+ else:
+ assert_raises_regex = self.assertRaisesRegexp
+
+ assert_raises_regex(
rrdtool.OperationalError,
'expected callback method to be a dict',
rrdtool.graphv,
@@ -81,4 +86,4 @@
if __name__ == '__main__':
- unittest.main()
\ No newline at end of file
+ unittest.main()
1
0
Hello community,
here is the log from the commit of package pmacct for openSUSE:Factory checked in at 2019-05-27 08:38:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pmacct (Old)
and /work/SRC/openSUSE:Factory/.pmacct.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pmacct"
Mon May 27 08:38:54 2019 rev:2 rq:705313 version:1.7.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/pmacct/pmacct.changes 2019-01-08 12:28:43.696255805 +0100
+++ /work/SRC/openSUSE:Factory/.pmacct.new.5148/pmacct.changes 2019-05-27 08:39:13.015051524 +0200
@@ -1,0 +2,147 @@
+Thu May 16 18:02:07 UTC 2019 - Martin Hauke <mardnh(a)gmx.de>
+
+- Update to version 1.7.3
+ + Introduced the RPKI daemon to build a ROA database and check prefixes
+ validation status and coverages. Resource Public Key Infrastructure
+ (RPKI) is a specialized public key infrastructure (PKI) framework
+ designed to secure the Internet routing. RPKI uses certificates to
+ allow Local Internet Registries (LIRs) to list the Internet number
+ resources they hold. These attestations are called Route Origination
+ Authorizations (ROAs). ROA information can be acquired in one of the
+ two following ways: 1) importing it using the rpki_roas_file config
+ directive from a file in the RIPE Validator format or 2) connecting
+ to a RPKI RTR Cache for live ROA updates; the cache IP address/port
+ being defined by the rpki_rtr_cache config directive (and a few more
+ optional rpki_rtr_* directives are available and can be reviwed in
+ the CONFIG-KEYS doc). The ROA fields will be populated with one of
+ these five values: 'u' Unknown, 'v' Valid, 'i' Invalid no overlaps,
+ 'V' Invalid with a covering Valid prefix, 'U' Invalid with a covering
+ Unknown prefix.
+ + Introducing pmgrpcd.py, written in Python, a daemon to handle gRPC-
+ based Streaming Telemetry sessions and unmarshall GPB data. Code
+ was mostly courtesy by Matthias Arnold ( @tbearma1 ). This is in
+ addition (or feeding into) pmtelemetryd, written in C, a daemon to
+ handle TCP/UDP-based Streaming Telemetry sessions with JSON-encoded
+ data.
+ + pmacctd, uacctd: added support for CFP (Cisco FabricPath) and Cisco
+ Virtual Network Tag protocols.
+ + print plugin: added 'custom' to print_output. This is to cover two
+ main use-cases: 1) use JSON or Avro encodings but fix the format of
+ the messages in a custom way and 2) use a different encoding than
+ JSON or Avro. See also example in examples/custom and new directives
+ print_output_custom_lib and print_output_custom_cfg_file. The patch
+ was courtesy by Edge Intelligence ( @edge-intelligence ).
+ + Introducing mpls_pw_id aggregation primitive and mpls_pw_id key in
+ pre_tag_map to filter on signalled L2 MPLS VPN Pseudowire IDs.
+ + BGP daemon: added bgp_disable_router_id knob to enable/disable BGP
+ Router-ID check, both at BGP OPEN time and BGP lookup. Useful, for
+ example, in scenarios with split BGP v4/v6 AFs over v4/v6 transports.
+ + BGP, BMP daemons: translate origin attribute numeric value into IGP
+ (i), EGP (e) and Incomplete (u) strings.
+ + plugins: added new plugin_exit_any feature to make the daemon bail
+ out if any (not all, which is the default behaviour) of the plugins
+ exits.
+ + maps_index: improved selection of buckets for index hash structure
+ by picking the closest prime number to the double of the entries of
+ the map to be indexed in order to achieve better elements dispersion
+ and hence better performances.
+ + nfacctd: added support for IPFIX templateId-scoped (IE 145) sampling
+ information.
+ + pmacctd, uacctd, sfacctd, nfacctd: added a -M command-line option to
+ set *_markers (ie. print_markers) to true and fixed -A command-line
+ option to set print_output_file_append to align to true/false.
+ ! fix, BGP, BMP, Streaming Telemetry daemons: improved sequencing of
+ dump events by assigning a single sequence number per event (ie. for
+ streaming pipeline scenarios in order to reduce correlation with
+ dump_init/dump_close messages). Also amount of record dumped was
+ added to the close message.
+ ! fix, BGP, BMP, Streaming Telemetry daemons: removed hierarchical
+ json_decref() since json_object_get() borrows reference. This was
+ occasionaly leading to SEGVs.
+ ! fix, uacctd: dynamically allocate jumbo_container buffer size as
+ packets larger than 10KB, previous static allocation, would lead to
+ crashes.
+ ! fix, nfacctd: wired (BGP, BMP, ISIS, etc.) lookups to the NEL/NSEL
+ use-case.
+ ! fix, nfacctd: search for IE 408 (dataLinkFrameType) was leading to
+ SEGVs. Also improved handling of variable-length IPFIX templates.
+ ! fix, BMP daemon: solved an occasional truncation of the last message
+ in a packet.
+ ! fix, BGP daemon: when processing bgp_daemon_md5_file, ipv4 addresses
+ were incorrectly translated to ipv4-mapped ipv6 ones as a result of
+ which TCP-MD5 hashes were not correctly bound to sockets.
+ ! fix, BGP daemon: improved label-unicast and mpls-vpn SAFIs handling
+ (some bogus messages, multiple labels, etc.).
+ ! fix, BGP daemon: introduced PREFIX_STRLEN to make enough room for
+ prefix2str() calls (before unsufficient INET6_ADDRSTRLEN was used).
+ ! fix, BMP daemon: improved handling of ADD-PATH capability.
+ ! fix, plugins: an incorrect evaluation in P_cache_attach_new_node did
+ make possible to buffer overrun in plugins cache allocation. This was
+ found related to a "[..]: Assertion `!cache_ptr->stitch' failed."
+ daemon bail-out message.
+ ! fix, plugins: if pidfile directive was enabled, exit_gracefully() was
+ mistakenly deleting the plugin pidfile when called by a child process
+ (ie. writer, dumper, etc.).
+ ! fix, plugins: when taking exit_gracefully(), if the process is marked
+ as 'is_forked', just exit and don't perform extra ops in exit_all()
+ or exit_plugin().
+ ! fix, plugins: re-evaluate dynamic tables/files name if *_refresh_time
+ is different than *_history period.
+ ! fix, SQL plugins: a missing 'AND' was making SQL statements related
+ to src_host_coords and dst_host_coords fail.
+ ! fix, GeoIPv2: if no match is returned by libmaxminddb, return O1 code
+ (Other Country) instead of a null value.
+ ! fix, flow_to_rd_map: mpls_vpn_id was not working when maps_index was
+ enabled. Also partly re-written mpls_vpn_id handler.
+ ! fix, nfprobe plugin: serialize_bin() function introduced for correct
+ serialization of custom primitives defined with 'raw' semantics.
+ ! fix, PostgreSQL plugin: testing for presence of PQlibVersion() in
+ libpq to prevent compiling issues (ie. on CentOS 6).
+ ! fix, MySQL plugin: including mysql_version.h to compile successfully
+ against newer MariaDB releases.
+ ! fix, nDPI classification: send log message if 'class' primitive is
+ selected but nDPI is not compiled in; also updated code to follow
+ API changes in versions >= 2.6 of the library. Dropped support for
+ versions < 2.4.
+ ! fix, sfprobe plugin: added (and documented) conditional for optional
+ export of classification info.
+ ! fix, aggregate_primitives: field_type is now also allowed for pmacctd
+ and uaccd daemons so that it can be used for NetFlow v9/IPFIX export
+ (nfprobe plugin) purposes.
+ ! fix, pre_tag_map: if no 'ip' keyword is specified, an entry of the
+ map gets recirculated in order to be set for both v4 and v6 maps. If
+ a 'set_label' is also specified, it was causing a SEGV. Now the label
+ is correctly copied in case of recirculation.
+ ! fix, zmq_common.c: added option for non-blocking p_zmq_send_bin() as
+ otherwise program would block in case of no consumers (main use-case:
+ flow replication over ZeroMQ queues); as a result, a generous hwm
+ value was added on both sides of these queues.
+ ! fix, zmq_common.c: ZAP socket moved inside thread to prevent failed
+ assert() when compiling with gcc7/gcc8. Also a single user/password
+ auto-generated combination is used for all plugins.
+ ! fix, signals.c: SIGUSR1 handler for nfacctd and nfacctd is changed to
+ syncronous in order to prevent race conditions. Also, in pmacctd,
+ upon sending SIGUSR1, stats were not printed when reading packets
+ from a pcap_interfaaces_map.
+ ! fix, plugin_cmn_json.c: if leaving protocols numerical (ie. proto,
+ tunnel_proto primitives), convert them to string-represented numbers
+ for data consistency for consumers.
+ ! fix, util.c: open_output_file(), if file exists and it's a FIFO then
+ set O_NONBLOCK when opening.
+ ! fix, pretag.c: pretag_index_report() was reporting incorrect info of
+ the hash structure built for the maps_index feature. Its format was
+ has also changed to be better parseable.
+ ! fix, compile time warnings: several warnings were addressed including
+ but not restricted to -Wformat ones. Also an annotation was added to
+ the Log function to inform the compiler it's a printf-style function,
+ allowing it to give warnings for argument mismatches.
+ - --enable-ipv6 configure script switch has been deprecated and, as a
+ result, IPv6 support was made mandatory.
+ - BGP daemon: removed unused pathlimit field from bgp_attr structure.
+ - pmacct client: removed deprecated SYM field from from formatted and
+ CSV headers.
+- Build with support for
+ * ZeroMQ
+ * Maxmind GeoIP DB v2
+
+-------------------------------------------------------------------
Old:
----
pmacct-1.7.2.tar.gz
New:
----
pmacct-1.7.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pmacct.spec ++++++
--- /var/tmp/diff_new_pack.PHkdpp/_old 2019-05-27 08:39:13.627051286 +0200
+++ /var/tmp/diff_new_pack.PHkdpp/_new 2019-05-27 08:39:13.631051285 +0200
@@ -1,7 +1,7 @@
#
# spec file for package pmacct
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,6 +15,7 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
@@ -23,7 +24,7 @@
%bcond_with ndpi
Name: pmacct
-Version: 1.7.2
+Version: 1.7.3
Release: 0
Summary: Accounting and aggregation toolsuite for IPv4 and IPv6
License: GPL-2.0-only
@@ -52,6 +53,8 @@
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(geoip)
BuildRequires: pkgconfig(jansson)
+BuildRequires: pkgconfig(libmaxminddb)
+BuildRequires: pkgconfig(libzmq)
%if %{with ndpi}
BuildRequires: pkgconfig(libndpi)
%endif
@@ -83,7 +86,6 @@
--docdir="%{_docdir}/%{name}" \
--enable-mmap \
--enable-l2 \
- --enable-ipv6 \
--enable-mysql \
--enable-pgsql \
--enable-sqlite3 \
@@ -102,7 +104,6 @@
make %{?_smp_mflags}
-
%install
%make_install
@@ -128,9 +129,10 @@
# remove unneeded files
rm -rf %{buildroot}/%{_datadir}/pmacct/examples/lg
+rm -rf %{buildroot}/%{_libdir}/pmacct/examples/lg
+rm -rf %{buildroot}/%{_libdir}/pmacct/examples/custom/libcustom.la
rm -rf %{buildroot}/%{_datadir}/pmacct/{CONFIG-KEYS,FAQS,QUICKSTART,UPGRADE,docs}
-
%pre
%service_add_pre nfacctd.service pmacctd.service sfacctd.service
++++++ pmacct-1.7.2.tar.gz -> pmacct-1.7.3.tar.gz ++++++
++++ 26115 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package os-autoinst for openSUSE:Factory checked in at 2019-05-27 08:38:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
and /work/SRC/openSUSE:Factory/.os-autoinst.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst"
Mon May 27 08:38:49 2019 rev:61 rq:705312 version:4.5.1558691185.f7da5cd0
Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-test.changes 2019-05-24 11:30:36.013418595 +0200
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.5148/os-autoinst-test.changes 2019-05-27 08:39:07.919053512 +0200
@@ -1,0 +2,7 @@
+Fri May 24 22:50:36 UTC 2019 - okurz(a)suse.com
+
+- Update to version 4.5.1558691185.f7da5cd0:
+ * Avoid "unitialized value in string eq" warning
+ * Add quiet option to wait_serial()
+
+-------------------------------------------------------------------
os-autoinst.changes: same change
Old:
----
os-autoinst-4.5.1558432600.6c62e09d.obscpio
New:
----
os-autoinst-4.5.1558691185.f7da5cd0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.iGXgmM/_old 2019-05-27 08:39:09.355052951 +0200
+++ /var/tmp/diff_new_pack.iGXgmM/_new 2019-05-27 08:39:09.355052951 +0200
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst
Name: %{short_name}%{?name_ext}
-Version: 4.5.1558432600.6c62e09d
+Version: 4.5.1558691185.f7da5cd0
Release: 0
Summary: test package for os-autoinst
License: GPL-2.0-or-later
++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.iGXgmM/_old 2019-05-27 08:39:09.375052944 +0200
+++ /var/tmp/diff_new_pack.iGXgmM/_new 2019-05-27 08:39:09.375052944 +0200
@@ -17,7 +17,7 @@
Name: os-autoinst
-Version: 4.5.1558432600.6c62e09d
+Version: 4.5.1558691185.f7da5cd0
Release: 0
Summary: OS-level test automation
License: GPL-2.0-or-later
++++++ os-autoinst-4.5.1558432600.6c62e09d.obscpio -> os-autoinst-4.5.1558691185.f7da5cd0.obscpio ++++++
/work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-4.5.1558432600.6c62e09d.obscpio /work/SRC/openSUSE:Factory/.os-autoinst.new.5148/os-autoinst-4.5.1558691185.f7da5cd0.obscpio differ: char 50, line 1
++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.iGXgmM/_old 2019-05-27 08:39:09.435052920 +0200
+++ /var/tmp/diff_new_pack.iGXgmM/_new 2019-05-27 08:39:09.435052920 +0200
@@ -1,5 +1,5 @@
name: os-autoinst
-version: 4.5.1558432600.6c62e09d
-mtime: 1558432600
-commit: 6c62e09dfa463ac608dd6ef071b99f60c37dabfb
+version: 4.5.1558691185.f7da5cd0
+mtime: 1558691185
+commit: f7da5cd086dac10771e09db715116188313159f3
1
0
Hello community,
here is the log from the commit of package python-readthedocs-sphinx-ext for openSUSE:Factory checked in at 2019-05-27 08:38:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-readthedocs-sphinx-ext (Old)
and /work/SRC/openSUSE:Factory/.python-readthedocs-sphinx-ext.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-readthedocs-sphinx-ext"
Mon May 27 08:38:44 2019 rev:1 rq:705299 version:0.5.17
Changes:
--------
New Changes file:
--- /dev/null 2019-05-02 15:18:01.516169518 +0200
+++ /work/SRC/openSUSE:Factory/.python-readthedocs-sphinx-ext.new.5148/python-readthedocs-sphinx-ext.changes 2019-05-27 08:38:47.671061405 +0200
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------
+Fri May 24 19:58:32 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Initial commit, needed by rdt_theme
New:
----
LICENSE
python-readthedocs-sphinx-ext.changes
python-readthedocs-sphinx-ext.spec
readthedocs-sphinx-ext-0.5.17.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-readthedocs-sphinx-ext.spec ++++++
#
# spec file for package python-readthedocs-sphinx-ext
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-readthedocs-sphinx-ext
Version: 0.5.17
Release: 0
Summary: Sphinx extension for Read the Docs overrides
License: MIT
Group: Development/Languages/Python
URL: http://github.com/rtfd/readthedocs-sphinx-ext
Source: https://files.pythonhosted.org/packages/source/r/readthedocs-sphinx-ext/rea…
# https://github.com/rtfd/readthedocs-sphinx-ext/pull/65
Source1: https://raw.githubusercontent.com/rtfd/readthedocs-sphinx-ext/master/LICENSE
BuildRequires: %{python_module Sphinx}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-Sphinx
Requires: python-requests
BuildArch: noarch
%python_subpackages
%description
This module adds extensions that make Sphinx easier to use.
Some of them require Read the Docs features,
others are just code that we ship and enable during builds on Read the Docs.
%prep
%setup -q -n readthedocs-sphinx-ext-%{version}
cp %{SOURCE1} .
%build
%python_build
%install
%python_install
%python_expand rm -r %{buildroot}%{$python_sitelib}/tests/
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%pytest
%files %{python_files}
%doc README.rst
%license LICENSE
%{python_sitelib}/*
%changelog
++++++ LICENSE ++++++
Copyright (c) 2010-2019 Read the Docs, Inc & contributors
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
1
0
Hello community,
here is the log from the commit of package python-testinfra for openSUSE:Factory checked in at 2019-05-27 08:38:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-testinfra (Old)
and /work/SRC/openSUSE:Factory/.python-testinfra.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-testinfra"
Mon May 27 08:38:34 2019 rev:6 rq:705297 version:3.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-testinfra/python-testinfra.changes 2019-05-22 15:39:34.302508205 +0200
+++ /work/SRC/openSUSE:Factory/.python-testinfra.new.5148/python-testinfra.changes 2019-05-27 08:38:38.755064881 +0200
@@ -1,0 +2,6 @@
+Fri May 24 19:26:49 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 3.0.4:
+ * Add support for ansible lxc and lxd connections
+
+-------------------------------------------------------------------
Old:
----
testinfra-3.0.3.tar.gz
New:
----
testinfra-3.0.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-testinfra.spec ++++++
--- /var/tmp/diff_new_pack.wdXEQI/_old 2019-05-27 08:38:39.635064537 +0200
+++ /var/tmp/diff_new_pack.wdXEQI/_new 2019-05-27 08:38:39.655064529 +0200
@@ -12,13 +12,13 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-testinfra
-Version: 3.0.3
+Version: 3.0.4
Release: 0
Summary: Test infrastructures
License: Apache-2.0
++++++ testinfra-3.0.3.tar.gz -> testinfra-3.0.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/CHANGELOG.rst new/testinfra-3.0.4/CHANGELOG.rst
--- old/testinfra-3.0.3/CHANGELOG.rst 2019-05-09 23:33:33.000000000 +0200
+++ new/testinfra-3.0.4/CHANGELOG.rst 2019-05-18 15:40:43.000000000 +0200
@@ -2,6 +2,11 @@
Changelog
=========
+3.0.4
+=====
+
+* Add support for ansible lxc and lxd connections
+
3.0.3
=====
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/PKG-INFO new/testinfra-3.0.4/PKG-INFO
--- old/testinfra-3.0.3/PKG-INFO 2019-05-09 23:54:17.000000000 +0200
+++ new/testinfra-3.0.4/PKG-INFO 2019-05-18 15:41:22.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: testinfra
-Version: 3.0.3
+Version: 3.0.4
Summary: Test infrastructures
Home-page: https://github.com/philpep/testinfra
Author: Philippe Pepiot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/doc/source/backends.rst new/testinfra-3.0.4/doc/source/backends.rst
--- old/testinfra-3.0.3/doc/source/backends.rst 2019-05-09 22:56:12.000000000 +0200
+++ new/testinfra-3.0.4/doc/source/backends.rst 2019-05-18 15:38:58.000000000 +0200
@@ -108,10 +108,10 @@
$ py.test --hosts='winrm://vagrant@127.0.0.1:2200?read_timeout_sec=120&operation_timeout_sec=100'
-LXC
-~~~
+LXC/LXD
+~~~~~~~
-The LXC backend can be used to test *running* LXC containers. It uses the
+The LXC backend can be used to test *running* LXC or LXD containers. It uses the
`lxc exec <https://linuxcontainers.org/lxd/getting-started-cli/>`_ command::
$ py.test --hosts='lxc://container_name'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/test/test_modules.py new/testinfra-3.0.4/test/test_modules.py
--- old/testinfra-3.0.3/test/test_modules.py 2019-05-09 23:53:28.000000000 +0200
+++ new/testinfra-3.0.4/test/test_modules.py 2019-05-18 15:38:54.000000000 +0200
@@ -341,7 +341,6 @@
assert variables["groups"] == {
"all": ["debian_stretch"],
"testgroup": ["debian_stretch"],
- "ungrouped": [],
}
with pytest.raises(host.ansible.AnsibleException) as excinfo:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/test-requirements.txt new/testinfra-3.0.4/test-requirements.txt
--- old/testinfra-3.0.3/test-requirements.txt 2019-05-07 22:51:21.000000000 +0200
+++ new/testinfra-3.0.4/test-requirements.txt 2019-05-18 15:38:54.000000000 +0200
@@ -5,4 +5,4 @@
tornado<5
salt
pywinrm
-ansible>=2.4,<3
+ansible>=2.8,<3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/testinfra/utils/ansible_runner.py new/testinfra-3.0.4/testinfra/utils/ansible_runner.py
--- old/testinfra-3.0.3/testinfra/utils/ansible_runner.py 2019-05-09 23:53:28.000000000 +0200
+++ new/testinfra-3.0.4/testinfra/utils/ansible_runner.py 2019-05-18 15:38:58.000000000 +0200
@@ -64,9 +64,11 @@
return testinfra.get_host('local://')
hostvars = inventory['_meta'].get('hostvars', {}).get(host, {})
connection = hostvars.get('ansible_connection', 'ssh')
- if connection not in ('ssh', 'local', 'docker'):
+ if connection not in ('ssh', 'local', 'docker', 'lxc', 'lxd'):
raise NotImplementedError(
'unhandled ansible_connection {}'.format(connection))
+ if connection == 'lxd':
+ connection = 'lxc'
if connection == 'ssh':
connection = 'paramiko'
testinfra_host = hostvars.get('ansible_host', host)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/testinfra.egg-info/PKG-INFO new/testinfra-3.0.4/testinfra.egg-info/PKG-INFO
--- old/testinfra-3.0.3/testinfra.egg-info/PKG-INFO 2019-05-09 23:54:17.000000000 +0200
+++ new/testinfra-3.0.4/testinfra.egg-info/PKG-INFO 2019-05-18 15:41:22.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: testinfra
-Version: 3.0.3
+Version: 3.0.4
Summary: Test infrastructures
Home-page: https://github.com/philpep/testinfra
Author: Philippe Pepiot
1
0
Hello community,
here is the log from the commit of package python-validators for openSUSE:Factory checked in at 2019-05-27 08:38:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-validators (Old)
and /work/SRC/openSUSE:Factory/.python-validators.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-validators"
Mon May 27 08:38:31 2019 rev:6 rq:705296 version:0.13.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-validators/python-validators.changes 2019-05-24 11:31:02.497411774 +0200
+++ /work/SRC/openSUSE:Factory/.python-validators.new.5148/python-validators.changes 2019-05-27 08:38:32.527067308 +0200
@@ -1,0 +2,6 @@
+Fri May 24 19:11:44 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.13.0:
+ * Added new validator: es_doi, es_nif, es_cif, es_nie (#121, pull request courtesy kingbuzzman)
+
+-------------------------------------------------------------------
Old:
----
validators-0.12.6.tar.gz
New:
----
validators-0.13.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-validators.spec ++++++
--- /var/tmp/diff_new_pack.UjDHsa/_old 2019-05-27 08:38:33.103067083 +0200
+++ /var/tmp/diff_new_pack.UjDHsa/_new 2019-05-27 08:38:33.107067082 +0200
@@ -18,26 +18,25 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-validators
-Version: 0.12.6
+Version: 0.13.0
Release: 0
Summary: Python Data Validation
License: MIT
Group: Development/Languages/Python
-Url: https://github.com/kvesteri/validators
+URL: https://github.com/kvesteri/validators
Source: https://files.pythonhosted.org/packages/source/v/validators/validators-%{ve…
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
+Requires: python-decorator >= 3.4.0
+Requires: python-six >= 1.4.0
+BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module decorator >= 3.4.0}
-BuildRequires: %{python_module nose}
+BuildRequires: %{python_module isort >= 4.2.2}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module six >= 1.4.0}
# /SECTION
-Requires: python-decorator >= 3.4.0
-Requires: python-six >= 1.4.0
-BuildArch: noarch
-
%python_subpackages
%description
++++++ validators-0.12.6.tar.gz -> validators-0.13.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/CHANGES.rst new/validators-0.13.0/CHANGES.rst
--- old/validators-0.12.6/CHANGES.rst 2019-05-08 08:47:31.000000000 +0200
+++ new/validators-0.13.0/CHANGES.rst 2019-05-20 09:50:32.000000000 +0200
@@ -2,6 +2,12 @@
---------
+0.13.0 (2019-05-20)
+^^^^^^^^^^^^^^^^^^^
+
+- Added new validator: ``es_doi``, ``es_nif``, ``es_cif``, ``es_nie`` (#121, pull request courtesy kingbuzzman)
+
+
0.12.6 (2019-05-08)
^^^^^^^^^^^^^^^^^^^
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/PKG-INFO new/validators-0.13.0/PKG-INFO
--- old/validators-0.12.6/PKG-INFO 2019-05-08 08:49:11.000000000 +0200
+++ new/validators-0.13.0/PKG-INFO 2019-05-20 09:51:02.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: validators
-Version: 0.12.6
+Version: 0.13.0
Summary: Python Data Validation for Humans™.
Home-page: https://github.com/kvesteri/validators
Author: Konsta Vesterinen
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/docs/index.rst new/validators-0.13.0/docs/index.rst
--- old/validators-0.12.6/docs/index.rst 2017-06-03 16:07:19.000000000 +0200
+++ new/validators-0.13.0/docs/index.rst 2019-05-20 09:49:33.000000000 +0200
@@ -32,7 +32,8 @@
pip install validators
-Currently ``validators`` supports python versions 2.7, 3.3, 3.4, 3.5 and PyPy.
+Currently ``validators`` supports python versions 2.7, 3.3, 3.4, 3.5, 3.6, 3.7
+and PyPy.
Basic validators
@@ -193,6 +194,32 @@
i18n validators
===============
+Spanish
+-------
+
+.. module:: validators.i18n.es
+
+es_doi
+^^^^^^
+
+.. autofunction:: es_doi
+
+es_nif
+^^^^^^
+
+.. autofunction:: es_nif
+
+es_nie
+^^^^^^
+
+.. autofunction:: es_nie
+
+es_cif
+^^^^^^
+
+.. autofunction:: es_cif
+
+
Finnish
-------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/tests/i18n/test_es.py new/validators-0.13.0/tests/i18n/test_es.py
--- old/validators-0.12.6/tests/i18n/test_es.py 1970-01-01 01:00:00.000000000 +0100
+++ new/validators-0.13.0/tests/i18n/test_es.py 2019-05-20 09:49:33.000000000 +0200
@@ -0,0 +1,105 @@
+# -*- coding: utf-8 -*-
+import pytest
+
+from validators import ValidationFailure
+from validators.i18n.es import es_cif, es_doi, es_nie, es_nif
+
+
+(a)pytest.mark.parametrize(('value',), [
+ ('B25162520',),
+ ('U4839822F',),
+ ('B96817697',),
+ ('P7067074J',),
+ ('Q7899705C',),
+ ('C75098681',),
+ ('G76061860',),
+ ('C71345375',),
+ ('G20558169',),
+ ('U5021960I',),
+])
+def test_returns_true_on_valid_cif(value):
+ assert es_cif(value)
+
+
+(a)pytest.mark.parametrize(('value',), [
+ ('12345',),
+ ('ABCDEFGHI',),
+ ('Z5021960I',),
+])
+def test_returns_false_on_invalid_cif(value):
+ result = es_cif(value)
+ assert isinstance(result, ValidationFailure)
+
+
+(a)pytest.mark.parametrize(('value',), [
+ ('X0095892M',),
+ ('X8868108K',),
+ ('X2911154K',),
+ ('Y2584969J',),
+ ('X7536157T',),
+ ('Y5840388N',),
+ ('Z2915723H',),
+ ('Y4002236C',),
+ ('X7750702R',),
+ ('Y0408759V',),
+])
+def test_returns_true_on_valid_nie(value):
+ assert es_nie(value)
+
+
+(a)pytest.mark.parametrize(('value',), [
+ ('K0000023T',),
+ ('L0000024R',),
+ ('M0000025W',),
+ ('00000026A',),
+ ('00000027G',),
+ ('00000028M',),
+ ('00000029Y',),
+ ('00000030F',),
+ ('00000031P',),
+ ('00000032D',),
+ ('00000033X',),
+ ('00000034B',),
+ ('00000035N',),
+ ('00000036J',),
+ ('00000037Z',),
+ ('00000038S',),
+ ('00000039Q',),
+ ('00000040V',),
+ ('00000041H',),
+ ('00000042L',),
+ ('00000043C',),
+ ('00000044K',),
+ ('00000045E',),
+])
+def test_returns_true_on_valid_nif(value):
+ assert es_nif(value)
+
+
+(a)pytest.mark.parametrize(('value',), [
+ ('12345',),
+ ('X0000000T',),
+ ('00000000T',),
+ ('00000001R',),
+])
+def test_returns_false_on_invalid_nif(value):
+ result = es_nif(value)
+ assert isinstance(result, ValidationFailure)
+
+
+(a)pytest.mark.parametrize(('value',), [
+ # CIFs
+ ('B25162520',),
+ ('U4839822F',),
+ ('B96817697',),
+ # NIEs
+ ('X0095892M',),
+ ('X8868108K',),
+ ('X2911154K',),
+ # NIFs
+ ('26643189N',),
+ ('07060225F',),
+ ('49166693F',),
+])
+def test_returns_true_on_valid_doi(value):
+ assert es_doi(value)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/tests/i18n/test_fi.py new/validators-0.13.0/tests/i18n/test_fi.py
--- old/validators-0.12.6/tests/i18n/test_fi.py 2018-11-13 13:11:17.000000000 +0100
+++ new/validators-0.13.0/tests/i18n/test_fi.py 2019-05-20 09:49:33.000000000 +0200
@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
import pytest
-from validators import fi_business_id, fi_ssn, ValidationFailure
+from validators import ValidationFailure
+from validators.i18n.fi import fi_business_id, fi_ssn
@pytest.mark.parametrize(('value',), [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/validators/__init__.py new/validators-0.13.0/validators/__init__.py
--- old/validators-0.12.6/validators/__init__.py 2019-05-08 08:47:35.000000000 +0200
+++ new/validators-0.13.0/validators/__init__.py 2019-05-20 09:49:33.000000000 +0200
@@ -1,17 +1,22 @@
-from .between import between # noqa
-from .domain import domain # noqa
-from .email import email # noqa
-from .extremes import Max, Min # noqa
-from .hashes import md5, sha1, sha224, sha256, sha512 # noqa
-from .i18n import fi_business_id, fi_ssn # noqa
-from .iban import iban # noqa
-from .ip_address import ipv4, ipv6 # noqa
-from .length import length # noqa
-from .mac_address import mac_address # noqa
-from .slug import slug # noqa
-from .truthy import truthy # noqa
-from .url import url # noqa
-from .utils import ValidationFailure, validator # noqa
-from .uuid import uuid # noqa
+from .between import between
+from .domain import domain
+from .email import email
+from .extremes import Max, Min
+from .hashes import md5, sha1, sha224, sha256, sha512
+from .i18n import fi_business_id, fi_ssn
+from .iban import iban
+from .ip_address import ipv4, ipv6
+from .length import length
+from .mac_address import mac_address
+from .slug import slug
+from .truthy import truthy
+from .url import url
+from .utils import ValidationFailure, validator
+from .uuid import uuid
-__version__ = '0.12.6'
+__all__ = ('between', 'domain', 'email', 'Max', 'Min', 'md5', 'sha1', 'sha224',
+ 'sha256', 'sha512', 'fi_business_id', 'fi_ssn', 'iban', 'ipv4',
+ 'ipv6', 'length', 'mac_address', 'slug', 'truthy', 'url',
+ 'ValidationFailure', 'validator', 'uuid')
+
+__version__ = '0.13.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/validators/i18n/__init__.py new/validators-0.13.0/validators/i18n/__init__.py
--- old/validators-0.12.6/validators/i18n/__init__.py 2015-10-10 08:47:54.000000000 +0200
+++ new/validators-0.13.0/validators/i18n/__init__.py 2019-05-20 09:49:33.000000000 +0200
@@ -1 +1,4 @@
+# TODO: remove, let the user import it if they really want it
from .fi import fi_business_id, fi_ssn # noqa
+
+__all__ = ('fi_business_id', 'fi_ssn')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/validators/i18n/es.py new/validators-0.13.0/validators/i18n/es.py
--- old/validators-0.12.6/validators/i18n/es.py 1970-01-01 01:00:00.000000000 +0100
+++ new/validators-0.13.0/validators/i18n/es.py 2019-05-20 09:49:33.000000000 +0200
@@ -0,0 +1,200 @@
+# -*- coding: utf-8 -*-
+from validators.utils import validator
+
+__all__ = ('es_cif', 'es_nif', 'es_nie', 'es_doi',)
+
+
+def nif_nie_validation(doi, number_by_letter, special_cases):
+ """
+ Validate if the doi is a NIF or a NIE.
+ :param doi: DOI to validate.
+ :return: boolean if it's valid.
+ """
+ doi = doi.upper()
+ if doi in special_cases:
+ return False
+
+ table = 'TRWAGMYFPDXBNJZSQVHLCKE'
+
+ if len(doi) != 9:
+ return False
+
+ control = doi[8]
+
+ # If it is not a DNI, convert the first letter to the corresponding
+ # digit
+ numbers = number_by_letter.get(doi[0], doi[0]) + doi[1:8]
+
+ return numbers.isdigit() and control == table[int(numbers) % 23]
+
+
+@validator
+def es_cif(doi):
+ """
+ Validate a Spanish CIF.
+
+ Each company in Spain prior to 2008 had a distinct CIF and has been
+ discontinued. For more information see `wikipedia.org/cif`_.
+
+ The new replacement is to use NIF for absolutely everything. The issue is
+ that there are "types" of NIFs now: company, person[citizen vs recident]
+ all distinguished by the first character of the DOI. For this reason we
+ will continue to call CIF NIFs that are used for companies.
+
+ This validator is based on `generadordni.es`_.
+
+ .. _generadordni.es:
+ https://generadordni.es/
+
+ .. _wikipedia.org/cif:
+ https://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal
+
+ Examples::
+
+ >>> es_cif('B25162520')
+ True
+
+ >>> es_cif('B25162529')
+ ValidationFailure(func=es_cif, args=...)
+
+ .. versionadded:: 0.13.0
+
+ :param doi: DOI to validate
+ """
+ doi = doi.upper()
+
+ if len(doi) != 9:
+ return False
+
+ table = 'JABCDEFGHI'
+ first_chr = doi[0]
+ doi_body = doi[1:8]
+ control = doi[8]
+
+ if not doi_body.isdigit():
+ return False
+
+ odd_result = 0
+ even_result = 0
+ for index, char in enumerate(doi_body):
+ if index % 2 == 0:
+ # Multiply each each odd position doi digit by 2 and sum it all
+ # together
+ odd_result += sum(map(int, str(int(char) * 2)))
+ else:
+ even_result += int(char)
+
+ res = (10 - (even_result + odd_result) % 10) % 10
+
+ if first_chr in 'ABEH': # Number type
+ return str(res) == control
+ elif first_chr in 'PSQW': # Letter type
+ return table[res] == control
+ elif first_chr not in 'CDFGJNRUV':
+ return False
+
+ return control == str(res) or control == table[res]
+
+
+@validator
+def es_nif(doi):
+ """
+ Validate a Spanish NIF.
+
+ Each entity, be it person or company in Spain has a distinct NIF. Since
+ we've designated CIF to be a company NIF, this NIF is only for person.
+ For more information see `wikipedia.org/nif`_.
+
+ This validator is based on `generadordni.es`_.
+
+ .. _generadordni.es:
+ https://generadordni.es/
+
+ .. _wikipedia.org/nif:
+ https://es.wikipedia.org/wiki/N%C3%BAmero_de_identificaci%C3%B3n_fiscal
+
+ Examples::
+
+ >>> es_nif('26643189N')
+ True
+
+ >>> es_nif('26643189X')
+ ValidationFailure(func=es_nif, args=...)
+
+ .. versionadded:: 0.13.0
+
+ :param doi: DOI to validate
+ """
+ number_by_letter = {'L': '0', 'M': '0', 'K': '0'}
+ special_cases = ['X0000000T', '00000000T', '00000001R']
+ return nif_nie_validation(doi, number_by_letter, special_cases)
+
+
+@validator
+def es_nie(doi):
+ """
+ Validate a Spanish NIE.
+
+ The NIE is a tax identification number in Spain, known in Spanish as the
+ NIE, or more formally the Número de identidad de extranjero. For more
+ information see `wikipedia.org/nie`_.
+
+ This validator is based on `generadordni.es`_.
+
+ .. _generadordni.es:
+ https://generadordni.es/
+
+ .. _wikipedia.org/nie:
+ https://es.wikipedia.org/wiki/N%C3%BAmero_de_identidad_de_extranjero
+
+ Examples::
+
+ >>> es_nie('X0095892M')
+ True
+
+ >>> es_nie('X0095892X')
+ ValidationFailure(func=es_nie, args=...)
+
+ .. versionadded:: 0.13.0
+
+ :param doi: DOI to validate
+ """
+ number_by_letter = {'X': '0', 'Y': '1', 'Z': '2'}
+ special_cases = ['X0000000T']
+
+ # NIE must must start with X Y or Z
+ if not doi or doi[0] not in number_by_letter.keys():
+ return False
+
+ return nif_nie_validation(doi, number_by_letter, special_cases)
+
+
+@validator
+def es_doi(doi):
+ """
+ Validate a Spanish DOI.
+
+ A DOI in spain is all NIF / CIF / NIE / DNI -- a digital ID. For more
+ information see `wikipedia.org/doi`_.
+
+ This validator is based on `generadordni.es`_.
+
+ .. _generadordni.es:
+ https://generadordni.es/
+
+ .. _wikipedia.org/doi:
+ https://es.wikipedia.org/wiki/Identificador_de_objeto_digital
+
+ Examples::
+
+ >>> es_doi('X0095892M')
+ True
+
+ >>> es_doi('X0095892X')
+ ValidationFailure(func=es_doi, args=...)
+
+ .. versionadded:: 0.13.0
+
+ :param doi: DOI to validate
+ """
+ return es_nie(doi) or es_nif(doi) or es_cif(doi)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/validators.egg-info/PKG-INFO new/validators-0.13.0/validators.egg-info/PKG-INFO
--- old/validators-0.12.6/validators.egg-info/PKG-INFO 2019-05-08 08:49:11.000000000 +0200
+++ new/validators-0.13.0/validators.egg-info/PKG-INFO 2019-05-20 09:51:02.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: validators
-Version: 0.12.6
+Version: 0.13.0
Summary: Python Data Validation for Humans™.
Home-page: https://github.com/kvesteri/validators
Author: Konsta Vesterinen
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/validators.egg-info/SOURCES.txt new/validators-0.13.0/validators.egg-info/SOURCES.txt
--- old/validators-0.12.6/validators.egg-info/SOURCES.txt 2019-05-08 08:49:11.000000000 +0200
+++ new/validators-0.13.0/validators.egg-info/SOURCES.txt 2019-05-20 09:51:02.000000000 +0200
@@ -27,6 +27,7 @@
tests/test_uuid.py
tests/test_validation_failure.py
tests/i18n/__init__.py
+tests/i18n/test_es.py
tests/i18n/test_fi.py
validators/__init__.py
validators/between.py
@@ -50,4 +51,5 @@
validators.egg-info/requires.txt
validators.egg-info/top_level.txt
validators/i18n/__init__.py
+validators/i18n/es.py
validators/i18n/fi.py
\ No newline at end of file
1
0
Hello community,
here is the log from the commit of package python-virtualenvwrapper for openSUSE:Factory checked in at 2019-05-27 08:38:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-virtualenvwrapper (Old)
and /work/SRC/openSUSE:Factory/.python-virtualenvwrapper.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-virtualenvwrapper"
Mon May 27 08:38:28 2019 rev:23 rq:705276 version:4.8.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-virtualenvwrapper/python-virtualenvwrapper.changes 2018-12-24 11:45:57.653209222 +0100
+++ /work/SRC/openSUSE:Factory/.python-virtualenvwrapper.new.5148/python-virtualenvwrapper.changes 2019-05-27 08:38:29.663068425 +0200
@@ -1,0 +2,10 @@
+Fri May 24 14:04:24 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 4.8.4:
+ * various typo / docu fixes
+ * Support for python 3.7
+- Remove virtualenvwrapper-4.2-fix-bashisms.patch as the script
+ looks posix and if it is still applicable it should be sent
+ upstream
+
+-------------------------------------------------------------------
Old:
----
virtualenvwrapper-4.2-fix-bashisms.patch
virtualenvwrapper-4.8.2.tar.gz
New:
----
virtualenvwrapper-4.8.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-virtualenvwrapper.spec ++++++
--- /var/tmp/diff_new_pack.aF3x84/_old 2019-05-27 08:38:30.483068105 +0200
+++ /var/tmp/diff_new_pack.aF3x84/_new 2019-05-27 08:38:30.483068105 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-virtualenvwrapper
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,14 +19,13 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_with test
Name: python-virtualenvwrapper
-Version: 4.8.2
+Version: 4.8.4
Release: 0
Summary: Enhancements to virtualenv
License: MIT
Group: Development/Languages/Python
URL: https://virtualenvwrapper.readthedocs.io/
Source: https://files.pythonhosted.org/packages/source/v/virtualenvwrapper/virtuale…
-Patch0: virtualenvwrapper-4.2-fix-bashisms.patch
BuildRequires: %{python_module pbr}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
@@ -60,7 +59,6 @@
%prep
%setup -q -n virtualenvwrapper-%{version}
-%patch0 -p1
sed -i -e '1i#!/bin/sh' virtualenvwrapper.sh
%build
++++++ virtualenvwrapper-4.8.2.tar.gz -> virtualenvwrapper-4.8.4.tar.gz ++++++
++++ 22767 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-warlock for openSUSE:Factory checked in at 2019-05-27 08:38:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-warlock (Old)
and /work/SRC/openSUSE:Factory/.python-warlock.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-warlock"
Mon May 27 08:38:26 2019 rev:16 rq:705263 version:1.3.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-warlock/python-warlock.changes 2018-12-24 11:46:01.497205846 +0100
+++ /work/SRC/openSUSE:Factory/.python-warlock.new.5148/python-warlock.changes 2019-05-27 08:38:26.203069773 +0200
@@ -1,0 +2,8 @@
+Fri May 24 13:56:28 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.3.2:
+ * README failed parsing in non utf-8 environments. Enforce encoding. #37
+ * Move unittests to tests/ directory
+ * Upstream no longer ships tests on pypi
+
+-------------------------------------------------------------------
Old:
----
warlock-1.3.0.tar.gz
New:
----
warlock-1.3.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-warlock.spec ++++++
--- /var/tmp/diff_new_pack.wDJXvX/_old 2019-05-27 08:38:26.787069546 +0200
+++ /var/tmp/diff_new_pack.wDJXvX/_new 2019-05-27 08:38:26.787069546 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-warlock
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,25 +18,24 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-warlock
-Version: 1.3.0
+Version: 1.3.3
Release: 0
Summary: Python object model built on top of JSON schema
License: Apache-2.0
Group: Development/Languages/Python
-Url: http://github.com/bcwaldon/warlock
+URL: http://github.com/bcwaldon/warlock
Source: https://files.pythonhosted.org/packages/source/w/warlock/warlock-%{version}…
-BuildRequires: %{python_module jsonpatch}
-BuildRequires: %{python_module jsonschema}
+BuildRequires: %{python_module jsonpatch >= 0.7}
+BuildRequires: %{python_module jsonschema >= 0.10}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six}
+BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-jsonpatch >= 0.7
Requires: python-jsonschema >= 0.10
Requires: python-six
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
-
%python_subpackages
%description
@@ -44,20 +43,21 @@
%prep
%setup -q -n warlock-%{version}
-sed -i "s|jsonschema>=0.7,<1|jsonschema>=0.7,<=1|" requirements.txt
%build
%python_build
%install
%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-%python_exec setup.py test
+# tests are not distributed by upstream and github does not
+# use setuptools anymore
%files %{python_files}
-%defattr(-,root,root,-)
%doc README.md
+%license LICENSE
%{python_sitelib}/*
%changelog
++++++ warlock-1.3.0.tar.gz -> warlock-1.3.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/LICENSE new/warlock-1.3.3/LICENSE
--- old/warlock-1.3.0/LICENSE 1970-01-01 01:00:00.000000000 +0100
+++ new/warlock-1.3.3/LICENSE 2019-05-20 08:26:22.000000000 +0200
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/LICENSE.txt new/warlock-1.3.3/LICENSE.txt
--- old/warlock-1.3.0/LICENSE.txt 2016-06-25 19:38:50.000000000 +0200
+++ new/warlock-1.3.3/LICENSE.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/MANIFEST.in new/warlock-1.3.3/MANIFEST.in
--- old/warlock-1.3.0/MANIFEST.in 2016-06-25 19:38:50.000000000 +0200
+++ new/warlock-1.3.3/MANIFEST.in 2019-05-20 11:40:24.000000000 +0200
@@ -1,4 +1,4 @@
-include LICENSE.txt
+include LICENSE
include README.md
include requirements.txt
include setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/PKG-INFO new/warlock-1.3.3/PKG-INFO
--- old/warlock-1.3.0/PKG-INFO 2016-06-25 20:13:37.000000000 +0200
+++ new/warlock-1.3.3/PKG-INFO 2019-05-20 12:10:52.000000000 +0200
@@ -1,10 +1,105 @@
-Metadata-Version: 1.0
+Metadata-Version: 2.1
Name: warlock
-Version: 1.3.0
+Version: 1.3.3
Summary: Python object model built on JSON schema and JSON patch.
Home-page: http://github.com/bcwaldon/warlock
Author: Brian Waldon
Author-email: bcwaldon(a)gmail.com
-License: UNKNOWN
-Description: UNKNOWN
+Maintainer: Jan Willhaus
+Maintainer-email: mail(a)janwillhaus.de
+License: Apache-2.0
+Description: # Warlock — self-validating Python objects using JSON schema
+
+ [![PyPI](https://img.shields.io/pypi/v/warlock.svg)][warlock]
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/warlock.svg)][warlock]
+ [![PyPI - Downloads](https://img.shields.io/pypi/dw/warlock.svg)][pypistats]
+
+ [![Build Status](https://travis-ci.org/bcwaldon/warlock.svg?branch=master)][ci-builds]
+ [![Coverage Status](https://coveralls.io/repos/github/bcwaldon/warlock/badge.svg?branch=master)][coveralls]
+
+ ## Installation
+
+ Warlock is [available on PyPI][warlock]:
+
+ ```shell
+ pip install warlock
+ ```
+
+ ## Usage
+
+ 1) Create your schema
+
+ ```python
+ >>> schema = {
+ 'name': 'Country',
+ 'properties': {
+ 'name': {'type': 'string'},
+ 'abbreviation': {'type': 'string'},
+ 'population': {'type': 'integer'},
+ },
+ 'additionalProperties': False,
+ }
+ ```
+
+ 2) Create a model
+
+ ```python
+ >>> import warlock
+ >>> Country = warlock.model_factory(schema)
+ ```
+
+ 3) Create an object using your model
+
+ ```python
+ >>> sweden = Country(name='Sweden', abbreviation='SE')
+ ```
+
+ 4) Let the object validate itself
+
+ ```python
+ >>> sweden.name = 5
+ Traceback (most recent call last):
+ File "<stdin>", line 1, in <module>
+ File "warlock/core.py", line 53, in __setattr__
+ raise InvalidOperation(msg)
+ warlock.core.InvalidOperation: Unable to set 'name' to '5'
+
+ >>> sweden.overlord = 'Bears'
+ Traceback (most recent call last):
+ File "<stdin>", line 1, in <module>
+ File "warlock/core.py", line 53, in __setattr__
+ raise InvalidOperation(msg)
+ warlock.core.InvalidOperation: Unable to set 'overlord' to 'Bears'
+ ```
+
+ 5) Generate a [JSON Patch document](http://tools.ietf.org/html/draft-ietf-appsawg-json-patch) to track changes
+
+ ```python
+ >>> sweden.population=9453000
+ >>> sweden.patch
+ '[{"path": "/population", "value": 9453000, "op": "add"}]'
+ ```
+
+ [warlock]: https://pypi.org/project/warlock/
+ [pip]: https://pip.pypa.io/en/stable/
+ [ci-builds]: https://travis-ci.org/bcwaldon/warlock
+ [coveralls]: https://coveralls.io/github/bcwaldon/warlock?branch=master
+ [pypistats]: https://pypistats.org/packages/warlock
+
+Keywords: JSON schema,JSON patch,model validation
Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: Operating System :: MacOS :: MacOS X
+Classifier: Operating System :: Microsoft :: Windows
+Classifier: Operating System :: POSIX
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/README.md new/warlock-1.3.3/README.md
--- old/warlock-1.3.0/README.md 2016-06-25 19:42:56.000000000 +0200
+++ new/warlock-1.3.3/README.md 2019-05-20 11:40:24.000000000 +0200
@@ -1,11 +1,25 @@
-# Warlock
+# Warlock — self-validating Python objects using JSON schema
-[![Build Status](https://travis-ci.org/bcwaldon/warlock.svg?branch=master)](https://…
+[![PyPI](https://img.shields.io/pypi/v/warlock.svg)][warlock]
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/warlock.svg)][warlock]
+[![PyPI - Downloads](https://img.shields.io/pypi/dw/warlock.svg)][pypistats]
-Build self-validating python objects using JSON schemas.
+[![Build Status](https://travis-ci.org/bcwaldon/warlock.svg?branch=master)][ci-builds]
+[![Coverage Status](https://coveralls.io/repos/github/bcwaldon/warlock/badge.svg?branch=master)][coveralls]
+
+## Installation
+
+Warlock is [available on PyPI][warlock]:
+
+```shell
+pip install warlock
+```
+
+## Usage
1) Create your schema
+ ```python
>>> schema = {
'name': 'Country',
'properties': {
@@ -15,22 +29,28 @@
},
'additionalProperties': False,
}
+ ```
2) Create a model
+ ```python
>>> import warlock
>>> Country = warlock.model_factory(schema)
+ ```
3) Create an object using your model
+ ```python
>>> sweden = Country(name='Sweden', abbreviation='SE')
+ ```
4) Let the object validate itself
+ ```python
>>> sweden.name = 5
Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- File "warlock/core.py", line 53, in __setattr__
+ File "<stdin>", line 1, in <module>
+ File "warlock/core.py", line 53, in __setattr__
raise InvalidOperation(msg)
warlock.core.InvalidOperation: Unable to set 'name' to '5'
@@ -40,9 +60,18 @@
File "warlock/core.py", line 53, in __setattr__
raise InvalidOperation(msg)
warlock.core.InvalidOperation: Unable to set 'overlord' to 'Bears'
+ ```
5) Generate a [JSON Patch document](http://tools.ietf.org/html/draft-ietf-appsawg-json-patch) to track changes
+ ```python
>>> sweden.population=9453000
>>> sweden.patch
'[{"path": "/population", "value": 9453000, "op": "add"}]'
+ ```
+
+[warlock]: https://pypi.org/project/warlock/
+[pip]: https://pip.pypa.io/en/stable/
+[ci-builds]: https://travis-ci.org/bcwaldon/warlock
+[coveralls]: https://coveralls.io/github/bcwaldon/warlock?branch=master
+[pypistats]: https://pypistats.org/packages/warlock
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/requirements.txt new/warlock-1.3.3/requirements.txt
--- old/warlock-1.3.0/requirements.txt 2016-06-25 19:38:50.000000000 +0200
+++ new/warlock-1.3.3/requirements.txt 2019-05-20 11:40:24.000000000 +0200
@@ -1,3 +1,3 @@
-jsonschema>=0.7,<3
+jsonschema>=0.7,<4
jsonpatch>=0.10,<2
six
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/setup.cfg new/warlock-1.3.3/setup.cfg
--- old/warlock-1.3.0/setup.cfg 2016-06-25 20:13:37.000000000 +0200
+++ new/warlock-1.3.3/setup.cfg 2019-05-20 12:10:52.000000000 +0200
@@ -4,5 +4,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/setup.py new/warlock-1.3.3/setup.py
--- old/warlock-1.3.0/setup.py 2016-06-25 20:13:05.000000000 +0200
+++ new/warlock-1.3.3/setup.py 2019-05-20 12:07:12.000000000 +0200
@@ -13,22 +13,53 @@
# limitations under the License.
import setuptools
+import io
+import os
def parse_requirements():
- fap = open('requirements.txt', 'r')
+ fap = io.open("requirements.txt", "r", encoding="utf-8")
raw_req = fap.read()
fap.close()
- return raw_req.split('\n')
+ return raw_req.split("\n")
+
+
+def read(fname):
+ with io.open(
+ os.path.join(os.path.dirname(__file__), fname), "r", encoding="utf-8"
+ ) as fp:
+ return fp.read()
setuptools.setup(
- name='warlock',
- version='1.3.0',
- description='Python object model built on JSON schema and JSON patch.',
- author='Brian Waldon',
- author_email='bcwaldon(a)gmail.com',
- url='http://github.com/bcwaldon/warlock',
- packages=['warlock'],
+ name="warlock",
+ version="1.3.3",
+ description="Python object model built on JSON schema and JSON patch.",
+ long_description=read("README.md"),
+ long_description_content_type="text/markdown",
+ keywords=["JSON schema", "JSON patch", "model validation"],
+ author="Brian Waldon",
+ author_email="bcwaldon(a)gmail.com",
+ maintainer="Jan Willhaus",
+ maintainer_email="mail(a)janwillhaus.de",
+ url="http://github.com/bcwaldon/warlock",
+ packages=["warlock"],
install_requires=parse_requirements(),
+ license="Apache-2.0",
+ classifiers=[
+ "Development Status :: 5 - Production/Stable",
+ "Intended Audience :: Developers",
+ "Operating System :: MacOS :: MacOS X",
+ "Operating System :: Microsoft :: Windows",
+ "Operating System :: POSIX",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 2",
+ "Programming Language :: Python :: 2.7",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.4",
+ "Programming Language :: Python :: 3.5",
+ "Programming Language :: Python :: 3.6",
+ "Programming Language :: Python :: 3.7",
+ "Topic :: Software Development :: Libraries :: Python Modules",
+ ],
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/test/test_core.py new/warlock-1.3.3/test/test_core.py
--- old/warlock-1.3.0/test/test_core.py 2016-06-25 20:04:07.000000000 +0200
+++ new/warlock-1.3.3/test/test_core.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,307 +0,0 @@
-# Copyright 2012 Brian Waldon
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import copy
-import unittest
-import os
-
-import json
-
-import six
-
-import warlock
-
-
-fixture = {
- 'name': 'Country',
- 'properties': {
- 'name': {'type': 'string'},
- 'population': {'type': 'integer'},
- },
- 'additionalProperties': False,
-}
-
-
-complex_fixture = {
- 'name': 'Mixmaster',
- 'properties': {
- 'sub': {'type': 'object',
- 'properties': {'foo': {'type': 'string'}}}
- },
-}
-
-parent_fixture = {
- 'name': 'Parent',
- 'properties': {
- 'name': {'type': 'string'},
- 'children': {'type': 'array', 'items': [{'type': 'object'}]}
- },
- 'required': ['name', 'children']
-}
-
-child_fixture = {
- 'name': 'Child',
- 'properties': {
- 'age': {'type': 'integer'},
- 'mother': {'type': 'object'}
- },
- 'required': ['age', 'mother']
-}
-
-
-nameless_fixture = {
- 'properties': {
- 'name': {'type': 'string'},
- 'population': {'type': 'integer'},
- },
- 'additionalProperties': False,
-}
-
-
-class TestCore(unittest.TestCase):
- def test_create_invalid_object(self):
- Country = warlock.model_factory(fixture)
- self.assertRaises(ValueError, Country, name=1)
-
- def test_class_name_from_unicode_schema_name(self):
- fixture_copy = copy.deepcopy(fixture)
- fixture_copy['name'] = six.text_type(fixture_copy['name'])
- # Can't set class.__name__ to a unicode object, ensure warlock
- # does some magic to make it possible
- warlock.model_factory(fixture_copy)
-
- def test_invalid_operations(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
-
- # Ensure a valid object was created
- self.assertEqual(sweden.name, 'Sweden')
- self.assertEqual(sweden.population, 9379116)
-
- # Specific exceptions should be raised for invalid operations
- self.assertRaises(AttributeError, getattr, sweden, 'overlord')
- exc = warlock.InvalidOperation
- self.assertRaises(exc, setattr, sweden, 'overlord', 'Bears')
- self.assertRaises(exc, setattr, sweden, 'name', 5)
- self.assertRaises(exc, setattr, sweden, 'population', 'N/A')
-
- def test_no_mask_arbitrary_properties(self):
- fixture_copy = copy.deepcopy(fixture)
- fixture_copy['additionalProperties'] = {'type': 'string'}
- Country = warlock.model_factory(fixture_copy)
-
- # We should still depend on the schema for validation
- self.assertRaises(ValueError, Country, GDP=56956)
-
- # But arbitrary properties should be allowed if they check out
- sweden = Country(overlord='Waldon')
- sweden.abbreviation = 'SE'
- exc = warlock.InvalidOperation
- self.assertRaises(exc, setattr, sweden, 'abbreviation', 0)
-
- def test_items(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
- self.assertEqual(set(list(six.iteritems(sweden))),
- set([('name', 'Sweden'), ('population', 9379116)]))
- self.assertEqual(set(sweden.items()),
- set([('name', 'Sweden'), ('population', 9379116)]))
-
- def test_update(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
- exc = warlock.InvalidOperation
- self.assertRaises(exc, sweden.update, {'population': 'N/A'})
- self.assertRaises(exc, sweden.update, {'overloard': 'Bears'})
-
- def test_naming(self):
- Country = warlock.model_factory(fixture)
- self.assertEqual('Country', Country.__name__)
-
- Country2 = warlock.model_factory(fixture, name='Country2')
- self.assertEqual('Country2', Country2.__name__)
-
- nameless = warlock.model_factory(nameless_fixture)
- self.assertEqual('Model', nameless.__name__)
-
- nameless2 = warlock.model_factory(nameless_fixture, name='Country3')
- self.assertEqual('Country3', nameless2.__name__)
-
- def test_deepcopy(self):
- """Make sure we aren't leaking references."""
- Mixmaster = warlock.model_factory(complex_fixture)
- mike = Mixmaster(sub={'foo': 'mike'})
-
- self.assertEquals('mike', mike.sub['foo'])
-
- mike_1 = mike.copy()
- mike_1['sub']['foo'] = 'james'
- self.assertEquals('mike', mike.sub['foo'])
-
- mike_2 = dict(six.iteritems(mike))
- mike_2['sub']['foo'] = 'james'
- self.assertEquals('mike', mike.sub['foo'])
-
- mike_2 = dict(mike.items())
- mike_2['sub']['foo'] = 'james'
- self.assertEquals('mike', mike.sub['foo'])
-
- mike_3_sub = list(six.itervalues(mike))[0]
- mike_3_sub['foo'] = 'james'
- self.assertEquals('mike', mike.sub['foo'])
-
- mike_3_sub = list(mike.values())[0]
- mike_3_sub['foo'] = 'james'
- self.assertEquals('mike', mike.sub['foo'])
-
- def test_forbidden_methods(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
- exc = warlock.InvalidOperation
- self.assertRaises(exc, sweden.clear)
- self.assertRaises(exc, sweden.pop, 0)
- self.assertRaises(exc, sweden.popitem)
-
- def test_dict_syntax(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
-
- sweden['name'] = 'Finland'
- self.assertEqual('Finland', sweden['name'])
-
- del sweden['name']
- self.assertRaises(AttributeError, getattr, sweden, 'name')
-
- def test_attr_syntax(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
-
- sweden.name = 'Finland'
- self.assertEqual('Finland', sweden.name)
-
- delattr(sweden, 'name')
- self.assertRaises(AttributeError, getattr, sweden, 'name')
-
- def test_changes(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
- self.assertEqual(sweden.changes, {})
- sweden['name'] = 'Finland'
- self.assertEqual(sweden.changes, {'name': 'Finland'})
- sweden['name'] = 'Norway'
- self.assertEqual(sweden.changes, {'name': 'Norway'})
-
- def test_patch_no_changes(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
- self.assertEqual(sweden.patch, '[]')
-
- def test_patch_alter_value(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
- sweden['name'] = 'Finland'
- self.assertEqual(
- json.loads(sweden.patch),
- json.loads(
- '[{"path": "/name", "value": "Finland", "op": "replace"}]'))
-
- def test_patch_drop_attribute(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
- del sweden['name']
- self.assertEqual(
- json.loads(sweden.patch),
- json.loads('[{"path": "/name", "op": "remove"}]'))
-
- def test_patch_reduce_operations(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
-
- sweden['name'] = 'Finland'
- self.assertEqual(
- json.loads(sweden.patch),
- json.loads(
- '[{"path": "/name", "value": "Finland", "op": "replace"}]'))
-
- sweden['name'] = 'Norway'
- self.assertEqual(
- json.loads(sweden.patch),
- json.loads(
- '[{"path": "/name", "value": "Norway", "op": "replace"}]'))
-
- def test_patch_multiple_operations(self):
- Country = warlock.model_factory(fixture)
- sweden = Country(name='Sweden', population=9379116)
-
- sweden['name'] = 'Finland'
- sweden['population'] = 5387000
-
- self.assertEqual(len(json.loads(sweden.patch)), 2)
-
- patches = json.loads(
- '[{"path": "/name", "value": "Finland", "op": "replace"}, '
- '{"path": "/population", "value": 5387000, "op": "replace"}]')
-
- for patch in json.loads(sweden.patch):
- self.assertTrue(patch in patches)
-
- def test_resolver(self):
- from jsonschema import RefResolver
- dirname = os.path.dirname(__file__)
- schemas_path = 'file://' + os.path.join(dirname, 'schemas/')
- resolver = RefResolver(schemas_path, None)
-
- country_schema_file = \
- open(os.path.join(dirname, 'schemas/') + 'country.json')
- person_schema_file = \
- open(os.path.join(dirname, 'schemas/') + 'person.json')
-
- country_schema = json.load(country_schema_file)
- person_schema = json.load(person_schema_file)
- Country = warlock.model_factory(country_schema, resolver)
- Person = warlock.model_factory(person_schema, resolver)
-
- england = Country(
- name="England",
- population=53865800,
- overlord=Person(
- title="Queen",
- firstname="Elizabeth",
- lastname="Windsor"
- )
- )
- expected = {
- 'name': 'England',
- 'population': 53865800,
- 'overlord': {
- 'title': 'Queen',
- 'lastname': 'Windsor',
- 'firstname': 'Elizabeth'
- }
- }
- self.assertEqual(england, expected)
-
- def test_recursive_models(self):
- Parent = warlock.model_factory(parent_fixture)
- Child = warlock.model_factory(child_fixture)
-
- mom = Parent(name='Abby', children=[])
-
- teenager = Child(age=15, mother=mom)
- toddler = Child(age=3, mother=mom)
-
- mom.children = [teenager, toddler]
-
- self.assertEqual(mom.children[0].age, 15)
- self.assertEqual(mom.children[1].age, 3)
Binary files old/warlock-1.3.0/warlock/__init__.pyc and new/warlock-1.3.3/warlock/__init__.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/warlock/core.py new/warlock-1.3.3/warlock/core.py
--- old/warlock-1.3.0/warlock/core.py 2016-06-25 19:48:59.000000000 +0200
+++ new/warlock-1.3.3/warlock/core.py 2019-05-20 08:26:22.000000000 +0200
@@ -30,8 +30,8 @@
class Model(base_class):
def __init__(self, *args, **kwargs):
- self.__dict__['schema'] = schema
- self.__dict__['resolver'] = resolver
+ self.__dict__["schema"] = schema
+ self.__dict__["resolver"] = resolver
base_class.__init__(self, *args, **kwargs)
if resolver is not None:
@@ -39,6 +39,6 @@
if name is not None:
Model.__name__ = name
- elif 'name' in schema:
- Model.__name__ = str(schema['name'])
+ elif "name" in schema:
+ Model.__name__ = str(schema["name"])
return Model
Binary files old/warlock-1.3.0/warlock/core.pyc and new/warlock-1.3.3/warlock/core.pyc differ
Binary files old/warlock-1.3.0/warlock/exceptions.pyc and new/warlock-1.3.3/warlock/exceptions.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/warlock/model.py new/warlock-1.3.3/warlock/model.py
--- old/warlock-1.3.0/warlock/model.py 2016-06-25 20:08:28.000000000 +0200
+++ new/warlock-1.3.3/warlock/model.py 2019-05-20 08:26:22.000000000 +0200
@@ -25,7 +25,6 @@
class Model(dict):
-
def __init__(self, *args, **kwargs):
# we overload setattr so set this manually
d = dict(*args, **kwargs)
@@ -37,8 +36,8 @@
else:
dict.__init__(self, d)
- self.__dict__['changes'] = {}
- self.__dict__['__original__'] = copy.deepcopy(d)
+ self.__dict__["changes"] = {}
+ self.__dict__["__original__"] = copy.deepcopy(d)
def __setitem__(self, key, value):
mutation = dict(self.items())
@@ -46,13 +45,12 @@
try:
self.validate(mutation)
except exceptions.ValidationError as exc:
- msg = ("Unable to set '%s' to %r. Reason: %s"
- % (key, value, str(exc)))
+ msg = "Unable to set '%s' to %r. Reason: %s" % (key, value, str(exc))
raise exceptions.InvalidOperation(msg)
dict.__setitem__(self, key, value)
- self.__dict__['changes'][key] = value
+ self.__dict__["changes"][key] = value
def __delitem__(self, key):
mutation = dict(self.items())
@@ -60,8 +58,7 @@
try:
self.validate(mutation)
except exceptions.ValidationError as exc:
- msg = ("Unable to delete attribute '%s'. Reason: %s"
- % (key, str(exc)))
+ msg = "Unable to delete attribute '%s'. Reason: %s" % (key, str(exc))
raise exceptions.InvalidOperation(msg)
dict.__delitem__(self, key)
@@ -124,15 +121,15 @@
@property
def patch(self):
"""Return a jsonpatch object representing the delta"""
- original = self.__dict__['__original__']
+ original = self.__dict__["__original__"]
return jsonpatch.make_patch(original, dict(self)).to_string()
@property
def changes(self):
"""Dumber version of 'patch' method"""
- deprecation_msg = 'Model.changes will be removed in warlock v2'
+ deprecation_msg = "Model.changes will be removed in warlock v2"
warnings.warn(deprecation_msg, DeprecationWarning, stacklevel=2)
- return copy.deepcopy(self.__dict__['changes'])
+ return copy.deepcopy(self.__dict__["changes"])
def validate(self, obj):
"""Apply a JSON schema to an object"""
Binary files old/warlock-1.3.0/warlock/model.pyc and new/warlock-1.3.3/warlock/model.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/warlock.egg-info/PKG-INFO new/warlock-1.3.3/warlock.egg-info/PKG-INFO
--- old/warlock-1.3.0/warlock.egg-info/PKG-INFO 2016-06-25 20:13:37.000000000 +0200
+++ new/warlock-1.3.3/warlock.egg-info/PKG-INFO 2019-05-20 12:10:52.000000000 +0200
@@ -1,10 +1,105 @@
-Metadata-Version: 1.0
+Metadata-Version: 2.1
Name: warlock
-Version: 1.3.0
+Version: 1.3.3
Summary: Python object model built on JSON schema and JSON patch.
Home-page: http://github.com/bcwaldon/warlock
Author: Brian Waldon
Author-email: bcwaldon(a)gmail.com
-License: UNKNOWN
-Description: UNKNOWN
+Maintainer: Jan Willhaus
+Maintainer-email: mail(a)janwillhaus.de
+License: Apache-2.0
+Description: # Warlock — self-validating Python objects using JSON schema
+
+ [![PyPI](https://img.shields.io/pypi/v/warlock.svg)][warlock]
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/warlock.svg)][warlock]
+ [![PyPI - Downloads](https://img.shields.io/pypi/dw/warlock.svg)][pypistats]
+
+ [![Build Status](https://travis-ci.org/bcwaldon/warlock.svg?branch=master)][ci-builds]
+ [![Coverage Status](https://coveralls.io/repos/github/bcwaldon/warlock/badge.svg?branch=master)][coveralls]
+
+ ## Installation
+
+ Warlock is [available on PyPI][warlock]:
+
+ ```shell
+ pip install warlock
+ ```
+
+ ## Usage
+
+ 1) Create your schema
+
+ ```python
+ >>> schema = {
+ 'name': 'Country',
+ 'properties': {
+ 'name': {'type': 'string'},
+ 'abbreviation': {'type': 'string'},
+ 'population': {'type': 'integer'},
+ },
+ 'additionalProperties': False,
+ }
+ ```
+
+ 2) Create a model
+
+ ```python
+ >>> import warlock
+ >>> Country = warlock.model_factory(schema)
+ ```
+
+ 3) Create an object using your model
+
+ ```python
+ >>> sweden = Country(name='Sweden', abbreviation='SE')
+ ```
+
+ 4) Let the object validate itself
+
+ ```python
+ >>> sweden.name = 5
+ Traceback (most recent call last):
+ File "<stdin>", line 1, in <module>
+ File "warlock/core.py", line 53, in __setattr__
+ raise InvalidOperation(msg)
+ warlock.core.InvalidOperation: Unable to set 'name' to '5'
+
+ >>> sweden.overlord = 'Bears'
+ Traceback (most recent call last):
+ File "<stdin>", line 1, in <module>
+ File "warlock/core.py", line 53, in __setattr__
+ raise InvalidOperation(msg)
+ warlock.core.InvalidOperation: Unable to set 'overlord' to 'Bears'
+ ```
+
+ 5) Generate a [JSON Patch document](http://tools.ietf.org/html/draft-ietf-appsawg-json-patch) to track changes
+
+ ```python
+ >>> sweden.population=9453000
+ >>> sweden.patch
+ '[{"path": "/population", "value": 9453000, "op": "add"}]'
+ ```
+
+ [warlock]: https://pypi.org/project/warlock/
+ [pip]: https://pip.pypa.io/en/stable/
+ [ci-builds]: https://travis-ci.org/bcwaldon/warlock
+ [coveralls]: https://coveralls.io/github/bcwaldon/warlock?branch=master
+ [pypistats]: https://pypistats.org/packages/warlock
+
+Keywords: JSON schema,JSON patch,model validation
Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: Operating System :: MacOS :: MacOS X
+Classifier: Operating System :: Microsoft :: Windows
+Classifier: Operating System :: POSIX
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/warlock.egg-info/SOURCES.txt new/warlock-1.3.3/warlock.egg-info/SOURCES.txt
--- old/warlock-1.3.0/warlock.egg-info/SOURCES.txt 2016-06-25 20:13:37.000000000 +0200
+++ new/warlock-1.3.3/warlock.egg-info/SOURCES.txt 2019-05-20 12:10:52.000000000 +0200
@@ -1,14 +1,17 @@
-LICENSE.txt
+LICENSE
MANIFEST.in
README.md
requirements.txt
setup.cfg
setup.py
-test/test_core.py
warlock/__init__.py
+warlock/__init__.pyc
warlock/core.py
+warlock/core.pyc
warlock/exceptions.py
+warlock/exceptions.pyc
warlock/model.py
+warlock/model.pyc
warlock.egg-info/PKG-INFO
warlock.egg-info/SOURCES.txt
warlock.egg-info/dependency_links.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warlock-1.3.0/warlock.egg-info/requires.txt new/warlock-1.3.3/warlock.egg-info/requires.txt
--- old/warlock-1.3.0/warlock.egg-info/requires.txt 2016-06-25 20:13:37.000000000 +0200
+++ new/warlock-1.3.3/warlock.egg-info/requires.txt 2019-05-20 12:10:52.000000000 +0200
@@ -1,3 +1,3 @@
-jsonschema>=0.7,<3
-jsonpatch>=0.10,<2
+jsonschema<4,>=0.7
+jsonpatch<2,>=0.10
six
1
0
Hello community,
here is the log from the commit of package python-knack for openSUSE:Factory checked in at 2019-05-27 08:38:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-knack (Old)
and /work/SRC/openSUSE:Factory/.python-knack.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-knack"
Mon May 27 08:38:23 2019 rev:8 rq:705262 version:0.6.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-knack/python-knack.changes 2019-05-22 11:16:43.162502081 +0200
+++ /work/SRC/openSUSE:Factory/.python-knack.new.5148/python-knack.changes 2019-05-27 08:38:24.555070416 +0200
@@ -1,0 +2,12 @@
+Fri May 24 12:36:58 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 0.6.2
+ * Adds ability to declare that command groups, commands, and arguments
+ are in a preview status and therefore might change or be removed.
+ This is done by passing the kwarg `is_preview=True`.
+ * Adds a generic `StatusTag` class to `knack.util` that allows you
+ to create your own colorized tags like `[Preview]` and `[Deprecated]`.
+ * When an incorrect command name is entered, Knack will now attempt
+ to suggest the closest alternative.
+
+-------------------------------------------------------------------
Old:
----
v0.6.1.tar.gz
New:
----
v0.6.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-knack.spec ++++++
--- /var/tmp/diff_new_pack.6iAYgT/_old 2019-05-27 08:38:25.147070185 +0200
+++ /var/tmp/diff_new_pack.6iAYgT/_new 2019-05-27 08:38:25.151070184 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-knack
-Version: 0.6.1
+Version: 0.6.2
Release: 0
Summary: A Command-Line Interface framework
License: MIT
++++++ v0.6.1.tar.gz -> v0.6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/HISTORY.rst new/knack-0.6.2/HISTORY.rst
--- old/knack-0.6.1/HISTORY.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/knack-0.6.2/HISTORY.rst 2019-05-23 00:19:57.000000000 +0200
@@ -0,0 +1,106 @@
+.. :changelog:
+
+Release History
+===============
+
+0.6.2
++++++
+* Adds ability to declare that command groups, commands, and arguments are in a preview status and therefore might change or be removed. This is done by passing the kwarg `is_preview=True`.
+* Adds a generic `StatusTag` class to `knack.util` that allows you to create your own colorized tags like `[Preview]` and `[Deprecated]`.
+* When an incorrect command name is entered, Knack will now attempt to suggest the closest alternative.
+
+0.6.1
++++++
+* Always read from local for configured_default
+
+0.6.0
++++++
+* Support local context chained config file
+
+0.5.4
++++++
+* Allows the loading of text files using @filename syntax.
+* Adds the argument kwarg configured_default to support setting argument defaults via the config file's [defaults] section or an environment variable.
+
+0.5.3
++++++
+* Removes an incorrect check when adding arguments.
+
+0.5.2
++++++
+* Updates usages of yaml.load to use yaml.safe_load.
+
+0.5.1
++++++
+* Fix issue with some scenarios (no args and --version)
+
+0.5.0
++++++
+* Adds support for positional arguments with the .positional helper method on ArgumentsContext.
+* Removes the necessity for the type field in help.py. This information can be inferred from the class, so specifying it causes unnecessary crashes.
+* Adds support for examining the result of a command after a call to invoke. The raw object, error (if any) an exit code are accessible.
+* Adds support for accessing the command instance from inside custom commands by putting the special argument cmd in the signature.
+* Fixes an issue with the default config directory. It use to be .cli and is now based on the CLI name.
+* Fixes regression in knack 0.4.5 in behavior when cli_name --verbose/debug is used. Displays the welcome message as intended.
+* Adds ability to specify line width for help text display.
+
+0.4.5
++++++
+* Preserves logging verbosity and output format on the namespace for use by validators.
+
+0.4.4
++++++
+* Adds ability to set config file name.
+* Fixes bug with argument deprecations.
+
+0.4.3
++++++
+* Fixes issue where values were sometimes ignored when using deprecated options regardless of which option was given.
+
+0.4.2
++++++
+* Bug fix: disable number parse on table mode PR #88
+
+0.4.1
++++++
+* Fixes bug with deprecation mechanism.
+* Fixes an issue where the command group table would only be filled by calls to create CommandGroup classes. This resulted in some gaps in the command group table.
+
+0.4.0
++++++
+* Add mechanism to deprecate commands, command groups, arguments and argument options.
+* Improve help display support for Unicode.
+
+0.3.3
++++++
+* expose a callback to let client side perform extra logics (#80)
+* output: don't skip false value on auto-tabulating (#83)
+
+0.3.2
++++++
+* ArgumentsContext.ignore() should use hidden options_list (#76)
+* Consolidate exception handling (#66)
+
+0.3.1
++++++
+* Performance optimization - Delay import of platform and colorama (#47)
+* CLIError: Inherit from Exception directly (#65)
+* Explicitly state which packages to include (so exclude 'tests') (#68)
+
+0.2.0
++++++
+* Support command level and argument level validators.
+* knack.commands.CLICommandsLoader now accepts a command_cls argument so you can provide your own CLICommand class.
+* logging: make determine_verbose_level private method.
+* Allow overriding of NAMED_ARGUMENTS
+* Only pass valid argparse kwargs to argparse.ArgumentParser.add_argument and ignore the rest
+* logging: make determine_verbose_level private method
+* Remove cli_command, register_cli_argument, register_extra_cli_argument as ways to register commands and arguments.
+
+0.1.1
++++++
+* Add more types of command and argument loaders.
+
+0.1.0
++++++
+* Initial release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/MANIFEST.in new/knack-0.6.2/MANIFEST.in
--- old/knack-0.6.1/MANIFEST.in 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/MANIFEST.in 2019-05-23 00:19:57.000000000 +0200
@@ -1 +1,3 @@
include *.rst
+include LICENSE
+recursive-include tests *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/docs/cli.md new/knack-0.6.2/docs/cli.md
--- old/knack-0.6.1/docs/cli.md 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/docs/cli.md 2019-05-23 00:19:57.000000000 +0200
@@ -9,7 +9,7 @@
For example:
`cli_name` - Name of CLI. Typically the executable name.
-`config_dir` - Path to config dir. e.g. `os.path.join('~', '.myconfig')`
+`config_dir` - Path to config dir. e.g. `os.path.expanduser(os.path.join('~', '.myconfig'))`
`config_env_var_prefix` - A prefix for environment variables used in config e.g. `CLI_`.
Use the `invoke()` method to invoke commands.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/examples/exapp new/knack-0.6.2/examples/exapp
--- old/knack-0.6.1/examples/exapp 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/examples/exapp 2019-05-23 00:19:57.000000000 +0200
@@ -79,7 +79,7 @@
mycli = CLI(cli_name=cli_name,
- config_dir=os.path.join('~', '.{}'.format(cli_name)),
+ config_dir=os.path.expanduser(os.path.join('~', '.{}'.format(cli_name))),
config_env_var_prefix=cli_name,
commands_loader_cls=MyCommandsLoader,
help_cls=MyCLIHelp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/examples/exapp2 new/knack-0.6.2/examples/exapp2
--- old/knack-0.6.1/examples/exapp2 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/examples/exapp2 2019-05-23 00:19:57.000000000 +0200
@@ -86,7 +86,7 @@
mycli = MyCLI(cli_name=cli_name,
- config_dir=os.path.join('~', '.{}'.format(cli_name)),
+ config_dir=os.path.expanduser(os.path.join('~', '.{}'.format(cli_name))),
config_env_var_prefix=cli_name,
commands_loader_cls=MyCommandsLoader,
help_cls=MyCLIHelp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/examples/test_exapp new/knack-0.6.2/examples/test_exapp
--- old/knack-0.6.1/examples/test_exapp 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/examples/test_exapp 2019-05-23 00:19:57.000000000 +0200
@@ -47,7 +47,7 @@
name = 'exapp4'
mycli = CLI(cli_name=name,
- config_dir=os.path.join('~', '.{}'.format(name)),
+ config_dir=os.path.expanduser(os.path.join('~', '.{}'.format(name))),
config_env_var_prefix=name,
commands_loader_cls=MyCommandsLoader)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/knack/arguments.py new/knack-0.6.2/knack/arguments.py
--- old/knack-0.6.1/knack/arguments.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/knack/arguments.py 2019-05-23 00:19:57.000000000 +0200
@@ -7,6 +7,7 @@
from collections import defaultdict
from .deprecation import Deprecated
+from .preview import PreviewItem
from .log import get_logger
from .util import CLIError
@@ -42,7 +43,7 @@
class CLICommandArgument(object):
- NAMED_ARGUMENTS = ['options_list', 'validator', 'completer', 'arg_group', 'deprecate_info']
+ NAMED_ARGUMENTS = ['options_list', 'validator', 'completer', 'arg_group', 'deprecate_info', 'preview_info']
def __init__(self, dest=None, argtype=None, **kwargs):
"""An argument that has a specific destination parameter.
@@ -221,6 +222,55 @@
action = _handle_option_deprecation(deprecated_opts)
return action
+ def _handle_previews(self, argument_dest, **kwargs):
+
+ if not kwargs.get('is_preview', False):
+ return kwargs
+
+ def _handle_argument_preview(preview_info):
+
+ parent_class = self._get_parent_class(**kwargs)
+
+ class PreviewArgumentAction(parent_class):
+
+ def __call__(self, parser, namespace, values, option_string=None):
+ if not hasattr(namespace, '_argument_previews'):
+ setattr(namespace, '_argument_previews', [preview_info])
+ else:
+ namespace._argument_previews.append(preview_info) # pylint: disable=protected-access
+ try:
+ super(PreviewArgumentAction, self).__call__(parser, namespace, values, option_string)
+ except NotImplementedError:
+ setattr(namespace, self.dest, values)
+
+ return PreviewArgumentAction
+
+ def _get_preview_arg_message(self):
+ return "{} '{}' is in preview. It may be changed/removed in a future release.".format(
+ self.object_type.capitalize(), self.target)
+
+ options_list = kwargs.get('options_list', None)
+ object_type = 'argument'
+
+ if options_list is None:
+ # convert argument dest
+ target = '--{}'.format(argument_dest.replace('_', '-'))
+ elif options_list:
+ target = sorted(options_list, key=len)[-1]
+ else:
+ # positional argument
+ target = kwargs.get('metavar', '<{}>'.format(argument_dest.upper()))
+ object_type = 'positional argument'
+
+ preview_info = PreviewItem(
+ target=target,
+ object_type=object_type,
+ message_func=_get_preview_arg_message
+ )
+ kwargs['preview_info'] = preview_info
+ kwargs['action'] = _handle_argument_preview(preview_info)
+ return kwargs
+
# pylint: disable=inconsistent-return-statements
def deprecate(self, **kwargs):
@@ -252,7 +302,8 @@
:param arg_type: Predefined CLIArgumentType definition to register, as modified by any provided kwargs.
:type arg_type: knack.arguments.CLIArgumentType
:param kwargs: Possible values: `options_list`, `validator`, `completer`, `nargs`, `action`, `const`, `default`,
- `type`, `choices`, `required`, `help`, `metavar`. See /docs/arguments.md.
+ `type`, `choices`, `required`, `help`, `metavar`, `is_preview`, `deprecate_info`.
+ See /docs/arguments.md.
"""
self._check_stale()
if not self._applicable():
@@ -261,6 +312,8 @@
deprecate_action = self._handle_deprecations(argument_dest, **kwargs)
if deprecate_action:
kwargs['action'] = deprecate_action
+
+ kwargs = self._handle_previews(argument_dest, **kwargs)
self.command_loader.argument_registry.register_cli_argument(self.command_scope,
argument_dest,
arg_type,
@@ -274,7 +327,8 @@
:param arg_type: Predefined CLIArgumentType definition to register, as modified by any provided kwargs.
:type arg_type: knack.arguments.CLIArgumentType
:param kwargs: Possible values: `validator`, `completer`, `nargs`, `action`, `const`, `default`,
- `type`, `choices`, `required`, `help`, `metavar`. See /docs/arguments.md.
+ `type`, `choices`, `required`, `help`, `metavar`, `is_preview`, `deprecate_info`.
+ See /docs/arguments.md.
"""
self._check_stale()
if not self._applicable():
@@ -293,11 +347,14 @@
raise CLIError("command authoring error: commands may have, at most, one positional argument. '{}' already "
"has positional argument: {}.".format(self.command_scope, ' '.join(positional_args.keys())))
+ kwargs['options_list'] = []
+
deprecate_action = self._handle_deprecations(argument_dest, **kwargs)
if deprecate_action:
kwargs['action'] = deprecate_action
- kwargs['options_list'] = []
+ kwargs = self._handle_previews(argument_dest, **kwargs)
+
self.command_loader.argument_registry.register_cli_argument(self.command_scope,
argument_dest,
arg_type,
@@ -323,7 +380,8 @@
:param argument_dest: The destination argument to add this argument type to
:type argument_dest: str
:param kwargs: Possible values: `options_list`, `validator`, `completer`, `nargs`, `action`, `const`, `default`,
- `type`, `choices`, `required`, `help`, `metavar`. See /docs/arguments.md.
+ `type`, `choices`, `required`, `help`, `metavar`, `is_preview`, `deprecate_info`.
+ See /docs/arguments.md.
"""
self._check_stale()
if not self._applicable():
@@ -337,6 +395,9 @@
deprecate_action = self._handle_deprecations(argument_dest, **kwargs)
if deprecate_action:
kwargs['action'] = deprecate_action
+
+ kwargs = self._handle_previews(argument_dest, **kwargs)
+
self.command_loader.extra_argument_registry[self.command_scope][argument_dest] = CLICommandArgument(
argument_dest, **kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/knack/commands.py new/knack-0.6.2/knack/commands.py
--- old/knack-0.6.1/knack/commands.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/knack/commands.py 2019-05-23 00:19:57.000000000 +0200
@@ -10,6 +10,7 @@
import six
from .deprecation import Deprecated
+from .preview import PreviewItem
from .prompting import prompt_y_n, NoTTYException
from .util import CLIError, CtxTypeError
from .arguments import ArgumentRegistry, CLICommandArgument
@@ -27,7 +28,8 @@
# pylint: disable=unused-argument
def __init__(self, cli_ctx, name, handler, description=None, table_transformer=None,
arguments_loader=None, description_loader=None,
- formatter_class=None, deprecate_info=None, validator=None, confirmation=None, **kwargs):
+ formatter_class=None, deprecate_info=None, validator=None, confirmation=None, preview_info=None,
+ **kwargs):
""" The command object that goes into the command table.
:param cli_ctx: CLI Context
@@ -48,6 +50,8 @@
:type formatter_class: class
:param deprecate_info: Deprecation message to display when this command is invoked
:type deprecate_info: str
+ :param preview_info: Indicates a command is in preview
+ :type preview_info: bool
:param validator: The command validator
:param confirmation: User confirmation required for command
:type confirmation: bool, str, callable
@@ -66,6 +70,7 @@
self.table_transformer = table_transformer
self.formatter_class = formatter_class
self.deprecate_info = deprecate_info
+ self.preview_info = preview_info
self.confirmation = confirmation
self.validator = validator
@@ -295,6 +300,11 @@
Deprecated.ensure_new_style_deprecation(self.command_loader.cli_ctx, self.group_kwargs, 'command group')
if kwargs['deprecate_info']:
kwargs['deprecate_info'].target = group_name
+ if kwargs.get('is_preview', False):
+ kwargs['preview_info'] = PreviewItem(
+ target=group_name,
+ object_type='command group'
+ )
command_loader._populate_command_group_table_with_subgroups(group_name) # pylint: disable=protected-access
self.command_loader.command_group_table[group_name] = self
@@ -313,7 +323,8 @@
:type handler_name: str
:param kwargs: Kwargs to apply to the command.
Possible values: `client_factory`, `arguments_loader`, `description_loader`, `description`,
- `formatter_class`, `table_transformer`, `deprecate_info`, `validator`, `confirmation`.
+ `formatter_class`, `table_transformer`, `deprecate_info`, `validator`, `confirmation`,
+ `is_preview`.
"""
import copy
@@ -322,6 +333,11 @@
command_kwargs.update(kwargs)
# don't inherit deprecation info from command group
command_kwargs['deprecate_info'] = kwargs.get('deprecate_info', None)
+ if kwargs.get('is_preview', False):
+ command_kwargs['preview_info'] = PreviewItem(
+ self.command_loader.cli_ctx,
+ object_type='command'
+ )
self.command_loader._populate_command_group_table_with_subgroups(' '.join(command_name.split()[:-1])) # pylint: disable=protected-access
self.command_loader.command_table[command_name] = self.command_loader.create_command(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/knack/config.py new/knack-0.6.2/knack/config.py
--- old/knack-0.6.1/knack/config.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/knack/config.py 2019-05-23 00:19:57.000000000 +0200
@@ -21,7 +21,7 @@
'0': False, 'no': False, 'false': False, 'off': False}
_DEFAULT_CONFIG_ENV_VAR_PREFIX = 'CLI'
- _DEFAULT_CONFIG_DIR = os.path.join('~', '.{}'.format('cli'))
+ _DEFAULT_CONFIG_DIR = os.path.expanduser(os.path.join('~', '.{}'.format('cli')))
_DEFAULT_CONFIG_FILE_NAME = 'config'
_CONFIG_DEFAULTS_SECTION = 'defaults'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/knack/deprecation.py new/knack-0.6.2/knack/deprecation.py
--- old/knack-0.6.1/knack/deprecation.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/knack/deprecation.py 2019-05-23 00:19:57.000000000 +0200
@@ -5,6 +5,7 @@
from six import string_types as STRING_TYPES
+from .util import StatusTag
DEFAULT_DEPRECATED_TAG = '[Deprecated]'
@@ -29,25 +30,8 @@
return deprecate_info
-class ColorizedString(object):
-
- def __init__(self, message, color):
- import colorama
- self._message = message
- self._color = getattr(colorama.Fore, color.upper(), None)
-
- def __len__(self):
- return len(self._message)
-
- def __str__(self):
- import colorama
- if not self._color:
- return self._message
- return self._color + self._message + colorama.Fore.RESET
-
-
# pylint: disable=too-many-instance-attributes
-class Deprecated(object):
+class Deprecated(StatusTag):
@staticmethod
def ensure_new_style_deprecation(cli_ctx, kwargs, object_type):
@@ -62,7 +46,7 @@
return deprecate_info
def __init__(self, cli_ctx=None, object_type='', target=None, redirect=None, hide=False, expiration=None,
- tag_func=None, message_func=None):
+ tag_func=None, message_func=None, **kwargs):
""" Create a collection of deprecation metadata.
:param cli_ctx: The CLI context associated with the deprecated item.
@@ -87,13 +71,6 @@
Omit to use the default.
:type message_func: callable
"""
- self.cli_ctx = cli_ctx
- self.object_type = object_type
- self.target = target
- self.redirect = redirect
- self.hide = hide
- self.expiration = expiration
-
def _default_get_message(self):
msg = "This {} has been deprecated and will be removed ".format(self.object_type)
if self.expiration:
@@ -104,24 +81,18 @@
msg += " Use '{}' instead.".format(self.redirect)
return msg
- self._get_tag = tag_func or (lambda _: DEFAULT_DEPRECATED_TAG)
- self._get_message = message_func or _default_get_message
-
- def __deepcopy__(self, memo):
- import copy
+ self.redirect = redirect
+ self.hide = hide
+ self.expiration = expiration
- cls = self.__class__
- result = cls.__new__(cls)
- memo[id(self)] = result
- for k, v in self.__dict__.items():
- try:
- setattr(result, k, copy.deepcopy(v, memo))
- except TypeError:
- if k == 'cli_ctx':
- setattr(result, k, self.cli_ctx)
- else:
- raise
- return result
+ super(Deprecated, self).__init__(
+ cli_ctx=cli_ctx,
+ object_type=object_type,
+ target=target,
+ color='yellow',
+ tag_func=tag_func or (lambda _: DEFAULT_DEPRECATED_TAG),
+ message_func=message_func or _default_get_message
+ )
# pylint: disable=no-self-use
def _version_less_than_or_equal_to(self, v1, v2):
@@ -148,16 +119,6 @@
def show_in_help(self):
return not self.hidden() and not self.expired()
- @property
- def tag(self):
- """ Returns a tag object. """
- return ColorizedString(self._get_tag(self), 'yellow')
-
- @property
- def message(self):
- """ Returns a tuple with the formatted message string and the message length. """
- return ColorizedString(self._get_message(self), 'yellow')
-
class ImplicitDeprecated(Deprecated):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/knack/help.py new/knack-0.6.2/knack/help.py
--- old/knack-0.6.1/knack/help.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/knack/help.py 2019-05-23 00:19:57.000000000 +0200
@@ -10,6 +10,7 @@
from .deprecation import ImplicitDeprecated, resolve_deprecate_info
from .log import get_logger
+from .preview import ImplicitPreviewItem, resolve_preview_info
from .util import CtxTypeError
from .help_files import _load_help_file
@@ -21,13 +22,6 @@
REQUIRED_TAG = '[Required]'
-def _get_preview_tag():
- import colorama
- PREVIEW_TAG = '{}[Preview]{}'.format(colorama.Fore.CYAN, colorama.Fore.RESET)
- PREVIEW_TAG_LEN = len(PREVIEW_TAG) - 2 * len(colorama.Fore.RESET)
- return (PREVIEW_TAG, PREVIEW_TAG_LEN)
-
-
def _get_hanging_indent(max_length, indent):
return max_length + (indent * 4) + len(FIRST_LINE_PREFIX) - 1
@@ -159,6 +153,26 @@
del deprecate_kwargs['_get_message']
self.deprecate_info = ImplicitDeprecated(**deprecate_kwargs)
+ # resolve preview info
+ direct_preview_info = resolve_preview_info(help_ctx.cli_ctx, delimiters)
+ if direct_preview_info:
+ self.preview_info = direct_preview_info
+
+ # search for implicit preview
+ path_comps = delimiters.split()[:-1]
+ implicit_preview_info = None
+ while path_comps and not implicit_preview_info:
+ implicit_preview_info = resolve_preview_info(help_ctx.cli_ctx, ' '.join(path_comps))
+ del path_comps[-1]
+
+ if implicit_preview_info:
+ preview_kwargs = implicit_preview_info.__dict__.copy()
+ if delimiters in help_ctx.cli_ctx.invocation.commands_loader.command_table:
+ preview_kwargs['object_type'] = 'command'
+ else:
+ preview_kwargs['object_type'] = 'command group'
+ self.preview_info = ImplicitPreviewItem(**preview_kwargs)
+
def load(self, options):
description = getattr(options, 'description', None)
try:
@@ -208,7 +222,6 @@
super(GroupHelpFile, self).__init__(help_ctx, delimiters)
self.type = 'group'
- self.preview_info = getattr(parser, 'preview_info', None)
self.children = []
if getattr(parser, 'choices', None):
@@ -244,6 +257,7 @@
param_kwargs = {
'name_source': [action.metavar or action.dest],
'deprecate_info': getattr(action, 'deprecate_info', None),
+ 'preview_info': getattr(action, 'preview_info', None),
'description': action.help,
'choices': action.choices,
'required': False,
@@ -280,7 +294,8 @@
self.parameters.append(HelpParameter(**param_kwargs))
param_kwargs.update({
'name_source': normal_options,
- 'deprecate_info': getattr(param, 'deprecate_info', None)
+ 'deprecate_info': getattr(param, 'deprecate_info', None),
+ 'preview_info': getattr(param, 'preview_info', None)
})
self.parameters.append(HelpParameter(**param_kwargs))
@@ -304,7 +319,7 @@
class HelpParameter(HelpObject): # pylint: disable=too-many-instance-attributes
def __init__(self, name_source, description, required, choices=None,
- default=None, group_name=None, deprecate_info=None):
+ default=None, group_name=None, deprecate_info=None, preview_info=None):
super(HelpParameter, self).__init__()
self.name_source = name_source
self.name = ' '.join(sorted(name_source))
@@ -317,6 +332,7 @@
self.default = default
self.group_name = group_name
self.deprecate_info = deprecate_info
+ self.preview_info = preview_info
def update_from_data(self, data):
if self.name != data.get('name'):
@@ -367,6 +383,8 @@
lines.append(item.long_summary)
if item.deprecate_info:
lines.append(str(item.deprecate_info.message))
+ if item.preview_info:
+ lines.append(str(item.preview_info.message))
return ' '.join(lines)
indent += 1
@@ -381,15 +399,18 @@
self.max_line_len = 0
def _build_tags_string(item):
- PREVIEW_TAG, PREVIEW_TAG_LEN = _get_preview_tag()
+
+ preview_info = getattr(item, 'preview_info', None)
+ preview = preview_info.tag if preview_info else ''
+
deprecate_info = getattr(item, 'deprecate_info', None)
deprecated = deprecate_info.tag if deprecate_info else ''
- preview = PREVIEW_TAG if getattr(item, 'preview_info', None) else ''
+
required = REQUIRED_TAG if getattr(item, 'required', None) else ''
- tags = ' '.join([x for x in [str(deprecated), preview, required] if x])
+ tags = ' '.join([x for x in [str(deprecated), str(preview), required] if x])
tags_len = sum([
len(deprecated),
- PREVIEW_TAG_LEN if preview else 0,
+ len(preview),
len(required),
tags.count(' ')
])
@@ -488,15 +509,18 @@
return None
def _build_tags_string(item):
- PREVIEW_TAG, PREVIEW_TAG_LEN = _get_preview_tag()
+
+ preview_info = getattr(item, 'preview_info', None)
+ preview = preview_info.tag if preview_info else ''
+
deprecate_info = getattr(item, 'deprecate_info', None)
deprecated = deprecate_info.tag if deprecate_info else ''
- preview = PREVIEW_TAG if getattr(item, 'preview_info', None) else ''
+
required = REQUIRED_TAG if getattr(item, 'required', None) else ''
- tags = ' '.join([x for x in [str(deprecated), preview, required] if x])
+ tags = ' '.join([x for x in [str(deprecated), str(preview), required] if x])
tags_len = sum([
len(deprecated),
- PREVIEW_TAG_LEN if preview else 0,
+ len(preview),
len(required),
tags.count(' ')
])
@@ -573,6 +597,9 @@
deprecate_info = getattr(item, 'deprecate_info', None)
if deprecate_info:
lines.append(str(item.deprecate_info.message))
+ preview_info = getattr(item, 'preview_info', None)
+ if preview_info:
+ lines.append(str(item.preview_info.message))
return ' '.join(lines)
group_registry = ArgumentGroupRegistry([p.group_name for p in help_file.parameters if p.group_name])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/knack/invocation.py new/knack-0.6.2/knack/invocation.py
--- old/knack-0.6.1/knack/invocation.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/knack/invocation.py 2019-05-23 00:19:57.000000000 +0200
@@ -10,6 +10,7 @@
from collections import defaultdict
from .deprecation import ImplicitDeprecated, resolve_deprecate_info
+from .preview import ImplicitPreviewItem, resolve_preview_info
from .util import CLIError, CtxTypeError, CommandResultItem, todict
from .parser import CLICommandParser
from .commands import CLICommandsLoader
@@ -117,6 +118,7 @@
err = sys.exc_info()[1]
getattr(parsed_ns, '_parser', self.parser).validation_error(str(err))
+ # pylint: disable=too-many-statements
def execute(self, args):
""" Executes the command invocation
@@ -164,6 +166,10 @@
if cmd.deprecate_info:
deprecations.append(cmd.deprecate_info)
+ previews = getattr(parsed_args, '_argument_previews', [])
+ if cmd.preview_info:
+ previews.append(cmd.preview_info)
+
params = self._filter_params(parsed_args)
# search for implicit deprecation
@@ -180,9 +186,23 @@
del deprecate_kwargs['_get_message']
deprecations.append(ImplicitDeprecated(**deprecate_kwargs))
+ # search for implicit preview
+ path_comps = cmd.name.split()[:-1]
+ implicit_preview_info = None
+ while path_comps and not implicit_preview_info:
+ implicit_preview_info = resolve_preview_info(self.cli_ctx, ' '.join(path_comps))
+ del path_comps[-1]
+
+ if implicit_preview_info:
+ preview_kwargs = implicit_preview_info.__dict__.copy()
+ preview_kwargs['object_type'] = 'command'
+ previews.append(ImplicitPreviewItem(**preview_kwargs))
+
colorama.init()
for d in deprecations:
print(d.message, file=sys.stderr)
+ for p in previews:
+ print(p.message, file=sys.stderr)
colorama.deinit()
cmd_result = parsed_args.func(params)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/knack/parser.py new/knack-0.6.2/knack/parser.py
--- old/knack-0.6.1/knack/parser.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/knack/parser.py 2019-05-23 00:19:57.000000000 +0200
@@ -3,6 +3,8 @@
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------
+from __future__ import print_function
+
import argparse
from .deprecation import Deprecated
@@ -170,6 +172,7 @@
param = CLICommandParser._add_argument(command_parser, arg)
param.completer = arg.completer
param.deprecate_info = arg.deprecate_info
+ param.preview_info = arg.preview_info
command_parser.set_defaults(
func=metadata,
command=command_name,
@@ -254,3 +257,27 @@
"""
self._expand_prefixed_files(args)
return super(CLICommandParser, self).parse_args(args)
+
+ def _check_value(self, action, value):
+ # Override to customize the error message when a argument is not among the available choices
+ # converted value must be one of the choices (if specified)
+ import difflib
+ import sys
+
+ if action.choices is not None and value not in action.choices:
+ # parser has no `command_source`, value is part of command itself
+ error_msg = "{prog}: '{value}' is not in the '{prog}' command group. See '{prog} --help'.".format(
+ prog=self.prog, value=value)
+ logger.error(error_msg)
+ candidates = difflib.get_close_matches(value, action.choices, cutoff=0.7)
+ if candidates:
+ print_args = {
+ 's': 's' if len(candidates) > 1 else '',
+ 'verb': 'are' if len(candidates) > 1 else 'is',
+ 'value': value
+ }
+ suggestion_msg = "\nThe most similar choice{s} to '{value}' {verb}:\n".format(**print_args)
+ suggestion_msg += '\n'.join(['\t' + candidate for candidate in candidates])
+ print(suggestion_msg, file=sys.stderr)
+
+ self.exit(2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/knack/preview.py new/knack-0.6.2/knack/preview.py
--- old/knack-0.6.1/knack/preview.py 1970-01-01 01:00:00.000000000 +0100
+++ new/knack-0.6.2/knack/preview.py 2019-05-23 00:19:57.000000000 +0200
@@ -0,0 +1,77 @@
+# --------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# --------------------------------------------------------------------------------------------
+
+from .util import StatusTag
+
+_PREVIEW_TAG = '[Preview]'
+_preview_kwarg = 'preview_info'
+
+
+def resolve_preview_info(cli_ctx, name):
+
+ def _get_command(name):
+ return cli_ctx.invocation.commands_loader.command_table[name]
+
+ def _get_command_group(name):
+ return cli_ctx.invocation.commands_loader.command_group_table.get(name, None)
+
+ preview_info = None
+ try:
+ command = _get_command(name)
+ preview_info = getattr(command, _preview_kwarg, None)
+ except KeyError:
+ command_group = _get_command_group(name)
+ group_kwargs = getattr(command_group, 'group_kwargs', None)
+ if group_kwargs:
+ preview_info = group_kwargs.get(_preview_kwarg, None)
+ return preview_info
+
+
+# pylint: disable=too-many-instance-attributes
+class PreviewItem(StatusTag):
+
+ def __init__(self, cli_ctx=None, object_type='', target=None, tag_func=None, message_func=None, **kwargs):
+ """ Create a collection of preview metadata.
+
+ :param cli_ctx: The CLI context associated with the preview item.
+ :type cli_ctx: knack.cli.CLI
+ :param object_type: A label describing the type of object in preview.
+ :type: object_type: str
+ :param target: The name of the object in preview.
+ :type target: str
+ :param tag_func: Callable which returns the desired unformatted tag string for the preview item.
+ Omit to use the default.
+ :type tag_func: callable
+ :param message_func: Callable which returns the desired unformatted message string for the preview item.
+ Omit to use the default.
+ :type message_func: callable
+ """
+
+ def _default_get_message(self):
+ return "This {} is in preview. It may be changed/removed in a future release.".format(self.object_type)
+
+ super(PreviewItem, self).__init__(
+ cli_ctx=cli_ctx,
+ object_type=object_type,
+ target=target,
+ color='cyan',
+ tag_func=tag_func or (lambda _: _PREVIEW_TAG),
+ message_func=message_func or _default_get_message
+ )
+
+
+class ImplicitPreviewItem(PreviewItem):
+
+ def __init__(self, **kwargs):
+
+ def get_implicit_preview_message(self):
+ return "Command group '{}' is in preview. It may be changed/removed " \
+ "in a future release.".format(self.target)
+
+ kwargs.update({
+ 'tag_func': lambda _: '',
+ 'message_func': get_implicit_preview_message
+ })
+ super(ImplicitPreviewItem, self).__init__(**kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/knack/util.py new/knack-0.6.2/knack/util.py
--- old/knack-0.6.1/knack/util.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/knack/util.py 2019-05-23 00:19:57.000000000 +0200
@@ -35,6 +35,68 @@
obj.__class__.__name__))
+class ColorizedString(object):
+
+ def __init__(self, message, color):
+ import colorama
+ self._message = message
+ self._color = getattr(colorama.Fore, color.upper(), None)
+
+ def __len__(self):
+ return len(self._message)
+
+ def __str__(self):
+ import colorama
+ if not self._color:
+ return self._message
+ return self._color + self._message + colorama.Fore.RESET
+
+
+class StatusTag(object):
+
+ # pylint: disable=unused-argument
+ def __init__(self, cli_ctx, object_type, target, tag_func, message_func, color, **kwargs):
+ self.cli_ctx = cli_ctx
+ self.object_type = object_type
+ self.target = target
+ self._color = color
+ self._get_tag = tag_func
+ self._get_message = message_func
+
+ def __deepcopy__(self, memo):
+ import copy
+
+ cls = self.__class__
+ result = cls.__new__(cls)
+ memo[id(self)] = result
+ for k, v in self.__dict__.items():
+ try:
+ setattr(result, k, copy.deepcopy(v, memo))
+ except TypeError:
+ if k == 'cli_ctx':
+ setattr(result, k, self.cli_ctx)
+ else:
+ raise
+ return result
+
+ # pylint: disable=no-self-use
+ def hidden(self):
+ return False
+
+ def show_in_help(self):
+ return not self.hidden()
+
+ @property
+ def tag(self):
+ """ Returns a tag object. """
+ return ColorizedString(self._get_tag(self), self._color)
+
+ @property
+ def message(self):
+ """ Returns a tuple with the formatted message string and the message length. """
+ return ColorizedString(self._get_message(self), self._color)
+
+
def ensure_dir(d):
""" Create a directory if it doesn't exist """
if not os.path.isdir(d):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/setup.py new/knack-0.6.2/setup.py
--- old/knack-0.6.1/setup.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/setup.py 2019-05-23 00:19:57.000000000 +0200
@@ -9,7 +9,7 @@
from codecs import open
from setuptools import setup, find_packages
-VERSION = '0.6.1'
+VERSION = '0.6.2'
DEPENDENCIES = [
'argcomplete',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/tests/test_cli_scenarios.py new/knack-0.6.2/tests/test_cli_scenarios.py
--- old/knack-0.6.1/tests/test_cli_scenarios.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/tests/test_cli_scenarios.py 2019-05-23 00:19:57.000000000 +0200
@@ -4,6 +4,7 @@
# --------------------------------------------------------------------------------------------
import os
+from collections import OrderedDict
import unittest
try:
import mock
@@ -11,7 +12,6 @@
from unittest import mock
import mock
-from collections import OrderedDict
from six import StringIO
from knack import CLI
@@ -87,7 +87,7 @@
self.command_table['abc list'] = CLICommand(self.cli_ctx, 'abc list', a_test_command_handler)
return OrderedDict(self.command_table)
- mycli = CLI(cli_name='exapp1', config_dir=os.path.join('~', '.exapp1'), commands_loader_cls=MyCommandsLoader)
+ mycli = CLI(cli_name='exapp1', config_dir=os.path.expanduser(os.path.join('~', '.exapp1')), commands_loader_cls=MyCommandsLoader)
expected_output = """[
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/tests/test_command_with_configured_defaults.py new/knack-0.6.2/tests/test_command_with_configured_defaults.py
--- old/knack-0.6.1/tests/test_command_with_configured_defaults.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/tests/test_command_with_configured_defaults.py 2019-05-23 00:19:57.000000000 +0200
@@ -5,17 +5,15 @@
from __future__ import print_function
import os
import logging
+import sys
import unittest
try:
import mock
except ImportError:
from unittest import mock
-from six import StringIO
-import sys
from knack.arguments import ArgumentsContext
-from knack.commands import CLICommandsLoader, CLICommand, CommandGroup
-from knack.config import CLIConfig
+from knack.commands import CLICommandsLoader, CommandGroup
from tests.util import DummyCLI, redirect_io
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/tests/test_deprecation.py new/knack-0.6.2/tests/test_deprecation.py
--- old/knack-0.6.1/tests/test_deprecation.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/tests/test_deprecation.py 2019-05-23 00:19:57.000000000 +0200
@@ -28,6 +28,7 @@
pass
+# pylint: disable=line-too-long
class TestCommandDeprecation(unittest.TestCase):
def setUp(self):
@@ -132,7 +133,8 @@
with self.assertRaises(SystemExit):
self.cli_ctx.invoke('cmd5 -h'.split())
actual = self.io.getvalue()
- self.assertTrue(u'invalid choice' in actual and u'cmd5' in actual)
+ expected = """The most similar choices to 'cmd5'"""
+ self.assertIn(expected, actual)
class TestCommandGroupDeprecation(unittest.TestCase):
@@ -231,7 +233,8 @@
with self.assertRaises(SystemExit):
self.cli_ctx.invoke('group5 -h'.split())
actual = self.io.getvalue()
- self.assertTrue(u'invalid choice' in actual and u'group5' in actual)
+ expected = """The most similar choices to 'group5'"""
+ self.assertIn(expected, actual)
@redirect_io
def test_deprecate_command_implicitly(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/tests/test_introspection.py new/knack-0.6.2/tests/test_introspection.py
--- old/knack-0.6.1/tests/test_introspection.py 2019-04-26 02:11:43.000000000 +0200
+++ new/knack-0.6.2/tests/test_introspection.py 2019-05-23 00:19:57.000000000 +0200
@@ -3,12 +3,7 @@
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------
-import os
-import stat
import unittest
-import tempfile
-import mock
-from six.moves import configparser
from knack.introspection import extract_full_summary_from_signature, option_descriptions, extract_args_from_signature
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knack-0.6.1/tests/test_preview.py new/knack-0.6.2/tests/test_preview.py
--- old/knack-0.6.1/tests/test_preview.py 1970-01-01 01:00:00.000000000 +0100
+++ new/knack-0.6.2/tests/test_preview.py 2019-05-23 00:19:57.000000000 +0200
@@ -0,0 +1,196 @@
+# --------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# --------------------------------------------------------------------------------------------
+
+from __future__ import unicode_literals
+
+import unittest
+try:
+ import mock
+except ImportError:
+ from unittest import mock
+from threading import Lock
+
+from knack.arguments import ArgumentsContext
+from knack.commands import CLICommand, CLICommandsLoader, CommandGroup
+
+from tests.util import DummyCLI, redirect_io
+
+
+def example_handler(arg1, arg2=None, arg3=None):
+ """ Short summary here. Long summary here. Still long summary. """
+ pass
+
+
+def example_arg_handler(arg1, opt1, arg2=None, opt2=None, arg3=None,
+ opt3=None, arg4=None, opt4=None, arg5=None, opt5=None):
+ pass
+
+
+class TestCommandPreview(unittest.TestCase):
+
+ def setUp(self):
+
+ from knack.help_files import helps
+
+ class PreviewTestCommandLoader(CLICommandsLoader):
+ def load_command_table(self, args):
+ super(PreviewTestCommandLoader, self).load_command_table(args)
+ with CommandGroup(self, '', '{}#{{}}'.format(__name__)) as g:
+ g.command('cmd1', 'example_handler', is_preview=True)
+
+ with CommandGroup(self, 'grp1', '{}#{{}}'.format(__name__), is_preview=True) as g:
+ g.command('cmd1', 'example_handler')
+
+ return self.command_table
+
+ def load_arguments(self, command):
+ with ArgumentsContext(self, '') as c:
+ c.argument('arg1', options_list=['--arg', '-a'], required=False, type=int, choices=[1, 2, 3])
+ c.argument('arg2', options_list=['-b'], required=True, choices=['a', 'b', 'c'])
+
+ super(PreviewTestCommandLoader, self).load_arguments(command)
+
+ helps['grp1'] = """
+ type: group
+ short-summary: A group.
+"""
+ self.cli_ctx = DummyCLI(commands_loader_cls=PreviewTestCommandLoader)
+
+ @redirect_io
+ def test_preview_command_group_help(self):
+ """ Ensure preview commands appear correctly in group help view. """
+ with self.assertRaises(SystemExit):
+ self.cli_ctx.invoke('-h'.split())
+ actual = self.io.getvalue()
+ expected = u"""
+Group
+ {}
+
+Subgroups:
+ grp1 [Preview] : A group.
+
+Commands:
+ cmd1 [Preview] : Short summary here.
+
+""".format(self.cli_ctx.name)
+ self.assertEqual(expected, actual)
+
+ @redirect_io
+ def test_preview_command_plain_execute(self):
+ """ Ensure general warning displayed when running preview command. """
+ self.cli_ctx.invoke('cmd1 -b b'.split())
+ actual = self.io.getvalue()
+ expected = "This command is in preview. It may be changed/removed in a future release."
+ self.assertIn(expected, actual)
+
+
+class TestCommandGroupPreview(unittest.TestCase):
+
+ def setUp(self):
+
+ from knack.help_files import helps
+
+ class PreviewTestCommandLoader(CLICommandsLoader):
+ def load_command_table(self, args):
+ super(PreviewTestCommandLoader, self).load_command_table(args)
+
+ with CommandGroup(self, 'group1', '{}#{{}}'.format(__name__), is_preview=True) as g:
+ g.command('cmd1', 'example_handler')
+
+ return self.command_table
+
+ def load_arguments(self, command):
+ with ArgumentsContext(self, '') as c:
+ c.argument('arg1', options_list=['--arg', '-a'], required=False, type=int, choices=[1, 2, 3])
+ c.argument('arg2', options_list=['-b'], required=True, choices=['a', 'b', 'c'])
+
+ super(PreviewTestCommandLoader, self).load_arguments(command)
+
+ helps['group1'] = """
+ type: group
+ short-summary: A group.
+"""
+ self.cli_ctx = DummyCLI(commands_loader_cls=PreviewTestCommandLoader)
+
+ @redirect_io
+ def test_preview_command_group_help_plain(self):
+ """ Ensure help warnings appear for preview command group help. """
+ with self.assertRaises(SystemExit):
+ self.cli_ctx.invoke('group1 -h'.split())
+ actual = self.io.getvalue()
+ expected = """
+Group
+ cli group1 : A group.
+ This command group is in preview. It may be changed/removed in a future release.
+Commands:
+ cmd1 : Short summary here.
+
+""".format(self.cli_ctx.name)
+ self.assertEqual(expected, actual)
+
+ @redirect_io
+ def test_preview_command_implicitly(self):
+ """ Ensure help warning displayed for command in preview because of a preview parent group. """
+ with self.assertRaises(SystemExit):
+ self.cli_ctx.invoke('group1 cmd1 -h'.split())
+ actual = self.io.getvalue()
+ expected = """
+Command
+ {} group1 cmd1 : Short summary here.
+ Long summary here. Still long summary. Command group 'group1' is in preview. It may be
+ changed/removed in a future release.
+""".format(self.cli_ctx.name)
+ self.assertIn(expected, actual)
+
+
+class TestArgumentPreview(unittest.TestCase):
+
+ def setUp(self):
+
+ from knack.help_files import helps
+
+ class PreviewTestCommandLoader(CLICommandsLoader):
+ def load_command_table(self, args):
+ super(PreviewTestCommandLoader, self).load_command_table(args)
+ with CommandGroup(self, '', '{}#{{}}'.format(__name__)) as g:
+ g.command('arg-test', 'example_arg_handler')
+ return self.command_table
+
+ def load_arguments(self, command):
+ with ArgumentsContext(self, 'arg-test') as c:
+ c.argument('arg1', help='Arg1', is_preview=True)
+
+ super(PreviewTestCommandLoader, self).load_arguments(command)
+
+ helps['grp1'] = """
+ type: group
+ short-summary: A group.
+"""
+ self.cli_ctx = DummyCLI(commands_loader_cls=PreviewTestCommandLoader)
+
+ @redirect_io
+ def test_preview_arguments_command_help(self):
+ """ Ensure preview arguments appear correctly in command help view. """
+ with self.assertRaises(SystemExit):
+ self.cli_ctx.invoke('arg-test -h'.split())
+ actual = self.io.getvalue()
+ expected = """
+Arguments
+ --arg1 [Preview] [Required] : Arg1.
+ Argument '--arg1' is in preview. It may be changed/removed in a future release.
+""".format(self.cli_ctx.name)
+ self.assertIn(expected, actual)
+
+ @redirect_io
+ def test_preview_arguments_execute(self):
+ """ Ensure deprecated arguments can be used. """
+ self.cli_ctx.invoke('arg-test --arg1 foo --opt1 bar'.split())
+ actual = self.io.getvalue()
+ expected = "Argument '--arg1' is in preview. It may be changed/removed in a future release."
+ self.assertIn(expected, actual)
+
+
+if __name__ == '__main__':
+ unittest.main()
1
0
Hello community,
here is the log from the commit of package python-wsgi_intercept for openSUSE:Factory checked in at 2019-05-27 08:38:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-wsgi_intercept (Old)
and /work/SRC/openSUSE:Factory/.python-wsgi_intercept.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-wsgi_intercept"
Mon May 27 08:38:20 2019 rev:20 rq:705258 version:1.8.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-wsgi_intercept/python-wsgi_intercept.changes 2019-03-21 09:53:39.182783136 +0100
+++ /work/SRC/openSUSE:Factory/.python-wsgi_intercept.new.5148/python-wsgi_intercept.changes 2019-05-27 08:38:21.767071503 +0200
@@ -1,0 +2,6 @@
+Fri May 24 13:45:03 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.8.1:
+ * Fixes issues with latest urllib
+
+-------------------------------------------------------------------
Old:
----
wsgi_intercept-1.8.0.tar.gz
New:
----
wsgi_intercept-1.8.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-wsgi_intercept.spec ++++++
--- /var/tmp/diff_new_pack.P68o97/_old 2019-05-27 08:38:22.443071239 +0200
+++ /var/tmp/diff_new_pack.P68o97/_new 2019-05-27 08:38:22.443071239 +0200
@@ -18,31 +18,29 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-wsgi_intercept
-Version: 1.8.0
+Version: 1.8.1
Release: 0
Summary: Installs a WSGI application in place of a real URI for testing
License: MIT
Group: Development/Languages/Python
-Url: https://github.com/cdent/python3-wsgi-intercept
-Source: https://pypi.io/packages/source/w/wsgi_intercept/wsgi_intercept-%{version}.…
-BuildRequires: %{python_module setuptools}
-BuildRequires: python-rpm-macros
-# Test requirements:
+URL: https://github.com/cdent/python3-wsgi-intercept
+Source: https://files.pythonhosted.org/packages/source/w/wsgi_intercept/wsgi_interc…
BuildRequires: %{python_module devel}
BuildRequires: %{python_module httplib2}
BuildRequires: %{python_module pytest >= 2.4}
BuildRequires: %{python_module requests >= 2.0.1}
+BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six}
BuildRequires: %{python_module urllib3 >= 1.11.0}
BuildRequires: fdupes
+BuildRequires: python-rpm-macros
Requires: python-six
+BuildArch: noarch
%if 0%{?_no_weakdeps}
Requires: python-requests >= 2.0.1
%else
Recommends: python-requests >= 2.0.1
%endif
-BuildArch: noarch
-
%python_subpackages
%description
@@ -54,9 +52,6 @@
%prep
%setup -q -n wsgi_intercept-%{version}
-%if 0%{?suse_version} == 1230
-%patch0 -p1
-%endif
%build
%python_build
@@ -68,7 +63,7 @@
%check
export WSGI_INTERCEPT_SKIP_NETWORK=true
-%python_exec -m pytest --ignore _build.python2 --ignore _build.python3
+%pytest
%files %{python_files}
%{python_sitelib}/wsgi_intercept-%{version}-py%{py_ver}.egg-info
++++++ wsgi_intercept-1.8.0.tar.gz -> wsgi_intercept-1.8.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsgi_intercept-1.8.0/PKG-INFO new/wsgi_intercept-1.8.1/PKG-INFO
--- old/wsgi_intercept-1.8.0/PKG-INFO 2018-07-06 13:24:09.000000000 +0200
+++ new/wsgi_intercept-1.8.1/PKG-INFO 2019-05-23 12:57:28.000000000 +0200
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: wsgi_intercept
-Version: 1.8.0
+Version: 1.8.1
Summary: wsgi_intercept installs a WSGI application in place of a real URI for testing.
Home-page: http://pypi.python.org/pypi/wsgi_intercept
Author: Titus Brown, Kumar McMillan, Chris Dent, Sasha Hart
Author-email: cdent(a)peermore.com
License: MIT License
-Description-Content-Type: UNKNOWN
Description: Installs a WSGI application in place of a real host for testing.
Introduction
@@ -158,5 +157,8 @@
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Software Development :: Testing
+Provides-Extra: testing
+Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsgi_intercept-1.8.0/setup.py new/wsgi_intercept-1.8.1/setup.py
--- old/wsgi_intercept-1.8.0/setup.py 2018-07-06 13:21:51.000000000 +0200
+++ new/wsgi_intercept-1.8.1/setup.py 2019-05-23 12:33:23.000000000 +0200
@@ -1,7 +1,7 @@
from setuptools import setup, find_packages
-VERSION = '1.8.0'
+VERSION = '1.8.1'
CLASSIFIERS = """
Environment :: Web Environment
@@ -14,6 +14,7 @@
Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
+Programming Language :: Python :: 3.7
Topic :: Internet :: WWW/HTTP :: WSGI
Topic :: Software Development :: Testing
""".strip().splitlines()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsgi_intercept-1.8.0/wsgi_intercept/_urllib3.py new/wsgi_intercept-1.8.1/wsgi_intercept/_urllib3.py
--- old/wsgi_intercept-1.8.0/wsgi_intercept/_urllib3.py 2017-09-26 00:14:59.000000000 +0200
+++ new/wsgi_intercept-1.8.1/wsgi_intercept/_urllib3.py 2019-05-23 12:28:17.000000000 +0200
@@ -27,6 +27,7 @@
if 'strict' in kwargs and sys.version_info > (3, 0):
kwargs.pop('strict')
kwargs.pop('socket_options', None)
+ kwargs.pop('key_password', None)
WSGI_HTTPSConnection.__init__(self, *args, **kwargs)
HTTPSConnection.__init__(self, *args, **kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsgi_intercept-1.8.0/wsgi_intercept/tests/test_response_headers.py new/wsgi_intercept-1.8.1/wsgi_intercept/tests/test_response_headers.py
--- old/wsgi_intercept-1.8.0/wsgi_intercept/tests/test_response_headers.py 2017-09-26 00:14:59.000000000 +0200
+++ new/wsgi_intercept-1.8.1/wsgi_intercept/tests/test_response_headers.py 2019-05-23 12:14:50.000000000 +0200
@@ -77,8 +77,8 @@
with py.test.raises(TypeError) as error:
response = requests.get(url)
- assert (str(error.value) ==
- "Header has a key '%s' or value '%s' "
+ assert (
+ str(error.value) == "Header has a key '%s' or value '%s' "
"which is not a native str." % (header_key, header_value))
# When False, other types of strings are okay.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsgi_intercept-1.8.0/wsgi_intercept.egg-info/PKG-INFO new/wsgi_intercept-1.8.1/wsgi_intercept.egg-info/PKG-INFO
--- old/wsgi_intercept-1.8.0/wsgi_intercept.egg-info/PKG-INFO 2018-07-06 13:24:09.000000000 +0200
+++ new/wsgi_intercept-1.8.1/wsgi_intercept.egg-info/PKG-INFO 2019-05-23 12:57:27.000000000 +0200
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: wsgi-intercept
-Version: 1.8.0
+Version: 1.8.1
Summary: wsgi_intercept installs a WSGI application in place of a real URI for testing.
Home-page: http://pypi.python.org/pypi/wsgi_intercept
Author: Titus Brown, Kumar McMillan, Chris Dent, Sasha Hart
Author-email: cdent(a)peermore.com
License: MIT License
-Description-Content-Type: UNKNOWN
Description: Installs a WSGI application in place of a real host for testing.
Introduction
@@ -158,5 +157,8 @@
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Software Development :: Testing
+Provides-Extra: testing
+Provides-Extra: docs
1
0
Hello community,
here is the log from the commit of package python-zstandard for openSUSE:Factory checked in at 2019-05-27 08:38:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zstandard (Old)
and /work/SRC/openSUSE:Factory/.python-zstandard.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zstandard"
Mon May 27 08:38:17 2019 rev:2 rq:705256 version:0.11.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-zstandard/python-zstandard.changes 2019-05-07 23:20:39.293148249 +0200
+++ /work/SRC/openSUSE:Factory/.python-zstandard.new.5148/python-zstandard.changes 2019-05-27 08:38:18.495072778 +0200
@@ -1,0 +2,6 @@
+Fri May 24 13:39:30 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.11.1:
+ * Fix memory leak in ``ZstdDecompressionReader.seek()`` (#82).
+
+-------------------------------------------------------------------
Old:
----
zstandard-0.11.0.tar.gz
New:
----
zstandard-0.11.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zstandard.spec ++++++
--- /var/tmp/diff_new_pack.vGls2Q/_old 2019-05-27 08:38:19.139072527 +0200
+++ /var/tmp/diff_new_pack.vGls2Q/_new 2019-05-27 08:38:19.143072526 +0200
@@ -12,32 +12,32 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-zstandard
-Version: 0.11.0
+Version: 0.11.1
Release: 0
-License: BSD-3-Clause
Summary: Zstandard bindings for Python
-Url: https://github.com/indygreg/python-zstandard
+License: BSD-3-Clause
Group: Development/Languages/Python
+URL: https://github.com/indygreg/python-zstandard
Source: https://files.pythonhosted.org/packages/source/z/zstandard/zstandard-%{vers…
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
+BuildRequires: libzstd-devel
BuildRequires: python-rpm-macros
BuildRequires: zstd
-BuildRequires: libzstd-devel
+Requires: python-cffi >= 1.11
+Requires: zstd
+Conflicts: python-zstd
# SECTION test requirements
BuildRequires: %{python_module cffi >= 1.11}
BuildRequires: %{python_module nose}
# /SECTION
-Requires: python-cffi >= 1.11
-Requires: zstd
-Conflicts: python-zstd
-
%python_subpackages
%description
++++++ zstandard-0.11.0.tar.gz -> zstandard-0.11.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zstandard-0.11.0/NEWS.rst new/zstandard-0.11.1/NEWS.rst
--- old/zstandard-0.11.0/NEWS.rst 2019-02-26 01:17:23.000000000 +0100
+++ new/zstandard-0.11.1/NEWS.rst 2019-05-15 05:00:47.000000000 +0200
@@ -66,6 +66,11 @@
* API for ensuring max memory ceiling isn't exceeded.
* Move off nose for testing.
+0.11.1 (released 2019-05-14)
+============================
+
+* Fix memory leak in ``ZstdDecompressionReader.seek()`` (#82).
+
0.11.0 (released 2019-02-24)
============================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zstandard-0.11.0/PKG-INFO new/zstandard-0.11.1/PKG-INFO
--- old/zstandard-0.11.0/PKG-INFO 2019-02-26 01:17:31.000000000 +0100
+++ new/zstandard-0.11.1/PKG-INFO 2019-05-15 05:00:56.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: zstandard
-Version: 0.11.0
+Version: 0.11.1
Summary: Zstandard bindings for Python
Home-page: https://github.com/indygreg/python-zstandard
Author: Gregory Szorc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zstandard-0.11.0/c-ext/decompressionreader.c new/zstandard-0.11.1/c-ext/decompressionreader.c
--- old/zstandard-0.11.0/c-ext/decompressionreader.c 2019-02-26 01:17:23.000000000 +0100
+++ new/zstandard-0.11.1/c-ext/decompressionreader.c 2019-05-15 05:00:47.000000000 +0200
@@ -653,6 +653,8 @@
readSize = PyBytes_GET_SIZE(readResult);
+ Py_CLEAR(readResult);
+
/* Empty read means EOF. */
if (!readSize) {
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zstandard-0.11.0/c-ext/python-zstandard.h new/zstandard-0.11.1/c-ext/python-zstandard.h
--- old/zstandard-0.11.0/c-ext/python-zstandard.h 2019-02-26 01:17:23.000000000 +0100
+++ new/zstandard-0.11.1/c-ext/python-zstandard.h 2019-05-15 05:00:47.000000000 +0200
@@ -16,7 +16,7 @@
#include <zdict.h>
/* Remember to change the string in zstandard/__init__ as well */
-#define PYTHON_ZSTANDARD_VERSION "0.11.0"
+#define PYTHON_ZSTANDARD_VERSION "0.11.1"
typedef enum {
compressorobj_flush_finish,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zstandard-0.11.0/tests/test_module_attributes.py new/zstandard-0.11.1/tests/test_module_attributes.py
--- old/zstandard-0.11.0/tests/test_module_attributes.py 2019-02-26 01:17:23.000000000 +0100
+++ new/zstandard-0.11.1/tests/test_module_attributes.py 2019-05-15 05:00:47.000000000 +0200
@@ -14,7 +14,7 @@
def test_version(self):
self.assertEqual(zstd.ZSTD_VERSION, (1, 3, 8))
- self.assertEqual(zstd.__version__, '0.11.0')
+ self.assertEqual(zstd.__version__, '0.11.1')
def test_constants(self):
self.assertEqual(zstd.MAX_COMPRESSION_LEVEL, 22)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zstandard-0.11.0/zstandard/__init__.py new/zstandard-0.11.1/zstandard/__init__.py
--- old/zstandard-0.11.0/zstandard/__init__.py 2019-02-26 01:17:23.000000000 +0100
+++ new/zstandard-0.11.1/zstandard/__init__.py 2019-05-15 05:00:47.000000000 +0200
@@ -62,4 +62,4 @@
'cext, or cffi' % _module_policy)
# Keep this in sync with python-zstandard.h.
-__version__ = '0.11.0'
+__version__ = '0.11.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zstandard-0.11.0/zstandard.egg-info/PKG-INFO new/zstandard-0.11.1/zstandard.egg-info/PKG-INFO
--- old/zstandard-0.11.0/zstandard.egg-info/PKG-INFO 2019-02-26 01:17:31.000000000 +0100
+++ new/zstandard-0.11.1/zstandard.egg-info/PKG-INFO 2019-05-15 05:00:56.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: zstandard
-Version: 0.11.0
+Version: 0.11.1
Summary: Zstandard bindings for Python
Home-page: https://github.com/indygreg/python-zstandard
Author: Gregory Szorc
1
0
Hello community,
here is the log from the commit of package python-jupyter-server for openSUSE:Factory checked in at 2019-05-27 08:38:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter-server (Old)
and /work/SRC/openSUSE:Factory/.python-jupyter-server.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter-server"
Mon May 27 08:38:14 2019 rev:2 rq:705255 version:0.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jupyter-server/python-jupyter-server.changes 2019-05-22 11:10:14.318595105 +0200
+++ /work/SRC/openSUSE:Factory/.python-jupyter-server.new.5148/python-jupyter-server.changes 2019-05-27 08:38:15.527073936 +0200
@@ -1,0 +2,6 @@
+Wed May 22 21:53:32 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Remove selenium test dependency, it isn't really needed for the
+ tests and doesn't work on ARM.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyter-server.spec ++++++
--- /var/tmp/diff_new_pack.HuONKX/_old 2019-05-27 08:38:16.215073667 +0200
+++ /var/tmp/diff_new_pack.HuONKX/_new 2019-05-27 08:38:16.219073666 +0200
@@ -44,7 +44,7 @@
BuildRequires: %{python_module prometheus_client}
BuildRequires: %{python_module pyzmq >= 17}
BuildRequires: %{python_module requests}
-BuildRequires: %{python_module selenium}
+# BuildRequires: %%{python_module selenium}
BuildRequires: %{python_module terminado >= 0.8.1}
BuildRequires: %{python_module tornado >= 4}
BuildRequires: %{python_module traitlets >= 4.2.1}
1
0
Hello community,
here is the log from the commit of package proftpd for openSUSE:Factory checked in at 2019-05-27 08:38:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/proftpd (Old)
and /work/SRC/openSUSE:Factory/.proftpd.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "proftpd"
Mon May 27 08:38:07 2019 rev:32 rq:705245 version:1.3.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/proftpd/proftpd.changes 2018-07-18 22:53:41.715009585 +0200
+++ /work/SRC/openSUSE:Factory/.proftpd.new.5148/proftpd.changes 2019-05-27 08:38:12.287075198 +0200
@@ -1,0 +2,66 @@
+Tue Mar 26 11:35:53 UTC 2019 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Fix the Factory build: select the appropriate OpenSSL version
+ to build with.
+
+-------------------------------------------------------------------
+Wed Mar 20 18:46:47 UTC 2019 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Reduce hard dependency on systemd to only that which is
+ necessary for building and installation.
+- Modernize RPM macro use (%make_install, %tmpfiles_create).
+- Strip emphasis from description and trim other platform mentions.
+
+-------------------------------------------------------------------
+Wed Jul 11 08:05:29 UTC 2018 - chris(a)computersalat.de
+
+- update to 1.3.6
+ * Support for using Redis for caching, logging; see the doc/howto/Redis.html
+ documentation.
+ * Fixed mod_sql_postgres SSL support (Issue #415).
+ * Support building against LibreSSL instead of OpenSSL (Issue #361).
+ * Better support on AIX for login restraictions (Bug #4285).
+ * TimeoutLogin (and other timeouts) were not working properly for SFTP
+ connections (Bug#4299).
+ * Handling of the SIGILL and SIGINT signals, by the daemon process, now causes
+ the child processes to be terminated as well (Issue #461).
+ * RPM .spec file naming changed to conform to Fedora guidelines.
+ * Fix for "AllowChrootSymlinks off" checking each component for symlinks
+ (CVE-2017-7418).
+ -New Modules:
+ * mod_redis, mod_tls_redis, mod_wrap2_redis
+ With Redis now supported as a caching mechanism, similar to Memcache,
+ there are now Redis-using modules: mod_redis (for configuring the Redis
+ connection information), mod_tls_redis (for caching SSL sessions and
+ OCSP information using Redis), and mod_wrap2_redis (for using ACLs stored
+ in Redis).
+ -Changed Modules:
+ * mod_ban
+ The mod_ban module's BanCache directive can now use Redis-based caching;
+ see doc/contrib/mod_ban.html#BanCache.
+ -New Configuration Directives
+ * SQLPasswordArgon2, SQLPasswordScrypt
+ The key lengths for Argon2 and Scrypt-based passwords are now configurable
+ via these new directives; previously, the key length had been hardcoded
+ to be 32 bytes, which is not interoperable with all other implementations
+ (Issue #454).
+ -Changed Configuration Directives
+ * AllowChrootSymlinks
+ When "AllowChrootSymlinks off" was used, only the last portion of the
+ DefaultRoot path would be checked to see if it was a symlink. Now,
+ each component of the DefaultRoot path will be checked to see if it is
+ a symlink when "AllowChrootSymlinks off" is used.
+ * Include
+ The Include directive can now be used within a <Limit> section, e.g.:
+ <Limit LOGIN>
+ Include /path/to/allowed.txt
+ DenyAll
+ </Limit>
+ -API Changes
+ * A new JSON API has been added, for use by third-party modules.
+- remove obsolete proftpd_include-in-limit-section.patch
+- rebase patches
+ * proftpd-ftpasswd.patch
+ * proftpd-no_BuildDate.patch
+
+-------------------------------------------------------------------
Old:
----
proftpd-1.3.5e.tar.gz
proftpd-1.3.5e.tar.gz.asc
proftpd_include-in-limit-section.patch
New:
----
proftpd-1.3.6.tar.gz
proftpd-1.3.6.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ proftpd.spec ++++++
--- /var/tmp/diff_new_pack.DYVWrX/_old 2019-05-27 08:38:13.839074594 +0200
+++ /var/tmp/diff_new_pack.DYVWrX/_new 2019-05-27 08:38:13.839074594 +0200
@@ -1,7 +1,7 @@
#
# spec file for package proftpd
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,17 +12,17 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: proftpd
-Summary: Highly configurable GPL-licensed FTP server software
+Summary: Configurable GPL-licensed FTP server software
# Please save your time and do not update to "rc" versions.
# We only accept updates for "STABLE" Versions
License: GPL-2.0-or-later
Group: Productivity/Networking/Ftp/Servers
-Version: 1.3.5e
+Version: 1.3.6
Release: 0
Url: http://www.proftpd.org/
Source0: ftp://ftp.proftpd.org/distrib/source/%{name}-%{version}.tar.gz
@@ -45,8 +45,6 @@
Patch103: %{name}-strip.patch
#PATCH-FIX-openSUSE: file-contains-date-and-time
Patch104: %{name}-no_BuildDate.patch
-#PATCH-Feature-back-port: include-in-limit-section
-Patch105: %{name}_include-in-limit-section.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#BuildRequires: gpg-offline
BuildRequires: fdupes
@@ -58,12 +56,12 @@
BuildRequires: mysql-devel
BuildRequires: ncurses-devel
BuildRequires: openldap2-devel
-BuildRequires: openssl-devel
BuildRequires: pam-devel
BuildRequires: pkg-config
BuildRequires: postgresql-devel
BuildRequires: sqlite3-devel
BuildRequires: unixODBC-devel
+BuildRequires: pkgconfig(libssl) < 1.1
Requires: logrotate
%if 0%{?lang_package:1} > 0
@@ -71,17 +69,16 @@
%endif
%if 0%{?suse_version} >= 1210
-BuildRequires: systemd
-%{?systemd_requires}
+BuildRequires: systemd-rpm-macros
+%{?systemd_ordering}
%define has_systemd 1
%else
Requires(pre): %insserv_prereq
%endif
%description
-ProFTPD is a highly configurable FTP daemon for Unix and Unix-like
-operating systems. See the README.ports file for more details about
-the platforms on which ProFTPD in known or thought to build and run.
+ProFTPD is a configurable FTP daemon for Unix and Unix-like
+operating systems.
%{?lang_package}
@@ -151,7 +148,6 @@
%patch102
%patch103
%patch104
-%patch105
%build
rm contrib/mod_wrap.c
@@ -184,7 +180,7 @@
make %{?_smp_mflags}
%install
-%makeinstall INSTALL_USER=`id -un` INSTALL_GROUP=`id -gn`
+%make_install INSTALL_USER=`id -un` INSTALL_GROUP=`id -gn`
install -D -m 0644 contrib/dist/rpm/ftp.pamd %{buildroot}/%{_sysconfdir}/pam.d/%{name}
install -D -m 0644 contrib/dist/rpm/%{name}.logrotate %{buildroot}/%{_sysconfdir}/logrotate.d/%{name}
#
@@ -231,7 +227,7 @@
%post
%if 0%{?has_systemd}
%service_add_post %{name}.service
-%tmpfiles_create %{_tmpfilesdir}/%{name}.conf || :
+%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
%else
%{fillup_and_insserv -f proftpd}
install -d %{_localstatedir}/run/%{name}
++++++ proftpd-1.3.5e.tar.gz -> proftpd-1.3.6.tar.gz ++++++
/work/SRC/openSUSE:Factory/proftpd/proftpd-1.3.5e.tar.gz /work/SRC/openSUSE:Factory/.proftpd.new.5148/proftpd-1.3.6.tar.gz differ: char 12, line 1
++++++ proftpd-ftpasswd.patch ++++++
--- /var/tmp/diff_new_pack.DYVWrX/_old 2019-05-27 08:38:13.899074570 +0200
+++ /var/tmp/diff_new_pack.DYVWrX/_new 2019-05-27 08:38:13.899074570 +0200
@@ -2,7 +2,7 @@
===================================================================
--- contrib/ftpasswd.orig
+++ contrib/ftpasswd
-@@ -34,8 +34,8 @@ use Getopt::Long;
+@@ -32,8 +32,8 @@ use Getopt::Long;
$Getopt::Long::auto_abbrev = 0;
my $program = basename($0);
@@ -13,7 +13,7 @@
my $shell_file = "/etc/shells";
my $default_cracklib_dict = "/usr/lib/cracklib_dict";
my $cracklib_dict;
-@@ -1074,6 +1074,46 @@ usage: $program [--help] [--hash|--group
+@@ -1109,6 +1109,46 @@ usage: $program [--help] [--hash|--group
--version
Displays the version of $program.
++++++ proftpd-no_BuildDate.patch ++++++
--- /var/tmp/diff_new_pack.DYVWrX/_old 2019-05-27 08:38:13.919074562 +0200
+++ /var/tmp/diff_new_pack.DYVWrX/_new 2019-05-27 08:38:13.919074562 +0200
@@ -65,13 +65,13 @@
-#include "buildstamp.h"
-
/* Application version (in various forms) */
- #define PROFTPD_VERSION_NUMBER 0x0001030511
- #define PROFTPD_VERSION_TEXT "1.3.5e"
+ #define PROFTPD_VERSION_NUMBER 0x0001030605
+ #define PROFTPD_VERSION_TEXT "1.3.6"
Index: src/main.c
===================================================================
--- src/main.c.orig
+++ src/main.c
-@@ -2435,8 +2435,8 @@ static void standalone_main(void) {
+@@ -1883,8 +1883,8 @@ static void standalone_main(void) {
init_bindings();
@@ -80,9 +80,9 @@
+ pr_log_pri(PR_LOG_NOTICE, "ProFTPD %s standalone mode STARTUP",
+ PROFTPD_VERSION_TEXT " " PR_STATUS);
- pr_pidfile_write();
- daemon_loop();
-@@ -2491,7 +2491,6 @@ static void show_settings(void) {
+ if (pr_pidfile_write() < 0) {
+ fprintf(stderr, "error opening PidFile '%s': %s\n", pr_pidfile_get(),
+@@ -1944,7 +1944,6 @@ static void show_settings(void) {
printf("%s", " Platform: " PR_PLATFORM " [unknown]\n");
#endif /* !HAVE_UNAME */
@@ -90,11 +90,11 @@
printf("%s", " Built With:\n configure " PR_BUILD_OPTS "\n\n");
printf("%s", " CFLAGS: " PR_BUILD_CFLAGS "\n");
-@@ -3009,7 +3008,6 @@ int main(int argc, char *argv[], char **
+@@ -2523,7 +2522,6 @@ int main(int argc, char *argv[], char **
printf("ProFTPD Version: %s", PROFTPD_VERSION_TEXT " " PR_STATUS "\n");
printf(" Scoreboard Version: %08x\n", PR_SCOREBOARD_VERSION);
- printf(" Built: %s\n\n", BUILD_STAMP);
- modules_list(PR_MODULES_LIST_FL_SHOW_VERSION);
+ modules_list2(NULL, PR_MODULES_LIST_FL_SHOW_VERSION);
exit(0);
1
0
Hello community,
here is the log from the commit of package opus for openSUSE:Factory checked in at 2019-05-27 08:37:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opus (Old)
and /work/SRC/openSUSE:Factory/.opus.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opus"
Mon May 27 08:37:44 2019 rev:20 rq:705399 version:1.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/opus/opus.changes 2018-10-25 08:10:18.260268112 +0200
+++ /work/SRC/openSUSE:Factory/.opus.new.5148/opus.changes 2019-05-27 08:37:45.679085571 +0200
@@ -1,0 +2,15 @@
+Sat May 25 08:29:45 UTC 2019 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Update to version 1.3.1
+ * This release fixes an issue with the analysis on files with
+ digital silence (all zeros), especially on x87 builds
+ (mostly affects 32-bit builds).
+ * Two new features:
+ + A new OPUS_GET_IN_DTX query to know if the encoder is in
+ DTX mode (last frame was either a comfort noise frame or
+ not encoded at all)
+ + A new (and still experimental) CMake-based build system
+ that is eventually meant to replace the VS2015 build
+ system (the autotools one will stay).
+
+-------------------------------------------------------------------
Old:
----
opus-1.3.tar.gz
New:
----
opus-1.3.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ opus.spec ++++++
--- /var/tmp/diff_new_pack.ICNwr5/_old 2019-05-27 08:37:46.791085137 +0200
+++ /var/tmp/diff_new_pack.ICNwr5/_new 2019-05-27 08:37:46.795085136 +0200
@@ -1,7 +1,7 @@
#
# spec file for package opus
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012 Pascal Bleser <pascal.bleser(a)opensuse.org>
#
# All modifications and additions to the file contributed by third parties
@@ -19,7 +19,7 @@
%define sover 0
Name: opus
-Version: 1.3
+Version: 1.3.1
Release: 0
Summary: Audio Codec Library
License: BSD-3-Clause
++++++ opus-1.3.tar.gz -> opus-1.3.1.tar.gz ++++++
++++ 1779 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-pyasn1-modules for openSUSE:Factory checked in at 2019-05-27 08:37:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyasn1-modules (Old)
and /work/SRC/openSUSE:Factory/.python-pyasn1-modules.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyasn1-modules"
Mon May 27 08:37:33 2019 rev:23 rq:705395 version:0.2.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyasn1-modules/python-pyasn1-modules.changes 2019-02-02 21:45:26.836178420 +0100
+++ /work/SRC/openSUSE:Factory/.python-pyasn1-modules.new.5148/python-pyasn1-modules.changes 2019-05-27 08:37:34.751089831 +0200
@@ -1,0 +2,20 @@
+Sat May 25 09:39:16 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.2.5:
+ - Added RFC3560 providing RSAES-OAEP Key Transport Algorithm
+ in CMS
+ - Added RFC6019 providing BinaryTime - an alternate format
+ for representing Date and Time
+ - RFC3565 superseded by RFC5649
+ - Added RFC5480 providng Elliptic Curve Cryptography Subject
+ Public Key Information
+ - Added RFC8520 providing X.509 Extensions for MUD URL and
+ MUD Signer
+ - Added RFC3161 providing Time-Stamp Protocol support
+ - Added RFC3709 providing Logotypes in X.509 Certificates
+ - Added RFC3274 providing CMS Compressed Data Content Type
+ - Added RFC4073 providing Multiple Contents protection
+ with CMS
+- Execute testsuite
+
+-------------------------------------------------------------------
Old:
----
pyasn1-modules-0.2.4.tar.gz
New:
----
pyasn1-modules-0.2.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyasn1-modules.spec ++++++
--- /var/tmp/diff_new_pack.33dpmN/_old 2019-05-27 08:37:35.275089627 +0200
+++ /var/tmp/diff_new_pack.33dpmN/_new 2019-05-27 08:37:35.287089622 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pyasn1-modules
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,25 +12,26 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pyasn1-modules
-Version: 0.2.4
+Version: 0.2.5
Release: 0
-Url: https://github.com/etingof/pyasn1-modules
Summary: Collection of protocols modules written in ASN.1 language
License: BSD-3-Clause
Group: Development/Languages/Python
-Source: https://pypi.io/packages/source/p/pyasn1-modules/pyasn1-modules-%{version}.…
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+URL: https://github.com/etingof/pyasn1-modules
+Source: https://files.pythonhosted.org/packages/source/p/pyasn1-modules/pyasn1-modu…
+BuildRequires: %{python_module pyasn1 >= 0.3.4}
+BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-pyasn1 >= 0.3.4
BuildArch: noarch
-
%python_subpackages
%description
@@ -47,10 +48,14 @@
%install
%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
+
+%check
+%pytest
-%files %python_files
-%defattr(-,root,root,-)
-%doc CHANGES.txt LICENSE.txt README.md
+%files %{python_files}
+%license LICENSE.txt
+%doc CHANGES.txt README.md
%{python_sitelib}/*
%changelog
++++++ pyasn1-modules-0.2.4.tar.gz -> pyasn1-modules-0.2.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/CHANGES.txt new/pyasn1-modules-0.2.5/CHANGES.txt
--- old/pyasn1-modules-0.2.4/CHANGES.txt 2019-01-26 18:53:16.000000000 +0100
+++ new/pyasn1-modules-0.2.5/CHANGES.txt 2019-04-24 06:40:45.000000000 +0200
@@ -1,4 +1,24 @@
+Revision 0.2.5, released 24-04-2019
+-----------------------------------
+
+- Added module RFC5958 providing Asymmetric Key Packages,
+ which is essentially version 2 of the PrivateKeyInfo
+ structure in PKCS#8 in RFC 5208
+- Added module RFC8410 providing algorithm Identifiers for
+ Ed25519, Ed448, X25519, and X448
+- Added module RFC8418 providing Elliptic Curve Diffie-Hellman
+ (ECDH) Key Agreement Algorithm with X25519 and X448
+- Added module RFC3565 providing Elliptic Curve Diffie-Hellman
+ Key Agreement Algorithm use with X25519 and X448 in the
+ Cryptographic Message Syntax (CMS)
+- Added module RFC4108 providing CMS Firmware Wrapper
+- Added module RFC3779 providing X.509 Extensions for IP
+ Addresses and AS Identifiers
+- Added module RFC4055 providing additional Algorithms and
+ Identifiers for RSA Cryptography for use in Certificates
+ and CRLs
+
Revision 0.2.4, released 26-01-2018
-----------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/PKG-INFO new/pyasn1-modules-0.2.5/PKG-INFO
--- old/pyasn1-modules-0.2.4/PKG-INFO 2019-01-26 18:54:25.000000000 +0100
+++ new/pyasn1-modules-0.2.5/PKG-INFO 2019-04-24 06:42:13.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pyasn1-modules
-Version: 0.2.4
+Version: 0.2.5
Summary: A collection of ASN.1-based protocols modules.
Home-page: https://github.com/etingof/pyasn1-modules
Author: Ilya Etingof <etingof(a)gmail.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/pyasn1_modules/__init__.py new/pyasn1-modules-0.2.5/pyasn1_modules/__init__.py
--- old/pyasn1-modules-0.2.4/pyasn1_modules/__init__.py 2019-01-26 18:53:16.000000000 +0100
+++ new/pyasn1-modules-0.2.5/pyasn1_modules/__init__.py 2019-04-24 06:40:45.000000000 +0200
@@ -1,2 +1,2 @@
# http://www.python.org/dev/peps/pep-0396/
-__version__ = '0.2.4'
+__version__ = '0.2.5'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/pyasn1_modules/rfc3565.py new/pyasn1-modules-0.2.5/pyasn1_modules/rfc3565.py
--- old/pyasn1-modules-0.2.4/pyasn1_modules/rfc3565.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/pyasn1_modules/rfc3565.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,41 @@
+# This file is being contributed to pyasn1-modules software.
+#
+# Created by Russ Housley.
+#
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+# Use of the Elliptic Curve Diffie-Hellman Key Agreement Algorithm
+# with X25519 and X448 in the Cryptographic Message Syntax (CMS)
+#
+# ASN.1 source from:
+# https://www.rfc-editor.org/rfc/rfc3565.txt
+
+
+from pyasn1.type import univ, constraint
+
+from pyasn1_modules import rfc5280
+
+
+class AlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
+ pass
+
+
+class AES_IV(univ.OctetString):
+ pass
+
+AES_IV.subtypeSpec = constraint.ValueSizeConstraint(16, 16)
+
+
+id_aes128_CBC = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.2')
+
+id_aes192_CBC = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.22')
+
+id_aes256_CBC = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.42')
+
+
+id_aes128_wrap = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.5')
+
+id_aes192_wrap = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.25')
+
+id_aes256_wrap = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.45')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/pyasn1_modules/rfc3779.py new/pyasn1-modules-0.2.5/pyasn1_modules/rfc3779.py
--- old/pyasn1-modules-0.2.4/pyasn1_modules/rfc3779.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/pyasn1_modules/rfc3779.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,112 @@
+#
+# This file is part of pyasn1-modules software.
+#
+# Created by Russ Housley with assistance from asn1ate v.0.6.0.
+#
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+# X.509 Extensions for IP Addresses and AS Identifiers
+#
+# ASN.1 source from:
+# https://www.rfc-editor.org/rfc/rfc3779.txt
+#
+
+
+from pyasn1.type import univ, char, namedtype, namedval, tag, constraint, useful
+
+
+# IP Address Delegation Extension
+
+id_pe_ipAddrBlocks = univ.ObjectIdentifier('1.3.6.1.5.5.7.1.7')
+
+
+class IPAddress(univ.BitString):
+ pass
+
+
+class IPAddressRange(univ.Sequence):
+ pass
+
+IPAddressRange.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('min', IPAddress()),
+ namedtype.NamedType('max', IPAddress())
+)
+
+
+class IPAddressOrRange(univ.Choice):
+ pass
+
+IPAddressOrRange.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('addressPrefix', IPAddress()),
+ namedtype.NamedType('addressRange', IPAddressRange())
+)
+
+
+class IPAddressChoice(univ.Choice):
+ pass
+
+IPAddressChoice.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('inherit', univ.Null()),
+ namedtype.NamedType('addressesOrRanges', univ.SequenceOf(componentType=IPAddressOrRange()))
+)
+
+
+class IPAddressFamily(univ.Sequence):
+ pass
+
+IPAddressFamily.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('addressFamily', univ.OctetString().subtype(subtypeSpec=constraint.ValueSizeConstraint(2, 3))),
+ namedtype.NamedType('ipAddressChoice', IPAddressChoice())
+)
+
+
+class IPAddrBlocks(univ.SequenceOf):
+ pass
+
+IPAddrBlocks.componentType = IPAddressFamily()
+
+
+# Autonomous System Identifier Delegation Extension
+
+id_pe_autonomousSysIds = univ.ObjectIdentifier('1.3.6.1.5.5.7.1.8')
+
+
+class ASId(univ.Integer):
+ pass
+
+
+class ASRange(univ.Sequence):
+ pass
+
+ASRange.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('min', ASId()),
+ namedtype.NamedType('max', ASId())
+)
+
+
+class ASIdOrRange(univ.Choice):
+ pass
+
+ASIdOrRange.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('id', ASId()),
+ namedtype.NamedType('range', ASRange())
+)
+
+
+class ASIdentifierChoice(univ.Choice):
+ pass
+
+ASIdentifierChoice.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('inherit', univ.Null()),
+ namedtype.NamedType('asIdsOrRanges', univ.SequenceOf(componentType=ASIdOrRange()))
+)
+
+
+class ASIdentifiers(univ.Sequence):
+ pass
+
+ASIdentifiers.componentType = namedtype.NamedTypes(
+ namedtype.OptionalNamedType('asnum', ASIdentifierChoice().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))),
+ namedtype.OptionalNamedType('rdi', ASIdentifierChoice().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1)))
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/pyasn1_modules/rfc4055.py new/pyasn1-modules-0.2.5/pyasn1_modules/rfc4055.py
--- old/pyasn1-modules-0.2.4/pyasn1_modules/rfc4055.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/pyasn1_modules/rfc4055.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,249 @@
+#
+# This file is part of pyasn1-modules software.
+#
+# Created by Russ Housley with a very small amount of assistance from
+# asn1ate v.0.6.0.
+#
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+# Additional Algorithms and Identifiers for RSA Cryptography
+# for use in Certificates and CRLs
+#
+# ASN.1 source from:
+# https://www.rfc-editor.org/rfc/rfc4055.txt
+#
+
+from pyasn1.type import univ, char, namedtype, namedval, tag, constraint, useful
+from pyasn1_modules import rfc5280
+
+
+def _OID(*components):
+ output = []
+ for x in tuple(components):
+ if isinstance(x, univ.ObjectIdentifier):
+ output.extend(list(x))
+ else:
+ output.append(int(x))
+ return univ.ObjectIdentifier(output)
+
+
+id_sha1 = _OID(1, 3, 14, 3, 2, 26)
+
+
+id_sha256 = _OID(2, 16, 840, 1, 101, 3, 4, 2, 1)
+
+
+id_sha384 = _OID(2, 16, 840, 1, 101, 3, 4, 2, 2)
+
+
+id_sha512 = _OID(2, 16, 840, 1, 101, 3, 4, 2, 3)
+
+
+id_sha224 = _OID(2, 16, 840, 1, 101, 3, 4, 2, 4)
+
+
+rsaEncryption = _OID(1, 2, 840, 113549, 1, 1, 1)
+
+
+id_mgf1 = _OID(1, 2, 840, 113549, 1, 1, 8)
+
+
+id_RSAES_OAEP = _OID(1, 2, 840, 113549, 1, 1, 7)
+
+
+id_pSpecified = _OID(1, 2, 840, 113549, 1, 1, 9)
+
+
+id_RSASSA_PSS = _OID(1, 2, 840, 113549, 1, 1, 10)
+
+
+sha256WithRSAEncryption = _OID(1, 2, 840, 113549, 1, 1, 11)
+
+
+sha384WithRSAEncryption = _OID(1, 2, 840, 113549, 1, 1, 12)
+
+
+sha512WithRSAEncryption = _OID(1, 2, 840, 113549, 1, 1, 13)
+
+
+sha224WithRSAEncryption = _OID(1, 2, 840, 113549, 1, 1, 14)
+
+
+sha1Identifier = rfc5280.AlgorithmIdentifier()
+sha1Identifier['algorithm'] = id_sha1
+sha1Identifier['parameters'] = univ.Null("")
+
+
+sha224Identifier = rfc5280.AlgorithmIdentifier()
+sha224Identifier['algorithm'] = id_sha224
+sha224Identifier['parameters'] = univ.Null("")
+
+
+sha256Identifier = rfc5280.AlgorithmIdentifier()
+sha256Identifier['algorithm'] = id_sha256
+sha256Identifier['parameters'] = univ.Null("")
+
+
+sha384Identifier = rfc5280.AlgorithmIdentifier()
+sha384Identifier['algorithm'] = id_sha384
+sha384Identifier['parameters'] = univ.Null("")
+
+
+sha512Identifier = rfc5280.AlgorithmIdentifier()
+sha512Identifier['algorithm'] = id_sha512
+sha512Identifier['parameters'] = univ.Null("")
+
+
+mgf1SHA1Identifier = rfc5280.AlgorithmIdentifier()
+mgf1SHA1Identifier['algorithm'] = id_mgf1
+mgf1SHA1Identifier['parameters'] = sha1Identifier
+
+
+mgf1SHA224Identifier = rfc5280.AlgorithmIdentifier()
+mgf1SHA224Identifier['algorithm'] = id_mgf1
+mgf1SHA224Identifier['parameters'] = sha224Identifier
+
+
+mgf1SHA256Identifier = rfc5280.AlgorithmIdentifier()
+mgf1SHA256Identifier['algorithm'] = id_mgf1
+mgf1SHA256Identifier['parameters'] = sha256Identifier
+
+
+mgf1SHA384Identifier = rfc5280.AlgorithmIdentifier()
+mgf1SHA384Identifier['algorithm'] = id_mgf1
+mgf1SHA384Identifier['parameters'] = sha384Identifier
+
+
+mgf1SHA512Identifier = rfc5280.AlgorithmIdentifier()
+mgf1SHA512Identifier['algorithm'] = id_mgf1
+mgf1SHA512Identifier['parameters'] = sha512Identifier
+
+
+pSpecifiedEmptyIdentifier = rfc5280.AlgorithmIdentifier()
+pSpecifiedEmptyIdentifier['algorithm'] = id_pSpecified
+pSpecifiedEmptyIdentifier['parameters'] = univ.OctetString(value='')
+
+
+class RSAPublicKey(univ.Sequence):
+ pass
+
+RSAPublicKey.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('modulus', univ.Integer()),
+ namedtype.NamedType('publicExponent', univ.Integer())
+)
+
+
+class HashAlgorithm(rfc5280.AlgorithmIdentifier):
+ pass
+
+
+class MaskGenAlgorithm(rfc5280.AlgorithmIdentifier):
+ pass
+
+
+class RSAES_OAEP_params(univ.Sequence):
+ pass
+
+RSAES_OAEP_params.componentType = namedtype.NamedTypes(
+ namedtype.OptionalNamedType('hashFunc', rfc5280.AlgorithmIdentifier().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))),
+ namedtype.OptionalNamedType('maskGenFunc', rfc5280.AlgorithmIdentifier().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1))),
+ namedtype.OptionalNamedType('pSourceFunc', rfc5280.AlgorithmIdentifier().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 2)))
+)
+
+
+rSAES_OAEP_Default_Params = RSAES_OAEP_params()
+
+rSAES_OAEP_Default_Identifier = rfc5280.AlgorithmIdentifier()
+rSAES_OAEP_Default_Identifier['algorithm'] = id_RSAES_OAEP
+rSAES_OAEP_Default_Identifier['parameters'] = rSAES_OAEP_Default_Params
+
+
+rSAES_OAEP_SHA224_Params = RSAES_OAEP_params()
+rSAES_OAEP_SHA224_Params['hashFunc'] = sha224Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0), cloneValueFlag=True)
+rSAES_OAEP_SHA224_Params['maskGenFunc'] = mgf1SHA224Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1), cloneValueFlag=True)
+
+rSAES_OAEP_SHA224_Identifier = rfc5280.AlgorithmIdentifier()
+rSAES_OAEP_SHA224_Identifier['algorithm'] = id_RSAES_OAEP
+rSAES_OAEP_SHA224_Identifier['parameters'] = rSAES_OAEP_SHA224_Params
+
+
+rSAES_OAEP_SHA256_Params = RSAES_OAEP_params()
+rSAES_OAEP_SHA256_Params['hashFunc'] = sha256Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0), cloneValueFlag=True)
+rSAES_OAEP_SHA256_Params['maskGenFunc'] = mgf1SHA256Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1), cloneValueFlag=True)
+
+rSAES_OAEP_SHA256_Identifier = rfc5280.AlgorithmIdentifier()
+rSAES_OAEP_SHA256_Identifier['algorithm'] = id_RSAES_OAEP
+rSAES_OAEP_SHA256_Identifier['parameters'] = rSAES_OAEP_SHA256_Params
+
+
+rSAES_OAEP_SHA384_Params = RSAES_OAEP_params()
+rSAES_OAEP_SHA384_Params['hashFunc'] = sha384Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0), cloneValueFlag=True)
+rSAES_OAEP_SHA384_Params['maskGenFunc'] = mgf1SHA384Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1), cloneValueFlag=True)
+
+rSAES_OAEP_SHA384_Identifier = rfc5280.AlgorithmIdentifier()
+rSAES_OAEP_SHA384_Identifier['algorithm'] = id_RSAES_OAEP
+rSAES_OAEP_SHA384_Identifier['parameters'] = rSAES_OAEP_SHA384_Params
+
+
+rSAES_OAEP_SHA512_Params = RSAES_OAEP_params()
+rSAES_OAEP_SHA512_Params['hashFunc'] = sha512Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0), cloneValueFlag=True)
+rSAES_OAEP_SHA512_Params['maskGenFunc'] = mgf1SHA512Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1), cloneValueFlag=True)
+
+rSAES_OAEP_SHA512_Identifier = rfc5280.AlgorithmIdentifier()
+rSAES_OAEP_SHA512_Identifier['algorithm'] = id_RSAES_OAEP
+rSAES_OAEP_SHA512_Identifier['parameters'] = rSAES_OAEP_SHA512_Params
+
+
+class RSASSA_PSS_params(univ.Sequence):
+ pass
+
+RSASSA_PSS_params.componentType = namedtype.NamedTypes(
+ namedtype.OptionalNamedType('hashAlgorithm', rfc5280.AlgorithmIdentifier().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))),
+ namedtype.OptionalNamedType('maskGenAlgorithm', rfc5280.AlgorithmIdentifier().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1))),
+ namedtype.DefaultedNamedType('saltLength', univ.Integer(value=20).subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))),
+ namedtype.DefaultedNamedType('trailerField', univ.Integer(value=1).subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3)))
+)
+
+
+rSASSA_PSS_Default_Params = RSASSA_PSS_params()
+
+rSASSA_PSS_Default_Identifier = rfc5280.AlgorithmIdentifier()
+rSASSA_PSS_Default_Identifier['algorithm'] = id_RSASSA_PSS
+rSASSA_PSS_Default_Identifier['parameters'] = rSASSA_PSS_Default_Params
+
+
+rSASSA_PSS_SHA224_Params = RSASSA_PSS_params()
+rSASSA_PSS_SHA224_Params['hashAlgorithm'] = sha224Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0), cloneValueFlag=True)
+rSASSA_PSS_SHA224_Params['maskGenAlgorithm'] = mgf1SHA224Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1), cloneValueFlag=True)
+
+rSASSA_PSS_SHA224_Identifier = rfc5280.AlgorithmIdentifier()
+rSASSA_PSS_SHA224_Identifier['algorithm'] = id_RSASSA_PSS
+rSASSA_PSS_SHA224_Identifier['parameters'] = rSASSA_PSS_SHA224_Params
+
+
+rSASSA_PSS_SHA256_Params = RSASSA_PSS_params()
+rSASSA_PSS_SHA256_Params['hashAlgorithm'] = sha256Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0), cloneValueFlag=True)
+rSASSA_PSS_SHA256_Params['maskGenAlgorithm'] = mgf1SHA256Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1), cloneValueFlag=True)
+
+rSASSA_PSS_SHA256_Identifier = rfc5280.AlgorithmIdentifier()
+rSASSA_PSS_SHA256_Identifier['algorithm'] = id_RSASSA_PSS
+rSASSA_PSS_SHA256_Identifier['parameters'] = rSASSA_PSS_SHA256_Params
+
+
+rSASSA_PSS_SHA384_Params = RSASSA_PSS_params()
+rSASSA_PSS_SHA384_Params['hashAlgorithm'] = sha384Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0), cloneValueFlag=True)
+rSASSA_PSS_SHA384_Params['maskGenAlgorithm'] = mgf1SHA384Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1), cloneValueFlag=True)
+
+rSASSA_PSS_SHA384_Identifier = rfc5280.AlgorithmIdentifier()
+rSASSA_PSS_SHA384_Identifier['algorithm'] = id_RSASSA_PSS
+rSASSA_PSS_SHA384_Identifier['parameters'] = rSASSA_PSS_SHA384_Params
+
+
+rSASSA_PSS_SHA512_Params = RSASSA_PSS_params()
+rSASSA_PSS_SHA512_Params['hashAlgorithm'] = sha512Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0), cloneValueFlag=True)
+rSASSA_PSS_SHA512_Params['maskGenAlgorithm'] = mgf1SHA512Identifier.subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1), cloneValueFlag=True)
+
+rSASSA_PSS_SHA512_Identifier = rfc5280.AlgorithmIdentifier()
+rSASSA_PSS_SHA512_Identifier['algorithm'] = id_RSASSA_PSS
+rSASSA_PSS_SHA512_Identifier['parameters'] = rSASSA_PSS_SHA512_Params
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/pyasn1_modules/rfc4108.py new/pyasn1-modules-0.2.5/pyasn1_modules/rfc4108.py
--- old/pyasn1-modules-0.2.4/pyasn1_modules/rfc4108.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/pyasn1_modules/rfc4108.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,294 @@
+#
+# This file is part of pyasn1-modules software.
+#
+# Created by Russ Housley with assistance from asn1ate v.0.6.0.
+#
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+# CMS Firmware Wrapper
+#
+# ASN.1 source from:
+# https://www.rfc-editor.org/rfc/rfc4108.txt
+#
+
+
+from pyasn1.type import univ, char, namedtype, namedval, tag, constraint, useful
+
+from pyasn1_modules import rfc5652
+
+MAX = float('inf')
+
+
+class HardwareSerialEntry(univ.Choice):
+ pass
+
+HardwareSerialEntry.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('all', univ.Null()),
+ namedtype.NamedType('single', univ.OctetString()),
+ namedtype.NamedType('block', univ.Sequence(componentType=namedtype.NamedTypes(
+ namedtype.NamedType('low', univ.OctetString()),
+ namedtype.NamedType('high', univ.OctetString())
+ ))
+ )
+)
+
+
+class HardwareModules(univ.Sequence):
+ pass
+
+HardwareModules.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('hwType', univ.ObjectIdentifier()),
+ namedtype.NamedType('hwSerialEntries', univ.SequenceOf(componentType=HardwareSerialEntry()))
+)
+
+
+class CommunityIdentifier(univ.Choice):
+ pass
+
+CommunityIdentifier.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('communityOID', univ.ObjectIdentifier()),
+ namedtype.NamedType('hwModuleList', HardwareModules())
+)
+
+
+
+class PreferredPackageIdentifier(univ.Sequence):
+ pass
+
+PreferredPackageIdentifier.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('fwPkgID', univ.ObjectIdentifier()),
+ namedtype.NamedType('verNum', univ.Integer().subtype(subtypeSpec=constraint.ValueRangeConstraint(0, MAX)))
+)
+
+
+class PreferredOrLegacyPackageIdentifier(univ.Choice):
+ pass
+
+PreferredOrLegacyPackageIdentifier.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('preferred', PreferredPackageIdentifier()),
+ namedtype.NamedType('legacy', univ.OctetString())
+)
+
+
+class CurrentFWConfig(univ.Sequence):
+ pass
+
+CurrentFWConfig.componentType = namedtype.NamedTypes(
+ namedtype.OptionalNamedType('fwPkgType', univ.Integer()),
+ namedtype.NamedType('fwPkgName', PreferredOrLegacyPackageIdentifier())
+)
+
+
+class PreferredOrLegacyStalePackageIdentifier(univ.Choice):
+ pass
+
+PreferredOrLegacyStalePackageIdentifier.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('preferredStaleVerNum', univ.Integer().subtype(subtypeSpec=constraint.ValueRangeConstraint(0, MAX))),
+ namedtype.NamedType('legacyStaleVersion', univ.OctetString())
+)
+
+
+class FirmwarePackageLoadErrorCode(univ.Enumerated):
+ pass
+
+FirmwarePackageLoadErrorCode.namedValues = namedval.NamedValues(
+ ('decodeFailure', 1),
+ ('badContentInfo', 2),
+ ('badSignedData', 3),
+ ('badEncapContent', 4),
+ ('badCertificate', 5),
+ ('badSignerInfo', 6),
+ ('badSignedAttrs', 7),
+ ('badUnsignedAttrs', 8),
+ ('missingContent', 9),
+ ('noTrustAnchor', 10),
+ ('notAuthorized', 11),
+ ('badDigestAlgorithm', 12),
+ ('badSignatureAlgorithm', 13),
+ ('unsupportedKeySize', 14),
+ ('signatureFailure', 15),
+ ('contentTypeMismatch', 16),
+ ('badEncryptedData', 17),
+ ('unprotectedAttrsPresent', 18),
+ ('badEncryptContent', 19),
+ ('badEncryptAlgorithm', 20),
+ ('missingCiphertext', 21),
+ ('noDecryptKey', 22),
+ ('decryptFailure', 23),
+ ('badCompressAlgorithm', 24),
+ ('missingCompressedContent', 25),
+ ('decompressFailure', 26),
+ ('wrongHardware', 27),
+ ('stalePackage', 28),
+ ('notInCommunity', 29),
+ ('unsupportedPackageType', 30),
+ ('missingDependency', 31),
+ ('wrongDependencyVersion', 32),
+ ('insufficientMemory', 33),
+ ('badFirmware', 34),
+ ('unsupportedParameters', 35),
+ ('breaksDependency', 36),
+ ('otherError', 99)
+)
+
+
+class VendorLoadErrorCode(univ.Integer):
+ pass
+
+
+
+# Wrapped Firmware Key Unsigned Attribute and Object Identifiers
+
+id_aa_wrappedFirmwareKey = univ.ObjectIdentifier('1.2.840.113549.1.9.16.2.39')
+
+class WrappedFirmwareKey(rfc5652.EnvelopedData):
+ pass
+
+
+# Firmware Package Information Signed Attribute and Object Identifier
+
+id_aa_firmwarePackageInfo = univ.ObjectIdentifier('1.2.840.113549.1.9.16.2.42')
+
+class FirmwarePackageInfo(univ.Sequence):
+ pass
+
+FirmwarePackageInfo.componentType = namedtype.NamedTypes(
+ namedtype.OptionalNamedType('fwPkgType', univ.Integer()),
+ namedtype.OptionalNamedType('dependencies', univ.SequenceOf(componentType=PreferredOrLegacyPackageIdentifier()))
+)
+
+FirmwarePackageInfo.sizeSpec = univ.Sequence.sizeSpec + constraint.ValueSizeConstraint(1, 2)
+
+
+# Community Identifiers Signed Attribute and Object Identifier
+
+id_aa_communityIdentifiers = univ.ObjectIdentifier('1.2.840.113549.1.9.16.2.40')
+
+class CommunityIdentifiers(univ.SequenceOf):
+ pass
+
+CommunityIdentifiers.componentType = CommunityIdentifier()
+
+
+# Implemented Compression Algorithms Signed Attribute and Object Identifier
+
+id_aa_implCompressAlgs = univ.ObjectIdentifier('1.2.840.113549.1.9.16.2.43')
+
+class ImplementedCompressAlgorithms(univ.SequenceOf):
+ pass
+
+ImplementedCompressAlgorithms.componentType = univ.ObjectIdentifier()
+
+
+# Implemented Cryptographic Algorithms Signed Attribute and Object Identifier
+
+id_aa_implCryptoAlgs = univ.ObjectIdentifier('1.2.840.113549.1.9.16.2.38')
+
+class ImplementedCryptoAlgorithms(univ.SequenceOf):
+ pass
+
+ImplementedCryptoAlgorithms.componentType = univ.ObjectIdentifier()
+
+
+# Decrypt Key Identifier Signed Attribute and Object Identifier
+
+id_aa_decryptKeyID = univ.ObjectIdentifier('1.2.840.113549.1.9.16.2.37')
+
+class DecryptKeyIdentifier(univ.OctetString):
+ pass
+
+
+# Target Hardware Identifier Signed Attribute and Object Identifier
+
+id_aa_targetHardwareIDs = univ.ObjectIdentifier('1.2.840.113549.1.9.16.2.36')
+
+class TargetHardwareIdentifiers(univ.SequenceOf):
+ pass
+
+TargetHardwareIdentifiers.componentType = univ.ObjectIdentifier()
+
+
+# Firmware Package Identifier Signed Attribute and Object Identifier
+
+id_aa_firmwarePackageID = univ.ObjectIdentifier('1.2.840.113549.1.9.16.2.35')
+
+class FirmwarePackageIdentifier(univ.Sequence):
+ pass
+
+FirmwarePackageIdentifier.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('name', PreferredOrLegacyPackageIdentifier()),
+ namedtype.OptionalNamedType('stale', PreferredOrLegacyStalePackageIdentifier())
+)
+
+
+# Firmware Package Load Error Report Content Type and Object Identifier
+
+class FWErrorVersion(univ.Integer):
+ pass
+
+FWErrorVersion.namedValues = namedval.NamedValues(
+ ('v1', 1)
+)
+
+
+id_ct_firmwareLoadError = univ.ObjectIdentifier('1.2.840.113549.1.9.16.1.18')
+
+class FirmwarePackageLoadError(univ.Sequence):
+ pass
+
+FirmwarePackageLoadError.componentType = namedtype.NamedTypes(
+ namedtype.DefaultedNamedType('version', FWErrorVersion().subtype(value='v1')),
+ namedtype.NamedType('hwType', univ.ObjectIdentifier()),
+ namedtype.NamedType('hwSerialNum', univ.OctetString()),
+ namedtype.NamedType('errorCode', FirmwarePackageLoadErrorCode()),
+ namedtype.OptionalNamedType('vendorErrorCode', VendorLoadErrorCode()),
+ namedtype.OptionalNamedType('fwPkgName', PreferredOrLegacyPackageIdentifier()),
+ namedtype.OptionalNamedType('config', univ.SequenceOf(componentType=CurrentFWConfig()).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)))
+)
+
+
+# Firmware Package Load Receipt Content Type and Object Identifier
+
+class FWReceiptVersion(univ.Integer):
+ pass
+
+FWReceiptVersion.namedValues = namedval.NamedValues(
+ ('v1', 1)
+)
+
+
+id_ct_firmwareLoadReceipt = univ.ObjectIdentifier('1.2.840.113549.1.9.16.1.17')
+
+class FirmwarePackageLoadReceipt(univ.Sequence):
+ pass
+
+FirmwarePackageLoadReceipt.componentType = namedtype.NamedTypes(
+ namedtype.DefaultedNamedType('version', FWReceiptVersion().subtype(value='v1')),
+ namedtype.NamedType('hwType', univ.ObjectIdentifier()),
+ namedtype.NamedType('hwSerialNum', univ.OctetString()),
+ namedtype.NamedType('fwPkgName', PreferredOrLegacyPackageIdentifier()),
+ namedtype.OptionalNamedType('trustAnchorKeyID', univ.OctetString()),
+ namedtype.OptionalNamedType('decryptKeyID', univ.OctetString().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)))
+)
+
+
+# Firmware Package Content Type and Object Identifier
+
+id_ct_firmwarePackage = univ.ObjectIdentifier('1.2.840.113549.1.9.16.1.16')
+
+class FirmwarePkgData(univ.OctetString):
+ pass
+
+
+# Other Name syntax for Hardware Module Name
+
+id_on_hardwareModuleName = univ.ObjectIdentifier('1.3.6.1.5.5.7.8.4')
+
+class HardwareModuleName(univ.Sequence):
+ pass
+
+HardwareModuleName.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('hwType', univ.ObjectIdentifier()),
+ namedtype.NamedType('hwSerialNum', univ.OctetString())
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/pyasn1_modules/rfc5958.py new/pyasn1-modules-0.2.5/pyasn1_modules/rfc5958.py
--- old/pyasn1-modules-0.2.4/pyasn1_modules/rfc5958.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/pyasn1_modules/rfc5958.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,87 @@
+#
+# This file is being contributed to pyasn1-modules software.
+#
+# Created by Russ Housley.
+#
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+# Asymmetric Key Packages, which is essentially version 2 of
+# the PrivateKeyInfo structure in PKCS#8 in RFC 5208
+#
+# ASN.1 source from:
+# https://www.rfc-editor.org/rfc/rfc8418.txt
+
+from pyasn1.type import univ, constraint, namedtype, namedval, tag
+
+from pyasn1_modules import rfc5280
+
+
+MAX = float('inf')
+
+
+class KeyEncryptionAlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
+ pass
+
+
+class PrivateKeyAlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
+ pass
+
+
+class EncryptedData(univ.OctetString):
+ pass
+
+
+class EncryptedPrivateKeyInfo(univ.Sequence):
+ componentType = namedtype.NamedTypes(
+ namedtype.NamedType('encryptionAlgorithm', KeyEncryptionAlgorithmIdentifier()),
+ namedtype.NamedType('encryptedData', EncryptedData())
+ )
+
+
+class Version(univ.Integer):
+ namedValues = namedval.NamedValues(('v1', 0), ('v2', 1))
+
+
+class PrivateKey(univ.OctetString):
+ pass
+
+
+class Attributes(univ.SetOf):
+ componentType = rfc5280.Attribute()
+
+
+class PublicKey(univ.BitString):
+ pass
+
+
+# OneAsymmetricKey is essentially version 2 of PrivateKeyInfo.
+# If publicKey is present, then the version must be v2;
+# otherwise, the version should be v1.
+
+class OneAsymmetricKey(univ.Sequence):
+ componentType = namedtype.NamedTypes(
+ namedtype.NamedType('version', Version()),
+ namedtype.NamedType('privateKeyAlgorithm', PrivateKeyAlgorithmIdentifier()),
+ namedtype.NamedType('privateKey', PrivateKey()),
+ namedtype.OptionalNamedType('attributes', Attributes().subtype(
+ implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))),
+ namedtype.OptionalNamedType('publicKey', PublicKey().subtype(
+ implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1)))
+ )
+
+
+class PrivateKeyInfo(OneAsymmetricKey):
+ pass
+
+
+# The CMS AsymmetricKeyPackage Content Type
+
+id_ct_KP_aKeyPackage = univ.ObjectIdentifier('2.16.840.1.101.2.1.2.78.5')
+
+class AsymmetricKeyPackage(univ.SequenceOf):
+ pass
+
+AsymmetricKeyPackage.componentType = OneAsymmetricKey()
+AsymmetricKeyPackage.subtypeSpec=constraint.ValueSizeConstraint(1, MAX)
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/pyasn1_modules/rfc8410.py new/pyasn1-modules-0.2.5/pyasn1_modules/rfc8410.py
--- old/pyasn1-modules-0.2.4/pyasn1_modules/rfc8410.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/pyasn1_modules/rfc8410.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,47 @@
+# This file is being contributed to pyasn1-modules software.
+#
+# Created by Russ Housley.
+#
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+# Algorithm Identifiers for Ed25519, Ed448, X25519, and X448
+#
+# ASN.1 source from:
+# https://www.rfc-editor.org/rfc/rfc8410.txt
+
+
+from pyasn1.type import univ
+from pyasn1_modules import rfc3565
+from pyasn1_modules import rfc4055
+from pyasn1_modules import rfc5280
+
+
+class SignatureAlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
+ pass
+
+
+class KeyEncryptionAlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
+ pass
+
+
+class CurvePrivateKey(univ.OctetString):
+ pass
+
+
+id_X25519 = univ.ObjectIdentifier('1.3.101.110')
+
+id_X448 = univ.ObjectIdentifier('1.3.101.111')
+
+
+id_Ed25519 = univ.ObjectIdentifier('1.3.101.112')
+
+id_Ed448 = univ.ObjectIdentifier('1.3.101.113')
+
+
+id_sha512 = rfc4055.id_sha512
+
+
+id_aes128_wrap = rfc3565.id_aes128_wrap
+
+id_aes256_wrap = rfc3565.id_aes256_wrap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/pyasn1_modules/rfc8418.py new/pyasn1-modules-0.2.5/pyasn1_modules/rfc8418.py
--- old/pyasn1-modules-0.2.4/pyasn1_modules/rfc8418.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/pyasn1_modules/rfc8418.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,37 @@
+# This file is being contributed to pyasn1-modules software.
+#
+# Created by Russ Housley.
+#
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+# Elliptic Curve Diffie-Hellman (ECDH) Key Agreement Algorithm
+# with X25519 and X448
+#
+# ASN.1 source from:
+# https://www.rfc-editor.org/rfc/rfc8418.txt
+
+from pyasn1.type import univ
+from pyasn1_modules import rfc5280
+
+
+class KeyEncryptionAlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
+ pass
+
+
+class KeyWrapAlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
+ pass
+
+
+dhSinglePass_stdDH_sha256kdf_scheme = univ.ObjectIdentifier('1.3.133.16.840.63.0.11.1')
+
+dhSinglePass_stdDH_sha384kdf_scheme = univ.ObjectIdentifier('1.3.133.16.840.63.0.11.2')
+
+dhSinglePass_stdDH_sha512kdf_scheme = univ.ObjectIdentifier('1.3.133.16.840.63.0.11.3')
+
+
+dhSinglePass_stdDH_hkdf_sha256_scheme = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.19')
+
+dhSinglePass_stdDH_hkdf_sha384_scheme = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.20')
+
+dhSinglePass_stdDH_hkdf_sha512_scheme = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.21')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/pyasn1_modules.egg-info/PKG-INFO new/pyasn1-modules-0.2.5/pyasn1_modules.egg-info/PKG-INFO
--- old/pyasn1-modules-0.2.4/pyasn1_modules.egg-info/PKG-INFO 2019-01-26 18:54:25.000000000 +0100
+++ new/pyasn1-modules-0.2.5/pyasn1_modules.egg-info/PKG-INFO 2019-04-24 06:42:12.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pyasn1-modules
-Version: 0.2.4
+Version: 0.2.5
Summary: A collection of ASN.1-based protocols modules.
Home-page: https://github.com/etingof/pyasn1-modules
Author: Ilya Etingof <etingof(a)gmail.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/pyasn1_modules.egg-info/SOURCES.txt new/pyasn1-modules-0.2.5/pyasn1_modules.egg-info/SOURCES.txt
--- old/pyasn1-modules-0.2.4/pyasn1_modules.egg-info/SOURCES.txt 2019-01-26 18:54:25.000000000 +0100
+++ new/pyasn1-modules-0.2.5/pyasn1_modules.egg-info/SOURCES.txt 2019-04-24 06:42:13.000000000 +0200
@@ -26,7 +26,11 @@
pyasn1_modules/rfc3412.py
pyasn1_modules/rfc3414.py
pyasn1_modules/rfc3447.py
+pyasn1_modules/rfc3565.py
+pyasn1_modules/rfc3779.py
pyasn1_modules/rfc3852.py
+pyasn1_modules/rfc4055.py
+pyasn1_modules/rfc4108.py
pyasn1_modules/rfc4210.py
pyasn1_modules/rfc4211.py
pyasn1_modules/rfc5083.py
@@ -34,9 +38,12 @@
pyasn1_modules/rfc5208.py
pyasn1_modules/rfc5280.py
pyasn1_modules/rfc5652.py
+pyasn1_modules/rfc5958.py
pyasn1_modules/rfc6402.py
pyasn1_modules/rfc8103.py
pyasn1_modules/rfc8226.py
+pyasn1_modules/rfc8410.py
+pyasn1_modules/rfc8418.py
pyasn1_modules.egg-info/PKG-INFO
pyasn1_modules.egg-info/SOURCES.txt
pyasn1_modules.egg-info/dependency_links.txt
@@ -52,14 +59,21 @@
tests/test_rfc2511.py
tests/test_rfc2560.py
tests/test_rfc2986.py
+tests/test_rfc3565.py
+tests/test_rfc3779.py
+tests/test_rfc4055.py
+tests/test_rfc4108.py
tests/test_rfc4210.py
tests/test_rfc5083.py
tests/test_rfc5084.py
tests/test_rfc5208.py
tests/test_rfc5280.py
tests/test_rfc5652.py
+tests/test_rfc5958.py
tests/test_rfc8103.py
tests/test_rfc8226.py
+tests/test_rfc8410.py
+tests/test_rfc8418.py
tools/cmcdump.py
tools/cmpdump.py
tools/crldump.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/tests/__main__.py new/pyasn1-modules-0.2.5/tests/__main__.py
--- old/pyasn1-modules-0.2.4/tests/__main__.py 2019-01-26 18:53:16.000000000 +0100
+++ new/pyasn1-modules-0.2.5/tests/__main__.py 2019-04-24 06:40:45.000000000 +0200
@@ -18,11 +18,21 @@
'tests.test_rfc2511.suite',
'tests.test_rfc2560.suite',
'tests.test_rfc2986.suite',
+ 'tests.test_rfc3565.suite',
+ 'tests.test_rfc3779.suite',
+ 'tests.test_rfc4055.suite'
+ 'tests.test_rfc4108.suite'
'tests.test_rfc4210.suite',
+ 'tests.test_rfc5083.suite'
+ 'tests.test_rfc5084.suite'
'tests.test_rfc5208.suite',
'tests.test_rfc5280.suite',
'tests.test_rfc5652.suite',
- 'tests.test_rfc8226.suite']
+ 'tests.test_rfc5958.suite'
+ 'tests.test_rfc8103.suite'
+ 'tests.test_rfc8226.suite',
+ 'tests.test_rfc8410.suite'
+ 'tests.test_rfc8418.suite']
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/tests/test_rfc3565.py new/pyasn1-modules-0.2.5/tests/test_rfc3565.py
--- old/pyasn1-modules-0.2.4/tests/test_rfc3565.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/tests/test_rfc3565.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,57 @@
+#
+# This file is part of pyasn1-modules software.
+#
+# Created by Russ Housley
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+
+import sys
+
+from pyasn1.codec.der import decoder as der_decoder
+from pyasn1.codec.der import encoder as der_encoder
+
+from pyasn1_modules import pem
+from pyasn1_modules import rfc3565
+
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
+
+
+class AESKeyWrapTestCase(unittest.TestCase):
+ kw_alg_id_pem_text = "MAsGCWCGSAFlAwQBLQ=="
+
+ def setUp(self):
+ self.asn1Spec = rfc3565.AlgorithmIdentifier()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.kw_alg_id_pem_text)
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert asn1Object[0] == rfc3565.id_aes256_wrap
+ assert der_encoder.encode(asn1Object) == substrate
+
+
+class AESCBCTestCase(unittest.TestCase):
+ aes_alg_id_pem_text = "MB0GCWCGSAFlAwQBKgQQEImWuoUOPwM5mTu1h4oONw=="
+
+ def setUp(self):
+ self.asn1Spec = rfc3565.AlgorithmIdentifier()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.aes_alg_id_pem_text)
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert asn1Object[0] == rfc3565.id_aes256_CBC
+ assert asn1Object[1].isValue
+ assert der_encoder.encode(asn1Object) == substrate
+
+
+suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
+
+if __name__ == '__main__':
+ unittest.TextTestRunner(verbosity=2).run(suite)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/tests/test_rfc3779.py new/pyasn1-modules-0.2.5/tests/test_rfc3779.py
--- old/pyasn1-modules-0.2.4/tests/test_rfc3779.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/tests/test_rfc3779.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,81 @@
+#
+# This file is part of pyasn1-modules software.
+#
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+import sys
+
+from pyasn1.codec.der import decoder as der_decoder
+from pyasn1.codec.der import encoder as der_encoder
+
+from pyasn1_modules import pem
+from pyasn1_modules import rfc5280
+from pyasn1_modules import rfc3779
+
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
+
+
+class CertificateExtnTestCase(unittest.TestCase):
+ pem_text = """\
+MIIECjCCAvKgAwIBAgICAMkwDQYJKoZIhvcNAQELBQAwFjEUMBIGA1UEAxMLcmlw
+ZS1uY2MtdGEwIBcNMTcxMTI4MTQzOTU1WhgPMjExNzExMjgxNDM5NTVaMBYxFDAS
+BgNVBAMTC3JpcGUtbmNjLXRhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
+AQEA0URYSGqUz2myBsOzeW1jQ6NsxNvlLMyhWknvnl8NiBCs/T/S2XuNKQNZ+wBZ
+xIgPPV2pFBFeQAvoH/WK83HwA26V2siwm/MY2nKZ+Olw+wlpzlZ1p3Ipj2eNcKrm
+it8BwBC8xImzuCGaV0jkRB0GZ0hoH6Ml03umLprRsn6v0xOP0+l6Qc1ZHMFVFb38
+5IQ7FQQTcVIxrdeMsoyJq9eMkE6DoclHhF/NlSllXubASQ9KUWqJ0+Ot3QCXr4LX
+ECMfkpkVR2TZT+v5v658bHVs6ZxRD1b6Uk1uQKAyHUbn/tXvP8lrjAibGzVsXDT2
+L0x4Edx+QdixPgOji3gBMyL2VwIDAQABo4IBXjCCAVowHQYDVR0OBBYEFOhVKx/W
+0aT35ATG2OVoDR68Fj/DMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
+MIGxBggrBgEFBQcBCwSBpDCBoTA8BggrBgEFBQcwCoYwcnN5bmM6Ly9ycGtpLnJp
+cGUubmV0L3JlcG9zaXRvcnkvcmlwZS1uY2MtdGEubWZ0MDIGCCsGAQUFBzANhiZo
+dHRwczovL3JyZHAucmlwZS5uZXQvbm90aWZpY2F0aW9uLnhtbDAtBggrBgEFBQcw
+BYYhcnN5bmM6Ly9ycGtpLnJpcGUubmV0L3JlcG9zaXRvcnkvMBgGA1UdIAEB/wQO
+MAwwCgYIKwYBBQUHDgIwJwYIKwYBBQUHAQcBAf8EGDAWMAkEAgABMAMDAQAwCQQC
+AAIwAwMBADAhBggrBgEFBQcBCAEB/wQSMBCgDjAMMAoCAQACBQD/////MA0GCSqG
+SIb3DQEBCwUAA4IBAQAVgJjrZ3wFppC8Yk8D2xgzwSeWVT2vtYq96CQQsjaKb8nb
+eVz3DwcS3a7RIsevrNVGo43k3AGymg1ki+AWJjvHvJ+tSzCbn5+X6Z7AfYTf2g37
+xINVDHru0PTQUargSMBAz/MBNpFG8KThtT7WbJrK4+f/lvx0m8QOlYm2a17iXS3A
+GQJ6RHcq9ADscqGdumxmMMDjwED26bGaYdmru1hNIpwF//jVM/eRjBFoPHKFlx0k
+Ld/yoCQNmx1kW+xANx4uyWxi/DYgSV7Oynq+C60OucW+d8tIhkblh8+YfrmukJds
+V+vo2L72yerdbsP9xjqvhZrLKfsLZjYK4SdYYthi
+"""
+
+ def setUp(self):
+ self.asn1Spec = rfc5280.Certificate()
+
+ def testDerCodec(self):
+
+ substrate = pem.readBase64fromText(self.pem_text)
+
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert der_encoder.encode(asn1Object) == substrate
+
+ for extn in asn1Object['tbsCertificate']['extensions']:
+
+ if extn['extnID'] == rfc3779.id_pe_ipAddrBlocks:
+ s = extn['extnValue']
+ addr_blocks, rest = der_decoder.decode(s, rfc3779.IPAddrBlocks())
+ assert not rest
+ assert addr_blocks.prettyPrint()
+ assert der_encoder.encode(addr_blocks) == s
+
+ if extn['extnID'] == rfc3779.id_pe_autonomousSysIds:
+ s = extn['extnValue']
+ as_ids, rest = der_decoder.decode(s, rfc3779.ASIdentifiers())
+ assert not rest
+ assert as_ids.prettyPrint()
+ assert der_encoder.encode(as_ids) == s
+
+
+suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
+
+if __name__ == '__main__':
+ unittest.TextTestRunner(verbosity=2).run(suite)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/tests/test_rfc4055.py new/pyasn1-modules-0.2.5/tests/test_rfc4055.py
--- old/pyasn1-modules-0.2.4/tests/test_rfc4055.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/tests/test_rfc4055.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,107 @@
+#
+# This file is part of pyasn1-modules software.
+#
+# Created by Russ Housley
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+
+import sys
+
+from pyasn1.codec.der import decoder as der_decoder
+from pyasn1.codec.der import encoder as der_encoder
+
+from pyasn1_modules import pem
+from pyasn1_modules import rfc5280
+from pyasn1_modules import rfc4055
+
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
+
+
+class PSSDefautTestCase(unittest.TestCase):
+ pss_default_pem_text = "MAsGCSqGSIb3DQEBCg=="
+
+ def setUp(self):
+ self.asn1Spec = rfc5280.AlgorithmIdentifier()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.pss_default_pem_text)
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert asn1Object[0] == rfc4055.id_RSASSA_PSS
+ assert der_encoder.encode(asn1Object) == substrate
+ assert substrate == der_encoder.encode(asn1Object)
+
+
+class PSSSHA512TestCase(unittest.TestCase):
+ pss_sha512_pem_text = "MDwGCSqGSIb3DQEBCjAvoA8wDQYJYIZIAWUDBAIDBQChHDAaBgkqhkiG9w0BAQgwDQYJYIZIAWUDBAIDBQA="
+
+ def setUp(self):
+ self.asn1Spec = rfc5280.AlgorithmIdentifier()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.pss_sha512_pem_text)
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert asn1Object[0] == rfc4055.id_RSASSA_PSS
+ assert der_encoder.encode(asn1Object) == substrate
+ assert substrate == der_encoder.encode(asn1Object)
+
+
+class OAEPDefautTestCase(unittest.TestCase):
+ oaep_default_pem_text = "MAsGCSqGSIb3DQEBBw=="
+
+ def setUp(self):
+ self.asn1Spec = rfc5280.AlgorithmIdentifier()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.oaep_default_pem_text)
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert asn1Object[0] == rfc4055.id_RSAES_OAEP
+ assert der_encoder.encode(asn1Object) == substrate
+ assert substrate == der_encoder.encode(asn1Object)
+
+
+class OAEPSHA256TestCase(unittest.TestCase):
+ oaep_sha256_pem_text = "MDwGCSqGSIb3DQEBBzAvoA8wDQYJYIZIAWUDBAIBBQChHDAaBgkqhkiG9w0BAQgwDQYJYIZIAWUDBAIBBQA="
+
+ def setUp(self):
+ self.asn1Spec = rfc5280.AlgorithmIdentifier()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.oaep_sha256_pem_text)
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert asn1Object[0] == rfc4055.id_RSAES_OAEP
+ assert der_encoder.encode(asn1Object) == substrate
+ assert substrate == der_encoder.encode(asn1Object)
+
+
+class OAEPFullTestCase(unittest.TestCase):
+ oaep_full_pem_text = "MFMGCSqGSIb3DQEBBzBGoA8wDQYJYIZIAWUDBAICBQChHDAaBgkqhkiG9w0BAQgwDQYJYIZIAWUDBAICBQCiFTATBgkqhkiG9w0BAQkEBmZvb2Jhcg=="
+
+ def setUp(self):
+ self.asn1Spec = rfc5280.AlgorithmIdentifier()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.oaep_full_pem_text)
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert asn1Object[0] == rfc4055.id_RSAES_OAEP
+ assert der_encoder.encode(asn1Object) == substrate
+ assert substrate == der_encoder.encode(asn1Object)
+
+
+suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
+
+if __name__ == '__main__':
+ unittest.TextTestRunner(verbosity=2).run(suite)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/tests/test_rfc4108.py new/pyasn1-modules-0.2.5/tests/test_rfc4108.py
--- old/pyasn1-modules-0.2.4/tests/test_rfc4108.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/tests/test_rfc4108.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,80 @@
+#
+# This file is part of pyasn1-modules software.
+#
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+import sys
+
+from pyasn1.codec.der.decoder import decode as der_decode
+from pyasn1.codec.der.encoder import encode as der_encode
+
+from pyasn1.type import univ
+
+from pyasn1_modules import pem
+from pyasn1_modules import rfc5652
+from pyasn1_modules import rfc4108
+
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
+
+
+class CMSFirmwareWrapperTestCase(unittest.TestCase):
+ pem_text = """\
+MIIEdwYJKoZIhvcNAQcCoIIEaDCCBGQCAQExDTALBglghkgBZQMEAgEwggIVBgsq
+hkiG9w0BCRABEKCCAgQEggIA3ntqPr5kDpx+//pgWGfHCH/Ht4pbenGwXv80txyE
+Y0I2mT9BUGz8ILkbhD7Xz89pBS5KhEJpthxH8WREJtvS+wL4BqYLt23wjWoZy5Gt
+5dPzWgaNlV/aQ5AdfAY9ljmnNYnK8D8r8ur7bQM4cKUdxry+QA0nqXHMAOSpx4Um
+8impCc0BICXaFfL3zBrNxyPubbFO9ofbYOAWaNmmIAhzthXf12vDrLostIqmYrP4
+LMRCjTr4LeYaVrAWfKtbUbByN6IuBef3Qt5cJaChr74udz3JvbYFsUvCpl64kpRq
+g2CT6R+xE4trO/pViJlI15dvJVz04BBYQ2jQsutJwChi97/DDcjIv03VBmrwRE0k
+RJNFP9vpDM8CxJIqcobC5Kuv8b0GqGfGl6ouuQKEVMfBcrupgjk3oc3KL1iVdSr1
++74amb1vDtTMWNm6vWRqh+Kk17NGEi2mNvYkkZUTIHNGH7OgiDclFU8dSMZd1fun
+/D9dmiFiErDB3Fzr4+8Qz0aKedNE/1uvM+dhu9qjuRdkDzZ4S7txTfk6y9pG9iyk
+aEeTV2kElKXblgi+Cf0Ut4f5he8rt6jveHdMo9X36YiUQVvevj2cgN7lFivEnFYV
+QY0xugpP7lvEFDfsi2+0ozgP8EKOLYaCUKpuvttlYJ+vdtUFEijizEZ4cx02RsXm
+EesxggI1MIICMQIBA4AUnutnybladNRNLxY5ZoDoAbXLpJwwCwYJYIZIAWUDBAIB
+oHgwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEQMCkGCyqGSIb3DQEJEAIkMRoG
+CysGAQQBjb9BAQEqBgsrBgEEAY2/QQEBMDAvBgkqhkiG9w0BCQQxIgQgAJfvuasB
+4P6WDLOkOyvj33YPgZW4olHbidzyh1EKP9YwCwYJKoZIhvcNAQELBIIBgDn0y+4B
+cCX7ICovWcyWf0IxNXx7+1VlYneAZ8pMBaKu+6q7jRFZ+QsQFFbQ1yPO/3Pr2wVb
+UJSJAL4QCJDurJ42LdPQIOGIV2aWq70vl6B9yt6svEdjxJ3XkopwcCBXLcB1Hp9b
+6wYZzSFCujOlsABJiz2gMD6wUT4lq7RJO31LEPxx/Va4Ftp1F4okmgL8VpMemihU
+atRXpIhedfli+TWEtMmoxcX3paLcU7MmJFUAwkHmb8rSRF5VBy5QWcNgzzskof0W
+mCR/8bZjqR/g3VlFPyz7zOCxG/wIdZVAb4O/QP8fC0GhyHNE+NX6d+GI8RPpRyMf
+5RfCCsHwbApCv8+tpFslYzwvUTIFx0y9zVrnkz/UrDjZtrKxLC0oRJlnlnKR1unm
+lbolB9c2p60/mZHwQhLM5CjeYcMX3mMVJo4jqag+8o48CibW50h8y21usKaeA9b0
+9EMxfG3KaaP5mMEOZMpeGdUKQSJYweDstxlrY5ajPbeOycdMv7tRNoLpyw==
+"""
+
+ def setUp(self):
+ self.asn1Spec = rfc5652.ContentInfo()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.pem_text)
+
+ asn1Object, rest = der_decode(substrate, asn1Spec=self.asn1Spec)
+
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert der_encode(asn1Object) == substrate
+
+ assert asn1Object['contentType'] == rfc5652.id_signedData
+ inner, rest = der_decode(asn1Object['content'], asn1Spec=rfc5652.SignedData())
+
+ assert inner['encapContentInfo']['eContentType'] == rfc4108.id_ct_firmwarePackage
+ assert inner['encapContentInfo']['eContent']
+
+ found_target_hardware_identifier_attribute = False
+ for attr in inner['signerInfos'][0]['signedAttrs']:
+ if attr['attrType'] == rfc4108.id_aa_targetHardwareIDs:
+ found_target_hardware_identifier_attribute = True
+ assert found_target_hardware_identifier_attribute
+
+
+suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
+
+if __name__ == '__main__':
+ unittest.TextTestRunner(verbosity=2).run(suite)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/tests/test_rfc5958.py new/pyasn1-modules-0.2.5/tests/test_rfc5958.py
--- old/pyasn1-modules-0.2.4/tests/test_rfc5958.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/tests/test_rfc5958.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,50 @@
+#
+# This file is part of pyasn1-modules software.
+#
+# Created by Russ Housley
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+
+import sys
+
+from pyasn1.codec.der import decoder as der_decoder
+from pyasn1.codec.der import encoder as der_encoder
+
+from pyasn1_modules import pem
+from pyasn1_modules import rfc5958
+from pyasn1_modules import rfc8410
+
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
+
+
+class PrivateKeyTestCase(unittest.TestCase):
+ priv_key_pem_text = """\
+MHICAQEwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC
+oB8wHQYKKoZIhvcNAQkJFDEPDA1DdXJkbGUgQ2hhaXJzgSEAGb9ECWmEzf6FQbrB
+Z9w7lshQhqowtrbLDFw4rXAxZuE=
+"""
+
+ def setUp(self):
+ self.asn1Spec = rfc5958.PrivateKeyInfo()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.priv_key_pem_text)
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert asn1Object['privateKeyAlgorithm']['algorithm'] == rfc8410.id_Ed25519
+ assert asn1Object['privateKey'].isValue
+ assert asn1Object['privateKey'].prettyPrint()[0:10] == "0x0420d4ee"
+ assert asn1Object['publicKey'].isValue
+ assert asn1Object['publicKey'].prettyPrint()[0:10] == "1164575857"
+ assert der_encoder.encode(asn1Object) == substrate
+
+
+suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
+
+if __name__ == '__main__':
+ unittest.TextTestRunner(verbosity=2).run(suite)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/tests/test_rfc8410.py new/pyasn1-modules-0.2.5/tests/test_rfc8410.py
--- old/pyasn1-modules-0.2.4/tests/test_rfc8410.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/tests/test_rfc8410.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,44 @@
+#
+# This file is part of pyasn1-modules software.
+#
+# Created by Russ Housley
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+
+import sys
+
+from pyasn1.codec.der import decoder as der_decoder
+from pyasn1.codec.der import encoder as der_encoder
+
+from pyasn1_modules import pem
+from pyasn1_modules import rfc5208
+from pyasn1_modules import rfc8410
+
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
+
+
+class PrivateKeyTestCase(unittest.TestCase):
+ no_pub_key_pem_text = "MC4CAQAwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC"
+
+ def setUp(self):
+ self.asn1Spec = rfc5208.PrivateKeyInfo()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.no_pub_key_pem_text)
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert asn1Object['privateKeyAlgorithm']['algorithm'] == rfc8410.id_Ed25519
+ assert asn1Object['privateKey'].isValue
+ assert asn1Object['privateKey'].prettyPrint()[0:10] == "0x0420d4ee"
+ assert der_encoder.encode(asn1Object) == substrate
+
+
+suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
+
+if __name__ == '__main__':
+ unittest.TextTestRunner(verbosity=2).run(suite)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyasn1-modules-0.2.4/tests/test_rfc8418.py new/pyasn1-modules-0.2.5/tests/test_rfc8418.py
--- old/pyasn1-modules-0.2.4/tests/test_rfc8418.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pyasn1-modules-0.2.5/tests/test_rfc8418.py 2019-04-24 06:40:45.000000000 +0200
@@ -0,0 +1,43 @@
+#
+# This file is part of pyasn1-modules software.
+#
+# Created by Russ Housley
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+
+import sys
+
+from pyasn1.codec.der import decoder as der_decoder
+from pyasn1.codec.der import encoder as der_encoder
+
+from pyasn1_modules import pem
+from pyasn1_modules import rfc5280
+from pyasn1_modules import rfc8418
+
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
+
+
+class KeyAgreeAlgTestCase(unittest.TestCase):
+ key_agree_alg_id_pem_text = "MBoGCyqGSIb3DQEJEAMUMAsGCWCGSAFlAwQBLQ=="
+
+ def setUp(self):
+ self.asn1Spec = rfc5280.AlgorithmIdentifier()
+
+ def testDerCodec(self):
+ substrate = pem.readBase64fromText(self.key_agree_alg_id_pem_text)
+ asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert asn1Object['algorithm'] == rfc8418.dhSinglePass_stdDH_hkdf_sha384_scheme
+ assert asn1Object['parameters'].isValue
+ assert der_encoder.encode(asn1Object) == substrate
+
+
+suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
+
+if __name__ == '__main__':
+ unittest.TextTestRunner(verbosity=2).run(suite)
1
0
Hello community,
here is the log from the commit of package python-pexpect for openSUSE:Factory checked in at 2019-05-27 08:37:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pexpect (Old)
and /work/SRC/openSUSE:Factory/.python-pexpect.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pexpect"
Mon May 27 08:37:25 2019 rev:28 rq:705391 version:4.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pexpect/python-pexpect.changes 2018-12-27 00:27:30.387755644 +0100
+++ /work/SRC/openSUSE:Factory/.python-pexpect.new.5148/python-pexpect.changes 2019-05-27 08:37:26.583093016 +0200
@@ -1,0 +2,12 @@
+Sat May 25 09:06:04 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 4.7.0:
+ * The :meth:`.pxssh.login` method now no longer requires a username if an ssh config is provided and will raise an error if neither are provided. (:ghpull:`562`).
+ * The :meth:`.pxssh.login` method now supports providing your own ssh command via the cmd parameter. (:ghpull:`528`) (:ghpull:`563`).
+ * :class:`.pxssh` now supports the use_poll parameter which is passed into :meth:`.pexpect.spawn` (:ghpull:`542`).
+ * Minor bug fix with ssh_config. (:ghpull:`498`).
+ * :meth:`.replwrap.run_command` now has async support via an async_ parameter. (:ghpull:`501`).
+ * :meth:`.pexpect.spawn` will now read additional bytes if able up to a buffer limit. (:ghpull:`304`).
+- Drop merged patch fix-test.patch
+
+-------------------------------------------------------------------
Old:
----
fix-test.patch
pexpect-4.6.0.tar.gz
New:
----
pexpect-4.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pexpect.spec ++++++
--- /var/tmp/diff_new_pack.6jP1es/_old 2019-05-27 08:37:27.227092764 +0200
+++ /var/tmp/diff_new_pack.6jP1es/_new 2019-05-27 08:37:27.231092763 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pexpect
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,20 +18,21 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pexpect
-Version: 4.6.0
+Version: 4.7.0
Release: 0
Summary: Pure Python Expect-like module
License: ISC
Group: Development/Libraries/Python
URL: http://pexpect.readthedocs.org/en/latest/
Source: https://files.pythonhosted.org/packages/source/p/pexpect/pexpect-%{version}…
-Patch0: fix-test.patch
BuildRequires: %{python_module ptyprocess}
BuildRequires: %{python_module pytest}
BuildRequires: fdupes
# For man validation
BuildRequires: man
# For test command calls
+# For bash validation
+BuildRequires: bash
BuildRequires: openssl
BuildRequires: python-rpm-macros
Requires: python-ptyprocess
@@ -44,7 +45,6 @@
%prep
%setup -q -n pexpect-%{version}
-%patch0 -p1
# Fix wrong-script-interpreter
find examples -type f -name "*.py" -exec sed -i "s|#!%{_bindir}/env python||" {} \;
@@ -59,7 +59,8 @@
%check
export LANG=en_US.UTF-8
-%python_expand py.test-%{$python_bin_suffix}
+# test_bash https://github.com/pexpect/pexpect/issues/568
+%pytest -k 'not test_bash'
%files %{python_files}
%license LICENSE
++++++ pexpect-4.6.0.tar.gz -> pexpect-4.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/.coveragerc new/pexpect-4.7.0/.coveragerc
--- old/pexpect-4.6.0/.coveragerc 2015-12-08 19:43:59.000000000 +0100
+++ new/pexpect-4.7.0/.coveragerc 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-[run]
-source = pexpect
-parallel = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/MANIFEST.in new/pexpect-4.7.0/MANIFEST.in
--- old/pexpect-4.6.0/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100
+++ new/pexpect-4.7.0/MANIFEST.in 2019-04-07 03:54:51.000000000 +0200
@@ -0,0 +1,6 @@
+recursive-include doc *
+prune doc/_build
+recursive-include examples *
+include .coveragerc README.rst LICENSE pexpect/bashrc.sh
+recursive-include tests *
+global-exclude __pycache__ *.pyc *~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/PKG-INFO new/pexpect-4.7.0/PKG-INFO
--- old/pexpect-4.6.0/PKG-INFO 2018-05-29 14:32:50.000000000 +0200
+++ new/pexpect-4.7.0/PKG-INFO 2019-04-07 03:54:58.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pexpect
-Version: 4.6.0
+Version: 4.7.0
Summary: Pexpect allows easy control of interactive console applications.
Home-page: https://pexpect.readthedocs.io/
Author: Noah Spurrier; Thomas Kluyver; Jeff Quast
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/doc/api/pxssh.rst new/pexpect-4.7.0/doc/api/pxssh.rst
--- old/pexpect-4.6.0/doc/api/pxssh.rst 2015-12-08 19:43:59.000000000 +0100
+++ new/pexpect-4.7.0/doc/api/pxssh.rst 2019-04-07 03:54:51.000000000 +0200
@@ -1,6 +1,14 @@
pxssh - control an SSH session
==============================
+.. note::
+
+ *pxssh* is a screen-scraping wrapper around the SSH command on your system.
+ In many cases, you should consider using
+ `Paramiko <https://github.com/paramiko/paramiko>`_ instead.
+ Paramiko is a Python module which speaks the SSH protocol directly, so it
+ doesn't have the extra complexity of running a local subprocess.
+
.. automodule:: pexpect.pxssh
.. autoclass:: ExceptionPxssh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/doc/conf.py new/pexpect-4.7.0/doc/conf.py
--- old/pexpect-4.6.0/doc/conf.py 2018-05-29 14:15:18.000000000 +0200
+++ new/pexpect-4.7.0/doc/conf.py 2019-04-07 03:54:51.000000000 +0200
@@ -52,7 +52,7 @@
# built documents.
#
# The short X.Y version.
-version = '4.6'
+version = '4.7'
# The full version, including alpha/beta/rc tags.
release = version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/doc/history.rst new/pexpect-4.7.0/doc/history.rst
--- old/pexpect-4.6.0/doc/history.rst 2018-05-29 14:12:45.000000000 +0200
+++ new/pexpect-4.7.0/doc/history.rst 2019-04-07 03:54:51.000000000 +0200
@@ -4,6 +4,24 @@
Releases
--------
+Version 4.7
+```````````
+
+* The :meth:`.pxssh.login` method now no longer requires a username if an ssh
+ config is provided and will raise an error if neither are provided.
+ (:ghpull:`562`).
+* The :meth:`.pxssh.login` method now supports providing your own ``ssh``
+ command via the ``cmd`` parameter.
+ (:ghpull:`528`) (:ghpull:`563`).
+* :class:`.pxssh` now supports the ``use_poll`` parameter which is passed into :meth:`.pexpect.spawn`
+ (:ghpull:`542`).
+* Minor bug fix with ``ssh_config``.
+ (:ghpull:`498`).
+* :meth:`.replwrap.run_command` now has async support via an ``async_`` parameter.
+ (:ghpull:`501`).
+* :meth:`.pexpect.spawn` will now read additional bytes if able up to a buffer limit.
+ (:ghpull:`304`).
+
Version 4.6
```````````
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/doc/overview.rst new/pexpect-4.7.0/doc/overview.rst
--- old/pexpect-4.6.0/doc/overview.rst 2018-04-13 19:51:22.000000000 +0200
+++ new/pexpect-4.7.0/doc/overview.rst 2019-04-07 03:54:51.000000000 +0200
@@ -207,7 +207,10 @@
following will turn on logging and send output to stdout (the screen)::
child = pexpect.spawn(foo)
- child.logfile = sys.stdout
+ child.logfile = sys.stdout.buffer
+
+The `sys.stdout.buffer` object is available since Python 3. With Python 2, one
+has to assign just `sys.stdout` instead.
Exceptions
----------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect/__init__.py new/pexpect-4.7.0/pexpect/__init__.py
--- old/pexpect-4.6.0/pexpect/__init__.py 2018-05-29 14:15:18.000000000 +0200
+++ new/pexpect-4.7.0/pexpect/__init__.py 2019-04-07 03:54:51.000000000 +0200
@@ -75,7 +75,7 @@
from .pty_spawn import spawn, spawnu
from .run import run, runu
-__version__ = '4.6.0'
+__version__ = '4.7.0'
__revision__ = ''
__all__ = ['ExceptionPexpect', 'EOF', 'TIMEOUT', 'spawn', 'spawnu', 'run', 'runu',
'which', 'split_command_line', '__version__', '__revision__']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect/_async.py new/pexpect-4.7.0/pexpect/_async.py
--- old/pexpect-4.6.0/pexpect/_async.py 2018-04-11 21:03:57.000000000 +0200
+++ new/pexpect-4.7.0/pexpect/_async.py 2019-04-07 03:54:51.000000000 +0200
@@ -1,5 +1,6 @@
import asyncio
import errno
+import signal
from pexpect import EOF
@@ -29,6 +30,23 @@
transport.pause_reading()
return expecter.timeout(e)
+(a)asyncio.coroutine
+def repl_run_command_async(repl, cmdlines, timeout=-1):
+ res = []
+ repl.child.sendline(cmdlines[0])
+ for line in cmdlines[1:]:
+ yield from repl._expect_prompt(timeout=timeout, async_=True)
+ res.append(repl.child.before)
+ repl.child.sendline(line)
+
+ # Command was fully submitted, now wait for the next prompt
+ prompt_idx = yield from repl._expect_prompt(timeout=timeout, async_=True)
+ if prompt_idx == 1:
+ # We got the continuation prompt - command was incomplete
+ repl.child.kill(signal.SIGINT)
+ yield from repl._expect_prompt(timeout=1, async_=True)
+ raise ValueError("Continuation prompt found - input was incomplete:")
+ return u''.join(res + [repl.child.before])
class PatternWaiter(asyncio.Protocol):
transport = None
@@ -41,7 +59,7 @@
if not self.fut.done():
self.fut.set_result(result)
self.transport.pause_reading()
-
+
def error(self, exc):
if not self.fut.done():
self.fut.set_exception(exc)
@@ -49,7 +67,7 @@
def connection_made(self, transport):
self.transport = transport
-
+
def data_received(self, data):
spawn = self.expecter.spawn
s = spawn._decoder.decode(data)
@@ -67,7 +85,7 @@
except Exception as e:
self.expecter.errored()
self.error(e)
-
+
def eof_received(self):
# N.B. If this gets called, async will close the pipe (the spawn object)
# for us
@@ -78,7 +96,7 @@
self.error(e)
else:
self.found(index)
-
+
def connection_lost(self, exc):
if isinstance(exc, OSError) and exc.errno == errno.EIO:
# We may get here without eof_received being called, e.g on Linux
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect/expect.py new/pexpect-4.7.0/pexpect/expect.py
--- old/pexpect-4.6.0/pexpect/expect.py 2018-04-11 21:03:57.000000000 +0200
+++ new/pexpect-4.7.0/pexpect/expect.py 2019-04-07 03:54:51.000000000 +0200
@@ -244,7 +244,7 @@
self.eof_index = -1
self.timeout_index = -1
self._searches = []
- for n, s in zip(list(range(len(patterns))), patterns):
+ for n, s in enumerate(patterns):
if s is EOF:
self.eof_index = n
continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect/pty_spawn.py new/pexpect-4.7.0/pexpect/pty_spawn.py
--- old/pexpect-4.6.0/pexpect/pty_spawn.py 2018-04-13 19:35:52.000000000 +0200
+++ new/pexpect-4.7.0/pexpect/pty_spawn.py 2019-04-07 03:54:51.000000000 +0200
@@ -430,61 +430,83 @@
available right away then one character will be returned immediately.
It will not wait for 30 seconds for another 99 characters to come in.
- This is a wrapper around os.read(). It uses select.select() to
- implement the timeout. '''
+ On the other hand, if there are bytes available to read immediately,
+ all those bytes will be read (up to the buffer size). So, if the
+ buffer size is 1 megabyte and there is 1 megabyte of data available
+ to read, the buffer will be filled, regardless of timeout.
+
+ This is a wrapper around os.read(). It uses select.select() or
+ select.poll() to implement the timeout. '''
if self.closed:
raise ValueError('I/O operation on closed file.')
+ if self.use_poll:
+ def select(timeout):
+ return poll_ignore_interrupts([self.child_fd], timeout)
+ else:
+ def select(timeout):
+ return select_ignore_interrupts([self.child_fd], [], [], timeout)[0]
+
+ # If there is data available to read right now, read as much as
+ # we can. We do this to increase performance if there are a lot
+ # of bytes to be read. This also avoids calling isalive() too
+ # often. See also:
+ # * https://github.com/pexpect/pexpect/pull/304
+ # * http://trac.sagemath.org/ticket/10295
+ if select(0):
+ try:
+ incoming = super(spawn, self).read_nonblocking(size)
+ except EOF:
+ # Maybe the child is dead: update some attributes in that case
+ self.isalive()
+ raise
+ while len(incoming) < size and select(0):
+ try:
+ incoming += super(spawn, self).read_nonblocking(size - len(incoming))
+ except EOF:
+ # Maybe the child is dead: update some attributes in that case
+ self.isalive()
+ # Don't raise EOF, just return what we read so far.
+ return incoming
+ return incoming
+
if timeout == -1:
timeout = self.timeout
- # Note that some systems such as Solaris do not give an EOF when
- # the child dies. In fact, you can still try to read
- # from the child_fd -- it will block forever or until TIMEOUT.
- # For this case, I test isalive() before doing any reading.
- # If isalive() is false, then I pretend that this is the same as EOF.
if not self.isalive():
- # timeout of 0 means "poll"
- if self.use_poll:
- r = poll_ignore_interrupts([self.child_fd], timeout)
- else:
- r, w, e = select_ignore_interrupts([self.child_fd], [], [], 0)
- if not r:
- self.flag_eof = True
- raise EOF('End Of File (EOF). Braindead platform.')
+ # The process is dead, but there may or may not be data
+ # available to read. Note that some systems such as Solaris
+ # do not give an EOF when the child dies. In fact, you can
+ # still try to read from the child_fd -- it will block
+ # forever or until TIMEOUT. For that reason, it's important
+ # to do this check before calling select() with timeout.
+ if select(0):
+ return super(spawn, self).read_nonblocking(size)
+ self.flag_eof = True
+ raise EOF('End Of File (EOF). Braindead platform.')
elif self.__irix_hack:
# Irix takes a long time before it realizes a child was terminated.
+ # Make sure that the timeout is at least 2 seconds.
# FIXME So does this mean Irix systems are forced to always have
# FIXME a 2 second delay when calling read_nonblocking? That sucks.
- if self.use_poll:
- r = poll_ignore_interrupts([self.child_fd], timeout)
- else:
- r, w, e = select_ignore_interrupts([self.child_fd], [], [], 2)
- if not r and not self.isalive():
- self.flag_eof = True
- raise EOF('End Of File (EOF). Slow platform.')
- if self.use_poll:
- r = poll_ignore_interrupts([self.child_fd], timeout)
- else:
- r, w, e = select_ignore_interrupts(
- [self.child_fd], [], [], timeout
- )
-
- if not r:
- if not self.isalive():
- # Some platforms, such as Irix, will claim that their
- # processes are alive; timeout on the select; and
- # then finally admit that they are not alive.
- self.flag_eof = True
- raise EOF('End of File (EOF). Very slow platform.')
- else:
- raise TIMEOUT('Timeout exceeded.')
+ if timeout is not None and timeout < 2:
+ timeout = 2
- if self.child_fd in r:
+ # Because of the select(0) check above, we know that no data
+ # is available right now. But if a non-zero timeout is given
+ # (possibly timeout=None), we call select() with a timeout.
+ if (timeout != 0) and select(timeout):
return super(spawn, self).read_nonblocking(size)
- raise ExceptionPexpect('Reached an unexpected state.') # pragma: no cover
+ if not self.isalive():
+ # Some platforms, such as Irix, will claim that their
+ # processes are alive; timeout on the select; and
+ # then finally admit that they are not alive.
+ self.flag_eof = True
+ raise EOF('End of File (EOF). Very slow platform.')
+ else:
+ raise TIMEOUT('Timeout exceeded.')
def write(self, s):
'''This is similar to send() except that there is no return value.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect/pxssh.py new/pexpect-4.7.0/pexpect/pxssh.py
--- old/pexpect-4.6.0/pexpect/pxssh.py 2018-05-29 14:12:45.000000000 +0200
+++ new/pexpect-4.7.0/pexpect/pxssh.py 2019-04-07 03:54:51.000000000 +0200
@@ -109,7 +109,7 @@
username = raw_input('username: ')
password = getpass.getpass('password: ')
s.login (hostname, username, password)
-
+
`debug_command_string` is only for the test suite to confirm that the string
generated for SSH is correct, using this will not allow you to do
anything other than get a string back from `pxssh.pxssh.login()`.
@@ -118,12 +118,12 @@
def __init__ (self, timeout=30, maxread=2000, searchwindowsize=None,
logfile=None, cwd=None, env=None, ignore_sighup=True, echo=True,
options={}, encoding=None, codec_errors='strict',
- debug_command_string=False):
+ debug_command_string=False, use_poll=False):
spawn.__init__(self, None, timeout=timeout, maxread=maxread,
searchwindowsize=searchwindowsize, logfile=logfile,
cwd=cwd, env=env, ignore_sighup=ignore_sighup, echo=echo,
- encoding=encoding, codec_errors=codec_errors)
+ encoding=encoding, codec_errors=codec_errors, use_poll=use_poll)
self.name = '<pxssh>'
@@ -154,7 +154,7 @@
# Unsetting SSH_ASKPASS on the remote side doesn't disable it! Annoying!
#self.SSH_OPTS = "-x -o'RSAAuthentication=no' -o 'PubkeyAuthentication=no'"
self.force_password = False
-
+
self.debug_command_string = debug_command_string
# User defined SSH options, eg,
@@ -220,7 +220,7 @@
can take 12 seconds. Low latency connections are more likely to fail
with a low sync_multiplier. Best case sync time gets worse with a
high sync multiplier (500 ms with default). '''
-
+
# All of these timing pace values are magic.
# I came up with these based on what seemed reliable for
# connecting to a heavily loaded machine I have.
@@ -253,20 +253,19 @@
### TODO: This is getting messy and I'm pretty sure this isn't perfect.
### TODO: I need to draw a flow chart for this.
### TODO: Unit tests for SSH tunnels, remote SSH command exec, disabling original prompt sync
- def login (self, server, username, password='', terminal_type='ansi',
+ def login (self, server, username=None, password='', terminal_type='ansi',
original_prompt=r"[#$]", login_timeout=10, port=None,
auto_prompt_reset=True, ssh_key=None, quiet=True,
sync_multiplier=1, check_local_ip=True,
password_regex=r'(?i)(?:password:)|(?:passphrase for key)',
ssh_tunnels={}, spawn_local_ssh=True,
- sync_original_prompt=True, ssh_config=None):
+ sync_original_prompt=True, ssh_config=None, cmd='ssh'):
'''This logs the user into the given server.
- It uses
- 'original_prompt' to try to find the prompt right after login. When it
- finds the prompt it immediately tries to reset the prompt to something
- more easily matched. The default 'original_prompt' is very optimistic
- and is easily fooled. It's more reliable to try to match the original
+ It uses 'original_prompt' to try to find the prompt right after login.
+ When it finds the prompt it immediately tries to reset the prompt to
+ something more easily matched. The default 'original_prompt' is very
+ optimistic and is easily fooled. It's more reliable to try to match the original
prompt as exactly as possible to prevent false matches by server
strings such as the "Message Of The Day". On many systems you can
disable the MOTD on the remote server by creating a zero-length file
@@ -284,27 +283,31 @@
uses a unique prompt in the :meth:`prompt` method. If the original prompt is
not reset then this will disable the :meth:`prompt` method unless you
manually set the :attr:`PROMPT` attribute.
-
+
Set ``password_regex`` if there is a MOTD message with `password` in it.
Changing this is like playing in traffic, don't (p)expect it to match straight
away.
-
+
If you require to connect to another SSH server from the your original SSH
connection set ``spawn_local_ssh`` to `False` and this will use your current
session to do so. Setting this option to `False` and not having an active session
will trigger an error.
-
+
Set ``ssh_key`` to a file path to an SSH private key to use that SSH key
for the session authentication.
Set ``ssh_key`` to `True` to force passing the current SSH authentication socket
to the desired ``hostname``.
-
+
Set ``ssh_config`` to a file path string of an SSH client config file to pass that
file to the client to handle itself. You may set any options you wish in here, however
doing so will require you to post extra information that you may not want to if you
run into issues.
+
+ Alter the ``cmd`` to change the ssh client used, or to prepend it with network
+ namespaces. For example ```cmd="ip netns exec vlan2 ssh"``` to execute the ssh in
+ network namespace named ```vlan```.
'''
-
+
session_regex_array = ["(?i)are you sure you want to continue connecting", original_prompt, password_regex, "(?i)permission denied", "(?i)terminal type", TIMEOUT]
session_init_regex_array = []
session_init_regex_array.extend(session_regex_array)
@@ -320,7 +323,7 @@
if ssh_config is not None:
if spawn_local_ssh and not os.path.isfile(ssh_config):
raise ExceptionPxssh('SSH config does not exist or is not a file.')
- ssh_options = ssh_options + '-F ' + ssh_config
+ ssh_options = ssh_options + ' -F ' + ssh_config
if port is not None:
ssh_options = ssh_options + ' -p %s'%(str(port))
if ssh_key is not None:
@@ -331,7 +334,7 @@
if spawn_local_ssh and not os.path.isfile(ssh_key):
raise ExceptionPxssh('private ssh key does not exist or is not a file.')
ssh_options = ssh_options + ' -i %s' % (ssh_key)
-
+
# SSH tunnels, make sure you know what you're putting into the lists
# under each heading. Do not expect these to open 100% of the time,
# The port you're requesting might be bound.
@@ -354,7 +357,42 @@
if spawn_local_ssh==False:
tunnel = quote(str(tunnel))
ssh_options = ssh_options + ' -' + cmd_type + ' ' + str(tunnel)
- cmd = "ssh %s -l %s %s" % (ssh_options, username, server)
+
+ if username is not None:
+ ssh_options = ssh_options + ' -l ' + username
+ elif ssh_config is None:
+ raise TypeError('login() needs either a username or an ssh_config')
+ else: # make sure ssh_config has an entry for the server with a username
+ with open(ssh_config, 'rt') as f:
+ lines = [l.strip() for l in f.readlines()]
+
+ server_regex = r'^Host\s+%s\s*$' % server
+ user_regex = r'^User\s+\w+\s*$'
+ config_has_server = False
+ server_has_username = False
+ for line in lines:
+ if not config_has_server and re.match(server_regex, line, re.IGNORECASE):
+ config_has_server = True
+ elif config_has_server and 'hostname' in line.lower():
+ pass
+ elif config_has_server and 'host' in line.lower():
+ server_has_username = False # insurance
+ break # we have left the relevant section
+ elif config_has_server and re.match(user_regex, line, re.IGNORECASE):
+ server_has_username = True
+ break
+
+ if lines:
+ del line
+
+ del lines
+
+ if not config_has_server:
+ raise TypeError('login() ssh_config has no Host entry for %s' % server)
+ elif not server_has_username:
+ raise TypeError('login() ssh_config has no user entry for %s' % server)
+
+ cmd += " %s %s" % (ssh_options, server)
if self.debug_command_string:
return(cmd)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect/replwrap.py new/pexpect-4.7.0/pexpect/replwrap.py
--- old/pexpect-4.6.0/pexpect/replwrap.py 2018-02-10 13:16:58.000000000 +0100
+++ new/pexpect-4.7.0/pexpect/replwrap.py 2019-04-07 03:54:51.000000000 +0200
@@ -61,11 +61,11 @@
self.child.expect(orig_prompt)
self.child.sendline(prompt_change)
- def _expect_prompt(self, timeout=-1):
+ def _expect_prompt(self, timeout=-1, async_=False):
return self.child.expect_exact([self.prompt, self.continuation_prompt],
- timeout=timeout)
+ timeout=timeout, async_=async_)
- def run_command(self, command, timeout=-1):
+ def run_command(self, command, timeout=-1, async_=False):
"""Send a command to the REPL, wait for and return output.
:param str command: The command to send. Trailing newlines are not needed.
@@ -75,6 +75,10 @@
:param int timeout: How long to wait for the next prompt. -1 means the
default from the :class:`pexpect.spawn` object (default 30 seconds).
None means to wait indefinitely.
+ :param bool async_: On Python 3.4, or Python 3.3 with asyncio
+ installed, passing ``async_=True`` will make this return an
+ :mod:`asyncio` Future, which you can yield from to get the same
+ result that this method would normally give directly.
"""
# Split up multiline commands and feed them in bit-by-bit
cmdlines = command.splitlines()
@@ -84,6 +88,10 @@
if not cmdlines:
raise ValueError("No command was given")
+ if async_:
+ from ._async import repl_run_command_async
+ return repl_run_command_async(self, cmdlines, timeout)
+
res = []
self.child.sendline(cmdlines[0])
for line in cmdlines[1:]:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect.egg-info/PKG-INFO new/pexpect-4.7.0/pexpect.egg-info/PKG-INFO
--- old/pexpect-4.6.0/pexpect.egg-info/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/pexpect-4.7.0/pexpect.egg-info/PKG-INFO 2019-04-07 03:54:58.000000000 +0200
@@ -0,0 +1,46 @@
+Metadata-Version: 1.1
+Name: pexpect
+Version: 4.7.0
+Summary: Pexpect allows easy control of interactive console applications.
+Home-page: https://pexpect.readthedocs.io/
+Author: Noah Spurrier; Thomas Kluyver; Jeff Quast
+Author-email: noah(a)noah.org, thomas(a)kluyver.me.uk, contact(a)jeffquast.com
+License: ISC license
+Description:
+ Pexpect is a pure Python module for spawning child applications; controlling
+ them; and responding to expected patterns in their output. Pexpect works like
+ Don Libes' Expect. Pexpect allows your script to spawn a child application and
+ control it as if a human were typing commands.
+
+ Pexpect can be used for automating interactive applications such as ssh, ftp,
+ passwd, telnet, etc. It can be used to a automate setup scripts for duplicating
+ software package installations on different servers. It can be used for
+ automated software testing. Pexpect is in the spirit of Don Libes' Expect, but
+ Pexpect is pure Python.
+
+ The main features of Pexpect require the pty module in the Python standard
+ library, which is only available on Unix-like systems. Some features—waiting
+ for patterns from file descriptors or subprocesses—are also available on
+ Windows.
+
+Platform: UNIX
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Environment :: Console
+Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: System Administrators
+Classifier: License :: OSI Approved :: ISC License (ISCL)
+Classifier: Operating System :: POSIX
+Classifier: Operating System :: MacOS :: MacOS X
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Topic :: Software Development
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Classifier: Topic :: Software Development :: Quality Assurance
+Classifier: Topic :: Software Development :: Testing
+Classifier: Topic :: System
+Classifier: Topic :: System :: Archiving :: Packaging
+Classifier: Topic :: System :: Installation/Setup
+Classifier: Topic :: System :: Shells
+Classifier: Topic :: System :: Software Distribution
+Classifier: Topic :: Terminals
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect.egg-info/SOURCES.txt new/pexpect-4.7.0/pexpect.egg-info/SOURCES.txt
--- old/pexpect-4.6.0/pexpect.egg-info/SOURCES.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/pexpect-4.7.0/pexpect.egg-info/SOURCES.txt 2019-04-07 03:54:58.000000000 +0200
@@ -0,0 +1,128 @@
+LICENSE
+MANIFEST.in
+README.rst
+setup.cfg
+setup.py
+doc/FAQ.rst
+doc/Makefile
+doc/clean.css
+doc/commonissues.rst
+doc/conf.py
+doc/examples.rst
+doc/history.rst
+doc/index.rst
+doc/install.rst
+doc/make.bat
+doc/overview.rst
+doc/requirements.txt
+doc/api/fdpexpect.rst
+doc/api/index.rst
+doc/api/pexpect.rst
+doc/api/popen_spawn.rst
+doc/api/pxssh.rst
+doc/api/replwrap.rst
+doc/sphinxext/github.py
+examples/README
+examples/astat.py
+examples/cgishell.cgi
+examples/chess.py
+examples/chess2.py
+examples/chess3.py
+examples/df.py
+examples/ftp.py
+examples/hive.py
+examples/monitor.py
+examples/passmass.py
+examples/python.py
+examples/script.py
+examples/ssh_tunnel.py
+examples/table_test.html
+examples/topip.py
+examples/uptime.py
+pexpect/ANSI.py
+pexpect/FSM.py
+pexpect/__init__.py
+pexpect/_async.py
+pexpect/bashrc.sh
+pexpect/exceptions.py
+pexpect/expect.py
+pexpect/fdpexpect.py
+pexpect/popen_spawn.py
+pexpect/pty_spawn.py
+pexpect/pxssh.py
+pexpect/replwrap.py
+pexpect/run.py
+pexpect/screen.py
+pexpect/spawnbase.py
+pexpect/utils.py
+pexpect.egg-info/PKG-INFO
+pexpect.egg-info/SOURCES.txt
+pexpect.egg-info/dependency_links.txt
+pexpect.egg-info/requires.txt
+pexpect.egg-info/top_level.txt
+tests/PexpectTestCase.py
+tests/README
+tests/TESTDATA.txt
+tests/__init__.py
+tests/adhoc.py
+tests/alarm_die.py
+tests/bambi.vt
+tests/depricated_test_filedescriptor.py
+tests/echo_w_prompt.py
+tests/echo_wait.py
+tests/exit1.py
+tests/exit667.c
+tests/getch.py
+tests/globe.vt
+tests/interact.py
+tests/list100.py
+tests/needs_kill.py
+tests/pexpectTest.py
+tests/qa.py
+tests/sigwinch_report.py
+tests/sleep_for.py
+tests/swapcase_echo.py
+tests/test_FSM.py
+tests/test_ansi.py
+tests/test_async.py
+tests/test_command_list_split.py
+tests/test_constructor.py
+tests/test_ctrl_chars.py
+tests/test_delay.py
+tests/test_destructor.py
+tests/test_dotall.py
+tests/test_env.py
+tests/test_expect.py
+tests/test_filedescriptor.py
+tests/test_interact.py
+tests/test_isalive.py
+tests/test_log.py
+tests/test_misc.py
+tests/test_missing_command.py
+tests/test_performance.py
+tests/test_pickling.py
+tests/test_popen_spawn.py
+tests/test_pxssh.py
+tests/test_replwrap.py
+tests/test_repr.py
+tests/test_run.py
+tests/test_run_out_of_pty.py
+tests/test_screen.py
+tests/test_socket.py
+tests/test_timeout_pattern.py
+tests/test_unicode.py
+tests/test_which.py
+tests/test_winsize.py
+tests/tetris.data
+tests/ticker.py
+tests/torturet.vt
+tests/utils.py
+tests/fakessh/ssh
+tests/platform_checks/README
+tests/platform_checks/check.py
+tests/platform_checks/check2.py
+tests/platform_checks/check_control_terminal.py
+tests/platform_checks/check_handler.py
+tests/platform_checks/check_read.py
+tests/platform_checks/check_signals.py
+tests/platform_checks/CSIGNALTEST/test.c
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect.egg-info/dependency_links.txt new/pexpect-4.7.0/pexpect.egg-info/dependency_links.txt
--- old/pexpect-4.6.0/pexpect.egg-info/dependency_links.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/pexpect-4.7.0/pexpect.egg-info/dependency_links.txt 2019-04-07 03:54:58.000000000 +0200
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect.egg-info/requires.txt new/pexpect-4.7.0/pexpect.egg-info/requires.txt
--- old/pexpect-4.6.0/pexpect.egg-info/requires.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/pexpect-4.7.0/pexpect.egg-info/requires.txt 2019-04-07 03:54:58.000000000 +0200
@@ -0,0 +1 @@
+ptyprocess>=0.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/pexpect.egg-info/top_level.txt new/pexpect-4.7.0/pexpect.egg-info/top_level.txt
--- old/pexpect-4.6.0/pexpect.egg-info/top_level.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/pexpect-4.7.0/pexpect.egg-info/top_level.txt 2019-04-07 03:54:58.000000000 +0200
@@ -0,0 +1 @@
+pexpect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/setup.cfg new/pexpect-4.7.0/setup.cfg
--- old/pexpect-4.6.0/setup.cfg 2018-04-11 21:03:57.000000000 +0200
+++ new/pexpect-4.7.0/setup.cfg 2019-04-07 03:54:58.000000000 +0200
@@ -2,4 +2,9 @@
norecursedirs = .git
[bdist_wheel]
-universal=1
+universal = 1
+
+[egg_info]
+tag_build =
+tag_date = 0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/tests/fakessh/ssh new/pexpect-4.7.0/tests/fakessh/ssh
--- old/pexpect-4.6.0/tests/fakessh/ssh 2016-08-21 21:57:33.000000000 +0200
+++ new/pexpect-4.7.0/tests/fakessh/ssh 2019-04-07 03:54:52.000000000 +0200
@@ -3,13 +3,52 @@
import getpass
import sys
+import getopt
PY3 = (sys.version_info[0] >= 3)
if not PY3:
input = raw_input
-server = sys.argv[-1]
-if server == 'noserver':
- print('No route to host')
+ssh_usage = "usage: ssh [-2qV] [-c cipher_spec] [-l login_name]\r\n" \
+ + " hostname"
+
+cipher_valid_list = ['aes128-ctr', 'aes192-ctr', 'aes256-ctr', 'arcfour256', 'arcfour128', \
+ 'aes128-cbc','3des-cbc','blowfish-cbc','cast128-cbc','aes192-cbc', \
+ 'aes256-cbc','arcfour']
+
+try:
+ server = sys.argv[-1]
+ if server == 'noserver':
+ print('No route to host')
+ sys.exit(1)
+
+ elif len(sys.argv) < 2:
+ print(ssh_usage)
+ sys.exit(1)
+
+ cipher = ''
+ cipher_list = []
+ fullCmdArguments = sys.argv
+ argumentList = fullCmdArguments[1:]
+ unixOptions = "2qVc:l"
+ arguments, values = getopt.getopt(argumentList, unixOptions)
+ for currentArgument, currentValue in arguments:
+ if currentArgument in ("-2"):
+ pass
+ elif currentArgument in ("-V"):
+ print("Mock SSH client version 0.2")
+ sys.exit(1)
+ elif currentArgument in ("-c"):
+ cipher = currentValue
+ cipher_list = cipher.split(",")
+ for cipher_item in cipher_list:
+ if cipher_item not in cipher_valid_list:
+ print("Unknown cipher type '" + str(cipher_item) + "'")
+ sys.exit(1)
+
+
+except Exception as e:
+ print(ssh_usage)
+ print('error = ' + str(e))
sys.exit(1)
print("Mock SSH client for tests. Do not enter real security info.")
@@ -31,4 +70,5 @@
elif cmd == 'echo $?':
print(0)
elif cmd in ('exit', 'logout'):
+ print('Closed connection')
break
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/tests/test_async.py new/pexpect-4.7.0/tests/test_async.py
--- old/pexpect-4.6.0/tests/test_async.py 2018-02-10 13:16:58.000000000 +0100
+++ new/pexpect-4.7.0/tests/test_async.py 2019-04-07 03:54:51.000000000 +0200
@@ -8,6 +8,7 @@
import unittest
import pexpect
+from pexpect import replwrap
from .PexpectTestCase import PexpectTestCase
def run(coro):
@@ -27,7 +28,7 @@
coro = p.expect('foo', timeout=1, async_=True)
with self.assertRaises(pexpect.TIMEOUT):
run(coro)
-
+
p = pexpect.spawn('cat')
coro = p.expect(['foo', pexpect.TIMEOUT], timeout=1, async_=True)
assert run(coro) == 1
@@ -68,3 +69,29 @@
assert run(p.expect_exact(u'1', async_=True)) == 0
assert p.expect_exact(u'2') == 0
assert run(p.expect_exact(u'3', async_=True)) == 0
+
+ def test_async_replwrap(self):
+ bash = replwrap.bash()
+ coro = bash.run_command("time", async_=True)
+ res = run(coro)
+ assert 'real' in res, res
+
+ def test_async_replwrap_multiline(self):
+ bash = replwrap.bash()
+ coro = bash.run_command("echo '1 2\n3 4'", async_=True)
+ res = run(coro)
+ self.assertEqual(res.strip().splitlines(), ['1 2', '3 4'])
+
+ # Should raise ValueError if input is incomplete
+ coro = bash.run_command("echo '5 6", async_=True)
+ try:
+ run(coro)
+ except ValueError:
+ pass
+ else:
+ assert False, "Didn't raise ValueError for incomplete input"
+
+ # Check that the REPL was reset (SIGINT) after the incomplete input
+ coro = bash.run_command("echo '1 2\n3 4'", async_=True)
+ res = run(coro)
+ self.assertEqual(res.strip().splitlines(), ['1 2', '3 4'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/tests/test_expect.py new/pexpect-4.7.0/tests/test_expect.py
--- old/pexpect-4.6.0/tests/test_expect.py 2018-04-11 21:03:57.000000000 +0200
+++ new/pexpect-4.7.0/tests/test_expect.py 2019-04-07 03:54:51.000000000 +0200
@@ -411,7 +411,7 @@
def test_before_across_chunks(self):
# https://github.com/pexpect/pexpect/issues/478
child = pexpect.spawn(
- '''/bin/bash -c "openssl rand -base64 {} | head -500 | nl --number-format=rz --number-width=5 2>&1 ; echo 'PATTERN!!!'"'''.format(1024 * 1024 * 2),
+ '''/bin/bash -c "openssl rand -base64 {} 2>/dev/null | head -500 | nl --number-format=rz --number-width=5 2>&1 ; echo 'PATTERN!!!'"'''.format(1024 * 1024 * 2),
searchwindowsize=128
)
child.expect(['PATTERN'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/tests/test_pxssh.py new/pexpect-4.7.0/tests/test_pxssh.py
--- old/pexpect-4.6.0/tests/test_pxssh.py 2018-05-29 14:12:45.000000000 +0200
+++ new/pexpect-4.7.0/tests/test_pxssh.py 2019-04-07 03:54:51.000000000 +0200
@@ -87,11 +87,82 @@
def test_ssh_config_passing_string(self):
ssh = pxssh.pxssh(debug_command_string=True)
- (temp_file,config_path) = tempfile.mkstemp()
+ temp_file = tempfile.NamedTemporaryFile()
+ config_path = temp_file.name
string = ssh.login('server', 'me', password='s3cret', spawn_local_ssh=False, ssh_config=config_path)
if not '-F '+config_path in string:
assert False, 'String generated from SSH config passing is incorrect.'
+ def test_username_or_ssh_config(self):
+ try:
+ ssh = pxssh.pxssh(debug_command_string=True)
+ temp_file = tempfile.NamedTemporaryFile()
+ config_path = temp_file.name
+ string = ssh.login('server')
+ raise AssertionError('Should have failed due to missing username and missing ssh_config.')
+ except TypeError:
+ pass
+
+ def test_ssh_config_user(self):
+ ssh = pxssh.pxssh(debug_command_string=True)
+ temp_file = tempfile.NamedTemporaryFile()
+ config_path = temp_file.name
+ temp_file.write(b'HosT server\n'
+ b'UsEr me\n'
+ b'hOSt not-server\n')
+ temp_file.seek(0)
+ string = ssh.login('server', ssh_config=config_path)
+
+ def test_ssh_config_no_username_empty_config(self):
+ ssh = pxssh.pxssh(debug_command_string=True)
+ temp_file = tempfile.NamedTemporaryFile()
+ config_path = temp_file.name
+ try:
+ string = ssh.login('server', ssh_config=config_path)
+ raise AssertionError('Should have failed due to no Host.')
+ except TypeError:
+ pass
+
+ def test_ssh_config_wrong_Host(self):
+ ssh = pxssh.pxssh(debug_command_string=True)
+ temp_file = tempfile.NamedTemporaryFile()
+ config_path = temp_file.name
+ temp_file.write(b'Host not-server\n'
+ b'Host also-not-server\n')
+ temp_file.seek(0)
+ try:
+ string = ssh.login('server', ssh_config=config_path)
+ raise AssertionError('Should have failed due to no matching Host.')
+ except TypeError:
+ pass
+
+ def test_ssh_config_no_user(self):
+ ssh = pxssh.pxssh(debug_command_string=True)
+ temp_file = tempfile.NamedTemporaryFile()
+ config_path = temp_file.name
+ temp_file.write(b'Host server\n'
+ b'Host not-server\n')
+ temp_file.seek(0)
+ try:
+ string = ssh.login('server', ssh_config=config_path)
+ raise AssertionError('Should have failed due to no user.')
+ except TypeError:
+ pass
+
+ def test_ssh_config_empty_user(self):
+ ssh = pxssh.pxssh(debug_command_string=True)
+ temp_file = tempfile.NamedTemporaryFile()
+ config_path = temp_file.name
+ temp_file.write(b'Host server\n'
+ b'user \n'
+ b'Host not-server\n')
+ temp_file.seek(0)
+ try:
+ string = ssh.login('server', ssh_config=config_path)
+ raise AssertionError('Should have failed due to empty user.')
+ except TypeError:
+ pass
+
def test_ssh_key_string(self):
ssh = pxssh.pxssh(debug_command_string=True)
confirmation_strings = 0
@@ -105,7 +176,8 @@
assert False, 'String generated from forcing the SSH agent sock is incorrect.'
confirmation_strings = 0
- (temp_file,ssh_key) = tempfile.mkstemp()
+ temp_file = tempfile.NamedTemporaryFile()
+ ssh_key = temp_file.name
confirmation_array = [' -i '+ssh_key]
string = ssh.login('server', 'me', password='s3cret', ssh_key=ssh_key)
for confirmation in confirmation_array:
@@ -115,6 +187,86 @@
if confirmation_strings!=len(confirmation_array):
assert False, 'String generated from adding an SSH key is incorrect.'
+ def test_custom_ssh_cmd_debug(self):
+ ssh = pxssh.pxssh(debug_command_string=True)
+ cipher_string = '-c aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,' \
+ + 'aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,' \
+ + 'aes256-cbc,arcfour'
+ confirmation_strings = 0
+ confirmation_array = [cipher_string, '-2']
+ string = ssh.login('server', 'me', password='s3cret', cmd='ssh ' + cipher_string + ' -2')
+ for confirmation in confirmation_array:
+ if confirmation in string:
+ confirmation_strings+=1
+
+ if confirmation_strings!=len(confirmation_array):
+ assert False, 'String generated for custom ssh client command is incorrect.'
+
+ def test_custom_ssh_cmd_debug(self):
+ ssh = pxssh.pxssh(debug_command_string=True)
+ cipher_string = '-c aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,' \
+ + 'aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,' \
+ + 'aes256-cbc,arcfour'
+ confirmation_strings = 0
+ confirmation_array = [cipher_string, '-2']
+ string = ssh.login('server', 'me', password='s3cret', cmd='ssh ' + cipher_string + ' -2')
+ for confirmation in confirmation_array:
+ if confirmation in string:
+ confirmation_strings+=1
+
+ if confirmation_strings!=len(confirmation_array):
+ assert False, 'String generated for custom ssh client command is incorrect.'
+
+ def test_failed_custom_ssh_cmd_debug(self):
+ ssh = pxssh.pxssh(debug_command_string=True)
+ cipher_string = '-c invalid_cipher'
+ confirmation_strings = 0
+ confirmation_array = [cipher_string, '-2']
+ string = ssh.login('server', 'me', password='s3cret', cmd='ssh ' + cipher_string + ' -2')
+ for confirmation in confirmation_array:
+ if confirmation in string:
+ confirmation_strings+=1
+
+ if confirmation_strings!=len(confirmation_array):
+ assert False, 'String generated for custom ssh client command is incorrect.'
+
+ def test_custom_ssh_cmd(self):
+ try:
+ ssh = pxssh.pxssh()
+ cipher_string = '-c aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,' \
+ + 'aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,' \
+ + 'aes256-cbc,arcfour'
+ result = ssh.login('server', 'me', password='s3cret', cmd='ssh ' + cipher_string + ' -2')
+
+ ssh.PROMPT = r'Closed connection'
+ ssh.sendline('exit')
+ ssh.prompt(timeout=5)
+ string = str(ssh.before) + str(ssh.after)
+
+ if 'Closed connection' not in string:
+ assert False, 'should have logged into Mock SSH client and exited'
+ except pxssh.ExceptionPxssh as e:
+ assert False, 'should not have raised exception, pxssh.ExceptionPxssh'
+ else:
+ pass
+
+ def test_failed_custom_ssh_cmd(self):
+ try:
+ ssh = pxssh.pxssh()
+ cipher_string = '-c invalid_cipher'
+ result = ssh.login('server', 'me', password='s3cret', cmd='ssh ' + cipher_string + ' -2')
+
+ ssh.PROMPT = r'Closed connection'
+ ssh.sendline('exit')
+ ssh.prompt(timeout=5)
+ string = str(ssh.before) + str(ssh.after)
+
+ if 'Closed connection' not in string:
+ assert False, 'should not have completed logging into Mock SSH client and exited'
+ except pxssh.ExceptionPxssh as e:
+ pass
+ else:
+ assert False, 'should have raised exception, pxssh.ExceptionPxssh'
if __name__ == '__main__':
unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pexpect-4.6.0/tests/test_replwrap.py new/pexpect-4.7.0/tests/test_replwrap.py
--- old/pexpect-4.6.0/tests/test_replwrap.py 2016-08-21 21:57:33.000000000 +0200
+++ new/pexpect-4.7.0/tests/test_replwrap.py 2019-04-07 03:54:51.000000000 +0200
@@ -24,8 +24,15 @@
def test_bash(self):
bash = replwrap.bash()
- res = bash.run_command("time")
- assert 'real' in res, res
+ res = bash.run_command("alias")
+ assert 'alias' in res, res
+
+ try:
+ bash.run_command('')
+ except ValueError:
+ pass
+ else:
+ assert False, "Didn't raise ValueError for empty input"
def test_pager_as_cat(self):
" PAGER is set to cat, to prevent timeout in ``man sleep``. "
@@ -78,7 +85,7 @@
self.assertEqual(res.strip().splitlines(), ['1 2', '3 4'])
def test_existing_spawn(self):
- child = pexpect.spawn("bash", timeout=5, echo=False, encoding='utf-8')
+ child = pexpect.spawn("bash", timeout=5, encoding='utf-8')
repl = replwrap.REPLWrapper(child, re.compile('[$#]'),
"PS1='{0}' PS2='{1}' "
"PROMPT_COMMAND=''")
1
0
Hello community,
here is the log from the commit of package python-requests for openSUSE:Factory checked in at 2019-05-27 08:37:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-requests (Old)
and /work/SRC/openSUSE:Factory/.python-requests.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-requests"
Mon May 27 08:37:17 2019 rev:59 rq:705386 version:2.22.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-requests/python-requests.changes 2019-04-26 22:41:58.553719347 +0200
+++ /work/SRC/openSUSE:Factory/.python-requests.new.5148/python-requests.changes 2019-05-27 08:37:18.691096092 +0200
@@ -1,0 +2,7 @@
+Sat May 25 08:41:20 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 2.22.0:
+ * Requests now supports urllib3 v1.25.2. (note: 1.25.0 and 1.25.1 are incompatible)
+- Rebase requests-no-hardcoded-version.patch
+
+-------------------------------------------------------------------
Old:
----
requests-2.21.0.tar.gz
New:
----
requests-2.22.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-requests.spec ++++++
--- /var/tmp/diff_new_pack.eyg5q7/_old 2019-05-27 08:37:20.103095541 +0200
+++ /var/tmp/diff_new_pack.eyg5q7/_new 2019-05-27 08:37:20.103095541 +0200
@@ -26,7 +26,7 @@
%endif
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-requests%{psuffix}
-Version: 2.21.0
+Version: 2.22.0
Release: 0
Summary: Python HTTP Library
License: Apache-2.0
++++++ requests-2.21.0.tar.gz -> requests-2.22.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/HISTORY.md new/requests-2.22.0/HISTORY.md
--- old/requests-2.21.0/HISTORY.md 2018-12-10 07:07:09.000000000 +0100
+++ new/requests-2.22.0/HISTORY.md 2019-05-16 16:22:45.000000000 +0200
@@ -8,6 +8,18 @@
- \[Short description of non-trivial change.\]
+2.22.0 (2019-05-15)
+-------------------
+
+**Dependencies**
+
+- Requests now supports urllib3 v1.25.2.
+ (note: 1.25.0 and 1.25.1 are incompatible)
+
+**Deprecations**
+
+- Requests has officially stopped support for Python 3.4.
+
2.21.0 (2018-12-10)
-------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/PKG-INFO new/requests-2.22.0/PKG-INFO
--- old/requests-2.21.0/PKG-INFO 2018-12-10 16:39:30.000000000 +0100
+++ new/requests-2.22.0/PKG-INFO 2019-05-16 16:36:36.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: requests
-Version: 2.21.0
+Version: 2.22.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
@@ -16,8 +16,6 @@
[![image](https://img.shields.io/github/contributors/requests/requests.svg)](https://github.com/requests/requests/graphs/contributors)
[![image](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/kennethreitz)
- **If you're interested in financially supporting Kenneth Reitz open source, consider [visiting this link](https://cash.me/$KennethReitz). Your support helps tremendously with sustainability of motivation, as Open Source is no longer part of my day job.**
-
Requests is the only *Non-GMO* HTTP library for Python, safe for human
consumption.
@@ -26,6 +24,7 @@
Behold, the power of Requests:
``` {.sourceCode .python}
+ >>> import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
@@ -99,17 +98,18 @@
How to Contribute
-----------------
- 1. Check for open issues or open a fresh issue to start a discussion
+ 1. Become more familiar with the project by reading our [Contributor's Guide](http://docs.python-requests.org/en/latest/dev/contributing/) and our [development philosophy](http://docs.python-requests.org/en/latest/dev/philosophy/).
+ 2. Check for open issues or open a fresh issue to start a discussion
around a feature idea or a bug. There is a [Contributor
Friendly](https://github.com/requests/requests/issues?direction=desc&labels…
tag for issues that should be ideal for people who are not very
familiar with the codebase yet.
- 2. Fork [the repository](https://github.com/requests/requests) on
+ 3. Fork [the repository](https://github.com/requests/requests) on
GitHub to start making your changes to the **master** branch (or
branch off of it).
- 3. Write a test which shows that the bug was fixed or that the feature
+ 4. Write a test which shows that the bug was fixed or that the feature
works as expected.
- 4. Send a pull request and bug the maintainer until it gets merged and
+ 5. Send a pull request and bug the maintainer until it gets merged and
published. :) Make sure to add yourself to
[AUTHORS](https://github.com/requests/requests/blob/master/AUTHORS.rst).
@@ -123,13 +123,12 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
Description-Content-Type: text/markdown
Provides-Extra: security
Provides-Extra: socks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/Pipfile new/requests-2.22.0/Pipfile
--- old/requests-2.21.0/Pipfile 2018-10-17 06:33:51.000000000 +0200
+++ new/requests-2.22.0/Pipfile 2019-05-16 16:22:45.000000000 +0200
@@ -4,12 +4,12 @@
name = "pypi"
[dev-packages]
-pytest = ">=2.8.0"
+pytest = ">=2.8.0,<=3.10.1"
codecov = "*"
-pytest-httpbin = ">=0.0.7"
+pytest-httpbin = ">=0.0.7,<1.0"
pytest-mock = "*"
pytest-cov = "*"
-pytest-xdist = "*"
+pytest-xdist = "<=1.25"
alabaster = "*"
readme-renderer = "*"
sphinx = "<=1.5.5"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/Pipfile.lock new/requests-2.22.0/Pipfile.lock
--- old/requests-2.21.0/Pipfile.lock 2018-10-17 02:57:13.000000000 +0200
+++ new/requests-2.22.0/Pipfile.lock 2019-05-16 16:22:45.000000000 +0200
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
- "sha256": "0735b243455d8e924fbd05188ed435bfd3917f4acdade9b9e8f14741f3fc47e9"
+ "sha256": "33206a3ef69c36187f33224ccf8e694a323ff4f7b2cc92c35fe8e71898b525a0"
},
"pipfile-spec": 6,
"requires": {},
@@ -16,10 +16,10 @@
"default": {
"certifi": {
"hashes": [
- "sha256:13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7",
- "sha256:9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0"
+ "sha256:59b7658e26ca9c7339e00f8f4636cdfe59d34fa37b9b04f6f9e9926b3cece1a5",
+ "sha256:b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae"
],
- "version": "==2018.4.16"
+ "version": "==2019.3.9"
},
"chardet": {
"hashes": [
@@ -37,61 +37,86 @@
},
"idna": {
"hashes": [
- "sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f",
- "sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4"
+ "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407",
+ "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"
],
- "version": "==2.6"
+ "version": "==2.8"
},
"pysocks": {
"hashes": [
- "sha256:3fe52c55890a248676fd69dc9e3c4e811718b777834bcaab7a8125cf9deac672"
+ "sha256:15d38914b60dbcb231d276f64882a20435c049450160e953ca7d313d1405f16f",
+ "sha256:32238918ac0f19e9fd870a8692ac9bd14f5e8752b3c62624cda5851424642210",
+ "sha256:d9031ea45fdfacbe59a99273e9f0448ddb33c1580fe3831c1b09557c5718977c"
],
- "version": "==1.6.8"
+ "version": "==1.7.0"
+ },
+ "requests": {
+ "editable": true,
+ "extras": [
+ "socks"
+ ],
+ "path": ".",
+ "version": "==2.22.0"
},
"urllib3": {
"hashes": [
- "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
- "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
+ "sha256:a53063d8b9210a7bdec15e7b272776b9d42b2fd6816401a0d43006ad2f9902db",
+ "sha256:d363e3607d8de0c220d31950a8f38b18d5ba7c0830facd71a1c6b1036b7ce06c"
],
- "version": "==1.22"
+ "version": "==1.25.2"
+ },
+ "win-inet-pton": {
+ "hashes": [
+ "sha256:dd03d942c0d3e2b1cf8bab511844546dfa5f74cb61b241699fa379ad707dea4f",
+ "sha256:eaf0193cbe7152ac313598a0da7313fb479f769343c0c16c5308f64887dc885b"
+ ],
+ "markers": "sys_platform == 'win32' and python_version == '2.7'",
+ "version": "==1.1.0"
}
},
"develop": {
"alabaster": {
"hashes": [
- "sha256:2eef172f44e8d301d25aff8068fddd65f767a3f04b5f15b0f4922f113aa1c732",
- "sha256:37cdcb9e9954ed60912ebc1ca12a9d12178c26637abdf124e3cde2341c257fe0"
+ "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359",
+ "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"
],
"index": "pypi",
- "version": "==0.7.10"
+ "version": "==0.7.12"
},
"apipkg": {
"hashes": [
- "sha256:2e38399dbe842891fe85392601aab8f40a8f4cc5a9053c326de35a1cc0297ac6",
- "sha256:65d2aa68b28e7d31233bb2ba8eb31cda40e4671f8ac2d6b241e358c9652a74b9"
+ "sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6",
+ "sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c"
],
- "version": "==1.4"
+ "version": "==1.5"
+ },
+ "atomicwrites": {
+ "hashes": [
+ "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4",
+ "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"
+ ],
+ "version": "==1.3.0"
},
"attrs": {
"hashes": [
- "sha256:4b90b09eeeb9b88c35bc642cbac057e45a5fd85367b985bd2809c62b7b939265",
- "sha256:e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b"
+ "sha256:69c0dbf2ed392de1cb5ec704444b08a5ef81680a61cb899dc08127123af36a79",
+ "sha256:f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399"
],
- "version": "==18.1.0"
+ "version": "==19.1.0"
},
"babel": {
"hashes": [
- "sha256:8ce4cb6fdd4393edd323227cba3a077bceb2a6ce5201c902c65e730046f41f14",
- "sha256:ad209a68d7162c4cff4b29cdebe3dec4cef75492df501b0049a9433c96ce6f80"
+ "sha256:6778d85147d5d85345c14a26aada5e478ab04e39b078b0745ee6870c2b5cf669",
+ "sha256:8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23"
],
- "version": "==2.5.3"
+ "version": "==2.6.0"
},
"bleach": {
"hashes": [
- "sha256:b8fa79e91f96c2c2cd9fd1f9eda906efb1b88b483048978ba62fef680e962b34",
- "sha256:eb7386f632349d10d9ce9d4a838b134d4731571851149f9cc2c05a9a837a9a44"
+ "sha256:213336e49e102af26d9cde77dd2d0397afabc5a6bf2fed985dc35b5d1e285a16",
+ "sha256:3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa"
],
- "version": "==2.1.3"
+ "version": "==3.1.0"
},
"blinker": {
"hashes": [
@@ -135,42 +160,43 @@
},
"certifi": {
"hashes": [
- "sha256:13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7",
- "sha256:9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0"
+ "sha256:59b7658e26ca9c7339e00f8f4636cdfe59d34fa37b9b04f6f9e9926b3cece1a5",
+ "sha256:b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae"
],
- "version": "==2018.4.16"
+ "version": "==2019.3.9"
},
"cffi": {
"hashes": [
- "sha256:151b7eefd035c56b2b2e1eb9963c90c6302dc15fbd8c1c0a83a163ff2c7d7743",
- "sha256:1553d1e99f035ace1c0544050622b7bc963374a00c467edafac50ad7bd276aef",
- "sha256:1b0493c091a1898f1136e3f4f991a784437fac3673780ff9de3bcf46c80b6b50",
- "sha256:2ba8a45822b7aee805ab49abfe7eec16b90587f7f26df20c71dd89e45a97076f",
- "sha256:3c85641778460581c42924384f5e68076d724ceac0f267d66c757f7535069c93",
- "sha256:3eb6434197633b7748cea30bf0ba9f66727cdce45117a712b29a443943733257",
- "sha256:4c91af6e967c2015729d3e69c2e51d92f9898c330d6a851bf8f121236f3defd3",
- "sha256:770f3782b31f50b68627e22f91cb182c48c47c02eb405fd689472aa7b7aa16dc",
- "sha256:79f9b6f7c46ae1f8ded75f68cf8ad50e5729ed4d590c74840471fc2823457d04",
- "sha256:7a33145e04d44ce95bcd71e522b478d282ad0eafaf34fe1ec5bbd73e662f22b6",
- "sha256:857959354ae3a6fa3da6651b966d13b0a8bed6bbc87a0de7b38a549db1d2a359",
- "sha256:87f37fe5130574ff76c17cab61e7d2538a16f843bb7bca8ebbc4b12de3078596",
- "sha256:95d5251e4b5ca00061f9d9f3d6fe537247e145a8524ae9fd30a2f8fbce993b5b",
- "sha256:9d1d3e63a4afdc29bd76ce6aa9d58c771cd1599fbba8cf5057e7860b203710dd",
- "sha256:a36c5c154f9d42ec176e6e620cb0dd275744aa1d804786a71ac37dc3661a5e95",
- "sha256:ae5e35a2c189d397b91034642cb0eab0e346f776ec2eb44a49a459e6615d6e2e",
- "sha256:b0f7d4a3df8f06cf49f9f121bead236e328074de6449866515cea4907bbc63d6",
- "sha256:b75110fb114fa366b29a027d0c9be3709579602ae111ff61674d28c93606acca",
- "sha256:ba5e697569f84b13640c9e193170e89c13c6244c24400fc57e88724ef610cd31",
- "sha256:be2a9b390f77fd7676d80bc3cdc4f8edb940d8c198ed2d8c0be1319018c778e1",
- "sha256:d5d8555d9bfc3f02385c1c37e9f998e2011f0db4f90e250e5bc0c0a85a813085",
- "sha256:e55e22ac0a30023426564b1059b035973ec82186ddddbac867078435801c7801",
- "sha256:e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4",
- "sha256:ecbb7b01409e9b782df5ded849c178a0aa7c906cf8c5a67368047daab282b184",
- "sha256:ed01918d545a38998bfa5902c7c00e0fee90e957ce036a4000a88e3fe2264917",
- "sha256:edabd457cd23a02965166026fd9bfd196f4324fe6032e866d0f3bd0301cd486f",
- "sha256:fdf1c1dc5bafc32bc5d08b054f94d659422b05aba244d6be4ddc1c72d9aa70fb"
+ "sha256:041c81822e9f84b1d9c401182e174996f0bae9991f33725d059b771744290774",
+ "sha256:046ef9a22f5d3eed06334d01b1e836977eeef500d9b78e9ef693f9380ad0b83d",
+ "sha256:066bc4c7895c91812eff46f4b1c285220947d4aa46fa0a2651ff85f2afae9c90",
+ "sha256:066c7ff148ae33040c01058662d6752fd73fbc8e64787229ea8498c7d7f4041b",
+ "sha256:2444d0c61f03dcd26dbf7600cf64354376ee579acad77aef459e34efcb438c63",
+ "sha256:300832850b8f7967e278870c5d51e3819b9aad8f0a2c8dbe39ab11f119237f45",
+ "sha256:34c77afe85b6b9e967bd8154e3855e847b70ca42043db6ad17f26899a3df1b25",
+ "sha256:46de5fa00f7ac09f020729148ff632819649b3e05a007d286242c4882f7b1dc3",
+ "sha256:4aa8ee7ba27c472d429b980c51e714a24f47ca296d53f4d7868075b175866f4b",
+ "sha256:4d0004eb4351e35ed950c14c11e734182591465a33e960a4ab5e8d4f04d72647",
+ "sha256:4e3d3f31a1e202b0f5a35ba3bc4eb41e2fc2b11c1eff38b362de710bcffb5016",
+ "sha256:50bec6d35e6b1aaeb17f7c4e2b9374ebf95a8975d57863546fa83e8d31bdb8c4",
+ "sha256:55cad9a6df1e2a1d62063f79d0881a414a906a6962bc160ac968cc03ed3efcfb",
+ "sha256:5662ad4e4e84f1eaa8efce5da695c5d2e229c563f9d5ce5b0113f71321bcf753",
+ "sha256:59b4dc008f98fc6ee2bb4fd7fc786a8d70000d058c2bbe2698275bc53a8d3fa7",
+ "sha256:73e1ffefe05e4ccd7bcea61af76f36077b914f92b76f95ccf00b0c1b9186f3f9",
+ "sha256:a1f0fd46eba2d71ce1589f7e50a9e2ffaeb739fb2c11e8192aa2b45d5f6cc41f",
+ "sha256:a2e85dc204556657661051ff4bab75a84e968669765c8a2cd425918699c3d0e8",
+ "sha256:a5457d47dfff24882a21492e5815f891c0ca35fefae8aa742c6c263dac16ef1f",
+ "sha256:a8dccd61d52a8dae4a825cdbb7735da530179fea472903eb871a5513b5abbfdc",
+ "sha256:ae61af521ed676cf16ae94f30fe202781a38d7178b6b4ab622e4eec8cefaff42",
+ "sha256:b012a5edb48288f77a63dba0840c92d0504aa215612da4541b7b42d849bc83a3",
+ "sha256:d2c5cfa536227f57f97c92ac30c8109688ace8fa4ac086d19d0af47d134e2909",
+ "sha256:d42b5796e20aacc9d15e66befb7a345454eef794fdb0737d1af593447c6c8f45",
+ "sha256:dee54f5d30d775f525894d67b1495625dd9322945e7fee00731952e0368ff42d",
+ "sha256:e070535507bd6aa07124258171be2ee8dfc19119c28ca94c9dfb7efd23564512",
+ "sha256:e1ff2748c84d97b065cc95429814cdba39bcbd77c9c85c89344b317dc0d9cbff",
+ "sha256:ed851c75d1e0e043cbf5ca9a8e1b13c4c90f3fbd863dacb01c0808e2b5204201"
],
- "version": "==1.11.5"
+ "version": "==1.12.3"
},
"chardet": {
"hashes": [
@@ -181,38 +207,10 @@
},
"click": {
"hashes": [
- "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d",
- "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
+ "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13",
+ "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
],
- "version": "==6.7"
- },
- "cmarkgfm": {
- "hashes": [
- "sha256:0186dccca79483e3405217993b83b914ba4559fe9a8396efc4eea56561b74061",
- "sha256:1a625afc6f62da428df96ec325dc30866cc5781520cbd904ff4ec44cf018171c",
- "sha256:275905bb371a99285c74931700db3f0c078e7603bed383e8cf1a09f3ee05a3de",
- "sha256:50098f1c4950722521f0671e54139e0edc1837d63c990cf0f3d2c49607bb51a2",
- "sha256:50ed116d0b60a07df0dc7b180c28569064b9d37d1578d4c9021cff04d725cb63",
- "sha256:61a72def110eed903cd1848245897bcb80d295cd9d13944d4f9f30cba5b76655",
- "sha256:64186fb75d973a06df0e6ea12879533b71f6e7ba1ab01ffee7fc3e7534758889",
- "sha256:665303d34d7f14f10d7b0651082f25ebf7107f29ef3d699490cac16cdc0fc8ce",
- "sha256:70b18f843aec58e4e64aadce48a897fe7c50426718b7753aaee399e72df64190",
- "sha256:761ee7b04d1caee2931344ac6bfebf37102ffb203b136b676b0a71a3f0ea3c87",
- "sha256:811527e9b7280b136734ed6cb6845e5fbccaeaa132ddf45f0246cbe544016957",
- "sha256:987b0e157f70c72a84f3c2f9ef2d7ab0f26c08f2bf326c12c087ff9eebcb3ff5",
- "sha256:9fc6a2183d0a9b0974ec7cdcdad42bd78a3be674cc3e65f87dd694419b3b0ab7",
- "sha256:c573ea89dd95d41b6d8cf36799c34b6d5b1eac4aed0212dee0f0a11fb7b01e8f",
- "sha256:c5f1b9e8592d2c448c44e6bc0d91224b16ea5f8293908b1561de1f6d2d0658b1",
- "sha256:cbe581456357d8f0674d6a590b1aaf46c11d01dd0a23af147a51a798c3818034",
- "sha256:cf219bec69e601fe27e3974b7307d2f06082ab385d42752738ad2eb630a47d65",
- "sha256:d08bad67fa18f7e8ff738c090628ee0cbf0505d74a991c848d6d04abfe67b697",
- "sha256:d6f716d7b1182bf35862b5065112f933f43dd1aa4f8097c9bcfb246f71528a34",
- "sha256:e08e479102627641c7cb4ece421c6ed4124820b1758765db32201136762282d9",
- "sha256:e20ac21418af0298437d29599f7851915497ce9f2866bc8e86b084d8911ee061",
- "sha256:e25f53c37e319241b9a412382140dffac98ca756ba8f360ac7ab5e30cad9670a",
- "sha256:f20900f16377f2109783ae9348d34bc80530808439591c3d3df73d5c7ef1a00c"
- ],
- "version": "==0.4.2"
+ "version": "==7.0"
},
"codecov": {
"hashes": [
@@ -224,10 +222,11 @@
},
"configparser": {
"hashes": [
- "sha256:5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a"
+ "sha256:8be81d89d6e7b4c0d4e44bcc525845f6da25821de80cb5e06e7e0238a2899e32",
+ "sha256:da60d0014fd8c55eb48c1c5354352e363e2d30bbf7057e5e171a468390184c75"
],
"markers": "python_version < '3.2'",
- "version": "==3.5.0"
+ "version": "==3.7.4"
},
"contextlib2": {
"hashes": [
@@ -239,59 +238,71 @@
},
"coverage": {
"hashes": [
- "sha256:03481e81d558d30d230bc12999e3edffe392d244349a90f4ef9b88425fac74ba",
- "sha256:0b136648de27201056c1869a6c0d4e23f464750fd9a9ba9750b8336a244429ed",
- "sha256:104ab3934abaf5be871a583541e8829d6c19ce7bde2923b2751e0d3ca44db60a",
- "sha256:15b111b6a0f46ee1a485414a52a7ad1d703bdf984e9ed3c288a4414d3871dcbd",
- "sha256:198626739a79b09fa0a2f06e083ffd12eb55449b5f8bfdbeed1df4910b2ca640",
- "sha256:1c383d2ef13ade2acc636556fd544dba6e14fa30755f26812f54300e401f98f2",
- "sha256:28b2191e7283f4f3568962e373b47ef7f0392993bb6660d079c62bd50fe9d162",
- "sha256:2eb564bbf7816a9d68dd3369a510be3327f1c618d2357fa6b1216994c2e3d508",
- "sha256:337ded681dd2ef9ca04ef5d93cfc87e52e09db2594c296b4a0a3662cb1b41249",
- "sha256:3a2184c6d797a125dca8367878d3b9a178b6fdd05fdc2d35d758c3006a1cd694",
- "sha256:3c79a6f7b95751cdebcd9037e4d06f8d5a9b60e4ed0cd231342aa8ad7124882a",
- "sha256:3d72c20bd105022d29b14a7d628462ebdc61de2f303322c0212a054352f3b287",
- "sha256:3eb42bf89a6be7deb64116dd1cc4b08171734d721e7a7e57ad64cc4ef29ed2f1",
- "sha256:4635a184d0bbe537aa185a34193898eee409332a8ccb27eea36f262566585000",
- "sha256:56e448f051a201c5ebbaa86a5efd0ca90d327204d8b059ab25ad0f35fbfd79f1",
- "sha256:5a13ea7911ff5e1796b6d5e4fbbf6952381a611209b736d48e675c2756f3f74e",
- "sha256:69bf008a06b76619d3c3f3b1983f5145c75a305a0fea513aca094cae5c40a8f5",
- "sha256:6bc583dc18d5979dc0f6cec26a8603129de0304d5ae1f17e57a12834e7235062",
- "sha256:701cd6093d63e6b8ad7009d8a92425428bc4d6e7ab8d75efbb665c806c1d79ba",
- "sha256:7608a3dd5d73cb06c531b8925e0ef8d3de31fed2544a7de6c63960a1e73ea4bc",
- "sha256:76ecd006d1d8f739430ec50cc872889af1f9c1b6b8f48e29941814b09b0fd3cc",
- "sha256:7aa36d2b844a3e4a4b356708d79fd2c260281a7390d678a10b91ca595ddc9e99",
- "sha256:7d3f553904b0c5c016d1dad058a7554c7ac4c91a789fca496e7d8347ad040653",
- "sha256:7e1fe19bd6dce69d9fd159d8e4a80a8f52101380d5d3a4d374b6d3eae0e5de9c",
- "sha256:8c3cb8c35ec4d9506979b4cf90ee9918bc2e49f84189d9bf5c36c0c1119c6558",
- "sha256:9d6dd10d49e01571bf6e147d3b505141ffc093a06756c60b053a859cb2128b1f",
- "sha256:9e112fcbe0148a6fa4f0a02e8d58e94470fc6cb82a5481618fea901699bf34c4",
- "sha256:ac4fef68da01116a5c117eba4dd46f2e06847a497de5ed1d64bb99a5fda1ef91",
- "sha256:b8815995e050764c8610dbc82641807d196927c3dbed207f0a079833ffcf588d",
- "sha256:be6cfcd8053d13f5f5eeb284aa8a814220c3da1b0078fa859011c7fffd86dab9",
- "sha256:c1bb572fab8208c400adaf06a8133ac0712179a334c09224fb11393e920abcdd",
- "sha256:de4418dadaa1c01d497e539210cb6baa015965526ff5afc078c57ca69160108d",
- "sha256:e05cb4d9aad6233d67e0541caa7e511fa4047ed7750ec2510d466e806e0255d6",
- "sha256:e4d96c07229f58cb686120f168276e434660e4358cc9cf3b0464210b04913e77",
- "sha256:f3f501f345f24383c0000395b26b726e46758b71393267aeae0bd36f8b3ade80",
- "sha256:f8a923a85cb099422ad5a2e345fe877bbc89a8a8b23235824a93488150e45f6e"
+ "sha256:0c5fe441b9cfdab64719f24e9684502a59432df7570521563d7b1aff27ac755f",
+ "sha256:2b412abc4c7d6e019ce7c27cbc229783035eef6d5401695dccba80f481be4eb3",
+ "sha256:3684fabf6b87a369017756b551cef29e505cb155ddb892a7a29277b978da88b9",
+ "sha256:39e088da9b284f1bd17c750ac672103779f7954ce6125fd4382134ac8d152d74",
+ "sha256:3c205bc11cc4fcc57b761c2da73b9b72a59f8d5ca89979afb0c1c6f9e53c7390",
+ "sha256:42692db854d13c6c5e9541b6ffe0fe921fe16c9c446358d642ccae1462582d3b",
+ "sha256:465ce53a8c0f3a7950dfb836438442f833cf6663d407f37d8c52fe7b6e56d7e8",
+ "sha256:48020e343fc40f72a442c8a1334284620f81295256a6b6ca6d8aa1350c763bbe",
+ "sha256:4ec30ade438d1711562f3786bea33a9da6107414aed60a5daa974d50a8c2c351",
+ "sha256:5296fc86ab612ec12394565c500b412a43b328b3907c0d14358950d06fd83baf",
+ "sha256:5f61bed2f7d9b6a9ab935150a6b23d7f84b8055524e7be7715b6513f3328138e",
+ "sha256:6899797ac384b239ce1926f3cb86ffc19996f6fa3a1efbb23cb49e0c12d8c18c",
+ "sha256:68a43a9f9f83693ce0414d17e019daee7ab3f7113a70c79a3dd4c2f704e4d741",
+ "sha256:6b8033d47fe22506856fe450470ccb1d8ba1ffb8463494a15cfc96392a288c09",
+ "sha256:7ad7536066b28863e5835e8cfeaa794b7fe352d99a8cded9f43d1161be8e9fbd",
+ "sha256:7bacb89ccf4bedb30b277e96e4cc68cd1369ca6841bde7b005191b54d3dd1034",
+ "sha256:839dc7c36501254e14331bcb98b27002aa415e4af7ea039d9009409b9d2d5420",
+ "sha256:8e679d1bde5e2de4a909efb071f14b472a678b788904440779d2c449c0355b27",
+ "sha256:8f9a95b66969cdea53ec992ecea5406c5bd99c9221f539bca1e8406b200ae98c",
+ "sha256:932c03d2d565f75961ba1d3cec41ddde00e162c5b46d03f7423edcb807734eab",
+ "sha256:93f965415cc51604f571e491f280cff0f5be35895b4eb5e55b47ae90c02a497b",
+ "sha256:988529edadc49039d205e0aa6ce049c5ccda4acb2d6c3c5c550c17e8c02c05ba",
+ "sha256:998d7e73548fe395eeb294495a04d38942edb66d1fa61eb70418871bc621227e",
+ "sha256:9de60893fb447d1e797f6bf08fdf0dbcda0c1e34c1b06c92bd3a363c0ea8c609",
+ "sha256:9e80d45d0c7fcee54e22771db7f1b0b126fb4a6c0a2e5afa72f66827207ff2f2",
+ "sha256:a545a3dfe5082dc8e8c3eb7f8a2cf4f2870902ff1860bd99b6198cfd1f9d1f49",
+ "sha256:a5d8f29e5ec661143621a8f4de51adfb300d7a476224156a39a392254f70687b",
+ "sha256:a9abc8c480e103dc05d9b332c6cc9fb1586330356fc14f1aa9c0ca5745097d19",
+ "sha256:aca06bfba4759bbdb09bf52ebb15ae20268ee1f6747417837926fae990ebc41d",
+ "sha256:bb23b7a6fd666e551a3094ab896a57809e010059540ad20acbeec03a154224ce",
+ "sha256:bfd1d0ae7e292105f29d7deaa9d8f2916ed8553ab9d5f39ec65bcf5deadff3f9",
+ "sha256:c22ab9f96cbaff05c6a84e20ec856383d27eae09e511d3e6ac4479489195861d",
+ "sha256:c62ca0a38958f541a73cf86acdab020c2091631c137bd359c4f5bddde7b75fd4",
+ "sha256:c709d8bda72cf4cd348ccec2a4881f2c5848fd72903c185f363d361b2737f773",
+ "sha256:c968a6aa7e0b56ecbd28531ddf439c2ec103610d3e2bf3b75b813304f8cb7723",
+ "sha256:ca58eba39c68010d7e87a823f22a081b5290e3e3c64714aac3c91481d8b34d22",
+ "sha256:df785d8cb80539d0b55fd47183264b7002077859028dfe3070cf6359bf8b2d9c",
+ "sha256:f406628ca51e0ae90ae76ea8398677a921b36f0bd71aab2099dfed08abd0322f",
+ "sha256:f46087bbd95ebae244a0eda01a618aff11ec7a069b15a3ef8f6b520db523dcf1",
+ "sha256:f8019c5279eb32360ca03e9fac40a12667715546eed5c5eb59eb381f2f501260",
+ "sha256:fc5f4d209733750afd2714e9109816a29500718b32dd9a5db01c0cb3a019b96a"
],
- "version": "==4.5.1"
+ "version": "==4.5.3"
},
"decorator": {
"hashes": [
- "sha256:2c51dff8ef3c447388fe5e4453d24a2bf128d3a4c32af3fabef1f01c6851ab82",
- "sha256:c39efa13fbdeb4506c476c9b3babf6a718da943dab7811c206005a4a956c080c"
+ "sha256:86156361c50488b84a3f148056ea716ca587df2f0de1d34750d35c21312725de",
+ "sha256:f069f3a01830ca754ba5258fde2278454a0b5b79e0d7f5c13b3b97e57d4acff6"
],
- "version": "==4.3.0"
+ "version": "==4.4.0"
},
"detox": {
"hashes": [
- "sha256:cb24895a0e4f95c0bcb1087a201c453600e075568af00848e91518fb2b984568",
- "sha256:f3119bca4444f1e8a1d7189b064c52cfdd9a89ad3a1c921d78b49bf7f5dc5b1b"
+ "sha256:e650f95f0c7f5858578014b3b193e5dac76c89285c1bbe4bae598fd641bf9cd3",
+ "sha256:fcad009e2d20ce61176dc826a2c1562bd712fe53953ca603b455171cf819080f"
],
"index": "pypi",
- "version": "==0.12"
+ "version": "==0.19"
+ },
+ "dnspython": {
+ "hashes": [
+ "sha256:36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01",
+ "sha256:f69c21288a962f4da86e56c4905b49d11aba7938d3d740e80d9e366ee4f1632d"
+ ],
+ "version": "==1.16.0"
},
"docutils": {
"hashes": [
@@ -302,6 +313,13 @@
"index": "pypi",
"version": "==0.14"
},
+ "entrypoints": {
+ "hashes": [
+ "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19",
+ "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"
+ ],
+ "version": "==0.3"
+ },
"enum34": {
"hashes": [
"sha256:2d81cbbe0e73112bdfe6ef8576f2238f2ba27dd0d55752a776c41d38b7da2850",
@@ -314,25 +332,32 @@
},
"eventlet": {
"hashes": [
- "sha256:06cffa55b335cc4fc32d0079242a81e8a9cddf2581d64d5f0543e2d412b26ca8",
- "sha256:554a50dad7abee0a9775b0780ce9d9c0bd9123dda4743c46d4314170267c6c47"
+ "sha256:c584163e006e613707e224552fafc63e4e0aa31d7de0ab18b481ac0b385254c8",
+ "sha256:d9d31a3c8dbcedbcce5859a919956d934685b17323fc80e1077cb344a2ffa68d"
],
- "version": "==0.23.0"
+ "version": "==0.24.1"
},
"execnet": {
"hashes": [
- "sha256:a7a84d5fa07a089186a329528f127c9d73b9de57f1a1131b82bb5320ee651f6a",
- "sha256:fc155a6b553c66c838d1a22dba1dc9f5f505c43285a878c6f74a79c024750b83"
+ "sha256:027ee5d961afa01e97b90d6ccc34b4ed976702bc58e7f092b3c513ea288cb6d2",
+ "sha256:752a3786f17416d491f833a29217dda3ea4a471fc5269c492eebcee8cc4772d3"
+ ],
+ "version": "==1.6.0"
+ },
+ "filelock": {
+ "hashes": [
+ "sha256:b8d5ca5ca1c815e1574aee746650ea7301de63d87935b3463d26368b76e31633",
+ "sha256:d610c1bb404daf85976d7a82eb2ada120f04671007266b708606565dd03b5be6"
],
- "version": "==1.5.0"
+ "version": "==3.0.10"
},
"flake8": {
"hashes": [
- "sha256:7253265f7abd8b313e3892944044a365e3f4ac3fcdcfb4298f55ee9ddf188ba0",
- "sha256:c7841163e2b576d435799169b78703ad6ac1bbb0f199994fc05f700b2a90ea37"
+ "sha256:859996073f341f2670741b51ec1e67a01da142831aa1fdc6242dbf88dffbe661",
+ "sha256:a796a115208f5c03b18f332f7c11729812c8c3ded6c46319c59b53efd3819da8"
],
"index": "pypi",
- "version": "==3.5.0"
+ "version": "==3.7.7"
},
"flask": {
"hashes": [
@@ -346,43 +371,40 @@
"sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca",
"sha256:a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50"
],
- "markers": "python_version < '3.3'",
+ "markers": "python_version < '3.0'",
"version": "==1.0.2"
},
- "future": {
+ "functools32": {
"hashes": [
- "sha256:e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb"
+ "sha256:89d824aa6c358c421a234d7f9ee0bd75933a67c29588ce50aaa3acdf4d403fa0",
+ "sha256:f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d"
],
- "version": "==0.16.0"
+ "markers": "python_version < '3.2'",
+ "version": "==3.2.3.post2"
},
"greenlet": {
"hashes": [
- "sha256:09ef2636ea35782364c830f07127d6c7a70542b178268714a9a9ba16318e7e8b",
- "sha256:0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4",
- "sha256:1b7df09c6598f5cfb40f843ade14ed1eb40596e75cd79b6fa2efc750ba01bb01",
- "sha256:1fff21a2da5f9e03ddc5bd99131a6b8edf3d7f9d6bc29ba21784323d17806ed7",
- "sha256:42118bf608e0288e35304b449a2d87e2ba77d1e373e8aa221ccdea073de026fa",
- "sha256:50643fd6d54fd919f9a0a577c5f7b71f5d21f0959ab48767bd4bb73ae0839500",
- "sha256:58798b5d30054bb4f6cf0f712f08e6092df23a718b69000786634a265e8911a9",
- "sha256:5b49b3049697aeae17ef7bf21267e69972d9e04917658b4e788986ea5cc518e8",
- "sha256:75c413551a436b462d5929255b6dc9c0c3c2b25cbeaee5271a56c7fda8ca49c0",
- "sha256:769b740aeebd584cd59232be84fdcaf6270b8adc356596cdea5b2152c82caaac",
- "sha256:ad2383d39f13534f3ca5c48fe1fc0975676846dc39c2cece78c0f1f9891418e0",
- "sha256:b417bb7ff680d43e7bd7a13e2e08956fa6acb11fd432f74c97b7664f8bdb6ec1",
- "sha256:b6ef0cabaf5a6ecb5ac122e689d25ba12433a90c7b067b12e5f28bdb7fb78254",
- "sha256:c2de19c88bdb0366c976cc125dca1002ec1b346989d59524178adfd395e62421",
- "sha256:c7b04a6dc74087b1598de8d713198de4718fa30ec6cbb84959b26426c198e041",
- "sha256:f8f2a0ae8de0b49c7b5b2daca4f150fdd9c1173e854df2cce3b04123244f9f45",
- "sha256:fcfadaf4bf68a27e5dc2f42cbb2f4b4ceea9f05d1d0b8f7787e640bed2801634"
+ "sha256:000546ad01e6389e98626c1367be58efa613fa82a1be98b0c6fc24b563acc6d0",
+ "sha256:0d48200bc50cbf498716712129eef819b1729339e34c3ae71656964dac907c28",
+ "sha256:23d12eacffa9d0f290c0fe0c4e81ba6d5f3a5b7ac3c30a5eaf0126bf4deda5c8",
+ "sha256:37c9ba82bd82eb6a23c2e5acc03055c0e45697253b2393c9a50cef76a3985304",
+ "sha256:51503524dd6f152ab4ad1fbd168fc6c30b5795e8c70be4410a64940b3abb55c0",
+ "sha256:8041e2de00e745c0e05a502d6e6db310db7faa7c979b3a5877123548a4c0b214",
+ "sha256:81fcd96a275209ef117e9ec91f75c731fa18dcfd9ffaa1c0adbdaa3616a86043",
+ "sha256:853da4f9563d982e4121fed8c92eea1a4594a2299037b3034c3c898cb8e933d6",
+ "sha256:8b4572c334593d449113f9dc8d19b93b7b271bdbe90ba7509eb178923327b625",
+ "sha256:9416443e219356e3c31f1f918a91badf2e37acf297e2fa13d24d1cc2380f8fbc",
+ "sha256:9854f612e1b59ec66804931df5add3b2d5ef0067748ea29dc60f0efdcda9a638",
+ "sha256:99a26afdb82ea83a265137a398f570402aa1f2b5dfb4ac3300c026931817b163",
+ "sha256:a19bf883b3384957e4a4a13e6bd1ae3d85ae87f4beb5957e35b0be287f12f4e4",
+ "sha256:a9f145660588187ff835c55a7d2ddf6abfc570c2651c276d3d4be8a2766db490",
+ "sha256:ac57fcdcfb0b73bb3203b58a14501abb7e5ff9ea5e2edfa06bb03035f0cff248",
+ "sha256:bcb530089ff24f6458a81ac3fa699e8c00194208a724b644ecc68422e1111939",
+ "sha256:beeabe25c3b704f7d56b573f7d2ff88fc99f0138e43480cecdfcaa3b87fe4f87",
+ "sha256:d634a7ea1fc3380ff96f9e44d8d22f38418c1c381d5fac680b272d7d90883720",
+ "sha256:d97b0661e1aead761f0ded3b769044bb00ed5d33e1ec865e891a8b128bf7c656"
],
- "version": "==0.4.13"
- },
- "html5lib": {
- "hashes": [
- "sha256:20b159aa3badc9d5ee8f5c647e5efd02ed2a66ab8d354930bd9ff139fc1dc0a3",
- "sha256:66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736"
- ],
- "version": "==1.0.1"
+ "version": "==0.4.15"
},
"httpbin": {
"hashes": [
@@ -394,36 +416,64 @@
},
"idna": {
"hashes": [
- "sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f",
- "sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4"
+ "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407",
+ "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"
],
- "version": "==2.6"
+ "version": "==2.8"
},
"imagesize": {
"hashes": [
- "sha256:3620cc0cadba3f7475f9940d22431fc4d407269f1be59ec9b8edcca26440cf18",
- "sha256:5b326e4678b6925158ccc66a9fa3122b6106d7c876ee32d7de6ce59385b96315"
+ "sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8",
+ "sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5"
],
- "version": "==1.0.0"
+ "version": "==1.1.0"
},
"itsdangerous": {
"hashes": [
- "sha256:cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"
+ "sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19",
+ "sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749"
],
- "version": "==0.24"
+ "version": "==1.1.0"
},
"jinja2": {
"hashes": [
- "sha256:74c935a1b8bb9a3947c50a54766a969d4846290e1e788ea44c1392163723c3bd",
- "sha256:f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"
+ "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013",
+ "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b"
],
- "version": "==2.10"
+ "version": "==2.10.1"
},
"markupsafe": {
"hashes": [
- "sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
+ "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473",
+ "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161",
+ "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235",
+ "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5",
+ "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff",
+ "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",
+ "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1",
+ "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e",
+ "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183",
+ "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66",
+ "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1",
+ "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1",
+ "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e",
+ "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b",
+ "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905",
+ "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735",
+ "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d",
+ "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e",
+ "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d",
+ "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c",
+ "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21",
+ "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2",
+ "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5",
+ "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b",
+ "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6",
+ "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f",
+ "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f",
+ "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"
],
- "version": "==1.0"
+ "version": "==1.1.1"
},
"mccabe": {
"hashes": [
@@ -434,97 +484,106 @@
},
"mock": {
"hashes": [
- "sha256:5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1",
- "sha256:b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba"
+ "sha256:83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3",
+ "sha256:d157e52d4e5b938c550f39eb2fd15610db062441a9c2747d3dbfa9298211d0f8"
],
"markers": "python_version < '3.0'",
- "version": "==2.0.0"
+ "version": "==3.0.5"
+ },
+ "monotonic": {
+ "hashes": [
+ "sha256:23953d55076df038541e648a53676fb24980f7a1be290cdda21300b3bc21dfb0",
+ "sha256:552a91f381532e33cbd07c6a2655a21908088962bb8fa7239ecbcc6ad1140cc7"
+ ],
+ "version": "==1.5"
},
"more-itertools": {
"hashes": [
- "sha256:0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea",
- "sha256:11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e",
- "sha256:c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44"
+ "sha256:38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4",
+ "sha256:c0a5785b1109a6bd7fac76d6837fd1feca158e54e521ccd2ae8bfe393cc9d4fc",
+ "sha256:fe7a7cae1ccb57d33952113ff4fa1bc5f879963600ed74918f1236e212ee50b9"
],
- "version": "==4.1.0"
+ "version": "==5.0.0"
},
- "pbr": {
+ "pathlib2": {
"hashes": [
- "sha256:680bf5ba9b28dd56e08eb7c267991a37c7a5f90a92c2e07108829931a50ff80a",
- "sha256:6874feb22334a1e9a515193cba797664e940b763440c88115009ec323a7f2df5"
+ "sha256:25199318e8cc3c25dcb45cbe084cc061051336d5a9ea2a12448d3d8cb748f742",
+ "sha256:5887121d7f7df3603bca2f710e7219f3eca0eb69e0b7cc6e0a022e155ac931a7"
],
- "version": "==4.0.3"
+ "markers": "python_version < '3.6'",
+ "version": "==2.3.3"
},
"pluggy": {
"hashes": [
- "sha256:7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff",
- "sha256:d345c8fe681115900d6da8d048ba67c25df42973bda370783cd58826442dcd7c",
- "sha256:e160a7fcf25762bb60efc7e171d4497ff1d8d2d75a3d0df7a21b76821ecbf5c5"
+ "sha256:25a1bc1d148c9a640211872b4ff859878d422bccb59c9965e04eed468a0aa180",
+ "sha256:964cedd2b27c492fbf0b7f58b3284a09cf7f99b0f715941fb24a439b3af1bd1a"
],
- "version": "==0.6.0"
+ "version": "==0.11.0"
},
"py": {
"hashes": [
- "sha256:29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881",
- "sha256:983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a"
+ "sha256:64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa",
+ "sha256:dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53"
],
- "version": "==1.5.3"
+ "version": "==1.8.0"
},
"pycodestyle": {
"hashes": [
- "sha256:682256a5b318149ca0d2a9185d365d8864a768a28db66a84a2ea946bcc426766",
- "sha256:6c4245ade1edfad79c3446fadfc96b0de2759662dc29d07d80a6f27ad1ca6ba9"
+ "sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56",
+ "sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c"
],
- "version": "==2.3.1"
+ "version": "==2.5.0"
},
"pycparser": {
"hashes": [
- "sha256:99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226"
+ "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"
],
- "version": "==2.18"
+ "version": "==2.19"
},
"pyflakes": {
"hashes": [
- "sha256:08bd6a50edf8cffa9fa09a463063c425ecaaf10d1eb0335a7e8b1401aef89e6f",
- "sha256:8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805"
+ "sha256:17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0",
+ "sha256:d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2"
],
- "version": "==1.6.0"
+ "version": "==2.1.1"
},
"pygments": {
"hashes": [
- "sha256:78f3f434bcc5d6ee09020f92ba487f95ba50f1e3ef83ae96b9d5ffa1bab25c5d",
- "sha256:dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"
+ "sha256:31cba6ffb739f099a85e243eff8cb717089fdd3c7300767d9fc34cb8e1b065f5",
+ "sha256:5ad302949b3c98dd73f8d9fcdc7e9cb592f120e32a18e23efd7f3dc51194472b"
],
- "version": "==2.2.0"
+ "version": "==2.4.0"
},
"pysocks": {
"hashes": [
- "sha256:3fe52c55890a248676fd69dc9e3c4e811718b777834bcaab7a8125cf9deac672"
+ "sha256:15d38914b60dbcb231d276f64882a20435c049450160e953ca7d313d1405f16f",
+ "sha256:32238918ac0f19e9fd870a8692ac9bd14f5e8752b3c62624cda5851424642210",
+ "sha256:d9031ea45fdfacbe59a99273e9f0448ddb33c1580fe3831c1b09557c5718977c"
],
- "version": "==1.6.8"
+ "version": "==1.7.0"
},
"pytest": {
"hashes": [
- "sha256:54713b26c97538db6ff0703a12b19aeaeb60b5e599de542e7fca0ec83b9038e8",
- "sha256:829230122facf05a5f81a6d4dfe6454a04978ea3746853b2b84567ecf8e5c526"
+ "sha256:3f193df1cfe1d1609d4c583838bea3d532b18d6160fd3f55c9447fdca30848ec",
+ "sha256:e246cf173c01169b9617fc07264b7b1316e78d7a650055235d6d897bc80d9660"
],
"index": "pypi",
- "version": "==3.5.1"
+ "version": "==3.10.1"
},
"pytest-cov": {
"hashes": [
- "sha256:03aa752cf11db41d281ea1d807d954c4eda35cfa1b21d6971966cc041bbf6e2d",
- "sha256:890fe5565400902b0c78b5357004aab1c814115894f4f21370e2433256a3eeec"
+ "sha256:2b097cde81a302e1047331b48cadacf23577e431b61e9c6f49a1170bbe3d3da6",
+ "sha256:e00ea4fdde970725482f1f35630d12f074e121a23801aabf2ae154ec6bdd343a"
],
"index": "pypi",
- "version": "==2.5.1"
+ "version": "==2.7.1"
},
"pytest-forked": {
"hashes": [
- "sha256:e4500cd0509ec4a26535f7d4112a8cc0f17d3a41c29ffd4eab479d2a55b30805",
- "sha256:f275cb48a73fc61a6710726348e1da6d68a978f0ec0c54ece5a5fae5977e5a08"
+ "sha256:5fe33fbd07d7b1302c95310803a5e5726a4ff7f19d5a542b7ce57c76fed8135f",
+ "sha256:d352aaced2ebd54d42a65825722cb433004b4446ab5d2044851d9cc7a00c9e38"
],
- "version": "==0.2"
+ "version": "==1.0.2"
},
"pytest-httpbin": {
"hashes": [
@@ -536,55 +595,76 @@
},
"pytest-mock": {
"hashes": [
- "sha256:53801e621223d34724926a5c98bd90e8e417ce35264365d39d6c896388dcc928",
- "sha256:d89a8209d722b8307b5e351496830d5cc5e192336003a485443ae9adeb7dd4c0"
+ "sha256:43ce4e9dd5074993e7c021bb1c22cbb5363e612a2b5a76bc6d956775b10758b7",
+ "sha256:5bf5771b1db93beac965a7347dc81c675ec4090cb841e49d9d34637a25c30568"
],
"index": "pypi",
- "version": "==1.10.0"
+ "version": "==1.10.4"
},
"pytest-xdist": {
"hashes": [
- "sha256:be2662264b035920ba740ed6efb1c816a83c8a22253df7766d129f6a7bfdbd35",
- "sha256:e8f5744acc270b3e7d915bdb4d5f471670f049b6fbd163d4cbd52203b075d30f"
+ "sha256:96f893094c89fddeaff3f4783f4807f7aeb138be1a0d87a8805057b6af1201b5",
+ "sha256:aab1402f2b063df48bf044b042707610f8fcc4c49d0eb9c10e79e30b3f26074f"
],
"index": "pypi",
- "version": "==1.22.2"
+ "version": "==1.25.0"
},
"pytz": {
"hashes": [
- "sha256:65ae0c8101309c45772196b21b74c46b2e5d11b6275c45d251b150d5da334555",
- "sha256:c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749"
+ "sha256:303879e36b721603cc54604edcac9d20401bdbe31e1e4fdee5b9f98d5d31dfda",
+ "sha256:d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141"
],
- "version": "==2018.4"
+ "version": "==2019.1"
},
"raven": {
+ "extras": [
+ "flask"
+ ],
"hashes": [
- "sha256:1c641e5ebc2d4185560608e253970ca0d4b98475f4edf67735015a415f9e1d48",
- "sha256:95aecf76c414facaddbb056f3e98c7936318123e467728f2e50b3a66b65a6ef7"
+ "sha256:3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54",
+ "sha256:44a13f87670836e153951af9a3c80405d36b43097db869a36e92809673692ce4"
],
- "version": "==6.8.0"
+ "version": "==6.10.0"
},
"readme-renderer": {
"hashes": [
- "sha256:bde909eaa84d65b7942f7e6998c8b427b90b568b2630ff0306f4ca75f6d2a909",
- "sha256:e7e43a7ba49f08c3cb660d0f2e25b561f6b10b36c63f029060230aab2dc2875e"
+ "sha256:bb16f55b259f27f75f640acf5e00cf897845a8b3e4731b5c1a436e4b8529202f",
+ "sha256:c8532b79afc0375a85f10433eca157d6b50f7d6990f337fa498c96cd4bfc203d"
],
"index": "pypi",
- "version": "==20.0"
+ "version": "==24.0"
},
"requests": {
+ "editable": true,
+ "extras": [
+ "socks"
+ ],
+ "path": ".",
+ "version": "==2.22.0"
+ },
+ "scandir": {
"hashes": [
- "sha256:6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b",
- "sha256:9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
+ "sha256:2586c94e907d99617887daed6c1d102b5ca28f1085f90446554abf1faf73123e",
+ "sha256:2ae41f43797ca0c11591c0c35f2f5875fa99f8797cb1a1fd440497ec0ae4b022",
+ "sha256:2b8e3888b11abb2217a32af0766bc06b65cc4a928d8727828ee68af5a967fa6f",
+ "sha256:2c712840c2e2ee8dfaf36034080108d30060d759c7b73a01a52251cc8989f11f",
+ "sha256:4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae",
+ "sha256:67f15b6f83e6507fdc6fca22fedf6ef8b334b399ca27c6b568cbfaa82a364173",
+ "sha256:7d2d7a06a252764061a020407b997dd036f7bd6a175a5ba2b345f0a357f0b3f4",
+ "sha256:8c5922863e44ffc00c5c693190648daa6d15e7c1207ed02d6f46a8dcc2869d32",
+ "sha256:92c85ac42f41ffdc35b6da57ed991575bdbe69db895507af88b9f499b701c188",
+ "sha256:b24086f2375c4a094a6b51e78b4cf7ca16c721dcee2eddd7aa6494b42d6d519d",
+ "sha256:cb925555f43060a1745d0a321cca94bcea927c50114b623d73179189a4e100ac"
],
- "version": "==2.18.4"
+ "markers": "python_version < '3.5'",
+ "version": "==1.10.0"
},
"six": {
"hashes": [
- "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9",
- "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb"
+ "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c",
+ "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"
],
- "version": "==1.11.0"
+ "version": "==1.12.0"
},
"snowballstemmer": {
"hashes": [
@@ -601,27 +681,44 @@
"index": "pypi",
"version": "==1.5.5"
},
+ "toml": {
+ "hashes": [
+ "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c",
+ "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e",
+ "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"
+ ],
+ "version": "==0.10.0"
+ },
"tox": {
"hashes": [
- "sha256:96efa09710a3daeeb845561ebbe1497641d9cef2ee0aea30db6969058b2bda2f",
- "sha256:9ee7de958a43806402a38c0d2aa07fa8553f4d2c20a15b140e9f771c2afeade0"
+ "sha256:2a8d8a63660563e41e64e3b5b677e81ce1ffa5e2a93c2c565d3768c287445800",
+ "sha256:edfca7809925f49bdc110d0a2d9966bbf35a0c25637216d9586e7a5c5de17bfb"
],
"index": "pypi",
- "version": "==3.0.0"
+ "version": "==3.6.1"
+ },
+ "typing": {
+ "hashes": [
+ "sha256:4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d",
+ "sha256:57dcf675a99b74d64dacf6fba08fb17cf7e3d5fdff53d4a30ea2a5e7e52543d4",
+ "sha256:a4c8473ce11a65999c8f59cb093e70686b6c84c98df58c1dae9b3b196089858a"
+ ],
+ "markers": "python_version < '3.5'",
+ "version": "==3.6.6"
},
"urllib3": {
"hashes": [
- "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
- "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
+ "sha256:a53063d8b9210a7bdec15e7b272776b9d42b2fd6816401a0d43006ad2f9902db",
+ "sha256:d363e3607d8de0c220d31950a8f38b18d5ba7c0830facd71a1c6b1036b7ce06c"
],
- "version": "==1.22"
+ "version": "==1.25.2"
},
"virtualenv": {
"hashes": [
- "sha256:1d7e241b431e7afce47e77f8843a276f652699d1fa4f93b9d8ce0076fd7b0b54",
- "sha256:e8e05d4714a1c51a2f5921e62f547fcb0f713ebbe959e0a7f585cc8bef71d11f"
+ "sha256:99acaf1e35c7ccf9763db9ba2accbca2f4254d61d1912c5ee364f9cc4a8942a0",
+ "sha256:fe51cdbf04e5d8152af06c075404745a7419de27495a83f0d72518ad50be3ce8"
],
- "version": "==15.2.0"
+ "version": "==16.6.0"
},
"webencodings": {
"hashes": [
@@ -632,10 +729,10 @@
},
"werkzeug": {
"hashes": [
- "sha256:c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c",
- "sha256:d5da73735293558eb1651ee2fddc4d0dedcfa06538b8813a2e20011583c9e49b"
+ "sha256:865856ebb55c4dcd0630cdd8f3331a1847a819dda7e8c750d3db6f2aa6c0209c",
+ "sha256:a0b915f0815982fb2a09161cb8f31708052d0951c3ba433ccc5e1aa276507ca6"
],
- "version": "==0.14.1"
+ "version": "==0.15.4"
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/README.md new/requests-2.22.0/README.md
--- old/requests-2.21.0/README.md 2018-12-10 05:44:59.000000000 +0100
+++ new/requests-2.22.0/README.md 2019-05-16 16:23:42.000000000 +0200
@@ -8,8 +8,6 @@
[![image](https://img.shields.io/github/contributors/requests/requests.svg)](https://github.com/requests/requests/graphs/contributors)
[![image](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/kennethreitz)
-**If you're interested in financially supporting Kenneth Reitz open source, consider [visiting this link](https://cash.me/$KennethReitz). Your support helps tremendously with sustainability of motivation, as Open Source is no longer part of my day job.**
-
Requests is the only *Non-GMO* HTTP library for Python, safe for human
consumption.
@@ -18,6 +16,7 @@
Behold, the power of Requests:
``` {.sourceCode .python}
+>>> import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
@@ -91,17 +90,18 @@
How to Contribute
-----------------
-1. Check for open issues or open a fresh issue to start a discussion
+1. Become more familiar with the project by reading our [Contributor's Guide](http://docs.python-requests.org/en/latest/dev/contributing/) and our [development philosophy](http://docs.python-requests.org/en/latest/dev/philosophy/).
+2. Check for open issues or open a fresh issue to start a discussion
around a feature idea or a bug. There is a [Contributor
Friendly](https://github.com/requests/requests/issues?direction=desc&labels…
tag for issues that should be ideal for people who are not very
familiar with the codebase yet.
-2. Fork [the repository](https://github.com/requests/requests) on
+3. Fork [the repository](https://github.com/requests/requests) on
GitHub to start making your changes to the **master** branch (or
branch off of it).
-3. Write a test which shows that the bug was fixed or that the feature
+4. Write a test which shows that the bug was fixed or that the feature
works as expected.
-4. Send a pull request and bug the maintainer until it gets merged and
+5. Send a pull request and bug the maintainer until it gets merged and
published. :) Make sure to add yourself to
[AUTHORS](https://github.com/requests/requests/blob/master/AUTHORS.rst).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/requests/__init__.py new/requests-2.22.0/requests/__init__.py
--- old/requests-2.21.0/requests/__init__.py 2018-10-18 17:46:52.000000000 +0200
+++ new/requests-2.22.0/requests/__init__.py 2019-05-16 16:22:45.000000000 +0200
@@ -57,10 +57,10 @@
# Check urllib3 for compatibility.
major, minor, patch = urllib3_version # noqa: F811
major, minor, patch = int(major), int(minor), int(patch)
- # urllib3 >= 1.21.1, <= 1.24
+ # urllib3 >= 1.21.1, <= 1.25
assert major == 1
assert minor >= 21
- assert minor <= 24
+ assert minor <= 25
# Check chardet for compatibility.
major, minor, patch = chardet_version.split('.')[:3]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/requests/__version__.py new/requests-2.22.0/requests/__version__.py
--- old/requests-2.21.0/requests/__version__.py 2018-12-10 07:00:19.000000000 +0100
+++ new/requests-2.22.0/requests/__version__.py 2019-05-16 16:22:45.000000000 +0200
@@ -5,10 +5,10 @@
__title__ = 'requests'
__description__ = 'Python HTTP for Humans.'
__url__ = 'http://python-requests.org'
-__version__ = '2.21.0'
-__build__ = 0x022100
+__version__ = '2.22.0'
+__build__ = 0x022200
__author__ = 'Kenneth Reitz'
__author_email__ = 'me(a)kennethreitz.org'
__license__ = 'Apache 2.0'
-__copyright__ = 'Copyright 2018 Kenneth Reitz'
+__copyright__ = 'Copyright 2019 Kenneth Reitz'
__cake__ = u'\u2728 \U0001f370 \u2728'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/requests/api.py new/requests-2.22.0/requests/api.py
--- old/requests-2.21.0/requests/api.py 2018-10-17 02:57:37.000000000 +0200
+++ new/requests-2.22.0/requests/api.py 2019-05-16 16:18:16.000000000 +0200
@@ -19,7 +19,7 @@
:param method: method for the new :class:`Request` object.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
- in the body of the :class:`Request`.
+ in the query string for the :class:`Request`.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
@@ -65,7 +65,7 @@
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
- in the body of the :class:`Request`.
+ in the query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response <Response>` object
:rtype: requests.Response
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/requests.egg-info/PKG-INFO new/requests-2.22.0/requests.egg-info/PKG-INFO
--- old/requests-2.21.0/requests.egg-info/PKG-INFO 2018-12-10 16:39:29.000000000 +0100
+++ new/requests-2.22.0/requests.egg-info/PKG-INFO 2019-05-16 16:36:35.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: requests
-Version: 2.21.0
+Version: 2.22.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
@@ -16,8 +16,6 @@
[![image](https://img.shields.io/github/contributors/requests/requests.svg)](https://github.com/requests/requests/graphs/contributors)
[![image](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/kennethreitz)
- **If you're interested in financially supporting Kenneth Reitz open source, consider [visiting this link](https://cash.me/$KennethReitz). Your support helps tremendously with sustainability of motivation, as Open Source is no longer part of my day job.**
-
Requests is the only *Non-GMO* HTTP library for Python, safe for human
consumption.
@@ -26,6 +24,7 @@
Behold, the power of Requests:
``` {.sourceCode .python}
+ >>> import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
@@ -99,17 +98,18 @@
How to Contribute
-----------------
- 1. Check for open issues or open a fresh issue to start a discussion
+ 1. Become more familiar with the project by reading our [Contributor's Guide](http://docs.python-requests.org/en/latest/dev/contributing/) and our [development philosophy](http://docs.python-requests.org/en/latest/dev/philosophy/).
+ 2. Check for open issues or open a fresh issue to start a discussion
around a feature idea or a bug. There is a [Contributor
Friendly](https://github.com/requests/requests/issues?direction=desc&labels…
tag for issues that should be ideal for people who are not very
familiar with the codebase yet.
- 2. Fork [the repository](https://github.com/requests/requests) on
+ 3. Fork [the repository](https://github.com/requests/requests) on
GitHub to start making your changes to the **master** branch (or
branch off of it).
- 3. Write a test which shows that the bug was fixed or that the feature
+ 4. Write a test which shows that the bug was fixed or that the feature
works as expected.
- 4. Send a pull request and bug the maintainer until it gets merged and
+ 5. Send a pull request and bug the maintainer until it gets merged and
published. :) Make sure to add yourself to
[AUTHORS](https://github.com/requests/requests/blob/master/AUTHORS.rst).
@@ -123,13 +123,12 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
Description-Content-Type: text/markdown
Provides-Extra: security
Provides-Extra: socks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/requests.egg-info/requires.txt new/requests-2.22.0/requests.egg-info/requires.txt
--- old/requests-2.21.0/requests.egg-info/requires.txt 2018-12-10 16:39:29.000000000 +0100
+++ new/requests-2.22.0/requests.egg-info/requires.txt 2019-05-16 16:36:35.000000000 +0200
@@ -1,6 +1,6 @@
chardet<3.1.0,>=3.0.2
idna<2.9,>=2.5
-urllib3<1.25,>=1.21.1
+urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
certifi>=2017.4.17
[security]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/setup.py new/requests-2.22.0/setup.py
--- old/requests-2.21.0/setup.py 2018-12-10 06:59:26.000000000 +0100
+++ new/requests-2.22.0/setup.py 2019-05-16 16:22:45.000000000 +0200
@@ -44,7 +44,7 @@
requires = [
'chardet>=3.0.2,<3.1.0',
'idna>=2.5,<2.9',
- 'urllib3>=1.21.1,<1.25',
+ 'urllib3>=1.21.1,<1.26,!=1.25.0,!=1.25.1',
'certifi>=2017.4.17'
]
@@ -79,7 +79,7 @@
package_data={'': ['LICENSE', 'NOTICE'], 'requests': ['*.pem']},
package_dir={'requests': 'requests'},
include_package_data=True,
- python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
+ python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
install_requires=requires,
license=about['__license__'],
zip_safe=False,
@@ -92,7 +92,6 @@
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/tests/test_requests.py new/requests-2.22.0/tests/test_requests.py
--- old/requests-2.21.0/tests/test_requests.py 2018-11-08 18:09:42.000000000 +0100
+++ new/requests-2.22.0/tests/test_requests.py 2019-05-16 16:18:16.000000000 +0200
@@ -9,6 +9,7 @@
import collections
import contextlib
import warnings
+import re
import io
import requests
@@ -2418,9 +2419,17 @@
)
)
def test_preparing_url(self, url, expected):
+
+ def normalize_percent_encode(x):
+ # Helper function that normalizes equivalent
+ # percent-encoded bytes before comparisons
+ for c in re.findall(r'%[a-fA-F0-9]{2}', x):
+ x = x.replace(c, c.upper())
+ return x
+
r = requests.Request('GET', url=url)
p = r.prepare()
- assert p.url == expected
+ assert normalize_percent_encode(p.url) == expected
@pytest.mark.parametrize(
'url',
++++++ requests-no-hardcoded-version.patch ++++++
--- /var/tmp/diff_new_pack.eyg5q7/_old 2019-05-27 08:37:20.231095492 +0200
+++ /var/tmp/diff_new_pack.eyg5q7/_new 2019-05-27 08:37:20.231095492 +0200
@@ -1,14 +1,14 @@
-Index: requests-2.21.0/setup.py
+Index: requests-2.22.0/setup.py
===================================================================
---- requests-2.21.0.orig/setup.py
-+++ requests-2.21.0/setup.py
+--- requests-2.22.0.orig/setup.py
++++ requests-2.22.0/setup.py
@@ -42,14 +42,14 @@ if sys.argv[-1] == 'publish':
packages = ['requests']
requires = [
- 'chardet>=3.0.2,<3.1.0',
- 'idna>=2.5,<2.9',
-- 'urllib3>=1.21.1,<1.25',
+- 'urllib3>=1.21.1,<1.26,!=1.25.0,!=1.25.1',
+ 'chardet>=3.0.2',
+ 'idna>=2.5',
+ 'urllib3>=1.21.1',
1
0
Hello community,
here is the log from the commit of package wireshark for openSUSE:Factory checked in at 2019-05-27 08:36:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wireshark (Old)
and /work/SRC/openSUSE:Factory/.wireshark.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wireshark"
Mon May 27 08:36:54 2019 rev:145 rq:705008 version:3.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/wireshark/wireshark.changes 2019-05-10 09:09:16.038944058 +0200
+++ /work/SRC/openSUSE:Factory/.wireshark.new.5148/wireshark.changes 2019-05-27 08:36:59.459103589 +0200
@@ -1,0 +2,8 @@
+Thu May 23 07:34:38 UTC 2019 - Robert Frohl <rfrohl(a)suse.com>
+
+- Wireshark 3.0.2 (bsc#1136021)
+ * Wireshark dissection engine crash.
+- Further features, bug fixes and updated protocol support as listed in:
+ https://www.wireshark.org/docs/relnotes/wireshark-3.0.2.html
+
+-------------------------------------------------------------------
Old:
----
SIGNATURES-3.0.1.txt
wireshark-3.0.1.tar.xz
New:
----
SIGNATURES-3.0.2.txt
wireshark-3.0.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wireshark.spec ++++++
--- /var/tmp/diff_new_pack.JsaWhA/_old 2019-05-27 08:37:00.591103148 +0200
+++ /var/tmp/diff_new_pack.JsaWhA/_new 2019-05-27 08:37:00.595103146 +0200
@@ -27,7 +27,7 @@
%bcond_with lz4
%endif
Name: wireshark
-Version: 3.0.1
+Version: 3.0.2
Release: 0
Summary: A Network Traffic Analyser
License: GPL-2.0-or-later AND GPL-3.0-or-later
++++++ SIGNATURES-3.0.1.txt -> SIGNATURES-3.0.2.txt ++++++
--- /work/SRC/openSUSE:Factory/wireshark/SIGNATURES-3.0.1.txt 2019-05-10 09:09:13.166935859 +0200
+++ /work/SRC/openSUSE:Factory/.wireshark.new.5148/SIGNATURES-3.0.2.txt 2019-05-27 08:36:57.771104247 +0200
@@ -1,40 +1,40 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
-wireshark-3.0.1.tar.xz: 30903792 bytes
-SHA256(wireshark-3.0.1.tar.xz)=86864c3d0f6c2311992a98d8ea7dfd429097fe62dae2e5516e1a2f6bef2ac08c
-RIPEMD160(wireshark-3.0.1.tar.xz)=27ed3498a1e9a89706c1461736219c4ae4b08085
-SHA1(wireshark-3.0.1.tar.xz)=33b880fb76b356dce4713a207c0bb9624f9b2c43
-
-Wireshark-win32-3.0.1.exe: 54260984 bytes
-SHA256(Wireshark-win32-3.0.1.exe)=c2c4cb14b96d66342f84fdf9da17344db6d5051952b37c1045f104733ee662c4
-RIPEMD160(Wireshark-win32-3.0.1.exe)=5c607d548bc6a8af6925c91cb5a4a259fb9d7044
-SHA1(Wireshark-win32-3.0.1.exe)=50f1c2392f788e6ec75cef13522336270d20264c
-
-Wireshark-win64-3.0.1.exe: 59530896 bytes
-SHA256(Wireshark-win64-3.0.1.exe)=80e9bdfcb3bfb3800c202efcdfbb286a2b89d0bf2b8d94f2727d117b0013c821
-RIPEMD160(Wireshark-win64-3.0.1.exe)=9c499f0cbfccb00556aaeb63aae50ec27ee405b8
-SHA1(Wireshark-win64-3.0.1.exe)=2e51ae89f86d8b3dedde94564a2f0fcdc4298789
-
-Wireshark-win64-3.0.1.msi: 47337472 bytes
-SHA256(Wireshark-win64-3.0.1.msi)=9733d9cff33fa29c663b6c132fb77ca141704ddffecd14c206abd22e0d30821b
-RIPEMD160(Wireshark-win64-3.0.1.msi)=af58ad94e9c692984a38452d96a2950d32c12a73
-SHA1(Wireshark-win64-3.0.1.msi)=b3f889d9dcc9abb8fe5e0513c35189c819252d94
-
-Wireshark-win32-3.0.1.msi: 42135552 bytes
-SHA256(Wireshark-win32-3.0.1.msi)=1f9c2dbcd7f17b31ee042c9f5e7265560e3bb7d7efd1140cc5e6c021655fcde4
-RIPEMD160(Wireshark-win32-3.0.1.msi)=cc82b3e7ee3fb177d1ee52349522c5f7adb7d93d
-SHA1(Wireshark-win32-3.0.1.msi)=fee5b350e18721c8585448c95eaec2ca6005247b
-
-WiresharkPortable_3.0.1.paf.exe: 35936656 bytes
-SHA256(WiresharkPortable_3.0.1.paf.exe)=91cd54e86e29833a682cb6dff750018386c977c07cf75ee11a19cb679286f540
-RIPEMD160(WiresharkPortable_3.0.1.paf.exe)=1e0ce137bf0914699496d9ccf4582810586825c7
-SHA1(WiresharkPortable_3.0.1.paf.exe)=28bef2a547775fd5a3555caf2b015b2aedea0e9d
-
-Wireshark 3.0.1 Intel 64.dmg: 86792136 bytes
-SHA256(Wireshark 3.0.1 Intel 64.dmg)=78bd0568251d95f42f3ea60cfc4d2e8e14bb76745c10cafec418f5fa0943cf64
-RIPEMD160(Wireshark 3.0.1 Intel 64.dmg)=a78269012eb092ebbcda3e98582196db568d6c99
-SHA1(Wireshark 3.0.1 Intel 64.dmg)=3e16218a2fba4579f2d6c3e34f5ec003b39958f8
+wireshark-3.0.2.tar.xz: 30910100 bytes
+SHA256(wireshark-3.0.2.tar.xz)=7e1ec5664a0dba4493d8729f9922378bdd05040fb159c2b03b42111efda2e53b
+RIPEMD160(wireshark-3.0.2.tar.xz)=52c36f04fe8858a2aa7e6b9a682f658b392d432d
+SHA1(wireshark-3.0.2.tar.xz)=64d18b3c6faa1cb2052562657f610946334ac643
+
+Wireshark-win64-3.0.2.exe: 59287984 bytes
+SHA256(Wireshark-win64-3.0.2.exe)=27d15f43091e002d454fb63f8c438fe4b32a86b57c02c6cb83ef36bdbfaefe09
+RIPEMD160(Wireshark-win64-3.0.2.exe)=c1eb04a4c0a7c9d7674580e51d531c240fad7aea
+SHA1(Wireshark-win64-3.0.2.exe)=9a9cc106eac23276af5290673a8af12e1d58a0de
+
+Wireshark-win32-3.0.2.exe: 54112336 bytes
+SHA256(Wireshark-win32-3.0.2.exe)=ea4f9a4b55bed282408d595bf2e86951014e108144662f8add51cb0a7ad034ed
+RIPEMD160(Wireshark-win32-3.0.2.exe)=11ad7ad243ae63cb1dbe1f92be20fc0b707c34f2
+SHA1(Wireshark-win32-3.0.2.exe)=f1941f085a1db8635327701c0ab4ce925ffd3f8c
+
+Wireshark-win32-3.0.2.msi: 42033152 bytes
+SHA256(Wireshark-win32-3.0.2.msi)=a2d8c37ead1824f1bc19bff2e37fdde777e0619396eace07b36a071b5ecfa5ee
+RIPEMD160(Wireshark-win32-3.0.2.msi)=902e5f87d0208c188fc1e4758ae4ec0da8df0852
+SHA1(Wireshark-win32-3.0.2.msi)=e070636edb40cd30f182b4459a23e85eff143b7f
+
+Wireshark-win64-3.0.2.msi: 47210496 bytes
+SHA256(Wireshark-win64-3.0.2.msi)=6e3e21c399ce84793616982f42c3277061d7593c4fc4a6899ea2f31381537ddd
+RIPEMD160(Wireshark-win64-3.0.2.msi)=b9d9f144eeaadbd15468bdaeadcf6661c2a0e350
+SHA1(Wireshark-win64-3.0.2.msi)=73452542d33a17f30f604ef99aafc298ba834041
+
+WiresharkPortable_3.0.2.paf.exe: 35804560 bytes
+SHA256(WiresharkPortable_3.0.2.paf.exe)=eb43c5f9dcd852e39b91837ccf26b940b89549e210f9d78df15e6ebbdcbc0d9d
+RIPEMD160(WiresharkPortable_3.0.2.paf.exe)=08a409043a0c1fcc50396cf73047c9f2033a234c
+SHA1(WiresharkPortable_3.0.2.paf.exe)=99eb79a9b3ed9eae1a50f384870901d77ca10848
+
+Wireshark 3.0.2 Intel 64.dmg: 87206906 bytes
+SHA256(Wireshark 3.0.2 Intel 64.dmg)=2e32ed900bc0bb85430ebe45eef39c5097423eb8cb3a7bd4b08e704f599ab430
+RIPEMD160(Wireshark 3.0.2 Intel 64.dmg)=e3c82a44cc3d8200654affd4404970183733c912
+SHA1(Wireshark 3.0.2 Intel 64.dmg)=fc5b93bcf481ddef2015677e4094ef10fc3198a8
You can validate these hashes using the following commands (among others):
@@ -44,17 +44,17 @@
Other: openssl sha256 wireshark-x.y.z.tar.xz
-----BEGIN PGP SIGNATURE-----
-iQIzBAEBCgAdFiEEWlrbp9vqbD+HIk8ZgiRKeOb+ruoFAlyrn8gACgkQgiRKeOb+
-rurqfg//fvEPyKDprl8vg8+5zdyIAMuYGw6ixu4+5aNjNabnhM983i5mqXLKSU28
-DuKUMw3i5JOSN8auVAnq06keFmQzSnrWJe22jzPlOGyhXAK9KzM6bpdHoqCHn/Gq
-sBWrKELMJIKTIsIEZYYzEHSEBi2bbBCviZHEMzj3GU0aQD33oktQ8ER/Eu3+M8td
-wDTu+KKt+SMgbtgc0grG/MhZBFb31kLPQgQz1oVAjkuFeEcqmXU9+5pMvW3aAGk8
-8RLxS+adjjZns7+dM/6JaCjgI3fVlUXqFvz7XMskbZbHeqBsdiWR9w2YLLUBJ3ai
-QGiJZRIfrfyQBosaaYb5vbUYaZZbCFRCLhKOr8BG1PTSc/2Y/bImdQlxd8XDi/dM
-2B15lYE0b9hYilc1TPgd1V8y/vQ94SxFAentqf4QV9tLUTHZCeH3zmSvpD826FCw
-WNUy6H+cJvl4sbytNHJzK+MIBJAiqFD4zM1zrYw0kXlj5eGbCWGKafC/+cKyOHHl
-GtwWdOlarIa5C9FYl4VVPEetFk08gvW5BiKxalug5Y0Q9MsAw9brpBZhZfapXy3q
-sXr/aFfHVXx1RrYUFabl3KztEnBHJEM0QTvOnLVkCL3wlfpFni2NHhr11/17Cf5+
-5QIuqM+yuXhxPmWPMFGPwM0PBRA0NpR/fELAgvWRv9rbOH/aEqg=
-=aM0I
+iQIzBAEBCgAdFiEEWlrbp9vqbD+HIk8ZgiRKeOb+ruoFAlzlqQkACgkQgiRKeOb+
+ruoJvRAA3IVXT9pyH0Gwkq2WgmZPZ+t82pNDqV3x0Yi17RcfiD2m5MAPhyZlizGa
+cHf/RM+urq4yKDABnVcGwo16dmpejbMAXmCtvt46bQM4C532nJU4pfM7AhJdByhV
+492ug93DIYQYIK8odrUoPiwfme1BjHcplWeEJBOpvtPV4ByoZJpqoDO+EVeOpfAo
+6aBhuM7s8vs3satLW27F9MJKO00XIJ12vLPlWc3yMQWNWKwovdvVOuP3z6n/dglH
+26fZrZSlDo4AD3vfVE51BD4pAsjcfZ5A4qPd83cqxiZA2xIhdBkSNkfFaCOZrLr4
+WeUV6760oOyEh+vE4Pd2PvCMh/LNrP71Qw9NICTNKIrYW88cD9A3wV00qorR40+P
+EIODDvv2csOMZ5dNVRoFuxOzIdYpEf1dOMUZqZJm1G5QK1LefiPRTFWq90kHkCno
+pOa4zzJANM0rIuC57iAqTZSD6Bqk7f+3Xv4TKKOOM5piDS6gwTy1pT4XSEyB9e/a
+vw1ZYymGhPnEGh2YsHACOC9oThF+qPM6u0CknRSsKxw2ocW7ZbmWddzPYysIniPR
+nndBG00kYkZ84ZksVHFZNKZG2+8khN26Vp2OM+fhlM8twPgAvksSbqGFCAytZJGJ
+VClcuwI7KwLXekrWswIfsIQ00zPs5P/zJIG18fSv9v/mlL6+bJg=
+=vK9g
-----END PGP SIGNATURE-----
++++++ wireshark-3.0.1.tar.xz -> wireshark-3.0.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/wireshark/wireshark-3.0.1.tar.xz /work/SRC/openSUSE:Factory/.wireshark.new.5148/wireshark-3.0.2.tar.xz differ: char 15, line 1
1
0
Hello community,
here is the log from the commit of package ruby2.6 for openSUSE:Factory checked in at 2019-05-27 08:36:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ruby2.6 (Old)
and /work/SRC/openSUSE:Factory/.ruby2.6.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ruby2.6"
Mon May 27 08:36:40 2019 rev:6 rq:704999 version:2.6.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/ruby2.6/ruby2.6.changes 2019-04-21 09:03:22.746551062 +0200
+++ /work/SRC/openSUSE:Factory/.ruby2.6.new.5148/ruby2.6.changes 2019-05-27 08:36:44.419109452 +0200
@@ -1,0 +2,5 @@
+Fri May 10 09:35:54 UTC 2019 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Move RPM macros to %_rpmmacrodir.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ruby2.6.spec ++++++
--- /var/tmp/diff_new_pack.eKliVm/_old 2019-05-27 08:36:45.407109067 +0200
+++ /var/tmp/diff_new_pack.eKliVm/_new 2019-05-27 08:36:45.407109067 +0200
@@ -346,10 +346,10 @@
%define rb_binary %{buildroot}/usr/bin/ruby -I %{buildroot}%{rb_libdir} -I %{buildroot}%{rb_archdir}
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
-install -D -m 0644 %{S:3} %{buildroot}/etc/rpm/macros.suse-ruby2.6
+install -D -m 0644 %{S:3} %{buildroot}%{_rpmmacrodir}/macros.suse-ruby2.6
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
%if 0%{?is_default_ruby}
- install -D -m 0644 %{S:4} %{buildroot}/etc/rpm/macros.suse-ruby2.6-default
+ install -D -m 0644 %{S:4} %{buildroot}%{_rpmmacrodir}/macros.suse-ruby2.6-default
for bin in %{buildroot}%{_bindir}/{erb,gem,irb,ruby}%{rb_binary_suffix} ; do
# yes really hard links
ln $bin ${bin%%%{rb_binary_suffix}}
@@ -435,7 +435,7 @@
%{_mandir}/man1/ruby*.1*
%{_mandir}/man5/gemfile*.5*
%doc ChangeLog COPYING COPYING.ja GPL KNOWNBUGS.rb LEGAL NEWS README*
-%config /etc/rpm/macros.suse-ruby2.6*
+%{_rpmmacrodir}/macros.suse-ruby2.6*
%if %{with separate_stdlib}
%files stdlib
1
0
Hello community,
here is the log from the commit of package spandsp for openSUSE:Factory checked in at 2019-05-27 08:36:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/spandsp (Old)
and /work/SRC/openSUSE:Factory/.spandsp.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spandsp"
Mon May 27 08:36:32 2019 rev:8 rq:704992 version:0.0.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/spandsp/spandsp.changes 2015-03-29 20:15:42.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.spandsp.new.5148/spandsp.changes 2019-05-27 08:36:33.831113580 +0200
@@ -1,0 +2,5 @@
+Thu May 23 11:06:20 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Disable LTO (boo#1136056).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ spandsp.spec ++++++
--- /var/tmp/diff_new_pack.j6x84S/_old 2019-05-27 08:36:34.459113335 +0200
+++ /var/tmp/diff_new_pack.j6x84S/_new 2019-05-27 08:36:34.459113335 +0200
@@ -1,7 +1,7 @@
#
# spec file for package spandsp
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,14 +12,14 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: spandsp
%define lname libspandsp2
Summary: A DSP library for Telephony and SoftFAX
-License: LGPL-2.1 and GPL-2.0
+License: LGPL-2.1-only AND GPL-2.0-only
Group: Development/Libraries/C and C++
Version: 0.0.6
Release: 0
@@ -56,7 +56,7 @@
%package devel
Summary: Development files for the SpanDSP library
-License: LGPL-2.1
+License: LGPL-2.1-only
Group: Development/Libraries/C and C++
Requires: %lname = %{version}
Requires: glibc-devel
@@ -68,7 +68,7 @@
%package -n %lname
Summary: A DSP library for Telephony and SoftFAX
-License: LGPL-2.1
+License: LGPL-2.1-only
Group: System/Libraries
%description -n %lname
@@ -80,7 +80,7 @@
%package doc
Summary: Documentation for the libspandsp API
-License: LGPL-2.1 and GPL-2.0
+License: LGPL-2.1-only AND GPL-2.0-only
Group: Documentation/HTML
%if 0%{?suse_version} >= 1130
BuildArch: noarch
@@ -94,6 +94,7 @@
%patch1 -p1
%build
+%define _lto_cflags %{nil}
autoreconf -fiv
# Enabling MMX could be safe.. I see cpuid calls in the source
%configure \
1
0
Hello community,
here is the log from the commit of package nvme-cli for openSUSE:Factory checked in at 2019-05-27 08:36:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nvme-cli (Old)
and /work/SRC/openSUSE:Factory/.nvme-cli.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nvme-cli"
Mon May 27 08:36:24 2019 rev:34 rq:704985 version:1.8.1+git64.b969cf0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nvme-cli/nvme-cli.changes 2019-05-15 12:24:44.398055377 +0200
+++ /work/SRC/openSUSE:Factory/.nvme-cli.new.5148/nvme-cli.changes 2019-05-27 08:36:26.999116243 +0200
@@ -1,0 +2,19 @@
+Thu May 23 06:55:34 UTC 2019 - Simon Schricker <sschricker(a)suse.com>
+
+- Add new subpackage containing the nvme-cli regress script
+- Add script to determine host NQN based on the system UUID
+ + 0008-nvme-cli-Add-script-to-determine-host-NQN.patch
+- Add new udev rule for NetApp E-Series and adjust udev rule naming
+ scheme accordingly. (bsc#1124564)
+ + 0006-nvme-cli-add-default-IO-policy-rule-for-NetApp-E-Ser.patch
+ + 0007-nvme-cli-Rename-udev-rule-for-ONTAP-controller.patch
+- Update to version 1.8.1+git64.b969cf0:
+ * fix json print for list-subsys command
+ * Add Virtium plugin extension document
+ * Add Virtium plugin extension
+ * nvme.h: Fix typos in status code values
+ * nvme-cli: remove unused NVME_AER_NOTICE_
+ * list-ctrl, create-ns, format: Do not return directly without
+ freeing fd
+
+-------------------------------------------------------------------
Old:
----
nvme-cli-1.8.1+git41.2c43c51.tar.xz
New:
----
0006-nvme-cli-add-default-IO-policy-rule-for-NetApp-E-Ser.patch
0007-nvme-cli-Rename-udev-rule-for-ONTAP-controller.patch
0008-nvme-cli-Add-script-to-determine-host-NQN.patch
nvme-cli-1.8.1+git64.b969cf0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nvme-cli.spec ++++++
--- /var/tmp/diff_new_pack.OLceRy/_old 2019-05-27 08:36:27.635115995 +0200
+++ /var/tmp/diff_new_pack.OLceRy/_new 2019-05-27 08:36:27.639115993 +0200
@@ -17,7 +17,7 @@
Name: nvme-cli
-Version: 1.8.1+git41.2c43c51
+Version: 1.8.1+git64.b969cf0
Release: 0
Summary: NVM Express user space tools
License: GPL-2.0-only
@@ -31,17 +31,32 @@
Patch3: 0003-Add-nvmefc-connect.target.patch
Patch4: 0004-Change-service-to-type-simple.patch
Patch5: 0005-nvme-cli-Check-for-sysfs-interface-before-NVMe-disco.patch
+Patch6: 0006-nvme-cli-add-default-IO-policy-rule-for-NetApp-E-Ser.patch
+Patch7: 0007-nvme-cli-Rename-udev-rule-for-ONTAP-controller.patch
+Patch8: 0008-nvme-cli-Add-script-to-determine-host-NQN.patch
BuildRequires: libuuid-devel
BuildRequires: pkgconfig
BuildRequires: xmlto
BuildRequires: pkgconfig(libudev)
BuildRequires: rubygem(asciidoctor)
+%ifarch x86_64 aarch64 i586
+Requires(post): dmidecode
+%endif
%description
NVM Express (NVMe) is a direct attached storage interface. The
nvme-cli package contains core management tools with minimal
dependencies.
+%package -n nvme-cli-regress-script
+Summary: A small script to test the nvme binary for regressions
+Group: Hardware/Other
+Requires: nvme-cli
+
+%description -n nvme-cli-regress-script
+A small shell script to test the nvme binary for regressions. It requires an
+NVMe device for testing purposes. Do NOT use in a production environment.
+
%prep
%setup -q
%patch1 -p1
@@ -49,10 +64,14 @@
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
%build
echo %{version} > version
make CFLAGS="%{optflags} -I." PREFIX=%{_prefix} USE_ASCIIDOCTOR=YesPlease %{?_smp_mflags} all
+sed -i '/make.*/d' regress
%install
make PREFIX=%{_prefix} DESTDIR=%{buildroot} install-bin install-man %{?_smp_mflags}
@@ -62,7 +81,13 @@
install -m 644 -D nvme-fc-autoconnect/nvmefc-boot-connections.service %{buildroot}%{_unitdir}/nvmefc-boot-connections.service
install -m 644 -D nvme-fc-autoconnect/nvmefc-connect@.service %{buildroot}%{_unitdir}/nvmefc-connect@.service
install -m 644 -D nvme-fc-autoconnect/nvmefc-connect.target %{buildroot}%{_unitdir}/nvmefc-connect.target
-install -m 644 -D scripts/71-nvme-iopolicy-netapp.rules %{buildroot}%{_udevrulesdir}/71-nvme-iopolicy-netapp.rules
+install -m 644 -D scripts/71-nvme-iopolicy-netapp-ONTAP.rules %{buildroot}%{_udevrulesdir}/71-nvme-iopolicy-netapp-ONTAP.rules
+install -m 644 -D scripts/71-nvme-iopolicy-netapp-E-Series.rules %{buildroot}%{_udevrulesdir}/71-nvme-iopolicy-netapp-E-Series.rules
+%ifarch x86_64 aarch64 i586
+install -m 744 -D scripts/det-hostnqn.sh %{buildroot}%{_sbindir}/nvme-det-hostnqn
+%endif
+# for subpackage nvme-cli-regress-script:
+install -m 744 -D regress %{buildroot}%{_sbindir}/nvme-regress
%define services nvmefc-boot-connections.service nvmefc-connect.target
@@ -70,10 +95,16 @@
%service_add_pre %services nvmefc-connect@.service
%post
-if [ ! -e %{_sysconfdir}/nvme/hostnqn ]; then
+%ifarch x86_64 aarch64 i586
+if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
+ %{_sbindir}/nvme-det-hostnqn > %{_sysconfdir}/nvme/hostnqn
+fi
+%endif
+if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
+ %{_bindir}/echo "Generating random host NQN."
%{_sbindir}/nvme gen-hostnqn > %{_sysconfdir}/nvme/hostnqn
fi
-if [ ! -e %{_sysconfdir}/nvme/hostid ]; then
+if [ ! -s %{_sysconfdir}/nvme/hostid ]; then
%{_bindir}/uuidgen > %{_sysconfdir}/nvme/hostid
fi
%service_add_post %services nvmefc-connect@.service
@@ -93,12 +124,16 @@
%license LICENSE
%doc README.md
%{_sbindir}/nvme
+%ifarch x86_64 aarch64 i586
+%{_sbindir}/nvme-det-hostnqn
+%endif
%{_mandir}/man1/nvme*.1*%{?ext_man}
%dir %{_datadir}/bash_completion
%dir %{_datadir}/bash_completion/completions/
%{_datadir}/bash_completion/completions/nvme
%{_udevrulesdir}/70-nvmefc-autoconnect.rules
-%{_udevrulesdir}/71-nvme-iopolicy-netapp.rules
+%{_udevrulesdir}/71-nvme-iopolicy-netapp-ONTAP.rules
+%{_udevrulesdir}/71-nvme-iopolicy-netapp-E-Series.rules
%{_unitdir}/nvmefc-boot-connections.service
%{_unitdir}/nvmefc-connect@.service
%{_unitdir}/nvmefc-connect.target
@@ -106,4 +141,7 @@
%ghost %{_sysconfdir}/nvme/hostnqn
%ghost %{_sysconfdir}/nvme/hostid
+%files -n nvme-cli-regress-script
+%{_sbindir}/nvme-regress
+
%changelog
++++++ 0006-nvme-cli-add-default-IO-policy-rule-for-NetApp-E-Ser.patch ++++++
>From bfbcc6d02f0621bb9ff5afc39862aac55ff305bf Mon Sep 17 00:00:00 2001
From: Simon Schricker <sschricker(a)suse.de>
Date: Wed, 15 May 2019 13:36:41 +0200
Subject: [PATCH] nvme-cli: add default IO-policy rule for NetApp E-Series
NetApp E-Series controller provide several paths to the same subsystem,
so we should be switching to 'round-robin' iopolicy to provide the best
performance.
---
scripts/71-nvme-iopolicy-netapp-E-Series.rules | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 scripts/71-nvme-iopolicy-netapp-E-Series.rules
diff --git a/scripts/71-nvme-iopolicy-netapp-E-Series.rules b/scripts/71-nvme-iopolicy-netapp-E-Series.rules
new file mode 100644
index 0000000..902c083
--- /dev/null
+++ b/scripts/71-nvme-iopolicy-netapp-E-Series.rules
@@ -0,0 +1,2 @@
+# Enable round-robin for NetApp E-Series
+ACTION=="add", SUBSYSTEM=="nvme-subsystem", ATTR{model}=="NetApp E-Series", ATTR{iopolicy}="round-robin"
--
2.16.4
++++++ 0007-nvme-cli-Rename-udev-rule-for-ONTAP-controller.patch ++++++
>From eae06c9af819f7d1782833783661ad3bf376fae4 Mon Sep 17 00:00:00 2001
From: Simon Schricker <sschricker(a)suse.de>
Date: Thu, 16 May 2019 16:42:49 +0200
Subject: [PATCH] nvme-cli: Rename udev rule for ONTAP controller
To have a consistent naming scheme with the E-Series udev rule.
---
...{71-nvme-iopolicy-netapp.rules => 71-nvme-iopolicy-netapp-ONTAP.rules} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename scripts/{71-nvme-iopolicy-netapp.rules => 71-nvme-iopolicy-netapp-ONTAP.rules} (100%)
diff --git a/scripts/71-nvme-iopolicy-netapp.rules b/scripts/71-nvme-iopolicy-netapp-ONTAP.rules
similarity index 100%
rename from scripts/71-nvme-iopolicy-netapp.rules
rename to scripts/71-nvme-iopolicy-netapp-ONTAP.rules
--
2.16.4
++++++ 0008-nvme-cli-Add-script-to-determine-host-NQN.patch ++++++
>From b38de666b0ae385bb35c00280c48a20f4d4d6aae Mon Sep 17 00:00:00 2001
From: Simon Schricker <sschricker(a)suse.de>
Date: Fri, 17 May 2019 15:36:37 +0200
Subject: [PATCH] nvme-cli: Add script to determine host NQN
* Based on the system-UUID, via dmidecode
* verifies UUID format
* tries to catch fake/lazy UUIDs
---
scripts/det-hostnqn.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100644 scripts/det-hostnqn.sh
diff --git a/scripts/det-hostnqn.sh b/scripts/det-hostnqn.sh
new file mode 100644
index 0000000..d8783cf
--- /dev/null
+++ b/scripts/det-hostnqn.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+LC_ALL=C
+
+UUID=$(dmidecode -s system-uuid | tr -d '[:space:]')
+
+if [ -z "$UUID" ] ; then
+ >&2 echo "No UUID found, can't determine hostnqn."
+ exit 1
+fi
+
+# convert UUID to lower-case only:
+UUID=$(echo $UUID | tr '[:upper:]' '[:lower:]')
+
+# check UUID format, e.g.: 4c4c4544-0156-4a10-8134-b7d04f383232, so: 8-4-4-4-12
+if ! [[ $UUID =~ ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ ]] ; then
+ >&2 echo "UUID has invalid format."
+ >&2 echo "Invalid UUID: ${UUID}"
+ exit 2
+fi
+
+# HEURISTIC:
+# (1) if any one given character occurs more than 50% of the time, it is likely
+# that the UUID is fake.
+# (2) if the first or the last group consists of mostly the same character, it
+# is likely that the UUID is fake.
+FIRST_GROUP="$(echo $UUID | cut -d'-' -f1)"
+LAST_GROUP="$(echo $UUID | cut -d'-' -f5)"
+for i in {{0..9},{a..f}} ; do
+ COUNT_TOTAL="${UUID//[^$i]}"
+ COUNT_FIRST="${FIRST_GROUP//[^$i]}"
+ COUNT_LAST="${LAST_GROUP//[^$i]}"
+ if [ ${#COUNT_TOTAL} -ge 16 ] || [ ${#COUNT_FIRST} -ge 7 ] || [ ${#COUNT_LAST} -ge 11 ] ; then
+ >&2 echo "UUID is too repetitive. This may be a false alert."
+ >&2 echo "Repetitive UUID: ${UUID}"
+ exit 3
+ fi
+done
+
+HOSTNQN="nqn.2014-08.org.nvmexpress:uuid:${UUID}"
+
+echo $HOSTNQN
--
2.16.4
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.OLceRy/_old 2019-05-27 08:36:27.715115964 +0200
+++ /var/tmp/diff_new_pack.OLceRy/_new 2019-05-27 08:36:27.719115963 +0200
@@ -1,4 +1,10 @@
<servicedata>
<service name="obs_scm">
<param name="url">https://github.com/linux-nvme/nvme-cli.git</param>
- <param name="changesrevision">75800fff4a17f6d97ef884772b88a2dfbd84251a</param></service></servicedata>
+ <param name="changesrevision">75800fff4a17f6d97ef884772b88a2dfbd84251a</param>
+</service>
+<service name="tar_scm">
+ <param name="url">https://github.com/linux-nvme/nvme-cli.git</param>
+ <param name="changesrevision">b969cf0b67995035a17ed89812d695b7f954f39c</param>
+</service>
+</servicedata>
++++++ nvme-cli-1.8.1+git41.2c43c51.tar.xz -> nvme-cli-1.8.1+git64.b969cf0.tar.xz ++++++
++++ 3423 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package jeos-firstboot for openSUSE:Factory checked in at 2019-05-27 08:36:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jeos-firstboot (Old)
and /work/SRC/openSUSE:Factory/.jeos-firstboot.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jeos-firstboot"
Mon May 27 08:36:15 2019 rev:25 rq:704970 version:0.0+git20190523.f1f2bfa
Changes:
--------
--- /work/SRC/openSUSE:Factory/jeos-firstboot/jeos-firstboot.changes 2019-04-18 09:56:02.625326916 +0200
+++ /work/SRC/openSUSE:Factory/.jeos-firstboot.new.5148/jeos-firstboot.changes 2019-05-27 08:36:18.127119701 +0200
@@ -1,0 +2,28 @@
+Thu May 23 09:33:40 UTC 2019 - jeos-internal(a)suse.de
+
+- Update to version 0.0+git20190523.f1f2bfa:
+ * Fix broken function call in raspberrywifi, simplify
+ * Don't overwrite WiFi interface config
+ * Don't overwrite the cleanup trap
+ * Fix whitespace
+ * Don't use "if d", it never returns false
+ * Skip WiFi interface selection if there's only one
+ * Ignore setterm -msg failure
+ * Don't read stderr from dialog, use --output-fd instead
+ * Clean and fix raspberrywifi
+ * Fix module hook execution
+ * Fix warning on startup
+ * Fix typos/clarify comments in jeos-firstboot.conf
+ * Remove shebang and empty line in raspberrywifi
+
+-------------------------------------------------------------------
+Tue May 21 12:06:23 UTC 2019 - jeos-internal(a)suse.de
+
+- Update to version 0.0+git20190521.23bc1d3:
+ * is_raspberry: do not show grep errors in non-rpi
+ * Configure all interfaces that resolves
+ * Allow to skip certain steps by setting values in a configuration file
+ * Execute external script(s) on firstboot
+- Split module for WiFi configuration into subpackage
+
+-------------------------------------------------------------------
Old:
----
jeos-firstboot-0.0+git20190417.7ba1ac9.tar.xz
New:
----
jeos-firstboot-0.0+git20190523.f1f2bfa.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jeos-firstboot.spec ++++++
--- /var/tmp/diff_new_pack.I3BmqG/_old 2019-05-27 08:36:18.547119538 +0200
+++ /var/tmp/diff_new_pack.I3BmqG/_new 2019-05-27 08:36:18.551119536 +0200
@@ -12,12 +12,12 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: jeos-firstboot
-Version: 0.0+git20190417.7ba1ac9
+Version: 0.0+git20190523.f1f2bfa
Release: 0
Summary: Simple text based JeOS first boot wizard
License: MIT
@@ -34,6 +34,18 @@
Simple text based JeOS first boot wizard that can be used instead
of the line based one that is built into systemd.
+%package rpiwifi
+Summary: jeos-firstboot module for WiFi configuration for RaspberryPi systems
+Group: Productivity/Networking/Other
+Requires: %{name} = %{version}
+Requires: wicked
+Requires: wireless-tools
+Requires: wpa_supplicant
+
+%description rpiwifi
+This module hooks into jeos-firstboot and allows the user to enter data to connect
+his RaspberryPi system to a wireless network.
+
%prep
%setup -q
@@ -58,7 +70,13 @@
%doc README examples/ifcfg-eth0
%license LICENSE
%{_unitdir}/jeos-firstboot.service
+%dir %{_datadir}/defaults/
+%{_datadir}/defaults/jeos-firstboot.conf
+%dir %{_datadir}/jeos-firstboot
%{_libexecdir}/jeos-firstboot
%{_libexecdir}/jeos-firstboot-functions
+%files rpiwifi
+%{_datadir}/jeos-firstboot/raspberrywifi
+
%changelog
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.I3BmqG/_old 2019-05-27 08:36:18.599119518 +0200
+++ /var/tmp/diff_new_pack.I3BmqG/_new 2019-05-27 08:36:18.603119516 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/openSUSE/jeos-firstboot.git</param>
- <param name="changesrevision">d96e7ed67002c8221948ec661a9b1e6011e1c264</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">49ee57a359cd177e3dd1fe4d5739d2f87bdbb40a</param></service></servicedata>
\ No newline at end of file
++++++ jeos-firstboot-0.0+git20190417.7ba1ac9.tar.xz -> jeos-firstboot-0.0+git20190523.f1f2bfa.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/lib/jeos-firstboot new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/lib/jeos-firstboot
--- old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/lib/jeos-firstboot 2019-04-17 11:20:39.000000000 +0200
+++ new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/lib/jeos-firstboot 2019-05-23 11:33:19.000000000 +0200
@@ -26,50 +26,79 @@
. /etc/os-release
. "$0-functions"
+# Read the optional configuration file
+[ -f /usr/share/defaults/jeos-firstboot.conf ] && . /usr/share/defaults/jeos-firstboot.conf
+[ -f /etc/jeos-firstboot.conf ] && . /etc/jeos-firstboot.conf
+
stty_size() {
- set -- `stty size`; LINES=$1; COLUMNS=$2
- # stty size can return zero when not ready or
- # its a serial console
- if [ "$COLUMNS" = "0" -o "$LINES" = "0" ]; then
- LINES=24
- COLUMNS=80
- fi
-}; stty_size
+ set -- `stty size`; LINES=$1; COLUMNS=$2
+ # stty size can return zero when not ready or
+ # its a serial console
+ if [ "$COLUMNS" = "0" -o "$LINES" = "0" ]; then
+ LINES=24
+ COLUMNS=80
+ fi
+}
+stty_size
# for testing we may run as non root
if [ -w /run ]; then
- export TMPDIR=/run
- # debugging
- if [ -n "$FIRSTBOOT_DEBUG" ]; then
- set -x
- exec 2>/var/log/firstboot-debug
- fi
+ export TMPDIR=/run
+ # debugging
+ if [ -n "$FIRSTBOOT_DEBUG" ]; then
+ set -x
+ exec 2>/var/log/firstboot-debug
+ fi
else
- dry=1
+ dry=1
fi
if [ -n "$dry" ]; then
- run() {
- echo "$@"
- }
+ run() {
+ echo "$@"
+ }
else
- run() {
- "$@"
- }
+ run() {
+ "$@"
+ }
+fi
+
+modules=()
+
+call_module_hook() {
+ local hook="$1"
+ for module in "${modules[@]}"; do
+ hook_function="${module}_${hook}"
+ [ "$(type -t "${hook_function}")" = "function" ] || continue
+ "${hook_function}" && true # To not trigger errexit
+ ret=$?
+ [ $ret -eq 0 ] || return $ret
+ done
+ return 0
+}
+
+if pushd "/usr/share/jeos-firstboot" &>/dev/null; then
+ for module in *; do
+ if [ -f "${module}" ] && source "${module}"; then
+ modules+=("${module}")
+ fi
+ done
+ popd &>/dev/null
fi
dialog_out=`mktemp -qt 'firstboot-XXXXXX'`
cleanup() {
+ call_module_hook cleanup
echo .oOo.oOo.oOo. > $dialog_out
rm -f "$dialog_out"
# reenable systemd and kernel logs
run kill -s SIGRTMAX-10 1
- run setterm -msg on
+ run setterm -msg on 2>/dev/null || true
}
trap cleanup EXIT
# avoid kernel messages spamming our console
-run setterm -msg off
+run setterm -msg off 2>/dev/null || true
# Avoid systemd messages spamming our console
run kill -s SIGRTMAX-9 1
# sleep to avoid systemd bug, bsc#1119382
@@ -77,162 +106,156 @@
systemd_firstboot_args=('--setup-machine-id')
+# If the configuration is not loaded and we are in the first terminal
+# instance, make sure that the variables are declared.
+JEOS_LOCALE=${JEOS_LOCALE-}
+JEOS_KEYTABLE=${JEOS_KEYTABLE-}
+
result=
list=
-keytable=''
-locale=''
password=''
let dh_menu=LINES-15
let dh_text=LINES-5
d(){
- retval=
- while true
- do
- dialog --backtitle "$PRETTY_NAME" "$@" 2>"$dialog_out"
- retval=$?
- case $retval in
- 0)
- # need || true as dialog doesn't write newlines
- read result < $dialog_out || true
- return 0
- ;;
- 1)
- dialog --yesno $"Do you really want to quit?" 0 0 && exit 1
- continue
- ;;
- 255)
- # xargs to remove whitespaces
- result_error="$(xargs -a "$dialog_out")"
- if [ -z "$result_error" ]; then
- dialog --yesno $"Do you really want to quit?" 0 0 && exit 1
- continue
- fi
- logger -p err -t jeos-firstboot "$result_error"
- dialog --msgbox $"Exiting due to error, please check the system log" 0 0
- exit 2
- ;;
- esac
- done
+ retval=
+ while true
+ do
+ dialog --backtitle "$PRETTY_NAME" --output-fd 3 "$@" 3>"${dialog_out}"
+ retval=$?
+ case $retval in
+ 0)
+ # need || true as dialog doesn't write newlines
+ read result < $dialog_out || true
+ return 0
+ ;;
+ 1)
+ dialog --yesno $"Do you really want to quit?" 0 0 && exit 1
+ continue
+ ;;
+ 255)
+ # xargs to remove whitespaces
+ result_error="$(xargs -a "$dialog_out")"
+ if [ -z "$result_error" ]; then
+ dialog --yesno $"Do you really want to quit?" 0 0 && exit 1
+ continue
+ fi
+ logger -p err -t jeos-firstboot "$result_error"
+ dialog --msgbox $"Exiting due to error, please check the system log" 0 0
+ exit 2
+ ;;
+ esac
+ done
}
warn(){
- d --title $"Warning" --msgbox "$1" 6 40
+ d --title $"Warning" --msgbox "$1" 6 40
}
menulist()
{
- list=()
- local line
- while read line; do
- list+=("$line" '')
- done < <("$@"||true)
- [ -n "$list" ]
+ list=()
+ local line
+ while read line; do
+ list+=("$line" '')
+ done < <("$@"||true)
+ [ -n "$list" ]
}
# for some reason localectl doesn't work here
#menulist localectl --no-pager list-keymaps
findkeymaps()
{
- list=()
- local line
- while read line; do
- list+=("${line%.map.gz}" '')
- done < <(find /usr/share/kbd/keymaps -name '*.map.gz' -printf "%f\n" | sort -u)
- [ -n "$list" ]
+ list=()
+ local line
+ while read line; do
+ list+=("${line%.map.gz}" '')
+ done < <(find /usr/share/kbd/keymaps -name '*.map.gz' -printf "%f\n" | sort -u)
+ [ -n "$list" ]
}
findlocales()
{
- list=()
- local l locale
- # List only locales which are both in live-langset-data and glibc-locale(-base)
- for l in /usr/share/langset/*; do
- locale="${l#/usr/share/langset/}"
- [ -d "/usr/lib/locale/${locale}.utf8" ] || continue
- list+=("${locale}" '')
- done
- [ -n "$list" ]
+ list=()
+ local l locale
+ # List only locales which are both in live-langset-data and glibc-locale(-base)
+ for l in /usr/share/langset/*; do
+ locale="${l#/usr/share/langset/}"
+ [ -d "/usr/lib/locale/${locale}.utf8" ] || continue
+ list+=("${locale}" '')
+ done
+ [ -n "$list" ]
}
-if [ -z "$LOCALE_PRESET" ]; then
- default="en_US"
- [ -f /etc/locale.conf ] && locale_lang="$(awk -F= '$1 == "LANG" { split($2,fs,"."); print fs[1]; exit }' /etc/locale.conf)"
- [ -n "$locale_lang" ] && default="$locale_lang"
-
- list=() # Set by findlocales
- newlocale="$default"
- if ! findlocales; then
- d --msgbox $"No locales found" 0 0
- elif [ "${#list[@]}" -eq 2 ]; then
- newlocale="${list[0]}"
- d --msgbox $"Locale set to $newlocale.\nTo change to a different one, install glibc-locale and use\n'localectl set-locale LANG=ex_AMPLE.UTF-8'." 8 50
- else
- d --default-item "$default" --menu $"Select System Locale" 0 0 $dh_menu "${list[@]}"
- newlocale="${result}"
- fi
-
- if [ -n "$newlocale" ]; then
- locale="${newlocale}.UTF-8"
- systemd_firstboot_args+=("--locale=$locale")
-
- # Run langset to get consolefont and keymap set up
- run langset.sh $locale || warn $"Setting the locale failed"
- fi
-else
- locale="$LOCALE_PRESET"
- systemd_firstboot_args+=("--locale=$locale")
+if [ -z "$JEOS_LOCALE" ]; then
+ default="en_US"
+ [ -f /etc/locale.conf ] && locale_lang="$(awk -F= '$1 == "LANG" { split($2,fs,"."); print fs[1]; exit }' /etc/locale.conf)"
+ [ -n "$locale_lang" ] && default="$locale_lang"
+
+ list=() # Set by findlocales
+ newlocale="$default"
+ if ! findlocales; then
+ d --msgbox $"No locales found" 0 0
+ elif [ "${#list[@]}" -eq 2 ]; then
+ newlocale="${list[0]}"
+ d --msgbox $"Locale set to $newlocale.\nTo change to a different one, install glibc-locale and use\n'localectl set-locale LANG=ex_AMPLE.UTF-8'." 8 50
+ else
+ d --default-item "$default" --menu $"Select System Locale" 0 0 $dh_menu "${list[@]}"
+ newlocale="${result}"
+ fi
+
+ JEOS_LOCALE="${newlocale}.UTF-8"
fi
-if [ -z "$KEYTABLE_PRESET" ]; then
- default="us"
- [ -f /etc/vconsole.conf ] && vconsole_keymap="$(awk -F= '$1 == "KEYMAP" { split($2,fs,"."); print fs[1]; exit }' /etc/vconsole.conf)"
- [ -n "$vconsole_keymap" ] && default="$vconsole_keymap"
-
- if findkeymaps \
- && d --default-item "$default" --menu $"Select Keyboard Layout" 0 0 $dh_menu "${list[@]}"; then
- if [ -n "$result" ]; then
- keytable="$result"
-
- # Activate the selected keyboard layout
- run langset.sh "$locale" "$keytable" || warn $"Setting the keyboard layout failed"
- fi
- else
- d --msgbox $"Error setting keyboard" 0 0
- fi
-else
- keytable="$result"
+run langset.sh $JEOS_LOCALE || warn $"Setting the locale failed"
+systemd_firstboot_args+=("--locale=$JEOS_LOCALE")
+
+if [ -z "$JEOS_KEYTABLE" ]; then
+ default="us"
+ [ -f /etc/vconsole.conf ] && vconsole_keymap="$(awk -F= '$1 == "KEYMAP" { split($2,fs,"."); print fs[1]; exit }' /etc/vconsole.conf)"
+ [ -n "$vconsole_keymap" ] && default="$vconsole_keymap"
+
+ if findkeymaps \
+ && d --default-item "$default" --menu $"Select Keyboard Layout" 0 0 $dh_menu "${list[@]}"; then
+ if [ -n "$result" ]; then
+ JEOS_KEYTABLE="$result"
+ fi
+ else
+ d --msgbox $"Error setting keyboard" 0 0
+ fi
+fi
+
+if [ ! -z "$JEOS_LOCALE" -a ! -z "$JEOS_KEYTABLE" ]; then
+ # Activate the selected keyboard layout
+ run langset.sh "$JEOS_LOCALE" "$JEOS_KEYTABLE" || warn $"Setting the keyboard layout failed"
fi
-[ -n "${locale}" ] && language="${locale%%_*}" || language="en"
+[ -n "$JEOS_LOCALE" ] && language="${JEOS_LOCALE%%_*}" || language="en"
force_english_license=0
-export LANG="$locale"
+export LANG="$JEOS_LOCALE"
if [[ "$(ps h -o tty -p $$)" = tty[0-9]* ]]; then
- # Those languages can't be displayed in the console
- declare -A start_kmscon
- start_kmscon["cs"]=1
- start_kmscon["ja"]=1
- start_kmscon["zh"]=1
- start_kmscon["ko"]=1
-
- if [ -n "$locale" -a -n "${start_kmscon[${language}]+_}" ]; then
- export LOCALE_PRESET="$locale"
- export KEYTABLE_PRESET="$keytable"
-
- if kmscon_available; then
- ret_file="$(mktemp)"
- kmscon --silent --font-size 10 --palette vga --no-reset-env -l -- /bin/sh -c "$0; echo \$? > $ret_file; kill \$PPID"
- exit $(cat "$ret_file"; rm -f "$ret_file")
- elif fbiterm_available; then
- exec fbiterm -- "$0"
- else
- # No kmscon or fbiterm, fall back to english
- export LANG="en_US.UTF-8"
- force_english_license=1
- fi
- fi
+ # Those languages can't be displayed in the console
+ declare -A start_kmscon
+ start_kmscon["cs"]=1
+ start_kmscon["ja"]=1
+ start_kmscon["zh"]=1
+ start_kmscon["ko"]=1
+
+ if [ -n "$JEOS_LOCALE" -a -n "${start_kmscon[${language}]+_}" ]; then
+ if kmscon_available; then
+ ret_file="$(mktemp)"
+ kmscon --silent --font-size 10 --palette vga --no-reset-env -l -- /bin/sh -c "$0; echo \$? > $ret_file; kill \$PPID"
+ exit $(cat "$ret_file"; rm -f "$ret_file")
+ elif fbiterm_available; then
+ exec fbiterm -- "$0"
+ else
+ # No kmscon or fbiterm, fall back to english
+ export LANG="en_US.UTF-8"
+ force_english_license=1
+ fi
+ fi
fi
# Find the location of the EULA
@@ -247,67 +270,68 @@
fi
if [ -e "$EULA_FILE" -a ! -e "${EULA_FILE%/*}/no-acceptance-needed" ]; then
- if [ "$force_english_license" = "0" ]; then
- for i in "${EULA_FILE%.txt}.$locale.txt" \
- "${EULA_FILE%.txt}.${locale%%.UTF-8}.txt" \
- "${EULA_FILE%.txt}.${language}.txt"; do
- if [ -e "$i" ]; then
- EULA_FILE="$i"
- break
- fi
- done
- fi
-
- while ! dialog --backtitle "$PRETTY_NAME" --textbox "$EULA_FILE" $dh_text 85 --and-widget --yesno $"Do you agree with the terms of the license?" 0 0; do
- d --msgbox $"Well, we cannot continue then ..." 6 40
- done
+ if [ "$force_english_license" = "0" ]; then
+ for i in "${EULA_FILE%.txt}.${JEOS_LOCALE}.txt" \
+ "${EULA_FILE%.txt}.${JEOS_LOCALE%%.UTF-8}.txt" \
+ "${EULA_FILE%.txt}.${language}.txt"; do
+ if [ -e "$i" ]; then
+ EULA_FILE="$i"
+ break
+ fi
+ done
+ fi
+
+ while ! dialog --backtitle "$PRETTY_NAME" --textbox "$EULA_FILE" $dh_text 85 --and-widget --yesno $"Do you agree with the terms of the license?" 0 0; do
+ d --msgbox $"Well, we cannot continue then ..." 6 40
+ done
fi
default="$(readlink -f /etc/localtime)"
default="${default##/usr/share/zoneinfo/}"
-# timedatectl doesn't work as dbus is not up yet
-# menulist timedatectl --no-pager list-timezones
-if menulist awk \
- 'BEGIN{print "UTC"; sort="sort"}/^#/{next;}{print $3|sort}END{close(sort)}' \
- /usr/share/zoneinfo/zone.tab \
- && d --default-item "$default" --menu $"Select Time Zone" 0 0 $dh_menu "${list[@]}"; then
+if [ -z "$JEOS_TIMEZONE" ]; then
+ # timedatectl doesn't work as dbus is not up yet
+ # menulist timedatectl --no-pager list-timezones
+ if menulist awk \
+ 'BEGIN{print "UTC"; sort="sort"}/^#/{next;}{print $3|sort}END{close(sort)}' \
+ /usr/share/zoneinfo/zone.tab \
+ && d --default-item "$default" --menu $"Select Time Zone" 0 0 $dh_menu "${list[@]}"; then
if [ -n "$result" ]; then
- systemd_firstboot_args+=("--timezone=$result")
+ JEOS_TIMEZONE="$result"
+ fi
+ else
+ d --msgbox $"error setting timezone" 0 0
fi
-else
- d --msgbox $"error setting timezone" 0 0
fi
+systemd_firstboot_args+=("--timezone=$JEOS_TIMEZONE")
# systemd-firstboot does not set the timezone if it exists, langset.sh created it
run rm -f /etc/localtime
run systemd-firstboot "${systemd_firstboot_args[@]}"
-# NOTE: must be last as dialog file is used to set the password
-while true; do
- password=
- if d --insecure --passwordbox $"Enter root Password" 0 0; then
- password="$result"
- if d --insecure --passwordbox $"Confirm root Password" 0 0; then
- if [ "$password" != "$result" ]; then
- d --msgbox $"Entered passwords don't match" 5 40 || true
- continue
- fi
- # don't use that one as we need to switch locale
- #systemd_firstboot_args+=("--root-password-file=$dialog_out")
- fi
- fi
- if [ -z "$password" ]; then
- warn $"Warning: No root password set.
+if [ -z "$JEOS_PASSWORD_ALREADY_SET" ]; then
+ while true; do
+ d --insecure --passwordbox $"Enter root Password" 0 0
+ password="$result"
+ d --insecure --passwordbox $"Confirm root Password" 0 0
+ if [ "$password" != "$result" ]; then
+ d --msgbox $"Entered passwords don't match" 5 40
+ continue
+ fi
+ # don't use that one as we need to switch locale
+ #systemd_firstboot_args+=("--root-password-file=$dialog_out")
+ if [ -z "$password" ]; then
+ warn $"Warning: No root password set.
You cannot log in that way. A debug shell will be started on tty9 just this time. Use it to e.g. import your ssh key." 0 0 || true
- run systemctl start debug-shell.service
- fi
- break
-done
+ run systemctl start debug-shell.service
+ fi
+ break
+ done
+fi
if [ -x /usr/bin/SUSEConnect ]; then
- d --msgbox $"Please register this image using your existing SUSE entitlement.
+ d --msgbox $"Please register this image using your existing SUSE entitlement.
As \"root\" use the following command:
@@ -324,165 +348,57 @@
#
shopt -s nullglob
-candidates=()
for p in /sys/class/net/* ; do
- test -f "$p" && continue # skip bonding_masters file
-
- # only devices having ID_NET_NAME.* attrs
- udevadm info -q all -p "$p" | grep -qs ID_NET_NAME || continue
- d=${p##*/}
-
- unset IPADDR GATEWAYS
- eval `wicked test dhcp4 "$d" 2>/dev/null | grep -E "^IPADDR=|^GATEWAYS="`
- ip link set down "$d" # set link down after probe once done
-
- test -n "$IPADDR" && candidates+=("$d") || continue # ok, track it
- test -n "$GATEWAYS" && candidates=("$d") || continue # just use it
- break
-done
+ test -f "$p" && continue # skip bonding_masters file
-for d in ${candidates[@]} ; do
- rm -f "/etc/sysconfig/network/ifcfg-$d" || exit 1
- printf "STARTMODE=auto\nBOOTPROTO=dhcp\n" \
- > "/etc/sysconfig/network/ifcfg-$d"
- break # one is enough
+ # only devices having ID_NET_NAME.* attrs
+ udevadm info -q property -p "$p" | grep -qs ID_NET_NAME || continue
+ # But don't touch WLAN interfaces
+ udevadm info -q property -p "$p" | grep -qs "DEVTYPE=wlan" && continue
+
+ d=${p##*/}
+
+ unset IPADDR
+ eval `wicked test dhcp4 "$d" 2>/dev/null | grep -E "^IPADDR="`
+ ip link set down "$d" # set link down after probe once done
+
+ # Create a configuration file for each interface that provides
+ # an IPADDR
+ if [ -n "$IPADDR" ]; then
+ rm -f "/etc/sysconfig/network/ifcfg-$d" || exit 1
+ printf "STARTMODE=auto\nBOOTPROTO=dhcp\n" \
+ > "/etc/sysconfig/network/ifcfg-$d"
+ fi
done
-config_wireless=false
-if is_raspberry && ls -d /sys/class/net/*/wireless &>/dev/null; then
- if dialog --yesno $"Configure wireless network?" 0 0; then
- config_wireless=true
- fi
-fi
-if [ "$config_wireless" = "true" ]; then
- # Wi-fi
- #
- get_wlan_devices()
- {
- list=()
- local line
- while read line; do
- list+=("${line}" '')
- done < <(ls -d /sys/class/net/*/wireless | awk -F'/' '{ print $5 }')
- [ -n "$list" ]
- }
-
- get_wlan_networks()
- {
- list=()
- local line
- while read line; do
- list+=("${line}" '')
- done < <(ip link set $wlan_device up && iwlist $wlan_device scan|grep ESSID|cut -d':' -f2|cut -d'"' -f2|sort -u)
- [ -n "${list[*]}" ]
- }
-
- wlan_error(){
- d --title $"Error" --msgbox "$1" 0 0
- dialog --yesno $"Do you want to retry?" 0 0
- }
- while true
- do
- if get_wlan_devices && d --menu $"Select Wireless card to configure" 0 0 $dh_menu "${list[@]}"; then
- wlan_device="$result"
- else
- if wlan_error $"Error listing wlan devices"; then
- continue
- else
- break
- fi
- fi
-
- if get_wlan_networks && d --menu $"Select Wireless network to connect" 0 0 $dh_menu "${list[@]}"; then
- wlan_network="$result"
- else
- if wlan_error $"Error listing wireless networks"; then
- continue
- else
- break
- fi
- fi
-
- if d --menu $"Select authentication mode" 0 0 $dh_menu $"WPA-PSK" '' $"WPA-EAP" '' $"Open" ''; then
- wlan_auth_mode="$result"
- fi
- wlan_auth_mode_conf=
- if [ "$wlan_auth_mode" = "WPA-EAP" ]; then
- wlan_auth_mode_conf=eap
- if d --inputbox $"Username" 0 0; then
- wlan_username="$result"
- fi
- fi
- if [ "$wlan_auth_mode" = "WPA-PSK" ]; then
- wlan_auth_mode_conf=psk
- fi
- if [ "$wlan_auth_mode" = "Open" ]; then
- wlan_auth_mode_conf=open
- fi
- if [ "$wlan_auth_mode" != "Open" ]; then
- wlan_password=
- if d --insecure --passwordbox $"Password" 0 0; then
- wlan_password="$result"
- fi
- fi
- break
- done
-
- config_file=`mktemp -qt 'firstboot-XXXXXX'`
-
- cat << EOF > $config_file
-BOOTPROTO='dhcp'
-STARTMODE='auto'
-WIRELESS_AP_SCANMODE='1'
-WIRELESS_AUTH_MODE='$wlan_auth_mode_conf'
-WIRELESS_ESSID='$wlan_network'
-WIRELESS_MODE='Managed'
-EOF
-
- if [ $wlan_auth_mode = "WPA-PSK" ]; then
- echo "WIRELESS_WPA_PSK='$wlan_password'" >> $config_file
- fi
-
- if [ $wlan_auth_mode = "WPA-EAP" ]; then
- echo "WIRELESS_WPA_IDENTITY='$wlan_username'" >> $config_file
- echo "WIRELESS_WPA_PASSWORD='$wlan_password'" >> $config_file
- echo "WIRELESS_EAP_AUTH='mschapv2'" >> $config_file
- fi
-
- run mv -f $config_file /etc/sysconfig/network/ifcfg-$wlan_device
-
-fi
+call_module_hook systemd_firstboot
d --infobox $"Applying firstboot settings ..." 3 40 || true
# FIXME: systemd-firstboot doesn't set password if shadow present
if [ -n "$password" ]; then
- run echo "root:$password" | run /usr/sbin/chpasswd
+ run echo "root:$password" | run /usr/sbin/chpasswd
fi
EFI_SYSTAB="/sys/firmware/efi/systab"
# Look for EFI dir to see if the machine is booted in UEFI mode
run modprobe efivars
if ! [ -f "$EFI_SYSTAB" ]; then
- run sed -i -e "s/LOADER_TYPE=.*/LOADER_TYPE=grub2/g" /etc/sysconfig/bootloader
+ run sed -i -e "s/LOADER_TYPE=.*/LOADER_TYPE=grub2/g" /etc/sysconfig/bootloader
fi
# Test if snapper is available
-if [ -x /usr/bin/snapper ]; then
- if ! btrfs qgroup show / &>/dev/null; then
- # Run snapper to setup quota for btrfs
- run /usr/bin/snapper --no-dbus setup-quota || warn $"Could not setup quota for btrfs"
- fi
-
- if [ ! -e /.snapshots/2 ]; then
- run create_snapshot 2 "Initial Status" "yes" || true
- fi
- if [ -x /usr/lib/snapper/plugins/grub ]; then
- run /usr/lib/snapper/plugins/grub --refresh
- fi
-fi
-
-if [ "$config_wireless" = "true" ]; then
- run ifdown $wlan_device 2>/dev/null || true
- run ifup $wlan_device || true
+if [ -x /usr/bin/snapper -a "$(stat --format=%T -f /)" = "btrfs" ]; then
+ if ! btrfs qgroup show / &>/dev/null; then
+ # Run snapper to setup quota for btrfs
+ run /usr/bin/snapper --no-dbus setup-quota || warn $"Could not setup quota for btrfs"
+ fi
+
+ if [ ! -e /.snapshots/2 ]; then
+ run create_snapshot 2 "Initial Status" "yes" || true
+ fi
+ if [ -x /usr/lib/snapper/plugins/grub ]; then
+ run /usr/lib/snapper/plugins/grub --refresh
+ fi
fi
-# vim: sw=4
+
+call_module_hook post
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/lib/jeos-firstboot-functions new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/lib/jeos-firstboot-functions
--- old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/lib/jeos-firstboot-functions 2019-04-17 11:20:39.000000000 +0200
+++ new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/lib/jeos-firstboot-functions 2019-05-23 11:33:19.000000000 +0200
@@ -44,24 +44,20 @@
}
kmscon_available() {
- # kmscon itself is installed
- kmscon --help >/dev/null 2>&1 || return 1
- # At least one monospace font is available
- [ -n "$(fc-match "monospace" 2>/dev/null)" ] || return 1
+ # kmscon itself is installed
+ kmscon --help >/dev/null 2>&1 || return 1
+ # At least one monospace font is available
+ [ -n "$(fc-match "monospace" 2>/dev/null)" ] || return 1
- return 0
+ return 0
}
fbiterm_available() {
- # fbiterm itself is installed
- fbiterm --help >/dev/null 2>&1 || return 1
- # fbiterm comes with its own fallback font
+ # fbiterm itself is installed
+ fbiterm --help >/dev/null 2>&1 || return 1
+ # fbiterm comes with its own fallback font
- return 0
-}
-
-is_raspberry() {
- grep -q Raspberry /proc/device-tree/model
+ return 0
}
# vim: syntax=sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/share/defaults/jeos-firstboot.conf new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/share/defaults/jeos-firstboot.conf
--- old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/share/defaults/jeos-firstboot.conf 1970-01-01 01:00:00.000000000 +0100
+++ new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/share/defaults/jeos-firstboot.conf 2019-05-23 11:33:19.000000000 +0200
@@ -0,0 +1,18 @@
+# Example configuration file for jeos-firstboot
+
+# Valid system locale that will be used in JeOS. If empty/unset, a
+# dialog box will ask for the system locale.
+# JEOS_LOCALE='en_US'
+
+# Keyboard layout used in the system and during jeos-firstboot.
+# If empty/unset, a dialog box will ask for the keyboard layout.
+# JEOS_KEYTABLE='en'
+
+# Local timezone of the system.
+# If empty/unset, a dialog box will ask for the local timezone.
+# JEOS_TIMEZONE='UTC'
+
+# If set to a nonempty value, the dialog box for setting the
+# initial password for the root user will be skipped. In this case is
+# expected that the root password was set by other means.
+# JEOS_PASSWORD_ALREADY_SET='yes'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/share/jeos-firstboot/raspberrywifi new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/share/jeos-firstboot/raspberrywifi
--- old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/share/jeos-firstboot/raspberrywifi 1970-01-01 01:00:00.000000000 +0100
+++ new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/share/jeos-firstboot/raspberrywifi 2019-05-23 11:33:19.000000000 +0200
@@ -0,0 +1,144 @@
+# Copyright (c) 2019 SUSE LLC
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+config_wireless=false
+
+# Raspberry pi Wi-fi functions
+raspberrywifi_get_wlan_devices()
+{
+ list=()
+ local line
+ while read line; do
+ list+=("${line}" '')
+ done < <(ls -d /sys/class/net/*/wireless | awk -F'/' '{ print $5 }')
+ [ -n "$list" ]
+}
+
+raspberrywifi_get_wlan_networks()
+{
+ list=()
+ local line
+ while read line; do
+ list+=("${line}" '')
+ done < <(ip link set $wlan_device up && iwlist $wlan_device scan|grep ESSID|cut -d':' -f2|cut -d'"' -f2|sort -u)
+ [ -n "${list[*]}" ]
+}
+
+raspberrywifi_wlan_error()
+{
+ d --title $"Error" --msgbox "$1" 0 0
+ dialog --yesno $"Do you want to retry?" 0 0
+}
+
+is_raspberry()
+{
+ grep -q Raspberry /proc/device-tree/model 2> /dev/null
+}
+
+# This is called by jeos-firstboot for user
+# interaction and access to the global systemd_firstboot_args array
+raspberrywifi_systemd_firstboot()
+{
+ if is_raspberry && ls -d /sys/class/net/*/wireless &>/dev/null; then
+ if dialog --yesno $"Configure wireless network?" 0 0; then
+ config_wireless=true
+ fi
+ fi
+ [ "$config_wireless" = "true" ] || return 0
+
+ while true
+ do
+ if ! raspberrywifi_get_wlan_devices; then
+ if raspberrywifi_wlan_error $"Error listing wlan devices"; then
+ continue
+ fi
+ break
+ fi
+
+ if [ "${#list[@]}" -eq "2" ]; then
+ wlan_device="${list[0]}"
+ else
+ d --menu $"Select Wireless card to configure" 0 0 $dh_menu "${list[@]}"
+ wlan_device="${result}"
+ fi
+
+ if raspberrywifi_get_wlan_networks && d --menu $"Select Wireless network to connect" 0 0 $dh_menu "${list[@]}"; then
+ wlan_network="$result"
+ else
+ if raspberrywifi_wlan_error $"Error listing wireless networks"; then
+ continue
+ fi
+ break
+ fi
+
+ d --menu $"Select authentication mode" 0 0 $dh_menu $"WPA-PSK" '' $"WPA-EAP" '' $"Open" ''
+ wlan_auth_mode="$result"
+
+ wlan_auth_mode_conf=
+ if [ "$wlan_auth_mode" = "WPA-EAP" ]; then
+ wlan_auth_mode_conf=eap
+ d --inputbox $"Username" 0 0
+ wlan_username="$result"
+ fi
+ if [ "$wlan_auth_mode" = "WPA-PSK" ]; then
+ wlan_auth_mode_conf=psk
+ fi
+ if [ "$wlan_auth_mode" = "Open" ]; then
+ wlan_auth_mode_conf=open
+ fi
+ if [ "$wlan_auth_mode" != "Open" ]; then
+ wlan_password=
+ d --insecure --passwordbox $"Password" 0 0
+ wlan_password="$result"
+ fi
+ break
+ done
+
+ config_file=`mktemp -qt 'firstboot-XXXXXX'`
+
+ cat << EOF > $config_file
+BOOTPROTO='dhcp'
+STARTMODE='auto'
+WIRELESS_AP_SCANMODE='1'
+WIRELESS_AUTH_MODE='$wlan_auth_mode_conf'
+WIRELESS_ESSID='$wlan_network'
+WIRELESS_MODE='Managed'
+EOF
+
+ if [ $wlan_auth_mode = "WPA-PSK" ]; then
+ echo "WIRELESS_WPA_PSK='$wlan_password'" >> $config_file
+ fi
+
+ if [ $wlan_auth_mode = "WPA-EAP" ]; then
+ echo "WIRELESS_WPA_IDENTITY='$wlan_username'" >> $config_file
+ echo "WIRELESS_WPA_PASSWORD='$wlan_password'" >> $config_file
+ echo "WIRELESS_EAP_AUTH='mschapv2'" >> $config_file
+ fi
+
+ run mv -f $config_file /etc/sysconfig/network/ifcfg-$wlan_device
+}
+
+# This is called after the configuration steps finished successfully
+raspberrywifi_post()
+{
+ [ "$config_wireless" = "true" ] || return 0
+ run ifdown $wlan_device 2>/dev/null || true
+ run ifup $wlan_device || true
+}
1
0
Hello community,
here is the log from the commit of package python-py-cpuinfo for openSUSE:Factory checked in at 2019-05-27 08:36:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-py-cpuinfo (Old)
and /work/SRC/openSUSE:Factory/.python-py-cpuinfo.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-py-cpuinfo"
Mon May 27 08:36:07 2019 rev:5 rq:704967 version:5.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-py-cpuinfo/python-py-cpuinfo.changes 2019-02-08 13:47:43.858791793 +0100
+++ /work/SRC/openSUSE:Factory/.python-py-cpuinfo.new.5148/python-py-cpuinfo.changes 2019-05-27 08:36:09.107123218 +0200
@@ -1,0 +2,23 @@
+Wed May 22 13:40:11 UTC 2019 - Marketa Calabkova <mcalabkova(a)suse.com>
+
+- update to version 5.0.0
+ * Fixed Bug #117: Remove PyInstaller hacks
+ * Fixed Bug #108: Client script runs multiple times without __main__
+ * Fixed Bug #113: Add option to return results in json
+ * Fixed Bug #110: Always tries to run wmic in get_system_info.py
+ v4.0.0
+ * Fixed Bug #80: Broken when using Pyinstaller
+ * Fixed Bug #77: Get L1, L2, and L3 cache info from lscpu
+ * Fixed Bug #79: Byte formats are inconsistent
+ * Fixed Bug #81: Byte formatter breaks on non strings
+ * Fixed Bug #95: Include if Python is 32 or 64 bit in get_system_info
+ * Fixed Bug #87: lscpu gets brand field twice
+ * Fixed Bug #96: Include Python version in output
+ * Fixed Bug #85: CPUID HZ measurement is scaled wrong
+ * Fixed Bug #100: Officially drop support for Python 2.6
+ * Fixed Bug #101: Made it only check the dmesg boot log on Linux
+ v3.3.0
+ * Fixed Bug #72: Fails to parse invalid CPUID result.
+- removed remove-arch-check.patch -- testsuite runs
+
+-------------------------------------------------------------------
Old:
----
py-cpuinfo-3.1.0.tar.gz
remove-arch-check.patch
New:
----
py-cpuinfo-5.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-py-cpuinfo.spec ++++++
--- /var/tmp/diff_new_pack.5J4S1N/_old 2019-05-27 08:36:09.815122942 +0200
+++ /var/tmp/diff_new_pack.5J4S1N/_new 2019-05-27 08:36:09.819122941 +0200
@@ -19,14 +19,13 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without tests
Name: python-py-cpuinfo
-Version: 3.1.0
+Version: 5.0.0
Release: 0
Summary: Python library and tool to get CPU info
License: MIT
Group: Development/Languages/Python
URL: https://github.com/workhorsy/py-cpuinfo
Source: https://files.pythonhosted.org/packages/source/p/py-cpuinfo/py-cpuinfo-%{ve…
-Patch: remove-arch-check.patch
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -54,7 +53,6 @@
%prep
%setup -q -n py-cpuinfo-%{version}
-%patch -p1
%build
%python_build
++++++ py-cpuinfo-3.1.0.tar.gz -> py-cpuinfo-5.0.0.tar.gz ++++++
++++ 3361 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-Faker for openSUSE:Factory checked in at 2019-05-27 08:35:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Faker (Old)
and /work/SRC/openSUSE:Factory/.python-Faker.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Faker"
Mon May 27 08:35:57 2019 rev:11 rq:704961 version:1.0.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Faker/python-Faker.changes 2019-05-03 22:35:14.609082251 +0200
+++ /work/SRC/openSUSE:Factory/.python-Faker.new.5148/python-Faker.changes 2019-05-27 08:36:01.619126137 +0200
@@ -1,0 +2,14 @@
+Thu May 23 08:28:50 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 1.0.7
+ * Remove dead url from ``image_placeholder_services``. Thanks @Monstrofil.
+ * Fix missing ``first_names`` in Romanian person provider. Thanks @xlotlu.
+ * Add Catalan, adds doi/nie/nif/cif to Spain ssn. Thanks @kingbuzzman.
+ * Add ``texts`` to generate list of texts. Thanks @pishchalnikov.
+ * Add provider for ``pl_PL`` automotive and Polish pesel number. Thanks @adwojak.
+ * Corrected behavior for ``pyfloat``. Thanks @ariksu.
+ * Add missing commas to company/nl_NL provider. Thanks @francoisfreitag.
+ * Add bounds to ``pyint``. Thanks @francoisfreitag.
+ * Accept step argument in ``random_int()``. Thanks @francoisfreitag.
+
+-------------------------------------------------------------------
Old:
----
Faker-1.0.5.tar.gz
New:
----
Faker-1.0.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Faker.spec ++++++
--- /var/tmp/diff_new_pack.r300SD/_old 2019-05-27 08:36:02.443125816 +0200
+++ /var/tmp/diff_new_pack.r300SD/_new 2019-05-27 08:36:02.443125816 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define oldpython python
Name: python-Faker
-Version: 1.0.5
+Version: 1.0.7
Release: 0
Summary: Python package that generates fake data
License: MIT
++++++ Faker-1.0.5.tar.gz -> Faker-1.0.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/CHANGELOG.rst new/Faker-1.0.7/CHANGELOG.rst
--- old/Faker-1.0.5/CHANGELOG.rst 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/CHANGELOG.rst 2019-05-14 17:55:14.000000000 +0200
@@ -1,6 +1,23 @@
Changelog
=========
+`1.0.7 - 14-May-2019 <https://github.com/joke2k/faker/compare/v1.0.6...v1.0.7>`__
+---------------------------------------------------------------------------------
+
+* Remove dead url from ``image_placeholder_services``. Thanks @Monstrofil.
+* Fix missing ``first_names`` in Romanian person provider. Thanks @xlotlu.
+* Add Catalan, adds doi/nie/nif/cif to Spain ssn. Thanks @kingbuzzman.
+* Add ``texts`` to generate list of texts. Thanks @pishchalnikov.
+* Add provider for ``pl_PL`` automotive and Polish pesel number. Thanks @adwojak.
+* Corrected behavior for ``pyfloat``. Thanks @ariksu.
+
+`1.0.6 - 26-April-2019 <https://github.com/joke2k/faker/compare/v1.0.5...v1.0.6>`__
+-----------------------------------------------------------------------------------
+
+* Add missing commas to company/nl_NL provider. Thanks @francoisfreitag.
+* Add bounds to ``pyint``. Thanks @francoisfreitag.
+* Accept step argument in ``random_int()``. Thanks @francoisfreitag.
+
`1.0.5 - 12-April-2019 <https://github.com/joke2k/faker/compare/v1.0.4...v1.0.5>`__
-----------------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/Faker.egg-info/PKG-INFO new/Faker-1.0.7/Faker.egg-info/PKG-INFO
--- old/Faker-1.0.5/Faker.egg-info/PKG-INFO 2019-04-12 17:10:32.000000000 +0200
+++ new/Faker-1.0.7/Faker.egg-info/PKG-INFO 2019-05-14 18:11:36.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: Faker
-Version: 1.0.5
+Version: 1.0.7
Summary: Faker is a Python package that generates fake data for you.
Home-page: https://github.com/joke2k/faker
Author: joke2k
@@ -98,12 +98,12 @@
from faker import Faker
from faker.providers import internet
-
+
fake = Faker()
fake.add_provider(internet)
-
+
print(fake.ipv4_private())
-
+
Check the `extended docs`_ for a list of `bundled providers`_ and a list of
`community providers`_.
@@ -364,23 +364,11 @@
Tests
-----
- Installing dependencies:
-
- .. code:: bash
-
- $ pip install -e .
-
Run tests:
.. code:: bash
- $ python setup.py test
-
- or
-
- .. code:: bash
-
- $ python -m unittest -v tests
+ $ tox
Write documentation for providers:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/Faker.egg-info/SOURCES.txt new/Faker-1.0.7/Faker.egg-info/SOURCES.txt
--- old/Faker-1.0.5/Faker.egg-info/SOURCES.txt 2019-04-12 17:10:32.000000000 +0200
+++ new/Faker-1.0.7/Faker.egg-info/SOURCES.txt 2019-05-14 18:11:36.000000000 +0200
@@ -77,6 +77,7 @@
faker/providers/automotive/en_US/__init__.py
faker/providers/automotive/hu_HU/__init__.py
faker/providers/automotive/id_ID/__init__.py
+faker/providers/automotive/pl_PL/__init__.py
faker/providers/automotive/pt_BR/__init__.py
faker/providers/automotive/ru_RU/__init__.py
faker/providers/automotive/sv_SE/__init__.py
@@ -238,6 +239,7 @@
faker/providers/person/en_NZ/__init__.py
faker/providers/person/en_TH/__init__.py
faker/providers/person/en_US/__init__.py
+faker/providers/person/es_CA/__init__.py
faker/providers/person/es_ES/__init__.py
faker/providers/person/es_MX/__init__.py
faker/providers/person/et_EE/__init__.py
@@ -338,6 +340,7 @@
faker/providers/ssn/en_GB/__init__.py
faker/providers/ssn/en_IE/__init__.py
faker/providers/ssn/en_US/__init__.py
+faker/providers/ssn/es_CA/__init__.py
faker/providers/ssn/es_ES/__init__.py
faker/providers/ssn/et_EE/__init__.py
faker/providers/ssn/fi_FI/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/MANIFEST.in new/Faker-1.0.7/MANIFEST.in
--- old/Faker-1.0.5/MANIFEST.in 2019-03-11 20:05:44.000000000 +0100
+++ new/Faker-1.0.7/MANIFEST.in 2019-04-15 17:09:53.000000000 +0200
@@ -13,4 +13,3 @@
exclude build32bit.sh
prune docs
prune .circleci
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/PKG-INFO new/Faker-1.0.7/PKG-INFO
--- old/Faker-1.0.5/PKG-INFO 2019-04-12 17:10:32.000000000 +0200
+++ new/Faker-1.0.7/PKG-INFO 2019-05-14 18:11:37.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: Faker
-Version: 1.0.5
+Version: 1.0.7
Summary: Faker is a Python package that generates fake data for you.
Home-page: https://github.com/joke2k/faker
Author: joke2k
@@ -98,12 +98,12 @@
from faker import Faker
from faker.providers import internet
-
+
fake = Faker()
fake.add_provider(internet)
-
+
print(fake.ipv4_private())
-
+
Check the `extended docs`_ for a list of `bundled providers`_ and a list of
`community providers`_.
@@ -364,23 +364,11 @@
Tests
-----
- Installing dependencies:
-
- .. code:: bash
-
- $ pip install -e .
-
Run tests:
.. code:: bash
- $ python setup.py test
-
- or
-
- .. code:: bash
-
- $ python -m unittest -v tests
+ $ tox
Write documentation for providers:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/README.rst new/Faker-1.0.7/README.rst
--- old/Faker-1.0.5/README.rst 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/README.rst 2019-04-15 17:09:53.000000000 +0200
@@ -90,12 +90,12 @@
from faker import Faker
from faker.providers import internet
-
+
fake = Faker()
fake.add_provider(internet)
-
+
print(fake.ipv4_private())
-
+
Check the `extended docs`_ for a list of `bundled providers`_ and a list of
`community providers`_.
@@ -356,23 +356,11 @@
Tests
-----
-Installing dependencies:
-
-.. code:: bash
-
- $ pip install -e .
-
Run tests:
.. code:: bash
- $ python setup.py test
-
-or
-
-.. code:: bash
-
- $ python -m unittest -v tests
+ $ tox
Write documentation for providers:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/VERSION new/Faker-1.0.7/VERSION
--- old/Faker-1.0.5/VERSION 2019-04-12 17:10:21.000000000 +0200
+++ new/Faker-1.0.7/VERSION 2019-05-14 18:10:06.000000000 +0200
@@ -1 +1 @@
-1.0.5
+1.0.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/__init__.py new/Faker-1.0.7/faker/__init__.py
--- old/Faker-1.0.5/faker/__init__.py 2019-04-12 17:10:21.000000000 +0200
+++ new/Faker-1.0.7/faker/__init__.py 2019-05-14 18:10:06.000000000 +0200
@@ -1,6 +1,6 @@
from faker.generator import Generator # noqa F401
from faker.factory import Factory # noqa F401
-VERSION = '1.0.5'
+VERSION = '1.0.7'
Faker = Factory.create
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/__init__.py new/Faker-1.0.7/faker/providers/__init__.py
--- old/Faker-1.0.5/faker/providers/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/__init__.py 2019-04-15 17:09:53.000000000 +0200
@@ -93,15 +93,16 @@
def language_code(self):
return self.random_element(BaseProvider.language_locale_codes.keys())
- def random_int(self, min=0, max=9999):
+ def random_int(self, min=0, max=9999, step=1):
"""
Returns a random integer between two values.
:param min: lower bound value (inclusive; default=0)
:param max: upper bound value (inclusive; default=9999)
+ :param step: range step (default=1)
:returns: random integer between min and max
"""
- return self.generator.random.randint(min, max)
+ return self.generator.random.randrange(min, max + 1, step)
def random_digit(self):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/automotive/pl_PL/__init__.py new/Faker-1.0.7/faker/providers/automotive/pl_PL/__init__.py
--- old/Faker-1.0.5/faker/providers/automotive/pl_PL/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/automotive/pl_PL/__init__.py 2019-05-14 17:28:28.000000000 +0200
@@ -0,0 +1,28 @@
+# coding=utf-8
+
+from __future__ import unicode_literals
+from .. import Provider as AutomotiveProvider
+
+
+class Provider(AutomotiveProvider):
+ # from
+ # https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Poland
+ license_formats = (
+ '?? #####',
+ '?? ####?',
+ '?? ###??',
+ '?? #?###',
+ '?? #??##',
+ '??? ?###',
+ '??? ##??',
+ '??? #?##',
+ '??? ##?#',
+ '??? #??#',
+ '??? ??##',
+ '??? #####',
+ '??? ####?',
+ '??? ###??',
+ )
+
+ def license_plate_regex_formats(self):
+ return [plate.replace('?', '[A-Z]').replace('#', '[0-9]') for plate in self.license_formats]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/company/nl_NL/__init__.py new/Faker-1.0.7/faker/providers/company/nl_NL/__init__.py
--- old/Faker-1.0.5/faker/providers/company/nl_NL/__init__.py 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/faker/providers/company/nl_NL/__init__.py 2019-04-15 17:09:53.000000000 +0200
@@ -1,109 +1,109 @@
-# coding=utf-8
-
-from __future__ import unicode_literals
-from .. import Provider as CompanyProvider
-
-
-class Provider(CompanyProvider):
-
- formats = (
- '{{last_name}} {{company_suffix}}',
- '{{last_name}} & {{last_name}}',
- '{{company_prefix}} {{last_name}}',
- '{{large_company}}',
- )
-
- company_prefixes = (
- 'Stichting', 'Koninklijke', 'Royal',
- )
-
- company_suffixes = (
- 'BV', 'NV', 'Groep',
- )
-
- # Source: https://www.mt.nl/management/reputatie/mt-500-2018-de-lijst/559930
- large_companies = (
- 'Shell', 'Coolblue', 'ASML', 'Ahold', 'Tata Steel', 'KLM', 'Bol.com', 'BP Nederland', 'De Efteling', 'Eneco',
- 'De Persgroep', 'ING', 'Royal HaskoningDHV', 'Randstad', 'Google', 'Ikea', 'Rockwool', 'BAM', 'Achmea',
- 'Damen Shipyard', 'ABN Amro', 'Remeha Group', 'TenneT', 'Coca-Cola', 'Van Leeuwen Buizen', 'Wavin', 'Rabobank',
- 'AkzoNobel', 'Arcadis', 'AFAS', 'Cisco', 'DAF Trucks', 'DHL', 'Hanos', 'Boon Edam', 'BMW Nederland',
- 'The Greenery', 'Dutch Flower Group', 'Koninklijke Mosa', 'Yacht', 'Rituals', 'Microsoft', 'Esso',
- '3W Vastgoed', 'Deloitte', 'Corio', 'Voortman Steel Group', 'Agrifirm', 'Makro Nederland',
- 'Nederlandse Publieke Omroep', 'De Alliantie', 'Heijmans', 'McDonalds', 'ANWB', 'Mediamarkt', 'Kruidvat'
- 'Van Merksteijn Steel', 'Dura Vermeer', 'Alliander', 'Unilever', 'Enexis', 'Berenschot', 'Jumbo',
- 'Technische Unie', 'Havenbedrijf Rotterdam', 'Ballast Nedam', 'RTL Nederland', 'Talpa Media',
- 'Blauwhoed Vastgoed', 'DSM', 'Ymere', 'Witteveen+Bos', 'NS', 'Action', 'FloraHolland', 'Heineken', 'Nuon', 'EY',
- 'Dow Benelux', 'Bavaria', 'Schiphol', 'Holland Casino', 'Binck bank', 'BDO', 'HEMA', 'Alphabet Nederland',
- 'Croon Elektrotechniek', 'ASR Vastgoed ontwikkeling', 'PwC', 'Mammoet', 'KEMA', 'IBM', 'A.S. Watson',
- 'KPMG', 'VodafoneZiggo', 'YoungCapital', 'Triodos Bank', 'Aviko', 'AgruniekRijnvallei', 'Heerema', 'Accenture',
- 'Aegon', 'NXP', 'Breman Installatiegroep', 'Movares Groep', 'Q-Park', 'FleuraMetz', 'Sanoma',
- 'Bakker Logistiek', 'VDL Group', 'Bayer', 'Boskalis', 'Nutreco', 'Dell', 'Brunel', 'Exact', 'Manpower',
- 'Essent', 'Canon', 'ONVZ Zorgverzekeraar', 'Telegraaf Media Group', 'Nationale Nederlanden', 'Andus Group',
- 'Den Braven Group', 'ADP', 'ASR', 'ArboNed', 'Plieger', 'De Heus Diervoeders', 'USG People', 'Bidvest Deli XL',
- 'Apollo Vredestein', 'Tempo-Team', 'Trespa', 'Janssen Biologics', 'Starbucks', 'PostNL', 'Vanderlande',
- 'FrieslandCampina', 'Constellium', 'Huisman', 'Abbott', 'Koninklijke Boom Uitgevers', 'Bosch Rexroth', 'BASF',
- 'Audax', 'VolkerWessels', 'Hunkemöller', 'Athlon Car Lease', 'DSW Zorgverzekeraar', 'Mars',
- 'De Brauw Blackstone Westbroek', 'NDC Mediagroep', 'Bluewater', 'Stedin', 'Feenstra',
- 'Wuppermann Staal Nederland', 'Kramp', 'SABIC', 'Iv-Groep', 'Bejo Zaden', 'Wolters Kluwer', 'Nyrstar holding',
- 'Adecco', 'Tauw', 'Robeco', 'Eriks', 'Allianz Nederland Groep', 'Driessen', 'Burger King', 'Lekkerland',
- 'Van Lanschot', 'Brocacef', 'Bureau Veritas', 'Relx', 'Pathé Bioscopen', 'Bosal',
- 'Ardagh Group', 'Maandag', 'Inalfa', 'Atradius', 'Capgemini', 'Greenchoice', 'Q8 (Kuwait Petroleum Europe)',
- 'ASM International', 'Van der Valk', 'Delta Lloyd', 'GlaxoSmithKline', 'ABB',
- 'Fabory, a Grainger company', 'Veen Bosch & Keuning Uitgeversgroep', 'CZ', 'Plus', 'RET Rotterdam',
- 'Loyens & Loeff', 'Holland Trading', 'Archer Daniels Midland Nederland', 'Ten Brinke', 'NAM', 'DAS',
- 'Samsung Electronics Benelux', 'Koopman International', 'TUI', 'Lannoo Meulenhoff', 'AC Restaurants',
- 'Stage Entertainment', 'Acer', 'HDI Global SE', 'Detailresult', 'Nestle', 'GVB Amsterdam', 'Dekamarkt', 'Dirk',
- 'MSD', 'Arriva', 'Baker Tilly Berk', 'SBM Offshore', 'TomTom', 'Fujifilm', 'B&S', 'BCC', 'Gasunie',
- 'Oracle Nederland', 'Astellas Pharma', 'SKF', 'Woningstichting Eigen Haard', 'Rijk Zwaan', 'Chubb', 'Fugro',
- 'Total', 'Rochdale', 'ASVB', 'Atos', 'Acomo', 'KPN', 'Van Drie Group', 'Olympia uitzendbureau',
- 'Bacardi Nederland', 'JMW Horeca Uitzendbureau', 'Warner Bros/Eyeworks', 'Aalberts Industries', 'SNS Bank',
- 'Amtrada Holding', 'VGZ', 'Grolsch', 'Office Depot', 'De Rijke Group', 'Bovemij Verzekeringsgroep',
- 'Coop Nederland', 'Eaton Industries', 'ASN', 'Yara Sluiskil', 'HSF Logistics', 'Fokker', 'Deutsche Bank',
- 'Sweco', 'Univé Groep', 'Koninklijke Wagenborg', 'Strukton', 'Conclusion', 'Philips', 'In Person',
- 'Fluor', 'Vroegop-Windig', 'ArboUnie', 'Centraal Boekhuis', 'Siemens', 'Connexxion', 'Fujitsu', 'Consolid',
- 'AVR Afvalverwerking', 'Brabant Alucast', 'Centric', 'Havensteder', 'Novartis', 'Booking.com', 'Menzis',
- 'Frankort & Koning Groep', 'Jan de Rijk', 'Brand Loyalty Group', 'Ohra Verzekeringen', 'Terberg Group',
- 'Cloetta', 'Holland & Barrett', 'Enza Zaden', 'VION', 'Woonzorg Nederland',
- 'T-Mobile', 'Crucell', 'NautaDutilh', 'BNP Paribas', 'NIBC Bank', 'VastNed', 'CCV Holland',
- 'IHC Merwede', 'Neways', 'NSI N.V.', 'Deen', 'Accor', 'HTM', 'ITM Group', 'Ordina', 'Dümmen Orange', 'Optiver',
- 'Zara', 'L\'Oreal Nederland B.V.', 'Vinci Energies', 'Suit Supply Topco', 'Sita', 'Vos Logistics',
- 'Altran', 'St. Clair', 'BESI', 'Fiat Chrysler Automobiles', 'UPS', 'Jacobs', 'Emté', 'TBI', 'De Bijenkorf',
- 'Aldi Nederland', 'Van Wijnen', 'Vitens', 'De Goudse Verzekeringen', 'SBS Broadcasting',
- 'Sandd', 'Omron', 'Sogeti', 'Alfa Accountants & Adviseurs', 'Harvey Nash', 'Stork', 'Glencore Grain',
- 'Meijburg & Co', 'Honeywell', 'Meyn', 'Ericsson Telecommunicatie', 'Hurks', 'Mitsubishi', 'GGN',
- 'CGI Nederland', 'Staples Nederland', 'Denkavit International', 'Ecorys', 'Rexel Nederland',
- 'A. Hakpark', 'DuPont Nederland', 'CBRE Group', 'Bolsius', 'Marel', 'Metro',
- 'Flynth Adviseurs en Accountants', 'Kropman Installatietechniek', 'Kuijpers', 'Medtronic', 'Cefetra',
- 'Simon Loos', 'Citadel Enterprises', 'Intergamma', 'Ceva Logistics', 'Beter Bed', 'Subway', 'Gamma', 'Karwei'
- 'Varo Energy', 'APM Terminals', 'Center Parcs', 'Brenntag Nederland', 'NFI', 'Hoogvliet',
- 'Van Gansewinkel', 'Nedap', 'Blokker', 'Perfetti Van Melle', 'Vestia', 'Kuehne + Nagel Logistics',
- 'Rensa Group', 'NTS Group', 'Joh. Mourik & Co. Holding', 'Mercedes-Benz', 'DIT Personeel', 'Verkade',
- 'Hametha', 'Vopak', 'IFF', 'Pearle', 'Mainfreight', 'De Jong & Laan', 'DSV', 'P4People', 'Mazars', 'Cargill',
- 'Ten Brinke Groep', 'Alewijnse', 'Agio Cigars', 'Peter Appel Transport', 'Syngenta', 'Avery Dennison',
- 'Accon AVM', 'Vitol', 'Vermaat Groep', 'BMC', 'Alcatel-Lucent', 'Maxeda DIY', 'Equens',
- 'Van Gelder Groep', 'Emerson Electric Nederland', 'Bakkersland', 'Specsavers', 'E.On', 'Landal Greenparks',
- 'IMC Trading', 'Barentz Group', 'Epson', 'Raet', 'Van Oord', 'Thomas Cook Nederland', 'SDU uitgevers',
- 'Nedschroef', 'Linde Gas', 'Ewals Cargo Care', 'Theodoor Gilissen', 'TMF Group', 'Cornelis Vrolijk',
- 'Jan Linders Supermarkten', 'SIF group', 'BT Nederland', 'Kinepolis', 'Pink Elephant',
- 'General Motors Nederland', 'Carlson Wagonlit', 'Bruna', 'Docdata', 'Schenk Tanktransport', 'WPG', 'Peak-IT',
- 'Martinair', 'Reesink', 'Elopak Nederland', 'Fagron N.V.', 'OVG Groep', 'Ford Nederland', 'Multi Corporation',
- 'Simac', 'Primark', 'Tech Data Nederland', 'Vleesgroothandel Zandbergen', 'Raben Group', 'Farm Frites',
- 'Libéma', 'Caldic', 'Portaal', 'Syntus', 'Jacobs DE', 'Stena Line', 'The Phone House', 'Interfood Group',
- 'Thales', 'Teva Pharmaceuticals', 'RFS Holland', 'Aebi Schmidt Nederland',
- 'Rockwell Automation Nederland', 'Engie Services', 'Hendrix Genetics', 'Qbuzz', 'Unica',
- '2SistersFoodGroup', 'Ziut', 'Munckhof Groep', 'Spar Holding', 'Samskip', 'Continental Bakeries', 'Sligro',
- 'Merck', 'Foot Locker Europe', 'Unit4', 'PepsiCo', 'Sulzer', 'Tebodin', 'Value8', 'Boels',
- 'DKG Groep', 'Bruynzeel Keukens', 'Janssen de Jong Groep', 'ProRail', 'Solid Professionals', 'Hermes Partners',
- )
-
- def large_company(self):
- """
- :example: 'Bol.com'
- """
- return self.random_element(self.large_companies)
-
- def company_prefix(self):
- """
- :example 'Stichting'
- """
- return self.random_element(self.company_prefixes)
+# coding=utf-8
+
+from __future__ import unicode_literals
+from .. import Provider as CompanyProvider
+
+
+class Provider(CompanyProvider):
+
+ formats = (
+ '{{last_name}} {{company_suffix}}',
+ '{{last_name}} & {{last_name}}',
+ '{{company_prefix}} {{last_name}}',
+ '{{large_company}}',
+ )
+
+ company_prefixes = (
+ 'Stichting', 'Koninklijke', 'Royal',
+ )
+
+ company_suffixes = (
+ 'BV', 'NV', 'Groep',
+ )
+
+ # Source: https://www.mt.nl/management/reputatie/mt-500-2018-de-lijst/559930
+ large_companies = (
+ 'Shell', 'Coolblue', 'ASML', 'Ahold', 'Tata Steel', 'KLM', 'Bol.com', 'BP Nederland', 'De Efteling', 'Eneco',
+ 'De Persgroep', 'ING', 'Royal HaskoningDHV', 'Randstad', 'Google', 'Ikea', 'Rockwool', 'BAM', 'Achmea',
+ 'Damen Shipyard', 'ABN Amro', 'Remeha Group', 'TenneT', 'Coca-Cola', 'Van Leeuwen Buizen', 'Wavin', 'Rabobank',
+ 'AkzoNobel', 'Arcadis', 'AFAS', 'Cisco', 'DAF Trucks', 'DHL', 'Hanos', 'Boon Edam', 'BMW Nederland',
+ 'The Greenery', 'Dutch Flower Group', 'Koninklijke Mosa', 'Yacht', 'Rituals', 'Microsoft', 'Esso',
+ '3W Vastgoed', 'Deloitte', 'Corio', 'Voortman Steel Group', 'Agrifirm', 'Makro Nederland',
+ 'Nederlandse Publieke Omroep', 'De Alliantie', 'Heijmans', 'McDonalds', 'ANWB', 'Mediamarkt', 'Kruidvat'
+ 'Van Merksteijn Steel', 'Dura Vermeer', 'Alliander', 'Unilever', 'Enexis', 'Berenschot', 'Jumbo',
+ 'Technische Unie', 'Havenbedrijf Rotterdam', 'Ballast Nedam', 'RTL Nederland', 'Talpa Media',
+ 'Blauwhoed Vastgoed', 'DSM', 'Ymere', 'Witteveen+Bos', 'NS', 'Action', 'FloraHolland', 'Heineken', 'Nuon', 'EY',
+ 'Dow Benelux', 'Bavaria', 'Schiphol', 'Holland Casino', 'Binck bank', 'BDO', 'HEMA', 'Alphabet Nederland',
+ 'Croon Elektrotechniek', 'ASR Vastgoed ontwikkeling', 'PwC', 'Mammoet', 'KEMA', 'IBM', 'A.S. Watson',
+ 'KPMG', 'VodafoneZiggo', 'YoungCapital', 'Triodos Bank', 'Aviko', 'AgruniekRijnvallei', 'Heerema', 'Accenture',
+ 'Aegon', 'NXP', 'Breman Installatiegroep', 'Movares Groep', 'Q-Park', 'FleuraMetz', 'Sanoma',
+ 'Bakker Logistiek', 'VDL Group', 'Bayer', 'Boskalis', 'Nutreco', 'Dell', 'Brunel', 'Exact', 'Manpower',
+ 'Essent', 'Canon', 'ONVZ Zorgverzekeraar', 'Telegraaf Media Group', 'Nationale Nederlanden', 'Andus Group',
+ 'Den Braven Group', 'ADP', 'ASR', 'ArboNed', 'Plieger', 'De Heus Diervoeders', 'USG People', 'Bidvest Deli XL',
+ 'Apollo Vredestein', 'Tempo-Team', 'Trespa', 'Janssen Biologics', 'Starbucks', 'PostNL', 'Vanderlande',
+ 'FrieslandCampina', 'Constellium', 'Huisman', 'Abbott', 'Koninklijke Boom Uitgevers', 'Bosch Rexroth', 'BASF',
+ 'Audax', 'VolkerWessels', 'Hunkemöller', 'Athlon Car Lease', 'DSW Zorgverzekeraar', 'Mars',
+ 'De Brauw Blackstone Westbroek', 'NDC Mediagroep', 'Bluewater', 'Stedin', 'Feenstra',
+ 'Wuppermann Staal Nederland', 'Kramp', 'SABIC', 'Iv-Groep', 'Bejo Zaden', 'Wolters Kluwer', 'Nyrstar holding',
+ 'Adecco', 'Tauw', 'Robeco', 'Eriks', 'Allianz Nederland Groep', 'Driessen', 'Burger King', 'Lekkerland',
+ 'Van Lanschot', 'Brocacef', 'Bureau Veritas', 'Relx', 'Pathé Bioscopen', 'Bosal',
+ 'Ardagh Group', 'Maandag', 'Inalfa', 'Atradius', 'Capgemini', 'Greenchoice', 'Q8 (Kuwait Petroleum Europe)',
+ 'ASM International', 'Van der Valk', 'Delta Lloyd', 'GlaxoSmithKline', 'ABB',
+ 'Fabory, a Grainger company', 'Veen Bosch & Keuning Uitgeversgroep', 'CZ', 'Plus', 'RET Rotterdam',
+ 'Loyens & Loeff', 'Holland Trading', 'Archer Daniels Midland Nederland', 'Ten Brinke', 'NAM', 'DAS',
+ 'Samsung Electronics Benelux', 'Koopman International', 'TUI', 'Lannoo Meulenhoff', 'AC Restaurants',
+ 'Stage Entertainment', 'Acer', 'HDI Global SE', 'Detailresult', 'Nestle', 'GVB Amsterdam', 'Dekamarkt', 'Dirk',
+ 'MSD', 'Arriva', 'Baker Tilly Berk', 'SBM Offshore', 'TomTom', 'Fujifilm', 'B&S', 'BCC', 'Gasunie',
+ 'Oracle Nederland', 'Astellas Pharma', 'SKF', 'Woningstichting Eigen Haard', 'Rijk Zwaan', 'Chubb', 'Fugro',
+ 'Total', 'Rochdale', 'ASVB', 'Atos', 'Acomo', 'KPN', 'Van Drie Group', 'Olympia uitzendbureau',
+ 'Bacardi Nederland', 'JMW Horeca Uitzendbureau', 'Warner Bros/Eyeworks', 'Aalberts Industries', 'SNS Bank',
+ 'Amtrada Holding', 'VGZ', 'Grolsch', 'Office Depot', 'De Rijke Group', 'Bovemij Verzekeringsgroep',
+ 'Coop Nederland', 'Eaton Industries', 'ASN', 'Yara Sluiskil', 'HSF Logistics', 'Fokker', 'Deutsche Bank',
+ 'Sweco', 'Univé Groep', 'Koninklijke Wagenborg', 'Strukton', 'Conclusion', 'Philips', 'In Person',
+ 'Fluor', 'Vroegop-Windig', 'ArboUnie', 'Centraal Boekhuis', 'Siemens', 'Connexxion', 'Fujitsu', 'Consolid',
+ 'AVR Afvalverwerking', 'Brabant Alucast', 'Centric', 'Havensteder', 'Novartis', 'Booking.com', 'Menzis',
+ 'Frankort & Koning Groep', 'Jan de Rijk', 'Brand Loyalty Group', 'Ohra Verzekeringen', 'Terberg Group',
+ 'Cloetta', 'Holland & Barrett', 'Enza Zaden', 'VION', 'Woonzorg Nederland',
+ 'T-Mobile', 'Crucell', 'NautaDutilh', 'BNP Paribas', 'NIBC Bank', 'VastNed', 'CCV Holland',
+ 'IHC Merwede', 'Neways', 'NSI N.V.', 'Deen', 'Accor', 'HTM', 'ITM Group', 'Ordina', 'Dümmen Orange', 'Optiver',
+ 'Zara', 'L\'Oreal Nederland B.V.', 'Vinci Energies', 'Suit Supply Topco', 'Sita', 'Vos Logistics',
+ 'Altran', 'St. Clair', 'BESI', 'Fiat Chrysler Automobiles', 'UPS', 'Jacobs', 'Emté', 'TBI', 'De Bijenkorf',
+ 'Aldi Nederland', 'Van Wijnen', 'Vitens', 'De Goudse Verzekeringen', 'SBS Broadcasting',
+ 'Sandd', 'Omron', 'Sogeti', 'Alfa Accountants & Adviseurs', 'Harvey Nash', 'Stork', 'Glencore Grain',
+ 'Meijburg & Co', 'Honeywell', 'Meyn', 'Ericsson Telecommunicatie', 'Hurks', 'Mitsubishi', 'GGN',
+ 'CGI Nederland', 'Staples Nederland', 'Denkavit International', 'Ecorys', 'Rexel Nederland',
+ 'A. Hakpark', 'DuPont Nederland', 'CBRE Group', 'Bolsius', 'Marel', 'Metro',
+ 'Flynth Adviseurs en Accountants', 'Kropman Installatietechniek', 'Kuijpers', 'Medtronic', 'Cefetra',
+ 'Simon Loos', 'Citadel Enterprises', 'Intergamma', 'Ceva Logistics', 'Beter Bed', 'Subway', 'Gamma', 'Karwei'
+ 'Varo Energy', 'APM Terminals', 'Center Parcs', 'Brenntag Nederland', 'NFI', 'Hoogvliet',
+ 'Van Gansewinkel', 'Nedap', 'Blokker', 'Perfetti Van Melle', 'Vestia', 'Kuehne + Nagel Logistics',
+ 'Rensa Group', 'NTS Group', 'Joh. Mourik & Co. Holding', 'Mercedes-Benz', 'DIT Personeel', 'Verkade',
+ 'Hametha', 'Vopak', 'IFF', 'Pearle', 'Mainfreight', 'De Jong & Laan', 'DSV', 'P4People', 'Mazars', 'Cargill',
+ 'Ten Brinke Groep', 'Alewijnse', 'Agio Cigars', 'Peter Appel Transport', 'Syngenta', 'Avery Dennison',
+ 'Accon AVM', 'Vitol', 'Vermaat Groep', 'BMC', 'Alcatel-Lucent', 'Maxeda DIY', 'Equens',
+ 'Van Gelder Groep', 'Emerson Electric Nederland', 'Bakkersland', 'Specsavers', 'E.On', 'Landal Greenparks',
+ 'IMC Trading', 'Barentz Group', 'Epson', 'Raet', 'Van Oord', 'Thomas Cook Nederland', 'SDU uitgevers',
+ 'Nedschroef', 'Linde Gas', 'Ewals Cargo Care', 'Theodoor Gilissen', 'TMF Group', 'Cornelis Vrolijk',
+ 'Jan Linders Supermarkten', 'SIF group', 'BT Nederland', 'Kinepolis', 'Pink Elephant',
+ 'General Motors Nederland', 'Carlson Wagonlit', 'Bruna', 'Docdata', 'Schenk Tanktransport', 'WPG', 'Peak-IT',
+ 'Martinair', 'Reesink', 'Elopak Nederland', 'Fagron N.V.', 'OVG Groep', 'Ford Nederland', 'Multi Corporation',
+ 'Simac', 'Primark', 'Tech Data Nederland', 'Vleesgroothandel Zandbergen', 'Raben Group', 'Farm Frites',
+ 'Libéma', 'Caldic', 'Portaal', 'Syntus', 'Jacobs DE', 'Stena Line', 'The Phone House', 'Interfood Group',
+ 'Thales', 'Teva Pharmaceuticals', 'RFS Holland', 'Aebi Schmidt Nederland',
+ 'Rockwell Automation Nederland', 'Engie Services', 'Hendrix Genetics', 'Qbuzz', 'Unica',
+ '2SistersFoodGroup', 'Ziut', 'Munckhof Groep', 'Spar Holding', 'Samskip', 'Continental Bakeries', 'Sligro',
+ 'Merck', 'Foot Locker Europe', 'Unit4', 'PepsiCo', 'Sulzer', 'Tebodin', 'Value8', 'Boels',
+ 'DKG Groep', 'Bruynzeel Keukens', 'Janssen de Jong Groep', 'ProRail', 'Solid Professionals', 'Hermes Partners',
+ )
+
+ def large_company(self):
+ """
+ :example: 'Bol.com'
+ """
+ return self.random_element(self.large_companies)
+
+ def company_prefix(self):
+ """
+ :example 'Stichting'
+ """
+ return self.random_element(self.company_prefixes)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/internet/__init__.py new/Faker-1.0.7/faker/providers/internet/__init__.py
--- old/Faker-1.0.5/faker/providers/internet/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/internet/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -111,8 +111,6 @@
'{{url}}{{uri_path}}/{{uri_page}}{{uri_extension}}',
)
image_placeholder_services = (
- 'https://placeholdit.imgix.net/~text'
- '?txtsize=55&txt={width}x{height}&w={width}&h={height}',
'https://www.lorempixel.com/{width}/{height}',
'https://dummyimage.com/{width}x{height}',
'https://placekitten.com/{width}/{height}',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/lorem/__init__.py new/Faker-1.0.7/faker/providers/lorem/__init__.py
--- old/Faker-1.0.5/faker/providers/lorem/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/lorem/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -196,3 +196,16 @@
text.pop()
return "".join(text)
+
+ def texts(self, nb_texts=3, max_nb_chars=200, ext_word_list=None):
+ """
+ Generate an array of texts
+ :example [text1, text2, text3]
+ :param nb_texts: How many texts to return
+ :param max_nb_chars: Maximum number of characters the text should contain (minimum 5)
+ :param ext_word_list: a list of words you would like to have instead of 'Lorem ipsum'.
+
+ :rtype: list
+ """
+ return [self.text(max_nb_chars, ext_word_list)
+ for _ in range(0, nb_texts)]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/person/es_CA/__init__.py new/Faker-1.0.7/faker/providers/person/es_CA/__init__.py
--- old/Faker-1.0.5/faker/providers/person/es_CA/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/person/es_CA/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -0,0 +1,92 @@
+# coding=utf-8
+from __future__ import unicode_literals
+from ..es_ES import Provider as PersonProvider
+
+
+class Provider(PersonProvider):
+ """
+ Adds popular Catalan names.
+ https://www.idescat.cat/pub/?id=aec&n=946&lang=es&t=2018
+ https://www.idescat.cat/pub/?id=aec&n=947&lang=es&t=2018
+ """
+ first_names_male = (
+ 'Adam',
+ 'Albert',
+ 'Aleix',
+ 'Álex',
+ 'Antonio',
+ 'Arnau',
+ 'Biel',
+ 'Bruno',
+ 'Carlos',
+ 'Daniel',
+ 'David',
+ 'Enzo',
+ 'Èric',
+ 'Francisco',
+ 'Hugo',
+ 'Jan',
+ 'Javier',
+ 'Joan',
+ 'Jordi',
+ 'Jorge',
+ 'Josep',
+ 'José',
+ 'José María',
+ 'Juan',
+ 'Leo',
+ 'Lucas',
+ 'Manuel',
+ 'Marc',
+ 'Martí',
+ 'Max',
+ 'Miguel',
+ 'Nil',
+ 'Pau',
+ 'Pedro',
+ 'Pol',
+ 'Ramón',
+ 'Xavier')
+
+ first_names_female = (
+ 'Abril',
+ 'Aina',
+ 'Ana',
+ 'Anna',
+ 'Antonia',
+ 'Antònia',
+ 'Arlet',
+ 'Carla',
+ 'Carmen',
+ 'Chlóe',
+ 'Clàudia',
+ 'Cristina',
+ 'Dolores',
+ 'Emma',
+ 'Francisca',
+ 'Isabel',
+ 'Jana',
+ 'Josefa',
+ 'Júlia',
+ 'Laia',
+ 'Laura',
+ 'Lucia',
+ 'Marta',
+ 'Martina',
+ 'María',
+ 'María Del Carmen',
+ 'María Dolores',
+ 'María Teresa',
+ 'Mia',
+ 'Montserrat',
+ 'Noa',
+ 'Núria',
+ 'Ona',
+ 'Paula',
+ 'Rosa',
+ 'Sara',
+ 'Sofía',
+ 'Sílvia',
+ 'Valèria')
+
+ first_names = first_names_male + first_names_female
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/person/pl_PL/__init__.py new/Faker-1.0.7/faker/providers/person/pl_PL/__init__.py
--- old/Faker-1.0.5/faker/providers/person/pl_PL/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/person/pl_PL/__init__.py 2019-05-14 17:28:28.000000000 +0200
@@ -21,6 +21,28 @@
return check_digit
+def generate_pesel_checksum_value(pesel_digits):
+ """
+ Calculates and returns a control digit for given PESEL.
+ """
+ checksum_values = [9, 7, 3, 1, 9, 7, 3, 1, 9, 7]
+
+ checksum = sum((int(a) * b for a, b in zip(list(pesel_digits), checksum_values)))
+
+ return checksum % 10
+
+
+def checksum_pesel_number(pesel_digits):
+ """
+ Calculates and returns True if PESEL is valid.
+ """
+ checksum_values = [1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 1]
+
+ checksum = sum((int(a) * b for a, b in zip(list(pesel_digits), checksum_values)))
+
+ return checksum % 10 == 0
+
+
class Provider(PersonProvider):
formats = (
'{{first_name}} {{last_name}}',
@@ -702,3 +724,31 @@
identity[3] = checksum_identity_card_number(identity)
return ''.join(str(character) for character in identity)
+
+ def pesel(self):
+ """
+ Returns 11 characters of Universal Electronic System for Registration of the Population.
+ Polish: Powszechny Elektroniczny System Ewidencji Ludności.
+
+ PESEL has 11 digits which identifies just one person.
+ Month: if person was born in 1900-2000, december is 12. If person was born > 2000, we have to add 20 to month,
+ so december is 32.
+ Person id: last digit identifies person's sex. Even for females, odd for males.
+
+ https://en.wikipedia.org/wiki/PESEL
+ """
+
+ birth = self.generator.date_of_birth()
+
+ year_pesel = str(birth.year)[-2:]
+ month_pesel = birth.month if birth.year < 2000 else birth.month + 20
+ day_pesel = birth.day
+ person_id = self.random_int(1000, 9999)
+
+ current_pesel = '{year}{month:02d}{day:02d}{person_id:04d}'.format(year=year_pesel, month=month_pesel,
+ day=day_pesel,
+ person_id=person_id)
+
+ checksum_value = generate_pesel_checksum_value(current_pesel)
+ return '{pesel_without_checksum}{checksum_value}'.format(pesel_without_checksum=current_pesel,
+ checksum_value=checksum_value)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/person/ro_RO/__init__.py new/Faker-1.0.7/faker/providers/person/ro_RO/__init__.py
--- old/Faker-1.0.5/faker/providers/person/ro_RO/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/person/ro_RO/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -104,6 +104,8 @@
'Vasilică', 'Veniamin', 'Vicențiu', 'Victor', 'Vincențiu', 'Viorel', 'Visarion', 'Vlad', 'Vladimir', 'Vlaicu',
'Voicu', 'Zamfir', 'Zeno')
+ first_names = first_names_female + first_names_male
+
# sources: https://ro.wikipedia.org/wiki/Lista_celor_mai_uzuale_nume_de_familie#Rom%C3…
last_names = (
'Aanei', 'Ababei', 'Albu', 'Ardelean', 'Barbu', 'Cristea', 'Diaconescu', 'Diaconu', 'Dima', 'Dinu', 'Dobre',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/python/__init__.py new/Faker-1.0.7/faker/providers/python/__init__.py
--- old/Faker-1.0.5/faker/providers/python/__init__.py 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/faker/providers/python/__init__.py 2019-05-14 17:28:28.000000000 +0200
@@ -53,8 +53,7 @@
self.random_int(1, sys.float_info.dig))
right_digits = right_digits if right_digits is not None else (
self.random_int(0, sys.float_info.dig - left_digits))
- sign = 1 if positive else self.random_element((-1, 1))
-
+ sign = ''
if (min_value is not None) or (max_value is not None):
if min_value is None:
min_value = max_value - self.random_int()
@@ -63,15 +62,17 @@
left_number = self.random_int(min_value, max_value)
else:
- left_number = sign * self.random_number(left_digits)
+ sign = '+' if positive else self.random_element(('+', '-'))
+ left_number = self.random_number(left_digits)
- return float("{0}.{1}".format(
+ return float("{0}{1}.{2}".format(
+ sign,
left_number,
self.random_number(right_digits),
))
- def pyint(self):
- return self.generator.random_int()
+ def pyint(self, min=0, max=9999, step=1):
+ return self.generator.random_int(min, max, step=step)
def pydecimal(self, left_digits=None, right_digits=None, positive=False,
min_value=None, max_value=None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/ssn/es_CA/__init__.py new/Faker-1.0.7/faker/providers/ssn/es_CA/__init__.py
--- old/Faker-1.0.5/faker/providers/ssn/es_CA/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/ssn/es_CA/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -0,0 +1,10 @@
+# coding=utf-8
+from ..es_ES import Provider as BaseProvider
+
+
+class Provider(BaseProvider):
+ """
+ A Faker provider for the Spanish VAT IDs and DOIs
+ """
+
+ pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/ssn/es_ES/__init__.py new/Faker-1.0.7/faker/providers/ssn/es_ES/__init__.py
--- old/Faker-1.0.5/faker/providers/ssn/es_ES/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/ssn/es_ES/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -1,10 +1,12 @@
# coding=utf-8
+import random
+
from .. import Provider as BaseProvider
class Provider(BaseProvider):
"""
- A Faker provider for the Spanish VAT IDs
+ A Faker provider for the Spanish VAT IDs and DOIs
"""
vat_id_formats = (
@@ -20,3 +22,86 @@
"""
return self.bothify(self.random_element(self.vat_id_formats))
+
+ def nie(self):
+ """
+ https://es.wikipedia.org/wiki/N%C3%BAmero_de_identidad_de_extranjero
+ :return: a random Spanish NIE
+ """
+
+ first_chr = random.randrange(0, 3)
+ doi_body = str(random.randrange(0, 10000000)).zfill(7)
+ control = self._calculate_control_doi(str(first_chr) + doi_body)
+ return "XYZ"[first_chr] + doi_body + control
+
+ def nif(self):
+ """
+ https://es.wikipedia.org/wiki/N%C3%BAmero_de_identificaci%C3%B3n_fiscal
+ :return: NIF
+ """
+
+ nie_body = str(random.randrange(0, 100000000)) # generate a number of a maximum of 8 characters long
+ return nie_body.zfill(8) + self._calculate_control_doi(nie_body)
+
+ def cif(self):
+ """
+ https://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal
+ :return: a random Spanish CIF
+ """
+
+ first_chr = random.choice('ABCDEFGHJNPQRSUVW')
+ doi_body = str(random.randrange(0, 10000000)).zfill(7)
+ cif = first_chr + doi_body
+ return cif + self._calculate_control_cif(cif)
+
+ def doi(self):
+ """
+ https://es.wikipedia.org/wiki/Identificador_de_objeto_digital
+ :return: a random Spanish CIF or NIE or NIF
+ """
+
+ return random.choice([self.cif, self.nie, self.nif])()
+
+ @staticmethod
+ def _calculate_control_doi(doi):
+ """
+ Calculate the letter that corresponds to the end of a DOI
+ :param doi: calculated value so far needing a control character
+ :return: DOI control character
+ """
+
+ lookup = 'TRWAGMYFPDXBNJZSQVHLCKE'
+ return lookup[int(doi) % 23]
+
+ @classmethod
+ def _calculate_control_cif(cls, cif):
+ """
+ Calculate the letter that corresponds to the end of a CIF
+ :param cif: calculated value so far needing a control character
+ :return: CIF control character
+
+ Code was converted from the minified js of: https://generadordni.es/
+ """
+
+ sum_ = 0
+ first_chr, cif_value = cif[0], cif[1:]
+ for index, char in enumerate(cif_value):
+ if index % 2:
+ sum_ += int(char)
+ else:
+ sum_ += sum(map(int, str(int(char) * 2)))
+ if sum_ > 10:
+ sum_ = int(str(sum_)[-1])
+ else:
+ sum_ = sum_
+ sum_ = 10 - (sum_ % 10)
+
+ if first_chr in ['F', 'J', 'K', 'N', 'P', 'Q', 'R', 'S', 'U', 'V', 'W']:
+ return chr(64 + sum_)
+ elif first_chr in ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'L', 'M']:
+ if sum_ == 10:
+ sum_ = 0
+ return str(sum_)
+ else: # K, L, M # pragma: no cover
+ # Old format that is no longer used, here for full compatability
+ return cls._calculate_control_doi(cif) # pragma: no cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/setup.py new/Faker-1.0.7/setup.py
--- old/Faker-1.0.5/setup.py 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/setup.py 2019-05-14 17:28:28.000000000 +0200
@@ -71,9 +71,9 @@
tests_require=[
"email_validator>=1.0.1,<1.1.0",
"ukpostcodeparser>=1.1.1",
- "mock",
+ "mock ; python_version < '3.3'",
"pytest>=3.8.0,<3.9",
- "more-itertools<6.0.0",
+ "more-itertools<6.0.0 ; python_version < '3.0'",
"random2==1.0.1",
"freezegun==0.3.11",
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/providers/test_automotive.py new/Faker-1.0.7/tests/providers/test_automotive.py
--- old/Faker-1.0.5/tests/providers/test_automotive.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/tests/providers/test_automotive.py 2019-05-14 17:28:28.000000000 +0200
@@ -49,3 +49,15 @@
def test_sv_SE_plate_format(self):
plate = self.factory.license_plate()
assert re.match(r"[A-Z]{3} \d{2}[\dA-Z]{1}", plate), "%s is not in the correct format." % plate
+
+
+class TestPlPL(unittest.TestCase):
+
+ def setUp(self):
+ self.factory = Faker('pl_PL')
+
+ def test_pl_PL_plate_format(self):
+ plate = self.factory.license_plate()
+ patterns = self.factory.license_plate_regex_formats()
+ assert re.match(r'{patterns}'.format(patterns='|'.join(patterns)),
+ plate), '{plate} is not the correct format.'.format(plate=plate)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/providers/test_internet.py new/Faker-1.0.7/tests/providers/test_internet.py
--- old/Faker-1.0.5/tests/providers/test_internet.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/tests/providers/test_internet.py 2019-05-14 17:28:28.000000000 +0200
@@ -5,8 +5,10 @@
from itertools import cycle
import unittest
-
-import mock
+try:
+ from unittest import mock
+except ImportError:
+ import mock
import pytest
import six
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/providers/test_person.py new/Faker-1.0.7/tests/providers/test_person.py
--- old/Faker-1.0.5/tests/providers/test_person.py 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/tests/providers/test_person.py 2019-05-14 17:28:28.000000000 +0200
@@ -16,6 +16,7 @@
from faker.providers.person.cs_CZ import Provider as CsCZProvider
from faker.providers.person.pl_PL import (
checksum_identity_card_number as pl_checksum_identity_card_number,
+ checksum_pesel_number as pl_checksum_pesel_number,
)
from faker.providers.person.zh_CN import Provider as ZhCNProvider
from faker.providers.person.zh_TW import Provider as ZhTWProvider
@@ -206,6 +207,14 @@
for _ in range(100):
assert re.search(r'^[A-Z]{3}\d{6}$', self.factory.identity_card_number())
+ def test_pesel_number_checksum(self):
+ assert pl_checksum_pesel_number('31090655159') is True
+ assert pl_checksum_pesel_number('95030853577') is True
+ assert pl_checksum_pesel_number('05260953442') is True
+ assert pl_checksum_pesel_number('31090655158') is False
+ assert pl_checksum_pesel_number('95030853576') is False
+ assert pl_checksum_pesel_number('05260953441') is False
+
class TestCsCZ(unittest.TestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/providers/test_python.py new/Faker-1.0.7/tests/providers/test_python.py
--- old/Faker-1.0.5/tests/providers/test_python.py 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/tests/providers/test_python.py 2019-04-15 17:10:34.000000000 +0200
@@ -5,6 +5,33 @@
from faker import Faker
+class TestPyint(unittest.TestCase):
+ def setUp(self):
+ self.factory = Faker()
+
+ def test_pyint(self):
+ self.assertIsInstance(self.factory.pyint(), int)
+
+ def test_pyint_bounds(self):
+ self.assertTrue(0 <= self.factory.pyint() <= 9999)
+
+ def test_pyint_step(self):
+ random_int = self.factory.pyint(step=2)
+ self.assertEqual(0, random_int % 2)
+
+ def test_pyint_bound_0(self):
+ self.assertEqual(0, self.factory.pyint(min=0, max=0))
+
+ def test_pyint_bound_positive(self):
+ self.assertEqual(5, self.factory.pyint(min=5, max=5))
+
+ def test_pyint_bound_negative(self):
+ self.assertEqual(-5, self.factory.pyint(min=-5, max=-5))
+
+ def test_pyint_range(self):
+ self.assertTrue(0 <= self.factory.pyint(min=0, max=2) <= 2)
+
+
class TestPyfloat(unittest.TestCase):
def setUp(self):
self.factory = Faker()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/providers/test_ssn.py new/Faker-1.0.7/tests/providers/test_ssn.py
--- old/Faker-1.0.5/tests/providers/test_ssn.py 2019-03-12 16:19:53.000000000 +0100
+++ new/Faker-1.0.7/tests/providers/test_ssn.py 2019-05-08 18:02:39.000000000 +0200
@@ -268,6 +268,92 @@
self.factory.ssn(taxpayer_identification_number_type='ssn')
+def nif_nie_validation(doi, number_by_letter, special_cases):
+ """
+ Validate if the doi is a NIF or a NIE.
+ :param doi: DOI to validate.
+ :return: boolean if it's valid.
+ """
+ doi = doi.upper()
+ if doi in special_cases:
+ return False
+
+ table = 'TRWAGMYFPDXBNJZSQVHLCKE'
+
+ if len(doi) == 9:
+ control = doi[8]
+
+ # If it is not a DNI, convert the first letter to the corresponding digit
+ numbers = number_by_letter.get(doi[0], doi[0]) + doi[1:8]
+
+ return numbers.isdigit() and control == table[int(numbers) % 23]
+
+ return False
+
+
+def is_cif(doi):
+ """
+ Validate if the doi is a CIF.
+ :param doi: DOI to validate.
+ :return: boolean if it's valid.
+ """
+ doi = doi.upper()
+
+ if len(doi) != 9:
+ return False
+
+ table = 'JABCDEFGHI'
+ first_chr = doi[0]
+ doi_body = doi[1:8]
+ control = doi[8]
+
+ if not doi_body.isdigit():
+ return False
+
+ # Multiply each each odd position doi digit by 2 and sum it all together
+ odd_result = sum(int(x) for x in ''.join(str(int(x) * 2) for x in doi_body[0::2]))
+ # Sum all even doi digits
+ even_result = sum(map(int, doi_body[1::2]))
+
+ res = (10 - (even_result + odd_result) % 10) % 10
+
+ if first_chr in 'ABEH': # Number type
+ return str(res) == control
+ elif first_chr in 'PSQW': # Letter type
+ return table[res] == control
+ elif first_chr not in 'CDFGJNRUV':
+ return False
+
+ return control == str(res) or control == table[res]
+
+
+def is_nif(doi):
+ """
+ Validate if the doi is a NIF.
+ :param doi: DOI to validate.
+ :return: boolean if it's valid.
+ """
+ number_by_letter = {'L': '0', 'M': '0', 'K': '0'}
+ special_cases = ['X0000000T', '00000000T', '00000001R', '00000001R']
+ return nif_nie_validation(doi, number_by_letter, special_cases)
+
+
+def is_nie(doi):
+ """
+ Validate if the doi is a NIE.
+ :param doi: DOI to validate.
+ :return: boolean if it's valid.
+ """
+ number_by_letter = {'X': '0', 'Y': '1', 'Z': '2'}
+ special_cases = ['X0000000T']
+
+ # NIE must must start with X Y or Z
+ if not doi or doi[0] not in number_by_letter.keys():
+ return False
+
+ return nif_nie_validation(doi, number_by_letter, special_cases)
+
+
class TestEsES(unittest.TestCase):
def setUp(self):
self.factory = Faker('es_ES')
@@ -276,6 +362,26 @@
for _ in range(100):
assert re.search(r'^ES\w\d{8}$|^ES\d{8}\w$|^ES\w\d{7}\w$', self.factory.vat_id())
+ def test_nie(self):
+ for _ in range(100):
+ assert is_nie(self.factory.nie())
+
+ def test_nif(self):
+ for _ in range(100):
+ assert is_nif(self.factory.nif())
+
+ def test_cif(self):
+ for _ in range(100):
+ assert is_cif(self.factory.cif())
+
+ def test_doi(self):
+ assert len(self.factory.doi()) == 9
+
+
+class TestEsCA(TestEsES):
+ def setUp(self):
+ self.factory = Faker('es_CA')
+
class TestEtEE(unittest.TestCase):
""" Tests SSN in the et_EE locale """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/test_factory.py new/Faker-1.0.7/tests/test_factory.py
--- old/Faker-1.0.5/tests/test_factory.py 2019-03-05 21:15:19.000000000 +0100
+++ new/Faker-1.0.7/tests/test_factory.py 2019-05-14 17:28:28.000000000 +0200
@@ -410,6 +410,30 @@
assert word not in checked_words
checked_words.append(word)
+ def test_texts_count(self):
+ faker = Faker()
+
+ texts_count = 5
+ assert texts_count == len(faker.texts(nb_texts=texts_count))
+
+ def test_texts_chars_count(self):
+ faker = Faker()
+
+ chars_count = 5
+ for faker_text in faker.texts(max_nb_chars=chars_count):
+ assert chars_count >= len(faker_text)
+
+ def test_texts_word_list(self):
+ faker = Faker()
+
+ word_list = [
+ 'test',
+ 'faker',
+ ]
+ for faker_text in faker.texts(ext_word_list=word_list):
+ for word in word_list:
+ assert word in faker_text.lower()
+
def test_random_pystr_characters(self):
from faker.providers.python import Provider
provider = Provider(self.generator)
@@ -436,6 +460,13 @@
with pytest.raises(ValueError):
provider.pyfloat(left_digits=0, right_digits=0)
+ def test_negative_pyfloat(self):
+ # tests for https://github.com/joke2k/faker/issues/813
+ factory = Faker()
+ factory.seed_instance(32167)
+ assert any(factory.pyfloat(left_digits=0, positive=False) < 0 for _ in range(100))
+ assert any(factory.pydecimal(left_digits=0, positive=False) < 0 for _ in range(100))
+
def test_us_ssn_valid(self):
from faker.providers.ssn.en_US import Provider
1
0
Hello community,
here is the log from the commit of package python-CommonMark for openSUSE:Factory checked in at 2019-05-27 08:35:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-CommonMark (Old)
and /work/SRC/openSUSE:Factory/.python-CommonMark.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-CommonMark"
Mon May 27 08:35:51 2019 rev:8 rq:704960 version:0.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-CommonMark/python-CommonMark.changes 2019-03-07 10:50:11.713857412 +0100
+++ /work/SRC/openSUSE:Factory/.python-CommonMark.new.5148/python-CommonMark.changes 2019-05-27 08:35:51.231130187 +0200
@@ -1,0 +2,6 @@
+Thu May 23 08:13:19 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 0.9.0
+ * The CommonMark spec has been updated to 0.29.
+
+-------------------------------------------------------------------
Old:
----
commonmark-0.8.1.tar.gz
New:
----
commonmark-0.9.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-CommonMark.spec ++++++
--- /var/tmp/diff_new_pack.c7qjQ1/_old 2019-05-27 08:35:51.863129940 +0200
+++ /var/tmp/diff_new_pack.c7qjQ1/_new 2019-05-27 08:35:51.867129938 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define oldpython python
Name: python-CommonMark
-Version: 0.8.1
+Version: 0.9.0
Release: 0
Summary: Python parser for the CommonMark Markdown spec
License: BSD-3-Clause
++++++ commonmark-0.8.1.tar.gz -> commonmark-0.9.0.tar.gz ++++++
++++ 2064 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package polkit-default-privs for openSUSE:Factory checked in at 2019-05-27 08:35:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/polkit-default-privs (Old)
and /work/SRC/openSUSE:Factory/.polkit-default-privs.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "polkit-default-privs"
Mon May 27 08:35:43 2019 rev:166 rq:704959 version:13.2+20190523.efe368f
Changes:
--------
--- /work/SRC/openSUSE:Factory/polkit-default-privs/polkit-default-privs.changes 2019-05-22 10:55:28.491030320 +0200
+++ /work/SRC/openSUSE:Factory/.polkit-default-privs.new.5148/polkit-default-privs.changes 2019-05-27 08:35:44.783132700 +0200
@@ -1,0 +2,6 @@
+Thu May 23 09:14:11 UTC 2019 - opensuse-packaging(a)opensuse.org
+
+- Update to version 13.2+20190523.efe368f:
+ * polkit profiles: whitelist lightdm-gtk-greeter-settings (bsc#1135695)
+
+-------------------------------------------------------------------
Old:
----
polkit-default-privs-13.2+20190520.a67a2af.tar.xz
New:
----
polkit-default-privs-13.2+20190523.efe368f.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polkit-default-privs.spec ++++++
--- /var/tmp/diff_new_pack.tHplHq/_old 2019-05-27 08:35:45.403132458 +0200
+++ /var/tmp/diff_new_pack.tHplHq/_new 2019-05-27 08:35:45.403132458 +0200
@@ -23,7 +23,7 @@
%endif
Name: polkit-default-privs
-Version: 13.2+20190520.a67a2af
+Version: 13.2+20190523.efe368f
Release: 0
Summary: SUSE PolicyKit default permissions
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.tHplHq/_old 2019-05-27 08:35:45.439132444 +0200
+++ /var/tmp/diff_new_pack.tHplHq/_new 2019-05-27 08:35:45.439132444 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/polkit-default-privs.git</param>
- <param name="changesrevision">a67a2af8938f86d68347b8a2338255d66af249a1</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">efe368f88ff0f461fcfd8b9c37c2c478389c412c</param></service></servicedata>
\ No newline at end of file
++++++ polkit-default-privs-13.2+20190520.a67a2af.tar.xz -> polkit-default-privs-13.2+20190523.efe368f.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.easy new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.easy
--- old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.easy 2019-05-20 15:25:23.000000000 +0200
+++ new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.easy 2019-05-23 11:09:50.000000000 +0200
@@ -990,4 +990,7 @@
# Don't relax this, it runs rsync with arbitrary parameters
net.luckybackup.su auth_admin
+# lightdm-gtk-greeter-settings (bsc#1135695)
+com.ubuntu.pkexec.lightdm-gtk-greeter-settings auth_admin:auth_admin:auth_self_keep
+
###
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.restrictive new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.restrictive
--- old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.restrictive 2019-05-20 15:25:23.000000000 +0200
+++ new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.restrictive 2019-05-23 11:09:50.000000000 +0200
@@ -928,4 +928,7 @@
# Don't relax this, it runs rsync with arbitrary parameters
net.luckybackup.su auth_admin
+# lightdm-gtk-greeter-settings (bsc#1135695)
+com.ubuntu.pkexec.lightdm-gtk-greeter-settings auth_admin
+
###
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.standard new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.standard
--- old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.standard 2019-05-20 15:25:23.000000000 +0200
+++ new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.standard 2019-05-23 11:09:50.000000000 +0200
@@ -991,4 +991,7 @@
# Don't relax this, it runs rsync with arbitrary parameters
net.luckybackup.su auth_admin
+# lightdm-gtk-greeter-settings (bsc#1135695)
+com.ubuntu.pkexec.lightdm-gtk-greeter-settings auth_admin
+
###
1
0
Hello community,
here is the log from the commit of package yast2-add-on for openSUSE:Factory checked in at 2019-05-27 08:35:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-add-on (Old)
and /work/SRC/openSUSE:Factory/.yast2-add-on.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-add-on"
Mon May 27 08:35:34 2019 rev:98 rq:704945 version:4.1.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-add-on/yast2-add-on.changes 2019-04-08 10:33:54.379190163 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-add-on.new.5148/yast2-add-on.changes 2019-05-27 08:35:37.971135355 +0200
@@ -1,0 +2,7 @@
+Wed May 22 16:20:22 CEST 2019 - schubi(a)suse.de
+
+- Fix: Update repository will be registered while installing
+ an add-on on a running system (bsc#1055126).
+- 4.1.12
+
+-------------------------------------------------------------------
Old:
----
yast2-add-on-4.1.11.tar.bz2
New:
----
yast2-add-on-4.1.12.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-add-on.spec ++++++
--- /var/tmp/diff_new_pack.dltZDp/_old 2019-05-27 08:35:38.519135142 +0200
+++ /var/tmp/diff_new_pack.dltZDp/_new 2019-05-27 08:35:38.523135140 +0200
@@ -17,7 +17,7 @@
Name: yast2-add-on
-Version: 4.1.11
+Version: 4.1.12
Release: 0
Summary: YaST2 - Add-On media installation code
License: GPL-2.0-only
++++++ yast2-add-on-4.1.11.tar.bz2 -> yast2-add-on-4.1.12.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-add-on-4.1.11/package/yast2-add-on.changes new/yast2-add-on-4.1.12/package/yast2-add-on.changes
--- old/yast2-add-on-4.1.11/package/yast2-add-on.changes 2019-04-03 14:25:32.000000000 +0200
+++ new/yast2-add-on-4.1.12/package/yast2-add-on.changes 2019-05-23 10:24:34.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Wed May 22 16:20:22 CEST 2019 - schubi(a)suse.de
+
+- Fix: Update repository will be registered while installing
+ an add-on on a running system (bsc#1055126).
+- 4.1.12
+
+-------------------------------------------------------------------
Wed Apr 3 09:56:32 CEST 2019 - schubi(a)suse.de
- Removing add-on repo: Deselecting product in solver too.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-add-on-4.1.11/package/yast2-add-on.spec new/yast2-add-on-4.1.12/package/yast2-add-on.spec
--- old/yast2-add-on-4.1.11/package/yast2-add-on.spec 2019-04-03 14:25:32.000000000 +0200
+++ new/yast2-add-on-4.1.12/package/yast2-add-on.spec 2019-05-23 10:24:34.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-add-on
-Version: 4.1.11
+Version: 4.1.12
Release: 0
Summary: YaST2 - Add-On media installation code
License: GPL-2.0-only
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-add-on-4.1.11/src/include/add-on/add-on-workflow.rb new/yast2-add-on-4.1.12/src/include/add-on/add-on-workflow.rb
--- old/yast2-add-on-4.1.11/src/include/add-on/add-on-workflow.rb 2019-04-03 14:25:32.000000000 +0200
+++ new/yast2-add-on-4.1.12/src/include/add-on/add-on-workflow.rb 2019-05-23 10:24:34.000000000 +0200
@@ -1682,8 +1682,6 @@
end
def RunAddProductWorkflow
- WFM.CallFunction("inst_addon_update_sources", [])
-
# partition the addons into two groups:
# - plain addons (no installation.xml)
# - addons with installation.xml
@@ -1712,6 +1710,12 @@
# Write only when there are some changes
Write()
+ # Add additional update repos. This must be done
+ # after the product has been installed in order to
+ # read the product update repositories from the
+ # installed /etc/products.d/*.prod file.
+ WFM.CallFunction("inst_addon_update_sources", [])
+
Pkg.SourceReleaseAll
nil
1
0
Hello community,
here is the log from the commit of package podman for openSUSE:Factory checked in at 2019-05-27 08:35:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/podman (Old)
and /work/SRC/openSUSE:Factory/.podman.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "podman"
Mon May 27 08:35:26 2019 rev:42 rq:704933 version:1.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/podman/podman.changes 2019-04-04 12:02:37.741372760 +0200
+++ /work/SRC/openSUSE:Factory/.podman.new.5148/podman.changes 2019-05-27 08:35:29.507138655 +0200
@@ -1,0 +2,68 @@
+Wed May 22 07:04:24 UTC 2019 - Sascha Grunert <sgrunert(a)suse.com>
+
+- Update podman to v1.3.1:
+ - The podman cp command can now read input redirected to STDIN, and output to
+ STDOUT instead of a file, using - instead of an argument.
+ - The Podman remote client now displays version information from both the
+ client and server in podman version
+ - The podman unshare command has been added, allowing easy entry into the
+ user namespace set up by rootless Podman (allowing the removal of files
+ created by rootless Podman, among other things)
+ - Fixed a bug where Podman containers with the --rm flag were removing
+ created volumes when they were automatically removed
+ - Fixed a bug where container and pod locks were incorrectly marked as
+ released after a system reboot, causing errors on container and pod removal
+ - Fixed a bug where Podman pods could not be removed if any container in the
+ pod encountered an error during removal
+ - Fixed a bug where Podman pods run with the cgroupfs CGroup driver would
+ encounter a race condition during removal, potentially failing to remove
+ the pod CGroup
+ - Fixed a bug where the podman container checkpoint and podman container
+ restore commands were not visible in the remote client
+ - Fixed a bug where podman remote ps --ns would not print the container's
+ namespaces
+ - Fixed a bug where removing stopped containers with healthchecks could cause
+ an error
+ - Fixed a bug where the default libpod.conf file was causing parsing errors
+ - Fixed a bug where pod locks were not being freed when pods were removed,
+ potentially leading to lock exhaustion
+ - Fixed a bug where 'podman run' with SD_NOTIFY set could, on short-running
+ containers, create an inconsistent state rendering the container unusable
+ - The remote Podman client now uses the Varlink bridge to establish remote
+ connections by default
+- Update conmon to 0.2.0 and switched to containers/conmon upstream project
+
+-------------------------------------------------------------------
+Fri May 17 12:08:37 UTC 2019 - Sascha Grunert <sgrunert(a)suse.com>
+
+- Update `systemd-devel` to actually be `pkgconfig(libsystemd)` to allow OBS to
+ shortcut through systemd-mini-devel
+
+-------------------------------------------------------------------
+Thu May 16 15:04:52 UTC 2019 - Sascha Grunert <sgrunert(a)suse.com>
+
+- Update podman to v1.3.0
+ * Podman now supports container restart policies! The --restart-policy flag
+ on podman create and podman run allows containers to be restarted after
+ they exit. Please note that Podman cannot restart containers after a system
+ reboot - for that, see our next feature
+ * Podman podman generate systemd command was added to generate systemd unit
+ files for managing Podman containers
+ * The podman runlabel command now allows a $GLOBAL_OPTS variable, which will
+ be populated by global options passed to the podman runlabel command,
+ allowing custom storage configurations to be passed into containers run
+ with runlabel
+ * The podman play kube command now allows File and FileOrCreate volumes
+ * The podman pod prune command was added to prune unused pods
+ * Added the podman system migrate command to migrate containers using older
+ configurations to allow their use by newer Libpod versions
+ * Podman containers now forward proxy-related environment variables from the
+ host into the container with the --http-proxy flag (enabled by default)
+ * Read-only Podman containers can now create tmpfs filesystems on /tmp,
+ /var/tmp, and /run with the --read-only-tmpfs flag (enabled by default)
+ * The podman init command was added, performing all container pre-start tasks
+ without starting the container to allow pre-run debugging
+- Update conmon to cri-o v1.14.1
+- Update libpod.conf to match latest feature set
+
+-------------------------------------------------------------------
Old:
----
conmon-1.14.0.tar.xz
podman-1.2.0.tar.xz
New:
----
conmon-0.2.0.tar.xz
podman-1.3.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ podman.spec ++++++
--- /var/tmp/diff_new_pack.CnceX6/_old 2019-05-27 08:35:30.067138437 +0200
+++ /var/tmp/diff_new_pack.CnceX6/_new 2019-05-27 08:35:30.071138435 +0200
@@ -17,21 +17,21 @@
%define project github.com/containers/libpod
-%define conmon_project github.com/kubernetes-sigs/cri-o
-%define conmonver 1.14.0
+%define conmon_project conmon
+%define conmonver 0.2.0
# Build with libostree-devel in Tumbleweed, Leap 15 and SLES 15
%if 0%{?suse_version} >= 1500
%define with_libostree 1
%endif
Name: podman
-Version: 1.2.0
+Version: 1.3.1
Release: 0
Summary: Daemon-less container engine for managing containers, pods and images
License: Apache-2.0
Group: System/Management
Url: https://github.com/containers/libpod
Source0: %{name}-%{version}.tar.xz
-Source1: conmon-%{conmonver}.tar.xz
+Source1: %{conmon_project}-%{conmonver}.tar.xz
Source2: libpod.conf
Source3: %{name}-rpmlintrc
BuildRequires: bash-completion
@@ -49,12 +49,13 @@
BuildRequires: libcontainers-common
BuildRequires: libgpgme-devel
BuildRequires: libseccomp-devel
-BuildRequires: golang(API) >= 1.11
+BuildRequires: pkgconfig(libsystemd)
+BuildRequires: golang(API) >= 1.12
# Build fails with PIE enabled on ppc64le due to boo#1098017
%ifarch ppc64le
#!BuildIgnore: gcc-PIE
%endif
-# i586 not supported, cri-o/conmon does not build
+# i586 not supported, containers/conmon does not build
ExcludeArch: i586
Requires: apparmor-parser
Requires: cni
@@ -84,9 +85,9 @@
%setup -q
# unpack conmon into the unpacked podman source
%setup -q -T -D -a 1
-mkdir -pv $HOME/go/src/%{conmon_project}
-mv conmon-%{conmonver}/* $HOME/go/src/%{conmon_project}
-rm -r conmon-%{conmonver}
+mkdir -pv $HOME/%{conmon_project}
+mv %{conmon_project}-%{conmonver}/* $HOME/%{conmon_project}
+rm -r %{conmon_project}-%{conmonver}
%package cni-config
Summary: Basic CNI configuration for podman
@@ -129,8 +130,8 @@
make %{?_smp_mflags} docs
# Build conmon
-cd $HOME/go/src/%{conmon_project}
-make -C conmon
+cd $HOME/%{conmon_project}
+make
%check
# Too many tests fail due to the restricted permissions in the build enviroment.
@@ -156,7 +157,7 @@
install -D -m 0644 contrib/varlink/io.podman.socket %{buildroot}%{_unitdir}/io.podman.socket
# conmon
-cd $HOME/go/src/%{conmon_project}
+cd $HOME/%{conmon_project}
install -D -m 0755 bin/conmon %{buildroot}/%{_libexecdir}/podman/bin/conmon
%fdupes %{buildroot}/%{_prefix}
++++++ _service ++++++
--- /var/tmp/diff_new_pack.CnceX6/_old 2019-05-27 08:35:30.091138428 +0200
+++ /var/tmp/diff_new_pack.CnceX6/_new 2019-05-27 08:35:30.095138426 +0200
@@ -4,8 +4,8 @@
<param name="url">https://github.com/containers/libpod.git</param>
<param name="scm">git</param>
<param name="filename">podman</param>
-<param name="versionformat">1.2.0</param>
-<param name="revision">v1.2.0</param>
+<param name="versionformat">1.3.1</param>
+<param name="revision">v1.3.1</param>
</service>
<service name="set_version" mode="disabled">
@@ -13,11 +13,11 @@
</service>
<service name="tar_scm" mode="disabled">
-<param name="url">https://github.com/kubernetes-sigs/cri-o.git</param>
+<param name="url">https://github.com/containers/conmon.git</param>
<param name="scm">git</param>
<param name="filename">conmon</param>
-<param name="versionformat">1.14.0</param>
-<param name="revision">v1.14.0</param>
+<param name="versionformat">0.2.0</param>
+<param name="revision">v0.2.0</param>
</service>
<service name="recompress" mode="disabled">
++++++ conmon-1.14.0.tar.xz -> conmon-0.2.0.tar.xz ++++++
++++ 1440646 lines of diff (skipped)
++++++ libpod.conf ++++++
--- /var/tmp/diff_new_pack.CnceX6/_old 2019-05-27 08:35:31.827137751 +0200
+++ /var/tmp/diff_new_pack.CnceX6/_new 2019-05-27 08:35:31.831137749 +0200
@@ -62,11 +62,11 @@
# namespace is set, all containers and pods are visible.
#namespace = ""
-## Default pause image name for pod pause containers
-pause_image = "k8s.gcr.io/pause:3.1"
+# Default infra (pause) image name for pod infra containers
+infra_image = "k8s.gcr.io/pause:3.1"
-# Default command to run the pause container
-pause_command = "/pause"
+# Default command to run the infra container
+infra_command = "/pause"
# Determines whether libpod will reserve ports on the host when they are
# forwarded to containers. When enabled, when ports are forwarded to containers,
@@ -79,6 +79,17 @@
# Default libpod support for container labeling
# label=true
+# Number of locks available for containers and pods.
+# If this is changed, a lock renumber must be performed (e.g. with the
+# 'podman system renumber' command).
+num_locks = 2048
+
+# Directory for libpod named volumes.
+# By default, this will be configured relative to where containers/storage
+# stores containers.
+# Uncomment to change location from this default.
+#volume_path = "/var/lib/containers/storage/volumes"
+
# Default OCI runtime
runtime = "runc"
@@ -88,3 +99,7 @@
"/usr/bin/runc",
"/usr/sbin/runc"
]
+
+# Selects which logging mechanism to use for Podman events. Valid values
+# are `journald` or `file`.
+# events_logger = "journald"
++++++ podman-1.2.0.tar.xz -> podman-1.3.1.tar.xz ++++++
++++ 122713 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-vistir for openSUSE:Factory checked in at 2019-05-27 08:31:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-vistir (Old)
and /work/SRC/openSUSE:Factory/.python-vistir.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-vistir"
Mon May 27 08:31:07 2019 rev:4 rq:705264 version:0.4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-vistir/python-vistir.changes 2019-05-12 11:34:19.538032731 +0200
+++ /work/SRC/openSUSE:Factory/.python-vistir.new.5148/python-vistir.changes 2019-05-27 08:31:08.535240390 +0200
@@ -1,0 +2,11 @@
+Fri May 24 13:59:14 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.4.2:
+ * Added expanded functionality to assist with the removal of read-only
+ paths on Windows via icacls system calls if necessary. #81
+ * Improved fs_encode compatibility shim in vistir.compat for
+ handling of non-UTF8 data. #83
+ * Shortened windows paths will now be properly resolved to the full
+ path by vistir.path.normalize_path. #90
+
+-------------------------------------------------------------------
Old:
----
vistir-0.4.0.tar.gz
New:
----
vistir-0.4.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-vistir.spec ++++++
--- /var/tmp/diff_new_pack.RfoHqk/_old 2019-05-27 08:31:09.443240036 +0200
+++ /var/tmp/diff_new_pack.RfoHqk/_new 2019-05-27 08:31:09.447240035 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-vistir
-Version: 0.4.0
+Version: 0.4.2
Release: 0
Summary: Utilities for filesystems, paths, projects, subprocesses, and more
License: ISC
@@ -32,14 +32,14 @@
Requires: python-colorama >= 0.3.4
Requires: python-requests
Requires: python-six
+Recommends: python-yaspin
+BuildArch: noarch
%ifpython2
Requires: python2-backports.functools_lru_cache
Requires: python2-backports.shutil_get_terminal_size
Requires: python2-backports.weakref
Requires: python2-pathlib2
%endif
-Recommends: python-yaspin
-BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module colorama >= 0.3.4}
BuildRequires: %{python_module hypothesis-fspaths}
@@ -75,7 +75,7 @@
%check
export LANG=en_US.UTF-8
# test_open_file requires network access
-%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} $python -m pytest -k 'not test_open_file'
+%pytest -k 'not test_open_file'
%files %{python_files}
%doc CHANGELOG.rst README.rst
++++++ vistir-0.4.0.tar.gz -> vistir-0.4.2.tar.gz ++++++
++++ 3295 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-billiard for openSUSE:Factory checked in at 2019-05-27 08:30:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-billiard (Old)
and /work/SRC/openSUSE:Factory/.python-billiard.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-billiard"
Mon May 27 08:30:59 2019 rev:16 rq:705260 version:3.6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-billiard/python-billiard.changes 2019-02-11 21:28:00.954995416 +0100
+++ /work/SRC/openSUSE:Factory/.python-billiard.new.5148/python-billiard.changes 2019-05-27 08:31:02.487242748 +0200
@@ -16 +16 @@
-- Update version to 3.5.0.5:
+- Update version to 3.5.0.5: (boo#1136100)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package python-yaspin for openSUSE:Factory checked in at 2019-05-27 08:30:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-yaspin (Old)
and /work/SRC/openSUSE:Factory/.python-yaspin.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-yaspin"
Mon May 27 08:30:52 2019 rev:3 rq:705257 version:0.14.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-yaspin/python-yaspin.changes 2019-05-06 21:17:29.769110931 +0200
+++ /work/SRC/openSUSE:Factory/.python-yaspin.new.5148/python-yaspin.changes 2019-05-27 08:30:53.655246191 +0200
@@ -1,0 +2,6 @@
+Fri May 24 13:43:28 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.14.3:
+ * fix(#29): race condition between spinner thread and write()
+
+-------------------------------------------------------------------
Old:
----
yaspin-0.14.2.tar.gz
New:
----
yaspin-0.14.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-yaspin.spec ++++++
--- /var/tmp/diff_new_pack.XNTwsZ/_old 2019-05-27 08:30:54.367245913 +0200
+++ /var/tmp/diff_new_pack.XNTwsZ/_new 2019-05-27 08:30:54.371245912 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-yaspin
-Version: 0.14.2
+Version: 0.14.3
Release: 0
Summary: Yet Another Terminal Spinner
License: MIT
++++++ yaspin-0.14.2.tar.gz -> yaspin-0.14.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/HISTORY.rst new/yaspin-0.14.3/HISTORY.rst
--- old/yaspin-0.14.2/HISTORY.rst 2019-04-27 23:05:29.000000000 +0200
+++ new/yaspin-0.14.3/HISTORY.rst 2019-05-12 15:28:48.000000000 +0200
@@ -1,6 +1,12 @@
Release History
===============
+0.14.3 / 2019-05-12
+-------------------
+
+* fix(#29): race condition between spinner thread and ``write()``
+
+
0.14.2 / 2019-04-27
-------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/PKG-INFO new/yaspin-0.14.3/PKG-INFO
--- old/yaspin-0.14.2/PKG-INFO 2019-04-27 23:11:40.000000000 +0200
+++ new/yaspin-0.14.3/PKG-INFO 2019-05-12 15:31:30.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: yaspin
-Version: 0.14.2
+Version: 0.14.3
Summary: Yet Another Terminal Spinner
Home-page: https://github.com/pavdmyt/yaspin
Author: Pavlo Dmytrenko
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/setup.cfg new/yaspin-0.14.3/setup.cfg
--- old/yaspin-0.14.2/setup.cfg 2019-04-27 23:11:40.000000000 +0200
+++ new/yaspin-0.14.3/setup.cfg 2019-05-12 15:31:30.000000000 +0200
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 0.14.2
+current_version = 0.14.3
[metadata]
description-file = README.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/tests/test_in_out.py new/yaspin-0.14.3/tests/test_in_out.py
--- old/yaspin-0.14.2/tests/test_in_out.py 2019-04-27 22:31:42.000000000 +0200
+++ new/yaspin-0.14.3/tests/test_in_out.py 2019-05-12 15:28:48.000000000 +0200
@@ -8,7 +8,9 @@
And all output data is converted to builtin str type.
"""
+import re
import sys
+import time
import pytest
@@ -159,3 +161,22 @@
# ensure that text was cleared before resuming the spinner
assert out[:4] == "\r\033[K"
+
+
+def test_spinner_write_race_condition(capsys):
+ # test that spinner text does not overwrite write() contents
+ # this generally happens when the spinner thread writes
+ # between write()'s \r and the text it actually wants to write
+
+ sp = yaspin(text="aaaa")
+ sp.start()
+ sp._interval = 0.0
+ start_time = time.time()
+ while time.time() - start_time < 3.0:
+ sp.write("bbbb")
+ sp.stop()
+
+ out, _ = capsys.readouterr()
+ assert "aaaa" in out # spinner text is present
+ assert "bbbb" in out # write() text is present
+ assert not re.search(r"aaaa[^\rb]*bbbb", out)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/yaspin/__version__.py new/yaspin-0.14.3/yaspin/__version__.py
--- old/yaspin-0.14.2/yaspin/__version__.py 2019-04-27 23:05:29.000000000 +0200
+++ new/yaspin-0.14.3/yaspin/__version__.py 2019-05-12 15:28:48.000000000 +0200
@@ -1 +1 @@
-__version__ = "0.14.2"
+__version__ = "0.14.3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/yaspin/core.py new/yaspin-0.14.3/yaspin/core.py
--- old/yaspin-0.14.2/yaspin/core.py 2019-04-27 23:05:29.000000000 +0200
+++ new/yaspin-0.14.3/yaspin/core.py 2019-05-12 15:28:48.000000000 +0200
@@ -76,6 +76,7 @@
self._hide_spin = None
self._spin_thread = None
self._last_frame = None
+ self._stdout_lock = threading.Lock()
# Signals
@@ -247,43 +248,47 @@
thr_is_alive = self._spin_thread and self._spin_thread.is_alive()
if thr_is_alive and not self._hide_spin.is_set():
- # set the hidden spinner flag
- self._hide_spin.set()
-
- # clear the current line
- sys.stdout.write("\r")
- self._clear_line()
-
- # flush the stdout buffer so the current line can be rewritten to
- sys.stdout.flush()
+ with self._stdout_lock:
+ # set the hidden spinner flag
+ self._hide_spin.set()
+
+ # clear the current line
+ sys.stdout.write("\r")
+ self._clear_line()
+
+ # flush the stdout buffer so the current line
+ # can be rewritten to
+ sys.stdout.flush()
def show(self):
"""Show the hidden spinner."""
thr_is_alive = self._spin_thread and self._spin_thread.is_alive()
if thr_is_alive and self._hide_spin.is_set():
- # clear the hidden spinner flag
- self._hide_spin.clear()
-
- # clear the current line so the spinner is not appended to it
- sys.stdout.write("\r")
- self._clear_line()
+ with self._stdout_lock:
+ # clear the hidden spinner flag
+ self._hide_spin.clear()
+
+ # clear the current line so the spinner is not appended to it
+ sys.stdout.write("\r")
+ self._clear_line()
def write(self, text):
"""Write text in the terminal without breaking the spinner."""
# similar to tqdm.write()
# https://pypi.python.org/pypi/tqdm#writing-messages
- sys.stdout.write("\r")
- self._clear_line()
+ with self._stdout_lock:
+ sys.stdout.write("\r")
+ self._clear_line()
- _text = to_unicode(text)
- if PY2:
- _text = _text.encode(ENCODING)
+ _text = to_unicode(text)
+ if PY2:
+ _text = _text.encode(ENCODING)
- # Ensure output is bytes for Py2 and Unicode for Py3
- assert isinstance(_text, builtin_str)
+ # Ensure output is bytes for Py2 and Unicode for Py3
+ assert isinstance(_text, builtin_str)
- sys.stdout.write("{0}\n".format(_text))
+ sys.stdout.write("{0}\n".format(_text))
def ok(self, text="OK"):
"""Set Ok (success) finalizer to a spinner."""
@@ -306,7 +311,8 @@
# Should be stopped here, otherwise prints after
# self._freeze call will mess up the spinner
self.stop()
- sys.stdout.write(self._last_frame)
+ with self._stdout_lock:
+ sys.stdout.write(self._last_frame)
def _spin(self):
while not self._stop_spin.is_set():
@@ -321,9 +327,10 @@
out = self._compose_out(spin_phase)
# Write
- sys.stdout.write(out)
- self._clear_line()
- sys.stdout.flush()
+ with self._stdout_lock:
+ sys.stdout.write(out)
+ self._clear_line()
+ sys.stdout.flush()
# Wait
time.sleep(self._interval)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/yaspin.egg-info/PKG-INFO new/yaspin-0.14.3/yaspin.egg-info/PKG-INFO
--- old/yaspin-0.14.2/yaspin.egg-info/PKG-INFO 2019-04-27 23:11:40.000000000 +0200
+++ new/yaspin-0.14.3/yaspin.egg-info/PKG-INFO 2019-05-12 15:31:30.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: yaspin
-Version: 0.14.2
+Version: 0.14.3
Summary: Yet Another Terminal Spinner
Home-page: https://github.com/pavdmyt/yaspin
Author: Pavlo Dmytrenko
1
0
Hello community,
here is the log from the commit of package python-radon for openSUSE:Factory checked in at 2019-05-27 08:30:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-radon (Old)
and /work/SRC/openSUSE:Factory/.python-radon.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-radon"
Mon May 27 08:30:44 2019 rev:6 rq:705252 version:3.0.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-radon/python-radon.changes 2019-03-08 11:00:33.560548864 +0100
+++ /work/SRC/openSUSE:Factory/.python-radon.new.5148/python-radon.changes 2019-05-27 08:30:48.167248330 +0200
@@ -1,0 +2,6 @@
+Fri May 24 12:52:16 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 3.0.3
+ * no upstream changelog
+
+-------------------------------------------------------------------
Old:
----
radon-3.0.1.tar.gz
New:
----
radon-3.0.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-radon.spec ++++++
--- /var/tmp/diff_new_pack.MWEnUC/_old 2019-05-27 08:30:49.307247886 +0200
+++ /var/tmp/diff_new_pack.MWEnUC/_new 2019-05-27 08:30:49.307247886 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-radon
-Version: 3.0.1
+Version: 3.0.3
Release: 0
Summary: Code Metrics in Python
License: MIT
@@ -30,6 +30,7 @@
BuildRequires: python-rpm-macros
Requires: python-colorama >= 0.4
Requires: python-flake8-polyfill
+Requires: python-future
Requires: python-mando >= 0.6
Requires(post): update-alternatives
Requires(postun): update-alternatives
@@ -37,6 +38,7 @@
# SECTION test requirements
BuildRequires: %{python_module colorama >= 0.4}
BuildRequires: %{python_module flake8-polyfill}
+BuildRequires: %{python_module future}
BuildRequires: %{python_module mando >= 0.6}
BuildRequires: %{python_module pytest >= 2.7}
BuildRequires: %{python_module pytest-mock}
++++++ radon-3.0.1.tar.gz -> radon-3.0.3.tar.gz ++++++
++++ 27931 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-more-itertools for openSUSE:Factory checked in at 2019-05-27 08:30:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-more-itertools (Old)
and /work/SRC/openSUSE:Factory/.python-more-itertools.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-more-itertools"
Mon May 27 08:30:37 2019 rev:5 rq:705242 version:5.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-more-itertools/python-more-itertools.changes 2018-06-04 13:21:21.359199917 +0200
+++ /work/SRC/openSUSE:Factory/.python-more-itertools.new.5148/python-more-itertools.changes 2019-05-27 08:30:38.627252050 +0200
@@ -1,0 +2,17 @@
+Fri May 24 12:20:33 UTC 2019 - Marketa Calabkova <mcalabkova(a)suse.com>
+
+- update to version 5.0.0
+ * new itertools: split_into, unzip, substrings
+ * first_true now returns None by default.
+ * Some code for old Python versions was removed
+ * Tests now run properly on 32-bit versions of Python
+ * Newer versions of CPython and PyPy are now tested against
+ 4.3.0
+ * new itertools: last, replace, rlocate
+ * locate can now search for multiple items
+ * The docs now include a nice table of tools
+
+- There are newer versions of more-itertools but this is the last
+ version which supports Python 2.7
+
+-------------------------------------------------------------------
Old:
----
more-itertools-4.2.0.tar.gz
New:
----
more-itertools-5.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-more-itertools.spec ++++++
--- /var/tmp/diff_new_pack.bmwMGy/_old 2019-05-27 08:30:39.219251819 +0200
+++ /var/tmp/diff_new_pack.bmwMGy/_new 2019-05-27 08:30:39.223251817 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-more-itertools
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,13 +12,13 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-more-itertools
-Version: 4.2.0
+Version: 5.0.0
Release: 0
Summary: More routines for operating on iterables, beyond itertools
License: MIT
++++++ more-itertools-4.2.0.tar.gz -> more-itertools-5.0.0.tar.gz ++++++
++++ 1725 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-isort for openSUSE:Factory checked in at 2019-05-27 08:30:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-isort (Old)
and /work/SRC/openSUSE:Factory/.python-isort.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-isort"
Mon May 27 08:30:29 2019 rev:11 rq:705236 version:4.3.20
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-isort/python-isort.changes 2019-05-08 15:15:54.580914193 +0200
+++ /work/SRC/openSUSE:Factory/.python-isort.new.5148/python-isort.changes 2019-05-27 08:30:30.479255226 +0200
@@ -1,0 +2,7 @@
+Fri May 24 12:12:26 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 4.3.20
+ - Fixed issue #948 - Pipe redirection broken on Python2.7
+ - Fixed issue #942 - correctly handle pyi (Python Template Files) to match `black` output
+
+-------------------------------------------------------------------
Old:
----
isort-4.3.18.tar.gz
New:
----
isort-4.3.20.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-isort.spec ++++++
--- /var/tmp/diff_new_pack.PhmbAJ/_old 2019-05-27 08:30:31.027255012 +0200
+++ /var/tmp/diff_new_pack.PhmbAJ/_new 2019-05-27 08:30:31.031255011 +0200
@@ -26,7 +26,7 @@
%bcond_with test
%endif
Name: python-isort%{psuffix}
-Version: 4.3.18
+Version: 4.3.20
Release: 0
Summary: A Python utility / library to sort Python imports
License: MIT
++++++ isort-4.3.18.tar.gz -> isort-4.3.20.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/CHANGELOG.md new/isort-4.3.20/CHANGELOG.md
--- old/isort-4.3.18/CHANGELOG.md 2019-05-02 07:17:09.000000000 +0200
+++ new/isort-4.3.20/CHANGELOG.md 2019-05-15 02:23:51.000000000 +0200
@@ -1,6 +1,12 @@
Changelog
=========
+### 4.3.20 - May 14, 2019 - hot fix release
+- Fixed issue #948 - Pipe redirection broken on Python2.7
+
+### 4.3.19 - May 12, 2019 - hot fix release
+- Fixed issue #942 - correctly handle pyi (Python Template Files) to match `black` output
+
### 4.3.18 - May 1, 2019 - hot fix release
- Fixed an issue with parsing files that contain unicode characters in Python 2
- Fixed issue #924 - Pulling in pip internals causes depreciation warning
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/PKG-INFO new/isort-4.3.20/PKG-INFO
--- old/isort-4.3.18/PKG-INFO 2019-05-02 07:17:54.000000000 +0200
+++ new/isort-4.3.20/PKG-INFO 2019-05-15 02:24:39.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: isort
-Version: 4.3.18
+Version: 4.3.20
Summary: A Python utility / library to sort Python imports.
Home-page: https://github.com/timothycrosley/isort
Author: Timothy Crosley
@@ -681,7 +681,7 @@
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
-Provides-Extra: requirements
-Provides-Extra: pyproject
Provides-Extra: xdg_home
+Provides-Extra: pyproject
+Provides-Extra: requirements
Provides-Extra: pipfile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/isort/__init__.py new/isort-4.3.20/isort/__init__.py
--- old/isort-4.3.18/isort/__init__.py 2019-05-02 07:17:09.000000000 +0200
+++ new/isort-4.3.20/isort/__init__.py 2019-05-15 02:23:51.000000000 +0200
@@ -25,4 +25,4 @@
from . import settings # noqa: F401
from .isort import SortImports # noqa: F401
-__version__ = "4.3.18"
+__version__ = "4.3.20"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/isort/isort.py new/isort-4.3.20/isort/isort.py
--- old/isort-4.3.18/isort/isort.py 2019-05-02 07:17:09.000000000 +0200
+++ new/isort-4.3.20/isort/isort.py 2019-05-15 02:23:51.000000000 +0200
@@ -49,7 +49,7 @@
def __init__(self, file_path=None, file_contents=None, file_=None, write_to_stdout=False, check=False,
show_diff=False, settings_path=None, ask_to_apply=False, run_path='', check_skip=True,
- **setting_overrides):
+ extension=None, **setting_overrides):
if not settings_path and file_path:
settings_path = os.path.dirname(os.path.abspath(file_path))
settings_path = settings_path or os.getcwd()
@@ -140,7 +140,7 @@
file_.seek(0)
self.file_encoding = coding_check(file_)
file_.seek(0)
- except io.UnsupportedOperation:
+ except (io.UnsupportedOperation, IOError):
pass
reader = codecs.getreader(self.file_encoding)
file_contents = reader(file_).read()
@@ -181,6 +181,11 @@
self.in_lines.append(add_import)
self.number_of_lines = len(self.in_lines)
+ if not extension:
+ self.extension = file_name.split('.')[-1] if file_name else "py"
+ else:
+ self.extension = extension
+
self.out_lines = []
self.comments = {'from': {}, 'straight': {}, 'nested': {}, 'above': {'straight': {}, 'from': {}}}
self.imports = OrderedDict()
@@ -672,8 +677,10 @@
if self.config['lines_after_imports'] != -1:
self.out_lines[imports_tail:0] = ["" for line in range(self.config['lines_after_imports'])]
- elif next_construct.startswith("def ") or next_construct.startswith("class ") or \
- next_construct.startswith("@") or next_construct.startswith("async def"):
+ elif self.extension != "pyi" and (next_construct.startswith("def ") or
+ next_construct.startswith("class ") or
+ next_construct.startswith("@") or
+ next_construct.startswith("async def")):
self.out_lines[imports_tail:0] = ["", ""]
else:
self.out_lines[imports_tail:0] = [""]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/isort.egg-info/PKG-INFO new/isort-4.3.20/isort.egg-info/PKG-INFO
--- old/isort-4.3.18/isort.egg-info/PKG-INFO 2019-05-02 07:17:53.000000000 +0200
+++ new/isort-4.3.20/isort.egg-info/PKG-INFO 2019-05-15 02:24:39.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: isort
-Version: 4.3.18
+Version: 4.3.20
Summary: A Python utility / library to sort Python imports.
Home-page: https://github.com/timothycrosley/isort
Author: Timothy Crosley
@@ -681,7 +681,7 @@
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
-Provides-Extra: requirements
-Provides-Extra: pyproject
Provides-Extra: xdg_home
+Provides-Extra: pyproject
+Provides-Extra: requirements
Provides-Extra: pipfile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/setup.py new/isort-4.3.20/setup.py
--- old/isort-4.3.18/setup.py 2019-05-02 07:17:09.000000000 +0200
+++ new/isort-4.3.20/setup.py 2019-05-15 02:23:51.000000000 +0200
@@ -6,7 +6,7 @@
readme = f.read()
setup(name='isort',
- version='4.3.18',
+ version='4.3.20',
description='A Python utility / library to sort Python imports.',
long_description=readme,
author='Timothy Crosley',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/test_isort.py new/isort-4.3.20/test_isort.py
--- old/isort-4.3.18/test_isort.py 2019-05-02 07:17:09.000000000 +0200
+++ new/isort-4.3.20/test_isort.py 2019-05-15 02:23:51.000000000 +0200
@@ -2994,3 +2994,25 @@
'# Local imports\n'
'from oklib.plot_ok import imagesc\n')
assert SortImports(file_contents=test_input, **config).output == test_input
+
+
+def test_pyi_formatting_issue_942(tmpdir):
+ test_input = ('import os\n'
+ '\n'
+ '\n'
+ 'def my_method():\n')
+ expected_py_output = test_input.splitlines()
+ expected_pyi_output = ('import os\n'
+ '\n'
+ 'def my_method():\n').splitlines()
+ assert SortImports(file_contents=test_input).output.splitlines() == expected_py_output
+ assert SortImports(file_contents=test_input,
+ extension="pyi").output.splitlines() == expected_pyi_output
+
+ source_py = tmpdir.join('source.py')
+ source_py.write(test_input)
+ assert SortImports(file_path=str(source_py)).output.splitlines() == expected_py_output
+
+ source_pyi = tmpdir.join('source.pyi')
+ source_pyi.write(test_input)
+ assert SortImports(file_path=str(source_pyi)).output.splitlines() == expected_pyi_output
1
0
Hello community,
here is the log from the commit of package kernel-firmware for openSUSE:Factory checked in at 2019-05-27 08:30:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-firmware (Old)
and /work/SRC/openSUSE:Factory/.kernel-firmware.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-firmware"
Mon May 27 08:30:06 2019 rev:122 rq:705214 version:20190514
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-firmware/kernel-firmware.changes 2019-05-10 09:13:55.271741260 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-firmware.new.5148/kernel-firmware.changes 2019-05-27 08:30:23.923257781 +0200
@@ -1,0 +2,13 @@
+Fri May 24 10:24:35 UTC 2019 - Martin Pluskal <mpluskal(a)suse.com>
+
+- Update to version 20190514:
+ * linux-firmware: Update firmware file for Intel Bluetooth 8265
+ * linux-firmware: Update firmware file for Intel Bluetooth 9260
+ * linux-firmware: Update firmware file for Intel Bluetooth 9560
+ * linux-firmware: Update firmware file for Intel Bluetooth 22161
+ * amlogic: add video decoder firmwares
+ * iwlwifi: update -46 firmwares for 22260 and 9000 series
+ * iwlwifi: add firmware for 22260 and update 9000 series -46 firmwares
+ * iwlwifi: add -46.ucode firmwares for 9000 series
+
+-------------------------------------------------------------------
Old:
----
kernel-firmware-20190502.tar.xz
New:
----
kernel-firmware-20190514.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-firmware.spec ++++++
--- /var/tmp/diff_new_pack.LxPWD8/_old 2019-05-27 08:30:27.263256480 +0200
+++ /var/tmp/diff_new_pack.LxPWD8/_new 2019-05-27 08:30:27.267256478 +0200
@@ -17,9 +17,9 @@
%define __ksyms_path ^/lib/firmware
-%define version_unconverted 20190502
+%define version_unconverted 20190514
Name: kernel-firmware
-Version: 20190502
+Version: 20190514
Release: 0
Summary: Linux kernel firmware files
License: SUSE-Firmware AND GPL-2.0-only AND GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.LxPWD8/_old 2019-05-27 08:30:27.339256450 +0200
+++ /var/tmp/diff_new_pack.LxPWD8/_new 2019-05-27 08:30:27.339256450 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git</param>
- <param name="changesrevision">92e17d0dd2437140fab044ae62baf69b35d7d1fa</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">711d3297bac870af42088a467459a0634c1970ca</param></service></servicedata>
\ No newline at end of file
++++++ kernel-firmware-20190502.tar.xz -> kernel-firmware-20190514.tar.xz ++++++
/work/SRC/openSUSE:Factory/kernel-firmware/kernel-firmware-20190502.tar.xz /work/SRC/openSUSE:Factory/.kernel-firmware.new.5148/kernel-firmware-20190514.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package webkit2gtk3 for openSUSE:Factory checked in at 2019-05-27 08:29:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/webkit2gtk3 (Old)
and /work/SRC/openSUSE:Factory/.webkit2gtk3.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "webkit2gtk3"
Mon May 27 08:29:53 2019 rev:79 rq:705213 version:2.24.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/webkit2gtk3/webkit2gtk3.changes 2019-05-03 22:19:55.972406186 +0200
+++ /work/SRC/openSUSE:Factory/.webkit2gtk3.new.5148/webkit2gtk3.changes 2019-05-27 08:29:58.723267605 +0200
@@ -1,0 +2,16 @@
+Fri May 24 08:00:33 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 2.24.2:
+ + Fix rendering of emojis copy-pasted from GTK emoji chooser.
+ + Fix space characters not being rendered with some CJK fonts.
+ + Fix adaptive streaming playback with older GStreamer versions.
+ + Set a maximum zoom level for pinch zooming gesture.
+ + Fix navigation gesture to not interfere with scrolling.
+ + Fix SSE2 detection at compile time, ensuring the right flags
+ are passed to the compiler.
+ + Fix several crashes and rendering issues.
+ + Security fixes: CVE-2019-8595, CVE-2019-8607, CVE-2019-8615.
+ + Updated translations.
+- Drop webkit2gtk3-fix-i586-build.patch: Fixed upstream.
+
+-------------------------------------------------------------------
Old:
----
webkit2gtk3-fix-i586-build.patch
webkitgtk-2.24.1.tar.xz
webkitgtk-2.24.1.tar.xz.asc
New:
----
webkitgtk-2.24.2.tar.xz
webkitgtk-2.24.2.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ webkit2gtk3.spec ++++++
--- /var/tmp/diff_new_pack.QMiYDh/_old 2019-05-27 08:30:02.743266038 +0200
+++ /var/tmp/diff_new_pack.QMiYDh/_new 2019-05-27 08:30:02.747266037 +0200
@@ -42,7 +42,7 @@
%bcond_with python3
%endif
Name: webkit2gtk3
-Version: 2.24.1
+Version: 2.24.2
Release: 0
Summary: Library for rendering web content, GTK+ Port
License: LGPL-2.0-or-later AND BSD-3-Clause
@@ -52,8 +52,6 @@
Source1: https://webkitgtk.org/releases/%{_name}-%{version}.tar.xz.asc
Source98: baselibs.conf
Source99: webkit2gtk3.keyring
-# PATCH-FIX-UPSTREAM webkit2gtk3-fix-i586-build.patch dimstar(a)opensuse.org -- Fix build on i586, taken from upstream https://trac.webkit.org/changeset/244138/webkit
-Patch0: webkit2gtk3-fix-i586-build.patch
# PATCH-FIX-UPSTREAM webkit2gtk3-boo1088932-a11y-state-set.patch boo#1088932 webkit#184366 mgorse(a)suse.com -- fix crash when atk_object_ref_state_set is called on an AtkObject that's being destroyed
Patch1: webkit2gtk3-boo1088932-a11y-state-set.patch
BuildRequires: Mesa-libEGL-devel
@@ -291,7 +289,6 @@
%prep
%setup -q -n webkitgtk-%{version}
-%patch0 -p2
%patch1 -p1
%build
++++++ webkitgtk-2.24.1.tar.xz -> webkitgtk-2.24.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/webkit2gtk3/webkitgtk-2.24.1.tar.xz /work/SRC/openSUSE:Factory/.webkit2gtk3.new.5148/webkitgtk-2.24.2.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2019-05-27 08:29:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old)
and /work/SRC/openSUSE:Factory/.MozillaFirefox.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox"
Mon May 27 08:29:14 2019 rev:289 rq:705211 version:67.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2019-05-12 11:32:52.553778090 +0200
+++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new.5148/MozillaFirefox.changes 2019-05-27 08:29:25.179280682 +0200
@@ -1,0 +2,85 @@
+Sun May 19 20:40:30 UTC 2019 - Wolfgang Rosenauer <wr(a)rosenauer.org>
+
+- Mozilla Firefox 67.0
+ * Firefox 67 will be able to run different Firefox installs side by side
+ https://blog.nightly.mozilla.org/2019/01/14/moving-to-a-profile-per-install…
+ * Tabs can now be pinned from the Page Actions menu in the address bar
+ * Users can block known cryptominers and fingerprinters in the
+ Custom settings or their Content Blocking preferences
+ * The Import Data from Another Browser feature is now also available
+ from the File menu
+ * Firefox will now protect you against running older versions which
+ can lead to data corruption and stability issues
+ * Easier access to your list of saved logins from the main menu and
+ login autocomplete
+ * We’ve added a toolbar menu for your Firefox Account to provide more
+ transparency for when you are synced, sharing data across devices
+ and with Firefox. Personalize the appearance of the menu with your
+ own avatar
+ * Enable FIDO U2F API, and permit registrations for Google Accounts
+ * Enabled AV1 support on Linux
+ MFSA 2019-13 (boo#1135824)
+ * CVE-2019-9815 (bmo#1546544)
+ Disable hyperthreading on content JavaScript threads on macOS
+ * CVE-2019-9816 (bmo#1536768)
+ Type confusion with object groups and UnboxedObjects
+ * CVE-2019-9817 (bmo#1540221)
+ Stealing of cross-domain images using canvas
+ * CVE-2019-9818 (bmo#1542581) (Windows only)
+ Use-after-free in crash generation server
+ * CVE-2019-9819 (bmo#1532553)
+ Compartment mismatch with fetch API
+ * CVE-2019-9820 (bmo#1536405)
+ Use-after-free of ChromeEventHandler by DocShell
+ * CVE-2019-9821 (bmo#1539125)
+ Use-after-free in AssertWorkerThread
+ * CVE-2019-11691 (bmo#1542465)
+ Use-after-free in XMLHttpRequest
+ * CVE-2019-11692 (bmo#1544670)
+ Use-after-free removing listeners in the event listener manager
+ * CVE-2019-11693 (bmo#1532525)
+ Buffer overflow in WebGL bufferdata on Linux
+ * CVE-2019-7317 (bmo#1542829)
+ Use-after-free in png_image_free of libpng library
+ * CVE-2019-11694 (bmo#1534196) (Windows only)
+ Uninitialized memory memory leakage in Windows sandbox
+ * CVE-2019-11695 (bmo#1445844)
+ Custom cursor can render over user interface outside of web content
+ * CVE-2019-11696 (bmo#1392955)
+ Java web start .JNLP files are not recognized as executable files
+ for download prompts
+ * CVE-2019-11697 (bmo#1440079)
+ Pressing key combinations can bypass installation prompt delays and
+ install extensions
+ * CVE-2019-11698 (bmo#1543191)
+ Theft of user history data through drag and drop of hyperlinks
+ to and from bookmarks
+ * CVE-2019-11700 (bmo#1549833) (Windows only)
+ res: protocol can be used to open known local files
+ * CVE-2019-11699 (bmo#1528939)
+ Incorrect domain name highlighting during page navigation
+ * CVE-2019-11701 (bmo#1518627)
+ webcal: protocol default handler loads vulnerable web page
+ * CVE-2019-9814 (bmo#1527592, bmo#1534536, bmo#1520132, bmo#1543159,
+ bmo#1539393, bmo#1459932, bmo#1459182, bmo#1516425)
+ Memory safety bugs fixed in Firefox 67
+ * CVE-2019-9800 (bmo#1540166, bmo#1534593, bmo#1546327, bmo#1540136,
+ bmo#1538736, bmo#1538042, bmo#1535612, bmo#1499719, bmo#1499108,
+ bmo#1538619, bmo#1535194, bmo#1516325, bmo#1542324, bmo#1542097,
+ bmo#1532465, bmo#1533554, bmo#1541580)
+ Memory safety bugs fixed in Firefox 67 and Firefox ESR 60.7
+- requires
+ * rust/cargo >= 1.32
+ * mozilla-nspr >= 4.21
+ * mozilla-nss >= 3.43
+ * rust-cbindgen >= 0.8.2
+- rebased patches
+- KDE integration for default browser detection is broken in this revision
+
+-------------------------------------------------------------------
+Fri May 17 12:04:49 UTC 2019 - Guillaume GARDET <guillaume.gardet(a)opensuse.org>
+
+- Fix armv7 build with:
+ * mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
+
+-------------------------------------------------------------------
Old:
----
firefox-66.0.5.source.tar.xz
firefox-66.0.5.source.tar.xz.asc
l10n-66.0.5.tar.xz
New:
----
firefox-67.0.source.tar.xz
firefox-67.0.source.tar.xz.asc
l10n-67.0.tar.xz
mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:50.715270727 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:50.719270725 +0200
@@ -18,13 +18,13 @@
# changed with every update
-%define major 66
-%define mainver %major.0.5
-%define orig_version 66.0.5
+%define major 67
+%define mainver %major.0
+%define orig_version 67.0
%define orig_suffix %{nil}
%define update_channel release
%define branding 1
-%define releasedate 20190507012018
+%define releasedate 20190516215225
%define source_prefix firefox-%{orig_version}
# always build with GCC as SUSE Security Team requires that
@@ -69,7 +69,7 @@
%else
BuildRequires: gcc-c++
%endif
-BuildRequires: cargo >= 1.31
+BuildRequires: cargo >= 1.32
BuildRequires: libXcomposite-devel
BuildRequires: libcurl-devel
BuildRequires: libidl-devel
@@ -77,15 +77,15 @@
BuildRequires: libnotify-devel
BuildRequires: libproxy-devel
BuildRequires: makeinfo
-BuildRequires: mozilla-nspr-devel >= 4.20
-BuildRequires: mozilla-nss-devel >= 3.42.1
+BuildRequires: mozilla-nspr-devel >= 4.21
+BuildRequires: mozilla-nss-devel >= 3.43
BuildRequires: nasm >= 2.13
BuildRequires: nodejs >= 8.11
BuildRequires: python-devel
BuildRequires: python2-xml
BuildRequires: python3 >= 3.5
-BuildRequires: rust >= 1.31
-BuildRequires: rust-cbindgen >= 0.6.8
+BuildRequires: rust >= 1.32
+BuildRequires: rust-cbindgen >= 0.8.2
BuildRequires: startup-notification-devel
BuildRequires: unzip
BuildRequires: update-desktop-files
@@ -164,6 +164,7 @@
Patch9: mozilla-bmo1463035.patch
Patch10: mozilla-cubeb-noreturn.patch
Patch11: mozilla-fix-aarch64-libopus.patch
+Patch12: mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch
@@ -271,6 +272,7 @@
%patch9 -p1
%patch10 -p1
%patch11 -p1
+%patch12 -p1
# Firefox
%patch101 -p1
%patch102 -p1
++++++ compare-locales.tar.xz ++++++
++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:50.851270674 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:50.855270673 +0200
@@ -7,8 +7,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="96d2576eae4baf0aa961b4f5a1dadd26bb8ee823"
-VERSION="66.0.5"
+RELEASE_TAG="2a7896ba9aa5d982abe01f859d771d411fda8101"
+VERSION="67.0"
VERSION_SUFFIX=""
LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json"
++++++ firefox-66.0.5.source.tar.xz -> firefox-67.0.source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/firefox-66.0.5.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.5148/firefox-67.0.source.tar.xz differ: char 15, line 1
++++++ firefox-kde.patch ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:50.903270653 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:50.903270653 +0200
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 87262204aa945e6fce864193d103a93659bf76f6
+# Parent 18632e53d0b0c4c03f254ca2dbbeac8f48ec6f5c
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1408 @@
+@@ -0,0 +1,1404 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -80,7 +80,6 @@
+ retargetdocumentfocus="urlbar"
+ persist="screenX screenY width height sizemode"
+#ifdef BROWSER_XHTML
-+ hidden="true"
+ mozpersist=""
+#endif
+ >
@@ -90,11 +89,7 @@
+# that they can be shared with macWindow.inc.xul.
+#include global-scripts.inc
+
-+<script type="application/javascript"
-+#ifdef BROWSER_XHTML
-+xmlns="http://www.w3.org/1999/xhtml"
-+#endif
-+>
++<script type="application/javascript">
+ Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-captivePortal.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-compacttheme.js", this);
@@ -111,23 +106,16 @@
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
++ Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this);
+
+ window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
+ window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
+ window.onclose = WindowIsClosing;
+
-+#ifdef BROWSER_XHTML
-+ window.addEventListener("readystatechange", () => {
-+ // We initially hide the window to prevent layouts during parse. This lets us
-+ // avoid accidental XBL construction and better match browser.xul (see Bug 1497975).
-+ gBrowserInit.onBeforeInitialXULLayout();
-+ document.documentElement.removeAttribute("hidden");
-+ }, { once: true, capture: true });
-+#else
+ window.addEventListener("MozBeforeInitialXULLayout",
+ gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true });
-+#endif
++
+ // The listener of DOMContentLoaded must be set on window, rather than
+ // document, because the window can go away before the event is fired.
+ // In that case, we don't want to initialize anything, otherwise we
@@ -244,7 +232,8 @@
+
+ <!-- for search and content formfill/pw manager -->
+
-+ <panel type="autocomplete-richlistbox"
++ <panel is="autocomplete-richlistbox-popup"
++ type="autocomplete-richlistbox"
+ id="PopupAutoComplete"
+ role="group"
+ noautofocus="true"
@@ -254,7 +243,8 @@
+ nomaxresults="true" />
+
+ <!-- for search with one-off buttons -->
-+ <panel type="autocomplete-richlistbox"
++ <panel is="search-autocomplete-richlistbox-popup"
++ type="autocomplete-richlistbox"
+ id="PopupSearchAutoComplete"
+ role="group"
+ noautofocus="true"
@@ -270,27 +260,6 @@
+ level="parent"
+ overflowpadding="15" />
+
-+ <!-- for url bar autocomplete -->
-+ <panel id="urlbar-results"
-+ role="group"
-+ noautofocus="true"
-+ hidden="true"
-+ flip="none"
-+ consumeoutsideclicks="never"
-+ norolluponanchor="true"
-+ level="parent">
-+ <html:div class="urlbarView-body-outer">
-+ <html:div class="urlbarView-body-inner">
-+ <!-- TODO: add search suggestions notification -->
-+ <html:div class="urlbarView-results"/>
-+ </html:div>
-+ </html:div>
-+ <hbox class="search-one-offs"
-+ compact="true"
-+ includecurrentengine="true"
-+ disabletab="true"/>
-+ </panel>
-+
+ <!-- for date/time picker. consumeoutsideclicks is set to never, so that
+ clicks on the anchored input box are never consumed. -->
+ <panel id="DateTimePickerPanel"
@@ -581,6 +550,8 @@
+ position="bottomcenter topright"
+ tabspecific="true"
+ noautofocus="true"
++ pinTab-title="&pinTab.label;"
++ unpinTab-title="&unpinTab.label;"
+ pocket-title="&saveToPocketCmd.label;"
+ copyURL-title="&pageAction.copyLink.label;"
+ emailLink-title="&emailPageCmd.label;"
@@ -607,9 +578,12 @@
+ tabspecific="true"
+ noautofocus="true">
+ <hbox id="confirmation-hint-checkmark-animation-container">
-+ <image id="confirmation-hint-checkmark-image"/>
++ <image id="confirmation-hint-checkmark-image"/>
+ </hbox>
-+ <label id="confirmation-hint-message"/>
++ <vbox id="confirmation-hint-message-container">
++ <label id="confirmation-hint-message"/>
++ <label id="confirmation-hint-description"/>
++ </vbox>
+ </panel>
+
+ <menupopup id="pageActionContextMenu"
@@ -843,6 +817,7 @@
+ overflowpanel="widget-overflow"
+ context="toolbar-context-menu">
+
++ <toolbartabstop/>
+ <hbox id="nav-bar-customization-target" flex="1">
+ <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&backCmd.label;"
@@ -896,11 +871,13 @@
+ <toolbaritem id="urlbar-container" flex="400" persist="width"
+ removable="false"
+ class="chromeclass-location" overflows="false">
++ <toolbartabstop/>
+ <textbox id="urlbar" flex="1"
+ placeholder="&urlbar.placeholder2;"
+ defaultPlaceholder="&urlbar.placeholder2;"
+ focused="true"
+ type="autocomplete"
++ quantumbar="false"
+ autocompletesearch="unifiedcomplete"
+ autocompletesearchparam="enable-actions"
+ autocompletepopup="PopupAutoCompleteRichResult"
@@ -1015,6 +992,7 @@
+ <label id="extension" class="urlbar-display urlbar-display-extension" value="&urlbar.extension.label;"/>
+ </box>
+ <hbox id="page-action-buttons" context="pageActionContextMenu">
++ <toolbartabstop/>
+ <hbox id="contextual-feature-recommendation" role="button" hidden="true">
+ <hbox id="cfr-label-container">
+ <label id="cfr-label"/>
@@ -1072,6 +1050,7 @@
+ </hbox>
+ </hbox>
+ </textbox>
++ <toolbartabstop/>
+ </toolbaritem>
+
+ <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
@@ -1083,6 +1062,7 @@
+ class="toolbarbutton-1 chromeclass-toolbar-additional badged-button"
+ key="key_openDownloads"
+ onmousedown="DownloadsIndicatorView.onCommand(event);"
++ onkeypress="DownloadsIndicatorView.onCommand(event);"
+ ondrop="DownloadsIndicatorView.onDrop(event);"
+ ondragover="DownloadsIndicatorView.onDragOver(event);"
+ ondragenter="DownloadsIndicatorView.onDragOver(event);"
@@ -1115,6 +1095,19 @@
+ tooltiptext="&libraryButton.tooltip;"
+ label="&places.library.title;"/>
+
++ <toolbarbutton id="fxa-toolbar-menu-button" class="toolbarbutton-1 badged-button chromeclass-toolbar-additional subviewbutton-nav"
++ onmousedown="gSync.toggleAccountPanel('PanelUI-fxa', event)"
++ onkeypress="gSync.toggleAccountPanel('PanelUI-fxa', event)"
++ consumeanchor="fxa-toolbar-menu-button"
++ closemenu="none"
++ label="&fxa.menu.firefoxAccount;"
++ tooltiptext="&fxa.menu.firefoxAccount;"
++ cui-areatype="toolbar"
++ removable="true">
++ <vbox>
++ <image id="fxa-avatar-image"/>
++ </vbox>
++ </toolbarbutton>
+ </hbox>
+
+ <toolbarbutton id="nav-bar-overflow-button"
@@ -1167,6 +1160,7 @@
+ toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
+ collapsed="true"
+ customizable="true">
++ <toolbartabstop skipintoolbarset="true"/>
+ <toolbaritem id="personal-bookmarks"
+ title="&bookmarksToolbarItem.label;"
+ cui-areatype="toolbar"
@@ -1336,7 +1330,9 @@
+ align="center"
+ flex="100"
+ persist="width">
++ <toolbartabstop/>
+ <searchbar id="searchbar" flex="1"/>
++ <toolbartabstop/>
+ </toolbaritem>
+ </toolbarpalette>
+ </toolbox>
@@ -1436,70 +1432,10 @@
content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
content/browser/browser-compacttheme.js (content/browser-compacttheme.js)
content/browser/browser-contentblocking.js (content/browser-contentblocking.js)
-diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
---- a/browser/components/build/nsModule.cpp
-+++ b/browser/components/build/nsModule.cpp
-@@ -8,17 +8,17 @@
- #include "nsBrowserCompsCID.h"
- #include "DirectoryProvider.h"
-
- #if defined(XP_WIN)
- # include "nsWindowsShellService.h"
- #elif defined(XP_MACOSX)
- # include "nsMacShellService.h"
- #elif defined(MOZ_WIDGET_GTK)
--# include "nsGNOMEShellService.h"
-+# include "nsUnixShellService.h"
- #endif
- #include "nsIToolkitShellService.h"
-
- #if defined(MOZ_WIDGET_COCOA)
- # include "nsMacAttribution.h"
- #endif
-
- #if defined(XP_WIN)
-@@ -34,18 +34,16 @@ using namespace mozilla::browser;
-
- /////////////////////////////////////////////////////////////////////////////
-
- NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider)
- #if defined(XP_WIN)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindowsShellService)
- #elif defined(XP_MACOSX)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacShellService)
--#elif defined(MOZ_WIDGET_GTK)
--NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
- #endif
-
- #if defined(MOZ_WIDGET_COCOA)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacAttributionService)
- #endif
-
- #if defined(XP_WIN)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
-@@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER
- #endif
-
- static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
- // clang-format off
- { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
- #if defined(XP_WIN)
- { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor },
- #elif defined(MOZ_WIDGET_GTK)
-- { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor },
-+ { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor },
- #elif defined(XP_MACOSX)
- { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
- #endif
- { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
- #if defined(XP_WIN)
- { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
- #endif
- #if defined(MOZ_WIDGET_COCOA)
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
--- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js
-@@ -289,16 +289,23 @@ var gMainPane = {
+@@ -288,16 +288,23 @@ var gMainPane = {
this._backoffIndex++ : backoffTimes.length - 1]);
};
@@ -1523,7 +1459,7 @@
performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
this.updateDefaultPerformanceSettingsPref();
-@@ -1021,16 +1028,27 @@ var gMainPane = {
+@@ -1025,16 +1032,27 @@ var gMainPane = {
// Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
this._backoffIndex = 0;
@@ -1815,7 +1751,7 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -452,16 +452,18 @@
+@@ -286,16 +286,18 @@
@RESPATH@/browser/defaults/settings/pinning
@RESPATH@/browser/defaults/settings/main
++++++ l10n-66.0.5.tar.xz -> l10n-67.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/l10n-66.0.5.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.5148/l10n-67.0.tar.xz differ: char 25, line 1
++++++ mozilla-aarch64-startup-crash.patch ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:50.979270624 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:50.979270624 +0200
@@ -1,12 +1,12 @@
# HG changeset patch
# Parent a5cfa3aa11a9d3391df49de6fc5a0e5232c12c10
-# Parent 7b5f6b68a8963228f738b803177f937481e19745
+# Parent 6dd2311796da4e15115fd04b181313ae62754317
Bug 991344 - Rpi3: Firefox crashes after a few seconds of usage
diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
--- a/netwerk/base/nsIOService.cpp
+++ b/netwerk/base/nsIOService.cpp
-@@ -842,17 +842,23 @@ nsresult nsIOService::NewChannelFromURIW
+@@ -975,17 +975,23 @@ nsresult nsIOService::NewChannelFromURIW
"doesn't support nsIUploadChannel2. An extension has "
"supplied a non-functional http protocol handler. This will "
"break behavior and in future releases not work at all.");
@@ -26,7 +26,7 @@
}
NS_IMETHODIMP
- nsIOService::NewChannelFromURIWithProxyFlags2(
+ nsIOService::NewChannelFromURIWithProxyFlags(
nsIURI *aURI, nsIURI *aProxyURI, uint32_t aProxyFlags,
nsINode *aLoadingNode, nsIPrincipal *aLoadingPrincipal,
nsIPrincipal *aTriggeringPrincipal, uint32_t aSecurityFlags,
++++++ mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch ++++++
--- a/js/src/wasm/WasmSignalHandlers.cpp 2019-05-16 11:25:13.260881532 +0200
+++ b/js/src/wasm/WasmSignalHandlers.cpp 2019-05-16 11:24:35.164589301 +0200
@@ -243,7 +243,7 @@ using mozilla::DebugOnly;
// emulation here.
#if defined(__linux__) && defined(__arm__)
-# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
+// # define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
#endif
#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
++++++ mozilla-fix-aarch64-libopus.patch ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:51.015270610 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:51.015270610 +0200
@@ -1,6 +1,15 @@
---- firefox-66.0.1.orig/media/libopus/silk/arm/arm_silk_map.c 2019-03-22 06:05:57.000000000 +0100
-+++ firefox-66.0.1/media/libopus/silk/arm/arm_silk_map.c 2019-03-28 09:35:28.604948775 +0100
-@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
+# HG changeset patch
+# Parent 1317782cd47f1d1f2410712a1dd283b305393eae
+
+diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c
+--- a/media/libopus/silk/arm/arm_silk_map.c
++++ b/media/libopus/silk/arm/arm_silk_map.c
+@@ -23,17 +23,17 @@ INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+ ***********************************************************************/
+ #ifdef HAVE_CONFIG_H
# include "config.h"
#endif
@@ -9,3 +18,8 @@
#include "NSQ.h"
#include "SigProc_FIX.h"
+ #if defined(OPUS_HAVE_RTCD)
+
+ # if (defined(OPUS_ARM_MAY_HAVE_NEON_INTR) && \
+ !defined(OPUS_ARM_PRESUME_NEON_INTR))
+
++++++ mozilla-kde.patch ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:51.039270601 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:51.039270601 +0200
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent f55e33a10c2a23625826ef6f8dbe18d5a455d29e
+# Parent cafacdb0b7c50666e5dcc927684a23e8733206a5
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang(a)rosenauer.org>
Author: Lubos Lunak <lunak(a)suse.com>
@@ -27,7 +27,7 @@
#ifdef XP_WIN
# include "windows.h"
#endif
-@@ -4467,25 +4468,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
+@@ -4493,25 +4494,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
// application pref files for backwards compatibility.
static const char* specialFiles[] = {
#if defined(XP_MACOSX)
@@ -65,7 +65,7 @@
// Load jar:$app/omni.jar!/defaults/preferences/*.js
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
-@@ -4533,17 +4546,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
+@@ -4559,17 +4572,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
}
nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -97,21 +97,21 @@
]
+LOCAL_INCLUDES += [
-+ '/toolkit/xre'
++ '/toolkit/xre'
+]
+
+ XPCOM_MANIFESTS += [
+ 'components.conf',
+ ]
+
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
- DEFINES['OS_ARCH'] = CONFIG['OS_ARCH']
- DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT']
- if CONFIG['MOZ_ENABLE_WEBRENDER']:
- DEFINES['MOZ_ENABLE_WEBRENDER'] = True
diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
--- a/python/mozbuild/mozpack/chrome/flags.py
+++ b/python/mozbuild/mozpack/chrome/flags.py
-@@ -220,16 +220,17 @@ class Flags(OrderedDict):
+@@ -223,16 +223,17 @@ class Flags(OrderedDict):
'contentaccessible': Flag,
'os': StringFlag,
'osversion': VersionFlag,
@@ -153,7 +153,7 @@
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
--- a/toolkit/components/downloads/moz.build
+++ b/toolkit/components/downloads/moz.build
-@@ -41,10 +41,14 @@ EXTRA_JS_MODULES += [
+@@ -41,10 +41,14 @@ XPCOM_MANIFESTS += [
if CONFIG['MOZ_PLACES']:
EXTRA_JS_MODULES += [
@@ -171,25 +171,25 @@
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
-@@ -65,16 +65,18 @@ toolkit.jar:
+@@ -63,16 +63,18 @@ toolkit.jar:
+ content/global/widgets.css
+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
content/global/bindings/button.xml (widgets/button.xml)
content/global/bindings/calendar.js (widgets/calendar.js)
- content/global/bindings/checkbox.xml (widgets/checkbox.xml)
content/global/bindings/datekeeper.js (widgets/datekeeper.js)
content/global/bindings/datepicker.js (widgets/datepicker.js)
- content/global/bindings/datetimebox.xml (widgets/datetimebox.xml)
content/global/bindings/datetimebox.css (widgets/datetimebox.css)
* content/global/bindings/dialog.xml (widgets/dialog.xml)
+* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml)
+% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
content/global/bindings/general.xml (widgets/general.xml)
content/global/bindings/menu.xml (widgets/menu.xml)
- content/global/bindings/menulist.xml (widgets/menulist.xml)
- content/global/bindings/notification.xml (widgets/notification.xml)
content/global/bindings/popup.xml (widgets/popup.xml)
content/global/bindings/radio.xml (widgets/radio.xml)
content/global/bindings/richlistbox.xml (widgets/richlistbox.xml)
content/global/bindings/scrollbox.xml (widgets/scrollbox.xml)
+ content/global/bindings/spinner.js (widgets/spinner.js)
+ content/global/bindings/tabbox.xml (widgets/tabbox.xml)
diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
new file mode 100644
--- /dev/null
@@ -702,10 +702,10 @@
+ </binding>
+
+</bindings>
-diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
---- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
-+++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
-@@ -1033,30 +1033,60 @@ nsUnknownContentTypeDialog.prototype = {
+diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
+--- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
++++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
+@@ -1030,30 +1030,60 @@ nsUnknownContentTypeDialog.prototype = {
if (params.handlerApp &&
params.handlerApp.executable &&
@@ -794,14 +794,14 @@
#include "nsIURI.h"
+#include "nsKDEUtils.h"
+ using namespace mozilla;
+
class nsUnixSystemProxySettings final : public nsISystemProxySettings {
public:
NS_DECL_ISUPPORTS
NS_DECL_NSISYSTEMPROXYSETTINGS
- nsUnixSystemProxySettings() : mSchemeProxySettings(4) {}
- nsresult Init();
-@@ -42,16 +43,18 @@ class nsUnixSystemProxySettings final :
+@@ -44,16 +45,18 @@ class nsUnixSystemProxySettings final :
nsACString& aResult);
nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost,
int32_t aPort, nsACString& aResult);
@@ -820,7 +820,7 @@
nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
// dbus prevents us from being threadsafe, but this routine should not block
// anyhow
-@@ -488,16 +491,19 @@ nsresult nsUnixSystemProxySettings::GetP
+@@ -487,22 +490,51 @@ nsresult nsUnixSystemProxySettings::GetP
return NS_OK;
}
@@ -840,16 +840,7 @@
return GetProxyFromEnvironment(aScheme, aHost, aPort, aResult);
}
-@@ -521,8 +527,34 @@ static const mozilla::Module::CIDEntry k
- static const mozilla::Module::ContractIDEntry kUnixProxyContracts[] = {
- {NS_SYSTEMPROXYSETTINGS_CONTRACTID, &kNS_UNIXSYSTEMPROXYSERVICE_CID},
- {nullptr}};
-
- static const mozilla::Module kUnixProxyModule = {
- mozilla::Module::kVersion, kUnixProxyCIDs, kUnixProxyContracts};
- NSMODULE_DEFN(nsUnixProxyModule) = &kUnixProxyModule;
-+
+nsresult
+nsUnixSystemProxySettings::GetProxyFromKDE(const nsACString& aScheme,
+ const nsACString& aHost,
@@ -875,10 +866,16 @@
+ return NS_OK;
+}
+
++
+ NS_IMPL_COMPONENT_FACTORY(nsUnixSystemProxySettings) {
+ auto result = MakeRefPtr<nsUnixSystemProxySettings>();
+ result->Init();
+ return result.forget().downcast<nsISupports>();
+ }
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
-@@ -81,17 +81,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
+@@ -83,17 +83,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
'../components/printingui',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
@@ -897,7 +894,7 @@
'nsNativeAppSupportDefault.cpp',
]
- if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
+ if CONFIG['MOZ_HAS_REMOTE']:
diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
new file mode 100644
--- /dev/null
@@ -1343,7 +1340,7 @@
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
--- a/uriloader/exthandler/moz.build
+++ b/uriloader/exthandler/moz.build
-@@ -76,17 +76,19 @@ else:
+@@ -80,17 +80,19 @@ else:
SOURCES += [
osdir + '/nsOSHelperAppService.cpp',
]
@@ -1363,7 +1360,7 @@
'android/nsExternalURLHandlerService.cpp',
'android/nsMIMEInfoAndroid.cpp',
]
-@@ -120,16 +122,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -130,16 +132,17 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
@@ -1797,7 +1794,7 @@
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
-@@ -116,16 +116,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -121,16 +121,17 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul'
@@ -1914,7 +1911,7 @@
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
-@@ -571,16 +598,240 @@ void nsFilePicker::Done(void *file_choos
+@@ -572,16 +599,240 @@ void nsFilePicker::Done(void *file_choos
mCallback->Done(result);
mCallback = nullptr;
} else {
@@ -2315,7 +2312,7 @@
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
--- a/xpcom/components/moz.build
+++ b/xpcom/components/moz.build
-@@ -44,12 +44,13 @@ LOCAL_INCLUDES += [
+@@ -66,14 +66,15 @@ LOCAL_INCLUDES += [
'!..',
'../base',
'../build',
@@ -2329,6 +2326,8 @@
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
CXXFLAGS += CONFIG['TK_CFLAGS']
+
+ include('/ipc/chromium/chromium-config.mozbuild')
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp
++++++ mozilla-nongnome-proxies.patch ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:51.051270596 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:51.051270596 +0200
@@ -9,7 +9,7 @@
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
-@@ -55,24 +55,27 @@ NS_IMETHODIMP
+@@ -57,24 +57,27 @@ NS_IMETHODIMP
nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
// dbus prevents us from being threadsafe, but this routine should not block
// anyhow
@@ -17,7 +17,7 @@
return NS_OK;
}
- nsresult nsUnixSystemProxySettings::Init() {
+ void nsUnixSystemProxySettings::Init() {
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
- if (mGSettings) {
- mGSettings->GetCollectionForSchema(
@@ -38,10 +38,10 @@
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+ }
}
-
- return NS_OK;
}
bool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) {
nsAutoCString mode;
return NS_SUCCEEDED(mGConf->GetString(
+ NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) &&
+ mode.EqualsASCII(aMode);
++++++ source-stamp.txt ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:51.095270579 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:51.099270577 +0200
@@ -1,2 +1,2 @@
-REV=96d2576eae4b
+REV=2a7896ba9aa5d982abe01f859d771d411fda8101
REPO=http://hg.mozilla.org/releases/mozilla-release
1
0
Hello community,
here is the log from the commit of package pipewire for openSUSE:Factory checked in at 2019-05-27 08:29:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pipewire (Old)
and /work/SRC/openSUSE:Factory/.pipewire.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pipewire"
Mon May 27 08:29:44 2019 rev:5 rq:705212 version:0.2.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes 2019-04-27 21:27:35.495270679 +0200
+++ /work/SRC/openSUSE:Factory/.pipewire.new.5148/pipewire.changes 2019-05-27 08:29:51.295270501 +0200
@@ -1,0 +2,28 @@
+Wed May 22 16:33:08 UTC 2019 - Markus S <kamikazow(a)opensuse.org>
+
+- Update to version 0.2.6:
+ + Improve error checking for threads.
+ + Fix some memory and fd leaks.
+ + Fix compilation with C++ compilers and clang.
+ + DISABLE_RTKIT should now not try to use dbus at all.
+ + Camera Portal fixes:
+ - add Camera media.role.
+ - Rename module-flatpak to module-portal.
+ - Use the portal permissions store for camera checks.
+ + Actually use the passed fd in pipewiresrc.
+ + Make properties with "pipewire." prefix read-only.
+ + Add security label to client object.
+ + Enforce link permissions.
+ + Permissions of objects are now combined with parent
+ permissions.
+ + Remove libv4l2 dependency, it is not used.
+ + Improve format negotiation in autolink #146.
+ + Try to avoid list corruption with event emmission #143.
+ + Fix destroy of client-node memory corruption.
+ + Various small improvements.
+- Remove pkgconfig(libv4l2) BuildRequires: follow upstreams cleanup
+ of build dependencies.
+- Drop avoid-invalid-conversion-error-with-C++.patch: fixed
+ upstream.
+
+-------------------------------------------------------------------
Old:
----
avoid-invalid-conversion-error-with-C++.patch
pipewire-0.2.5.tar.gz
New:
----
pipewire-0.2.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pipewire.spec ++++++
--- /var/tmp/diff_new_pack.BhD38a/_old 2019-05-27 08:29:51.803270303 +0200
+++ /var/tmp/diff_new_pack.BhD38a/_new 2019-05-27 08:29:51.803270303 +0200
@@ -22,15 +22,13 @@
%define spa_ver 0.1
Name: pipewire
-Version: 0.2.5
+Version: 0.2.6
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
URL: https://pipewire.org/
Source0: https://github.com/PipeWire/pipewire/archive/%{version}.tar.gz#/%{name}-%{v…
-# PATCH-FIX-UPSTREAM
-Patch1: avoid-invalid-conversion-error-with-C++.patch
BuildRequires: meson
BuildRequires: pkgconfig
@@ -52,7 +50,6 @@
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libudev)
-BuildRequires: pkgconfig(libv4l2)
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(sbc)
BuildRequires: pkgconfig(sdl2)
@@ -211,7 +208,7 @@
%{_libdir}/pipewire-%{apiver}/libpipewire-module-audio-dsp.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-autolink.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-client-node.so
-%{_libdir}/pipewire-%{apiver}/libpipewire-module-flatpak.so
+%{_libdir}/pipewire-%{apiver}/libpipewire-module-portal.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-link-factory.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-mixer.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-protocol-native.so
++++++ pipewire-0.2.5.tar.gz -> pipewire-0.2.6.tar.gz ++++++
++++ 5857 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-tox for openSUSE:Factory checked in at 2019-05-27 08:29:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tox (Old)
and /work/SRC/openSUSE:Factory/.python-tox.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tox"
Mon May 27 08:29:04 2019 rev:28 rq:705207 version:3.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tox/python-tox.changes 2019-05-16 21:59:13.662805691 +0200
+++ /work/SRC/openSUSE:Factory/.python-tox.new.5148/python-tox.changes 2019-05-27 08:29:05.767288248 +0200
@@ -1,0 +2,16 @@
+Fri May 24 11:40:04 CEST 2019 - Matej Cepl <mcepl(a)suse.com>
+
+- Update to 3.12.1:
+ - Ensure TOX_WORK_DIR is a native string in os.environ
+ - Fix import and usage of winreg for python2.7 on windows
+ - Fix Windows selects incorrect spec on first discovery
+ - When using --parallel with --result-json the test results are
+ now included the same way as with serial runs
+ - Turns out the output of the py -0p is not stable yet and
+ varies depending on various edge cases. Instead now we read
+ the interpreter values directly from registry via PEP-514
+ - Adding TOX_PARALLEL_NO_SPINNER environment variable to
+ disable the spinner in parallel mode for the purposes of
+ clean output when using CI tools
+
+-------------------------------------------------------------------
Old:
----
tox-3.11.1.tar.gz
New:
----
tox-3.12.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-tox.spec ++++++
--- /var/tmp/diff_new_pack.UwVwzR/_old 2019-05-27 08:29:07.411287608 +0200
+++ /var/tmp/diff_new_pack.UwVwzR/_new 2019-05-27 08:29:07.411287608 +0200
@@ -23,7 +23,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-tox
-Version: 3.11.1
+Version: 3.12.1
Release: 0
Summary: Virtualenv-based automation of test activities
License: MIT
++++++ tox-3.11.1.tar.gz -> tox-3.12.1.tar.gz ++++++
++++ 1992 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package rust-cbindgen for openSUSE:Factory checked in at 2019-05-27 08:28:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rust-cbindgen (Old)
and /work/SRC/openSUSE:Factory/.rust-cbindgen.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rust-cbindgen"
Mon May 27 08:28:48 2019 rev:3 rq:705196 version:0.8.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/rust-cbindgen/rust-cbindgen.changes 2019-03-27 16:11:53.555660054 +0100
+++ /work/SRC/openSUSE:Factory/.rust-cbindgen.new.5148/rust-cbindgen.changes 2019-05-27 08:28:58.527291072 +0200
@@ -1,0 +2,6 @@
+Tue May 14 11:57:41 UTC 2019 - Wolfgang Rosenauer <wr(a)rosenauer.org>
+
+- update to version 0.8.7
+ * there is no upstream changelog provided
+
+-------------------------------------------------------------------
Old:
----
cbindgen-0.6.8.tar.gz
New:
----
cbindgen-0.8.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rust-cbindgen.spec ++++++
--- /var/tmp/diff_new_pack.oG9g3j/_old 2019-05-27 08:29:00.455290320 +0200
+++ /var/tmp/diff_new_pack.oG9g3j/_new 2019-05-27 08:29:00.455290320 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package rust-cbindgen
+# spec file for package rust
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
@@ -20,7 +20,7 @@
%global crate_name cbindgen
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
Name: rust-%{crate_name}
-Version: 0.6.8
+Version: 0.8.7
Release: 0
Summary: A tool for generating C bindings from Rust code
License: MPL-2.0
++++++ cbindgen-0.6.8.tar.gz -> cbindgen-0.8.7.tar.gz ++++++
++++ 9442 lines of diff (skipped)
++++++ vendor.tar.xz ++++++
++++ 133979 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-kiwi for openSUSE:Factory checked in at 2019-05-27 08:28:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-kiwi (Old)
and /work/SRC/openSUSE:Factory/.python-kiwi.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-kiwi"
Mon May 27 08:28:39 2019 rev:42 rq:705193 version:9.17.39
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes 2019-04-17 10:05:20.054569881 +0200
+++ /work/SRC/openSUSE:Factory/.python-kiwi.new.5148/python-kiwi.changes 2019-05-27 08:28:43.711296847 +0200
@@ -1,0 +2,335 @@
+Fri May 24 08:57:42 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Bump version: 9.17.38 → 9.17.39
+
+-------------------------------------------------------------------
+Thu May 23 15:33:18 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Update obs docs per review by Tom
+
+-------------------------------------------------------------------
+Wed May 22 16:04:47 CEST 2019 - David Cassany <dcassany(a)suse.de>
+
+- Disable check-valid-until with repository_gpgcheck
+
+ This commit is two fold:
+
+ * From one side fixes a wrong use of the `trusted` option for
+ apt repositories. `trusted=no` does not force to run the gpg checks
+ it just forces the repository to be considered untrusted regardless
+ the result of the security checks.
+
+ * From the other side it disables the option `check-valid-until` in
+ case gpg checks are disabled using the `repository_gpgcheck`. It
+ works at repository level. This enables using unmaintained or
+ expired repositories for the build.
+
+ Fixes #1028
+
+-------------------------------------------------------------------
+Fri May 17 14:08:21 CEST 2019 - Thomas Schraitle <toms(a)suse.de>
+
+- Simplify shell pipe expression with shell builtin
+
+ Replace "echo $var | sed ..." expression with ${var//SEARCH/REPLACE}
+ shell builtin as suggested by Codacy
+
+-------------------------------------------------------------------
+Wed May 15 08:55:52 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Make mediacheck runtime check arch independent
+
+ The check_mediacheck_only_for_x86_arch runtime check fails on
+ non x86 architectures but the tagmedia toolchain exists independent
+ of the platform architecture. This Fixes #1091
+
+-------------------------------------------------------------------
+Tue May 14 08:45:21 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Set home as protected path
+
+ Along with adding home to the protection list, cleanup
+ the prepare instance cleanup code in a way that it only
+ runs if a root_bind object exists which needs to call
+ its cleanup path
+
+-------------------------------------------------------------------
+Mon May 13 17:17:02 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Extend docs about building multiple profiles on OBS
+
+-------------------------------------------------------------------
+Fri May 10 23:04:18 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Remove FIXME from the runtime configuration file example
+
+-------------------------------------------------------------------
+Thu May 09 23:33:42 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Improve the documentation about building in the Build Service
+
+ Co-Authored-By: Thomas Schraitle <tom_schr(a)web.de>
+
+-------------------------------------------------------------------
+Thu May 09 23:03:36 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Turn sphinx warnings into errors
+
+ Modify the sphinx Makefile to treat warnings
+ like undefined references as errors
+
+-------------------------------------------------------------------
+Wed May 08 17:02:41 CEST 2019 - Alberto Planas <aplanas(a)gmail.com>
+
+- kiwi-live-lib: mount live ISO as read-only
+
+ During the boot process of a live image, dracut shows this WARNING:
+
+ dracut-initqueue: mount: /run/initramfs/live: WARNING: device write-protected, mounted read-only
+
+ This is not a problem, as the live ISO image is, indeed, read-only.
+
+ This patch fix this cosmetic issue being explicit in the mount
+ options in `mountIso` function.
+
+-------------------------------------------------------------------
+Tue May 07 11:10:39 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Call isolinux-config only on supported archs
+
+-------------------------------------------------------------------
+Mon May 06 15:53:45 CEST 2019 - David Cassany <dcassany(a)suse.de>
+
+- Discard default dependencies for sysroot.mount
+
+ This commit makes default dependencies from sysroot.mount to be
+ explicitly omitted. This fixes potential inconsistencies in
+ ordering pre-mount.service with local-fs.target. This change is
+ also applied to upstream sysroot.mount generator here:
+
+ https://github.com/systemd/systemd/pull/12281
+
+ Fixes #1015
+
+-------------------------------------------------------------------
+Fri May 03 11:51:02 CEST 2019 - David Cassany <dcassany(a)suse.de>
+
+- Fix locale setting
+
+ For pre-Leap 15 openSUSE versions KIWI >= 9.12.0 was not completely
+ setting locale, as it was missingto set the RC_LANG variable from
+ `/etc/sysconfig/language` file. Current commit enforces to update
+ locale in `/etc/sysconfig/language` (if the file exists) at the
+ same time it applies systemd-firstboot configurations.
+
+ Fixes #1081
+
+-------------------------------------------------------------------
+Thu May 02 16:17:50 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Cleanup TODO & FIXME from xml_description.rst
+
+-------------------------------------------------------------------
+Fri Apr 26 15:06:14 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Add GitLab CI pipeline badge to README.rst
+
+-------------------------------------------------------------------
+Fri Apr 26 15:05:51 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Extend the development documentation
+
+ Co-Authored-By: Thomas Schraitle <tom_schr(a)web.de>
+
+-------------------------------------------------------------------
+Fri Apr 26 12:29:19 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Log thrown exceptions in Compress.get_format()
+
+-------------------------------------------------------------------
+Fri Apr 26 12:29:00 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Fix documentation of Compress.get_format()
+
+-------------------------------------------------------------------
+Fri Apr 26 11:40:14 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- log exception in SystemPrepare.__del__
+
+-------------------------------------------------------------------
+Fri Apr 26 10:53:51 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Use yaml.safe_load instead of yaml.load
+
+ yaml.load is relatively dangerous when the loaded data comes from untrusted
+ sources, as it can allow for arbitrary code execution, see:
+ https://pyyaml.org/wiki/PyYAMLDocumentation#LoadingYAML
+
+ safe_load limits the created python objects to the basic Python types like
+ integers and strings, which is all that we need for the runtime configuration
+ file.
+
+-------------------------------------------------------------------
+Thu Apr 25 16:40:39 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Fixing doc source for broken refs and xml syntax
+
+-------------------------------------------------------------------
+Wed Apr 24 22:56:24 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Document the usage of profiles via the CLI and OBS
+
+-------------------------------------------------------------------
+Wed Apr 24 22:31:44 CEST 2019 - Tom Schraitle <tomschr(a)users.noreply.github.com>
+
+- Apply suggestions from @tomschr
+
+ Co-Authored-By: dcermak <45594031+dcermak(a)users.noreply.github.com>
+
+-------------------------------------------------------------------
+Wed Apr 24 17:26:52 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Improve the documentation of the runtime configuration file
+
+ Co-Authored-By: Thomas Schraitle <tom_schr(a)web.de>
+
+-------------------------------------------------------------------
+Wed Apr 24 15:33:19 CEST 2019 - Tom Schraitle <tomschr(a)users.noreply.github.com>
++++ 166 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes
++++ and /work/SRC/openSUSE:Factory/.python-kiwi.new.5148/python-kiwi.changes
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-kiwi.spec ++++++
--- /var/tmp/diff_new_pack.ueuA48/_old 2019-05-27 08:28:44.831296411 +0200
+++ /var/tmp/diff_new_pack.ueuA48/_new 2019-05-27 08:28:44.851296403 +0200
@@ -45,7 +45,7 @@
%endif
Name: python-kiwi
-Version: 9.17.37
+Version: 9.17.39
Provides: kiwi-schema = 6.6
Release: 0
Url: https://github.com/SUSE/kiwi
++++++ python-kiwi.tar.gz ++++++
++++ 2203 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-26 21:17:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sun May 26 21:17:32 2019 rev:271 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
42.3:update_1558885530.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-26 21:17:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sun May 26 21:17:24 2019 rev:270 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.0:update_1558883378.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-26 01:07:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Sun May 26 01:07:33 2019 rev:1271 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.NJvdCF/_old 2019-05-26 01:07:37.449083157 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:37.461083153 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20190525" 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">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190524,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190525,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.NJvdCF/_old 2019-05-26 01:07:37.749083049 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:37.761083044 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-MicroOS___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE-MicroOS___20190525" 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">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190524,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190525,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190524/…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190525/…</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-kubic-dvd-x86_64.kiwi: same change
++++++ openSUSE-cd-mini-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:38.261082863 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:38.277082857 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE___20190525" 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">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,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/20190524/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/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.NJvdCF/_old 2019-05-26 01:07:38.553082758 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:38.573082751 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE___20190525" 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">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,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/20190524/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/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 ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:38.789082672 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:38.805082667 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE___20190525" 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">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,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/20190524/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/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>
@@ -348,7 +348,7 @@
<repopackage name="cpio-lang"/>
<repopackage name="cpio-mt"/>
<repopackage name="cpp"/>
- <repopackage name="cpp8"/>
+ <repopackage name="cpp9"/>
<repopackage name="cppcheck"/>
<repopackage name="cpupower"/>
<repopackage name="cracklib"/>
@@ -617,12 +617,12 @@
<repopackage name="gcc-fortran"/>
<repopackage name="gcc-info"/>
<repopackage name="gcc-objc"/>
- <repopackage name="gcc8"/>
- <repopackage name="gcc8-c++"/>
- <repopackage name="gcc8-fortran"/>
- <repopackage name="gcc8-info"/>
- <repopackage name="gcc8-locale"/>
- <repopackage name="gcc8-objc"/>
+ <repopackage name="gcc9"/>
+ <repopackage name="gcc9-c++"/>
+ <repopackage name="gcc9-fortran"/>
+ <repopackage name="gcc9-info"/>
+ <repopackage name="gcc9-locale"/>
+ <repopackage name="gcc9-objc"/>
<repopackage name="gcin"/>
<repopackage name="gcin-branding-openSUSE"/>
<repopackage name="gcin-gtk2"/>
@@ -2360,8 +2360,6 @@
<repopackage name="libmpfr6"/>
<repopackage name="libmpg123-0"/>
<repopackage name="libmplex2-2_0-0"/>
- <repopackage name="libmpx2"/>
- <repopackage name="libmpxwrappers2"/>
<repopackage name="libmspack0"/>
<repopackage name="libmspub-0_1-1"/>
<repopackage name="libmtdev1"/>
@@ -2794,7 +2792,7 @@
<repopackage name="libstartup-notification-1-0"/>
<repopackage name="libstdc++-devel"/>
<repopackage name="libstdc++6"/>
- <repopackage name="libstdc++6-devel-gcc8"/>
+ <repopackage name="libstdc++6-devel-gcc9"/>
<repopackage name="libstdc++6-gcc7-locale"/>
<repopackage name="libstdc++6-gcc8-locale"/>
<repopackage name="libstdc++6-locale"/>
@@ -4952,6 +4950,7 @@
<repopackage name="system-user-uucp"/>
<repopackage name="system-user-wwwrun"/>
<repopackage name="systemd"/>
+ <repopackage name="systemd-container"/>
<repopackage name="systemd-icon-branding-openSUSE"/>
<repopackage name="systemd-logger"/>
<repopackage name="systemd-presets-branding-openSUSE"/>
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:39.073082570 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:39.097082561 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE___20190525" 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">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,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/20190524/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/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>
@@ -358,7 +358,7 @@
<repopackage name="cpio-lang"/>
<repopackage name="cpio-mt"/>
<repopackage name="cpp"/>
- <repopackage name="cpp8"/>
+ <repopackage name="cpp9"/>
<repopackage name="cppcheck"/>
<repopackage name="cpupower"/>
<repopackage name="cracklib"/>
@@ -636,12 +636,12 @@
<repopackage name="gcc-fortran"/>
<repopackage name="gcc-info"/>
<repopackage name="gcc-objc"/>
- <repopackage name="gcc8"/>
- <repopackage name="gcc8-c++"/>
- <repopackage name="gcc8-fortran"/>
- <repopackage name="gcc8-info"/>
- <repopackage name="gcc8-locale"/>
- <repopackage name="gcc8-objc"/>
+ <repopackage name="gcc9"/>
+ <repopackage name="gcc9-c++"/>
+ <repopackage name="gcc9-fortran"/>
+ <repopackage name="gcc9-info"/>
+ <repopackage name="gcc9-locale"/>
+ <repopackage name="gcc9-objc"/>
<repopackage name="gcin"/>
<repopackage name="gcin-branding-openSUSE"/>
<repopackage name="gcin-gtk2"/>
@@ -2473,8 +2473,6 @@
<repopackage name="libmpfr6"/>
<repopackage name="libmpg123-0"/>
<repopackage name="libmplex2-2_0-0"/>
- <repopackage name="libmpx2"/>
- <repopackage name="libmpxwrappers2"/>
<repopackage name="libmspack0"/>
<repopackage name="libmspub-0_1-1"/>
<repopackage name="libmtdev1"/>
@@ -2947,7 +2945,7 @@
<repopackage name="libstdc++-devel"/>
<repopackage name="libstdc++6"/>
<repopackage name="libstdc++6-32bit" arch="x86_64"/>
- <repopackage name="libstdc++6-devel-gcc8"/>
+ <repopackage name="libstdc++6-devel-gcc9"/>
<repopackage name="libstdc++6-gcc7-locale"/>
<repopackage name="libstdc++6-gcc8-locale"/>
<repopackage name="libstdc++6-locale"/>
@@ -5203,6 +5201,7 @@
<repopackage name="system-user-wwwrun"/>
<repopackage name="systemd"/>
<repopackage name="systemd-32bit" arch="x86_64"/>
+ <repopackage name="systemd-container"/>
<repopackage name="systemd-icon-branding-openSUSE"/>
<repopackage name="systemd-logger"/>
<repopackage name="systemd-presets-branding-openSUSE"/>
++++++ openSUSE-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:39.353082469 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:39.369082463 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE___20190525" 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-20190524-i586-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20190525-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">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,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/20190524/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/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 ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:40.273082136 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:40.285082132 +0200
@@ -350,7 +350,7 @@
<package name="cpio-lang" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="cpio-mt" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="cpp" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
- <package name="cpp8" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
+ <package name="cpp9" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="cppcheck" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde_ide -->
<package name="cpupower" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="cracklib" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
@@ -617,12 +617,12 @@
<package name="gcc-fortran" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="gcc-info" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
<package name="gcc-objc" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
- <package name="gcc8" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
- <package name="gcc8-c++" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
- <package name="gcc8-fortran" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
- <package name="gcc8-info" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
- <package name="gcc8-locale" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
- <package name="gcc8-objc" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
+ <package name="gcc9" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
+ <package name="gcc9-c++" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
+ <package name="gcc9-fortran" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
+ <package name="gcc9-info" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
+ <package name="gcc9-locale" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
+ <package name="gcc9-objc" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="gcin" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="gcin-branding-openSUSE" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="gcin-gtk2" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
@@ -2456,8 +2456,6 @@
<package name="libmpfr6" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="libmpg123-0" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="libmplex2-2_0-0" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
- <package name="libmpx2" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
- <package name="libmpxwrappers2" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
<package name="libmspack0" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="libmspub-0_1-1" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="libmtdev1" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
@@ -2831,7 +2829,7 @@
<package name="libstartup-notification-1-0" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="libstdc++-devel" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="libstdc++6" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
- <package name="libstdc++6-devel-gcc8" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
+ <package name="libstdc++6-devel-gcc9" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="libstdc++6-gcc7-locale" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="libstdc++6-gcc8-locale" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="libstdc++6-locale" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
@@ -4900,6 +4898,7 @@
<package name="system-user-uucp" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-mail_server -->
<package name="system-user-wwwrun" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-base-devel_web -->
<package name="systemd" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
+ <package name="systemd-container" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="systemd-icon-branding-openSUSE" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="systemd-logger" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_cd_core -->
<package name="systemd-presets-branding-openSUSE" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:41.121081829 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:41.153081818 +0200
@@ -1466,6 +1466,7 @@
- cilium-docker: [x86_64]
- cilium-etcd-operator
- cilium-init: [x86_64]
+ - cilium-k8s-yaml: [x86_64]
- cilium-microscope
- cilium-operator: [x86_64]
- cilium-proxy: [x86_64]
@@ -1733,7 +1734,7 @@
- cpluff
- cpmono_v07-fonts
- cpp7
- - cpp9
+ - cpp8
- cppcheck-gui
- cppdb-devel
- cppdb-doc
@@ -3156,6 +3157,8 @@
- gcc-ada
- gcc-ada-32bit: [x86_64]
- gcc-c++-32bit: [x86_64]
+ - gcc-d
+ - gcc-d-32bit: [x86_64]
- gcc-devel
- gcc-fortran-32bit: [x86_64]
- gcc-go
@@ -3181,36 +3184,36 @@
- gcc7-objc
- gcc7-objc-32bit: [x86_64]
- gcc7-testresults
+ - gcc8
- gcc8-32bit: [x86_64]
- gcc8-ada
- gcc8-ada-32bit: [x86_64]
+ - gcc8-c++
- gcc8-c++-32bit: [x86_64]
- gcc8-devel
+ - gcc8-fortran
- gcc8-fortran-32bit: [x86_64]
- gcc8-go
- gcc8-go-32bit: [x86_64]
+ - gcc8-info
+ - gcc8-locale
- gcc8-obj-c++
- gcc8-obj-c++-32bit: [x86_64]
+ - gcc8-objc
- gcc8-objc-32bit: [x86_64]
- gcc8-testresults
- - gcc9
- gcc9-32bit: [x86_64]
- gcc9-ada
- gcc9-ada-32bit: [x86_64]
- - gcc9-c++
- gcc9-c++-32bit: [x86_64]
- gcc9-d
- gcc9-d-32bit: [x86_64]
- gcc9-devel
- - gcc9-fortran
- gcc9-fortran-32bit: [x86_64]
- gcc9-go
- gcc9-go-32bit: [x86_64]
- - gcc9-info
- - gcc9-locale
- gcc9-obj-c++
- gcc9-obj-c++-32bit: [x86_64]
- - gcc9-objc
- gcc9-objc-32bit: [x86_64]
- gcc9-testresults
- gccmakedep
@@ -5661,6 +5664,7 @@
- jupyter-jupyter_contrib_core
- jupyter-jupyter_core
- jupyter-jupyter_core-doc
+ - jupyter-jupyter_core-filesystem
- jupyter-jupyter_dashboards
- jupyter-jupyter_highlight_selected_word
- jupyter-jupyter_latex_envs
@@ -5668,6 +5672,7 @@
- jupyter-jupyterbgnotify
- jupyter-jupyterlab
- jupyter-jupyterlab-discovery
+ - jupyter-jupyterlab-filesystem
- jupyter-jupyterlab-ipyscales
- jupyter-jupyterlab-latex
- jupyter-jupyterlab-launcher
@@ -5675,6 +5680,8 @@
- jupyter-jupyterlab-widgets
- jupyter-jupyterlab_github
- jupyter-jupyterlab_templates
+ - jupyter-jupytext
+ - jupyter-jupytext-jupyterlab
- jupyter-lineup-widget
- jupyter-matlab-kernel
- jupyter-nbconvert
@@ -5690,6 +5697,7 @@
- jupyter-nbpresent
- jupyter-notebook
- jupyter-notebook-doc
+ - jupyter-notebook-filesystem
- jupyter-notebook-lang
- jupyter-notebook-latex
- jupyter-octave_kernel
@@ -9569,9 +9577,11 @@
- libmpris-qt5-1
- libmpris-qt5-devel
- libmpv1
+ - libmpx2
- libmpx2-32bit: [x86_64]
- libmpx2-gcc7
- libmpx2-gcc7-32bit: [x86_64]
+ - libmpxwrappers2
- libmpxwrappers2-32bit: [x86_64]
- libmpxwrappers2-gcc7
- libmpxwrappers2-gcc7-32bit: [x86_64]
@@ -11000,8 +11010,8 @@
- libstdc++-devel-32bit: [x86_64]
- libstdc++6-devel-gcc7
- libstdc++6-devel-gcc7-32bit: [x86_64]
+ - libstdc++6-devel-gcc8
- libstdc++6-devel-gcc8-32bit: [x86_64]
- - libstdc++6-devel-gcc9
- libstdc++6-devel-gcc9-32bit: [x86_64]
- libstdc++6-gcc7
- libstdc++6-gcc7-32bit: [x86_64]
@@ -17954,6 +17964,7 @@
- python2-jupyter_qtconsole
- python2-jupyter_sphinx
- python2-jupyter_widgetsnbextension
+ - python2-jupytext
- python2-jwcrypto
- python2-k5test
- python2-kafka-python
@@ -18158,6 +18169,7 @@
- python2-nose_warnings_filters
- python2-nosexcover
- python2-notebook
+ - python2-notebook-lang
- python2-notify2
- python2-novaclient
- python2-nss
@@ -20201,6 +20213,7 @@
- python3-jupyter_qtconsole
- python3-jupyter_sphinx
- python3-jupyter_widgetsnbextension
+ - python3-jupytext
- python3-jwcrypto
- python3-k5test
- python3-kafka-python
@@ -20432,6 +20445,7 @@
- python3-nose_warnings_filters
- python3-nosexcover
- python3-notebook
+ - python3-notebook-lang
- python3-notify2
- python3-notmuch
- python3-novaclient
@@ -22784,7 +22798,6 @@
- scite
- scmon
- scons
- - scons-test
- scotch
- scotch-devel
- scotch-devel-static
@@ -23407,7 +23420,6 @@
- system-group-obsolete
- system-group-s390-tools
- system-user-uuidd
- - systemd-container
- systemd-coredump
- systemd-devel
- systemd-journal-remote
1
0
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2019-05-26 01:07:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Sun May 26 01:07:26 2019 rev:148 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.meCKPg/_old 2019-05-26 01:07:29.797085923 +0200
+++ /var/tmp/diff_new_pack.meCKPg/_new 2019-05-26 01:07:29.801085922 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20190524)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20190525)
#
# Copyright (c) 2019 openSUSE.
#
@@ -16,16 +16,16 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon
-Version: 20190524
+Version: 20190525
Release: 0
License: BSD-3-Clause
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE-Addon-NonOss
-Provides: product(openSUSE-Addon-NonOss) = 20190524-0
+Provides: product(openSUSE-Addon-NonOss) = 20190525-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190524
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190525
AutoReqProv: on
@@ -49,10 +49,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190524</version>
+ <version>20190525</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190524</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190525</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.meCKPg/_old 2019-05-26 01:07:29.817085916 +0200
+++ /var/tmp/diff_new_pack.meCKPg/_new 2019-05-26 01:07:29.821085914 +0200
@@ -17,7 +17,7 @@
Name: openSUSE-MicroOS-release
-Version: 20190524
+Version: 20190525
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) = 20190524-0
+Provides: product(openSUSE-MicroOS) = 20190525-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190524
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190525
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) = 20190524-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190525-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) = 20190524-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190525-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) = 20190524-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190525-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) = 20190524-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190525-0
Summary: openSUSE MicroOS
%description appliance-kubic
@@ -164,11 +164,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-MicroOS</name>
- <version>20190524</version>
+ <version>20190525</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-microos:20190524</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-microos:20190525</cpeid>
<productline>openSUSE-MicroOS</productline>
<register>
<pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.meCKPg/_old 2019-05-26 01:07:29.837085908 +0200
+++ /var/tmp/diff_new_pack.meCKPg/_new 2019-05-26 01:07:29.837085908 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20190524
+Version: 20190525
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}) < 20190524
+Obsoletes: product_flavor(%{product}) < 20190525
# 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) = 20190524-0
+Provides: product(openSUSE) = 20190525-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%3A20190524
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190525
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) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description ftp
@@ -226,7 +226,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description mini
@@ -241,7 +241,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description dvd
@@ -256,7 +256,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-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) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-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) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-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) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-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) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-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) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-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) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description usb-x11
@@ -361,7 +361,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description appliance
@@ -435,10 +435,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190524</version>
+ <version>20190525</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20190524</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20190525</cpeid>
<productline>openSUSE</productline>
<register>
<pool>
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.meCKPg/_old 2019-05-26 01:07:30.005085848 +0200
+++ /var/tmp/diff_new_pack.meCKPg/_new 2019-05-26 01:07:30.009085846 +0200
@@ -20220,6 +20220,7 @@
Provides: weakremover(sap-locale)
Provides: weakremover(sblim-sfcc)
Provides: weakremover(scantailor-cli)
+Provides: weakremover(scons-test)
Provides: weakremover(scratch)
Provides: weakremover(scratch-devel)
Provides: weakremover(scratch-lang)
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-25 21:01:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sat May 25 21:01:58 2019 rev:269 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory:non-oss_1267.2.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-25 21:01:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sat May 25 21:01:56 2019 rev:268 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory_20190524.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package python-sphinx-feature-classification for openSUSE:Factory checked in at 2019-05-25 13:35:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinx-feature-classification (Old)
and /work/SRC/openSUSE:Factory/.python-sphinx-feature-classification.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sphinx-feature-classification"
Sat May 25 13:35:34 2019 rev:4 rq:705301 version:0.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sphinx-feature-classification/python-sphinx-feature-classification.changes 2019-04-28 20:14:22.910383860 +0200
+++ /work/SRC/openSUSE:Factory/.python-sphinx-feature-classification.new.5148/python-sphinx-feature-classification.changes 2019-05-25 13:35:35.555962286 +0200
@@ -1,0 +2,12 @@
+Fri May 24 20:07:37 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.4.0:
+ * OpenDev Migration Patch
+ * Fix the summary table border not rendering
+ * Copy the CSS into the built docs
+ * Fix deprecated add\_stylesheet with add\_css\_file
+ * Fix driver links rendering in the summary table
+ * releasenotes: Remove crud from 'conf.py'
+ * releasenotes: Switch to openstackdocstheme
+
+-------------------------------------------------------------------
Old:
----
sphinx-feature-classification-0.3.2.tar.gz
New:
----
sphinx-feature-classification-0.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sphinx-feature-classification.spec ++++++
--- /var/tmp/diff_new_pack.bH0s5o/_old 2019-05-25 13:35:36.391961690 +0200
+++ /var/tmp/diff_new_pack.bH0s5o/_new 2019-05-25 13:35:36.391961690 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-sphinx-feature-classification
-Version: 0.3.2
+Version: 0.4.0
Release: 0
Summary: Sphinx extension to generate a matrix of pluggable drivers
License: Apache-2.0
++++++ sphinx-feature-classification-0.3.2.tar.gz -> sphinx-feature-classification-0.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/AUTHORS new/sphinx-feature-classification-0.4.0/AUTHORS
--- old/sphinx-feature-classification-0.3.2/AUTHORS 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/AUTHORS 2019-04-26 18:55:18.000000000 +0200
@@ -3,6 +3,7 @@
Corey Bryant <corey.bryant(a)canonical.com>
Doug Hellmann <doug(a)doughellmann.com>
Jay S. Bryant <jungleboyj(a)electronicjungle.net>
+Michael Johnson <johnsomor(a)gmail.com>
Mike Perez <thingee(a)gmail.com>
Sean McGinnis <sean.mcginnis(a)gmail.com>
Stephen Finucane <stephenfin(a)redhat.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/ChangeLog new/sphinx-feature-classification-0.4.0/ChangeLog
--- old/sphinx-feature-classification-0.3.2/ChangeLog 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/ChangeLog 2019-04-26 18:55:18.000000000 +0200
@@ -1,6 +1,17 @@
CHANGES
=======
+0.4.0
+-----
+
+* OpenDev Migration Patch
+* Fix the summary table border not rendering
+* Copy the CSS into the built docs
+* Fix deprecated add\_stylesheet with add\_css\_file
+* Fix driver links rendering in the summary table
+* releasenotes: Remove crud from 'conf.py'
+* releasenotes: Switch to openstackdocstheme
+
0.3.2
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/PKG-INFO new/sphinx-feature-classification-0.4.0/PKG-INFO
--- old/sphinx-feature-classification-0.3.2/PKG-INFO 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/PKG-INFO 2019-04-26 18:55:19.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: sphinx-feature-classification
-Version: 0.3.2
+Version: 0.4.0
Summary: Generate a matrix of pluggable drivers and their support to an API in Sphinx.
Home-page: https://docs.openstack.org/sphinx-feature-classification/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml new/sphinx-feature-classification-0.4.0/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml
--- old/sphinx-feature-classification-0.3.2/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml 2019-04-26 18:51:32.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Adds a handler to copy the CSS file into the _static directory on build.
+ Previously the CSS file was not being copied over into the built docs.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml new/sphinx-feature-classification-0.4.0/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml
--- old/sphinx-feature-classification-0.3.2/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml 2019-04-26 18:51:32.000000000 +0200
@@ -0,0 +1,4 @@
+---
+fixes:
+ - |
+ Updated the CSS handling to use add_css_file instead of add_stylesheet.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml new/sphinx-feature-classification-0.4.0/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml
--- old/sphinx-feature-classification-0.3.2/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml 2019-04-26 18:51:32.000000000 +0200
@@ -0,0 +1,4 @@
+---
+fixes:
+ - |
+ Fixed driver links to render in the summary table.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/releasenotes/source/conf.py new/sphinx-feature-classification-0.4.0/releasenotes/source/conf.py
--- old/sphinx-feature-classification-0.3.2/releasenotes/source/conf.py 2019-02-26 01:05:12.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/releasenotes/source/conf.py 2019-04-26 18:51:32.000000000 +0200
@@ -12,45 +12,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Glance Release Notes documentation build configuration file, created by
-# sphinx-quickstart on Tue Nov 3 17:40:50 2015.
-#
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-# sys.path.insert(0, os.path.abspath('.'))
-
# -- General configuration ------------------------------------------------
-# If your documentation needs a minimal Sphinx version, state it here.
-# needs_sphinx = '1.0'
-
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
- 'oslosphinx',
+ 'openstackdocstheme',
'reno.sphinxext',
]
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-# source_encoding = 'utf-8-sig'
-
# The master toctree document.
master_doc = 'index'
@@ -68,208 +39,12 @@
# The short X.Y version.
version = ''
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-# language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-# today = ''
-# Else, today_fmt is used as the format for a strftime call.
-# today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = []
-
-# The reST default role (used for this markup: `text`) to use for all
-# documents.
-# default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-# add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-# add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-# show_authors = False
-
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
-# A list of ignored prefixes for module index sorting.
-# modindex_common_prefix = []
-
-# If true, keep warnings as "system message" paragraphs in the built documents.
-# keep_warnings = False
-
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme = 'default'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-# html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-# html_theme_path = []
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-# html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-# html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-# html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-# html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# Add any extra paths that contain custom files (such as robots.txt or
-# .htaccess) here, relative to this directory. These files are copied
-# directly to the root of the documentation.
-# html_extra_path = []
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-# html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-# html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-# html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-# html_additional_pages = {}
-
-# If false, no module index is generated.
-# html_domain_indices = True
-
-# If false, no index is generated.
-# html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-# html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-# html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-# html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-# html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-# html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-# html_file_suffix = None
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'GlanceReleaseNotesdoc'
-
-
-# -- Options for LaTeX output ---------------------------------------------
-
-latex_elements = {
- # The paper size ('letterpaper' or 'a4paper').
- # 'papersize': 'letterpaper',
-
- # The font size ('10pt', '11pt' or '12pt').
- # 'pointsize': '10pt',
-
- # Additional stuff for the LaTeX preamble.
- # 'preamble': '',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-# author, documentclass [howto, manual, or own class]).
-latex_documents = [
- ('index', 'GlanceReleaseNotes.tex', u'Glance Release Notes Documentation',
- u'Glance Developers', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-# latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-# latex_use_parts = False
-
-# If true, show page references after internal links.
-# latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-# latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-# latex_appendices = []
-
-# If false, no module index is generated.
-# latex_domain_indices = True
-
-
-# -- Options for manual page output ---------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
- ('index', 'glancereleasenotes', u'Glance Release Notes Documentation',
- [u'Glance Developers'], 1)
-]
-
-# If true, show URL addresses after external links.
-# man_show_urls = False
-
-
-# -- Options for Texinfo output -------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-# dir menu entry, description, category)
-texinfo_documents = [
- ('index', 'GlanceReleaseNotes', u'Glance Release Notes Documentation',
- u'Glance Developers', 'GlanceReleaseNotes',
- 'One line description of project.',
- 'Miscellaneous'),
-]
-
-# Documents to append as an appendix to all manuals.
-# texinfo_appendices = []
-
-# If false, no module index is generated.
-# texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-# texinfo_show_urls = 'footnote'
-
-# If true, do not generate a @detailmenu in the "Top" node's menu.
-# texinfo_no_detailmenu = False
-
-# -- Options for Internationalization output ------------------------------
-locale_dirs = ['locale/']
+html_theme = 'openstackdocs'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml 2019-04-26 18:51:32.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Fixed the summary table border not rendering and improved the table
+ font sizing.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/support-matrix.css new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/support-matrix.css
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/support-matrix.css 2019-02-26 01:05:12.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/support-matrix.css 2019-04-26 18:51:32.000000000 +0200
@@ -1,8 +1,12 @@
-
.sp_feature_required {
font-weight: bold;
}
+.sp_feature_cells {
+ border: solid 1px black;
+ text-align: center;
+}
+
.sp_impl_complete {
color: rgb(0, 120, 0);
font-weight: normal;
@@ -24,7 +28,7 @@
}
.sp_impl_summary {
- font-size: 2em;
+ font-size: medium;
}
.sp_cli {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/support_matrix.py new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/support_matrix.py
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/support_matrix.py 2019-02-26 01:05:12.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/support_matrix.py 2019-04-26 18:51:32.000000000 +0200
@@ -19,7 +19,9 @@
"""
+from os import path
import re
+import shutil
from docutils import nodes
from docutils.parsers import rst
@@ -248,7 +250,7 @@
"""
summary_title = nodes.subtitle(text="Summary")
- summary = nodes.table()
+ summary = nodes.table(classes=["sp_feature_cells"])
cols = len(matrix.drivers.keys())
# Add two columns for the Feature and Status columns.
@@ -269,10 +271,10 @@
# This sets up all the column headers - two fixed
# columns for feature name & status
header = nodes.row()
- blank = nodes.entry()
+ blank = nodes.entry(classes=["sp_feature_cells"])
blank.append(nodes.emphasis(text="Feature"))
header.append(blank)
- blank = nodes.entry()
+ blank = nodes.entry(classes=["sp_feature_cells"])
blank.append(nodes.emphasis(text="Status"))
header.append(blank)
summary_head.append(header)
@@ -282,9 +284,17 @@
key=lambda x: matrix.drivers[x].title)
for key in impls:
driver = matrix.drivers[key]
- implcol = nodes.entry()
+ implcol = nodes.entry(classes=["sp_feature_cells"])
header.append(implcol)
- implcol.append(nodes.strong(text=driver.title))
+ if driver.link:
+ uri = driver.link
+ target_ref = nodes.reference("", refuri=uri)
+ target_txt = nodes.inline()
+ implcol.append(target_txt)
+ target_txt.append(target_ref)
+ target_ref.append(nodes.strong(text=driver.title))
+ else:
+ implcol.append(nodes.strong(text=driver.title))
# We now produce the body of the table, one row for
# each feature to report on
@@ -295,7 +305,7 @@
feature_id = re.sub(KEY_PATTERN, "_", feature.key)
# first the fixed columns for title/status
- key_col = nodes.entry()
+ key_col = nodes.entry(classes=["sp_feature_cells"])
item.append(key_col)
key_ref = nodes.reference(refid=feature_id)
key_txt = nodes.inline()
@@ -303,7 +313,7 @@
key_txt.append(key_ref)
key_ref.append(nodes.strong(text=feature.title))
- status_col = nodes.entry()
+ status_col = nodes.entry(classes=["sp_feature_cells"])
item.append(status_col)
status_col.append(nodes.inline(
text=feature.status,
@@ -312,7 +322,7 @@
# and then one column for each backend driver
for key in impls:
impl = feature.implementations[key]
- impl_col = nodes.entry()
+ impl_col = nodes.entry(classes=["sp_feature_cells"])
item.append(impl_col)
key_id = re.sub(KEY_PATTERN, "_",
@@ -463,6 +473,15 @@
return para
+def on_build_finished(app, exc):
+ if exc is None:
+ src = path.join(path.abspath(path.dirname(__file__)),
+ 'support-matrix.css')
+ dst = path.join(app.outdir, '_static', 'support-matrix.css')
+ shutil.copyfile(src, dst)
+
+
def setup(app):
app.add_directive('support_matrix', Directive)
- app.add_stylesheet('support-matrix.css')
+ app.add_css_file('support-matrix.css')
+ app.connect('build-finished', on_build_finished)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/PKG-INFO new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/PKG-INFO
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/PKG-INFO 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/PKG-INFO 2019-04-26 18:55:19.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: sphinx-feature-classification
-Version: 0.3.2
+Version: 0.4.0
Summary: Generate a matrix of pluggable drivers and their support to an API in Sphinx.
Home-page: https://docs.openstack.org/sphinx-feature-classification/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/SOURCES.txt new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/SOURCES.txt
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/SOURCES.txt 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/SOURCES.txt 2019-04-26 18:55:19.000000000 +0200
@@ -20,6 +20,9 @@
doc/source/install/index.rst
doc/source/user/index.rst
releasenotes/notes/.placeholder
+releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml
+releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml
+releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml
releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
releasenotes/source/conf.py
releasenotes/source/index.rst
@@ -36,6 +39,7 @@
sphinx_feature_classification.egg-info/pbr.json
sphinx_feature_classification.egg-info/requires.txt
sphinx_feature_classification.egg-info/top_level.txt
+sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml
sphinx_feature_classification/tests/__init__.py
sphinx_feature_classification/tests/base.py
sphinx_feature_classification/tests/test_sphinx_feature_classification.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/pbr.json new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/pbr.json
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/pbr.json 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/pbr.json 2019-04-26 18:55:19.000000000 +0200
@@ -1 +1 @@
-{"git_version": "2dacdfb", "is_release": true}
\ No newline at end of file
+{"git_version": "884fec8", "is_release": true}
\ No newline at end of file
1
0
Hello community,
here is the log from the commit of package netdata for openSUSE:Factory checked in at 2019-05-25 13:35:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/netdata (Old)
and /work/SRC/openSUSE:Factory/.netdata.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "netdata"
Sat May 25 13:35:31 2019 rev:10 rq:705267 version:1.15.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/netdata/netdata.changes 2019-05-03 22:48:03.075993005 +0200
+++ /work/SRC/openSUSE:Factory/.netdata.new.5148/netdata.changes 2019-05-25 13:35:32.767964274 +0200
@@ -1,0 +2,49 @@
+Tue May 21 12:37:08 UTC 2019 - Martin Herkt <9+suse(a)cirno.systems>
+
+- Update to v1.15.0
+ Bug Fixes:
+ * Prowl notifications were not being sent, unless another
+ notification method was also active
+ * Fix exception handling in the python.d plugin
+ * The node applications group did not include all node processes.
+ * The nvidia_smi collector displayed incorrect power usage
+ * The python.d plugin would sometimes hang, because it lacked
+ a connect timeout
+ * The mongodb collector raised errors due to various KeyErrors
+ * The smartd_log collector would show incorrect temperature
+ values
+
+ Improvements:
+ * Support for aggregate node view
+ * Database engine
+ * New collector modules:
+ + Go.d collectors for OpenVPN, the Tengine web server and
+ ScaleIO (VxFlex OS) instances
+ + Monitor disk access latency like ioping does
+ * Energi Core daemon monitoring, suits other Bitcoin forks
+ * Collector improvements:
+ + Add docker swarm manager metrics to the go.d docker_engine
+ collector
+ + Implement unified cgroup cpu limit
+ + python.d.plugin: Allow monitoring of HTTP(S) endpoints which
+ require POST data and make the UrlService more flexible
+ * Support the AWS Kinesis backend for long-term storage
+ * Add a new "text-only" chart renderer
+ * API Improvements:
+ + Smarter caching of API calls. Do not cache alarms and info
+ api calls and extend no-cache headers.
+ + Extend the api/v1/info call response with system and
+ collector information
+ + k6 script for API load testing
+ * Kubernetes helmchart improvements:
+ + Added the init container, where sysctl params could be
+ managed, to bypass the Cannot allocate memory issue
+ + Better startup/shutdown of slaves and reduced memory usage
+ with liveness/readiness probes and default memory mode none
+ + Added the option of overriding the default settings for
+ kubelet, kubeproxy and coredns collectors via values.yaml
+ + Make the use of persistent volumes optional, add apiVersion
+ to fix linting errors and correct the location of the env
+ field
+
+-------------------------------------------------------------------
@@ -164 +213 @@
- * Python module sensors fix #5406 (ilyam8)
+ * Python module sensors fix #5406
Old:
----
netdata-v1.14.0.tar.gz
New:
----
netdata-v1.15.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ netdata.spec ++++++
--- /var/tmp/diff_new_pack.0u4BUl/_old 2019-05-25 13:35:33.435963798 +0200
+++ /var/tmp/diff_new_pack.0u4BUl/_new 2019-05-25 13:35:33.439963795 +0200
@@ -18,13 +18,8 @@
%define netdata_user netdata
%define netdata_group netdata
-%if 0%{?suse_version} > 1220
-%bcond_without systemd
-%else
-%bcond_with systemd
-%endif
Name: netdata
-Version: 1.14.0
+Version: 1.15.0
Release: 0
Summary: A system for distributed real-time performance and health monitoring
# netdata is GPL-3.0+, other licenses refer to included third-party software (see REDISTRIBUTED.md)
@@ -35,15 +30,17 @@
Source3: netdata-rpmlintrc
Patch0: netdata-logrotate-su.patch
Patch2: netdata-smartd-log-path.patch
-BuildRequires: autoconf
-BuildRequires: automake
BuildRequires: cups-devel
BuildRequires: dos2unix
BuildRequires: fdupes
+BuildRequires: judy-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libcap)
+BuildRequires: pkgconfig(liblz4)
BuildRequires: pkgconfig(libmnl)
BuildRequires: pkgconfig(libnetfilter_acct)
+BuildRequires: pkgconfig(libuv)
+BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(uuid)
BuildRequires: pkgconfig(zlib)
Requires(pre): shadow
@@ -73,7 +70,6 @@
%patch2 -p1
%build
-autoreconf -fiv
%configure \
--docdir="%{_docdir}/%{name}-%{version}" \
--enable-plugin-nfacct \
++++++ netdata-v1.14.0.tar.gz -> netdata-v1.15.0.tar.gz ++++++
++++ 22081 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package gajim for openSUSE:Factory checked in at 2019-05-25 13:35:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gajim (Old)
and /work/SRC/openSUSE:Factory/.gajim.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gajim"
Sat May 25 13:35:27 2019 rev:29 rq:705266 version:1.1.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/gajim/gajim.changes 2019-02-02 21:49:33.039965153 +0100
+++ /work/SRC/openSUSE:Factory/.gajim.new.5148/gajim.changes 2019-05-25 13:35:29.587966543 +0200
@@ -1,0 +2,24 @@
+Thu May 23 05:14:14 UTC 2019 - mvetter(a)suse.com
+
+- Update to 1.1.3:
+ New:
+ * Add a mobile phone indicator to the chat window
+ * Rework HTTPUpload dialog
+ * Add a "paste as quote" option to the message input
+ Bug fixes:
+ * #8822 Fix memory leak when using spell checker
+ * #9514 Fix jingle filetransfers not working in some circumstances
+ * #9573 Dont leak DNS query when connecting over proxy
+ * #9578 Determine Windows version more reliably
+ * #9622 Fix an error while quitting Gajim
+ * #9633 Fix an error while sending a file
+ * #9637 Restore window size correctly on wayland
+ * #9660 GPG Agent setting is ignored
+ * #9645 Make zeroconf IPV6 compatible
+ * Improve dark theme colors
+ * Fix access to GnuPG keys
+ * Use UUID4 item ids for pubsub posts
+ * Dont send invalid show values
+ * Various smaller improvements
+
+-------------------------------------------------------------------
Old:
----
gajim-1.1.2.tar.bz2
New:
----
gajim-1.1.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gajim.spec ++++++
--- /var/tmp/diff_new_pack.G9dJOV/_old 2019-05-25 13:35:30.319966020 +0200
+++ /var/tmp/diff_new_pack.G9dJOV/_new 2019-05-25 13:35:30.323966018 +0200
@@ -18,7 +18,7 @@
%define _version 1.1
Name: gajim
-Version: 1.1.2
+Version: 1.1.3
Release: 0
Summary: XMPP client written in Python and Gtk3
License: GPL-3.0-only
@@ -32,7 +32,7 @@
BuildRequires: p11-kit-devel
BuildRequires: pkgconfig
BuildRequires: python3 >= 3.5.0
-BuildRequires: python3-nbxmpp >= 0.6.9
+BuildRequires: python3-nbxmpp >= 0.6.10
BuildRequires: python3-precis-i18n >= 1.0.0
BuildRequires: python3-setuptools
BuildRequires: update-desktop-files
++++++ gajim-1.1.2.tar.bz2 -> gajim-1.1.3.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gajim/gajim-1.1.2.tar.bz2 /work/SRC/openSUSE:Factory/.gajim.new.5148/gajim-1.1.3.tar.bz2 differ: char 11, line 1
1
0
Hello community,
here is the log from the commit of package python-notebook for openSUSE:Factory checked in at 2019-05-25 13:35:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-notebook (Old)
and /work/SRC/openSUSE:Factory/.python-notebook.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-notebook"
Sat May 25 13:35:23 2019 rev:2 rq:705228 version:5.7.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-notebook/python-notebook.changes 2019-05-22 11:12:46.798573913 +0200
+++ /work/SRC/openSUSE:Factory/.python-notebook.new.5148/python-notebook.changes 2019-05-25 13:35:24.671970049 +0200
@@ -1,0 +2,11 @@
+Fri May 24 03:33:21 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Add a jupyter-specific language package
+
+-------------------------------------------------------------------
+Wed May 22 18:59:10 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Split directories and macros into separate package.
+- Make lang subpackage python version-specific
+
+-------------------------------------------------------------------
Old:
----
macros.jupyter_notebook
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-notebook.spec ++++++
--- /var/tmp/diff_new_pack.WOuv11/_old 2019-05-25 13:35:26.715968591 +0200
+++ /var/tmp/diff_new_pack.WOuv11/_new 2019-05-25 13:35:26.759968560 +0200
@@ -28,12 +28,12 @@
Source0: https://files.pythonhosted.org/packages/source/n/notebook/notebook-%{versio…
Source1: https://media.readthedocs.org/pdf/jupyter-notebook/%{doc_ver}/jupyter-noteb…
Source2: https://media.readthedocs.org/htmlzip/jupyter-notebook/%{doc_ver}/jupyter-n…
-Source10: macros.jupyter_notebook
Source100: python-notebook-rpmlintrc
BuildRequires: %{python_module jupyter_core >= 4.4.0}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
+BuildRequires: jupyter-notebook-filesystem
BuildRequires: python-rpm-macros
BuildRequires: unzip
Requires: jupyter-notebook = %{version}
@@ -87,6 +87,21 @@
This package provides the python interface.
+%package lang
+# FIXME: consider using %%lang_package macro
+Summary: Provides translations for the Jupyter Notebook
+Group: System/Localization
+Requires: python-notebook = %{version}
+Provides: python-notebook-lang-all = %{version}
+Provides: python-jupyter_notebook-lang = %{version}
+Obsoletes: python-jupyter_notebook-lang < %{version}
+Requires: jupyter-notebook-lang = %{version}
+
+%description lang
+Provides translations for the Jupyter notebook.
+
+This package provides the python module translations.
+
%package -n jupyter-notebook
Summary: Jupyter Notebook interface
Requires: jupyter-ipykernel
@@ -94,8 +109,7 @@
Requires: jupyter-jupyter_core >= 4.4.0
Requires: jupyter-nbconvert
Requires: jupyter-nbformat
-# This package provides macros that depend on these macros
-Requires: python-rpm-macros
+Requires: jupyter-notebook-filesystem
Requires: python3-notebook = %{version}
Conflicts: python3-jupyter_notebook < 5.7.8
@@ -106,18 +120,16 @@
This package provides the jupyter components.
%package -n jupyter-notebook-lang
-# FIXME: consider using %%lang_package macro
-Summary: Provides translations for %{name}
+Summary: Provides translations for the Jupyter Notebook
Group: System/Localization
Requires: jupyter-notebook = %{version}
+Requires: python3-notebook-lang = %{version}
Provides: jupyter-notebook-lang-all = %{version}
-Provides: %{python_module notebook-lang = %{version}}
-Provides: %{python_module notebook-lang-all = %{version}}
-Provides: %{python_module jupyter_notebook-lang = %{version}}
-Obsoletes: %{python_module jupyter_notebook-lang < %{version}}
%description -n jupyter-notebook-lang
-Provides translations for the "jupyter-notebook" package.
+Provides translations for the Jupyter notebook.
+
+This package provides the jupyter component translations.
%package -n jupyter-notebook-latex
Summary: LaTeX support for the Jupyter Notebook
@@ -146,7 +158,6 @@
%prep
%setup -q -n notebook-%{version}
-cp %{SOURCE1} .
unzip %{SOURCE2} -d docs
mv docs/jupyter-notebook-* docs/html
rm docs/html/.buildinfo
@@ -159,16 +170,6 @@
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
-# These directories are used for extensions
-mkdir -p %{buildroot}%{_jupyter_prefix}/nbextensions
-mkdir -p %{buildroot}%{_jupyter_confdir}/jupyter_notebook_config.d/
-mkdir -p %{buildroot}%{_jupyter_confdir}/jupyter_server_config.d/
-mkdir -p %{buildroot}%{_jupyter_confdir}/nbextensions/
-
-for d in auth base bidi custom edit notebook services style terminal tree ; do
- mkdir -p %{buildroot}%{_jupyter_confdir}/nbconfig/${d}.d
-done
-
# Install icons
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
cp docs/resources/icon_512x512.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/JupyterNotebook.svg
@@ -183,8 +184,6 @@
cp -r %{SOURCE1} %{buildroot}%{_docdir}/jupyter-notebook/
cp -r docs/html %{buildroot}%{_docdir}/jupyter-notebook/
-install -D -m644 %{SOURCE10} %{buildroot}%{_rpmconfigdir}/macros.d/macros.jupyter_notebook
-
%fdupes %{buildroot}%{_docdir}/jupyter-notebook/html/
%check
@@ -198,6 +197,11 @@
%{python_sitelib}/notebook/
%exclude %{python_sitelib}/notebook/i18n/*/
+%files %{python_files lang}
+%license COPYING.md
+%lang(fr_FR) %{python_sitelib}/notebook/i18n/fr_FR/
+%lang(zh_CN) %{python_sitelib}/notebook/i18n/zh_CN/
+
%files -n jupyter-notebook
%license COPYING.md
%{_bindir}/jupyter-bundlerextension
@@ -205,27 +209,9 @@
%{_bindir}/jupyter-notebook
%{_bindir}/jupyter-serverextension
%{_datadir}/icons/hicolor/*/apps/JupyterNotebook.*
-%{_rpmconfigdir}/macros.d/macros.jupyter_notebook
-%dir %{_jupyter_prefix}/nbextensions
-%dir %{_jupyter_confdir}/jupyter_notebook_config.d/
-%dir %{_jupyter_confdir}/jupyter_server_config.d/
-%dir %{_jupyter_confdir}/nbextensions/
-%dir %{_jupyter_confdir}/nbconfig/
-%dir %{_jupyter_confdir}/nbconfig/auth.d
-%dir %{_jupyter_confdir}/nbconfig/base.d
-%dir %{_jupyter_confdir}/nbconfig/bidi.d
-%dir %{_jupyter_confdir}/nbconfig/custom.d
-%dir %{_jupyter_confdir}/nbconfig/edit.d
-%dir %{_jupyter_confdir}/nbconfig/notebook.d
-%dir %{_jupyter_confdir}/nbconfig/services.d
-%dir %{_jupyter_confdir}/nbconfig/style.d
-%dir %{_jupyter_confdir}/nbconfig/terminal.d
-%dir %{_jupyter_confdir}/nbconfig/tree.d
%files -n jupyter-notebook-lang
%license COPYING.md
-%lang(fr_FR) %{python_sitelib}/notebook/i18n/fr_FR/
-%lang(zh_CN) %{python_sitelib}/notebook/i18n/zh_CN/
%files -n jupyter-notebook-latex
%license COPYING.md
1
0
Hello community,
here is the log from the commit of package jupyter for openSUSE:Factory checked in at 2019-05-25 13:35:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jupyter (Old)
and /work/SRC/openSUSE:Factory/.jupyter.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jupyter"
Sat May 25 13:35:11 2019 rev:2 rq:705102 version:1.0.0
Changes:
--------
New Changes file:
--- /dev/null 2019-05-02 15:18:01.516169518 +0200
+++ /work/SRC/openSUSE:Factory/.jupyter.new.5148/jupyter-filesystem.changes 2019-05-25 13:35:12.855978476 +0200
@@ -0,0 +1,10 @@
+-------------------------------------------------------------------
+Fri May 24 02:52:16 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Use %{_rpmmacrodir}
+
+-------------------------------------------------------------------
+Tue May 14 19:01:28 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Initial version
+
New:
----
jupyter-filesystem.changes
jupyter-filesystem.spec
macros.jupyter_core
macros.jupyter_notebook
macros.jupyterlab
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jupyter-filesystem.spec ++++++
#
# spec file for package jupyter-filesystem
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: jupyter-filesystem
Url: https://jupyter.org/
Version: 20190522
%define tar_ver 1.0.0
Release: 0
Summary: Common directories shared by Jupyter packages
Source0: https://files.pythonhosted.org/packages/source/j/jupyter/jupyter-%{tar_ver}…
Source10: macros.jupyter_core
Source11: macros.jupyter_notebook
Source12: macros.jupyterlab
License: BSD-3-Clause
Group: System/Fhs
%description
This package provides common directories and macros used by many
jupyter packages.
%package -n jupyter-jupyter_core-filesystem
Summary: Common directories shared by Jupyter packages
Provides: jupyter-jupyter_core-macros-devel = %{version}
Provides: %{python_module jupyter_core-filesystem = %{version}}
Provides: %{python_module jupyter_core-macros-devel = %{version}}
%description -n jupyter-jupyter_core-filesystem
This package provides common directories and macros used by many
packages that depend on jupyter_core.
It also provides macros for building packages that depend on
jupyter_core.
%define _jupyter_prefix %{_datadir}/jupyter/
%define _jupyter_kernel_dir %{_jupyter_prefix}/kernels/
%define _jupyter_confdir %{_sysconfdir}/jupyter/
%package -n jupyter-notebook-filesystem
Summary: Common directories shared by Jupyter notebook packages
Requires: jupyter-jupyter_core-filesystem = %{version}
Requires: python-rpm-macros
Provides: jupyter-notebook-macros-devel = %{version}
Provides: %{python_module notebook-filesystem = %{version}}
Provides: %{python_module notebook-macros-devel = %{version}}
%description -n jupyter-notebook-filesystem
This package provides common directories and macros used by many
packages that depend on the Jupyter notebook.
It also provides macros for building packages that depend on
the Jupyter notebook.
%define _jupyter_nbextension_dir %{_jupyter_prefix}/nbextensions/
%define _jupyter_nb_confdir %{_jupyter_confdir}/nbconfig/
%define _jupyter_nbextension_confdir %{_jupyter_nb_confdir}/nbextensions/
%define _jupyter_servextension_confdir %{_jupyter_confdir}/jupyter_notebook_config.d/
%define _jupyter_server_confdir %{_jupyter_confdir}/jupyter_server_config.d/
%define _jupyter_nb_auth_confdir %{_jupyter_nb_confdir}/auth.d
%define _jupyter_nb_base_confdir %{_jupyter_nb_confdir}/base.d
%define _jupyter_nb_bidi_confdir %{_jupyter_nb_confdir}/bidi.d
%define _jupyter_nb_custom_confdir %{_jupyter_nb_confdir}/custom.d
%define _jupyter_nb_edit_confdir %{_jupyter_nb_confdir}/edit.d
%define _jupyter_nb_notebook_confdir %{_jupyter_nb_confdir}/notebook.d
%define _jupyter_nb_services_confdir %{_jupyter_nb_confdir}/services.d
%define _jupyter_nb_style_confdir %{_jupyter_nb_confdir}/style.d
%define _jupyter_nb_terminal_confdir %{_jupyter_nb_confdir}/terminal.d
%define _jupyter_nb_tree_confdir %{_jupyter_nb_confdir}/tree.d
%package -n jupyter-jupyterlab-filesystem
Summary: Common directories shared by JupyterLab packages
Requires: jupyter-jupyter_core-filesystem = %{version}
Provides: jupyter-jupyterlab-macros-devel = %{version}
Provides: %{python_module jupyterlab-filesystem = %{version}}
Provides: %{python_module jupyterlab-macros-devel = %{version}}
%description -n jupyter-jupyterlab-filesystem
This package provides common directories and macros used by many
packages that depend on JupyterLab.
It also provides macros for building packages that depend on
JupyterLab.
%define _jupyter_lab_dir %{_jupyter_prefix}/lab/
%define _jupyter_labextensions_dir %{_jupyter_lab_dir}/extensions/
%prep
%setup -q -n jupyter-%{tar_ver}
%build
# Not needed
%install
# macros
install -D -m644 %{SOURCE10} %{buildroot}%{_rpmmacrodir}/macros.jupyter_core
install -D -m644 %{SOURCE11} %{buildroot}%{_rpmmacrodir}/macros.jupyter_notebook
install -D -m644 %{SOURCE12} %{buildroot}%{_rpmmacrodir}/macros.jupyterlab
# jupyter_core directories
mkdir -p %{buildroot}%{_jupyter_prefix}
mkdir -p %{buildroot}%{_jupyter_kernel_dir}
mkdir -p %{buildroot}%{_jupyter_confdir}
# notebook directories
mkdir -p %{buildroot}%{_jupyter_nbextension_dir}
mkdir -p %{buildroot}%{_jupyter_nb_confdir}
mkdir -p %{buildroot}%{_jupyter_nbextension_confdir}
mkdir -p %{buildroot}%{_jupyter_servextension_confdir}
mkdir -p %{buildroot}%{_jupyter_server_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_auth_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_base_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_bidi_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_custom_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_edit_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_notebook_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_services_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_style_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_terminal_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_tree_confdir}
# jupyterlab directories
mkdir -p %{buildroot}%{_jupyter_lab_dir}
mkdir -p %{buildroot}%{_jupyter_labextensions_dir}
%files -n jupyter-jupyter_core-filesystem
%license LICENSE
%{_rpmmacrodir}/macros.jupyter_core
%dir %{_jupyter_prefix}
%dir %{_jupyter_kernel_dir}
%dir %{_jupyter_confdir}
%files -n jupyter-notebook-filesystem
%license LICENSE
%{_rpmmacrodir}/macros.jupyter_notebook
%dir %{_jupyter_nbextension_dir}
%dir %{_jupyter_nb_confdir}
%dir %{_jupyter_nbextension_confdir}
%dir %{_jupyter_servextension_confdir}
%dir %{_jupyter_server_confdir}
%dir %{_jupyter_nb_auth_confdir}
%dir %{_jupyter_nb_base_confdir}
%dir %{_jupyter_nb_bidi_confdir}
%dir %{_jupyter_nb_custom_confdir}
%dir %{_jupyter_nb_edit_confdir}
%dir %{_jupyter_nb_notebook_confdir}
%dir %{_jupyter_nb_services_confdir}
%dir %{_jupyter_nb_style_confdir}
%dir %{_jupyter_nb_terminal_confdir}
%dir %{_jupyter_nb_tree_confdir}
%files -n jupyter-jupyterlab-filesystem
%license LICENSE
%{_rpmmacrodir}/macros.jupyterlab
%dir %{_jupyter_lab_dir}
%dir %{_jupyter_labextensions_dir}
%changelog
++++++ macros.jupyter_core ++++++
%_jupyter_prefix %{_datadir}/jupyter/
%_jupyter_kernel_dir %{_jupyter_prefix}/kernels/
%_jupyter_confdir %{_sysconfdir}/jupyter/
%jupyter_move_config \
%if "$(dirname %{_prefix}/etc/jupyter)" != "$(dirname %{_jupyter_confdir})" \
mkdir -p %{buildroot}%{_sysconfdir} \
mv %{buildroot}%{_prefix}/etc/jupyter %{buildroot}%{_jupyter_confdir} \
rm -d %{buildroot}%{_prefix}/etc \
%endif \
%{nil}
++++++ macros.jupyter_notebook ++++++
%_jupyter_nbextension_dir %{_jupyter_prefix}/nbextensions/
%_jupyter_nb_confdir %{_jupyter_confdir}/nbconfig/
%_jupyter_nbextension_confdir %{_jupyter_nb_confdir}/nbextensions/
%_jupyter_servextension_confdir %{_jupyter_confdir}/jupyter_notebook_config.d/
%_jupyter_server_confdir %{_jupyter_confdir}/jupyter_server_config.d/
%_jupyter_nb_auth_confdir %{_jupyter_nb_confdir}/auth.d
%_jupyter_nb_base_confdir %{_jupyter_nb_confdir}/base.d
%_jupyter_nb_bidi_confdir %{_jupyter_nb_confdir}/bidi.d
%_jupyter_nb_custom_confdir %{_jupyter_nb_confdir}/custom.d
%_jupyter_nb_edit_confdir %{_jupyter_nb_confdir}/edit.d
%_jupyter_nb_notebook_confdir %{_jupyter_nb_confdir}/notebook.d
%_jupyter_nb_services_confdir %{_jupyter_nb_confdir}/services.d
%_jupyter_nb_style_confdir %{_jupyter_nb_confdir}/style.d
%_jupyter_nb_terminal_confdir %{_jupyter_nb_confdir}/terminal.d
%_jupyter_nb_tree_confdir %{_jupyter_nb_confdir}/tree.d
%jupyter_nbextension_install() \
PYTHONPATH=%{buildroot}%{python3_sitelib} jupyter nbextension install --nbextensions=%{buildroot}%{_jupyter_nbextension_dir} --py %{1} \
%{nil}
%jupyter_nbextension_enable() \
jupyter nbextension enable --py --system %{1} || true \
%{nil}
%jupyter_serverextension_enable() \
jupyter serverextension enable --py --system %{1} || true \
%{nil}
%jupyter_nbextension_disable() \
if [ $1 = 0 ] && [ -d %{python3_sitelib}/%{1}/ ] ; then \
jupyter nbextension disable --py --system %{1} || true \
fi \
%{nil}
%jupyter_serverextension_disable() \
if [ $1 = 0 ] && [ -d %{python3_sitelib}/%{1}/ ] ; then \
jupyter serverextension disable --py --system %{1} || true \
fi \
%{nil}
++++++ macros.jupyterlab ++++++
%_jupyter_lab_dir %{_jupyter_prefix}/lab/
%_jupyter_labextensions_dir %{_jupyter_lab_dir}/extensions/
1
0
Hello community,
here is the log from the commit of package python-jupyter_core for openSUSE:Factory checked in at 2019-05-25 13:35:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter_core (Old)
and /work/SRC/openSUSE:Factory/.python-jupyter_core.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter_core"
Sat May 25 13:35:07 2019 rev:9 rq:704842 version:4.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jupyter_core/python-jupyter_core.changes 2019-05-22 11:05:25.682577350 +0200
+++ /work/SRC/openSUSE:Factory/.python-jupyter_core.new.5148/python-jupyter_core.changes 2019-05-25 13:35:08.523981566 +0200
@@ -1,0 +2,5 @@
+Tue May 14 18:55:09 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Split directories and macros into separate package.
+
+-------------------------------------------------------------------
Old:
----
macros.jupyter
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyter_core.spec ++++++
--- /var/tmp/diff_new_pack.nEhT50/_old 2019-05-25 13:35:10.115980431 +0200
+++ /var/tmp/diff_new_pack.nEhT50/_new 2019-05-25 13:35:10.119980428 +0200
@@ -25,13 +25,13 @@
Group: Development/Languages/Python
URL: https://github.com/jupyter/jupyter_core
Source0: https://files.pythonhosted.org/packages/source/j/jupyter_core/jupyter_core-…
-Source10: macros.jupyter
# PATCH-FIX-OPENSUSE -- use_rpms_paths.patch -- change paths so they are easy to replace at build time
Patch0: use_rpms_paths.patch
BuildRequires: %{python_module ipython_genutils}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module traitlets}
BuildRequires: fdupes
+BuildRequires: jupyter-jupyter_core-filesystem
BuildRequires: python-rpm-macros
Requires: jupyter-jupyter_core = %{version}
Requires: python-ipython_genutils
@@ -55,6 +55,7 @@
Summary: Base package on which Jupyter projects rely
Group: Development/Languages/Python
Requires: python3-jupyter_core = %{version}
+Requires: jupyter-notebook-filesystem
%description -n jupyter-jupyter_core
Core common functionality of Jupyter projects.
@@ -89,13 +90,6 @@
%fdupes %{buildroot}%{$python_sitelib}
}
-# these directories are used by extensions
-mkdir -p %{buildroot}%{_datadir}/jupyter/
-mkdir -p %{buildroot}%{_datadir}/jupyter/kernels/
-mkdir -p %{buildroot}%{_sysconfdir}/jupyter/
-
-install -D -m644 %{SOURCE10} %{buildroot}%{_rpmconfigdir}/macros.d/macros.jupyter
-
%files %{python_files}
%license COPYING.md
%{python_sitelib}/jupyter.py*
@@ -108,9 +102,5 @@
%doc CONTRIBUTING.md README.md
%{_bindir}/jupyter
%{_bindir}/jupyter-migrate
-%{_rpmconfigdir}/macros.d/macros.jupyter
-%dir %{_datadir}/jupyter/
-%dir %{_datadir}/jupyter/kernels/
-%dir %{_sysconfdir}/jupyter/
%changelog
1
0
Hello community,
here is the log from the commit of package jupyter-jupyterlab for openSUSE:Factory checked in at 2019-05-25 13:35:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jupyter-jupyterlab (Old)
and /work/SRC/openSUSE:Factory/.jupyter-jupyterlab.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jupyter-jupyterlab"
Sat May 25 13:35:02 2019 rev:2 rq:704841 version:0.35.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/jupyter-jupyterlab/jupyter-jupyterlab.changes 2019-05-22 10:57:23.338937989 +0200
+++ /work/SRC/openSUSE:Factory/.jupyter-jupyterlab.new.5148/jupyter-jupyterlab.changes 2019-05-25 13:35:04.499984436 +0200
@@ -1,0 +2,9 @@
+Tue May 14 18:55:09 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Update to 0.35.6
+ * Publish outputarea 0.19.2
+ * Make sure the cached value of `_lastStream` reflects the removed
+ characters so we don't have to remove them over and over again.
+- Split directories and macros into separate package.
+
+-------------------------------------------------------------------
Old:
----
jupyterlab-0.35.5-py3-none-any.whl
macros.jupyterlab
New:
----
jupyterlab-0.35.6-py3-none-any.whl
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jupyter-jupyterlab.spec ++++++
--- /var/tmp/diff_new_pack.EXUp9U/_old 2019-05-25 13:35:06.551982973 +0200
+++ /var/tmp/diff_new_pack.EXUp9U/_new 2019-05-25 13:35:06.555982970 +0200
@@ -18,16 +18,16 @@
%bcond_with test
Name: jupyter-jupyterlab
-Version: 0.35.5
+Version: 0.35.6
Release: 0
Summary: The JupyterLab notebook server extension
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/jupyterlab/jupyterlab
Source0: https://files.pythonhosted.org/packages/py3/j/jupyterlab/jupyterlab-%{versi…
-Source10: macros.jupyterlab
Source99: jupyter-jupyterlab-rpmlintrc
BuildRequires: fdupes
+BuildRequires: jupyter-jupyterlab-filesystem
BuildRequires: jupyter-jupyterlab-launcher >= 0.13.1
BuildRequires: jupyter-jupyterlab-server < 0.3.0
BuildRequires: jupyter-jupyterlab-server >= 0.2.0
@@ -39,6 +39,7 @@
BuildRequires: python3-ipython_genutils
BuildRequires: python3-pip
BuildRequires: python3-requests
+Requires: jupyter-jupyterlab-filesystem
Requires: jupyter-jupyterlab-launcher >= 0.13.1
Requires: jupyter-jupyterlab-server < 0.3.0
Requires: jupyter-jupyterlab-server >= 0.2.0
@@ -50,7 +51,7 @@
Recommends: python3-requests
Recommends: python3-sphinx_rtd_theme
Provides: python3-jupyter_jupyterlab = %{version}
-Obsoletes: python3-jupyter_jupyterlab <= %{version}
+Obsoletes: python3-jupyter_jupyterlab < %{version}
Provides: python3-jupyterlab = %{version}
BuildArch: noarch
%if %{with test}
@@ -80,14 +81,8 @@
%{jupyter_move_config}
-mkdir -p %{buildroot}%{_jupyter_prefix}/lab/
-mkdir -p %{buildroot}%{_jupyter_prefix}/lab/extensions/
-mkdir -p %{buildroot}%{_jupyter_prefix}/labextensions/
-
%{fdupes %{buildroot}%{_jupyter_prefix} %{buildroot}%{python3_sitelib}}
-install -D -m644 %{SOURCE10} %{buildroot}%{_rpmconfigdir}/macros.d/macros.jupyterlab
-
%if %{with test}
%check
rm -r build
@@ -101,11 +96,8 @@
%{_bindir}/jupyter-lab
%{_bindir}/jupyter-labextension
%{_bindir}/jupyter-labhub
-%{_jupyter_prefix}/lab/
-%{_jupyter_prefix}/lab/extensions/
-%{_jupyter_prefix}/labextensions/
%config %{_jupyter_servextension_confdir}/jupyterlab.json
-%{_rpmconfigdir}/macros.d/macros.jupyterlab
+%{_jupyter_lab_dir}
%{python3_sitelib}/jupyterlab
%{python3_sitelib}/jupyterlab-%{version}.dist-info
1
0
Hello community,
here is the log from the commit of package libvirt for openSUSE:Factory checked in at 2019-05-25 13:34:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvirt (Old)
and /work/SRC/openSUSE:Factory/.libvirt.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt"
Sat May 25 13:34:44 2019 rev:284 rq:705076 version:5.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes 2019-05-22 10:53:13.747242186 +0200
+++ /work/SRC/openSUSE:Factory/.libvirt.new.5148/libvirt.changes 2019-05-25 13:34:45.547997953 +0200
@@ -1,0 +2,6 @@
+Thu May 23 17:07:21 UTC 2019 - Jim Fehlig <jfehlig(a)suse.com>
+
+- spec: add systemd-container dependency to qemu and lxc drivers
+ bsc#1136109
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvirt.spec ++++++
--- /var/tmp/diff_new_pack.tJPxux/_old 2019-05-25 13:34:47.675996435 +0200
+++ /var/tmp/diff_new_pack.tJPxux/_new 2019-05-25 13:34:47.675996435 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -675,6 +675,7 @@
Requires: gzip
Requires: lzop
Requires: qemu
+Requires: systemd-container
Requires: xz
%description daemon-driver-qemu
@@ -688,6 +689,7 @@
Requires: %{name}-libs = %{version}-%{release}
# There really is a hard cross-driver dependency here
Requires: %{name}-daemon-driver-network = %{version}-%{release}
+Requires: systemd-container
%description daemon-driver-lxc
The LXC driver plugin for the libvirtd daemon, providing
1
0
Hello community,
here is the log from the commit of package libssh for openSUSE:Factory checked in at 2019-05-25 13:34:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libssh (Old)
and /work/SRC/openSUSE:Factory/.libssh.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libssh"
Sat May 25 13:34:36 2019 rev:56 rq:705071 version:0.8.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/libssh/libssh.changes 2019-03-01 20:30:02.474002378 +0100
+++ /work/SRC/openSUSE:Factory/.libssh.new.5148/libssh.changes 2019-05-25 13:34:37.708003545 +0200
@@ -1,0 +2,8 @@
+Thu May 23 15:32:07 UTC 2019 - James McDonough <jmcdonough(a)suse.com>
+
+- Add support for new AES-GCM encryption types; (bsc#1134193)
+ * Add 0001-libcrypto-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
+ * Add 0001-libgcrypt-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
+ * Add 0001-tests-Add-aes-gcm-ciphers-tests.patch
+
+-------------------------------------------------------------------
New:
----
0001-libcrypto-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
0001-libgcrypt-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
0001-tests-Add-aes-gcm-ciphers-tests.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libssh.spec ++++++
--- /var/tmp/diff_new_pack.KnaVAb/_old 2019-05-25 13:34:39.864002007 +0200
+++ /var/tmp/diff_new_pack.KnaVAb/_new 2019-05-25 13:34:39.904001978 +0200
@@ -36,6 +36,9 @@
Source2: https://cryptomilk.org/gpgkey-8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D.gpg#…
Source99: baselibs.conf
Patch0: 0001-disable-timeout-test-on-slow-buildsystems.patch
+Patch1: 0001-libcrypto-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
+Patch2: 0001-libgcrypt-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
+Patch3: 0001-tests-Add-aes-gcm-ciphers-tests.patch
# cmake pulls curl, but libssh is a dependency of it, so avoid cycles by using curl-mini
#!BuildRequires: libcurl4-mini
BuildRequires: cmake
++++++ 0001-libcrypto-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch ++++++
>From 46090facbae8c8292d2775546082ccbd5e56fbd1 Mon Sep 17 00:00:00 2001
From: Jakub Jelen <jjelen(a)redhat.com>
Date: Mon, 8 Oct 2018 13:24:49 +0200
Subject: [PATCH] libcrypto: Implement OpenSSH-compatible AES-GCM ciphers using
OpenSSL
The commit also propares the internals throughout the code base
for the inclusion of a new AEAD cipher, because previously, the
source code counted only with chacha20-poly1305 cipher, which
is very specific in many cases.
The SSH_HMAC_AEAD_GCM mac algorithm is not actually used, but the name
needed to be defined so we can match in the algorithms selection per
OpenSSH specification (MACs are ignored in case GCM is select as a cipher [1]).
If the provided OpenSSL does not provide EVP_aes_128_gcm() function,
the AES-GCM ciphers will not be compiled in.
[1] https://cvsweb.openbsd.org/src/usr.bin/ssh/PROTOCOL.chacha20poly1305?annota…
Signed-off-by: Jakub Jelen <jjelen(a)redhat.com>
Reviewed-by: Andreas Schneider <asn(a)cryptomilk.org>
---
ConfigureChecks.cmake | 4 +
config.h.cmake | 3 +
include/libssh/crypto.h | 8 +-
include/libssh/wrapper.h | 3 +-
src/chachapoly.c | 1 +
src/kex.c | 9 +-
src/libcrypto.c | 247 +++++++++++++++++++++++++++++++++++++++
src/packet_crypt.c | 5 +-
src/wrapper.c | 27 ++++-
9 files changed, 297 insertions(+), 10 deletions(-)
Index: libssh-0.8.7/ConfigureChecks.cmake
===================================================================
--- libssh-0.8.7.orig/ConfigureChecks.cmake
+++ libssh-0.8.7/ConfigureChecks.cmake
@@ -110,6 +110,10 @@ if (OPENSSL_FOUND)
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
+ check_function_exists(EVP_aes_128_gcm HAVE_OPENSSL_EVP_AES_GCM)
+
+ set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
+ set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
check_function_exists(CRYPTO_THREADID_set_callback HAVE_OPENSSL_CRYPTO_THREADID_SET_CALLBACK)
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
Index: libssh-0.8.7/config.h.cmake
===================================================================
--- libssh-0.8.7.orig/config.h.cmake
+++ libssh-0.8.7/config.h.cmake
@@ -100,6 +100,9 @@
/* Define to 1 if you have the `EVP_aes128_cbc' function. */
#cmakedefine HAVE_OPENSSL_EVP_AES_CBC 1
+/* Define to 1 if you have the `EVP_aes128_gcm' function. */
+#cmakedefine HAVE_OPENSSL_EVP_AES_GCM 1
+
/* Define to 1 if you have the `CRYPTO_THREADID_set_callback' function. */
#cmakedefine HAVE_OPENSSL_CRYPTO_THREADID_SET_CALLBACK 1
Index: libssh-0.8.7/include/libssh/crypto.h
===================================================================
--- libssh-0.8.7.orig/include/libssh/crypto.h
+++ libssh-0.8.7/include/libssh/crypto.h
@@ -48,6 +48,9 @@
#define DIGEST_MAX_LEN 64
+#define AES_GCM_TAGLEN 16
+#define AES_GCM_IVLEN 12
+
enum ssh_key_exchange_e {
/* diffie-hellman-group1-sha1 */
SSH_KEX_DH_GROUP1_SHA1=1,
@@ -78,7 +81,10 @@ enum ssh_cipher_e {
SSH_AES256_CBC,
SSH_AES128_CTR,
SSH_AES192_CTR,
- SSH_AES256_CTR
+ SSH_AES256_CTR,
+ SSH_AEAD_AES128_GCM,
+ SSH_AEAD_AES256_GCM,
+ SSH_AEAD_CHACHA20_POLY1305
};
struct ssh_crypto_struct {
Index: libssh-0.8.7/include/libssh/wrapper.h
===================================================================
--- libssh-0.8.7.orig/include/libssh/wrapper.h
+++ libssh-0.8.7/include/libssh/wrapper.h
@@ -46,7 +46,8 @@ enum ssh_hmac_e {
SSH_HMAC_SHA256,
SSH_HMAC_SHA512,
SSH_HMAC_MD5,
- SSH_HMAC_AEAD_POLY1305
+ SSH_HMAC_AEAD_POLY1305,
+ SSH_HMAC_AEAD_GCM
};
enum ssh_des_e {
Index: libssh-0.8.7/src/chachapoly.c
===================================================================
--- libssh-0.8.7.orig/src/chachapoly.c
+++ libssh-0.8.7/src/chachapoly.c
@@ -192,6 +192,7 @@ static void chacha20_cleanup(struct ssh_
}
const struct ssh_cipher_struct chacha20poly1305_cipher = {
+ .ciphertype = SSH_AEAD_CHACHA20_POLY1305,
.name = "chacha20-poly1305(a)openssh.com",
.blocksize = 8,
.lenfield_blocksize = 4,
Index: libssh-0.8.7/src/kex.c
===================================================================
--- libssh-0.8.7.orig/src/kex.c
+++ libssh-0.8.7/src/kex.c
@@ -61,10 +61,15 @@
# endif /* HAVE_OPENSSL_BLOWFISH_H */
# ifdef HAVE_OPENSSL_AES_H
+# ifdef HAVE_OPENSSL_EVP_AES_GCM
+# define GCM "aes256-gcm@openssh.com,aes128-gcm@openssh.com,"
+# else
+# define GCM ""
+# endif /* HAVE_OPENSSL_EVP_AES_GCM */
# ifdef BROKEN_AES_CTR
-# define AES "aes256-cbc,aes192-cbc,aes128-cbc,"
+# define AES GCM "aes256-cbc,aes192-cbc,aes128-cbc,"
# else /* BROKEN_AES_CTR */
-# define AES "aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,"
+# define AES GCM "aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,"
# endif /* BROKEN_AES_CTR */
# else /* HAVE_OPENSSL_AES_H */
# define AES ""
Index: libssh-0.8.7/src/libcrypto.c
===================================================================
--- libssh-0.8.7.orig/src/libcrypto.c
+++ libssh-0.8.7/src/libcrypto.c
@@ -491,6 +491,19 @@ static void evp_cipher_init(struct ssh_c
SSH_LOG(SSH_LOG_WARNING, "This cipher is not available in evp_cipher_init");
break;
#endif
+#ifdef HAVE_OPENSSL_EVP_AES_GCM
+ case SSH_AEAD_AES128_GCM:
+ cipher->cipher = EVP_aes_128_gcm();
+ break;
+ case SSH_AEAD_AES256_GCM:
+ cipher->cipher = EVP_aes_256_gcm();
+ break;
+#else
+ case SSH_AEAD_AES128_GCM:
+ case SSH_AEAD_AES256_GCM:
+ SSH_LOG(SSH_LOG_WARNING, "This cipher is not available in evp_cipher_init");
+ break;
+#endif /* HAVE_OPENSSL_EVP_AES_GCM */
case SSH_3DES_CBC:
cipher->cipher = EVP_des_ede3_cbc();
break;
@@ -498,6 +511,9 @@ static void evp_cipher_init(struct ssh_c
cipher->cipher = EVP_bf_cbc();
break;
/* ciphers not using EVP */
+ case SSH_AEAD_CHACHA20_POLY1305:
+ SSH_LOG(SSH_LOG_WARNING, "The ChaCha cipher can not be handled here");
+ break;
case SSH_NO_CIPHER:
SSH_LOG(SSH_LOG_WARNING, "No valid ciphertype found");
break;
@@ -517,6 +533,22 @@ static int evp_cipher_set_encrypt_key(st
SSH_LOG(SSH_LOG_WARNING, "EVP_EncryptInit_ex failed");
return SSH_ERROR;
}
+
+#ifdef HAVE_OPENSSL_EVP_AES_GCM
+ /* For AES-GCM we need to set IV in specific way */
+ if (cipher->ciphertype == SSH_AEAD_AES128_GCM ||
+ cipher->ciphertype == SSH_AEAD_AES256_GCM) {
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_SET_IV_FIXED,
+ -1,
+ (u_char *)IV);
+ if (rc != 1) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_SET_IV_FIXED failed");
+ return SSH_ERROR;
+ }
+ }
+#endif /* HAVE_OPENSSL_EVP_AES_GCM */
+
EVP_CIPHER_CTX_set_padding(cipher->ctx, 0);
return SSH_OK;
@@ -534,6 +566,22 @@ static int evp_cipher_set_decrypt_key(st
SSH_LOG(SSH_LOG_WARNING, "EVP_DecryptInit_ex failed");
return SSH_ERROR;
}
+
+#ifdef HAVE_OPENSSL_EVP_AES_GCM
+ /* For AES-GCM we need to set IV in specific way */
+ if (cipher->ciphertype == SSH_AEAD_AES128_GCM ||
+ cipher->ciphertype == SSH_AEAD_AES256_GCM) {
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_SET_IV_FIXED,
+ -1,
+ (u_char *)IV);
+ if (rc != 1) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_SET_IV_FIXED failed");
+ return SSH_ERROR;
+ }
+ }
+#endif /* HAVE_OPENSSL_EVP_AES_GCM */
+
EVP_CIPHER_CTX_set_padding(cipher->ctx, 0);
return SSH_OK;
@@ -642,6 +690,175 @@ static void aes_ctr_cleanup(struct ssh_c
#endif /* HAVE_OPENSSL_EVP_AES_CTR */
+#ifdef HAVE_OPENSSL_EVP_AES_GCM
+static int
+evp_cipher_aead_get_length(struct ssh_cipher_struct *cipher,
+ void *in,
+ uint8_t *out,
+ size_t len,
+ uint64_t seq)
+{
+ (void)seq;
+
+ /* The length is not encrypted: Copy it to the result buffer */
+ memcpy(out, in, len);
+
+ return SSH_OK;
+}
+
+static void
+evp_cipher_aead_encrypt(struct ssh_cipher_struct *cipher,
+ void *in,
+ void *out,
+ size_t len,
+ uint8_t *tag,
+ uint64_t seq)
+{
+ size_t authlen, aadlen;
+ u_char lastiv[1];
+ int outlen = 0;
+ int rc;
+
+ (void) seq;
+
+ aadlen = cipher->lenfield_blocksize;
+ authlen = cipher->tag_size;
+
+ /* increment IV */
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_IV_GEN,
+ 1,
+ lastiv);
+ if (rc == 0) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_IV_GEN failed");
+ return;
+ }
+
+ /* Pass over the authenticated data (not encrypted) */
+ rc = EVP_EncryptUpdate(cipher->ctx,
+ NULL,
+ &outlen,
+ (unsigned char *)in,
+ aadlen);
+ if (rc == 0 || outlen != aadlen) {
+ SSH_LOG(SSH_LOG_WARNING, "Failed to pass authenticated data");
+ return;
+ }
+ memcpy(out, in, aadlen);
+
+ /* Encrypt the rest of the data */
+ rc = EVP_EncryptUpdate(cipher->ctx,
+ (unsigned char *)out + aadlen,
+ &outlen,
+ (unsigned char *)in + aadlen,
+ len - aadlen);
+ if (rc != 1 || outlen != len - aadlen) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_EncryptUpdate failed");
+ return;
+ }
+
+ /* compute tag */
+ rc = EVP_EncryptFinal(cipher->ctx,
+ NULL,
+ &outlen);
+ if (rc < 0) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_EncryptFinal failed: Failed to create a tag");
+ return;
+ }
+
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_GET_TAG,
+ authlen,
+ (unsigned char *)tag);
+ if (rc != 1) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_GET_TAG failed");
+ return;
+ }
+}
+
+static int
+evp_cipher_aead_decrypt(struct ssh_cipher_struct *cipher,
+ void *complete_packet,
+ uint8_t *out,
+ size_t encrypted_size,
+ uint64_t seq)
+{
+ size_t authlen, aadlen;
+ u_char lastiv[1];
+ int outlen = 0;
+ int rc = 0;
+
+ (void)seq;
+
+ aadlen = cipher->lenfield_blocksize;
+ authlen = cipher->tag_size;
+
+ /* increment IV */
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_IV_GEN,
+ 1,
+ lastiv);
+ if (rc == 0) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_IV_GEN failed");
+ return SSH_ERROR;
+ }
+
+ /* set tag for authentication */
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_SET_TAG,
+ authlen,
+ (unsigned char *)complete_packet + aadlen + encrypted_size);
+ if (rc == 0) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_SET_TAG failed");
+ return SSH_ERROR;
+ }
+
+ /* Pass over the authenticated data (not encrypted) */
+ rc = EVP_DecryptUpdate(cipher->ctx,
+ NULL,
+ &outlen,
+ (unsigned char *)complete_packet,
+ aadlen);
+ if (rc == 0) {
+ SSH_LOG(SSH_LOG_WARNING, "Failed to pass authenticated data");
+ return SSH_ERROR;
+ }
+ /* Do not copy the length to the target buffer, because it is already processed */
+ //memcpy(out, complete_packet, aadlen);
+
+ /* Decrypt the rest of the data */
+ rc = EVP_DecryptUpdate(cipher->ctx,
+ (unsigned char *)out,
+ &outlen,
+ (unsigned char *)complete_packet + aadlen,
+ encrypted_size /* already substracted aadlen*/);
+ if (rc != 1) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_DecryptUpdate failed");
+ return SSH_ERROR;
+ }
+
+ if (outlen != (int)encrypted_size) {
+ SSH_LOG(SSH_LOG_WARNING,
+ "EVP_DecryptUpdate: output size %d for %zd in",
+ outlen,
+ encrypted_size);
+ return SSH_ERROR;
+ }
+
+ /* verify tag */
+ rc = EVP_DecryptFinal(cipher->ctx,
+ NULL,
+ &outlen);
+ if (rc < 0) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_DecryptFinal failed: Failed authentication");
+ return SSH_ERROR;
+ }
+
+ return SSH_OK;
+}
+
+#endif /* HAVE_OPENSSL_EVP_AES_GCM */
+
/*
* The table of supported ciphers
*/
@@ -765,6 +982,36 @@ static struct ssh_cipher_struct ssh_ciph
.decrypt = evp_cipher_decrypt,
.cleanup = evp_cipher_cleanup
},
+#ifdef HAVE_OPENSSL_EVP_AES_GCM
+ {
+ .name = "aes128-gcm(a)openssh.com",
+ .blocksize = AES_BLOCK_SIZE,
+ .lenfield_blocksize = 4, /* not encrypted, but authenticated */
+ .ciphertype = SSH_AEAD_AES128_GCM,
+ .keysize = 128,
+ .tag_size = AES_GCM_TAGLEN,
+ .set_encrypt_key = evp_cipher_set_encrypt_key,
+ .set_decrypt_key = evp_cipher_set_decrypt_key,
+ .aead_encrypt = evp_cipher_aead_encrypt,
+ .aead_decrypt_length = evp_cipher_aead_get_length,
+ .aead_decrypt = evp_cipher_aead_decrypt,
+ .cleanup = evp_cipher_cleanup
+ },
+ {
+ .name = "aes256-gcm(a)openssh.com",
+ .blocksize = AES_BLOCK_SIZE,
+ .lenfield_blocksize = 4, /* not encrypted, but authenticated */
+ .ciphertype = SSH_AEAD_AES256_GCM,
+ .keysize = 256,
+ .tag_size = AES_GCM_TAGLEN,
+ .set_encrypt_key = evp_cipher_set_encrypt_key,
+ .set_decrypt_key = evp_cipher_set_decrypt_key,
+ .aead_encrypt = evp_cipher_aead_encrypt,
+ .aead_decrypt_length = evp_cipher_aead_get_length,
+ .aead_decrypt = evp_cipher_aead_decrypt,
+ .cleanup = evp_cipher_cleanup
+ },
+#endif /* HAVE_OPENSSL_EVP_AES_GCM */
#endif /* HAS_AES */
#ifdef HAS_DES
{
Index: libssh-0.8.7/src/packet_crypt.c
===================================================================
--- libssh-0.8.7.orig/src/packet_crypt.c
+++ libssh-0.8.7/src/packet_crypt.c
@@ -209,8 +209,9 @@ int ssh_packet_hmac_verify(ssh_session s
unsigned int len;
uint32_t seq;
- /* AEAD type have no mac checking */
- if (type == SSH_HMAC_AEAD_POLY1305) {
+ /* AEAD types have no mac checking */
+ if (type == SSH_HMAC_AEAD_POLY1305 ||
+ type == SSH_HMAC_AEAD_GCM) {
return SSH_OK;
}
Index: libssh-0.8.7/src/wrapper.c
===================================================================
--- libssh-0.8.7.orig/src/wrapper.c
+++ libssh-0.8.7/src/wrapper.c
@@ -55,6 +55,7 @@ static struct ssh_hmac_struct ssh_hmac_t
{ "hmac-sha2-512", SSH_HMAC_SHA512 },
{ "hmac-md5", SSH_HMAC_MD5 },
{ "aead-poly1305", SSH_HMAC_AEAD_POLY1305 },
+ { "aead-gcm", SSH_HMAC_AEAD_GCM },
{ NULL, 0}
};
@@ -74,6 +75,8 @@ size_t hmac_digest_len(enum ssh_hmac_e t
return MD5_DIGEST_LEN;
case SSH_HMAC_AEAD_POLY1305:
return POLY1305_TAGLEN;
+ case SSH_HMAC_AEAD_GCM:
+ return AES_GCM_TAGLEN;
default:
return 0;
}
@@ -253,7 +256,11 @@ static int crypt_set_algorithms2(ssh_ses
if (session->next_crypto->out_cipher->aead_encrypt != NULL){
/* this cipher has integrated MAC */
- wanted = "aead-poly1305";
+ if (session->next_crypto->out_cipher->ciphertype == SSH_AEAD_CHACHA20_POLY1305) {
+ wanted = "aead-poly1305";
+ } else {
+ wanted = "aead-gcm";
+ }
} else {
/*
* We must scan the kex entries to find hmac algorithms and set their
@@ -307,7 +314,11 @@ static int crypt_set_algorithms2(ssh_ses
if (session->next_crypto->in_cipher->aead_encrypt != NULL){
/* this cipher has integrated MAC */
- wanted = "aead-poly1305";
+ if (session->next_crypto->in_cipher->ciphertype == SSH_AEAD_CHACHA20_POLY1305) {
+ wanted = "aead-poly1305";
+ } else {
+ wanted = "aead-gcm";
+ }
} else {
/* we must scan the kex entries to find hmac algorithms and set their appropriate structure */
wanted = session->next_crypto->kex_methods[SSH_MAC_S_C];
@@ -395,7 +406,11 @@ int crypt_set_algorithms_server(ssh_sess
i=0;
if (session->next_crypto->out_cipher->aead_encrypt != NULL){
/* this cipher has integrated MAC */
- method = "aead-poly1305";
+ if (session->next_crypto->out_cipher->ciphertype == SSH_AEAD_CHACHA20_POLY1305) {
+ method = "aead-poly1305";
+ } else {
+ method = "aead-gcm";
+ }
} else {
/* we must scan the kex entries to find hmac algorithms and set their appropriate structure */
/* out */
@@ -446,7 +461,11 @@ int crypt_set_algorithms_server(ssh_sess
if (session->next_crypto->in_cipher->aead_encrypt != NULL){
/* this cipher has integrated MAC */
- method = "aead-poly1305";
+ if (session->next_crypto->in_cipher->ciphertype == SSH_AEAD_CHACHA20_POLY1305) {
+ method = "aead-poly1305";
+ } else {
+ method = "aead-gcm";
+ }
} else {
/* we must scan the kex entries to find hmac algorithms and set their appropriate structure */
method = session->next_crypto->kex_methods[SSH_MAC_C_S];
++++++ 0001-libgcrypt-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch ++++++
>From 5790036a2305d5610ac55adb5382ea55d043998f Mon Sep 17 00:00:00 2001
From: Jakub Jelen <jjelen(a)redhat.com>
Date: Mon, 1 Oct 2018 14:32:05 +0200
Subject: [PATCH] libgcrypt: Implement OpenSSH-compatible AES-GCM ciphers using
libgcrypt
Signed-off-by: Jakub Jelen <jjelen(a)redhat.com>
Reviewed-by: Andreas Schneider <asn(a)cryptomilk.org>
---
include/libssh/crypto.h | 1 +
src/kex.c | 4 +-
src/libgcrypt.c | 201 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 205 insertions(+), 1 deletion(-)
diff --git a/include/libssh/crypto.h b/include/libssh/crypto.h
index fc375a4f..8777f0c9 100644
--- a/include/libssh/crypto.h
+++ b/include/libssh/crypto.h
@@ -142,6 +142,7 @@ struct ssh_cipher_struct {
size_t keylen; /* length of the key structure */
#ifdef HAVE_LIBGCRYPT
gcry_cipher_hd_t *key;
+ unsigned char last_iv[AES_GCM_IVLEN];
#elif defined HAVE_LIBCRYPTO
struct ssh_3des_key_schedule *des3_key;
struct ssh_aes_key_schedule *aes_key;
diff --git a/src/kex.c b/src/kex.c
index e0fd5680..382d88fb 100644
--- a/src/kex.c
+++ b/src/kex.c
@@ -40,7 +40,9 @@
#ifdef HAVE_LIBGCRYPT
# define BLOWFISH "blowfish-cbc,"
-# define AES "aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,"
+# define AES "aes256-gcm@openssh.com,aes128-gcm@openssh.com," \
+ "aes256-ctr,aes192-ctr,aes128-ctr," \
+ "aes256-cbc,aes192-cbc,aes128-cbc,"
# define DES "3des-cbc"
# define DES_SUPPORTED "3des-cbc"
diff --git a/src/libgcrypt.c b/src/libgcrypt.c
index f004ffe2..7160bb1c 100644
--- a/src/libgcrypt.c
+++ b/src/libgcrypt.c
@@ -353,6 +353,8 @@ static int aes_set_key(struct ssh_cipher_struct *cipher, void *key, void *IV) {
}
if(strstr(cipher->name,"-ctr"))
mode=GCRY_CIPHER_MODE_CTR;
+ if (strstr(cipher->name, "-gcm"))
+ mode = GCRY_CIPHER_MODE_GCM;
switch (cipher->keysize) {
case 128:
if (gcry_cipher_open(&cipher->key[0], GCRY_CIPHER_AES128,
@@ -386,6 +388,11 @@ static int aes_set_key(struct ssh_cipher_struct *cipher, void *key, void *IV) {
SAFE_FREE(cipher->key);
return -1;
}
+ } else if (mode == GCRY_CIPHER_MODE_GCM) {
+ /* Store the IV so we can handle the packet counter increments later
+ * The IV is passed to the cipher context later.
+ */
+ memcpy(cipher->last_iv, IV, AES_GCM_IVLEN);
} else {
if(gcry_cipher_setctr(cipher->key[0],IV,16)){
SAFE_FREE(cipher->key);
@@ -407,6 +414,172 @@ static void aes_decrypt(struct ssh_cipher_struct *cipher, void *in, void *out,
gcry_cipher_decrypt(cipher->key[0], out, len, in, len);
}
+static int
+aes_aead_get_length(struct ssh_cipher_struct *cipher,
+ void *in,
+ uint8_t *out,
+ size_t len,
+ uint64_t seq)
+{
+ (void)seq;
+
+ /* The length is not encrypted: Copy it to the result buffer */
+ memcpy(out, in, len);
+
+ return SSH_OK;
+}
+
+/* Increment 64b integer in network byte order */
+static void
+uint64_inc(unsigned char *counter)
+{
+ int i;
+
+ for (i = 7; i >= 0; i--) {
+ counter[i]++;
+ if (counter[i])
+ return;
+ }
+}
+
+static void
+aes_gcm_encrypt(struct ssh_cipher_struct *cipher,
+ void *in,
+ void *out,
+ size_t len,
+ uint8_t *tag,
+ uint64_t seq)
+{
+ gpg_error_t err;
+ size_t aadlen, authlen;
+
+ (void)seq;
+
+ aadlen = cipher->lenfield_blocksize;
+ authlen = cipher->tag_size;
+
+ /* increment IV */
+ err = gcry_cipher_setiv(cipher->key[0],
+ cipher->last_iv,
+ AES_GCM_IVLEN);
+ /* This actualy does not increment the packet counter for the
+ * current encryption operation, but for the next one. The first
+ * operation needs to be completed with the derived IV.
+ *
+ * The IV buffer has the following structure:
+ * [ 4B static IV ][ 8B packet counter ][ 4B block counter ]
+ */
+ uint64_inc(cipher->last_iv + 4);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_setiv failed: %s",
+ gpg_strerror(err));
+ return;
+ }
+
+ /* Pass the authenticated data (packet_length) */
+ err = gcry_cipher_authenticate(cipher->key[0], in, aadlen);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_authenticate failed: %s",
+ gpg_strerror(err));
+ return;
+ }
+ memcpy(out, in, aadlen);
+
+ /* Encrypt the rest of the data */
+ err = gcry_cipher_encrypt(cipher->key[0],
+ (unsigned char *)out + aadlen,
+ len - aadlen,
+ (unsigned char *)in + aadlen,
+ len - aadlen);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_encrypt failed: %s",
+ gpg_strerror(err));
+ return;
+ }
+
+ /* Calculate the tag */
+ err = gcry_cipher_gettag(cipher->key[0],
+ (void *)tag,
+ authlen);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_gettag failed: %s",
+ gpg_strerror(err));
+ return;
+ }
+}
+
+static int
+aes_gcm_decrypt(struct ssh_cipher_struct *cipher,
+ void *complete_packet,
+ uint8_t *out,
+ size_t encrypted_size,
+ uint64_t seq)
+{
+ gpg_error_t err;
+ size_t aadlen, authlen;
+
+ (void)seq;
+
+ aadlen = cipher->lenfield_blocksize;
+ authlen = cipher->tag_size;
+
+ /* increment IV */
+ err = gcry_cipher_setiv(cipher->key[0],
+ cipher->last_iv,
+ AES_GCM_IVLEN);
+ /* This actualy does not increment the packet counter for the
+ * current encryption operation, but for the next one. The first
+ * operation needs to be completed with the derived IV.
+ *
+ * The IV buffer has the following structure:
+ * [ 4B static IV ][ 8B packet counter ][ 4B block counter ]
+ */
+ uint64_inc(cipher->last_iv + 4);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_setiv failed: %s",
+ gpg_strerror(err));
+ return SSH_ERROR;
+ }
+
+ /* Pass the authenticated data (packet_length) */
+ err = gcry_cipher_authenticate(cipher->key[0],
+ complete_packet,
+ aadlen);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_authenticate failed: %s",
+ gpg_strerror(err));
+ return SSH_ERROR;
+ }
+ /* Do not copy the length to the target buffer, because it is already processed */
+ //memcpy(out, complete_packet, aadlen);
+
+ /* Encrypt the rest of the data */
+ err = gcry_cipher_decrypt(cipher->key[0],
+ out,
+ encrypted_size,
+ (unsigned char *)complete_packet + aadlen,
+ encrypted_size);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_decrypt failed: %s",
+ gpg_strerror(err));
+ return SSH_ERROR;
+ }
+
+ /* Check the tag */
+ err = gcry_cipher_checktag(cipher->key[0],
+ (unsigned char *)complete_packet + aadlen + encrypted_size,
+ authlen);
+ if (gpg_err_code(err) == GPG_ERR_CHECKSUM) {
+ SSH_LOG(SSH_LOG_WARNING, "The authentication tag does not match");
+ return SSH_ERROR;
+ } else if (err != GPG_ERR_NO_ERROR) {
+ SSH_LOG(SSH_LOG_WARNING, "General error while decryption: %s",
+ gpg_strerror(err));
+ return SSH_ERROR;
+ }
+ return SSH_OK;
+}
+
static int des3_set_key(struct ssh_cipher_struct *cipher, void *key, void *IV) {
if (cipher->key == NULL) {
if (alloc_key(cipher) < 0) {
@@ -519,6 +692,34 @@ static struct ssh_cipher_struct ssh_ciphertab[] = {
.encrypt = aes_encrypt,
.decrypt = aes_decrypt
},
+ {
+ .name = "aes128-gcm(a)openssh.com",
+ .blocksize = 16,
+ .lenfield_blocksize = 4, /* not encrypted, but authenticated */
+ .keylen = sizeof(gcry_cipher_hd_t),
+ .key = NULL,
+ .keysize = 128,
+ .tag_size = AES_GCM_TAGLEN,
+ .set_encrypt_key = aes_set_key,
+ .set_decrypt_key = aes_set_key,
+ .aead_encrypt = aes_gcm_encrypt,
+ .aead_decrypt_length = aes_aead_get_length,
+ .aead_decrypt = aes_gcm_decrypt,
+ },
+ {
+ .name = "aes256-gcm(a)openssh.com",
+ .blocksize = 16,
+ .lenfield_blocksize = 4, /* not encrypted, but authenticated */
+ .keylen = sizeof(gcry_cipher_hd_t),
+ .key = NULL,
+ .keysize = 256,
+ .tag_size = AES_GCM_TAGLEN,
+ .set_encrypt_key = aes_set_key,
+ .set_decrypt_key = aes_set_key,
+ .aead_encrypt = aes_gcm_encrypt,
+ .aead_decrypt_length = aes_aead_get_length,
+ .aead_decrypt = aes_gcm_decrypt,
+ },
{
.name = "3des-cbc",
.blocksize = 8,
--
2.21.0
++++++ 0001-tests-Add-aes-gcm-ciphers-tests.patch ++++++
>From 42bd7cdf6c6e50786155c904821fc62d6d8e5acb Mon Sep 17 00:00:00 2001
From: Jakub Jelen <jjelen(a)redhat.com>
Date: Mon, 8 Oct 2018 13:31:12 +0200
Subject: [PATCH] tests: Add aes-gcm ciphers tests
Signed-off-by: Jakub Jelen <jjelen(a)redhat.com>
Reviewed-by: Andreas Schneider <asn(a)cryptomilk.org>
---
tests/client/torture_algorithms.c | 20 ++++++++++++++++++++
tests/pkd/pkd_hello.c | 29 +++++++++++++++++++++++++++--
2 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/tests/client/torture_algorithms.c b/tests/client/torture_algorithms.c
index c216c99b..9bb67410 100644
--- a/tests/client/torture_algorithms.c
+++ b/tests/client/torture_algorithms.c
@@ -240,6 +240,20 @@ static void torture_algorithms_aes256_ctr_hmac_sha2_512(void **state) {
test_algorithm(s->ssh.session, NULL/*kex*/, "aes256-ctr", "hmac-sha2-512");
}
+static void torture_algorithms_aes128_gcm(void **state)
+{
+ struct torture_state *s = *state;
+
+ test_algorithm(s->ssh.session, NULL/*kex*/, "aes128-gcm(a)openssh.com", NULL);
+}
+
+static void torture_algorithms_aes256_gcm(void **state)
+{
+ struct torture_state *s = *state;
+
+ test_algorithm(s->ssh.session, NULL/*kex*/, "aes256-gcm(a)openssh.com", NULL);
+}
+
static void torture_algorithms_3des_cbc_hmac_sha1(void **state) {
struct torture_state *s = *state;
@@ -464,6 +478,12 @@ int torture_run_tests(void) {
cmocka_unit_test_setup_teardown(torture_algorithms_aes256_ctr_hmac_sha2_512,
session_setup,
session_teardown),
+ cmocka_unit_test_setup_teardown(torture_algorithms_aes128_gcm,
+ session_setup,
+ session_teardown),
+ cmocka_unit_test_setup_teardown(torture_algorithms_aes256_gcm,
+ session_setup,
+ session_teardown),
cmocka_unit_test_setup_teardown(torture_algorithms_3des_cbc_hmac_sha1,
session_setup,
session_teardown),
diff --git a/tests/pkd/pkd_hello.c b/tests/pkd/pkd_hello.c
index e14316ec..0fa72d04 100644
--- a/tests/pkd/pkd_hello.c
+++ b/tests/pkd/pkd_hello.c
@@ -383,6 +383,8 @@ static int torture_pkd_setup_ecdsa_521(void **state) {
#endif
#define CHACHA20 "chacha20-poly1305(a)openssh.com"
+#define AES128_GCM "aes128-gcm(a)openssh.com"
+#define AES256_GCM "aes256-gcm(a)openssh.com"
#ifdef HAVE_DSA
#define PKDTESTS_CIPHER_OPENSSHONLY(f, client, ciphercmd) \
@@ -390,9 +392,13 @@ static int torture_pkd_setup_ecdsa_521(void **state) {
f(client, rsa_aes192_cbc, ciphercmd("aes192-cbc"), setup_rsa, teardown) \
f(client, rsa_aes192_ctr, ciphercmd("aes192-ctr"), setup_rsa, teardown) \
f(client, rsa_chacha20, ciphercmd(CHACHA20), setup_rsa, teardown) \
+ f(client, rsa_aes128_gcm, ciphercmd(AES128_GCM), setup_rsa, teardown) \
+ f(client, rsa_aes256_gcm, ciphercmd(AES256_GCM), setup_rsa, teardown) \
f(client, dsa_aes192_cbc, ciphercmd("aes192-cbc"), setup_dsa, teardown) \
f(client, dsa_aes192_ctr, ciphercmd("aes192-ctr"), setup_dsa, teardown) \
f(client, dsa_chacha20, ciphercmd(CHACHA20), setup_dsa, teardown) \
+ f(client, dsa_aes128_gcm, ciphercmd(AES128_GCM), setup_dsa, teardown) \
+ f(client, dsa_aes256_gcm, ciphercmd(AES256_GCM), setup_dsa, teardown) \
f(client, ed25519_3des_cbc, ciphercmd("3des-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes128_cbc, ciphercmd("aes128-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes128_ctr, ciphercmd("aes128-ctr"), setup_ed25519, teardown) \
@@ -401,21 +407,31 @@ static int torture_pkd_setup_ecdsa_521(void **state) {
f(client, ed25519_aes192_cbc, ciphercmd("aes192-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes192_ctr, ciphercmd("aes192-ctr"), setup_ed25519, teardown) \
f(client, ed25519_chacha20, ciphercmd(CHACHA20), setup_ed25519, teardown) \
+ f(client, ed25519_aes128_gcm, ciphercmd(AES128_GCM), setup_ed25519, teardown) \
+ f(client, ed25519_aes256_gcm, ciphercmd(AES256_GCM), setup_ed25519, teardown) \
f(client, ecdsa_256_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_256, teardown) \
f(client, ecdsa_256_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_256, teardown) \
f(client, ecdsa_256_chacha20, ciphercmd(CHACHA20), setup_ecdsa_256, teardown) \
+ f(client, ecdsa_256_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_256, teardown) \
+ f(client, ecdsa_256_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_256, teardown) \
f(client, ecdsa_384_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_384, teardown) \
f(client, ecdsa_384_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_384, teardown) \
f(client, ecdsa_384_chacha20, ciphercmd(CHACHA20), setup_ecdsa_384, teardown) \
+ f(client, ecdsa_384_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_384, teardown) \
+ f(client, ecdsa_384_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_384, teardown) \
f(client, ecdsa_521_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_521, teardown) \
f(client, ecdsa_521_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_521, teardown) \
- f(client, ecdsa_521_chacha20, ciphercmd(CHACHA20), setup_ecdsa_521, teardown)
+ f(client, ecdsa_521_chacha20, ciphercmd(CHACHA20), setup_ecdsa_521, teardown) \
+ f(client, ecdsa_521_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_521, teardown) \
+ f(client, ecdsa_521_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_521, teardown)
#else
#define PKDTESTS_CIPHER_OPENSSHONLY(f, client, ciphercmd) \
/* Ciphers. */ \
f(client, rsa_aes192_cbc, ciphercmd("aes192-cbc"), setup_rsa, teardown) \
f(client, rsa_aes192_ctr, ciphercmd("aes192-ctr"), setup_rsa, teardown) \
f(client, rsa_chacha20, ciphercmd(CHACHA20), setup_rsa, teardown) \
+ f(client, rsa_aes128_gcm, ciphercmd(AES128_GCM), setup_rsa, teardown) \
+ f(client, rsa_aes256_gcm, ciphercmd(AES256_GCM), setup_rsa, teardown) \
f(client, ed25519_3des_cbc, ciphercmd("3des-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes128_cbc, ciphercmd("aes128-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes128_ctr, ciphercmd("aes128-ctr"), setup_ed25519, teardown) \
@@ -424,17 +440,26 @@ static int torture_pkd_setup_ecdsa_521(void **state) {
f(client, ed25519_aes192_cbc, ciphercmd("aes192-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes192_ctr, ciphercmd("aes192-ctr"), setup_ed25519, teardown) \
f(client, ed25519_chacha20, ciphercmd(CHACHA20), setup_ed25519, teardown) \
+ f(client, ed25519_aes128_gcm, ciphercmd(AES128_GCM), setup_ed25519, teardown) \
+ f(client, ed25519_aes256_gcm, ciphercmd(AES256_GCM), setup_ed25519, teardown) \
f(client, ecdsa_256_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_256, teardown) \
f(client, ecdsa_256_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_256, teardown) \
f(client, ecdsa_256_chacha20, ciphercmd(CHACHA20), setup_ecdsa_256, teardown) \
+ f(client, ecdsa_256_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_256, teardown) \
+ f(client, ecdsa_256_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_256, teardown) \
f(client, ecdsa_384_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_384, teardown) \
f(client, ecdsa_384_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_384, teardown) \
f(client, ecdsa_384_chacha20, ciphercmd(CHACHA20), setup_ecdsa_384, teardown) \
+ f(client, ecdsa_384_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_384, teardown) \
+ f(client, ecdsa_384_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_384, teardown) \
f(client, ecdsa_521_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_521, teardown) \
f(client, ecdsa_521_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_521, teardown) \
- f(client, ecdsa_521_chacha20, ciphercmd(CHACHA20), setup_ecdsa_521, teardown)
+ f(client, ecdsa_521_chacha20, ciphercmd(CHACHA20), setup_ecdsa_521, teardown) \
+ f(client, ecdsa_521_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_521, teardown) \
+ f(client, ecdsa_521_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_521, teardown)
#endif
+
#ifdef HAVE_DSA
#define PKDTESTS_MAC(f, client, maccmd) \
/* MACs. */ \
--
2.21.0
1
0
Hello community,
here is the log from the commit of package hwinfo for openSUSE:Factory checked in at 2019-05-25 13:34:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hwinfo (Old)
and /work/SRC/openSUSE:Factory/.hwinfo.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hwinfo"
Sat May 25 13:34:27 2019 rev:168 rq:705024 version:21.66
Changes:
--------
--- /work/SRC/openSUSE:Factory/hwinfo/hwinfo.changes 2019-03-19 11:08:22.626094628 +0100
+++ /work/SRC/openSUSE:Factory/.hwinfo.new.5148/hwinfo.changes 2019-05-25 13:34:28.788009907 +0200
@@ -1,0 +2,14 @@
+Thu May 23 13:32:53 UTC 2019 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/hwinfo#80
+- fix Makefile and allow building for old distros
+- 21.66
+
+--------------------------------------------------------------------
+Thu May 23 12:03:24 UTC 2019 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/hwinfo#79
+- return BIOS UUID in decoded (with '-'s) form (bsc#1135819)
+- 21.65
+
+--------------------------------------------------------------------
Old:
----
hwinfo-21.64.tar.xz
New:
----
hwinfo-21.66.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hwinfo.spec ++++++
--- /var/tmp/diff_new_pack.CZOivs/_old 2019-05-25 13:34:29.640009299 +0200
+++ /var/tmp/diff_new_pack.CZOivs/_new 2019-05-25 13:34:29.644009296 +0200
@@ -22,6 +22,7 @@
BuildRequires: perl-XML-Parser
BuildRequires: pkg-config
BuildRequires: udev
+BuildRequires: pkgconfig(uuid)
%if 0%{?rhel_version} == 0
BuildRequires: perl-XML-Writer
%endif
@@ -33,10 +34,10 @@
PreReq: /sbin/ldconfig
Summary: Hardware Library
# Until migration to github this should be correct url
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: Hardware/Other
Url: http://gitorious.org/opensuse/hwinfo
-Version: 21.64
+Version: 21.66
Release: 0
Source: %{name}-%{version}.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ hwinfo-21.64.tar.xz -> hwinfo-21.66.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.64/Makefile new/hwinfo-21.66/Makefile
--- old/hwinfo-21.64/Makefile 2019-03-14 15:25:20.000000000 +0100
+++ new/hwinfo-21.66/Makefile 2019-05-23 15:32:53.000000000 +0200
@@ -3,9 +3,9 @@
TARGETS = hwinfo hwinfo.pc changelog
CLEANFILES = hwinfo hwinfo.pc hwinfo.static hwscan hwscan.static hwscand hwscanqueue doc/libhd doc/*~
LIBS = -lhd
-SLIBS = -lhd
+SLIBS = -lhd -luuid
TLIBS = -lhd_tiny
-SO_LIBS =
+SO_LIBS = -luuid
TSO_LIBS =
export SO_LIBS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.64/VERSION new/hwinfo-21.66/VERSION
--- old/hwinfo-21.64/VERSION 2019-03-14 15:25:20.000000000 +0100
+++ new/hwinfo-21.66/VERSION 2019-05-23 15:32:53.000000000 +0200
@@ -1 +1 @@
-21.64
+21.66
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.64/changelog new/hwinfo-21.66/changelog
--- old/hwinfo-21.64/changelog 2019-03-14 15:25:20.000000000 +0100
+++ new/hwinfo-21.66/changelog 2019-05-23 15:32:53.000000000 +0200
@@ -1,3 +1,11 @@
+2019-05-23: 21.66
+ - merge gh#openSUSE/hwinfo#80
+ - fix Makefile and allow building for old distros
+
+2019-05-23: 21.65
+ - merge gh#openSUSE/hwinfo#79
+ - return BIOS UUID in decoded (with '-'s) form (bsc#1135819)
+
2019-03-14: 21.64
- Update of pci and usb ids (bsc#1127840) (#77)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.64/src/hd/smbios.c new/hwinfo-21.66/src/hd/smbios.c
--- old/hwinfo-21.64/src/hd/smbios.c 2019-03-14 15:25:20.000000000 +0100
+++ new/hwinfo-21.66/src/hd/smbios.c 2019-05-23 15:32:53.000000000 +0200
@@ -1,10 +1,16 @@
#include <stdio.h>
#include <string.h>
+#include <uuid/uuid.h>
#include "hd.h"
#include "hd_int.h"
#include "smbios.h"
+// not in old uuid.h versions
+#ifndef UUID_STR_LEN
+#define UUID_STR_LEN 37
+#endif
+
/**
* @defgroup SMBIOSint System Management BIOS (SMBIOS)
* @ingroup libhdINFOint
@@ -35,6 +41,7 @@
static void smbios_str_print(FILE *f, char *str, char *label);
static void smbios_id2str(hd_id_t *hid, sm_str_map_t *map, unsigned def);
static void smbios_bitmap2str(hd_bitmap_t *hbm, sm_str_map_t *map);
+static char *smbios_decode_uuid(uuid_t uuid);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@@ -1287,7 +1294,7 @@
hd_smbios_t *sm;
str_list_t *sl;
char c, *s;
- unsigned u;
+ unsigned u, u_and, u_or;
int i;
if(!hd_data->smbios) return;
@@ -1310,18 +1317,17 @@
if(sm->sysinfo.product) fprintf(f, " Product: \"%s\"\n", sm->sysinfo.product);
if(sm->sysinfo.version) fprintf(f, " Version: \"%s\"\n", sm->sysinfo.version);
if(sm->sysinfo.serial) fprintf(f, " Serial: \"%s\"\n", sm->sysinfo.serial);
- for(i = u = 0; (unsigned) i < sizeof sm->sysinfo.uuid / sizeof *sm->sysinfo.uuid; i++) {
- u |= sm->sysinfo.uuid[i];
+ for(i = u_or = 0, u_and = 0xff; (unsigned) i < sizeof sm->sysinfo.uuid / sizeof *sm->sysinfo.uuid; i++) {
+ u_or |= sm->sysinfo.uuid[i];
+ u_and &= sm->sysinfo.uuid[i];
}
fprintf(f, " UUID: ");
- if(u == 0 || u == 0xff) {
+ if(u_or == 0 || u_and == 0xff) {
fprintf(f, "undefined");
- if(u == 0xff) fprintf(f, ", but settable");
+ if(u_and == 0xff) fprintf(f, ", but settable");
}
else {
- for(i = sizeof sm->sysinfo.uuid / sizeof *sm->sysinfo.uuid - 1; i >= 0; i--) {
- fprintf(f, "%02x", sm->sysinfo.uuid[i]);
- }
+ fprintf(f, "%s", smbios_decode_uuid(sm->sysinfo.uuid));
}
fprintf(f, "\n");
SMBIOS_PRINT_ID(sysinfo.wake_up, "Wake-up");
@@ -1668,5 +1674,31 @@
}
}
+
+/*
+ * Convert UUID from binary form to string.
+ *
+ * Return string in a static buffer.
+ */
+char *smbios_decode_uuid(uuid_t uuid)
+{
+ uuid_t uuid_mixed;
+ static char buf[UUID_STR_LEN];
+ static unsigned char idx[sizeof (uuid_t)] = {3, 2, 1, 0, 5, 4, 7, 6, 8, 9, 10, 11, 12, 13, 14, 15};
+ int i;
+ unsigned char *s, *d;
+
+ s = (unsigned char *) uuid;
+ d = (unsigned char *) uuid_mixed;
+
+ for(i = 0; i < sizeof uuid_mixed; i++) {
+ d[i] = s[idx[i]];
+ }
+
+ uuid_unparse_lower(uuid_mixed, buf);
+
+ return buf;
+}
+
/** @} */
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-25 13:21:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Sat May 25 13:21:13 2019 rev:1270 rq: version:unknown
Sat May 25 13:21:11 2019 rev:1269 rq: version:unknown
Sat May 25 13:21:09 2019 rev:1268 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
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.w4yF37/_old 2019-05-25 13:21:23.516310748 +0200
+++ /var/tmp/diff_new_pack.w4yF37/_new 2019-05-25 13:21:23.520310747 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190524</version>
+ <version>20190525</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE-MicroOS.product ++++++
--- /var/tmp/diff_new_pack.w4yF37/_old 2019-05-25 13:21:23.544310738 +0200
+++ /var/tmp/diff_new_pack.w4yF37/_new 2019-05-25 13:21:23.544310738 +0200
@@ -6,7 +6,7 @@
<name>openSUSE-MicroOS</name>
<releasepkgname>openSUSE-MicroOS-release</releasepkgname>
<endoflife/>
- <version>20190524</version>
+ <version>20190525</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>openSUSE-MicroOS</productline>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.w4yF37/_old 2019-05-25 13:21:23.568310729 +0200
+++ /var/tmp/diff_new_pack.w4yF37/_new 2019-05-25 13:21:23.568310729 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190524</version>
+ <version>20190525</version>
<release>0</release>
<productline>openSUSE</productline>
1
0
Hello community,
here is the log from the commit of package libdxfrw for openSUSE:Factory checked in at 2019-05-25 13:21:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdxfrw (Old)
and /work/SRC/openSUSE:Factory/.libdxfrw.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libdxfrw"
Sat May 25 13:21:06 2019 rev:8 rq:705288 version:0.6.3+git.20190501
Changes:
--------
--- /work/SRC/openSUSE:Factory/libdxfrw/libdxfrw.changes 2016-06-14 23:07:28.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libdxfrw.new.5148/libdxfrw.changes 2019-05-25 13:21:19.916312087 +0200
@@ -1,0 +2,23 @@
+Sun May 19 17:50:31 UTC 2019 - jslaby(a)suse.com
+
+- switch from sourceforge to more up-to-date github repo
+- Update to version 0.6.3+git.20190501:
+ * Add build status and update example link
+ * Add Travis-CI script
+ * [#10] Fix compilation on GCC
+ * Fix bugs with .dwg import of TEXT and MTEXT entities
+ * This was unnecessary
+ * Link libdxfrw against libstdc++
+ * Return an error when the file ends prematurely
+ * Add version getter
+ * Fix polyline 2d/3d write
+ * Initialize return buffers in GetRawChar8 et al.
+- add
+ * 0001-cmake-use-GNUInstallDirs.patch
+ * 0002-cmake-set-library-VERSIONs.patch
+ * 0003-cmake-add-one-for-dwg2dxf.patch
+ * 0004-cmake-generate-and-install-pkgconfig.patch
+- remove
+ * libdxfrw-LibreCad-2.1.0-changes.patch
+
+-------------------------------------------------------------------
Old:
----
libdxfrw-0.6.3.tar.bz2
libdxfrw-LibreCad-2.1.0-changes.patch
New:
----
0001-cmake-use-GNUInstallDirs.patch
0002-cmake-set-library-VERSIONs.patch
0003-cmake-add-one-for-dwg2dxf.patch
0004-cmake-generate-and-install-pkgconfig.patch
_service
_servicedata
libdxfrw-0.6.3+git.20190501.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libdxfrw.spec ++++++
--- /var/tmp/diff_new_pack.OiVbgD/_old 2019-05-25 13:21:20.756311775 +0200
+++ /var/tmp/diff_new_pack.OiVbgD/_new 2019-05-25 13:21:20.756311775 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libdxfrw
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2015 Asterios Dramis <asterios.dramis(a)gmail.com>.
#
# All modifications and additions to the file contributed by third parties
@@ -13,24 +13,27 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define so_ver 0
Name: libdxfrw
-Version: 0.6.3
+Version: 0.6.3+git.20190501
Release: 0
Summary: Library to read and write DXF files
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
-Url: http://sourceforge.net/p/libdxfrw/home/Home/
-Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
-Patch0: libdxfrw-LibreCad-2.1.0-changes.patch
+Url: https://github.com/LibreCAD/libdxfrw/
+Source0: %{name}-%{version}.tar.xz
+Patch0: 0001-cmake-use-GNUInstallDirs.patch
+Patch1: 0002-cmake-set-library-VERSIONs.patch
+Patch2: 0003-cmake-add-one-for-dwg2dxf.patch
+Patch3: 0004-cmake-generate-and-install-pkgconfig.patch
+BuildRequires: cmake
BuildRequires: gcc-c++
-BuildRequires: pkg-config
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: ninja
%description
libdxfrw is a free C++ library to read and write DXF files in both formats,
@@ -61,18 +64,15 @@
%prep
%setup -q
-%patch0 -p1
+%autopatch -p1
%build
-CXXFLAGS="$CXXFLAGS -std=c++11"
-%configure --disable-static
-make %{?_smp_mflags}
+%define __builder ninja
+%cmake
+%make_jobs
%install
-make DESTDIR=%{buildroot} install
-
-# Remove libtool config files
-rm -f %{buildroot}%{_libdir}/*.la
+%cmake_install
%post -n libdxfrw%{so_ver} -p /sbin/ldconfig
@@ -80,15 +80,18 @@
%files devel
%defattr(-,root,root,-)
-%doc AUTHORS COPYING ChangeLog README TODO
+%doc AUTHORS ChangeLog README TODO
+%license COPYING
%{_includedir}/libdxfrw0/
%{_libdir}/pkgconfig/libdxfrw0.pc
%{_libdir}/libdxfrw.so
%files tools
%defattr(-,root,root,-)
-%doc AUTHORS COPYING ChangeLog README TODO
+%doc AUTHORS ChangeLog README TODO
+%license COPYING
%{_bindir}/dwg2dxf
+%{_mandir}/man1/dwg2dxf.1.gz
%files -n libdxfrw%{so_ver}
%defattr(-,root,root,-)
++++++ 0001-cmake-use-GNUInstallDirs.patch ++++++
From 0ac4187c34a8e4a9512a41426a20b1bb8dc41d21 Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby(a)suse.cz>
Date: Mon, 20 May 2019 07:25:18 +0200
Subject: [PATCH 1/4] cmake: use GNUInstallDirs
This installs the files to lib64 where appropriate.
---
CMakeLists.txt | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 990d253..24d7e26 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.10)
PROJECT (DXFRW)
ADD_DEFINITIONS(-std=c++11)
+include(GNUInstallDirs)
+
# SOURCE FILES
set(libdxfrw_srcs
src/intern/drw_dbg.cpp
@@ -69,6 +71,6 @@ endforeach()
add_library(dxfrw SHARED ${libdxfrw_srcs} ${libdxfrw_hdrs})
# INSTALLATION
-install(TARGETS dxfrw DESTINATION lib)
+install(TARGETS dxfrw DESTINATION "${CMAKE_INSTALL_LIBDIR}")
set(HDRSUBDIR "/libdxfrw0/")
-install(FILES ${installdxfrw_hdrs} DESTINATION include${HDRSUBDIR})
+install(FILES ${installdxfrw_hdrs} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${HDRSUBDIR}")
--
2.21.0
++++++ 0002-cmake-set-library-VERSIONs.patch ++++++
From 5377425b11c38c51a9209e55346bf8f0dee45cc0 Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby(a)suse.cz>
Date: Mon, 20 May 2019 07:48:13 +0200
Subject: [PATCH 2/4] cmake: set library VERSIONs
Especially soversion is needed to have a correctly linked and named
libraries.
---
CMakeLists.txt | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 24d7e26..4ff736d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,15 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.10)
-PROJECT (DXFRW)
+
+if(${CMAKE_MAJOR_VERSION} LESS 3)
+ project(DXFRW)
+ set(VERSION 0.6.3)
+ set(PROJECT_VERSION 0.6.3)
+ set(PROJECT_VERSION_MAJOR 0)
+else()
+ cmake_policy(SET CMP0048 NEW)
+ project(DXFRW VERSION 0.6.3)
+endif()
+
ADD_DEFINITIONS(-std=c++11)
include(GNUInstallDirs)
@@ -69,8 +79,9 @@ foreach(dir ${dirs})
endforeach()
add_library(dxfrw SHARED ${libdxfrw_srcs} ${libdxfrw_hdrs})
+set_target_properties(dxfrw PROPERTIES VERSION "${PROJECT_VERSION}" SOVERSION "${PROJECT_VERSION_MAJOR}")
# INSTALLATION
install(TARGETS dxfrw DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-set(HDRSUBDIR "/libdxfrw0/")
+set(HDRSUBDIR "/libdxfrw${PROJECT_VERSION_MAJOR}/")
install(FILES ${installdxfrw_hdrs} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${HDRSUBDIR}")
--
2.21.0
++++++ 0003-cmake-add-one-for-dwg2dxf.patch ++++++
From 218173d4273eff2cb9ae00bfc54ded99f760fbad Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby(a)suse.cz>
Date: Mon, 20 May 2019 07:55:32 +0200
Subject: [PATCH 3/4] cmake: add one for dwg2dxf
---
CMakeLists.txt | 2 ++
dwg2dxf/CMakeLists.txt | 8 ++++++++
2 files changed, 10 insertions(+)
create mode 100644 dwg2dxf/CMakeLists.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4ff736d..83468a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -81,6 +81,8 @@ endforeach()
add_library(dxfrw SHARED ${libdxfrw_srcs} ${libdxfrw_hdrs})
set_target_properties(dxfrw PROPERTIES VERSION "${PROJECT_VERSION}" SOVERSION "${PROJECT_VERSION_MAJOR}")
+add_subdirectory(dwg2dxf)
+
# INSTALLATION
install(TARGETS dxfrw DESTINATION "${CMAKE_INSTALL_LIBDIR}")
set(HDRSUBDIR "/libdxfrw${PROJECT_VERSION_MAJOR}/")
diff --git a/dwg2dxf/CMakeLists.txt b/dwg2dxf/CMakeLists.txt
new file mode 100644
index 0000000..fdf025f
--- /dev/null
+++ b/dwg2dxf/CMakeLists.txt
@@ -0,0 +1,8 @@
+add_definitions(-Wall)
+include_directories(../src)
+
+add_executable(dwg2dxf dx_iface.cpp main.cpp dx_iface.h dx_data.h)
+target_link_libraries(dwg2dxf dxfrw)
+
+install(TARGETS dwg2dxf DESTINATION "${CMAKE_INSTALL_BINDIR}")
+install(FILES dwg2dxf.1 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
--
2.21.0
++++++ 0004-cmake-generate-and-install-pkgconfig.patch ++++++
From dd4a421755f716fb44076276bead870d71ddef39 Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby(a)suse.cz>
Date: Mon, 20 May 2019 08:25:38 +0200
Subject: [PATCH 4/4] cmake: generate and install pkgconfig
librecad depends on this.
---
CMakeLists.txt | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 83468a5..c04760b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -81,9 +81,19 @@ endforeach()
add_library(dxfrw SHARED ${libdxfrw_srcs} ${libdxfrw_hdrs})
set_target_properties(dxfrw PROPERTIES VERSION "${PROJECT_VERSION}" SOVERSION "${PROJECT_VERSION_MAJOR}")
+add_custom_command(OUTPUT libdxfrw${PROJECT_VERSION_MAJOR}.pc
+ COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/libdxfrw.pc.in libdxfrw${PROJECT_VERSION_MAJOR}.pc
+ COMMAND sed ARGS -i "s|@prefix@|${CMAKE_INSTALL_PREFIX}|g; s|@exec_prefix@|${CMAKE_INSTALL_PREFIX}|g; s|@libdir@|${CMAKE_INSTALL_FULL_LIBDIR}|g; s|@includedir@|${CMAKE_INSTALL_FULL_INCLUDEDIR}|g; s|@PACKAGE_VERSION@|${PROJECT_VERSION}|g; s|@LIBRARY_AGE@|${PROJECT_VERSION_MAJOR}|" libdxfrw${PROJECT_VERSION_MAJOR}.pc
+ MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/libdxfrw.pc.in
+ VERBATIM)
+
+add_custom_target(libdxfrw_pkgconfig ALL
+ DEPENDS libdxfrw${PROJECT_VERSION_MAJOR}.pc)
+
add_subdirectory(dwg2dxf)
# INSTALLATION
install(TARGETS dxfrw DESTINATION "${CMAKE_INSTALL_LIBDIR}")
set(HDRSUBDIR "/libdxfrw${PROJECT_VERSION_MAJOR}/")
install(FILES ${installdxfrw_hdrs} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${HDRSUBDIR}")
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libdxfrw${PROJECT_VERSION_MAJOR}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
--
2.21.0
++++++ _service ++++++
<services>
<service mode="disabled" name="tar_scm">
<param name="url">git://github.com/LibreCAD/libdxfrw/</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
<param name="filename">libdxfrw</param>
<param name="versionformat">0.6.3+git.%cd</param>
</service>
<service mode="disabled" name="recompress">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service mode="disabled" name="set_version"/>
</services>
++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/LibreCAD/libdxfrw/</param>
<param name="changesrevision">ba4b597ebfd86a0ca903c5fdc335143f7db236e2</param></service></servicedata>
1
0
Hello community,
here is the log from the commit of package cilium for openSUSE:Factory checked in at 2019-05-25 13:21:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cilium (Old)
and /work/SRC/openSUSE:Factory/.cilium.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cilium"
Sat May 25 13:21:01 2019 rev:14 rq:705277 version:1.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/cilium/cilium.changes 2019-05-13 14:50:23.822767138 +0200
+++ /work/SRC/openSUSE:Factory/.cilium.new.5148/cilium.changes 2019-05-25 13:21:18.200312725 +0200
@@ -1,0 +2,67 @@
+Fri May 10 10:20:32 UTC 2019 - Michal Rostecki <mrostecki(a)opensuse.org>
+
+- Update to version 1.5.1:
+ * Important Bugfixes:
+ * Fix bug where Cilium would refuse to start if ipv6 netfilter
+ modules are unavailable.
+ * Warn when iptables modules are not available.
+ * Use all labels to restore endpoint identity to correctly
+ filter labels upon restart.
+ * Fix cases where multiple bindings are provided to CLI flags.
+ * New Functionality / Enhancements:
+ * Add node-init script to automatically restart pods managed by
+ kubenet on GKE
+ * Add functionality to enable or disable metrics for specific
+ subsystems
+ * bpf syscall metrics are disabled by default for performance
+ * Update node, node/status to allow for patch operations in
+ Cilium RBAC
+ * Patch, instead of update, node annotations for better
+ performance
+ * Annotate node status with NetworkUnavailable as false
+ * Performance increase by not allocating any memory when
+ iterating over BPF maps
+ * CLI now prints tunnel endpoint for RemoteEndpointInfo
+ * Try to register node forever in nodediscovery
+ * Remove unused buildqueue package
+ * Minor Bug Fixes:
+ * endpoint: do not serialize JSON for EventQueue field
+ * Avoid unlocked access of endpoint security identity when
+ calculating what rules select an endpoint
+ * Only dump bpf lb list if map exists
+ * Fix bug where endpoint state metrics get stuck with nonzero
+ endpoints in restoring state
+ * Do not init config when running with --cmdref parameter
+ * Improve separation between cilium-agent and cilium CLI
+ * Add cilium namespace to fqdn_gc_deletions_total metric
+ * Force preallocation for SNAT maps of LRU type
+ * Set BPF_F_NO_PREALLOC before comparing maps
+ * Operator:
+ * Improve cilium-operator bootstrap sequence (Start health API
+ earlier, add more logging to see where the operator blocks
+ on startup)
+ * Add ca-certificates to operator
+ * Documentation:
+ * Add upgrade guide from >=1.4.0 to 1.5
+ * Mention enable-legacy-services flag in upgrade docs
+ * Add k8s 1.14 to supported versions for testing
+ * Improve configmap documentation
+ * Document how to get started with MicroK8s, and provide example
+ YAMLs
+ * Fix typo in encryption algorithm: GMC -> GCM
+ * Fix up Ubuntu apt-get install command
+ * Minor fixes to AWS EKS and AWS Metadata filtering GSGs
+ * CI:
+ * Wait for endpoints to be ready after containers are created,
+ deleted
+ * Ensure that `go fmt` check always runs correctly in CI
+ * Increase test suite timeouts to allow for cases where tests
+ take longer
+ * Do not set enable-legacy-services in v1.4 ConfigMap
+ * Update k8s testing versions to v1.11.10 and v1.12.8
+ * Make function provided to WithTimeout run asynchronously to
+ avoid test suites getting stuck
+- Add cilium-k8s-yaml package with Kubernetes yaml file to run
+ Cilium containers.
+
+-------------------------------------------------------------------
Old:
----
cilium-1.5.0.tar.gz
New:
----
cilium-1.5.1.tar.gz
cilium-cni-install
cilium-cni-uninstall
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cilium.spec ++++++
--- /var/tmp/diff_new_pack.nwdBvv/_old 2019-05-25 13:21:19.512312237 +0200
+++ /var/tmp/diff_new_pack.nwdBvv/_new 2019-05-25 13:21:19.516312236 +0200
@@ -35,7 +35,7 @@
%endif
Name: cilium
-Version: 1.5.0
+Version: 1.5.1
Release: 0
Summary: Linux Native, HTTP Aware Networking and Security for Containers
License: Apache-2.0 AND GPL-2.0-or-later
@@ -43,6 +43,8 @@
URL: https://github.com/cilium/cilium
Source0: %{name}-%{version}.tar.gz
Source1: %{name}-rpmlintrc
+Source2: cilium-cni-install
+Source3: cilium-cni-uninstall
BuildRequires: clang
BuildRequires: git
BuildRequires: glibc-devel
@@ -178,6 +180,20 @@
This package contains shared development files for Cilium which are used by
Cilium filters in Envoy.
+%package k8s-yaml
+Summary: Kubernetes yaml file to run Cilium containers
+Group: System/Management
+BuildArch: noarch
+
+%description k8s-yaml
+Cilium is a software for providing, and transparently securing, network
+connectivity, and for load-balancing between application containers and
+services deployed using Linux container management platforms like Docker and
+Kubernetes.
+
+This package contains the yaml file requried to download and run Cilium
+containers in a Kubernetes cluster.
+
%prep
%setup -q
@@ -190,25 +206,12 @@
sed -i '/groupadd /s/^/#/' daemon/Makefile
sed -i '/groupadd /s/^/#/' operator/Makefile
-# need to fix it upstream or get clearification why we need it
-touch bpf/.gitignore
# create bindata.go which is no included in the source as it is ignored
# because of .gitignore
make -C daemon apply-bindata
%if 0%{?suse_version} > 1510 && 0%{?is_opensuse}
-# Currently the full precheck is failing because:
-# - Cilium uses Go in version 1.11.3 due to the following bug which happens
-# when Go >= 1.11.4 is used:
-# https://github.com/cilium/cilium/issues/6559
-# - openSUSE ships only the newest 1.11.x version
-# - Thus we have to use Go 1.10.x, but Cilium code follows 1.11.x gofmt
-# rules, which differ from 1.10.x.
-#
-# make precheck
-
-# Before the issue above gets fixed, let's at least run single code checks
-# which are working.
+make precheck
make govet
make ineffassign
make logging-subsys-field
@@ -235,9 +238,22 @@
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc${service}
done
+install -D -m 0755 %{SOURCE2} %{buildroot}%{_sbindir}/cilium-cni-install
+install -D -m 0755 %{SOURCE3} %{buildroot}%{_sbindir}/cilium-cni-uninstall
install -D -m 0755 contrib/packaging/docker/init-container.sh %{buildroot}/%{_bindir}/cilium-init
install -D -m 0644 contrib/systemd/cilium %{buildroot}%{_fillupdir}/sysconfig.cilium
install -D -m 0644 proxylib/libcilium.h %{buildroot}%{_includedir}/libcilium.h
+install -D -m 0644 examples/kubernetes/1.14/cilium-crio.yaml %{buildroot}%{_datadir}/k8s-yaml/cilium/cilium.yaml
+sed -i \
+ -e 's|image: docker.io/cilium/cilium:.*|image: registry.opensuse.org/devel/kubic/containers/container/kubic/cilium:%{versi…' \
+ -e 's|image: docker.io/cilium/cilium-init:.*|image: registry.opensuse.org/devel/kubic/containers/container/kubic/cilium-init:%{…' \
+ -e 's|image: docker.io/cilium/operator:.*|image: registry.opensuse.org/devel/kubic/containers/container/kubic/cilium-operato…' \
+ -e 's|image: docker.io/cilium/cilium-etcd-operator:.*|image: registry.opensuse.org/devel/kubic/containers/container/kubic/cilium-etcd-op…' \
+ -e 's|/init-container.sh|cilium-init|g' \
+ -e 's|/cni-install.sh|cilium-cni-install|g' \
+ -e 's|/cni-uninstall.sh|cilium-cni-uninstall|g' \
+ -e 's|--container-runtime=crio|--container-runtime=crio\n - --disable-envoy-version-check|g' \
+ %{buildroot}%{_datadir}/k8s-yaml/cilium/cilium.yaml
mkdir -p %{buildroot}%{bash_completion_dir}
%{buildroot}%{_bindir}/cilium completion > %{buildroot}%{bash_completion_dir}/cilium
@@ -299,6 +315,8 @@
%dir %{cni_bin_dir}
%config(noreplace) %{_sysconfdir}/cni/net.d/10-cilium-cni.conf
%{cni_bin_dir}/cilium-cni
+%{_sbindir}/cilium-cni-install
+%{_sbindir}/cilium-cni-uninstall
%files docker
%{_unitdir}/cilium-docker.service
@@ -318,4 +336,9 @@
%{_includedir}/libcilium.h
%{_libdir}/libcilium.so
+%files k8s-yaml
+%dir %{_datarootdir}/k8s-yaml
+%dir %{_datarootdir}/k8s-yaml/cilium
+%{_datadir}/k8s-yaml/cilium/cilium.yaml
+
%changelog
++++++ _service ++++++
--- /var/tmp/diff_new_pack.nwdBvv/_old 2019-05-25 13:21:19.544312225 +0200
+++ /var/tmp/diff_new_pack.nwdBvv/_new 2019-05-25 13:21:19.548312224 +0200
@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">refs/tags/v1.5.0</param>
+ <param name="revision">refs/tags/v1.5.1</param>
<param name="filename">cilium</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.nwdBvv/_old 2019-05-25 13:21:19.564312218 +0200
+++ /var/tmp/diff_new_pack.nwdBvv/_new 2019-05-25 13:21:19.568312217 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/cilium/cilium</param>
- <param name="changesrevision">e47b37c3a49fa27313d1d7afbc65544dfcf4c457</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">78e2cf4b66a67348df186cd79f66624ac423504e</param></service></servicedata>
\ No newline at end of file
++++++ cilium-1.5.0.tar.gz -> cilium-1.5.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/cilium/cilium-1.5.0.tar.gz /work/SRC/openSUSE:Factory/.cilium.new.5148/cilium-1.5.1.tar.gz differ: char 12, line 1
++++++ cilium-cni-install ++++++
#!/bin/sh
cp -f /etc/cni/net.d/10-cilium-cni.conf /host/etc/cni/net.d/
cp -f /usr/lib/cni/cilium-cni /host/opt/cni/bin/
++++++ cilium-cni-uninstall ++++++
#!/bin/sh
rm -f /host/etc/cni/net.d/10-cilium-cni.conf
rm -f /host/opt/cni/bin/cilium-cni
1
0
Hello community,
here is the log from the commit of package python-numericalunits for openSUSE:Factory checked in at 2019-05-25 13:20:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-numericalunits (Old)
and /work/SRC/openSUSE:Factory/.python-numericalunits.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-numericalunits"
Sat May 25 13:20:59 2019 rev:4 rq:705223 version:1.23
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-numericalunits/python-numericalunits.changes 2019-05-21 10:41:15.579052996 +0200
+++ /work/SRC/openSUSE:Factory/.python-numericalunits.new.5148/python-numericalunits.changes 2019-05-25 13:21:09.656315902 +0200
@@ -1,0 +2,10 @@
+Fri May 24 08:00:27 UTC 2019 - John Vandenberg <jayvdb(a)gmail.com>
+
+- Run dos2unix on source file which changed to DOS format
+- Update to v1.23
+ * add a smoke test
+ * drop support except 2.7+ and 3.4+
+ * random initializations now span more orders of magnitude
+ * update to latest CODATA
+
+-------------------------------------------------------------------
Old:
----
numericalunits-1.22.tar.gz
New:
----
numericalunits-1.23.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-numericalunits.spec ++++++
--- /var/tmp/diff_new_pack.V3mBZg/_old 2019-05-25 13:21:10.680315521 +0200
+++ /var/tmp/diff_new_pack.V3mBZg/_new 2019-05-25 13:21:10.684315520 +0200
@@ -18,15 +18,16 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-numericalunits
-Version: 1.22
+Version: 1.23
Release: 0
Summary: Python module for defining quantities with units
License: MIT
Group: Development/Languages/Python
-Url: http://pypi.python.org/pypi/numericalunits
-Source: https://github.com/sbyrnes321/numericalunits/archive/numericalunits-%{versi…
+Url: https://github.com/sbyrnes321/numericalunits
+Source: https://files.pythonhosted.org/packages/source/n/numericalunits/numericalun…
Source1: https://raw.githubusercontent.com/sbyrnes321/numericalunits/master/tests/te…
BuildRequires: %{python_module setuptools}
+BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
@@ -44,7 +45,8 @@
* Zero calculation overhead
%prep
-%setup -q -n numericalunits-numericalunits-%{version}
+%setup -q -n numericalunits-%{version}
+dos2unix numericalunits.py
cp %{SOURCE1} .
%build
++++++ numericalunits-1.22.tar.gz -> numericalunits-1.23.tar.gz ++++++
++++ 1640 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2019-05-25 13:20:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Sat May 25 13:20:54 2019 rev:181 rq:705208 version:20190524.fa2a17cf
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2019-05-24 11:31:35.341403314 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.5148/openSUSE-release-tools.changes 2019-05-25 13:21:03.696318118 +0200
@@ -1,0 +2,12 @@
+Fri May 24 10:26:34 UTC 2019 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20190524.fa2a17cf:
+ * accept_command: fix missing the url for uploading product file change
+
+-------------------------------------------------------------------
+Thu May 23 04:34:02 UTC 2019 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20190523.823c5142:
+ * Fix factory-package-news to work with Python 3
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20190522.4ee44da8.obscpio
New:
----
openSUSE-release-tools-20190524.fa2a17cf.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.i0CCHx/_old 2019-05-25 13:21:06.920316919 +0200
+++ /var/tmp/diff_new_pack.i0CCHx/_new 2019-05-25 13:21:06.920316919 +0200
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20190522.4ee44da8
+Version: 20190524.fa2a17cf
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.i0CCHx/_old 2019-05-25 13:21:06.972316900 +0200
+++ /var/tmp/diff_new_pack.i0CCHx/_new 2019-05-25 13:21:06.972316900 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param name="changesrevision">c4dccf80ab91f933a893b6faf5e0bc60abbb7210</param>
+ <param name="changesrevision">5d13e07b5a71b808c3ed1668be5d92065a288380</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20190522.4ee44da8.obscpio -> openSUSE-release-tools-20190524.fa2a17cf.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20190522.4ee44da8/factory-package-news/factory-package-news.py new/openSUSE-release-tools-20190524.fa2a17cf/factory-package-news/factory-package-news.py
--- old/openSUSE-release-tools-20190522.4ee44da8/factory-package-news/factory-package-news.py 2019-05-23 03:45:09.000000000 +0200
+++ new/openSUSE-release-tools-20190524.fa2a17cf/factory-package-news/factory-package-news.py 2019-05-24 12:24:49.000000000 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
from pprint import pprint
import os, sys, io
@@ -9,7 +9,8 @@
import cmdln
import re
-SRPM_RE = re.compile(r'(?P<name>.+)-(?P<version>[^-]+)-(?P<release>[^-]+)\.(?P<suffix>(?:no)?src\.rpm)$')
+SRPM_RE = re.compile(
+ r'(?P<name>.+)-(?P<version>[^-]+)-(?P<release>[^-]+)\.(?P<suffix>(?:no)?src\.rpm)$')
data_version = 3
@@ -51,12 +52,13 @@
changelogs = dict()
def _getdata(h):
- srpm = h['sourcerpm']
+ srpm = str(h['sourcerpm'], 'utf-8')
+ binrpm = str(h['name'], 'utf-8')
evr = dict()
for tag in ['name', 'version', 'release', 'sourcerpm']:
- evr[tag] = h[tag]
- pkgdata[h['name']] = evr
+ evr[tag] = str(h[tag], 'utf-8')
+ pkgdata[binrpm] = evr
# dirty hack to reduce kernel spam
m = SRPM_RE.match(srpm)
@@ -77,15 +79,17 @@
'kernel-xen',
):
srpm = '%s-%s-%s.src.rpm'%('kernel-source', m.group('version'), m.group('release'))
- pkgdata[h['name']]['sourcerpm'] = srpm
- print("%s -> %s"%(h['sourcerpm'], srpm))
+ pkgdata[binrpm]['sourcerpm'] = srpm
+ print("%s -> %s"%(str(h['sourcerpm'], 'utf-8'), srpm))
if srpm in changelogs:
- changelogs[srpm]['packages'].append(h['name'])
+ changelogs[srpm]['packages'].append(binrpm)
else:
- data = { 'packages': [ h['name'] ] }
- for tag in ['changelogtime', 'changelogtext']:
- data[tag] = h[tag]
+ data = { 'packages': [ binrpm ] }
+ data['changelogtime'] = h['changelogtime']
+ data['changelogtext'] = h['changelogtext']
+ for (t, txt) in enumerate(data['changelogtext']):
+ data['changelogtext'][t] = str(txt, 'utf-8')
changelogs[srpm] = data
for arg in args:
@@ -165,7 +169,8 @@
${cmd_option_list}
"""
f = open(filename, 'rb')
- (v, (pkgs, changelogs)) = pickle.load(f)
+ (v, (pkgs, changelogs)) = pickle.load(
+ f, encoding='utf-8', errors='backslashreplace')
pprint(pkgs[package])
pprint(changelogs[pkgs[package]['sourcerpm']])
@@ -193,11 +198,13 @@
raise Exception("%s must be a directory"%opts.dir)
f = open(os.path.join(opts.dir, version1), 'rb')
- (v, (v1pkgs, v1changelogs)) = pickle.load(f)
+ (v, (v1pkgs, v1changelogs)) = pickle.load(f,
+ encoding='utf-8', errors='backslashreplace')
if v != data_version:
raise Exception("not matching version %s in %s"%(v, version1))
f = open(os.path.join(opts.dir, version2), 'rb')
- (v, (v2pkgs, v2changelogs)) = pickle.load(f)
+ (v, (v2pkgs, v2changelogs)) = pickle.load(f,
+ encoding='utf-8', errors='backslashreplace')
if v != data_version:
raise Exception("not matching version %s in %s"%(v, version2))
@@ -233,8 +240,10 @@
pkgs = sorted(group[srpm])
details += "\n==== %s ====\n"%name
if v1pkgs[pkgs[0]]['version'] != v2pkgs[pkgs[0]]['version']:
- print(" %s (%s -> %s)"%(name, v1pkgs[pkgs[0]]['version'], v2pkgs[pkgs[0]]['version']))
- details += "Version update (%s -> %s)\n" % (v1pkgs[pkgs[0]]['version'], v2pkgs[pkgs[0]]['version'])
+ print(" %s (%s -> %s)" % (name, v1pkgs[pkgs[0]]['version'],
+ v2pkgs[pkgs[0]]['version']))
+ details += "Version update (%s -> %s)\n" % (v1pkgs[pkgs[0]]['version'],
+ v2pkgs[pkgs[0]]['version'])
else:
print(" %s" % name)
if len(pkgs) > 1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20190522.4ee44da8/osclib/accept_command.py new/openSUSE-release-tools-20190524.fa2a17cf/osclib/accept_command.py
--- old/openSUSE-release-tools-20190522.4ee44da8/osclib/accept_command.py 2019-05-23 03:45:09.000000000 +0200
+++ new/openSUSE-release-tools-20190524.fa2a17cf/osclib/accept_command.py 2019-05-24 12:24:49.000000000 +0200
@@ -306,6 +306,7 @@
if product_spec != new_product:
update_version_attr = True
+ url = self.api.makeurl(['source', project, product_pkg, product_name])
http_PUT(url + '?comment=Update+version', data=new_product)
if update_version_attr:
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.i0CCHx/_old 2019-05-25 13:21:07.720316623 +0200
+++ /var/tmp/diff_new_pack.i0CCHx/_new 2019-05-25 13:21:07.720316623 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20190522.4ee44da8
-mtime: 1558575909
-commit: 4ee44da8ee8abf7d201ab72506679ae12d9025ff
+version: 20190524.fa2a17cf
+mtime: 1558693489
+commit: fa2a17cfec75d7eb9b99f987feff0aae1bf1cfa0
1
0
Hello community,
here is the log from the commit of package python-mutt-ics for openSUSE:Factory checked in at 2019-05-25 13:20:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mutt-ics (Old)
and /work/SRC/openSUSE:Factory/.python-mutt-ics.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mutt-ics"
Sat May 25 13:20:51 2019 rev:3 rq:705204 version:0.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mutt-ics/python-mutt-ics.changes 2019-03-27 16:21:35.879527332 +0100
+++ /work/SRC/openSUSE:Factory/.python-mutt-ics.new.5148/python-mutt-ics.changes 2019-05-25 13:20:53.764321811 +0200
@@ -1,0 +2,6 @@
+Fri May 24 09:39:56 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 0.9.1
+ * Include samples in distribution
+
+-------------------------------------------------------------------
Old:
----
mutt_ics-0.9.tar.gz
New:
----
mutt_ics-0.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mutt-ics.spec ++++++
--- /var/tmp/diff_new_pack.o9JBWa/_old 2019-05-25 13:21:00.528319296 +0200
+++ /var/tmp/diff_new_pack.o9JBWa/_new 2019-05-25 13:21:00.528319296 +0200
@@ -18,14 +18,16 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-mutt-ics
-Version: 0.9
+Version: 0.9.1
Release: 0
Summary: A tool to show calendar event details in Mutt
License: MIT
Group: Development/Languages/Python
URL: https://github.com/dmedvinsky/mutt-ics
Source0: https://files.pythonhosted.org/packages/source/m/mutt_ics/mutt_ics-%{versio…
+# https://github.com/dmedvinsky/mutt-ics/issues/20
Source1: LICENSE.mit
+BuildRequires: %{python_module icalendar >= 3.9.0}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -53,10 +55,11 @@
install -pm 0644 %{SOURCE1} LICENSE
%check
-# no upstream tests
-# however, there are samples/ on github at least
-# https://github.com/dmedvinsky/mutt-ics/issues/19
-# could we write small tests here?
+exit_code=0
+%python_exec build/lib/mutt_ics/mutt_ics.py samples/1.ics | grep Subject || exit_code=1
+%python_exec build/lib/mutt_ics/mutt_ics.py samples/2.ics | grep Start || exit_code=2
+%python_exec build/lib/mutt_ics/mutt_ics.py samples/3.ics | grep Organizer || exit_code=3
+exit $exit_code
%files %{python_files}
%doc README.md
++++++ mutt_ics-0.9.tar.gz -> mutt_ics-0.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/MANIFEST.in new/mutt_ics-0.9.1/MANIFEST.in
--- old/mutt_ics-0.9/MANIFEST.in 2018-12-12 09:31:17.000000000 +0100
+++ new/mutt_ics-0.9.1/MANIFEST.in 2019-03-27 10:35:42.000000000 +0100
@@ -1,2 +1,3 @@
include README.md
include requirements.txt
+include samples/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/PKG-INFO new/mutt_ics-0.9.1/PKG-INFO
--- old/mutt_ics-0.9/PKG-INFO 2018-12-31 15:58:48.000000000 +0100
+++ new/mutt_ics-0.9.1/PKG-INFO 2019-03-27 10:47:54.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: mutt_ics
-Version: 0.9
+Version: 0.9.1
Summary: A tool to show calendar event details in Mutt.
Home-page: https://github.com/dmedvinsky/mutt-ics
Author: Dmitry Medvinsky
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/mutt_ics.egg-info/PKG-INFO new/mutt_ics-0.9.1/mutt_ics.egg-info/PKG-INFO
--- old/mutt_ics-0.9/mutt_ics.egg-info/PKG-INFO 2018-12-31 15:58:48.000000000 +0100
+++ new/mutt_ics-0.9.1/mutt_ics.egg-info/PKG-INFO 2019-03-27 10:47:54.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: mutt-ics
-Version: 0.9
+Version: 0.9.1
Summary: A tool to show calendar event details in Mutt.
Home-page: https://github.com/dmedvinsky/mutt-ics
Author: Dmitry Medvinsky
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/mutt_ics.egg-info/SOURCES.txt new/mutt_ics-0.9.1/mutt_ics.egg-info/SOURCES.txt
--- old/mutt_ics-0.9/mutt_ics.egg-info/SOURCES.txt 2018-12-31 15:58:48.000000000 +0100
+++ new/mutt_ics-0.9.1/mutt_ics.egg-info/SOURCES.txt 2019-03-27 10:47:54.000000000 +0100
@@ -10,4 +10,9 @@
mutt_ics.egg-info/entry_points.txt
mutt_ics.egg-info/not-zip-safe
mutt_ics.egg-info/requires.txt
-mutt_ics.egg-info/top_level.txt
\ No newline at end of file
+mutt_ics.egg-info/top_level.txt
+samples/1.ics
+samples/2.ics
+samples/3.ics
+samples/4.ics
+samples/5.ics
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/samples/1.ics new/mutt_ics-0.9.1/samples/1.ics
--- old/mutt_ics-0.9/samples/1.ics 1970-01-01 01:00:00.000000000 +0100
+++ new/mutt_ics-0.9.1/samples/1.ics 2019-03-27 10:35:01.000000000 +0100
@@ -0,0 +1,9 @@
+BEGIN:VCALENDAR
+METHOD:REQUEST
+PRODID:Microsoft Exchange Server 2010
+VERSION:2.0
+BEGIN:VEVENT
+DESCRIPTION;LANGUAGE=en-US:When: Tuesday\, February 17\, 2015 2:00 PM-3:00 PM. (UTC+01:00) Amsterdam\, Berlin\, Bern\, Rome\, Stockholm\, Vienna\nWhere: XXX\n\n~~~~~~~~~\n\n Norwegian characters æ ø å\n
+SUMMARY;LANGUAGE=en-US:æ ø å
+END:VEVENT
+END:VCALENDAR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/samples/2.ics new/mutt_ics-0.9.1/samples/2.ics
--- old/mutt_ics-0.9/samples/2.ics 1970-01-01 01:00:00.000000000 +0100
+++ new/mutt_ics-0.9.1/samples/2.ics 2019-03-27 10:35:01.000000000 +0100
@@ -0,0 +1,24 @@
+BEGIN:VCALENDAR
+METHOD:REQUEST
+PRODID:trimmed from Microsoft Exchange Server 2010
+VERSION:2.0
+BEGIN:VTIMEZONE
+TZID:Eastern Standard Time
+BEGIN:STANDARD
+DTSTART:16010101T020000
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:16010101T020000
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+SUMMARY;LANGUAGE=en-US:Outlook invite problematic.
+DTSTART;TZID=Eastern Standard Time:20150601T143000
+END:VEVENT
+END:VCALENDAR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/samples/3.ics new/mutt_ics-0.9.1/samples/3.ics
--- old/mutt_ics-0.9/samples/3.ics 1970-01-01 01:00:00.000000000 +0100
+++ new/mutt_ics-0.9.1/samples/3.ics 2019-03-27 10:35:01.000000000 +0100
@@ -0,0 +1,48 @@
+BEGIN:VCALENDAR
+METHOD:REPLY
+PRODID:Microsoft Exchange Server 2010
+VERSION:2.0
+BEGIN:VTIMEZONE
+TZID:Eastern Standard Time
+BEGIN:STANDARD
+DTSTART:16010101T020000
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:16010101T020000
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+ORGANIZER;CN=John Doe:MAILTO:john@doe
+ATTENDEE;PARTSTAT=DECLINED;CN=Coworker on Outlook:MAILTO:pitiable.coworker
+ @example.com
+COMMENT;LANGUAGE=en-US:Hello John\,\n\nThank you to make schedule at this
+ time. Unfortunately\, I haven’t come to Michigan yet. Please tell other
+ person\, or if possible\, please change the date.\n\nBest regards...
+SUMMARY;LANGUAGE=en-US:Declined: Meeting Request
+DTSTART;TZID=Eastern Standard Time:20161006T140000
+DTEND;TZID=Eastern Standard Time:20161006T150000
+UID:040000008200E00074C5B7101A82E0080000000050C13B98E61ED201000000000000000
+ 010000000CC45D2BE3422D34D9B21CBFABA861D35
+CLASS:PUBLIC
+PRIORITY:5
+DTSTAMP:20161006T053443Z
+TRANSP:OPAQUE
+STATUS:CONFIRMED
+SEQUENCE:0
+LOCATION;LANGUAGE=en-US:Conference Room
+X-MICROSOFT-CDO-APPT-SEQUENCE:0
+X-MICROSOFT-CDO-OWNERAPPTID:-400185376
+X-MICROSOFT-CDO-BUSYSTATUS:BUSY
+X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
+X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
+X-MICROSOFT-CDO-IMPORTANCE:1
+X-MICROSOFT-CDO-INSTTYPE:0
+X-MICROSOFT-DISALLOW-COUNTER:FALSE
+END:VEVENT
+END:VCALENDAR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/samples/4.ics new/mutt_ics-0.9.1/samples/4.ics
--- old/mutt_ics-0.9/samples/4.ics 1970-01-01 01:00:00.000000000 +0100
+++ new/mutt_ics-0.9.1/samples/4.ics 2019-03-27 10:35:01.000000000 +0100
@@ -0,0 +1,36 @@
+BEGIN:VCALENDAR
+METHOD:PUBLISH
+PRODID:Microsoft Exchange Server 2010
+VERSION:2.0
+BEGIN:VTIMEZONE
+TZID:(UTC+02:00) Helsinki\, Kyiv\, Riga\, Sofia\, Tallinn\, Vilnius
+BEGIN:STANDARD
+DTSTART:16010101T040000
+TZOFFSETFROM:+0300
+TZOFFSETTO:+0200
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:16010101T030000
+TZOFFSETFROM:+0200
+TZOFFSETTO:+0300
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+ORGANIZER;CN=trhd:MAILTO:trhd@iki.fi
+DESCRIPTION;LANGUAGE=en-US:foobar\n
+SUMMARY;LANGUAGE=en-US:test event
+DTSTART;TZID="(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius":2016
+ 1224T080000
+DTEND;TZID="(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius":201612
+ 25T083000
+CLASS:PUBLIC
+PRIORITY:5
+DTSTAMP:20161222T131417Z
+TRANSP:OPAQUE
+STATUS:CONFIRMED
+SEQUENCE:0
+LOCATION;LANGUAGE=en-US:
+END:VEVENT
+END:VCALENDAR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/samples/5.ics new/mutt_ics-0.9.1/samples/5.ics
--- old/mutt_ics-0.9/samples/5.ics 1970-01-01 01:00:00.000000000 +0100
+++ new/mutt_ics-0.9.1/samples/5.ics 2019-03-27 10:35:01.000000000 +0100
@@ -0,0 +1,34 @@
+BEGIN:VCALENDAR
+METHOD:PUBLISH
+PRODID:Microsoft Exchange Server 2010
+VERSION:2.0
+BEGIN:VTIMEZONE
+TZID:(UTC+02:00) Helsinki\, Kyiv\, Riga\, Sofia\, Tallinn\, Vilnius
+BEGIN:STANDARD
+DTSTART:16010101T040000
+TZOFFSETFROM:+0300
+TZOFFSETTO:+0200
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:16010101T030000
+TZOFFSETFROM:+0200
+TZOFFSETTO:+0300
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+ORGANIZER;CN=trhd:MAILTO:trhd@iki.fi
+DESCRIPTION;LANGUAGE=en-US:foobar\n
+SUMMARY;LANGUAGE=en-US:test event
+DTSTART;VALUE=DATE:20161224
+DTEND;VALUE=DATE:20161226
+CLASS:PUBLIC
+PRIORITY:5
+DTSTAMP:20161222T131538Z
+TRANSP:OPAQUE
+STATUS:CONFIRMED
+SEQUENCE:0
+LOCATION;LANGUAGE=en-US:
+END:VEVENT
+END:VCALENDAR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/setup.py new/mutt_ics-0.9.1/setup.py
--- old/mutt_ics-0.9/setup.py 2018-12-31 15:57:49.000000000 +0100
+++ new/mutt_ics-0.9.1/setup.py 2019-03-27 10:47:38.000000000 +0100
@@ -12,7 +12,7 @@
setup(name='mutt_ics',
- version='0.9',
+ version='0.9.1',
description='A tool to show calendar event details in Mutt.',
long_description=readme(),
classifiers=[
1
0
Hello community,
here is the log from the commit of package perl-Mojolicious for openSUSE:Factory checked in at 2019-05-25 13:20:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojolicious.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious"
Sat May 25 13:20:48 2019 rev:110 rq:705195 version:8.17
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes 2019-05-21 10:40:28.331083680 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious.new.5148/perl-Mojolicious.changes 2019-05-25 13:20:49.180323516 +0200
@@ -1,0 +2,10 @@
+Fri May 24 05:14:59 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 8.17
+ see /usr/share/doc/packages/perl-Mojolicious/Changes
+
+ 8.17 2019-05-23
+ - Fixed a bug in Mojo::UserAgent where the request timeout would not work for
+ keep-alive requests. (ilmari)
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-8.16.tar.gz
New:
----
Mojolicious-8.17.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious.spec ++++++
--- /var/tmp/diff_new_pack.XdU4O5/_old 2019-05-25 13:20:50.748322933 +0200
+++ /var/tmp/diff_new_pack.XdU4O5/_new 2019-05-25 13:20:50.752322931 +0200
@@ -17,7 +17,7 @@
Name: perl-Mojolicious
-Version: 8.16
+Version: 8.17
Release: 0
%define cpan_name Mojolicious
Summary: Real-time web framework
++++++ Mojolicious-8.16.tar.gz -> Mojolicious-8.17.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/Changes new/Mojolicious-8.17/Changes
--- old/Mojolicious-8.16/Changes 2019-05-14 16:38:33.000000000 +0200
+++ new/Mojolicious-8.17/Changes 2019-05-23 22:47:46.000000000 +0200
@@ -1,4 +1,8 @@
+8.17 2019-05-23
+ - Fixed a bug in Mojo::UserAgent where the request timeout would not work for
+ keep-alive requests. (ilmari)
+
8.16 2019-05-14
- Improved Mojo::Headers to reject characters in header values that would
corrupt the HTTP message.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/META.json new/Mojolicious-8.17/META.json
--- old/Mojolicious-8.16/META.json 2019-05-19 21:49:29.000000000 +0200
+++ new/Mojolicious-8.17/META.json 2019-05-23 22:50:34.000000000 +0200
@@ -58,6 +58,6 @@
},
"x_IRC" : "irc://irc.freenode.net/#mojo"
},
- "version" : "8.16",
+ "version" : "8.17",
"x_serialization_backend" : "JSON::PP version 4.02"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/META.yml new/Mojolicious-8.17/META.yml
--- old/Mojolicious-8.16/META.yml 2019-05-19 21:49:29.000000000 +0200
+++ new/Mojolicious-8.17/META.yml 2019-05-23 22:50:34.000000000 +0200
@@ -31,5 +31,5 @@
homepage: https://mojolicious.org
license: http://www.opensource.org/licenses/artistic-license-2.0
repository: https://github.com/mojolicious/mojo.git
-version: '8.16'
+version: '8.17'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/lib/Mojo/UserAgent.pm new/Mojolicious-8.17/lib/Mojo/UserAgent.pm
--- old/Mojolicious-8.16/lib/Mojo/UserAgent.pm 2018-11-28 19:00:50.000000000 +0100
+++ new/Mojolicious-8.17/lib/Mojo/UserAgent.pm 2019-05-23 22:46:21.000000000 +0200
@@ -225,7 +225,7 @@
# Remove request timeout and finish transaction
return undef unless my $c = $self->{connections}{$id};
- $c->{ioloop}->remove($c->{timeout}) if $c->{timeout};
+ $c->{ioloop}->remove(delete $c->{timeout}) if $c->{timeout};
return $self->_reuse($id, $close) unless my $old = $c->{tx};
# Premature connection close
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/lib/Mojolicious.pm new/Mojolicious-8.17/lib/Mojolicious.pm
--- old/Mojolicious-8.16/lib/Mojolicious.pm 2019-04-26 19:53:50.000000000 +0200
+++ new/Mojolicious-8.17/lib/Mojolicious.pm 2019-05-23 22:48:50.000000000 +0200
@@ -59,7 +59,7 @@
has validator => sub { Mojolicious::Validator->new };
our $CODENAME = 'Supervillain';
-our $VERSION = '8.16';
+our $VERSION = '8.17';
sub BUILD_DYNAMIC {
my ($class, $method, $dyn_methods) = @_;
@@ -974,6 +974,8 @@
Danijel Tasov
+Dagfinn Ilmari Mannsaker
+
Danny Thomas
David Davis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/t/mojo/user_agent.t new/Mojolicious-8.17/t/mojo/user_agent.t
--- old/Mojolicious-8.16/t/mojo/user_agent.t 2018-11-22 21:23:08.000000000 +0100
+++ new/Mojolicious-8.17/t/mojo/user_agent.t 2019-05-23 22:46:59.000000000 +0200
@@ -427,6 +427,15 @@
Mojo::IOLoop->start;
ok !Mojo::IOLoop->stream($id), 'connection timed out';
+# Request timeout with keep-alive
+$ua->request_timeout(3600);
+ok !$ua->get('/')->error, 'priming the keep-alive connection';
+$ua->request_timeout(0.01);
+$tx = $ua->get('/timeout?timeout=5');
+is $tx->error->{message}, 'Request timeout', 'right error message';
+is $tx->error->{code}, undef, 'no status';
+$ua->request_timeout(0);
+
# Response exceeding message size limit
$ua->once(
start => sub {
1
0
Hello community,
here is the log from the commit of package spectre-meltdown-checker for openSUSE:Factory checked in at 2019-05-25 13:20:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/spectre-meltdown-checker (Old)
and /work/SRC/openSUSE:Factory/.spectre-meltdown-checker.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spectre-meltdown-checker"
Sat May 25 13:20:45 2019 rev:6 rq:705188 version:0.41
Changes:
--------
--- /work/SRC/openSUSE:Factory/spectre-meltdown-checker/spectre-meltdown-checker.changes 2019-05-16 22:09:53.190291022 +0200
+++ /work/SRC/openSUSE:Factory/.spectre-meltdown-checker.new.5148/spectre-meltdown-checker.changes 2019-05-25 13:20:47.572324113 +0200
@@ -1,0 +2,5 @@
+Fri May 24 08:29:21 UTC 2019 - Marcus Meissner <meissner(a)suse.com>
+
+- noarch does not work on older distros, removed
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ spectre-meltdown-checker.spec ++++++
--- /var/tmp/diff_new_pack.7HgqJM/_old 2019-05-25 13:20:48.520323761 +0200
+++ /var/tmp/diff_new_pack.7HgqJM/_new 2019-05-25 13:20:48.520323761 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -22,7 +22,6 @@
Summary: Spectre & Meltdown Vulnerability Checker
License: GPL-3.0-only
Group: Productivity/Security
-BuildArch: noarch
Url: https://github.com/speed47/spectre-meltdown-checker
Source: https://github.com/speed47/spectre-meltdown-checker/archive/v%version.tar.gz
ExclusiveArch: %ix86 x86_64
1
0
Hello community,
here is the log from the commit of package gcc7 for openSUSE:Factory checked in at 2019-05-25 13:20:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc7 (Old)
and /work/SRC/openSUSE:Factory/.gcc7.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc7"
Sat May 25 13:20:25 2019 rev:23 rq:704756 version:7.4.1+r270528
Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc7/cross-aarch64-gcc7.changes 2019-04-28 19:57:35.995002025 +0200
+++ /work/SRC/openSUSE:Factory/.gcc7.new.5148/cross-aarch64-gcc7.changes 2019-05-25 13:20:31.624330043 +0200
@@ -1,0 +2,5 @@
+Wed May 22 12:56:05 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Strip -flto from $optflags.
+
+-------------------------------------------------------------------
cross-arm-gcc7.changes: same change
cross-arm-none-gcc7-bootstrap.changes: same change
cross-arm-none-gcc7.changes: same change
cross-avr-gcc7-bootstrap.changes: same change
cross-avr-gcc7.changes: same change
cross-epiphany-gcc7-bootstrap.changes: same change
cross-epiphany-gcc7.changes: same change
cross-hppa-gcc7.changes: same change
cross-i386-gcc7.changes: same change
cross-m68k-gcc7.changes: same change
cross-mips-gcc7.changes: same change
cross-nvptx-gcc7.changes: same change
cross-ppc64-gcc7.changes: same change
cross-ppc64le-gcc7.changes: same change
cross-rx-gcc7-bootstrap.changes: same change
cross-rx-gcc7.changes: same change
cross-s390x-gcc7.changes: same change
cross-sparc-gcc7.changes: same change
cross-sparc64-gcc7.changes: same change
cross-x86_64-gcc7.changes: same change
gcc7-testresults.changes: same change
gcc7.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-aarch64-gcc7.spec ++++++
--- /var/tmp/diff_new_pack.20VIEn/_old 2019-05-25 13:20:40.488326747 +0200
+++ /var/tmp/diff_new_pack.20VIEn/_new 2019-05-25 13:20:40.492326746 +0200
@@ -276,6 +276,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
cross-arm-gcc7.spec: same change
cross-arm-none-gcc7-bootstrap.spec: same change
cross-arm-none-gcc7.spec: same change
cross-avr-gcc7-bootstrap.spec: same change
cross-avr-gcc7.spec: same change
cross-epiphany-gcc7-bootstrap.spec: same change
cross-epiphany-gcc7.spec: same change
cross-hppa-gcc7.spec: same change
cross-i386-gcc7.spec: same change
cross-m68k-gcc7.spec: same change
cross-mips-gcc7.spec: same change
cross-nvptx-gcc7.spec: same change
cross-ppc64-gcc7.spec: same change
cross-ppc64le-gcc7.spec: same change
cross-rx-gcc7-bootstrap.spec: same change
cross-rx-gcc7.spec: same change
cross-s390x-gcc7.spec: same change
cross-sparc-gcc7.spec: same change
cross-sparc64-gcc7.spec: same change
cross-x86_64-gcc7.spec: same change
gcc7-testresults.spec: same change
gcc7.spec: same change
++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.20VIEn/_old 2019-05-25 13:20:41.280326453 +0200
+++ /var/tmp/diff_new_pack.20VIEn/_new 2019-05-25 13:20:41.280326453 +0200
@@ -1067,6 +1067,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
1
0
Hello community,
here is the log from the commit of package ceph for openSUSE:Factory checked in at 2019-05-25 13:20:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ceph (Old)
and /work/SRC/openSUSE:Factory/.ceph.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ceph"
Sat May 25 13:20:18 2019 rev:44 rq:704486 version:14.2.1.448+g1bd10a856f
Changes:
--------
--- /work/SRC/openSUSE:Factory/ceph/ceph-test.changes 2019-05-21 10:22:27.859598633 +0200
+++ /work/SRC/openSUSE:Factory/.ceph.new.5148/ceph-test.changes 2019-05-25 13:20:21.208333916 +0200
@@ -1,0 +2,19 @@
+Tue May 21 13:46:52 UTC 2019 - Nathan Cutler <ncutler(a)suse.com>
+
+- Update to 14.2.1-448-g1bd10a856f:
+ + monitoring: update Grafana dashboards
+ + mgr/dashboard: fix some performance data are not displayed
+ + monitoring: SNMP OID per every Prometheus alert rule
+ + mgr/dashboard: Validate if any client belongs to more than one group
+ + mgr/dashboard: Admin resource not honored
+ + mgr/dashboard: Unable to see tcmu-runner perf counters
+ + mgr/dashboard: iSCSI form does not support IPv6
+
+-------------------------------------------------------------------
+Mon May 20 15:28:49 UTC 2019 - Nathan Cutler <ncutler(a)suse.com>
+
+- Update to 14.2.1-440-g0ac6920288:
+ + rebase on top of upstream nautilus branch, SHA1 1dc43a036fcc0121e3a0c1fe7ca6cd77cde1bf60
+ + client: fix vxattr nanosecond field padding (bsc#1135219, bsc#1135221)
+
+-------------------------------------------------------------------
ceph.changes: same change
Old:
----
ceph-14.2.1-431-gd032e5dd80.tar.bz2
New:
----
ceph-14.2.1-448-g1bd10a856f.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ceph-test.spec ++++++
--- /var/tmp/diff_new_pack.SVHhjg/_old 2019-05-25 13:20:24.040332863 +0200
+++ /var/tmp/diff_new_pack.SVHhjg/_new 2019-05-25 13:20:24.044332862 +0200
@@ -100,7 +100,7 @@
# main package definition
#################################################################################
Name: ceph-test
-Version: 14.2.1.431+gd032e5dd80
+Version: 14.2.1.448+g1bd10a856f
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@@ -116,7 +116,7 @@
Group: System/Filesystems
%endif
URL: http://ceph.com/
-Source0: %{?_remote_tarball_prefix}ceph-14.2.1-431-gd032e5dd80.tar.bz2
+Source0: %{?_remote_tarball_prefix}ceph-14.2.1-448-g1bd10a856f.tar.bz2
%if 0%{?suse_version}
Source96: checkin.sh
Source97: README-checkin.txt
@@ -499,7 +499,7 @@
%if 0%{?suse_version}
%endif
%prep
-%autosetup -p1 -n ceph-14.2.1-431-gd032e5dd80
+%autosetup -p1 -n ceph-14.2.1-448-g1bd10a856f
%build
++++++ ceph.spec ++++++
--- /var/tmp/diff_new_pack.SVHhjg/_old 2019-05-25 13:20:24.064332854 +0200
+++ /var/tmp/diff_new_pack.SVHhjg/_new 2019-05-25 13:20:24.064332854 +0200
@@ -100,7 +100,7 @@
# main package definition
#################################################################################
Name: ceph
-Version: 14.2.1.431+gd032e5dd80
+Version: 14.2.1.448+g1bd10a856f
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@@ -116,7 +116,7 @@
Group: System/Filesystems
%endif
URL: http://ceph.com/
-Source0: %{?_remote_tarball_prefix}ceph-14.2.1-431-gd032e5dd80.tar.bz2
+Source0: %{?_remote_tarball_prefix}ceph-14.2.1-448-g1bd10a856f.tar.bz2
%if 0%{?suse_version}
# _insert_obs_source_lines_here
ExclusiveArch: x86_64 aarch64 ppc64le s390x
@@ -1068,7 +1068,7 @@
# common
#################################################################################
%prep
-%autosetup -p1 -n ceph-14.2.1-431-gd032e5dd80
+%autosetup -p1 -n ceph-14.2.1-448-g1bd10a856f
%build
++++++ ceph-14.2.1-431-gd032e5dd80.tar.bz2 -> ceph-14.2.1-448-g1bd10a856f.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/ceph/ceph-14.2.1-431-gd032e5dd80.tar.bz2 /work/SRC/openSUSE:Factory/.ceph.new.5148/ceph-14.2.1-448-g1bd10a856f.tar.bz2 differ: char 11, line 1
1
0
Hello community,
here is the log from the commit of package gcc9 for openSUSE:Factory checked in at 2019-05-25 13:20:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc9 (Old)
and /work/SRC/openSUSE:Factory/.gcc9.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc9"
Sat May 25 13:20:01 2019 rev:2 rq:704170 version:9.1.1+r271393
Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc9/cross-aarch64-gcc9.changes 2019-05-10 08:59:24.505262173 +0200
+++ /work/SRC/openSUSE:Factory/.gcc9.new.5148/cross-aarch64-gcc9.changes 2019-05-25 13:20:05.584339726 +0200
@@ -1,0 +2,38 @@
+Mon May 20 07:50:43 UTC 2019 - rguenther(a)suse.com
+
+- Update to gcc-9-branch head (r271393).
+- Always use ISL for crosses like for native compilers.
+
+-------------------------------------------------------------------
+Fri May 10 07:16:15 UTC 2019 - rguenther(a)suse.com
+
+- Update to gcc-9-branch head (r271050).
+
+-------------------------------------------------------------------
+Fri May 3 12:53:11 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Strip -flto from $optflags as we use LTO bootstrap config.
+
+-------------------------------------------------------------------
+Fri May 3 08:27:32 UTC 2019 - rguenther(a)suse.com
+
+- Update to GCC 9.1.0 release.
+
+-------------------------------------------------------------------
+Thu May 2 14:22:43 UTC 2019 - rguenther(a)suse.com
+
+- Update to gcc-9-branch head (r270796).
+- Enable D for s390x.
+
+-------------------------------------------------------------------
+Wed May 1 07:33:25 UTC 2019 - Andreas Schwab <schwab(a)suse.de>
+
+- Enable D for aarch64 and riscv64
+
+-------------------------------------------------------------------
+Tue Apr 30 13:32:42 UTC 2019 - rguenther(a)suse.com
+
+- Update to gcc-9-branch head (r270689).
+ * GCC 9.1 RC2.
+
+-------------------------------------------------------------------
cross-arm-gcc9.changes: same change
cross-arm-none-gcc9-bootstrap.changes: same change
cross-arm-none-gcc9.changes: same change
cross-avr-gcc9-bootstrap.changes: same change
cross-avr-gcc9.changes: same change
cross-epiphany-gcc9-bootstrap.changes: same change
cross-epiphany-gcc9.changes: same change
cross-hppa-gcc9.changes: same change
cross-i386-gcc9.changes: same change
cross-m68k-gcc9.changes: same change
cross-mips-gcc9.changes: same change
cross-nvptx-gcc9.changes: same change
cross-ppc64-gcc9.changes: same change
cross-ppc64le-gcc9.changes: same change
cross-riscv64-elf-gcc9-bootstrap.changes: same change
cross-riscv64-elf-gcc9.changes: same change
cross-riscv64-gcc9.changes: same change
cross-rx-gcc9-bootstrap.changes: same change
cross-rx-gcc9.changes: same change
cross-s390x-gcc9.changes: same change
cross-sparc-gcc9.changes: same change
cross-sparc64-gcc9.changes: same change
cross-x86_64-gcc9.changes: same change
gcc9-testresults.changes: same change
gcc9.changes: same change
Old:
----
gcc-9.0.1+r270591.tar.xz
New:
----
gcc-9.1.1+r271393.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-aarch64-gcc9.spec ++++++
--- /var/tmp/diff_new_pack.TVQfyu/_old 2019-05-25 13:20:13.216336888 +0200
+++ /var/tmp/diff_new_pack.TVQfyu/_new 2019-05-25 13:20:13.220336886 +0200
@@ -121,10 +121,8 @@
%else
BuildRequires: texinfo
%endif
-BuildRequires: zlib-devel
-%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: isl-devel
-%endif
+BuildRequires: zlib-devel
%ifarch ia64
BuildRequires: libunwind-devel
%endif
@@ -175,7 +173,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
-Version: 9.0.1+r270591
+Version: 9.1.1+r271393
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@@ -276,6 +274,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
cross-arm-gcc9.spec: same change
cross-arm-none-gcc9-bootstrap.spec: same change
cross-arm-none-gcc9.spec: same change
cross-avr-gcc9-bootstrap.spec: same change
cross-avr-gcc9.spec: same change
cross-epiphany-gcc9-bootstrap.spec: same change
cross-epiphany-gcc9.spec: same change
cross-hppa-gcc9.spec: same change
cross-i386-gcc9.spec: same change
cross-m68k-gcc9.spec: same change
cross-mips-gcc9.spec: same change
cross-nvptx-gcc9.spec: same change
cross-ppc64-gcc9.spec: same change
cross-ppc64le-gcc9.spec: same change
cross-riscv64-elf-gcc9-bootstrap.spec: same change
cross-riscv64-elf-gcc9.spec: same change
cross-riscv64-gcc9.spec: same change
cross-rx-gcc9-bootstrap.spec: same change
cross-rx-gcc9.spec: same change
cross-s390x-gcc9.spec: same change
cross-sparc-gcc9.spec: same change
cross-sparc64-gcc9.spec: same change
cross-x86_64-gcc9.spec: same change
++++++ gcc9-testresults.spec ++++++
--- /var/tmp/diff_new_pack.TVQfyu/_old 2019-05-25 13:20:13.752336688 +0200
+++ /var/tmp/diff_new_pack.TVQfyu/_new 2019-05-25 13:20:13.752336688 +0200
@@ -70,7 +70,7 @@
%define build_objc 1
%define build_objcp 1
%define build_go 1
-%ifarch x86_64 %ix86 %arm
+%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
%define build_d 1
%else
%define build_d 0
@@ -260,7 +260,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
-Version: 9.0.1+r270591
+Version: 9.1.1+r271393
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@@ -448,6 +448,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
++++++ gcc9.spec ++++++
--- /var/tmp/diff_new_pack.TVQfyu/_old 2019-05-25 13:20:13.800336671 +0200
+++ /var/tmp/diff_new_pack.TVQfyu/_new 2019-05-25 13:20:13.820336663 +0200
@@ -52,7 +52,7 @@
%define build_objc 1
%define build_objcp 1
%define build_go 1
-%ifarch x86_64 %ix86 %arm
+%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
%define build_d 1
%else
%define build_d 0
@@ -242,7 +242,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
-Version: 9.0.1+r270591
+Version: 9.1.1+r271393
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@@ -1720,6 +1720,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
@@ -2556,10 +2557,6 @@
%endif
%if %{build_fortran}
%{libsubdir}/include/ISO_Fortran_binding.h
-%if %{separate_biarch}
-%dir %{versmainlibdirbi}/include
-%{versmainlibdirbi}/include/ISO_Fortran_binding.h
-%endif
%endif
%versmainlib *crt*.o
%versmainlib libgcc*.a
++++++ cross.spec.in ++++++
--- /var/tmp/diff_new_pack.TVQfyu/_old 2019-05-25 13:20:14.108336556 +0200
+++ /var/tmp/diff_new_pack.TVQfyu/_new 2019-05-25 13:20:14.112336555 +0200
@@ -101,9 +101,7 @@
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
-%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: isl-devel
-%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
++++++ gcc-9.0.1+r270591.tar.xz -> gcc-9.1.1+r271393.tar.xz ++++++
/work/SRC/openSUSE:Factory/gcc9/gcc-9.0.1+r270591.tar.xz /work/SRC/openSUSE:Factory/.gcc9.new.5148/gcc-9.1.1+r271393.tar.xz differ: char 26, line 1
++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.TVQfyu/_old 2019-05-25 13:20:14.164336535 +0200
+++ /var/tmp/diff_new_pack.TVQfyu/_new 2019-05-25 13:20:14.164336535 +0200
@@ -52,7 +52,7 @@
%define build_objc 1
%define build_objcp 1
%define build_go 1
-%ifarch x86_64 %ix86 %arm
+%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
%define build_d 1
%else
%define build_d 0
@@ -246,7 +246,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
-Version: 9.0.1+r270591
+Version: 9.1.1+r271393
Release: 1
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@@ -1041,6 +1041,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
@@ -1884,10 +1885,6 @@
%endif
%if %{build_fortran}
%{libsubdir}/include/ISO_Fortran_binding.h
-%if %{separate_biarch}
-%dir %{versmainlibdirbi}/include
-%{versmainlibdirbi}/include/ISO_Fortran_binding.h
-%endif
%endif
%versmainlib *crt*.o
%versmainlib libgcc*.a
1
0
Hello community,
here is the log from the commit of package curl for openSUSE:Factory checked in at 2019-05-25 13:19:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/curl (Old)
and /work/SRC/openSUSE:Factory/.curl.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "curl"
Sat May 25 13:19:57 2019 rev:146 rq:704820 version:7.65.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/curl/curl-mini.changes 2019-04-15 11:50:29.938488128 +0200
+++ /work/SRC/openSUSE:Factory/.curl.new.5148/curl-mini.changes 2019-05-25 13:19:59.252342080 +0200
@@ -1,0 +2,101 @@
+Wed May 22 11:41:49 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez(a)suse.com>
+
+- Update to 7.65.0 [bsc#1135176, CVE-2019-5435][bsc#1135170, CVE-2019-5436]
+ * Changes:
+ - CURLOPT_DNS_USE_GLOBAL_CACHE: removed
+ - CURLOPT_MAXAGE_CONN: set the maximum allowed age for conn reuse
+ - pipelining: removed
+ * Bugfixes:
+ - CVE-2019-5435: Integer overflows in curl_url_set
+ - CVE-2019-5436: tftp: use the current blksize for recvfrom()
+ - --config: clarify that initial : and = might need quoting
+ - CURLMOPT_TIMERFUNCTION.3: warn about the recursive risk
+ - CURLOPT_ADDRESS_SCOPE: fix range check and more
+ - CURLOPT_CHUNK_BGN_FUNCTION.3: document the struct and time value
+ - CURLOPT_READFUNCTION.3: see also CURLOPT_UPLOAD_BUFFERSIZE
+ - CURL_MAX_INPUT_LENGTH: largest acceptable string input size
+ - Curl_disconnect: treat all CONNECT_ONLY connections as "dead"
+ - OS400/ccsidcurl: replace use of Curl_vsetopt
+ - OpenSSL: Report -fips in version if OpenSSL is built with FIPS
+ - WRITEFUNCTION: add missing set_in_callback around callback
+ - altsvc: Fix building with cookies disabled
+ - auth: Rename the various authentication clean up functions
+ - base64: build conditionally if there are users
+ - cmake: avoid linking executable for some tests with cmake 3.6+
+ - cmake: clear CMAKE_REQUIRED_LIBRARIES after each use
+ - cmake: set SSL_BACKENDS
+ - configure: avoid unportable '==' test(1) operator
+ - configure: error out if OpenSSL wasn't detected when asked for
+ - configure: fix default location for fish completions
+ - cookie: Guard against possible NULL ptr deref
+ - curl: make code work with protocol-disabled libcurl
+ - curl: report error for "--no-" on non-boolean options
+ - curlver.h: use parenthesis in CURL_VERSION_BITS macro
+ - docs/INSTALL: fix broken link
+ - doh: acknowledge CURL_DISABLE_DOH
+ - doh: disable DOH for the cases it doesn't work
+ - examples: remove unused variables
+ - ftplistparser: fix LGTM alert "Empty block without comment"
+ - hostip: acknowledge CURL_DISABLE_SHUFFLE_DNS
+ - http: Ignore HTTP/2 prior knowledge setting for HTTP proxies
+ - http: acknowledge CURL_DISABLE_HTTP_AUTH
+ - http: mark bundle as not for multiuse on < HTTP/2 response
+ - http_digest: Don't expose functions when HTTP and Crypto Auth are disabled
+ - http_negotiate: do not treat failure of gss_init_sec_context() as fatal
+ - http_ntlm: Corrected the name of the include guard
+ - http_ntlm_wb: Handle auth for only a single request
+ - http_ntlm_wb: Return the correct error on receiving an empty auth message
+ - lib509: add missing include for strdup
+ - lib557: initialize variables
+ - mbedtls: enable use of EC keys
+ - mime: acknowledge CURL_DISABLE_MIME
+ - multi: improved HTTP_1_1_REQUIRED handling
+ - netrc: acknowledge CURL_DISABLE_NETRC
+ - nss: allow fifos and character devices for certificates
+ - nss: provide more specific error messages on failed init
+ - ntlm: Fix misaligned function comments for Curl_auth_ntlm_cleanup
+ - ntlm: Support the NT response in the type-3 when OpenSSL doesn't include MD4
+ - openssl: mark connection for close on TLS close_notify
+ - openvms: Remove pre-processor for SecureTransport
+ - parse_proxy: use the URL parser API
+ - parsedate: disabled on CURL_DISABLE_PARSEDATE
+ - pingpong: disable more when no pingpong protocols are enabled
+ - polarssl_threadlock: remove conditionally unused code
+ - progress: acknowledge CURL_DISABLE_PROGRESS_METER
+ - proxy: acknowledge DISABLE_PROXY more
+ - resolve: apply Happy Eyeballs philosophy to parallel c-ares queries
+ - revert "multi: support verbose conncache closure handle"
+ - sasl: Don't send authcid as authzid for the PLAIN mechanism as per RFC 4616
+ - sasl: only enable if there's a protocol enabled using it
+ - singleipconnect: show port in the verbose "Trying ..." message
+ - socks5: user name and passwords must be shorter than 256
+ - socks: fix error message
+ - socksd: new SOCKS 4+5 server for tests
+ - spnego_gssapi: fix return code on gss_init_sec_context() failure
+ - ssh-libssh: remove unused variable
+ - ssh: define USE_SSH if SSH is enabled (any backend)
+ - ssh: move variable declaration to where it's used
+ - test1002: correct the name
+ - test2100: Fix typos in test description
+ - tests: Run global cleanup at end of tests
+ - tests: make Impacket (SMB server) Python 3 compatible
+ - tool_cb_wrt: fix bad-function-cast warning
+ - tool_formparse: remove redundant assignment
+ - tool_help: Warn if curl and libcurl versions do not match
+ - tool_help: include for strcasecmp
+ - url: always clone the CUROPT_CURLU handle
+ - url: convert the zone id from a IPv6 URL to correct scope id
+ - urlapi: add CURLUPART_ZONEID to set and get
+ - urlapi: increase supported scheme length to 40 bytes
+ - urlapi: require a non-zero host name length when parsing URL
+ - urlapi: stricter CURLUPART_PORT parsing
+ - urlapi: strip off zone id from numerical IPv6 addresses
+ - urlapi: urlencode characters above 0x7f correctly
+ - vauth/cleartext: update the PLAIN login to match RFC 4616
+ - vauth/oauth2: Fix OAUTHBEARER token generation
+ - vauth: Fix incorrect function description for Curl_auth_user_contains_domain
+ - vtls: fix potential ssl_buffer stack overflow
+ - wildcard: disable from build when FTP isn't present
+ - xattr: skip unittest on unsupported platforms
+
+-------------------------------------------------------------------
curl.changes: same change
Old:
----
curl-7.64.1.tar.xz
curl-7.64.1.tar.xz.asc
New:
----
curl-7.65.0.tar.xz
curl-7.65.0.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ curl-mini.spec ++++++
--- /var/tmp/diff_new_pack.KCSZY6/_old 2019-05-25 13:20:00.516341610 +0200
+++ /var/tmp/diff_new_pack.KCSZY6/_new 2019-05-25 13:20:00.528341606 +0200
@@ -29,7 +29,7 @@
# need ssl always for python-pycurl
%bcond_without openssl
Name: curl-mini
-Version: 7.64.1
+Version: 7.65.0
Release: 0
Summary: A Tool for Transferring Data from URLs
License: curl
@@ -204,15 +204,15 @@
%files
%doc README RELEASE-NOTES
-%doc docs/{BUGS,FAQ,FEATURES,MANUAL,RESOURCES,TODO,TheArtOfHttpScripting}
+%doc docs/{BUGS,FAQ,FEATURES,RESOURCES,TODO,TheArtOfHttpScripting}
%{_bindir}/curl
%{_datadir}/zsh/site-functions/_curl
%{_mandir}/man1/curl.1%{ext_man}
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%dir %{_datadir}/fish/
-%dir %{_datadir}/fish/completions/
-%{_datadir}/fish/completions/curl.fish
+%dir %{_datadir}/fish/vendor_completions.d/
+%{_datadir}/fish/vendor_completions.d/curl.fish
%files -n libcurl4%{?mini}
%license COPYING
++++++ curl.spec ++++++
--- /var/tmp/diff_new_pack.KCSZY6/_old 2019-05-25 13:20:00.656341558 +0200
+++ /var/tmp/diff_new_pack.KCSZY6/_new 2019-05-25 13:20:00.676341550 +0200
@@ -27,7 +27,7 @@
# need ssl always for python-pycurl
%bcond_without openssl
Name: curl
-Version: 7.64.1
+Version: 7.65.0
Release: 0
Summary: A Tool for Transferring Data from URLs
License: curl
@@ -202,15 +202,15 @@
%files
%doc README RELEASE-NOTES
-%doc docs/{BUGS,FAQ,FEATURES,MANUAL,RESOURCES,TODO,TheArtOfHttpScripting}
+%doc docs/{BUGS,FAQ,FEATURES,RESOURCES,TODO,TheArtOfHttpScripting}
%{_bindir}/curl
%{_datadir}/zsh/site-functions/_curl
%{_mandir}/man1/curl.1%{ext_man}
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%dir %{_datadir}/fish/
-%dir %{_datadir}/fish/completions/
-%{_datadir}/fish/completions/curl.fish
+%dir %{_datadir}/fish/vendor_completions.d/
+%{_datadir}/fish/vendor_completions.d/curl.fish
%files -n libcurl4%{?mini}
%license COPYING
++++++ curl-7.64.1.tar.xz -> curl-7.65.0.tar.xz ++++++
++++ 44636 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package acpica for openSUSE:Factory checked in at 2019-05-25 13:19:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/acpica (Old)
and /work/SRC/openSUSE:Factory/.acpica.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "acpica"
Sat May 25 13:19:14 2019 rev:59 rq:704812 version:20190509
Changes:
--------
--- /work/SRC/openSUSE:Factory/acpica/acpica.changes 2019-04-12 09:11:05.225586137 +0200
+++ /work/SRC/openSUSE:Factory/.acpica.new.5148/acpica.changes 2019-05-25 13:19:19.144356993 +0200
@@ -1,0 +2,7 @@
+Wed May 22 09:29:13 UTC 2019 - trenn(a)suse.de
+
+- Update to version 20190509
+ Includes a fix that breaks VirtualBox
+ https://github.com/acpica/acpica/issues/462
+
+-------------------------------------------------------------------
Old:
----
acpica-unix-20190405.tar.gz
New:
----
acpica-unix-20190509.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ acpica.spec ++++++
--- /var/tmp/diff_new_pack.fHGpE1/_old 2019-05-25 13:19:20.840356362 +0200
+++ /var/tmp/diff_new_pack.fHGpE1/_new 2019-05-25 13:19:20.840356362 +0200
@@ -20,7 +20,7 @@
%define kver %(rpm -q --qf '%%{VERSION}' kernel-source)
%define dmp_ver %{kver}
Name: acpica
-Version: 20190405
+Version: 20190509
Release: 0
Summary: This is a set of tools to display and debug your BIOS ACPI tables
License: GPL-2.0-only
++++++ acpica-unix-20190405.tar.gz -> acpica-unix-20190509.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/changes.txt new/acpica-unix-20190509/changes.txt
--- old/acpica-unix-20190405/changes.txt 2019-04-05 17:12:57.000000000 +0200
+++ new/acpica-unix-20190509/changes.txt 2019-05-10 00:04:14.000000000 +0200
@@ -1,4 +1,91 @@
----------------------------------------
+09 May 2019. Summary of changes for version 20190509:
+
+
+1) ACPICA kernel-resident subsystem:
+
+Revert commit 6c43e1a ("ACPICA: Clear status of GPEs before enabling
+them") that causes problems with Thunderbolt controllers to occur if a
+dock device is connected at init time (the xhci_hcd and thunderbolt
+modules crash which prevents peripherals connected through them from
+working). Commit 6c43e1a effectively causes commit ecc1165b8b74 ("ACPICA:
+Dispatch active GPEs at init time") to get undone, so the problem
+addressed by commit ecc1165b8b74 appears again as a result of it.
+
+
+2) iASL Compiler/Disassembler and ACPICA tools:
+
+Reverted iASL: Additional forward reference detection. This change
+reverts forward reference detection for field declarations. The feature
+unintentionally emitted AML bytecode with incorrect package lengths for
+some ASL code related to Fields and OperationRegions. This malformed AML
+can cause systems to crash
+during boot. The malformed AML bytecode is emitted in iASL version
+20190329 and 20190405.
+
+iASL: improve forward reference detection. This change improves forward
+reference detection for named objects inside of scopes. If a parse object
+has the OP_NOT_FOUND_DURING_LOAD set, it means that Op is a reference to
+a named object that is declared later in the AML bytecode. This is
+allowed if the reference is inside of a method and the declaration is
+outside of a method like so:
+
+DefinitionBlock(...)
+{
+ Method (TEST)
+ {
+ Return (NUM0)
+ }
+ Name (NUM0,0)
+}
+
+However, if the declaration and reference are both in the same method or
+outside any methods, this is a forward reference and should be marked as
+an error because it would result in runtime errors.
+
+DefinitionBlock(...)
+{
+ Name (BUFF, Buffer (NUM0) {}) // Forward reference
+ Name (NUM0, 0x0)
+
+ Method (TEST)
+ {
+ Local0 = NUM1
+ Name (NUM1, 0x1) // Forward reference
+ return (Local0)
+ }
+}
+
+iASL: Implemented additional buffer overflow analysis for BufferField
+declarations. Check if a buffer index argument to a create buffer field
+operation is beyond the end of the target buffer.
+
+This affects these AML operators:
+
+ AML_CREATE_FIELD_OP
+ AML_CREATE_BIT_FIELD_OP
+ AML_CREATE_BYTE_FIELD_OP
+ AML_CREATE_WORD_FIELD_OP
+ AML_CREATE_DWORD_FIELD_OP
+ AML_CREATE_QWORD_FIELD_OP
+
+ There are three conditions that must be satisfied in order to allow this
+validation at compile time:
+
+ 1) The length of the target buffer must be an integer constant
+ 2) The index specified in the create* must be an integer constant
+ 3) For CreateField, the bit length argument must be non-zero.
+
+Example:
+ Name (BUF1, Buffer() {1,2})
+ CreateField (BUF1, 7, 9, CF03) // 3: ERR
+
+dsdt.asl 14: CreateField (BUF1, 7, 9, CF03) // 3: ERR
+Error 6165 - ^ Buffer index beyond end of
+target buffer
+
+
+----------------------------------------
05 April 2019. Summary of changes for version 20190405:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslcodegen.c new/acpica-unix-20190509/source/compiler/aslcodegen.c
--- old/acpica-unix-20190405/source/compiler/aslcodegen.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslcodegen.c 2019-05-10 00:04:15.000000000 +0200
@@ -690,7 +690,8 @@
{
if (FlReadFile (ASL_FILE_AML_OUTPUT, &FileByte, 1) != AE_OK)
{
- printf ("EOF while reading checksum bytes\n");
+ AslError (ASL_ERROR, ASL_MSG_COMPILER_INTERNAL, NULL,
+ "Table length is greater than size of the input file");
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslcompile.c new/acpica-unix-20190509/source/compiler/aslcompile.c
--- old/acpica-unix-20190405/source/compiler/aslcompile.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslcompile.c 2019-05-10 00:04:15.000000000 +0200
@@ -224,7 +224,6 @@
if (AslGbl_PreprocessOnly)
{
UtEndEvent (Event);
- CmCleanupAndExit ();
return (AE_OK);
}
}
@@ -919,7 +918,7 @@
* We will delete the AML file if there are errors and the
* force AML output option has not been used.
*/
- if (AslGbl_ParserErrorDetected || ((AslGbl_ExceptionCount[ASL_ERROR] > 0) &&
+ if (AslGbl_ParserErrorDetected || AslGbl_PreprocessOnly || ((AslGbl_ExceptionCount[ASL_ERROR] > 0) &&
(!AslGbl_IgnoreErrors) &&
AslGbl_Files[ASL_FILE_AML_OUTPUT].Handle))
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslcompiler.h new/acpica-unix-20190509/source/compiler/aslcompiler.h
--- old/acpica-unix-20190405/source/compiler/aslcompiler.h 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslcompiler.h 2019-05-10 00:04:15.000000000 +0200
@@ -1105,10 +1105,6 @@
FlGetCurrentFileNode (
void);
-BOOLEAN
-FlInputFileExists (
- char *InputFilename);
-
/*
* aslhwmap - hardware map summary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslerror.c new/acpica-unix-20190509/source/compiler/aslerror.c
--- old/acpica-unix-20190405/source/compiler/aslerror.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslerror.c 2019-05-10 00:04:15.000000000 +0200
@@ -869,16 +869,8 @@
return;
}
- if (!FlInputFileExists (Filename))
- {
- /*
- * This means that this file is an include file. Record the .src
- * file as the error message source because this file is not in
- * the global file list.
- */
- Enode->SourceFilename =
- FileNode->Files[ASL_FILE_SOURCE_OUTPUT].Filename;
- }
+ Enode->SourceFilename =
+ FileNode->Files[ASL_FILE_SOURCE_OUTPUT].Filename;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslfiles.c new/acpica-unix-20190509/source/compiler/aslfiles.c
--- old/acpica-unix-20190405/source/compiler/aslfiles.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslfiles.c 2019-05-10 00:04:15.000000000 +0200
@@ -163,6 +163,10 @@
ACPI_PARSE_OBJECT *Op,
char *Filename);
+static BOOLEAN
+FlInputFileExists (
+ char *InputFilename);
+
#ifdef ACPI_OBSOLETE_FUNCTIONS
ACPI_STATUS
FlParseInputPathname (
@@ -250,7 +254,7 @@
*
******************************************************************************/
-BOOLEAN
+static BOOLEAN
FlInputFileExists (
char *Filename)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslload.c new/acpica-unix-20190509/source/compiler/aslload.c
--- old/acpica-unix-20190405/source/compiler/aslload.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslload.c 2019-05-10 00:04:15.000000000 +0200
@@ -263,10 +263,29 @@
ACPI_WALK_STATE *WalkState)
{
ACPI_PARSE_OBJECT *Child = NULL;
+ ACPI_PARSE_OBJECT *SourceRegion;
ACPI_NAMESPACE_NODE *Node;
ACPI_STATUS Status;
+
+ SourceRegion = UtGetArg (Op, 0);
+ if (SourceRegion)
+ {
+ Status = AcpiNsLookup (WalkState->ScopeInfo,
+ SourceRegion->Asl.Value.String,
+ ACPI_TYPE_REGION, ACPI_IMODE_EXECUTE,
+ ACPI_NS_DONT_OPEN_SCOPE, NULL, &Node);
+ if (Status == AE_NOT_FOUND)
+ {
+ /*
+ * If the named object is not found, it means that it is either a
+ * forward reference or the named object does not exist.
+ */
+ SourceRegion->Asl.CompileFlags |= OP_NOT_FOUND_DURING_LOAD;
+ }
+ }
+
/* Get the first named field element */
switch (Op->Asl.AmlOpcode)
@@ -493,7 +512,7 @@
case AML_FIELD_OP:
Status = LdLoadFieldElements (Op, WalkState);
- break;
+ return (Status);
case AML_INT_CONNECTION_OP:
@@ -557,8 +576,7 @@
* We only want references to named objects:
* Store (2, WXYZ) -> Attempt to resolve the name
*/
- if ((OpInfo->Class == AML_CLASS_NAMED_OBJECT) &&
- (OpInfo->Type != AML_TYPE_NAMED_FIELD))
+ if (OpInfo->Class == AML_CLASS_NAMED_OBJECT)
{
return (AE_OK);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslmain.c new/acpica-unix-20190509/source/compiler/aslmain.c
--- old/acpica-unix-20190405/source/compiler/aslmain.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslmain.c 2019-05-10 00:04:15.000000000 +0200
@@ -291,7 +291,8 @@
/*
* At this point, compilation of a data table or disassembly is complete.
*/
- if (AslGbl_FileType == ASL_INPUT_TYPE_ASCII_DATA || AcpiGbl_DisasmFlag)
+ if (AslGbl_PreprocessOnly || AcpiGbl_DisasmFlag ||
+ AslGbl_FileType == ASL_INPUT_TYPE_ASCII_DATA)
{
goto CleanupAndExit;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslmessages.c new/acpica-unix-20190509/source/compiler/aslmessages.c
--- old/acpica-unix-20190405/source/compiler/aslmessages.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslmessages.c 2019-05-10 00:04:15.000000000 +0200
@@ -283,7 +283,7 @@
/* ASL_MSG_NO_RETVAL */ "Called method returns no value",
/* ASL_MSG_NO_WHILE */ "No enclosing While statement",
/* ASL_MSG_NON_ASCII */ "Invalid characters found in file",
-/* ASL_MSG_NON_ZERO */ "Operand evaluates to zero",
+/* ASL_MSG_BUFFER_FIELD_LENGTH */ "Field length must be non-zero",
/* ASL_MSG_NOT_EXIST */ "Object does not exist",
/* ASL_MSG_NOT_FOUND */ "Object not found or not accessible from current scope",
/* ASL_MSG_NOT_METHOD */ "Not a control method, cannot invoke",
@@ -342,7 +342,7 @@
/* ASL_MSG_RANGE */ "Constant out of range",
/* ASL_MSG_BUFFER_ALLOCATION */ "Could not allocate line buffer",
/* ASL_MSG_MISSING_DEPENDENCY */ "Missing dependency",
-/* ASL_MSG_ILLEGAL_FORWARD_REF */ "Forward references are not supported by the ASL language",
+/* ASL_MSG_ILLEGAL_FORWARD_REF */ "Illegal forward reference",
/* ASL_MSG_ILLEGAL_METHOD_REF */ "Object is declared in a different method",
/* ASL_MSG_LOCAL_NOT_USED */ "Method Local is set but never used",
/* ASL_MSG_ARG_AS_LOCAL_NOT_USED */ "Method Argument (as a local) is set but never used",
@@ -364,7 +364,8 @@
/* ASL_MSG_NAMEPATH_NOT_EXIST */ "One or more objects within the Pathname do not exist",
/* ASL_MSG_REGION_LENGTH */ "Operation Region declared with zero length",
/* ASL_MSG_TEMPORARY_OBJECT */ "Object is created temporarily in another method and cannot be accessed",
-/* ASL_MSG_UNDEFINED_EXTERNAL */ "Named object was declared external but the actual definition does not exist"
+/* ASL_MSG_UNDEFINED_EXTERNAL */ "Named object was declared external but the actual definition does not exist",
+/* ASL_MSG_BUFFER_FIELD_OVERFLOW */ "Buffer field extends beyond end of target buffer"
};
/* Table compiler */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslmessages.h new/acpica-unix-20190509/source/compiler/aslmessages.h
--- old/acpica-unix-20190405/source/compiler/aslmessages.h 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslmessages.h 2019-05-10 00:04:15.000000000 +0200
@@ -285,7 +285,7 @@
ASL_MSG_NO_RETVAL,
ASL_MSG_NO_WHILE,
ASL_MSG_NON_ASCII,
- ASL_MSG_NON_ZERO,
+ ASL_MSG_BUFFER_FIELD_LENGTH,
ASL_MSG_NOT_EXIST,
ASL_MSG_NOT_FOUND,
ASL_MSG_NOT_METHOD,
@@ -367,6 +367,7 @@
ASL_MSG_REGION_LENGTH,
ASL_MSG_TEMPORARY_OBJECT,
ASL_MSG_UNDEFINED_EXTERNAL,
+ ASL_MSG_BUFFER_FIELD_OVERFLOW,
/* These messages are used by the Data Table compiler only */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/asloperands.c new/acpica-unix-20190509/source/compiler/asloperands.c
--- old/acpica-unix-20190405/source/compiler/asloperands.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/asloperands.c 2019-05-10 00:04:15.000000000 +0200
@@ -819,6 +819,7 @@
BufferLengthOp->Asl.Value.Integer = BufferLength;
(void) OpcSetOptimalIntegerSize (BufferLengthOp);
+ UtSetParseOpName (BufferLengthOp);
/* Remaining nodes are handled via the tree walk */
}
@@ -905,6 +906,7 @@
*/
Op->Asl.Child->Asl.ParseOpcode = PARSEOP_INTEGER;
Op->Asl.Child->Asl.Value.Integer = PackageLength;
+ UtSetParseOpName (Op);
/* Set the AML opcode */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslstartup.c new/acpica-unix-20190509/source/compiler/aslstartup.c
--- old/acpica-unix-20190405/source/compiler/aslstartup.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslstartup.c 2019-05-10 00:04:15.000000000 +0200
@@ -550,14 +550,10 @@
Status = CmDoCompile ();
if (ACPI_FAILURE (Status))
{
+ PrTerminatePreprocessor ();
return (Status);
}
- /* Cleanup (for next source file) and exit */
-
- AeClearErrorLog ();
- PrTerminatePreprocessor ();
-
/*
* At this point, we know how many lines are in the input file. Save it
* to display for post-compilation summary.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslutils.c new/acpica-unix-20190509/source/compiler/aslutils.c
--- old/acpica-unix-20190405/source/compiler/aslutils.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslutils.c 2019-05-10 00:04:15.000000000 +0200
@@ -541,8 +541,14 @@
{
UINT32 i;
ASL_GLOBAL_FILE_NODE *FileNode;
+ BOOLEAN DisplayAMLSummary;
+ DisplayAMLSummary =
+ !AslGbl_PreprocessOnly && !AslGbl_ParserErrorDetected &&
+ ((AslGbl_ExceptionCount[ASL_ERROR] == 0) || AslGbl_IgnoreErrors) &&
+ AslGbl_Files[ASL_FILE_AML_OUTPUT].Handle;
+
if (FileId != ASL_FILE_STDOUT)
{
/* Compiler name and version number */
@@ -595,9 +601,7 @@
/* AML summary */
- if (!AslGbl_ParserErrorDetected &&
- ((AslGbl_ExceptionCount[ASL_ERROR] == 0) || AslGbl_IgnoreErrors) &&
- AslGbl_Files[ASL_FILE_AML_OUTPUT].Handle)
+ if (DisplayAMLSummary)
{
FlPrintFile (FileId,
"%-14s %s - %7u bytes %6u opcodes %6u named objects\n",
@@ -633,7 +637,7 @@
continue;
}
- FlPrintFile (FileId, "%14s %s - %u bytes\n",
+ FlPrintFile (FileId, "%-14s %s - %7u bytes\n",
AslGbl_FileDescs[i].ShortDescription,
AslGbl_Files[i].Filename, FlGetFileSize (i));
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslwalks.c new/acpica-unix-20190509/source/compiler/aslwalks.c
--- old/acpica-unix-20190405/source/compiler/aslwalks.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslwalks.c 2019-05-10 00:04:15.000000000 +0200
@@ -165,6 +165,14 @@
AnAnalyzeStoreOperator (
ACPI_PARSE_OBJECT *Op);
+static BOOLEAN
+AnIsValidBufferConstant (
+ ACPI_PARSE_OBJECT *Op);
+
+static void
+AnValidateCreateBufferField (
+ ACPI_PARSE_OBJECT *CreateBufferFieldOp);
+
/*******************************************************************************
*
@@ -669,6 +677,14 @@
OpInfo = AcpiPsGetOpcodeInfo (Op->Asl.AmlOpcode);
+ if (OpInfo->Flags & AML_CREATE)
+ {
+ /* This group contains all of the Create Buffer Field operators */
+
+ AnValidateCreateBufferField (Op);
+ return (AE_OK);
+ }
+
/*
* Determine if an execution class operator actually does something by
* checking if it has a target and/or the function return value is used.
@@ -734,10 +750,10 @@
}
}
-
/*
* Semantic checks for individual ASL operators
*/
+
switch (Op->Asl.ParseOpcode)
{
case PARSEOP_STORE:
@@ -785,22 +801,6 @@
}
break;
- case PARSEOP_CREATEFIELD:
- /*
- * Check for a zero Length (NumBits) operand. NumBits is the 3rd operand
- */
- ArgOp = Op->Asl.Child;
- ArgOp = ArgOp->Asl.Next;
- ArgOp = ArgOp->Asl.Next;
-
- if ((ArgOp->Asl.ParseOpcode == PARSEOP_ZERO) ||
- ((ArgOp->Asl.ParseOpcode == PARSEOP_INTEGER) &&
- (ArgOp->Asl.Value.Integer == 0)))
- {
- AslError (ASL_ERROR, ASL_MSG_NON_ZERO, ArgOp, NULL);
- }
- break;
-
case PARSEOP_CONNECTION:
/*
* Ensure that the referenced operation region has the correct SPACE_ID.
@@ -886,6 +886,194 @@
}
+/*******************************************************************************
+ *
+ * FUNCTION: AnValidateCreateBufferField
+ *
+ * PARAMETERS: Op - A create buffer field operator
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Check if a buffer index argument to a create buffer field
+ * operation is beyond the end of the target buffer.
+ *
+ * Validates these AML operators:
+ *
+ * AML_CREATE_FIELD_OP
+ * AML_CREATE_BIT_FIELD_OP
+ * AML_CREATE_BYTE_FIELD_OP
+ * AML_CREATE_WORD_FIELD_OP
+ * AML_CREATE_DWORD_FIELD_OP
+ * AML_CREATE_QWORD_FIELD_OP
+ *
+ * There are two conditions that must be satisfied in order to enable
+ * validation at compile time:
+ *
+ * 1) The length of the target buffer must be an integer constant
+ * 2) The index specified in the create* must be an integer constant
+ * 3) For CreateField, the bit length argument must be non-zero.
+ *
+ ******************************************************************************/
+
+static void
+AnValidateCreateBufferField (
+ ACPI_PARSE_OBJECT *CreateBufferFieldOp)
+{
+ ACPI_PARSE_OBJECT *TargetBufferOp;
+ ACPI_PARSE_OBJECT *ArgOp;
+ UINT32 TargetBufferLength;
+ UINT32 LastFieldByteIndex;
+
+
+ /*
+ * 1) Get the length of the target buffer
+ */
+ ArgOp = CreateBufferFieldOp->Asl.Child; /* Reference to target buffer */
+
+ /*
+ * If no attached Node, the target buffer may be something like an
+ * ArgX or LocalX and cannot be evaluated at compile time.
+ */
+ if (!ArgOp->Asl.Node)
+ {
+ return;
+ }
+
+ TargetBufferOp = ArgOp->Asl.Node->Op;
+ TargetBufferOp = TargetBufferOp->Asl.Child; /* Target buffer */
+ TargetBufferOp = TargetBufferOp->Asl.Next; /* "Buffer" keyword */
+ if (!TargetBufferOp)
+ {
+ /* Not a statement of the form NAME(XXXX, Buffer.... */
+
+ return;
+ }
+
+ /* Get the buffer length argument. It must be an integer constant */
+
+ ArgOp = TargetBufferOp->Asl.Child;
+ if (!AnIsValidBufferConstant (ArgOp))
+ {
+ return;
+ }
+
+ TargetBufferLength = (UINT32) ArgOp->Asl.Value.Integer;
+
+ /*
+ * 2) Get the value of the buffer index argument. It must be
+ * an integer constant.
+ */
+ ArgOp = CreateBufferFieldOp->Asl.Child; /* Reference to target buffer */
+ ArgOp = ArgOp->Asl.Next; /* Buffer Index argument*/
+ if (!AnIsValidBufferConstant (ArgOp))
+ {
+ return;
+ }
+
+ LastFieldByteIndex =
+ (UINT32) ArgOp->Asl.Value.Integer; /* Index can be in either bytes or bits */
+
+ /*
+ * 3) Get the length of the new buffer field, in bytes. Also,
+ * create the final target buffer index for the last byte of the field
+ */
+ switch (CreateBufferFieldOp->Asl.ParseOpcode)
+ {
+ case PARSEOP_CREATEBITFIELD: /* A one bit field */
+
+ LastFieldByteIndex = ACPI_ROUND_BITS_DOWN_TO_BYTES (LastFieldByteIndex);
+ break;
+
+ case PARSEOP_CREATEBYTEFIELD:
+ break;
+
+ case PARSEOP_CREATEWORDFIELD:
+
+ LastFieldByteIndex += (sizeof (UINT16) - 1);
+ break;
+
+ case PARSEOP_CREATEDWORDFIELD:
+
+ LastFieldByteIndex += (sizeof (UINT32) - 1);
+ break;
+
+ case PARSEOP_CREATEQWORDFIELD:
+
+ LastFieldByteIndex += (sizeof (UINT64) - 1);
+ break;
+
+ case PARSEOP_CREATEFIELD: /* Multi-bit field */
+
+ ArgOp = ArgOp->Asl.Next; /* Length argument, in bits */
+ if (!AnIsValidBufferConstant (ArgOp))
+ {
+ return;
+ }
+
+ /* The buffer field length is not allowed to be zero */
+
+ if (ArgOp->Asl.Value.Integer == 0)
+ {
+ AslError (ASL_WARNING, ASL_MSG_BUFFER_FIELD_LENGTH, ArgOp, NULL);
+ return;
+ }
+
+ LastFieldByteIndex +=
+ ((UINT32) ArgOp->Asl.Value.Integer - 1); /* Create final bit index */
+
+ /* Convert bit index to a byte index */
+
+ LastFieldByteIndex = ACPI_ROUND_BITS_DOWN_TO_BYTES (LastFieldByteIndex);
+ break;
+
+ default:
+ return;
+ }
+
+ /*
+ * 4) Check for an access (index) beyond the end of the target buffer,
+ * or a zero length target buffer.
+ */
+ if (!TargetBufferLength || (LastFieldByteIndex >= TargetBufferLength))
+ {
+ AslError (ASL_WARNING, ASL_MSG_BUFFER_FIELD_OVERFLOW, ArgOp, NULL);
+ }
+}
+
+
+/*******************************************************************************
+ *
+ * FUNCTION: AnIsValidBufferConstant
+ *
+ * PARAMETERS: Op - A buffer-related operand
+ *
+ * RETURN: TRUE if operand is valid constant, FALSE otherwise
+ *
+ * DESCRIPTION: Check if the input Op is valid constant that can be used
+ * in compile-time analysis.
+ *
+ ******************************************************************************/
+
+static BOOLEAN
+AnIsValidBufferConstant (
+ ACPI_PARSE_OBJECT *Op)
+{
+ if (!Op)
+ {
+ return (FALSE);
+ }
+
+ if ((Op->Asl.ParseOpcode == PARSEOP_INTEGER) ||
+ (Op->Asl.ParseOpcode == PARSEOP_ZERO) ||
+ (Op->Asl.ParseOpcode == PARSEOP_ONE))
+ {
+ return (TRUE);
+ }
+
+ return (FALSE);
+}
+
+
/*******************************************************************************
*
* FUNCTION: AnAnalyzeStoreOperator
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslxref.c new/acpica-unix-20190509/source/compiler/aslxref.c
--- old/acpica-unix-20190405/source/compiler/aslxref.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslxref.c 2019-05-10 00:04:15.000000000 +0200
@@ -460,6 +460,8 @@
ASL_METHOD_LOCAL *MethodArgs = NULL;
int RegisterNumber;
UINT32 i;
+ ACPI_NAMESPACE_NODE *DeclarationParentMethod;
+ ACPI_PARSE_OBJECT *ReferenceParentMethod;
ACPI_FUNCTION_TRACE_PTR (XfNamespaceLocateBegin, Op);
@@ -613,8 +615,7 @@
(Op->Asl.ParseOpcode != PARSEOP_NAMESTRING) &&
(Op->Asl.ParseOpcode != PARSEOP_NAMESEG) &&
(Op->Asl.ParseOpcode != PARSEOP_METHODCALL) &&
- (Op->Asl.ParseOpcode != PARSEOP_EXTERNAL) &&
- (OpInfo->Type != AML_TYPE_NAMED_FIELD))
+ (Op->Asl.ParseOpcode != PARSEOP_EXTERNAL))
{
return_ACPI_STATUS (AE_OK);
}
@@ -638,8 +639,7 @@
if ((Op->Asl.ParseOpcode == PARSEOP_NAMESTRING) ||
(Op->Asl.ParseOpcode == PARSEOP_NAMESEG) ||
(Op->Asl.ParseOpcode == PARSEOP_METHODCALL) ||
- (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) ||
- (OpInfo->Type == AML_TYPE_NAMED_FIELD))
+ (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL))
{
/*
* These are name references, do not push the scope stack
@@ -676,10 +676,6 @@
Path = NextOp->Asl.Value.String;
}
- else if (OpInfo->Type == AML_TYPE_NAMED_FIELD)
- {
- Path = Op->Asl.Child->Asl.Value.String;
- }
else
{
Path = Op->Asl.Value.String;
@@ -798,24 +794,45 @@
return_ACPI_STATUS (Status);
}
- /* Object was found above, check for an illegal forward reference */
+ /* Object was found above, check for an illegal forward reference */
if (Op->Asl.CompileFlags & OP_NOT_FOUND_DURING_LOAD)
{
/*
* During the load phase, this Op was flagged as a possible
- * illegal forward reference
+ * illegal forward reference. In other words, Op is a name path or
+ * name segment that refers to a named object declared after the
+ * reference. In this scinario, Node refers to the actual declaration
+ * and Op is a parse node that references the named object.
*
- * Note: Allow "forward references" from within a method to an
- * object that is not within any method (module-level code)
+ * Note:
+ *
+ * Object references inside of control methods are allowed to
+ * refer to objects declared outside of control methods.
+ *
+ * If the declaration and reference are both contained inside of the
+ * same method or outside of any method, this is a forward reference
+ * and should be reported as a compiler error.
*/
- if (!WalkState->ScopeInfo || (UtGetParentMethod (Node) &&
- !UtNodeIsDescendantOf (WalkState->ScopeInfo->Scope.Node,
- UtGetParentMethod (Node))))
+ DeclarationParentMethod = UtGetParentMethod (Node);
+ ReferenceParentMethod = XfGetParentMethod (Op);
+
+ /* case 1: declaration and refrence are both outside of method */
+
+ if (!ReferenceParentMethod && !DeclarationParentMethod)
{
AslError (ASL_ERROR, ASL_MSG_ILLEGAL_FORWARD_REF, Op,
Op->Asl.ExternalName);
}
+
+ /* case 2: declaration and reference are both inside of the same method */
+
+ else if (ReferenceParentMethod && DeclarationParentMethod &&
+ ReferenceParentMethod == DeclarationParentMethod->Op)
+ {
+ AslError (ASL_ERROR, ASL_MSG_ILLEGAL_FORWARD_REF, Op,
+ Op->Asl.ExternalName);
+ }
}
/* Check for a reference vs. name declaration */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/components/events/evgpe.c new/acpica-unix-20190509/source/components/events/evgpe.c
--- old/acpica-unix-20190405/source/components/events/evgpe.c 2019-04-05 17:12:59.000000000 +0200
+++ new/acpica-unix-20190509/source/components/events/evgpe.c 2019-05-10 00:04:16.000000000 +0200
@@ -240,14 +240,6 @@
ACPI_FUNCTION_TRACE (EvEnableGpe);
- /* Clear the GPE (of stale events) */
-
- Status = AcpiHwClearGpe(GpeEventInfo);
- if (ACPI_FAILURE(Status))
- {
- return_ACPI_STATUS(Status);
- }
-
/* Enable the requested GPE */
Status = AcpiHwLowSetGpe (GpeEventInfo, ACPI_GPE_ENABLE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/include/acpixf.h new/acpica-unix-20190509/source/include/acpixf.h
--- old/acpica-unix-20190405/source/include/acpixf.h 2019-04-05 17:13:01.000000000 +0200
+++ new/acpica-unix-20190509/source/include/acpixf.h 2019-05-10 00:04:18.000000000 +0200
@@ -154,7 +154,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
-#define ACPI_CA_VERSION 0x20190405
+#define ACPI_CA_VERSION 0x20190509
#include "acconfig.h"
#include "actypes.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/include/platform/aclinux.h new/acpica-unix-20190509/source/include/platform/aclinux.h
--- old/acpica-unix-20190405/source/include/platform/aclinux.h 2019-04-05 17:13:01.000000000 +0200
+++ new/acpica-unix-20190509/source/include/platform/aclinux.h 2019-05-10 00:04:18.000000000 +0200
@@ -205,6 +205,11 @@
#define ACPI_INIT_FUNCTION __init
+/* Use a specific bugging default separate from ACPICA */
+
+#undef ACPI_DEBUG_DEFAULT
+#define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR)
+
#ifndef CONFIG_ACPI
/* External globals for __KERNEL__, stubs is needed */
@@ -221,11 +226,6 @@
#define ACPI_NO_ERROR_MESSAGES
#undef ACPI_DEBUG_OUTPUT
-/* Use a specific bugging default separate from ACPICA */
-
-#undef ACPI_DEBUG_DEFAULT
-#define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR)
-
/* External interface for __KERNEL__, stub is needed */
#define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
1
0
Hello community,
here is the log from the commit of package resource-agents for openSUSE:Factory checked in at 2019-05-25 13:19:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/resource-agents (Old)
and /work/SRC/openSUSE:Factory/.resource-agents.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "resource-agents"
Sat May 25 13:19:08 2019 rev:94 rq:704801 version:4.2.0+git104.25f2052b
Changes:
--------
--- /work/SRC/openSUSE:Factory/resource-agents/resource-agents.changes 2019-05-09 10:02:18.467807926 +0200
+++ /work/SRC/openSUSE:Factory/.resource-agents.new.5148/resource-agents.changes 2019-05-25 13:19:09.800360468 +0200
@@ -29,0 +30 @@
+ * This patch was integrated upstream and is not needed as an extra patch.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package libreoffice for openSUSE:Factory checked in at 2019-05-25 13:18:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libreoffice (Old)
and /work/SRC/openSUSE:Factory/.libreoffice.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libreoffice"
Sat May 25 13:18:32 2019 rev:181 rq:705180 version:6.2.3.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/libreoffice/libreoffice.changes 2019-05-17 23:41:51.285955938 +0200
+++ /work/SRC/openSUSE:Factory/.libreoffice.new.5148/libreoffice.changes 2019-05-25 13:18:43.692370175 +0200
@@ -1,0 +2,12 @@
+Fri May 24 07:22:08 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- If there is no firebird engine we still need java to run hsqldb
+ bsc#1135189
+
+-------------------------------------------------------------------
+Tue May 21 06:33:21 UTC 2019 - Andras Timar <andras.timar(a)collabora.com>
+
+- LO-L3: PPTX: Rectangle turns from green to blue and loses transparency when transparency is set
+ * bsc1135228.patch
+
+-------------------------------------------------------------------
New:
----
bsc1135228.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libreoffice.spec ++++++
--- /var/tmp/diff_new_pack.VYFNRv/_old 2019-05-25 13:18:50.608367604 +0200
+++ /var/tmp/diff_new_pack.VYFNRv/_new 2019-05-25 13:18:50.612367602 +0200
@@ -107,6 +107,8 @@
Patch14: bsc1124869.patch
# LO-L3: Image from PPTX shown in a square, not a circle
Patch15: bsc1121874.patch
+# LO-L3: PPTX: Rectangle turns from green to blue and loses transparency when transparency is set
+Patch16: bsc1135228.patch
# try to save space by using hardlinks
Patch990: install-with-hardlinks.diff
# save time by relying on rpm check rather than doing stupid find+grep
@@ -415,6 +417,13 @@
# default database connector
%if %{with firebird}
Requires: %{name}-base-drivers-firebird
+%else
+%ifarch %{ix86}
+Requires: jre-32 >= 1.6
+%endif
+%ifarch x86_64 aarch64
+Requires: jre-64 >= 1.6
+%endif
%endif
%description base
@@ -973,6 +982,7 @@
%patch13 -p1
%patch14 -p1
%patch15 -p1
+%patch16 -p1
%patch990 -p1
%patch991 -p1
++++++ bsc1135228.patch ++++++
diff --git a/include/oox/ppt/presentationfragmenthandler.hxx b/include/oox/ppt/presentationfragmenthandler.hxx
index ab24a8262fae..bb9166e24afc 100644
--- a/include/oox/ppt/presentationfragmenthandler.hxx
+++ b/include/oox/ppt/presentationfragmenthandler.hxx
@@ -50,7 +50,7 @@ private:
void importSlide( const ::oox::core::FragmentHandlerRef& rSlideFragmentHandler,
const oox::ppt::SlidePersistPtr& rPersist );
void importSlide(sal_uInt32 nSlide, bool bFirstSlide, bool bImportNotes);
- void saveThemeToGrabBag(const oox::drawingml::ThemePtr& pThemePtr, const OUString& sTheme);
+ void saveThemeToGrabBag(const oox::drawingml::ThemePtr& pThemePtr, sal_Int32 nThemeIdx);
std::vector< OUString > maSlideMasterVector;
std::vector< OUString > maSlidesVector;
diff --git a/oox/source/ppt/presentationfragmenthandler.cxx b/oox/source/ppt/presentationfragmenthandler.cxx
index f2477b2cef6e..13bba2da95a3 100644
--- a/oox/source/ppt/presentationfragmenthandler.cxx
+++ b/oox/source/ppt/presentationfragmenthandler.cxx
@@ -160,7 +160,7 @@ static void ResolveTextFields( XmlFilterBase const & rFilter )
}
void PresentationFragmentHandler::saveThemeToGrabBag(const oox::drawingml::ThemePtr& pThemePtr,
- const OUString& sTheme)
+ sal_Int32 nThemeIdx)
{
if (!pThemePtr)
return;
@@ -198,8 +198,11 @@ void PresentationFragmentHandler::saveThemeToGrabBag(const oox::drawingml::Theme
aCurrentTheme[nId].Value = rColor;
}
+
// add new theme to the sequence
- aTheme[0].Name = sTheme;
+ // Export code uses the master slide's index to find the right theme
+ // so use the same index in the grabbag.
+ aTheme[0].Name = "ppt/theme/theme" + OUString::number(nThemeIdx) + ".xml";
const uno::Any& rCurrentTheme = makeAny(aCurrentTheme);
aTheme[0].Value = rCurrentTheme;
@@ -273,10 +276,17 @@ void PresentationFragmentHandler::importSlide(sal_uInt32 nSlide, bool bFirstPage
Reference< drawing::XMasterPagesSupplier > xMPS( xModel, uno::UNO_QUERY_THROW );
Reference< drawing::XDrawPages > xMasterPages( xMPS->getMasterPages(), uno::UNO_QUERY_THROW );
+ sal_Int32 nIndex;
if( rFilter.getMasterPages().empty() )
- xMasterPages->getByIndex( 0 ) >>= xMasterPage;
+ {
+ nIndex = 0;
+ xMasterPages->getByIndex( nIndex ) >>= xMasterPage;
+ }
else
- xMasterPage = xMasterPages->insertNewByIndex( xMasterPages->getCount() );
+ {
+ nIndex = xMasterPages->getCount();
+ xMasterPage = xMasterPages->insertNewByIndex( nIndex );
+ }
pMasterPersistPtr = std::make_shared<SlidePersist>( rFilter, true, false, xMasterPage,
ShapePtr( new PPTShape( Master, "com.sun.star.drawing.GroupShape" ) ), mpTextListStyle );
@@ -306,7 +316,7 @@ void PresentationFragmentHandler::importSlide(sal_uInt32 nSlide, bool bFirstPage
UNO_QUERY_THROW));
rThemes[ aThemeFragmentPath ] = pThemePtr;
pThemePtr->setFragment(xDoc);
- saveThemeToGrabBag(pThemePtr, aThemeFragmentPath);
+ saveThemeToGrabBag(pThemePtr, nIndex + 1);
}
else
{
diff --git a/include/oox/export/drawingml.hxx b/include/oox/export/drawingml.hxx
index 24adf475be16..2da61a6f5300 100644
--- a/include/oox/export/drawingml.hxx
+++ b/include/oox/export/drawingml.hxx
@@ -170,14 +170,14 @@ public:
OUString WriteImage( const Graphic &rGraphic , bool bRelPathToMedia = false);
void WriteColor( ::Color nColor, sal_Int32 nAlpha = MAX_PERCENT );
- void WriteColor( const OUString& sColorSchemeName, const css::uno::Sequence< css::beans::PropertyValue >& aTransformations );
- void WriteColorTransformations( const css::uno::Sequence< css::beans::PropertyValue >& aTransformations );
+ void WriteColor( const OUString& sColorSchemeName, const css::uno::Sequence< css::beans::PropertyValue >& aTransformations, sal_Int32 nAlpha = MAX_PERCENT );
+ void WriteColorTransformations( const css::uno::Sequence< css::beans::PropertyValue >& aTransformations, sal_Int32 nAlpha = MAX_PERCENT );
void WriteGradientStop( sal_uInt16 nStop, ::Color nColor );
void WriteLineArrow( const css::uno::Reference< css::beans::XPropertySet >& rXPropSet, bool bLineStart );
void WriteConnectorConnections( EscherConnectorListEntry& rConnectorEntry, sal_Int32 nStartID, sal_Int32 nEndID );
void WriteSolidFill( ::Color nColor, sal_Int32 nAlpha = MAX_PERCENT );
- void WriteSolidFill( const OUString& sSchemeName, const css::uno::Sequence< css::beans::PropertyValue >& aTransformations );
+ void WriteSolidFill( const OUString& sSchemeName, const css::uno::Sequence< css::beans::PropertyValue >& aTransformations, sal_Int32 nAlpha = MAX_PERCENT );
void WriteSolidFill( const css::uno::Reference< css::beans::XPropertySet >& rXPropSet );
void WriteGradientFill( const css::uno::Reference< css::beans::XPropertySet >& rXPropSet );
void WriteGradientFill( css::awt::Gradient rGradient );
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 23065ec67678..30f330226788 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -231,7 +231,7 @@ void DrawingML::WriteColor( ::Color nColor, sal_Int32 nAlpha )
}
}
-void DrawingML::WriteColor( const OUString& sColorSchemeName, const Sequence< PropertyValue >& aTransformations )
+void DrawingML::WriteColor( const OUString& sColorSchemeName, const Sequence< PropertyValue >& aTransformations, sal_Int32 nAlpha )
{
// prevent writing a tag with empty val attribute
if( sColorSchemeName.isEmpty() )
@@ -242,7 +242,15 @@ void DrawingML::WriteColor( const OUString& sColorSchemeName, const Sequence< Pr
mpFS->startElementNS( XML_a, XML_schemeClr,
XML_val, USS( sColorSchemeName ),
FSEND );
- WriteColorTransformations( aTransformations );
+ WriteColorTransformations( aTransformations, nAlpha );
+ mpFS->endElementNS( XML_a, XML_schemeClr );
+ }
+ else if(nAlpha < MAX_PERCENT)
+ {
+ mpFS->startElementNS( XML_a, XML_schemeClr,
+ XML_val, USS( sColorSchemeName ),
+ FSEND );
+ mpFS->singleElementNS(XML_a, XML_alpha, XML_val, OString::number(nAlpha), FSEND);
mpFS->endElementNS( XML_a, XML_schemeClr );
}
else
@@ -253,15 +261,22 @@ void DrawingML::WriteColor( const OUString& sColorSchemeName, const Sequence< Pr
}
}
-void DrawingML::WriteColorTransformations( const Sequence< PropertyValue >& aTransformations )
+void DrawingML::WriteColorTransformations( const Sequence< PropertyValue >& aTransformations, sal_Int32 nAlpha )
{
for( sal_Int32 i = 0; i < aTransformations.getLength(); i++ )
{
sal_Int32 nToken = Color::getColorTransformationToken( aTransformations[i].Name );
if( nToken != XML_TOKEN_INVALID && aTransformations[i].Value.hasValue() )
{
- sal_Int32 nValue = aTransformations[i].Value.get<sal_Int32>();
- mpFS->singleElementNS( XML_a, nToken, XML_val, I32S( nValue ), FSEND );
+ if(nToken == XML_alpha && nAlpha < MAX_PERCENT)
+ {
+ mpFS->singleElementNS( XML_a, nToken, XML_val, I32S( nAlpha ), FSEND );
+ }
+ else
+ {
+ sal_Int32 nValue = aTransformations[i].Value.get<sal_Int32>();
+ mpFS->singleElementNS( XML_a, nToken, XML_val, I32S( nValue ), FSEND );
+ }
}
}
}
@@ -273,10 +288,10 @@ void DrawingML::WriteSolidFill( ::Color nColor, sal_Int32 nAlpha )
mpFS->endElementNS( XML_a, XML_solidFill );
}
-void DrawingML::WriteSolidFill( const OUString& sSchemeName, const Sequence< PropertyValue >& aTransformations )
+void DrawingML::WriteSolidFill( const OUString& sSchemeName, const Sequence< PropertyValue >& aTransformations, sal_Int32 nAlpha )
{
mpFS->startElementNS( XML_a, XML_solidFill, FSEND );
- WriteColor( sSchemeName, aTransformations );
+ WriteColor( sSchemeName, aTransformations, nAlpha );
mpFS->endElementNS( XML_a, XML_solidFill );
}
@@ -326,22 +341,36 @@ void DrawingML::WriteSolidFill( const Reference< XPropertySet >& rXPropSet )
else if ( !sColorFillScheme.isEmpty() )
{
// the shape had a scheme color and the user didn't change it
- WriteSolidFill( sColorFillScheme, aTransformations );
+ WriteSolidFill( sColorFillScheme, aTransformations, nAlpha );
}
else if ( aStyleProperties.hasElements() )
{
sal_uInt32 nThemeColor = 0;
+ sal_Int32 nThemeAlpha = MAX_PERCENT;
for( sal_Int32 i=0; i < aStyleProperties.getLength(); ++i )
{
if( aStyleProperties[i].Name == "Color" )
{
aStyleProperties[i].Value >>= nThemeColor;
- break;
+ }
+ else if(aStyleProperties[i].Name == "Transformations" )
+ {
+ Sequence< PropertyValue > aStyleTransformations;
+ aStyleProperties[i].Value >>= aStyleTransformations;
+ for( sal_Int32 j = 0; j < aStyleTransformations.getLength(); j++ )
+ {
+ if (aStyleTransformations[j].Name == "alpha" )
+ {
+ aStyleTransformations[j].Value >>= nThemeAlpha;
+ break;
+ }
+ }
}
}
- if ( nFillColor != nThemeColor )
+ if ( nFillColor != nThemeColor || nAlpha != nThemeAlpha )
// the shape contains a theme but it wasn't being used
WriteSolidFill( ::Color(nFillColor & 0xffffff), nAlpha );
+
// in case the shape used the style color and the user didn't change it,
// we must not write a <a: solidFill> tag.
}
1
0
Hello community,
here is the log from the commit of package tomcat for openSUSE:Factory checked in at 2019-05-25 13:18:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tomcat (Old)
and /work/SRC/openSUSE:Factory/.tomcat.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tomcat"
Sat May 25 13:18:24 2019 rev:53 rq:704517 version:9.0.20
Changes:
--------
--- /work/SRC/openSUSE:Factory/tomcat/tomcat.changes 2019-05-03 22:29:20.496326256 +0200
+++ /work/SRC/openSUSE:Factory/.tomcat.new.5148/tomcat.changes 2019-05-25 13:18:26.460376583 +0200
@@ -1,0 +2,7 @@
+Mon May 20 20:40:08 UTC 2019 - Matei <malbu(a)suse.com>
+
+- Update to Tomcat 9.0.20. See changelog at
+ http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.20_(markt)
+- increase maximum number of threads and open files for tomcat (bsc#1111966)
+
+-------------------------------------------------------------------
Old:
----
apache-tomcat-9.0.19-src.tar.gz
apache-tomcat-9.0.19-src.tar.gz.asc
New:
----
apache-tomcat-9.0.20-src.tar.gz
apache-tomcat-9.0.20-src.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tomcat.spec ++++++
--- /var/tmp/diff_new_pack.VO9AVs/_old 2019-05-25 13:18:30.928374921 +0200
+++ /var/tmp/diff_new_pack.VO9AVs/_new 2019-05-25 13:18:30.952374912 +0200
@@ -22,7 +22,7 @@
%define elspec 3.0
%define major_version 9
%define minor_version 0
-%define micro_version 19
+%define micro_version 20
%define packdname apache-tomcat-%{version}-src
# FHS 2.3 compliant tree structure - http://www.pathname.com/fhs/2.3/
%global basedir /srv/%{name}
++++++ apache-tomcat-9.0.19-src.tar.gz -> apache-tomcat-9.0.20-src.tar.gz ++++++
++++ 7345 lines of diff (skipped)
++++++ tomcat-9.0.service ++++++
--- /var/tmp/diff_new_pack.VO9AVs/_old 2019-05-25 13:18:35.012373403 +0200
+++ /var/tmp/diff_new_pack.VO9AVs/_new 2019-05-25 13:18:35.028373397 +0200
@@ -8,6 +8,8 @@
After=syslog.target network.target
[Service]
+TasksMax=576
+LimitNOFILE=8192
Type=simple
EnvironmentFile=/etc/tomcat/tomcat.conf
Environment="NAME="
1
0
Hello community,
here is the log from the commit of package python-cloudpickle for openSUSE:Factory checked in at 2019-05-25 13:17:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cloudpickle (Old)
and /work/SRC/openSUSE:Factory/.python-cloudpickle.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cloudpickle"
Sat May 25 13:17:55 2019 rev:6 rq:704439 version:1.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cloudpickle/python-cloudpickle.changes 2019-04-02 09:21:46.028681327 +0200
+++ /work/SRC/openSUSE:Factory/.python-cloudpickle.new.5148/python-cloudpickle.changes 2019-05-25 13:17:58.988386797 +0200
@@ -1,0 +2,10 @@
+Tue May 21 11:38:21 UTC 2019 - Marketa Calabkova <mcalabkova(a)suse.com>
+
+- Update to 1.1.1
+ * Support the pickling of interactively-defined functions with
+ positional-only arguments.
+ * Track the provenance of dynamic classes and enums.
+ * Fix a bug making functions with keyword-only arguments forget
+ the default values of these arguments after being pickled.
+
+-------------------------------------------------------------------
Old:
----
cloudpickle-0.8.1.tar.gz
New:
----
cloudpickle-1.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cloudpickle.spec ++++++
--- /var/tmp/diff_new_pack.CpWZNj/_old 2019-05-25 13:17:59.660386547 +0200
+++ /var/tmp/diff_new_pack.CpWZNj/_new 2019-05-25 13:17:59.664386546 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-cloudpickle
-Version: 0.8.1
+Version: 1.1.1
Release: 0
Summary: Extended pickling support for Python objects
License: BSD-3-Clause
@@ -68,7 +68,7 @@
%check
export PYTHONPATH='.:tests'
-%python_expand py.test-%{$python_bin_suffix} -s
+%pytest -s
%files %{python_files}
%doc README.md
++++++ cloudpickle-0.8.1.tar.gz -> cloudpickle-1.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/PKG-INFO new/cloudpickle-1.1.1/PKG-INFO
--- old/cloudpickle-0.8.1/PKG-INFO 2019-03-25 10:07:23.000000000 +0100
+++ new/cloudpickle-1.1.1/PKG-INFO 2019-05-15 10:50:45.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: cloudpickle
-Version: 0.8.1
+Version: 1.1.1
Summary: Extended pickling support for Python objects
Home-page: https://github.com/cloudpipe/cloudpickle
Author: Cloudpipe
@@ -120,3 +120,4 @@
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Distributed Computing
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/cloudpickle/__init__.py new/cloudpickle-1.1.1/cloudpickle/__init__.py
--- old/cloudpickle-0.8.1/cloudpickle/__init__.py 2019-03-25 10:07:01.000000000 +0100
+++ new/cloudpickle-1.1.1/cloudpickle/__init__.py 2019-05-15 10:49:51.000000000 +0200
@@ -2,4 +2,4 @@
from cloudpickle.cloudpickle import *
-__version__ = '0.8.1'
+__version__ = '1.1.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/cloudpickle/cloudpickle.py new/cloudpickle-1.1.1/cloudpickle/cloudpickle.py
--- old/cloudpickle-0.8.1/cloudpickle/cloudpickle.py 2019-03-25 09:45:31.000000000 +0100
+++ new/cloudpickle-1.1.1/cloudpickle/cloudpickle.py 2019-05-15 10:43:28.000000000 +0200
@@ -44,7 +44,6 @@
import dis
from functools import partial
-import importlib
import io
import itertools
import logging
@@ -56,12 +55,26 @@
import traceback
import types
import weakref
+import uuid
+import threading
+
+
+try:
+ from enum import Enum
+except ImportError:
+ Enum = None
# cloudpickle is meant for inter process communication: we expect all
# communicating processes to run the same Python version hence we favor
# communication speed over compatibility:
DEFAULT_PROTOCOL = pickle.HIGHEST_PROTOCOL
+# Track the provenance of reconstructed dynamic classes to make it possible to
+# recontruct instances from the matching singleton class definition when
+# appropriate and preserve the usual "isinstance" semantics of Python objects.
+_DYNAMIC_CLASS_TRACKER_BY_CLASS = weakref.WeakKeyDictionary()
+_DYNAMIC_CLASS_TRACKER_BY_ID = weakref.WeakValueDictionary()
+_DYNAMIC_CLASS_TRACKER_LOCK = threading.Lock()
if sys.version_info[0] < 3: # pragma: no branch
from pickle import Pickler
@@ -71,12 +84,37 @@
from StringIO import StringIO
string_types = (basestring,) # noqa
PY3 = False
+ PY2 = True
+ PY2_WRAPPER_DESCRIPTOR_TYPE = type(object.__init__)
+ PY2_METHOD_WRAPPER_TYPE = type(object.__eq__)
+ PY2_CLASS_DICT_BLACKLIST = (PY2_METHOD_WRAPPER_TYPE,
+ PY2_WRAPPER_DESCRIPTOR_TYPE)
else:
types.ClassType = type
from pickle import _Pickler as Pickler
from io import BytesIO as StringIO
string_types = (str,)
PY3 = True
+ PY2 = False
+
+
+def _ensure_tracking(class_def):
+ with _DYNAMIC_CLASS_TRACKER_LOCK:
+ class_tracker_id = _DYNAMIC_CLASS_TRACKER_BY_CLASS.get(class_def)
+ if class_tracker_id is None:
+ class_tracker_id = uuid.uuid4().hex
+ _DYNAMIC_CLASS_TRACKER_BY_CLASS[class_def] = class_tracker_id
+ _DYNAMIC_CLASS_TRACKER_BY_ID[class_tracker_id] = class_def
+ return class_tracker_id
+
+
+def _lookup_class_or_track(class_tracker_id, class_def):
+ if class_tracker_id is not None:
+ with _DYNAMIC_CLASS_TRACKER_LOCK:
+ class_def = _DYNAMIC_CLASS_TRACKER_BY_ID.setdefault(
+ class_tracker_id, class_def)
+ _DYNAMIC_CLASS_TRACKER_BY_CLASS[class_def] = class_tracker_id
+ return class_def
def _make_cell_set_template_code():
@@ -112,7 +150,7 @@
# NOTE: we are marking the cell variable as a free variable intentionally
# so that we simulate an inner function instead of the outer function. This
# is what gives us the ``nonlocal`` behavior in a Python 2 compatible way.
- if not PY3: # pragma: no branch
+ if PY2: # pragma: no branch
return types.CodeType(
co.co_argcount,
co.co_nlocals,
@@ -130,24 +168,43 @@
(),
)
else:
- return types.CodeType(
- co.co_argcount,
- co.co_kwonlyargcount,
- co.co_nlocals,
- co.co_stacksize,
- co.co_flags,
- co.co_code,
- co.co_consts,
- co.co_names,
- co.co_varnames,
- co.co_filename,
- co.co_name,
- co.co_firstlineno,
- co.co_lnotab,
- co.co_cellvars, # this is the trickery
- (),
- )
-
+ if hasattr(types.CodeType, "co_posonlyargcount"): # pragma: no branch
+ return types.CodeType(
+ co.co_argcount,
+ co.co_posonlyargcount, # Python3.8 with PEP570
+ co.co_kwonlyargcount,
+ co.co_nlocals,
+ co.co_stacksize,
+ co.co_flags,
+ co.co_code,
+ co.co_consts,
+ co.co_names,
+ co.co_varnames,
+ co.co_filename,
+ co.co_name,
+ co.co_firstlineno,
+ co.co_lnotab,
+ co.co_cellvars, # this is the trickery
+ (),
+ )
+ else:
+ return types.CodeType(
+ co.co_argcount,
+ co.co_kwonlyargcount,
+ co.co_nlocals,
+ co.co_stacksize,
+ co.co_flags,
+ co.co_code,
+ co.co_consts,
+ co.co_names,
+ co.co_varnames,
+ co.co_filename,
+ co.co_name,
+ co.co_firstlineno,
+ co.co_lnotab,
+ co.co_cellvars, # this is the trickery
+ (),
+ )
_cell_set_template_code = _make_cell_set_template_code()
@@ -220,7 +277,7 @@
global-referencing instructions in *code*.
"""
code = getattr(code, 'co_code', b'')
- if not PY3: # pragma: no branch
+ if PY2: # pragma: no branch
code = map(ord, code)
n = len(code)
@@ -250,6 +307,39 @@
yield op, instr.arg
+def _extract_class_dict(cls):
+ """Retrieve a copy of the dict of a class without the inherited methods"""
+ clsdict = dict(cls.__dict__) # copy dict proxy to a dict
+ if len(cls.__bases__) == 1:
+ inherited_dict = cls.__bases__[0].__dict__
+ else:
+ inherited_dict = {}
+ for base in reversed(cls.__bases__):
+ inherited_dict.update(base.__dict__)
+ to_remove = []
+ for name, value in clsdict.items():
+ try:
+ base_value = inherited_dict[name]
+ if value is base_value:
+ to_remove.append(name)
+ elif PY2:
+ # backward compat for Python 2
+ if hasattr(value, "im_func"):
+ if value.im_func is getattr(base_value, "im_func", None):
+ to_remove.append(name)
+ elif isinstance(value, PY2_CLASS_DICT_BLACKLIST):
+ # On Python 2 we have no way to pickle those specific
+ # methods types nor to check that they are actually
+ # inherited. So we assume that they are always inherited
+ # from builtin types.
+ to_remove.append(name)
+ except KeyError:
+ pass
+ for name in to_remove:
+ clsdict.pop(name)
+ return clsdict
+
+
class CloudPickler(Pickler):
dispatch = Pickler.dispatch.copy()
@@ -277,7 +367,7 @@
dispatch[memoryview] = save_memoryview
- if not PY3: # pragma: no branch
+ if PY2: # pragma: no branch
def save_buffer(self, obj):
self.save(str(obj))
@@ -300,12 +390,23 @@
Save a code object
"""
if PY3: # pragma: no branch
- args = (
- obj.co_argcount, obj.co_kwonlyargcount, obj.co_nlocals, obj.co_stacksize,
- obj.co_flags, obj.co_code, obj.co_consts, obj.co_names, obj.co_varnames,
- obj.co_filename, obj.co_name, obj.co_firstlineno, obj.co_lnotab, obj.co_freevars,
- obj.co_cellvars
- )
+ if hasattr(obj, "co_posonlyargcount"): # pragma: no branch
+ args = (
+ obj.co_argcount, obj.co_posonlyargcount,
+ obj.co_kwonlyargcount, obj.co_nlocals, obj.co_stacksize,
+ obj.co_flags, obj.co_code, obj.co_consts, obj.co_names,
+ obj.co_varnames, obj.co_filename, obj.co_name,
+ obj.co_firstlineno, obj.co_lnotab, obj.co_freevars,
+ obj.co_cellvars
+ )
+ else:
+ args = (
+ obj.co_argcount, obj.co_kwonlyargcount, obj.co_nlocals,
+ obj.co_stacksize, obj.co_flags, obj.co_code, obj.co_consts,
+ obj.co_names, obj.co_varnames, obj.co_filename,
+ obj.co_name, obj.co_firstlineno, obj.co_lnotab,
+ obj.co_freevars, obj.co_cellvars
+ )
else:
args = (
obj.co_argcount, obj.co_nlocals, obj.co_stacksize, obj.co_flags, obj.co_code,
@@ -460,15 +561,40 @@
# then discards the reference to it
self.write(pickle.POP)
- def save_dynamic_class(self, obj):
+ def _save_dynamic_enum(self, obj, clsdict):
+ """Special handling for dynamic Enum subclasses
+
+ Use a dedicated Enum constructor (inspired by EnumMeta.__call__) as the
+ EnumMeta metaclass has complex initialization that makes the Enum
+ subclasses hold references to their own instances.
"""
- Save a class that can't be stored as module global.
+ members = dict((e.name, e.value) for e in obj)
+
+ # Python 2.7 with enum34 can have no qualname:
+ qualname = getattr(obj, "__qualname__", None)
+
+ self.save_reduce(_make_skeleton_enum,
+ (obj.__bases__, obj.__name__, qualname, members,
+ obj.__module__, _ensure_tracking(obj), None),
+ obj=obj)
+
+ # Cleanup the clsdict that will be passed to _rehydrate_skeleton_class:
+ # Those attributes are already handled by the metaclass.
+ for attrname in ["_generate_next_value_", "_member_names_",
+ "_member_map_", "_member_type_",
+ "_value2member_map_"]:
+ clsdict.pop(attrname, None)
+ for member in members:
+ clsdict.pop(member)
+
+ def save_dynamic_class(self, obj):
+ """Save a class that can't be stored as module global.
This method is used to serialize classes that are defined inside
functions, or that otherwise can't be serialized as attribute lookups
from global modules.
"""
- clsdict = dict(obj.__dict__) # copy dict proxy to a dict
+ clsdict = _extract_class_dict(obj)
clsdict.pop('__weakref__', None)
# For ABCMeta in python3.7+, remove _abc_impl as it is not picklable.
@@ -496,8 +622,8 @@
for k in obj.__slots__:
clsdict.pop(k, None)
- # If type overrides __dict__ as a property, include it in the type kwargs.
- # In Python 2, we can't set this attribute after construction.
+ # If type overrides __dict__ as a property, include it in the type
+ # kwargs. In Python 2, we can't set this attribute after construction.
__dict__ = clsdict.pop('__dict__', None)
if isinstance(__dict__, property):
type_kwargs['__dict__'] = __dict__
@@ -524,8 +650,16 @@
write(pickle.MARK)
# Create and memoize an skeleton class with obj's name and bases.
- tp = type(obj)
- self.save_reduce(tp, (obj.__name__, obj.__bases__, type_kwargs), obj=obj)
+ if Enum is not None and issubclass(obj, Enum):
+ # Special handling of Enum subclasses
+ self._save_dynamic_enum(obj, clsdict)
+ else:
+ # "Regular" class definition:
+ tp = type(obj)
+ self.save_reduce(_make_skeleton_class,
+ (tp, obj.__name__, obj.__bases__, type_kwargs,
+ _ensure_tracking(obj), None),
+ obj=obj)
# Now save the rest of obj's __dict__. Any references to obj
# encountered while saving will point to the skeleton class.
@@ -591,6 +725,8 @@
state['annotations'] = func.__annotations__
if hasattr(func, '__qualname__'):
state['qualname'] = func.__qualname__
+ if hasattr(func, '__kwdefaults__'):
+ state['kwdefaults'] = func.__kwdefaults__
save(state)
write(pickle.TUPLE)
write(pickle.REDUCE) # applies _fill_function on the tuple
@@ -776,7 +912,7 @@
save(stuff)
write(pickle.BUILD)
- if not PY3: # pragma: no branch
+ if PY2: # pragma: no branch
dispatch[types.InstanceType] = save_inst
def save_property(self, obj):
@@ -1075,6 +1211,8 @@
func.__module__ = state['module']
if 'qualname' in state:
func.__qualname__ = state['qualname']
+ if 'kwdefaults' in state:
+ func.__kwdefaults__ = state['kwdefaults']
cells = func.__closure__
if cells is not None:
@@ -1115,6 +1253,22 @@
return types.FunctionType(code, base_globals, None, None, closure)
+def _make_skeleton_class(type_constructor, name, bases, type_kwargs,
+ class_tracker_id, extra):
+ """Build dynamic class with an empty __dict__ to be filled once memoized
+
+ If class_tracker_id is not None, try to lookup an existing class definition
+ matching that id. If none is found, track a newly reconstructed class
+ definition under that id so that other instances stemming from the same
+ class id will also reuse this class definition.
+
+ The "extra" variable is meant to be a dict (or None) that can be used for
+ forward compatibility shall the need arise.
+ """
+ skeleton_class = type_constructor(name, bases, type_kwargs)
+ return _lookup_class_or_track(class_tracker_id, skeleton_class)
+
+
def _rehydrate_skeleton_class(skeleton_class, class_dict):
"""Put attributes from `class_dict` back on `skeleton_class`.
@@ -1133,6 +1287,39 @@
return skeleton_class
+def _make_skeleton_enum(bases, name, qualname, members, module,
+ class_tracker_id, extra):
+ """Build dynamic enum with an empty __dict__ to be filled once memoized
+
+ The creation of the enum class is inspired by the code of
+ EnumMeta._create_.
+
+ If class_tracker_id is not None, try to lookup an existing enum definition
+ matching that id. If none is found, track a newly reconstructed enum
+ definition under that id so that other instances stemming from the same
+ class id will also reuse this enum definition.
+
+ The "extra" variable is meant to be a dict (or None) that can be used for
+ forward compatibility shall the need arise.
+ """
+ # enums always inherit from their base Enum class at the last position in
+ # the list of base classes:
+ enum_base = bases[-1]
+ metacls = enum_base.__class__
+ classdict = metacls.__prepare__(name, bases)
+
+ for member_name, member_value in members.items():
+ classdict[member_name] = member_value
+ enum_class = metacls.__new__(metacls, name, bases, classdict)
+ enum_class.__module__ = module
+
+ # Python 2.7 compat
+ if qualname is not None:
+ enum_class.__qualname__ = qualname
+
+ return _lookup_class_or_track(class_tracker_id, enum_class)
+
+
def _is_dynamic(module):
"""
Return True if the module is special module that cannot be imported by its
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/cloudpickle.egg-info/PKG-INFO new/cloudpickle-1.1.1/cloudpickle.egg-info/PKG-INFO
--- old/cloudpickle-0.8.1/cloudpickle.egg-info/PKG-INFO 2019-03-25 10:07:23.000000000 +0100
+++ new/cloudpickle-1.1.1/cloudpickle.egg-info/PKG-INFO 2019-05-15 10:50:45.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: cloudpickle
-Version: 0.8.1
+Version: 1.1.1
Summary: Extended pickling support for Python objects
Home-page: https://github.com/cloudpipe/cloudpickle
Author: Cloudpipe
@@ -120,3 +120,4 @@
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Distributed Computing
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/setup.py new/cloudpickle-1.1.1/setup.py
--- old/cloudpickle-0.8.1/setup.py 2019-01-31 14:05:30.000000000 +0100
+++ new/cloudpickle-1.1.1/setup.py 2019-05-15 10:49:00.000000000 +0200
@@ -31,6 +31,7 @@
license='BSD 3-Clause License',
packages=['cloudpickle'],
long_description=open('README.md').read(),
+ long_description_content_type="text/markdown",
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/tests/cloudpickle_test.py new/cloudpickle-1.1.1/tests/cloudpickle_test.py
--- old/cloudpickle-0.8.1/tests/cloudpickle_test.py 2019-03-25 09:45:31.000000000 +0100
+++ new/cloudpickle-1.1.1/tests/cloudpickle_test.py 2019-05-15 10:43:28.000000000 +0200
@@ -42,6 +42,7 @@
import cloudpickle
from cloudpickle.cloudpickle import _is_dynamic
from cloudpickle.cloudpickle import _make_empty_cell, cell_set
+from cloudpickle.cloudpickle import _extract_class_dict
from .testutils import subprocess_pickle_echo
from .testutils import assert_run_python_script
@@ -71,6 +72,32 @@
return raw_filepath.replace("\\", r"\\\\")
+def test_extract_class_dict():
+ class A(int):
+ """A docstring"""
+ def method(self):
+ return "a"
+
+ class B:
+ """B docstring"""
+ B_CONSTANT = 42
+
+ def method(self):
+ return "b"
+
+ class C(A, B):
+ C_CONSTANT = 43
+
+ def method_c(self):
+ return "c"
+
+ clsdict = _extract_class_dict(C)
+ assert sorted(clsdict.keys()) == ["C_CONSTANT", "__doc__", "method_c"]
+ assert clsdict["C_CONSTANT"] == 43
+ assert clsdict["__doc__"] is None
+ assert clsdict["method_c"](C()) == C().method_c()
+
+
class CloudPickleTest(unittest.TestCase):
protocol = cloudpickle.DEFAULT_PROTOCOL
@@ -924,21 +951,18 @@
self.assertEqual(cloned.__qualname__, func.__qualname__)
def test_namedtuple(self):
-
MyTuple = collections.namedtuple('MyTuple', ['a', 'b', 'c'])
- t = MyTuple(1, 2, 3)
+ t1 = MyTuple(1, 2, 3)
+ t2 = MyTuple(3, 2, 1)
- depickled_t, depickled_MyTuple = pickle_depickle(
- [t, MyTuple], protocol=self.protocol)
- self.assertTrue(isinstance(depickled_t, depickled_MyTuple))
-
- self.assertEqual((depickled_t.a, depickled_t.b, depickled_t.c),
- (1, 2, 3))
- self.assertEqual((depickled_t[0], depickled_t[1], depickled_t[2]),
- (1, 2, 3))
+ depickled_t1, depickled_MyTuple, depickled_t2 = pickle_depickle(
+ [t1, MyTuple, t2], protocol=self.protocol)
- self.assertEqual(depickled_MyTuple.__name__, 'MyTuple')
- self.assertTrue(issubclass(depickled_MyTuple, tuple))
+ assert isinstance(depickled_t1, MyTuple)
+ assert depickled_t1 == t1
+ assert depickled_MyTuple is MyTuple
+ assert isinstance(depickled_t2, MyTuple)
+ assert depickled_t2 == t2
def test_builtin_type__new__(self):
# Functions occasionally take the __new__ of these types as default
@@ -1197,6 +1221,123 @@
""".format(protocol=self.protocol)
assert_run_python_script(code)
+ def test_interactive_dynamic_type_and_remote_instances(self):
+ code = """if __name__ == "__main__":
+ from testutils import subprocess_worker
+
+ with subprocess_worker(protocol={protocol}) as w:
+
+ class CustomCounter:
+ def __init__(self):
+ self.count = 0
+ def increment(self):
+ self.count += 1
+ return self
+
+ counter = CustomCounter().increment()
+ assert counter.count == 1
+
+ returned_counter = w.run(counter.increment)
+ assert returned_counter.count == 2, returned_counter.count
+
+ # Check that the class definition of the returned instance was
+ # matched back to the original class definition living in __main__.
+
+ assert isinstance(returned_counter, CustomCounter)
+
+ # Check that memoization does not break provenance tracking:
+
+ def echo(*args):
+ return args
+
+ C1, C2, c1, c2 = w.run(echo, CustomCounter, CustomCounter,
+ CustomCounter(), returned_counter)
+ assert C1 is CustomCounter
+ assert C2 is CustomCounter
+ assert isinstance(c1, CustomCounter)
+ assert isinstance(c2, CustomCounter)
+
+ """.format(protocol=self.protocol)
+ assert_run_python_script(code)
+
+ def test_interactive_dynamic_type_and_stored_remote_instances(self):
+ """Simulate objects stored on workers to check isinstance semantics
+
+ Such instances stored in the memory of running worker processes are
+ similar to dask-distributed futures for instance.
+ """
+ code = """if __name__ == "__main__":
+ import cloudpickle, uuid
+ from testutils import subprocess_worker
+
+ with subprocess_worker(protocol={protocol}) as w:
+
+ class A:
+ '''Original class definition'''
+ pass
+
+ def store(x):
+ storage = getattr(cloudpickle, "_test_storage", None)
+ if storage is None:
+ storage = cloudpickle._test_storage = dict()
+ obj_id = uuid.uuid4().hex
+ storage[obj_id] = x
+ return obj_id
+
+ def lookup(obj_id):
+ return cloudpickle._test_storage[obj_id]
+
+ id1 = w.run(store, A())
+
+ # The stored object on the worker is matched to a singleton class
+ # definition thanks to provenance tracking:
+ assert w.run(lambda obj_id: isinstance(lookup(obj_id), A), id1)
+
+ # Retrieving the object from the worker yields a local copy that
+ # is matched back the local class definition this instance
+ # originally stems from.
+ assert isinstance(w.run(lookup, id1), A)
+
+ # Changing the local class definition should be taken into account
+ # in all subsequent calls. In particular the old instances on the
+ # worker do not map back to the new class definition, neither on
+ # the worker itself, nor locally on the main program when the old
+ # instance is retrieved:
+
+ class A:
+ '''Updated class definition'''
+ pass
+
+ assert not w.run(lambda obj_id: isinstance(lookup(obj_id), A), id1)
+ retrieved1 = w.run(lookup, id1)
+ assert not isinstance(retrieved1, A)
+ assert retrieved1.__class__ is not A
+ assert retrieved1.__class__.__doc__ == "Original class definition"
+
+ # New instances on the other hand are proper instances of the new
+ # class definition everywhere:
+
+ a = A()
+ id2 = w.run(store, a)
+ assert w.run(lambda obj_id: isinstance(lookup(obj_id), A), id2)
+ assert isinstance(w.run(lookup, id2), A)
+
+ # Monkeypatch the class defintion in the main process to a new
+ # class method:
+ A.echo = lambda cls, x: x
+
+ # Calling this method on an instance will automatically update
+ # the remote class definition on the worker to propagate the monkey
+ # patch dynamically.
+ assert w.run(a.echo, 42) == 42
+
+ # The stored instance can therefore also access the new class
+ # method:
+ assert w.run(lambda obj_id: lookup(obj_id).echo(43), id2) == 43
+
+ """.format(protocol=self.protocol)
+ assert_run_python_script(code)
+
@pytest.mark.skipif(platform.python_implementation() == 'PyPy',
reason="Skip PyPy because memory grows too much")
def test_interactive_remote_function_calls_no_memory_leak(self):
@@ -1226,9 +1367,10 @@
import gc
w.run(gc.collect)
- # By this time the worker process has processed worth of 100MB of
- # data passed in the closures its memory size should now have
- # grown by more than a few MB.
+ # By this time the worker process has processed 100MB worth of data
+ # passed in the closures. The worker memory size should not have
+ # grown by more than a few MB as closures are garbage collected at
+ # the end of each remote function call.
growth = w.memsize() - reference_size
assert growth < 1e7, growth
@@ -1368,6 +1510,88 @@
pickle_depickle(DataClass, protocol=self.protocol)
assert data.x == pickle_depickle(data, protocol=self.protocol).x == 42
+ def test_locally_defined_enum(self):
+ enum = pytest.importorskip("enum")
+
+ class StringEnum(str, enum.Enum):
+ """Enum when all members are also (and must be) strings"""
+
+ class Color(StringEnum):
+ """3-element color space"""
+ RED = "1"
+ GREEN = "2"
+ BLUE = "3"
+
+ def is_green(self):
+ return self is Color.GREEN
+
+ green1, green2, ClonedColor = pickle_depickle(
+ [Color.GREEN, Color.GREEN, Color], protocol=self.protocol)
+ assert green1 is green2
+ assert green1 is ClonedColor.GREEN
+ assert green1 is not ClonedColor.BLUE
+ assert isinstance(green1, str)
+ assert green1.is_green()
+
+ # cloudpickle systematically tracks provenance of class definitions
+ # and ensure reconciliation in case of round trips:
+ assert green1 is Color.GREEN
+ assert ClonedColor is Color
+
+ green3 = pickle_depickle(Color.GREEN, protocol=self.protocol)
+ assert green3 is Color.GREEN
+
+ def test_locally_defined_intenum(self):
+ enum = pytest.importorskip("enum")
+ # Try again with a IntEnum defined with the functional API
+ DynamicColor = enum.IntEnum("Color", {"RED": 1, "GREEN": 2, "BLUE": 3})
+
+ green1, green2, ClonedDynamicColor = pickle_depickle(
+ [DynamicColor.GREEN, DynamicColor.GREEN, DynamicColor],
+ protocol=self.protocol)
+
+ assert green1 is green2
+ assert green1 is ClonedDynamicColor.GREEN
+ assert green1 is not ClonedDynamicColor.BLUE
+ assert ClonedDynamicColor is DynamicColor
+
+ def test_interactively_defined_enum(self):
+ pytest.importorskip("enum")
+ code = """if __name__ == "__main__":
+ from enum import Enum
+ from testutils import subprocess_worker
+
+ with subprocess_worker(protocol={protocol}) as w:
+
+ class Color(Enum):
+ RED = 1
+ GREEN = 2
+
+ def check_positive(x):
+ return Color.GREEN if x >= 0 else Color.RED
+
+ result = w.run(check_positive, 1)
+
+ # Check that the returned enum instance is reconciled with the
+ # locally defined Color enum type definition:
+
+ assert result is Color.GREEN
+
+ # Check that changing the definition of the Enum class is taken
+ # into account on the worker for subsequent calls:
+
+ class Color(Enum):
+ RED = 1
+ BLUE = 2
+
+ def check_positive(x):
+ return Color.BLUE if x >= 0 else Color.RED
+
+ result = w.run(check_positive, 1)
+ assert result is Color.BLUE
+ """.format(protocol=self.protocol)
+ assert_run_python_script(code)
+
def test_relative_import_inside_function(self):
# Make sure relative imports inside round-tripped functions is not
# broken.This was a bug in cloudpickle versions <= 0.5.3 and was
@@ -1392,6 +1616,54 @@
cloned_func = pickle_depickle(func, protocol=self.protocol)
assert cloned_func() == "hello from a {}!".format(source)
+ @pytest.mark.skipif(sys.version_info[0] < 3,
+ reason="keyword only arguments were introduced in "
+ "python 3")
+ def test_interactively_defined_func_with_keyword_only_argument(self):
+ # fixes https://github.com/cloudpipe/cloudpickle/issues/263
+ # The source code of this test is bundled in a string and is ran from
+ # the __main__ module of a subprocess in order to avoid a SyntaxError
+ # in python2 when pytest imports this file, as the keyword-only syntax
+ # is python3-only.
+ code = """
+ from cloudpickle import loads, dumps
+
+ def f(a, *, b=1):
+ return a + b
+
+ depickled_f = loads(dumps(f, protocol={protocol}))
+
+ for func in (f, depickled_f):
+ assert func(2) == 3
+ assert func.__kwdefaults__ == {{'b': 1}}
+ """.format(protocol=self.protocol)
+ assert_run_python_script(textwrap.dedent(code))
+
+ @pytest.mark.skipif(not hasattr(types.CodeType, "co_posonlyargcount"),
+ reason="Requires positional-only argument syntax")
+ def test_interactively_defined_func_with_positional_only_argument(self):
+ # Fixes https://github.com/cloudpipe/cloudpickle/issues/266
+ # The source code of this test is bundled in a string and is ran from
+ # the __main__ module of a subprocess in order to avoid a SyntaxError
+ # in versions of python that do not support positional-only argument
+ # syntax.
+ code = """
+ import pytest
+ from cloudpickle import loads, dumps
+
+ def f(a, /, b=1):
+ return a + b
+
+ depickled_f = loads(dumps(f, protocol={protocol}))
+
+ for func in (f, depickled_f):
+ assert func(2) == 3
+ assert func.__code__.co_posonlyargcount == 1
+ with pytest.raises(TypeError):
+ func(a=2)
+
+ """.format(protocol=self.protocol)
+ assert_run_python_script(textwrap.dedent(code))
class Protocol2CloudPickleTest(CloudPickleTest):
1
0
Hello community,
here is the log from the commit of package insserv-compat for openSUSE:Factory checked in at 2019-05-25 13:17:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/insserv-compat (Old)
and /work/SRC/openSUSE:Factory/.insserv-compat.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "insserv-compat"
Sat May 25 13:17:48 2019 rev:19 rq:704437 version:0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/insserv-compat/insserv-compat.changes 2019-04-23 14:41:33.421658217 +0200
+++ /work/SRC/openSUSE:Factory/.insserv-compat.new.5148/insserv-compat.changes 2019-05-25 13:17:49.504390324 +0200
@@ -1,0 +2,5 @@
+Thu May 9 15:19:24 UTC 2019 - Ludwig Nussel <lnussel(a)suse.com>
+
+- fix handling of ,start= parameters (bsc#1133306)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ insserv.pl ++++++
--- /var/tmp/diff_new_pack.9LH1Ts/_old 2019-05-25 13:17:50.140390087 +0200
+++ /var/tmp/diff_new_pack.9LH1Ts/_new 2019-05-25 13:17:50.144390086 +0200
@@ -242,7 +242,9 @@
if (@ARGV) {
my $p = $ARGV[0] =~ /\// ? $ARGV[0] : "$init_d/$ARGV[0]";
- if (!-e $p) {
+ # need to strip off potential extra parameters
+ my $script = $1 if $p =~ /([^,]+)/;
+ if (!-e $script) {
warn "$p doesn't exist";
usage(1) if @ARGV;
cleanup();
1
0
Hello community,
here is the log from the commit of package python-ipy for openSUSE:Factory checked in at 2019-05-25 13:17:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ipy (Old)
and /work/SRC/openSUSE:Factory/.python-ipy.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ipy"
Sat May 25 13:17:41 2019 rev:9 rq:704422 version:1.00
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ipy/python-ipy.changes 2018-11-26 10:30:27.601017171 +0100
+++ /work/SRC/openSUSE:Factory/.python-ipy.new.5148/python-ipy.changes 2019-05-25 13:17:42.760392831 +0200
@@ -1,0 +2,8 @@
+Tue May 21 10:06:13 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 1.00
+ * Fix IPv6 string interpretation for small ints
+ * Various Python3 language fixes
+ * consider 127.0 range LOOPBACK not PRIVATE
+
+-------------------------------------------------------------------
Old:
----
IPy-0.83.tar.gz
New:
----
IPy-1.00.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ipy.spec ++++++
--- /var/tmp/diff_new_pack.jIq7uG/_old 2019-05-25 13:17:44.160392311 +0200
+++ /var/tmp/diff_new_pack.jIq7uG/_new 2019-05-25 13:17:44.180392303 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-ipy
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,13 +12,13 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-ipy
-Version: 0.83
+Version: 1.00
Release: 0
Summary: Class and tools for handling of IPv4 and IPv6 addresses and networks
License: BSD-3-Clause
@@ -48,10 +48,14 @@
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
-#install COPYING %{buildroot}
%files %{python_files}
%{python_sitelib}/*
%license COPYING
+%check
+%python_exec test/test_IPy.py
+# one of 3000 subtest fails, probably https://github.com/autocracy/python-ipy/issues/27
+# %%python_exec test/test_fuzz.py
+
%changelog
++++++ IPy-0.83.tar.gz -> IPy-1.00.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/.gitignore new/IPy-1.00/.gitignore
--- old/IPy-0.83/.gitignore 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/.gitignore 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-*.pyc
-*.swp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/COPYING new/IPy-1.00/COPYING
--- old/IPy-0.83/COPYING 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/COPYING 2018-02-01 09:32:18.000000000 +0100
@@ -1,3 +1,4 @@
+"BSD 3-clause" License
Copyright (c) 2006, INL
Copyright (c) 2001-2005, Maximillian Dornseif
All rights reserved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/ChangeLog new/IPy-1.00/ChangeLog
--- old/IPy-0.83/ChangeLog 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/ChangeLog 2019-02-28 00:46:40.000000000 +0100
@@ -1,3 +1,8 @@
+Version 1.00 (2019-02-27)
+ * Fix IPv6 string interpretation for small ints
+ * Various Python3 language fixes
+ * consider 127.0 range LOOPBACK not PRIVATE
+
Version 0.83 (2015-04-04)
------------
* Add carrier grade NAT ranges
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/IPy.py new/IPy-1.00/IPy.py
--- old/IPy-0.83/IPy.py 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/IPy.py 2019-02-28 01:00:55.000000000 +0100
@@ -6,7 +6,7 @@
https://github.com/haypo/python-ipy
"""
-__version__ = '0.83'
+__version__ = '1.00'
import bisect
import collections
@@ -21,7 +21,7 @@
'00000000': 'PRIVATE', # 0/8
'00001010': 'PRIVATE', # 10/8
'0110010001': 'CARRIER_GRADE_NAT', #100.64/10
- '01111111': 'PRIVATE', # 127.0/8
+ '01111111': 'LOOPBACK', # 127.0/8
'1': 'PUBLIC', # fall back
'1010100111111110': 'PRIVATE', # 169.254/16
'101011000001': 'PRIVATE', # 172.16/12
@@ -243,7 +243,7 @@
else:
raise ValueError("can't parse")
- (self.ip, parsedVersion) = parseAddress(ip)
+ (self.ip, parsedVersion) = parseAddress(ip, ipversion)
if ipversion == 0:
ipversion = parsedVersion
if prefixlen == -1:
@@ -475,7 +475,7 @@
"""Return a description of the IP type ('PRIVATE', 'RESERVED', etc).
>>> print(IP('127.0.0.1').iptype())
- PRIVATE
+ LOOPBACK
>>> print(IP('192.168.1.1').iptype())
PRIVATE
>>> print(IP('195.185.1.2').iptype())
@@ -558,6 +558,8 @@
"""
return True
+ def __bool__(self):
+ return self.__nonzero__()
def __len__(self):
"""
@@ -769,6 +771,9 @@
def __lt__(self, other):
return self.__cmp__(other) < 0
+ def __le__(self, other):
+ return self.__cmp__(other) <= 0
+
def __hash__(self):
"""Called for the key object for dictionary operations, and by
the built-in function hash(). Should return a 32-bit integer
@@ -1336,7 +1341,7 @@
index += 1
return value
-def parseAddress(ipstr):
+def parseAddress(ipstr, ipversion=0):
"""
Parse a string and return the corresponding IP address (as integer)
and a guess of the IP version.
@@ -1405,7 +1410,7 @@
# assume IPv6 in pure hexadecimal notation
return (hexval, 6)
- elif ipstr.find('.') != -1 or (intval is not None and intval < 256):
+ elif ipstr.find('.') != -1 or (intval is not None and intval < 256 and ipversion != 6):
# assume IPv4 ('127' gets interpreted as '127.0.0.0')
bytes = ipstr.split('.')
if len(bytes) > 4:
@@ -1423,7 +1428,7 @@
# will be interpreted as IPv4 first byte
if intval > MAX_IPV6_ADDRESS:
raise ValueError("IP Address can't be larger than %x: %x" % (MAX_IPV6_ADDRESS, intval))
- if intval <= MAX_IPV4_ADDRESS:
+ if intval <= MAX_IPV4_ADDRESS and ipversion != 6:
return (intval, 4)
else:
return (intval, 6)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/MANIFEST.in new/IPy-1.00/MANIFEST.in
--- old/IPy-0.83/MANIFEST.in 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/MANIFEST.in 2018-02-01 09:32:18.000000000 +0100
@@ -1,4 +1,5 @@
include AUTHORS
+include README.rst
include ChangeLog
include COPYING
include MANIFEST.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/Makefile new/IPy-1.00/Makefile
--- old/IPy-0.83/Makefile 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/Makefile 1970-01-01 01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-.PHONY: tests egg install clean
-
-PYTHON=python
-
-tests:
- @echo "[ run unit tests in python 2 ]"
- PYTHONPATH=$(PWD) $(PYTHON)2.6 test/test_IPy.py || exit $$?
- @echo "[ run unit tests in python 3 ]"
- PYTHONPATH=$(PWD) $(PYTHON)3.4 test/test_IPy.py || exit $$?
- @echo
- @echo "[ test README in python 2 ]"
- $(PYTHON)2.6 test_doc.py || exit $$?
- @echo "[ test README in python 3 ]"
- $(PYTHON)3.4 test_doc.py || exit $$?
-
-egg: clean
- $(PYTHON) setup.py sdist bdist_egg
-
-IPy.html: README
- rst2html README $@ --stylesheet=rest.css
-
-install:
- ./setup.py install
-
-clean:
- rm -rf IPy.html *.pyc build dist IPy.egg-info
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/PKG-INFO new/IPy-1.00/PKG-INFO
--- old/IPy-0.83/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/IPy-1.00/PKG-INFO 2019-02-28 01:20:19.000000000 +0100
@@ -0,0 +1,367 @@
+Metadata-Version: 1.1
+Name: IPy
+Version: 1.00
+Summary: Class and tools for handling of IPv4 and IPv6 addresses and networks
+Home-page: https://github.com/autocracy/python-ipy
+Author: Jeff Ferland
+Author-email: jeff(a)storyinmemo.com
+License: BSD License
+Download-URL: https://github.com/autocracy/python-ipy
+Description: IPy - class and tools for handling of IPv4 and IPv6 addresses and networks.
+
+ Website: https://github.com/autocracy/python-ipy/
+
+ Presentation of the API
+ =======================
+
+ The IP class allows a comfortable parsing and handling for most
+ notations in use for IPv4 and IPv6 addresses and networks. It was
+ greatly inspired by RIPE's Perl module NET::IP's interface but
+ doesn't share the implementation. It doesn't share non-CIDR netmasks,
+ so funky stuff like a netmask of 0xffffff0f can't be done here. ::
+
+ >>> from IPy import IP
+ >>> ip = IP('127.0.0.0/30')
+ >>> for x in ip:
+ ... print(x)
+ ...
+ 127.0.0.0
+ 127.0.0.1
+ 127.0.0.2
+ 127.0.0.3
+ >>> ip2 = IP('0x7f000000/30')
+ >>> ip == ip2
+ 1
+ >>> ip.reverseNames()
+ ['0.0.0.127.in-addr.arpa.', '1.0.0.127.in-addr.arpa.', '2.0.0.127.in-addr.arpa.', '3.0.0.127.in-addr.arpa.']
+ >>> ip.reverseName()
+ '0-3.0.0.127.in-addr.arpa.'
+ >>> ip.iptype()
+ 'LOOPBACK'
+
+
+ Supports most IP address formats
+ ================================
+
+ It can detect about a dozen different ways of expressing IP addresses
+ and networks, parse them and distinguish between IPv4 and IPv6 addresses: ::
+
+ >>> IP('10.0.0.0/8').version()
+ 4
+ >>> IP('::1').version()
+ 6
+
+ IPv4 addresses
+ --------------
+
+ ::
+
+ >>> print(IP(0x7f000001))
+ 127.0.0.1
+ >>> print(IP('0x7f000001'))
+ 127.0.0.1
+ >>> print(IP('127.0.0.1'))
+ 127.0.0.1
+ >>> print(IP('10'))
+ 10.0.0.0
+
+ IPv6 addresses
+ --------------
+
+ ::
+
+ >>> print(IP('1080:0:0:0:8:800:200C:417A'))
+ 1080::8:800:200c:417a
+ >>> print(IP('1080::8:800:200C:417A'))
+ 1080::8:800:200c:417a
+ >>> print(IP('::1'))
+ ::1
+ >>> print(IP('::13.1.68.3'))
+ ::d01:4403
+
+ Network mask and prefixes
+ -------------------------
+
+ ::
+
+ >>> print(IP('127.0.0.0/8'))
+ 127.0.0.0/8
+ >>> print(IP('127.0.0.0/255.0.0.0'))
+ 127.0.0.0/8
+ >>> print(IP('127.0.0.0-127.255.255.255'))
+ 127.0.0.0/8
+
+
+ Derive network address
+ ===========================
+
+ IPy can transform an IP address into a network address by applying the given
+ netmask: ::
+
+ >>> print(IP('127.0.0.1/255.0.0.0', make_net=True))
+ 127.0.0.0/8
+
+ This can also be done for existing IP instances: ::
+
+ >>> print(IP('127.0.0.1').make_net('255.0.0.0'))
+ 127.0.0.0/8
+
+
+ Convert address to string
+ =========================
+
+ Nearly all class methods which return a string have an optional
+ parameter 'wantprefixlen' which controls if the prefixlen or netmask
+ is printed. Per default the prefilen is always shown if the network
+ contains more than one address: ::
+
+ wantprefixlen == 0 / None don't return anything 1.2.3.0
+ wantprefixlen == 1 /prefix 1.2.3.0/24
+ wantprefixlen == 2 /netmask 1.2.3.0/255.255.255.0
+ wantprefixlen == 3 -lastip 1.2.3.0-1.2.3.255
+
+ You can also change the defaults on an per-object basis by fiddling with
+ the class members:
+
+ - NoPrefixForSingleIp
+ - WantPrefixLen
+
+ Examples of string conversions: ::
+
+ >>> IP('10.0.0.0/32').strNormal()
+ '10.0.0.0'
+ >>> IP('10.0.0.0/24').strNormal()
+ '10.0.0.0/24'
+ >>> IP('10.0.0.0/24').strNormal(0)
+ '10.0.0.0'
+ >>> IP('10.0.0.0/24').strNormal(1)
+ '10.0.0.0/24'
+ >>> IP('10.0.0.0/24').strNormal(2)
+ '10.0.0.0/255.255.255.0'
+ >>> IP('10.0.0.0/24').strNormal(3)
+ '10.0.0.0-10.0.0.255'
+ >>> ip = IP('10.0.0.0')
+ >>> print(ip)
+ 10.0.0.0
+ >>> ip.NoPrefixForSingleIp = None
+ >>> print(ip)
+ 10.0.0.0/32
+ >>> ip.WantPrefixLen = 3
+ >>> print(ip)
+ 10.0.0.0-10.0.0.0
+
+ Work with multiple networks
+ ===========================
+
+ Simple addition of neighboring netblocks that can be aggregated will yield
+ a parent network of both, but more complex range mapping and aggregation
+ requires is available with the ``IPSet`` class which will hold any number of
+ unique address ranges and will aggregate overlapping ranges. ::
+
+ >>> from IPy import IP, IPSet
+ >>> IP('10.0.0.0/22') - IP('10.0.2.0/24')
+ IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24')])
+ >>> IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24'), IP('10.0.2.0/24')])
+ IPSet([IP('10.0.0.0/22')])
+ >>> s = IPSet([IP('10.0.0.0/22')])
+ >>> s.add(IP('192.168.1.0/29'))
+ >>> s
+ IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/29')])
+ >>> s.discard(IP('192.168.1.2'))
+ >>> s
+ IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/31'), IP('192.168.1.3'), IP('192.168.1.4/30')])
+
+ ``IPSet`` supports the ``set`` method ``isdisjoint``: ::
+
+ >>> s.isdisjoint(IPSet([IP('192.168.0.0/16')]))
+ False
+ >>> s.isdisjoint(IPSet([IP('172.16.0.0/12')]))
+ True
+
+ ``IPSet`` supports intersection: ::
+
+ >>> s & IPSet([IP('10.0.0.0/8')])
+ IPSet([IP('10.0.0.0/22')])
+
+ Compatibility and links
+ =======================
+
+ IPy 1.00 works on Python version 2.6 - 3.7.
+
+ The IP module should work in Python 2.5 as long as the subtraction operation
+ is not used. IPSet requires features of the collecitons class which appear
+ in Python 2.6, though they can be backported.
+
+ Eratta
+ ======
+
+ When using IPv6 addresses, it is best to compare using ``IP().len()``
+ instead of ``len(IP)``. Addresses with an integer value > 64 bits can break
+ the 2nd method. See http://stackoverflow.com/questions/15650878 for more
+ info.
+
+ Fuzz testing for ``IPSet`` will throw spurious errors when the ``IPSet`` module
+ combines two smaller prefixes into a larger prefix that matches the random
+ prefix tested against.
+
+ This Python module is under BSD license: see COPYING file.
+
+ Further Information might be available at:
+ https://github.com/autocracy/python-ipy
+
+ What's new
+ ==========
+
+ Version 1.00 (2019-02-27)
+ * Fix IPv6 string interpretation for small ints
+ * Various Python3 language fixes
+ * consider 127.0 range LOOPBACK not PRIVATE
+
+ Version 0.83 (2015-04-04)
+ ------------
+ * Add carrier grade NAT ranges
+ * Unbreak lots of packing systems by not having a letter in the release version
+
+ Version 0.82a (2014-10-07)
+ ------------
+ * Fix version numbers in files
+ * Correct x.next() -> next(x) python3 compatability
+
+ Version 0.82 (2014-10-06)
+ ------------
+
+ * Add support for array slices
+ * Add __and__ and isdisjoint for IPSet
+ * Fix a bug in IPSet where contains may incorrectly return false
+ * Added some fuzz testing
+
+ Version 0.81 (2013-04-08)
+ ------------
+
+ * Correct reverseName() for IPv6 addresses, so IP('::1').reverseName() returns correct.
+ * Add network mask awareness to v46map()
+ * Fix Python 3 errors in IPSet class
+ * Make IPSet base class be object when MutableSet isn't available, fixing
+ errors in Python 2.5
+
+ Version 0.80 (2013-03-26)
+ ------------
+
+ * Drop support of Python older than 2.4
+ * Python 3 does not need 2to3 conversion anymore (same code base)
+ * Fix adding of non-adjacent networks:
+ 192.168.0.0/24 + 192.168.255.0/24 made 192.168.0.0/23
+ * Fix adding networks that don't create a valid subnet:
+ 192.168.1.0/24 + 192.168.2.0/24 made 192.168.1.0/23
+ * Fix adding with an IPv6 address where .int() was < 32 bits made IPy believe it
+ was an IPv4 address:
+ ::ffff:0/112 + ::1:0:0/112 made 255.255.0.0/111
+ * Add support of IPSets
+ * Add support for subtracting a network range
+ * Prevent IPv4 and IPv6 ranges from saying they contain each other
+ * Add a .v46map() method to convert mapped address ranges
+ such as IP('::ffff:192.168.1.1'); RFC 4291
+ * Change sort order to more natural:
+ IPv4 before IPv6; less-specific prefixes first (/0 before /32)
+
+
+ Version 0.76 (2013-03-19)
+ -------------------------
+
+ * ip == other and ip != other doesn't fail with an exception anymore if other
+ is not a IP object
+ * Add IP.get_mac() method: get the 802.3 MAC address from IPv6 RFC 2464
+ address.
+ * Fix IP('::/0')[0]: return an IPv6 instead of an IPv4 address
+
+ Version 0.75 (2011-04-12)
+ -------------------------
+
+ * IP('::/0').netmask() gives IP('::') instead of IP('0.0.0.0')
+
+ Version 0.74 (2011-02-16)
+ -------------------------
+
+ * Fix tests for Python 3.1 and 3.2
+ * ip.__nonzero__() and (ipa in ipb) return a bool instead of 0 or 1
+ * IP('0.0.0.0/0') + IP('0.0.0.0/0') raises an error, fix written by Arfrever
+
+ Version 0.73 (2011-02-15)
+ -------------------------
+
+ * Support Python 3: setup.py runs 2to3
+ * Update the ranges for IPv6 IPs
+ * Fix reverseName() and reverseNames() for IPv4 in IPv6 addresses
+ * Drop support of Python < 2.5
+
+ Version 0.72 (2010-11-23)
+ -------------------------
+
+ * Include examples and MANIFEST.in in source build (add them to
+ MANIFEST.in)
+ * Remove __rcsid__ constant from IPy module
+
+ Version 0.71 (2010-10-01)
+ -------------------------
+
+ * Use xrange() instead of range()
+ * Use isinstance(x, int) instead of type(x) == types.IntType
+ * Prepare support of Python3 (use integer division: x // y)
+ * Fix IP(long) constructor: ensure that the address is not too large
+ * Constructor raise a TypeError if the type is not int, long,
+ str or unicode
+ * 223.0.0.0/8 is now public (belongs to APNIC)
+
+ Version 0.70 (2009-10-29)
+ -------------------------
+
+ * New "major" version because it may break compatibility
+ * Fix __cmp__(): IP('0.0.0.0/0') and IP('0.0.0.0') are not equal
+ * Fix IP.net() of the network "::/0": "::" instead of "0.0.0.0".
+ IPy 0.63 should fix this bug, but it wasn't.
+
+ Version 0.64 (2009-08-19)
+ -------------------------
+
+ * Create MANIFEST.in to fix setup.py bdist_rpm, fix by Robert Nickel
+
+ Version 0.63 (2009-06-23)
+ -------------------------
+
+ * Fix formatting of "IPv4 in IPv6" network, eg. IP('::ffff:192.168.10.0/120'),
+ the netmask ("/120" in the example) was missing!
+
+ Version 0.62 (2008-07-15)
+ -------------------------
+
+ * Fix reverse DNS of IPv6 address: use ".ip6.arpa." suffix instead of
+ deprecated ".ip6.int." suffix
+
+ Version 0.61 (2008-06-12)
+ -------------------------
+
+ * Patch from Aras Vaichas allowing the [-1] operator
+ to work with an IP object of size 1.
+
+ Version 0.60 (2008-05-16)
+ -------------------------
+
+ * strCompressed() formats '::ffff:a.b.c.d' correctly
+ * Use strCompressed() instead of strFullsize() to format IP addresses,
+ ouput is smarter with IPv6 address
+ * Remove check_addr_prefixlen because it generates invalid IP address
+Keywords: ipv4 ipv6 netmask
+Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: System Administrators
+Classifier: Environment :: Plugins
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Classifier: Topic :: Communications
+Classifier: Topic :: Internet
+Classifier: Topic :: System :: Networking
+Classifier: License :: OSI Approved :: BSD License
+Classifier: Operating System :: OS Independent
+Classifier: Natural Language :: English
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/README new/IPy-1.00/README
--- old/IPy-0.83/README 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,192 +0,0 @@
-IPy - class and tools for handling of IPv4 and IPv6 addresses and networks.
-
-Website: https://github.com/autocracy/python-ipy/
-
-Presentation of the API
-=======================
-
-The IP class allows a comfortable parsing and handling for most
-notations in use for IPv4 and IPv6 addresses and networks. It was
-greatly inspired by RIPE's Perl module NET::IP's interface but
-doesn't share the implementation. It doesn't share non-CIDR netmasks,
-so funky stuff like a netmask of 0xffffff0f can't be done here.
-
- >>> from IPy import IP
- >>> ip = IP('127.0.0.0/30')
- >>> for x in ip:
- ... print(x)
- ...
- 127.0.0.0
- 127.0.0.1
- 127.0.0.2
- 127.0.0.3
- >>> ip2 = IP('0x7f000000/30')
- >>> ip == ip2
- 1
- >>> ip.reverseNames()
- ['0.0.0.127.in-addr.arpa.', '1.0.0.127.in-addr.arpa.', '2.0.0.127.in-addr.arpa.', '3.0.0.127.in-addr.arpa.']
- >>> ip.reverseName()
- '0-3.0.0.127.in-addr.arpa.'
- >>> ip.iptype()
- 'PRIVATE'
-
-
-Supports most IP address formats
-================================
-
-It can detect about a dozen different ways of expressing IP addresses
-and networks, parse them and distinguish between IPv4 and IPv6 addresses:
-
- >>> IP('10.0.0.0/8').version()
- 4
- >>> IP('::1').version()
- 6
-
-IPv4 addresses
---------------
-
- >>> print(IP(0x7f000001))
- 127.0.0.1
- >>> print(IP('0x7f000001'))
- 127.0.0.1
- >>> print(IP('127.0.0.1'))
- 127.0.0.1
- >>> print(IP('10'))
- 10.0.0.0
-
-IPv6 addresses
---------------
-
- >>> print(IP('1080:0:0:0:8:800:200C:417A'))
- 1080::8:800:200c:417a
- >>> print(IP('1080::8:800:200C:417A'))
- 1080::8:800:200c:417a
- >>> print(IP('::1'))
- ::1
- >>> print(IP('::13.1.68.3'))
- ::d01:4403
-
-Network mask and prefixes
--------------------------
-
- >>> print(IP('127.0.0.0/8'))
- 127.0.0.0/8
- >>> print(IP('127.0.0.0/255.0.0.0'))
- 127.0.0.0/8
- >>> print(IP('127.0.0.0-127.255.255.255'))
- 127.0.0.0/8
-
-
-Derive network address
-===========================
-
-IPy can transform an IP address into a network address by applying the given
-netmask:
->>> print(IP('127.0.0.1/255.0.0.0', make_net=True))
-127.0.0.0/8
-
-This can also be done for existing IP instances:
->>> print(IP('127.0.0.1').make_net('255.0.0.0'))
-127.0.0.0/8
-
-
-Convert address to string
-=========================
-
-Nearly all class methods which return a string have an optional
-parameter 'wantprefixlen' which controls if the prefixlen or netmask
-is printed. Per default the prefilen is always shown if the network
-contains more than one address::
-
- wantprefixlen == 0 / None don't return anything 1.2.3.0
- wantprefixlen == 1 /prefix 1.2.3.0/24
- wantprefixlen == 2 /netmask 1.2.3.0/255.255.255.0
- wantprefixlen == 3 -lastip 1.2.3.0-1.2.3.255
-
-You can also change the defaults on an per-object basis by fiddling with
-the class members:
-
- * NoPrefixForSingleIp
- * WantPrefixLen
-
-Examples of string conversions:
-
- >>> IP('10.0.0.0/32').strNormal()
- '10.0.0.0'
- >>> IP('10.0.0.0/24').strNormal()
- '10.0.0.0/24'
- >>> IP('10.0.0.0/24').strNormal(0)
- '10.0.0.0'
- >>> IP('10.0.0.0/24').strNormal(1)
- '10.0.0.0/24'
- >>> IP('10.0.0.0/24').strNormal(2)
- '10.0.0.0/255.255.255.0'
- >>> IP('10.0.0.0/24').strNormal(3)
- '10.0.0.0-10.0.0.255'
- >>> ip = IP('10.0.0.0')
- >>> print(ip)
- 10.0.0.0
- >>> ip.NoPrefixForSingleIp = None
- >>> print(ip)
- 10.0.0.0/32
- >>> ip.WantPrefixLen = 3
- >>> print(ip)
- 10.0.0.0-10.0.0.0
-
-Work with multiple networks
-===========================
-
-Simple addition of neighboring netblocks that can be aggregated will yield
-a parent network of both, but more complex range mapping and aggregation
-requires is available with the IPSet class which will hold any number of
-unique address ranges and will aggregate overlapping ranges.
-
- >>> from IPy import IP, IPSet
- >>> IP('10.0.0.0/22') - IP('10.0.2.0/24')
- IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24')])
- >>> IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24'), IP('10.0.2.0/24')])
- IPSet([IP('10.0.0.0/22')])
- >>> s = IPSet([IP('10.0.0.0/22')])
- >>> s.add(IP('192.168.1.0/29'))
- >>> s
- IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/29')])
- >>> s.discard(IP('192.168.1.2'))
- >>> s
- IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/31'), IP('192.168.1.3'), IP('192.168.1.4/30')])
-
-IPSet supports the `set` method `isdisjoint`:
-
- >>> s.isdisjoint(IPSet([IP('192.168.0.0/16')]))
- False
- >>> s.isdisjoint(IPSet([IP('172.16.0.0/12')]))
- True
-
-IPSet supports intersection:
-
- >>> s & IPSet([IP('10.0.0.0/8')])
- IPSet([IP('10.0.0.0/22')])
-
-Compatibility and links
-=======================
-
-IPy 0.83 works on Python version 2.6 - 3.4.
-
-The IP module should work in Python 2.5 as long as the subtraction operation
-is not used. IPSet requires features of the collecitons class which appear
-in Python 2.6, though they can be backported.
-
-Eratta
-======
-
-When using IPv6 addresses, it is best to compare using IP().len() instead of
-len(IP). Addresses with an integer value > 64 bits can break the 2nd method.
-See http://stackoverflow.com/questions/15650878 for more info.
-
-Fuzz testing for IPSet will throw spurious errors when the IPSet module
-combines two smaller prefixes into a larger prefix that matches the random
-prefix tested against.
-
-This Python module is under BSD license: see COPYING file.
-
-Further Information might be available at:
-https://github.com/autocracy/python-ipy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/README.rst new/IPy-1.00/README.rst
--- old/IPy-0.83/README.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/IPy-1.00/README.rst 2019-02-28 00:55:17.000000000 +0100
@@ -0,0 +1,201 @@
+IPy - class and tools for handling of IPv4 and IPv6 addresses and networks.
+
+Website: https://github.com/autocracy/python-ipy/
+
+Presentation of the API
+=======================
+
+The IP class allows a comfortable parsing and handling for most
+notations in use for IPv4 and IPv6 addresses and networks. It was
+greatly inspired by RIPE's Perl module NET::IP's interface but
+doesn't share the implementation. It doesn't share non-CIDR netmasks,
+so funky stuff like a netmask of 0xffffff0f can't be done here. ::
+
+ >>> from IPy import IP
+ >>> ip = IP('127.0.0.0/30')
+ >>> for x in ip:
+ ... print(x)
+ ...
+ 127.0.0.0
+ 127.0.0.1
+ 127.0.0.2
+ 127.0.0.3
+ >>> ip2 = IP('0x7f000000/30')
+ >>> ip == ip2
+ 1
+ >>> ip.reverseNames()
+ ['0.0.0.127.in-addr.arpa.', '1.0.0.127.in-addr.arpa.', '2.0.0.127.in-addr.arpa.', '3.0.0.127.in-addr.arpa.']
+ >>> ip.reverseName()
+ '0-3.0.0.127.in-addr.arpa.'
+ >>> ip.iptype()
+ 'LOOPBACK'
+
+
+Supports most IP address formats
+================================
+
+It can detect about a dozen different ways of expressing IP addresses
+and networks, parse them and distinguish between IPv4 and IPv6 addresses: ::
+
+ >>> IP('10.0.0.0/8').version()
+ 4
+ >>> IP('::1').version()
+ 6
+
+IPv4 addresses
+--------------
+
+::
+
+ >>> print(IP(0x7f000001))
+ 127.0.0.1
+ >>> print(IP('0x7f000001'))
+ 127.0.0.1
+ >>> print(IP('127.0.0.1'))
+ 127.0.0.1
+ >>> print(IP('10'))
+ 10.0.0.0
+
+IPv6 addresses
+--------------
+
+::
+
+ >>> print(IP('1080:0:0:0:8:800:200C:417A'))
+ 1080::8:800:200c:417a
+ >>> print(IP('1080::8:800:200C:417A'))
+ 1080::8:800:200c:417a
+ >>> print(IP('::1'))
+ ::1
+ >>> print(IP('::13.1.68.3'))
+ ::d01:4403
+
+Network mask and prefixes
+-------------------------
+
+::
+
+ >>> print(IP('127.0.0.0/8'))
+ 127.0.0.0/8
+ >>> print(IP('127.0.0.0/255.0.0.0'))
+ 127.0.0.0/8
+ >>> print(IP('127.0.0.0-127.255.255.255'))
+ 127.0.0.0/8
+
+
+Derive network address
+===========================
+
+IPy can transform an IP address into a network address by applying the given
+netmask: ::
+
+ >>> print(IP('127.0.0.1/255.0.0.0', make_net=True))
+ 127.0.0.0/8
+
+This can also be done for existing IP instances: ::
+
+ >>> print(IP('127.0.0.1').make_net('255.0.0.0'))
+ 127.0.0.0/8
+
+
+Convert address to string
+=========================
+
+Nearly all class methods which return a string have an optional
+parameter 'wantprefixlen' which controls if the prefixlen or netmask
+is printed. Per default the prefilen is always shown if the network
+contains more than one address: ::
+
+ wantprefixlen == 0 / None don't return anything 1.2.3.0
+ wantprefixlen == 1 /prefix 1.2.3.0/24
+ wantprefixlen == 2 /netmask 1.2.3.0/255.255.255.0
+ wantprefixlen == 3 -lastip 1.2.3.0-1.2.3.255
+
+You can also change the defaults on an per-object basis by fiddling with
+the class members:
+
+- NoPrefixForSingleIp
+- WantPrefixLen
+
+Examples of string conversions: ::
+
+ >>> IP('10.0.0.0/32').strNormal()
+ '10.0.0.0'
+ >>> IP('10.0.0.0/24').strNormal()
+ '10.0.0.0/24'
+ >>> IP('10.0.0.0/24').strNormal(0)
+ '10.0.0.0'
+ >>> IP('10.0.0.0/24').strNormal(1)
+ '10.0.0.0/24'
+ >>> IP('10.0.0.0/24').strNormal(2)
+ '10.0.0.0/255.255.255.0'
+ >>> IP('10.0.0.0/24').strNormal(3)
+ '10.0.0.0-10.0.0.255'
+ >>> ip = IP('10.0.0.0')
+ >>> print(ip)
+ 10.0.0.0
+ >>> ip.NoPrefixForSingleIp = None
+ >>> print(ip)
+ 10.0.0.0/32
+ >>> ip.WantPrefixLen = 3
+ >>> print(ip)
+ 10.0.0.0-10.0.0.0
+
+Work with multiple networks
+===========================
+
+Simple addition of neighboring netblocks that can be aggregated will yield
+a parent network of both, but more complex range mapping and aggregation
+requires is available with the ``IPSet`` class which will hold any number of
+unique address ranges and will aggregate overlapping ranges. ::
+
+ >>> from IPy import IP, IPSet
+ >>> IP('10.0.0.0/22') - IP('10.0.2.0/24')
+ IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24')])
+ >>> IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24'), IP('10.0.2.0/24')])
+ IPSet([IP('10.0.0.0/22')])
+ >>> s = IPSet([IP('10.0.0.0/22')])
+ >>> s.add(IP('192.168.1.0/29'))
+ >>> s
+ IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/29')])
+ >>> s.discard(IP('192.168.1.2'))
+ >>> s
+ IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/31'), IP('192.168.1.3'), IP('192.168.1.4/30')])
+
+``IPSet`` supports the ``set`` method ``isdisjoint``: ::
+
+ >>> s.isdisjoint(IPSet([IP('192.168.0.0/16')]))
+ False
+ >>> s.isdisjoint(IPSet([IP('172.16.0.0/12')]))
+ True
+
+``IPSet`` supports intersection: ::
+
+ >>> s & IPSet([IP('10.0.0.0/8')])
+ IPSet([IP('10.0.0.0/22')])
+
+Compatibility and links
+=======================
+
+IPy 1.00 works on Python version 2.6 - 3.7.
+
+The IP module should work in Python 2.5 as long as the subtraction operation
+is not used. IPSet requires features of the collecitons class which appear
+in Python 2.6, though they can be backported.
+
+Eratta
+======
+
+When using IPv6 addresses, it is best to compare using ``IP().len()``
+instead of ``len(IP)``. Addresses with an integer value > 64 bits can break
+the 2nd method. See http://stackoverflow.com/questions/15650878 for more
+info.
+
+Fuzz testing for ``IPSet`` will throw spurious errors when the ``IPSet`` module
+combines two smaller prefixes into a larger prefix that matches the random
+prefix tested against.
+
+This Python module is under BSD license: see COPYING file.
+
+Further Information might be available at:
+https://github.com/autocracy/python-ipy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/setup.py new/IPy-1.00/setup.py
--- old/IPy-0.83/setup.py 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/setup.py 2019-02-28 01:20:06.000000000 +0100
@@ -4,15 +4,14 @@
#
# - set version in IPy.py
# - set version in setup.py
+# - set version in README.rst
# - run unit test: make
-# - run unit test: make PYTHON=python3
# - set release date in ChangeLog
# - git commit -a
# - git tag -a IPy-x.y -m "tag IPy x.y"
# - git push
# - git push --tags
# - python setup.py register sdist upload
-# - update the website
#
# After the release:
# - set version to n+1 (IPy.py and setup.py)
@@ -24,11 +23,11 @@
import sys
from distutils.core import setup
-VERSION = '0.83'
+VERSION = '1.00'
options = {}
-with open('README') as fp:
+with open('README.rst') as fp:
README = fp.read().strip() + "\n\n"
ChangeLog = (
@@ -63,7 +62,7 @@
long_description=LONG_DESCRIPTION,
author="Maximillian Dornseif",
maintainer="Jeff Ferland",
- maintainer_email="jeff AT storyinmemo.com",
+ maintainer_email="jeff(a)storyinmemo.com",
license="BSD License",
keywords="ipv4 ipv6 netmask",
url=URL,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/test/test.rst new/IPy-1.00/test/test.rst
--- old/IPy-0.83/test/test.rst 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/test/test.rst 2019-02-28 00:45:37.000000000 +0100
@@ -29,8 +29,8 @@
>>> d={}
>>> d[IP('0.0.0.0/0')] = 1
>>> d[IP('::/0')] = 2
->>> d
-{IP('::/0'): 2, IP('0.0.0.0/0'): 1}
+>>> sorted(d.items())
+[(IP('0.0.0.0/0'), 1), (IP('::/0'), 2)]
>>> addresses = [IP('0.0.0.0/16'), IP('::7'), IP('::3'), IP('::0'),
... IP('0.0.0.0'), IP('0.0.0.3'), IP('0.0.0.0/0'), IP('::/0')]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/test/test_IPy.py new/IPy-1.00/test/test_IPy.py
--- old/IPy-0.83/test/test_IPy.py 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/test/test_IPy.py 2019-02-28 00:46:37.000000000 +0100
@@ -210,7 +210,7 @@
self.assertEqual(IPy._count1Bits(0xffffffff), 32)
self.assertEqual(IPy._count1Bits(0xffffffffffffffffffffffffffffffff), 128)
- def testCount1Bits(self):
+ def testCount0Bits(self):
self.assertEqual(IPy._count0Bits(0), 0)
self.assertEqual(IPy._count0Bits(0xf0), 4)
self.assertEqual(IPy._count0Bits(0xf00), 8)
@@ -612,7 +612,7 @@
self.assertEqual(str(IPy.IP("0.0.0.0/0").netmask()), "0.0.0.0")
self.assertEqual(str(IPy.IP("0.0.0.0/32").netmask()), "255.255.255.255")
self.assertEqual(str(IPy.IP("127.0.0.0/24").netmask()), "255.255.255.0")
- self.assertEqual(str(IPy.IP("2001:1234:5678:1234::/64").netmask()), "ffff:ffff:ffff:ffff:0000:0000:0000:0000")
+ self.assertEqual(str(IPy.IP("2001:1234:5678:1234::/64").netmask()), "ffff:ffff:ffff:ffff::")
def testInt(self):
"""Prefixlen"""
@@ -661,19 +661,6 @@
result = IPy.IP(a).overlaps(b)
self.assertEqual(answer, result, (a, b, result, answer))
- def testNetmask(self):
- """Normal string Output."""
- testValues = [(338770000845734292534325025077361652240, '0xfedcba9876543210fedcba9876543210'),
- (21932261930451111902915077091070067066, '0x108000000000000000080800200c417a'),
- (338958331222012082418099330867817087043, '0xff010000000000000000000000000043'),
- (0, '0x0'),
- (1, '0x1'),
- (4294967295, '0xffffffff'),
- (3588059479, '0xd5dd7157')]
- for (question, answer) in testValues:
- result = IPy.IP(question).strHex(question).lower()
- self.assertEqual(answer, result, (question, result, answer))
-
def testV46map(self):
four = IPy.IP('192.168.1.1')
six = IPy.IP('::ffff:192.168.1.1')
@@ -904,6 +891,9 @@
self.assertEqual(len(IPy.IP('192.168.0.0/24')), 256)
self.assertRaises(ValueError, IPy.IP, '192.168.1.0/42')
+ def testConsistentIP6StrInt(self):
+ self.assertEqual(IPy.IP('11', ipversion=6), IPy.IP(11, ipversion=6))
+
class TestConstrutor(unittest.TestCase):
def testCheckAddrPrefixlenOff(self):
self.assertRaises(ValueError, IPy.IP, 0xffffffff + 1, ipversion=4)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/test_doc.py new/IPy-1.00/test_doc.py
--- old/IPy-0.83/test_doc.py 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/test_doc.py 2018-02-01 09:32:18.000000000 +0100
@@ -5,7 +5,7 @@
total_failures, total_tests = (0, 0)
print("=== Test file: README ===")
- failure, tests = doctest.testfile('README', optionflags=doctest.ELLIPSIS)
+ failure, tests = doctest.testfile('README.rst', optionflags=doctest.ELLIPSIS)
total_failures += failure
total_tests += tests
1
0
Hello community,
here is the log from the commit of package scons for openSUSE:Factory checked in at 2019-05-25 13:17:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/scons (Old)
and /work/SRC/openSUSE:Factory/.scons.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scons"
Sat May 25 13:17:32 2019 rev:41 rq:704409 version:3.0.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/scons/scons.changes 2019-04-01 12:32:49.829789878 +0200
+++ /work/SRC/openSUSE:Factory/.scons.new.5148/scons.changes 2019-05-25 13:17:34.808395788 +0200
@@ -1,0 +2,17 @@
+Tue May 21 10:07:35 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Disable bit more msvc tests as we don't care about the fails
+
+-------------------------------------------------------------------
+Sat May 18 01:12:28 UTC 2019 - Andreas Stieger <andreas.stieger(a)gmx.de>
+
+- scons 3.0.5:
+ * Fixes related to --config=force
+ * Change the default for AppendENVPath to delete_existing=0, so
+ path order will not be changed, unless explicitly set
+ * Add the textfile tool to the default tool list
+ * Fix regex patterns that were not specified as raw strings
+ * Do not store build host+user name if reproducible builds are
+ wanted
+
+-------------------------------------------------------------------
Old:
----
3.0.4.tar.gz
scons-user.html-3.0.4.tar.bz2
New:
----
3.0.5.tar.gz
scons-user.html-3.0.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ scons.spec ++++++
--- /var/tmp/diff_new_pack.UTuuug/_old 2019-05-25 13:17:36.912395006 +0200
+++ /var/tmp/diff_new_pack.UTuuug/_new 2019-05-25 13:17:36.940394995 +0200
@@ -26,7 +26,7 @@
%bcond_with test
%endif
Name: scons%{psuffix}
-Version: 3.0.4
+Version: 3.0.5
Release: 0
Summary: Replacement for Make
License: MIT
@@ -84,8 +84,15 @@
cp %{SOURCE2} grep-filter-list.txt
chmod -x src/CHANGES.txt README.rst src/RELEASE.txt
-# the test is marked skipped but fails
-rm test/MSVS/vs-14.1-exec.py
+# the test is marked skipped but fails; and all are windows based so
+# we can safely ignore them
+rm -r test/MSVC/
+rm -r test/MSVS/
+rm -r test/Win32/
+rm test/fixture/no_msvc/no_regs_sconstruct.py
+rm test/fixture/no_msvc/no_msvcs_sconstruct.py
+rm test/LEX/live_mingw.py
+rm test/Decider/MD5-winonly-firstbuild.py
%build
python3 bootstrap.py build/scons
@@ -118,10 +125,10 @@
%endif
%endif
+%if !%{with test}
%files
%license LICENSE
%doc src/CHANGES.txt README.rst src/RELEASE.txt
-%if !%{with test}
%{_bindir}/*
%{python3_sitelib}/SCons
%{python3_sitelib}/%{modname}*.egg-info
++++++ 3.0.4.tar.gz -> 3.0.5.tar.gz ++++++
++++ 7934 lines of diff (skipped)
++++++ scons-user.html-3.0.4.tar.bz2 -> scons-user.html-3.0.5.tar.bz2 ++++++
++++ 1611 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-pycryptodome for openSUSE:Factory checked in at 2019-05-25 13:17:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pycryptodome (Old)
and /work/SRC/openSUSE:Factory/.python-pycryptodome.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pycryptodome"
Sat May 25 13:17:05 2019 rev:10 rq:705218 version:3.8.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pycryptodome/python-pycryptodome.changes 2019-05-20 10:25:01.005982636 +0200
+++ /work/SRC/openSUSE:Factory/.python-pycryptodome.new.5148/python-pycryptodome.changes 2019-05-25 13:17:10.188404943 +0200
@@ -1,0 +2,6 @@
+Fri May 24 11:36:30 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Use -fno-strict-aliasing in order to bypass:
+ https://github.com/Legrandin/pycryptodome/issues/291.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pycryptodome.spec ++++++
--- /var/tmp/diff_new_pack.e3JoQU/_old 2019-05-25 13:17:11.300404529 +0200
+++ /var/tmp/diff_new_pack.e3JoQU/_new 2019-05-25 13:17:11.300404529 +0200
@@ -84,7 +84,9 @@
%setup -q -n pycryptodome-%{version}
%build
-export CFLAGS="%{optflags}"
+# Use -fno-strict-aliasing in order to bypass:
+# https://github.com/Legrandin/pycryptodome/issues/291
+export CFLAGS="%{optflags} -fno-strict-aliasing"
%python_build
%install
1
0
Hello community,
here is the log from the commit of package gdb for openSUSE:Factory checked in at 2019-05-25 13:16:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdb (Old)
and /work/SRC/openSUSE:Factory/.gdb.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdb"
Sat May 25 13:16:31 2019 rev:125 rq:704721 version:8.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gdb/gdb.changes 2019-01-26 22:21:16.622910966 +0100
+++ /work/SRC/openSUSE:Factory/.gdb.new.5148/gdb.changes 2019-05-25 13:16:33.880418443 +0200
@@ -1,0 +2,7 @@
+Wed May 22 08:44:01 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add gdb-gcc9-fix-build-with-latest-GCC-9.0-tree.patch and
+ gdb-gcc9-warning-on-elf32-arm.c-elf32_arm_final_link.patch
+ in order to fix build with GCC9.
+
+-------------------------------------------------------------------
New:
----
gdb-gcc9-fix-build-with-latest-GCC-9.0-tree.patch
gdb-gcc9-warning-on-elf32-arm.c-elf32_arm_final_link.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gdb.spec ++++++
--- /var/tmp/diff_new_pack.c2Q3aS/_old 2019-05-25 13:16:45.084414277 +0200
+++ /var/tmp/diff_new_pack.c2Q3aS/_new 2019-05-25 13:16:45.088414275 +0200
@@ -13,7 +13,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -244,6 +244,8 @@
Patch1004: gdb-fix-buf-overflow.diff
Patch1005: gdb-7.10-swo18929.patch
Patch1007: gdb-fix-s390-build.diff
+Patch1008: gdb-gcc9-fix-build-with-latest-GCC-9.0-tree.patch
+Patch1009: gdb-gcc9-warning-on-elf32-arm.c-elf32_arm_final_link.patch
# Backports from master
Patch2000: gdb-fix-crash-when-reading-core.patch
@@ -570,6 +572,8 @@
%patch1004 -p1
%patch1005 -p1
%patch1007 -p1
+%patch1008 -p1
+%patch1009 -p1
%patch2000 -p1
%patch2001 -p1
++++++ gdb-gcc9-fix-build-with-latest-GCC-9.0-tree.patch ++++++
>From 7406a50077773e78282a495cb32ef5b8179f6a33 Mon Sep 17 00:00:00 2001
From: Dimitar Dimitrov <dimitar(a)dinux.eu>
Date: Mon, 17 Dec 2018 21:30:52 +0200
Subject: [PATCH] Fix build with latest GCC 9.0 tree
A recent patch [1] to fix a GCC PR [2] actually broke the GDB build.
To fix, remove the stack pointer clobber. GCC will ignore the clobber
marker, and will not save or restore the stack pointer.
I ran "make check-gdb" on x86_64 to ensure there are no regressions.
gdb/ChangeLog:
2018-12-17 Dimitar Dimitrov <dimitar(a)dinux.eu>
* nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Remove sp clobbers.
[1] https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00532.html
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813
Signed-off-by: Dimitar Dimitrov <dimitar(a)dinux.eu>
---
gdb/ChangeLog | 5 +++++
gdb/nat/linux-ptrace.c | 4 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
index d4c1b8f9fd..187cfeb9bc 100644
--- a/gdb/nat/linux-ptrace.c
+++ b/gdb/nat/linux-ptrace.c
@@ -161,14 +161,14 @@ linux_ptrace_test_ret_to_nx (void)
".globl linux_ptrace_test_ret_to_nx_instr;"
"linux_ptrace_test_ret_to_nx_instr:"
"ret"
- : : "r" (return_address) : "%esp", "memory");
+ : : "r" (return_address) : "memory");
#elif defined __x86_64__
asm volatile ("pushq %0;"
".globl linux_ptrace_test_ret_to_nx_instr;"
"linux_ptrace_test_ret_to_nx_instr:"
"ret"
: : "r" ((uint64_t) (uintptr_t) return_address)
- : "%rsp", "memory");
+ : "memory");
#else
# error "!__i386__ && !__x86_64__"
#endif
--
2.21.0
++++++ gdb-gcc9-warning-on-elf32-arm.c-elf32_arm_final_link.patch ++++++
>From 453f8e1e4918171bc12e4d03aab7ee8360dfcfef Mon Sep 17 00:00:00 2001
From: Sergio Durigan Junior <sergiodj(a)redhat.com>
Date: Mon, 21 Jan 2019 15:36:41 -0500
Subject: [PATCH] Fix GCC9 warning on elf32-arm.c:elf32_arm_final_link_relocate
Fedora Rawhide has just switched to GCC9, and now GDB doesn't compile
because of a BFD warning:
BUILDSTDERR: ../../bfd/elf32-arm.c: In function 'elf32_arm_final_link_relocate':
BUILDSTDERR: ../../bfd/elf32-arm.c:10907:10: error: absolute value function 'labs' given an argument of type 'bfd_signed_vma' {aka 'long long int'} but has parameter of type 'long int' which may cause truncation of value [-Werror=absolute-value]
BUILDSTDERR: 10907 | value = labs (relocation);
BUILDSTDERR: | ^~~~
You can take a look at the full build log here:
https://kojipkgs.fedoraproject.org//work/tasks/4828/32174828/build.log
The fix is (apparently) simple: instead of using 'labs', we should use
'llabs', since we're passing a 'bfd_signed_vma' to it, which is at
least a 'long long int', as far as I have checked. This is what this
patch does.
bfd/ChangeLog:
2019-01-25 Sergio Durigan Junior <sergiodj(a)redhat.com>
* elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
of 'labs' (and fix GCC warning).
---
bfd/ChangeLog | 5 +++++
bfd/elf32-arm.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 53baea269b..28ee9d55a8 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -10904,7 +10904,7 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
/* PR 21523: Use an absolute value. The user of this reloc will
have already selected an ADD or SUB insn appropriately. */
- value = labs (relocation);
+ value = llabs (relocation);
if (value >= 0x1000)
return bfd_reloc_overflow;
--
2.21.0
1
0
Hello community,
here is the log from the commit of package libimagequant for openSUSE:Factory checked in at 2019-05-25 13:15:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libimagequant (Old)
and /work/SRC/openSUSE:Factory/.libimagequant.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libimagequant"
Sat May 25 13:15:20 2019 rev:4 rq:704133 version:2.12.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/libimagequant/libimagequant.changes 2019-03-22 14:54:18.094062869 +0100
+++ /work/SRC/openSUSE:Factory/.libimagequant.new.5148/libimagequant.changes 2019-05-25 13:15:22.448445003 +0200
@@ -1,0 +2,6 @@
+Tue May 14 08:55:03 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add gcc9-Update-const-var-openmp-const-var-handling.patch in order
+ to handle boo#1134979.
+
+-------------------------------------------------------------------
New:
----
gcc9-Update-const-var-openmp-const-var-handling.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libimagequant.spec ++++++
--- /var/tmp/diff_new_pack.dzDBiq/_old 2019-05-25 13:15:24.236444338 +0200
+++ /var/tmp/diff_new_pack.dzDBiq/_new 2019-05-25 13:15:24.244444335 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -26,6 +26,7 @@
Group: Development/Languages/C and C++
Url: https://pngquant.org/lib/
Source: https://github.com/ImageOptim/libimagequant/archive/%{version}/%{name}-%{ve…
+Patch0: gcc9-Update-const-var-openmp-const-var-handling.patch
BuildRequires: pkgconfig
BuildRequires: pkgconfig(lcms2)
@@ -52,6 +53,7 @@
%prep
%setup -q
+%patch0 -p1
%build
# This is not an autoconf configure, but the script simply ignores parameters it does not know
++++++ gcc9-Update-const-var-openmp-const-var-handling.patch ++++++
>From 62c4bf1dc8bda1e53fbb65e596a141c5a15a4f00 Mon Sep 17 00:00:00 2001
From: Nicholas Vinson <nvinson234(a)gmail.com>
Date: Sat, 4 May 2019 14:03:48 -0700
Subject: [PATCH] Update const-var openmp const-var handling
OpenMP 4.0 dropped the data-sharing rule that predetermined const-vars
as "shared". GCC implemented this rule change with GCC-9. Because of
the rule change, libimagequant fails to build with gcc-9.1.0. This
patch updates the code so that it is conformant with OpenMP 4.0 rules.
---
kmeans.c | 5 +++++
libimagequant.c | 5 +++++
mediancut.c | 5 +++++
3 files changed, 15 insertions(+)
diff --git a/kmeans.c b/kmeans.c
index 7ee273d..c8630ae 100644
--- a/kmeans.c
+++ b/kmeans.c
@@ -73,8 +73,13 @@ LIQ_PRIVATE double kmeans_do_iteration(histogram *hist, colormap *const map, kme
const int hist_size = hist->size;
double total_diff=0;
+#if __GNUC__ >= 9
+ #pragma omp parallel for if (hist_size > 2000) \
+ schedule(static) default(none) shared(achv,average_color,callback,hist_size,map,n) reduction(+:total_diff)
+#else
#pragma omp parallel for if (hist_size > 2000) \
schedule(static) default(none) shared(average_color,callback) reduction(+:total_diff)
+#endif
for(int j=0; j < hist_size; j++) {
float diff;
unsigned int match = nearest_search(n, &achv[j].acolor, achv[j].tmp.likely_colormap_index, &diff);
diff --git a/libimagequant.c b/libimagequant.c
index 3506564..114e5f1 100644
--- a/libimagequant.c
+++ b/libimagequant.c
@@ -1276,8 +1276,13 @@ LIQ_NONNULL static float remap_to_palette(liq_image *const input_image, unsigned
LIQ_ARRAY(kmeans_state, average_color, (KMEANS_CACHE_LINE_GAP+map->colors) * max_threads);
kmeans_init(map, max_threads, average_color);
+#if __GNUC__ >= 9
+ #pragma omp parallel for if (rows*cols > 3000) \
+ schedule(static) default(none) shared(acolormap,average_color,cols,input_image,map,n,output_pixels,rows,transparent_index) reduction(+:remapping_error)
+#else
#pragma omp parallel for if (rows*cols > 3000) \
schedule(static) default(none) shared(acolormap) shared(average_color) reduction(+:remapping_error)
+#endif
for(int row = 0; row < rows; ++row) {
const f_pixel *const row_pixels = liq_image_get_row_f(input_image, row);
const f_pixel *const bg_pixels = input_image->background && acolormap[transparent_index].acolor.a < 1.f/256.f ? liq_image_get_row_f(input_image->background, row) : NULL;
diff --git a/mediancut.c b/mediancut.c
index 447a4af..4421cb4 100644
--- a/mediancut.c
+++ b/mediancut.c
@@ -195,8 +195,13 @@ static double prepare_sort(struct box *b, hist_item achv[])
const unsigned int ind1 = b->ind;
const unsigned int colors = b->colors;
+#if __GNUC__ >= 9
+ #pragma omp parallel for if (colors > 25000) \
+ schedule(static) default(none) shared(achv, channels, colors, ind1)
+#else
#pragma omp parallel for if (colors > 25000) \
schedule(static) default(none) shared(achv, channels)
+#endif
for(unsigned int i=0; i < colors; i++) {
const float *chans = (const float *)&achv[ind1 + i].acolor;
// Only the first channel really matters. When trying median cut many times
--
2.21.0
1
0
Hello community,
here is the log from the commit of package open-lldp for openSUSE:Factory checked in at 2019-05-25 13:15:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/open-lldp (Old)
and /work/SRC/openSUSE:Factory/.open-lldp.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "open-lldp"
Sat May 25 13:15:13 2019 rev:12 rq:704116 version:1.0.1+56.cb81e95
Changes:
--------
--- /work/SRC/openSUSE:Factory/open-lldp/open-lldp.changes 2019-03-24 14:56:31.467205085 +0100
+++ /work/SRC/openSUSE:Factory/.open-lldp.new.5148/open-lldp.changes 2019-05-25 13:15:14.480447966 +0200
@@ -1,0 +2,10 @@
+Tue May 14 09:28:48 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add disable-werror.patch.
+
+-------------------------------------------------------------------
+Thu May 9 12:05:15 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Disable -Werror (boo#1128299) and remove gcc9-fix-werror.patch.
+
+-------------------------------------------------------------------
Old:
----
gcc9-fix-werror.patch
New:
----
disable-werror.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ open-lldp.spec ++++++
--- /var/tmp/diff_new_pack.mEGy8Y/_old 2019-05-25 13:15:16.096447365 +0200
+++ /var/tmp/diff_new_pack.mEGy8Y/_new 2019-05-25 13:15:16.120447356 +0200
@@ -32,7 +32,7 @@
BuildRequires: readline-devel
Url: https://github.com/intel/openlldp
Source: %{name}-v%{version}.tar.xz
-Patch0: gcc9-fix-werror.patch
+Patch0: disable-werror.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: dcbd = %{version}
Obsoletes: dcbd < %{version}
++++++ disable-werror.patch ++++++
diff --git a/Makefile.am b/Makefile.am
index 292c0fd..b20574c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,7 +19,7 @@ ACLOCAL_AMFLAGS = -I m4
parse_cli.o: CFLAGS+=-U_FORTIFY_SOURCE -Wno-error
## system requires a shared libconfig
-AM_CFLAGS = -Wall -Werror -Wextra -Wformat=2 $(LIBCONFIG_CFLAGS) $(LIBNL_CFLAGS)
+AM_CFLAGS = -Wall -Wextra -Wformat=2 $(LIBCONFIG_CFLAGS) $(LIBNL_CFLAGS)
AM_LDFLAGS = $(LIBCONFIG_LIBS) $(LIBNL_LIBS) -lrt
## header files to be installed, for programs using the client interface to lldpad
diff --git a/configure.ac b/configure.ac
index 0667446..e49867e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_INIT([lldpad], [1.0.1], [lldp-devel(a)open-lldp.org]
-AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
+AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
m4_pattern_allow([AM_PROG_AR])
AM_PROG_AR
1
0
Hello community,
here is the log from the commit of package go1.9 for openSUSE:Factory checked in at 2019-05-25 13:15:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go1.9 (Old)
and /work/SRC/openSUSE:Factory/.go1.9.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go1.9"
Sat May 25 13:15:06 2019 rev:7 rq:703506 version:1.9.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/go1.9/go1.9.changes 2018-12-21 08:18:23.697739791 +0100
+++ /work/SRC/openSUSE:Factory/.go1.9.new.5148/go1.9.changes 2019-05-25 13:15:07.508450559 +0200
@@ -1,0 +2,5 @@
+Thu May 16 07:12:55 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add gcc9-rsp-clobber.patch in order to fix bsc#1121397.
+
+-------------------------------------------------------------------
New:
----
gcc9-rsp-clobber.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ go1.9.spec ++++++
--- /var/tmp/diff_new_pack.WH2cdN/_old 2019-05-25 13:15:10.364449497 +0200
+++ /var/tmp/diff_new_pack.WH2cdN/_new 2019-05-25 13:15:10.392449486 +0200
@@ -1,7 +1,7 @@
#
# spec file for package go1.9
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -109,6 +109,7 @@
Patch9: gcc7-go.patch
# PATCH-FIX-UPSTREAM (compiler-rt): Fix sanitizer build against latest glibc
Patch100: fix-sanitizer-build-against-latest-glibc.patch
+Patch101: gcc9-rsp-clobber.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# boostrap
%if %{with_gccgo}
@@ -186,6 +187,7 @@
# compiler-rt
%setup -q -T -b 100 -n compiler-rt-g%{tsan_commit}
%patch100 -p1
+%patch101 -p1
%endif
# go
%setup -q -n go
++++++ gcc9-rsp-clobber.patch ++++++
--- a/lib/sanitizer_common/sanitizer_linux.cc 2018-01-11 23:53:30.000000000 +0100
+++ b/lib/sanitizer_common/sanitizer_linux.cc.new 2019-03-10 21:23:23.824919781 +0100
@@ -1243,7 +1243,7 @@
"d"(parent_tidptr),
"r"(r8),
"r"(r10)
- : "rsp", "memory", "r11", "rcx");
+ : "memory", "r11", "rcx");
return res;
}
#elif defined(__mips__)
1
0
Hello community,
here is the log from the commit of package go1.12 for openSUSE:Factory checked in at 2019-05-25 13:14:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go1.12 (Old)
and /work/SRC/openSUSE:Factory/.go1.12.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go1.12"
Sat May 25 13:14:57 2019 rev:5 rq:703505 version:1.12.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/go1.12/go1.12.changes 2019-05-09 10:09:13.380995911 +0200
+++ /work/SRC/openSUSE:Factory/.go1.12.new.5148/go1.12.changes 2019-05-25 13:14:58.484453913 +0200
@@ -1,0 +2,5 @@
+Thu May 16 07:12:19 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add gcc9-rsp-clobber.patch in order to fix bsc#1121397.
+
+-------------------------------------------------------------------
New:
----
gcc9-rsp-clobber.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ go1.12.spec ++++++
--- /var/tmp/diff_new_pack.NA4U4b/_old 2019-05-25 13:15:00.500453164 +0200
+++ /var/tmp/diff_new_pack.NA4U4b/_new 2019-05-25 13:15:00.528453153 +0200
@@ -140,6 +140,7 @@
Patch8: gcc6-go.patch
Patch9: gcc7-go.patch
Patch10: gcc8-go.patch
+Patch11: gcc9-rsp-clobber.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# boostrap
%if %{with gccgo}
@@ -211,6 +212,7 @@
%ifarch %{tsan_arch}
# compiler-rt
%setup -q -T -b 100 -n compiler-rt-g%{tsan_commit}
+%patch11 -p1
%endif
# go
%setup -q -n go
++++++ gcc9-rsp-clobber.patch ++++++
--- a/lib/sanitizer_common/sanitizer_linux.cc 2018-01-11 23:53:30.000000000 +0100
+++ b/lib/sanitizer_common/sanitizer_linux.cc.new 2019-03-10 21:23:23.824919781 +0100
@@ -1243,7 +1243,7 @@
"d"(parent_tidptr),
"r"(r8),
"r"(r10)
- : "rsp", "memory", "r11", "rcx");
+ : "memory", "r11", "rcx");
return res;
}
#elif defined(__mips__)
1
0
Hello community,
here is the log from the commit of package gcc for openSUSE:Factory checked in at 2019-05-25 13:14:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc (Old)
and /work/SRC/openSUSE:Factory/.gcc.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc"
Sat May 25 13:14:49 2019 rev:63 rq:703444 version:9
Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc/gcc.changes 2018-06-26 10:29:30.140256250 +0200
+++ /work/SRC/openSUSE:Factory/.gcc.new.5148/gcc.changes 2019-05-25 13:14:51.484456516 +0200
@@ -1,0 +2,15 @@
+Thu May 16 13:23:19 UTC 2019 - Andreas Schwab <schwab(a)suse.de>
+
+- Add ada links on riscv64
+
+-------------------------------------------------------------------
+Fri May 10 07:23:58 UTC 2019 - rguenther(a)suse.com
+
+- Package default D compiler.
+
+-------------------------------------------------------------------
+Tue Apr 30 09:09:39 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Switch gcc to default 9.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gcc.spec ++++++
--- /var/tmp/diff_new_pack.E9x1A0/_old 2019-05-25 13:14:53.028455942 +0200
+++ /var/tmp/diff_new_pack.E9x1A0/_new 2019-05-25 13:14:53.028455942 +0200
@@ -1,7 +1,7 @@
#
# spec file for package gcc
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -28,19 +28,24 @@
# Ada currently fails to build on a few platforms, enable it only
# on those that work
# Note that AdaCore only supports %ix86, x86_64 and ia64
-%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390 s390x ia64 aarch64
+%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390 s390x ia64 aarch64 riscv64
%define build_ada 1
%else
# alpha hppa arm
%define build_ada 0
%endif
+%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
+%define build_d 1
+%else
+%define build_d 0
+%endif
Url: http://gcc.gnu.org/
-%define gcc_version 8
-%define gcc_suffix 8
-Version: 8
+%define gcc_version 9
+%define gcc_suffix 9
+Version: 9
Release: 0
Summary: The system GNU C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Provides: c_compiler
Obsoletes: gcc-ar
@@ -60,7 +65,7 @@
%package -n gcc-32bit
Summary: The system GNU C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-32bit
@@ -72,7 +77,7 @@
%package -n gcc-64bit
Summary: The system GNU C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-64bit
@@ -84,7 +89,7 @@
%package -n cpp
Summary: The system GNU Preprocessor
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: cpp%{gcc_version}
@@ -94,7 +99,7 @@
%package -n gcc-devel
Summary: The system GNU C Compiler Plugin development files
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-devel
@@ -105,7 +110,7 @@
%package -n gcc-locale
Summary: The system GNU Compiler locale files
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-locale
@@ -116,7 +121,7 @@
%package -n gcc-info
Summary: The system GNU Compiler documentation
-License: GFDL-1.2
+License: GFDL-1.2-only
Group: Development/Languages/C and C++
PreReq: %{install_info_prereq}
PreReq: gcc%{gcc_version}-info
@@ -142,7 +147,7 @@
%package -n gcc-c++
Summary: The system GNU C++ Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Provides: c++_compiler
Requires: gcc = %{version}
@@ -154,7 +159,7 @@
%package -n gcc-c++-32bit
Summary: The system GNU C++ Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-c++-32bit
Requires: gcc-32bit = %{version}
@@ -166,7 +171,7 @@
%package -n gcc-c++-64bit
Summary: The system GNU C++ Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-c++-64bit
Requires: gcc-64bit = %{version}
@@ -212,7 +217,7 @@
%package -n gcc-fortran
Summary: The system GNU Fortran Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Fortran
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-fortran
@@ -223,7 +228,7 @@
%package -n gcc-fortran-32bit
Summary: The system GNU Fortran Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Fortran
Requires: gcc%{gcc_version}-fortran-32bit
Requires: gcc-fortran = %{version}
@@ -234,7 +239,7 @@
%package -n gcc-fortran-64bit
Summary: The system GNU Fortran Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Fortran
Requires: gcc%{gcc_version}-fortran-64bit
Requires: gcc-fortran = %{version}
@@ -246,7 +251,7 @@
%package -n gcc-objc
Summary: The system GNU Objective C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-objc
@@ -261,7 +266,7 @@
%package -n gcc-objc-32bit
Summary: The system GNU Objective C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc%{gcc_version}-objc-32bit
Requires: gcc-objc = %{version}
@@ -273,7 +278,7 @@
%package -n gcc-objc-64bit
Summary: The system GNU Objective C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc%{gcc_version}-objc-64bit
Requires: gcc-objc = %{version}
@@ -285,7 +290,7 @@
%package -n gcc-obj-c++
Summary: The system GNU Objective C++ Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc%{gcc_version}-obj-c++
Requires: gcc-objc = %{version}
@@ -297,7 +302,7 @@
%package -n gcc-PIE
Summary: A default configuration to build all binaries in PIE mode
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc
@@ -310,7 +315,7 @@
%package -n gcc-ada
Summary: The system GNU Ada Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-ada
@@ -320,7 +325,7 @@
%package -n gcc-ada-32bit
Summary: The system GNU Ada Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-ada-32bit
Requires: gcc-ada = %{version}
@@ -330,7 +335,7 @@
%package -n gcc-ada-64bit
Summary: The system GNU Ada Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-ada-64bit
Requires: gcc-ada = %{version}
@@ -341,7 +346,7 @@
%package -n gcc-go
Summary: The system GNU Go Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-go
@@ -353,7 +358,7 @@
%package -n gcc-go-32bit
Summary: The system GNU Go Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-go-32bit
Requires: gcc-go = %{version}
@@ -363,7 +368,7 @@
%package -n gcc-go-64bit
Summary: The system GNU Go Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-go-64bit
Requires: gcc-go = %{version}
@@ -372,6 +377,39 @@
The system GNU Go Compiler 64bit support.
+%package -n gcc-d
+Summary: The system GNU D Compiler
+License: GPL-3.0-or-later
+Group: Development/Languages/C and C++
+Requires: gcc = %{version}
+Requires: gcc%{gcc_version}-d
+Requires(post): update-alternatives
+Requires(postun): update-alternatives
+
+%description -n gcc-d
+The system GNU D Compiler.
+
+%package -n gcc-d-32bit
+Summary: The system GNU D Compiler
+License: GPL-3.0-or-later
+Group: Development/Languages/C and C++
+Requires: gcc%{gcc_version}-d-32bit
+Requires: gcc-d = %{version}
+
+%description -n gcc-d-32bit
+The system GNU D Compiler 32bit support.
+
+%package -n gcc-d-64bit
+Summary: The system GNU D Compiler
+License: GPL-3.0-or-later
+Group: Development/Languages/C and C++
+Requires: gcc%{gcc_version}-d-64bit
+Requires: gcc-d = %{version}
+
+%description -n gcc-d-64bit
+The system GNU D Compiler 64bit support.
+
+
%prep
%install
@@ -392,6 +430,9 @@
gnat gnatbind gnatbl gnatchop gnatclean gnatfind gnatkr \
gnatlink gnatls gnatmake gnatname gnatprep gnatxref gprmake \
%endif
+%if %{build_d}
+ gdc \
+%endif
gcc-ar gcc-nm gcc-ranlib \
; do
ln -sf $program-%{gcc_suffix} $RPM_BUILD_ROOT%{_prefix}/bin/$program
@@ -407,6 +448,9 @@
cpp \
gfortran \
gccgo \
+%if %{build_d}
+ gdc \
+%endif
; do
ln -sf $man1-%{gcc_suffix}.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/$man1.1.gz
done
@@ -545,6 +589,13 @@
%ghost %{_sysconfdir}/alternatives/gofmt
%doc %{_mandir}/man1/gccgo.1.gz
+%if %{build_d}
+%files -n gcc-d
+%defattr(-,root,root)
+%{_bindir}/gdc
+%doc %{_mandir}/man1/gdc.1.gz
+%endif
+
%if %{separate_bi32}
%files -n gcc-32bit
@@ -577,6 +628,11 @@
%defattr(-,root,root)
# empty - only for the dependency
+%if %{build_d}
+%files -n gcc-d-32bit
+%defattr(-,root,root)
+# empty - only for the dependency
+%endif
%endif
%if %{separate_bi64}
@@ -610,6 +666,12 @@
%defattr(-,root,root)
# empty - only for the dependency
+%if %{build_d}
+%files -n gcc-d-64bit
+%defattr(-,root,root)
+# empty - only for the dependency
+%endif
+
%endif
%changelog
1
0
Hello community,
here is the log from the commit of package xsel for openSUSE:Factory checked in at 2019-05-25 13:14:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xsel (Old)
and /work/SRC/openSUSE:Factory/.xsel.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xsel"
Sat May 25 13:14:37 2019 rev:12 rq:703440 version:1.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/xsel/xsel.changes 2014-10-31 20:38:17.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xsel.new.5148/xsel.changes 2019-05-25 13:14:43.664459425 +0200
@@ -1,0 +2,5 @@
+Tue May 14 09:39:22 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add disable-werror.patch in order to handle with a new GCC 9 warning.
+
+-------------------------------------------------------------------
New:
----
disable-werror.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xsel.spec ++++++
--- /var/tmp/diff_new_pack.DawcgY/_old 2019-05-25 13:14:44.128459251 +0200
+++ /var/tmp/diff_new_pack.DawcgY/_new 2019-05-25 13:14:44.132459250 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xsel
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Guido Berhoerster.
#
# All modifications and additions to the file contributed by third parties
@@ -13,7 +13,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -24,6 +24,7 @@
Version: 1.2.0
Release: 0
Source: http://www.kfish.org/software/xsel/download/xsel-%{version}.tar.gz
+Patch0: disable-werror.patch
Url: http://www.kfish.org/software/xsel/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{suse_version} < 1220
@@ -40,6 +41,7 @@
%prep
%setup -q
+%patch0 -p1
%build
%if 0%{?suse_version} > 0 && 0%{?suse_version} < 1100
++++++ disable-werror.patch ++++++
diff --git a/configure b/configure
index 7641e96..6c64e85 100755
--- a/configure
+++ b/configure
@@ -5880,7 +5880,7 @@ fi
# Error out on compile warnings
if test "x$ac_cv_c_compiler_gnu" = xyes ; then
- CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -Werror -g -std=gnu99 -Wdeclaration-after-statement -Wno-unused"
+ CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -g -std=gnu99 -Wdeclaration-after-statement -Wno-unused"
fi
# Checks for header files.
diff --git a/configure.ac b/configure.ac
index e444185..9ab3ba9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,7 +24,7 @@ AC_CHECK_LIB([X11], [XOpenDisplay])
dnl Add some useful warnings if we have gcc.
dnl changequote(,)dnl
if test "x$ac_cv_prog_gcc" = xyes ; then
- CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -Werror -g -std=gnu99 -Wdeclaration-after-statement -Wno-unused"
+ CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -g -std=gnu99 -Wdeclaration-after-statement -Wno-unused"
fi
dnl changequote([,])dnl
1
0
Hello community,
here is the log from the commit of package pmdk for openSUSE:Factory checked in at 2019-05-25 13:14:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pmdk (Old)
and /work/SRC/openSUSE:Factory/.pmdk.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pmdk"
Sat May 25 13:14:31 2019 rev:7 rq:703121 version:1.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/pmdk/pmdk.changes 2019-05-03 22:36:59.650560569 +0200
+++ /work/SRC/openSUSE:Factory/.pmdk.new.5148/pmdk.changes 2019-05-25 13:14:33.988463021 +0200
@@ -1,0 +2,11 @@
+Wed May 15 05:59:44 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
+
+- Disable Werror to deal with a new GCC 9 warning.
+
+-------------------------------------------------------------------
+Mon May 13 08:03:31 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
+
+- Update to PMDK 1.6 (jsc#SLE-5400)
+ - See ChangeLog for details
+
+-------------------------------------------------------------------
Old:
----
1.5.tar.gz
New:
----
1.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pmdk.spec ++++++
--- /var/tmp/diff_new_pack.lYfplx/_old 2019-05-25 13:14:34.704462755 +0200
+++ /var/tmp/diff_new_pack.lYfplx/_new 2019-05-25 13:14:34.704462755 +0200
@@ -25,7 +25,7 @@
%define min_ndctl_ver 60.1
Name: pmdk
-Version: 1.5
+Version: 1.6
Release: 0
Summary: Persistent Memory Development Kit
License: BSD-3-Clause
@@ -295,7 +295,7 @@
EXTRA_CFLAGS_RELEASE="%optflags" \
EXTRA_CFLAGS_DEBUG="%optflags -Wp,-U_FORTIFY_SOURCE -O0" \
EXTRA_CXXFLAGS="%optflags" \
-make %{?_smp_mflags} BINDIR="%_bindir" \
+make %{?_smp_mflags} BINDIR="%_bindir" EXTRA_CFLAGS="-Wno-error" \
%if 0%{?with_fabric}
BUILD_RPMEM=y \
%endif
@@ -340,6 +340,7 @@
%files
%defattr(-,root,root)
%_datadir/pmdk/
+%doc ChangeLog
%files tools
%defattr(-,root,root)
++++++ 1.5.tar.gz -> 1.6.tar.gz ++++++
++++ 34199 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package fwupd for openSUSE:Factory checked in at 2019-05-25 13:14:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fwupd (Old)
and /work/SRC/openSUSE:Factory/.fwupd.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fwupd"
Sat May 25 13:14:15 2019 rev:18 rq:703101 version:1.2.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/fwupd/fwupd.changes 2019-05-10 09:09:37.495005315 +0200
+++ /work/SRC/openSUSE:Factory/.fwupd.new.5148/fwupd.changes 2019-05-25 13:14:24.036466722 +0200
@@ -1,0 +2,240 @@
+Wed May 8 10:39:24 UTC 2019 - Maurizio Galli <maurizio.galli(a)gmail.com>
+
+- Update to version 1.2.8:
+ * Don't upload reports when the user has configured their system in a broken way
+ * Allow setting the daemon verbose domains at runtime
+ * Allow fwupdmgr to modify the daemon config
+ * Do not compare version formats when the release format is unknown
+ * Do not fall back integers to a plain version format
+ * Use the device version format when converting the release version
+ * Set the VersionFormat using the metadata or the UEFI quirk
+- Changes from version 1.2.7:
+ * l10n: Create Lithuanian translation file
+ * l10n: Update LINGUAS
+ * Updated: Add support for 8BitDo M30.
+ * modem-manager: increase the timeout to wait for modem after uninhibited
+ * modem-manager: implement qmi pdc active config selection as attach()
+ * fu-engine: When removing activation flag match the correct version
+ * Require --force to install a release with a different version format
+ * Match the old or new version number when setting NEEDS_REBOOT
+ * Make an error message clearer when there are no updates available
+ * Add support for the not-child extension from Logitech
+ * thunderbolt: Set require-ac for Thunderbolt devices
+ (Fixes: gh#hughsie/fwupd#1142)
+ * Fix some typos spotted using codespell
+ * Add a component categories to express the firmware type
+ * fu-tool: Port get-history command to fwupdtool
+ * Recreate the history database if migration failed
+ * Move the core built-in 'fwupd' remote over to the dell-esrt plugin
+ * snap: Add a custom systemd unit to call activation on shutdown
+ (Fixes: gh#hughsie/fwupd#1125)
+ * ata: Flush cache before standby and activate
+ * synapticsmst: blacklist plugin when using amdgpu
+ (Fixes: gh#hughsie/fwupd#1121)
+ * uefi: add a new option to specify the os name
+ * Return the newest device when using fu_history_get_device_by_id()
+ * uefi: More carefully check the output from tpm2_pcrlist
+ * uefi: Don't overwrite CustomFlags if set from a quirk
+ * Shut down the daemon if the on-disk binary is replaced
+ * ata: Correct activation functionality
+ * Fix version comparisons after reboot for some formats
+ * fu-tool: save history from stuff installed with `fwupdtool`
+- Changes from version 1.2.6:
+ * ata: send ATA standby immediate when activating firmware
+ * offline: Be more graceful when dealing with Plymouth failures
+ * Save the new version in the history database for offline updates
+ * Show the DeviceID when showing the updates list
+ * Allow forcing an offline-only update on a live system using --force
+ * Do not schedule an update on battery power if it requires AC power
+ * superio: Add InstallDuration default value
+ * superio: Add support for writing new e-flash contents
+ * superio: Fix reading the attestation checksum
+ * superio: Add support for reading the device checksum
+ * superio: Use the chipset ID in the device name
+ * superio: Move the device flush before getting the register map
+ * superio: Move all the IT89xx code to a subclassed device object
+ * superio: Move all the IT85xx code to a subclassed device object
+ * superio: Split and export fu_superio_device_ec_writeX()
+ * superio: Remove the port from fu_superio_device_ec_read()
+ * superio: Move the register read/write into the FuSuperioDevice object
+ * superio: Check the IOBAD0 is usable during setup
+ * superio: Use fu_device_set_firmware_size()
+ * superio: Move some constants out to the common header
+ * superio: Use GObject properties in FuSuperioDevice
+ * superio: Convert FuSuperioDevice to be derivable
+ * Update Plymouth when updating pending firmware
+ * Ask to reboot after scheduling an offline firmware update
+ * Do not fail when scheduling more than one update to be run offline
+ * Allow running offline updates when in system-update.target
+ * Fix the location of fwupdoffline in the service file
+ * Add optional vfuncs to allow detaching and attaching verify()
+ * superio: Add list of SPI commands for future usage
+ * Add a verify-update command to fwupdtool
+ * uefi: Actually upload the UPDATE_INFO entry for the UX capsule
+ * superio: Get the chip size from the EC rather than hardcoding
+ * uefi: Check the error code of QueryCapsuleCapabilities() correctly
+ * Update the UEFI UX Capsule Header checksum when needed.
+ * uefi: Copy the shimx64.efi binary for known broken firmware
+ * Correctly get the check the new version for devices that replug
+ * Add a simple script to add a capsule header
+ * Ensure the PKCS-7 client certificate exists at startup
+ * fix makecab directive options
+ * fwpup.service: use display-manager.service instead of gdm.service
+ * Allow signing the fwupd report with the client certificate
+ * Add a D-Bus method to generate a signature using the self-signed client certificate
+ * Allow signing and verifying data using a PKCS-7 self-signed client certificate
+ * Fix a critical warning when loading a PKCS-7 certificate with no DN
+ * Include all device checksums in the LVFS report
+ * modem-manager: Fix a trivial build warning
+ * superio: Fix a trivial build warning
+ * Move out the offline update functionality to a new binary
+ * Do not reboot when failing to start fwupd during offline updates
+ * Do not write the schema version to the db when loading
+ * Do not recreate XbSilo caches when running on a readonly filesystem
+ * Add the fwupdagent binary for use in shell scripts
+ * Allow restricting firmware updates for enterprise use
+ * standalone-installer: new --allow-older and --allow-reinstall options
+ * Show the upgrade and downgrade flags when getting releases for a device
+ * Rename FwupdRelease:trust-flags to FwupdRelease:flags
+ * fu-tool: Save device state to @LOCALSTATEDIR@/lib/fwupd/state.json on actions
+ * modem-manager: implement support for qmi-pdc
+ * Add a plugin to support ModemManager hardware
+ * fu-tool: Don't let failing to find dbus prevent engine from starting
+ * ata: Support delayed activation
+ * dell-dock: Use activation when calling fwupdtool activate
+ * Add a support for delayed activation
+ * uefi: Fix the self tests when running on Fedora SilverBlue
+ * Do not fail to start the daemon if tpm2_pcrlist hangs
+ * po/make-images.sh: quote LOCALEDIR and PYTHON3
+ * meson: print stderr of python3 command instead of stdout
+ * Revert "contrib/debian: Switch to debian unstable"
+ * Add elogind support
+ - Changes from version 1.2.5:
+ * uefi: fix segfault in fwup_set_update_statuses
+ * Show in Flathub correctly
+ * debian: explicitly depend on shared-mime-info
+ * superio: Implement detach() and attach()
+ * superio: Correct the names of some constants and improve debugging support
+ * dell-dock: Filter the last supported payloads of certain board 4 SKUs
+ * circleci: Manage the lifecycle of the snap
+ * Add support to run snap build in CircleCI
+ * wacom-usb: Use the correct buffer format for the touch module
+ * wacom-usb: Set the install duration for each device type
+ * wacom-usb: Return with an error if there were too many retries
+ * wacom-usb: Make updating less verbose
+ * Convert all child instance IDs when converting the parent
+ * uefi: Allow devices to create more complete fake UEFI devices
+ * unifying: Fix regression when recovering from failed flash
+ * Ensure libxmlb dir exists for LGTM.com
+ * Add C build configuration for LGTM.com
+ * Use G_BEGIN_DECLS correctly for internal headers
+ * standalone-installer: Fix issue found by LGTM
+ * Use '#pragma once' to avoid a lot of boilerplate
+ * Force LGTM to see Python 3
+ * fwupd: Hide firmware-packager behind meson option`
+ * fu-common-cab: Correct handling of CAB files w/ nested directories and older libgcab
+ * Fix a regression in using the InstanceIDs for quirk matching
+ * thunderbolt: Convert the instance IDs as we never open the device
+ * udev: Manally call fu_device_setup() to convert the instance IDs
+ * fu-tool: Correct a crash caused by calling fwupdtool update
+ * fu-tool: Don't fail if dbus is unavailable
+ * contrib/debian: Switch to debian unstable
+ * wacom-usb: Record the block number when failing
+ * wacom-usb: The touch address is big endian
+ * wacom-usb: Accept a non-binary IHEX file for the touch update
+ * wacom-usb: Only poll when the device status is 'busy'
+ * wacom-usb: Only reboot the device when all composite devices have been updated
+ * wacom-usb: Fix flashing failure with latest Intuos Pro tablet
+ * dfu: Fill holes when reading SREC files
+ * Add fwupd_guid_from_string() to drop dep on uuid
+ * wacom-raw: Check the InstanceID rather than GUID
+ * Defer the InstanceID->GUID hashing until after setup
+ * ata: Check for USB enclosures as well
+ * Do not use efivar just to print a mixed endian GUID
+ * Add fu_device_add_instance_id() and prefer explicit conversion
+ * Report the DeviceInstanceIDs to `fwupdmgr get-updates`
+ * Export some of the GUID functionality
+ * Allow a plugin to set _ANOTHER_WRITE_REQUIRED to run more than one plugin
+ * nvme: Add an extra check for Dell plugins to avoid false positives
+ * ata: Add support for detecting Dell GUIDs
+ * Fix the self tests when using glib2 >=2.59.0
+ * Add support to call composite prepare and cleanup using fwupdtool
+ * uefi: Disable -Wno-address-of-packed-member
+ * uefi: Don't unconditionally enable Werror for the EFI binary
+ * Disable -Wno-address-of-packed-member
+- Changes from version 1.2.4:
+ * Remove the autogenerated headers in the gettext files
+ * ata: Default to the non-activation 0xE subcommand
+ * fastboot: Use a much longer timeout as the removal delay
+ * fu-progressbar: be more quiet when running non-interactive
+ * fu-tool: Show UpdateMessage if applicable for install command
+ * dfu: Simplify the SREC parser to avoid a crash with an invalid file
+ * wacom-raw: Use the correct error codes when the panel is not supported
+ * wacom-usb: Add some more information to the README
+ * fu-keyring-utils: Don't fail missing PKI directory when compiled with GPG/PKCS7
+ * dell: Check that the flash interface command is available
+ * wacom-usb: Fix the plugin name to allow devices to be updated
+ * fastboot: flash the partition after downloading the file
+ * uefi: Add a quirk to use the legacy bootmgr description
+ * ata: Mark all devices as needing a reboot
+ * ata: Add a new plugin to upgrade firmware on ATA/ATAPI hardware
+ * udev-device: Add a utility function for debugging
+ * udev-device: Set the firmware revision automatically
+ * udev-device: Set the serial number automatically
+ * udev-device: Fall back to non-database model and vendor values
+ * udev-device: Fix critical warning if the device has no parent
+ * dell-dock: Add support for a passive flow
+ * Add support for an `UpdateMessage` and display it in tools
+ * fu-tool: Port the `get-updates` command over
+ * When using `directory` remote type automatically generate metadata
+ * libfwupd: Add support for new remote type "directory"
+ * Ensure cabinet archives always have a container checksum
+ * Add support for a per-release source and details URL
+ * When generating a CAB Silo use the prefix "components"
+ * uefi: Add a trivial debugging statement to debug a UX capsule failure
+ * uefi: Use fwup_new0() to allocate the updates table array
+ * nitrokey: Correct Nitrokey Storage invalid firmware version read
+ * dell-dock: Add support for flashing Thunderbolt over I2C
++++ 219 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/fwupd/fwupd.changes
++++ and /work/SRC/openSUSE:Factory/.fwupd.new.5148/fwupd.changes
Old:
----
fwupd-1.2.3.tar.xz
fwupd-bsc1130056-change-esp-os-name.patch
New:
----
fwupd-1.2.8.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fwupd.spec ++++++
--- /var/tmp/diff_new_pack.yZPugk/_old 2019-05-25 13:14:25.288466256 +0200
+++ /var/tmp/diff_new_pack.yZPugk/_new 2019-05-25 13:14:25.288466256 +0200
@@ -28,17 +28,15 @@
%global efidir sles
%endif
Name: fwupd
-Version: 1.2.3
+Version: 1.2.8
Release: 0
Summary: Device firmware updater daemon
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Management
URL: https://fwupd.org/
Source: %{name}-%{version}.tar.xz
-# PATCH-FIX-UPSTREAM fwupd-bsc1130056-change-esp-os-name.patch bsc#1130056
-Patch1: fwupd-bsc1130056-change-esp-os-name.patch
# PATCH-FIX-OPENSUSE fwupd-bsc1130056-shim-path.patch bsc#1130056
-Patch2: fwupd-bsc1130056-change-shim-path.patch
+Patch1: fwupd-bsc1130056-change-shim-path.patch
BuildRequires: dejavu-fonts
BuildRequires: docbook-utils-minimal
BuildRequires: gcab
@@ -144,7 +142,6 @@
%prep
%setup -q
%patch1 -p1
-%patch2 -p1
for file in $(grep -l %{_bindir}/env . -r); do
sed -i "s|%{_bindir}/env python3|%{_bindir}/python3|" $file
done
@@ -256,6 +253,9 @@
%dir %{_localstatedir}/lib/%{name}/
%{_datadir}/bash-completion/completions/fwupdmgr
%{_datadir}/bash-completion/completions/fwupdtool
+%{_datadir}/bash-completion/completions/fwupdagent
+%{_datadir}/icons/hicolor/*
+%{_prefix}/lib/systemd/system-shutdown/fwupd.shutdown
%files -n dfu-tool
%{_bindir}/dfu-tool
++++++ _service ++++++
--- /var/tmp/diff_new_pack.yZPugk/_old 2019-05-25 13:14:25.312466248 +0200
+++ /var/tmp/diff_new_pack.yZPugk/_new 2019-05-25 13:14:25.312466248 +0200
@@ -4,11 +4,11 @@
<param name="scm">git</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
- <param name="revision">refs/tags/1.2.3</param>
+ <param name="revision">refs/tags/1.2.8</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
-</services>
+</services>
\ No newline at end of file
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.yZPugk/_old 2019-05-25 13:14:25.324466243 +0200
+++ /var/tmp/diff_new_pack.yZPugk/_new 2019-05-25 13:14:25.328466242 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
- <param name="url">https://github.com/hughsie/fwupd.git</param>
- <param name="changesrevision">36a5b8f7a26b881dd41cca2466618d5a29796a45</param></service></servicedata>
\ No newline at end of file
+ <param name="url">https://github.com/hughsie/fwupd.git</param>
+ <param name="changesrevision">828c913e37ef9af283afb7f13b04459cd199c887</param></service></servicedata>
\ No newline at end of file
++++++ fwupd-1.2.3.tar.xz -> fwupd-1.2.8.tar.xz ++++++
++++ 45192 lines of diff (skipped)
++++++ fwupd-bsc1130056-change-shim-path.patch ++++++
--- /var/tmp/diff_new_pack.yZPugk/_old 2019-05-25 13:14:26.052465973 +0200
+++ /var/tmp/diff_new_pack.yZPugk/_new 2019-05-25 13:14:26.056465972 +0200
@@ -14,16 +14,15 @@
index 7bec311..22357d4 100644
--- a/plugins/uefi/fu-uefi-bootmgr.c
+++ b/plugins/uefi/fu-uefi-bootmgr.c
-@@ -319,7 +319,8 @@ fu_uefi_bootmgr_bootnext (const gchar *esp_path, FuUefiBootmgrFlags flags, GErro
+@@ -322,7 +322,8 @@
return FALSE;
/* test to make sure shim is there if we need it */
- shim_app = fu_uefi_get_esp_app_path (esp_path, "shim", error);
-+ shim_app = g_strdup_printf ("%s/shim.efi",
++ shim_app = g_strdup_printf ("%s/shim.efi",
+ fu_uefi_get_esp_path_for_os (esp_path));
if (shim_app == NULL)
return FALSE;
- if (!g_file_test (shim_app, G_FILE_TEST_EXISTS)) {
---
+ if (g_file_test (shim_app, G_FILE_TEST_EXISTS)) {
2.21.0
1
0
Hello community,
here is the log from the commit of package openucx for openSUSE:Factory checked in at 2019-05-25 13:14:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openucx (Old)
and /work/SRC/openSUSE:Factory/.openucx.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openucx"
Sat May 25 13:14:07 2019 rev:13 rq:703079 version:1.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/openucx/openucx.changes 2019-04-04 11:59:59.909252773 +0200
+++ /work/SRC/openSUSE:Factory/.openucx.new.5148/openucx.changes 2019-05-25 13:14:10.956471586 +0200
@@ -1,0 +2,5 @@
+Wed May 15 05:52:55 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
+
+- Disable Werror to handle boo#1121267
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openucx.spec ++++++
--- /var/tmp/diff_new_pack.I4SZO4/_old 2019-05-25 13:14:12.400471049 +0200
+++ /var/tmp/diff_new_pack.I4SZO4/_new 2019-05-25 13:14:12.420471041 +0200
@@ -152,7 +152,8 @@
%endif
--docdir="%_docdir/%name"
-make %{?_smp_mflags} V=1
+# Override BASE_CFLAGS to disable Werror (boo#1121267)
+make %{?_smp_mflags} V=1 BASE_CFLAGS="-g -Wall"
%post -n libucp0 -p /sbin/ldconfig
%postun -n libucp0 -p /sbin/ldconfig
1
0
Hello community,
here is the log from the commit of package shim for openSUSE:Factory checked in at 2019-05-25 13:13:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shim (Old)
and /work/SRC/openSUSE:Factory/.shim.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shim"
Sat May 25 13:13:55 2019 rev:76 rq:702795 version:15+git47
Changes:
--------
--- /work/SRC/openSUSE:Factory/shim/shim.changes 2019-04-17 11:23:12.490408484 +0200
+++ /work/SRC/openSUSE:Factory/.shim.new.5148/shim.changes 2019-05-25 13:14:00.984475294 +0200
@@ -1,0 +2,5 @@
+Fri Apr 19 10:32:11 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add gcc9-fix-warnings.patch (bsc#1121268).
+
+-------------------------------------------------------------------
New:
----
gcc9-fix-warnings.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shim.spec ++++++
--- /var/tmp/diff_new_pack.Br4SSE/_old 2019-05-25 13:14:02.652474673 +0200
+++ /var/tmp/diff_new_pack.Br4SSE/_new 2019-05-25 13:14:02.656474672 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# needssslcertforbuild
@@ -71,6 +71,8 @@
# PATCH-FIX-UPSTREAM shim-always-mirror-mok-variables.patch glin(a)suse.com -- Mirror MOK variables correctly
Patch4: shim-always-mirror-mok-variables.patch
Patch5: shim-correct-license-in-headers.patch
+# PATCH-FIX-UPSTREAM gcc9-fix-warnings.patch mliska(a)suse.cz -- MokManager: Use CompareMem on MokListNode.Type instead of CompareGuid
+Patch6: gcc9-fix-warnings.patch
# PATCH-FIX-OPENSUSE shim-opensuse-cert-prompt.patch glin(a)suse.com -- Show the prompt to ask whether the user trusts openSUSE certificate or not
Patch100: shim-opensuse-cert-prompt.patch
BuildRequires: gnu-efi >= 3.0.3
@@ -117,6 +119,7 @@
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
%if 0%{?is_opensuse} == 1
%patch100 -p1
%endif
++++++ gcc9-fix-warnings.patch ++++++
>From f30cd0b6330be8ea72a93bf25e43829c222ba611 Mon Sep 17 00:00:00 2001
From: Gary Lin <glin(a)suse.com>
Date: Tue, 26 Feb 2019 11:33:53 +0800
Subject: [PATCH] MokManager: Use CompareMem on MokListNode.Type instead of
CompareGuid
Fix the errors from gcc9 '-Werror=address-of-packed-member'
https://github.com/rhboot/shim/issues/161
Signed-off-by: Gary Lin <glin(a)suse.com>
---
MokManager.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/MokManager.c b/MokManager.c
index d69b4dbe..05dc1622 100644
--- a/MokManager.c
+++ b/MokManager.c
@@ -1053,7 +1053,8 @@ static EFI_STATUS write_back_mok_list(MokListNode * list, INTN key_num,
continue;
DataSize += sizeof(EFI_SIGNATURE_LIST);
- if (CompareGuid(&(list[i].Type), &X509_GUID) == 0)
+ if (CompareMem(&(list[i].Type), &X509_GUID,
+ sizeof(EFI_GUID)) == 0)
DataSize += sizeof(EFI_GUID);
DataSize += list[i].MokSize;
}
@@ -1075,7 +1076,8 @@ static EFI_STATUS write_back_mok_list(MokListNode * list, INTN key_num,
CertList->SignatureType = list[i].Type;
CertList->SignatureHeaderSize = 0;
- if (CompareGuid(&(list[i].Type), &X509_GUID) == 0) {
+ if (CompareMem(&(list[i].Type), &X509_GUID,
+ sizeof(EFI_GUID)) == 0) {
CertList->SignatureListSize = list[i].MokSize +
sizeof(EFI_SIGNATURE_LIST) + sizeof(EFI_GUID);
CertList->SignatureSize =
@@ -1116,7 +1118,8 @@ static void delete_cert(void *key, UINT32 key_size,
int i;
for (i = 0; i < mok_num; i++) {
- if (CompareGuid(&(mok[i].Type), &X509_GUID) != 0)
+ if (CompareMem(&(mok[i].Type), &X509_GUID,
+ sizeof(EFI_GUID)) != 0)
continue;
if (mok[i].MokSize == key_size &&
@@ -1167,7 +1170,7 @@ static void delete_hash_in_list(EFI_GUID Type, UINT8 * hash, UINT32 hash_size,
sig_size = hash_size + sizeof(EFI_GUID);
for (i = 0; i < mok_num; i++) {
- if ((CompareGuid(&(mok[i].Type), &Type) != 0) ||
+ if ((CompareMem(&(mok[i].Type), &Type, sizeof(EFI_GUID)) != 0) ||
(mok[i].MokSize < sig_size))
continue;
@@ -1331,7 +1334,8 @@ static EFI_STATUS delete_keys(void *MokDel, UINTN MokDelSize, BOOLEAN MokX)
/* Search and destroy */
for (i = 0; i < del_num; i++) {
- if (CompareGuid(&(del_key[i].Type), &X509_GUID) == 0) {
+ if (CompareMem(&(del_key[i].Type), &X509_GUID,
+ sizeof(EFI_GUID)) == 0) {
delete_cert(del_key[i].Mok, del_key[i].MokSize,
mok, mok_num);
} else if (is_sha2_hash(del_key[i].Type)) {
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-24 17:06:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri May 24 17:06:25 2019 rev:1267 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.oWfwcu/_old 2019-05-24 17:06:28.720496374 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.720496374 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20190524" 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">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190522,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190524,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.oWfwcu/_old 2019-05-24 17:06:28.740496366 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.740496366 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-MicroOS___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE-MicroOS___20190524" 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">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190522,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190524,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190522/…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190524/…</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-kubic-dvd-x86_64.kiwi: same change
++++++ openSUSE-cd-mini-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.792496345 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.796496343 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE___20190524" 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">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190522,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,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/20190522/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/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.oWfwcu/_old 2019-05-24 17:06:28.808496338 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.812496337 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE___20190524" 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">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190522,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,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/20190522/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/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 ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.820496334 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.824496333 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE___20190524" 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">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190522,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,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/20190522/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/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>
@@ -5174,6 +5174,7 @@
<repopackage name="util-linux-systemd"/>
<repopackage name="util-macros-devel"/>
<repopackage name="v4l-conf"/>
+ <repopackage name="v4l2loopback-kmp-default"/>
<repopackage name="vacation"/>
<repopackage name="vala"/>
<repopackage name="valgrind"/>
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.836496327 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.836496327 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE___20190524" 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">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190522,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,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/20190522/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/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>
@@ -5426,6 +5426,7 @@
<repopackage name="util-linux-systemd"/>
<repopackage name="util-macros-devel"/>
<repopackage name="v4l-conf"/>
+ <repopackage name="v4l2loopback-kmp-default"/>
<repopackage name="vacation"/>
<repopackage name="vala"/>
<repopackage name="valgrind"/>
++++++ openSUSE-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.872496313 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.876496311 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE___20190524" 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-20190522-i586-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20190524-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">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190522,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,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/20190522/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190522/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/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 ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:29.012496255 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:29.016496254 +0200
@@ -5122,6 +5122,7 @@
<package name="util-linux-systemd" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="util-macros-devel" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="v4l-conf" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
+ <package name="v4l2loopback-kmp-default" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="vacation" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-mail_server -->
<package name="vala" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="valgrind" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:29.136496206 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:29.136496206 +0200
@@ -2080,6 +2080,8 @@
- deepin-music-player
- deepin-system-monitor
- deepin-system-monitor-lang
+ - deepin-turbo
+ - deepin-turbo-devel
- dehydrated
- dehydrated-apache2
- dehydrated-lighttpd
@@ -2369,6 +2371,7 @@
- elementary-icon-theme
- elementary-icon-theme-gimp-palette
- elementary-icon-theme-inkscape-palette
+ - elementary-wallpapers
- elemines
- elftoaout
- elib
@@ -4379,7 +4382,11 @@
- gocode
- gocr
- gocr-gui
+ - godot
+ - godot-headless
- godot-rpm-macros
+ - godot-runner
+ - godot-server
- goffice-devel
- golang-github-cpuguy83-go-md2man
- golang-github-docker-libnetwork
@@ -14719,6 +14726,7 @@
- pangox-compat
- pangox-devel
- panini
+ - pantheon-wallpapers-branding-upstream
- paper-icon-theme
- paperclips
- paperclips-javadoc
@@ -16623,7 +16631,6 @@
- python-base-32bit: [x86_64]
- python-beautifulsoup4-doc
- python-billiard-doc
- - python-bjoern
- python-blinker-doc
- python-boost_parallel_mpi
- python-bottle-doc
@@ -16975,6 +16982,7 @@
- python2-Genshi
- python2-GeoIP
- python2-GitPython
+ - python2-Glances
- python2-GooCalendar
- python2-GridDataFormats
- python2-HeapDict
@@ -17361,6 +17369,7 @@
- python2-biopython
- python2-biplist
- python2-bitstring
+ - python2-bjoern
- python2-bleach
- python2-blessed
- python2-blessings
@@ -17461,7 +17470,6 @@
- python2-cmd2
- python2-cmdln
- python2-coards
- - python2-coconut
- python2-codecov
- python2-cogapp
- python2-colander
@@ -17904,6 +17912,7 @@
- python2-json_tricks
- python2-jsondate
- python2-jsondiff
+ - python2-jsonextended
- python2-jsonlines
- python2-jsonpatch
- python2-jsonpath-rw
@@ -18099,6 +18108,7 @@
- python2-msgpack-numpy
- python2-msrest
- python2-msrestazure
+ - python2-mujson
- python2-mulpyplexer
- python2-multi_key_dict
- python2-multipledispatch
@@ -19149,6 +19159,7 @@
- python3-GeoIP
- python3-GitPython
- python3-GitgExt
+ - python3-Glances
- python3-GooCalendar
- python3-GridDataFormats
- python3-HTTPolice
@@ -19543,6 +19554,7 @@
- python3-biopython
- python3-biplist
- python3-bitstring
+ - python3-bjoern
- python3-black
- python3-bleach
- python3-blessed
@@ -20143,6 +20155,7 @@
- python3-json_tricks
- python3-jsondate
- python3-jsondiff
+ - python3-jsonextended
- python3-jsonlib-python3
- python3-jsonlines
- python3-jsonpatch: [i586]
@@ -20366,6 +20379,7 @@
- python3-msm
- python3-msrest
- python3-msrestazure
+ - python3-mujson
- python3-mulpyplexer
- python3-multi_key_dict
- python3-multidict
@@ -23312,6 +23326,7 @@
- suse-module-tools-legacy
- suse-prime
- suse-xsl-stylesheets
+ - suseprime-appindicator
- svg-schema-doc
- svgcleaner
- svgcleaner-gui
@@ -31182,7 +31197,6 @@
- v4l-utils
- v4l-utils-devel-tools
- v4l-utils-lang
- - v4l2loopback-kmp-default
- v4l2loopback-kmp-pae: [i586]
- v4l2loopback-utils
- vacuum-im
1
0
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2019-05-24 17:06:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Fri May 24 17:06:20 2019 rev:147 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.TDUcrh/_old 2019-05-24 17:06:23.048498678 +0200
+++ /var/tmp/diff_new_pack.TDUcrh/_new 2019-05-24 17:06:23.052498675 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20190522)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20190524)
#
# Copyright (c) 2019 openSUSE.
#
@@ -16,16 +16,16 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon
-Version: 20190522
+Version: 20190524
Release: 0
License: BSD-3-Clause
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE-Addon-NonOss
-Provides: product(openSUSE-Addon-NonOss) = 20190522-0
+Provides: product(openSUSE-Addon-NonOss) = 20190524-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190522
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190524
AutoReqProv: on
@@ -49,10 +49,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190522</version>
+ <version>20190524</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190522</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190524</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.TDUcrh/_old 2019-05-24 17:06:23.068498670 +0200
+++ /var/tmp/diff_new_pack.TDUcrh/_new 2019-05-24 17:06:23.072498667 +0200
@@ -17,7 +17,7 @@
Name: openSUSE-MicroOS-release
-Version: 20190522
+Version: 20190524
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) = 20190522-0
+Provides: product(openSUSE-MicroOS) = 20190524-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190522
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190524
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) = 20190522-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190524-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) = 20190522-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190524-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) = 20190522-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190524-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) = 20190522-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190524-0
Summary: openSUSE MicroOS
%description appliance-kubic
@@ -164,11 +164,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-MicroOS</name>
- <version>20190522</version>
+ <version>20190524</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-microos:20190522</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-microos:20190524</cpeid>
<productline>openSUSE-MicroOS</productline>
<register>
<pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.TDUcrh/_old 2019-05-24 17:06:23.088498661 +0200
+++ /var/tmp/diff_new_pack.TDUcrh/_new 2019-05-24 17:06:23.092498659 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20190522
+Version: 20190524
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}) < 20190522
+Obsoletes: product_flavor(%{product}) < 20190524
# 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) = 20190522-0
+Provides: product(openSUSE) = 20190524-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%3A20190522
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190524
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) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description ftp
@@ -226,7 +226,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description mini
@@ -241,7 +241,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description dvd
@@ -256,7 +256,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-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) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-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) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-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) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-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) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-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) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-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) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description usb-x11
@@ -361,7 +361,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description appliance
@@ -435,10 +435,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190522</version>
+ <version>20190524</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20190522</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20190524</cpeid>
<productline>openSUSE</productline>
<register>
<pool>
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.TDUcrh/_old 2019-05-24 17:06:23.208498613 +0200
+++ /var/tmp/diff_new_pack.TDUcrh/_new 2019-05-24 17:06:23.212498610 +0200
@@ -15794,6 +15794,7 @@
Provides: weakremover(python2-boost_parallel_mpi1_68_0)
Provides: weakremover(python2-ceilometerclient)
Provides: weakremover(python2-cliff-tablib)
+Provides: weakremover(python2-coconut)
Provides: weakremover(python2-configshell)
Provides: weakremover(python2-configshell-fb-doc)
Provides: weakremover(python2-cssselect2)
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-24 11:57:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri May 24 11:57:42 2019 rev:1266 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
++++++ openSUSE-MicroOS.product ++++++
--- /var/tmp/diff_new_pack.fO2Et7/_old 2019-05-24 11:57:43.428810719 +0200
+++ /var/tmp/diff_new_pack.fO2Et7/_new 2019-05-24 11:57:43.428810719 +0200
@@ -6,7 +6,7 @@
<name>openSUSE-MicroOS</name>
<releasepkgname>openSUSE-MicroOS-release</releasepkgname>
<endoflife/>
- <version>20190522</version>
+ <version>20190524</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>openSUSE-MicroOS</productline>
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-24 11:57:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri May 24 11:57:39 2019 rev:1265 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
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.ZLJ06W/_old 2019-05-24 11:57:42.056811273 +0200
+++ /var/tmp/diff_new_pack.ZLJ06W/_new 2019-05-24 11:57:42.060811272 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190522</version>
+ <version>20190524</version>
<release>0</release>
<productline>openSUSE</productline>
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-24 11:57:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri May 24 11:57:36 2019 rev:1264 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
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.KIarwi/_old 2019-05-24 11:57:39.448812329 +0200
+++ /var/tmp/diff_new_pack.KIarwi/_new 2019-05-24 11:57:39.448812329 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190522</version>
+ <version>20190524</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
1
0
Hello community,
here is the log from the commit of package python-bjoern for openSUSE:Factory checked in at 2019-05-24 11:33:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-bjoern (Old)
and /work/SRC/openSUSE:Factory/.python-bjoern.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-bjoern"
Fri May 24 11:33:39 2019 rev:7 rq:705184 version:3.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-bjoern/python-bjoern.changes 2018-03-13 10:25:16.555110396 +0100
+++ /work/SRC/openSUSE:Factory/.python-bjoern.new.5148/python-bjoern.changes 2019-05-24 11:33:40.985359971 +0200
@@ -1,0 +2,25 @@
+Thu May 23 06:17:46 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 3.0.0
+ * Fix #91: Support for SIGTERM/SIGINT handling
+ * Fix #144: Proper handling of EAGAIN/EINTR (Adam Bouhenguel)
+ * Fix #138: Use Latin1 encoding for unicode strings
+ * Fix #139: Never use chunked responses for HTTP 204 and 304
+ * Fix #133: Segmentation fault with very long HTTP headers (@szabolcsbalogh)
+ * Fix #130: filewrapper must work with any read()able object
+ * Fix #128: Fix support for io.BytesIO and other pseudo-files
+ * Fix sendfile on BSD and OSX
+ * Fix #122: WSGI environ SERVER_PORT is now a str (Simon Biewald)
+ * Fix #122: WSGI environ SERVER_{PORT,HOST} are now always set (Simon Biewald)
+ * Fix #125: Missing GIL locking (@szabolcsbalogh)
+ * Fix Python 2 segfault
+ * Fix segfault with HTTP header (晏旭瑞)
+ * Fix segfault with large HTTP header
+ * Fix Python 3 unicode header handling
+ * Fix setup.py and `bjoern.version` attribute
+ * Python 3 support (Hua Yanghao, Isaiah Peng). Note that due to the size
+ of this update, version 2.0.0 may be less stable than version 1.4.3.
+- deleted patches
+ - reproducible.patch (upstreamed)
+
+-------------------------------------------------------------------
Old:
----
bjoern-1.4.2.tar.gz
reproducible.patch
New:
----
bjoern-3.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-bjoern.spec ++++++
--- /var/tmp/diff_new_pack.0w7JjX/_old 2019-05-24 11:33:41.677359707 +0200
+++ /var/tmp/diff_new_pack.0w7JjX/_new 2019-05-24 11:33:41.685359705 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-bjoern
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,42 +12,48 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-bjoern
-Version: 1.4.2
+Version: 3.0.0
Release: 0
-Summary: A screamingly fast Python WSGI server written in C
+Summary: A screamingly fast Python 2 + 3 WSGI server written in C
License: BSD-2-Clause
Group: Development/Languages/Python
Url: https://github.com/jonashaag/bjoern
-Source: http://pypi.python.org/packages/source/b/bjoern/bjoern-%{version}.tar.gz
-Patch0: reproducible.patch
+Source: https://files.pythonhosted.org/packages/source/b/bjoern/bjoern-%{version}.t…
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
BuildRequires: libev-devel
-BuildRequires: python-devel
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
-%endif
+BuildRequires: python-rpm-macros
+
+%python_subpackages
%description
-A screamingly fast Python WSGI server written in C depending on libev.
+A screamingly fast Python 2 + 3 WSGI server written in C.
%prep
%setup -q -n bjoern-%{version}
-%patch0 -p1
%build
-CFLAGS="%{optflags}" python setup.py build
+export CFLAGS="%{optflags}"
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitearch}
-%files
-%defattr(-,root,root,-)
-%doc LICENSE
+%check
+# there are no unit tests, but e. g. benchmark tests
+# using ab
+
+%files %{python_files}
+%doc CHANGELOG README.rst
+%license LICENSE
%{python_sitearch}/*
%changelog
++++++ bjoern-1.4.2.tar.gz -> bjoern-3.0.0.tar.gz ++++++
++++ 2914 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package lutris for openSUSE:Factory checked in at 2019-05-24 11:33:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lutris (Old)
and /work/SRC/openSUSE:Factory/.lutris.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lutris"
Fri May 24 11:33:36 2019 rev:7 rq:705182 version:0.5.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/lutris/lutris.changes 2019-04-11 08:48:15.528558144 +0200
+++ /work/SRC/openSUSE:Factory/.lutris.new.5148/lutris.changes 2019-05-24 11:33:36.853361550 +0200
@@ -1,0 +2,5 @@
+Fri May 24 07:38:43 UTC 2019 - mvetter(a)suse.com
+
+- Add python3-evdev for controller support
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lutris.spec ++++++
--- /var/tmp/diff_new_pack.jSQZlL/_old 2019-05-24 11:33:37.425361331 +0200
+++ /var/tmp/diff_new_pack.jSQZlL/_new 2019-05-24 11:33:37.425361331 +0200
@@ -44,6 +44,8 @@
Requires: python3-gobject
Requires: python3-gobject-Gdk
Requires: python3-requests
+# controller support
+Requires: python3-evdev
Recommends: winetricks
BuildArch: noarch
1
0
Hello community,
here is the log from the commit of package nginx for openSUSE:Factory checked in at 2019-05-24 11:33:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nginx (Old)
and /work/SRC/openSUSE:Factory/.nginx.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nginx"
Fri May 24 11:33:33 2019 rev:36 rq:705181 version:1.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nginx/nginx.changes 2019-05-07 23:19:03.904931672 +0200
+++ /work/SRC/openSUSE:Factory/.nginx.new.5148/nginx.changes 2019-05-24 11:33:35.233362168 +0200
@@ -1,0 +2,11 @@
+Thu May 23 19:51:31 UTC 2019 - seanlew(a)opensuse.org
+
+- update to version 1.17.0
+ * Feature: variables support in the "limit_rate" directives
+ * Feature: variables support in the "proxy rate" directies
+ * Change: min supported OpenSSL is 0.9.8
+ * Change: now the postpone filter is always built
+ * Bugfix: the "include" directive didn't work inside "if"
+ * Bugfix: in byte ranges processing
+
+-------------------------------------------------------------------
Old:
----
nginx-1.16.0.tar.gz
nginx-1.16.0.tar.gz.asc
New:
----
nginx-1.17.0.tar.gz
nginx-1.17.0.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nginx.spec ++++++
--- /var/tmp/diff_new_pack.o096kd/_old 2019-05-24 11:33:36.353361741 +0200
+++ /var/tmp/diff_new_pack.o096kd/_new 2019-05-24 11:33:36.353361741 +0200
@@ -70,7 +70,7 @@
%define ngx_doc_dir %{_datadir}/doc/packages/%{name}
#
Name: nginx
-Version: 1.16.0
+Version: 1.17.0
Release: 0
%define ngx_fancyindex_version 0.4.2
%define ngx_fancyindex_module_path ngx-fancyindex-%{ngx_fancyindex_version}
++++++ nginx-1.16.0.tar.gz -> nginx-1.17.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/CHANGES new/nginx-1.17.0/CHANGES
--- old/nginx-1.16.0/CHANGES 2019-04-23 15:13:01.000000000 +0200
+++ new/nginx-1.17.0/CHANGES 2019-05-21 16:24:01.000000000 +0200
@@ -1,7 +1,20 @@
-Changes with nginx 1.16.0 23 Apr 2019
+Changes with nginx 1.17.0 21 May 2019
- *) 1.16.x stable branch.
+ *) Feature: variables support in the "limit_rate" and "limit_rate_after"
+ directives.
+
+ *) Feature: variables support in the "proxy_upload_rate" and
+ "proxy_download_rate" directives in the stream module.
+
+ *) Change: minimum supported OpenSSL version is 0.9.8.
+
+ *) Change: now the postpone filter is always built.
+
+ *) Bugfix: the "include" directive did not work inside the "if" and
+ "limit_except" blocks.
+
+ *) Bugfix: in byte ranges processing.
Changes with nginx 1.15.12 16 Apr 2019
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/CHANGES.ru new/nginx-1.17.0/CHANGES.ru
--- old/nginx-1.16.0/CHANGES.ru 2019-04-23 15:13:00.000000000 +0200
+++ new/nginx-1.17.0/CHANGES.ru 2019-05-21 16:24:00.000000000 +0200
@@ -1,7 +1,20 @@
-Изменения в nginx 1.16.0 23.04.2019
+Изменения в nginx 1.17.0 21.05.2019
- *) Стабильная ветка 1.16.x.
+ *) Добавление: директивы limit_rate и limit_rate_after поддерживают
+ переменные.
+
+ *) Добавление: директивы proxy_upload_rate и proxy_download_rate в
+ модуле stream поддерживают переменные.
+
+ *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.8.
+
+ *) Изменение: теперь postpone-фильтр собирается всегда.
+
+ *) Исправление: директива include не работала в блоках if и
+ limit_except.
+
+ *) Исправление: в обработке byte ranges.
Изменения в nginx 1.15.12 16.04.2019
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/auto/modules new/nginx-1.17.0/auto/modules
--- old/nginx-1.16.0/auto/modules 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/auto/modules 2019-05-21 16:23:57.000000000 +0200
@@ -102,21 +102,6 @@
fi
- if [ $HTTP_SSI = YES ]; then
- HTTP_POSTPONE=YES
- fi
-
-
- if [ $HTTP_SLICE = YES ]; then
- HTTP_POSTPONE=YES
- fi
-
-
- if [ $HTTP_ADDITION = YES ]; then
- HTTP_POSTPONE=YES
- fi
-
-
# the module order is important
# ngx_http_static_module
# ngx_http_gzip_static_module
@@ -252,13 +237,13 @@
. auto/module
fi
- if [ $HTTP_POSTPONE = YES ]; then
+ if :; then
ngx_module_name=ngx_http_postpone_filter_module
ngx_module_incs=
ngx_module_deps=
ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c
ngx_module_libs=
- ngx_module_link=$HTTP_POSTPONE
+ ngx_module_link=YES
. auto/module
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/auto/options new/nginx-1.17.0/auto/options
--- old/nginx-1.16.0/auto/options 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/auto/options 2019-05-21 16:23:57.000000000 +0200
@@ -60,7 +60,6 @@
HTTP_SSL=NO
HTTP_V2=NO
HTTP_SSI=YES
-HTTP_POSTPONE=NO
HTTP_REALIP=NO
HTTP_XSLT=NO
HTTP_IMAGE_FILTER=NO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/core/nginx.h new/nginx-1.17.0/src/core/nginx.h
--- old/nginx-1.16.0/src/core/nginx.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/core/nginx.h 2019-05-21 16:23:57.000000000 +0200
@@ -9,8 +9,8 @@
#define _NGINX_H_INCLUDED_
-#define nginx_version 1016000
-#define NGINX_VERSION "1.16.0"
+#define nginx_version 1017000
+#define NGINX_VERSION "1.17.0"
#define NGINX_VER "nginx/" NGINX_VERSION
#ifdef NGX_BUILD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/core/ngx_conf_file.h new/nginx-1.17.0/src/core/ngx_conf_file.h
--- old/nginx-1.16.0/src/core/ngx_conf_file.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/core/ngx_conf_file.h 2019-05-21 16:23:57.000000000 +0200
@@ -49,7 +49,7 @@
#define NGX_DIRECT_CONF 0x00010000
#define NGX_MAIN_CONF 0x01000000
-#define NGX_ANY_CONF 0x1F000000
+#define NGX_ANY_CONF 0xFF000000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/event/ngx_event_openssl.c new/nginx-1.17.0/src/event/ngx_event_openssl.c
--- old/nginx-1.16.0/src/event/ngx_event_openssl.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/event/ngx_event_openssl.c 2019-05-21 16:23:57.000000000 +0200
@@ -164,7 +164,6 @@
#endif
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
#ifndef SSL_OP_NO_COMPRESSION
{
/*
@@ -182,7 +181,6 @@
}
}
#endif
-#endif
ngx_ssl_connection_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
@@ -904,13 +902,6 @@
return NGX_ERROR;
}
- /*
- * before 0.9.7h and 0.9.8 SSL_load_client_CA_file()
- * always leaved an error in the error queue
- */
-
- ERR_clear_error();
-
SSL_CTX_set_client_CA_list(ssl->ctx, list);
return NGX_OK;
@@ -1076,8 +1067,8 @@
* added to wbio, and set buffer size.
*/
- rbio = SSL_get_rbio((ngx_ssl_conn_t *) ssl_conn);
- wbio = SSL_get_wbio((ngx_ssl_conn_t *) ssl_conn);
+ rbio = SSL_get_rbio(ssl_conn);
+ wbio = SSL_get_wbio(ssl_conn);
if (rbio != wbio) {
(void) BIO_set_write_buffer_size(wbio, NGX_SSL_BUFSIZE);
@@ -1360,7 +1351,6 @@
ngx_int_t
ngx_ssl_ecdh_curve(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *name)
{
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
#ifndef OPENSSL_NO_ECDH
/*
@@ -1435,7 +1425,6 @@
EC_KEY_free(ecdh);
#endif
#endif
-#endif
return NGX_OK;
}
@@ -3364,17 +3353,8 @@
}
}
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
-
session_id = (u_char *) SSL_SESSION_get_id(sess, &session_id_length);
-#else
-
- session_id = sess->session_id;
- session_id_length = sess->session_id_length;
-
-#endif
-
#if (NGX_PTR_SIZE == 8)
id = sess_id->sess_id;
@@ -3450,13 +3430,10 @@
#endif
u_char *id, int len, int *copy)
{
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
size_t slen;
uint32_t hash;
ngx_int_t rc;
+ const u_char *p;
ngx_shm_zone_t *shm_zone;
ngx_slab_pool_t *shpool;
ngx_rbtree_node_t *node, *sentinel;
@@ -3578,17 +3555,8 @@
cache = shm_zone->data;
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
-
id = (u_char *) SSL_SESSION_get_id(sess, &len);
-#else
-
- id = sess->session_id;
- len = sess->session_id_length;
-
-#endif
-
hash = ngx_crc32_short(id, len);
ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ngx_cycle->log, 0,
@@ -4387,17 +4355,8 @@
return NGX_OK;
}
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
-
buf = (u_char *) SSL_SESSION_get_id(sess, &len);
-#else
-
- buf = sess->session_id;
- len = sess->session_id_length;
-
-#endif
-
s->len = 2 * len;
s->data = ngx_pnalloc(pool, 2 * len);
if (s->data == NULL) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/event/ngx_event_openssl_stapling.c new/nginx-1.17.0/src/event/ngx_event_openssl_stapling.c
--- old/nginx-1.16.0/src/event/ngx_event_openssl_stapling.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/event/ngx_event_openssl_stapling.c 2019-05-21 16:23:57.000000000 +0200
@@ -589,15 +589,12 @@
static void
ngx_ssl_stapling_ocsp_handler(ngx_ssl_ocsp_ctx_t *ctx)
{
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
int n;
size_t len;
time_t now, valid;
ngx_str_t response;
X509_STORE *store;
+ const u_char *p;
STACK_OF(X509) *chain;
OCSP_CERTID *id;
OCSP_RESPONSE *ocsp;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/modules/ngx_http_range_filter_module.c new/nginx-1.17.0/src/http/modules/ngx_http_range_filter_module.c
--- old/nginx-1.16.0/src/http/modules/ngx_http_range_filter_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/modules/ngx_http_range_filter_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -700,8 +700,9 @@
ngx_http_range_filter_ctx_t *ctx, ngx_chain_t *in)
{
off_t start, last;
+ ngx_int_t rc;
ngx_buf_t *buf;
- ngx_chain_t *out, *cl, **ll;
+ ngx_chain_t *out, *cl, *tl, **ll;
ngx_http_range_t *range;
out = NULL;
@@ -721,8 +722,22 @@
"http range body buf: %O-%O", start, last);
if (ngx_buf_special(buf)) {
- *ll = cl;
- ll = &cl->next;
+
+ if (range->end <= start) {
+ continue;
+ }
+
+ tl = ngx_alloc_chain_link(r->pool);
+ if (tl == NULL) {
+ return NGX_ERROR;
+ }
+
+ tl->buf = buf;
+ tl->next = NULL;
+
+ *ll = tl;
+ ll = &tl->next;
+
continue;
}
@@ -764,21 +779,42 @@
buf->last_buf = (r == r->main) ? 1 : 0;
buf->last_in_chain = 1;
- *ll = cl;
- cl->next = NULL;
- break;
+ tl = ngx_alloc_chain_link(r->pool);
+ if (tl == NULL) {
+ return NGX_ERROR;
+ }
+
+ tl->buf = buf;
+ tl->next = NULL;
+
+ *ll = tl;
+ ll = &tl->next;
+
+ continue;
+ }
+
+ tl = ngx_alloc_chain_link(r->pool);
+ if (tl == NULL) {
+ return NGX_ERROR;
}
- *ll = cl;
- ll = &cl->next;
+ tl->buf = buf;
+ tl->next = NULL;
+
+ *ll = tl;
+ ll = &tl->next;
}
- if (out == NULL) {
- return NGX_OK;
+ rc = ngx_http_next_body_filter(r, out);
+
+ while (out) {
+ cl = out;
+ out = out->next;
+ ngx_free_chain(r->pool, cl);
}
- return ngx_http_next_body_filter(r, out);
+ return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_core_module.c new/nginx-1.17.0/src/http/ngx_http_core_module.c
--- old/nginx-1.16.0/src/http/ngx_http_core_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_core_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -479,7 +479,7 @@
{ ngx_string("limit_rate"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_http_set_complex_value_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_core_loc_conf_t, limit_rate),
NULL },
@@ -487,7 +487,7 @@
{ ngx_string("limit_rate_after"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_http_set_complex_value_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_core_loc_conf_t, limit_rate_after),
NULL },
@@ -1281,10 +1281,6 @@
r->connection->tcp_nopush = NGX_TCP_NOPUSH_DISABLED;
}
- if (r->limit_rate == 0) {
- r->limit_rate = clcf->limit_rate;
- }
-
if (clcf->handler) {
r->content_handler = clcf->handler;
}
@@ -3387,6 +3383,8 @@
* clcf->exact_match = 0;
* clcf->auto_redirect = 0;
* clcf->alias = 0;
+ * clcf->limit_rate = NULL;
+ * clcf->limit_rate_after = NULL;
* clcf->gzip_proxied = 0;
* clcf->keepalive_disable = 0;
*/
@@ -3417,8 +3415,6 @@
clcf->send_timeout = NGX_CONF_UNSET_MSEC;
clcf->send_lowat = NGX_CONF_UNSET_SIZE;
clcf->postpone_output = NGX_CONF_UNSET_SIZE;
- clcf->limit_rate = NGX_CONF_UNSET_SIZE;
- clcf->limit_rate_after = NGX_CONF_UNSET_SIZE;
clcf->keepalive_timeout = NGX_CONF_UNSET_MSEC;
clcf->keepalive_header = NGX_CONF_UNSET;
clcf->keepalive_requests = NGX_CONF_UNSET_UINT;
@@ -3647,9 +3643,15 @@
ngx_conf_merge_size_value(conf->send_lowat, prev->send_lowat, 0);
ngx_conf_merge_size_value(conf->postpone_output, prev->postpone_output,
1460);
- ngx_conf_merge_size_value(conf->limit_rate, prev->limit_rate, 0);
- ngx_conf_merge_size_value(conf->limit_rate_after, prev->limit_rate_after,
- 0);
+
+ if (conf->limit_rate == NULL) {
+ conf->limit_rate = prev->limit_rate;
+ }
+
+ if (conf->limit_rate_after == NULL) {
+ conf->limit_rate_after = prev->limit_rate_after;
+ }
+
ngx_conf_merge_msec_value(conf->keepalive_timeout,
prev->keepalive_timeout, 75000);
ngx_conf_merge_sec_value(conf->keepalive_header,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_core_module.h new/nginx-1.17.0/src/http/ngx_http_core_module.h
--- old/nginx-1.16.0/src/http/ngx_http_core_module.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_core_module.h 2019-05-21 16:23:57.000000000 +0200
@@ -349,13 +349,14 @@
size_t client_body_buffer_size; /* client_body_buffer_size */
size_t send_lowat; /* send_lowat */
size_t postpone_output; /* postpone_output */
- size_t limit_rate; /* limit_rate */
- size_t limit_rate_after; /* limit_rate_after */
size_t sendfile_max_chunk; /* sendfile_max_chunk */
size_t read_ahead; /* read_ahead */
size_t subrequest_output_buffer_size;
/* subrequest_output_buffer_size */
+ ngx_http_complex_value_t *limit_rate; /* limit_rate */
+ ngx_http_complex_value_t *limit_rate_after; /* limit_rate_after */
+
ngx_msec_t client_body_timeout; /* client_body_timeout */
ngx_msec_t send_timeout; /* send_timeout */
ngx_msec_t keepalive_timeout; /* keepalive_timeout */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_request.h new/nginx-1.17.0/src/http/ngx_http_request.h
--- old/nginx-1.16.0/src/http/ngx_http_request.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_request.h 2019-05-21 16:23:57.000000000 +0200
@@ -515,6 +515,9 @@
unsigned limit_conn_set:1;
unsigned limit_req_set:1;
+ unsigned limit_rate_set:1;
+ unsigned limit_rate_after_set:1;
+
#if 0
unsigned cacheable:1;
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_script.c new/nginx-1.17.0/src/http/ngx_http_script.c
--- old/nginx-1.16.0/src/http/ngx_http_script.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_script.c 2019-05-21 16:23:57.000000000 +0200
@@ -104,6 +104,37 @@
}
+size_t
+ngx_http_complex_value_size(ngx_http_request_t *r,
+ ngx_http_complex_value_t *val, size_t default_value)
+{
+ size_t size;
+ ngx_str_t value;
+
+ if (val == NULL) {
+ return default_value;
+ }
+
+ if (val->lengths == NULL) {
+ return val->u.size;
+ }
+
+ if (ngx_http_complex_value(r, val, &value) != NGX_OK) {
+ return default_value;
+ }
+
+ size = ngx_parse_size(&value);
+
+ if (size == (size_t) NGX_ERROR) {
+ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
+ "invalid size \"%V\"", &value);
+ return default_value;
+ }
+
+ return size;
+}
+
+
ngx_int_t
ngx_http_compile_complex_value(ngx_http_compile_complex_value_t *ccv)
{
@@ -241,6 +272,36 @@
}
return NGX_CONF_OK;
+}
+
+
+char *
+ngx_http_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf)
+{
+ char *p = conf;
+
+ char *rv;
+ ngx_http_complex_value_t *cv;
+
+ rv = ngx_http_set_complex_value_slot(cf, cmd, conf);
+
+ if (rv != NGX_CONF_OK) {
+ return rv;
+ }
+
+ cv = *(ngx_http_complex_value_t **) (p + cmd->offset);
+
+ if (cv->lengths) {
+ return NGX_CONF_OK;
+ }
+
+ cv->u.size = ngx_parse_size(&cv->value);
+ if (cv->u.size == (size_t) NGX_ERROR) {
+ return "invalid value";
+ }
+
+ return NGX_CONF_OK;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_script.h new/nginx-1.17.0/src/http/ngx_http_script.h
--- old/nginx-1.16.0/src/http/ngx_http_script.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_script.h 2019-05-21 16:23:57.000000000 +0200
@@ -68,6 +68,10 @@
ngx_uint_t *flushes;
void *lengths;
void *values;
+
+ union {
+ size_t size;
+ } u;
} ngx_http_complex_value_t;
@@ -207,9 +211,13 @@
ngx_http_complex_value_t *val);
ngx_int_t ngx_http_complex_value(ngx_http_request_t *r,
ngx_http_complex_value_t *val, ngx_str_t *value);
+size_t ngx_http_complex_value_size(ngx_http_request_t *r,
+ ngx_http_complex_value_t *val, size_t default_value);
ngx_int_t ngx_http_compile_complex_value(ngx_http_compile_complex_value_t *ccv);
char *ngx_http_set_complex_value_slot(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
+char *ngx_http_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf);
ngx_int_t ngx_http_test_predicates(ngx_http_request_t *r,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_upstream.c new/nginx-1.17.0/src/http/ngx_http_upstream.c
--- old/nginx-1.16.0/src/http/ngx_http_upstream.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_upstream.c 2019-05-21 16:23:57.000000000 +0200
@@ -2979,6 +2979,7 @@
ngx_http_upstream_process_non_buffered_downstream;
r->limit_rate = 0;
+ r->limit_rate_set = 1;
if (u->input_filter_init(u->input_filter_ctx) == NGX_ERROR) {
ngx_http_upstream_finalize_request(r, u, NGX_ERROR);
@@ -4806,6 +4807,7 @@
if (n != NGX_ERROR) {
r->limit_rate = (size_t) n;
+ r->limit_rate_set = 1;
}
return NGX_OK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_upstream_round_robin.c new/nginx-1.17.0/src/http/ngx_http_upstream_round_robin.c
--- old/nginx-1.16.0/src/http/ngx_http_upstream_round_robin.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_upstream_round_robin.c 2019-05-21 16:23:57.000000000 +0200
@@ -669,10 +669,7 @@
ngx_http_upstream_rr_peer_t *peer;
#if (NGX_HTTP_UPSTREAM_ZONE)
int len;
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
+ const u_char *p;
ngx_http_upstream_rr_peers_t *peers;
u_char buf[NGX_SSL_MAX_SESSION_SIZE];
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_variables.c new/nginx-1.17.0/src/http/ngx_http_variables.c
--- old/nginx-1.16.0/src/http/ngx_http_variables.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_variables.c 2019-05-21 16:23:57.000000000 +0200
@@ -22,8 +22,6 @@
#endif
static ngx_int_t ngx_http_variable_request_get_size(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
-static void ngx_http_variable_request_set_size(ngx_http_request_t *r,
- ngx_http_variable_value_t *v, uintptr_t data);
static ngx_int_t ngx_http_variable_header(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
@@ -124,6 +122,8 @@
ngx_http_variable_value_t *v, uintptr_t data);
static ngx_int_t ngx_http_variable_sent_transfer_encoding(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
+static void ngx_http_variable_set_limit_rate(ngx_http_request_t *r,
+ ngx_http_variable_value_t *v, uintptr_t data);
static ngx_int_t ngx_http_variable_connection(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
@@ -321,7 +321,7 @@
{ ngx_string("sent_http_link"), NULL, ngx_http_variable_headers,
offsetof(ngx_http_request_t, headers_out.link), 0, 0 },
- { ngx_string("limit_rate"), ngx_http_variable_request_set_size,
+ { ngx_string("limit_rate"), ngx_http_variable_set_limit_rate,
ngx_http_variable_request_get_size,
offsetof(ngx_http_request_t, limit_rate),
NGX_HTTP_VAR_CHANGEABLE|NGX_HTTP_VAR_NOCACHEABLE, 0 },
@@ -788,32 +788,6 @@
}
-static void
-ngx_http_variable_request_set_size(ngx_http_request_t *r,
- ngx_http_variable_value_t *v, uintptr_t data)
-{
- ssize_t s, *sp;
- ngx_str_t val;
-
- val.len = v->len;
- val.data = v->data;
-
- s = ngx_parse_size(&val);
-
- if (s == NGX_ERROR) {
- ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
- "invalid size \"%V\"", &val);
- return;
- }
-
- sp = (ssize_t *) ((char *) r + data);
-
- *sp = s;
-
- return;
-}
-
-
static ngx_int_t
ngx_http_variable_header(ngx_http_request_t *r, ngx_http_variable_value_t *v,
uintptr_t data)
@@ -1993,6 +1967,29 @@
}
+static void
+ngx_http_variable_set_limit_rate(ngx_http_request_t *r,
+ ngx_http_variable_value_t *v, uintptr_t data)
+{
+ ssize_t s;
+ ngx_str_t val;
+
+ val.len = v->len;
+ val.data = v->data;
+
+ s = ngx_parse_size(&val);
+
+ if (s == NGX_ERROR) {
+ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
+ "invalid $limit_rate \"%V\"", &val);
+ return;
+ }
+
+ r->limit_rate = s;
+ r->limit_rate_set = 1;
+}
+
+
static ngx_int_t
ngx_http_variable_request_completion(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_write_filter_module.c new/nginx-1.17.0/src/http/ngx_http_write_filter_module.c
--- old/nginx-1.16.0/src/http/ngx_http_write_filter_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_write_filter_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -250,9 +250,17 @@
return NGX_ERROR;
}
+ if (!r->limit_rate_set) {
+ r->limit_rate = ngx_http_complex_value_size(r, clcf->limit_rate, 0);
+ r->limit_rate_set = 1;
+ }
+
if (r->limit_rate) {
- if (r->limit_rate_after == 0) {
- r->limit_rate_after = clcf->limit_rate_after;
+
+ if (!r->limit_rate_after_set) {
+ r->limit_rate_after = ngx_http_complex_value_size(r,
+ clcf->limit_rate_after, 0);
+ r->limit_rate_after_set = 1;
}
limit = (off_t) r->limit_rate * (ngx_time() - r->start_sec + 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_proxy_module.c new/nginx-1.17.0/src/stream/ngx_stream_proxy_module.c
--- old/nginx-1.16.0/src/stream/ngx_stream_proxy_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_proxy_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -24,8 +24,8 @@
ngx_msec_t timeout;
ngx_msec_t next_upstream_timeout;
size_t buffer_size;
- size_t upload_rate;
- size_t download_rate;
+ ngx_stream_complex_value_t *upload_rate;
+ ngx_stream_complex_value_t *download_rate;
ngx_uint_t requests;
ngx_uint_t responses;
ngx_uint_t next_upstream_tries;
@@ -184,14 +184,14 @@
{ ngx_string("proxy_upload_rate"),
NGX_STREAM_MAIN_CONF|NGX_STREAM_SRV_CONF|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_stream_set_complex_value_size_slot,
NGX_STREAM_SRV_CONF_OFFSET,
offsetof(ngx_stream_proxy_srv_conf_t, upload_rate),
NULL },
{ ngx_string("proxy_download_rate"),
NGX_STREAM_MAIN_CONF|NGX_STREAM_SRV_CONF|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_stream_set_complex_value_size_slot,
NGX_STREAM_SRV_CONF_OFFSET,
offsetof(ngx_stream_proxy_srv_conf_t, download_rate),
NULL },
@@ -895,6 +895,9 @@
u->proxy_protocol = 0;
}
+ u->upload_rate = ngx_stream_complex_value_size(s, pscf->upload_rate, 0);
+ u->download_rate = ngx_stream_complex_value_size(s, pscf->download_rate, 0);
+
u->connected = 1;
pc->read->handler = ngx_stream_proxy_upstream_handler;
@@ -1532,7 +1535,7 @@
src = pc;
dst = c;
b = &u->upstream_buf;
- limit_rate = pscf->download_rate;
+ limit_rate = u->download_rate;
received = &u->received;
packets = &u->responses;
out = &u->downstream_out;
@@ -1544,7 +1547,7 @@
src = c;
dst = pc;
b = &u->downstream_buf;
- limit_rate = pscf->upload_rate;
+ limit_rate = u->upload_rate;
received = &s->received;
packets = &u->requests;
out = &u->upstream_out;
@@ -1955,6 +1958,8 @@
* conf->ssl_certificate = { 0, NULL };
* conf->ssl_certificate_key = { 0, NULL };
*
+ * conf->upload_rate = NULL;
+ * conf->download_rate = NULL;
* conf->ssl = NULL;
* conf->upstream = NULL;
* conf->upstream_value = NULL;
@@ -1964,8 +1969,6 @@
conf->timeout = NGX_CONF_UNSET_MSEC;
conf->next_upstream_timeout = NGX_CONF_UNSET_MSEC;
conf->buffer_size = NGX_CONF_UNSET_SIZE;
- conf->upload_rate = NGX_CONF_UNSET_SIZE;
- conf->download_rate = NGX_CONF_UNSET_SIZE;
conf->requests = NGX_CONF_UNSET_UINT;
conf->responses = NGX_CONF_UNSET_UINT;
conf->next_upstream_tries = NGX_CONF_UNSET_UINT;
@@ -2005,11 +2008,13 @@
ngx_conf_merge_size_value(conf->buffer_size,
prev->buffer_size, 16384);
- ngx_conf_merge_size_value(conf->upload_rate,
- prev->upload_rate, 0);
+ if (conf->upload_rate == NULL) {
+ conf->upload_rate = prev->upload_rate;
+ }
- ngx_conf_merge_size_value(conf->download_rate,
- prev->download_rate, 0);
+ if (conf->download_rate == NULL) {
+ conf->download_rate = prev->download_rate;
+ }
ngx_conf_merge_uint_value(conf->requests,
prev->requests, 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_script.c new/nginx-1.17.0/src/stream/ngx_stream_script.c
--- old/nginx-1.16.0/src/stream/ngx_stream_script.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_script.c 2019-05-21 16:23:57.000000000 +0200
@@ -105,6 +105,37 @@
}
+size_t
+ngx_stream_complex_value_size(ngx_stream_session_t *s,
+ ngx_stream_complex_value_t *val, size_t default_value)
+{
+ size_t size;
+ ngx_str_t value;
+
+ if (val == NULL) {
+ return default_value;
+ }
+
+ if (val->lengths == NULL) {
+ return val->u.size;
+ }
+
+ if (ngx_stream_complex_value(s, val, &value) != NGX_OK) {
+ return default_value;
+ }
+
+ size = ngx_parse_size(&value);
+
+ if (size == (size_t) NGX_ERROR) {
+ ngx_log_error(NGX_LOG_ERR, s->connection->log, 0,
+ "invalid size \"%V\"", &value);
+ return default_value;
+ }
+
+ return size;
+}
+
+
ngx_int_t
ngx_stream_compile_complex_value(ngx_stream_compile_complex_value_t *ccv)
{
@@ -243,6 +274,36 @@
}
return NGX_CONF_OK;
+}
+
+
+char *
+ngx_stream_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf)
+{
+ char *p = conf;
+
+ char *rv;
+ ngx_stream_complex_value_t *cv;
+
+ rv = ngx_stream_set_complex_value_slot(cf, cmd, conf);
+
+ if (rv != NGX_CONF_OK) {
+ return rv;
+ }
+
+ cv = *(ngx_stream_complex_value_t **) (p + cmd->offset);
+
+ if (cv->lengths) {
+ return NGX_CONF_OK;
+ }
+
+ cv->u.size = ngx_parse_size(&cv->value);
+ if (cv->u.size == (size_t) NGX_ERROR) {
+ return "invalid value";
+ }
+
+ return NGX_CONF_OK;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_script.h new/nginx-1.17.0/src/stream/ngx_stream_script.h
--- old/nginx-1.16.0/src/stream/ngx_stream_script.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_script.h 2019-05-21 16:23:57.000000000 +0200
@@ -56,6 +56,10 @@
ngx_uint_t *flushes;
void *lengths;
void *values;
+
+ union {
+ size_t size;
+ } u;
} ngx_stream_complex_value_t;
@@ -102,10 +106,14 @@
ngx_stream_complex_value_t *val);
ngx_int_t ngx_stream_complex_value(ngx_stream_session_t *s,
ngx_stream_complex_value_t *val, ngx_str_t *value);
+size_t ngx_stream_complex_value_size(ngx_stream_session_t *s,
+ ngx_stream_complex_value_t *val, size_t default_value);
ngx_int_t ngx_stream_compile_complex_value(
ngx_stream_compile_complex_value_t *ccv);
char *ngx_stream_set_complex_value_slot(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
+char *ngx_stream_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf);
ngx_uint_t ngx_stream_script_variables_count(ngx_str_t *value);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_upstream.h new/nginx-1.17.0/src/stream/ngx_stream_upstream.h
--- old/nginx-1.16.0/src/stream/ngx_stream_upstream.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_upstream.h 2019-05-21 16:23:57.000000000 +0200
@@ -132,6 +132,9 @@
ngx_uint_t responses;
ngx_msec_t start_time;
+ size_t upload_rate;
+ size_t download_rate;
+
ngx_str_t ssl_name;
ngx_stream_upstream_srv_conf_t *upstream;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_upstream_round_robin.c new/nginx-1.17.0/src/stream/ngx_stream_upstream_round_robin.c
--- old/nginx-1.16.0/src/stream/ngx_stream_upstream_round_robin.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_upstream_round_robin.c 2019-05-21 16:23:57.000000000 +0200
@@ -701,10 +701,7 @@
ngx_stream_upstream_rr_peer_t *peer;
#if (NGX_STREAM_UPSTREAM_ZONE)
int len;
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
+ const u_char *p;
ngx_stream_upstream_rr_peers_t *peers;
u_char buf[NGX_SSL_MAX_SESSION_SIZE];
#endif
1
0
Hello community,
here is the log from the commit of package python-django-sekizai for openSUSE:Factory checked in at 2019-05-24 11:33:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-sekizai (Old)
and /work/SRC/openSUSE:Factory/.python-django-sekizai.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-sekizai"
Fri May 24 11:33:26 2019 rev:2 rq:705177 version:1.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-sekizai/python-django-sekizai.changes 2019-01-11 14:04:35.551854179 +0100
+++ /work/SRC/openSUSE:Factory/.python-django-sekizai.new.5148/python-django-sekizai.changes 2019-05-24 11:33:28.073364903 +0200
@@ -1,0 +2,9 @@
+Fri May 24 07:17:38 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.0.0:
+ * Fixes for new djangos/python releases
+- Remove merged patches:
+ * django-sekizai-py37.patch
+ * django-sekizai-django2.patch
+
+-------------------------------------------------------------------
Old:
----
0.10.0.tar.gz
django-sekizai-django2.patch
django-sekizai-py37.patch
New:
----
1.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-sekizai.spec ++++++
--- /var/tmp/diff_new_pack.7ULQBO/_old 2019-05-24 11:33:28.941364572 +0200
+++ /var/tmp/diff_new_pack.7ULQBO/_new 2019-05-24 11:33:28.945364570 +0200
@@ -18,16 +18,14 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-django-sekizai
-Version: 0.10.0
+Version: 1.0.0
Release: 0
Summary: Django Template Blocks with extra functionality
License: MIT
Group: Development/Languages/Python
URL: https://github.com/ojii/django-sekizai
Source: https://github.com/divio/django-sekizai/archive/%{version}.tar.gz
-Patch0: django-sekizai-django2.patch
-Patch1: django-sekizai-pycodestyle.patch
-Patch2: django-sekizai-py37.patch
+Patch0: django-sekizai-pycodestyle.patch
BuildRequires: %{python_module Django >= 1.11}
BuildRequires: %{python_module django-classy-tags >= 0.3.1}
BuildRequires: %{python_module pycodestyle}
@@ -44,9 +42,7 @@
%prep
%setup -q -n django-sekizai-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+%autopatch -p1
%build
%python_build
++++++ 0.10.0.tar.gz -> 1.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/.travis.yml new/django-sekizai-1.0.0/.travis.yml
--- old/django-sekizai-0.10.0/.travis.yml 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/.travis.yml 2019-04-11 14:03:34.000000000 +0200
@@ -1,19 +1,17 @@
+dist: xenial
language: python
sudo: false
python:
- 2.7
- - 3.3
- 3.4
- 3.5
+ - 3.6
+ - 3.7
env:
- - DJANGO='django>=1.3,<1.4'
- - DJANGO='django>=1.4,<1.5'
- - DJANGO='django>=1.5,<1.6'
- - DJANGO='django>=1.6,<1.7'
- - DJANGO='django>=1.7,<1.8'
- - DJANGO='django>=1.8,<1.9'
- - DJANGO='django>=1.9,<1.10'
- - DJANGO='django>=1.10,<1.11'
+ - DJANGO='django>=1.11,<2.0'
+ - DJANGO='django>=2.0,<2.1'
+ - DJANGO='django>=2.1,<2.2'
+ - DJANGO='django>=2.2a1,<3.0'
install:
- pip install $DJANGO django-classy-tags pep8 backport-collections
script: python runtests.py
@@ -21,25 +19,13 @@
email: false
matrix:
exclude:
- - python: 3.3
- env: DJANGO='django>=1.3,<1.4'
- - python: 3.3
- env: DJANGO='django>=1.4,<1.5'
- - python: 3.3
- env: DJANGO='django>=1.9,<1.10'
- - python: 3.3
- env: DJANGO='django>=1.10,<1.11'
+ - python: 2.7
+ env: DJANGO='django>=2.0,<2.1'
+ - python: 2.7
+ env: DJANGO='django>=2.1,<2.2'
+ - python: 2.7
+ env: DJANGO='django>=2.2a1,<3.0'
- python: 3.4
- env: DJANGO='django>=1.3,<1.4'
+ env: DJANGO='django>=2.1,<2.2'
- python: 3.4
- env: DJANGO='django>=1.4,<1.5'
- - python: 3.5
- env: DJANGO='django>=1.3,<1.4'
- - python: 3.5
- env: DJANGO='django>=1.4,<1.5'
- - python: 3.5
- env: DJANGO='django>=1.5,<1.6'
- - python: 3.5
- env: DJANGO='django>=1.6,<1.7'
- - python: 3.5
- env: DJANGO='django>=1.7,<1.8'
+ env: DJANGO='django>=2.2a1,<3.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/README.rst new/django-sekizai-1.0.0/README.rst
--- old/django-sekizai-0.10.0/README.rst 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/README.rst 2019-04-11 14:03:34.000000000 +0200
@@ -7,7 +7,7 @@
forms in django, but really that doesn't work that well. Usually the frontend
guys want to decide on css and javascript files to be included and they don't
want to have to edit Python files to change that neither did I want them to
-change my Python files. Therefor there was a need to allow you to edit contents
+change my Python files. Therefore there was a need to allow you to edit contents
of templates which are before or after the point where you are now. Also I
wanted duplicates to be removed. As a result I wrote django-sekizai, which does
exactly that. It's similar to blocks, just instead of inheriting them, you
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/docs/index.rst new/django-sekizai-1.0.0/docs/index.rst
--- old/django-sekizai-0.10.0/docs/index.rst 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/docs/index.rst 2019-04-11 14:03:34.000000000 +0200
@@ -24,15 +24,14 @@
blocks. This is especially useful for css and javascript. Your sub-templates can
now define css and Javascript files to be included, and the css will be nicely
put at the top and the Javascript to the bottom, just like you should. Also
-sekizai will ignore any duplicate content in a single block.
+sekizai will ignore any duplicate content in a single block.
************
Dependencies
************
-* Python 2.7, 3.3, 3.4 or 3.5.
-* Django 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9 or 1.10.
+* Django 1.11, 2.0, 2.1, or 2.2.
* django-classy-tags 0.3.1 or higher.
*****
@@ -47,15 +46,10 @@
* Put 'sekizai' into your ``INSTALLED_APPS`` setting.
* Use one of the following:
- * For Django versions before 1.10, add
- ``sekizai.context_processors.sekizai`` to your
- ``TEMPLATE_CONTEXT_PROCESSORS`` setting and use
+ * Add ``sekizai.context_processors.sekizai`` to your
+ ``TEMPLATES['OPTIONS']['context_processors']`` setting and use
``django.template.RequestContext`` when rendering your templates.
- For Django versions after 1.10, add ``sekizai.context_processors.sekizai``
- to your ``TEMPLATES['OPTIONS']['context_processors']`` setting and use
- ``django.template.RequestContext`` when rendering your templates.
-
or
* Use ``sekizai.context.SekizaiContext`` when rendering your templates.
@@ -137,7 +131,7 @@
.. warning::
``{% render_block %}`` tags **must not** be placed inside a template tag block (a template tag which has an
- end tag, such as ``{% block %}...{% endblock %}`` or ``{% if %}...{% endif %}``).
+ end tag, such as ``{% block %}...{% endblock %}`` or ``{% if %}...{% endif %}``).
.. warning::
@@ -148,6 +142,10 @@
If the ``{% addtoblock %}`` tag is used in an **extending** template, the tags **must** be
placed within ``{% block %}...{% endblock %}`` tags.
+.. warning::
+
+ ``{% addtoblock %}`` tags **must not** be used in a template included with ``only`` option!
+
Handling data
-------------
@@ -430,6 +428,12 @@
Changelog
*********
+0.11.0
+======
+
+* Added support for Django 1.11, 2.0, 2.1, and 2.2
+* Removed support for Django < 1.11
+
0.10.0
======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/runtests.py new/django-sekizai-1.0.0/runtests.py
--- old/django-sekizai-0.10.0/runtests.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/runtests.py 2019-04-11 14:03:34.000000000 +0200
@@ -4,8 +4,6 @@
urlpatterns = []
-TEMPLATE_DEBUG = True
-
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
@@ -13,59 +11,38 @@
}
}
-
INSTALLED_APPS = [
'sekizai',
]
-TEMPLATE_DIRS = [
- os.path.join(os.path.dirname(__file__), 'sekizai', 'test_templates'),
-]
-
-TEMPLATE_CONTEXT_PROCESSORS = [
- 'sekizai.context_processors.sekizai',
-]
-
-
ROOT_URLCONF = 'runtests'
-
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': TEMPLATE_DIRS,
+ 'DIRS': [os.path.join(os.path.dirname(__file__), 'sekizai', 'test_templates')],
'OPTIONS': {
- 'context_processors': TEMPLATE_CONTEXT_PROCESSORS,
- 'debug': TEMPLATE_DEBUG
+ 'context_processors': ['sekizai.context_processors.sekizai'],
+ 'debug': True,
},
},
]
def runtests():
- from django import VERSION
+ from django import setup
from django.conf import settings
- if VERSION[0] == 1 and VERSION[1] < 6:
- runner = 'django.test.simple.DjangoTestSuiteRunner'
- else:
- runner = 'django.test.runner.DiscoverRunner'
+ from django.test.utils import get_runner
settings.configure(
INSTALLED_APPS=INSTALLED_APPS,
ROOT_URLCONF=ROOT_URLCONF,
DATABASES=DATABASES,
- TEST_RUNNER=runner,
- TEMPLATE_DIRS=TEMPLATE_DIRS,
- TEMPLATE_CONTEXT_PROCESSORS=TEMPLATE_CONTEXT_PROCESSORS,
- TEMPLATE_DEBUG=TEMPLATE_DEBUG,
- MIDDLEWARE_CLASSES=[],
+ TEST_RUNNER='django.test.runner.DiscoverRunner',
TEMPLATES=TEMPLATES,
)
- if VERSION[1] >= 7:
- from django import setup
- setup()
+ setup()
# Run the test suite, including the extra validation tests.
- from django.test.utils import get_runner
TestRunner = get_runner(settings)
test_runner = TestRunner(verbosity=1, interactive=False, failfast=False)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/__init__.py new/django-sekizai-1.0.0/sekizai/__init__.py
--- old/django-sekizai-0.10.0/sekizai/__init__.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/__init__.py 2019-04-11 14:03:34.000000000 +0200
@@ -1 +1 @@
-__version__ = '0.10.0'
+__version__ = '1.0.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/helpers.py new/django-sekizai-1.0.0/sekizai/helpers.py
--- old/django-sekizai-0.10.0/sekizai/helpers.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/helpers.py 2019-04-11 14:03:34.000000000 +0200
@@ -5,11 +5,6 @@
from django.template.loader import get_template
from django.template.loader_tags import BlockNode, ExtendsNode
-try:
- from django.template import engines
-except ImportError:
- engines = None
-
def _get_nodelist(tpl):
if isinstance(tpl, Template):
@@ -29,12 +24,9 @@
def get_context():
- if engines is not None:
- context = Context()
- context.template = Template('')
- return context
- else:
- return Context()
+ context = Context()
+ context.template = Template('')
+ return context
def _extend_blocks(extend_node, blocks):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/templatetags/sekizai_tags.py new/django-sekizai-1.0.0/sekizai/templatetags/sekizai_tags.py
--- old/django-sekizai-0.10.0/sekizai/templatetags/sekizai_tags.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/templatetags/sekizai_tags.py 2019-04-11 14:03:34.000000000 +0200
@@ -29,12 +29,8 @@
try:
template_debug = context.template.engine.debug
except AttributeError:
- try:
- # Get the default engine debug value
- template_debug = template.Engine.get_default().debug
- except AttributeError:
- # Django 1.9 and below fallback
- template_debug = settings.TEMPLATE_DEBUG
+ # Get the default engine debug value
+ template_debug = template.Engine.get_default().debug
if get_varname() in context:
return True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/tests.py new/django-sekizai-1.0.0/sekizai/tests.py
--- old/django-sekizai-0.10.0/sekizai/tests.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/tests.py 2019-04-11 14:03:34.000000000 +0200
@@ -8,8 +8,10 @@
from django import template
from django.conf import settings
from django.template.loader import render_to_string
+from django.template.engine import Engine
import pep8
+from sekizai import context_processors
from sekizai.context import SekizaiContext
from sekizai.helpers import get_namespaces
from sekizai.helpers import get_varname
@@ -39,7 +41,7 @@
class SettingsOverride(object):
"""
- Overrides Django settings within a context and resets them to their inital
+ Overrides Django settings within a context and resets them to their initial
values on exit.
Example:
@@ -171,57 +173,40 @@
:return: SettingsOverride object
"""
- if django.VERSION[0] == 1 and django.VERSION[1] < 8:
- return SettingsOverride(TEMPLATE_DEBUG=debug)
- else:
- # Create our overridden template settings with debug turned off.
- templates_override = settings.TEMPLATES
- templates_override[0]['OPTIONS'].update({
- 'debug': debug
- })
-
- from django.template.engine import Engine
- # Engine gets created based on template settings initial value so
- # changing the settings after the fact won't update, so do it
- # manually. Necessary when testing validate_context
- # with render method and want debug off.
- Engine.get_default().debug = debug
- return SettingsOverride(TEMPLATES=templates_override)
+ # Create our overridden template settings with debug turned off.
+ templates_override = settings.TEMPLATES
+ templates_override[0]['OPTIONS'].update({'debug': debug})
+ # Engine gets created based on template settings initial value so
+ # changing the settings after the fact won't update, so do it
+ # manually. Necessary when testing validate_context
+ # with render method and want debug off.
+ Engine.get_default().debug = debug
+ return SettingsOverride(TEMPLATES=templates_override)
class SekizaiTestCase(TestCase):
- @classmethod
- def setUpClass(cls):
- cls._template_dirs = settings.TEMPLATE_DIRS
- template_dir = os.path.join(
- os.path.dirname(__file__),
- 'test_templates'
- )
- settings.TEMPLATE_DIRS = list(cls._template_dirs) + [template_dir]
-
- @classmethod
- def tearDownClass(cls):
- settings.TEMPLATE_DIRS = cls._template_dirs
- def _render(self, tpl, ctx=None, ctxclass=SekizaiContext):
- ctx = ctx or {}
- return render_to_string(tpl, ctxclass(ctx))
+ def _render(self, tpl, ctx=None, sekizai_context=True):
+ ctx = dict(ctx) if ctx else {}
+ if sekizai_context:
+ ctx.update(context_processors.sekizai())
+ return render_to_string(tpl, ctx)
- def _get_bits(self, tpl, ctx=None, ctxclass=SekizaiContext):
+ def _get_bits(self, tpl, ctx=None, sekizai_context=True):
ctx = ctx or {}
- rendered = self._render(tpl, ctx, ctxclass)
+ rendered = self._render(tpl, ctx, sekizai_context)
bits = [
bit for bit in [bit.strip('\n')
for bit in rendered.split('\n')] if bit
]
return bits, rendered
- def _test(self, tpl, res, ctx=None, ctxclass=SekizaiContext):
+ def _test(self, tpl, res, ctx=None, sekizai_context=True):
"""
Helper method to render template and compare it's bits
"""
ctx = ctx or {}
- bits, rendered = self._get_bits(tpl, ctx, ctxclass)
+ bits, rendered = self._get_bits(tpl, ctx, sekizai_context)
differ = BitDiff(res)
result = differ.test(bits)
self.assertTrue(result.status, result.message)
@@ -257,7 +242,7 @@
def test_eat_content_before_render_block(self):
"""
- Testing that content get's eaten if no render_blocks is available
+ Testing that content gets eaten if no render_blocks is available
"""
bits = ["mycontent"]
self._test("eat.html", bits)
@@ -267,10 +252,8 @@
Test that the template tags properly fail if not used with either
SekizaiContext or the context processor.
"""
- self.assertRaises(
- template.TemplateSyntaxError,
- self._render, 'basic.html', {}, template.Context
- )
+ with self.assertRaises(template.TemplateSyntaxError):
+ self._render('basic.html', {}, sekizai_context=False)
def test_complex_template_inheritance(self):
"""
@@ -383,7 +366,7 @@
self.assertEqual(validate_context(django_ctx), False)
self.assertEqual(validate_context(sekizai_ctx), True)
bits = ['some content', 'more content', 'final content']
- self._test('basic.html', bits, ctxclass=template.Context)
+ self._test('basic.html', bits, sekizai_context=False)
def test_post_processor_null(self):
bits = ['header', 'footer']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/setup.py new/django-sekizai-1.0.0/setup.py
--- old/django-sekizai-0.10.0/setup.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/setup.py 2019-04-11 14:03:34.000000000 +0200
@@ -14,6 +14,7 @@
zip_safe=False,
include_package_data=True,
install_requires=[
+ 'django>=1.11',
'django-classy-tags>=0.3.1',
],
test_suite='runtests.main',
@@ -21,13 +22,18 @@
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Framework :: Django',
+ 'Framework :: Django :: 1.11',
+ 'Framework :: Django :: 2.0',
+ 'Framework :: Django :: 2.1',
+ 'Framework :: Django :: 2.2',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
]
)
1
0
Hello community,
here is the log from the commit of package libmodulemd for openSUSE:Factory checked in at 2019-05-24 11:33:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmodulemd (Old)
and /work/SRC/openSUSE:Factory/.libmodulemd.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmodulemd"
Fri May 24 11:33:23 2019 rev:6 rq:705109 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmodulemd/libmodulemd.changes 2019-05-12 11:44:51.951887694 +0200
+++ /work/SRC/openSUSE:Factory/.libmodulemd.new.5148/libmodulemd.changes 2019-05-24 11:33:25.061366054 +0200
@@ -1,0 +2,12 @@
+Fri May 24 03:25:00 UTC 2019 - Neal Gompa <ngompa13(a)gmail.com>
+
+- Update to 2.5.0 (v2) and 1.8.11 (v1)
+ + Ensure that XMD is always emitted in the same order
+ + Add .clear_*() functions for all .add_*() functions
+ + Add ModuleStream.equals()
+ + Add ModuleIndex.get_default_streams()
+ + Add ModuleStreamV2.clear_dependencies() and .remove_dependencies()
+ + Fix bugs and memory issues with the XMD python bindings
+ + Assorted documentation enhancements
+
+-------------------------------------------------------------------
Old:
----
modulemd-2.3.1.tar.xz
New:
----
modulemd-2.5.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmodulemd.spec ++++++
--- /var/tmp/diff_new_pack.uqCkTc/_old 2019-05-24 11:33:25.869365745 +0200
+++ /var/tmp/diff_new_pack.uqCkTc/_new 2019-05-24 11:33:25.869365745 +0200
@@ -17,8 +17,8 @@
%global majorversion 2
-%global minorversion 3
-%global patchversion 1
+%global minorversion 5
+%global patchversion 0
%global majorminorversion %{majorversion}.%{minorversion}
%global nsversion %{majorversion}.0
@@ -31,7 +31,7 @@
# Legacy modulemd API
%global oldmajorver 1
%global oldminorver 8
-%global oldpatchver 8
+%global oldpatchver 11
%global oldmajorminorver %{oldmajorver}.%{oldminorver}
%global oldnsver %{oldmajorver}.0
++++++ modulemd-2.3.1.tar.xz -> modulemd-2.5.0.tar.xz ++++++
++++ 3298 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package librepo for openSUSE:Factory checked in at 2019-05-24 11:33:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/librepo (Old)
and /work/SRC/openSUSE:Factory/.librepo.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "librepo"
Fri May 24 11:33:21 2019 rev:8 rq:705108 version:1.10.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/librepo/librepo.changes 2019-05-12 11:46:25.228161549 +0200
+++ /work/SRC/openSUSE:Factory/.librepo.new.5148/librepo.changes 2019-05-24 11:33:22.701366955 +0200
@@ -1,0 +2,7 @@
+Fri May 24 03:18:15 UTC 2019 - Neal Gompa <ngompa13(a)gmail.com>
+
+- Upgrade to 1.10.3
+ + Exit gpg-agent after repokey import (rh#1650266)
+ + Make sure to check next transfer if current zck transfer already exists (rh#1706627)
+
+-------------------------------------------------------------------
Old:
----
librepo-1.10.2.tar.gz
New:
----
librepo-1.10.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ librepo.spec ++++++
--- /var/tmp/diff_new_pack.ClKO9j/_old 2019-05-24 11:33:23.249366745 +0200
+++ /var/tmp/diff_new_pack.ClKO9j/_new 2019-05-24 11:33:23.253366744 +0200
@@ -35,7 +35,7 @@
%define devname %{name}-devel
Name: librepo
-Version: 1.10.2
+Version: 1.10.3
Release: 0
Summary: Repodata downloading library
License: LGPL-2.0-or-later
++++++ librepo-1.10.2.tar.gz -> librepo-1.10.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/VERSION.cmake new/librepo-1.10.3/VERSION.cmake
--- old/librepo-1.10.2/VERSION.cmake 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/VERSION.cmake 2019-05-24 05:06:30.000000000 +0200
@@ -1,3 +1,3 @@
SET(LIBREPO_MAJOR "1")
SET(LIBREPO_MINOR "10")
-SET(LIBREPO_PATCH "2")
+SET(LIBREPO_PATCH "3")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/librepo/downloader.c new/librepo-1.10.3/librepo/downloader.c
--- old/librepo-1.10.2/librepo/downloader.c 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo/downloader.c 2019-05-24 05:06:30.000000000 +0200
@@ -1450,7 +1450,7 @@
goto fail;
}
- // If zchunk is finished, we're done
+ // If zchunk is finished, we're done, so move to next target
if(target->zck_state == LR_ZCK_DL_FINISHED) {
g_debug("%s: Target already fully downloaded: %s", __func__, target->target->path);
target->state = LR_DS_FINISHED;
@@ -1461,7 +1461,7 @@
fclose(target->f);
target->f = NULL;
lr_downloadtarget_set_error(target->target, LRE_OK, NULL);
- return TRUE;
+ return prepare_next_transfer(dd, candidatefound, err);
}
}
# endif /* WITH_ZCHUNK */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/librepo/gpg.c new/librepo-1.10.3/librepo/gpg.c
--- old/librepo-1.10.2/librepo/gpg.c 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo/gpg.c 2019-05-24 05:06:30.000000000 +0200
@@ -32,6 +32,30 @@
#include "util.h"
#include "gpg.h"
+static void
+kill_gpg_agent(gpgme_ctx_t context, const char *home_dir)
+{
+ gpgme_error_t gpgerr;
+
+ gpgerr = gpgme_set_protocol(context, GPGME_PROTOCOL_ASSUAN);
+ if (gpgerr != GPG_ERR_NO_ERROR) {
+ g_warning("%s: gpgme_set_protocol: %s", __func__, gpgme_strerror(gpgerr));
+ return;
+ }
+ if (home_dir) {
+ gchar * gpg_agent_sock = g_build_filename(home_dir, "S.gpg-agent", NULL);
+ gpgerr = gpgme_ctx_set_engine_info(context, GPGME_PROTOCOL_ASSUAN, gpg_agent_sock, home_dir);
+ g_free(gpg_agent_sock);
+ if (gpgerr != GPG_ERR_NO_ERROR) {
+ g_warning("%s: gpgme_ctx_set_engine_info: %s", __func__, gpgme_strerror(gpgerr));
+ return;
+ }
+ }
+ gpgerr = gpgme_op_assuan_transact_ext(context, "KILLAGENT", NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+ if (gpgerr != GPG_ERR_NO_ERROR)
+ g_debug("%s: gpgme_op_assuan_transact_ext: %s", __func__, gpgme_strerror(gpgerr));
+}
+
gboolean
lr_gpg_check_signature_fd(int signature_fd,
int data_fd,
@@ -295,6 +319,14 @@
}
close(key_fd);
+
+ // Running gpg-agent kept opened sockets on the system.
+ // It tries to exit gpg-agent. Path to the communication socket is derived from homedir.
+ // The gpg-agent automaticaly removes all its socket before exit.
+ // Newer gpg-agent creates sockets under [/var]/run/user/{pid}/... if directory exists.
+ // In this case gpg-agent will not be exited.
+ kill_gpg_agent(context, home_dir);
+
gpgme_release(context);
return TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/librepo.spec new/librepo-1.10.3/librepo.spec
--- old/librepo-1.10.2/librepo.spec 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo.spec 2019-05-24 05:06:30.000000000 +0200
@@ -26,7 +26,7 @@
%global dnf_conflict 2.8.8
Name: librepo
-Version: 1.10.2
+Version: 1.10.3
Release: 1%{?dist}
Summary: Repodata downloading library
1
0
Hello community,
here is the log from the commit of package python-coconut for openSUSE:Factory checked in at 2019-05-24 11:33:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-coconut (Old)
and /work/SRC/openSUSE:Factory/.python-coconut.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-coconut"
Fri May 24 11:33:18 2019 rev:5 rq:705105 version:1.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-coconut/python-coconut.changes 2019-04-05 11:57:12.670360010 +0200
+++ /work/SRC/openSUSE:Factory/.python-coconut.new.5148/python-coconut.changes 2019-05-24 11:33:19.821368055 +0200
@@ -1,0 +2,13 @@
+Fri May 24 03:06:34 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Add conflicts with python2 version since we are dropping
+ update-alternatives.
+
+-------------------------------------------------------------------
+Wed May 22 14:34:21 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Drop python2 support since some of its dependencies have also
+ dropped python2 support.
+- Use new jupyter package names.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-coconut.spec ++++++
--- /var/tmp/diff_new_pack.bC8kv1/_old 2019-05-24 11:33:20.501367795 +0200
+++ /var/tmp/diff_new_pack.bC8kv1/_new 2019-05-24 11:33:20.505367793 +0200
@@ -17,6 +17,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define skip_python2 1
Name: python-coconut
Version: 1.4.0
Release: 0
@@ -26,26 +27,23 @@
URL: https://github.com/evhub/coconut
Source: https://files.pythonhosted.org/packages/source/c/coconut/coconut-%{version}…
BuildRequires: %{python_module Pygments >= 2.2}
+BuildRequires: %{python_module prompt_toolkit >= 2}
BuildRequires: %{python_module pyparsing >= 2.2}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six}
-# IPython python2 version requires prompt_toolkit 1 while python3 version requires prompt_toolkit 2
BuildRequires: fdupes
-BuildRequires: python-prompt_toolkit1
BuildRequires: python-rpm-macros
-BuildRequires: python2-futures >= 3.1
-BuildRequires: python3-prompt_toolkit >= 2
# SECTION test requirements
BuildRequires: %{python_module cPyparsing >= 2.2.0.1.1}
BuildRequires: %{python_module jupyter >= 1}
BuildRequires: %{python_module jupyter_console >= 5.2}
-BuildRequires: %{python_module jupyter_ipykernel >= 4.6}
-BuildRequires: %{python_module jupyter_ipython >= 5.4}
+BuildRequires: %{python_module ipykernel >= 4.6}
+BuildRequires: %{python_module ipython >= 5.4}
+BuildRequires: %{python_module mypy >= 0.540}
BuildRequires: %{python_module psutil >= 5}
BuildRequires: %{python_module pytest >= 3}
BuildRequires: %{python_module requests >= 2}
BuildRequires: %{python_module watchdog >= 0.8}
-BuildRequires: python3-mypy >= 0.540
# /SECTION
Requires: python-Pygments >= 2.2
Requires: python-pyparsing >= 2.2
@@ -53,22 +51,16 @@
Recommends: python-cPyparsing >= 2.2.0.1.1
Recommends: python-jupyter >= 1
Recommends: python-jupyter_console >= 5.2
-Recommends: python-jupyter_ipykernel >= 4.6
-Recommends: python-jupyter_ipython >= 5.4
+Recommends: python-ipykernel >= 4.6
+Recommends: python-ipython >= 5.4
Recommends: python-mypy >= 0.540
+Requires: python-prompt_toolkit >= 2
Recommends: python-psutil >= 5
Recommends: python-requests >= 2
Recommends: python-watchdog >= 0.8
-%ifpython2
-Requires: python-futures >= 3.1
-Requires: python-prompt_toolkit1
-%endif
-%ifpython3
-Requires: python-prompt_toolkit >= 2
-%endif
-Requires(post): update-alternatives
-Requires(postun): update-alternatives
+Conflicts: python2-coconut <= 1.4.0
BuildArch: noarch
+
%python_subpackages
%description
@@ -91,23 +83,15 @@
%install
%python_install
%python_expand %fdupes %{buildroot}/%{$python_sitelib}/
-%python_clone -a %{buildroot}%{_bindir}/coconut
-
-%post
-%python_install_alternative coconut
-
-%postun
-%python_uninstall_alternative coconut
%files %{python_files}
%doc README.rst CONTRIBUTING.md DOCS.md FAQ.md HELP.md
%license LICENSE.txt
-%python2_only %{_bindir}/coconut-py2*
-%python3_only %{_bindir}/coconut-py3*
-%python_alternative %{_bindir}/coconut
-%python3_only %{_bindir}/coconut-v1*
-%python3_only %{_bindir}/coconut-release*
-%python3_only %{_bindir}/coconut-run
+%{_bindir}/coconut-py3*
+%{_bindir}/coconut
+%{_bindir}/coconut-v1*
+%{_bindir}/coconut-release*
+%{_bindir}/coconut-run
%{python_sitelib}/coconut/
%{python_sitelib}/coconut-%{version}-py*.egg-info
1
0
Hello community,
here is the log from the commit of package dnf-plugins-core for openSUSE:Factory checked in at 2019-05-24 11:33:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dnf-plugins-core (Old)
and /work/SRC/openSUSE:Factory/.dnf-plugins-core.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dnf-plugins-core"
Fri May 24 11:33:13 2019 rev:8 rq:705103 version:4.0.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/dnf-plugins-core/dnf-plugins-core.changes 2019-04-28 20:12:06.114468873 +0200
+++ /work/SRC/openSUSE:Factory/.dnf-plugins-core.new.5148/dnf-plugins-core.changes 2019-05-24 11:33:16.865369184 +0200
@@ -1,0 +2,12 @@
+Fri May 24 02:56:30 UTC 2019 - Neal Gompa <ngompa13(a)gmail.com>
+
+- Update to version 4.0.7
+ + Fix: copr disable command traceback (rh#1693551)
+ + [doc] state repoid as repo identifier of config-manager (rh#1686779)
+ + Fix download of src when not the latest requested (rh#1649627)
+- Add missing dependencies on dateutil and distro Python modules
+- Drop backported fixes that are part of this release
+ * 0001-Fix-copr-disable-command-traceback-RhBug-1693551.patch
+ * 0002-doc-state-repoid-as-repo-identifier-of-config-manage.patch
+
+-------------------------------------------------------------------
Old:
----
0001-Fix-copr-disable-command-traceback-RhBug-1693551.patch
0002-doc-state-repoid-as-repo-identifier-of-config-manage.patch
dnf-plugins-core-4.0.6.tar.gz
New:
----
dnf-plugins-core-4.0.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dnf-plugins-core.spec ++++++
--- /var/tmp/diff_new_pack.FmWYmb/_old 2019-05-24 11:33:17.989368754 +0200
+++ /var/tmp/diff_new_pack.FmWYmb/_new 2019-05-24 11:33:17.993368753 +0200
@@ -35,7 +35,7 @@
#global prerel rc1
Name: dnf-plugins-core
-Version: 4.0.6
+Version: 4.0.7
Release: 0
Summary: Core Plugins for DNF
License: GPL-2.0+
@@ -43,10 +43,6 @@
Url: https://github.com/rpm-software-management/dnf-plugins-core
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
-# Backports from upstream
-Patch0001: 0001-Fix-copr-disable-command-traceback-RhBug-1693551.patch
-Patch0002: 0002-doc-state-repoid-as-repo-identifier-of-config-manage.patch
-
BuildArch: noarch
BuildRequires: cmake
@@ -107,6 +103,8 @@
BuildRequires: python3-nose
Requires: python3-dnf >= %{dnf_lowest_compatible}
Requires: python3-hawkey >= %{hawkey_version}
+Requires: python3-dateutil
+Requires: python3-distro
Conflicts: %{name} <= 0.1.5
# let the both python plugin versions be updated simultaneously
++++++ dnf-plugins-core-4.0.6.tar.gz -> dnf-plugins-core-4.0.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/dnf-plugins-core.spec new/dnf-plugins-core-4.0.7/dnf-plugins-core.spec
--- old/dnf-plugins-core-4.0.6/dnf-plugins-core.spec 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/dnf-plugins-core.spec 2019-05-07 14:43:47.000000000 +0200
@@ -23,7 +23,7 @@
%endif
Name: dnf-plugins-core
-Version: 4.0.6
+Version: 4.0.7
Release: 1%{?dist}
Summary: Core Plugins for DNF
License: GPLv2+
@@ -684,6 +684,11 @@
%endif
%changelog
+* Tue May 07 2019 Pavla Kratochvilova <pkratoch(a)redhat.com> - 4.0.7-1
+- Fix: copr disable command traceback (RhBug:1693551)
+- [doc] state repoid as repo identifier of config-manager (RhBug:1686779)
+- Fix download of src when not the latest requested (RhBug:1649627)
+
* Mon Mar 11 2019 Pavla Kratochvilova <pkratoch(a)redhat.com> - 4.0.6-1
- Use improved config parser that preserves order of data
- [leaves] Show multiply satisfied dependencies as leaves
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/doc/config_manager.rst new/dnf-plugins-core-4.0.7/doc/config_manager.rst
--- old/dnf-plugins-core-4.0.6/doc/config_manager.rst 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/doc/config_manager.rst 2019-05-07 14:43:47.000000000 +0200
@@ -26,15 +26,15 @@
Synopsis
--------
-``dnf config-manager [options] <repo>...``
+``dnf config-manager [options] <repoid>...``
---------
Arguments
---------
-``<repo>``
- Display / modify specified repository. If not specified display / modify main DNF configuration.
- Repositories can be specified using globs.
+``<repoid>``
+ Display / modify a repository identified by <repoid>. If not specified, display / modify
+ main DNF configuration. Repositories can be specified using globs.
-------
Options
@@ -71,11 +71,12 @@
``dnf config-manager --dump``
Display main DNF configuration.
-``dnf config-manager repo --dump``
- Display configuration of repo.
+``dnf config-manager <repoid> --dump``
+ Display configuration of a repository identified by <repoid>.
-``dnf config-manager --set-enabled repo``
- Enable repo and make the change permanent.
+``dnf config-manager --set-enabled <repoid>``
+ Enable repository identified by <repoid> and make the change permanent.
-``dnf config-manager --setopt proxy=http://proxy.example.com:3128/ repo1 repo2 --save``
- Update proxy setting in repo1 and repo2 and make the change permanent.
+``dnf config-manager --setopt proxy=http://proxy.example.com:3128/ <repo1> <repo2> --save``
+ Update proxy setting in repositories with repoid <repo1> and <repo2> and make the change
+ permanent.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/doc/release_notes.rst new/dnf-plugins-core-4.0.7/doc/release_notes.rst
--- old/dnf-plugins-core-4.0.6/doc/release_notes.rst 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/doc/release_notes.rst 2019-05-07 14:43:47.000000000 +0200
@@ -22,6 +22,18 @@
.. contents::
===================
+4.0.7 Release Notes
+===================
+
+- Fix: copr disable command traceback (RhBug:1693551)
+- [doc] state repoid as repo identifier of config-manager (RhBug:1686779)
+- Fix download of src when not the latest requested (RhBug:1649627)
+
+Bugs fixed in 4.0.7:
+
+* :rhbug:`1693551`
+
+===================
4.0.6 Release Notes
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/doc/summaries_cache new/dnf-plugins-core-4.0.7/doc/summaries_cache
--- old/dnf-plugins-core-4.0.6/doc/summaries_cache 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/doc/summaries_cache 2019-05-07 14:43:47.000000000 +0200
@@ -430,5 +430,9 @@
[
1666648,
"dnf download command downloads also a srpm"
+ ],
+ [
+ 1693551,
+ "Problem with dnf copr disable command"
]
]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/plugins/copr.py new/dnf-plugins-core-4.0.7/plugins/copr.py
--- old/dnf-plugins-core-4.0.6/plugins/copr.py 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/plugins/copr.py 2019-05-07 14:43:47.000000000 +0200
@@ -518,7 +518,7 @@
.format(copr_username, copr_projectname)))
self.base.conf.write_raw_configfile(repo.repofile, repo.id,
- self.base.conf.substitutions, {"enabled": 0})
+ self.base.conf.substitutions, {"enabled": "0"})
@classmethod
def _get_data(cls, f):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/plugins/download.py new/dnf-plugins-core-4.0.7/plugins/download.py
--- old/dnf-plugins-core-4.0.6/plugins/download.py 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/plugins/download.py 2019-05-07 14:43:47.000000000 +0200
@@ -270,13 +270,11 @@
def _get_query_source(self, pkg_spec):
"""Return a query to match a source rpm file name."""
pkg_spec = pkg_spec[:-4] # skip the .rpm
- nevra = hawkey.split_nevra(pkg_spec)
- q = self.base.sack.query()
- q = q.available()
- q = q.latest()
- q = q.filter(name=nevra.name, version=nevra.version,
- release=nevra.release, arch=nevra.arch)
- if len(q.run()) == 0:
- msg = _("No package %s available.") % (pkg_spec)
- raise dnf.exceptions.PackageNotFoundError(msg)
- return q
+ subj = dnf.subject.Subject(pkg_spec)
+ for nevra_obj in subj.get_nevra_possibilities():
+ tmp_query = nevra_obj.to_query(self.base.sack).available()
+ if tmp_query:
+ return tmp_query.latest()
+
+ msg = _("No package %s available.") % (pkg_spec)
+ raise dnf.exceptions.PackageNotFoundError(msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/rel-eng/packages/dnf-plugins-core new/dnf-plugins-core-4.0.7/rel-eng/packages/dnf-plugins-core
--- old/dnf-plugins-core-4.0.6/rel-eng/packages/dnf-plugins-core 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/rel-eng/packages/dnf-plugins-core 2019-05-07 14:43:47.000000000 +0200
@@ -1 +1 @@
-4.0.6-1 ./
+4.0.7-1 ./
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/tests/test_download.py new/dnf-plugins-core-4.0.7/tests/test_download.py
--- old/dnf-plugins-core-4.0.6/tests/test_download.py 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/tests/test_download.py 2019-05-07 14:43:47.000000000 +0200
@@ -271,12 +271,6 @@
finally:
os.remove(rpm_path)
- def test_get_query_source(self):
- pkgs = self.cmd._get_query_source('foo-2.0-1.src.rpm')
- self.assertEqual(len(pkgs), 1)
- self.assertEqual(pkgs[0].arch, 'src')
- self.assertEqual(pkgs[0].reponame, 'test-repo-source')
-
def test_get_packages(self):
pkgs = self.cmd._get_packages(['bar'])
self.assertEqual(len(pkgs), 1)
@@ -299,10 +293,6 @@
self.cmd.base.conf.strict = strict_orig
self.assertEqual(pkgs[0].name, 'bar')
- pkgs = self.cmd._get_packages(['foo-2.0-1.src.rpm'], source=True)
- self.assertEqual(len(pkgs), 1)
- self.assertEqual(pkgs[0].arch, 'src')
- self.assertEqual(pkgs[0].reponame, 'test-repo-source')
def test_download_rpms(self):
pkgs = self.cmd._get_pkg_objs_rpms(['foo'])
@@ -316,17 +306,6 @@
self.assertEqual(locations[1], '/tmp/dnf/foo-2.0-1.noarch.rpm')
self.assertTrue(self.cmd.base.download_packages.called)
- def test_download_source(self):
- pkgs = self.cmd._get_pkg_objs_source(['foo'])
- locations = self.cmd._do_downloads(pkgs)
- self.assertEqual(len(locations), 1)
- self.assertEqual(locations[0], '/tmp/dnf/foo-2.0-1.src.rpm')
- pkgs = self.cmd._get_pkg_objs_source(['foo', 'bar'])
- locations = self.cmd._do_downloads(pkgs)
- self.assertEqual(len(locations), 2)
- self.assertEqual(locations[0], '/tmp/dnf/bar-2.0-1.src.rpm')
- self.assertEqual(locations[1], '/tmp/dnf/foo-2.0-1.src.rpm')
-
def test_download_debuginfo(self):
pkgs = self.cmd._get_pkg_objs_debuginfo(['kernel-PAE'])
locations = self.cmd._do_downloads(pkgs)
1
0
Hello community,
here is the log from the commit of package icinga2 for openSUSE:Factory checked in at 2019-05-24 11:33:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/icinga2 (Old)
and /work/SRC/openSUSE:Factory/.icinga2.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "icinga2"
Fri May 24 11:33:09 2019 rev:18 rq:705093 version:2.10.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/icinga2/icinga2.changes 2019-03-21 09:53:31.646785174 +0100
+++ /work/SRC/openSUSE:Factory/.icinga2.new.5148/icinga2.changes 2019-05-24 11:33:11.341371293 +0200
@@ -1,0 +2,20 @@
+Thu May 23 20:23:57 UTC 2019 - ecsos(a)opensuse.org
+
+- update to 2.10.5
+ * Core
+ - Fix crashes with logrotate signals #6737 (thanks Elias Ohm)
+ * API
+ - Fix crashes and problems with permission filters from recent
+ Namespace introduction #6785 (thanks Elias Ohm) #6874 (backported from 2.11)
+ - Reduce log spam with locked connections (real fix is the network stack rewrite in 2.11) #6877
+ * Cluster
+ - Fix problems with replay log rotation and storage #6932 (thanks Peter Eckel)
+ * IDO DB
+ - Fix that reload shutdown deactivates hosts and hostgroups (introduced in 2.9) #7157
+ * Documentation
+ - Improve the REST API chapter: Unix timestamp handling, filters, unify POST requests with filters in the body
+ - Better layout for the features chapter, specifically metrics and events
+ - Split object types into monitoring, runtime, features
+ - Add technical concepts for cluster messages
+
+-------------------------------------------------------------------
Old:
----
v2.10.4.tar.gz
New:
----
v2.10.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ icinga2.spec ++++++
--- /var/tmp/diff_new_pack.FaKcPS/_old 2019-05-24 11:33:12.337370913 +0200
+++ /var/tmp/diff_new_pack.FaKcPS/_new 2019-05-24 11:33:12.341370912 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -86,7 +86,7 @@
%else
%endif # suse
Name: icinga2
-Version: 2.10.4
+Version: 2.10.5
Release: %{revision}%{?dist}
Url: https://www.icinga.com/
Source: https://github.com/Icinga/%{name}/archive/v%{version}.tar.gz
++++++ v2.10.4.tar.gz -> v2.10.5.tar.gz ++++++
++++ 16651 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package v4l2loopback for openSUSE:Factory checked in at 2019-05-24 11:33:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/v4l2loopback (Old)
and /work/SRC/openSUSE:Factory/.v4l2loopback.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "v4l2loopback"
Fri May 24 11:33:06 2019 rev:6 rq:705074 version:0.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/v4l2loopback/v4l2loopback.changes 2019-01-24 14:15:37.711208975 +0100
+++ /work/SRC/openSUSE:Factory/.v4l2loopback.new.5148/v4l2loopback.changes 2019-05-24 11:33:08.165372507 +0200
@@ -1,0 +2,6 @@
+Thu May 23 16:51:39 UTC 2019 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Added v4l2loopback-no_deprecated_function.patch (fix build with
+ newer kernels)
+
+-------------------------------------------------------------------
New:
----
v4l2loopback-no_deprecated_function.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ v4l2loopback.spec ++++++
--- /var/tmp/diff_new_pack.T4IfMg/_old 2019-05-24 11:33:08.905372224 +0200
+++ /var/tmp/diff_new_pack.T4IfMg/_new 2019-05-24 11:33:08.909372222 +0200
@@ -25,6 +25,8 @@
URL: https://github.com/umlaeute/v4l2loopback
Source: https://github.com/umlaeute/v4l2loopback/archive/v%{version}.tar.gz#/%{name…
Source1: preamble
+# PATCH-FIX-UPSTREAM v4l2loopback-no_deprecated_function.patch
+Patch0: v4l2loopback-no_deprecated_function.patch
BuildRequires: %{kernel_module_package_buildreqs}
BuildRequires: gcc
BuildRequires: help2man
@@ -47,6 +49,7 @@
%prep
%setup -q
+%patch0 -p1
set -- *
mkdir source
mv "$@" source/
++++++ v4l2loopback-no_deprecated_function.patch ++++++
>From 0b8feb80fdef9a415d8250bca1790b3ff23e8391 Mon Sep 17 00:00:00 2001
From: Theodore Cipicchio <okready(a)users.noreply.github.com>
Date: Thu, 25 Apr 2019 21:51:11 -0700
Subject: [PATCH] Replace v4l2_get_timestamp with ktime_get_ts(64)
v4l2_get_timestamp is being removed in Linux 5.1. This replaces its use
with equivalent code (ktime_get_ts64 is used in favor of ktime_get_ts
with supported kernel versions, as the latter is considered deprecated).
Closes: https://github.com/umlaeute/v4l2loopback/issues/214
---
v4l2loopback.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/v4l2loopback.c b/v4l2loopback.c
index 322ce17..42d611f 100644
--- a/v4l2loopback.c
+++ b/v4l2loopback.c
@@ -134,6 +134,20 @@ void *v4l2l_vzalloc(unsigned long size)
# define v4l2l_vzalloc vzalloc
#endif
+static inline void v4l2l_get_timestamp(struct timeval *tv) {
+ /* ktime_get_ts is considered deprecated, so use ktime_get_ts64 if possible */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+ struct timespec ts;
+ ktime_get_ts(&ts);
+#else
+ struct timespec64 ts;
+ ktime_get_ts64(&ts);
+#endif
+
+ tv->tv_sec = (time_t)ts.tv_sec;
+ tv->tv_usec = (suseconds_t)(ts.tv_nsec / NSEC_PER_USEC);
+}
+
/* module constants
* can be overridden during he build process using something like
@@ -1506,7 +1520,7 @@ static int vidioc_qbuf(struct file *file, void *private_data, struct v4l2_buffer
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
dprintkrw("output QBUF pos: %d index: %d\n", dev->write_position, index);
if (buf->timestamp.tv_sec == 0 && buf->timestamp.tv_usec == 0)
- v4l2_get_timestamp(&b->buffer.timestamp);
+ v4l2l_get_timestamp(&b->buffer.timestamp);
else
b->buffer.timestamp = buf->timestamp;
b->buffer.bytesused = buf->bytesused;
@@ -1933,7 +1947,7 @@ static ssize_t v4l2_loopback_write(struct file *file,
count);
return -EFAULT;
}
- v4l2_get_timestamp(&b->timestamp);
+ v4l2l_get_timestamp(&b->timestamp);
b->bytesused = count;
b->sequence = dev->write_position;
buffer_written(dev, &dev->buffers[write_index]);
@@ -2038,7 +2052,7 @@ static void init_buffers(struct v4l2_loopback_device *dev)
b->timestamp.tv_usec = 0;
b->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
- v4l2_get_timestamp(&b->timestamp);
+ v4l2l_get_timestamp(&b->timestamp);
}
dev->timeout_image_buffer = dev->buffers[0];
dev->timeout_image_buffer.buffer.m.offset = MAX_BUFFERS * buffer_size;
1
0
Hello community,
here is the log from the commit of package python-nltk for openSUSE:Factory checked in at 2019-05-24 11:33:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nltk (Old)
and /work/SRC/openSUSE:Factory/.python-nltk.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nltk"
Fri May 24 11:33:03 2019 rev:4 rq:705020 version:3.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nltk/python-nltk.changes 2019-02-24 17:14:08.276464045 +0100
+++ /work/SRC/openSUSE:Factory/.python-nltk.new.5148/python-nltk.changes 2019-05-24 11:33:04.737373816 +0200
@@ -1,0 +2,12 @@
+Thu May 23 12:41:31 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 3.4.1
+ * add chomsky_normal_form for CFGs
+ * add meteor score
+ * add minimum edit/Levenshtein distance based alignment function
+ * allow access to collocation list via text.collocation_list()
+ * support corenlp server options
+ * drop support for Python 3.4
+ * other minor fixes
+
+-------------------------------------------------------------------
Old:
----
nltk-3.4.zip
New:
----
nltk-3.4.1.zip
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nltk.spec ++++++
--- /var/tmp/diff_new_pack.nCypzI/_old 2019-05-24 11:33:05.437373548 +0200
+++ /var/tmp/diff_new_pack.nCypzI/_new 2019-05-24 11:33:05.441373547 +0200
@@ -21,7 +21,7 @@
%define pyname nltk
Name: python-nltk
-Version: 3.4
+Version: 3.4.1
Release: 0
Summary: Natural Language Toolkit
License: Apache-2.0
1
0
Hello community,
here is the log from the commit of package python-QDarkStyle for openSUSE:Factory checked in at 2019-05-24 11:33:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-QDarkStyle (Old)
and /work/SRC/openSUSE:Factory/.python-QDarkStyle.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-QDarkStyle"
Fri May 24 11:33:00 2019 rev:2 rq:705019 version:2.6.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-QDarkStyle/python-QDarkStyle.changes 2019-02-24 17:10:34.516502142 +0100
+++ /work/SRC/openSUSE:Factory/.python-QDarkStyle.new.5148/python-QDarkStyle.changes 2019-05-24 11:33:02.409374705 +0200
@@ -1,0 +2,18 @@
+Thu May 23 12:14:36 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 2.6.8
+ - Fix double border in QtabWidget for pyqt5
+ - Fix widgets border in QTabWidget as QLabel #141, #123, #126
+ - Fix QTab scroller buttons background #136
+ - Update color from images, fix #127
+ - Add retina resolution @2x, fix #140
+ - Intermediate version before merge PR #142 adding scripts
+ - Fix combobox indicator and padding #132
+ - Fix PyQtGraph plot axes covered by padding #134
+ - Update authors
+ - Fix tabbed bordeless frames and add more examples, #123, #126
+ - Add feedback to pressed buttons, #133
+ - Change future warning to pending deprecation for developers, #125 in v2.x
+ - Fix hover in qtabwidget, #128
+
+-------------------------------------------------------------------
Old:
----
QDarkStyle-2.6.5.tar.gz
New:
----
QDarkStyle-2.6.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-QDarkStyle.spec ++++++
--- /var/tmp/diff_new_pack.PCboba/_old 2019-05-24 11:33:03.273374375 +0200
+++ /var/tmp/diff_new_pack.PCboba/_new 2019-05-24 11:33:03.285374371 +0200
@@ -12,26 +12,28 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-QDarkStyle
-Version: 2.6.5
+Version: 2.6.8
Release: 0
-License: MIT
Summary: A dark stylesheet for Python and Qt applications
-Url: https://github.com/ColinDuquesnoy/QDarkStyleSheet
+License: MIT
Group: Development/Languages/Python
+Url: https://github.com/ColinDuquesnoy/QDarkStyleSheet
Source: https://github.com/ColinDuquesnoy/QDarkStyleSheet/archive/%{version}.tar.gz…
-BuildRequires: python-rpm-macros
-BuildRequires: python3-pyside2
-BuildRequires: %{python_module pytest}
+BuildRequires: %{python_module QtPy}
BuildRequires: %{python_module pytest-qt}
+BuildRequires: %{python_module pytest}
BuildRequires: %{python_module qt5-devel}
BuildRequires: %{python_module setuptools}
-BuildRequires: %{python_module QtPy}
BuildRequires: fdupes
+BuildRequires: python-rpm-macros
+BuildRequires: python3-pyside2
+Requires: python-setuptools
BuildArch: noarch
%python_subpackages
++++++ QDarkStyle-2.6.5.tar.gz -> QDarkStyle-2.6.8.tar.gz ++++++
++++ 19730 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package clementine for openSUSE:Factory checked in at 2019-05-24 11:32:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/clementine (Old)
and /work/SRC/openSUSE:Factory/.clementine.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clementine"
Fri May 24 11:32:53 2019 rev:49 rq:705015 version:1.3.1+git20190423
Changes:
--------
--- /work/SRC/openSUSE:Factory/clementine/clementine.changes 2019-03-28 22:48:41.135054753 +0100
+++ /work/SRC/openSUSE:Factory/.clementine.new.5148/clementine.changes 2019-05-24 11:33:00.673375368 +0200
@@ -1,0 +2,14 @@
+Wed May 22 10:03:04 UTC 2019 - plater <davejplater(a)gmail.com>
+
+- Update to qt5 branch snapshot 1.3.1+git20190423.
+- Added cherrypicked patches to bring qt5 branch to master's state:
+ 0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch
+ 0001-Add-error-handling-path-for-async-song-loading.patch
+ 0001-Fixes-for-APE-filetype.patch
+ 0001-Simplify-some-statements.patch and
+ 0001-Set-non-zero-minimum-for-fade-times.patch.
+- Upstream changes:
+ *Revert "Blacklist all NVidia drivers"
+ *setFirstSectionMovable() in playlistview.cpp
+
+-------------------------------------------------------------------
Old:
----
clementine-1.3.1+git20190213.tar.gz
New:
----
0001-Add-error-handling-path-for-async-song-loading.patch
0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch
0001-Fixes-for-APE-filetype.patch
0001-Set-non-zero-minimum-for-fade-times.patch
0001-Simplify-some-statements.patch
clementine-1.3.1+git20190423.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ clementine.spec ++++++
--- /var/tmp/diff_new_pack.gJYtYC/_old 2019-05-24 11:33:01.789374942 +0200
+++ /var/tmp/diff_new_pack.gJYtYC/_new 2019-05-24 11:33:01.797374938 +0200
@@ -12,11 +12,11 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
-%define rev 36cc5b82f4daf5c2d4e93dc8072665e5a3ca622b
+%define rev 3b76fa62752f25b445ee2a71f02c0c9d7581735a
%bcond_without git
@@ -28,7 +28,7 @@
%bcond_without qt5
Name: clementine
-Version: 1.3.1+git20190213
+Version: 1.3.1+git20190423
Release: 0
Summary: A music player inspired by Amarok 1.4
License: GPL-3.0-or-later
@@ -56,7 +56,12 @@
Patch12: 0001-Fix-potential-use-of-streamer-element-after-deletion.patch
Patch13: 0001-Free-decoder-bin-if-error-occurs-during-setup.patch
Patch14: 0001-Fix-several-gstreamer-object-leaks.patch
-
+#PATCH-FIX-GIT to 2019-04-27
+Patch15: 0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch
+Patch16: 0001-Add-error-handling-path-for-async-song-loading.patch
+Patch17: 0001-Fixes-for-APE-filetype.patch
+Patch18: 0001-Simplify-some-statements.patch
+Patch19: 0001-Set-non-zero-minimum-for-fade-times.patch
%if 0%{?suse_version} > 1325
BuildRequires: libboost_headers-devel
%else
++++++ 0001-Add-error-handling-path-for-async-song-loading.patch ++++++
>From babff78025cba7e2f82cf905f14eb0db8090cb2a Mon Sep 17 00:00:00 2001
From: Jim Broadus <jbroadus(a)gmail.com>
Date: Sun, 7 Apr 2019 14:18:11 -0700
Subject: [PATCH] Add error handling path for async song loading.
Async song loading can fail without user feedback. This change adds return codes
to these async load functions. It will now produce an error dialog in simple
scenarios (test case is user selecting a file that is not readable). Other cases,
such as directories and playlists, aren't yet covered.
---
src/core/songloader.cpp | 28 +++++++++++++++++++---------
src/core/songloader.h | 8 ++++----
src/playlist/songloaderinserter.cpp | 12 ++++++++++--
3 files changed, 33 insertions(+), 15 deletions(-)
diff --git a/src/core/songloader.cpp b/src/core/songloader.cpp
index 677fc26b5..0a28149c9 100644
--- a/src/core/songloader.cpp
+++ b/src/core/songloader.cpp
@@ -130,9 +130,12 @@ SongLoader::Result SongLoader::Load(const QUrl& url) {
return BlockingLoadRequired;
}
-void SongLoader::LoadFilenamesBlocking() {
+SongLoader::Result SongLoader::LoadFilenamesBlocking() {
if (preload_func_) {
- preload_func_();
+ return preload_func_();
+ } else {
+ qLog(Error) << "Preload function was not set for blocking operation";
+ return Error;
}
}
@@ -207,18 +210,21 @@ SongLoader::Result SongLoader::LoadLocal(const QString& filename) {
return BlockingLoadRequired;
}
-void SongLoader::LoadLocalAsync(const QString& filename) {
+SongLoader::Result SongLoader::LoadLocalAsync(const QString& filename) {
// First check to see if it's a directory - if so we will load all the songs
// inside right away.
if (QFileInfo(filename).isDir()) {
LoadLocalDirectory(filename);
- return;
+ return Success;
}
// It's a local file, so check if it looks like a playlist.
// Read the first few bytes.
QFile file(filename);
- if (!file.open(QIODevice::ReadOnly)) return;
+ if (!file.open(QIODevice::ReadOnly)) {
+ qLog(Error) << "Could not open file " << filename;
+ return Error;
+ }
QByteArray data(file.read(PlaylistParser::kMagicSize));
ParserBase* parser = playlist_parser_->ParserForMagic(data);
@@ -234,7 +240,7 @@ void SongLoader::LoadLocalAsync(const QString& filename) {
// It's a playlist!
LoadPlaylist(parser, filename);
- return;
+ return Success;
}
// Check if it's a cue file
@@ -249,7 +255,7 @@ void SongLoader::LoadLocalAsync(const QString& filename) {
for (Song song : song_list) {
if (song.is_valid()) songs_ << song;
}
- return;
+ return Success;
}
// Assume it's just a normal file
@@ -257,6 +263,9 @@ void SongLoader::LoadLocalAsync(const QString& filename) {
song.InitFromFilePartial(filename);
if (song.is_valid()) {
songs_ << song;
+ return Success;
+ } else {
+ return Error;
}
}
@@ -374,7 +383,7 @@ void SongLoader::StopTypefind() {
emit LoadRemoteFinished();
}
-void SongLoader::LoadRemote() {
+SongLoader::Result SongLoader::LoadRemote() {
qLog(Debug) << "Loading remote file" << url_;
// It's not a local file so we have to fetch it to see what it is. We use
@@ -399,7 +408,7 @@ void SongLoader::LoadRemote() {
if (!source) {
qLog(Warning) << "Couldn't create gstreamer source element for"
<< url_.toString();
- return;
+ return Error;
}
// Create the other elements and link them up
@@ -430,6 +439,7 @@ void SongLoader::LoadRemote() {
// Wait until loading is finished
loop.exec();
+ return Success;
}
void SongLoader::TypeFound(GstElement*, uint, GstCaps* caps, void* self) {
diff --git a/src/core/songloader.h b/src/core/songloader.h
index 494a4fc9d..0f32378e4 100644
--- a/src/core/songloader.h
+++ b/src/core/songloader.h
@@ -72,7 +72,7 @@ class SongLoader : public QObject {
// Loads the files with only filenames. When finished, songs() contains a
// complete list of all Song objects, but without metadata. This method is
// blocking, do not call it from the UI thread.
- void LoadFilenamesBlocking();
+ Result LoadFilenamesBlocking();
// Completely load songs previously loaded with LoadFilenamesBlocking(). When
// finished, the Song objects in songs() contain metadata now. This method is
// blocking, do not call it from the UI thread.
@@ -101,7 +101,7 @@ signals:
};
Result LoadLocal(const QString& filename);
- void LoadLocalAsync(const QString& filename);
+ Result LoadLocalAsync(const QString& filename);
void EffectiveSongLoad(Song* song);
Result LoadLocalPartial(const QString& filename);
void LoadLocalDirectory(const QString& filename);
@@ -109,7 +109,7 @@ signals:
void AddAsRawStream();
- void LoadRemote();
+ Result LoadRemote();
bool LoadRemotePlaylist(const QUrl& url);
// GStreamer callbacks
@@ -138,7 +138,7 @@ signals:
CueParser* cue_parser_;
// For async loads
- std::function<void()> preload_func_;
+ std::function<Result()> preload_func_;
int timeout_;
State state_;
bool success_;
diff --git a/src/playlist/songloaderinserter.cpp b/src/playlist/songloaderinserter.cpp
index d6ebca740..ffa83e59a 100644
--- a/src/playlist/songloaderinserter.cpp
+++ b/src/playlist/songloaderinserter.cpp
@@ -134,15 +134,23 @@ void SongLoaderInserter::AsyncLoad() {
int async_load_id = task_manager_->StartTask(tr("Loading tracks"));
task_manager_->SetTaskProgress(async_load_id, async_progress,
pending_.count());
+ bool first_loaded = false;
for (int i = 0; i < pending_.count(); ++i) {
SongLoader* loader = pending_[i];
- loader->LoadFilenamesBlocking();
+ SongLoader::Result res = loader->LoadFilenamesBlocking();
+
task_manager_->SetTaskProgress(async_load_id, ++async_progress);
- if (i == 0) {
+
+ if (res == SongLoader::Error) {
+ emit Error(tr("Error loading %1").arg(loader->url().toString()));
+ continue;
+ }
+ if (!first_loaded) {
// Load everything from the first song. It'll start playing as soon as
// we emit PreloadFinished, so it needs to have the duration set to show
// properly in the UI.
loader->LoadMetadataBlocking();
+ first_loaded = true;
}
songs_ << loader->songs();
}
--
2.16.4
++++++ 0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch ++++++
>From 8094957e09a43e0dcbaebf36d01b48922119b2c4 Mon Sep 17 00:00:00 2001
From: Jonas Kvinge <jonas(a)jkvinge.net>
Date: Fri, 26 Apr 2019 20:40:42 +0200
Subject: [PATCH] Fix gst_buffer_unref assertion in chromaprinter
---
src/musicbrainz/chromaprinter.cpp | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
Index: Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a/src/musicbrainz/chromaprinter.cpp
===================================================================
--- Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a.orig/src/musicbrainz/chromaprinter.cpp 2019-05-22 12:25:58.153436956 +0200
+++ Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a/src/musicbrainz/chromaprinter.cpp 2019-05-22 12:26:34.126826663 +0200
@@ -208,12 +208,16 @@ GstFlowReturn Chromaprinter::NewBufferCa
Chromaprinter* me = reinterpret_cast<Chromaprinter*>(self);
GstSample* sample = gst_app_sink_pull_sample(app_sink);
+ if (!sample) return GST_FLOW_ERROR;
GstBuffer* buffer = gst_sample_get_buffer(sample);
- GstMapInfo map;
- gst_buffer_map(buffer, &map, GST_MAP_READ);
- me->buffer_.write(reinterpret_cast<const char*>(map.data), map.size);
- gst_buffer_unmap(buffer, &map);
- gst_buffer_unref(buffer);
+ if (buffer) {
+ GstMapInfo map;
+ if (gst_buffer_map(buffer, &map, GST_MAP_READ)) {
+ me->buffer_.write(reinterpret_cast<const char*>(map.data), map.size);
+ gst_buffer_unmap(buffer, &map);
+ }
+ }
+ gst_sample_unref(sample);
return GST_FLOW_OK;
}
++++++ 0001-Fix-several-gstreamer-object-leaks.patch ++++++
--- /var/tmp/diff_new_pack.gJYtYC/_old 2019-05-24 11:33:01.837374923 +0200
+++ /var/tmp/diff_new_pack.gJYtYC/_new 2019-05-24 11:33:01.841374922 +0200
@@ -17,11 +17,11 @@
src/engines/gstenginepipeline.cpp | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
-diff --git a/src/engines/gstenginepipeline.cpp b/src/engines/gstenginepipeline.cpp
-index 7f12c2628..17ddd6089 100644
---- a/src/engines/gstenginepipeline.cpp
-+++ b/src/engines/gstenginepipeline.cpp
-@@ -417,10 +417,13 @@ bool GstEnginePipeline::Init() {
+Index: Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a/src/engines/gstenginepipeline.cpp
+===================================================================
+--- Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a.orig/src/engines/gstenginepipeline.cpp 2019-05-22 12:26:00.917543757 +0200
++++ Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a/src/engines/gstenginepipeline.cpp 2019-05-22 12:26:10.025895666 +0200
+@@ -424,10 +424,13 @@ bool GstEnginePipeline::Init() {
gst_element_link(probe_converter, probe_sink);
// Link the outputs of tee to the queues on each path.
@@ -39,7 +39,7 @@
// Link replaygain elements if enabled.
if (rg_enabled_) {
-@@ -454,12 +457,14 @@ bool GstEnginePipeline::Init() {
+@@ -461,12 +464,14 @@ bool GstEnginePipeline::Init() {
gst_caps_unref(caps);
// Add probes and handlers.
@@ -60,7 +60,7 @@
MaybeLinkDecodeToAudio();
-@@ -519,8 +524,10 @@ bool GstEnginePipeline::InitFromUrl(const QUrl& url, qint64 end_nanosec) {
+@@ -526,8 +531,10 @@ bool GstEnginePipeline::InitFromUrl(cons
GstEnginePipeline::~GstEnginePipeline() {
if (pipeline_) {
@@ -73,7 +73,7 @@
g_source_remove(bus_cb_id_);
gst_element_set_state(pipeline_, GST_STATE_NULL);
gst_object_unref(GST_OBJECT(pipeline_));
-@@ -1011,6 +1018,7 @@ void GstEnginePipeline::SourceSetupCallback(GstURIDecodeBin* bin,
+@@ -1018,6 +1025,7 @@ void GstEnginePipeline::SourceSetupCallb
g_object_set(element, "ssl-strict", TRUE, nullptr);
#endif
}
@@ -81,6 +81,3 @@
}
void GstEnginePipeline::TransitionToNext() {
---
-2.16.4
-
++++++ 0001-Fixes-for-APE-filetype.patch ++++++
>From bd89a1d2ded7177888779b9bc55f32e85b271ef5 Mon Sep 17 00:00:00 2001
From: "James D. Smith" <smithjd15(a)gmail.com>
Date: Thu, 14 Feb 2019 17:33:33 -0700
Subject: [PATCH] Fixes for APE filetype.
---
ext/libclementine-remote/remotecontrolmessages.proto | 1 +
src/core/mpris2.cpp | 1 +
src/core/song.cpp | 3 +++
src/library/libraryquery.cpp | 1 +
4 files changed, 6 insertions(+)
diff --git a/ext/libclementine-remote/remotecontrolmessages.proto b/ext/libclementine-remote/remotecontrolmessages.proto
index 141b78f5d..2389a5a26 100644
--- a/ext/libclementine-remote/remotecontrolmessages.proto
+++ b/ext/libclementine-remote/remotecontrolmessages.proto
@@ -109,6 +109,7 @@ message SongMetadata {
WAVPACK = 14;
SPC = 15;
VGM = 16;
+ APE = 17;
STREAM = 99;
}
diff --git a/src/core/mpris2.cpp b/src/core/mpris2.cpp
index 9f9d4737f..7056d5bcb 100644
--- a/src/core/mpris2.cpp
+++ b/src/core/mpris2.cpp
@@ -238,6 +238,7 @@ QStringList Mpris2::SupportedMimeTypes() const {
<< "audio/ogg"
<< "audio/vnd.rn-realaudio"
<< "audio/vorbis"
+ << "audio/x-ape"
<< "audio/x-flac"
<< "audio/x-mp3"
<< "audio/x-mpeg"
diff --git a/src/core/song.cpp b/src/core/song.cpp
index df68a8cc4..01b320fe9 100644
--- a/src/core/song.cpp
+++ b/src/core/song.cpp
@@ -456,6 +456,8 @@ QString Song::TextForFiletype(FileType type) {
return QObject::tr("SNES SPC700");
case Song::Type_VGM:
return QObject::tr("VGM");
+ case Song::Type_APE:
+ return QObject::tr("Monkey's Audio");
case Song::Type_Stream:
return QObject::tr("Stream");
@@ -469,6 +471,7 @@ QString Song::TextForFiletype(FileType type) {
bool Song::IsFileLossless() const {
switch (filetype()) {
case Song::Type_Aiff:
+ case Song::Type_APE:
case Song::Type_Flac:
case Song::Type_OggFlac:
case Song::Type_Wav:
diff --git a/src/library/libraryquery.cpp b/src/library/libraryquery.cpp
index 4a44689b0..0ebc3ddb0 100644
--- a/src/library/libraryquery.cpp
+++ b/src/library/libraryquery.cpp
@@ -46,6 +46,7 @@ const QMap<QString, Song::FileType> kFiletypeId = QMap<QString, Song::FileType>(
{"cdda", Song::Type_Cdda},
{"spc700", Song::Type_Spc},
{"vgm", Song::Type_VGM},
+ {"ape", Song::Type_APE},
{"stream", Song::Type_Stream},
{"unknown", Song::Type_Unknown}});
--
2.16.4
++++++ 0001-Set-non-zero-minimum-for-fade-times.patch ++++++
>From cc295a4c4c4a5e53b8e734cb495b19ae60687022 Mon Sep 17 00:00:00 2001
From: Jim Broadus <jbroadus(a)gmail.com>
Date: Sun, 7 Apr 2019 21:07:54 -0700
Subject: [PATCH] Set non-zero minimum for fade times.
QTimeLine duration must be greater than 0. If set to 0, a default of 1000ms will
be used. To avoid this, enforce a minimum of 1ms for pause and cross fade values
if those fades are enabled.
---
src/ui/playbacksettingspage.ui | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/ui/playbacksettingspage.ui b/src/ui/playbacksettingspage.ui
index d2b405b66..f43a2cd55 100644
--- a/src/ui/playbacksettingspage.ui
+++ b/src/ui/playbacksettingspage.ui
@@ -88,6 +88,9 @@
<property name="suffix">
<string> ms</string>
</property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
<property name="maximum">
<number>10000</number>
</property>
@@ -139,6 +142,9 @@
<property name="suffix">
<string> ms</string>
</property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
<property name="maximum">
<number>10000</number>
</property>
--
2.16.4
++++++ 0001-Simplify-some-statements.patch ++++++
>From be827f4f7fe01da4b791d4a88f43870e8850940b Mon Sep 17 00:00:00 2001
From: Filip Gawin <filip.gawin(a)zoho.com>
Date: Fri, 22 Feb 2019 18:44:39 +0100
Subject: [PATCH] Simplify some statements
---
src/core/commandlineoptions.cpp | 5 ++---
src/core/mergedproxymodel.cpp | 6 ++----
src/core/utilities.cpp | 4 +---
src/devices/cddasongloader.cpp | 2 +-
src/internet/core/internetmodel.cpp | 8 +++-----
src/internet/core/internetshowsettingspage.cpp | 2 +-
src/internet/podcasts/gpoddertoptagsmodel.cpp | 2 +-
src/internet/podcasts/podcastdiscoverymodel.cpp | 3 +--
src/internet/subsonic/subsonicservice.cpp | 2 +-
src/networkremote/incomingdataparser.cpp | 4 ++--
src/playlist/playlistlistcontainer.cpp | 6 +-----
src/playlist/playlistview.cpp | 2 +-
src/ripper/ripper.cpp | 5 +----
src/ui/albumcoverchoicecontroller.cpp | 5 +----
src/widgets/nowplayingwidget.cpp | 3 +--
15 files changed, 20 insertions(+), 39 deletions(-)
diff --git a/src/core/commandlineoptions.cpp b/src/core/commandlineoptions.cpp
index b47c1c717..00089ac71 100644
--- a/src/core/commandlineoptions.cpp
+++ b/src/core/commandlineoptions.cpp
@@ -310,9 +310,8 @@ bool CommandlineOptions::Parse() {
bool CommandlineOptions::is_empty() const {
return player_action_ == Player_None && set_volume_ == -1 &&
volume_modifier_ == 0 && seek_to_ == -1 && seek_by_ == 0 &&
- play_track_at_ == -1 && show_osd_ == false &&
- toggle_pretty_osd_ == false && urls_.isEmpty() &&
- delete_current_track_ == false;
+ play_track_at_ == -1 && !show_osd_ && !toggle_pretty_osd_ &&
+ urls_.isEmpty() && !delete_current_track_;
}
bool CommandlineOptions::contains_play_options() const {
diff --git a/src/core/mergedproxymodel.cpp b/src/core/mergedproxymodel.cpp
index 8c210d391..97a151cc9 100644
--- a/src/core/mergedproxymodel.cpp
+++ b/src/core/mergedproxymodel.cpp
@@ -505,10 +505,8 @@ void MergedProxyModel::LayoutChanged() {
}
bool MergedProxyModel::IsKnownModel(const QAbstractItemModel* model) const {
- if (model == this || model == sourceModel() ||
- merge_points_.contains(const_cast<QAbstractItemModel*>(model)))
- return true;
- return false;
+ return model == this || model == sourceModel() ||
+ merge_points_.contains(const_cast<QAbstractItemModel*>(model));
}
QModelIndexList MergedProxyModel::mapFromSource(
diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp
index fc300a005..b78008b2b 100644
--- a/src/core/utilities.cpp
+++ b/src/core/utilities.cpp
@@ -270,9 +270,7 @@ bool RemoveRecursive(const QString& path) {
if (!QFile::remove(path + "/" + child)) return false;
}
- if (!dir.rmdir(path)) return false;
-
- return true;
+ return dir.rmdir(path);
}
bool CopyRecursive(const QString& source, const QString& destination) {
diff --git a/src/devices/cddasongloader.cpp b/src/devices/cddasongloader.cpp
index 19b669bd8..54f204f4e 100644
--- a/src/devices/cddasongloader.cpp
+++ b/src/devices/cddasongloader.cpp
@@ -193,7 +193,7 @@ void CddaSongLoader::AudioCDTagsLoaded(
qobject_cast<MusicBrainzClient*>(sender());
musicbrainz_client->deleteLater();
SongList songs;
- if (results.size() == 0) return;
+ if (results.empty()) return;
int track_number = 1;
for (const MusicBrainzClient::Result& ret : results) {
Song song;
diff --git a/src/internet/core/internetmodel.cpp b/src/internet/core/internetmodel.cpp
index 756d48073..f49c9683f 100644
--- a/src/internet/core/internetmodel.cpp
+++ b/src/internet/core/internetmodel.cpp
@@ -351,11 +351,9 @@ void InternetModel::UpdateServices() {
bool setting_val = s.value(service_name).toBool();
// Only update if values are different
- if (setting_val == true &&
- shown_services_[internet_service].shown == false) {
+ if (setting_val && !shown_services_[internet_service].shown) {
ShowService(internet_service);
- } else if (setting_val == false &&
- shown_services_[internet_service].shown == true) {
+ } else if (!setting_val && shown_services_[internet_service].shown) {
HideService(internet_service);
}
}
@@ -378,7 +376,7 @@ int InternetModel::FindItemPosition(const QString& text) {
}
void InternetModel::ShowService(InternetService* service) {
- if (shown_services_[service].shown != true) {
+ if (!shown_services_[service].shown) {
QStandardItem* item = shown_services_[service].item;
int pos = FindItemPosition(item->text());
invisibleRootItem()->insertRow(pos, item);
diff --git a/src/internet/core/internetshowsettingspage.cpp b/src/internet/core/internetshowsettingspage.cpp
index 4c271b170..5a4b67629 100644
--- a/src/internet/core/internetshowsettingspage.cpp
+++ b/src/internet/core/internetshowsettingspage.cpp
@@ -50,7 +50,7 @@ void InternetShowSettingsPage::Load() {
item->setIcon(0, service_it.value().item->icon());
Qt::CheckState check_state =
- service_it.value().shown == true ? Qt::Checked : Qt::Unchecked;
+ service_it.value().shown ? Qt::Checked : Qt::Unchecked;
item->setData(0, Qt::CheckStateRole, check_state);
/* We have to store the constant name of the service */
item->setData(1, Qt::UserRole, service_it.key()->name());
diff --git a/src/internet/podcasts/gpoddertoptagsmodel.cpp b/src/internet/podcasts/gpoddertoptagsmodel.cpp
index b1926b09d..6fc4b7139 100644
--- a/src/internet/podcasts/gpoddertoptagsmodel.cpp
+++ b/src/internet/podcasts/gpoddertoptagsmodel.cpp
@@ -40,7 +40,7 @@ bool GPodderTopTagsModel::hasChildren(const QModelIndex& parent) const {
bool GPodderTopTagsModel::canFetchMore(const QModelIndex& parent) const {
if (parent.isValid() && parent.data(Role_Type).toInt() == Type_Folder &&
- parent.data(Role_HasLazyLoaded).toBool() == false) {
+ !parent.data(Role_HasLazyLoaded).toBool()) {
return true;
}
diff --git a/src/internet/podcasts/podcastdiscoverymodel.cpp b/src/internet/podcasts/podcastdiscoverymodel.cpp
index 076562d90..eb911fd21 100644
--- a/src/internet/podcasts/podcastdiscoverymodel.cpp
+++ b/src/internet/podcasts/podcastdiscoverymodel.cpp
@@ -38,8 +38,7 @@ PodcastDiscoveryModel::PodcastDiscoveryModel(Application* app, QObject* parent)
QVariant PodcastDiscoveryModel::data(const QModelIndex& index, int role) const {
if (index.isValid() && role == Qt::DecorationRole &&
- QStandardItemModel::data(index, Role_StartedLoadingImage).toBool() ==
- false) {
+ !QStandardItemModel::data(index, Role_StartedLoadingImage).toBool()) {
const QUrl image_url =
QStandardItemModel::data(index, Role_ImageUrl).toUrl();
if (image_url.isValid()) {
diff --git a/src/internet/subsonic/subsonicservice.cpp b/src/internet/subsonic/subsonicservice.cpp
index 1970d5931..9243fd587 100644
--- a/src/internet/subsonic/subsonicservice.cpp
+++ b/src/internet/subsonic/subsonicservice.cpp
@@ -481,7 +481,7 @@ void SubsonicLibraryScanner::OnGetAlbumListFinished(QNetworkReply* reply,
if (albums_added > 0) {
// Non-empty reply means potentially more albums to fetch
GetAlbumList(offset + kAlbumChunkSize);
- } else if (album_queue_.size() == 0) {
+ } else if (album_queue_.empty()) {
// Empty reply and no albums means an empty Subsonic server
scanning_ = false;
emit ScanFinished();
diff --git a/src/networkremote/incomingdataparser.cpp b/src/networkremote/incomingdataparser.cpp
index a4c8ebc12..c8dcb8a11 100644
--- a/src/networkremote/incomingdataparser.cpp
+++ b/src/networkremote/incomingdataparser.cpp
@@ -268,7 +268,7 @@ void IncomingDataParser::InsertUrls(const pb::remote::Message& msg) {
const pb::remote::RequestInsertUrls& request = msg.request_insert_urls();
// Insert plain urls without metadata
- if (request.urls().size() > 0) {
+ if (!request.urls().empty()) {
QList<QUrl> urls;
for (auto it = request.urls().begin(); it != request.urls().end(); ++it) {
std::string s = *it;
@@ -281,7 +281,7 @@ void IncomingDataParser::InsertUrls(const pb::remote::Message& msg) {
}
// Add songs with metadata if present
- if (request.songs().size() > 0) {
+ if (!request.songs().empty()) {
SongList songs;
for (int i = 0; i < request.songs().size(); i++) {
songs << CreateSongFromProtobuf(request.songs(i));
diff --git a/src/playlist/playlistlistcontainer.cpp b/src/playlist/playlistlistcontainer.cpp
index c5d6c1298..322a9ced6 100644
--- a/src/playlist/playlistlistcontainer.cpp
+++ b/src/playlist/playlistlistcontainer.cpp
@@ -128,11 +128,7 @@ class PlaylistListFilterProxyModel : public QSortFilterProxyModel {
}
//accept if any of the children is accepted on it's own merits
- if (hasAcceptedChildren(source_row, source_parent)) {
- return true;
- }
-
- return false;
+ return hasAcceptedChildren(source_row, source_parent);
}
};
diff --git a/src/playlist/playlistview.cpp b/src/playlist/playlistview.cpp
index 062ba4e2d..1686b55ca 100644
--- a/src/playlist/playlistview.cpp
+++ b/src/playlist/playlistview.cpp
@@ -1133,7 +1133,7 @@ void PlaylistView::ReloadSettings() {
// set_background_image when it is not needed, as this will cause the fading
// animation to start again. This also avoid to do useless
// "force_background_redraw".
- if (background_initialized_ == false ||
+ if (!background_initialized_ ||
background_image_filename != background_image_filename_ ||
background_type != background_image_type_ ||
blur_radius_ != blur_radius || opacity_level_ != opacity_level) {
diff --git a/src/ripper/ripper.cpp b/src/ripper/ripper.cpp
index b67350a2c..240e452a8 100644
--- a/src/ripper/ripper.cpp
+++ b/src/ripper/ripper.cpp
@@ -104,10 +104,7 @@ bool Ripper::CheckCDIOIsValid() {
}
bool Ripper::MediaChanged() const {
- if (cdio_ && cdio_get_media_changed(cdio_))
- return true;
- else
- return false;
+ return cdio_ && cdio_get_media_changed(cdio_);
}
void Ripper::Start() {
diff --git a/src/ui/albumcoverchoicecontroller.cpp b/src/ui/albumcoverchoicecontroller.cpp
index c00cd5919..8bb9cf317 100644
--- a/src/ui/albumcoverchoicecontroller.cpp
+++ b/src/ui/albumcoverchoicecontroller.cpp
@@ -347,10 +347,7 @@ bool AlbumCoverChoiceController::CanAcceptDrag(const QDragEnterEvent* e) {
const QString suffix = QFileInfo(url.toLocalFile()).suffix().toLower();
if (IsKnownImageExtension(suffix)) return true;
}
- if (e->mimeData()->hasImage()) {
- return true;
- }
- return false;
+ return e->mimeData()->hasImage();
}
QString AlbumCoverChoiceController::SaveCover(Song* song, const QDropEvent* e) {
diff --git a/src/widgets/nowplayingwidget.cpp b/src/widgets/nowplayingwidget.cpp
index 502a7801d..c508626c9 100644
--- a/src/widgets/nowplayingwidget.cpp
+++ b/src/widgets/nowplayingwidget.cpp
@@ -110,8 +110,7 @@ NowPlayingWidget::NowPlayingWidget(QWidget* parent)
fit_cover_width_action_ = menu_->addAction(tr("Fit cover to width"));
fit_cover_width_action_->setCheckable(true);
- fit_cover_width_action_->setEnabled((mode_ != SmallSongDetails) ? true
- : false);
+ fit_cover_width_action_->setEnabled(mode_ != SmallSongDetails);
connect(fit_cover_width_action_, SIGNAL(toggled(bool)),
SLOT(FitCoverWidth(bool)));
fit_cover_width_action_->setChecked(fit_width_);
--
2.16.4
++++++ clementine-1.3.1+git20190213.tar.gz -> clementine-1.3.1+git20190423.tar.gz ++++++
/work/SRC/openSUSE:Factory/clementine/clementine-1.3.1+git20190213.tar.gz /work/SRC/openSUSE:Factory/.clementine.new.5148/clementine-1.3.1+git20190423.tar.gz differ: char 13, line 1
1
0
Hello community,
here is the log from the commit of package usbguard for openSUSE:Factory checked in at 2019-05-24 11:32:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/usbguard (Old)
and /work/SRC/openSUSE:Factory/.usbguard.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "usbguard"
Fri May 24 11:32:49 2019 rev:6 rq:705009 version:0.7.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/usbguard/usbguard.changes 2019-01-21 10:56:50.667548986 +0100
+++ /work/SRC/openSUSE:Factory/.usbguard.new.5148/usbguard.changes 2019-05-24 11:32:51.593378836 +0200
@@ -1,0 +2,6 @@
+Wed May 22 13:38:28 UTC 2019 - Christophe Giboudeaux <christophe(a)krop.fr>
+
+- Run spec-cleaner
+- Add the missing systemd build requirement.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ usbguard.spec ++++++
--- /var/tmp/diff_new_pack.T6d11K/_old 2019-05-24 11:32:52.569378464 +0200
+++ /var/tmp/diff_new_pack.T6d11K/_new 2019-05-24 11:32:52.573378461 +0200
@@ -17,9 +17,7 @@
%global _hardened_build 1
-
%define lname libusbguard0
-
Name: usbguard
Version: 0.7.4
Release: 0
@@ -35,8 +33,6 @@
Source3: usbguard-daemon.conf
Source4: usbguard-rpmlintrc
Patch0: usbguard-applet-qt_desktop_menu_categories.patch
-%{?systemd_requires}
-
BuildRequires: asciidoc
BuildRequires: aspell
BuildRequires: audit-devel
@@ -58,20 +54,23 @@
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: pegtl-devel
+BuildRequires: pkgconfig
BuildRequires: polkit-devel
#BuildRequires: spdlog-static
BuildRequires: protobuf-devel
+BuildRequires: pkgconfig(systemd)
+%{?systemd_requires}
%description
The USBGuard software framework helps to protect your computer against rogue USB
devices by implementing basic whitelisting/blacklisting capabilities based on
USB device attributes.
-%package -n %lname
+%package -n %{lname}
Summary: Library for implementing USB device usage policy
Group: System/Libraries
-%description -n %lname
+%description -n %{lname}
The USBGuard software framework helps to protect your computer against rogue USB
devices by implementing basic whitelisting/blacklisting capabilities based on
USB device attributes.
@@ -79,7 +78,7 @@
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
-Requires: %lname = %{version}
+Requires: %{lname} = %{version}
Requires: %{name} = %{version}
Requires: libstdc++-devel
Requires: pkgconfig
@@ -108,7 +107,7 @@
for interacting with the USBGuard daemon component.
%prep
-%setup -q -n usbguard-%version
+%setup -q -n usbguard-%{version}
%patch0 -p1
%build
@@ -161,7 +160,6 @@
%postun -n libusbguard0 -p /sbin/ldconfig
%files
-%defattr(-,root,root,-)
%doc README.adoc CHANGELOG.md
%license LICENSE
%{_sbindir}/usbguard-daemon
@@ -172,35 +170,31 @@
%config(noreplace) %attr(0600,-,-) %{_sysconfdir}/usbguard/usbguard-daemon.conf
%config(noreplace) %attr(0600,-,-) %{_sysconfdir}/usbguard/rules.conf
%{_unitdir}/usbguard.service
-%{_datadir}/man/man8/usbguard-daemon.8.gz
-%{_datadir}/man/man5/usbguard-daemon.conf.5.gz
-%{_datadir}/man/man5/usbguard-rules.conf.5.gz
+%{_mandir}/man8/usbguard-daemon.8%{?ext_man}
+%{_mandir}/man5/usbguard-daemon.conf.5%{?ext_man}
+%{_mandir}/man5/usbguard-rules.conf.5%{?ext_man}
%{_datadir}/bash-completion/completions/usbguard
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_usbguard
-%files -n %lname
-%defattr(-,root,root,-)
+%files -n %{lname}
%license LICENSE
%{_libdir}/*.so.*
%files devel
-%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%files tools
-%defattr(-,root,root,-)
%{_bindir}/usbguard
%{_bindir}/usbguard-rule-parser
-%{_datadir}/man/man1/usbguard.1.gz
+%{_mandir}/man1/usbguard.1%{?ext_man}
%files applet-qt
-%defattr(-,root,root,-)
%{_bindir}/usbguard-applet-qt
-%{_mandir}/man1/usbguard-applet-qt.1.gz
+%{_mandir}/man1/usbguard-applet-qt.1%{?ext_man}
%{_datadir}/applications/usbguard-applet-qt.desktop
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/scalable
1
0
Hello community,
here is the log from the commit of package obs-service-set_version for openSUSE:Factory checked in at 2019-05-24 11:32:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-set_version (Old)
and /work/SRC/openSUSE:Factory/.obs-service-set_version.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-set_version"
Fri May 24 11:32:46 2019 rev:37 rq:705000 version:0.5.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/obs-service-set_version/obs-service-set_version.changes 2019-05-13 14:51:51.730988565 +0200
+++ /work/SRC/openSUSE:Factory/.obs-service-set_version.new.5148/obs-service-set_version.changes 2019-05-24 11:32:46.937380615 +0200
@@ -1,0 +2,18 @@
+Thu May 16 15:13:14 UTC 2019 - John Whately <john+OpenSuse(a)whately.me>
+
+- Modified .spec file to better suit Fedora OS (let's just assume all Fedora versions has python 3)
+
+-------------------------------------------------------------------
+Thu May 16 13:11:28 UTC 2019 - FSchreiner(a)suse.com
+
+- Update to version 0.5.11:
+ * try to fix set_version:157:13: E117 over-indented (comment)
+
+-------------------------------------------------------------------
+Tue May 14 13:33:02 UTC 2019 - Adrian Schröter <adrian(a)suse.de>
+
+- enable test suite by default
+ * if it does not build, it can also not be executed on the distro
+- fix requires for SLE 12 distro
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obs-service-set_version.spec ++++++
--- /var/tmp/diff_new_pack.Zz0XkS/_old 2019-05-24 11:32:47.581380368 +0200
+++ /var/tmp/diff_new_pack.Zz0XkS/_new 2019-05-24 11:32:47.585380367 +0200
@@ -1,7 +1,7 @@
#
# spec file for package obs-service-set_version
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,12 +16,14 @@
#
-%if 0%{?suse_version} > 1315
%bcond_without obs_scm_testsuite
+%define service set_version
+
+%if 0%{?suse_version} > 1315 || 0%{?fedora_version}
+%define use_python python3
%else
-%bcond_with obs_scm_testsuite
+%define use_python python
%endif
-%define service set_version
Name: obs-service-%{service}
Version: 0.5.11
@@ -31,21 +33,24 @@
Group: Development/Tools/Building
Url: https://github.com/openSUSE/obs-service-%{service}
Source: %{name}-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildArch: noarch
+
%if %{with obs_scm_testsuite}
-BuildRequires: python3-ddt
-BuildRequires: python3-flake8
+BuildRequires: %{use_python}-ddt
+BuildRequires: %{use_python}-flake8
+BuildRequires: %{use_python}-packaging
%endif
+
%if 0%{?suse_version}
%if 0%{?suse_version} > 1315
-Recommends: python3-packaging
Requires: python3-base
%else
-Recommends: python3-packaging
+Requires: python
%endif
+Recommends: %{use_python}-packaging
%endif
-Requires: sed
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildArch: noarch
+
%description
This is a source service for openSUSE Build Service.
@@ -57,21 +62,11 @@
%setup -q
%build
-#%if 0%{?suse_version} > 1315
-#sed -i -e "1 s,#!/usr/bin/python$,#!/usr/bin/python3," set_version
-#%endif
-
-#%if 0%{?is_Fedora_Rawhide}
-#sed -i -e "1 s,#!/usr/bin/python$,#!/usr/bin/python3," set_version
-#%endif
-
-#%if 0%{?is_Fedora_30}
-#sed -i -e ""1 s,#!/usr/bin/python$,#!/usr/bin/python3," set_version
-#%endif
+sed -i -e "1 s,#!/usr/bin/python$,#!/usr/bin/%{use_python}," set_version
%if %{with obs_scm_testsuite}
%check
-make test PYTHON=python3
+make test PYTHON=%{use_python}
%endif
%install
1
0
Hello community,
here is the log from the commit of package perl-Starman for openSUSE:Factory checked in at 2019-05-24 11:32:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Starman (Old)
and /work/SRC/openSUSE:Factory/.perl-Starman.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Starman"
Fri May 24 11:32:42 2019 rev:2 rq:704998 version:0.4015
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Starman/perl-Starman.changes 2016-03-09 15:17:04.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Starman.new.5148/perl-Starman.changes 2019-05-24 11:32:46.145380917 +0200
@@ -1,0 +2,9 @@
+Tue May 21 05:26:48 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 0.4015
+ see /usr/share/doc/packages/perl-Starman/Changes
+
+ 0.4015 2019-05-20 18:43:46 PDT
+ - Fixed a bug incorrectly handling content body of '0' (olsonanl) #133
+
+-------------------------------------------------------------------
Old:
----
Starman-0.4014.tar.gz
New:
----
Starman-0.4015.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Starman.spec ++++++
--- /var/tmp/diff_new_pack.HFapdV/_old 2019-05-24 11:32:46.637380729 +0200
+++ /var/tmp/diff_new_pack.HFapdV/_new 2019-05-24 11:32:46.645380726 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Starman
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,19 +12,19 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: perl-Starman
-Version: 0.4014
+Version: 0.4015
Release: 0
%define cpan_name Starman
Summary: High-performance preforking PSGI/Plack web server
-License: Artistic-1.0 or GPL-1.0+
+License: Artistic-1.0 OR GPL-1.0-or-later
Group: Development/Libraries/Perl
-Url: http://search.cpan.org/dist/Starman/
-Source0: http://www.cpan.org/authors/id/M/MI/MIYAGAWA/%{cpan_name}-%{version}.tar.gz
+Url: https://metacpan.org/release/%{cpan_name}
+Source0: https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA/%{cpan_name}-%{version}.…
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -35,7 +35,7 @@
BuildRequires: perl(HTTP::Parser::XS)
BuildRequires: perl(HTTP::Status)
BuildRequires: perl(LWP::UserAgent)
-BuildRequires: perl(Module::Build::Tiny) >= 0.039
+BuildRequires: perl(Module::Build::Tiny) >= 0.034
BuildRequires: perl(Net::Server) >= 2.007
BuildRequires: perl(Plack) >= 0.9971
BuildRequires: perl(Test::Requires)
@@ -56,55 +56,53 @@
* High Performance
- Uses the fast XS/C HTTP header parser
+Uses the fast XS/C HTTP header parser
* Preforking
- Spawns workers preforked like most high performance UNIX servers do.
- Starman also reaps dead children and automatically restarts the worker
- pool.
+Spawns workers preforked like most high performance UNIX servers do.
+Starman also reaps dead children and automatically restarts the worker
+pool.
* Signals
- Supports 'HUP' for graceful worker restarts, and 'TTIN'/'TTOU' to
- dynamically increase or decrease the number of worker processes, as well
- as 'QUIT' to gracefully shutdown the worker processes.
+Supports 'HUP' for graceful worker restarts, and 'TTIN'/'TTOU' to
+dynamically increase or decrease the number of worker processes, as well as
+'QUIT' to gracefully shutdown the worker processes.
* Superdaemon aware
- Supports the Server::Starter manpage for hot deploy and graceful
- restarts.
+Supports Server::Starter for hot deploy and graceful restarts.
* Multiple interfaces and UNIX Domain Socket support
- Able to listen on multiple interfaces including UNIX sockets.
+Able to listen on multiple interfaces including UNIX sockets.
* Small memory footprint
- Preloading the applications with '--preload-app' command line option
- enables copy-on-write friendly memory management. Also, the minimum
- memory usage Starman requires for the master process is 7MB and children
- (workers) is less than 3.0MB.
+Preloading the applications with '--preload-app' command line option
+enables copy-on-write friendly memory management. Also, the minimum memory
+usage Starman requires for the master process is 7MB and children (workers)
+is less than 3.0MB.
* PSGI compatible
- Can run any PSGI applications and frameworks
+Can run any PSGI applications and frameworks
* HTTP/1.1 support
- Supports chunked requests and responses, keep-alive and pipeline
- requests.
+Supports chunked requests and responses, keep-alive and pipeline requests.
* UNIX only
- This server does not support Win32.
+This server does not support Win32.
%prep
%setup -q -n %{cpan_name}-%{version}
-find . -type f -print0 | xargs -0 chmod 644
+find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644
%build
-%{__perl} Build.PL --installdirs=vendor
+perl Build.PL --installdirs=vendor
./Build build --flags=%{?_smp_mflags}
%check
@@ -116,6 +114,7 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes LICENSE README
+%doc Changes README script
+%license LICENSE
%changelog
++++++ Starman-0.4014.tar.gz -> Starman-0.4015.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/Build.PL new/Starman-0.4015/Build.PL
--- old/Starman-0.4014/Build.PL 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/Build.PL 2019-05-21 03:43:51.000000000 +0200
@@ -1,7 +1,7 @@
-# This Build.PL for Starman was generated by Dist::Zilla::Plugin::ModuleBuildTiny 0.010.
+# This Build.PL for Starman was generated by Dist::Zilla::Plugin::ModuleBuildTiny 0.015.
use strict;
use warnings;
use 5.008001;
-use Module::Build::Tiny 0.039;
+use Module::Build::Tiny 0.034;
Build_PL();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/Changes new/Starman-0.4015/Changes
--- old/Starman-0.4014/Changes 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/Changes 2019-05-21 03:43:51.000000000 +0200
@@ -1,5 +1,8 @@
Revision history for Perl extension Starman
+0.4015 2019-05-20 18:43:46 PDT
+ - Fixed a bug incorrectly handling content body of '0' (olsonanl) #133
+
0.4014 2015-06-03 12:01:00 PDT
- Treat ECONNRESET like EPIPE (i.e. ignore), not as a fatal error #114 (Tim Bunce)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/MANIFEST new/Starman-0.4015/MANIFEST
--- old/Starman-0.4014/MANIFEST 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/MANIFEST 2019-05-21 03:43:51.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.036.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012.
Build.PL
Changes
LICENSE
@@ -14,6 +14,7 @@
lib/Starman/Server.pm
script/starman
t/00_compile.t
+t/author-pod-syntax.t
t/chunked_req.t
t/chunked_termination.t
t/chunked_zero_length.t
@@ -23,8 +24,8 @@
t/no_chunked_head.t
t/rand.psgi
t/release-findbin.t
-t/release-pod-syntax.t
t/release-rand.t
+t/single_zero.t
t/ssl.t
t/ssl_ca.pem
t/ssl_key.pem
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/META.json new/Starman-0.4015/META.json
--- old/Starman-0.4014/META.json 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/META.json 2019-05-21 03:43:51.000000000 +0200
@@ -4,7 +4,7 @@
"Tatsuhiko Miyagawa <miyagawa(a)bulknews.net>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.036, Dist::Milla version v1.0.15, CPAN::Meta::Converter version 2.150001",
+ "generated_by" : "Dist::Milla version v1.0.20, Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.143240",
"license" : [
"perl_5"
],
@@ -15,23 +15,26 @@
"name" : "Starman",
"no_index" : {
"directory" : [
- "t",
- "xt",
+ "eg",
+ "examples",
"inc",
"share",
- "eg",
- "examples"
+ "t",
+ "xt"
]
},
"prereqs" : {
"configure" : {
"requires" : {
- "Module::Build::Tiny" : "0.039"
+ "Module::Build::Tiny" : "0.034"
+ },
+ "suggests" : {
+ "JSON::PP" : "2.27300"
}
},
"develop" : {
"requires" : {
- "Dist::Milla" : "v1.0.15",
+ "Dist::Milla" : "v1.0.20",
"Test::Pod" : "1.41"
}
},
@@ -72,7 +75,7 @@
"web" : "https://github.com/miyagawa/Starman"
}
},
- "version" : "0.4014",
+ "version" : "0.4015",
"x_contributors" : [
"Adam Guthrie <adam.guthrie(a)dvlgames.com>",
"Alex Vandiver <alex(a)chmrr.net>",
@@ -81,6 +84,7 @@
"Audrey Tang <audreyt(a)audreyt.org>",
"Chia-liang Kao <clkao(a)clkao.org>",
"cho45 <cho45(a)lowreal.net>",
+ "Damyan Ivanov <dmn(a)debian.org>",
"David Steinbrunner <dsteinbrunner(a)pobox.com>",
"Graham Barr <gbarr(a)pobox.com>",
"Grant McLean <grant(a)catalyst.net.nz>",
@@ -94,10 +98,14 @@
"Perlover <perlover(a)perlover.com>",
"Peter Makholm <peter(a)makholm.net>",
"Piotr Roszatycki <piotr.roszatycki(a)gmail.com>",
+ "Robert Olson <olson(a)mcs.anl.gov>",
"Robert Sedlacek <r.sedlacek(a)shadowcat.co.uk>",
- "Slobodan Mišković <slobodan(a)miskovic.ca>",
+ "Slobodan Mi\u0161kovi\u0107 <slobodan(a)miskovic.ca>",
"spleenjack <spleenjack(a)gmail.com>",
"Tim Bunce <Tim.Bunce(a)pobox.com>"
- ]
+ ],
+ "x_generated_by_perl" : "v5.20.1",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 4.09",
+ "x_static_install" : 1
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/META.yml new/Starman-0.4015/META.yml
--- old/Starman-0.4014/META.yml 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/META.yml 2019-05-21 03:43:51.000000000 +0200
@@ -7,9 +7,9 @@
Test::More: '0'
Test::Requires: '0'
configure_requires:
- Module::Build::Tiny: '0.039'
+ Module::Build::Tiny: '0.034'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.036, Dist::Milla version v1.0.15, CPAN::Meta::Converter version 2.150001'
+generated_by: 'Dist::Milla version v1.0.20, Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.143240'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -17,12 +17,12 @@
name: Starman
no_index:
directory:
- - t
- - xt
- - inc
- - share
- eg
- examples
+ - inc
+ - share
+ - t
+ - xt
requires:
Data::Dump: '0'
HTTP::Date: '0'
@@ -37,7 +37,7 @@
bugtracker: https://github.com/miyagawa/Starman/issues
homepage: https://github.com/miyagawa/Starman
repository: https://github.com/miyagawa/Starman.git
-version: '0.4014'
+version: '0.4015'
x_contributors:
- 'Adam Guthrie <adam.guthrie(a)dvlgames.com>'
- 'Alex Vandiver <alex(a)chmrr.net>'
@@ -46,6 +46,7 @@
- 'Audrey Tang <audreyt(a)audreyt.org>'
- 'Chia-liang Kao <clkao(a)clkao.org>'
- 'cho45 <cho45(a)lowreal.net>'
+ - 'Damyan Ivanov <dmn(a)debian.org>'
- 'David Steinbrunner <dsteinbrunner(a)pobox.com>'
- 'Graham Barr <gbarr(a)pobox.com>'
- 'Grant McLean <grant(a)catalyst.net.nz>'
@@ -59,7 +60,11 @@
- 'Perlover <perlover(a)perlover.com>'
- 'Peter Makholm <peter(a)makholm.net>'
- 'Piotr Roszatycki <piotr.roszatycki(a)gmail.com>'
+ - 'Robert Olson <olson(a)mcs.anl.gov>'
- 'Robert Sedlacek <r.sedlacek(a)shadowcat.co.uk>'
- 'Slobodan Mišković <slobodan(a)miskovic.ca>'
- 'spleenjack <spleenjack(a)gmail.com>'
- 'Tim Bunce <Tim.Bunce(a)pobox.com>'
+x_generated_by_perl: v5.20.1
+x_serialization_backend: 'YAML::Tiny version 1.73'
+x_static_install: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/lib/Starman/Server.pm new/Starman-0.4015/lib/Starman/Server.pm
--- old/Starman-0.4014/lib/Starman/Server.pm 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/lib/Starman/Server.pm 2019-05-21 03:43:51.000000000 +0200
@@ -301,7 +301,7 @@
if ( $self->{client}->{keepalive} ) {
# If we still have data in the input buffer it may be a pipelined request
- if ( $self->{client}->{inputbuf} ) {
+ if ( $self->{client}->{inputbuf} ne '' ) {
if ( $self->{client}->{inputbuf} =~ /^(?:GET|HEAD)/ ) {
if ( DEBUG ) {
warn "Pipelined GET/HEAD request in input buffer: "
@@ -344,7 +344,7 @@
# Do we have a full header in the buffer?
# This is before sysread so we don't read if we have a pipelined request
# waiting in the buffer
- last if defined $self->{client}->{inputbuf} && $self->{client}->{inputbuf} =~ /$CR?$LF$CR?$LF/s;
+ last if $self->{client}->{inputbuf} ne '' && $self->{client}->{inputbuf} =~ /$CR?$LF$CR?$LF/s;
# If not, read some data
my $read = sysread $self->{server}->{client}, my $buf, CHUNKSIZE;
@@ -404,7 +404,7 @@
my($self, $env) = @_;
my $get_chunk = sub {
- if ($self->{client}->{inputbuf}) {
+ if ($self->{client}->{inputbuf} ne '') {
my $chunk = delete $self->{client}->{inputbuf};
return ($chunk, length $chunk);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/lib/Starman.pm new/Starman-0.4015/lib/Starman.pm
--- old/Starman-0.4014/lib/Starman.pm 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/lib/Starman.pm 2019-05-21 03:43:51.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use 5.008_001;
-our $VERSION = '0.4014';
+our $VERSION = '0.4015';
1;
__END__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/author-pod-syntax.t new/Starman-0.4015/t/author-pod-syntax.t
--- old/Starman-0.4014/t/author-pod-syntax.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Starman-0.4015/t/author-pod-syntax.t 2019-05-21 03:43:51.000000000 +0200
@@ -0,0 +1,15 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ print qq{1..0 # SKIP these tests are for testing by the author\n};
+ exit
+ }
+}
+
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
+use strict; use warnings;
+use Test::More;
+use Test::Pod 1.41;
+
+all_pod_files_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/release-findbin.t new/Starman-0.4015/t/release-findbin.t
--- old/Starman-0.4014/t/release-findbin.t 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/t/release-findbin.t 2019-05-21 03:43:51.000000000 +0200
@@ -1,8 +1,8 @@
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ print qq{1..0 # SKIP these tests are for release candidate testing\n};
+ exit
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/release-pod-syntax.t new/Starman-0.4015/t/release-pod-syntax.t
--- old/Starman-0.4014/t/release-pod-syntax.t 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/t/release-pod-syntax.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-#!perl
-
-BEGIN {
- unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
- }
-}
-
-# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
-use Test::More;
-use Test::Pod 1.41;
-
-all_pod_files_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/release-rand.t new/Starman-0.4015/t/release-rand.t
--- old/Starman-0.4014/t/release-rand.t 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/t/release-rand.t 2019-05-21 03:43:51.000000000 +0200
@@ -1,8 +1,8 @@
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ print qq{1..0 # SKIP these tests are for release candidate testing\n};
+ exit
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/single_zero.t new/Starman-0.4015/t/single_zero.t
--- old/Starman-0.4014/t/single_zero.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Starman-0.4015/t/single_zero.t 2019-05-21 03:43:51.000000000 +0200
@@ -0,0 +1,32 @@
+use strict;
+use Plack::Test;
+use Plack::Request;
+use HTTP::Request;
+use Test::More;
+
+$Plack::Test::Impl = "Server";
+$ENV{PLACK_SERVER} = 'Starman';
+
+my $app = sub {
+ my $env = shift;
+ my $req = Plack::Request->new($env);
+ is $req->content, "0";
+ return sub {
+ my $response = shift;
+ my $writer = $response->([ 200, [ 'Content-Type', 'text/plain' ]]);
+ $writer->write("ok");
+ $writer->close;
+ }
+};
+
+test_psgi $app, sub {
+ my $cb = shift;
+
+ my $req = HTTP::Request->new(POST => "http://localhost/");
+ $req->content('0');
+ my $res = $cb->($req);
+
+ is $res->content, "ok";
+};
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/ssl_ca.pem new/Starman-0.4015/t/ssl_ca.pem
--- old/Starman-0.4014/t/ssl_ca.pem 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/t/ssl_ca.pem 2019-05-21 03:43:51.000000000 +0200
@@ -1,16 +1,21 @@
-----BEGIN CERTIFICATE-----
-MIICeDCCAeGgAwIBAgIJAOslSqlwsHjtMA0GCSqGSIb3DQEBBQUAMFQxCzAJBgNV
-BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ0wCwYDVQQHDARQZXJsMQ0wCwYD
-VQQKDARDUEFOMRIwEAYDVQQDDAlUd2lnZ3kgQ0EwIBcNMTMwNjI0MTI0ODM2WhgP
-MjExMzA1MzExMjQ4MzZaMFQxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0
-YXRlMQ0wCwYDVQQHDARQZXJsMQ0wCwYDVQQKDARDUEFOMRIwEAYDVQQDDAlUd2ln
-Z3kgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM/DNSFrSL7lXuU0jf8m
-QoYcCX9FktOKQxDLbxRxwtHDhglBB8CuiMV+BbS5FrPbQr4nSgE2oJwpnwhuWrHN
-WVdaw+jphfaqKyH+EoS1HVvuTE+EuBvddjBOX05y9ep8dXj70VOBPFR5ak/eZ9Ak
-T24rGMIPoi98mXPDjH+P4UerAgMBAAGjUDBOMB0GA1UdDgQWBBRmjcVGMIxIobtv
-mBA3fueMBktkbDAfBgNVHSMEGDAWgBRmjcVGMIxIobtvmBA3fueMBktkbDAMBgNV
-HRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAJWVQFrrBKWd3dZOMYZoubvOoaMu
-lF18SThy0d0BB4KJ0smimQw/AG+yI/lEGjQZqNzPg/QO8DboFn2RATWEbnjUKln1
-Y7bEBgKQOoOvjXzoLrcNjUwHcYInSkkSiogW5Fif3cwrpNesbyT+6yck3eKV9dDs
-20Sk95QANMswpEsy
+MIIDazCCAlOgAwIBAgIUIiI/iRVTq/tVgh0aRA5NdV00hWIwDQYJKoZIhvcNAQEL
+BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxDTALBgNVBAoM
+BENQQU4xEjAQBgNVBAMMCVR3aWdneSBDQTAeFw0xODEwMjkyMDAyMDJaFw0yOTEw
+MTEyMDAyMDJaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ0w
+CwYDVQQKDARDUEFOMRIwEAYDVQQDDAlUd2lnZ3kgQ0EwggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQDBFop2+rRjBb5ljDQf9Nf6RLuGblKkQHlTX0IyWjB2
+LMOs8hjvQTcGcj1F4K1C6R6enapyo3oHy3VRXwncFcuIkGsblCiQe7N5eDxXDm3S
+/OnGit7e4wWXT//Jz4UPqb5E2egE2/UD9vNiMgpLlBtcpocs4ftG9zcAfc30Iti+
++0cY9Xj+2PidGNLGTnLVxBHgcMAuVl56Bln++t4zhzMULnmDLZRn7A4Y2hgASwgi
+/pEOzhDaotUA3UWxHT5ji3zowYFPEaeCrLaVIhLB03t1kyKI37gyzdQLvfb8zgSV
+dQfTuUJg3xALQ5SwkJ3YkkB88kzx1a5WmznRU+B0hX8PAgMBAAGjUzBRMB0GA1Ud
+DgQWBBR6irOqu7DaNMbdFDxkwJbO/ghaoTAfBgNVHSMEGDAWgBR6irOqu7DaNMbd
+FDxkwJbO/ghaoTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBD
+3G4sUS6Oves6Ov/l1qPri02dTF5KZIvnn7PX4vTGq022/q1tRd5tL9uwttSutb6i
+5/iqL9JMz1/ExJk4LN5y3Zl7jf5a8wg8Tm/7Wu8gfbSn6ChgbfWcwcrje5ImgsHN
+evwgQxm2WgXkiqvpnvOramCYSwEyhEBX89hJWaBkuSKuDa/rPpjQrce3DbzzQT3C
+LOiHppZk5rOyOLLGoZYwWbS2+MfQKz6dQmSrMWwwk5CamPGCDvj1Cwmh/hMY2dNq
+lzSeT7YFThqDv0XhQxTFhkvXOK8xrQuGLvCFIYGZYbNAd2gCguY5lBELJFJHfBFD
+3hn7L7wx4M++rOqlCLPm
-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/ssl_key.pem new/Starman-0.4015/t/ssl_key.pem
--- old/Starman-0.4014/t/ssl_key.pem 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/t/ssl_key.pem 2019-05-21 03:43:51.000000000 +0200
@@ -1,32 +1,48 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXQIBAAKBgQC97L0abgahu40RdF5tZtfs3bnXdDrOvUi2Aaqmxrth/LXFpwJh
-YjILdtBO2/OwVsV8Srb56LtiYMMCISLI2TdFo9rtRX+1947hBrHAyREdJCZG2oOK
-GjSVK8Ew4/ITGn7PcY553WPG00UBURaXCHj4XolFdJkzJ898ZOfjieJbKwIDAQAB
-AoGAYKl7uVbkQy5cZtTONmoQXXqf2jtKruwBdLi2bPlaZ02iCf2tJXk/tTv8WxZx
-GX+gNVkldV3w+On8djn9JTIAgayhFqUpRnnH0QUDYaOeSBMwJ15Lh7FnxgOubtZ9
-Nybw0n2i1+7NnzQWW8Hbg0q0xUrPvQM+6ofXMcILNEhruiECQQDylZMJakDkHCGb
-25j2VLg1KyPXfsSXInbtAOYPHGWWnwPlai5aajNqJaEVWoggMeCqWQ+ncixHL2AP
-ruy4yVzbAkEAyG2g+yVqnU/tf9j/e7uLcXBoG0HRk94ntHWYWX8w2z0yWcaaC4g5
-OUuVzaJuIx8dDIMaBJjnGNrMASCxd+Aj8QJBAI7BVPkabTuQDnsw3LBBpPGtBHeh
-Y0Fph8DrYXeNB39+7oUIWmTc0IrrwALX9vmzQHoe1SZ9+u6dQ5OXJjmMTjcCQQCt
-3UPfeTbCHjrFQ+VkXW16S2tT8cWvAvDof3ZYdJhaJv0NmdW5mUMiq6nYx0XJW80k
-NHoWcNlP20VK2SR5+8rRAkBIUFfBtGlHLwzjC/GXqf8avU+pjmT1bmJrWbJIG6dg
-NZpy7goBxUin0lyP3/+INgbbuBhVGmCfIXmFhQTADO+6
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDqNpja2Nj0nyhL
+LIxILjRoLt7Z8rp96/G7pxgoQ5USJr5y2gx7FfKnalF+UEJdZgjNcIkWWm8aybBI
+tKXcmFH0axWMGZXsQdNdw2tzWzj8dkiWGpdyMLMBFLlihofyXApHl7oeg+kFCVpA
+3ov11Z6p10vVKTd7Do+AAcfsVv/RUJWPS4a+ETQMRzk9xYO6GKt80f0RRkv/VAu1
+yvmEfaZAtKhUFrqbKQmISdIjkDbjoWgXc0Lg7NCcf1p7mNBh6UjxCqxo0M++EtPD
+7adO+5DsI7LuoLF5Gsj1DBRITkJvGNBROz0S982XROebyDo5NOcIIjipns1A2wUb
+QrPD83ifAgMBAAECggEAEHxZVAYxdz6AspHnKel+rNqnuwWX1Oc3s7K2Q5dGNene
+O+1XNY687sXQCKkTksls0zEZpSYmbedGbkew6Q8bra2f7aWbZO7ZNt9bf9oq77JP
+t6kVgeclomzYA7Ree1O5MYLfiehVDZKz9J71kQ9BRMkvwEhPbG0A8sytSthw10XH
+UTcr+WBs2MhHTzPHkNon/lea8543aq+ccHwx69E0GKnixIE+wVPYBgwf1ZSdOiHh
+iPEknoYgzLUbq2etcWfGf9OzEulPsLYvHf/FsU85DmHr78LuBaJJHnw/gD4G/uCk
+U9iW0K9pnB8dQVdjIB4Qms1yPkdnzSlZYjKZpDhAWQKBgQD/Co0iZpizUkwB4WjJ
+yboM7CmW/lxoQQ0OgIwFP2Bqy5GK42//MT50z14V7LMkod1ZjYF7DGuWzhZ8mzAH
+OqUiYVj3vd61J6to4aZ3YGYy9Wn2DQE0YCv0tNQ2Hy5H5X0my55kVhBKGuWuz8gV
+bcLzGcCgxTh+g4QVRCrnbgWybQKBgQDrGABPVYGXd9Lr6nsYW2FKrxdtuEfJKppH
+2Ai2co7WBPtpcm0rQrQQpkQlVr+dLQEs9couZ2o7l10GeIC2cmUQjT3IDqZDirOR
+DfWD5FJO8kmCL1Lqx8gbaJk1GDmas838LtKVvWQjyD/YmSGU3gaHgCompDYFrSBp
+Av2dAhTPuwKBgDgM1pWf3KFUTdX/9uqaBeR/JmjDwAU9fqQYRi2FDyiJUpQmhd+c
+r/A1/qRs37YGSMI8oh8rzJ1Y74I1DOoZzl7u7AGOXdqMPFSReuczbWJ3ovDrTL94
+/1AJSbYXRjGQ0t9q0oWUkIHoxV+U1JE5DSYmG7p5fX/4YVfXImK4QFJFAoGBAI3G
+zLELbPrOrWnO3+theHwUublWkBw2UBKRqzd0QMW6/W+rLUEQmg0MaD5oYWhFctcN
+Z5+yiDNl5hj35Q+iT2a69w5GH2jOJdqNo4ml0SmBHmmfZo7marx0yShm8p5kXw39
+osvhCpo1sqNKPiFMAH4JAeKJ13Z24PvTbOUaEzjvAoGAMMlBaOHyhOUtcNwjg12C
+IpSZiStcQFOPgOb+4lO6MKyQaU4yp8Y6yXZGuBfZDdYKxXc7g9pGPEu7wYE8JX4a
+xcixJrkvbq8kMbbS2GcStrDohPAgmptdhHGR00+jGN1EnK40a0nKrFii0RwvucxW
+FYizcklNMPmFOHuJQopwG+g=
+-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
-MIICtzCCAiCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBUMQswCQYDVQQGEwJBVTET
-MBEGA1UECAwKU29tZS1TdGF0ZTENMAsGA1UEBwwEUGVybDENMAsGA1UECgwEQ1BB
-TjESMBAGA1UEAwwJVHdpZ2d5IENBMCAXDTEzMDYyNDE0MDkxN1oYDzIxMTMwNTMx
-MTQwOTE3WjBbMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTENMAsG
-A1UEBwwEUGVybDEUMBIGA1UECgwLVHdpZ2d5OjpUTFMxEjAQBgNVBAMMCWxvY2Fs
-aG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvey9Gm4GobuNEXRebWbX
-7N2513Q6zr1ItgGqpsa7Yfy1xacCYWIyC3bQTtvzsFbFfEq2+ei7YmDDAiEiyNk3
-RaPa7UV/tfeO4QaxwMkRHSQmRtqDiho0lSvBMOPyExp+z3GOed1jxtNFAVEWlwh4
-+F6JRXSZMyfPfGTn44niWysCAwEAAaOBjzCBjDAJBgNVHRMEAjAAMBEGCWCGSAGG
-+EIBAQQEAwIGQDAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2Vy
-dGlmaWNhdGUwHQYDVR0OBBYEFNEyv4THaOchG4iWvGnWYv13FdBTMB8GA1UdIwQY
-MBaAFGaNxUYwjEihu2+YEDd+54wGS2RsMA0GCSqGSIb3DQEBBQUAA4GBAIG24tBn
-rAOJUCcFUVSPbVdhxvjWjuzN5NRuhJyPRc2dEoZeQ2A7gP0znPnoelTOrKfduf04
-cMsMNAUVNyMnGY3BdHl9ShsbCq8RmFzogB1oT0vV2iyQIdp1+L4ll8z+E/waNBR7
-TIbJDA86rCs5lQ3kL8q7ZBIFNApsoAM+b3z1
+MIIDTjCCAjagAwIBAgIUIiI/iRVTq/tVgh0aRA5NdV00hWQwDQYJKoZIhvcNAQEL
+BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxDTALBgNVBAoM
+BENQQU4xEjAQBgNVBAMMCVR3aWdneSBDQTAeFw0xODEwMjkyMDE3MDhaFw0yOTEw
+MTEyMDE3MDhaMFsxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ0w
+CwYDVQQHDARQZXJsMRQwEgYDVQQKDAtUd2lnZ3k6OlRMUzESMBAGA1UEAwwJbG9j
+YWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6jaY2tjY9J8o
+SyyMSC40aC7e2fK6fevxu6cYKEOVEia+ctoMexXyp2pRflBCXWYIzXCJFlpvGsmw
+SLSl3JhR9GsVjBmV7EHTXcNrc1s4/HZIlhqXcjCzARS5YoaH8lwKR5e6HoPpBQla
+QN6L9dWeqddL1Sk3ew6PgAHH7Fb/0VCVj0uGvhE0DEc5PcWDuhirfNH9EUZL/1QL
+tcr5hH2mQLSoVBa6mykJiEnSI5A246FoF3NC4OzQnH9ae5jQYelI8QqsaNDPvhLT
+w+2nTvuQ7COy7qCxeRrI9QwUSE5CbxjQUTs9EvfNl0Tnm8g6OTTnCCI4qZ7NQNsF
+G0Kzw/N4nwIDAQABoyAwHjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAN
+BgkqhkiG9w0BAQsFAAOCAQEAVOEsMwoWZozYM102nwwRDveaqsLmQUIq6CfAQ1tC
+6WtxtV3ZpydfRJauwNEa1tPtWn7RrqHttZwwG5YD8TvxqJvX18nJXQz8GUef2L65
+ZxPoiZOd+pL7eB9P7Hscyp2q76JWJDd0j86QMoL8P9MqZ6J1z4UgoeaDVX1YDRe9
+WBtgI+sy4O+v1uPHNv1yT3mG4cTrc8PKFh5G9KmqMAAqha9HslaEWHwz7mXJxOS0
+PegBGFjjIw/S6XV5kf7ZLbBnZDRKah9BPxL/K8lmZnBReAJaNMVkE/1KA/5aNp4J
+3m9c4DXL+svrQim8nFG3TizjbPkmuRnts5+jwSe5IB3bvQ==
-----END CERTIFICATE-----
1
0
Hello community,
here is the log from the commit of package perl-Test-Spelling for openSUSE:Factory checked in at 2019-05-24 11:32:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-Spelling (Old)
and /work/SRC/openSUSE:Factory/.perl-Test-Spelling.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Test-Spelling"
Fri May 24 11:32:38 2019 rev:13 rq:704997 version:0.23
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Test-Spelling/perl-Test-Spelling.changes 2019-04-28 20:14:53.786364671 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Test-Spelling.new.5148/perl-Test-Spelling.changes 2019-05-24 11:32:40.725382986 +0200
@@ -1,0 +2,13 @@
+Wed May 22 05:27:48 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 0.23
+ see /usr/share/doc/packages/perl-Test-Spelling/Changes
+
+ 0.23 2019-05-21
+ - Fixed some documentation errors (Mohammad S Anwar)
+ - Added unicode support (Kivanc Yazan, GH PR#10)
+ - Bump Perl prereq to 5.8 now that we support unicode
+ - Don't inherit from Exporter (Olivier Mengué, GH PR#9)
+ - Bump Exporter prereq to 5.57
+
+-------------------------------------------------------------------
Old:
----
Test-Spelling-0.22.tar.gz
New:
----
Test-Spelling-0.23.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Test-Spelling.spec ++++++
--- /var/tmp/diff_new_pack.AQjXla/_old 2019-05-24 11:32:41.629382641 +0200
+++ /var/tmp/diff_new_pack.AQjXla/_new 2019-05-24 11:32:41.633382640 +0200
@@ -17,7 +17,7 @@
Name: perl-Test-Spelling
-Version: 0.22
+Version: 0.23
Release: 0
%define cpan_name Test-Spelling
Summary: Check for spelling errors in POD files
++++++ Test-Spelling-0.22.tar.gz -> Test-Spelling-0.23.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/Changes new/Test-Spelling-0.23/Changes
--- old/Test-Spelling-0.22/Changes 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/Changes 2019-05-22 02:44:53.000000000 +0200
@@ -1,5 +1,12 @@
Revision history for Test-Spelling
+0.23 2019-05-21
+ - Fixed some documentation errors (Mohammad S Anwar)
+ - Added unicode support (Kivanc Yazan, GH PR#10)
+ - Bump Perl prereq to 5.8 now that we support unicode
+ - Don't inherit from Exporter (Olivier Mengué, GH PR#9)
+ - Bump Exporter prereq to 5.57
+
0.22 2019-04-24
- Zero-code-change release encompassing everything from 0.21
- Resolves RT#120425 . in @INC should no longer be an issue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/MANIFEST new/Test-Spelling-0.23/MANIFEST
--- old/Test-Spelling-0.22/MANIFEST 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/MANIFEST 2019-05-22 02:44:53.000000000 +0200
@@ -16,6 +16,7 @@
t/corpus/good-pod.pm
t/corpus/no-pod.pm
t/corpus/stopword.pm
+t/corpus/unicode-pod.pm
t/fake_checker.t
t/load.t
t/stopword.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/META.json new/Test-Spelling-0.23/META.json
--- old/Test-Spelling-0.22/META.json 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/META.json 2019-05-22 02:44:53.000000000 +0200
@@ -32,6 +32,9 @@
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
+ },
+ "suggests" : {
+ "JSON::PP" : "2.27300"
}
},
"develop" : {
@@ -54,7 +57,7 @@
},
"runtime" : {
"requires" : {
- "Exporter" : "0",
+ "Exporter" : "5.57",
"File::Spec" : "0",
"IPC::Run3" : "0",
"Pod::Spell" : "0",
@@ -62,7 +65,7 @@
"Test::Builder" : "0",
"Text::Wrap" : "0",
"base" : "0",
- "perl" : "5.006",
+ "perl" : "5.008",
"strict" : "0",
"warnings" : "0"
}
@@ -84,7 +87,7 @@
"provides" : {
"Test::Spelling" : {
"file" : "lib/Test/Spelling.pm",
- "version" : "0.22"
+ "version" : "0.23"
}
},
"release_status" : "stable",
@@ -99,7 +102,7 @@
"web" : "https://github.com/genio/test-spelling"
}
},
- "version" : "0.22",
+ "version" : "0.23",
"x_Dist_Zilla" : {
"perl" : {
"version" : "5.026001"
@@ -196,7 +199,7 @@
}
},
"name" : "@Starter/MakeMaker::Awesome",
- "version" : "0.47"
+ "version" : "0.48"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
@@ -304,7 +307,7 @@
"meta_noindex" : 1
},
"Dist::Zilla::Role::ModuleMetadata" : {
- "Module::Metadata" : "1.000033",
+ "Module::Metadata" : "1.000036",
"version" : "0.006"
}
},
@@ -340,7 +343,7 @@
"class" : "Dist::Zilla::Plugin::Git::Contributors",
"config" : {
"Dist::Zilla::Plugin::Git::Contributors" : {
- "git_version" : "2.19.1",
+ "git_version" : "2.20.1",
"include_authors" : 0,
"include_releaser" : 1,
"order_by" : "name",
@@ -370,7 +373,7 @@
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.19.1",
+ "git_version" : "2.20.1",
"repo_root" : "."
}
},
@@ -393,7 +396,7 @@
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.19.1",
+ "git_version" : "2.20.1",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
@@ -410,12 +413,12 @@
"branch" : null,
"changelog" : "Changes",
"signed" : 0,
- "tag" : "v0.22",
+ "tag" : "v0.23",
"tag_format" : "v%V",
"tag_message" : "v%V"
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.19.1",
+ "git_version" : "2.20.1",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
@@ -435,7 +438,7 @@
"remotes_must_exist" : 1
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.19.1",
+ "git_version" : "2.20.1",
"repo_root" : "."
}
},
@@ -580,7 +583,10 @@
"David Golden <dagolden(a)cpan.org>",
"Karen Etheridge <ether(a)cpan.org>",
"Kent Fredric <kentfredric(a)gmail.com>",
+ "Kivanc Yazan <kivancyazan(a)gmail.com>",
+ "Mohammad S Anwar <mohammad.anwar(a)yahoo.com>",
"Olaf Alders <olaf(a)wundersolutions.com>",
+ "Olivier Mengu\u00e9 <dolmen(a)cpan.org>",
"Randy Stauner <randy(a)magnificent-tears.com>",
"Shawn M Moore <sartak(a)cpan.org>",
"Thomas Sibley <trs(a)bestpractical.com>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/META.yml new/Test-Spelling-0.23/META.yml
--- old/Test-Spelling-0.22/META.yml 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/META.yml 2019-05-22 02:44:53.000000000 +0200
@@ -29,9 +29,9 @@
provides:
Test::Spelling:
file: lib/Test/Spelling.pm
- version: '0.22'
+ version: '0.23'
requires:
- Exporter: '0'
+ Exporter: '5.57'
File::Spec: '0'
IPC::Run3: '0'
Pod::Spell: '0'
@@ -39,14 +39,14 @@
Test::Builder: '0'
Text::Wrap: '0'
base: '0'
- perl: '5.006'
+ perl: '5.008'
strict: '0'
warnings: '0'
resources:
bugtracker: https://github.com/genio/test-spelling/issues
homepage: https://github.com/genio/test-spelling
repository: https://github.com/genio/test-spelling.git
-version: '0.22'
+version: '0.23'
x_Dist_Zilla:
perl:
version: '5.026001'
@@ -123,7 +123,7 @@
default_jobs: 1
version: '6.012'
name: '@Starter/MakeMaker::Awesome'
- version: '0.47'
+ version: '0.48'
-
class: Dist::Zilla::Plugin::Manifest
name: '@Starter/Manifest'
@@ -206,7 +206,7 @@
inherit_version: '1'
meta_noindex: '1'
Dist::Zilla::Role::ModuleMetadata:
- Module::Metadata: '1.000033'
+ Module::Metadata: '1.000036'
version: '0.006'
name: '@Starter/MetaProvides::Package'
version: '2.004003'
@@ -233,7 +233,7 @@
class: Dist::Zilla::Plugin::Git::Contributors
config:
Dist::Zilla::Plugin::Git::Contributors:
- git_version: 2.19.1
+ git_version: 2.20.1
include_authors: 0
include_releaser: 1
order_by: name
@@ -256,7 +256,7 @@
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
- git_version: 2.19.1
+ git_version: 2.20.1
repo_root: .
name: '@Git/Check'
version: '2.046'
@@ -273,7 +273,7 @@
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
- git_version: 2.19.1
+ git_version: 2.20.1
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
@@ -286,11 +286,11 @@
branch: ~
changelog: Changes
signed: 0
- tag: v0.22
+ tag: v0.23
tag_format: v%V
tag_message: v%V
Dist::Zilla::Role::Git::Repo:
- git_version: 2.19.1
+ git_version: 2.20.1
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
@@ -304,7 +304,7 @@
- origin
remotes_must_exist: 1
Dist::Zilla::Role::Git::Repo:
- git_version: 2.19.1
+ git_version: 2.20.1
repo_root: .
name: '@Git/Push'
version: '2.046'
@@ -416,7 +416,10 @@
- 'David Golden <dagolden(a)cpan.org>'
- 'Karen Etheridge <ether(a)cpan.org>'
- 'Kent Fredric <kentfredric(a)gmail.com>'
+ - 'Kivanc Yazan <kivancyazan(a)gmail.com>'
+ - 'Mohammad S Anwar <mohammad.anwar(a)yahoo.com>'
- 'Olaf Alders <olaf(a)wundersolutions.com>'
+ - 'Olivier Mengué <dolmen(a)cpan.org>'
- 'Randy Stauner <randy(a)magnificent-tears.com>'
- 'Shawn M Moore <sartak(a)cpan.org>'
- 'Thomas Sibley <trs(a)bestpractical.com>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/Makefile.PL new/Test-Spelling-0.23/Makefile.PL
--- old/Test-Spelling-0.22/Makefile.PL 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/Makefile.PL 2019-05-22 02:44:53.000000000 +0200
@@ -1,5 +1,5 @@
# This Makefile.PL for Test-Spelling was generated by
-# Dist::Zilla::Plugin::MakeMaker::Awesome 0.47.
+# Dist::Zilla::Plugin::MakeMaker::Awesome 0.48.
# Don't edit it but the dist.ini and plugins used to construct it.
use strict;
@@ -20,7 +20,7 @@
"LICENSE" => "perl",
"NAME" => "Test::Spelling",
"PREREQ_PM" => {
- "Exporter" => 0,
+ "Exporter" => "5.57",
"File::Spec" => 0,
"IPC::Run3" => 0,
"Pod::Spell" => 0,
@@ -39,14 +39,14 @@
"strict" => 0,
"warnings" => 0
},
- "VERSION" => "0.22",
+ "VERSION" => "0.23",
"test" => {
"TESTS" => "t/*.t"
}
);
my %FallbackPrereqs = (
- "Exporter" => 0,
+ "Exporter" => "5.57",
"ExtUtils::MakeMaker" => 0,
"File::Spec" => 0,
"IPC::Run3" => 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/README new/Test-Spelling-0.23/README
--- old/Test-Spelling-0.22/README 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/README 2019-05-22 02:44:53.000000000 +0200
@@ -56,7 +56,7 @@
FUNCTIONS
all_pod_files_spelling_ok( [@files/@directories] )
- Checks all the files for POD spelling. It gathers all_pod_files() on
+ Checks all the files for POD spelling. It gathers "all_pod_files" on
each file/directory, and declares a "plan" in Test::More for you (one
test for each file), so you must not call "plan" yourself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/cpanfile new/Test-Spelling-0.23/cpanfile
--- old/Test-Spelling-0.22/cpanfile 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/cpanfile 2019-05-22 02:44:53.000000000 +0200
@@ -1,9 +1,9 @@
on 'runtime' => sub {
- requires 'perl' => '5.006';
+ requires 'perl' => '5.008';
requires 'strict';
requires 'warnings';
requires 'base';
- requires 'Exporter';
+ requires 'Exporter' => '5.57';
requires 'File::Spec';
requires 'IPC::Run3';
requires 'Pod::Spell';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/lib/Test/Spelling.pm new/Test-Spelling-0.23/lib/Test/Spelling.pm
--- old/Test-Spelling-0.22/lib/Test/Spelling.pm 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/lib/Test/Spelling.pm 2019-05-22 02:44:53.000000000 +0200
@@ -1,9 +1,9 @@
package Test::Spelling;
-use 5.006;
+
use strict;
use warnings;
-use base 'Exporter';
+use Exporter qw(import);
use Pod::Spell;
use Test::Builder;
use Text::Wrap;
@@ -11,7 +11,7 @@
use IPC::Run3;
use Symbol 'gensym';
-our $VERSION = '0.22';
+our $VERSION = '0.23';
our @EXPORT = qw(
pod_file_spelling_ok
@@ -101,9 +101,10 @@
my $document = '';
open my $handle, '>', \$document;
+ open my $infile, '<:encoding(UTF-8)', $file;
# save digested POD to the string $document
- get_pod_parser()->parse_from_file($file, $handle);
+ get_pod_parser()->parse_from_filehandle($infile, $handle);
my @words = _get_spellcheck_results($document);
@@ -321,7 +322,7 @@
=head2 all_pod_files_spelling_ok( [@files/@directories] )
-Checks all the files for POD spelling. It gathers L<all_pod_files()> on each
+Checks all the files for POD spelling. It gathers L</all_pod_files> on each
file/directory, and declares a L<Test::More/plan> for you (one test for each
file), so you must not call C<plan> yourself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/t/00-report-prereqs.dd new/Test-Spelling-0.23/t/00-report-prereqs.dd
--- old/Test-Spelling-0.22/t/00-report-prereqs.dd 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/t/00-report-prereqs.dd 2019-05-22 02:44:53.000000000 +0200
@@ -7,6 +7,9 @@
'configure' => {
'requires' => {
'ExtUtils::MakeMaker' => '0'
+ },
+ 'suggests' => {
+ 'JSON::PP' => '2.27300'
}
},
'develop' => {
@@ -29,7 +32,7 @@
},
'runtime' => {
'requires' => {
- 'Exporter' => '0',
+ 'Exporter' => '5.57',
'File::Spec' => '0',
'IPC::Run3' => '0',
'Pod::Spell' => '0',
@@ -37,7 +40,7 @@
'Test::Builder' => '0',
'Text::Wrap' => '0',
'base' => '0',
- 'perl' => '5.006',
+ 'perl' => '5.008',
'strict' => '0',
'warnings' => '0'
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/t/basic.t new/Test-Spelling-0.23/t/basic.t
--- old/Test-Spelling-0.22/t/basic.t 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/t/basic.t 2019-05-22 02:44:53.000000000 +0200
@@ -1,6 +1,7 @@
use Test::Tester;
use Test::More;
use Test::Spelling;
+use utf8;
BEGIN {
if (!has_working_spellchecker()) {
@@ -24,5 +25,12 @@
diag => "Errors:\n incorectly",
});
+add_stopwords("ünıçöđé");
+
+check_test(sub { pod_file_spelling_ok('t/corpus/unicode-pod.pm', 'unicode pod has no errors') }, {
+ ok => 1,
+ name => 'unicode pod has no errors',
+});
+
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/t/corpus/unicode-pod.pm new/Test-Spelling-0.23/t/corpus/unicode-pod.pm
--- old/Test-Spelling-0.22/t/corpus/unicode-pod.pm 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Spelling-0.23/t/corpus/unicode-pod.pm 2019-05-22 02:44:53.000000000 +0200
@@ -0,0 +1,16 @@
+package Unicode::Pod;
+use strict;
+use warnings;
+
+sub foo {}
+
+1;
+
+__END__
+
+=head1 NAME
+
+UTF8::Pod - POD with ünıçöđé
+
+=END
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/xt/author/pod-spell.t new/Test-Spelling-0.23/xt/author/pod-spell.t
--- old/Test-Spelling-0.22/xt/author/pod-spell.t 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/xt/author/pod-spell.t 2019-05-22 02:44:53.000000000 +0200
@@ -11,6 +11,7 @@
all_pod_files_spelling_ok( qw( bin lib ) );
__DATA__
Alders
+Anwar
Brohman
CPAN
Chase
@@ -21,8 +22,12 @@
Ivan
Karen
Kent
+Kivanc
+Mengué
+Mohammad
Moore
Olaf
+Olivier
Randy
Shawn
Sibley
@@ -32,15 +37,19 @@
Thomas
Tubert
Whitener
+Yazan
brian
capoeirab
dagolden
+dolmen
ether
foy
github
itub
kentfredric
+kivancyazan
lib
+mohammad
olaf
preprocessing
randy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/xt/release/changes_has_content.t new/Test-Spelling-0.23/xt/release/changes_has_content.t
--- old/Test-Spelling-0.22/xt/release/changes_has_content.t 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/xt/release/changes_has_content.t 2019-05-22 02:44:53.000000000 +0200
@@ -2,7 +2,7 @@
note 'Checking Changes';
my $changes_file = 'Changes';
-my $newver = '0.22';
+my $newver = '0.23';
my $trial_token = '-TRIAL';
my $encoding = 'UTF-8';
1
0
Hello community,
here is the log from the commit of package perl-CPAN-Perl-Releases for openSUSE:Factory checked in at 2019-05-24 11:32:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-CPAN-Perl-Releases (Old)
and /work/SRC/openSUSE:Factory/.perl-CPAN-Perl-Releases.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-CPAN-Perl-Releases"
Fri May 24 11:32:35 2019 rev:76 rq:704996 version:4.04
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-CPAN-Perl-Releases/perl-CPAN-Perl-Releases.changes 2019-05-20 10:30:33.789873194 +0200
+++ /work/SRC/openSUSE:Factory/.perl-CPAN-Perl-Releases.new.5148/perl-CPAN-Perl-Releases.changes 2019-05-24 11:32:37.373384267 +0200
@@ -1,0 +2,6 @@
+Thu May 23 05:03:07 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 4.04
+ see /usr/share/doc/packages/perl-CPAN-Perl-Releases/Changes
+
+-------------------------------------------------------------------
Old:
----
CPAN-Perl-Releases-4.02.tar.gz
New:
----
CPAN-Perl-Releases-4.04.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-CPAN-Perl-Releases.spec ++++++
--- /var/tmp/diff_new_pack.LHHbhI/_old 2019-05-24 11:32:38.113383984 +0200
+++ /var/tmp/diff_new_pack.LHHbhI/_new 2019-05-24 11:32:38.117383983 +0200
@@ -17,7 +17,7 @@
Name: perl-CPAN-Perl-Releases
-Version: 4.02
+Version: 4.04
Release: 0
%define cpan_name CPAN-Perl-Releases
Summary: Mapping Perl releases on CPAN to the location of the tarballs
++++++ CPAN-Perl-Releases-4.02.tar.gz -> CPAN-Perl-Releases-4.04.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/Changes new/CPAN-Perl-Releases-4.04/Changes
--- old/CPAN-Perl-Releases-4.02/Changes 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/Changes 2019-05-22 13:25:48.000000000 +0200
@@ -1,8 +1,18 @@
==================================================
-Changes from 2014-05-18 00:00:00 +0000 to present.
+Changes from 2014-05-23 00:00:00 +0000 to present.
==================================================
-----------------------------------------
+version 4.04 at 2019-05-22 11:19:39 +0000
+-----------------------------------------
+
+ Change: 4309dbcf704b41a4a28db0f35799a2082f4428b6
+ Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
+ Date : 2019-05-22 12:19:39 +0000
+
+ Updated for v5.30.0
+
+-----------------------------------------
version 4.02 at 2019-05-17 20:48:49 +0000
-----------------------------------------
@@ -1192,16 +1202,6 @@
Updated for v5.20.0
------------------------------------------
-version 1.70 at 2014-05-19 12:08:57 +0000
------------------------------------------
-
- Change: b71b39bb96500373db858cabb11668d44f3b7837
- Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
- Date : 2014-05-19 13:08:57 +0000
-
- Updated for v5.20.0-RC1
-
=================================================
-Plus 83 releases after 2014-05-18 00:00:00 +0000.
+Plus 84 releases after 2014-05-23 00:00:00 +0000.
=================================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/META.json new/CPAN-Perl-Releases-4.04/META.json
--- old/CPAN-Perl-Releases-4.02/META.json 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/META.json 2019-05-22 13:25:48.000000000 +0200
@@ -54,7 +54,7 @@
"web" : "https://github.com/bingos/cpan-perl-releases"
}
},
- "version" : "4.02",
+ "version" : "4.04",
"x_generated_by_perl" : "v5.26.3",
"x_serialization_backend" : "Cpanel::JSON::XS version 4.11"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/META.yml new/CPAN-Perl-Releases-4.04/META.yml
--- old/CPAN-Perl-Releases-4.02/META.yml 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/META.yml 2019-05-22 13:25:48.000000000 +0200
@@ -21,6 +21,6 @@
resources:
homepage: https://github.com/bingos/cpan-perl-releases
repository: https://github.com/bingos/cpan-perl-releases.git
-version: '4.02'
+version: '4.04'
x_generated_by_perl: v5.26.3
x_serialization_backend: 'YAML::Tiny version 1.73'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/Makefile.PL new/CPAN-Perl-Releases-4.04/Makefile.PL
--- old/CPAN-Perl-Releases-4.02/Makefile.PL 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/Makefile.PL 2019-05-22 13:25:48.000000000 +0200
@@ -26,7 +26,7 @@
"IPC::Open3" => 0,
"Test::More" => "0.47"
},
- "VERSION" => "4.02",
+ "VERSION" => "4.04",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/README new/CPAN-Perl-Releases-4.04/README
--- old/CPAN-Perl-Releases-4.02/README 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/README 2019-05-22 13:25:48.000000000 +0200
@@ -5,7 +5,7 @@
VERSION
- version 4.02
+ version 4.04
SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/dist.ini new/CPAN-Perl-Releases-4.04/dist.ini
--- old/CPAN-Perl-Releases-4.02/dist.ini 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/dist.ini 2019-05-22 13:25:48.000000000 +0200
@@ -1,5 +1,5 @@
name = CPAN-Perl-Releases
-version = 4.02
+version = 4.04
author = Chris Williams <chris(a)bingosnet.co.uk>
license = Perl_5
copyright_holder = Chris Williams
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/lib/CPAN/Perl/Releases.pm new/CPAN-Perl-Releases-4.04/lib/CPAN/Perl/Releases.pm
--- old/CPAN-Perl-Releases-4.02/lib/CPAN/Perl/Releases.pm 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/lib/CPAN/Perl/Releases.pm 2019-05-22 13:25:48.000000000 +0200
@@ -1,5 +1,5 @@
package CPAN::Perl::Releases;
-$CPAN::Perl::Releases::VERSION = '4.02';
+$CPAN::Perl::Releases::VERSION = '4.04';
#ABSTRACT: Mapping Perl releases on CPAN to the location of the tarballs
use strict;
@@ -239,6 +239,7 @@
"5.29.10" => { id => 'XSAWYERX' },
"5.30.0-RC1" => { id => 'XSAWYERX' },
"5.30.0-RC2" => { id => 'XSAWYERX' },
+"5.30.0" => { id => 'XSAWYERX' },
};
sub perl_tarballs {
@@ -307,7 +308,7 @@
=head1 VERSION
-version 4.02
+version 4.04
=head1 SYNOPSIS
1
0
Hello community,
here is the log from the commit of package perl-Mojo-RabbitMQ-Client for openSUSE:Factory checked in at 2019-05-24 11:32:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojo-RabbitMQ-Client (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojo-RabbitMQ-Client.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojo-RabbitMQ-Client"
Fri May 24 11:32:30 2019 rev:8 rq:704993 version:0.2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojo-RabbitMQ-Client/perl-Mojo-RabbitMQ-Client.changes 2018-08-22 14:21:33.790523633 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Mojo-RabbitMQ-Client.new.5148/perl-Mojo-RabbitMQ-Client.changes 2019-05-24 11:32:34.133385504 +0200
@@ -1,0 +2,9 @@
+Thu May 23 11:50:37 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- update to 0.2.2
+
+ 0.2.2 2019-05-23T11:20:22Z
+ - Minor documentation fixes #32 (@sjn)
+ - fix around 30 memory leaks #31 (@kraih)
+
+-------------------------------------------------------------------
Old:
----
Mojo-RabbitMQ-Client-0.2.1.tar.gz
New:
----
Mojo-RabbitMQ-Client-0.2.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojo-RabbitMQ-Client.spec ++++++
--- /var/tmp/diff_new_pack.EjGX7g/_old 2019-05-24 11:32:34.613385321 +0200
+++ /var/tmp/diff_new_pack.EjGX7g/_new 2019-05-24 11:32:34.613385321 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Mojo-RabbitMQ-Client
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,18 +12,18 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: perl-Mojo-RabbitMQ-Client
-Version: 0.2.1
+Version: 0.2.2
Release: 0
%define cpan_name Mojo-RabbitMQ-Client
Summary: Mojo::IOLoop based RabbitMQ client
License: Artistic-2.0
Group: Development/Libraries/Perl
-Url: http://search.cpan.org/dist/Mojo-RabbitMQ-Client/
+Url: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/S/SE/SEBAPOD/%{cpan_name}-%{version}.t…
Source1: cpanspec.yml
BuildArch: noarch
@@ -55,7 +55,7 @@
%setup -q -n %{cpan_name}-%{version}
%build
-%{__perl} Build.PL --installdirs=vendor
+perl Build.PL --installdirs=vendor
./Build build --flags=%{?_smp_mflags}
%check
++++++ Mojo-RabbitMQ-Client-0.2.1.tar.gz -> Mojo-RabbitMQ-Client-0.2.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/Changes new/Mojo-RabbitMQ-Client-0.2.2/Changes
--- old/Mojo-RabbitMQ-Client-0.2.1/Changes 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/Changes 2019-05-23 13:20:25.000000000 +0200
@@ -1,3 +1,6 @@
+0.2.2 2019-05-23T11:20:22Z
+ - Minor documentation fixes #32 (@sjn)
+ - fix around 30 memory leaks #31 (@kraih)
0.2.1 2018-07-29T14:17:43Z
- Fixed POD syntax, spelling & grammar errors #27,#28 (@gregoa)
- Fixed POD error #26 (@manwar)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/META.json new/Mojo-RabbitMQ-Client-0.2.2/META.json
--- old/Mojo-RabbitMQ-Client-0.2.1/META.json 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/META.json 2019-05-23 13:20:25.000000000 +0200
@@ -59,7 +59,7 @@
"provides" : {
"Mojo::RabbitMQ::Client" : {
"file" : "lib/Mojo/RabbitMQ/Client.pm",
- "version" : "v0.2.1"
+ "version" : "v0.2.2"
},
"Mojo::RabbitMQ::Client::Channel" : {
"file" : "lib/Mojo/RabbitMQ/Client/Channel.pm"
@@ -91,12 +91,13 @@
"web" : "https://github.com/inway/mojo-rabbitmq-client"
}
},
- "version" : "0.2.1",
+ "version" : "0.2.2",
"x_contributors" : [
"Christopher Rasch-Olsen Raa <christopher(a)stix.no>",
"Mohammad S Anwar <Mohammad.Anwar(a)yahoo.com>",
"Patrick Goldmann <patrick.goldmann(a)googlemail.com>",
"Richard Lippmann <lippmann(a)findus-internet-opac.de>",
+ "Salve J. Nilsen <sjn(a)cpan.org>",
"Sebastian Podjasek <sebastian(a)podjasek.pl>",
"Sebastian Riedel <kraihx(a)gmail.com>",
"Stephan Kulow <coolo(a)suse.de>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/META.yml new/Mojo-RabbitMQ-Client-0.2.2/META.yml
--- old/Mojo-RabbitMQ-Client-0.2.1/META.yml 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/META.yml 2019-05-23 13:20:25.000000000 +0200
@@ -27,7 +27,7 @@
provides:
Mojo::RabbitMQ::Client:
file: lib/Mojo/RabbitMQ/Client.pm
- version: v0.2.1
+ version: v0.2.2
Mojo::RabbitMQ::Client::Channel:
file: lib/Mojo/RabbitMQ/Client/Channel.pm
Mojo::RabbitMQ::Client::Consumer:
@@ -50,12 +50,13 @@
bugtracker: https://github.com/inway/mojo-rabbitmq-client/issues
homepage: https://github.com/inway/mojo-rabbitmq-client
repository: git://github.com/inway/mojo-rabbitmq-client.git
-version: 0.2.1
+version: 0.2.2
x_contributors:
- 'Christopher Rasch-Olsen Raa <christopher(a)stix.no>'
- 'Mohammad S Anwar <Mohammad.Anwar(a)yahoo.com>'
- 'Patrick Goldmann <patrick.goldmann(a)googlemail.com>'
- 'Richard Lippmann <lippmann(a)findus-internet-opac.de>'
+ - 'Salve J. Nilsen <sjn(a)cpan.org>'
- 'Sebastian Podjasek <sebastian(a)podjasek.pl>'
- 'Sebastian Riedel <kraihx(a)gmail.com>'
- 'Stephan Kulow <coolo(a)suse.de>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/README.md new/Mojo-RabbitMQ-Client-0.2.2/README.md
--- old/Mojo-RabbitMQ-Client-0.2.1/README.md 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/README.md 2019-05-23 13:20:25.000000000 +0200
@@ -192,15 +192,6 @@
Sets user password for authorization, by default it's not defined.
-## pass
-
-```perl
-my $pass = $client->pass;
-$client = $client->pass('secret')
-```
-
-Sets user password for authorization, by default it's not defined.
-
## host
```perl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/inc/Module/AutoInstall.pm new/Mojo-RabbitMQ-Client-0.2.2/inc/Module/AutoInstall.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/inc/Module/AutoInstall.pm 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/inc/Module/AutoInstall.pm 2019-05-23 13:20:25.000000000 +0200
@@ -8,7 +8,7 @@
use vars qw{$VERSION};
BEGIN {
- $VERSION = '0.2.1';
+ $VERSION = '0.2.2';
}
# special map on pre-defined feature sets
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Channel.pm new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Channel.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Channel.pm 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Channel.pm 2019-05-23 13:20:25.000000000 +0200
@@ -1,10 +1,11 @@
package Mojo::RabbitMQ::Client::Channel;
use Mojo::Base 'Mojo::EventEmitter';
-use Mojo::Promise;
+use Mojo::Promise;
use Mojo::RabbitMQ::Client::LocalQueue;
use Mojo::RabbitMQ::Client::Method;
use Mojo::RabbitMQ::Client::Method::Publish;
+use Scalar::Util qw(isweak weaken);
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -125,6 +126,7 @@
for my $consumer_tag (keys %{$self->consumer_cbs}) {
my $method = $self->cancel(consumer_tag => $consumer_tag);
+ weaken $self unless isweak $self;
$method->on(
success => sub {
$self->_close();
@@ -178,8 +180,14 @@
sub _prepare_method {
my $self = shift;
- return Mojo::RabbitMQ::Client::Method->new(client => $self->client, channel => $self)
- ->setup(@_);
+ my $method = Mojo::RabbitMQ::Client::Method->new(
+ client => $self->client,
+ channel => $self
+ );
+ weaken $method->{channel};
+ weaken $method->{client};
+
+ return $method->setup(@_);
}
sub declare_exchange {
@@ -207,6 +215,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->declare_exchange(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -235,6 +244,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->delete_exchange(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -268,6 +278,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->declare_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -321,6 +332,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->unbind_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -348,6 +360,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->purge_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -377,6 +390,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->delete_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -400,7 +414,11 @@
my $method = Mojo::RabbitMQ::Client::Method::Publish->new(
client => $self->client,
channel => $self
- )->setup(@_);
+ );
+ weaken $method->{client};
+ weaken $method->{channel};
+ $method->setup(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -425,6 +443,7 @@
warn "-- Basic::ConsumeOk\n" if DEBUG;
}
);
+ weaken $self;
$method->on(
success => sub {
my $this = shift;
@@ -451,6 +470,7 @@
warn "-- Basic::CancelOk\n" if DEBUG;
}
);
+ weaken $self;
$method->on(
success => sub {
my $this = shift;
@@ -473,6 +493,7 @@
},
[qw(Basic::GetOk Basic::GetEmpty)]
);
+ weaken $self;
$method->on(
success => sub {
warn "-- Basic::GetOk|GetEmpty\n" if DEBUG;
@@ -501,6 +522,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->get(@_);
+ weaken $self;
$method->on('message' => sub { shift; $promise->resolve($self, @_) });
$method->on('empty' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
@@ -539,6 +561,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->ack(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -693,7 +716,7 @@
...
});
-Emitted when channel gets closed, C<<$frame>> contains close reason.
+Emitted when channel gets closed, C<$frame> contains close reason.
=head1 ATTRIBUTES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Consumer.pm new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Consumer.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Consumer.pm 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Consumer.pm 2019-05-23 13:20:25.000000000 +0200
@@ -1,6 +1,8 @@
package Mojo::RabbitMQ::Client::Consumer;
use Mojo::Base 'Mojo::EventEmitter';
+
use Mojo::Promise;
+use Scalar::Util 'weaken';
require Mojo::RabbitMQ::Client;
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -17,6 +19,7 @@
my $promise = Mojo::Promise->new()->resolve();
+ weaken $self;
unless ($self->client) {
$promise = $promise->then(
sub {
@@ -26,13 +29,13 @@
$self->client($client);
# Catch all client related errors
- $self->client->catch(sub { $client_promise->reject(@_) });
+ $self->client->catch(sub { $client_promise->reject($_[1]) });
# When connection is in Open state, open new channel
$client->on(
open => sub {
warn "-- client open\n" if DEBUG;
- $client_promise->resolve(@_);
+ $client_promise->resolve;
}
);
$client->on('close' => sub { shift; $self->emit('close', @_) });
@@ -53,7 +56,7 @@
my $channel_promise = Mojo::Promise->new;
my $channel = Mojo::RabbitMQ::Client::Channel->new();
- $channel->catch(sub { $channel_promise->reject(@_) });
+ $channel->catch(sub { $channel_promise->reject($_[1]) });
$channel->on(close => sub { warn 'Channel closed: ' . $_[1]->method_frame->reply_text; });
$channel->on(
@@ -63,7 +66,7 @@
$self->channel($channel);
$channel->qos(%{$self->defaults->{qos}})->deliver;
- $channel_promise->resolve();
+ $channel_promise->resolve;
}
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Publisher.pm new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Publisher.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Publisher.pm 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Publisher.pm 2019-05-23 13:20:25.000000000 +0200
@@ -1,7 +1,9 @@
package Mojo::RabbitMQ::Client::Publisher;
use Mojo::Base -base;
+
use Mojo::Promise;
use Mojo::JSON qw(encode_json);
+use Scalar::Util 'weaken';
require Mojo::RabbitMQ::Client;
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -25,8 +27,9 @@
%args = (@_);
}
- my $promise = Mojo::Promise->new()->resolve();
+ my $promise = Mojo::Promise->new()->resolve;
+ weaken $self;
unless ($self->client) {
$promise = $promise->then(
sub {
@@ -37,13 +40,13 @@
$self->client($client);
# Catch all client related errors
- $self->client->catch(sub { $client_promise->reject(@_) });
+ $self->client->catch(sub { $client_promise->reject($_[1]) });
# When connection is in Open state, open new channel
$self->client->on(
open => sub {
warn "-- client open\n" if DEBUG;
- $client_promise->resolve(@_);
+ $client_promise->resolve;
}
);
@@ -64,7 +67,7 @@
my $channel = Mojo::RabbitMQ::Client::Channel->new();
- $channel->catch(sub { $channel_promise->reject(@_) });
+ $channel->catch(sub { $channel_promise->reject($_[1]) });
$channel->on(
open => sub {
@@ -73,7 +76,7 @@
warn "-- channel opened\n" if DEBUG;
- $channel_promise->resolve();
+ $channel_promise->resolve;
}
);
$channel->on(close => sub { warn 'Channel closed: ' . $_[1]->method_frame->reply_text; });
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client.pm new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client.pm 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client.pm 2019-05-23 13:20:25.000000000 +0200
@@ -1,5 +1,6 @@
package Mojo::RabbitMQ::Client;
use Mojo::Base 'Mojo::EventEmitter';
+
use Carp qw(croak confess);
use Mojo::URL;
use Mojo::Home;
@@ -8,7 +9,7 @@
use Mojo::Promise;
use Mojo::Util qw(url_unescape dumper);
use List::Util qw(none);
-use Scalar::Util qw(blessed);
+use Scalar::Util qw(blessed weaken);
use File::Basename 'dirname';
use File::ShareDir qw(dist_file);
@@ -20,7 +21,7 @@
require Mojo::RabbitMQ::Client::Consumer;
require Mojo::RabbitMQ::Client::Publisher;
-our $VERSION = "0.2.1";
+our $VERSION = "0.2.2";
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -125,6 +126,7 @@
}
$self->channels->{$id} = $channel->id($id)->client($self);
+ weaken $channel->{client};
return $channel;
}
@@ -135,9 +137,9 @@
my $promise = Mojo::Promise->new;
my $channel = Mojo::RabbitMQ::Client::Channel->new();
- $channel->catch(sub { $promise->reject(@_) });
+ $channel->catch(sub { $promise->reject(@_); undef $promise });
$channel->on(close => sub { warn "Channel closed" });
- $channel->on(open => sub { $promise->resolve(@_) });
+ $channel->on(open => sub { $promise->resolve(@_); undef $promise });
$self->open_channel($channel);
@@ -746,13 +748,6 @@
=head2 pass
- my $pass = $client->pass;
- $client = $client->pass('secret')
-
-Sets user password for authorization, by default it's not defined.
-
-=head2 pass
-
my $pass = $client->pass;
$client = $client->pass('secret')
1
0
Hello community,
here is the log from the commit of package python-pytest4 for openSUSE:Factory checked in at 2019-05-24 11:32:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest4 (Old)
and /work/SRC/openSUSE:Factory/.python-pytest4.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest4"
Fri May 24 11:32:28 2019 rev:3 rq:704982 version:4.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest4/python-pytest4.changes 2019-05-06 21:17:13.613068918 +0200
+++ /work/SRC/openSUSE:Factory/.python-pytest4.new.5148/python-pytest4.changes 2019-05-24 11:32:29.613387231 +0200
@@ -1,0 +2,47 @@
+Thu May 23 10:06:51 UTC 2019 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- update to 4.5.0
+- drop 4dbb56146a1fe0bf70df801582f0abde4ef4e64c.patch - upstream merged
+ * A warning is now emitted when unknown marks are used as a decorator
+ * Show XFail reason as part of JUnitXML message field
+ * Messages from crash reports are displayed within test summaries now
+ * New flag --strict-markers that triggers an error when unknown markers
+ * Assertion failure messages for sequences and dicts contain the number
+ of different items now.
+ * Improve reporting with --lf and --ff
+ * The --cache-show option/action accepts an optional glob to show only
+ matching cache entries.
+ * Standard input (stdin) can be given to pytester’s Testdir.run() and Testdir.popen().
+ * he -r option learnt about A to display all reports (including passed ones)
+ in the short test summary.
+ * The short test summary is displayed after passes with output (-rP).
+ * The --last-failed (--lf) option got smarter and will now skip entire files
+ if all tests of that test file have passed in previous runs, greatly speeding up collection.
+ * Introduce new specific warning PytestWarning subclasses to make it easier
+ to filter warnings based on the class, rather than on the message
+ * New record_testsuite_property session-scoped fixture allows users to log
+ <property> tags at the testsuite level with the junitxml plugin.
+ * --fixtures now also shows fixture scope for scopes other than "function".
+ * Deselected items from plugins using pytest_collect_modifyitems as a hookwrapper
+ are correctly reported now.
+ * With usage errors exitstatus is set to EXIT_USAGEERROR in the pytest_sessionfinish
+ hook now as expected.
+ * outcome.exit is not used with EOF in the pdb wrapper anymore, but only with quit.
+ * logging.raiseExceptions is not set to False anymore.
+ * pytest now depends on wcwidth to properly track unicode character sizes for more
+ precise terminal output.
+ * pytester’s Testdir.popen() uses stdout and stderr via keyword arguments with
+ defaults now (subprocess.PIPE).
+ * The code for the short test summary in the terminal was moved to the terminal plugin.
+ * Improved validation of kwargs for various methods in the pytester plugin.
+ * record_property now emits a PytestWarning when used with junit_family=xunit2:
+ the fixture generates property tags as children of testcase, which is not permitted
+ according to the most recent schema.
+ * Fix crash caused by error in __repr__ function with both showlocals
+ and verbose output enabled.
+ * Eliminate core dependency on ‘terminal’ plugin.
+ * Doc: pytest_ignore_collect, pytest_collect_directory, pytest_collect_file
+ and pytest_pycollect_makemodule hooks’s ‘path’ parameter documented type is now py.path.local
+ * Improve help for --runxfail flag.
+
+-------------------------------------------------------------------
Old:
----
4dbb56146a1fe0bf70df801582f0abde4ef4e64c.patch
pytest-4.4.1.tar.gz
New:
----
pytest-4.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest4.spec ++++++
--- /var/tmp/diff_new_pack.SfTLgk/_old 2019-05-24 11:32:30.437386916 +0200
+++ /var/tmp/diff_new_pack.SfTLgk/_new 2019-05-24 11:32:30.437386916 +0200
@@ -26,14 +26,13 @@
%bcond_with test
%endif
Name: python-pytest4%{psuffix}
-Version: 4.4.1
+Version: 4.5.0
Release: 0
Summary: Python testing tool with autodiscovery and detailed asserts
License: MIT
Group: Development/Languages/Python
URL: https://github.com/pytest-dev/pytest
Source: https://files.pythonhosted.org/packages/source/p/pytest/pytest-%{version}.t…
-Patch0: 4dbb56146a1fe0bf70df801582f0abde4ef4e64c.patch
BuildRequires: %{python_module setuptools >= 40.0}
BuildRequires: %{python_module setuptools_scm}
BuildRequires: fdupes
@@ -41,10 +40,11 @@
Requires: python-atomicwrites >= 1.0
Requires: python-attrs >= 17.4.0
Requires: python-more-itertools >= 4.0.0
-Requires: python-pluggy >= 0.7
+Requires: python-pluggy >= 0.11
Requires: python-py >= 1.5.0
Requires: python-setuptools
Requires: python-six >= 1.10.0
+Requires: python-wcwidth
Requires(post): update-alternatives
Requires(postun): update-alternatives
Conflicts: python-pytest < 4.0
@@ -82,7 +82,6 @@
%prep
%setup -q -n pytest-%{version}
-%patch0 -p1
%build
%python_build
++++++ pytest-4.4.1.tar.gz -> pytest-4.5.0.tar.gz ++++++
++++ 7121 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-QtPy for openSUSE:Factory checked in at 2019-05-24 11:32:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-QtPy (Old)
and /work/SRC/openSUSE:Factory/.python-QtPy.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-QtPy"
Fri May 24 11:32:25 2019 rev:9 rq:704981 version:1.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-QtPy/python-QtPy.changes 2019-03-20 13:20:47.989321869 +0100
+++ /work/SRC/openSUSE:Factory/.python-QtPy.new.5148/python-QtPy.changes 2019-05-24 11:32:27.101388191 +0200
@@ -1,0 +2,8 @@
+Thu May 23 10:34:57 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 1.7.1
+ * Skip testing PyQt4 and PySide in Python 3.5
+ * Trivial maintenance tweaks
+ * Avoid deprecated "from collections import MutableMapping"
+
+-------------------------------------------------------------------
Old:
----
QtPy-1.7.0.tar.gz
New:
----
QtPy-1.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-QtPy.spec ++++++
--- /var/tmp/diff_new_pack.9XuiNc/_old 2019-05-24 11:32:27.713387956 +0200
+++ /var/tmp/diff_new_pack.9XuiNc/_new 2019-05-24 11:32:27.713387956 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-QtPy
-Version: 1.7.0
+Version: 1.7.1
Release: 0
Summary: Abstraction layer on top of Qt bindings
License: MIT
++++++ QtPy-1.7.0.tar.gz -> QtPy-1.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/CHANGELOG.md new/QtPy-1.7.1/CHANGELOG.md
--- old/QtPy-1.7.0/CHANGELOG.md 2019-03-16 11:43:01.000000000 +0100
+++ new/QtPy-1.7.1/CHANGELOG.md 2019-05-05 09:51:49.000000000 +0200
@@ -1,5 +1,20 @@
# History of changes
+## Version 1.7.1 (2019-05-05)
+
+
+### Pull Requests Merged
+
+* [PR 189](https://github.com/spyder-ide/qtpy/pull/189) - PR: Skip testing PyQt4 and PySide in Python 3.5
+* [PR 188](https://github.com/spyder-ide/qtpy/pull/188) - PR: Trivial maintenance tweaks
+* [PR 187](https://github.com/spyder-ide/qtpy/pull/187) - PR: Avoid deprecated "from collections import MutableMapping"
+
+In this release 3 pull requests were closed.
+
+
+----
+
+
## Version 1.7.0 (2019-03-16)
### New features
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/PKG-INFO new/QtPy-1.7.1/PKG-INFO
--- old/QtPy-1.7.0/PKG-INFO 2019-03-16 11:45:49.000000000 +0100
+++ new/QtPy-1.7.1/PKG-INFO 2019-05-05 09:54:16.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: QtPy
-Version: 1.7.0
+Version: 1.7.1
Summary: Provides an abstraction layer on top of the various Qt bindings (PyQt5, PyQt4 and PySide) and additional custom QWidgets.
Home-page: https://github.com/spyder-ide/qtpy
Author: Colin Duquesnoy, The Spyder Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/QtPy.egg-info/PKG-INFO new/QtPy-1.7.1/QtPy.egg-info/PKG-INFO
--- old/QtPy-1.7.0/QtPy.egg-info/PKG-INFO 2019-03-16 11:45:48.000000000 +0100
+++ new/QtPy-1.7.1/QtPy.egg-info/PKG-INFO 2019-05-05 09:54:15.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: QtPy
-Version: 1.7.0
+Version: 1.7.1
Summary: Provides an abstraction layer on top of the various Qt bindings (PyQt5, PyQt4 and PySide) and additional custom QWidgets.
Home-page: https://github.com/spyder-ide/qtpy
Author: Colin Duquesnoy, The Spyder Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/qtpy/_version.py new/QtPy-1.7.1/qtpy/_version.py
--- old/QtPy-1.7.0/qtpy/_version.py 2019-03-16 11:44:31.000000000 +0100
+++ new/QtPy-1.7.1/qtpy/_version.py 2019-05-05 09:53:12.000000000 +0200
@@ -1,2 +1,2 @@
-version_info = (1, 7, 0)
+version_info = (1, 7, 1)
__version__ = '.'.join(map(str, version_info))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/qtpy/compat.py new/QtPy-1.7.1/qtpy/compat.py
--- old/QtPy-1.7.0/qtpy/compat.py 2017-01-02 21:13:51.000000000 +0100
+++ new/QtPy-1.7.1/qtpy/compat.py 2019-05-05 09:50:01.000000000 +0200
@@ -1,196 +1,196 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright © 2009- The Spyder Development Team
-# Licensed under the terms of the MIT License
-
-"""
-Compatibility functions
-"""
-
-from __future__ import print_function
-import sys
-import collections
-
-from . import PYQT4
-from .QtWidgets import QFileDialog
-from .py3compat import is_text_string, to_text_string, TEXT_TYPES
-
-
-# =============================================================================
-# QVariant conversion utilities
-# =============================================================================
-PYQT_API_1 = False
-if PYQT4:
- import sip
- try:
- PYQT_API_1 = sip.getapi('QVariant') == 1 # PyQt API #1
- except AttributeError:
- # PyQt <v4.6
- PYQT_API_1 = True
-
- def to_qvariant(pyobj=None):
- """Convert Python object to QVariant
- This is a transitional function from PyQt API #1 (QVariant exist)
- to PyQt API #2 and Pyside (QVariant does not exist)"""
- if PYQT_API_1:
- # PyQt API #1
- from PyQt4.QtCore import QVariant
- return QVariant(pyobj)
- else:
- # PyQt API #2
- return pyobj
-
- def from_qvariant(qobj=None, convfunc=None):
- """Convert QVariant object to Python object
- This is a transitional function from PyQt API #1 (QVariant exist)
- to PyQt API #2 and Pyside (QVariant does not exist)"""
- if PYQT_API_1:
- # PyQt API #1
- assert isinstance(convfunc, collections.Callable)
- if convfunc in TEXT_TYPES or convfunc is to_text_string:
- return convfunc(qobj.toString())
- elif convfunc is bool:
- return qobj.toBool()
- elif convfunc is int:
- return qobj.toInt()[0]
- elif convfunc is float:
- return qobj.toDouble()[0]
- else:
- return convfunc(qobj)
- else:
- # PyQt API #2
- return qobj
-else:
- def to_qvariant(obj=None): # analysis:ignore
- """Convert Python object to QVariant
- This is a transitional function from PyQt API#1 (QVariant exist)
- to PyQt API#2 and Pyside (QVariant does not exist)"""
- return obj
-
- def from_qvariant(qobj=None, pytype=None): # analysis:ignore
- """Convert QVariant object to Python object
- This is a transitional function from PyQt API #1 (QVariant exist)
- to PyQt API #2 and Pyside (QVariant does not exist)"""
- return qobj
-
-
-# =============================================================================
-# Wrappers around QFileDialog static methods
-# =============================================================================
-def getexistingdirectory(parent=None, caption='', basedir='',
- options=QFileDialog.ShowDirsOnly):
- """Wrapper around QtGui.QFileDialog.getExistingDirectory static method
- Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
- # Calling QFileDialog static method
- if sys.platform == "win32":
- # On Windows platforms: redirect standard outputs
- _temp1, _temp2 = sys.stdout, sys.stderr
- sys.stdout, sys.stderr = None, None
- try:
- result = QFileDialog.getExistingDirectory(parent, caption, basedir,
- options)
- finally:
- if sys.platform == "win32":
- # On Windows platforms: restore standard outputs
- sys.stdout, sys.stderr = _temp1, _temp2
- if not is_text_string(result):
- # PyQt API #1
- result = to_text_string(result)
- return result
-
-
-def _qfiledialog_wrapper(attr, parent=None, caption='', basedir='',
- filters='', selectedfilter='', options=None):
- if options is None:
- options = QFileDialog.Options(0)
- try:
- # PyQt <v4.6 (API #1)
- from .QtCore import QString
- except ImportError:
- # PySide or PyQt >=v4.6
- QString = None # analysis:ignore
- tuple_returned = True
- try:
- # PyQt >=v4.6
- func = getattr(QFileDialog, attr+'AndFilter')
- except AttributeError:
- # PySide or PyQt <v4.6
- func = getattr(QFileDialog, attr)
- if QString is not None:
- selectedfilter = QString()
- tuple_returned = False
-
- # Calling QFileDialog static method
- if sys.platform == "win32":
- # On Windows platforms: redirect standard outputs
- _temp1, _temp2 = sys.stdout, sys.stderr
- sys.stdout, sys.stderr = None, None
- try:
- result = func(parent, caption, basedir,
- filters, selectedfilter, options)
- except TypeError:
- # The selectedfilter option (`initialFilter` in Qt) has only been
- # introduced in Jan. 2010 for PyQt v4.7, that's why we handle here
- # the TypeError exception which will be raised with PyQt v4.6
- # (see Issue 960 for more details)
- result = func(parent, caption, basedir, filters, options)
- finally:
- if sys.platform == "win32":
- # On Windows platforms: restore standard outputs
- sys.stdout, sys.stderr = _temp1, _temp2
-
- # Processing output
- if tuple_returned:
- # PySide or PyQt >=v4.6
- output, selectedfilter = result
- else:
- # PyQt <v4.6 (API #1)
- output = result
- if QString is not None:
- # PyQt API #1: conversions needed from QString/QStringList
- selectedfilter = to_text_string(selectedfilter)
- if isinstance(output, QString):
- # Single filename
- output = to_text_string(output)
- else:
- # List of filenames
- output = [to_text_string(fname) for fname in output]
-
- # Always returns the tuple (output, selectedfilter)
- return output, selectedfilter
-
-
-def getopenfilename(parent=None, caption='', basedir='', filters='',
- selectedfilter='', options=None):
- """Wrapper around QtGui.QFileDialog.getOpenFileName static method
- Returns a tuple (filename, selectedfilter) -- when dialog box is canceled,
- returns a tuple of empty strings
- Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
- return _qfiledialog_wrapper('getOpenFileName', parent=parent,
- caption=caption, basedir=basedir,
- filters=filters, selectedfilter=selectedfilter,
- options=options)
-
-
-def getopenfilenames(parent=None, caption='', basedir='', filters='',
- selectedfilter='', options=None):
- """Wrapper around QtGui.QFileDialog.getOpenFileNames static method
- Returns a tuple (filenames, selectedfilter) -- when dialog box is canceled,
- returns a tuple (empty list, empty string)
- Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
- return _qfiledialog_wrapper('getOpenFileNames', parent=parent,
- caption=caption, basedir=basedir,
- filters=filters, selectedfilter=selectedfilter,
- options=options)
-
-
-def getsavefilename(parent=None, caption='', basedir='', filters='',
- selectedfilter='', options=None):
- """Wrapper around QtGui.QFileDialog.getSaveFileName static method
- Returns a tuple (filename, selectedfilter) -- when dialog box is canceled,
- returns a tuple of empty strings
- Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
- return _qfiledialog_wrapper('getSaveFileName', parent=parent,
- caption=caption, basedir=basedir,
- filters=filters, selectedfilter=selectedfilter,
- options=options)
+# -*- coding: utf-8 -*-
+#
+# Copyright © 2009- The Spyder Development Team
+# Licensed under the terms of the MIT License
+
+"""
+Compatibility functions
+"""
+
+from __future__ import print_function
+import sys
+import collections
+
+from . import PYQT4
+from .QtWidgets import QFileDialog
+from .py3compat import is_text_string, to_text_string, TEXT_TYPES
+
+
+# =============================================================================
+# QVariant conversion utilities
+# =============================================================================
+PYQT_API_1 = False
+if PYQT4:
+ import sip
+ try:
+ PYQT_API_1 = sip.getapi('QVariant') == 1 # PyQt API #1
+ except AttributeError:
+ # PyQt <v4.6
+ PYQT_API_1 = True
+
+ def to_qvariant(pyobj=None):
+ """Convert Python object to QVariant
+ This is a transitional function from PyQt API #1 (QVariant exist)
+ to PyQt API #2 and Pyside (QVariant does not exist)"""
+ if PYQT_API_1:
+ # PyQt API #1
+ from PyQt4.QtCore import QVariant
+ return QVariant(pyobj)
+ else:
+ # PyQt API #2
+ return pyobj
+
+ def from_qvariant(qobj=None, convfunc=None):
+ """Convert QVariant object to Python object
+ This is a transitional function from PyQt API #1 (QVariant exist)
+ to PyQt API #2 and Pyside (QVariant does not exist)"""
+ if PYQT_API_1:
+ # PyQt API #1
+ assert isinstance(convfunc, collections.Callable)
+ if convfunc in TEXT_TYPES or convfunc is to_text_string:
+ return convfunc(qobj.toString())
+ elif convfunc is bool:
+ return qobj.toBool()
+ elif convfunc is int:
+ return qobj.toInt()[0]
+ elif convfunc is float:
+ return qobj.toDouble()[0]
+ else:
+ return convfunc(qobj)
+ else:
+ # PyQt API #2
+ return qobj
+else:
+ def to_qvariant(obj=None): # analysis:ignore
+ """Convert Python object to QVariant
+ This is a transitional function from PyQt API#1 (QVariant exist)
+ to PyQt API#2 and Pyside (QVariant does not exist)"""
+ return obj
+
+ def from_qvariant(qobj=None, pytype=None): # analysis:ignore
+ """Convert QVariant object to Python object
+ This is a transitional function from PyQt API #1 (QVariant exist)
+ to PyQt API #2 and Pyside (QVariant does not exist)"""
+ return qobj
+
+
+# =============================================================================
+# Wrappers around QFileDialog static methods
+# =============================================================================
+def getexistingdirectory(parent=None, caption='', basedir='',
+ options=QFileDialog.ShowDirsOnly):
+ """Wrapper around QtGui.QFileDialog.getExistingDirectory static method
+ Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
+ # Calling QFileDialog static method
+ if sys.platform == "win32":
+ # On Windows platforms: redirect standard outputs
+ _temp1, _temp2 = sys.stdout, sys.stderr
+ sys.stdout, sys.stderr = None, None
+ try:
+ result = QFileDialog.getExistingDirectory(parent, caption, basedir,
+ options)
+ finally:
+ if sys.platform == "win32":
+ # On Windows platforms: restore standard outputs
+ sys.stdout, sys.stderr = _temp1, _temp2
+ if not is_text_string(result):
+ # PyQt API #1
+ result = to_text_string(result)
+ return result
+
+
+def _qfiledialog_wrapper(attr, parent=None, caption='', basedir='',
+ filters='', selectedfilter='', options=None):
+ if options is None:
+ options = QFileDialog.Options(0)
+ try:
+ # PyQt <v4.6 (API #1)
+ from .QtCore import QString
+ except ImportError:
+ # PySide or PyQt >=v4.6
+ QString = None # analysis:ignore
+ tuple_returned = True
+ try:
+ # PyQt >=v4.6
+ func = getattr(QFileDialog, attr+'AndFilter')
+ except AttributeError:
+ # PySide or PyQt <v4.6
+ func = getattr(QFileDialog, attr)
+ if QString is not None:
+ selectedfilter = QString()
+ tuple_returned = False
+
+ # Calling QFileDialog static method
+ if sys.platform == "win32":
+ # On Windows platforms: redirect standard outputs
+ _temp1, _temp2 = sys.stdout, sys.stderr
+ sys.stdout, sys.stderr = None, None
+ try:
+ result = func(parent, caption, basedir,
+ filters, selectedfilter, options)
+ except TypeError:
+ # The selectedfilter option (`initialFilter` in Qt) has only been
+ # introduced in Jan. 2010 for PyQt v4.7, that's why we handle here
+ # the TypeError exception which will be raised with PyQt v4.6
+ # (see Issue 960 for more details)
+ result = func(parent, caption, basedir, filters, options)
+ finally:
+ if sys.platform == "win32":
+ # On Windows platforms: restore standard outputs
+ sys.stdout, sys.stderr = _temp1, _temp2
+
+ # Processing output
+ if tuple_returned:
+ # PySide or PyQt >=v4.6
+ output, selectedfilter = result
+ else:
+ # PyQt <v4.6 (API #1)
+ output = result
+ if QString is not None:
+ # PyQt API #1: conversions needed from QString/QStringList
+ selectedfilter = to_text_string(selectedfilter)
+ if isinstance(output, QString):
+ # Single filename
+ output = to_text_string(output)
+ else:
+ # List of filenames
+ output = [to_text_string(fname) for fname in output]
+
+ # Always returns the tuple (output, selectedfilter)
+ return output, selectedfilter
+
+
+def getopenfilename(parent=None, caption='', basedir='', filters='',
+ selectedfilter='', options=None):
+ """Wrapper around QtGui.QFileDialog.getOpenFileName static method
+ Returns a tuple (filename, selectedfilter) -- when dialog box is canceled,
+ returns a tuple of empty strings
+ Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
+ return _qfiledialog_wrapper('getOpenFileName', parent=parent,
+ caption=caption, basedir=basedir,
+ filters=filters, selectedfilter=selectedfilter,
+ options=options)
+
+
+def getopenfilenames(parent=None, caption='', basedir='', filters='',
+ selectedfilter='', options=None):
+ """Wrapper around QtGui.QFileDialog.getOpenFileNames static method
+ Returns a tuple (filenames, selectedfilter) -- when dialog box is canceled,
+ returns a tuple (empty list, empty string)
+ Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
+ return _qfiledialog_wrapper('getOpenFileNames', parent=parent,
+ caption=caption, basedir=basedir,
+ filters=filters, selectedfilter=selectedfilter,
+ options=options)
+
+
+def getsavefilename(parent=None, caption='', basedir='', filters='',
+ selectedfilter='', options=None):
+ """Wrapper around QtGui.QFileDialog.getSaveFileName static method
+ Returns a tuple (filename, selectedfilter) -- when dialog box is canceled,
+ returns a tuple of empty strings
+ Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
+ return _qfiledialog_wrapper('getSaveFileName', parent=parent,
+ caption=caption, basedir=basedir,
+ filters=filters, selectedfilter=selectedfilter,
+ options=options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/qtpy/py3compat.py new/QtPy-1.7.1/qtpy/py3compat.py
--- old/QtPy-1.7.0/qtpy/py3compat.py 2016-01-14 20:29:48.000000000 +0100
+++ new/QtPy-1.7.1/qtpy/py3compat.py 2019-05-05 09:50:01.000000000 +0200
@@ -1,261 +1,261 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright © 2012-2013 Pierre Raybaut
-# Licensed under the terms of the MIT License
-# (see spyderlib/__init__.py for details)
-
-"""
-spyderlib.py3compat
--------------------
-
-Transitional module providing compatibility functions intended to help
-migrating from Python 2 to Python 3.
-
-This module should be fully compatible with:
- * Python >=v2.6
- * Python 3
-"""
-
-from __future__ import print_function
-
-import sys
-import os
-
-PY2 = sys.version[0] == '2'
-PY3 = sys.version[0] == '3'
-
-
-# =============================================================================
-# Data types
-# =============================================================================
-if PY2:
- # Python 2
- TEXT_TYPES = (str, unicode)
- INT_TYPES = (int, long)
-else:
- # Python 3
- TEXT_TYPES = (str,)
- INT_TYPES = (int,)
-NUMERIC_TYPES = tuple(list(INT_TYPES) + [float, complex])
-
-
-# =============================================================================
-# Renamed/Reorganized modules
-# =============================================================================
-if PY2:
- # Python 2
- import __builtin__ as builtins
- import ConfigParser as configparser
- try:
- import _winreg as winreg
- except ImportError:
- pass
- from sys import maxint as maxsize
- try:
- import CStringIO as io
- except ImportError:
- import StringIO as io
- try:
- import cPickle as pickle
- except ImportError:
- import pickle
- from UserDict import DictMixin as MutableMapping
- import thread as _thread
- import repr as reprlib
-else:
- # Python 3
- import builtins
- import configparser
- try:
- import winreg
- except ImportError:
- pass
- from sys import maxsize
- import io
- import pickle
- from collections import MutableMapping
- import _thread
- import reprlib
-
-
-# =============================================================================
-# Strings
-# =============================================================================
-if PY2:
- # Python 2
- import codecs
-
- def u(obj):
- """Make unicode object"""
- return codecs.unicode_escape_decode(obj)[0]
-else:
- # Python 3
- def u(obj):
- """Return string as it is"""
- return obj
-
-
-def is_text_string(obj):
- """Return True if `obj` is a text string, False if it is anything else,
- like binary data (Python 3) or QString (Python 2, PyQt API #1)"""
- if PY2:
- # Python 2
- return isinstance(obj, basestring)
- else:
- # Python 3
- return isinstance(obj, str)
-
-
-def is_binary_string(obj):
- """Return True if `obj` is a binary string, False if it is anything else"""
- if PY2:
- # Python 2
- return isinstance(obj, str)
- else:
- # Python 3
- return isinstance(obj, bytes)
-
-
-def is_string(obj):
- """Return True if `obj` is a text or binary Python string object,
- False if it is anything else, like a QString (Python 2, PyQt API #1)"""
- return is_text_string(obj) or is_binary_string(obj)
-
-
-def is_unicode(obj):
- """Return True if `obj` is unicode"""
- if PY2:
- # Python 2
- return isinstance(obj, unicode)
- else:
- # Python 3
- return isinstance(obj, str)
-
-
-def to_text_string(obj, encoding=None):
- """Convert `obj` to (unicode) text string"""
- if PY2:
- # Python 2
- if encoding is None:
- return unicode(obj)
- else:
- return unicode(obj, encoding)
- else:
- # Python 3
- if encoding is None:
- return str(obj)
- elif isinstance(obj, str):
- # In case this function is not used properly, this could happen
- return obj
- else:
- return str(obj, encoding)
-
-
-def to_binary_string(obj, encoding=None):
- """Convert `obj` to binary string (bytes in Python 3, str in Python 2)"""
- if PY2:
- # Python 2
- if encoding is None:
- return str(obj)
- else:
- return obj.encode(encoding)
- else:
- # Python 3
- return bytes(obj, 'utf-8' if encoding is None else encoding)
-
-
-# =============================================================================
-# Function attributes
-# =============================================================================
-def get_func_code(func):
- """Return function code object"""
- if PY2:
- # Python 2
- return func.func_code
- else:
- # Python 3
- return func.__code__
-
-
-def get_func_name(func):
- """Return function name"""
- if PY2:
- # Python 2
- return func.func_name
- else:
- # Python 3
- return func.__name__
-
-
-def get_func_defaults(func):
- """Return function default argument values"""
- if PY2:
- # Python 2
- return func.func_defaults
- else:
- # Python 3
- return func.__defaults__
-
-
-# =============================================================================
-# Special method attributes
-# =============================================================================
-def get_meth_func(obj):
- """Return method function object"""
- if PY2:
- # Python 2
- return obj.im_func
- else:
- # Python 3
- return obj.__func__
-
-
-def get_meth_class_inst(obj):
- """Return method class instance"""
- if PY2:
- # Python 2
- return obj.im_self
- else:
- # Python 3
- return obj.__self__
-
-
-def get_meth_class(obj):
- """Return method class"""
- if PY2:
- # Python 2
- return obj.im_class
- else:
- # Python 3
- return obj.__self__.__class__
-
-
-# =============================================================================
-# Misc.
-# =============================================================================
-if PY2:
- # Python 2
- input = raw_input
- getcwd = os.getcwdu
- cmp = cmp
- import string
- str_lower = string.lower
- from itertools import izip_longest as zip_longest
-else:
- # Python 3
- input = input
- getcwd = os.getcwd
-
- def cmp(a, b):
- return (a > b) - (a < b)
- str_lower = str.lower
- from itertools import zip_longest
-
-
-def qbytearray_to_str(qba):
- """Convert QByteArray object to str in a way compatible with Python 2/3"""
- return str(bytes(qba.toHex().data()).decode())
-
-
-if __name__ == '__main__':
- pass
+# -*- coding: utf-8 -*-
+#
+# Copyright © 2012-2013 Pierre Raybaut
+# Licensed under the terms of the MIT License
+# (see spyderlib/__init__.py for details)
+
+"""
+spyderlib.py3compat
+-------------------
+
+Transitional module providing compatibility functions intended to help
+migrating from Python 2 to Python 3.
+
+This module should be fully compatible with:
+ * Python >=v2.6
+ * Python 3
+"""
+
+from __future__ import print_function
+
+import sys
+import os
+
+PY2 = sys.version_info[0] == 2
+PY3 = sys.version_info[0] == 3
+PY33 = PY3 and sys.version_info[1] >= 3
+
+
+# =============================================================================
+# Data types
+# =============================================================================
+if PY2:
+ # Python 2
+ TEXT_TYPES = (str, unicode)
+ INT_TYPES = (int, long)
+else:
+ # Python 3
+ TEXT_TYPES = (str,)
+ INT_TYPES = (int,)
+NUMERIC_TYPES = tuple(list(INT_TYPES) + [float, complex])
+
+
+# =============================================================================
+# Renamed/Reorganized modules
+# =============================================================================
+if PY2:
+ # Python 2
+ import __builtin__ as builtins
+ import ConfigParser as configparser
+ try:
+ import _winreg as winreg
+ except ImportError:
+ pass
+ from sys import maxint as maxsize
+ try:
+ import CStringIO as io
+ except ImportError:
+ import StringIO as io
+ try:
+ import cPickle as pickle
+ except ImportError:
+ import pickle
+ from UserDict import DictMixin as MutableMapping
+ import thread as _thread
+ import repr as reprlib
+else:
+ # Python 3
+ import builtins
+ import configparser
+ try:
+ import winreg
+ except ImportError:
+ pass
+ from sys import maxsize
+ import io
+ import pickle
+ if PY33:
+ from collections.abc import MutableMapping
+ else:
+ from collections import MutableMapping
+ import _thread
+ import reprlib
+
+
+# =============================================================================
+# Strings
+# =============================================================================
+if PY2:
+ # Python 2
+ import codecs
+
+ def u(obj):
+ """Make unicode object"""
+ return codecs.unicode_escape_decode(obj)[0]
+else:
+ # Python 3
+ def u(obj):
+ """Return string as it is"""
+ return obj
+
+
+def is_text_string(obj):
+ """Return True if `obj` is a text string, False if it is anything else,
+ like binary data (Python 3) or QString (Python 2, PyQt API #1)"""
+ if PY2:
+ # Python 2
+ return isinstance(obj, basestring)
+ else:
+ # Python 3
+ return isinstance(obj, str)
+
+
+def is_binary_string(obj):
+ """Return True if `obj` is a binary string, False if it is anything else"""
+ if PY2:
+ # Python 2
+ return isinstance(obj, str)
+ else:
+ # Python 3
+ return isinstance(obj, bytes)
+
+
+def is_string(obj):
+ """Return True if `obj` is a text or binary Python string object,
+ False if it is anything else, like a QString (Python 2, PyQt API #1)"""
+ return is_text_string(obj) or is_binary_string(obj)
+
+
+def is_unicode(obj):
+ """Return True if `obj` is unicode"""
+ if PY2:
+ # Python 2
+ return isinstance(obj, unicode)
+ else:
+ # Python 3
+ return isinstance(obj, str)
+
+
+def to_text_string(obj, encoding=None):
+ """Convert `obj` to (unicode) text string"""
+ if PY2:
+ # Python 2
+ if encoding is None:
+ return unicode(obj)
+ else:
+ return unicode(obj, encoding)
+ else:
+ # Python 3
+ if encoding is None:
+ return str(obj)
+ elif isinstance(obj, str):
+ # In case this function is not used properly, this could happen
+ return obj
+ else:
+ return str(obj, encoding)
+
+
+def to_binary_string(obj, encoding=None):
+ """Convert `obj` to binary string (bytes in Python 3, str in Python 2)"""
+ if PY2:
+ # Python 2
+ if encoding is None:
+ return str(obj)
+ else:
+ return obj.encode(encoding)
+ else:
+ # Python 3
+ return bytes(obj, 'utf-8' if encoding is None else encoding)
+
+
+# =============================================================================
+# Function attributes
+# =============================================================================
+def get_func_code(func):
+ """Return function code object"""
+ if PY2:
+ # Python 2
+ return func.func_code
+ else:
+ # Python 3
+ return func.__code__
+
+
+def get_func_name(func):
+ """Return function name"""
+ if PY2:
+ # Python 2
+ return func.func_name
+ else:
+ # Python 3
+ return func.__name__
+
+
+def get_func_defaults(func):
+ """Return function default argument values"""
+ if PY2:
+ # Python 2
+ return func.func_defaults
+ else:
+ # Python 3
+ return func.__defaults__
+
+
+# =============================================================================
+# Special method attributes
+# =============================================================================
+def get_meth_func(obj):
+ """Return method function object"""
+ if PY2:
+ # Python 2
+ return obj.im_func
+ else:
+ # Python 3
+ return obj.__func__
+
+
+def get_meth_class_inst(obj):
+ """Return method class instance"""
+ if PY2:
+ # Python 2
+ return obj.im_self
+ else:
+ # Python 3
+ return obj.__self__
+
+
+def get_meth_class(obj):
+ """Return method class"""
+ if PY2:
+ # Python 2
+ return obj.im_class
+ else:
+ # Python 3
+ return obj.__self__.__class__
+
+
+# =============================================================================
+# Misc.
+# =============================================================================
+if PY2:
+ # Python 2
+ input = raw_input
+ getcwd = os.getcwdu
+ cmp = cmp
+ import string
+ str_lower = string.lower
+ from itertools import izip_longest as zip_longest
+else:
+ # Python 3
+ input = input
+ getcwd = os.getcwd
+
+ def cmp(a, b):
+ return (a > b) - (a < b)
+ str_lower = str.lower
+ from itertools import zip_longest
+
+
+def qbytearray_to_str(qba):
+ """Convert QByteArray object to str in a way compatible with Python 2/3"""
+ return str(bytes(qba.toHex().data()).decode())
1
0
Hello community,
here is the log from the commit of package borgbackup for openSUSE:Factory checked in at 2019-05-24 11:32:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/borgbackup (Old)
and /work/SRC/openSUSE:Factory/.borgbackup.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "borgbackup"
Fri May 24 11:32:22 2019 rev:22 rq:704976 version:1.1.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/borgbackup/borgbackup.changes 2019-03-10 09:40:45.796098827 +0100
+++ /work/SRC/openSUSE:Factory/.borgbackup.new.5148/borgbackup.changes 2019-05-24 11:32:23.813389446 +0200
@@ -1,0 +2,80 @@
+Thu May 23 09:40:02 UTC 2019 - Hans-Peter Jansen <hpj(a)urpla.net>
+
+- Update to version 1.1.10 (2019-05-16)
+ + Compatibility notes:
+ * When upgrading from borg 1.0.x to 1.1.x, please note:
+ * read all the compatibility notes for 1.1.0*, starting from
+ 1.1.0b1.
+ * borg upgrade: you do not need to and you also should not run
+ it.
+ * borg might ask some security-related questions once after
+ upgrading. You can answer them either manually or via
+ environment variable. One known case is if you use
+ unencrypted repositories, then it will ask about a unknown
+ unencrypted repository one time.
+ * your first backup with 1.1.x might be significantly slower
+ (it might completely read, chunk, hash a lot files) - this is
+ due to the --files-cache mode change (and happens every time
+ you change mode). You can avoid the one-time slowdown by
+ using the pre-1.1.0rc4-compatible mode (but that is less safe
+ for detecting changed files than the default). See the
+ --files-cache docs for details.
+ + Fixes:
+ * extract: hang on partial extraction with ssh: repo, when
+ hardlink master is not matched/extracted and borg hangs on
+ related slave hardlink, #4350
+ * lrucache: regularly remove old FDs, #4427
+ * avoid stale filehandle issues, #3265
+ * freebsd: make xattr platform code api compatible with linux,
+ #3952
+ * use whitelist approach for borg serve, #4097
+ * borg command shall terminate with rc 2 for ImportErrors,
+ #4424
+ * create: only run stat_simple_attrs() once, this increases
+ backup with lots of unchanged files performance by ~ 5%.
+ * prune: fix incorrect borg prune --stats output with --dry-
+ run, #4373
+ * key export: emit user-friendly error if repo key is exported
+ to a directory, #4348
+ + New features:
+ * bundle latest supported msgpack-python release (0.5.6),
+ remove msgpack-python from setup.py install_requires - by
+ default we use the bundled code now. optionally, we still
+ support using an external msgpack (see hints in setup.py),
+ but this requires solid requirements management within
+ distributions and is not recommended. borgbackup will break
+ if you upgrade msgpack to an unsupported version.
+ * display msgpack version as part of sysinfo (e.g. in
+ tracebacks)
+ * timestamp for borg delete --info added, #4359
+ * enable placeholder usage in --comment and --glob-archives,
+ #4559, #4495
+ + Other:
+ * serve: do not check python/libc for borg serve, #4483
+ * shell completions: borg diff second archive
+ * release scripts: signing binaries with Qubes OS support
+ * testing:
+ * vagrant: upgrade openbsd box to 6.4
+ * travis-ci: lock test env to py 3.4 compatible versions, #4343
+ * get rid of confusing coverage warning, #2069
+ * rename test_mount_hardlinks to test_fuse_mount_hardlinks, so
+ both can be excluded by "not test_fuse".
+ * pure-py msgpack warning shall not make a lot of tests fail,
+ #4558
+ * docs:
+ * add "SSH Configuration" section to "borg serve", #3988, #636,
+ #4485
+ * README: new URL for funding options
+ * add a sample logging.conf in docs/misc, #4380
+ * elaborate on append-only mode docs, #3504
+ * installation: added Alpine Linux to distribution list, #4415
+ * usage.html: only modify window.location when redirecting,
+ #4133
+ * add msgpack license to docs/3rd_party/msgpack
+ * vagrant / binary builds:
+ * use python 3.5.7 for builds
+ * use osxfuse 3.8.3
+- remove msgpack patch fix-msgpack-requirement.patch and borg_msgpack
+ build conditional, since msgpack is bundled now (yeah!)
+
+-------------------------------------------------------------------
Old:
----
borgbackup-1.1.9.tar.gz
borgbackup-1.1.9.tar.gz.asc
fix-msgpack-requirement.patch
New:
----
borgbackup-1.1.10.tar.gz
borgbackup-1.1.10.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ borgbackup.spec ++++++
--- /var/tmp/diff_new_pack.rDmd1M/_old 2019-05-24 11:32:24.549389165 +0200
+++ /var/tmp/diff_new_pack.rDmd1M/_new 2019-05-24 11:32:24.549389165 +0200
@@ -18,8 +18,6 @@
%if 0%{?suse_version} >= 1500
-# deal with renamed python-msgpack package
-%bcond_without borg_msgpack
# use new compression libs (lz4, zstd)
%bcond_without borg_newcompr
# run tests (may fail without former conditionals)
@@ -27,14 +25,13 @@
# use sphinx guzzle theme
%bcond_without borg_guzzle
%else
-%bcond_with borg_msgpack
%bcond_with borg_newcompr
%bcond_with borg_test
%bcond_with borg_guzzle
%endif
Name: borgbackup
-Version: 1.1.9
+Version: 1.1.10
Release: 0
Summary: Deduplicating backup program with compression and authenticated encryption
License: BSD-3-Clause
@@ -43,13 +40,10 @@
Source0: https://github.com/borgbackup/borg/releases/download/%{version}/borgbackup-…
Source1: https://github.com/borgbackup/borg/releases/download/%{version}/borgbackup-…
Source2: %{name}.keyring
-# PATCH-FIX-OPENSUSE fix-msgpack-requirement.patch <alarrosa(a)suse.com>
-# deal with msgpack package rename fallout
-Patch1: fix-msgpack-requirement.patch
# PATCH-FIX-OPENSUSE borgbackup-1.1.4-sphinx-default-theme.patch <hpj(a)urpla.net>
# python3-guzzle_sphinx_theme isn't available everywhere,
# fall back to Sphinx default theme for older distributions
-Patch2: borgbackup-1.1.4-sphinx-default-theme.patch
+Patch0: borgbackup-1.1.4-sphinx-default-theme.patch
# build dependencies
BuildRequires: bash
@@ -57,6 +51,7 @@
BuildRequires: bash-completion
%endif
BuildRequires: fish
+BuildRequires: gcc-c++
BuildRequires: libacl-devel
%if %{with borg_newcompr}
BuildRequires: liblz4-devel >= 1.7.0
@@ -65,11 +60,6 @@
BuildRequires: openssl-devel >= 1.0.0
BuildRequires: python3 >= 3.4
BuildRequires: python3-Cython
-%if %{with borg_msgpack}
-Requires: python3-msgpack >= 0.4.6
-%else
-Requires: python3-msgpack-python >= 0.4.6
-%endif
BuildRequires: python3-setuptools
BuildRequires: python3-setuptools_scm
BuildRequires: python3-sphinx_rtd_theme
@@ -81,11 +71,6 @@
%if %{with borg_guzzle}
BuildRequires: python3-guzzle_sphinx_theme
%endif
-%if %{with borg_msgpack}
-BuildRequires: python3-msgpack >= 0.4.6
-%else
-BuildRequires: python3-msgpack-python >= 0.4.6
-%endif
# testing requirements
%if %{with borg_test}
@@ -165,12 +150,8 @@
%prep
%setup -q
-%if %{with borg_msgpack}
-# fix msgpack requirement
-%patch1 -p1
-%endif
%if ! %{with borg_guzzle}
-%patch2 -p1
+%patch0 -p1
%endif
# a single test is failing: test_non_ascii_acl - which is a rather esoteric check
# that cannot be tripped with openSUSE, because user- and group-ids have to be
++++++ borgbackup-1.1.9.tar.gz -> borgbackup-1.1.10.tar.gz ++++++
++++ 28397 lines of diff (skipped)
1
0