openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
February 2015
- 1 participants
- 1390 discussions
Hello community,
here is the log from the commit of package virtualbox for openSUSE:Factory checked in at 2015-02-18 20:36:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virtualbox (Old)
and /work/SRC/openSUSE:Factory/.virtualbox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtualbox"
Changes:
--------
--- /work/SRC/openSUSE:Factory/virtualbox/virtualbox.changes 2015-01-30 06:11:57.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.virtualbox.new/virtualbox.changes 2015-02-18 20:36:30.000000000 +0100
@@ -1,0 +2,36 @@
+Sun Feb 15 20:40:46 UTC 2015 - zaitor(a)opensuse.org
+
+- Update to version 4.3.22:
+ + VMM: refined measurement of TSC frequency on the host, improves timekeeping for guests
+ + VMM: decreased CPU load resulting from guest MMIO writes to the virtual APIC
+ + VMM: fixed interception of debug exceptions, observed while using the dbx debugger on Solaris guests (VT-x only)
+ + GUI: 3D overlay window positioning code improved, fixed potential misplacement of 3D accelerated guest graphics content
+ + GUI: fixed accident SSL authentication failures during update check on Windows hosts (bug #12969)
+ + GUI: never send the "ACPI power" keyboard scancode to the guest, we have the ACPI power button for that
+ + GUI: was unable to properly restore seamless mode VM from snapshot/saved-state under some circumstances
+ + VBoxHeadless: don't crash if 3D is enabled in the VM settings (bug #10250)
+ + ATA: fixed several passthrough issues (bugs #12310, #1360)
+ + Audio: fixed DirectSound failure when the the host has no audio input device (Windows hosts only; bug #9205)
+ + SB16: fixed compatibility issue (bug #13769)
+ + Storage: fixed broken CD/DVD passthrough when using the IDE controller (bug #12310)
+ + NAT: new ping proxy for Windows hosts (bug #11871)
+ + NAT: Properly report outbound connect(2) failures to guest with TCP RST or ICMP (bug #10525)
+ + NAT Network: no need for frequent wakeups in VBoxNetDHCP and VBoxNetNAT (bug #11681)
+ + Host-only adapter: prevent Windows from creating an "Unidentified network" (bug #9688)
+ + Bridged Networking: don't leak host-to-guest traffic to the wireless network when bridging to a wireless interface (bug #13714)
+ + Main: fixed a possible race when changing the medium leading to a deadlock under rare conditions (bug #13722)
+ + VBoxManage: fixed return code if starting a VM failed (bug #13773)
+ + API: fixed 2 deadlock opportunities related to medium handling (bugs #13789, #13801, thank you Alexander Urakov)
+ + API: fixed bug in XPCOM which created too few worker threads, sporadically resulting in a deadlock (bug #13802, thank you Alexander Urakov)
+ + SDK: fixed a garbage collection leak in the Python VirtualBox webservice API binding (bug #13817)
+ + Linux hosts: fixes for activated SMAP (Broadwell and later, bug #13820)
+ + X11 guests: prevent unwanted hiding of guest screens on multi-monitor guests (bug #13287)
+ + X11 guests: added support for X.Org Server 1.17
+ + X11 Additions: fixed a memory leak in VBoxService if libdbus is available but dbus-daemon isn't running (bug #13770)
+ + Windows Additions: prevent VBox WDDM driver from loading if host reports weak OpenGL capabilities. 3D content now can be shown over Remote Desktop connection.
+ + Windows Additions: some fixes for recent Windows 10 Previews
+ + Linux Additions: fixed a compatibility issue with 64-bit Linux 2.4 kernels
+ + Linux Additions: fixed a potential use-after-free when unloading the VBoxGuest module
+ + Linux Additions: Linux 3.19 fixes (bug #13741)
+
+-------------------------------------------------------------------
Old:
----
VirtualBox-4.3.20-patched.tar.bz2
New:
----
VirtualBox-4.3.22-patched.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virtualbox.spec ++++++
--- /var/tmp/diff_new_pack.Mg8jSh/_old 2015-02-18 20:36:33.000000000 +0100
+++ /var/tmp/diff_new_pack.Mg8jSh/_new 2015-02-18 20:36:33.000000000 +0100
@@ -19,7 +19,7 @@
%define _vbox_instdir %{_libexecdir}/virtualbox
%define _udevrulesdir %{_libexecdir}/udev/rules.d
Name: virtualbox
-Version: 4.3.20
+Version: 4.3.22
Release: 0
Summary: VirtualBox is an Emulator
License: GPL-2.0+
++++++ UserManual.pdf ++++++
(binary differes)
++++++ VirtualBox-4.3.20-patched.tar.bz2 -> VirtualBox-4.3.22-patched.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/virtualbox/VirtualBox-4.3.20-patched.tar.bz2 /work/SRC/openSUSE:Factory/.virtualbox.new/VirtualBox-4.3.22-patched.tar.bz2 differ: char 11, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xen for openSUSE:Factory checked in at 2015-02-18 20:36:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
and /work/SRC/openSUSE:Factory/.xen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xen"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes 2015-02-16 17:49:50.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes 2015-02-18 20:36:20.000000000 +0100
@@ -1,0 +2,11 @@
+Tue Feb 17 10:48:56 MST 2015 - carnold(a)suse.com
+
+- bnc#918169 - XEN fixes required to work with Kernel 3.19.0
+ xen.spec
+
+-------------------------------------------------------------------
+Tue Feb 10 16:06:40 UTC 2015 - ohering(a)suse.de
+
+- Package xen.changes because its referenced in xen.spec
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.WqeSFa/_old 2015-02-18 20:36:23.000000000 +0100
+++ /var/tmp/diff_new_pack.WqeSFa/_new 2015-02-18 20:36:24.000000000 +0100
@@ -149,7 +149,7 @@
%endif
%endif
-Version: 4.5.0_02
+Version: 4.5.0_03
Release: 0
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
License: GPL-2.0
@@ -160,6 +160,7 @@
Source3: qemu-xen-dir-remote.tar.bz2
Source4: seabios-dir-remote.tar.bz2
Source5: ipxe.tar.bz2
+Source9: xen.changes
Source10: README.SUSE
Source11: boot.xen
Source12: boot.local.xenU
@@ -285,7 +286,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define pyver %(python -c "import sys; print sys.version[:3]")
%if %{?with_kmp}0
-%suse_kernel_module_package -n xen um xen -f kmp_filelist
+%suse_kernel_module_package -n xen um pv xen -f kmp_filelist
%endif
%description
@@ -594,13 +595,13 @@
SMBIOS_DATE="`date -u -d '1970-01-01' +%%m/%%d/%%Y`"
RELDATE="`date -u -d '1970-01-01' '+%%d %%b %%Y'`"
SEABIOS_DATE="`date -u -d '1970-01-01' '+?-%%Y%%m%%d_%%H%%M%%S-buildhost'`"
-if test -r $RPM_SOURCE_DIR/xen.changes
+if test -r %{S:9}
then
- XEN_BUILD_DATE="` date -u -d \"$(sed -n '/@/{s/ - .*$//p;q}' $RPM_SOURCE_DIR/xen.changes)\" `"
- XEN_BUILD_TIME="` date -u -d \"$(sed -n '/@/{s/ - .*$//p;q}' $RPM_SOURCE_DIR/xen.changes)\" +%%T`"
- SMBIOS_DATE="` date -u -d \"$(sed -n '/@/{s/ - .*$//p;q}' $RPM_SOURCE_DIR/xen.changes)\" +%%m/%%d/%%Y`"
- RELDATE="` date -u -d \"$(sed -n '/@/{s/ - .*$//p;q}' $RPM_SOURCE_DIR/xen.changes)\" '+%%d %%b %%Y'`"
- SEABIOS_DATE="` date -u -d \"$(sed -n '/@/{s/ - .*$//p;q}' $RPM_SOURCE_DIR/xen.changes)\" '+?-%%Y%%m%%d_%%H%%M%%S-buildhost'`"
+ XEN_BUILD_DATE="` date -u -d \"$(sed -n '/@/{s/ - .*$//p;q}' %{S:9})\" `"
+ XEN_BUILD_TIME="` date -u -d \"$(sed -n '/@/{s/ - .*$//p;q}' %{S:9})\" +%%T`"
+ SMBIOS_DATE="` date -u -d \"$(sed -n '/@/{s/ - .*$//p;q}' %{S:9})\" +%%m/%%d/%%Y`"
+ RELDATE="` date -u -d \"$(sed -n '/@/{s/ - .*$//p;q}' %{S:9})\" '+%%d %%b %%Y'`"
+ SEABIOS_DATE="` date -u -d \"$(sed -n '/@/{s/ - .*$//p;q}' %{S:9})\" '+?-%%Y%%m%%d_%%H%%M%%S-buildhost'`"
fi
cat > .our_xenversion <<_EOV_
export WGET=$(type -P false)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2015-02-18 20:36:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
and /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes 2015-02-10 10:47:06.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes 2015-02-18 20:36:06.000000000 +0100
@@ -1,0 +2,184 @@
+Tue Feb 10 16:07:03 CET 2015 - tiwai(a)suse.de
+
+- fix a leak in bch_cached_dev_run() (bnc#910440).
+- bcache: unregister reboot notifier when bcache fails to register
+ a block device (bnc#910440).
+- bcache: fix a livelock in btree lock (bnc#910440).
+- bcache: [BUG] clear BCACHE_DEV_UNLINK_DONE flag when attaching
+ a backing device (bnc#910440).
+- bcache: Add a cond_resched() call to gc (bnc#910440).
+- fix a leak in bch_cached_dev_run() (bnc#910440).
+- bcache: unregister reboot notifier when bcache fails to register
+ a block device (bnc#910440).
+- bcache: fix a livelock in btree lock (bnc#910440).
+- bcache: [BUG] clear BCACHE_DEV_UNLINK_DONE flag when attaching
+ a backing device (bnc#910440).
+- bcache: Add a cond_resched() call to gc (bnc#910440).
+- commit 30e9ca2
+
+-------------------------------------------------------------------
+Tue Feb 10 14:31:22 CET 2015 - tiwai(a)suse.de
+
+- vm: add VM_FAULT_SIGSEGV handling support for XEN (bnc#917060).
+- commit 48f695c
+
+-------------------------------------------------------------------
+Tue Feb 10 12:25:53 CET 2015 - jbeulich(a)suse.com
+
+- Update Xen patches to 3.19-final.
+- commit 7ba6009
+
+-------------------------------------------------------------------
+Mon Feb 9 15:03:00 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-final.
+- commit b47fe8e
+
+-------------------------------------------------------------------
+Fri Feb 6 22:35:46 CET 2015 - jslaby(a)suse.cz
+
+- Linux 3.18.6.
+- Delete patches.fixes/vm-add-VM_FAULT_SIGSEGV-handling-support.
+- Delete
+ patches.fixes/vm-make-stack-guard-page-errors-return-VM_FAULT_SIGS.
+- commit ec2a744
+
+-------------------------------------------------------------------
+Thu Feb 5 10:41:10 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Fix build if there is no *.crt file
+- commit c5b1275
+
+-------------------------------------------------------------------
+Wed Feb 4 14:38:50 CET 2015 - jbeulich(a)suse.com
+
+- Update Xen patches to 3.19-rc7 and c/s 1279.
+- Update Xen config files.
+- commit f6f5ce5
+
+-------------------------------------------------------------------
+Tue Feb 3 20:04:37 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-rc7.
+- commit 7505c11
+
+-------------------------------------------------------------------
+Fri Jan 30 14:28:50 CET 2015 - mmarek(a)suse.cz
+
+- rpm/constraints.in: Lower the requirement to 4 CPUs on POWER
+- commit 9e50821
+
+-------------------------------------------------------------------
+Fri Jan 30 08:59:03 CET 2015 - tiwai(a)suse.de
+
+- vm: make stack guard page errors return VM_FAULT_SIGSEGV rather
+ than SIGBUS.
+- vm: add VM_FAULT_SIGSEGV handling support.
+- commit fe77e87
+
+-------------------------------------------------------------------
+Fri Jan 30 08:44:42 CET 2015 - jslaby(a)suse.cz
+
+- Linux 3.18.5.
+- Refresh patches.xen/xen3-auto-xen-kconfig.diff.
+- Refresh patches.xen/xen3-patch-3.15.
+- Update config files.
+- commit f378da4
+
+-------------------------------------------------------------------
+Wed Jan 28 21:45:10 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-rc6.
+- Config changes:
+ - SENSORS_I5500=m (i386/x86_64)
+- commit 5dca9d9
+
+-------------------------------------------------------------------
+Tue Jan 27 18:19:54 CET 2015 - jslaby(a)suse.cz
+
+- Linux 3.18.4 (bnc#897736 bnc#905329 bnc#911356 bnc#911835).
+- Delete
+ patches.drivers/drm-i915-Don-t-call-intel_prepare_page_flip-multiple.
+- Delete patches.drivers/drm-radeon-fix-sad_count-check-for-dce3.
+- Delete patches.drivers/hp_accel-Add-support-for-HP-ZBook-15.
+- Delete
+ patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete.
+- Update config files.
+- commit abfc700
+
+-------------------------------------------------------------------
+Tue Jan 27 12:41:34 CET 2015 - jbeulich(a)suse.com
+
+- rpm/package-descriptions: Describe kernel-pv (and correct kernel-ec2's).
+- commit f7db992
+
+-------------------------------------------------------------------
+Mon Jan 26 12:56:03 CET 2015 - mmarek(a)suse.cz
+
+- DocBook: Do not exceed argument list limit.
+- commit 6eae009
+
+-------------------------------------------------------------------
+Mon Jan 26 10:52:05 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-docs.spec.in: Do not ignore errors from make
+- commit 86ebfa7
+
+-------------------------------------------------------------------
+Sat Jan 24 21:21:36 CET 2015 - jdelvare(a)suse.de
+
+- Update x86_64 config files: CONFIG_SENSORS_NCT6683=m
+ The nct6683 driver is already enabled on i386 and history suggests
+ that it not being enabled on x86_64 is by mistake.
+- commit e31f652
+
+-------------------------------------------------------------------
+Fri Jan 23 21:25:11 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Drop sparse from BuildRequires
+- commit 9777c26
+
+-------------------------------------------------------------------
+Fri Jan 23 17:16:53 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Update the comment about NO_BRP_STALE_LINK_ERROR
+ There is no stale symlink in the installed system anymore, but there is
+ one during build.
+- commit e575cce
+
+-------------------------------------------------------------------
+Fri Jan 23 16:52:42 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Own the modules directory in the devel
+ package (bnc#910322)
+- commit d89b963
+
+-------------------------------------------------------------------
+Thu Jan 22 12:25:05 CET 2015 - jbeulich(a)suse.com
+
+- Add x86 PV config files.
+- commit 297f762
+
+-------------------------------------------------------------------
+Thu Jan 22 11:50:11 CET 2015 - jbeulich(a)suse.com
+
+- Update Xen patches to 3.19-rc5 and c/s 1276.
+- config.conf: Re-enable Xen configs.
+- Update config files.
+- commit 9368e4c
+
+-------------------------------------------------------------------
+Wed Jan 21 18:55:55 CET 2015 - mmarek(a)suse.cz
+
+- Fix Module.supported handling for external modules (bnc#905304).
+- commit 26d68ed
+
+-------------------------------------------------------------------
+Wed Jan 21 04:01:57 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-rc5.
+- Config changes:
+ - I40E_FCOE=y
+- commit 1548087
+
+-------------------------------------------------------------------
@@ -17,0 +202,14 @@
+Fri Jan 16 19:36:16 CET 2015 - matwey.kornilov(a)gmail.com
+
+- config: armv7hl: Update config files for 3.19-rc6
+ [AF: Updated for -rc6, enabled some more default options,
+ enabled/disabled lpae options, regenerated vanilla from default]
+- commit a7bdd86
+
+-------------------------------------------------------------------
+Wed Jan 14 20:19:31 CET 2015 - agraf(a)suse.de
+
+- Refresh patches.arch/arm64-0012-generic-pci.patch (fix PCI bridge support)
+- commit b9cbcf4
++++ 222 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes
kernel-default.changes: same change
kernel-desktop.changes: same change
kernel-docs.changes: same change
kernel-ec2.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa-xen.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
New Changes file:
--- /dev/null 2014-12-25 22:38:16.200041506 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-pv.changes 2015-02-18 20:36:07.000000000 +0100
@@ -0,0 +1,36559 @@
+-------------------------------------------------------------------
+Tue Feb 10 16:07:03 CET 2015 - tiwai(a)suse.de
+
+- fix a leak in bch_cached_dev_run() (bnc#910440).
+- bcache: unregister reboot notifier when bcache fails to register
+ a block device (bnc#910440).
+- bcache: fix a livelock in btree lock (bnc#910440).
+- bcache: [BUG] clear BCACHE_DEV_UNLINK_DONE flag when attaching
+ a backing device (bnc#910440).
+- bcache: Add a cond_resched() call to gc (bnc#910440).
+- fix a leak in bch_cached_dev_run() (bnc#910440).
+- bcache: unregister reboot notifier when bcache fails to register
+ a block device (bnc#910440).
+- bcache: fix a livelock in btree lock (bnc#910440).
+- bcache: [BUG] clear BCACHE_DEV_UNLINK_DONE flag when attaching
+ a backing device (bnc#910440).
+- bcache: Add a cond_resched() call to gc (bnc#910440).
+- commit 30e9ca2
+
+-------------------------------------------------------------------
+Tue Feb 10 14:31:22 CET 2015 - tiwai(a)suse.de
+
+- vm: add VM_FAULT_SIGSEGV handling support for XEN (bnc#917060).
+- commit 48f695c
+
+-------------------------------------------------------------------
+Tue Feb 10 12:25:53 CET 2015 - jbeulich(a)suse.com
+
+- Update Xen patches to 3.19-final.
+- commit 7ba6009
+
+-------------------------------------------------------------------
+Mon Feb 9 15:03:00 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-final.
+- commit b47fe8e
+
+-------------------------------------------------------------------
+Fri Feb 6 22:35:46 CET 2015 - jslaby(a)suse.cz
+
+- Linux 3.18.6.
+- Delete patches.fixes/vm-add-VM_FAULT_SIGSEGV-handling-support.
+- Delete
+ patches.fixes/vm-make-stack-guard-page-errors-return-VM_FAULT_SIGS.
+- commit ec2a744
+
+-------------------------------------------------------------------
+Thu Feb 5 10:41:10 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Fix build if there is no *.crt file
+- commit c5b1275
+
+-------------------------------------------------------------------
+Wed Feb 4 14:38:50 CET 2015 - jbeulich(a)suse.com
+
+- Update Xen patches to 3.19-rc7 and c/s 1279.
+- Update Xen config files.
+- commit f6f5ce5
+
+-------------------------------------------------------------------
+Tue Feb 3 20:04:37 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-rc7.
+- commit 7505c11
+
+-------------------------------------------------------------------
+Fri Jan 30 14:28:50 CET 2015 - mmarek(a)suse.cz
+
+- rpm/constraints.in: Lower the requirement to 4 CPUs on POWER
+- commit 9e50821
+
+-------------------------------------------------------------------
+Fri Jan 30 08:59:03 CET 2015 - tiwai(a)suse.de
+
+- vm: make stack guard page errors return VM_FAULT_SIGSEGV rather
+ than SIGBUS.
+- vm: add VM_FAULT_SIGSEGV handling support.
+- commit fe77e87
+
+-------------------------------------------------------------------
+Fri Jan 30 08:44:42 CET 2015 - jslaby(a)suse.cz
+
+- Linux 3.18.5.
+- Refresh patches.xen/xen3-auto-xen-kconfig.diff.
+- Refresh patches.xen/xen3-patch-3.15.
+- Update config files.
+- commit f378da4
+
+-------------------------------------------------------------------
+Wed Jan 28 21:45:10 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-rc6.
+- Config changes:
+ - SENSORS_I5500=m (i386/x86_64)
+- commit 5dca9d9
+
+-------------------------------------------------------------------
+Tue Jan 27 18:19:54 CET 2015 - jslaby(a)suse.cz
+
+- Linux 3.18.4 (bnc#897736 bnc#905329 bnc#911356 bnc#911835).
+- Delete
+ patches.drivers/drm-i915-Don-t-call-intel_prepare_page_flip-multiple.
+- Delete patches.drivers/drm-radeon-fix-sad_count-check-for-dce3.
+- Delete patches.drivers/hp_accel-Add-support-for-HP-ZBook-15.
+- Delete
+ patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete.
+- Update config files.
+- commit abfc700
+
+-------------------------------------------------------------------
+Tue Jan 27 12:41:34 CET 2015 - jbeulich(a)suse.com
+
+- rpm/package-descriptions: Describe kernel-pv (and correct kernel-ec2's).
+- commit f7db992
+
+-------------------------------------------------------------------
+Mon Jan 26 12:56:03 CET 2015 - mmarek(a)suse.cz
+
+- DocBook: Do not exceed argument list limit.
+- commit 6eae009
+
+-------------------------------------------------------------------
+Mon Jan 26 10:52:05 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-docs.spec.in: Do not ignore errors from make
+- commit 86ebfa7
+
+-------------------------------------------------------------------
+Sat Jan 24 21:21:36 CET 2015 - jdelvare(a)suse.de
+
+- Update x86_64 config files: CONFIG_SENSORS_NCT6683=m
+ The nct6683 driver is already enabled on i386 and history suggests
+ that it not being enabled on x86_64 is by mistake.
+- commit e31f652
+
+-------------------------------------------------------------------
+Fri Jan 23 21:25:11 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Drop sparse from BuildRequires
+- commit 9777c26
+
+-------------------------------------------------------------------
+Fri Jan 23 17:16:53 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Update the comment about NO_BRP_STALE_LINK_ERROR
+ There is no stale symlink in the installed system anymore, but there is
+ one during build.
+- commit e575cce
+
+-------------------------------------------------------------------
+Fri Jan 23 16:52:42 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Own the modules directory in the devel
+ package (bnc#910322)
+- commit d89b963
+
+-------------------------------------------------------------------
+Thu Jan 22 12:25:05 CET 2015 - jbeulich(a)suse.com
+
+- Add x86 PV config files.
+- commit 297f762
+
+-------------------------------------------------------------------
+Thu Jan 22 11:50:11 CET 2015 - jbeulich(a)suse.com
+
+- Update Xen patches to 3.19-rc5 and c/s 1276.
+- config.conf: Re-enable Xen configs.
+- Update config files.
+- commit 9368e4c
+
+-------------------------------------------------------------------
+Wed Jan 21 18:55:55 CET 2015 - mmarek(a)suse.cz
+
+- Fix Module.supported handling for external modules (bnc#905304).
+- commit 26d68ed
+
+-------------------------------------------------------------------
+Wed Jan 21 04:01:57 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-rc5.
+- Config changes:
+ - I40E_FCOE=y
+- commit 1548087
+
+-------------------------------------------------------------------
+Mon Jan 19 13:38:51 CET 2015 - jslaby(a)suse.cz
+
+- Update patches.kernel.org/patch-3.18.1-2 (CVE-2014-8133
+ bnc#906545 bnc#908163 bsc#909077).
+ Add one more reference.
+- commit c3e148f
+
+-------------------------------------------------------------------
+Sat Jan 17 00:24:44 CET 2015 - jslaby(a)suse.cz
+
+- Linux 3.18.3 (bnc#908794).
+- Delete
++++ 36362 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-pv.changes
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-source.changes 2015-02-10 10:47:06.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-source.changes 2015-02-18 20:36:07.000000000 +0100
@@ -1,0 +2,184 @@
+Tue Feb 10 16:07:03 CET 2015 - tiwai(a)suse.de
+
+- fix a leak in bch_cached_dev_run() (bnc#910440).
+- bcache: unregister reboot notifier when bcache fails to register
+ a block device (bnc#910440).
+- bcache: fix a livelock in btree lock (bnc#910440).
+- bcache: [BUG] clear BCACHE_DEV_UNLINK_DONE flag when attaching
+ a backing device (bnc#910440).
+- bcache: Add a cond_resched() call to gc (bnc#910440).
+- fix a leak in bch_cached_dev_run() (bnc#910440).
+- bcache: unregister reboot notifier when bcache fails to register
+ a block device (bnc#910440).
+- bcache: fix a livelock in btree lock (bnc#910440).
+- bcache: [BUG] clear BCACHE_DEV_UNLINK_DONE flag when attaching
+ a backing device (bnc#910440).
+- bcache: Add a cond_resched() call to gc (bnc#910440).
+- commit 30e9ca2
+
+-------------------------------------------------------------------
+Tue Feb 10 14:31:22 CET 2015 - tiwai(a)suse.de
+
+- vm: add VM_FAULT_SIGSEGV handling support for XEN (bnc#917060).
+- commit 48f695c
+
+-------------------------------------------------------------------
+Tue Feb 10 12:25:53 CET 2015 - jbeulich(a)suse.com
+
+- Update Xen patches to 3.19-final.
+- commit 7ba6009
+
+-------------------------------------------------------------------
+Mon Feb 9 15:03:00 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-final.
+- commit b47fe8e
+
+-------------------------------------------------------------------
+Fri Feb 6 22:35:46 CET 2015 - jslaby(a)suse.cz
+
+- Linux 3.18.6.
+- Delete patches.fixes/vm-add-VM_FAULT_SIGSEGV-handling-support.
+- Delete
+ patches.fixes/vm-make-stack-guard-page-errors-return-VM_FAULT_SIGS.
+- commit ec2a744
+
+-------------------------------------------------------------------
+Thu Feb 5 10:41:10 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Fix build if there is no *.crt file
+- commit c5b1275
+
+-------------------------------------------------------------------
+Wed Feb 4 14:38:50 CET 2015 - jbeulich(a)suse.com
+
+- Update Xen patches to 3.19-rc7 and c/s 1279.
+- Update Xen config files.
+- commit f6f5ce5
+
+-------------------------------------------------------------------
+Tue Feb 3 20:04:37 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-rc7.
+- commit 7505c11
+
+-------------------------------------------------------------------
+Fri Jan 30 14:28:50 CET 2015 - mmarek(a)suse.cz
+
+- rpm/constraints.in: Lower the requirement to 4 CPUs on POWER
+- commit 9e50821
+
+-------------------------------------------------------------------
+Fri Jan 30 08:59:03 CET 2015 - tiwai(a)suse.de
+
+- vm: make stack guard page errors return VM_FAULT_SIGSEGV rather
+ than SIGBUS.
+- vm: add VM_FAULT_SIGSEGV handling support.
+- commit fe77e87
+
+-------------------------------------------------------------------
+Fri Jan 30 08:44:42 CET 2015 - jslaby(a)suse.cz
+
+- Linux 3.18.5.
+- Refresh patches.xen/xen3-auto-xen-kconfig.diff.
+- Refresh patches.xen/xen3-patch-3.15.
+- Update config files.
+- commit f378da4
+
+-------------------------------------------------------------------
+Wed Jan 28 21:45:10 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-rc6.
+- Config changes:
+ - SENSORS_I5500=m (i386/x86_64)
+- commit 5dca9d9
+
+-------------------------------------------------------------------
+Tue Jan 27 18:19:54 CET 2015 - jslaby(a)suse.cz
+
+- Linux 3.18.4 (bnc#897736 bnc#905329 bnc#911356 bnc#911835).
+- Delete
+ patches.drivers/drm-i915-Don-t-call-intel_prepare_page_flip-multiple.
+- Delete patches.drivers/drm-radeon-fix-sad_count-check-for-dce3.
+- Delete patches.drivers/hp_accel-Add-support-for-HP-ZBook-15.
+- Delete
+ patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete.
+- Update config files.
+- commit abfc700
+
+-------------------------------------------------------------------
+Tue Jan 27 12:41:34 CET 2015 - jbeulich(a)suse.com
+
+- rpm/package-descriptions: Describe kernel-pv (and correct kernel-ec2's).
+- commit f7db992
+
+-------------------------------------------------------------------
+Mon Jan 26 12:56:03 CET 2015 - mmarek(a)suse.cz
+
+- DocBook: Do not exceed argument list limit.
+- commit 6eae009
+
+-------------------------------------------------------------------
+Mon Jan 26 10:52:05 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-docs.spec.in: Do not ignore errors from make
+- commit 86ebfa7
+
+-------------------------------------------------------------------
+Sat Jan 24 21:21:36 CET 2015 - jdelvare(a)suse.de
+
+- Update x86_64 config files: CONFIG_SENSORS_NCT6683=m
+ The nct6683 driver is already enabled on i386 and history suggests
+ that it not being enabled on x86_64 is by mistake.
+- commit e31f652
+
+-------------------------------------------------------------------
+Fri Jan 23 21:25:11 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Drop sparse from BuildRequires
+- commit 9777c26
+
+-------------------------------------------------------------------
+Fri Jan 23 17:16:53 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Update the comment about NO_BRP_STALE_LINK_ERROR
+ There is no stale symlink in the installed system anymore, but there is
+ one during build.
+- commit e575cce
+
+-------------------------------------------------------------------
+Fri Jan 23 16:52:42 CET 2015 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Own the modules directory in the devel
+ package (bnc#910322)
+- commit d89b963
+
+-------------------------------------------------------------------
+Thu Jan 22 12:25:05 CET 2015 - jbeulich(a)suse.com
+
+- Add x86 PV config files.
+- commit 297f762
+
+-------------------------------------------------------------------
+Thu Jan 22 11:50:11 CET 2015 - jbeulich(a)suse.com
+
+- Update Xen patches to 3.19-rc5 and c/s 1276.
+- config.conf: Re-enable Xen configs.
+- Update config files.
+- commit 9368e4c
+
+-------------------------------------------------------------------
+Wed Jan 21 18:55:55 CET 2015 - mmarek(a)suse.cz
+
+- Fix Module.supported handling for external modules (bnc#905304).
+- commit 26d68ed
+
+-------------------------------------------------------------------
+Wed Jan 21 04:01:57 CET 2015 - jeffm(a)suse.com
+
+- Update to 3.19-rc5.
+- Config changes:
+ - I40E_FCOE=y
+- commit 1548087
+
+-------------------------------------------------------------------
@@ -17,0 +202,14 @@
+Fri Jan 16 19:36:16 CET 2015 - matwey.kornilov(a)gmail.com
+
+- config: armv7hl: Update config files for 3.19-rc6
+ [AF: Updated for -rc6, enabled some more default options,
+ enabled/disabled lpae options, regenerated vanilla from default]
+- commit a7bdd86
+
+-------------------------------------------------------------------
+Wed Jan 14 20:19:31 CET 2015 - agraf(a)suse.de
+
+- Refresh patches.arch/arm64-0012-generic-pci.patch (fix PCI bridge support)
+- commit b9cbcf4
++++ 222 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/kernel-source.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-source.changes
kernel-syms.changes: same change
kernel-vanilla.changes: same change
kernel-xen.changes: same change
Old:
----
linux-3.18.tar.xz
New:
----
README.PATCH-POLICY.SUSE
kernel-pv.changes
kernel-pv.spec
linux-3.19.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.18
-%define patchversion 3.18.3
+%define srcversion 3.19
+%define patchversion 3.19.0
%define variant %{nil}
%define vanilla_only 0
@@ -44,7 +44,7 @@
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
-%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
+%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
@@ -59,9 +59,9 @@
Summary: A Debug Version of the Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -73,9 +73,8 @@
BuildRequires: hmaccalc
%endif
BuildRequires: modutils
-BuildRequires: sparse
# Used to sign the kernel in the buildservice
-BuildRequires: pesign-obs-integration
+BuildRequires: pesign-obs-integration openssl
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@@ -166,6 +165,7 @@
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
+Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source39: config-options.changes.txt
@@ -244,6 +244,7 @@
NoSource: 23
NoSource: 33
NoSource: 35
+NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 39
@@ -471,6 +472,32 @@
%_sourcedir/modversions --unpack . < $_
fi
+# copy optional module signing files:
+# *.x509, *.crt
+# - certificates with pubkeys used to verify module and firmware signatures
+# at runtime. *.crt files assumed to be in the PEM format.
+# signing_key.priv
+# - unencrypted private key used to sign modules and firmware during build
+# x509.genkey
+# - openssl req config to generate a new signing_key.{x509,priv} pair for the
+# build
+for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
+ if test -e "$f"; then
+ cp "$f" .
+ fi
+done
+for f in %_sourcedir/*.crt; do
+ if ! test -e "$f"; then
+ continue
+ fi
+ out=${f##*/}
+ out=${out%.crt}.x509
+ openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
+done
+# Convince kernel/Makefile not to generate a new keypair
+touch x509.genkey
+touch signing_key.x509
+
# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@@ -505,15 +532,15 @@
%install
+# sign the modules, firmware and possibly the kernel in the buildservice
+export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
-# sign the kernel in the buildservice
-%ifarch x86_64
-# XXX: only do it on x86_64, as the repackaging changes kernel-pae
-# from i686 to i586
-export BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
-%else
-export BRP_PESIGN_FILES=""
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
+%ifarch %ix86
+# XXX: do not sign on x86, as the repackaging changes kernel-pae
+# from i686 to i586
+BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
@@ -521,9 +548,10 @@
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
-# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
-# kernel-devel package is installed. Don't check for stale symlinks
-# in the brp-symlink check:
+# /lib/modules/%kernelrelease-%build_flavor/source points to the source
+# directory installed by kernel-devel. The kernel-%build_flavor-devel package
+# has a correct dependency on kernel-devel, but the brp check does not see
+# kernel-devel during build.
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
@@ -834,8 +862,8 @@
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
- echo "$f" >> %my_builddir/kernel-devel.files
-done
+ echo "$f"
+done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{ cd %buildroot
for f in boot/*; do
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.18
-%define patchversion 3.18.3
+%define srcversion 3.19
+%define patchversion 3.19.0
%define variant %{nil}
%define vanilla_only 0
@@ -44,7 +44,7 @@
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
-%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
+%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
@@ -59,9 +59,9 @@
Summary: The Standard Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -73,9 +73,8 @@
BuildRequires: hmaccalc
%endif
BuildRequires: modutils
-BuildRequires: sparse
# Used to sign the kernel in the buildservice
-BuildRequires: pesign-obs-integration
+BuildRequires: pesign-obs-integration openssl
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@@ -171,6 +170,8 @@
Obsoletes: kernel-trace <= 3.13
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base <= 3.13
+Provides: kernel-bigsmp = 3.1
+Obsoletes: kernel-bigsmp <= 3.1
%endif
Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.xz
Source2: source-post.sh
@@ -188,6 +189,7 @@
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
+Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source39: config-options.changes.txt
@@ -236,7 +238,7 @@
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: aarch64 armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
@@ -266,6 +268,7 @@
NoSource: 23
NoSource: 33
NoSource: 35
+NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 39
@@ -492,6 +495,32 @@
%_sourcedir/modversions --unpack . < $_
fi
+# copy optional module signing files:
+# *.x509, *.crt
+# - certificates with pubkeys used to verify module and firmware signatures
+# at runtime. *.crt files assumed to be in the PEM format.
+# signing_key.priv
+# - unencrypted private key used to sign modules and firmware during build
+# x509.genkey
+# - openssl req config to generate a new signing_key.{x509,priv} pair for the
+# build
+for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
+ if test -e "$f"; then
+ cp "$f" .
+ fi
+done
+for f in %_sourcedir/*.crt; do
+ if ! test -e "$f"; then
+ continue
+ fi
+ out=${f##*/}
+ out=${out%.crt}.x509
+ openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
+done
+# Convince kernel/Makefile not to generate a new keypair
+touch x509.genkey
+touch signing_key.x509
+
# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@@ -526,15 +555,15 @@
%install
+# sign the modules, firmware and possibly the kernel in the buildservice
+export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
-# sign the kernel in the buildservice
-%ifarch x86_64
-# XXX: only do it on x86_64, as the repackaging changes kernel-pae
-# from i686 to i586
-export BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
-%else
-export BRP_PESIGN_FILES=""
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
+%ifarch %ix86
+# XXX: do not sign on x86, as the repackaging changes kernel-pae
+# from i686 to i586
+BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
@@ -542,9 +571,10 @@
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
-# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
-# kernel-devel package is installed. Don't check for stale symlinks
-# in the brp-symlink check:
+# /lib/modules/%kernelrelease-%build_flavor/source points to the source
+# directory installed by kernel-devel. The kernel-%build_flavor-devel package
+# has a correct dependency on kernel-devel, but the brp check does not see
+# kernel-devel during build.
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
@@ -855,8 +885,8 @@
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
- echo "$f" >> %my_builddir/kernel-devel.files
-done
+ echo "$f"
+done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{ cd %buildroot
for f in boot/*; do
++++++ kernel-desktop.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.18
-%define patchversion 3.18.3
+%define srcversion 3.19
+%define patchversion 3.19.0
%define variant %{nil}
%define vanilla_only 0
@@ -44,7 +44,7 @@
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
-%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
+%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
@@ -59,9 +59,9 @@
Summary: Kernel optimized for the desktop
License: GPL-2.0
Group: System/Kernel
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -73,9 +73,8 @@
BuildRequires: hmaccalc
%endif
BuildRequires: modutils
-BuildRequires: sparse
# Used to sign the kernel in the buildservice
-BuildRequires: pesign-obs-integration
+BuildRequires: pesign-obs-integration openssl
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@@ -163,6 +162,7 @@
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
+Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source39: config-options.changes.txt
@@ -241,6 +241,7 @@
NoSource: 23
NoSource: 33
NoSource: 35
+NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 39
@@ -480,6 +481,32 @@
%_sourcedir/modversions --unpack . < $_
fi
+# copy optional module signing files:
+# *.x509, *.crt
+# - certificates with pubkeys used to verify module and firmware signatures
+# at runtime. *.crt files assumed to be in the PEM format.
+# signing_key.priv
+# - unencrypted private key used to sign modules and firmware during build
+# x509.genkey
+# - openssl req config to generate a new signing_key.{x509,priv} pair for the
+# build
+for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
+ if test -e "$f"; then
+ cp "$f" .
+ fi
+done
+for f in %_sourcedir/*.crt; do
+ if ! test -e "$f"; then
+ continue
+ fi
+ out=${f##*/}
+ out=${out%.crt}.x509
+ openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
+done
+# Convince kernel/Makefile not to generate a new keypair
+touch x509.genkey
+touch signing_key.x509
+
# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@@ -514,15 +541,15 @@
%install
+# sign the modules, firmware and possibly the kernel in the buildservice
+export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
-# sign the kernel in the buildservice
-%ifarch x86_64
-# XXX: only do it on x86_64, as the repackaging changes kernel-pae
-# from i686 to i586
-export BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
-%else
-export BRP_PESIGN_FILES=""
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
+%ifarch %ix86
+# XXX: do not sign on x86, as the repackaging changes kernel-pae
+# from i686 to i586
+BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
@@ -530,9 +557,10 @@
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
-# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
-# kernel-devel package is installed. Don't check for stale symlinks
-# in the brp-symlink check:
+# /lib/modules/%kernelrelease-%build_flavor/source points to the source
+# directory installed by kernel-devel. The kernel-%build_flavor-devel package
+# has a correct dependency on kernel-devel, but the brp check does not see
+# kernel-devel during build.
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
@@ -843,8 +871,8 @@
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
- echo "$f" >> %my_builddir/kernel-devel.files
-done
+ echo "$f"
+done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{ cd %buildroot
for f in boot/*; do
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -16,7 +16,7 @@
#
-%define patchversion 3.18.3
+%define patchversion 3.19.0
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -27,9 +27,9 @@
Summary: Kernel Documentation (man pages)
License: GPL-2.0
Group: Documentation/Man
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -97,15 +97,15 @@
%endif
export LANG=en_US
mkdir -p man
-make -C /usr/src/linux%variant O=$PWD/man -k -i mandocs %{?jobs:-j%jobs}
+make -C /usr/src/linux%variant O=$PWD/man mandocs %{?jobs:-j%jobs}
mkdir -p html
-make -C /usr/src/linux%variant O=$PWD/html -k -i htmldocs %{?jobs:-j%jobs}
+make -C /usr/src/linux%variant O=$PWD/html htmldocs %{?jobs:-j%jobs}
mkdir -p pdf
make \
%if %use_fop
XMLTOFLAGS="-m /usr/src/linux%{variant}/Documentation/DocBook/stylesheet.xsl --skip-validation --with-fop" \
%endif
- -C /usr/src/linux%variant O=$PWD/pdf -k -i pdfdocs %{?jobs:-j%jobs}
+ -C /usr/src/linux%variant O=$PWD/pdf pdfdocs %{?jobs:-j%jobs}
%install
install -d $RPM_BUILD_ROOT/%{_mandir}/man9
++++++ kernel-ec2.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.18
-%define patchversion 3.18.3
+%define srcversion 3.19
+%define patchversion 3.19.0
%define variant %{nil}
%define vanilla_only 0
@@ -44,7 +44,7 @@
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
-%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
+%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
@@ -59,9 +59,9 @@
Summary: The Amazon EC2 Xen Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -73,9 +73,8 @@
BuildRequires: hmaccalc
%endif
BuildRequires: modutils
-BuildRequires: sparse
# Used to sign the kernel in the buildservice
-BuildRequires: pesign-obs-integration
+BuildRequires: pesign-obs-integration openssl
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@@ -163,6 +162,7 @@
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
+Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source39: config-options.changes.txt
@@ -241,6 +241,7 @@
NoSource: 23
NoSource: 33
NoSource: 35
+NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 39
@@ -346,8 +347,8 @@
%description
The Linux kernel for Xen paravirtualization.
-This kernel can only be used both as an unprivileged ("xenU")
-kernel (for Amazon EC2).
+This kernel can only be used as an unprivileged ("xenU") kernel
+(mainly, but not exclusively, for Amazon EC2).
%source_timestamp
@@ -470,6 +471,32 @@
%_sourcedir/modversions --unpack . < $_
fi
+# copy optional module signing files:
+# *.x509, *.crt
+# - certificates with pubkeys used to verify module and firmware signatures
+# at runtime. *.crt files assumed to be in the PEM format.
+# signing_key.priv
+# - unencrypted private key used to sign modules and firmware during build
+# x509.genkey
+# - openssl req config to generate a new signing_key.{x509,priv} pair for the
+# build
+for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
+ if test -e "$f"; then
+ cp "$f" .
+ fi
+done
+for f in %_sourcedir/*.crt; do
+ if ! test -e "$f"; then
+ continue
+ fi
+ out=${f##*/}
+ out=${out%.crt}.x509
+ openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
+done
+# Convince kernel/Makefile not to generate a new keypair
+touch x509.genkey
+touch signing_key.x509
+
# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@@ -504,15 +531,15 @@
%install
+# sign the modules, firmware and possibly the kernel in the buildservice
+export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
-# sign the kernel in the buildservice
-%ifarch x86_64
-# XXX: only do it on x86_64, as the repackaging changes kernel-pae
-# from i686 to i586
-export BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
-%else
-export BRP_PESIGN_FILES=""
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
+%ifarch %ix86
+# XXX: do not sign on x86, as the repackaging changes kernel-pae
+# from i686 to i586
+BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
@@ -520,9 +547,10 @@
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
-# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
-# kernel-devel package is installed. Don't check for stale symlinks
-# in the brp-symlink check:
+# /lib/modules/%kernelrelease-%build_flavor/source points to the source
+# directory installed by kernel-devel. The kernel-%build_flavor-devel package
+# has a correct dependency on kernel-devel, but the brp check does not see
+# kernel-devel during build.
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
@@ -833,8 +861,8 @@
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
- echo "$f" >> %my_builddir/kernel-devel.files
-done
+ echo "$f"
+done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{ cd %buildroot
for f in boot/*; do
@@ -934,8 +962,8 @@
%description base
The Linux kernel for Xen paravirtualization.
-This kernel can only be used both as an unprivileged ("xenU")
-kernel (for Amazon EC2).
+This kernel can only be used as an unprivileged ("xenU") kernel
+(mainly, but not exclusively, for Amazon EC2).
This package contains only the base modules, required in all installs.
@@ -976,8 +1004,8 @@
%description extra
The Linux kernel for Xen paravirtualization.
-This kernel can only be used both as an unprivileged ("xenU")
-kernel (for Amazon EC2).
+This kernel can only be used as an unprivileged ("xenU") kernel
+(mainly, but not exclusively, for Amazon EC2).
This package contains additional modules not supported by Novell.
++++++ kernel-lpae.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.18
-%define patchversion 3.18.3
+%define srcversion 3.19
+%define patchversion 3.19.0
%define variant %{nil}
%define vanilla_only 0
@@ -44,7 +44,7 @@
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
-%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
+%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
@@ -59,9 +59,9 @@
Summary: Kernel for LPAE enabled systems
License: GPL-2.0
Group: System/Kernel
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -73,9 +73,8 @@
BuildRequires: hmaccalc
%endif
BuildRequires: modutils
-BuildRequires: sparse
# Used to sign the kernel in the buildservice
-BuildRequires: pesign-obs-integration
+BuildRequires: pesign-obs-integration openssl
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@@ -163,6 +162,7 @@
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
+Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source39: config-options.changes.txt
@@ -241,6 +241,7 @@
NoSource: 23
NoSource: 33
NoSource: 35
+NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 39
@@ -468,6 +469,32 @@
%_sourcedir/modversions --unpack . < $_
fi
+# copy optional module signing files:
+# *.x509, *.crt
+# - certificates with pubkeys used to verify module and firmware signatures
+# at runtime. *.crt files assumed to be in the PEM format.
+# signing_key.priv
+# - unencrypted private key used to sign modules and firmware during build
+# x509.genkey
+# - openssl req config to generate a new signing_key.{x509,priv} pair for the
+# build
+for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
+ if test -e "$f"; then
+ cp "$f" .
+ fi
+done
+for f in %_sourcedir/*.crt; do
+ if ! test -e "$f"; then
+ continue
+ fi
+ out=${f##*/}
+ out=${out%.crt}.x509
+ openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
+done
+# Convince kernel/Makefile not to generate a new keypair
+touch x509.genkey
+touch signing_key.x509
+
# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@@ -502,15 +529,15 @@
%install
+# sign the modules, firmware and possibly the kernel in the buildservice
+export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
-# sign the kernel in the buildservice
-%ifarch x86_64
-# XXX: only do it on x86_64, as the repackaging changes kernel-pae
-# from i686 to i586
-export BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
-%else
-export BRP_PESIGN_FILES=""
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
+%ifarch %ix86
+# XXX: do not sign on x86, as the repackaging changes kernel-pae
+# from i686 to i586
+BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
@@ -518,9 +545,10 @@
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
-# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
-# kernel-devel package is installed. Don't check for stale symlinks
-# in the brp-symlink check:
+# /lib/modules/%kernelrelease-%build_flavor/source points to the source
+# directory installed by kernel-devel. The kernel-%build_flavor-devel package
+# has a correct dependency on kernel-devel, but the brp check does not see
+# kernel-devel during build.
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
@@ -831,8 +859,8 @@
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
- echo "$f" >> %my_builddir/kernel-devel.files
-done
+ echo "$f"
+done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{ cd %buildroot
for f in boot/*; do
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
-%define patchversion 3.18.3
+%define patchversion 3.19.0
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -33,7 +33,7 @@
%ifarch %ix86 x86_64
BuildRequires: kernel-xen
%endif
-ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: aarch64 armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
%if 0%{?suse_version} < 1315
# For SLE 11
BuildRequires: mkinitrd
@@ -45,9 +45,9 @@
Summary: package kernel and initrd for OBS VM builds
License: GPL-2.0
Group: SLES
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
++++++ kernel-obs-qa-xen.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 3.18.3
+%define patchversion 3.19.0
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -36,9 +36,9 @@
Summary: Basic QA tests for the kernel
License: GPL-2.0
Group: SLES
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 3.18.3
+%define patchversion 3.19.0
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -28,7 +28,7 @@
# here as well to avoid that qa and build package build parallel
BuildRequires: kernel-obs-build
BuildRequires: modutils
-ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: aarch64 armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
%if 0%{?suse_version} < 1200
# for SLE 11
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -36,9 +36,9 @@
Summary: Basic QA tests for the kernel
License: GPL-2.0
Group: SLES
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.18
-%define patchversion 3.18.3
+%define srcversion 3.19
+%define patchversion 3.19.0
%define variant %{nil}
%define vanilla_only 0
@@ -44,7 +44,7 @@
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
-%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
+%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
@@ -59,9 +59,9 @@
Summary: Kernel with PAE Support
License: GPL-2.0
Group: System/Kernel
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -73,9 +73,8 @@
BuildRequires: hmaccalc
%endif
BuildRequires: modutils
-BuildRequires: sparse
# Used to sign the kernel in the buildservice
-BuildRequires: pesign-obs-integration
+BuildRequires: pesign-obs-integration openssl
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@@ -168,6 +167,7 @@
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
+Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source39: config-options.changes.txt
@@ -246,6 +246,7 @@
NoSource: 23
NoSource: 33
NoSource: 35
+NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 39
@@ -479,6 +480,32 @@
%_sourcedir/modversions --unpack . < $_
fi
+# copy optional module signing files:
+# *.x509, *.crt
+# - certificates with pubkeys used to verify module and firmware signatures
+# at runtime. *.crt files assumed to be in the PEM format.
+# signing_key.priv
+# - unencrypted private key used to sign modules and firmware during build
+# x509.genkey
+# - openssl req config to generate a new signing_key.{x509,priv} pair for the
+# build
+for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
+ if test -e "$f"; then
+ cp "$f" .
+ fi
+done
+for f in %_sourcedir/*.crt; do
+ if ! test -e "$f"; then
+ continue
+ fi
+ out=${f##*/}
+ out=${out%.crt}.x509
+ openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
+done
+# Convince kernel/Makefile not to generate a new keypair
+touch x509.genkey
+touch signing_key.x509
+
# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@@ -513,15 +540,15 @@
%install
+# sign the modules, firmware and possibly the kernel in the buildservice
+export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
-# sign the kernel in the buildservice
-%ifarch x86_64
-# XXX: only do it on x86_64, as the repackaging changes kernel-pae
-# from i686 to i586
-export BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
-%else
-export BRP_PESIGN_FILES=""
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
+%ifarch %ix86
+# XXX: do not sign on x86, as the repackaging changes kernel-pae
+# from i686 to i586
+BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
@@ -529,9 +556,10 @@
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
-# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
-# kernel-devel package is installed. Don't check for stale symlinks
-# in the brp-symlink check:
+# /lib/modules/%kernelrelease-%build_flavor/source points to the source
+# directory installed by kernel-devel. The kernel-%build_flavor-devel package
+# has a correct dependency on kernel-devel, but the brp check does not see
+# kernel-devel during build.
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
@@ -842,8 +870,8 @@
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
- echo "$f" >> %my_builddir/kernel-devel.files
-done
+ echo "$f"
+done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{ cd %buildroot
for f in boot/*; do
++++++ kernel-pv.spec ++++++
++++ 1078 lines (skipped)
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -17,8 +17,8 @@
# icecream 0
-%define srcversion 3.18
-%define patchversion 3.18.3
+%define srcversion 3.19
+%define patchversion 3.19.0
%define variant %{nil}
%define vanilla_only 0
@@ -30,9 +30,9 @@
Summary: The Linux Kernel Sources
License: GPL-2.0
Group: Development/Sources
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -61,6 +61,7 @@
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
+Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source39: config-options.changes.txt
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -24,10 +24,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0
Group: Development/Sources
-Version: 3.18.3
+Version: 3.19.0
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -38,7 +38,7 @@
Url: http://www.kernel.org/
AutoReqProv: off
BuildRequires: coreutils
-%ifarch aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
+%ifarch aarch64 armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
Requires: kernel-default-devel = %version-%source_rel
%endif
%ifarch %ix86 x86_64
@@ -51,6 +51,9 @@
Requires: kernel-pae-devel = %version-%source_rel
%endif
%ifarch %ix86 x86_64
+Requires: kernel-pv-devel = %version-%source_rel
+%endif
+%ifarch %ix86 x86_64
Requires: kernel-xen-devel = %version-%source_rel
%endif
Requires: pesign-obs-integration
@@ -59,7 +62,7 @@
Source: README.KSYMS
Requires: kernel-devel%variant = %version-%source_rel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: %ix86 aarch64 armv6hl armv7hl ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: %ix86 aarch64 armv7hl ppc ppc64 ppc64le s390x x86_64
Prefix: /usr/src
%description
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.18
-%define patchversion 3.18.3
+%define srcversion 3.19
+%define patchversion 3.19.0
%define variant %{nil}
%define vanilla_only 0
@@ -44,7 +44,7 @@
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
-%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
+%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
@@ -59,9 +59,9 @@
Summary: The Standard Kernel - without any SUSE patches
License: GPL-2.0
Group: System/Kernel
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -73,9 +73,8 @@
BuildRequires: hmaccalc
%endif
BuildRequires: modutils
-BuildRequires: sparse
# Used to sign the kernel in the buildservice
-BuildRequires: pesign-obs-integration
+BuildRequires: pesign-obs-integration openssl
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@@ -163,6 +162,7 @@
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
+Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source39: config-options.changes.txt
@@ -211,7 +211,7 @@
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: %ix86 ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
@@ -241,6 +241,7 @@
NoSource: 23
NoSource: 33
NoSource: 35
+NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 39
@@ -467,6 +468,32 @@
%_sourcedir/modversions --unpack . < $_
fi
+# copy optional module signing files:
+# *.x509, *.crt
+# - certificates with pubkeys used to verify module and firmware signatures
+# at runtime. *.crt files assumed to be in the PEM format.
+# signing_key.priv
+# - unencrypted private key used to sign modules and firmware during build
+# x509.genkey
+# - openssl req config to generate a new signing_key.{x509,priv} pair for the
+# build
+for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
+ if test -e "$f"; then
+ cp "$f" .
+ fi
+done
+for f in %_sourcedir/*.crt; do
+ if ! test -e "$f"; then
+ continue
+ fi
+ out=${f##*/}
+ out=${out%.crt}.x509
+ openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
+done
+# Convince kernel/Makefile not to generate a new keypair
+touch x509.genkey
+touch signing_key.x509
+
# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@@ -501,15 +528,15 @@
%install
+# sign the modules, firmware and possibly the kernel in the buildservice
+export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
-# sign the kernel in the buildservice
-%ifarch x86_64
-# XXX: only do it on x86_64, as the repackaging changes kernel-pae
-# from i686 to i586
-export BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
-%else
-export BRP_PESIGN_FILES=""
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
+%ifarch %ix86
+# XXX: do not sign on x86, as the repackaging changes kernel-pae
+# from i686 to i586
+BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
@@ -517,9 +544,10 @@
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
-# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
-# kernel-devel package is installed. Don't check for stale symlinks
-# in the brp-symlink check:
+# /lib/modules/%kernelrelease-%build_flavor/source points to the source
+# directory installed by kernel-devel. The kernel-%build_flavor-devel package
+# has a correct dependency on kernel-devel, but the brp check does not see
+# kernel-devel during build.
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
@@ -830,8 +858,8 @@
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
- echo "$f" >> %my_builddir/kernel-devel.files
-done
+ echo "$f"
+done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{ cd %buildroot
for f in boot/*; do
++++++ kernel-xen.spec ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:15.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:15.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.18
-%define patchversion 3.18.3
+%define srcversion 3.19
+%define patchversion 3.19.0
%define variant %{nil}
%define vanilla_only 0
@@ -44,7 +44,7 @@
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
-%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
+%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
@@ -59,9 +59,9 @@
Summary: The Xen Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 3.18.3
+Version: 3.19.0
%if 0%{?is_kotd}
-Release: <RELEASE>.gc3e148f
+Release: <RELEASE>.g8a7d5f9
%else
Release: 0
%endif
@@ -73,9 +73,8 @@
BuildRequires: hmaccalc
%endif
BuildRequires: modutils
-BuildRequires: sparse
# Used to sign the kernel in the buildservice
-BuildRequires: pesign-obs-integration
+BuildRequires: pesign-obs-integration openssl
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@@ -166,6 +165,7 @@
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
+Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source39: config-options.changes.txt
@@ -244,6 +244,7 @@
NoSource: 23
NoSource: 33
NoSource: 35
+NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 39
@@ -473,6 +474,32 @@
%_sourcedir/modversions --unpack . < $_
fi
+# copy optional module signing files:
+# *.x509, *.crt
+# - certificates with pubkeys used to verify module and firmware signatures
+# at runtime. *.crt files assumed to be in the PEM format.
+# signing_key.priv
+# - unencrypted private key used to sign modules and firmware during build
+# x509.genkey
+# - openssl req config to generate a new signing_key.{x509,priv} pair for the
+# build
+for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
+ if test -e "$f"; then
+ cp "$f" .
+ fi
+done
+for f in %_sourcedir/*.crt; do
+ if ! test -e "$f"; then
+ continue
+ fi
+ out=${f##*/}
+ out=${out%.crt}.x509
+ openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
+done
+# Convince kernel/Makefile not to generate a new keypair
+touch x509.genkey
+touch signing_key.x509
+
# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@@ -507,15 +534,15 @@
%install
+# sign the modules, firmware and possibly the kernel in the buildservice
+export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
-# sign the kernel in the buildservice
-%ifarch x86_64
-# XXX: only do it on x86_64, as the repackaging changes kernel-pae
-# from i686 to i586
-export BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
-%else
-export BRP_PESIGN_FILES=""
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
+%ifarch %ix86
+# XXX: do not sign on x86, as the repackaging changes kernel-pae
+# from i686 to i586
+BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
@@ -523,9 +550,10 @@
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
-# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
-# kernel-devel package is installed. Don't check for stale symlinks
-# in the brp-symlink check:
+# /lib/modules/%kernelrelease-%build_flavor/source points to the source
+# directory installed by kernel-devel. The kernel-%build_flavor-devel package
+# has a correct dependency on kernel-devel, but the brp check does not see
+# kernel-devel during build.
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
@@ -836,8 +864,8 @@
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
- echo "$f" >> %my_builddir/kernel-devel.files
-done
+ echo "$f"
+done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{ cd %buildroot
for f in boot/*; do
++++++ README.PATCH-POLICY.SUSE ++++++
SUSE Linux Enterprise Patch Policy
----------------------------------
Summary
-------
The SUSE Linux Enterprise (SLE) patch policy mirrors the mainline Linux
community's policy for accepting changes. Each commit must contain a
small and "obvious" change that can be reviewed individually and, once
applied, be able to be used as a bisection point. The kernel should be
able to build (and boot) between each applied patch. Since the SLE
kernel is based on an official upstream kernel release and is followed by
a hardening process, we expect that nearly all of the patches applied to the
base release will be from subsequent official upstream releases indended to
address specific issues or to allow for hardware/feature enablement.
Background
----------
Before covering the policy itself, we'll discuss a bit of background on
how the source code tree is organized. If you've used the SLE kernel source
(kernel-source.git[1]) tree before, you've probably noticed that, unlike
the mainline Linux kernel, we don't use a source-level git repository as
our "base." Instead, we use an official kernel.org Linux tar archive as
the base and add a series of patches on top of it. This carries with it
several benefits. The biggest is that we add metadata "tags" to our
patches that allow us to easily associate patches with particular feature
requests, bug reports, and/or the pedigree of the patch. Due to the nature
of some of our feature requests, we also must occasionally carry patches
that, for one reason or another, haven't been accepted into the mainline
kernel repository yet. With a full (published[2]) git repository, it would
be difficult to associate the initial commit for a particular feature with
any subsequent changes to it. Another benefit is more superficial: with the
use of separate patches, we (and our users) are able to tell, at a glance,
which patches are in any given kernel release simply by looking at
the source package. Patches are grouped into subsystems (including
architecture, "core" vm/scheduler, VFS, individual file systems, driver
core, networking core, block layer, and leaf drivers) so finding patches
that affect a particular part of the kernel can be easily found. Patches
are placed in directories such as patches.fixes, patches.suse, etc. When
submitting patches for inclusion, it's not necessary to choose a directory.
We'll put them in the appropriate place.
Historically, this approach has worked well but has limited options for
typical debugging techniques such as bisection. The application of the
patch series results in our fully operational SLE kernel but stopping
the patch series midway can result in an unbuildable source tree.
Beginning with the SLE11 SP2 development cycle, we've published a fully
expanded git repository (kernel.git[2]) that exactly represents the code
as if it were originally used as a standard source code tree repository.
This allows us to work with the individual patches *and* have the ability
to bisect the tree as the changes are applied. It also makes it easier for
partners unfamiliar with how our source tree works to make the transition.
Format
------
The SLE patch format follows very closely what you would see on any
mailing list associated with Linux kernel development. A SLE patch is
formatted like an RFC822 mbox-style mail message, with a few extensions.
If the patch is coming from the mainline Linux repository or a subsystem
maintainer repository, SUSE has tools published here[3] that can make
adding these tags nearly painless.
Each patch should contain the "From" and "Subject" headers found in any
email message. The From should contain the name and email address of the
patch author. The Subject should contain a short description of the
patch, prefixed with the subsystem affected.
e.g.
From: Jeff Mahoney <jeffm(a)suse.com>
Subject: init: print hello world at boot time
Beyond that, we require several more headers, the full description of
the patch, the certification tags used in the mainline kernel, and the patch
contents.
The headers we require are as follows:
Git-commit: [a-f0-9]{40}
- Contains the SHA-1 git commit ID of the patch in either the mainline
kernel repository[4] or an official maintainer repository.
Git-repo: URL-to-git-repo (starting with git://)
- The URL to the git repository containing the commit. This tag can be
omitted if the commit is from the mainline kernel repository.
Patch-mainline: vMajor.Minor.Patch{-optional-rc}
- The official kernel release that contains this patch. In the case of a
patch accepted into a maintainer branch, "Queued in subsystem
maintainer repo" can be used. If the patch has been submitted to a
subsystem mailing list for review and is nearly certain to be accepted,
"Submitted <date> <list(a)site.org>" can be used. Otherwise, if the
patch will never be in the upstream kernel, e.g. in the case of
vendor-specific
version numbers, etc, then "No" followed by the reason why it will
not be accepted (or submitted). Please note that the reason must be
compelling for it to be allowed into our kernel repository.
References: list of references
- There must be a reason for each patch to be included into the kernel
repository. It can be a fix in response to a bug report or a patch
submitted as part of the feature development cycle for a release. We
use a shorthand to indicate why a particular patch will be included
and it's possible to use more than one.
For Feature requests, the feature will have to have gone through our
feature tracking tool, FATE. Each feature request will have an ID
associated with it and it can be added to the References tag using
FATE#number, e.g. FATE#12345.
For fixes for bug reports (or patches for feature requests submitted
via Bugzilla, the shorthand is bnc#number. bnc is shorthand for
bugzilla.novell.com. There are others such as bko, for
bugzilla.kernel.org.
Next is the full description of the patch, which should explain why the
patch is needed and an overview of what it does.
The last "header" portion of the patch contains the certification tags, which
consist of "Signed-off-by" and "Acked-by." We, and the upstream Linux
community depend on patch submitters to "own" their submission and certify
they have the right to submit code to the kernel repository. For patches
coming from the mainline Linux kernel repository, the certification tags
are already in place and we only need the submitter's tag added (if not
already part of the original patch). Likewise, the SUSE engineer who
includes the submission in our kernel tree, will add their own "Acked-by"
tag.
There may be an optional diffstat -p1 output added before the patch content.
The patch content itself should be in "-ab" format where the patch header
itself only contains the filename without any timestamps.
Here's an example of a complete patch:
-------->8--------
From: Upstream Committer <coder(a)somesite.com>
Subject: init: print hello world on boot
Patch-mainline: v3.8-rc1
Git-commit: deadbeefc0ffeeb1a4b1a4b1a4b1a4b1a4b1a4b1a4
References: FATE#12134 bnc#23123
The kernel started off like every other project. Let's add the hello
world message in honor of its roots.
Signed-off-by: Upstream Committer <coder(a)somesite.com>
Tested-by: Bill User <bill.user(a)example.com>
Acked-by: Jeff Mahoney <jeffm(a)suse.com>
---
init/main.c | 1 +
1 file changed, 1 insertion(+)
--- a/init/main.c
+++ b/init/main.c
@@ -807,6 +807,7 @@ static noinline int init_post(void)
system_state = SYSTEM_RUNNING;
numa_default_policy();
+ printk("Hello world!\n");
current->signal->flags |= SIGNAL_UNKILLABLE;
--------8<--------
Patch Inclusion Rules
---------------------
As mentioned in the summary, we expect that most patches to the SLE kernel
will come from subsequent official upstream kernel releases or from subsystem
maintainer repositories (which imply that the patch will ultimately be
a part of an official upstream Linux release). The SLE kernel contains
hardware enablement driver enhancement/backports for a wide range of devices
offered by many vendors. In many cases, the drivers are self-contained
but many others have shared dependencies on common infrastructure.
The shared dependencies on common infrastructure combined with the need
to be able to bisect the resulting kernel means that we must require
all partners to submit patch series consisting of individual patches that
match upstream commits. In the case where a commit affects multiple drivers,
it is acceptable to only contain the portions that effect a particular
driver as long as it is annotated by appending "(partial)" to the Git-commit
line and documenting what is included or dropped. An example using the
patch tools is included below.
Tools
-----
We understand that there are a bunch of rules to follow and that implementing
them all can be tedious. We have a set of tools, published here[3], to make
working with the patches a lot easier.
There are two tools: fixpatch and exportpatch. Fixpatch will add missing
headers and formatting to existing patches, assuming there's at least a
Git-commit tag present. Exportpatch, given a list of commit IDs on the
commandline, will search for each commit in the configured repositories
and export the patches.
There are several command line options that are useful.
-w|--write -- will write out each commit into a separate file. The filenames
are based on the subject of the header and the filenames will
be output on stdout for use directly in a series file.
-d DIR|--dir=DIR -- will write out each commit into a designated directory.
The default is to write into the current directory.
-f|--force -- By default exportpatch will not export commits that are local
to the repository on disk. It will also refuse to overwrite
existing patch files. This option overrides these checks.
-F REF|--reference=REFERENCE -- Adds References automatically and can be
specified multiple times.
-x EXTRACT | --extract EXTRACT -- It it sometimes desirable to split out
chunks of patches that affect only a
particular section of the code. This option
accepts pathnames to extract. Anything
not specified will be skipped. Paths ending
with / designate everything under that
hierarchy. This also adds a (partial)
notation to the Git-commit tag and adds
a Patch-filtered: tag indicating which
paths were used to extract.
There are also two other features that are used automatically. The first is
that 3-way merge diffs are handled automatically such that a new, exact
two-way diff is generated. Note that both the -x option and the automatic
handling of merge commits can generate empty patches -- empty patches are
skipped entirely and no files are generated.
A quick example for generating the patches necessary for a backport of the
ixgbe driver against the 3.0 kernel. Please note that it (obviously) skips
any infrastructure changes required for the patches to build. The Acked-by
tags will automatically be added unless you were involved in the original
upstream commit process.
exportpatch -w -d ixgbe -x drivers/net/ixgbe/ \
-x drivers/net/ethernet/intel/ixgbe/ \
-F "FATE#12345" -F "bnc#12354" \
$(git log v3.0.. --pretty=oneline -- drivers/net/ixgbe \
drivers/net/ethernet/intel/ixgbe |cut -b 1-40) > ixgbe/series
The first patch in that series looks like this:
--------8<--------
>From 6403eab143205a45a5493166ff8bf7e3646f4a77 Mon Sep 17 00:00:00 2001
From: Joe Perches <joe(a)perches.com>
Date: Fri, 3 Jun 2011 11:51:20 +0000
Subject: drivers/net: Remove unnecessary semicolons
Git-commit: 6403eab143205a45a5493166ff8bf7e3646f4a77 (partial)
Patch-mainline: v3.1-rc1
References: FATE#12345 bnc#12354
Patch-filtered: drivers/net/ixgbe/ drivers/net/ethernet/intel/ixgbe/
Semicolons are not necessary after switch/while/for/if braces
so remove them.
Signed-off-by: Joe Perches <joe(a)perches.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Acked-by: Jeff Mahoney <jeffm(a)suse.com>
---
drivers/net/ixgbe/ixgbe_82599.c | 4 ++--
drivers/net/ixgbe/ixgbe_common.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
--- a/drivers/net/ixgbe/ixgbe_82599.c
+++ b/drivers/net/ixgbe/ixgbe_82599.c
@@ -1157,7 +1157,7 @@ s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw, u32 pballoc)
default:
/* bad value */
return IXGBE_ERR_CONFIG;
- };
+ }
/* Move the flexible bytes to use the ethertype - shift 6 words */
fdirctrl |= (0x6 << IXGBE_FDIRCTRL_FLEX_SHIFT);
@@ -1245,7 +1245,7 @@ s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw, u32 pballoc)
default:
/* bad value */
return IXGBE_ERR_CONFIG;
- };
+ }
/* Turn perfect match filtering on */
fdirctrl |= IXGBE_FDIRCTRL_PERFECT_MATCH;
--- a/drivers/net/ixgbe/ixgbe_common.c
+++ b/drivers/net/ixgbe/ixgbe_common.c
@@ -1292,7 +1292,7 @@ static s32 ixgbe_ready_eeprom(struct ixgbe_hw *hw)
udelay(5);
ixgbe_standby_eeprom(hw);
- };
+ }
/*
* On some parts, SPI write time could vary from 0-20mSec on 3.3V
@@ -1374,7 +1374,7 @@ static void ixgbe_shift_out_eeprom_bits(struct ixgbe_hw *hw, u16 data,
* EEPROM
*/
mask = mask >> 1;
- };
+ }
/* We leave the "DI" bit set to "0" when we leave this routine. */
eec &= ~IXGBE_EEC_DI;
-------->8--------
Links:
[1]: http://kernel.suse.com/cgit/kernel-source/log/?h=SLE12
[2]: http://kernel.suse.com/cgit/kernel/log/?h=SLE12
[3]: http://download.opensuse.org/repositories/Kernel:/tools/
[4]: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:16.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:16.000000000 +0100
@@ -275,9 +275,10 @@
"xxxX" if bit 5 set or else
"xxx ".
-By default, external modules will not have the supported flag (that is,
-they wil be marked as unsupported). For building externally supported
-modules, please get in touch with Kurt Garloff <garloff(a)suse.de>.
+By default, out-of-tree modules will not have the supported flag (that
+is, they will be marked as unsupported). For building externally
+supported modules, please get in touch with Solid Driver Program team,
+led by Scott Bahling, at <soliddriver(a)suse.com>.
PATCH SELECTION MECHANISM
++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:16.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:16.000000000 +0100
@@ -15,6 +15,7 @@
<package>kernel-ec2</package>
<package>kernel-lpae</package>
<package>kernel-pae</package>
+<package>kernel-pv</package>
<package>kernel-vanilla</package>
<package>kernel-xen</package>
</conditions>
@@ -37,11 +38,12 @@
<package>kernel-ec2</package>
<package>kernel-lpae</package>
<package>kernel-pae</package>
+<package>kernel-pv</package>
<package>kernel-vanilla</package>
<package>kernel-xen</package>
</conditions>
<hardware>
- <processors>8</processors>
+ <processors>4</processors>
<disk>
<size unit="G">10</size>
</disk>
++++++ config.conf ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:16.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:16.000000000 +0100
@@ -11,15 +11,17 @@
+i386 i386/default
+i386 i386/desktop
+i386 i386/pae
-+i386 -syms i386/debug
+i386 i386/xen
+i386 -syms i386/ec2
++i386 i386/pv
++i386 -syms i386/debug
+i386 i386/vanilla
+x86_64 x86_64/default
+x86_64 x86_64/desktop
+x86_64 x86_64/xen
+x86_64 -syms x86_64/ec2
++x86_64 x86_64/pv
+x86_64 -syms x86_64/debug
+x86_64 x86_64/vanilla
@@ -34,10 +36,13 @@
+ppc64le ppc64le/vanilla
# ARM architectures
-+armv6hl armv6hl/default
+#+armv6hl armv6hl/default
++armv6hl armv6hl/vanilla
+armv7hl armv7hl/default
++armv7hl armv7hl/vanilla
+armv7hl armv7hl/lpae
+arm64 arm64/default
++arm64 arm64/vanilla
+s390x s390x/default
+s390x s390x/vanilla
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:16.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:16.000000000 +0100
@@ -1,5 +1,5 @@
# The version of the main tarball to use
-SRCVERSION=3.18
+SRCVERSION=3.19
# variant of the kernel-source package, either empty or "-rt"
VARIANT=
# buildservice projects to build the kernel against
++++++ config.tar.bz2 ++++++
++++ 58574 lines of diff (skipped)
++++++ constraints.in ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:17.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:17.000000000 +0100
@@ -27,7 +27,7 @@
@BINARY_PACKAGES_XML@
</conditions>
<hardware>
- <processors>8</processors>
+ <processors>4</processors>
<disk>
<size unit="G">10</size>
</disk>
++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:17.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:17.000000000 +0100
@@ -44,7 +44,7 @@
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
-%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
+%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
@@ -73,9 +73,8 @@
BuildRequires: hmaccalc
%endif
BuildRequires: modutils
-BuildRequires: sparse
# Used to sign the kernel in the buildservice
-BuildRequires: pesign-obs-integration
+BuildRequires: pesign-obs-integration openssl
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@@ -343,6 +342,32 @@
%_sourcedir/modversions --unpack . < $_
fi
+# copy optional module signing files:
+# *.x509, *.crt
+# - certificates with pubkeys used to verify module and firmware signatures
+# at runtime. *.crt files assumed to be in the PEM format.
+# signing_key.priv
+# - unencrypted private key used to sign modules and firmware during build
+# x509.genkey
+# - openssl req config to generate a new signing_key.{x509,priv} pair for the
+# build
+for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
+ if test -e "$f"; then
+ cp "$f" .
+ fi
+done
+for f in %_sourcedir/*.crt; do
+ if ! test -e "$f"; then
+ continue
+ fi
+ out=${f##*/}
+ out=${out%.crt}.x509
+ openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
+done
+# Convince kernel/Makefile not to generate a new keypair
+touch x509.genkey
+touch signing_key.x509
+
# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@@ -377,15 +402,15 @@
%install
+# sign the modules, firmware and possibly the kernel in the buildservice
+export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
-# sign the kernel in the buildservice
-%ifarch x86_64
-# XXX: only do it on x86_64, as the repackaging changes kernel-pae
-# from i686 to i586
-export BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
-%else
-export BRP_PESIGN_FILES=""
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
+%ifarch %ix86
+# XXX: do not sign on x86, as the repackaging changes kernel-pae
+# from i686 to i586
+BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
@@ -393,9 +418,10 @@
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
-# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
-# kernel-devel package is installed. Don't check for stale symlinks
-# in the brp-symlink check:
+# /lib/modules/%kernelrelease-%build_flavor/source points to the source
+# directory installed by kernel-devel. The kernel-%build_flavor-devel package
+# has a correct dependency on kernel-devel, but the brp check does not see
+# kernel-devel during build.
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
@@ -706,8 +732,8 @@
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
- echo "$f" >> %my_builddir/kernel-devel.files
-done
+ echo "$f"
+done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{ cd %buildroot
for f in boot/*; do
++++++ kernel-docs.spec.in ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:17.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:17.000000000 +0100
@@ -97,15 +97,15 @@
%endif
export LANG=en_US
mkdir -p man
-make -C /usr/src/linux%variant O=$PWD/man -k -i mandocs %{?jobs:-j%jobs}
+make -C /usr/src/linux%variant O=$PWD/man mandocs %{?jobs:-j%jobs}
mkdir -p html
-make -C /usr/src/linux%variant O=$PWD/html -k -i htmldocs %{?jobs:-j%jobs}
+make -C /usr/src/linux%variant O=$PWD/html htmldocs %{?jobs:-j%jobs}
mkdir -p pdf
make \
%if %use_fop
XMLTOFLAGS="-m /usr/src/linux%{variant}/Documentation/DocBook/stylesheet.xsl --skip-validation --with-fop" \
%endif
- -C /usr/src/linux%variant O=$PWD/pdf -k -i pdfdocs %{?jobs:-j%jobs}
+ -C /usr/src/linux%variant O=$PWD/pdf pdfdocs %{?jobs:-j%jobs}
%install
install -d $RPM_BUILD_ROOT/%{_mandir}/man9
++++++ kernel-source.spec.in ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:17.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:17.000000000 +0100
@@ -61,6 +61,7 @@
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
+Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source39: config-options.changes.txt
++++++ linux-3.18.tar.xz -> linux-3.19.tar.xz ++++++
/work/SRC/openSUSE:Factory/kernel-source/linux-3.18.tar.xz /work/SRC/openSUSE:Factory/.kernel-source.new/linux-3.19.tar.xz differ: char 26, line 1
++++++ old-flavors ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:17.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:17.000000000 +0100
@@ -38,6 +38,7 @@
x86_64/default trace-base 3.13
x86_64/default-extra trace-extra 3.13
x86_64/default-devel trace-devel 3.13
+x86_64/default bigsmp 3.1
s390x/default trace 3.13
s390x/default trace-base 3.13
++++++ package-descriptions ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:17.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:17.000000000 +0100
@@ -68,8 +68,15 @@
The Linux kernel for Xen paravirtualization.
-This kernel can only be used both as an unprivileged ("xenU")
-kernel (for Amazon EC2).
+This kernel can only be used as an unprivileged ("xenU") kernel
+(mainly, but not exclusively, for Amazon EC2).
+
+=== kernel-pv ===
+The para-virtualized Kernel
+
+The Linux kernel for Xen (and other) paravirtualization, using pv-ops
+in the Xen/x86 case, in which case it can be used both as the domain0
+("xen0") and as an unprivileged ("xenU") kernel.
=== kernel-lpae ===
Kernel for LPAE enabled systems
++++++ patches.arch.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch new/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch
--- old/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch 2015-01-14 20:16:14.000000000 +0100
+++ new/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch 2015-01-14 20:19:31.000000000 +0100
@@ -11,13 +11,13 @@
Signed-off-by: Alexander Graf <agraf(a)suse.de>
---
- arch/arm64/boot/dts/apm-storm.dtsi | 12 ++++++++++++
+ arch/arm64/boot/dts/apm/apm-storm.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
-diff --git a/arch/arm64/boot/dts/apm-storm.dtsi b/arch/arm64/boot/dts/apm-storm.dtsi
+diff --git a/arch/arm64/boot/dts/apm/apm-storm.dtsi b/arch/arm64/boot/dts/apm/apm-storm.dtsi
index 295c72d..e0295e1 100644
---- a/arch/arm64/boot/dts/apm-storm.dtsi
-+++ b/arch/arm64/boot/dts/apm-storm.dtsi
+--- a/arch/arm64/boot/dts/apm/apm-storm.dtsi
++++ b/arch/arm64/boot/dts/apm/apm-storm.dtsi
@@ -103,6 +103,11 @@
#size-cells = <2>;
ranges;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/arm64-0012-generic-pci.patch new/patches.arch/arm64-0012-generic-pci.patch
--- old/patches.arch/arm64-0012-generic-pci.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/arm64-0012-generic-pci.patch 2015-01-14 20:19:31.000000000 +0100
@@ -0,0 +1,273 @@
+From: Alexander Graf <agraf(a)suse.de>
+Patch-mainline: No
+Subject: [PATCH] arm64: Enable generic PHB driver
+References: bnc#911732
+
+ARM64 doesn't enable the generic PHB driver which would work just fine. Enable it in a local patch for now. Discussions on how to do it best upstream are ongoing.
+
+Signed-off-by: Alexander Graf <agraf(a)suse.de>
+
+Index: linux-3.19-rc4-master/drivers/pci/host/Kconfig
+===================================================================
+--- linux-3.19-rc4-master.orig/drivers/pci/host/Kconfig
++++ linux-3.19-rc4-master/drivers/pci/host/Kconfig
+@@ -53,7 +53,7 @@ config PCI_RCAR_GEN2_PCIE
+
+ config PCI_HOST_GENERIC
+ bool "Generic PCI host controller"
+- depends on ARM && OF
++ depends on (ARM || ARM64) && OF
+ help
+ Say Y here if you want to support a simple generic PCI host
+ controller, such as the one emulated by kvmtool.
+Index: linux-3.19-rc4-master/drivers/pci/host/pci-host-generic.c
+===================================================================
+--- linux-3.19-rc4-master.orig/drivers/pci/host/pci-host-generic.c
++++ linux-3.19-rc4-master/drivers/pci/host/pci-host-generic.c
+@@ -44,12 +44,29 @@ struct gen_pci {
+ struct list_head resources;
+ };
+
++/* fake sysdata for cheating ARCH's pcibios code */
++static char gen_sysdata[256];
++
++static struct gen_pci *gen_pci_get_drvdata(struct pci_bus *bus)
++{
++ struct device *dev = bus->dev.parent->parent;
++ struct gen_pci *pci;
++
++ while (dev) {
++ pci = dev_get_drvdata(dev);
++ if (pci)
++ return pci;
++ dev = dev->parent;
++ }
++
++ return NULL;
++}
++
+ static void __iomem *gen_pci_map_cfg_bus_cam(struct pci_bus *bus,
+ unsigned int devfn,
+ int where)
+ {
+- struct pci_sys_data *sys = bus->sysdata;
+- struct gen_pci *pci = sys->private_data;
++ struct gen_pci *pci = gen_pci_get_drvdata(bus);
+ resource_size_t idx = bus->number - pci->cfg.bus_range->start;
+
+ return pci->cfg.win[idx] + ((devfn << 8) | where);
+@@ -64,8 +81,7 @@ static void __iomem *gen_pci_map_cfg_bus
+ unsigned int devfn,
+ int where)
+ {
+- struct pci_sys_data *sys = bus->sysdata;
+- struct gen_pci *pci = sys->private_data;
++ struct gen_pci *pci = gen_pci_get_drvdata(bus);
+ resource_size_t idx = bus->number - pci->cfg.bus_range->start;
+
+ return pci->cfg.win[idx] + ((devfn << 12) | where);
+@@ -80,8 +96,11 @@ static int gen_pci_config_read(struct pc
+ int where, int size, u32 *val)
+ {
+ void __iomem *addr;
+- struct pci_sys_data *sys = bus->sysdata;
+- struct gen_pci *pci = sys->private_data;
++ struct gen_pci *pci = gen_pci_get_drvdata(bus);
++
++ WARN_ON(!pci);
++ if (!pci)
++ return PCIBIOS_DEVICE_NOT_FOUND;
+
+ addr = pci->cfg.ops->map_bus(bus, devfn, where);
+
+@@ -103,8 +122,11 @@ static int gen_pci_config_write(struct p
+ int where, int size, u32 val)
+ {
+ void __iomem *addr;
+- struct pci_sys_data *sys = bus->sysdata;
+- struct gen_pci *pci = sys->private_data;
++ struct gen_pci *pci = gen_pci_get_drvdata(bus);
++
++ WARN_ON(!pci);
++ if (!pci)
++ return PCIBIOS_DEVICE_NOT_FOUND;
+
+ addr = pci->cfg.ops->map_bus(bus, devfn, where);
+
+@@ -143,60 +165,6 @@ static void gen_pci_release_of_pci_range
+ pci_free_resource_list(&pci->resources);
+ }
+
+-static int gen_pci_parse_request_of_pci_ranges(struct gen_pci *pci)
+-{
+- int err, res_valid = 0;
+- struct device *dev = pci->host.dev.parent;
+- struct device_node *np = dev->of_node;
+- resource_size_t iobase;
+- struct pci_host_bridge_window *win;
+-
+- err = of_pci_get_host_bridge_resources(np, 0, 0xff, &pci->resources,
+- &iobase);
+- if (err)
+- return err;
+-
+- list_for_each_entry(win, &pci->resources, list) {
+- struct resource *parent, *res = win->res;
+-
+- switch (resource_type(res)) {
+- case IORESOURCE_IO:
+- parent = &ioport_resource;
+- err = pci_remap_iospace(res, iobase);
+- if (err) {
+- dev_warn(dev, "error %d: failed to map resource %pR\n",
+- err, res);
+- continue;
+- }
+- break;
+- case IORESOURCE_MEM:
+- parent = &iomem_resource;
+- res_valid |= !(res->flags & IORESOURCE_PREFETCH);
+- break;
+- case IORESOURCE_BUS:
+- pci->cfg.bus_range = res;
+- default:
+- continue;
+- }
+-
+- err = devm_request_resource(dev, parent, res);
+- if (err)
+- goto out_release_res;
+- }
+-
+- if (!res_valid) {
+- dev_err(dev, "non-prefetchable memory resource required\n");
+- err = -EINVAL;
+- goto out_release_res;
+- }
+-
+- return 0;
+-
+-out_release_res:
+- gen_pci_release_of_pci_ranges(pci);
+- return err;
+-}
+-
+ static int gen_pci_parse_map_cfg_windows(struct gen_pci *pci)
+ {
+ int err;
+@@ -244,11 +212,33 @@ static int gen_pci_parse_map_cfg_windows
+ return 0;
+ }
+
+-static int gen_pci_setup(int nr, struct pci_sys_data *sys)
++static int gen_pci_map_ranges(struct gen_pci *pci,
++ resource_size_t io_base)
+ {
+- struct gen_pci *pci = sys->private_data;
+- list_splice_init(&pci->resources, &sys->resources);
+- return 1;
++ struct list_head *res = &pci->resources;
++ struct pci_host_bridge_window *window;
++ int ret;
++
++ list_for_each_entry(window, res, list) {
++ struct resource *res = window->res;
++ u64 restype = resource_type(res);
++
++ switch (restype) {
++ case IORESOURCE_IO:
++ ret = pci_remap_iospace(res, io_base);
++ if (ret < 0)
++ return ret;
++ break;
++ case IORESOURCE_MEM:
++ break;
++ case IORESOURCE_BUS:
++ pci->cfg.bus_range = res;
++ break;
++ default:
++ return -EINVAL;
++ }
++ }
++ return 0;
+ }
+
+ static int gen_pci_probe(struct platform_device *pdev)
+@@ -259,14 +249,11 @@ static int gen_pci_probe(struct platform
+ const int *prop;
+ struct device *dev = &pdev->dev;
+ struct device_node *np = dev->of_node;
++ resource_size_t iobase = 0;
+ struct gen_pci *pci = devm_kzalloc(dev, sizeof(*pci), GFP_KERNEL);
+- struct hw_pci hw = {
+- .nr_controllers = 1,
+- .private_data = (void **)&pci,
+- .setup = gen_pci_setup,
+- .map_irq = of_irq_parse_and_map_pci,
+- .ops = &gen_pci_ops,
+- };
++ struct pci_bus *bus;
++ struct pci_dev *pci_dev = NULL;
++ bool probe_only = false;
+
+ if (!pci)
+ return -ENOMEM;
+@@ -280,9 +267,9 @@ static int gen_pci_probe(struct platform
+ prop = of_get_property(of_chosen, "linux,pci-probe-only", NULL);
+ if (prop) {
+ if (*prop)
+- pci_add_flags(PCI_PROBE_ONLY);
++ probe_only = true;
+ else
+- pci_clear_flags(PCI_PROBE_ONLY);
++ probe_only = false;
+ }
+
+ of_id = of_match_node(gen_pci_of_match, np);
+@@ -291,20 +278,40 @@ static int gen_pci_probe(struct platform
+ INIT_LIST_HEAD(&pci->host.windows);
+ INIT_LIST_HEAD(&pci->resources);
+
+- /* Parse our PCI ranges and request their resources */
+- err = gen_pci_parse_request_of_pci_ranges(pci);
++ err = of_pci_get_host_bridge_resources(np, 0, 0xff,
++ &pci->resources, &iobase);
+ if (err)
+ return err;
+
++ err = gen_pci_map_ranges(pci, iobase);
++ if (err)
++ goto fail;
++
+ /* Parse and map our Configuration Space windows */
+ err = gen_pci_parse_map_cfg_windows(pci);
+- if (err) {
+- gen_pci_release_of_pci_ranges(pci);
+- return err;
++ if (err)
++ goto fail;
++
++ err = -ENOMEM;
++ platform_set_drvdata(pdev, pci);
++ bus = pci_scan_root_bus(dev, 0, &gen_pci_ops, gen_sysdata,
++ &pci->resources);
++ if (!bus)
++ goto fail;
++
++ for_each_pci_dev(pci_dev)
++ pci_dev->irq = of_irq_parse_and_map_pci(pci_dev, 0, 0);
++
++ if (!probe_only) {
++ pci_bus_size_bridges(bus);
++ pci_bus_assign_resources(bus);
++ pci_bus_add_devices(bus);
+ }
+
+- pci_common_init_dev(dev, &hw);
+ return 0;
++ fail:
++ gen_pci_release_of_pci_ranges(pci);
++ return err;
+ }
+
+ static struct platform_driver gen_pci_driver = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/arm64-0039-generic-pci.patch new/patches.arch/arm64-0039-generic-pci.patch
--- old/patches.arch/arm64-0039-generic-pci.patch 2015-01-14 20:16:14.000000000 +0100
+++ new/patches.arch/arm64-0039-generic-pci.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,338 +0,0 @@
-From: Alexander Graf <agraf(a)suse.de>
-Patch-mainline: No
-Subject: [PATCH] arm64: Enable generic PHB driver
-References: bnc#912061
-
-ARM64 doesn't enable the generic PHB driver which would work just fine. Enable it in a local patch for now. Discussions on how to do it best upstream are ongoing.
-
-Signed-off-by: Alexander Graf <agraf(a)suse.de>
-
----
-
-If someone ever needs to merge this patch with a newer kernel, please just drop
-it and use the one from the newer tree.
-
-Index: linux-3.18-stable/drivers/pci/host/Kconfig
-===================================================================
---- linux-3.18-stable.orig/drivers/pci/host/Kconfig
-+++ linux-3.18-stable/drivers/pci/host/Kconfig
-@@ -50,7 +50,7 @@ config PCI_RCAR_GEN2_PCIE
-
- config PCI_HOST_GENERIC
- bool "Generic PCI host controller"
-- depends on ARM && OF
-+ depends on (ARM || ARM64) && OF
- help
- Say Y here if you want to support a simple generic PCI host
- controller, such as the one emulated by kvmtool.
-Index: linux-3.18-stable/drivers/pci/host/pci-host-generic.c
-===================================================================
---- linux-3.18-stable.orig/drivers/pci/host/pci-host-generic.c
-+++ linux-3.18-stable/drivers/pci/host/pci-host-generic.c
-@@ -44,12 +44,29 @@ struct gen_pci {
- struct list_head resources;
- };
-
-+/* fake sysdata for cheating ARCH's pcibios code */
-+static char gen_sysdata[256];
-+
-+static struct gen_pci *gen_pci_get_drvdata(struct pci_bus *bus)
-+{
-+ struct device *dev = bus->dev.parent->parent;
-+ struct gen_pci *pci;
-+
-+ while (dev) {
-+ pci = dev_get_drvdata(dev);
-+ if (pci)
-+ return pci;
-+ dev = dev->parent;
-+ }
-+
-+ return NULL;
-+}
-+
- static void __iomem *gen_pci_map_cfg_bus_cam(struct pci_bus *bus,
- unsigned int devfn,
- int where)
- {
-- struct pci_sys_data *sys = bus->sysdata;
-- struct gen_pci *pci = sys->private_data;
-+ struct gen_pci *pci = gen_pci_get_drvdata(bus);
- resource_size_t idx = bus->number - pci->cfg.bus_range.start;
-
- return pci->cfg.win[idx] + ((devfn << 8) | where);
-@@ -64,8 +81,7 @@ static void __iomem *gen_pci_map_cfg_bus
- unsigned int devfn,
- int where)
- {
-- struct pci_sys_data *sys = bus->sysdata;
-- struct gen_pci *pci = sys->private_data;
-+ struct gen_pci *pci = gen_pci_get_drvdata(bus);
- resource_size_t idx = bus->number - pci->cfg.bus_range.start;
-
- return pci->cfg.win[idx] + ((devfn << 12) | where);
-@@ -80,8 +96,11 @@ static int gen_pci_config_read(struct pc
- int where, int size, u32 *val)
- {
- void __iomem *addr;
-- struct pci_sys_data *sys = bus->sysdata;
-- struct gen_pci *pci = sys->private_data;
-+ struct gen_pci *pci = gen_pci_get_drvdata(bus);
-+
-+ WARN_ON(!pci);
-+ if (!pci)
-+ return PCIBIOS_DEVICE_NOT_FOUND;
-
- addr = pci->cfg.ops->map_bus(bus, devfn, where);
-
-@@ -103,8 +122,11 @@ static int gen_pci_config_write(struct p
- int where, int size, u32 val)
- {
- void __iomem *addr;
-- struct pci_sys_data *sys = bus->sysdata;
-- struct gen_pci *pci = sys->private_data;
-+ struct gen_pci *pci = gen_pci_get_drvdata(bus);
-+
-+ WARN_ON(!pci);
-+ if (!pci)
-+ return PCIBIOS_DEVICE_NOT_FOUND;
-
- addr = pci->cfg.ops->map_bus(bus, devfn, where);
-
-@@ -138,45 +160,6 @@ static const struct of_device_id gen_pci
- };
- MODULE_DEVICE_TABLE(of, gen_pci_of_match);
-
--static int gen_pci_calc_io_offset(struct device *dev,
-- struct of_pci_range *range,
-- struct resource *res,
-- resource_size_t *offset)
--{
-- static atomic_t wins = ATOMIC_INIT(0);
-- int err, idx, max_win;
-- unsigned int window;
--
-- if (!PAGE_ALIGNED(range->cpu_addr))
-- return -EINVAL;
--
-- max_win = (IO_SPACE_LIMIT + 1) / SZ_64K;
-- idx = atomic_inc_return(&wins);
-- if (idx > max_win)
-- return -ENOSPC;
--
-- window = (idx - 1) * SZ_64K;
-- err = pci_ioremap_io(window, range->cpu_addr);
-- if (err)
-- return err;
--
-- of_pci_range_to_resource(range, dev->of_node, res);
-- res->start = window;
-- res->end = res->start + range->size - 1;
-- *offset = window - range->pci_addr;
-- return 0;
--}
--
--static int gen_pci_calc_mem_offset(struct device *dev,
-- struct of_pci_range *range,
-- struct resource *res,
-- resource_size_t *offset)
--{
-- of_pci_range_to_resource(range, dev->of_node, res);
-- *offset = range->cpu_addr - range->pci_addr;
-- return 0;
--}
--
- static void gen_pci_release_of_pci_ranges(struct gen_pci *pci)
- {
- struct pci_host_bridge_window *win;
-@@ -187,72 +170,6 @@ static void gen_pci_release_of_pci_range
- pci_free_resource_list(&pci->resources);
- }
-
--static int gen_pci_parse_request_of_pci_ranges(struct gen_pci *pci)
--{
-- struct of_pci_range range;
-- struct of_pci_range_parser parser;
-- int err, res_valid = 0;
-- struct device *dev = pci->host.dev.parent;
-- struct device_node *np = dev->of_node;
--
-- if (of_pci_range_parser_init(&parser, np)) {
-- dev_err(dev, "missing \"ranges\" property\n");
-- return -EINVAL;
-- }
--
-- for_each_of_pci_range(&parser, &range) {
-- struct resource *parent, *res;
-- resource_size_t offset;
-- u32 restype = range.flags & IORESOURCE_TYPE_BITS;
--
-- res = devm_kmalloc(dev, sizeof(*res), GFP_KERNEL);
-- if (!res) {
-- err = -ENOMEM;
-- goto out_release_res;
-- }
--
-- switch (restype) {
-- case IORESOURCE_IO:
-- parent = &ioport_resource;
-- err = gen_pci_calc_io_offset(dev, &range, res, &offset);
-- break;
-- case IORESOURCE_MEM:
-- parent = &iomem_resource;
-- err = gen_pci_calc_mem_offset(dev, &range, res, &offset);
-- res_valid |= !(res->flags & IORESOURCE_PREFETCH || err);
-- break;
-- default:
-- err = -EINVAL;
-- continue;
-- }
--
-- if (err) {
-- dev_warn(dev,
-- "error %d: failed to add resource [type 0x%x, %lld bytes]\n",
-- err, restype, range.size);
-- continue;
-- }
--
-- err = request_resource(parent, res);
-- if (err)
-- goto out_release_res;
--
-- pci_add_resource_offset(&pci->resources, res, offset);
-- }
--
-- if (!res_valid) {
-- dev_err(dev, "non-prefetchable memory resource required\n");
-- err = -EINVAL;
-- goto out_release_res;
-- }
--
-- return 0;
--
--out_release_res:
-- gen_pci_release_of_pci_ranges(pci);
-- return err;
--}
--
- static int gen_pci_parse_map_cfg_windows(struct gen_pci *pci)
- {
- int err;
-@@ -305,16 +222,33 @@ static int gen_pci_parse_map_cfg_windows
- return -ENOMEM;
- }
-
-- /* Register bus resource */
-- pci_add_resource(&pci->resources, bus_range);
- return 0;
- }
-
--static int gen_pci_setup(int nr, struct pci_sys_data *sys)
-+static int gen_pci_map_ranges(struct list_head *res,
-+ resource_size_t io_base)
- {
-- struct gen_pci *pci = sys->private_data;
-- list_splice_init(&pci->resources, &sys->resources);
-- return 1;
-+ struct pci_host_bridge_window *window;
-+ int ret;
-+
-+ list_for_each_entry(window, res, list) {
-+ struct resource *res = window->res;
-+ u64 restype = resource_type(res);
-+
-+ switch (restype) {
-+ case IORESOURCE_IO:
-+ ret = pci_remap_iospace(res, io_base);
-+ if (ret < 0)
-+ return ret;
-+ break;
-+ case IORESOURCE_MEM:
-+ case IORESOURCE_BUS:
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+ }
-+ return 0;
- }
-
- static int gen_pci_probe(struct platform_device *pdev)
-@@ -325,14 +259,11 @@ static int gen_pci_probe(struct platform
- const int *prop;
- struct device *dev = &pdev->dev;
- struct device_node *np = dev->of_node;
-+ resource_size_t iobase = 0;
- struct gen_pci *pci = devm_kzalloc(dev, sizeof(*pci), GFP_KERNEL);
-- struct hw_pci hw = {
-- .nr_controllers = 1,
-- .private_data = (void **)&pci,
-- .setup = gen_pci_setup,
-- .map_irq = of_irq_parse_and_map_pci,
-- .ops = &gen_pci_ops,
-- };
-+ struct pci_bus *bus;
-+ struct pci_dev *pci_dev = NULL;
-+ bool probe_only = false;
-
- if (!pci)
- return -ENOMEM;
-@@ -346,9 +277,9 @@ static int gen_pci_probe(struct platform
- prop = of_get_property(of_chosen, "linux,pci-probe-only", NULL);
- if (prop) {
- if (*prop)
-- pci_add_flags(PCI_PROBE_ONLY);
-+ probe_only = true;
- else
-- pci_clear_flags(PCI_PROBE_ONLY);
-+ probe_only = false;
- }
-
- of_id = of_match_node(gen_pci_of_match, np);
-@@ -357,20 +288,40 @@ static int gen_pci_probe(struct platform
- INIT_LIST_HEAD(&pci->host.windows);
- INIT_LIST_HEAD(&pci->resources);
-
-- /* Parse our PCI ranges and request their resources */
-- err = gen_pci_parse_request_of_pci_ranges(pci);
-+ err = of_pci_get_host_bridge_resources(np, 0, 0xff,
-+ &pci->resources, &iobase);
- if (err)
- return err;
-
- /* Parse and map our Configuration Space windows */
- err = gen_pci_parse_map_cfg_windows(pci);
-- if (err) {
-- gen_pci_release_of_pci_ranges(pci);
-- return err;
-+ if (err)
-+ goto fail;
-+
-+ err = gen_pci_map_ranges(&pci->resources, iobase);
-+ if (err)
-+ goto fail;
-+
-+ err = -ENOMEM;
-+ platform_set_drvdata(pdev, pci);
-+ bus = pci_scan_root_bus(dev, 0, &gen_pci_ops, gen_sysdata,
-+ &pci->resources);
-+ if (!bus)
-+ goto fail;
-+
-+ for_each_pci_dev(pci_dev)
-+ pci_dev->irq = of_irq_parse_and_map_pci(pci_dev, 0, 0);
-+
-+ if (!probe_only) {
-+ pci_bus_size_bridges(bus);
-+ pci_bus_assign_resources(bus);
-+ pci_bus_add_devices(bus);
- }
-
-- pci_common_init_dev(dev, &hw);
- return 0;
-+ fail:
-+ gen_pci_release_of_pci_ranges(pci);
-+ return err;
- }
-
- static struct platform_driver gen_pci_driver = {
++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/0001-bcache-Add-a-cond_resched-call-to-gc.patch new/patches.drivers/0001-bcache-Add-a-cond_resched-call-to-gc.patch
--- old/patches.drivers/0001-bcache-Add-a-cond_resched-call-to-gc.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/0001-bcache-Add-a-cond_resched-call-to-gc.patch 2015-02-10 16:08:37.000000000 +0100
@@ -0,0 +1,25 @@
+From f0e6320a7874af434575f37a11ec6e4992cef790 Mon Sep 17 00:00:00 2001
+From: Kent Overstreet <kmo(a)daterainc.com>
+Date: Sat, 1 Nov 2014 13:44:47 -0700
+Subject: [PATCH 1/5] bcache: Add a cond_resched() call to gc
+Git-commit: f0e6320a7874af434575f37a11ec6e4992cef790
+Patch-mainline: Submitted
+References: bnc#910440
+
+Change-id: Id4f18c533b80ddb40df94ed0bb5e2a236a4bc325
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/md/bcache/btree.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/md/bcache/btree.c
++++ b/drivers/md/bcache/btree.c
+@@ -1741,6 +1741,7 @@ static void bch_btree_gc(struct cache_se
+ do {
+ ret = btree_root(gc_root, c, &op, &writes, &stats);
+ closure_sync(&writes);
++ cond_resched();
+
+ if (ret && ret != -EAGAIN)
+ pr_warn("gc failed!");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/0002-bcache-BUG-clear-BCACHE_DEV_UNLINK_DONE-flag-when-at.patch new/patches.drivers/0002-bcache-BUG-clear-BCACHE_DEV_UNLINK_DONE-flag-when-at.patch
--- old/patches.drivers/0002-bcache-BUG-clear-BCACHE_DEV_UNLINK_DONE-flag-when-at.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/0002-bcache-BUG-clear-BCACHE_DEV_UNLINK_DONE-flag-when-at.patch 2015-02-10 16:08:37.000000000 +0100
@@ -0,0 +1,98 @@
+From add5dd0299da7b1b748d1bd90d7aece23a293e30 Mon Sep 17 00:00:00 2001
+From: Zheng Liu <wenqing.lz(a)taobao.com>
+Date: Mon, 13 Oct 2014 21:26:41 +0800
+Subject: [PATCH 2/5] bcache: [BUG] clear BCACHE_DEV_UNLINK_DONE flag when attaching a backing device
+Git-commit: add5dd0299da7b1b748d1bd90d7aece23a293e30
+Patch-mainline: Submitted
+References: bnc#910440
+
+This bug can be reproduced by the following script:
+
+ #!/bin/bash
+
+ bcache_sysfs="/sys/fs/bcache"
+
+ function clear_cache()
+ {
+ if [ ! -e $bcache_sysfs ]; then
+ echo "no bcache sysfs"
+ exit
+ fi
+
+ cset_uuid=$(ls -l $bcache_sysfs|head -n 2|tail -n 1|awk '{print $9}')
+ sudo sh -c "echo $cset_uuid > /sys/block/sdb/sdb1/bcache/detach"
+ sleep 5
+ sudo sh -c "echo $cset_uuid > /sys/block/sdb/sdb1/bcache/attach"
+ }
+
+ for ((i=0;i<10;i++)); do
+ clear_cache
+ done
+
+The warning messages look like below:
+[ 275.948611] ------------[ cut here ]------------
+[ 275.963840] WARNING: at fs/sysfs/dir.c:512 sysfs_add_one+0xb8/0xd0() (Tainted: P W --------------- )
+[ 275.979253] Hardware name: Tecal RH2285
+[ 275.994106] sysfs: cannot create duplicate filename '/devices/pci0000:00/0000:00:09.0/0000:08:00.0/host4/target4:2:1/4:2:1:0/block/sdb/sdb1/bcache/cache'
+[ 276.024105] Modules linked in: bcache tcp_diag inet_diag ipmi_devintf ipmi_si ipmi_msghandler bonding 8021q garp stp llc ipv6 ext3 jbd loop sg iomemory_vsl(P) bnx2 microcode serio_raw i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support i7core_edac edac_core shpchp ext4 jbd2 mbcache megaraid_sas pata_acpi ata_generic ata_piix dm_mod [last unloaded: scsi_wait_scan]
+[ 276.072643] Pid: 2765, comm: sh Tainted: P W --------------- 2.6.32 #1
+[ 276.089315] Call Trace:
+[ 276.105801] [<ffffffff81070fe7>] ? warn_slowpath_common+0x87/0xc0
+[ 276.122650] [<ffffffff810710d6>] ? warn_slowpath_fmt+0x46/0x50
+[ 276.139361] [<ffffffff81205c08>] ? sysfs_add_one+0xb8/0xd0
+[ 276.156012] [<ffffffff8120609b>] ? sysfs_do_create_link+0x12b/0x170
+[ 276.172682] [<ffffffff81206113>] ? sysfs_create_link+0x13/0x20
+[ 276.189282] [<ffffffffa03bda21>] ? bcache_device_link+0xc1/0x110 [bcache]
+[ 276.205993] [<ffffffffa03bfa08>] ? bch_cached_dev_attach+0x478/0x4f0 [bcache]
+[ 276.222794] [<ffffffffa03c4a17>] ? bch_cached_dev_store+0x627/0x780 [bcache]
+[ 276.239680] [<ffffffff8116783a>] ? alloc_pages_current+0xaa/0x110
+[ 276.256594] [<ffffffff81203b15>] ? sysfs_write_file+0xe5/0x170
+[ 276.273364] [<ffffffff811887b8>] ? vfs_write+0xb8/0x1a0
+[ 276.290133] [<ffffffff811890b1>] ? sys_write+0x51/0x90
+[ 276.306368] [<ffffffff8100c072>] ? system_call_fastpath+0x16/0x1b
+[ 276.322301] ---[ end trace 9f5d4fcdd0c3edfb ]---
+[ 276.338241] ------------[ cut here ]------------
+[ 276.354109] WARNING: at /home/wenqing.lz/bcache/bcache/super.c:720 bcache_device_link+0xdf/0x110 [bcache]() (Tainted: P W --------------- )
+[ 276.386017] Hardware name: Tecal RH2285
+[ 276.401430] Couldn't create device <-> cache set symlinks
+[ 276.401759] Modules linked in: bcache tcp_diag inet_diag ipmi_devintf ipmi_si ipmi_msghandler bonding 8021q garp stp llc ipv6 ext3 jbd loop sg iomemory_vsl(P) bnx2 microcode serio_raw i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support i7core_edac edac_core shpchp ext4 jbd2 mbcache megaraid_sas pata_acpi ata_generic ata_piix dm_mod [last unloaded: scsi_wait_scan]
+[ 276.465477] Pid: 2765, comm: sh Tainted: P W --------------- 2.6.32 #1
+[ 276.482169] Call Trace:
+[ 276.498610] [<ffffffff81070fe7>] ? warn_slowpath_common+0x87/0xc0
+[ 276.515405] [<ffffffff810710d6>] ? warn_slowpath_fmt+0x46/0x50
+[ 276.532059] [<ffffffffa03bda3f>] ? bcache_device_link+0xdf/0x110 [bcache]
+[ 276.548808] [<ffffffffa03bfa08>] ? bch_cached_dev_attach+0x478/0x4f0 [bcache]
+[ 276.565569] [<ffffffffa03c4a17>] ? bch_cached_dev_store+0x627/0x780 [bcache]
+[ 276.582418] [<ffffffff8116783a>] ? alloc_pages_current+0xaa/0x110
+[ 276.599341] [<ffffffff81203b15>] ? sysfs_write_file+0xe5/0x170
+[ 276.616142] [<ffffffff811887b8>] ? vfs_write+0xb8/0x1a0
+[ 276.632607] [<ffffffff811890b1>] ? sys_write+0x51/0x90
+[ 276.648671] [<ffffffff8100c072>] ? system_call_fastpath+0x16/0x1b
+[ 276.664756] ---[ end trace 9f5d4fcdd0c3edfc ]---
+
+We forget to clear BCACHE_DEV_UNLINK_DONE flag in bcache_device_attach()
+function when we attach a backing device first time. After detaching this
+backing device, this flag will be true and sysfs_remove_link() isn't called in
+bcache_device_unlink(). Then when we attach this backing device again,
+sysfs_create_link() will return EEXIST error in bcache_device_link().
+
+So the fix is trival and we clear this flag in bcache_device_link().
+
+Signed-off-by: Zheng Liu <wenqing.lz(a)taobao.com>
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/md/bcache/super.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/md/bcache/super.c
++++ b/drivers/md/bcache/super.c
+@@ -708,6 +708,8 @@ static void bcache_device_link(struct bc
+ WARN(sysfs_create_link(&d->kobj, &c->kobj, "cache") ||
+ sysfs_create_link(&c->kobj, &d->kobj, d->name),
+ "Couldn't create device <-> cache set symlinks");
++
++ clear_bit(BCACHE_DEV_UNLINK_DONE, &d->flags);
+ }
+
+ static void bcache_device_detach(struct bcache_device *d)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/0003-bcache-fix-a-livelock-in-btree-lock.patch new/patches.drivers/0003-bcache-fix-a-livelock-in-btree-lock.patch
--- old/patches.drivers/0003-bcache-fix-a-livelock-in-btree-lock.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/0003-bcache-fix-a-livelock-in-btree-lock.patch 2015-02-10 16:08:37.000000000 +0100
@@ -0,0 +1,59 @@
+From f6ecd8d22a23fe0842c21e0daa301fc9f3596e9a Mon Sep 17 00:00:00 2001
+From: Zheng Liu <wenqing.lz(a)taobao.com>
+Date: Sat, 18 Oct 2014 20:51:44 +0800
+Subject: [PATCH 3/5] bcache: fix a livelock in btree lock
+Git-commit: f6ecd8d22a23fe0842c21e0daa301fc9f3596e9a
+Patch-mainline: Submitted
+References: bnc#910440
+
+This commit tries to fix a livelock in bcache. This livelock might
+happen when we causes a huge number of cache misses simultaneously.
+
+When we get a cache miss, bcache will execute the following path.
+
+->cached_dev_make_request()
+ ->cached_dev_read()
+ ->cached_lookup()
+ ->bch->btree_map_keys()
+ ->btree_root() <------------------------
+ ->bch_btree_map_keys_recurse() |
+ ->cache_lookup_fn() |
+ ->cached_dev_cache_miss() |
+ ->bch_btree_insert_check_key() -|
+ [If btree->seq is not equal to seq + 1, we should return
+ EINTR and traverse btree again.]
+
+In bch_btree_insert_check_key() function we first need to check upgrade
+flag (op->lock == -1), and when this flag is true we need to release
+read btree->lock and try to take write btree->lock. During taking and
+releasing this write lock, btree->seq will be monotone increased in
+order to prevent other threads modify this in cache miss (see btree.h:74).
+But if there are some cache misses caused by some requested, we could
+meet a livelock because btree->seq is always changed by others. Thus no
+one can make progress.
+
+This commit will try to take write btree->lock if it encounters a race
+when we traverse btree. Although it sacrifice the scalability but we
+can ensure that only one can modify the btree.
+
+Signed-off-by: Zheng Liu <wenqing.lz(a)taobao.com>
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/md/bcache/btree.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/md/bcache/btree.c
++++ b/drivers/md/bcache/btree.c
+@@ -2163,8 +2163,10 @@ int bch_btree_insert_check_key(struct bt
+ rw_lock(true, b, b->level);
+
+ if (b->key.ptr[0] != btree_ptr ||
+- b->seq != seq + 1)
++ b->seq != seq + 1) {
++ op->lock = b->c->root->level + 1;
+ goto out;
++ }
+ }
+
+ SET_KEY_PTRS(check_key, 1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/0004-bcache-unregister-reboot-notifier-when-bcache-fails-.patch new/patches.drivers/0004-bcache-unregister-reboot-notifier-when-bcache-fails-.patch
--- old/patches.drivers/0004-bcache-unregister-reboot-notifier-when-bcache-fails-.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/0004-bcache-unregister-reboot-notifier-when-bcache-fails-.patch 2015-02-10 16:08:37.000000000 +0100
@@ -0,0 +1,32 @@
+From fe4430cb3ee51bea7909744780f5d9a43f34a2ba Mon Sep 17 00:00:00 2001
+From: Zheng Liu <wenqing.lz(a)taobao.com>
+Date: Sat, 18 Oct 2014 21:13:58 +0800
+Subject: [PATCH 4/5] bcache: unregister reboot notifier when bcache fails to register a block device
+Git-commit: fe4430cb3ee51bea7909744780f5d9a43f34a2ba
+Patch-mainline: Submitted
+References: bnc#910440
+
+In bcache_init() function it forgot to unregister reboot notifier if
+bcache fails to unregister a block device. This commit fixes this.
+
+Signed-off-by: Zheng Liu <wenqing.lz(a)taobao.com>
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/md/bcache/super.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/md/bcache/super.c
++++ b/drivers/md/bcache/super.c
+@@ -2102,8 +2102,10 @@ static int __init bcache_init(void)
+ closure_debug_init();
+
+ bcache_major = register_blkdev(0, "bcache");
+- if (bcache_major < 0)
++ if (bcache_major < 0) {
++ unregister_reboot_notifier(&reboot);
+ return bcache_major;
++ }
+
+ if (!(bcache_wq = create_workqueue("bcache")) ||
+ !(bcache_kobj = kobject_create_and_add("bcache", fs_kobj)) ||
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/0005-fix-a-leak-in-bch_cached_dev_run.patch new/patches.drivers/0005-fix-a-leak-in-bch_cached_dev_run.patch
--- old/patches.drivers/0005-fix-a-leak-in-bch_cached_dev_run.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/0005-fix-a-leak-in-bch_cached_dev_run.patch 2015-02-10 16:08:37.000000000 +0100
@@ -0,0 +1,30 @@
+From ffe2045114ce7148e0bed9dec77788983329bd09 Mon Sep 17 00:00:00 2001
+From: Al Viro <viro(a)ZenIV.linux.org.uk>
+Date: Thu, 30 Oct 2014 05:42:09 +0000
+Subject: [PATCH 5/5] fix a leak in bch_cached_dev_run()
+Git-commit: ffe2045114ce7148e0bed9dec77788983329bd09
+Patch-mainline: Submitted
+References: bnc#910440
+
+Signed-off-by: Al Viro <viro(a)zeniv.linux.org.uk>
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/md/bcache/super.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/drivers/md/bcache/super.c
++++ b/drivers/md/bcache/super.c
+@@ -880,8 +880,11 @@ void bch_cached_dev_run(struct cached_de
+ buf[SB_LABEL_SIZE] = '\0';
+ env[2] = kasprintf(GFP_KERNEL, "CACHED_LABEL=%s", buf);
+
+- if (atomic_xchg(&dc->running, 1))
++ if (atomic_xchg(&dc->running, 1)) {
++ kfree(env[1]);
++ kfree(env[2]);
+ return;
++ }
+
+ if (!d->c &&
+ BDEV_STATE(&dc->sb) != BDEV_STATE_NONE) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/Bluetooth-Add-support-for-Broadcom-BCM20702A0-varian new/patches.drivers/Bluetooth-Add-support-for-Broadcom-BCM20702A0-varian
--- old/patches.drivers/Bluetooth-Add-support-for-Broadcom-BCM20702A0-varian 2015-01-08 20:35:25.000000000 +0100
+++ new/patches.drivers/Bluetooth-Add-support-for-Broadcom-BCM20702A0-varian 1970-01-01 01:00:00.000000000 +0100
@@ -1,87 +0,0 @@
-From 6029ddc2333ae37f637d44beef3a1480cbbb33b9 Mon Sep 17 00:00:00 2001
-From: Heinrich Siebmanns <harv(a)gmx.de>
-Date: Wed, 3 Dec 2014 19:32:22 +0100
-Subject: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0 variants firmware download
-Git-commit: 6029ddc2333ae37f637d44beef3a1480cbbb33b9
-Patch-mainline: 3.19-rc1
-References: bnc#911311
-
-This requires the flag BTUSB_BCM_PATCHRAM to work.
-
-Relevant details from /sys/kernel/debug/usb/devices for my device:
-
-T: Bus=03 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
-D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
-P: Vendor=0489 ProdID=e031 Rev= 1.12
-S: Manufacturer=Broadcom Corp
-S: Product=BCM20702A0
-S: SerialNumber=3859F9CD2AEE
-C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA
-I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
-E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
-E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
-E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
-I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
-E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
-E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
-I: If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
-E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
-E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
-I: If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
-E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
-E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
-I: If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
-E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
-E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
-I: If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
-E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
-E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
-I: If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
-E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
-E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
-I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
-E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms
-E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms
-I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
-
-The firmware was extracted from a Windows 7 32-bit installation
-and converted from 'hex' to 'hcd' for use in Linux.
-
-The firmware is named "BCM20702A0_001.001.024.0156.0204.hex"
-and is located in "%SYSTEMROOT%\system32\drivers\"
-(md5 d126e6c4e0e669d76c38cf9377f76b7f)
-(sha1 145d1850b2785a953233b409e7ff77786927c7d2)
-
-The firmware file is also available as a download at
-http://support.ts.fujitsu.com/Download/
-contained in "FTS_WIDCOMMBluetoothSoftware_6309000_1072149.zip"
-
-Search for the file Win32/bcbtums-win7x86-brcm.inf in the archive,
-look for the vendor and product ID of your adapter, see the section
-'devices' in that file to find out what device name it uses. See
-the device entry in the inf file (in my case it was 'RAMUSBE031')
-to find out which hex file you need to convert to hcd for upload
-
-'hcd' file should be placed at "brcm/BCM20702A0-0489-e031.hcd"
-inside the firmware directory (e.g. "/lib/firmware")
-
-Signed-off-by: Heinrich Siebmanns <harv(a)gmx.de>
-Signed-off-by: Marcel Holtmann <marcel(a)holtmann.org>
-Acked-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/bluetooth/btusb.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/bluetooth/btusb.c
-+++ b/drivers/bluetooth/btusb.c
-@@ -108,7 +108,8 @@ static const struct usb_device_id btusb_
- { USB_DEVICE(0x413c, 0x8197) },
-
- /* Foxconn - Hon Hai */
-- { USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01) },
-+ { USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01),
-+ .driver_info = BTUSB_BCM_PATCHRAM },
-
- /* Broadcom devices with vendor specific id */
- { USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/drm-Implement-O_NONBLOCK-support-on-dev-dri-cardN new/patches.drivers/drm-Implement-O_NONBLOCK-support-on-dev-dri-cardN
--- old/patches.drivers/drm-Implement-O_NONBLOCK-support-on-dev-dri-cardN 2015-01-08 20:35:25.000000000 +0100
+++ new/patches.drivers/drm-Implement-O_NONBLOCK-support-on-dev-dri-cardN 1970-01-01 01:00:00.000000000 +0100
@@ -1,52 +0,0 @@
-From bd008e5b2953186fc0c6633a885ade95e7043800 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris(a)chris-wilson.co.uk>
-Date: Tue, 7 Oct 2014 14:13:51 +0100
-Subject: [PATCH] drm: Implement O_NONBLOCK support on /dev/dri/cardN
-Git-commit: bd008e5b2953186fc0c6633a885ade95e7043800
-Patch-mainline: to be in 3.19-rc1
-Git-repo: linux-next
-References: bnc#904097
-
-The implmentation is simple in the extreme: we only want to wait for
-events if the device was opened in blocking mode, otherwise we grab what
-is available and report an error if there was none.
-
-Signed-off-by: Chris Wilson <chris(a)chris-wilson.co.uk>
-Cc: dri-devel(a)lists.freedesktop.org
-Reviewed-by: Jesse Barnes <jbarnes(a)virtuousgeek.org>
-Testcase: igt/kms_flip/nonblocing_read
-Signed-off-by: Daniel Vetter <daniel.vetter(a)ffwll.ch>
-Acked-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/gpu/drm/drm_fops.c | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
---- a/drivers/gpu/drm/drm_fops.c
-+++ b/drivers/gpu/drm/drm_fops.c
-@@ -590,10 +590,12 @@ ssize_t drm_read(struct file *filp, char
- size_t total;
- ssize_t ret;
-
-- ret = wait_event_interruptible(file_priv->event_wait,
-- !list_empty(&file_priv->event_list));
-- if (ret < 0)
-- return ret;
-+ if ((filp->f_flags & O_NONBLOCK) == 0) {
-+ ret = wait_event_interruptible(file_priv->event_wait,
-+ !list_empty(&file_priv->event_list));
-+ if (ret < 0)
-+ return ret;
-+ }
-
- total = 0;
- while (drm_dequeue_event(file_priv, total, count, &e)) {
-@@ -607,7 +609,7 @@ ssize_t drm_read(struct file *filp, char
- e->destroy(e);
- }
-
-- return total;
-+ return total ?: -EAGAIN;
- }
- EXPORT_SYMBOL(drm_read);
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/drm-i915-Don-t-call-intel_prepare_page_flip-multiple new/patches.drivers/drm-i915-Don-t-call-intel_prepare_page_flip-multiple
--- old/patches.drivers/drm-i915-Don-t-call-intel_prepare_page_flip-multiple 2015-01-08 20:35:25.000000000 +0100
+++ new/patches.drivers/drm-i915-Don-t-call-intel_prepare_page_flip-multiple 1970-01-01 01:00:00.000000000 +0100
@@ -1,85 +0,0 @@
-From 7d47559ee84b3ac206aa9e675606fafcd7c0b500 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala(a)linux.intel.com>
-Date: Wed, 17 Dec 2014 23:08:03 +0200
-Subject: [PATCH] drm/i915: Don't call intel_prepare_page_flip() multiple times on gen2-4
-Mime-version: 1.0
-Content-type: text/plain; charset=UTF-8
-Content-transfer-encoding: 8bit
-Git-commit: 7d47559ee84b3ac206aa9e675606fafcd7c0b500
-Git-repo: linux-next
-Patch-mainline: to be 3.19-rc4
-References: bnc#911835
-
-The flip stall detector kicks in when pending>=INTEL_FLIP_COMPLETE. That
-means if we first call intel_prepare_page_flip() but don't call
-intel_finish_page_flip(), the next stall check will erroneosly think
-the page flip was somehow stuck.
-
-With enough debug spew emitted from the interrupt handler my 830 hangs
-when this happens. My theory is that the previous vblank interrupt gets
-sufficiently delayed that the handler will see the pending bit set in
-IIR, but ISR still has the bit set as well (ie. the flip was processed
-by CS but didn't complete yet). In this case the handler will proceed
-to call intel_check_page_flip() immediately after
-intel_prepare_page_flip(). It then tries to print a backtrace for the
-stuck flip WARN, which apparetly results in way too much debug spew
-delaying interrupt processing further. That then seems to cause an
-endless loop in the interrupt handler, and the machine is dead until
-the watchdog kicks in and reboots. At least limiting the number of
-iterations of the loop in the interrupt handler also prevented the
-hang.
-
-So it seems better to not call intel_prepare_page_flip() without
-immediately calling intel_finish_page_flip(). The IIR/ISR trickery
-avoids races here so this is a perfectly safe thing to do.
-
-V2: Fix typo in commit message (checkpatch)
-
-Cc: stable(a)vger.kernel.org
-Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=88381
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85888
-Reviewed-by: Chris Wilson <chris(a)chris-wilson.co.uk>
-Signed-off-by: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
-Signed-off-by: Jani Nikula <jani.nikula(a)intel.com>
-Acked-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/gpu/drm/i915/i915_irq.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
---- a/drivers/gpu/drm/i915/i915_irq.c
-+++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -4022,8 +4022,6 @@ static bool i8xx_handle_vblank(struct dr
- if ((iir & flip_pending) == 0)
- goto check_page_flip;
-
-- intel_prepare_page_flip(dev, plane);
--
- /* We detect FlipDone by looking for the change in PendingFlip from '1'
- * to '0' on the following vblank, i.e. IIR has the Pendingflip
- * asserted following the MI_DISPLAY_FLIP, but ISR is deasserted, hence
-@@ -4033,6 +4031,7 @@ static bool i8xx_handle_vblank(struct dr
- if (I915_READ16(ISR) & flip_pending)
- goto check_page_flip;
-
-+ intel_prepare_page_flip(dev, plane);
- intel_finish_page_flip(dev, pipe);
- return true;
-
-@@ -4210,8 +4209,6 @@ static bool i915_handle_vblank(struct dr
- if ((iir & flip_pending) == 0)
- goto check_page_flip;
-
-- intel_prepare_page_flip(dev, plane);
--
- /* We detect FlipDone by looking for the change in PendingFlip from '1'
- * to '0' on the following vblank, i.e. IIR has the Pendingflip
- * asserted following the MI_DISPLAY_FLIP, but ISR is deasserted, hence
-@@ -4221,6 +4218,7 @@ static bool i915_handle_vblank(struct dr
- if (I915_READ(ISR) & flip_pending)
- goto check_page_flip;
-
-+ intel_prepare_page_flip(dev, plane);
- intel_finish_page_flip(dev, pipe);
- return true;
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/drm-radeon-fix-sad_count-check-for-dce3 new/patches.drivers/drm-radeon-fix-sad_count-check-for-dce3
--- old/patches.drivers/drm-radeon-fix-sad_count-check-for-dce3 2015-01-08 20:35:25.000000000 +0100
+++ new/patches.drivers/drm-radeon-fix-sad_count-check-for-dce3 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-From 5665c3ebe5ee8a2c516925461f7214ba59c2e6d7 Mon Sep 17 00:00:00 2001
-From: Alex Deucher <alexander.deucher(a)amd.com>
-Date: Tue, 9 Dec 2014 10:04:01 -0500
-Subject: [PATCH] drm/radeon: fix sad_count check for dce3
-Git-commit: 5665c3ebe5ee8a2c516925461f7214ba59c2e6d7
-Git-repo: git://people.freedesktop.org/~agd5f/linux
-Patch-mainline: Submitted
-References: bnc#911356
-
-Make it consistent with the sad code for other asics to deal
-with monitors that don't report sads.
-
-Bug:
-https://bugzilla.kernel.org/show_bug.cgi?id=89461
-
-Signed-off-by: Alex Deucher <alexander.deucher(a)amd.com>
-Cc: stable(a)vger.kernel.org
-Acked-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/gpu/drm/radeon/dce3_1_afmt.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/gpu/drm/radeon/dce3_1_afmt.c
-+++ b/drivers/gpu/drm/radeon/dce3_1_afmt.c
-@@ -103,7 +103,7 @@ static void dce3_2_afmt_write_sad_regs(s
- }
-
- sad_count = drm_edid_to_sad(radeon_connector->edid, &sads);
-- if (sad_count < 0) {
-+ if (sad_count <= 0) {
- DRM_ERROR("Couldn't read SADs: %d\n", sad_count);
- return;
- }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/hp_accel-Add-support-for-HP-ZBook-15 new/patches.drivers/hp_accel-Add-support-for-HP-ZBook-15
--- old/patches.drivers/hp_accel-Add-support-for-HP-ZBook-15 2015-01-08 20:35:25.000000000 +0100
+++ new/patches.drivers/hp_accel-Add-support-for-HP-ZBook-15 1970-01-01 01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-From: Dominique Leuenberger <dimstar(a)opensuse.org>
-Date: Thu, 13 Nov 2014 18:40:26 +0100
-Subject: [PATCH] hp_accel: Add support for HP ZBook 15
-Patch-mainline: Submitted
-References: bnc#905329
-
-HP ZBook 15 laptop needs a non-standard mapping (x_inverted).
-
-Buglink: http://bugzilla.opensuse.org/show_bug.cgi?id=905329
-Signed-off-by: Dominique Leuenberger <dimstar(a)opensuse.org>
-Cc: <stable(a)vger.kernel.org>
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/platform/x86/hp_accel.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/platform/x86/hp_accel.c
-+++ b/drivers/platform/x86/hp_accel.c
-@@ -237,6 +237,7 @@ static struct dmi_system_id lis3lv02d_dm
- AXIS_DMI_MATCH("HPB64xx", "HP ProBook 64", xy_swap),
- AXIS_DMI_MATCH("HPB64xx", "HP EliteBook 84", xy_swap),
- AXIS_DMI_MATCH("HPB65xx", "HP ProBook 65", x_inverted),
-+ AXIS_DMI_MATCH("HPZBook15", "HP ZBook 15", x_inverted),
- { NULL, }
- /* Laptop models without axis info (yet):
- * "NC6910" "HP Compaq 6910"
++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/0001-DocBook-Do-not-exceed-argument-list-limit.patch new/patches.fixes/0001-DocBook-Do-not-exceed-argument-list-limit.patch
--- old/patches.fixes/0001-DocBook-Do-not-exceed-argument-list-limit.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/0001-DocBook-Do-not-exceed-argument-list-limit.patch 2015-01-26 12:56:03.000000000 +0100
@@ -0,0 +1,35 @@
+From f06b6b4778a54a4b5af39b59af01ff6106c8ab68 Mon Sep 17 00:00:00 2001
+From: Michal Marek <mmarek(a)suse.cz>
+Date: Mon, 26 Jan 2015 11:25:26 +0100
+Subject: [PATCH] DocBook: Do not exceed argument list limit
+Patch-mainline: Submitted 2015-01-26
+
+Use find + xargs to compress the generated manpages. Without this patch,
+the build can fail with
+
+ gzip -f Documentation/DocBook/man/*.9
+ /bin/bash: /usr/bin/gzip: Argument list too long
+
+This happened with qemu user mode emulation on aarch64.
+
+Signed-off-by: Michal Marek <mmarek(a)suse.cz>
+---
+ Documentation/DocBook/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
+index 9c7d92d..b6a6a2e 100644
+--- a/Documentation/DocBook/Makefile
++++ b/Documentation/DocBook/Makefile
+@@ -56,7 +56,7 @@ htmldocs: $(HTML)
+
+ MAN := $(patsubst %.xml, %.9, $(BOOKS))
+ mandocs: $(MAN)
+- $(if $(wildcard $(obj)/man/*.9),gzip -f $(obj)/man/*.9)
++ find $(obj)/man -name '*.9' | xargs gzip -f
+
+ installmandocs: mandocs
+ mkdir -p /usr/local/man/man9/
+--
+2.1.2
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/dm-table-switch-to-readonly new/patches.fixes/dm-table-switch-to-readonly
--- old/patches.fixes/dm-table-switch-to-readonly 2015-01-06 21:02:06.000000000 +0100
+++ new/patches.fixes/dm-table-switch-to-readonly 2015-01-26 12:56:03.000000000 +0100
@@ -75,9 +75,9 @@
+ set_disk_ro(md->disk, 1);
+ else
+ set_disk_ro(md->disk, 0);
- dm_sync_table(md);
+ if (old_map)
+ dm_sync_table(md);
- return old_map;
--- source.orig/drivers/md/dm-table.c
+++ source/drivers/md/dm-table.c
@@ -404,6 +404,9 @@ int dm_get_device(struct dm_target *ti,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete new/patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete
--- old/patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete 2015-01-06 21:02:06.000000000 +0100
+++ new/patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete 1970-01-01 01:00:00.000000000 +0100
@@ -1,78 +0,0 @@
-From: Takashi Iwai <tiwai(a)suse.de>
-Subject: [PATCH] [media] uvc: Fix destruction order in uvc_delete()
-References: bnc#897736
-Patch-mainline: Submitted
-
-We've got a bug report at disconnecting a Webcam, where the kernel
-spews warnings like below:
- WARNING: CPU: 0 PID: 8385 at ../fs/sysfs/group.c:219 sysfs_remove_group+0x87/0x90()
- sysfs group c0b2350c not found for kobject 'event3'
- CPU: 0 PID: 8385 Comm: queue2:src Not tainted 3.16.2-1.gdcee397-default #1
- Hardware name: ASUSTeK Computer INC. A7N8X-E/A7N8X-E, BIOS ASUS A7N8X-E Deluxe ACPI BIOS Rev 1013 11/12/2004
- c08d0705 ddc75cbc c0718c5b ddc75ccc c024b654 c08c6d44 ddc75ce8 000020c1
- c08d0705 000000db c03d1ec7 c03d1ec7 00000009 00000000 c0b2350c d62c9064
- ddc75cd4 c024b6a3 00000009 ddc75ccc c08c6d44 ddc75ce8 ddc75cfc c03d1ec7
- Call Trace:
- [<c0205ba6>] try_stack_unwind+0x156/0x170
- [<c02046f3>] dump_trace+0x53/0x180
- [<c0205c06>] show_trace_log_lvl+0x46/0x50
- [<c0204871>] show_stack_log_lvl+0x51/0xe0
- [<c0205c67>] show_stack+0x27/0x50
- [<c0718c5b>] dump_stack+0x3e/0x4e
- [<c024b654>] warn_slowpath_common+0x84/0xa0
- [<c024b6a3>] warn_slowpath_fmt+0x33/0x40
- [<c03d1ec7>] sysfs_remove_group+0x87/0x90
- [<c05a2c54>] device_del+0x34/0x180
- [<c05e3989>] evdev_disconnect+0x19/0x50
- [<c05e06fa>] __input_unregister_device+0x9a/0x140
- [<c05e0845>] input_unregister_device+0x45/0x80
- [<f854b1d6>] uvc_delete+0x26/0x110 [uvcvideo]
- [<f84d66f8>] v4l2_device_release+0x98/0xc0 [videodev]
- [<c05a25bb>] device_release+0x2b/0x90
- [<c04ad8bf>] kobject_cleanup+0x6f/0x1a0
- [<f84d5453>] v4l2_release+0x43/0x70 [videodev]
- [<c0372f31>] __fput+0xb1/0x1b0
- [<c02650c1>] task_work_run+0x91/0xb0
- [<c024d845>] do_exit+0x265/0x910
- [<c024df64>] do_group_exit+0x34/0xa0
- [<c025a76f>] get_signal_to_deliver+0x17f/0x590
- [<c0201b6a>] do_signal+0x3a/0x960
- [<c02024f7>] do_notify_resume+0x67/0x90
- [<c071ebb5>] work_notifysig+0x30/0x3b
- [<b7739e60>] 0xb7739e5f
- ---[ end trace b1e56095a485b631 ]---
-
-The cause is that uvc_status_cleanup() is called after usb_put_*() in
-uvc_delete(). usb_put_*() removes the sysfs parent and eventually
-removes the children recursively, so the later device_del() can't find
-its sysfs. The fix is simply rearrange the call orders in
-uvc_delete() so that the child is removed before the parent.
-
-Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=897736
-Reported-and-tested-by: Martin Pluskal <mpluskal(a)suse.com>
-Acked-by: Laurent Pinchart <laurent.pinchart(a)ideasonboard.com>
-Cc: <stable(a)vger.kernel.org>
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/media/usb/uvc/uvc_driver.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/media/usb/uvc/uvc_driver.c
-+++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -1623,12 +1623,12 @@ static void uvc_delete(struct uvc_device
- {
- struct list_head *p, *n;
-
-- usb_put_intf(dev->intf);
-- usb_put_dev(dev->udev);
--
- uvc_status_cleanup(dev);
- uvc_ctrl_cleanup_device(dev);
-
-+ usb_put_intf(dev->intf);
-+ usb_put_dev(dev->udev);
-+
- if (dev->vdev.dev)
- v4l2_device_unregister(&dev->vdev);
- #ifdef CONFIG_MEDIA_CONTROLLER
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/parport-parport_pc-do-not-remove-parent-devices-earl new/patches.fixes/parport-parport_pc-do-not-remove-parent-devices-earl
--- old/patches.fixes/parport-parport_pc-do-not-remove-parent-devices-earl 2015-01-06 21:02:06.000000000 +0100
+++ new/patches.fixes/parport-parport_pc-do-not-remove-parent-devices-earl 1970-01-01 01:00:00.000000000 +0100
@@ -1,82 +0,0 @@
-From 91905b6f4afe51e23a3f58df93e4cdc5e49cf40c Mon Sep 17 00:00:00 2001
-From: Jiri Slaby <jslaby(a)suse.cz>
-Date: Fri, 21 Nov 2014 10:05:09 +0100
-Subject: [PATCH] parport: parport_pc, do not remove parent devices early
-Git-commit: 91905b6f4afe51e23a3f58df93e4cdc5e49cf40c
-Patch-mainline: 3.19-rc1
-References: bnc#856659
-
-When the parport_pc module is removed from the system, all parport
-devices are iterated in parport_pc_exit and removed by a call to
-parport_pc_unregister_port. Note that some parport devices have its
-'struct device' parent, known as port->dev. And when port->dev is a
-platform device, it is destroyed in parport_pc_exit too.
-
-Now, when parport_pc_unregister_port is called for a going port,
-drv->detach(port) is called for every parport driver in the system.
-ppdev can be one of them. ppdev's detach() tears down its per-port
-sysfs directory, which established port->dev as a parent earlier.
-
-But since parport_pc_exit kills port->dev parents before unregisters
-ports proper, ppdev's sysfs directory has no living parent anymore.
-This results in the following warning:
-
-Warning: CPU: 1 PID: 785 at fs/sysfs/group.c:219 sysfs_remove_group+0x9b/0xa0
-sysfs group ffffffff81c69e20 not found for kobject 'parport1'
-Modules linked in: parport_pc(E-) ppdev(E) [last unloaded: ppdev]
-Cpu: 1 PID: 785 Comm: rmmod Tainted: G W E 3.18.0-rc5-next-20141120+ #824
-...
-Call Trace:
-...
- [<ffffffff810aff76>] warn_slowpath_fmt+0x46/0x50
- [<ffffffff8123d81b>] sysfs_remove_group+0x9b/0xa0
- [<ffffffff814c27e7>] dpm_sysfs_remove+0x57/0x60
- [<ffffffff814b6ac9>] device_del+0x49/0x240
- [<ffffffff814b6ce2>] device_unregister+0x22/0x70
- [<ffffffff814b6dac>] device_destroy+0x3c/0x50
- [<ffffffffc012209a>] pp_detach+0x4a/0x60 [ppdev]
- [<ffffffff814b32dd>] parport_remove_port+0x11d/0x150
- [<ffffffffc0137328>] parport_pc_unregister_port+0x28/0xf0 [parport_pc]
- [<ffffffffc0138c0e>] parport_pc_exit+0x76/0x468 [parport_pc]
- [<ffffffff81128dbc>] SyS_delete_module+0x18c/0x230
-
-It is also easily reproducible on qemu with two dummy ports '-parallel
-/dev/null -parallel /dev/null'.
-
-So switch the order of killing the two structures. But since port is
-freed by parport_pc_unregister_port, we have to remember port->dev
-in a local variable.
-
-Perhaps nothing worse than the warning happens thanks to the device
-refcounting. We *should* be on the safe side.
-
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
-Reviewed-by: Takashi Iwai <tiwai(a)suse.de>
-Tested-by: Martin Pluskal <mpluskal(a)suse.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
-Acked-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/parport/parport_pc.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
---- a/drivers/parport/parport_pc.c
-+++ b/drivers/parport/parport_pc.c
-@@ -3310,13 +3310,14 @@ static void __exit parport_pc_exit(void)
- while (!list_empty(&ports_list)) {
- struct parport_pc_private *priv;
- struct parport *port;
-+ struct device *dev;
- priv = list_entry(ports_list.next,
- struct parport_pc_private, list);
- port = priv->port;
-- if (port->dev && port->dev->bus == &platform_bus_type)
-- platform_device_unregister(
-- to_platform_device(port->dev));
-+ dev = port->dev;
- parport_pc_unregister_port(port);
-+ if (dev && dev->bus == &platform_bus_type)
-+ platform_device_unregister(to_platform_device(dev));
- }
- }
-
++++++ patches.kernel.org.tar.bz2 ++++++
++++ 9538 lines of diff (skipped)
++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/dm-emulate-blkrrpart-ioctl new/patches.suse/dm-emulate-blkrrpart-ioctl
--- old/patches.suse/dm-emulate-blkrrpart-ioctl 2014-11-26 17:22:30.000000000 +0100
+++ new/patches.suse/dm-emulate-blkrrpart-ioctl 2015-01-21 19:22:32.000000000 +0100
@@ -10,42 +10,26 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- drivers/md/dm.c | 22 ++++++++++++++--------
- 1 file changed, 14 insertions(+), 8 deletions(-)
+ drivers/md/dm.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
-@@ -421,19 +421,25 @@ static int dm_blk_ioctl(struct block_dev
+@@ -522,6 +522,17 @@ retry:
if (!map || !dm_table_get_size(map))
goto out;
-- /* We only support devices that have a single target */
-- if (dm_table_get_num_targets(map) != 1)
-- goto out;
--
-- tgt = dm_table_get_target(map, 0);
--
- if (dm_suspended_md(md)) {
- r = -EAGAIN;
- goto out;
- }
-
-- if (tgt->type->ioctl)
-- r = tgt->type->ioctl(tgt, cmd, arg);
+ if (cmd == BLKRRPART) {
-+ /* Emulate Re-read partitions table */
-+ kobject_uevent(&disk_to_dev(md->disk)->kobj, KOBJ_CHANGE);
-+ r = 0;
-+ } else {
-+ /* We only support devices that have a single target */
-+ if (dm_table_get_num_targets(map) != 1)
++ r = -EAGAIN;
++ if (dm_suspended_md(md))
+ goto out;
++ r = 0;
+
-+ tgt = dm_table_get_target(map, 0);
-+
-+ if (tgt->type->ioctl)
-+ r = tgt->type->ioctl(tgt, cmd, arg);
++ /* Emulate Re-read partitions table */
++ kobject_uevent(&disk_to_dev(md->disk)->kobj, KOBJ_CHANGE);
++ goto out;
+ }
-
- out:
- dm_put_live_table(md, srcu_idx);
++
+ /* We only support devices that have a single target */
+ if (dm_table_get_num_targets(map) != 1)
+ goto out;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/readahead-request-tunables.patch new/patches.suse/readahead-request-tunables.patch
--- old/patches.suse/readahead-request-tunables.patch 2014-11-26 17:22:30.000000000 +0100
+++ new/patches.suse/readahead-request-tunables.patch 2015-01-21 19:22:32.000000000 +0100
@@ -1,12 +1,18 @@
From: Jan Kara <jack(a)suse.cz>
-Subject: Update readahead and max_sectors tunables
+Subject: Update readahead tunable
References: bnc#548529
Patch-mainline: no
-Increase read_ahead_kb and max_sectors_kb to values from SLES10 SP3 to get
+Increase read_ahead_kb to values from SLES10 SP3 to get
back sequential IO performance if we are not compiling a -desktop kernel
flavor.
+Update jeffm 21 Dec 2014:
+- BLK_DEF_MAX_SECTORS was removed in 3.19-rc1.
+- read_ahead_kb really should be a sysctl, but systemd magic needs to
+ happen to get the ordering right. Otherwise, it'll be applied after
+ the local file systems are mounted and it'll have no effect.
+
Signed-off-by: Jan Kara <jack(a)suse.cz>
---
@@ -14,20 +20,6 @@
include/linux/mm.h | 4 ++++
2 files changed, 8 insertions(+)
---- a/include/linux/blkdev.h
-+++ b/include/linux/blkdev.h
-@@ -947,7 +947,11 @@ extern int blk_verify_command(unsigned c
- enum blk_default_limits {
- BLK_MAX_SEGMENTS = 128,
- BLK_SAFE_MAX_SECTORS = 255,
-+#ifndef CONFIG_KERNEL_DESKTOP
-+ BLK_DEF_MAX_SECTORS = 2048,
-+#else
- BLK_DEF_MAX_SECTORS = 1024,
-+#endif
- BLK_MAX_SEGMENT_SIZE = 65536,
- BLK_SEG_BOUNDARY_MASK = 0xFFFFFFFFUL,
- };
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1307,7 +1307,11 @@ int write_one_page(struct page *page, in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/scsi-netlink-ml new/patches.suse/scsi-netlink-ml
--- old/patches.suse/scsi-netlink-ml 2014-11-26 17:22:30.000000000 +0100
+++ new/patches.suse/scsi-netlink-ml 2015-01-21 19:22:32.000000000 +0100
@@ -27,9 +27,9 @@
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
@@ -34,6 +36,7 @@
- #include <scsi/scsi_transport.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_ioctl.h>
+ #include <scsi/sg.h>
+#include <scsi/scsi_netlink_ml.h>
#include "scsi_priv.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/setuid-dumpable-wrongdir new/patches.suse/setuid-dumpable-wrongdir
--- old/patches.suse/setuid-dumpable-wrongdir 2014-11-26 17:22:30.000000000 +0100
+++ new/patches.suse/setuid-dumpable-wrongdir 2015-01-21 19:22:32.000000000 +0100
@@ -39,9 +39,9 @@
--- a/kernel/sysctl_binary.c
+++ b/kernel/sysctl_binary.c
@@ -138,6 +138,7 @@ static const struct bin_table bin_kern_t
- { CTL_INT, KERN_COMPAT_LOG, "compat-log" },
{ CTL_INT, KERN_MAX_LOCK_DEPTH, "max_lock_depth" },
{ CTL_INT, KERN_PANIC_ON_NMI, "panic_on_unrecovered_nmi" },
+ { CTL_INT, KERN_PANIC_ON_WARN, "panic_on_warn" },
+ { CTL_INT, KERN_SETUID_DUMPABLE, "suid_dumpable" },
{}
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/stack-unwind new/patches.suse/stack-unwind
--- old/patches.suse/stack-unwind 2014-11-26 17:22:30.000000000 +0100
+++ new/patches.suse/stack-unwind 2015-01-21 19:22:32.000000000 +0100
@@ -106,7 +106,7 @@
/* The form of the top of the frame on the stack */
--- a/arch/x86/include/asm/switch_to.h
+++ b/arch/x86/include/asm/switch_to.h
-@@ -100,12 +100,22 @@ do { \
+@@ -100,16 +100,26 @@ do {
#define __switch_canary_iparam
#endif /* CC_STACKPROTECTOR */
@@ -119,7 +119,11 @@
+#define THREAD_RETURN_SYM
+#endif
+
- /* Save restore flags to clear handle leaking NT */
+ /*
+ * There is no need to save or restore flags, because flags are always
+ * clean in kernel mode, with the possible exception of IOPL. Kernel IOPL
+ * has no effect.
+ */
#define switch_to(prev, next, last) \
asm volatile(SAVE_CONTEXT \
"movq %%rsp,%P[threadrsp](%[prev])\n\t" /* save RSP */ \
@@ -748,7 +752,7 @@
#include <linux/key.h>
+#include <linux/unwind.h>
#include <linux/buffer_head.h>
- #include <linux/page_cgroup.h>
+ #include <linux/page_ext.h>
#include <linux/debug_locks.h>
@@ -507,6 +508,7 @@ asmlinkage __visible void __init start_k
* Need to run as early as possible, to initialize the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/supported-flag new/patches.suse/supported-flag
--- old/patches.suse/supported-flag 2014-11-26 17:22:30.000000000 +0100
+++ new/patches.suse/supported-flag 2015-01-21 19:22:32.000000000 +0100
@@ -30,7 +30,7 @@
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
-@@ -3462,6 +3462,14 @@ bytes respectively. Such letter suffixes
+@@ -3654,6 +3654,14 @@ bytes respectively. Such letter suffixes
unknown_nmi_panic
[X86] Cause panic on unknown NMI.
@@ -47,7 +47,7 @@
(default -1 = authorized except for wireless USB,
--- a/Documentation/sysctl/kernel.txt
+++ b/Documentation/sysctl/kernel.txt
-@@ -827,6 +827,18 @@ can be ORed together:
+@@ -843,6 +843,18 @@ can be ORed together:
8192 - An unsigned module has been loaded in a kernel supporting module
signature.
16384 - A soft lockup has previously occurred on the system.
@@ -68,7 +68,7 @@
--- a/Makefile
+++ b/Makefile
-@@ -416,6 +416,11 @@ KBUILD_AFLAGS_MODULE := -DMODULE
+@@ -411,6 +411,11 @@ KBUILD_AFLAGS_MODULE := -DMODULE
KBUILD_CFLAGS_MODULE := -DMODULE
KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
@@ -82,10 +82,10 @@
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
-@@ -425,6 +425,9 @@ extern int panic_timeout;
- extern int panic_on_oops;
+@@ -425,6 +425,9 @@ extern int panic_on_oops;
extern int panic_on_unrecovered_nmi;
extern int panic_on_io_nmi;
+ extern int panic_on_warn;
+#ifdef CONFIG_SUSE_KERNEL_SUPPORTED
+extern int unsupported;
+#endif
@@ -110,7 +110,7 @@
#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4]
--- a/include/linux/module.h
+++ b/include/linux/module.h
-@@ -395,6 +395,9 @@ struct module *__module_address(unsigned
+@@ -381,6 +381,9 @@ struct module *__module_address(unsigned
bool is_module_address(unsigned long addr);
bool is_module_percpu_address(unsigned long addr);
bool is_module_text_address(unsigned long addr);
@@ -155,14 +155,14 @@
+#ifdef CONFIG_SUSE_KERNEL_SUPPORTED
+const char *supported_printable(int taint)
+{
-+ int mask = TAINT_PROPRIETARY_MODULE|TAINT_NO_SUPPORT;
++ int mask = (1 << TAINT_PROPRIETARY_MODULE) | (1 << TAINT_NO_SUPPORT);
+ if ((taint & mask) == mask)
+ return "No, Proprietary and Unsupported modules are loaded";
-+ else if (taint & TAINT_PROPRIETARY_MODULE)
++ else if (taint & (1 << TAINT_PROPRIETARY_MODULE))
+ return "No, Proprietary modules are loaded";
-+ else if (taint & TAINT_NO_SUPPORT)
++ else if (taint & (1 << TAINT_NO_SUPPORT))
+ return "No, Unsupported modules are loaded";
-+ else if (taint & TAINT_EXTERNAL_SUPPORT)
++ else if (taint & (1 << TAINT_EXTERNAL_SUPPORT))
+ return "Yes, External";
+ else
+ return "Yes";
@@ -191,7 +191,7 @@
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -93,6 +93,22 @@
+@@ -92,6 +92,22 @@
/* If this is set, the section belongs in the init part of the module */
#define INIT_OFFSET_MASK (1UL << (BITS_PER_LONG-1))
@@ -214,7 +214,7 @@
/*
* Mutex protects:
* 1) List of modules (also safely readable with preempt_disable),
-@@ -1011,6 +1027,12 @@ static size_t module_flags_taint(struct
+@@ -995,6 +1011,12 @@ static size_t module_flags_taint(struct
buf[l++] = 'C';
if (mod->taints & (1 << TAINT_UNSIGNED_MODULE))
buf[l++] = 'E';
@@ -227,7 +227,7 @@
/*
* TAINT_FORCED_RMMOD: could be added.
* TAINT_CPU_OUT_OF_SPEC, TAINT_MACHINE_CHECK, TAINT_BAD_PAGE don't
-@@ -1088,6 +1110,33 @@ static ssize_t show_taint(struct module_
+@@ -1072,6 +1094,33 @@ static ssize_t show_taint(struct module_
static struct module_attribute modinfo_taint =
__ATTR(taint, 0444, show_taint, NULL);
@@ -261,7 +261,7 @@
static struct module_attribute *modinfo_attrs[] = {
&module_uevent,
&modinfo_version,
-@@ -1096,6 +1145,9 @@ static struct module_attribute *modinfo_
+@@ -1080,6 +1129,9 @@ static struct module_attribute *modinfo_
&modinfo_coresize,
&modinfo_initsize,
&modinfo_taint,
@@ -271,14 +271,14 @@
#ifdef CONFIG_MODULE_UNLOAD
&modinfo_refcnt,
#endif
-@@ -1643,9 +1695,37 @@ static int mod_sysfs_setup(struct module
+@@ -1626,9 +1678,37 @@ static int mod_sysfs_setup(struct module
add_sect_attrs(mod, info);
add_notes_attrs(mod, info);
+#ifdef CONFIG_SUSE_KERNEL_SUPPORTED
+ if (mod->taints & (1 << TAINT_EXTERNAL_SUPPORT))
+ add_taint(TAINT_EXTERNAL_SUPPORT, LOCKDEP_STILL_OK);
-+ else if (mod->taints == (1 << TAINT_NO_SUPPORT)) {
++ else if (mod->taints & (1 << TAINT_NO_SUPPORT)) {
+ if (unsupported == 0) {
+ printk(KERN_WARNING "%s: module not supported by "
+ "SUSE, refusing to load. To override, echo "
@@ -309,7 +309,7 @@
out_unreg_param:
module_param_sysfs_remove(mod);
out_unreg_holders:
-@@ -3828,6 +3908,9 @@ void print_modules(void)
+@@ -3836,6 +3916,9 @@ void print_modules(void)
if (last_unloaded_module[0])
pr_cont(" [last unloaded: %s]", last_unloaded_module);
pr_cont("\n");
@@ -321,7 +321,7 @@
#ifdef CONFIG_MODVERSIONS
--- a/kernel/panic.c
+++ b/kernel/panic.c
-@@ -225,6 +225,10 @@ static const struct tnt tnts[] = {
+@@ -226,6 +226,10 @@ static const struct tnt tnts[] = {
{ TAINT_OOT_MODULE, 'O', ' ' },
{ TAINT_UNSIGNED_MODULE, 'E', ' ' },
{ TAINT_SOFTLOCKUP, 'L', ' ' },
@@ -332,7 +332,7 @@
};
/**
-@@ -244,6 +248,8 @@ static const struct tnt tnts[] = {
+@@ -246,6 +250,8 @@ static const struct tnt tnts[] = {
* 'O' - Out-of-tree module has been loaded.
* 'E' - Unsigned module has been loaded.
* 'L' - A soft lockup has previously occurred.
@@ -343,7 +343,7 @@
*/
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
-@@ -761,6 +761,15 @@ static struct ctl_table kern_table[] = {
+@@ -769,6 +769,15 @@ static struct ctl_table kern_table[] = {
.extra1 = &pid_max_min,
.extra2 = &pid_max_max,
},
@@ -376,7 +376,7 @@
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
-@@ -1684,6 +1684,50 @@ static char *remove_dot(char *s)
+@@ -1685,6 +1685,50 @@ static char *remove_dot(char *s)
return s;
}
@@ -427,7 +427,7 @@
static void read_symbols(char *modname)
{
const char *symname;
-@@ -1898,6 +1942,15 @@ static void add_staging_flag(struct buff
+@@ -1899,6 +1943,15 @@ static void add_staging_flag(struct buff
buf_printf(b, "\nMODULE_INFO(staging, \"Y\");\n");
}
@@ -443,7 +443,7 @@
/**
* Record CRCs for unresolved symbols
**/
-@@ -2039,6 +2092,15 @@ static void write_if_changed(struct buff
+@@ -2040,6 +2093,15 @@ static void write_if_changed(struct buff
fclose(file);
}
@@ -459,7 +459,7 @@
/* parse Module.symvers file. line format:
* 0x12345678<tab>symbol<tab>module[[<tab>export]<tab>something]
**/
-@@ -2134,12 +2196,15 @@ int main(int argc, char **argv)
+@@ -2135,12 +2197,15 @@ int main(int argc, char **argv)
struct buffer buf = { };
char *kernel_read = NULL, *module_read = NULL;
char *dump_write = NULL, *files_source = NULL;
@@ -476,7 +476,7 @@
switch (opt) {
case 'i':
kernel_read = optarg;
-@@ -2180,11 +2245,20 @@ int main(int argc, char **argv)
+@@ -2181,11 +2246,20 @@ int main(int argc, char **argv)
case 'w':
warn_unresolved = 1;
break;
@@ -497,7 +497,7 @@
if (kernel_read)
read_dump(kernel_read, 1);
if (module_read)
-@@ -2221,6 +2295,9 @@ int main(int argc, char **argv)
+@@ -2222,6 +2296,9 @@ int main(int argc, char **argv)
add_header(&buf, mod);
add_intree_flag(&buf, !external_module);
add_staging_flag(&buf, mod->name);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/supported-flag-external new/patches.suse/supported-flag-external
--- old/patches.suse/supported-flag-external 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/supported-flag-external 2015-01-21 19:22:32.000000000 +0100
@@ -0,0 +1,28 @@
+From: Michal Marek <mmarek(a)suse.cz>
+Subject: Fix Module.supported handling for external modules
+References: bnc#905304
+Patch-mainline: Never, SLES feature
+
+The $(srctree)/Module.supported file should only be used when building
+the kernel. Likewise for $(objtree)/Module.supported, which is
+equivalent to $(dir $(MODVERDIR))/Module.supported when building the
+kernel.
+
+Signed-off-by: Michal Marek <mmarek(a)suse.cz>
+
+---
+ scripts/Makefile.modpost | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/scripts/Makefile.modpost
++++ b/scripts/Makefile.modpost
+@@ -80,8 +80,7 @@ modpost = scripts/mod/modpost
+ $(if $(KBUILD_EXTMOD)$(KBUILD_MODPOST_WARN),-w) \
+ $(if $(CONFIG_SUSE_KERNEL_SUPPORTED), \
+ -N $(firstword $(wildcard $(dir $(MODVERDIR))/Module.supported \
+- $(objtree)/Module.supported \
+- $(srctree)/Module.supported /dev/null)))
++ $(if $(KBUILD_EXTMOD),,$(srctree)/Module.supported) /dev/null)))
+
+ MODPOST_OPT=$(subst -i,-n,$(filter -i,$(MAKEFLAGS)))
+
++++++ patches.xen.tar.bz2 ++++++
++++ 24526 lines of diff (skipped)
++++++ post.sh ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:19.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:19.000000000 +0100
@@ -49,6 +49,9 @@
# only run the bootloader if the usual bootloader configuration
# files are there -- this is different on every architecture
initrd=initrd-@KERNELRELEASE@-@FLAVOR@
+ if [ @FLAVOR@ = rt ]; then
+ default=force-default
+ fi
if [ -e /boot/$initrd -o ! -e /lib/modules/@KERNELRELEASE@-@FLAVOR@ ] && \
run_bootloader ; then
[ -e /boot/$initrd ] || initrd=
@@ -58,7 +61,8 @@
@FLAVOR@ \
@KERNELRELEASE@-@FLAVOR@ \
@IMAGE@-@KERNELRELEASE@-@FLAVOR@ \
- $initrd
+ $initrd \
+ $default
else
message_install_bl
fi
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:19.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:19.000000000 +0100
@@ -27,9 +27,6 @@
# DO NOT MODIFY THEM!
# Send separate patches upstream if you find a problem...
########################################################
- patches.kernel.org/patch-3.18.1
- patches.kernel.org/patch-3.18.1-2
- patches.kernel.org/patch-3.18.2-3
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -62,8 +59,10 @@
patches.suse/supported-flag
patches.suse/supported-flag-underscores
patches.suse/supported-flag-wildcards
+ patches.suse/supported-flag-external
patches.suse/genksyms-add-override-flag.diff
patches.suse/kconfig-automate-kernel-desktop
+ patches.fixes/0001-DocBook-Do-not-exceed-argument-list-limit.patch
########################################################
# Simple export additions/removals
@@ -102,8 +101,6 @@
########################################################
patches.arch/x86_64-hpet-64bit-timer.patch
- # bsc#909077,CVE-2014-8133
-
+needs_update patches.arch/kvm-split-paravirt-ops-by-functionality
+needs_update patches.arch/kvm-only-export-selected-pv-ops-feature-structs
+needs_update patches.arch/kvm-split-the-KVM-pv-ops-support-by-feature
@@ -173,7 +170,7 @@
patches.arch/arm64-0007-arm64-Do-not-call-enable-PCI-resources-when-specify-.patch
patches.arch/arm64-0010-KVM-ARM-Hack-to-enable-VGIC-mapping-on-64k-PAGE_SIZE.patch
patches.arch/arm64-0011-Enable-CONFIG_COMPAT-also-for-64k-page-size.patch
- patches.arch/arm64-0039-generic-pci.patch
+ patches.arch/arm64-0012-generic-pci.patch
########################################################
# S/390
@@ -332,19 +329,21 @@
patches.fixes/scsi-ibmvscsi-module_alias.patch
patches.suse/sd_init.mark_majors_busy.patch
+ # additional bcache fixes (bnc#910440), not upstreamed yet as of 3.19
+ patches.drivers/0001-bcache-Add-a-cond_resched-call-to-gc.patch
+ patches.drivers/0002-bcache-BUG-clear-BCACHE_DEV_UNLINK_DONE-flag-when-at.patch
+ patches.drivers/0003-bcache-fix-a-livelock-in-btree-lock.patch
+ patches.drivers/0004-bcache-unregister-reboot-notifier-when-bcache-fails-.patch
+ patches.drivers/0005-fix-a-leak-in-bch_cached_dev_run.patch
########################################################
# DRM/Video
########################################################
+jeffm patches.fixes/nouveau-fix-race-with-fence-signaling
- patches.drivers/drm-Implement-O_NONBLOCK-support-on-dev-dri-cardN
- patches.drivers/drm-i915-Don-t-call-intel_prepare_page_flip-multiple
- patches.drivers/drm-radeon-fix-sad_count-check-for-dce3
########################################################
# video4linux
########################################################
- patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete
########################################################
# Network
@@ -402,10 +401,6 @@
# Needs updating WRT d27769ec (block: add GENHD_FL_NO_PART_SCAN)
+hare patches.suse/no-partition-scan
- patches.drivers/hp_accel-Add-support-for-HP-ZBook-15
- patches.fixes/parport-parport_pc-do-not-remove-parent-devices-earl
- patches.drivers/Bluetooth-Add-support-for-Broadcom-BCM20702A0-varian
-
########################################################
# Other drivers we have added to the tree
########################################################
@@ -584,6 +579,7 @@
patches.xen/xen3-patch-3.16
patches.xen/xen3-patch-3.17
patches.xen/xen3-patch-3.18
+ patches.xen/xen3-patch-3.19
# ports of other patches
patches.xen/xen3-stack-unwind
@@ -645,4 +641,3 @@
patches.xen/xen-x86_64-note-init-p2m
patches.xen/xen-x86_64-unmapped-initrd
patches.xen/xen-x86_64-vread-pvclock
- patches.xen/xen-x86_64-MCE-Dom0-bank-vs-CPU
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.rO12BY/_old 2015-02-18 20:36:19.000000000 +0100
+++ /var/tmp/diff_new_pack.rO12BY/_new 2015-02-18 20:36:19.000000000 +0100
@@ -1,3 +1,3 @@
-2015-01-19 13:38:51 +0100
-GIT Revision: c3e148f2cb3de15a805bb2897e8c76b097a39a51
+2015-02-11 09:59:56 +0100
+GIT Revision: 8a7d5f92631275f69047ece8248a612dac5c283d
GIT Branch: stable
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
18 Feb '15
Hello community,
here is the log from the commit of package perl-YAML-LibYAML.3521 for openSUSE:13.1:Update checked in at 2015-02-18 16:05:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/perl-YAML-LibYAML.3521 (Old)
and /work/SRC/openSUSE:13.1:Update/.perl-YAML-LibYAML.3521.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-YAML-LibYAML.3521"
Changes:
--------
New Changes file:
--- /dev/null 2014-12-25 22:38:16.200041506 +0100
+++ /work/SRC/openSUSE:13.1:Update/.perl-YAML-LibYAML.3521.new/perl-YAML-LibYAML.changes 2015-02-18 16:05:35.000000000 +0100
@@ -0,0 +1,87 @@
+-------------------------------------------------------------------
+Tue Feb 10 10:24:37 UTC 2015 - vcizek(a)suse.com
+
+- update to 0.59
+- this update fixes 3 vulnerabilities in the embedded LibYAML:
+ * CVE-2014-9130: libyaml: assert failure when processing
+ wrapped strings (bnc#907809)
+ * CVE-2014-2525: libyaml: heap overflow during parsing (bnc#868944)
+ * CVE-2013-6393: libyaml: heap based buffer, overflow due to
+ integer misuse (bnc#860617)
+- dropped CVE-2012-1152-YAML-LibYAML-0.35-format-error.patch (upstream)
+- upstream changelog:
+ * PR/23 Better scalar dump heuristics
+ * More closely match YAML.pm
+ * Add a VERSION statement to YAML::LibYAML (issue#8)
+ * Applied fix for PR/21. nawglan++
+ * Use Swim cpan-tail block functions in doc
+ * Get YAML::XS using latest libyaml
+ * Fix for
+ https://bitbucket.org/xi/libyaml/issue/10/wrapped-strings-cause-assert-fail…
+ * Fix e1 test failure on 5.21.4
+ * Remove =travis section
+ * Meta 0.0.2
+ * Eliminate spurious trailing whitespace
+ * Add t/000-compile-modules.t
+ * Fix swim errors
+ * Add badges to doc
+ * Fix ReadMe
+ * Fix Meta and add Contributing.
+ - Doc fix. GitHub-Issue-#6. Thanks to Debian Perl Group for finding this.
+ - Test::Base tests needed 'inc' in @INC
+ - Switch to Zilla::Dist
+ - No longer dep on Test::Base, Spiffy, and Filter::Util::Call
+ - Remove test/changes.t
+ - Removed another C++ // style comment. jdb++
+ - Removed C++ // style comments, for better portability. jdb++
+ - Using the latest libyaml codebase
+ - https://github.com/yaml/libyaml/tree/perl-yaml-xs
+ - Changes have been made to start moving libyaml to 1.2
+
+-------------------------------------------------------------------
+Wed May 30 07:57:03 UTC 2012 - coolo(a)suse.com
+
+- updated to 0.38
+ - Apply SPROUT++ deparse test patch. Thanks!
+
+-------------------------------------------------------------------
+Wed Apr 25 23:01:47 UTC 2012 - pascal.bleser(a)opensuse.org
+
+- CVE-2012-1152: added patch to fix multiple format string flaws:
+ A remote attacker could provide a specially-crafted YAML document, which once
+ processed by the perl-YAML-LibYAML interface would lead to perl-YAML-LibYAML
+ based process crash. bnc#751503
+
+-------------------------------------------------------------------
+Sun Oct 02 23:37:11 UTC 2011 - pascal.bleser(a)opensuse.org
+
+- update to 0.37:
+ * fix the bug that accidentally released YAML-XS instead of YAML-LibYAML
+
+- changes from 0.36:
+ * switch to Module::Package
+ * fix LoadFile on empty file failure
+
+-------------------------------------------------------------------
+Mon Apr 4 08:33:41 UTC 2011 - coolo(a)novell.com
+
+- updated to 0.35
+ - Apply bdfoy patch from rt-46172
+ - Update ppport.h to fix rt-64749 & rt-62054
+ - Add ANDK's regexp.t patch from rt-62266
+ - These changes from chansen++
+ - Handle misbehaved tied hashes
+ - Handle 'get' magic
+ - Added support for tied arrays and hashes
+ - Don't turn on the UTF-8 flag for strings containing US-ASCII (0x00-0x7F)
+
+-------------------------------------------------------------------
+Mon Nov 29 18:32:31 UTC 2010 - coolo(a)novell.com
+
+- remove /var/adm/perl-modules
+
+-------------------------------------------------------------------
+Mon Jun 14 05:26:35 UTC 2010 - pascal.bleser(a)opensuse.org
+
+- initial package (0.33)
+
New:
----
YAML-LibYAML-0.59.tar.gz
perl-YAML-LibYAML.changes
perl-YAML-LibYAML.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-YAML-LibYAML.spec ++++++
#
# spec file for package perl-YAML-LibYAML
#
# Copyright (c) 2015 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/
#
Name: perl-YAML-LibYAML
Version: 0.59
Release: 0
%define cpan_name YAML-LibYAML
Summary: YAML::LibYAML Perl module
License: GPL-1.0+ or Artistic-1.0
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/YAML-LibYAML/
Source: http://www.cpan.org/authors/id/I/IN/INGY/%{cpan_name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
%{perl_requires}
%description
Kirill Siminov's libyaml is arguably the best YAML implementation. The C
library is written precisely to the YAML 1.1 specification. It was originally
bound to Python and was later bound to Ruby.
This module is a Perl XS binding to libyaml which offers Perl the best YAML
support to date.
This module exports the functions Dump and Load. These functions are intended
to work exactly like YAML.pm's corresponding functions.
%prep
%setup -q -n %{cpan_name}-%{version}
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
%{__make} %{?_smp_mflags}
%check
%{__make} test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%defattr(644,root,root,755)
%doc Changes README
%changelog
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package spec-cleaner for openSUSE:13.1:Update checked in at 2015-02-18 11:47:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/spec-cleaner (Old)
and /work/SRC/openSUSE:13.1:Update/.spec-cleaner.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spec-cleaner"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.GjO1S9/_old 2015-02-18 12:09:31.000000000 +0100
+++ /var/tmp/diff_new_pack.GjO1S9/_new 2015-02-18 12:09:31.000000000 +0100
@@ -1 +1 @@
-<link package='spec-cleaner.3201' cicount='copy' />
+<link package='spec-cleaner.3519' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package jsoncpp for openSUSE:Factory checked in at 2015-02-18 11:40:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jsoncpp (Old)
and /work/SRC/openSUSE:Factory/.jsoncpp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jsoncpp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/jsoncpp/jsoncpp.changes 2015-02-06 22:38:27.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.jsoncpp.new/jsoncpp.changes 2015-02-18 12:09:29.000000000 +0100
@@ -1,0 +2,6 @@
+Tue Feb 17 21:15:01 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 1.4.2:
+ * minor cleanups
+
+-------------------------------------------------------------------
Old:
----
1.4.0.tar.gz
New:
----
1.4.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jsoncpp.spec ++++++
--- /var/tmp/diff_new_pack.XF5P7K/_old 2015-02-18 12:09:30.000000000 +0100
+++ /var/tmp/diff_new_pack.XF5P7K/_new 2015-02-18 12:09:30.000000000 +0100
@@ -17,7 +17,7 @@
Name: jsoncpp
-Version: 1.4.0
+Version: 1.4.2
Release: 0
Summary: C++ library that allows manipulating with JSON
License: MIT
@@ -95,7 +95,8 @@
%install
%cmake_install
-%fdupes -s %{buildroot}
+%fdupes -s dist/doxygen
+rm -rf %{buildroot}%{_libdir}/lib%{name}.a
%post -n lib%{name}1 -p /sbin/ldconfig
++++++ 1.4.0.tar.gz -> 1.4.2.tar.gz ++++++
++++ 5143 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package python3-matplotlib for openSUSE:Factory checked in at 2015-02-18 11:40:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-matplotlib (Old)
and /work/SRC/openSUSE:Factory/.python3-matplotlib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-matplotlib"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-matplotlib/python3-matplotlib.changes 2015-01-22 21:50:28.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-matplotlib.new/python3-matplotlib.changes 2015-02-18 12:09:28.000000000 +0100
@@ -1,0 +2,17 @@
+Tue Feb 17 20:02:30 UTC 2015 - arun(a)gmx.de
+
+ - specfile:
+ * update url
+ * update source url to point to pypi
+
+- update to version 1.4.3:
+ * Many bugs are fixed including:
+ - fixing drawing of edge-only markers in AGG
+ - fix run-away memory usage when using %inline or saving with a
+ tight bounding box with QuadMesh artists
+ - improvements to wx and tk gui backends
+ * Additionally the webagg and nbagg backends were brought closer to
+ feature parity with the desktop backends with the addition of
+ keyboard and scroll events thanks to Steven Silvester.
+
+-------------------------------------------------------------------
Old:
----
matplotlib-1.4.2.tar.gz
New:
----
matplotlib-1.4.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-matplotlib.spec ++++++
--- /var/tmp/diff_new_pack.oA4d5V/_old 2015-02-18 12:09:29.000000000 +0100
+++ /var/tmp/diff_new_pack.oA4d5V/_new 2015-02-18 12:09:29.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python3-matplotlib
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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
@@ -17,13 +17,13 @@
Name: python3-matplotlib
-Version: 1.4.2
+Version: 1.4.3
Release: 0
Summary: Plotting Library for Python
License: SUSE-Matplotlib
Group: Development/Libraries/Python
-Url: http://sourceforge.net/projects/matplotlib
-Source: matplotlib-%{version}.tar.gz
+Url: http://matplotlib.org
+Source: https://pypi.python.org/packages/source/m/matplotlib/matplotlib-%{version}.…
Source1: matplotlib-setup.cfg
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: agg-devel
++++++ matplotlib-1.4.2.tar.gz -> matplotlib-1.4.3.tar.gz ++++++
/work/SRC/openSUSE:Factory/python3-matplotlib/matplotlib-1.4.2.tar.gz /work/SRC/openSUSE:Factory/.python3-matplotlib.new/matplotlib-1.4.3.tar.gz differ: char 5, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package trinity for openSUSE:Factory checked in at 2015-02-18 11:39:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/trinity (Old)
and /work/SRC/openSUSE:Factory/.trinity.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trinity"
Changes:
--------
--- /work/SRC/openSUSE:Factory/trinity/trinity.changes 2015-01-15 15:59:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.trinity.new/trinity.changes 2015-02-18 12:09:25.000000000 +0100
@@ -1,0 +2,5 @@
+Tue Feb 17 20:37:26 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 20150215
+
+-------------------------------------------------------------------
Old:
----
trinity-20150107.tar.xz
New:
----
trinity-20150215.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ trinity.spec ++++++
--- /var/tmp/diff_new_pack.SCOJby/_old 2015-02-18 12:09:26.000000000 +0100
+++ /var/tmp/diff_new_pack.SCOJby/_new 2015-02-18 12:09:26.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package trinity
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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
@@ -17,7 +17,7 @@
Name: trinity
-Version: 20150107
+Version: 20150215
Release: 0
Summary: A Linux System call fuzz tester
License: GPL-2.0
++++++ trinity-20150107.tar.xz -> trinity-20150215.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/Makefile new/trinity-20150215/Makefile
--- old/trinity-20150107/Makefile 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/Makefile 2015-02-17 21:35:00.000000000 +0100
@@ -2,6 +2,7 @@
INSTALL_PREFIX ?= $(DESTDIR)
INSTALL_PREFIX ?= $(HOME)
+NR_CPUS := $(shell grep ^processor /proc/cpuinfo | /usr/bin/wc -l)
ifeq ($(CC),"")
CC := gcc
@@ -140,6 +141,6 @@
coverity:
@rm -rf cov-int trinity-coverity.tar.xz
- @cov-build --dir cov-int make
+ @cov-build --dir cov-int make -j $(NR_CPUS)
@tar cJvf trinity-coverity.tar.xz cov-int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/include/compat.h new/trinity-20150215/include/compat.h
--- old/trinity-20150107/include/compat.h 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/include/compat.h 2015-02-17 21:35:00.000000000 +0100
@@ -279,6 +279,11 @@
#define PR_GET_THP_DISABLE 42
#endif
+#ifndef PR_MPX_ENABLE_MANAGEMENT
+#define PR_MPX_ENABLE_MANAGEMENT 43
+#define PR_MPX_DISABLE_MANAGEMENT 44
+#endif
+
/* linux/rds.h */
#ifndef RDS_CANCEL_SENT_TO
#define RDS_CANCEL_SENT_TO 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/include/perf_event.h new/trinity-20150215/include/perf_event.h
--- old/trinity-20150107/include/perf_event.h 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/include/perf_event.h 2015-02-17 21:35:00.000000000 +0100
@@ -136,8 +136,9 @@
PERF_SAMPLE_DATA_SRC = 1U << 15,
PERF_SAMPLE_IDENTIFIER = 1U << 16,
PERF_SAMPLE_TRANSACTION = 1U << 17,
+ PERF_SAMPLE_REGS_INTR = 1U << 18,
- PERF_SAMPLE_MAX = 1U << 18, /* non-ABI */
+ PERF_SAMPLE_MAX = 1U << 19, /* non-ABI */
};
/*
@@ -237,6 +238,7 @@
#define PERF_ATTR_SIZE_VER2 80 /* add: branch_sample_type */
#define PERF_ATTR_SIZE_VER3 96 /* add: sample_regs_user */
/* add: sample_stack_user */
+#define PERF_ATTR_SIZE_VER4 104 /* add: sample_regs_intr */
/*
* Hardware event_id to monitor via a performance monitoring event:
@@ -333,6 +335,15 @@
/* Align to u64. */
__u32 __reserved_2;
+ /*
+ * Defines set of regs to dump for each sample
+ * state captured on:
+ * - precise = 0: PMU interrupt
+ * - precise > 0: sampled instruction
+ *
+ * See asm/perf_regs.h for details.
+ */
+ __u64 sample_regs_intr;
};
#define perf_flags(attr) (*(&(attr)->read_format + 1))
@@ -363,7 +374,7 @@
/*
* Bits needed to read the hw events in user-space.
*
- * u32 seq, time_mult, time_shift, idx, width;
+ * u32 seq, time_mult, time_shift, index, width;
* u64 count, enabled, running;
* u64 cyc, time_offset;
* s64 pmc = 0;
@@ -382,11 +393,11 @@
* time_shift = pc->time_shift;
* }
*
- * idx = pc->index;
+ * index = pc->index;
* count = pc->offset;
- * if (pc->cap_usr_rdpmc && idx) {
+ * if (pc->cap_user_rdpmc && index) {
* width = pc->pmc_width;
- * pmc = rdpmc(idx - 1);
+ * pmc = rdpmc(index - 1);
* }
*
* barrier();
@@ -414,7 +425,7 @@
};
/*
- * If cap_usr_rdpmc this field provides the bit-width of the value
+ * If cap_user_rdpmc this field provides the bit-width of the value
* read using the rdpmc() or equivalent instruction. This can be used
* to sign extend the result like:
*
@@ -438,10 +449,10 @@
*
* Where time_offset,time_mult,time_shift and cyc are read in the
* seqcount loop described above. This delta can then be added to
- * enabled and possible running (if idx), improving the scaling:
+ * enabled and possible running (if index), improving the scaling:
*
* enabled += delta;
- * if (idx)
+ * if (index)
* running += delta;
*
* quot = count / running;
@@ -685,6 +696,8 @@
* { u64 weight; } && PERF_SAMPLE_WEIGHT
* { u64 data_src; } && PERF_SAMPLE_DATA_SRC
* { u64 transaction; } && PERF_SAMPLE_TRANSACTION
+ * { u64 abi; # enum perf_sample_regs_abi
+ * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_INTR
* };
*/
PERF_RECORD_SAMPLE = 9,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/include/syscalls-arm.h new/trinity-20150215/include/syscalls-arm.h
--- old/trinity-20150107/include/syscalls-arm.h 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/include/syscalls-arm.h 2015-02-17 21:35:00.000000000 +0100
@@ -397,4 +397,5 @@
{ .entry = &syscall_getrandom },
/* 385 */ { .entry = &syscall_memfd_create },
{ .entry = &syscall_bpf },
+ { .entry = &syscall_execveat },
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/include/utils.h new/trinity-20150215/include/utils.h
--- old/trinity-20150107/include/utils.h 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/include/utils.h 2015-02-17 21:35:00.000000000 +0100
@@ -48,6 +48,8 @@
void kill_pid(pid_t pid);
+void freeptr(unsigned long *p);
+
#define __stringify_1(x...) #x
#define __stringify(x...) __stringify_1(x)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/random.c new/trinity-20150215/random.c
--- old/trinity-20150107/random.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/random.c 2015-02-17 21:35:00.000000000 +0100
@@ -90,51 +90,6 @@
}
/*
- * Based on very similar routine stolen from iknowthis. Thanks Tavis.
- */
-static unsigned long taviso(void)
-{
- unsigned long r = 0;
- unsigned long temp;
-
- switch (rand() % 4) {
- case 0: r = rand() & rand();
-#if __WORDSIZE == 64
- r <<= 32;
- r |= rand() & rand();
-#endif
- break;
-
- case 1: temp = rand();
- r = rand();
- if (temp) r %= temp;
-#if __WORDSIZE == 64
- r <<= 32;
-
- temp = rand();
- if (temp) r |= rand() % temp;
-#endif
- break;
-
- case 2: r = rand() | rand();
-#if __WORDSIZE == 64
- r <<= 32;
- r |= rand() | rand();
-#endif
- break;
-
- case 3: r = rand();
-#if __WORDSIZE == 64
- r <<= 32;
- r |= rand();
-#endif
- break;
- }
-
- return r;
-}
-
-/*
* Pick 8 random bytes, and concatenate them into a long.
*/
static unsigned long rand8x8(void)
@@ -172,20 +127,18 @@
{
unsigned long r = 0;
- switch (rand() % 7) {
+ switch (rand() % 6) {
case 0: r = rand_single_bit(32);
break;
case 1: r = randbits(32);
break;
case 2: r = rand();
break;
- case 3: r = taviso();
- break;
- case 4: r = rand8x8();
+ case 3: r = rand8x8();
break;
- case 5: r = rept8(4);
+ case 4: r = rept8(4);
break;
- case 6: return get_interesting_32bit_value();
+ case 5: return get_interesting_32bit_value();
}
return r;
@@ -258,21 +211,19 @@
} else {
/* 33:64-bit ranges. */
- switch (rand() % 7) {
+ switch (rand() % 6) {
case 0: r = rand_single_bit(64);
break;
case 1: r = randbits(64);
break;
case 2: r = rand32() | rand32() << 31;
break;
- case 3: r = taviso();
- break;
- case 4: r = rand8x8();
+ case 3: r = rand8x8();
break;
- case 5: r = rept8(8);
+ case 4: r = rept8(8);
break;
/* Sometimes pick a not-so-random number. */
- case 6: return get_interesting_value();
+ case 5: return get_interesting_value();
}
/* limit the size */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/mincore.c new/trinity-20150215/syscalls/mincore.c
--- old/trinity-20150107/syscalls/mincore.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/mincore.c 2015-02-17 21:35:00.000000000 +0100
@@ -24,7 +24,7 @@
static void post_mincore(struct syscallrecord *rec)
{
- free((void *) rec->a3);
+ freeptr(&rec->a3);
}
struct syscallentry syscall_mincore = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/modify_ldt.c new/trinity-20150215/syscalls/modify_ldt.c
--- old/trinity-20150107/syscalls/modify_ldt.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/modify_ldt.c 2015-02-17 21:35:00.000000000 +0100
@@ -16,11 +16,10 @@
#define ALLOCSIZE LDT_ENTRIES * LDT_ENTRY_SIZE
-static void *ldt;
-
static void sanitise_modify_ldt(struct syscallrecord *rec)
{
//struct user_desc *desc;
+ void *ldt;
switch (rec->a1) {
case 0:
@@ -32,6 +31,7 @@
break;
case 1:
+ rec->a2 = 0L;
/* modify one ldt entry.
* ptr points to a user_desc structure
* bytecount must equal the size of this structure. */
@@ -49,14 +49,14 @@
*/
break;
default:
+ rec->a2 = 0L;
break;
}
}
static void post_modify_ldt(__unused__ struct syscallrecord *rec)
{
- free(ldt);
- ldt = NULL;
+ freeptr(&rec->a2);
}
struct syscallentry syscall_modify_ldt = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/move_pages.c new/trinity-20150215/syscalls/move_pages.c
--- old/trinity-20150107/syscalls/move_pages.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/move_pages.c 2015-02-17 21:35:00.000000000 +0100
@@ -62,9 +62,9 @@
static void post_move_pages(struct syscallrecord *rec)
{
- free((void *) rec->a3);
- free((void *) rec->a4);
- free((void *) rec->a5);
+ freeptr(&rec->a3);
+ freeptr(&rec->a4);
+ freeptr(&rec->a5);
}
struct syscallentry syscall_move_pages = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/perf_event_open.c new/trinity-20150215/syscalls/perf_event_open.c
--- old/trinity-20150107/syscalls/perf_event_open.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/perf_event_open.c 2015-02-17 21:35:00.000000000 +0100
@@ -870,6 +870,8 @@
sample_type |= PERF_SAMPLE_IDENTIFIER;
if (rand_bool())
sample_type |= PERF_SAMPLE_TRANSACTION;
+ if (rand_bool())
+ sample_type |= PERF_SAMPLE_REGS_INTR;
return sample_type;
}
@@ -898,7 +900,7 @@
int size=0;
- switch(rand() % 8) {
+ switch(rand() % 9) {
case 0: size = PERF_ATTR_SIZE_VER0;
break;
case 1: size = PERF_ATTR_SIZE_VER1;
@@ -907,13 +909,15 @@
break;
case 3: size = PERF_ATTR_SIZE_VER3;
break;
- case 4: size = sizeof(struct perf_event_attr);
+ case 4: size = PERF_ATTR_SIZE_VER4;
+ break;
+ case 5: size = sizeof(struct perf_event_attr);
break;
- case 5: size = rand32();
+ case 6: size = rand32();
break;
- case 6: size = get_len();
+ case 7: size = get_len();
break;
- case 7: size = 0;
+ case 8: size = 0;
break;
default:
break;
@@ -1302,7 +1306,7 @@
static void post_perf_event_open(struct syscallrecord *rec)
{
- free((void *) rec->a1);
+ freeptr(&rec->a1);
}
struct syscallentry syscall_perf_event_open = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/poll.c new/trinity-20150215/syscalls/poll.c
--- old/trinity-20150107/syscalls/poll.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/poll.c 2015-02-17 21:35:00.000000000 +0100
@@ -30,7 +30,7 @@
static void post_poll(struct syscallrecord *rec)
{
- free((void *) rec->a1);
+ freeptr(&rec->a1);
}
struct syscallentry syscall_poll = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/prctl.c new/trinity-20150215/syscalls/prctl.c
--- old/trinity-20150107/syscalls/prctl.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/prctl.c 2015-02-17 21:35:00.000000000 +0100
@@ -21,18 +21,20 @@
#include "utils.h"
#include "compat.h"
-#define NR_PRCTL_OPTS 36
-static int prctl_opts[NR_PRCTL_OPTS] = {
- PR_CAPBSET_READ, PR_CAPBSET_DROP, PR_SET_DUMPABLE, PR_GET_DUMPABLE,
- PR_SET_ENDIAN, PR_GET_ENDIAN, PR_SET_FPEMU, PR_GET_FPEMU,
- PR_SET_FPEXC, PR_GET_FPEXC, PR_SET_KEEPCAPS, PR_GET_KEEPCAPS,
- PR_SET_NAME, PR_GET_NAME, PR_SET_PDEATHSIG, PR_GET_PDEATHSIG,
- PR_SET_SECCOMP, PR_GET_SECCOMP, PR_SET_SECUREBITS, PR_GET_SECUREBITS,
- PR_SET_TIMING, PR_GET_TIMING, PR_SET_TSC, PR_GET_TSC,
- PR_SET_UNALIGN, PR_GET_UNALIGN, PR_MCE_KILL, PR_MCE_KILL_GET,
+static int prctl_opts[] = {
+ PR_SET_PDEATHSIG, PR_GET_PDEATHSIG, PR_GET_DUMPABLE, PR_SET_DUMPABLE,
+ PR_GET_UNALIGN, PR_SET_UNALIGN, PR_GET_KEEPCAPS, PR_SET_KEEPCAPS,
+ PR_GET_FPEMU, PR_SET_FPEMU, PR_GET_FPEXC, PR_SET_FPEXC,
+ PR_GET_TIMING, PR_SET_TIMING, PR_SET_NAME, PR_GET_NAME,
+ PR_GET_ENDIAN, PR_SET_ENDIAN, PR_GET_SECCOMP, PR_SET_SECCOMP,
+ PR_CAPBSET_READ, PR_CAPBSET_DROP, PR_GET_TSC, PR_SET_TSC,
+ PR_GET_SECUREBITS, PR_SET_SECUREBITS, PR_SET_TIMERSLACK, PR_GET_TIMERSLACK,
+ PR_TASK_PERF_EVENTS_DISABLE, PR_TASK_PERF_EVENTS_ENABLE, PR_MCE_KILL, PR_MCE_KILL_GET,
PR_SET_MM, PR_SET_CHILD_SUBREAPER, PR_GET_CHILD_SUBREAPER, PR_SET_NO_NEW_PRIVS,
PR_GET_NO_NEW_PRIVS, PR_GET_TID_ADDRESS, PR_SET_THP_DISABLE, PR_GET_THP_DISABLE,
+ PR_MPX_ENABLE_MANAGEMENT, PR_MPX_DISABLE_MANAGEMENT,
};
+#define NR_PRCTL_OPTS ARRAY_SIZE(prctl_opts)
#ifdef USE_SECCOMP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/select.c new/trinity-20150215/syscalls/select.c
--- old/trinity-20150107/syscalls/select.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/select.c 2015-02-17 21:35:00.000000000 +0100
@@ -49,10 +49,10 @@
static void post_select(struct syscallrecord *rec)
{
- free((void *) rec->a2);
- free((void *) rec->a3);
- free((void *) rec->a4);
- free((void *) rec->a5);
+ freeptr(&rec->a2);
+ freeptr(&rec->a3);
+ freeptr(&rec->a4);
+ freeptr(&rec->a5);
}
struct syscallentry syscall_select = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/send.c new/trinity-20150215/syscalls/send.c
--- old/trinity-20150107/syscalls/send.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/send.c 2015-02-17 21:35:00.000000000 +0100
@@ -14,15 +14,40 @@
#include "utils.h"
#include "compat.h"
+static void sanitise_send(struct syscallrecord *rec)
+{
+ unsigned int size;
+ void *ptr;
+
+ if (rand_bool())
+ size = 1;
+ else
+ size = rand() % page_size;
+
+ ptr = malloc(size);
+ if (ptr == NULL)
+ return;
+
+ rec->a2 = (unsigned long) ptr;
+ rec->a3 = size;
+
+ // TODO: only use this as a fallback, and actually have
+ // some per-proto generators here.
+ generate_rand_bytes(ptr, size);
+}
+
+static void post_send(struct syscallrecord *rec)
+{
+ freeptr(&rec->a2);
+}
+
struct syscallentry syscall_send = {
.name = "send",
.num_args = 4,
.arg1name = "fd",
.arg1type = ARG_FD,
.arg2name = "buff",
- .arg2type = ARG_ADDRESS,
.arg3name = "len",
- .arg3type = ARG_LEN,
.arg4name = "flags",
.arg4type = ARG_LIST,
.arg4list = {
@@ -34,6 +59,8 @@
MSG_WAITFORONE, MSG_FASTOPEN, MSG_CMSG_CLOEXEC, MSG_CMSG_COMPAT,
},
},
+ .sanitise = sanitise_send,
+ .post = post_send,
};
@@ -66,15 +93,16 @@
.arg6name = "addr_len",
.arg6type = ARG_SOCKADDRLEN,
.flags = NEED_ALARM,
+ .sanitise = sanitise_send,
+ .post = post_send,
};
-static struct msghdr *msg;
-
/*
* SYSCALL_DEFINE3(sendmsg, int, fd, struct msghdr __user *, msg, unsigned, flags)
*/
static void sanitise_sendmsg(struct syscallrecord *rec)
{
+ struct msghdr *msg;
struct sockaddr *sa = NULL;
socklen_t salen;
@@ -96,9 +124,11 @@
static void post_sendmsg(__unused__ struct syscallrecord *rec)
{
+ struct msghdr *msg = (struct msghdr *) rec->a2;
+
if (msg != NULL) {
free(msg->msg_name); // free sockaddr
- free(msg);
+ freeptr(&rec->a2);
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/setsockopt.c new/trinity-20150215/syscalls/setsockopt.c
--- old/trinity-20150107/syscalls/setsockopt.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/setsockopt.c 2015-02-17 21:35:00.000000000 +0100
@@ -131,7 +131,7 @@
static void post_setsockopt(struct syscallrecord *rec)
{
- free((void *) rec->a4);
+ freeptr(&rec->a4);
}
struct syscallentry syscall_setsockopt = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/socketpair.c new/trinity-20150215/syscalls/socketpair.c
--- old/trinity-20150107/syscalls/socketpair.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/socketpair.c 2015-02-17 21:35:00.000000000 +0100
@@ -4,6 +4,7 @@
#include <stdlib.h>
#include <sys/socket.h>
#include "sanitise.h"
+#include "utils.h"
static void sanitise_socketpair(struct syscallrecord *rec)
{
@@ -13,13 +14,10 @@
static void post_socketpair(struct syscallrecord *rec)
{
- void *ptr;
-
//TODO: on success we should put the fd's that
// were created into a child-local fd array.
- ptr = (void *) rec->a4;
- free(ptr);
+ freeptr(&rec->a4);
}
struct syscallentry syscall_socketpair = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/syscalls/write.c new/trinity-20150215/syscalls/write.c
--- old/trinity-20150107/syscalls/write.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/syscalls/write.c 2015-02-17 21:35:00.000000000 +0100
@@ -9,19 +9,36 @@
#include "shm.h"
#include "syscall.h"
#include "trinity.h"
+#include "utils.h"
static void sanitise_write(struct syscallrecord *rec)
{
+ unsigned int size;
+ void *ptr;
+
if (rand_bool())
- rec->a3 = 1;
+ size = 1;
else
- rec->a3 = rand() % page_size;
+ size = rand() % page_size;
+
+ ptr = malloc(size);
+ if (ptr == NULL)
+ return;
+
+ generate_rand_bytes(ptr, size);
+
+ rec->a2 = (unsigned long) ptr;
+ rec->a3 = size;
+}
+
+static void post_write(struct syscallrecord *rec)
+{
+ freeptr(&rec->a2);
}
struct syscallentry syscall_write = {
.name = "write",
.num_args = 3,
- .sanitise = sanitise_write,
.arg1name = "fd",
.arg1type = ARG_FD,
.arg2name = "buf",
@@ -29,6 +46,8 @@
.arg3name = "count",
.arg3type = ARG_LEN,
.flags = NEED_ALARM,
+ .sanitise = sanitise_write,
+ .post = post_write,
};
/*
@@ -54,6 +73,7 @@
static void sanitise_pwrite64(struct syscallrecord *rec)
{
+ sanitise_write(rec);
retry_pos:
if ((int) rec->a4 < 0) {
@@ -65,7 +85,6 @@
struct syscallentry syscall_pwrite64 = {
.name = "pwrite64",
.num_args = 4,
- .sanitise = sanitise_pwrite64,
.arg1name = "fd",
.arg1type = ARG_FD,
.arg2name = "buf",
@@ -74,6 +93,8 @@
.arg3type = ARG_LEN,
.arg4name = "pos",
.flags = NEED_ALARM,
+ .sanitise = sanitise_pwrite64,
+ .post = post_write,
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150107/utils.c new/trinity-20150215/utils.c
--- old/trinity-20150107/utils.c 2015-01-14 16:12:54.000000000 +0100
+++ new/trinity-20150215/utils.c 2015-02-17 21:35:00.000000000 +0100
@@ -86,3 +86,12 @@
if (ret != 0)
debugf("couldn't kill pid %d [%s]\n", pid, strerror(errno));
}
+
+void freeptr(unsigned long *p)
+{
+ void *ptr = (void *) *p;
+
+ if (ptr != NULL)
+ free(ptr);
+ *p = 0L;
+}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package konkretcmpi for openSUSE:Factory checked in at 2015-02-18 11:39:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/konkretcmpi (Old)
and /work/SRC/openSUSE:Factory/.konkretcmpi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "konkretcmpi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/konkretcmpi/konkretcmpi.changes 2015-02-10 20:23:30.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.konkretcmpi.new/konkretcmpi.changes 2015-02-18 12:09:24.000000000 +0100
@@ -6 +6,2 @@
-- fix konkretmof.so name (SUSE cmake bug)
+- add older-cmake.patch to build with older cmake versions
+- fix konkretmof.so name (Factory cmake bug)
New:
----
older-cmake.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ konkretcmpi.spec ++++++
--- /var/tmp/diff_new_pack.WeBBtc/_old 2015-02-18 12:09:24.000000000 +0100
+++ /var/tmp/diff_new_pack.WeBBtc/_new 2015-02-18 12:09:24.000000000 +0100
@@ -36,18 +36,20 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#Source0: https://github.com/rnovacek/konkretcmpi/archive/%{version}/konkretcmpi-%{ve…
Source0: konkretcmpi-%{version}.tar.gz
-# SWIG/Python on SLE 11 and below needs -classic switch, kkaempf(a)suse.de
-# See http://stackoverflow.com/questions/14192288/how-to-make-multiple-properties…
-# why set_source_files_properties cannot be used (recognizes string as single property)
-# CMake on SLE10 defines PYTHON_INCLUDE_PATH, not PYTHON_INCLUDE_DIR, kkaempf(a)suse.de
-# CMake on SLE10 does not define PYTHON_VER, kkaempf(a)suse.de
-Patch1: sle10.patch
+# PATCH-FIX-OPENSUSE, kkaempf(a)suse.de
+# Adapt for older cmake versions
+Patch1: older-cmake.patch
# PATCH-FIX-UPSTREAM
# Fix for cim-schema 2.40.0 compatiblity
# See https://github.com/rnovacek/konkretcmpi/issues/3
Patch2: 0001-Honor-that-string-properties-with-EmbeddedInstance-q.patch
# PATCH-FIX-UPSTREAM
Patch3: konkretcmpi-0.9.2-fix-returning-instance-from-method.patch
+# SWIG/Python on SLE 11 and below needs -classic switch, kkaempf(a)suse.de
+# See http://stackoverflow.com/questions/14192288/how-to-make-multiple-properties…
+# why set_source_files_properties cannot be used (recognizes string as single property)
+# CMake on SLE10 defines PYTHON_INCLUDE_PATH, not PYTHON_INCLUDE_DIR, kkaempf(a)suse.de
+Patch4: sle10.patch
%description
An open-source tool for rapidly developing CMPI providers in the C
@@ -98,7 +100,18 @@
%prep
# Untar the sources.
%setup -n konkretcmpi-%{version}
-%if 0%{?suse_version} > 0 && 0%{?suse_version} < 1020
+%if 0%{?suse_version} > 0
+%if 0%{?suse_version} < 1320
+%patch1 -p1
+%if 0%{?suse_version} < 1020
+%patch4 -p1
+%endif
+%endif
+%endif
+%if 0%{?rhel_version} > 0 && 0%{?rhel_version} < 700
+%patch1 -p1
+%endif
+%if 0%{?centos_version} > 0 && 0%{?centos_version} < 700
%patch1 -p1
%endif
%patch2 -p1
@@ -127,7 +140,7 @@
%install
make DESTDIR=$RPM_BUILD_ROOT install/fast -C build
# Argh, Fedora cmake and SUSE cmake differ :-/
-%if 0%{?suse_version}
+%if 0%{?suse_version} > 1320
mv %{buildroot}%{python_sitearch}/__konkretmof.so %{buildroot}%{python_sitearch}/_konkretmof.so
%endif
# Don't package .la object
++++++ older-cmake.patch ++++++
diff --git a/src/mof/python/CMakeLists.txt b/src/mof/python/CMakeLists.txt
index ea887daa753d..b2ef4241ef38 100644
--- a/src/mof/python/CMakeLists.txt
+++ b/src/mof/python/CMakeLists.txt
@@ -4,17 +4,24 @@ include(${SWIG_USE_FILE})
set(Python_ADDITIONAL_VERSIONS 2.7 2.6 2.5 2.4)
find_package(PythonLibs REQUIRED)
+FIND_PACKAGE(PythonInterp REQUIRED)
string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*" "\\1" PYTHON_VER "${PYTHONLIBS_VERSION_STRING}")
-include_directories(${PYTHON_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/..)
+EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" OUTPUT_VARIABLE PYTHON_LIB_DIR)
+STRING(REPLACE "\n" "" PYTHON_LIB_DIR "${PYTHON_LIB_DIR}")
+
+include_directories(${PYTHON_INCLUDE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/..)
+
+MESSAGE(STATUS "Python include: ${PYTHON_INCLUDE_PATH}")
+MESSAGE(STATUS "Python lib: ${PYTHON_LIB_DIR}")
set(CMAKE_SWIG_FLAGS "-c++")
set_source_files_properties(konkretmof.i PROPERTIES CPLUSPLUS ON)
set_source_files_properties(konkretmof.i PROPERTIES SWIG_FLAGS "-includeall")
swig_add_module(konkretmof python
konkretmof.i)
swig_link_libraries(konkretmof ${PYTHON_LIBRARIES} konkretmof)
-install(TARGETS ${SWIG_MODULE_konkretmof_REAL_NAME} DESTINATION lib${LIB_SUFFIX}/python${PYTHON_VER}/site-packages)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/konkretmof.py DESTINATION lib${LIB_SUFFIX}/python${PYTHON_VER}/site-packages)
+install(TARGETS ${SWIG_MODULE_konkretmof_REAL_NAME} DESTINATION ${PYTHON_LIB_DIR})
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/konkretmof.py DESTINATION ${PYTHON_LIB_DIR})
diff --git a/src/mof/python/konkretmof.i b/src/mof/python/konkretmof.i
index f0901713bbe3..30ec6820c293 100644
--- a/src/mof/python/konkretmof.i
+++ b/src/mof/python/konkretmof.i
@@ -15,6 +15,7 @@
#include "MOF_Types.h"
%}
+%include "MOF_Config.h"
%include "MOF_Parser.h"
%include "MOF_Types.h"
++++++ sle10.patch ++++++
--- /var/tmp/diff_new_pack.WeBBtc/_old 2015-02-18 12:09:24.000000000 +0100
+++ /var/tmp/diff_new_pack.WeBBtc/_new 2015-02-18 12:09:25.000000000 +0100
@@ -1,29 +1,12 @@
diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache -x .deps -x .libs ../orig-konkretcmpi-0.9.2/src/mof/python/CMakeLists.txt ./src/mof/python/CMakeLists.txt
---- ../orig-konkretcmpi-0.9.2/src/mof/python/CMakeLists.txt 2013-09-25 14:36:56.000000000 +0200
-+++ ./src/mof/python/CMakeLists.txt 2014-01-17 12:12:09.016410545 +0100
-@@ -4,17 +4,20 @@
-
- set(Python_ADDITIONAL_VERSIONS 2.7 2.6 2.5 2.4)
- find_package(PythonLibs REQUIRED)
--string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*" "\\1" PYTHON_VER "${PYTHONLIBS_VERSION_STRING}")
-
--include_directories(${PYTHON_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/..)
-+EXECUTE_PROCESS(COMMAND "python" -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())" OUTPUT_VARIABLE PYTHON_LIB_DIR)
-+EXECUTE_PROCESS(COMMAND "python" -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1))" OUTPUT_VARIABLE PYTHON_ARCH_DIR)
-+MESSAGE(STATUS, "Lib ${PYTHON_LIB_DIR}, Arch ${PYTHON_ARCH_DIR}")
-+include_directories(${PYTHON_INCLUDE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/..)
-
- set(CMAKE_SWIG_FLAGS "-c++")
-
- set_source_files_properties(konkretmof.i PROPERTIES CPLUSPLUS ON)
+--- ../orig-konkretcmpi-0.9.2/src/mof/python/CMakeLists.txt 2015-02-09 19:52:50.476210650 +0100
++++ ./src/mof/python/CMakeLists.txt 2015-02-09 19:53:59.835087289 +0100
+@@ -21,7 +21,7 @@
set_source_files_properties(konkretmof.i PROPERTIES SWIG_FLAGS "-includeall")
-+set_property(SOURCE konkretmof.i APPEND PROPERTY SWIG_FLAGS "-classic")
swig_add_module(konkretmof python
konkretmof.i)
-swig_link_libraries(konkretmof ${PYTHON_LIBRARIES} konkretmof)
+swig_link_libraries(konkretmof ${PYTHON_LIBRARIES} pthread util dl konkretmof)
--install(TARGETS ${SWIG_MODULE_konkretmof_REAL_NAME} DESTINATION lib${LIB_SUFFIX}/python${PYTHON_VER}/site-packages)
--install(FILES ${CMAKE_CURRENT_BINARY_DIR}/konkretmof.py DESTINATION lib${LIB_SUFFIX}/python${PYTHON_VER}/site-packages)
-+install(TARGETS ${SWIG_MODULE_konkretmof_REAL_NAME} DESTINATION ${PYTHON_ARCH_DIR})
-+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/konkretmof.py DESTINATION ${PYTHON_LIB_DIR})
+ install(TARGETS ${SWIG_MODULE_konkretmof_REAL_NAME} DESTINATION ${PYTHON_LIB_DIR})
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/konkretmof.py DESTINATION ${PYTHON_LIB_DIR})
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package python3-django-appconf for openSUSE:Factory checked in at 2015-02-18 11:39:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-django-appconf (Old)
and /work/SRC/openSUSE:Factory/.python3-django-appconf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-django-appconf"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-django-appconf/python3-django-appconf.changes 2013-06-25 18:00:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-django-appconf.new/python3-django-appconf.changes 2015-02-18 12:09:25.000000000 +0100
@@ -1,0 +2,11 @@
+Tue Feb 17 19:58:27 UTC 2015 - arun(a)gmx.de
+
+- specfile:
+ * update copyright year
+
+- update to version 1.0.1:
+ * Dropped support of Python 2.5.
+ * Added support for Django 1.7 and 1.8.
+ * Modernized test setup.
+
+-------------------------------------------------------------------
Old:
----
django-appconf-0.6.tar.gz
New:
----
django-appconf-1.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-django-appconf.spec ++++++
--- /var/tmp/diff_new_pack.4qKTSt/_old 2015-02-18 12:09:25.000000000 +0100
+++ /var/tmp/diff_new_pack.4qKTSt/_new 2015-02-18 12:09:25.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python3-django-appconf
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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
@@ -17,7 +17,7 @@
Name: python3-django-appconf
-Version: 0.6
+Version: 1.0.1
Release: 0
Url: http://django-appconf.readthedocs.org/
Summary: A Helper Class for Handling Configuration Defaults of Packaged Apps
++++++ django-appconf-0.6.tar.gz -> django-appconf-1.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/.coveragerc new/django-appconf-1.0.1/.coveragerc
--- old/django-appconf-0.6/.coveragerc 1970-01-01 01:00:00.000000000 +0100
+++ new/django-appconf-1.0.1/.coveragerc 2015-02-15 14:20:37.000000000 +0100
@@ -0,0 +1,6 @@
+[run]
+source = appconf
+branch = 1
+
+[report]
+omit = *tests*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/.gitignore new/django-appconf-1.0.1/.gitignore
--- old/django-appconf-0.6/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/django-appconf-1.0.1/.gitignore 2015-02-15 14:20:37.000000000 +0100
@@ -0,0 +1,9 @@
+build
+dist
+MANIFEST
+*.pyc
+*.egg-info
+*.egg
+docs/_build/
+.coverage
+.tox/
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/.travis.yml new/django-appconf-1.0.1/.travis.yml
--- old/django-appconf-0.6/.travis.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/django-appconf-1.0.1/.travis.yml 2015-02-15 14:20:37.000000000 +0100
@@ -0,0 +1,30 @@
+language: python
+env:
+ - TOXENV=flake8-py27
+ - TOXENV=flake8-py33
+ - TOXENV=py26-dj14
+ - TOXENV=py27-dj14
+ - TOXENV=py26-dj15
+ - TOXENV=py26-dj16
+ - TOXENV=py27-dj15
+ - TOXENV=py27-dj16
+ - TOXENV=py32-dj15
+ - TOXENV=py32-dj16
+ - TOXENV=py33-dj15
+ - TOXENV=py33-dj16
+ - TOXENV=py27-dj17
+ - TOXENV=py27-dj18
+ - TOXENV=py27-dj19
+ - TOXENV=py32-dj17
+ - TOXENV=py32-dj18
+ - TOXENV=py32-dj19
+ - TOXENV=py33-dj17
+ - TOXENV=py33-dj18
+ - TOXENV=py33-dj19
+ - TOXENV=py34-dj17
+ - TOXENV=py34-dj18
+ - TOXENV=py34-dj19
+install:
+ - pip install tox
+script:
+ - tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/AUTHORS new/django-appconf-1.0.1/AUTHORS
--- old/django-appconf-0.6/AUTHORS 2013-01-28 18:44:32.000000000 +0100
+++ new/django-appconf-1.0.1/AUTHORS 2015-02-15 14:20:37.000000000 +0100
@@ -2,4 +2,5 @@
Jannis Leidel
Matthew Tretter
Rafal Stozek
-Chris Streeter
\ No newline at end of file
+Chris Streeter
+Patrick Altman
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/PKG-INFO new/django-appconf-1.0.1/PKG-INFO
--- old/django-appconf-0.6/PKG-INFO 2013-01-28 18:53:14.000000000 +0100
+++ new/django-appconf-1.0.1/PKG-INFO 2015-02-15 14:32:20.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: django-appconf
-Version: 0.6
+Version: 1.0.1
Summary: A helper class for handling configuration defaults of packaged apps gracefully.
Home-page: http://django-appconf.readthedocs.org/
Author: Jannis Leidel
@@ -16,6 +16,16 @@
A helper class for handling configuration defaults of packaged Django
apps gracefully.
+ .. note::
+
+ This app precedes Django's own AppConfig_ classes that act as
+ "objects [to] store metadata for an application" inside Django's
+ app loading mechanism. In other words, they solve a related but
+ different use case than django-appconf and can't easily be used
+ as a replacement. The similarity in name is purely coincidental.
+
+ .. _AppConfig: https://docs.djangoproject.com/en/stable/ref/applications/#django.apps.AppC…
+
Overview
--------
@@ -106,16 +116,18 @@
Platform: UNKNOWN
-Classifier: Development Status :: 4 - Beta
+Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.5
+Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Utilities
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/README.rst new/django-appconf-1.0.1/README.rst
--- old/django-appconf-0.6/README.rst 2013-01-28 18:43:28.000000000 +0100
+++ new/django-appconf-1.0.1/README.rst 2015-02-15 14:20:37.000000000 +0100
@@ -8,6 +8,16 @@
A helper class for handling configuration defaults of packaged Django
apps gracefully.
+.. note::
+
+ This app precedes Django's own AppConfig_ classes that act as
+ "objects [to] store metadata for an application" inside Django's
+ app loading mechanism. In other words, they solve a related but
+ different use case than django-appconf and can't easily be used
+ as a replacement. The similarity in name is purely coincidental.
+
+.. _AppConfig: https://docs.djangoproject.com/en/stable/ref/applications/#django.apps.AppC…
+
Overview
--------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/appconf/__init__.py new/django-appconf-1.0.1/appconf/__init__.py
--- old/django-appconf-0.6/appconf/__init__.py 2013-01-28 18:52:41.000000000 +0100
+++ new/django-appconf-1.0.1/appconf/__init__.py 2015-02-15 14:31:55.000000000 +0100
@@ -1,5 +1,4 @@
from __future__ import absolute_import
from .base import AppConf # noqa
-# following PEP 386
-__version__ = "0.6"
+__version__ = "1.0.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/appconf/base.py new/django-appconf-1.0.1/appconf/base.py
--- old/django-appconf-0.6/appconf/base.py 2013-01-28 18:40:37.000000000 +0100
+++ new/django-appconf-1.0.1/appconf/base.py 2015-02-15 14:20:45.000000000 +0100
@@ -1,6 +1,9 @@
-from django.core.exceptions import ImproperlyConfigured
import sys
+
import six
+
+from django.core.exceptions import ImproperlyConfigured
+
from .utils import import_attribute
@@ -108,7 +111,6 @@
An app setting object to be used for handling app setting defaults
gracefully and providing a nice API for them.
"""
-
def __init__(self, **kwargs):
for name, value in six.iteritems(kwargs):
setattr(self, name, value)
@@ -142,6 +144,5 @@
"""
Hook for doing any extra configuration, returning a dictionary
containing the configured data.
-
"""
return self.configured_data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/appconf/test_settings.py new/django-appconf-1.0.1/appconf/test_settings.py
--- old/django-appconf-0.6/appconf/test_settings.py 2013-01-28 18:40:37.000000000 +0100
+++ new/django-appconf-1.0.1/appconf/test_settings.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,19 +0,0 @@
-SITE_ID = 1
-
-DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.sqlite3',
- 'NAME': ':memory:',
- }
-}
-
-INSTALLED_APPS = [
- 'django.contrib.contenttypes',
- 'django.contrib.sites',
- 'django.contrib.auth',
- 'django.contrib.admin',
- 'appconf.tests',
-]
-
-TEST_RUNNER = 'discover_runner.DiscoverRunner'
-SECRET_KEY = 'local'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/appconf/tests/models.py new/django-appconf-1.0.1/appconf/tests/models.py
--- old/django-appconf-0.6/appconf/tests/models.py 2013-01-28 18:36:04.000000000 +0100
+++ new/django-appconf-1.0.1/appconf/tests/models.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,65 +0,0 @@
-from appconf import AppConf
-
-
-class CustomHolder(object):
- HOLDER_VALUE = True
-
-custom_holder = CustomHolder()
-
-
-class TestConf(AppConf):
-
- SIMPLE_VALUE = True
-
- CONFIGURED_VALUE = 'wrong'
-
- def configure_configured_value(self, value):
- return 'correct'
-
- def configure(self):
- self.configured_data['CONFIGURE_METHOD_VALUE'] = True
- return self.configured_data
-
-
-class PrefixConf(TestConf):
-
- class Meta:
- prefix = 'prefix'
-
-
-class YetAnotherPrefixConf(PrefixConf):
-
- SIMPLE_VALUE = False
-
- class Meta:
- prefix = 'yetanother_prefix'
-
-
-class SeparateConf(AppConf):
-
- SEPARATE_VALUE = True
-
- class Meta(PrefixConf.Meta):
- pass
-
-
-class SubclassConf(TestConf):
-
- def configure(self):
- self.configured_data['CONFIGURE_METHOD_VALUE2'] = False
- return self.configured_data
-
-
-class ProxyConf(TestConf):
-
- class Meta:
- proxy = True
-
-
-class CustomHolderConf(AppConf):
-
- SIMPLE_VALUE = True
-
- class Meta:
- holder = 'appconf.tests.models.custom_holder' # instead of django.conf.settings
- prefix = 'custom_holder'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/appconf/tests/settings.py new/django-appconf-1.0.1/appconf/tests/settings.py
--- old/django-appconf-0.6/appconf/tests/settings.py 2012-02-20 00:29:49.000000000 +0100
+++ new/django-appconf-1.0.1/appconf/tests/settings.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-SIMPLE_VALUE = True
-
-CONFIGURED_VALUE = 'wrong'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/appconf/tests/tests.py new/django-appconf-1.0.1/appconf/tests/tests.py
--- old/django-appconf-0.6/appconf/tests/tests.py 2013-01-28 18:40:37.000000000 +0100
+++ new/django-appconf-1.0.1/appconf/tests/tests.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,144 +0,0 @@
-from __future__ import absolute_import
-from django.conf import settings
-from django.core.exceptions import ImproperlyConfigured
-from django.test import TestCase
-
-from appconf.tests.models import (AppConf, TestConf, PrefixConf,
- YetAnotherPrefixConf, SeparateConf, ProxyConf,
- CustomHolderConf, custom_holder)
-
-
-class TestConfTests(TestCase):
-
- def test_basic(self):
- self.assertEquals(TestConf._meta.prefix, 'tests')
-
- def test_simple(self):
- self.assertTrue(hasattr(settings, 'TESTS_SIMPLE_VALUE'))
- self.assertEquals(settings.TESTS_SIMPLE_VALUE, True)
-
- def test_configured(self):
- self.assertTrue(hasattr(settings, 'TESTS_CONFIGURED_VALUE'))
- self.assertEquals(settings.TESTS_CONFIGURED_VALUE, 'correct')
-
- def test_configure_method(self):
- self.assertTrue(hasattr(settings, 'TESTS_CONFIGURE_METHOD_VALUE'))
- self.assertEquals(settings.TESTS_CONFIGURE_METHOD_VALUE, True)
-
- def test_init_kwargs(self):
- custom_conf = TestConf(CUSTOM_VALUE='custom')
- self.assertEquals(custom_conf.CUSTOM_VALUE, 'custom')
- self.assertEquals(settings.TESTS_CUSTOM_VALUE, 'custom')
- self.assertRaises(AttributeError, lambda: custom_conf.TESTS_CUSTOM_VALUE)
- custom_conf.CUSTOM_VALUE_SETATTR = 'custom'
- self.assertEquals(settings.TESTS_CUSTOM_VALUE_SETATTR, 'custom')
- custom_conf.custom_value_lowercase = 'custom'
- self.assertRaises(AttributeError, lambda: settings.custom_value_lowercase)
-
- def test_init_kwargs_with_prefix(self):
- custom_conf = TestConf(TESTS_CUSTOM_VALUE2='custom2')
- self.assertEquals(custom_conf.TESTS_CUSTOM_VALUE2, 'custom2')
- self.assertEquals(settings.TESTS_CUSTOM_VALUE2, 'custom2')
-
- def test_proxy(self):
- custom_conf = ProxyConf(CUSTOM_VALUE3='custom3')
- self.assertEquals(custom_conf.CUSTOM_VALUE3, 'custom3')
- self.assertEquals(settings.TESTS_CUSTOM_VALUE3, 'custom3')
- self.assertEquals(custom_conf.TESTS_CUSTOM_VALUE3, 'custom3')
- self.assertTrue('appconf.tests' in custom_conf.INSTALLED_APPS)
-
- def test_dir_members(self):
- custom_conf = TestConf()
- self.assertTrue('TESTS_SIMPLE_VALUE' in dir(settings))
- if hasattr(settings, '__members__'): # django 1.5 removed __members__
- self.assertTrue('TESTS_SIMPLE_VALUE' in settings.__members__)
- self.assertTrue('SIMPLE_VALUE' in dir(custom_conf))
- self.assertTrue('SIMPLE_VALUE' in custom_conf.__members__)
- self.assertFalse('TESTS_SIMPLE_VALUE' in dir(custom_conf))
- self.assertFalse('TESTS_SIMPLE_VALUE' in custom_conf.__members__)
-
- def test_custom_holder(self):
- CustomHolderConf()
- self.assertTrue(hasattr(custom_holder, 'CUSTOM_HOLDER_SIMPLE_VALUE'))
- self.assertEquals(custom_holder.CUSTOM_HOLDER_SIMPLE_VALUE, True)
-
- def test_subclass_configured_data(self):
- self.assertTrue('TESTS_CONFIGURE_METHOD_VALUE2' in dir(settings))
- self.assertEquals(settings.TESTS_CONFIGURE_METHOD_VALUE2, False)
-
-
-class PrefixConfTests(TestCase):
-
- def test_prefix(self):
- self.assertEquals(PrefixConf._meta.prefix, 'prefix')
-
- def test_simple(self):
- self.assertTrue(hasattr(settings, 'PREFIX_SIMPLE_VALUE'))
- self.assertEquals(settings.PREFIX_SIMPLE_VALUE, True)
-
- def test_configured(self):
- self.assertTrue(hasattr(settings, 'PREFIX_CONFIGURED_VALUE'))
- self.assertEquals(settings.PREFIX_CONFIGURED_VALUE, 'correct')
-
- def test_configure_method(self):
- self.assertTrue(hasattr(settings, 'PREFIX_CONFIGURE_METHOD_VALUE'))
- self.assertEquals(settings.PREFIX_CONFIGURE_METHOD_VALUE, True)
-
-
-class YetAnotherPrefixConfTests(TestCase):
-
- def test_prefix(self):
- self.assertEquals(YetAnotherPrefixConf._meta.prefix,
- 'yetanother_prefix')
-
- def test_simple(self):
- self.assertTrue(hasattr(settings,
- 'YETANOTHER_PREFIX_SIMPLE_VALUE'))
- self.assertEquals(settings.YETANOTHER_PREFIX_SIMPLE_VALUE, False)
-
- def test_configured(self):
- self.assertTrue(hasattr(settings,
- 'YETANOTHER_PREFIX_CONFIGURED_VALUE'))
- self.assertEquals(settings.YETANOTHER_PREFIX_CONFIGURED_VALUE,
- 'correct')
-
- def test_configure_method(self):
- self.assertTrue(hasattr(settings,
- 'YETANOTHER_PREFIX_CONFIGURE_METHOD_VALUE'))
- self.assertEquals(settings.YETANOTHER_PREFIX_CONFIGURE_METHOD_VALUE,
- True)
-
-
-class SeparateConfTests(TestCase):
-
- def test_prefix(self):
- self.assertEquals(SeparateConf._meta.prefix, 'prefix')
-
- def test_simple(self):
- self.assertTrue(hasattr(settings, 'PREFIX_SEPARATE_VALUE'))
- self.assertEquals(settings.PREFIX_SEPARATE_VALUE, True)
-
-
-class RequiredSettingsTests(TestCase):
-
- def create_invalid_conf(self):
- class RequirementConf(AppConf):
- class Meta:
- required = ['NOT_PRESENT']
-
- def test_value_is_defined(self):
- class RequirementConf(AppConf):
- class Meta:
- holder = 'appconf.tests.models.custom_holder'
- prefix = 'holder'
- required = ['VALUE']
-
- def test_default_is_defined(self):
- class RequirementConf(AppConf):
- SIMPLE_VALUE = True
-
- class Meta:
- required = ['SIMPLE_VALUE']
-
- def test_missing(self):
- self.assertRaises(ImproperlyConfigured, self.create_invalid_conf)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/appconf/utils.py new/django-appconf-1.0.1/appconf/utils.py
--- old/django-appconf-0.6/appconf/utils.py 2012-02-20 00:29:49.000000000 +0100
+++ new/django-appconf-1.0.1/appconf/utils.py 2015-02-15 14:20:37.000000000 +0100
@@ -2,7 +2,10 @@
def import_attribute(import_path, exception_handler=None):
- from django.utils.importlib import import_module
+ try:
+ from importlib import import_module
+ except ImportError:
+ from django.utils.importlib import import_module
module_name, object_name = import_path.rsplit('.', 1)
try:
module = import_module(module_name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/django_appconf.egg-info/PKG-INFO new/django-appconf-1.0.1/django_appconf.egg-info/PKG-INFO
--- old/django-appconf-0.6/django_appconf.egg-info/PKG-INFO 2013-01-28 18:53:14.000000000 +0100
+++ new/django-appconf-1.0.1/django_appconf.egg-info/PKG-INFO 2015-02-15 14:32:19.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: django-appconf
-Version: 0.6
+Version: 1.0.1
Summary: A helper class for handling configuration defaults of packaged apps gracefully.
Home-page: http://django-appconf.readthedocs.org/
Author: Jannis Leidel
@@ -16,6 +16,16 @@
A helper class for handling configuration defaults of packaged Django
apps gracefully.
+ .. note::
+
+ This app precedes Django's own AppConfig_ classes that act as
+ "objects [to] store metadata for an application" inside Django's
+ app loading mechanism. In other words, they solve a related but
+ different use case than django-appconf and can't easily be used
+ as a replacement. The similarity in name is purely coincidental.
+
+ .. _AppConfig: https://docs.djangoproject.com/en/stable/ref/applications/#django.apps.AppC…
+
Overview
--------
@@ -106,16 +116,18 @@
Platform: UNKNOWN
-Classifier: Development Status :: 4 - Beta
+Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.5
+Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Utilities
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/django_appconf.egg-info/SOURCES.txt new/django-appconf-1.0.1/django_appconf.egg-info/SOURCES.txt
--- old/django-appconf-0.6/django_appconf.egg-info/SOURCES.txt 2013-01-28 18:53:14.000000000 +0100
+++ new/django-appconf-1.0.1/django_appconf.egg-info/SOURCES.txt 2015-02-15 14:32:20.000000000 +0100
@@ -1,19 +1,20 @@
+.coveragerc
+.gitignore
+.travis.yml
AUTHORS
LICENSE
MANIFEST.in
README.rst
+setup.cfg
setup.py
+tox.ini
appconf/__init__.py
appconf/base.py
-appconf/test_settings.py
appconf/utils.py
-appconf/tests/__init__.py
-appconf/tests/models.py
-appconf/tests/settings.py
-appconf/tests/tests.py
django_appconf.egg-info/PKG-INFO
django_appconf.egg-info/SOURCES.txt
django_appconf.egg-info/dependency_links.txt
+django_appconf.egg-info/pbr.json
django_appconf.egg-info/requires.txt
django_appconf.egg-info/top_level.txt
docs/Makefile
@@ -22,4 +23,9 @@
docs/index.rst
docs/make.bat
docs/reference.rst
-docs/usage.rst
\ No newline at end of file
+docs/usage.rst
+tests/__init__.py
+tests/models.py
+tests/settings.py
+tests/test_settings.py
+tests/tests.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/django_appconf.egg-info/pbr.json new/django-appconf-1.0.1/django_appconf.egg-info/pbr.json
--- old/django-appconf-0.6/django_appconf.egg-info/pbr.json 1970-01-01 01:00:00.000000000 +0100
+++ new/django-appconf-1.0.1/django_appconf.egg-info/pbr.json 2015-02-15 14:32:19.000000000 +0100
@@ -0,0 +1 @@
+{"is_release": true, "git_version": "75c8ca4"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/django_appconf.egg-info/requires.txt new/django-appconf-1.0.1/django_appconf.egg-info/requires.txt
--- old/django-appconf-0.6/django_appconf.egg-info/requires.txt 2013-01-28 18:53:14.000000000 +0100
+++ new/django-appconf-1.0.1/django_appconf.egg-info/requires.txt 2015-02-15 14:32:19.000000000 +0100
@@ -1 +1 @@
-six
\ No newline at end of file
+six
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/docs/changelog.rst new/django-appconf-1.0.1/docs/changelog.rst
--- old/django-appconf-0.6/docs/changelog.rst 2013-01-28 18:52:33.000000000 +0100
+++ new/django-appconf-1.0.1/docs/changelog.rst 2015-02-15 14:20:37.000000000 +0100
@@ -1,6 +1,25 @@
Changelog
=========
+1.0 (2015-02-15)
+----------------
+
+.. note::
+
+ This app precedes Django's own AppConfig_ classes that act as
+ "objects [to] store metadata for an application" inside Django's
+ app loading mechanism. In other words, they solve a related but
+ different use case than django-appconf and can't easily be used
+ as a replacement. The similarity in name is purely coincidental.
+
+* Dropped support of Python 2.5.
+
+* Added support for Django 1.7 and 1.8.
+
+* Modernized test setup.
+
+.. _AppConfig: https://docs.djangoproject.com/en/stable/ref/applications/#django.apps.AppC…
+
0.6 (2013-01-28)
----------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/docs/usage.rst new/django-appconf-1.0.1/docs/usage.rst
--- old/django-appconf-0.6/docs/usage.rst 2012-06-01 19:46:22.000000000 +0200
+++ new/django-appconf-1.0.1/docs/usage.rst 2015-02-15 14:20:37.000000000 +0100
@@ -42,7 +42,7 @@
myapp_settings = MyAppConf(SETTING_1='something completely different')
- if 'different' in myapp_settings.SETTINGS_1:
+ if 'different' in myapp_settings.SETTING_1:
print "yay, I'm different!"
Custom configuration
@@ -72,7 +72,7 @@
The method **must return** the value to be use for the setting in
question.
-After each of the ``*_configure`` methods have been called, the ``AppConf``
+After each of the ``configure_*`` methods has been called, the ``AppConf``
class will additionally call a main ``configure`` method, which can
be used to do any further custom configuration handling, e.g. if multiple
settings depend on each other. For that a ``configured_data`` dictionary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/setup.cfg new/django-appconf-1.0.1/setup.cfg
--- old/django-appconf-0.6/setup.cfg 2013-01-28 18:53:14.000000000 +0100
+++ new/django-appconf-1.0.1/setup.cfg 2015-02-15 14:32:20.000000000 +0100
@@ -1,3 +1,6 @@
+[wheel]
+universal = 1
+
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/setup.py new/django-appconf-1.0.1/setup.py
--- old/django-appconf-0.6/setup.py 2013-01-28 18:40:37.000000000 +0100
+++ new/django-appconf-1.0.1/setup.py 2015-02-15 14:20:37.000000000 +0100
@@ -28,26 +28,23 @@
author_email='jannis(a)leidel.info',
license='BSD',
url='http://django-appconf.readthedocs.org/',
- packages=[
- 'appconf',
- 'appconf.tests',
- ],
- install_requires=[
- 'six'
- ],
+ packages=['appconf'],
+ install_requires=['six'],
classifiers=[
- 'Development Status :: 4 - Beta',
+ 'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Framework :: Django',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
- 'Programming Language :: Python :: 2.5',
+ 'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
+ 'Programming Language :: Python :: 3.4',
'Topic :: Utilities',
],
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/tests/models.py new/django-appconf-1.0.1/tests/models.py
--- old/django-appconf-0.6/tests/models.py 1970-01-01 01:00:00.000000000 +0100
+++ new/django-appconf-1.0.1/tests/models.py 2015-02-15 14:20:37.000000000 +0100
@@ -0,0 +1,66 @@
+from appconf import AppConf
+
+
+class CustomHolder(object):
+ HOLDER_VALUE = True
+
+custom_holder = CustomHolder()
+
+
+class TestConf(AppConf):
+
+ SIMPLE_VALUE = True
+
+ CONFIGURED_VALUE = 'wrong'
+
+ def configure_configured_value(self, value):
+ return 'correct'
+
+ def configure(self):
+ self.configured_data['CONFIGURE_METHOD_VALUE'] = True
+ return self.configured_data
+
+
+class PrefixConf(TestConf):
+
+ class Meta:
+ prefix = 'prefix'
+
+
+class YetAnotherPrefixConf(PrefixConf):
+
+ SIMPLE_VALUE = False
+
+ class Meta:
+ prefix = 'yetanother_prefix'
+
+
+class SeparateConf(AppConf):
+
+ SEPARATE_VALUE = True
+
+ class Meta(PrefixConf.Meta):
+ pass
+
+
+class SubclassConf(TestConf):
+
+ def configure(self):
+ self.configured_data['CONFIGURE_METHOD_VALUE2'] = False
+ return self.configured_data
+
+
+class ProxyConf(TestConf):
+
+ class Meta:
+ proxy = True
+
+
+class CustomHolderConf(AppConf):
+
+ SIMPLE_VALUE = True
+
+ class Meta:
+ # instead of django.conf.settings
+ holder = 'tests.models.custom_holder'
+ prefix = 'custom_holder'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/tests/settings.py new/django-appconf-1.0.1/tests/settings.py
--- old/django-appconf-0.6/tests/settings.py 1970-01-01 01:00:00.000000000 +0100
+++ new/django-appconf-1.0.1/tests/settings.py 2015-02-15 14:20:37.000000000 +0100
@@ -0,0 +1,3 @@
+SIMPLE_VALUE = True
+
+CONFIGURED_VALUE = 'wrong'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/tests/test_settings.py new/django-appconf-1.0.1/tests/test_settings.py
--- old/django-appconf-0.6/tests/test_settings.py 1970-01-01 01:00:00.000000000 +0100
+++ new/django-appconf-1.0.1/tests/test_settings.py 2015-02-15 14:20:37.000000000 +0100
@@ -0,0 +1,23 @@
+import django
+
+SITE_ID = 1
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': ':memory:',
+ }
+}
+
+INSTALLED_APPS = [
+ 'django.contrib.contenttypes',
+ 'django.contrib.sites',
+ 'django.contrib.auth',
+ 'django.contrib.admin',
+ 'tests',
+]
+
+if django.VERSION[:2] < (1, 6):
+ TEST_RUNNER = 'discover_runner.DiscoverRunner'
+
+SECRET_KEY = 'local'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/tests/tests.py new/django-appconf-1.0.1/tests/tests.py
--- old/django-appconf-0.6/tests/tests.py 1970-01-01 01:00:00.000000000 +0100
+++ new/django-appconf-1.0.1/tests/tests.py 2015-02-15 14:20:37.000000000 +0100
@@ -0,0 +1,146 @@
+from __future__ import absolute_import
+from django.conf import settings
+from django.core.exceptions import ImproperlyConfigured
+from django.test import TestCase
+
+from .models import (AppConf, TestConf, PrefixConf,
+ YetAnotherPrefixConf, SeparateConf,
+ ProxyConf, CustomHolderConf, custom_holder)
+
+
+class TestConfTests(TestCase):
+
+ def test_basic(self):
+ self.assertEqual(TestConf._meta.prefix, 'tests')
+
+ def test_simple(self):
+ self.assertTrue(hasattr(settings, 'TESTS_SIMPLE_VALUE'))
+ self.assertEqual(settings.TESTS_SIMPLE_VALUE, True)
+
+ def test_configured(self):
+ self.assertTrue(hasattr(settings, 'TESTS_CONFIGURED_VALUE'))
+ self.assertEqual(settings.TESTS_CONFIGURED_VALUE, 'correct')
+
+ def test_configure_method(self):
+ self.assertTrue(hasattr(settings, 'TESTS_CONFIGURE_METHOD_VALUE'))
+ self.assertEqual(settings.TESTS_CONFIGURE_METHOD_VALUE, True)
+
+ def test_init_kwargs(self):
+ custom_conf = TestConf(CUSTOM_VALUE='custom')
+ self.assertEqual(custom_conf.CUSTOM_VALUE, 'custom')
+ self.assertEqual(settings.TESTS_CUSTOM_VALUE, 'custom')
+ self.assertRaises(AttributeError,
+ lambda: custom_conf.TESTS_CUSTOM_VALUE)
+ custom_conf.CUSTOM_VALUE_SETATTR = 'custom'
+ self.assertEqual(settings.TESTS_CUSTOM_VALUE_SETATTR, 'custom')
+ custom_conf.custom_value_lowercase = 'custom'
+ self.assertRaises(AttributeError,
+ lambda: settings.custom_value_lowercase)
+
+ def test_init_kwargs_with_prefix(self):
+ custom_conf = TestConf(TESTS_CUSTOM_VALUE2='custom2')
+ self.assertEqual(custom_conf.TESTS_CUSTOM_VALUE2, 'custom2')
+ self.assertEqual(settings.TESTS_CUSTOM_VALUE2, 'custom2')
+
+ def test_proxy(self):
+ custom_conf = ProxyConf(CUSTOM_VALUE3='custom3')
+ self.assertEqual(custom_conf.CUSTOM_VALUE3, 'custom3')
+ self.assertEqual(settings.TESTS_CUSTOM_VALUE3, 'custom3')
+ self.assertEqual(custom_conf.TESTS_CUSTOM_VALUE3, 'custom3')
+ self.assertTrue('tests' in custom_conf.INSTALLED_APPS)
+
+ def test_dir_members(self):
+ custom_conf = TestConf()
+ self.assertTrue('TESTS_SIMPLE_VALUE' in dir(settings))
+ if hasattr(settings, '__members__'): # django 1.5 removed __members__
+ self.assertTrue('TESTS_SIMPLE_VALUE' in settings.__members__)
+ self.assertTrue('SIMPLE_VALUE' in dir(custom_conf))
+ self.assertTrue('SIMPLE_VALUE' in custom_conf.__members__)
+ self.assertFalse('TESTS_SIMPLE_VALUE' in dir(custom_conf))
+ self.assertFalse('TESTS_SIMPLE_VALUE' in custom_conf.__members__)
+
+ def test_custom_holder(self):
+ CustomHolderConf()
+ self.assertTrue(hasattr(custom_holder, 'CUSTOM_HOLDER_SIMPLE_VALUE'))
+ self.assertEqual(custom_holder.CUSTOM_HOLDER_SIMPLE_VALUE, True)
+
+ def test_subclass_configured_data(self):
+ self.assertTrue('TESTS_CONFIGURE_METHOD_VALUE2' in dir(settings))
+ self.assertEqual(settings.TESTS_CONFIGURE_METHOD_VALUE2, False)
+
+
+class PrefixConfTests(TestCase):
+
+ def test_prefix(self):
+ self.assertEqual(PrefixConf._meta.prefix, 'prefix')
+
+ def test_simple(self):
+ self.assertTrue(hasattr(settings, 'PREFIX_SIMPLE_VALUE'))
+ self.assertEqual(settings.PREFIX_SIMPLE_VALUE, True)
+
+ def test_configured(self):
+ self.assertTrue(hasattr(settings, 'PREFIX_CONFIGURED_VALUE'))
+ self.assertEqual(settings.PREFIX_CONFIGURED_VALUE, 'correct')
+
+ def test_configure_method(self):
+ self.assertTrue(hasattr(settings, 'PREFIX_CONFIGURE_METHOD_VALUE'))
+ self.assertEqual(settings.PREFIX_CONFIGURE_METHOD_VALUE, True)
+
+
+class YetAnotherPrefixConfTests(TestCase):
+
+ def test_prefix(self):
+ self.assertEqual(YetAnotherPrefixConf._meta.prefix,
+ 'yetanother_prefix')
+
+ def test_simple(self):
+ self.assertTrue(hasattr(settings,
+ 'YETANOTHER_PREFIX_SIMPLE_VALUE'))
+ self.assertEqual(settings.YETANOTHER_PREFIX_SIMPLE_VALUE, False)
+
+ def test_configured(self):
+ self.assertTrue(hasattr(settings,
+ 'YETANOTHER_PREFIX_CONFIGURED_VALUE'))
+ self.assertEqual(settings.YETANOTHER_PREFIX_CONFIGURED_VALUE,
+ 'correct')
+
+ def test_configure_method(self):
+ self.assertTrue(hasattr(settings,
+ 'YETANOTHER_PREFIX_CONFIGURE_METHOD_VALUE'))
+ self.assertEqual(settings.YETANOTHER_PREFIX_CONFIGURE_METHOD_VALUE,
+ True)
+
+
+class SeparateConfTests(TestCase):
+
+ def test_prefix(self):
+ self.assertEqual(SeparateConf._meta.prefix, 'prefix')
+
+ def test_simple(self):
+ self.assertTrue(hasattr(settings, 'PREFIX_SEPARATE_VALUE'))
+ self.assertEqual(settings.PREFIX_SEPARATE_VALUE, True)
+
+
+class RequiredSettingsTests(TestCase):
+
+ def create_invalid_conf(self):
+ class RequirementConf(AppConf):
+ class Meta:
+ required = ['NOT_PRESENT']
+
+ def test_value_is_defined(self):
+ class RequirementConf(AppConf):
+ class Meta:
+ holder = 'tests.models.custom_holder'
+ prefix = 'holder'
+ required = ['VALUE']
+
+ def test_default_is_defined(self):
+ class RequirementConf(AppConf):
+ SIMPLE_VALUE = True
+
+ class Meta:
+ required = ['SIMPLE_VALUE']
+
+ def test_missing(self):
+ self.assertRaises(ImproperlyConfigured, self.create_invalid_conf)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-appconf-0.6/tox.ini new/django-appconf-1.0.1/tox.ini
--- old/django-appconf-0.6/tox.ini 1970-01-01 01:00:00.000000000 +0100
+++ new/django-appconf-1.0.1/tox.ini 2015-02-15 14:20:37.000000000 +0100
@@ -0,0 +1,50 @@
+[tox]
+skipsdist = True
+usedevelop = True
+minversion = 1.8
+envlist =
+ flake8-py27,
+ flake8-py33,
+ py{26,27}-dj14,
+ py{26,27,32,33}-dj{15,16},
+ py{27,32,33,34}-dj{17,18,19},
+
+[testenv]
+basepython =
+ py26: python2.6
+ py27: python2.7
+ py32: python3.2
+ py33: python3.3
+ py34: python3.4
+ pypy: pypy
+usedevelop = true
+setenv =
+ PYTHONPATH = {toxinidir}
+ DJANGO_SETTINGS_MODULE=tests.test_settings
+deps =
+ flake8
+ coverage
+ django-discover-runner
+ dj13: https://github.com/django/django/archive/stable/1.3.x.zip#egg=django
+ dj14: https://github.com/django/django/archive/stable/1.4.x.zip#egg=django
+ dj15: https://github.com/django/django/archive/stable/1.5.x.zip#egg=django
+ dj16: https://github.com/django/django/archive/stable/1.6.x.zip#egg=django
+ dj17: https://github.com/django/django/archive/stable/1.7.x.zip#egg=django
+ dj18: https://github.com/django/django/archive/stable/1.8.x.zip#egg=django
+ dj19: https://github.com/django/django/archive/master.zip#egg=django
+
+commands =
+ coverage run {envbindir}/django-admin.py test -v2 {posargs:tests}
+ coverage report
+
+[testenv:flake8-py27]
+commands = flake8 appconf
+deps = flake8
+
+[testenv:flake8-py33]
+commands = flake8 appconf
+deps = flake8
+
+[flake8]
+exclude = .tox
+ignore = E501
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0