openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
July 2011
- 1 participants
- 1029 discussions
Hello community,
here is the log from the commit of package augeas for openSUSE:Factory
checked in at Mon Jul 4 09:12:47 CEST 2011.
--------
--- augeas/augeas.changes 2011-05-06 12:45:48.000000000 +0200
+++ /mounts/work_src_done/STABLE/augeas/augeas.changes 2011-06-30 14:57:55.000000000 +0200
@@ -3,0 +4,2 @@
+- fate#311042: Update augeas packages for latest puppet support
+ in SLE-11
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ augeas.spec ++++++
--- /var/tmp/diff_new_pack.mhUKeV/_old 2011-07-04 09:08:09.000000000 +0200
+++ /var/tmp/diff_new_pack.mhUKeV/_new 2011-07-04 09:08:09.000000000 +0200
@@ -20,7 +20,7 @@
Name: augeas
Version: 0.8.1
-Release: 1
+Release: 8
Summary: A library for changing configuration files
Group: System/Libraries
License: GPLv3+ ; LGPLv2.1+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
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 Mon Jul 4 09:07:30 CEST 2011.
--------
--- kernel-source/kernel-debug.changes 2011-05-23 15:45:53.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes 2011-06-30 07:03:47.000000000 +0200
@@ -1,0 +2,355 @@
+Wed Jun 29 15:12:07 CEST 2011 - jeffm(a)suse.com
+
+- Update to 3.0-rc5.
+- commit 9eb1a0f
+
+-------------------------------------------------------------------
+Wed Jun 29 14:46:33 CEST 2011 - jslaby(a)suse.cz
+
+- TTY: ldisc, do not close until there are readers (bnc#698247
+ bnc#693374).
+- commit b3afb1a
+
+-------------------------------------------------------------------
+Fri Jun 24 01:30:11 CEST 2011 - jeffm(a)suse.com
+
+- Enable TOMOYO (FATE#310292, bnc#668381).
+- commit 997e757
+
+-------------------------------------------------------------------
+Tue Jun 21 14:06:48 CEST 2011 - mmarek(a)suse.cz
+
+- Update vanilla configs.
+- commit 1738011
+
+-------------------------------------------------------------------
+Tue Jun 21 12:14:44 CEST 2011 - mmarek(a)suse.cz
+
+- Update to 3.0-rc4
+- commit 1b6bf5d
+
+-------------------------------------------------------------------
+Fri Jun 17 17:29:41 CEST 2011 - mmarek(a)suse.cz
+
+- rpm/post.sh: Touch /boot/do_purge_kernels on package install
+ (fate#312018).
+- rpm/postun.sh: Remove it again if it still exists on package
+ uninstall.
+- commit 82f4a5d
+
+-------------------------------------------------------------------
+Fri Jun 17 13:23:54 CEST 2011 - trenn(a)suse.de
+
+- stop_machine: implement stop_machine_from_offline_cpu()
+ (bnc#697859).
+- stop_machine: kill __stop_machine() (bnc#697859).
+- x86, mtrr: lock stop machine during MTRR rendezvous sequence
+ (bnc#697859).
+- stop_machine: reorganize stop_cpus() implementation
+ (bnc#697859).
+- x86, mtrr: use __stop_machine() for doing MTRR rendezvous
+ (bnc#697859).
+- commit aa3d6e2
+
+-------------------------------------------------------------------
+Thu Jun 16 12:16:16 CEST 2011 - mmarek(a)suse.cz
+
+- Remove the novfs patches, it should be packaged as a KMP, or
+ ideally, reimplemented as a fuse filesystem (which is the reason why
+ the current implementation it is never going to be accepted upstream).
+- Delete patches.fixes/novfs-copy_user-fixes.diff.
+- Delete patches.fixes/novfs-minsize-fixes.
+- Delete patches.fixes/novfs-nwcapi.patch.
+- Delete patches.suse/novfs-client-module.
+- Delete patches.suse/novfs-remove-bkl.
+- commit bc3a79d
+
+-------------------------------------------------------------------
+Thu Jun 16 12:04:56 CEST 2011 - ohering(a)suse.de
+
+- Update vanilla config files.
+- commit a642909
+
+-------------------------------------------------------------------
+Thu Jun 16 11:50:58 CEST 2011 - ohering(a)suse.de
+
+- rpm/kernel-binary.spec.in:
+ jobs is not defined for home: projects, use the new _smp_mflags to enable parallel build
+- rpm/kernel-binary.spec.in:
+ jobs is not defined for home: projects, use the new _smp_mflags to enable parallel build
+- commit 1009eaf
+
+-------------------------------------------------------------------
+Thu Jun 16 11:27:44 CEST 2011 - ohering(a)suse.de
+
+- rpm/kernel-binary.spec.in:
+ Update comment, get the number of cpus from /proc/stat
+- rpm/kernel-binary.spec.in:
+ Update comment, get the number of cpus from /proc/stat
+- commit b4cf18c
+
+-------------------------------------------------------------------
+Wed Jun 15 20:40:28 CEST 2011 - jeffm(a)suse.com
+
+- Update config files: Disable BRCMSMAC on ppc/ppc64.
+- commit 20b3d8e
+
+-------------------------------------------------------------------
+Wed Jun 15 18:33:50 CEST 2011 - jack(a)suse.cz
+
+- "Unable to save Login Script" appears when trying to save a
+ user login script (bnc#638985).
+- commit 7c243a4
+
+-------------------------------------------------------------------
+Wed Jun 15 18:22:05 CEST 2011 - jack(a)suse.cz
+
+- fs: novfs: Limit check for datacopy between user and kernel space.
+- commit 5fbc5ed
+
+-------------------------------------------------------------------
+Wed Jun 15 08:05:05 CEST 2011 - jeffm(a)suse.com
+
+- Update to 3.0-rc3.
+ - Eliminated 2 patches.
+- commit a1fe999
+
+-------------------------------------------------------------------
+Tue Jun 14 17:13:47 CEST 2011 - mmarek(a)suse.cz
+
+- scripts/config.sh: Remove MIRROR handling, _find_tarball() does it
+ itself.
+- commit 18ad47f
+
+-------------------------------------------------------------------
+Mon Jun 13 21:52:37 CEST 2011 - jeffm(a)suse.com
+
+- nouveau: Make vga_switcheroo code depend on VGA_SWITCHEROO.
+- commit b3f32a6
+
+-------------------------------------------------------------------
+Mon Jun 13 17:29:32 CEST 2011 - jeffm(a)suse.com
+
+- apm: Honor CONFIG_APM_CPU_IDLE=n.
+- commit 8ad9b51
+
+-------------------------------------------------------------------
+Mon Jun 13 17:18:17 CEST 2011 - jeffm(a)suse.com
+
+- Update config files.
+- commit 2cd7359
+
+-------------------------------------------------------------------
+Mon Jun 13 17:15:33 CEST 2011 - jeffm(a)suse.com
+
+- Delete patches.rpmify/qla4xx-missing-readq-definition.
+- commit b48337d
+
+-------------------------------------------------------------------
+Mon Jun 13 16:58:50 CEST 2011 - mmarek(a)suse.cz
+
+- Remove copypasted lines from vanilla configs.
+- commit b395e52
+
+-------------------------------------------------------------------
+Mon Jun 13 16:27:20 CEST 2011 - mmarek(a)suse.cz
+
+- rpm/kernel-binary.spec.in: Call gzip with -n.
+- commit 9a65e48
+
+-------------------------------------------------------------------
+Mon Jun 13 16:00:19 CEST 2011 - mmarek(a)suse.cz
+
+- rpm/mkspec: Put the -rcX tag into the rpm version instead of the
+ trailing zero. Rpm considers "rc" older than "0", so this will sort
+ properly.
+- commit 8d9b2b9
+
+-------------------------------------------------------------------
+Mon Jun 13 14:41:50 CEST 2011 - mmarek(a)suse.cz
+
+- x86, build: Do not set the root_dev field in bzImage.
+- commit 15e4a82
+
+-------------------------------------------------------------------
+Mon Jun 13 14:06:28 CEST 2011 - mmarek(a)suse.cz
+
+- rpm/compute-PATCHVERSION.sh: Set default PATCHLEVEL and SUBLEVEL to 0.
+ The package version will thus always match the Makefile version and
+ the SRCVERSION variable will only be used to determine the tarball
+ version.
+- rpm/compute-PATCHVERSION.sh: Set default PATCHLEVEL and SUBLEVEL to 0.
+ The package version will thus always match the Makefile version and
+ the SRCVERSION variable will only be used to determine the tarball
+ version.
+- rpm/kernel-binary.spec.in: Revert the previous hack.
+- commit 95c9977
+
+-------------------------------------------------------------------
+Sat Jun 11 23:37:42 CEST 2011 - jeffm(a)suse.de
+
+- kbuild: Fix KERNELVERSION for empty SUBLEVEL or PATCHLEVEL.
+- kbuild: Fix <linux/version.h> for empty SUBLEVEL or PATCHLEVEL.
+- Refresh patches.suse/supported-flag.
+- rpm/kernel-binary.spec.in: Hack to work around v3.0 vs v3.0.0
+- commit a95ebd8
+
+-------------------------------------------------------------------
++++ 163 more lines (skipped)
++++ between kernel-source/kernel-debug.changes
++++ and /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes
kernel-default.changes: same change
kernel-desktop.changes: same change
kernel-docs.changes: same change
kernel-pae.changes: same change
kernel-ppc64.changes: same change
kernel-ps3.changes: same change
kernel-s390.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-trace.changes: same change
kernel-vanilla.changes: same change
calling whatdependson for head-i586
Old:
----
kernel-ec2.changes
kernel-ec2.spec
kernel-xen.changes
kernel-xen.spec
linux-2.6.39.tar.bz2
New:
----
linux-3.0-rc5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:34.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:34.000000000 +0200
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.39
-%define patchversion 2.6.39
+%define srcversion 3.0-rc5
+%define patchversion 3.0.0-rc5
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -55,7 +55,7 @@
Name: kernel-debug
Summary: A Debug Version of the Kernel
-Version: 2.6.39
+Version: 3.0.rc5
Release: 1
%if %using_buildservice
%else
@@ -84,11 +84,7 @@
# packages to install/update. Likewise, this is true for mkinitrd.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
-%if 0%{?suse_version} >= 1130
-Requires(post): mkinitrd >= 2.6.0
-%else
Requires(post): mkinitrd
-%endif
# Do not install p-b and mkinitrd for the install check, the %post script is
# able to handle this
#!BuildIgnore: perl-Bootloader mkinitrd
@@ -351,6 +347,8 @@
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
+export KBUILD_BUILD_USER=geeko
+export KBUILD_BUILD_HOST=buildhost
EOF
%build
@@ -362,22 +360,22 @@
%_sourcedir/modversions --unpack . < $_
fi
-# If the %jobs macro is defined to a number, make will spawn that many jobs.
+# 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:
# build --jobs=N kernel-$flavor.spec
# With plain rpmbuild:
# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
# To spawn as many jobs as there are cpu cores:
-# rpmbuild -ba --define "jobs 0$(grep -c ^processor /proc/cpuinfo)" \
+# rpmbuild -ba --define "%_smp_mflags -j 0$(grep -Ec 'cpu[0-9]' /proc/stat)" \
# kernel-$flavor.spec
# You can also set this permanently in ~/.rpmmacros:
-# %jobs 0%(grep -c ^processor /proc/cpuinfo)
+# %_smp_mflags -j 0%(grep -Ec 'cpu[0-9]' /proc/stat)
%if %CONFIG_KMSG_IDS == "y"
chmod +x ../linux-%srcversion/scripts/kmsg-doc
- make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y D=2
+ make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y D=2
%else
- make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
+ make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%endif
%install
@@ -433,7 +431,7 @@
fi
%endif
if $compressed; then
- gzip -9 %buildroot/$vmlinux
+ gzip -n -9 %buildroot/$vmlinux
chmod a-x %buildroot/$vmlinux.gz
fi
}
@@ -546,7 +544,7 @@
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
- gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
+ gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -577,7 +575,7 @@
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
- gzip -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
+ gzip -n -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
kernel-default.spec: same change
kernel-desktop.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:34.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:34.000000000 +0200
@@ -17,14 +17,14 @@
# norootforbuild
-%define patchversion 2.6.39
+%define patchversion 3.0.0-rc5
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-docs
Summary: Kernel Documentation
-Version: 2.6.39
+Version: 3.0.rc5
Release: 1
%if %using_buildservice
%else
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:34.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:34.000000000 +0200
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.39
-%define patchversion 2.6.39
+%define srcversion 3.0-rc5
+%define patchversion 3.0.0-rc5
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -55,7 +55,7 @@
Name: kernel-pae
Summary: Kernel with PAE Support
-Version: 2.6.39
+Version: 3.0.rc5
Release: 1
%if %using_buildservice
%else
@@ -84,11 +84,7 @@
# packages to install/update. Likewise, this is true for mkinitrd.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
-%if 0%{?suse_version} >= 1130
-Requires(post): mkinitrd >= 2.6.0
-%else
Requires(post): mkinitrd
-%endif
# Do not install p-b and mkinitrd for the install check, the %post script is
# able to handle this
#!BuildIgnore: perl-Bootloader mkinitrd
@@ -357,6 +353,8 @@
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
+export KBUILD_BUILD_USER=geeko
+export KBUILD_BUILD_HOST=buildhost
EOF
%build
@@ -368,22 +366,22 @@
%_sourcedir/modversions --unpack . < $_
fi
-# If the %jobs macro is defined to a number, make will spawn that many jobs.
+# 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:
# build --jobs=N kernel-$flavor.spec
# With plain rpmbuild:
# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
# To spawn as many jobs as there are cpu cores:
-# rpmbuild -ba --define "jobs 0$(grep -c ^processor /proc/cpuinfo)" \
+# rpmbuild -ba --define "%_smp_mflags -j 0$(grep -Ec 'cpu[0-9]' /proc/stat)" \
# kernel-$flavor.spec
# You can also set this permanently in ~/.rpmmacros:
-# %jobs 0%(grep -c ^processor /proc/cpuinfo)
+# %_smp_mflags -j 0%(grep -Ec 'cpu[0-9]' /proc/stat)
%if %CONFIG_KMSG_IDS == "y"
chmod +x ../linux-%srcversion/scripts/kmsg-doc
- make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y D=2
+ make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y D=2
%else
- make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
+ make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%endif
%install
@@ -439,7 +437,7 @@
fi
%endif
if $compressed; then
- gzip -9 %buildroot/$vmlinux
+ gzip -n -9 %buildroot/$vmlinux
chmod a-x %buildroot/$vmlinux.gz
fi
}
@@ -552,7 +550,7 @@
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
- gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
+ gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -583,7 +581,7 @@
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
- gzip -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
+ gzip -n -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
kernel-ppc64.spec: same change
kernel-ps3.spec: same change
kernel-s390.spec: same change
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:34.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:34.000000000 +0200
@@ -18,8 +18,8 @@
# norootforbuild
# icecream 0
-%define srcversion 2.6.39
-%define patchversion 2.6.39
+%define srcversion 3.0-rc5
+%define patchversion 3.0.0-rc5
%define variant %{nil}
%define vanilla_only 0
@@ -29,7 +29,7 @@
Name: kernel-source
Summary: The Linux Kernel Sources
-Version: 2.6.39
+Version: 3.0.rc5
Release: 1
%if %using_buildservice
%else
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:34.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:34.000000000 +0200
@@ -23,7 +23,7 @@
Name: kernel-syms
Summary: Kernel Symbol Versions (modversions)
-Version: 2.6.39
+Version: 3.0.rc5
Release: 1
%if %using_buildservice
%else
@@ -49,9 +49,6 @@
%ifarch s390
Requires: kernel-s390-devel = %version-%source_rel
%endif
-%ifarch %ix86 x86_64
-Requires: kernel-xen-devel = %version-%source_rel
-%endif
Provides: multiversion(kernel)
Provides: %name = %version-%source_rel
Source: README.KSYMS
++++++ kernel-trace.spec ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:34.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:34.000000000 +0200
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.39
-%define patchversion 2.6.39
+%define srcversion 3.0-rc5
+%define patchversion 3.0.0-rc5
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -55,7 +55,7 @@
Name: kernel-trace
Summary: The Standard Kernel with Tracing Features
-Version: 2.6.39
+Version: 3.0.rc5
Release: 1
%if %using_buildservice
%else
@@ -84,11 +84,7 @@
# packages to install/update. Likewise, this is true for mkinitrd.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
-%if 0%{?suse_version} >= 1130
-Requires(post): mkinitrd >= 2.6.0
-%else
Requires(post): mkinitrd
-%endif
# Do not install p-b and mkinitrd for the install check, the %post script is
# able to handle this
#!BuildIgnore: perl-Bootloader mkinitrd
@@ -358,6 +354,8 @@
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
+export KBUILD_BUILD_USER=geeko
+export KBUILD_BUILD_HOST=buildhost
EOF
%build
@@ -369,22 +367,22 @@
%_sourcedir/modversions --unpack . < $_
fi
-# If the %jobs macro is defined to a number, make will spawn that many jobs.
+# 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:
# build --jobs=N kernel-$flavor.spec
# With plain rpmbuild:
# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
# To spawn as many jobs as there are cpu cores:
-# rpmbuild -ba --define "jobs 0$(grep -c ^processor /proc/cpuinfo)" \
+# rpmbuild -ba --define "%_smp_mflags -j 0$(grep -Ec 'cpu[0-9]' /proc/stat)" \
# kernel-$flavor.spec
# You can also set this permanently in ~/.rpmmacros:
-# %jobs 0%(grep -c ^processor /proc/cpuinfo)
+# %_smp_mflags -j 0%(grep -Ec 'cpu[0-9]' /proc/stat)
%if %CONFIG_KMSG_IDS == "y"
chmod +x ../linux-%srcversion/scripts/kmsg-doc
- make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y D=2
+ make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y D=2
%else
- make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
+ make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%endif
%install
@@ -440,7 +438,7 @@
fi
%endif
if $compressed; then
- gzip -9 %buildroot/$vmlinux
+ gzip -n -9 %buildroot/$vmlinux
chmod a-x %buildroot/$vmlinux.gz
fi
}
@@ -553,7 +551,7 @@
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
- gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
+ gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -584,7 +582,7 @@
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
- gzip -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
+ gzip -n -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
kernel-vanilla.spec: same change
++++++ compute-PATCHVERSION.sh ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:34.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:34.000000000 +0200
@@ -20,12 +20,16 @@
source $(dirname $0)/config.sh
-set -- $(echo $SRCVERSION | sed -rn 's/([0-9]+)\.([0-9]+)\.([0-9]+)(.*)/\1 \2 \3 \4/p')
-
-VERSION=$1
-PATCHLEVEL=$2
-SUBLEVEL=$3
-EXTRAVERSION=$4
+parse_srcversion()
+{
+ local IFS=.
+ set -- ${SRCVERSION%%-*}
+ VERSION=$1
+ PATCHLEVEL=${2:-0}
+ SUBLEVEL=${3:-0}
+ EXTRAVERSION=${SRCVERSION#${SRCVERSION%%-*}}
+}
+parse_srcversion
EXTRA_SYMBOLS=$(set -- $([ -e $(dirname $0)/extra-symbols ] && cat $(dirname $0)/extra-symbols) ; echo $*)
@@ -69,4 +73,5 @@
' \
| sed -e 's,^+,,' -e 's, *= *\(.*\),="\1",'
)"
+
echo "$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION"
++++++ config-options.changes.txt ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:34.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:34.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Tue Jun 21 11:38:10 UTC 2011 - mmarek(a)novell.com
+
+- Updated to 3.0-rc4:
+ - USB_NET_KALMIA=m
+ - BACKLIGHT_ADP8870=m
+
+-------------------------------------------------------------------
Fri Jan 21 02:35:17 CET 2011 - trenn(a)suse.de
- CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
++++++ config.conf ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:34.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:34.000000000 +0200
@@ -12,8 +12,8 @@
+i386 i386/desktop
+i386 i386/pae
+i386 -syms i386/debug
-+i386 i386/xen
-+i386 -syms i386/ec2
+#+i386 i386/xen
+#+i386 -syms i386/ec2
+i386 i386/vanilla
+i386 -syms i386/trace
@@ -24,8 +24,8 @@
+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/xen
+#+x86_64 -syms x86_64/ec2
+x86_64 -syms x86_64/debug
+x86_64 x86_64/vanilla
+x86_64 -syms x86_64/trace
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:34.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:34.000000000 +0200
@@ -1,5 +1,5 @@
# The version of the main tarball to use
-SRCVERSION=2.6.39
+SRCVERSION=3.0-rc5
# variant of the kernel-source package, either empty or "-rt"
VARIANT=
# buildservice projects to build the kernel against
++++++ config.tar.bz2 ++++++
++++ 37701 lines of diff (skipped)
++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:35.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:35.000000000 +0200
@@ -85,11 +85,7 @@
# packages to install/update. Likewise, this is true for mkinitrd.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
-%if 0%{?suse_version} >= 1130
-Requires(post): mkinitrd >= 2.6.0
-%else
Requires(post): mkinitrd
-%endif
# Do not install p-b and mkinitrd for the install check, the %post script is
# able to handle this
#!BuildIgnore: perl-Bootloader mkinitrd
@@ -275,6 +271,8 @@
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
+export KBUILD_BUILD_USER=geeko
+export KBUILD_BUILD_HOST=buildhost
EOF
%build
@@ -286,22 +284,22 @@
%_sourcedir/modversions --unpack . < $_
fi
-# If the %jobs macro is defined to a number, make will spawn that many jobs.
+# 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:
# build --jobs=N kernel-$flavor.spec
# With plain rpmbuild:
# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
# To spawn as many jobs as there are cpu cores:
-# rpmbuild -ba --define "jobs 0$(grep -c ^processor /proc/cpuinfo)" \
+# rpmbuild -ba --define "%_smp_mflags -j 0$(grep -Ec 'cpu[0-9]' /proc/stat)" \
# kernel-$flavor.spec
# You can also set this permanently in ~/.rpmmacros:
-# %jobs 0%(grep -c ^processor /proc/cpuinfo)
+# %_smp_mflags -j 0%(grep -Ec 'cpu[0-9]' /proc/stat)
%if %CONFIG_KMSG_IDS == "y"
chmod +x ../linux-%srcversion/scripts/kmsg-doc
- make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y D=2
+ make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y D=2
%else
- make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
+ make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%endif
@@ -358,7 +356,7 @@
fi
%endif
if $compressed; then
- gzip -9 %buildroot/$vmlinux
+ gzip -n -9 %buildroot/$vmlinux
chmod a-x %buildroot/$vmlinux.gz
fi
}
@@ -472,7 +470,7 @@
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
- gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
+ gzip -n -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -503,7 +501,7 @@
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
- gzip -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
+ gzip -n -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
++++++ kernel-module-subpackage ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:35.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:35.000000000 +0200
@@ -52,7 +52,7 @@
nvr=%{-n*}-%1-%_this_kmp_version-%{-r*}
wm2=/usr/lib/module-init-tools/weak-modules2
if [ -x $wm2 ]; then
- /bin/bash -${-/e/} $wm2 --add-kmp $nvr
+ %{-b:KMP_NEEDS_MKINITRD=1} /bin/bash -${-/e/} $wm2 --add-kmp $nvr
fi
%preun -n %{-n*}-%1
nvr=%{-n*}-%1-%_this_kmp_version-%{-r*}
++++++ macros.kernel-source ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:35.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:35.000000000 +0200
@@ -3,10 +3,10 @@
%kernel_module_package_buildreqs module-init-tools kernel-syms
# Defines %flavors_to_build and %kernel_source() as a side effect.
-%_kernel_module_package(n:v:r:t:f:Xp:) \
+%_kernel_module_package(n:v:r:t:f:Xp:b) \
%{expand:%( \
subpkg=%{-t*}%{!-t:/usr/lib/rpm/kernel-module-subpackage} \
- echo "%%define _suse_kernel_module_subpackage(n:v:r:f:p:) %%{expand:%%(cd %_sourcedir; cat $subpkg; echo %%%%nil)}" \
+ echo "%%define _suse_kernel_module_subpackage(n:v:r:f:p:b) %%{expand:%%(cd %_sourcedir; cat $subpkg; echo %%%%nil)}" \
flavors_to_build= \
flavors="%*" \
for flavor in $(ls /usr/src/linux-obj/%_target_cpu 2>/dev/null); do \
@@ -19,7 +19,7 @@
krel=$(make -s -C /usr/src/linux-obj/%_target_cpu/$flavor kernelrelease) \
kver=${krel%%-*} \
flavors_to_build="$flavors_to_build $flavor" \
- echo "%%_suse_kernel_module_subpackage -n %{-n*}%{!-n:%name}-kmp -v %{-v*}%{!-v:%version} -r %{-r*}%{!-r:%release} %{-p} $flavor $kver" \
+ echo "%%_suse_kernel_module_subpackage -n %{-n*}%{!-n:%name}-kmp -v %{-v*}%{!-v:%version} -r %{-r*}%{!-r:%release} %{-p} %{-b} $flavor $kver" \
done \
echo "%%global flavors_to_build${flavors_to_build:-%%nil}" \
echo "%%{expand:%%(test -z '%flavors_to_build' && echo %%%%internal_kmp_error)}" \
@@ -34,10 +34,10 @@
)}
# kernel_module_package: simply pass on all options and arguments.
-%kernel_module_package(n:v:r:t:f:xp:) \
+%kernel_module_package(n:v:r:t:f:xp:b) \
%{expand:%%_kernel_module_package %{-x:-X} %{-n} %{-v} %{-r} %{-t} %{-f} %{-p} %*}
# suse_kernel_module_package: invert the meaning of the -x flag. (You are not
# supposed to understand why a simple %{-x:}%{!-x:-x} won't work.)
-%suse_kernel_module_package(n:v:r:s:f:xp:) \
+%suse_kernel_module_package(n:v:r:s:f:xp:b) \
%{expand:%%_kernel_module_package %{-x: }%{!-x:-X} %{-n} %{-v} %{-r} %{-s:-t %{-s*}} %{-f} %{-p} %*}
++++++ minmem ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:35.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:35.000000000 +0200
@@ -1 +1 @@
-2096000
+1048576
++++++ mkspec ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:35.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:35.000000000 +0200
@@ -38,9 +38,13 @@
$patches="--patches $patches" if $patches;
my $patchversion = `$dir/compute-PATCHVERSION.sh $patches`;
chomp $patchversion;
-my $rpmversion;
+my $rpmversion = $patchversion;
+# stuff the -rcX tag into the rpm version if possible;
+$rpmversion =~ s/\.0-rc/.rc/;
+$rpmversion =~ s/-rc\d+//;
+$rpmversion =~ s/-/./g;
+
if (defined($rpmrelease)) {
- ($rpmversion = $patchversion) =~ s/-.*//;
# convince abuild that we really want this release number
xopen(my $fh, '>', "$dir/get_release_number.sh");
print $fh "#!/bin/sh\n";
@@ -48,7 +52,7 @@
close($fh);
chmod(0755, "$dir/get_release_number.sh");
} else {
- ($rpmversion, $rpmrelease) = (split(/-/, $patchversion, 2), "");
+ $rpmrelease = "";
}
$rpmrelease =~ s/[^.]$/$&./;
$rpmrelease =~ s/-/./g;
@@ -152,7 +156,7 @@
sub read_spec_templates {
my %res;
- for my $template qw(binary source syms docs) {
+ for my $template (qw(binary source syms docs)) {
xopen(my $fh, '<', "$dir/kernel-$template.spec.in");
local $/ = undef;
$res{$template} = <$fh>;
++++++ needed_space_in_mb ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:35.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:35.000000000 +0200
@@ -1 +1 @@
-6000
+6144
++++++ patches.arch.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/acpi_srat-pxm-rev-x86-64.patch new/patches.arch/acpi_srat-pxm-rev-x86-64.patch
--- old/patches.arch/acpi_srat-pxm-rev-x86-64.patch 2011-04-15 13:24:21.000000000 +0200
+++ new/patches.arch/acpi_srat-pxm-rev-x86-64.patch 2011-06-17 13:23:54.000000000 +0200
@@ -17,12 +17,12 @@
Signed-off-by: Kurt Garloff <garloff(a)suse.de>
---
- arch/x86/mm/srat_64.c | 4 ++++
+ arch/x86/mm/srat.c | 4 ++++
1 file changed, 4 insertions(+)
---- a/arch/x86/mm/srat_64.c
-+++ b/arch/x86/mm/srat_64.c
-@@ -156,6 +156,8 @@ acpi_numa_processor_affinity_init(struct
+--- a/arch/x86/mm/srat.c
++++ b/arch/x86/mm/srat.c
+@@ -104,6 +104,8 @@ acpi_numa_processor_affinity_init(struct
if ((pa->flags & ACPI_SRAT_CPU_ENABLED) == 0)
return;
pxm = pa->proximity_domain_lo;
@@ -31,7 +31,7 @@
node = setup_node(pxm);
if (node < 0) {
printk(KERN_ERR "SRAT: Too many proximity domains %x\n", pxm);
-@@ -259,6 +261,8 @@ acpi_numa_memory_affinity_init(struct ac
+@@ -155,6 +157,8 @@ acpi_numa_memory_affinity_init(struct ac
start = ma->base_address;
end = start + ma->length;
pxm = ma->proximity_domain;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/implement_stop_machine_from_offline_cpu.patch new/patches.arch/implement_stop_machine_from_offline_cpu.patch
--- old/patches.arch/implement_stop_machine_from_offline_cpu.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/implement_stop_machine_from_offline_cpu.patch 2011-06-17 13:23:54.000000000 +0200
@@ -0,0 +1,156 @@
+From: Tejun Heo <tj(a)kernel.org>
+Subject: stop_machine: implement stop_machine_from_offline_cpu()
+References: bnc#697859
+Patch-Mainline: not yet
+
+Signed-off-by: Thomas Renninger <trenn(a)suse.de>
+
+Currently, mtrr wants stop_machine functionality while a CPU is being
+brought up. As stop_machine() requires the calling CPU to be online,
+mtrr implements its own stop_machine using stop_one_cpu() on each
+online CPU. This doesn't only unnecessarily duplicate complex logic
+but also introduces a possibility of deadlock when it races against
+the generic stop_machine().
+
+This patch implements stop_machine_from_offline_cpu() to serve such
+use cases. Its functionality is basically the same to stop_machine();
+however, it should be called from a CPU which isn't online and doesn't
+depend on working scheduling on the calling CPU.
+
+This is achieved by using busy loops for synchronization and
+open-coding stop_cpus queueing and waiting with direct invocation of
+fn() for local CPU inbetween.
+
+Signed-off-by: Tejun Heo <tj(a)kernel.org>
+Signed-off-by: Suresh Siddha <suresh.b.siddha(a)intel.com>
+Cc: Ingo Molnar <mingo(a)elte.hu>
+Cc: Andrew Morton <akpm(a)linux-foundation.org>
+Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
+Cc: Peter Zijlstra <a.p.zijlstra(a)chello.nl>
+---
+ include/linux/stop_machine.h | 14 ++++++++-
+ kernel/stop_machine.c | 62 ++++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 73 insertions(+), 3 deletions(-)
+
+Index: linux-2.6-tip/include/linux/stop_machine.h
+===================================================================
+--- linux-2.6-tip.orig/include/linux/stop_machine.h
++++ linux-2.6-tip/include/linux/stop_machine.h
+@@ -101,18 +101,28 @@ static inline int try_stop_cpus(const st
+ #if defined(CONFIG_STOP_MACHINE) && defined(CONFIG_SMP)
+
+ int stop_machine(int (*fn)(void *), void *data, const struct cpumask *cpus);
++int stop_machine_from_offline_cpu(int (*fn)(void *), void *data,
++ const struct cpumask *cpus);
+
+ #else /* CONFIG_STOP_MACHINE && CONFIG_SMP */
+
+ static inline int stop_machine(int (*fn)(void *), void *data,
+ const struct cpumask *cpus)
+ {
++ unsigned long flags;
+ int ret;
+- local_irq_disable();
++
++ local_irq_save(flags);
+ ret = fn(data);
+- local_irq_enable();
++ local_irq_restore(flags);
+ return ret;
+ }
+
++static inline int stop_machine_from_offline_cpu(int (*fn)(void *), void *data,
++ const struct cpumask *cpus)
++{
++ return stop_machine(fn, data, cpus);
++}
++
+ #endif /* CONFIG_STOP_MACHINE && CONFIG_SMP */
+ #endif /* _LINUX_STOP_MACHINE */
+Index: linux-2.6-tip/kernel/stop_machine.c
+===================================================================
+--- linux-2.6-tip.orig/kernel/stop_machine.c
++++ linux-2.6-tip/kernel/stop_machine.c
+@@ -439,8 +439,15 @@ static int stop_machine_cpu_stop(void *d
+ struct stop_machine_data *smdata = data;
+ enum stopmachine_state curstate = STOPMACHINE_NONE;
+ int cpu = smp_processor_id(), err = 0;
++ unsigned long flags;
+ bool is_active;
+
++ /*
++ * When called from stop_machine_from_offline_cpu(), irq might
++ * already be disabled. Save the state and restore it on exit.
++ */
++ local_save_flags(flags);
++
+ if (!smdata->active_cpus)
+ is_active = cpu == cpumask_first(cpu_online_mask);
+ else
+@@ -468,7 +475,7 @@ static int stop_machine_cpu_stop(void *d
+ }
+ } while (curstate != STOPMACHINE_EXIT);
+
+- local_irq_enable();
++ local_irq_restore(flags);
+ return err;
+ }
+
+@@ -511,4 +518,57 @@ int stop_machine(int (*fn)(void *), void
+ }
+ EXPORT_SYMBOL_GPL(stop_machine);
+
++/**
++ * stop_machine_from_offline_cpu - stop_machine() from offline CPU
++ * @fn: the function to run
++ * @data: the data ptr for the @fn()
++ * @cpus: the cpus to run the @fn() on (NULL = any online cpu)
++ *
++ * This is identical to stop_machine() but can be called from a CPU which
++ * isn't online. The local CPU is in the process of hotplug (so no other
++ * CPU hotplug can start) and not marked online and doesn't have enough
++ * context to sleep.
++ *
++ * This function provides stop_machine() functionality for such state by
++ * using busy-wait for synchronization and executing @fn directly for local
++ * CPU.
++ *
++ * CONTEXT:
++ * Local CPU is offline. Temporarily stops all online CPUs.
++ *
++ * RETURNS:
++ * 0 if all executions of @fn returned 0, any non zero return value if any
++ * returned non zero.
++ */
++int stop_machine_from_offline_cpu(int (*fn)(void *), void *data,
++ const struct cpumask *cpus)
++{
++ struct stop_machine_data smdata = { .fn = fn, .data = data,
++ .active_cpus = cpus };
++ struct cpu_stop_done done;
++ int ret;
++
++ /* Local CPU must be offline and CPU hotplug in progress. */
++ BUG_ON(cpu_online(raw_smp_processor_id()));
++ smdata.num_threads = num_online_cpus() + 1; /* +1 for local */
++
++ /* No proper task established and can't sleep - busy wait for lock. */
++ while (!mutex_trylock(&stop_cpus_mutex))
++ cpu_relax();
++
++ /* Schedule work on other CPUs and execute directly for local CPU */
++ set_state(&smdata, STOPMACHINE_PREPARE);
++ cpu_stop_init_done(&done, num_online_cpus());
++ queue_stop_cpus_work(cpu_online_mask, stop_machine_cpu_stop, &smdata,
++ &done);
++ ret = stop_machine_cpu_stop(&smdata);
++
++ /* Busy wait for completion. */
++ while (!completion_done(&done.completion))
++ cpu_relax();
++
++ mutex_unlock(&stop_cpus_mutex);
++ return ret ?: done.ret;
++}
++
+ #endif /* CONFIG_STOP_MACHINE */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/kill-__stop_machine.patch new/patches.arch/kill-__stop_machine.patch
--- old/patches.arch/kill-__stop_machine.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/kill-__stop_machine.patch 2011-06-17 13:23:54.000000000 +0200
@@ -0,0 +1,184 @@
+From: Tejun Heo <tj(a)kernel.org>
+Subject: stop_machine: kill __stop_machine()
+References: bnc#697859
+Patch-Mainline: not yet
+
+Signed-off-by: Thomas Renninger <trenn(a)suse.de>
+
+stop_machine() is different from __stop_machine() in that it
+automatically calls get/put_online_cpus() to disable CPU hotplug. For
+__stop_machine(), the caller is responsible for achieving exclusion
+against CPU hotplug using either get/put_online_cpus() or
+cpu_hotplug_begin/done().
+
+However, get_online_cpus() can nest safely inside both another
+get_online_cpus() or cpu_hotplug_begin(); thus, it's safe to use
+stop_machine() instead of __stop_machine() making the distinction
+pointless - the overhead of extra get/put_online_cpus() is negligible
+compared to stop_machine and they basically become noop if hotplug is
+in progress.
+
+This patch converts all current __stop_machine() users to
+stop_machine() and kills __stop_machine(). While at it, move function
+comment for stop_machine() from function declaration to definition and
+update it slightly.
+
+Acked-by: Suresh Siddha <suresh.b.siddha(a)intel.com>
+Signed-off-by: Tejun Heo <tj(a)kernel.org>
+Cc: x86(a)kernel.org
+Cc: Ingo Molnar <mingo(a)elte.hu>
+Cc: Andrew Morton <akpm(a)linux-foundation.org>
+Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
+Cc: Peter Zijlstra <a.p.zijlstra(a)chello.nl>
+---
+ arch/x86/kernel/alternative.c | 5 ++---
+ include/linux/stop_machine.h | 34 ++--------------------------------
+ kernel/cpu.c | 2 +-
+ kernel/stop_machine.c | 38 +++++++++++++++++++++++++++-----------
+ 4 files changed, 32 insertions(+), 47 deletions(-)
+
+Index: linux-2.6-tip/arch/x86/kernel/alternative.c
+===================================================================
+--- linux-2.6-tip.orig/arch/x86/kernel/alternative.c
++++ linux-2.6-tip/arch/x86/kernel/alternative.c
+@@ -719,8 +719,7 @@ void *__kprobes text_poke_smp(void *addr
+ tpp.nparams = 1;
+ atomic_set(&stop_machine_first, 1);
+ wrote_text = 0;
+- /* Use __stop_machine() because the caller already got online_cpus. */
+- __stop_machine(stop_machine_text_poke, (void *)&tpp, cpu_online_mask);
++ stop_machine(stop_machine_text_poke, (void *)&tpp, cpu_online_mask);
+ return addr;
+ }
+
+@@ -741,5 +740,5 @@ void __kprobes text_poke_smp_batch(struc
+
+ atomic_set(&stop_machine_first, 1);
+ wrote_text = 0;
+- __stop_machine(stop_machine_text_poke, (void *)&tpp, NULL);
++ stop_machine(stop_machine_text_poke, (void *)&tpp, NULL);
+ }
+Index: linux-2.6-tip/include/linux/stop_machine.h
+===================================================================
+--- linux-2.6-tip.orig/include/linux/stop_machine.h
++++ linux-2.6-tip/include/linux/stop_machine.h
+@@ -100,36 +100,12 @@ static inline int try_stop_cpus(const st
+ */
+ #if defined(CONFIG_STOP_MACHINE) && defined(CONFIG_SMP)
+
+-/**
+- * stop_machine: freeze the machine on all CPUs and run this function
+- * @fn: the function to run
+- * @data: the data ptr for the @fn()
+- * @cpus: the cpus to run the @fn() on (NULL = any online cpu)
+- *
+- * Description: This causes a thread to be scheduled on every cpu,
+- * each of which disables interrupts. The result is that no one is
+- * holding a spinlock or inside any other preempt-disabled region when
+- * @fn() runs.
+- *
+- * This can be thought of as a very heavy write lock, equivalent to
+- * grabbing every spinlock in the kernel. */
+ int stop_machine(int (*fn)(void *), void *data, const struct cpumask *cpus);
+
+-/**
+- * __stop_machine: freeze the machine on all CPUs and run this function
+- * @fn: the function to run
+- * @data: the data ptr for the @fn
+- * @cpus: the cpus to run the @fn() on (NULL = any online cpu)
+- *
+- * Description: This is a special version of the above, which assumes cpus
+- * won't come or go while it's being called. Used by hotplug cpu.
+- */
+-int __stop_machine(int (*fn)(void *), void *data, const struct cpumask *cpus);
+-
+ #else /* CONFIG_STOP_MACHINE && CONFIG_SMP */
+
+-static inline int __stop_machine(int (*fn)(void *), void *data,
+- const struct cpumask *cpus)
++static inline int stop_machine(int (*fn)(void *), void *data,
++ const struct cpumask *cpus)
+ {
+ int ret;
+ local_irq_disable();
+@@ -138,11 +114,5 @@ static inline int __stop_machine(int (*f
+ return ret;
+ }
+
+-static inline int stop_machine(int (*fn)(void *), void *data,
+- const struct cpumask *cpus)
+-{
+- return __stop_machine(fn, data, cpus);
+-}
+-
+ #endif /* CONFIG_STOP_MACHINE && CONFIG_SMP */
+ #endif /* _LINUX_STOP_MACHINE */
+Index: linux-2.6-tip/kernel/cpu.c
+===================================================================
+--- linux-2.6-tip.orig/kernel/cpu.c
++++ linux-2.6-tip/kernel/cpu.c
+@@ -235,7 +235,7 @@ static int __ref _cpu_down(unsigned int
+ goto out_release;
+ }
+
+- err = __stop_machine(take_cpu_down, &tcd_param, cpumask_of(cpu));
++ err = stop_machine(take_cpu_down, &tcd_param, cpumask_of(cpu));
+ if (err) {
+ /* CPU didn't die: tell everyone. Can't complain. */
+ cpu_notify_nofail(CPU_DOWN_FAILED | mod, hcpu);
+Index: linux-2.6-tip/kernel/stop_machine.c
+===================================================================
+--- linux-2.6-tip.orig/kernel/stop_machine.c
++++ linux-2.6-tip/kernel/stop_machine.c
+@@ -464,24 +464,40 @@ static int stop_machine_cpu_stop(void *d
+ return err;
+ }
+
+-int __stop_machine(int (*fn)(void *), void *data, const struct cpumask *cpus)
++/**
++ * stop_machine - freeze the machine on all online CPUs and run this function
++ * @fn: the function to run
++ * @data: the data ptr for the @fn()
++ * @cpus: the cpus to run the @fn() on (NULL = any online cpu)
++ *
++ * This causes a thread to be scheduled on every cpu, each of which
++ * disables interrupts. The result is that no one is holding a spinlock or
++ * inside any other preempt-disabled region when @fn() runs.
++ *
++ * This can be thought of as a very heavy write lock, equivalent to
++ * grabbing every spinlock in the kernel.
++ *
++ * CONTEXT:
++ * Might sleep. Temporarily stops all online CPUs.
++ *
++ * RETURNS:
++ * 0 if all executions of @fn returned 0, any non zero return value if any
++ * returned non zero.
++ */
++int stop_machine(int (*fn)(void *), void *data, const struct cpumask *cpus)
+ {
+ struct stop_machine_data smdata = { .fn = fn, .data = data,
+- .num_threads = num_online_cpus(),
+ .active_cpus = cpus };
+-
+- /* Set the initial state and stop all online cpus. */
+- set_state(&smdata, STOPMACHINE_PREPARE);
+- return stop_cpus(cpu_online_mask, stop_machine_cpu_stop, &smdata);
+-}
+-
+-int stop_machine(int (*fn)(void *), void *data, const struct cpumask *cpus)
+-{
+ int ret;
+
+ /* No CPUs can come up or down during this. */
+ get_online_cpus();
+- ret = __stop_machine(fn, data, cpus);
++ smdata.num_threads = num_online_cpus(),
++
++ /* Set the initial state and stop all online cpus. */
++ set_state(&smdata, STOPMACHINE_PREPARE);
++ ret = stop_cpus(cpu_online_mask, stop_machine_cpu_stop, &smdata);
++
+ put_online_cpus();
+ return ret;
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/mtrr_stop_machine_quick_fix.patch new/patches.arch/mtrr_stop_machine_quick_fix.patch
--- old/patches.arch/mtrr_stop_machine_quick_fix.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/mtrr_stop_machine_quick_fix.patch 2011-06-17 13:23:54.000000000 +0200
@@ -0,0 +1,109 @@
+From: Suresh Siddha <suresh.b.siddha(a)intel.com>
+Subject: x86, mtrr: lock stop machine during MTRR rendezvous sequence
+References: bnc#697859
+Patch-Mainline: not yet
+
+Signed-off-by: Thomas Renninger <trenn(a)suse.de>
+
+MTRR rendezvous sequence using stop_one_cpu_nowait() can potentially
+happen in parallel with another system wide rendezvous using
+stop_machine(). This can lead to deadlock (The order in which
+works are queued can be different on different cpu's. Some cpu's
+will be running the first rendezvous handler and others will be running
+the second rendezvous handler. Each set waiting for the other set to join
+for the system wide rendezvous, leading to a deadlock).
+
+MTRR rendezvous sequence is not implemened using stop_machine() as this
+gets called both from the process context aswell as the cpu online paths
+(where the cpu has not come online and the interrupts are disabled etc).
+stop_machine() works with only online cpus.
+
+For now, take the stop_machine mutex in the MTRR rendezvous sequence that
+gets called from an online cpu (here we are in the process context
+and can potentially sleep while taking the mutex). And the MTRR rendezvous
+that gets triggered during cpu online doesn't need to take this stop_machine
+lock (as the stop_machine() already ensures that there is no cpu hotplug
+going on in parallel by doing get_online_cpus())
+
+ TBD: Pursue a cleaner solution of extending the stop_machine()
+ infrastructure to handle the case where the calling cpu is
+ still not online and use this for MTRR rendezvous sequence.
+
+fixes: https://bugzilla.novell.com/show_bug.cgi?id=672008
+
+(will be forwarded to stable series for inclusion in kernels v2.6.35-v2.6.39
+ after some testing in mainline).
+
+Signed-off-by: Suresh Siddha <suresh.b.siddha(a)intel.com>
+---
+ arch/x86/kernel/cpu/mtrr/main.c | 19 ++++++++++++++++++-
+ include/linux/stop_machine.h | 2 ++
+ kernel/stop_machine.c | 2 +-
+ 3 files changed, 21 insertions(+), 2 deletions(-)
+
+Index: linux-2.6-tip/arch/x86/kernel/cpu/mtrr/main.c
+===================================================================
+--- linux-2.6-tip.orig/arch/x86/kernel/cpu/mtrr/main.c
++++ linux-2.6-tip/arch/x86/kernel/cpu/mtrr/main.c
+@@ -244,9 +244,22 @@ static inline int types_compatible(mtrr_
+ static void
+ set_mtrr(unsigned int reg, unsigned long base, unsigned long size, mtrr_type type)
+ {
++ int cpu = raw_smp_processor_id();
++ int online = cpu_online(cpu);
+ struct set_mtrr_data data;
+ unsigned long flags;
+- int cpu;
++
++#ifdef CONFIG_SMP
++ /*
++ * If we are not yet online, then there can be no stop_machine() in
++ * parallel. Stop machine ensures this by using get_online_cpus().
++ *
++ * Otherwise, we need to prevent a stop_machine() happening in parallel
++ * by taking this lock.
++ */
++ if (online)
++ mutex_lock(&stop_cpus_mutex);
++#endif
+
+ preempt_disable();
+
+@@ -330,6 +343,10 @@ set_mtrr(unsigned int reg, unsigned long
+
+ local_irq_restore(flags);
+ preempt_enable();
++#ifdef CONFIG_SMP
++ if (online)
++ mutex_unlock(&stop_cpus_mutex);
++#endif
+ }
+
+ /**
+Index: linux-2.6-tip/include/linux/stop_machine.h
+===================================================================
+--- linux-2.6-tip.orig/include/linux/stop_machine.h
++++ linux-2.6-tip/include/linux/stop_machine.h
+@@ -27,6 +27,8 @@ struct cpu_stop_work {
+ struct cpu_stop_done *done;
+ };
+
++extern struct mutex stop_cpus_mutex;
++
+ int stop_one_cpu(unsigned int cpu, cpu_stop_fn_t fn, void *arg);
+ void stop_one_cpu_nowait(unsigned int cpu, cpu_stop_fn_t fn, void *arg,
+ struct cpu_stop_work *work_buf);
+Index: linux-2.6-tip/kernel/stop_machine.c
+===================================================================
+--- linux-2.6-tip.orig/kernel/stop_machine.c
++++ linux-2.6-tip/kernel/stop_machine.c
+@@ -132,8 +132,8 @@ void stop_one_cpu_nowait(unsigned int cp
+ cpu_stop_queue_work(&per_cpu(cpu_stopper, cpu), work_buf);
+ }
+
++DEFINE_MUTEX(stop_cpus_mutex);
+ /* static data for stop_cpus */
+-static DEFINE_MUTEX(stop_cpus_mutex);
+ static DEFINE_PER_CPU(struct cpu_stop_work, stop_cpus_work);
+
+ int __stop_cpus(const struct cpumask *cpumask, cpu_stop_fn_t fn, void *arg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/reorganize_stop_cpus.patch new/patches.arch/reorganize_stop_cpus.patch
--- old/patches.arch/reorganize_stop_cpus.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/reorganize_stop_cpus.patch 2011-06-17 13:23:54.000000000 +0200
@@ -0,0 +1,68 @@
+From: Tejun Heo <tj(a)kernel.org>
+Subject: stop_machine: reorganize stop_cpus() implementation
+References: bnc#697859
+Patch-Mainline: not yet
+
+Signed-off-by: Thomas Renninger <trenn(a)suse.de>
+
+Refactor the queueing part of the stop cpus work from __stop_cpus() into
+queue_stop_cpus_work().
+
+The reorganization is to help future improvements to stop_machine()
+and doesn't introduce any behavior difference.
+
+Signed-off-by: Tejun Heo <tj(a)kernel.org>
+Signed-off-by: Suresh Siddha <suresh.b.siddha(a)intel.com>
+Cc: Ingo Molnar <mingo(a)elte.hu>
+Cc: Andrew Morton <akpm(a)linux-foundation.org>
+Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
+Cc: Peter Zijlstra <a.p.zijlstra(a)chello.nl>
+---
+ kernel/stop_machine.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+Index: linux-2.6-tip/kernel/stop_machine.c
+===================================================================
+--- linux-2.6-tip.orig/kernel/stop_machine.c
++++ linux-2.6-tip/kernel/stop_machine.c
+@@ -136,10 +136,11 @@ DEFINE_MUTEX(stop_cpus_mutex);
+ /* static data for stop_cpus */
+ static DEFINE_PER_CPU(struct cpu_stop_work, stop_cpus_work);
+
+-int __stop_cpus(const struct cpumask *cpumask, cpu_stop_fn_t fn, void *arg)
++static void queue_stop_cpus_work(const struct cpumask *cpumask,
++ cpu_stop_fn_t fn, void *arg,
++ struct cpu_stop_done *done)
+ {
+ struct cpu_stop_work *work;
+- struct cpu_stop_done done;
+ unsigned int cpu;
+
+ /* initialize works and done */
+@@ -147,9 +148,8 @@ int __stop_cpus(const struct cpumask *cp
+ work = &per_cpu(stop_cpus_work, cpu);
+ work->fn = fn;
+ work->arg = arg;
+- work->done = &done;
++ work->done = done;
+ }
+- cpu_stop_init_done(&done, cpumask_weight(cpumask));
+
+ /*
+ * Disable preemption while queueing to avoid getting
+@@ -161,7 +161,15 @@ int __stop_cpus(const struct cpumask *cp
+ cpu_stop_queue_work(&per_cpu(cpu_stopper, cpu),
+ &per_cpu(stop_cpus_work, cpu));
+ preempt_enable();
++}
+
++static int __stop_cpus(const struct cpumask *cpumask,
++ cpu_stop_fn_t fn, void *arg)
++{
++ struct cpu_stop_done done;
++
++ cpu_stop_init_done(&done, cpumask_weight(cpumask));
++ queue_stop_cpus_work(cpumask, fn, arg, &done);
+ wait_for_completion(&done.completion);
+ return done.executed ? done.ret : -ENOENT;
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/s390-message-catalog-perl-fix.diff new/patches.arch/s390-message-catalog-perl-fix.diff
--- old/patches.arch/s390-message-catalog-perl-fix.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-message-catalog-perl-fix.diff 2011-06-17 13:23:54.000000000 +0200
@@ -0,0 +1,23 @@
+From caf357aecf85916dc605e513e0d3e6765479b172 Mon Sep 17 00:00:00 2001
+From: Michal Marek <mmarek(a)suse.cz>
+Date: Fri, 3 Jun 2011 12:45:12 +0200
+Subject: [PATCH] scripts/kmsg-doc: Do not require Switch.pm
+Patch-mainline: depends on patches.arch/s390-message-catalog.diff
+
+It is not used by the script and the module is no longer available in
+the perl core.
+
+Signed-off-by: Michal Marek <mmarek(a)suse.cz>
+
+diff --git a/scripts/kmsg-doc b/scripts/kmsg-doc
+index 07a0a2e..e0f64ed 100644
+--- a/scripts/kmsg-doc
++++ b/scripts/kmsg-doc
+@@ -14,7 +14,6 @@
+ #
+
+ use Cwd;
+-use Switch;
+ use bigint;
+
+ my $errors = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/s390-message-catalog.diff new/patches.arch/s390-message-catalog.diff
--- old/patches.arch/s390-message-catalog.diff 2011-04-15 13:24:21.000000000 +0200
+++ new/patches.arch/s390-message-catalog.diff 2011-06-17 13:23:54.000000000 +0200
@@ -7925,9 +7925,9 @@
AFLAGS_MODULE =
LDFLAGS_MODULE =
@@ -379,6 +394,7 @@ export KBUILD_CFLAGS CFLAGS_KERNEL CFLAG
- export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
+ export KBUILD_ARFLAGS
+export KBUILD_KMSG_CHECK KMSG_CHECK
# When compiling out-of-tree modules, put MODVERDIR in the module
@@ -8114,14 +8114,14 @@
+++ b/scripts/Makefile.build
@@ -232,12 +232,14 @@ endef
# Built-in and composite module parts
- $(obj)/%.o: $(src)/%.c FORCE
+ $(obj)/%.o: $(src)/%.c $(recordmcount_source) FORCE
$(call cmd,force_checksrc)
+ $(call cmd,force_check_kmsg)
$(call if_changed_rule,cc_o_c)
# Single-part modules are special since we need to mark them in $(MODVERDIR)
- $(single-used-m): $(obj)/%.o: $(src)/%.c FORCE
+ $(single-used-m): $(obj)/%.o: $(src)/%.c $(recordmcount_source) FORCE
$(call cmd,force_checksrc)
+ $(call cmd,force_check_kmsg)
$(call if_changed_rule,cc_o_c)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/use_stop_machine_for_mtrr_rendezvous.patch new/patches.arch/use_stop_machine_for_mtrr_rendezvous.patch
--- old/patches.arch/use_stop_machine_for_mtrr_rendezvous.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/use_stop_machine_for_mtrr_rendezvous.patch 2011-06-17 13:23:54.000000000 +0200
@@ -0,0 +1,288 @@
+From: Suresh Siddha <suresh.b.siddha(a)intel.com>
+Subject: x86, mtrr: use __stop_machine() for doing MTRR rendezvous
+References: bnc#697859
+Patch-Mainline: not yet
+
+Signed-off-by: Thomas Renninger <trenn(a)suse.de>
+
+MTRR rendezvous sequence is not implemened using stop_machine() before, as this
+gets called both from the process context aswell as the cpu online paths
+(where the cpu has not come online and the interrupts are disabled etc).
+
+Now that __stop_machine() works even when the calling cpu is not online,
+use __stop_machine() to implement the MTRR rendezvous sequence. This
+will consolidate and cleanup the code.
+
+Signed-off-by: Suresh Siddha <suresh.b.siddha(a)intel.com>
+---
+ arch/x86/kernel/cpu/mtrr/main.c | 186 ++++++++--------------------------------
+ include/linux/stop_machine.h | 2
+ kernel/stop_machine.c | 2
+ 3 files changed, 42 insertions(+), 148 deletions(-)
+
+Index: linux-2.6-tip/arch/x86/kernel/cpu/mtrr/main.c
+===================================================================
+--- linux-2.6-tip.orig/arch/x86/kernel/cpu/mtrr/main.c
++++ linux-2.6-tip/arch/x86/kernel/cpu/mtrr/main.c
+@@ -137,18 +137,15 @@ static void __init init_table(void)
+ }
+
+ struct set_mtrr_data {
+- atomic_t count;
+- atomic_t gate;
+ unsigned long smp_base;
+ unsigned long smp_size;
+ unsigned int smp_reg;
+ mtrr_type smp_type;
+ };
+
+-static DEFINE_PER_CPU(struct cpu_stop_work, mtrr_work);
+-
+ /**
+- * mtrr_work_handler - Synchronisation handler. Executed by "other" CPUs.
++ * mtrr_work_handler - Work done in the synchronisation handler. Executed by
++ * all the CPUs.
+ * @info: pointer to mtrr configuration data
+ *
+ * Returns nothing.
+@@ -157,35 +154,26 @@ static int mtrr_work_handler(void *info)
+ {
+ #ifdef CONFIG_SMP
+ struct set_mtrr_data *data = info;
+- unsigned long flags;
+-
+- atomic_dec(&data->count);
+- while (!atomic_read(&data->gate))
+- cpu_relax();
+-
+- local_irq_save(flags);
+-
+- atomic_dec(&data->count);
+- while (atomic_read(&data->gate))
+- cpu_relax();
+
+- /* The master has cleared me to execute */
++ /*
++ * We use this same function to initialize the mtrrs during boot,
++ * resume, runtime cpu online and on an explicit request to set a
++ * specific MTRR.
++ *
++ * During boot or suspend, the state of the boot cpu's mtrrs has been
++ * saved, and we want to replicate that across all the cpus that come
++ * online (either at the end of boot or resume or during a runtime cpu
++ * online). If we're doing that, @reg is set to something special and on
++ * all the cpu's we do mtrr_if->set_all() (On the logical cpu that
++ * started the boot/resume sequence, this might be a duplicate
++ * set_all()).
++ */
+ if (data->smp_reg != ~0U) {
+ mtrr_if->set(data->smp_reg, data->smp_base,
+ data->smp_size, data->smp_type);
+- } else if (mtrr_aps_delayed_init) {
+- /*
+- * Initialize the MTRRs inaddition to the synchronisation.
+- */
++ } else if (mtrr_aps_delayed_init || !cpu_online(smp_processor_id())) {
+ mtrr_if->set_all();
+ }
+-
+- atomic_dec(&data->count);
+- while (!atomic_read(&data->gate))
+- cpu_relax();
+-
+- atomic_dec(&data->count);
+- local_irq_restore(flags);
+ #endif
+ return 0;
+ }
+@@ -223,20 +211,11 @@ static inline int types_compatible(mtrr_
+ * 14. Wait for buddies to catch up
+ * 15. Enable interrupts.
+ *
+- * What does that mean for us? Well, first we set data.count to the number
+- * of CPUs. As each CPU announces that it started the rendezvous handler by
+- * decrementing the count, We reset data.count and set the data.gate flag
+- * allowing all the cpu's to proceed with the work. As each cpu disables
+- * interrupts, it'll decrement data.count once. We wait until it hits 0 and
+- * proceed. We clear the data.gate flag and reset data.count. Meanwhile, they
+- * are waiting for that flag to be cleared. Once it's cleared, each
+- * CPU goes through the transition of updating MTRRs.
+- * The CPU vendors may each do it differently,
+- * so we call mtrr_if->set() callback and let them take care of it.
+- * When they're done, they again decrement data->count and wait for data.gate
+- * to be set.
+- * When we finish, we wait for data.count to hit 0 and toggle the data.gate flag
+- * Everyone then enables interrupts and we all continue on.
++ * What does that mean for us? Well, stop_machine() will ensure that
++ * the rendezvous handler is started on each CPU. And in lockstep they
++ * do the state transition of disabling interrupts, updating MTRR's
++ * (the CPU vendors may each do it differently, so we call mtrr_if->set()
++ * callback and let them take care of it.) and enabling interrupts.
+ *
+ * Note that the mechanism is the same for UP systems, too; all the SMP stuff
+ * becomes nops.
+@@ -244,109 +223,26 @@ static inline int types_compatible(mtrr_
+ static void
+ set_mtrr(unsigned int reg, unsigned long base, unsigned long size, mtrr_type type)
+ {
+- int cpu = raw_smp_processor_id();
+- int online = cpu_online(cpu);
+- struct set_mtrr_data data;
+- unsigned long flags;
+-
+-#ifdef CONFIG_SMP
+- /*
+- * If we are not yet online, then there can be no stop_machine() in
+- * parallel. Stop machine ensures this by using get_online_cpus().
+- *
+- * Otherwise, we need to prevent a stop_machine() happening in parallel
+- * by taking this lock.
+- */
+- if (online)
+- mutex_lock(&stop_cpus_mutex);
+-#endif
+-
+- preempt_disable();
+-
+- data.smp_reg = reg;
+- data.smp_base = base;
+- data.smp_size = size;
+- data.smp_type = type;
+- atomic_set(&data.count, num_booting_cpus() - 1);
+-
+- /* Make sure data.count is visible before unleashing other CPUs */
+- smp_wmb();
+- atomic_set(&data.gate, 0);
+-
+- /* Start the ball rolling on other CPUs */
+- for_each_online_cpu(cpu) {
+- struct cpu_stop_work *work = &per_cpu(mtrr_work, cpu);
++ struct set_mtrr_data data = { .smp_reg = reg,
++ .smp_base = base,
++ .smp_size = size,
++ .smp_type = type
++ };
++
++ stop_machine(mtrr_work_handler, &data, cpu_online_mask);
++}
++
++static void set_mtrr_from_offline_cpu(unsigned int reg, unsigned long base,
++ unsigned long size, mtrr_type type)
++{
++ struct set_mtrr_data data = { .smp_reg = reg,
++ .smp_base = base,
++ .smp_size = size,
++ .smp_type = type
++ };
+
+- if (cpu == smp_processor_id())
+- continue;
+-
+- stop_one_cpu_nowait(cpu, mtrr_work_handler, &data, work);
+- }
+-
+-
+- while (atomic_read(&data.count))
+- cpu_relax();
+-
+- /* Ok, reset count and toggle gate */
+- atomic_set(&data.count, num_booting_cpus() - 1);
+- smp_wmb();
+- atomic_set(&data.gate, 1);
+-
+- local_irq_save(flags);
+-
+- while (atomic_read(&data.count))
+- cpu_relax();
+-
+- /* Ok, reset count and toggle gate */
+- atomic_set(&data.count, num_booting_cpus() - 1);
+- smp_wmb();
+- atomic_set(&data.gate, 0);
+-
+- /* Do our MTRR business */
+-
+- /*
+- * HACK!
+- *
+- * We use this same function to initialize the mtrrs during boot,
+- * resume, runtime cpu online and on an explicit request to set a
+- * specific MTRR.
+- *
+- * During boot or suspend, the state of the boot cpu's mtrrs has been
+- * saved, and we want to replicate that across all the cpus that come
+- * online (either at the end of boot or resume or during a runtime cpu
+- * online). If we're doing that, @reg is set to something special and on
+- * this cpu we still do mtrr_if->set_all(). During boot/resume, this
+- * is unnecessary if at this point we are still on the cpu that started
+- * the boot/resume sequence. But there is no guarantee that we are still
+- * on the same cpu. So we do mtrr_if->set_all() on this cpu aswell to be
+- * sure that we are in sync with everyone else.
+- */
+- if (reg != ~0U)
+- mtrr_if->set(reg, base, size, type);
+- else
+- mtrr_if->set_all();
+-
+- /* Wait for the others */
+- while (atomic_read(&data.count))
+- cpu_relax();
+-
+- atomic_set(&data.count, num_booting_cpus() - 1);
+- smp_wmb();
+- atomic_set(&data.gate, 1);
+-
+- /*
+- * Wait here for everyone to have seen the gate change
+- * So we're the last ones to touch 'data'
+- */
+- while (atomic_read(&data.count))
+- cpu_relax();
+-
+- local_irq_restore(flags);
+- preempt_enable();
+-#ifdef CONFIG_SMP
+- if (online)
+- mutex_unlock(&stop_cpus_mutex);
+-#endif
++ stop_machine_from_offline_cpu(mtrr_work_handler, &data,
++ cpu_callout_mask);
+ }
+
+ /**
+@@ -800,7 +696,7 @@ void mtrr_ap_init(void)
+ * 2. cpu hotadd time. We let mtrr_add/del_page hold cpuhotplug
+ * lock to prevent mtrr entry changes
+ */
+- set_mtrr(~0U, 0, 0, 0);
++ set_mtrr_from_offline_cpu(~0U, 0, 0, 0);
+ }
+
+ /**
+Index: linux-2.6-tip/include/linux/stop_machine.h
+===================================================================
+--- linux-2.6-tip.orig/include/linux/stop_machine.h
++++ linux-2.6-tip/include/linux/stop_machine.h
+@@ -27,8 +27,6 @@ struct cpu_stop_work {
+ struct cpu_stop_done *done;
+ };
+
+-extern struct mutex stop_cpus_mutex;
+-
+ int stop_one_cpu(unsigned int cpu, cpu_stop_fn_t fn, void *arg);
+ void stop_one_cpu_nowait(unsigned int cpu, cpu_stop_fn_t fn, void *arg,
+ struct cpu_stop_work *work_buf);
+Index: linux-2.6-tip/kernel/stop_machine.c
+===================================================================
+--- linux-2.6-tip.orig/kernel/stop_machine.c
++++ linux-2.6-tip/kernel/stop_machine.c
+@@ -132,8 +132,8 @@ void stop_one_cpu_nowait(unsigned int cp
+ cpu_stop_queue_work(&per_cpu(cpu_stopper, cpu), work_buf);
+ }
+
+-DEFINE_MUTEX(stop_cpus_mutex);
+ /* static data for stop_cpus */
++static DEFINE_MUTEX(stop_cpus_mutex);
+ static DEFINE_PER_CPU(struct cpu_stop_work, stop_cpus_work);
+
+ static void queue_stop_cpus_work(const struct cpumask *cpumask,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-apic-force-bigsmp-apic-on-IBM-EXA3-4.patch new/patches.arch/x86-apic-force-bigsmp-apic-on-IBM-EXA3-4.patch
--- old/patches.arch/x86-apic-force-bigsmp-apic-on-IBM-EXA3-4.patch 2011-04-15 13:24:21.000000000 +0200
+++ new/patches.arch/x86-apic-force-bigsmp-apic-on-IBM-EXA3-4.patch 2011-06-17 13:23:54.000000000 +0200
@@ -68,20 +68,20 @@
--- a/arch/x86/kernel/apic/probe_32.c
+++ b/arch/x86/kernel/apic/probe_32.c
@@ -267,7 +267,7 @@ generic_mps_oem_check(struct mpc_table *
- if (!apic_probe[i]->mps_oem_check(mpc, oem, productid))
+ if (!(*drv)->mps_oem_check(mpc, oem, productid))
continue;
- if (!cmdline_apic) {
+ if (!cmdline_apic && apic == &apic_default) {
- apic = apic_probe[i];
+ apic = *drv;
printk(KERN_INFO "Switched to APIC driver `%s'.\n",
apic->name);
@@ -287,7 +287,7 @@ int __init default_acpi_madt_oem_check(c
- if (!apic_probe[i]->acpi_madt_oem_check(oem_id, oem_table_id))
+ if (!(*drv)->acpi_madt_oem_check(oem_id, oem_table_id))
continue;
- if (!cmdline_apic) {
+ if (!cmdline_apic && apic == &apic_default) {
- apic = apic_probe[i];
+ apic = *drv;
printk(KERN_INFO "Switched to APIC driver `%s'.\n",
apic->name);
++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/elousb.patch new/patches.drivers/elousb.patch
--- old/patches.drivers/elousb.patch 2011-03-28 13:00:59.000000000 +0200
+++ new/patches.drivers/elousb.patch 2011-06-08 20:18:25.000000000 +0200
@@ -29,11 +29,12 @@
{ HID_USB_DEVICE(USB_VENDOR_ID_ETT, USB_DEVICE_ID_TC4UM) },
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
-@@ -216,7 +216,9 @@
+@@ -216,8 +216,10 @@
#define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34
#define USB_VENDOR_ID_ELO 0x04E7
+#define USB_DEVICE_ID_ELO_4000U 0x0009
+ #define USB_DEVICE_ID_ELO_TS2515 0x0022
#define USB_DEVICE_ID_ELO_TS2700 0x0020
+#define USB_DEVICE_ID_ELO_4500U 0x0030
++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/PM-Print-a-warning-if-firmware-is-requested-when-tas.patch new/patches.fixes/PM-Print-a-warning-if-firmware-is-requested-when-tas.patch
--- old/patches.fixes/PM-Print-a-warning-if-firmware-is-requested-when-tas.patch 2011-05-20 20:20:17.000000000 +0200
+++ new/patches.fixes/PM-Print-a-warning-if-firmware-is-requested-when-tas.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,84 +0,0 @@
-From a144c6a6c924aa1da04dd77fb84b89927354fdff Mon Sep 17 00:00:00 2001
-From: Rafael J. Wysocki <rjw(a)sisk.pl>
-Date: Fri, 6 May 2011 20:09:42 +0200
-Subject: PM: Print a warning if firmware is requested when tasks are frozen
-Git-commit: a144c6a6c924aa1da04dd77fb84b89927354fdff
-Patch-mainline: yes
-References: bnc#695219
-
-Some drivers erroneously use request_firmware() from their ->resume()
-(or ->thaw(), or ->restore()) callbacks, which is not going to work
-unless the firmware has been built in. This causes system resume to
-stall until the firmware-loading timeout expires, which makes users
-think that the resume has failed and reboot their machines
-unnecessarily. For this reason, make _request_firmware() print a
-warning and return immediately with error code if it has been called
-when tasks are frozen and it's impossible to start any new usermode
-helpers.
-
-Signed-off-by: Rafael J. Wysocki <rjw(a)sisk.pl>
-Acked-by: Greg Kroah-Hartman <gregkh(a)suse.de>
-Reviewed-by: Valdis Kletnieks <valdis.kletnieks(a)vt.edu>
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
----
- drivers/base/firmware_class.c | 5 +++++
- include/linux/kmod.h | 5 +++++
- kernel/kmod.c | 9 +++++++++
- 3 files changed, 19 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
-index 8c798ef..bbb03e6 100644
---- a/drivers/base/firmware_class.c
-+++ b/drivers/base/firmware_class.c
-@@ -521,6 +521,11 @@ static int _request_firmware(const struct firmware **firmware_p,
- if (!firmware_p)
- return -EINVAL;
-
-+ if (WARN_ON(usermodehelper_is_disabled())) {
-+ dev_err(device, "firmware: %s will not be loaded\n", name);
-+ return -EBUSY;
-+ }
-+
- *firmware_p = firmware = kzalloc(sizeof(*firmware), GFP_KERNEL);
- if (!firmware) {
- dev_err(device, "%s: kmalloc(struct firmware) failed\n",
-diff --git a/include/linux/kmod.h b/include/linux/kmod.h
-index 6efd7a7..7f3dbcb 100644
---- a/include/linux/kmod.h
-+++ b/include/linux/kmod.h
-@@ -111,7 +111,12 @@ call_usermodehelper(char *path, char **argv, char **envp, enum umh_wait wait)
-
- extern void usermodehelper_init(void);
-
-+#ifdef CONFIG_PM_SLEEP
- extern int usermodehelper_disable(void);
- extern void usermodehelper_enable(void);
-+extern bool usermodehelper_is_disabled(void);
-+#else
-+static inline bool usermodehelper_is_disabled(void) { return false; }
-+#endif
-
- #endif /* __LINUX_KMOD_H__ */
-diff --git a/kernel/kmod.c b/kernel/kmod.c
-index 9cd0591..9ab513b 100644
---- a/kernel/kmod.c
-+++ b/kernel/kmod.c
-@@ -301,6 +301,15 @@ void usermodehelper_enable(void)
- usermodehelper_disabled = 0;
- }
-
-+/**
-+ * usermodehelper_is_disabled - check if new helpers are allowed to be started
-+ */
-+bool usermodehelper_is_disabled(void)
-+{
-+ return usermodehelper_disabled;
-+}
-+EXPORT_SYMBOL_GPL(usermodehelper_is_disabled);
-+
- static void helper_lock(void)
- {
- atomic_inc(&running_helpers);
---
-1.7.4.2
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/block-add-proper-state-guards-to-__elv_next_request.patch new/patches.fixes/block-add-proper-state-guards-to-__elv_next_request.patch
--- old/patches.fixes/block-add-proper-state-guards-to-__elv_next_request.patch 2011-05-20 20:20:17.000000000 +0200
+++ new/patches.fixes/block-add-proper-state-guards-to-__elv_next_request.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
-From: James Bottomley <James.Bottomley(a)suse.de>
-Subject: block: add proper state guards to __elv_next_request
-Patch-mainline: submitted Apr 22 2011
-
-blk_cleanup_queue() calls elevator_exit() and after this, we can't
-touch the elevator without oopsing. __elv_next_request() must check
-for this state because in the refcounted queue model, we can still
-call it after blk_cleanup_queue() has been called.
-
-This was reported as causing an oops attributable to scsi.
-
-Signed-off-by: James Bottomley <James.Bottomley(a)suse.de>
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
----
- block/blk.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/block/blk.h
-+++ b/block/blk.h
-@@ -62,7 +62,8 @@ static inline struct request *__elv_next
- return rq;
- }
-
-- if (!q->elevator->ops->elevator_dispatch_fn(q, 0))
-+ if (test_bit(QUEUE_FLAG_DEAD, &q->queue_flags) ||
-+ !q->elevator->ops->elevator_dispatch_fn(q, 0))
- return NULL;
- }
- }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/bridge-module-get-put.patch new/patches.fixes/bridge-module-get-put.patch
--- old/patches.fixes/bridge-module-get-put.patch 2011-05-20 20:20:17.000000000 +0200
+++ new/patches.fixes/bridge-module-get-put.patch 2011-06-29 14:46:33.000000000 +0200
@@ -8,12 +8,20 @@
bridges.
---
- net/bridge/br_if.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
+ net/bridge/br_if.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
-@@ -291,6 +291,11 @@ int br_add_bridge(struct net *net, const
+@@ -230,6 +230,7 @@ static struct net_bridge_port *new_nbp(s
+
+ int br_add_bridge(struct net *net, const char *name)
+ {
++ int ret;
+ struct net_device *dev;
+
+ dev = alloc_netdev(sizeof(struct net_bridge), name,
+@@ -238,9 +239,17 @@ int br_add_bridge(struct net *net, const
if (!dev)
return -ENOMEM;
@@ -22,19 +30,17 @@
+ return -ENOENT;
+ }
+
- rtnl_lock();
- if (strchr(dev->name, '%')) {
- ret = dev_alloc_name(dev, dev->name);
-@@ -309,6 +314,8 @@ int br_add_bridge(struct net *net, const
- unregister_netdevice(dev);
- out:
- rtnl_unlock();
+ dev_net_set(dev, net);
+
+- return register_netdev(dev);
++ ret = register_netdev(dev);
+ if (ret)
+ module_put(THIS_MODULE);
- return ret;
++ return ret;
+ }
- out_free:
-@@ -340,6 +347,8 @@ int br_del_bridge(struct net *net, const
+ int br_del_bridge(struct net *net, const char *name)
+@@ -267,6 +276,8 @@ int br_del_bridge(struct net *net, const
del_br(netdev_priv(dev), NULL);
rtnl_unlock();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/grab-swap-token-oops new/patches.fixes/grab-swap-token-oops
--- old/patches.fixes/grab-swap-token-oops 2011-05-20 20:20:17.000000000 +0200
+++ new/patches.fixes/grab-swap-token-oops 2011-06-29 14:46:33.000000000 +0200
@@ -13,18 +13,23 @@
Acked-by: okir(a)suse.de
- mm/thrash.c | 3 +++
- 1 file changed, 3 insertions(+)
+ mm/thrash.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
--- a/mm/thrash.c
+++ b/mm/thrash.c
-@@ -31,6 +31,9 @@ void grab_swap_token(struct mm_struct *m
+@@ -54,10 +54,13 @@ static struct mem_cgroup *swap_token_mem
+ void grab_swap_token(struct mm_struct *mm)
+ {
int current_interval;
+- unsigned int old_prio = mm->token_priority;
++ unsigned int old_prio;
global_faults++;
+ if (mm == NULL)
+ return;
-+
++ old_prio = mm->token_priority;
current_interval = global_faults - mm->faultstamp;
+ if (!spin_trylock(&swap_token_lock))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/hid-add-noget-quirk-for-symboltec.patch new/patches.fixes/hid-add-noget-quirk-for-symboltec.patch
--- old/patches.fixes/hid-add-noget-quirk-for-symboltec.patch 2011-05-20 20:20:17.000000000 +0200
+++ new/patches.fixes/hid-add-noget-quirk-for-symboltec.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,46 +0,0 @@
-From: Jiri Kosina <jkosina(a)suse.cz>
-Subject: [PATCH] HID: add noget quirk barcode scanners from Symbol Technologies
-References: bnc#689290
-Patch-mainline: not yet, queued in subsystem tree
-
-Barcode handheld scanners produced by Symbol Technologies (0x05e0/0x0800
-and 0x05e0/0x1300) need HID_QUIRK_NOGET, otherwise their firmware exposes
-trouble during enumeration/initialization.
-
-Signed-off-by: Jiri Kosina <jkosina(a)suse.cz>
----
- drivers/hid/hid-ids.h | 4 ++++
- drivers/hid/usbhid/hid-quirks.c | 2 ++
- 2 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
-index d485894..be5cf24 100644
---- a/drivers/hid/hid-ids.h
-+++ b/drivers/hid/hid-ids.h
-@@ -544,6 +544,10 @@
- #define USB_VENDOR_ID_SUNPLUS 0x04fc
- #define USB_DEVICE_ID_SUNPLUS_WDESKTOP 0x05d8
-
-+#define USB_VENDOR_ID_SYMBOL 0x05e0
-+#define USB_DEVICE_ID_SYMBOL_SCANNER_1 0x0800
-+#define USB_DEVICE_ID_SYMBOL_SCANNER_2 0x1300
-+
- #define USB_VENDOR_ID_THRUSTMASTER 0x044f
-
- #define USB_VENDOR_ID_TOPSEED 0x0766
-diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
-index 9a94b64..c09fa0c 100644
---- a/drivers/hid/usbhid/hid-quirks.c
-+++ b/drivers/hid/usbhid/hid-quirks.c
-@@ -67,6 +67,8 @@ static const struct hid_blacklist {
- { USB_VENDOR_ID_PRODIGE, USB_DEVICE_ID_PRODIGE_CORDLESS, HID_QUIRK_NOGET },
- { USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN, HID_QUIRK_NOGET },
- { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET },
-+ { USB_VENDOR_ID_SYMBOL, USB_DEVICE_ID_SYMBOL_SCANNER_1, HID_QUIRK_NOGET },
-+ { USB_VENDOR_ID_SYMBOL, USB_DEVICE_ID_SYMBOL_SCANNER_2, HID_QUIRK_NOGET },
- { USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD, HID_QUIRK_NOGET },
- { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_PF1209, HID_QUIRK_MULTI_INPUT },
- { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_WP4030U, HID_QUIRK_MULTI_INPUT },
---
-1.7.3.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ia64-sparse-fixes.diff new/patches.fixes/ia64-sparse-fixes.diff
--- old/patches.fixes/ia64-sparse-fixes.diff 2011-05-20 20:20:17.000000000 +0200
+++ new/patches.fixes/ia64-sparse-fixes.diff 1970-01-01 01:00:00.000000000 +0100
@@ -1,53 +0,0 @@
-From: Jan Blunck <jblunck(a)suse.de>
-Subject: ia64-kvm: fix sparse warnings
-Patch-mainline: Submitted by jeffm, 27 Apr 2011
-
-This patch fixes some sparse warning about dubious one-bit signed bitfield.
-
-Signed-off-by: Jan Blunck <jblunck(a)suse.de>
----
- arch/ia64/kvm/vti.h | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
---- a/arch/ia64/kvm/vti.h
-+++ b/arch/ia64/kvm/vti.h
-@@ -83,13 +83,13 @@
- union vac {
- unsigned long value;
- struct {
-- int a_int:1;
-- int a_from_int_cr:1;
-- int a_to_int_cr:1;
-- int a_from_psr:1;
-- int a_from_cpuid:1;
-- int a_cover:1;
-- int a_bsw:1;
-+ unsigned int a_int:1;
-+ unsigned int a_from_int_cr:1;
-+ unsigned int a_to_int_cr:1;
-+ unsigned int a_from_psr:1;
-+ unsigned int a_from_cpuid:1;
-+ unsigned int a_cover:1;
-+ unsigned int a_bsw:1;
- long reserved:57;
- };
- };
-@@ -97,12 +97,12 @@ union vac {
- union vdc {
- unsigned long value;
- struct {
-- int d_vmsw:1;
-- int d_extint:1;
-- int d_ibr_dbr:1;
-- int d_pmc:1;
-- int d_to_pmd:1;
-- int d_itm:1;
-+ unsigned int d_vmsw:1;
-+ unsigned int d_extint:1;
-+ unsigned int d_ibr_dbr:1;
-+ unsigned int d_pmc:1;
-+ unsigned int d_to_pmd:1;
-+ unsigned int d_itm:1;
- long reserved:58;
- };
- };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/mm-Fix-assertion-mapping-nrpages-0-in-end_writeback.patch new/patches.fixes/mm-Fix-assertion-mapping-nrpages-0-in-end_writeback.patch
--- old/patches.fixes/mm-Fix-assertion-mapping-nrpages-0-in-end_writeback.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/mm-Fix-assertion-mapping-nrpages-0-in-end_writeback.patch 2011-06-29 14:46:33.000000000 +0200
@@ -0,0 +1,58 @@
+From: Jan Kara <jack(a)suse.cz>
+Subject: [PATCH] mm: Fix assertion mapping->nrpages == 0 in end_writeback()
+Patch-mainline: No
+References: bnc#693013 bnc#666423
+
+Under heavy memory and filesystem load, users observe the assertion
+mapping->nrpages == 0 in end_writeback() trigger. This can be caused
+by page reclaim reclaiming the last page from a mapping in the following
+race:
+ CPU0 CPU1
+ ...
+ shrink_page_list()
+ __remove_mapping()
+ __delete_from_page_cache()
+ radix_tree_delete()
+ evict_inode()
+ truncate_inode_pages()
+ truncate_inode_pages_range()
+ pagevec_lookup() - finds nothing
+ end_writeback()
+ mapping->nrpages != 0 -> BUG
+ page->mapping = NULL
+ mapping->nrpages--
+
+Fix the problem by cycling the mapping->tree_lock at the end of
+truncate_inode_pages_range() to synchronize with page reclaim.
+
+Analyzed by Jay <jinshan.xiong(a)whamcloud.com>, lost in LKML, and dug
+out by Miklos Szeredi <mszeredi(a)suse.de>.
+
+CC: Jay <jinshan.xiong(a)whamcloud.com>
+Acked-by: Miklos Szeredi <mszeredi(a)suse.de>
+Signed-off-by: Jan Kara <jack(a)suse.cz>
+---
+ mm/truncate.c | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/mm/truncate.c b/mm/truncate.c
+index a956675..ec3d292 100644
+--- a/mm/truncate.c
++++ b/mm/truncate.c
+@@ -291,6 +291,13 @@ void truncate_inode_pages_range(struct address_space *mapping,
+ mem_cgroup_uncharge_end();
+ }
+ cleancache_flush_inode(mapping);
++ /*
++ * Cycle the tree_lock to make sure all __delete_from_page_cache()
++ * calls run from page reclaim have finished as well (this handles the
++ * case when page reclaim took the last page from our range).
++ */
++ spin_lock_irq(&mapping->tree_lock);
++ spin_unlock_irq(&mapping->tree_lock);
+ }
+ EXPORT_SYMBOL(truncate_inode_pages_range);
+
+--
+1.7.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/no-built-in-root_dev new/patches.fixes/no-built-in-root_dev
--- old/patches.fixes/no-built-in-root_dev 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/no-built-in-root_dev 2011-06-29 14:46:33.000000000 +0200
@@ -0,0 +1,111 @@
+From 079f85e624189292d1c818b47764916bf8cf84a8 Mon Sep 17 00:00:00 2001
+From: Michal Marek <mmarek(a)suse.cz>
+Date: Tue, 12 Apr 2011 13:30:24 +0200
+Subject: [PATCH] x86, build: Do not set the root_dev field in bzImage
+Patch-mainline: 3.1-rc1?
+Git-repo: tip.git
+Git-commit: 079f85e624189292d1c818b47764916bf8cf84a8
+
+This has been obsoleted by the root= commandline and the rdev utility
+for many, many years. People who still depend on this will surely
+have a copy of the rdev utility around, the rest of the world gets rid
+of another piece of buildhost-dependent data in the build. Thanks to
+Paul Bolle for the build.c cleanup.
+
+Cc: Paul Bolle <pebolle(a)tiscali.nl>
+Signed-off-by: Michal Marek <mmarek(a)suse.cz>
+Link: http://lkml.kernel.org/r/1302607824-24699-1-git-send-email-mmarek@suse.cz
+Signed-off-by: H. Peter Anvin <hpa(a)linux.intel.com>
+
+diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
+index f7cb086..95365a8 100644
+--- a/arch/x86/boot/Makefile
++++ b/arch/x86/boot/Makefile
+@@ -9,12 +9,6 @@
+ # Changed by many, many contributors over the years.
+ #
+
+-# ROOT_DEV specifies the default root-device when making the image.
+-# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
+-# the default of FLOPPY is used by 'build'.
+-
+-ROOT_DEV := CURRENT
+-
+ # If you want to preset the SVGA mode, uncomment the next line and
+ # set SVGA_MODE to whatever number you want.
+ # Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode.
+@@ -75,8 +69,7 @@ GCOV_PROFILE := n
+ $(obj)/bzImage: asflags-y := $(SVGA_MODE)
+
+ quiet_cmd_image = BUILD $@
+-cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin \
+- $(ROOT_DEV) > $@
++cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin > $@
+
+ $(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE
+ $(call if_changed,image)
+diff --git a/arch/x86/boot/tools/build.c b/arch/x86/boot/tools/build.c
+index ee3a4ea..fdc60a0 100644
+--- a/arch/x86/boot/tools/build.c
++++ b/arch/x86/boot/tools/build.c
+@@ -130,7 +130,7 @@ static void die(const char * str, ...)
+
+ static void usage(void)
+ {
+- die("Usage: build setup system [rootdev] [> image]");
++ die("Usage: build setup system [> image]");
+ }
+
+ int main(int argc, char ** argv)
+@@ -138,39 +138,14 @@ int main(int argc, char ** argv)
+ unsigned int i, sz, setup_sectors;
+ int c;
+ u32 sys_size;
+- u8 major_root, minor_root;
+ struct stat sb;
+ FILE *file;
+ int fd;
+ void *kernel;
+ u32 crc = 0xffffffffUL;
+
+- if ((argc < 3) || (argc > 4))
++ if (argc != 3)
+ usage();
+- if (argc > 3) {
+- if (!strcmp(argv[3], "CURRENT")) {
+- if (stat("/", &sb)) {
+- perror("/");
+- die("Couldn't stat /");
+- }
+- major_root = major(sb.st_dev);
+- minor_root = minor(sb.st_dev);
+- } else if (strcmp(argv[3], "FLOPPY")) {
+- if (stat(argv[3], &sb)) {
+- perror(argv[3]);
+- die("Couldn't stat root device.");
+- }
+- major_root = major(sb.st_rdev);
+- minor_root = minor(sb.st_rdev);
+- } else {
+- major_root = 0;
+- minor_root = 0;
+- }
+- } else {
+- major_root = DEFAULT_MAJOR_ROOT;
+- minor_root = DEFAULT_MINOR_ROOT;
+- }
+- fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
+
+ /* Copy the setup code */
+ file = fopen(argv[1], "r");
+@@ -193,8 +168,8 @@ int main(int argc, char ** argv)
+ memset(buf+c, 0, i-c);
+
+ /* Set the default root device */
+- buf[508] = minor_root;
+- buf[509] = major_root;
++ buf[508] = DEFAULT_MINOR_ROOT;
++ buf[509] = DEFAULT_MAJOR_ROOT;
+
+ fprintf(stderr, "Setup is %d bytes (padded to %d bytes).\n", c, i);
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/novfs-nwcapi.patch new/patches.fixes/novfs-nwcapi.patch
--- old/patches.fixes/novfs-nwcapi.patch 2011-05-20 20:20:17.000000000 +0200
+++ new/patches.fixes/novfs-nwcapi.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,39 +0,0 @@
-From: Pankaj Biswas <bpankaj(a)novell.com>
-Subject: Fix checking of login id
-References: bnc#626119
-Patch-mainline: No
-
-Signed-off-by: Pankaj Biswas <bpankaj(a)novell.com>
-Acked-by: Jan Kara <jack(a)suse.cz>
-
---- a/fs/novfs/vfs.h 2011-02-23 17:15:27.000000000 +0530
-+++ b/fs/novfs/vfs.h 2011-03-04 11:57:46.000000000 +0530
-@@ -54,6 +54,8 @@ struct novfs_schandle {
-
- #define PATH_LENGTH_BUFFER PATH_MAX
- #define NW_MAX_PATH_LENGTH 255
-+#define NW_MAX_DN_CHARS 256
-+#define NW_MAX_DN_BYTES (2*(NW_MAX_DN_CHARS+1))
-
- #define XA_BUFFER (8 * 1024)
-
---- a/fs/novfs/nwcapi.c 2011-03-02 12:00:46.000000000 +0530
-+++ b/fs/novfs/nwcapi.c 2011-03-04 11:57:42.000000000 +0530
-@@ -480,7 +480,7 @@ int novfs_login_id(struct novfs_xplat *p
- DbgPrint("DomainName\n");
- novfs_dump(sizeof(nwcStr), &nwcStr);
-
-- if (nwcStr.DataLen > MAX_NAME_LEN)
-+ if (nwcStr.DataLen > MAX_DOMAIN_LEN)
- return -EINVAL;
-
- if ((server.buffer = kmalloc(nwcStr.DataLen, GFP_KERNEL))) {
-@@ -492,7 +492,7 @@ int novfs_login_id(struct novfs_xplat *p
-
- cpylen = copy_from_user(&nwcStr, lgn.pObjectName, sizeof(nwcStr));
- DbgPrint("ObjectName");
-- if (nwcStr.DataLen > MAX_OBJECT_NAME_LENGTH) {
-+ if (nwcStr.DataLen > NW_MAX_DN_BYTES) {
- retCode = -EINVAL;
- goto out;
- }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/oom-warning new/patches.fixes/oom-warning
--- old/patches.fixes/oom-warning 2011-05-20 20:20:17.000000000 +0200
+++ new/patches.fixes/oom-warning 2011-06-29 14:46:33.000000000 +0200
@@ -14,17 +14,17 @@
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2087,7 +2087,13 @@ rebalance:
- if (in_interrupt() || !wait)
- filter &= ~SHOW_MEM_FILTER_NODES;
+ va_end(args);
+ }
-- pr_warning("%s: page allocation failure. order:%d, mode:0x%x\n",
-+ if (!wait) {
-+ pr_info("The following is only an harmless informational message.\n");
-+ pr_info("Unless you get a _continuous_flood_ of these messages it means\n");
-+ pr_info("everything is working fine. Allocations from irqs cannot be\n");
-+ pr_info("perfectly reliable and the kernel is designed to handle that.\n");
-+ }
-+ pr_info("%s: page allocation failure. order:%d, mode:0x%x\n",
- current->comm, order, gfp_mask);
- dump_stack();
- if (!should_suppress_show_mem())
+- pr_warning("%s: page allocation failure: order:%d, mode:0x%x\n",
++ if (!(gfp_mask & __GFP_WAIT)) {
++ pr_info("The following is only an harmless informational message.\n");
++ pr_info("Unless you get a _continuous_flood_ of these messages it means\n");
++ pr_info("everything is working fine. Allocations from irqs cannot be\n");
++ pr_info("perfectly reliable and the kernel is designed to handle that.\n");
++ }
++ pr_info("%s: page allocation failure. order:%d, mode:0x%x\n",
+ current->comm, order, gfp_mask);
+
+ dump_stack();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/proc-scsi-scsi-fix.diff new/patches.fixes/proc-scsi-scsi-fix.diff
--- old/patches.fixes/proc-scsi-scsi-fix.diff 2011-05-20 20:20:17.000000000 +0200
+++ new/patches.fixes/proc-scsi-scsi-fix.diff 1970-01-01 01:00:00.000000000 +0100
@@ -1,110 +0,0 @@
-From: Jeff Mahoney <jeffm(a)suse.com>
-Subject: [PATCH] scsi: iterate over devices individually for /proc/scsi/scsi
-References: 263731
-Patch-mainline: Probably never, hch wants to kill /proc/scsi/scsi anyway.
-
- On systems with very large numbers (> 1600 or so) of SCSI devices,
- cat /proc/scsi/scsi ends up failing with -ENOMEM. This is due to
- the show routine simply iterating over all of the devices with
- bus_for_each_dev(), and trying to dump all of them into the buffer
- at the same time. On my test system (using scsi_debug with 4064 devices),
- the output ends up being ~ 632k, far more than kmalloc will typically allow.
-
- This patch defines its own seq_file opreations to iterate over the scsi
- devices.The result is that each show() operation only dumps ~ 180 bytes
- into the buffer at a time so we don't run out of memory.
-
- If the "Attached devices" header isn't required, we can dump the
- sfile->private bit completely.
-
-Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
-
----
-
- drivers/scsi/scsi_proc.c | 58 ++++++++++++++++++++++++++++++++++++++++++-----
- 1 file changed, 52 insertions(+), 6 deletions(-)
-
---- a/drivers/scsi/scsi_proc.c
-+++ b/drivers/scsi/scsi_proc.c
-@@ -386,13 +386,59 @@ static ssize_t proc_scsi_write(struct fi
- * @s: output goes here
- * @p: not used
- */
--static int proc_scsi_show(struct seq_file *s, void *p)
-+static int always_match(struct device *dev, void *data)
- {
-- seq_printf(s, "Attached devices:\n");
-- bus_for_each_dev(&scsi_bus_type, NULL, s, proc_print_scsidevice);
-- return 0;
-+ return 1;
- }
-
-+static inline struct device *next_scsi_device(struct device *start)
-+{
-+ struct device *next = bus_find_device(&scsi_bus_type, start, NULL,
-+ always_match);
-+ put_device(start);
-+ return next;
-+}
-+
-+static void *scsi_seq_start(struct seq_file *sfile, loff_t *pos)
-+{
-+ struct device *dev = NULL;
-+ loff_t n = *pos;
-+
-+ while ((dev = next_scsi_device(dev))) {
-+ if (!n--)
-+ break;
-+ sfile->private++;
-+ }
-+ return dev;
-+}
-+
-+static void *scsi_seq_next(struct seq_file *sfile, void *v, loff_t *pos)
-+{
-+ (*pos)++;
-+ sfile->private++;
-+ return next_scsi_device(v);
-+}
-+
-+static void scsi_seq_stop(struct seq_file *sfile, void *v)
-+{
-+ put_device(v);
-+}
-+
-+static int scsi_seq_show(struct seq_file *sfile, void *dev)
-+{
-+ if (!sfile->private)
-+ seq_puts(sfile, "Attached devices:\n");
-+
-+ return proc_print_scsidevice(dev, sfile);
-+}
-+
-+static struct seq_operations scsi_seq_ops = {
-+ .start = scsi_seq_start,
-+ .next = scsi_seq_next,
-+ .stop = scsi_seq_stop,
-+ .show = scsi_seq_show
-+};
-+
- /**
- * proc_scsi_open - glue function
- * @inode: not used
-@@ -406,7 +452,7 @@ static int proc_scsi_open(struct inode *
- * We don't really need this for the write case but it doesn't
- * harm either.
- */
-- return single_open(file, proc_scsi_show, NULL);
-+ return seq_open(file, &scsi_seq_ops);
- }
-
- static const struct file_operations proc_scsi_operations = {
-@@ -415,7 +461,7 @@ static const struct file_operations proc
- .read = seq_read,
- .write = proc_scsi_write,
- .llseek = seq_lseek,
-- .release = single_release,
-+ .release = seq_release,
- };
-
- /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/scsi-aic94xx-world-writable-sysfs-update_bios-file new/patches.fixes/scsi-aic94xx-world-writable-sysfs-update_bios-file
--- old/patches.fixes/scsi-aic94xx-world-writable-sysfs-update_bios-file 2011-05-20 20:20:17.000000000 +0200
+++ new/patches.fixes/scsi-aic94xx-world-writable-sysfs-update_bios-file 1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-From: Vasiliy Kulikov <segoon(a)openwall.com>
-Subject: scsi: aic94xx: world-writable sysfs update_bios file
-Introduced-by: v2.6.25-rc1
-Patch-mainline: Submitted 4 Feb 2011
-
-Don't allow everybody to load firmware.
-
-Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
-Acked-by: Jeff Mahoney <jeffm(a)suse.com>
----
- Compile tested only.
- drivers/scsi/aic94xx/aic94xx_init.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
-index 3b7e83d..d5ff142 100644
---- a/drivers/scsi/aic94xx/aic94xx_init.c
-+++ b/drivers/scsi/aic94xx/aic94xx_init.c
-@@ -486,7 +486,7 @@ static ssize_t asd_show_update_bios(struct device *dev,
- flash_error_table[i].reason);
- }
-
--static DEVICE_ATTR(update_bios, S_IRUGO|S_IWUGO,
-+static DEVICE_ATTR(update_bios, S_IRUGO|S_IWUSR,
- asd_show_update_bios, asd_store_update_bios);
-
- static int asd_create_dev_attrs(struct asd_ha_struct *asd_ha)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/tty-ldisc-do-not-close-until-there-are-readers.patch new/patches.fixes/tty-ldisc-do-not-close-until-there-are-readers.patch
--- old/patches.fixes/tty-ldisc-do-not-close-until-there-are-readers.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/tty-ldisc-do-not-close-until-there-are-readers.patch 2011-06-29 14:46:33.000000000 +0200
@@ -0,0 +1,104 @@
+From 92f6fa09bd453ffe3351fa1f1377a1b7cfa911e6 Mon Sep 17 00:00:00 2001
+From: Jiri Slaby <jslaby(a)suse.cz>
+Date: Sun, 5 Jun 2011 14:16:16 +0200
+Subject: TTY: ldisc, do not close until there are readers
+Git-commit: 92f6fa09bd453ffe3351fa1f1377a1b7cfa911e6
+Patch-mainline: 3.0-rc6
+References: bnc#698247 bnc#693374
+
+We restored tty_ldisc_wait_idle in 100eeae2c5c (TTY: restore
+tty_ldisc_wait_idle). We used it in the ldisc changing path to fix the
+case where there are tasks in n_tty_read waiting for data and somebody
+tries to change ldisc.
+
+Similar to the case above, there may be also tasks waiting in
+n_tty_read while hangup is performed. As 65b770468e98 (tty-ldisc: turn
+ldisc user count into a proper refcount) removed the wait-until-idle
+from all paths, hangup path won't wait for them to disappear either
+now. So add it back even to the hangup path.
+
+There is a difference, we need uninterruptible sleep as there is
+obviously HUP signal pending. So tty_ldisc_wait_idle now sleeps
+without possibility to be interrupted. This is what original
+tty_ldisc_wait_idle did. After the wait idle reintroduction
+(100eeae2c5c), we have had interruptible sleeps for the ldisc changing
+path. But as there is a 5s timeout anyway, we don't allow it to be
+interrupted from now on. It's not worth the added complexity of
+deciding what kind of sleep we want.
+
+Before 65b770468e98 tty_ldisc_release was called also from
+tty_ldisc_release. It is called from tty_release, so I don't think we
+need to restore that one.
+
+This is nicely reproducible after constifying the timing when
+drivers/tty/n_tty.c is patched as follows ("TTY: ntty, add one more
+sanity check" patch is needed to actually see it explode):
+%% -1548,6 +1549,7 @@ static int n_tty_open(struct tty_struct *tty)
+
+ /* These are ugly. Currently a malloc failure here can panic */
+ if (!tty->read_buf) {
++ msleep(100);
+ tty->read_buf = kzalloc(N_TTY_BUF_SIZE, GFP_KERNEL);
+ if (!tty->read_buf)
+ return -ENOMEM;
+%% -1785,6 +1788,7 @@ do_it_again:
+ break;
+ }
+ timeout = schedule_timeout(timeout);
++ msleep(20);
+ continue;
+ }
+ __set_current_state(TASK_RUNNING);
+===== With a process: =====
+ while (1) {
+ int fd = open(argv[1], O_RDWR);
+ read(fd, buf, sizeof(buf));
+ close(fd);
+ }
+===== and its child: =====
+ setsid();
+ while (1) {
+ int fd = open(tty, O_RDWR|O_NOCTTY);
+ ioctl(fd, TIOCSCTTY, 1);
+ vhangup();
+ close(fd);
+ usleep(100 * (10 + random() % 1000));
+ }
+===== EOF =====
+
+References: https://bugzilla.novell.com/show_bug.cgi?id=693374
+References: https://bugzilla.novell.com/show_bug.cgi?id=694509
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+Cc: Alan Cox <alan(a)lxorguk.ukuu.org.uk>
+Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
+Cc: stable <stable(a)kernel.org> [32, 33, 34, 39]
+Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de>
+---
+ drivers/tty/tty_ldisc.c | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
+index 5d01d32..ef925d5 100644
+--- a/drivers/tty/tty_ldisc.c
++++ b/drivers/tty/tty_ldisc.c
+@@ -555,7 +555,7 @@ static void tty_ldisc_flush_works(struct tty_struct *tty)
+ static int tty_ldisc_wait_idle(struct tty_struct *tty)
+ {
+ int ret;
+- ret = wait_event_interruptible_timeout(tty_ldisc_idle,
++ ret = wait_event_timeout(tty_ldisc_idle,
+ atomic_read(&tty->ldisc->users) == 1, 5 * HZ);
+ if (ret < 0)
+ return ret;
+@@ -763,6 +763,8 @@ static int tty_ldisc_reinit(struct tty_struct *tty, int ldisc)
+ if (IS_ERR(ld))
+ return -1;
+
++ WARN_ON_ONCE(tty_ldisc_wait_idle(tty));
++
+ tty_ldisc_close(tty, tty->ldisc);
+ tty_ldisc_put(tty->ldisc);
+ tty->ldisc = NULL;
+--
+1.7.6
+
++++++ patches.rpmify.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/apm-honor-config_apm_cpu_idle-n new/patches.rpmify/apm-honor-config_apm_cpu_idle-n
--- old/patches.rpmify/apm-honor-config_apm_cpu_idle-n 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/apm-honor-config_apm_cpu_idle-n 2011-06-13 21:52:37.000000000 +0200
@@ -0,0 +1,119 @@
+From: Jeff Mahoney <jeffm(a)suse.com>
+Subject: apm: Honor CONFIG_APM_CPU_IDLE=n
+Patch-mainline: Submitted to x86(a)kernel.org, 13 Jun 2011
+
+ Commit 06ae40c (x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when
+ APM demands it) removed the exports for pm_idle and default_idle unless
+ CONFIG_APM_CPU_IDLE is defined.
+
+ This caused build failures when CONFIG_APM=m and CONFIG_APM_CPU_IDLE=n,
+ since the APM code was still using those unconditionally.
+
+ This is due to CONFIG_APM_CPU_IDLE=y really only setting the default
+ threshold to 95% as opposed to 100%. The user is still allowed to
+ manually input thresholds < 100%, which would still invoke the cpu idle
+ code.
+
+ This patch makes the ability to adjust the threshold, which would invoke
+ the cpu idle functionaltity, depend on CONFIG_APM_CPU_IDLE=y.
+
+ I've only build tested it as I don't have hardware that makes use of APM.
+
+Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ arch/x86/kernel/apm_32.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--- a/arch/x86/kernel/apm_32.c
++++ b/arch/x86/kernel/apm_32.c
+@@ -375,10 +375,12 @@ static struct {
+ unsigned long offset;
+ unsigned short segment;
+ } apm_bios_entry;
++#ifdef CONFIG_APM_CPU_IDLE
+ static int clock_slowed;
+ static int idle_threshold __read_mostly = DEFAULT_IDLE_THRESHOLD;
+ static int idle_period __read_mostly = DEFAULT_IDLE_PERIOD;
+ static int set_pm_idle;
++#endif
+ static int suspends_pending;
+ static int standbys_pending;
+ static int ignore_sys_suspend;
+@@ -807,6 +809,7 @@ static int set_system_power_state(u_shor
+ return set_power_state(APM_DEVICE_ALL, state);
+ }
+
++#ifdef CONFIG_APM_CPU_IDLE
+ /**
+ * apm_do_idle - perform power saving
+ *
+@@ -966,6 +969,7 @@ recalc:
+
+ local_irq_enable();
+ }
++#endif
+
+ /**
+ * apm_power_off - ask the BIOS to power off
+@@ -1875,12 +1879,14 @@ static int __init apm_setup(char *str)
+ if ((strncmp(str, "bounce-interval=", 16) == 0) ||
+ (strncmp(str, "bounce_interval=", 16) == 0))
+ bounce_interval = simple_strtol(str + 16, NULL, 0);
++#ifdef CONFIG_APM_CPU_IDLE
+ if ((strncmp(str, "idle-threshold=", 15) == 0) ||
+ (strncmp(str, "idle_threshold=", 15) == 0))
+ idle_threshold = simple_strtol(str + 15, NULL, 0);
+ if ((strncmp(str, "idle-period=", 12) == 0) ||
+ (strncmp(str, "idle_period=", 12) == 0))
+ idle_period = simple_strtol(str + 12, NULL, 0);
++#endif
+ invert = (strncmp(str, "no-", 3) == 0) ||
+ (strncmp(str, "no_", 3) == 0);
+ if (invert)
+@@ -2383,6 +2389,7 @@ static int __init apm_init(void)
+ if (misc_register(&apm_device))
+ printk(KERN_WARNING "apm: Could not register misc device.\n");
+
++#ifdef CONFIG_APM_CPU_IDLE
+ if (HZ != 100)
+ idle_period = (idle_period * HZ) / 100;
+ if (idle_threshold < 100) {
+@@ -2390,6 +2397,7 @@ static int __init apm_init(void)
+ pm_idle = apm_cpu_idle;
+ set_pm_idle = 1;
+ }
++#endif
+
+ return 0;
+ }
+@@ -2398,6 +2406,7 @@ static void __exit apm_exit(void)
+ {
+ int error;
+
++#ifdef CONFIG_APM_CPU_IDLE
+ if (set_pm_idle) {
+ pm_idle = original_pm_idle;
+ /*
+@@ -2407,6 +2416,7 @@ static void __exit apm_exit(void)
+ */
+ cpu_idle_wait();
+ }
++#endif
+ if (((apm_info.bios.flags & APM_BIOS_DISENGAGED) == 0)
+ && (apm_info.connection_version > 0x0100)) {
+ error = apm_engage_power_management(APM_DEVICE_ALL, 0);
+@@ -2443,12 +2453,14 @@ MODULE_PARM_DESC(broken_psr, "BIOS has a
+ module_param(realmode_power_off, bool, 0444);
+ MODULE_PARM_DESC(realmode_power_off,
+ "Switch to real mode before powering off");
++#ifdef CONFIG_APM_CPU_IDLE
+ module_param(idle_threshold, int, 0444);
+ MODULE_PARM_DESC(idle_threshold,
+ "System idle percentage above which to make APM BIOS idle calls");
+ module_param(idle_period, int, 0444);
+ MODULE_PARM_DESC(idle_period,
+ "Period (in sec/100) over which to caculate the idle percentage");
++#endif
+ module_param(smp, bool, 0444);
+ MODULE_PARM_DESC(smp,
+ "Set this to enable APM use on an SMP platform. Use with caution on older systems");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/buildhost new/patches.rpmify/buildhost
--- old/patches.rpmify/buildhost 2011-04-13 03:30:36.000000000 +0200
+++ new/patches.rpmify/buildhost 1970-01-01 01:00:00.000000000 +0100
@@ -1,37 +0,0 @@
-From: Andreas Gruenbacher <agruen(a)suse.de>
-Subject: Hide the build hostname
-Patch-mainline: Never, SuSE-specific
-
-Instead of the real build host and user name, use "buildhost.suse.de"
-and "geeko".
-
-Signed-off-by: Andreas Gruenbacher <agruen(a)suse.de>
-
- scripts/mkcompile_h | 16 +++-------------
- 1 file changed, 3 insertions(+), 13 deletions(-)
-
---- a/scripts/mkcompile_h
-+++ b/scripts/mkcompile_h
-@@ -64,19 +64,9 @@ UTS_TRUNCATE="cut -b -$UTS_LEN"
- echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
-
- echo \#define LINUX_COMPILE_TIME \"`date +%T`\"
-- echo \#define LINUX_COMPILE_BY \"`whoami`\"
-- echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
--
-- domain=`dnsdomainname 2> /dev/null`
-- if [ -z "$domain" ]; then
-- domain=`domainname 2> /dev/null`
-- fi
--
-- if [ -n "$domain" ]; then
-- echo \#define LINUX_COMPILE_DOMAIN \"`echo $domain | $UTS_TRUNCATE`\"
-- else
-- echo \#define LINUX_COMPILE_DOMAIN
-- fi
-+ echo \#define LINUX_COMPILE_BY \"geeko\"
-+ echo \#define LINUX_COMPILE_HOST \"buildhost\"
-+ echo \#define LINUX_COMPILE_DOMAIN \"suse.de\"
-
- echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
- ) > .tmpcompile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/kvm-fix-off-by-one-in-kvm_for_each_vcpu-iteration new/patches.rpmify/kvm-fix-off-by-one-in-kvm_for_each_vcpu-iteration
--- old/patches.rpmify/kvm-fix-off-by-one-in-kvm_for_each_vcpu-iteration 2011-04-13 03:30:36.000000000 +0200
+++ new/patches.rpmify/kvm-fix-off-by-one-in-kvm_for_each_vcpu-iteration 1970-01-01 01:00:00.000000000 +0100
@@ -1,41 +0,0 @@
-From: Jeff Mahoney <jeffm(a)suse.com>
-Subject: kvm: Fix off by one in kvm_for_each_vcpu iteration
-Patch-mainline: Submitted 12 Apr 2011
-
- This patch avoids gcc issuing the following warning when KVM_MAX_VCPUS=1:
- warning: array subscript is above array bounds
-
- kvm_for_each_vcpu currently checks to see if the index for the vcpu is
- valid /after/ loading it. We don't run into problems because the address
- is still inside the enclosing struct kvm and we never deference or write
- to it, so this isn't a security issue.
-
- It occurs when KVM_MAX_VCPUS=1 because the increment portion of the loop
- will *always* cause the loop to load an invalid location since ++idx will
- always be > 0.
-
- This patch moves the load so that the check occurs before the load and
- we don't run into the compiler warning.
-
-Signed-off-by: Neil Brown <nfbrown(a)suse.de>
-Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
----
- include/linux/kvm_host.h | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
---- a/include/linux/kvm_host.h
-+++ b/include/linux/kvm_host.h
-@@ -292,9 +292,10 @@ static inline struct kvm_vcpu *kvm_get_v
- }
-
- #define kvm_for_each_vcpu(idx, vcpup, kvm) \
-- for (idx = 0, vcpup = kvm_get_vcpu(kvm, idx); \
-- idx < atomic_read(&kvm->online_vcpus) && vcpup; \
-- vcpup = kvm_get_vcpu(kvm, ++idx))
-+ for (idx = 0; \
-+ idx < atomic_read(&kvm->online_vcpus) && \
-+ (vcpup = kvm_get_vcpu(kvm, idx)) != NULL; \
-+ idx++)
-
- int kvm_vcpu_init(struct kvm_vcpu *vcpu, struct kvm *kvm, unsigned id);
- void kvm_vcpu_uninit(struct kvm_vcpu *vcpu);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/nouveau-make-vga_switcheroo-code-depend-on-vga_switcheroo new/patches.rpmify/nouveau-make-vga_switcheroo-code-depend-on-vga_switcheroo
--- old/patches.rpmify/nouveau-make-vga_switcheroo-code-depend-on-vga_switcheroo 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/nouveau-make-vga_switcheroo-code-depend-on-vga_switcheroo 2011-06-13 21:52:37.000000000 +0200
@@ -0,0 +1,41 @@
+From: Jeff Mahoney <jeffm(a)suse.com>
+Subject: nouveau: Make vga_switcheroo code depend on VGA_SWITCHEROO
+Patch-mainline: Submitted to nouveau(a)lists.freedesktop.org, 13 June 2011
+
+ Commit 8116188 (nouveau/acpi: hook up to the MXM method for mux
+ switching.) broke the build on non-x86 architectures due to the new
+ dependency on MXM and MXM being an x86 platform driver.
+
+ It built previously since the vga switcheroo registration routines
+ were zereod out on !X86. The code was built in but unused.
+
+ This patch makes all of the DSM code depend on CONFIG_VGA_SWITCHEROO,
+ allowing it to build on non-x86 and shrinking the module size as well.
+
+Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+
+ drivers/gpu/drm/nouveau/nouveau_acpi.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/gpu/drm/nouveau/nouveau_acpi.c
++++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c
+@@ -45,6 +45,7 @@ static struct nouveau_dsm_priv {
+ #define NOUVEAU_DSM_HAS_MUX 0x1
+ #define NOUVEAU_DSM_HAS_OPT 0x2
+
++#ifdef CONFIG_VGA_SWITCHEROO
+ static const char nouveau_dsm_muid[] = {
+ 0xA0, 0xA0, 0x95, 0x9D, 0x60, 0x00, 0x48, 0x4D,
+ 0xB3, 0x4D, 0x7E, 0x5F, 0xEA, 0x12, 0x9F, 0xD4,
+@@ -298,6 +299,10 @@ void nouveau_unregister_dsm_handler(void
+ {
+ vga_switcheroo_unregister_handler();
+ }
++#else
++void nouveau_register_dsm_handler(void) {}
++void nouveau_unregister_dsm_handler(void) {}
++#endif
+
+ /* retrieve the ROM in 4k blocks */
+ static int nouveau_rom_call(acpi_handle rom_handle, uint8_t *bios,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/qla4xx-missing-readq-definition new/patches.rpmify/qla4xx-missing-readq-definition
--- old/patches.rpmify/qla4xx-missing-readq-definition 2011-04-13 03:30:36.000000000 +0200
+++ new/patches.rpmify/qla4xx-missing-readq-definition 1970-01-01 01:00:00.000000000 +0100
@@ -1,38 +0,0 @@
-From: Jeff Mahoney <jeffm(a)suse.com>
-Subject: qla4xxx: add workaround for missing readq/writeq
-Patch-mainline: submitted Sep 21, 2010
-
- Commit f4f5df23 added support for ISP82XX devices but unconditionally
- used readq/writeq without defining it for architectures that don't
- support it natively.
-
- This patch copies the readq/writeq definitions from the qla2xxx driver
- to allow the code to build on e.g. ppc32 hardware.
-
-Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
----
- drivers/scsi/qla4xxx/ql4_nx.h | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
---- a/drivers/scsi/qla4xxx/ql4_nx.h
-+++ b/drivers/scsi/qla4xxx/ql4_nx.h
-@@ -776,4 +776,19 @@ struct crb_addr_pair {
- #define MIU_TEST_AGT_WRDATA_UPPER_LO (0x0b0)
- #define MIU_TEST_AGT_WRDATA_UPPER_HI (0x0b4)
-
-+#ifndef readq
-+static inline u64 readq(void __iomem *addr)
-+{
-+ return readl(addr) | (((u64) readl(addr + 4)) << 32LL);
-+}
-+#endif
-+
-+#ifndef writeq
-+static inline void writeq(u64 val, void __iomem *addr)
-+{
-+ writel(((u32) (val)), (addr));
-+ writel(((u32) (val >> 32)), (addr + 4));
-+}
-+#endif
-+
- #endif
++++++ patches.suse.tar.bz2 ++++++
++++ 15424 lines of diff (skipped)
++++++ patches.xen.tar.bz2 ++++++
++++ 17132 lines of diff (skipped)
++++++ post.sh ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:36.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:36.000000000 +0200
@@ -1,3 +1,6 @@
+# Flag to trigger /etc/init.d/purge-kernels on next reboot (fate#312018)
+touch /boot/do_purge_kernels
+
# It must be possible to install different kernel.rpm packages in parallel.
# But in this post install script, the /boot/vmlinux symlink is replaced.
# On powerpc, the different kernels are for different board/firmware types
++++++ postun.sh ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:36.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:36.000000000 +0200
@@ -1,3 +1,8 @@
+# If a kernel package is removed before the next reboot, we assume that the
+# multiversion variable in /etc/zypp/zypp.conf is not configured and we delete
+# the flag again (fate#312018)
+rm -f /boot/do_purge_kernels
+
wm2=/usr/lib/module-init-tools/weak-modules2
nvr=@SUBPACKAGE@-@RPM_VERSION_RELEASE@
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:36.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:36.000000000 +0200
@@ -33,8 +33,8 @@
# Patches in patches.rpmify are applied to both -vanilla
# and patched flavors.
########################################################
- patches.rpmify/qla4xx-missing-readq-definition
- patches.rpmify/kvm-fix-off-by-one-in-kvm_for_each_vcpu-iteration
+ patches.rpmify/apm-honor-config_apm_cpu_idle-n
+ patches.rpmify/nouveau-make-vga_switcheroo-code-depend-on-vga_switcheroo
########################################################
# kABI consistency patches
@@ -53,7 +53,6 @@
patches.rpmify/rpm-kernel-config
patches.rpmify/split-package
- patches.rpmify/buildhost
patches.rpmify/cloneconfig.diff
########################################################
@@ -63,6 +62,7 @@
patches.suse/supported-flag-enterprise
patches.suse/genksyms-add-override-flag.diff
patches.suse/kconfig-automate-kernel-desktop
+ patches.fixes/no-built-in-root_dev
########################################################
# Simple export additions/removals
@@ -87,7 +87,6 @@
########################################################
# ia64
########################################################
- patches.fixes/ia64-sparse-fixes.diff
########################################################
# i386
@@ -111,6 +110,12 @@
+needs_update patches.arch/kvm-split-the-KVM-pv-ops-support-by-feature
+needs_update patches.arch/kvm-replace-kvm-io-delay-pv-ops-with-linux-magic
+ patches.arch/mtrr_stop_machine_quick_fix.patch
+ patches.arch/kill-__stop_machine.patch
+ patches.arch/reorganize_stop_cpus.patch
+ patches.arch/implement_stop_machine_from_offline_cpu.patch
+ patches.arch/use_stop_machine_for_mtrr_rendezvous.patch
+
########################################################
# x86 MCE/MCA (Machine Check Error/Architecture) extensions
########################################################
@@ -154,6 +159,7 @@
########################################################
patches.arch/s390-message-catalog.diff
patches.arch/s390-message-catalog-fix.diff
+ patches.arch/s390-message-catalog-perl-fix.diff
patches.arch/kmsg-fix-parameter-limitations
patches.suse/s390-Kerntypes.diff
@@ -165,10 +171,10 @@
patches.fixes/grab-swap-token-oops
patches.fixes/remount-no-shrink-dcache
- patches.suse/file-capabilities-disable-by-default.diff
patches.suse/readahead-request-tunables.patch
patches.fixes/fs-partitions-efi-c-corrupted-guid-partition-tables-can-cause-kernel-oops
+ patches.fixes/mm-Fix-assertion-mapping-nrpages-0-in-end_writeback.patch
########################################################
# IPC patches
@@ -184,8 +190,6 @@
patches.suse/connector-read-mostly
patches.suse/kbd-ignore-gfx.patch
- patches.fixes/scsi-aic94xx-world-writable-sysfs-update_bios-file
-
########################################################
#
# ACPI patches
@@ -291,12 +295,6 @@
########################################################
########################################################
- # novfs
- ########################################################
- patches.suse/novfs-client-module
- patches.fixes/novfs-nwcapi.patch
-
- ########################################################
# other filesystem stuff: richacls
########################################################
patches.suse/0001-vfs-Hooks-for-more-fine-grained-directory-permission.patch
@@ -365,14 +363,11 @@
patches.suse/scsi-error-test-unit-ready-timeout
patches.fixes/scsi-scan-blist-update
- patches.fixes/proc-scsi-scsi-fix.diff
-
patches.fixes/scsi-ibmvscsi-show-config.patch
# bnc#362850
patches.fixes/sd_liberal_28_sense_invalid.diff
patches.fixes/scsi-ibmvscsi-module_alias.patch
- patches.fixes/block-add-proper-state-guards-to-__elv_next_request.patch
########################################################
# DRM/Video
@@ -426,7 +421,6 @@
patches.suse/elousb-2.6.35-api-changes
patches.fixes/input-add-acer-aspire-5710-to-nomux.patch
patches.drivers/input-Add-LED-support-to-Synaptics-device
- patches.fixes/hid-add-noget-quirk-for-symboltec.patch
##########################################################
# Sound
@@ -434,12 +428,15 @@
patches.drivers/alsa-hda-0019-Increase-default-buffer-size
########################################################
+ # Char / serial
+ ########################################################
+ patches.fixes/tty-ldisc-do-not-close-until-there-are-readers.patch
+
+ ########################################################
# Other driver fixes
########################################################
patches.fixes/parport-mutex
- # Allow setting maximum number of raw devices
- patches.suse/raw_device_max_minors_param.diff
patches.suse/no-partition-scan
########################################################
@@ -449,7 +446,6 @@
########################################################
# Suspend/Resume stuff
########################################################
- patches.fixes/PM-Print-a-warning-if-firmware-is-requested-when-tas.patch
########################################################
# device-mapper
@@ -461,6 +457,7 @@
patches.suse/dm-raid45-api-update-remove-dm_put-after-dm_table_get_md
patches.suse/dm-raid45-api-update-no-barriers
patches.suse/dm-raid45-api-2.6.39
+ patches.suse/dm-raid45-api-3.0
patches.fixes/dm-mpath-reattach-dh
patches.suse/dm-mpath-leastpending-path-update
+needs_update patches.suse/dm-mpath-accept-failed-paths
@@ -507,6 +504,7 @@
########################################################
patches.suse/crasher-26.diff
patches.suse/stack-unwind
+ patches.suse/revert-x86-remove-warning-and-warning_symbol-from-struct-stacktrace_ops
patches.suse/no-frame-pointer-select
patches.arch/x86_64-unwind-annotations
@@ -556,120 +554,114 @@
# re-basing to a newer xen tree.
#
### both uml framebuffer and xen need this one.
- patches.xen/add-console-use-vt
++xen_needs_update patches.xen/add-console-use-vt
++xen_needs_update
++xen_needs_update # split out patches
++xen_needs_update patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch
++xen_needs_update patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch
++xen_needs_update patches.xen/ipv6-no-autoconf
++xen_needs_update patches.xen/pci-guestdev
++xen_needs_update patches.xen/pci-reserve
++xen_needs_update patches.xen/tmem
++xen_needs_update
++xen_needs_update # bulk stuff, new files for xen
++xen_needs_update patches.xen/xen3-auto-xen-arch.diff
++xen_needs_update patches.xen/xen3-auto-xen-drivers.diff
++xen_needs_update patches.xen/xen3-auto-include-xen-interface.diff
++xen_needs_update patches.xen/xen3-auto-blktap2-pvops.diff
++xen_needs_update
++xen_needs_update # kconfig bits for xen
++xen_needs_update patches.xen/xen3-auto-xen-kconfig.diff
++xen_needs_update
++xen_needs_update # common code changes
++xen_needs_update patches.xen/xen3-auto-common.diff
++xen_needs_update patches.xen/xen3-auto-arch-x86.diff
++xen_needs_update patches.xen/xen3-auto-arch-i386.diff
++xen_needs_update patches.xen/xen3-auto-arch-x86_64.diff
++xen_needs_update
++xen_needs_update # fixups due to upstream Xen parts
++xen_needs_update patches.xen/xen3-fixup-xen
++xen_needs_update
++xen_needs_update # newer changeset backports
++xen_needs_update
++xen_needs_update # changes outside arch/{i386,x86_64}/xen
++xen_needs_update patches.xen/xen3-fixup-kconfig
++xen_needs_update patches.xen/xen3-fixup-common
++xen_needs_update patches.xen/xen3-fixup-arch-x86
++xen_needs_update patches.xen/xen3-fixup-blktap2-pvops
++xen_needs_update
++xen_needs_update # ports of other patches
++xen_needs_update patches.xen/xen3-patch-2.6.18
++xen_needs_update patches.xen/xen3-patch-2.6.19
++xen_needs_update patches.xen/xen3-patch-2.6.20
++xen_needs_update patches.xen/xen3-patch-2.6.21
++xen_needs_update patches.xen/xen3-patch-2.6.22
++xen_needs_update patches.xen/xen3-patch-2.6.23
++xen_needs_update patches.xen/xen3-patch-2.6.24
++xen_needs_update patches.xen/xen3-patch-2.6.25
++xen_needs_update patches.xen/xen3-patch-2.6.26
++xen_needs_update patches.xen/xen3-patch-2.6.27
++xen_needs_update patches.xen/xen3-patch-2.6.28
++xen_needs_update patches.xen/xen3-patch-2.6.29
++xen_needs_update patches.xen/xen3-patch-2.6.30
++xen_needs_update patches.xen/xen3-patch-2.6.31
++xen_needs_update patches.xen/xen3-patch-2.6.32
++xen_needs_update patches.xen/xen3-patch-2.6.33
++xen_needs_update patches.xen/xen3-patch-2.6.34
++xen_needs_update patches.xen/xen3-patch-2.6.35
++xen_needs_update patches.xen/xen3-patch-2.6.36
++xen_needs_update patches.xen/xen3-patch-2.6.37
++xen_needs_update patches.xen/xen3-patch-2.6.38
++xen_needs_update patches.xen/xen3-patch-2.6.39
++xen_needs_update patches.xen/xen3-stack-unwind
++xen_needs_update patches.xen/xen3-x86_64-unwind-annotations
++xen_needs_update
++xen_needs_update # bugfixes and enhancements
++xen_needs_update patches.xen/xen-balloon-max-target
++xen_needs_update patches.xen/xen-blkback-bimodal-suse
++xen_needs_update patches.xen/xen-blkif-protocol-fallback-hack
++xen_needs_update patches.xen/xen-blkback-cdrom
++xen_needs_update patches.xen/xen-blktap-modular
++xen_needs_update patches.xen/xen-blktap-write-barriers
++xen_needs_update patches.xen/xen-blktap2-use-after-free
++xen_needs_update patches.xen/xen-blktap2-configurable-nr-devs
++xen_needs_update patches.xen/xen-op-packet
++xen_needs_update patches.xen/xen-blkfront-cdrom
++xen_needs_update patches.xen/xen-kconfig-compat
++xen_needs_update patches.xen/xen-cpufreq-report
++xen_needs_update patches.xen/xen-sys-suspend
++xen_needs_update patches.xen/xen-ipi-per-cpu-irq
++xen_needs_update patches.xen/xen-virq-per-cpu-irq
++xen_needs_update patches.xen/xen-clockevents
++xen_needs_update patches.xen/xen-spinlock-poll-early
++xen_needs_update patches.xen/xen-pcpu-hotplug
++xen_needs_update patches.xen/xen-mem-hotplug
++xen_needs_update patches.xen/xen-swiotlb-heuristics
++xen_needs_update patches.xen/xen-configurable-guest-devices
++xen_needs_update patches.xen/xen-netback-nr-irqs
++xen_needs_update patches.xen/xen-netback-notify-multi
++xen_needs_update patches.xen/xen-netback-generalize
++xen_needs_update patches.xen/xen-netback-multiple-tasklets
++xen_needs_update patches.xen/xen-netback-kernel-threads
++xen_needs_update patches.xen/xen-cxgb3
++xen_needs_update patches.xen/xen-dcdbas
++xen_needs_update patches.xen/xen-floppy
++xen_needs_update patches.xen/xen-sections
++xen_needs_update patches.xen/xen-kzalloc
++xen_needs_update patches.xen/xen-unpriv-build
++xen_needs_update patches.xen/xen-setup-gsi
++xen_needs_update patches.xen/xen-sfc-netfront-gcc46
++xen_needs_update patches.xen/xen-x86-panic-no-reboot
++xen_needs_update patches.xen/xen-x86-dcr-fallback
++xen_needs_update patches.xen/xen-x86-no-lapic
++xen_needs_update patches.xen/xen-x86-pmd-handling
++xen_needs_update patches.xen/xen-x86-bigmem
++xen_needs_update patches.xen/xen-x86-exit-mmap
++xen_needs_update patches.xen/xen-x86-per-cpu-vcpu-info
++xen_needs_update patches.xen/xen-x86-msr-on-pcpu
++xen_needs_update patches.xen/xen-x86_64-pgd-pin
++xen_needs_update patches.xen/xen-x86_64-pgd-alloc-order
++xen_needs_update patches.xen/xen-x86_64-dump-user-pgt
++xen_needs_update patches.xen/xen-x86_64-note-init-p2m
++xen_needs_update patches.xen/xen-x86_64-unmapped-initrd
- # split out patches
- patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch
- patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch
- patches.xen/ipv6-no-autoconf
- patches.xen/pci-guestdev
- patches.xen/pci-reserve
-+needs_update-33 patches.xen/sfc-driverlink
-+needs_update-33 patches.xen/sfc-resource-driver
-+needs_update-33 patches.xen/sfc-driverlink-conditional
-+needs_update-33 patches.xen/sfc-external-sram
- patches.xen/tmem
-
- # bulk stuff, new files for xen
- patches.xen/xen3-auto-xen-arch.diff
- patches.xen/xen3-auto-xen-drivers.diff
- patches.xen/xen3-auto-include-xen-interface.diff
- patches.xen/xen3-auto-blktap2-pvops.diff
-
- # kconfig bits for xen
- patches.xen/xen3-auto-xen-kconfig.diff
-
- # common code changes
- patches.xen/xen3-auto-common.diff
- patches.xen/xen3-auto-arch-x86.diff
- patches.xen/xen3-auto-arch-i386.diff
- patches.xen/xen3-auto-arch-x86_64.diff
-
- # fixups due to upstream Xen parts
- patches.xen/xen3-fixup-xen
-
-+needs_update-33 patches.xen/sfc-set-arch
-+needs_update-33 patches.xen/sfc-endianness
-
- # newer changeset backports
-
- # changes outside arch/{i386,x86_64}/xen
- patches.xen/xen3-fixup-kconfig
- patches.xen/xen3-fixup-common
- patches.xen/xen3-fixup-arch-x86
- patches.xen/xen3-fixup-blktap2-pvops
-
- # ports of other patches
- patches.xen/xen3-patch-2.6.18
- patches.xen/xen3-patch-2.6.19
- patches.xen/xen3-patch-2.6.20
- patches.xen/xen3-patch-2.6.21
- patches.xen/xen3-patch-2.6.22
- patches.xen/xen3-patch-2.6.23
- patches.xen/xen3-patch-2.6.24
- patches.xen/xen3-patch-2.6.25
- patches.xen/xen3-patch-2.6.26
- patches.xen/xen3-patch-2.6.27
- patches.xen/xen3-patch-2.6.28
- patches.xen/xen3-patch-2.6.29
- patches.xen/xen3-patch-2.6.30
- patches.xen/xen3-patch-2.6.31
- patches.xen/xen3-patch-2.6.32
- patches.xen/xen3-patch-2.6.33
- patches.xen/xen3-patch-2.6.34
- patches.xen/xen3-patch-2.6.35
- patches.xen/xen3-patch-2.6.36
- patches.xen/xen3-patch-2.6.37
- patches.xen/xen3-patch-2.6.38
- patches.xen/xen3-patch-2.6.39
- patches.xen/xen3-stack-unwind
- patches.xen/xen3-x86_64-unwind-annotations
-
- # bugfixes and enhancements
- patches.xen/xen-balloon-max-target
- patches.xen/xen-blkback-bimodal-suse
- patches.xen/xen-blkif-protocol-fallback-hack
- patches.xen/xen-blkback-cdrom
- patches.xen/xen-blktap-modular
- patches.xen/xen-blktap-write-barriers
- patches.xen/xen-blktap2-use-after-free
- patches.xen/xen-blktap2-configurable-nr-devs
- patches.xen/xen-op-packet
- patches.xen/xen-blkfront-cdrom
- patches.xen/xen-kconfig-compat
- patches.xen/xen-cpufreq-report
- patches.xen/xen-sys-suspend
- patches.xen/xen-ipi-per-cpu-irq
- patches.xen/xen-virq-per-cpu-irq
- patches.xen/xen-clockevents
- patches.xen/xen-spinlock-poll-early
- patches.xen/xen-pcpu-hotplug
- patches.xen/xen-mem-hotplug
- patches.xen/xen-swiotlb-heuristics
- patches.xen/xen-configurable-guest-devices
- patches.xen/xen-netback-nr-irqs
- patches.xen/xen-netback-notify-multi
- patches.xen/xen-netback-generalize
- patches.xen/xen-netback-multiple-tasklets
- patches.xen/xen-netback-kernel-threads
- patches.xen/xen-cxgb3
- patches.xen/xen-dcdbas
- patches.xen/xen-floppy
- patches.xen/xen-sections
- patches.xen/xen-kzalloc
- patches.xen/xen-unpriv-build
- patches.xen/xen-setup-gsi
- patches.xen/xen-sfc-netfront-gcc46
- patches.xen/xen-x86-panic-no-reboot
- patches.xen/xen-x86-dcr-fallback
- patches.xen/xen-x86-no-lapic
- patches.xen/xen-x86-pmd-handling
- patches.xen/xen-x86-bigmem
- patches.xen/xen-x86-exit-mmap
- patches.xen/xen-x86-per-cpu-vcpu-info
- patches.xen/xen-x86-msr-on-pcpu
- patches.xen/xen-x86_64-pgd-pin
- patches.xen/xen-x86_64-pgd-alloc-order
- patches.xen/xen-x86_64-dump-user-pgt
- patches.xen/xen-x86_64-note-init-p2m
- patches.xen/xen-x86_64-unmapped-initrd
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.uStvX1/_old 2011-07-04 08:57:36.000000000 +0200
+++ /var/tmp/diff_new_pack.uStvX1/_new 2011-07-04 08:57:36.000000000 +0200
@@ -1,3 +1,3 @@
-2011-05-23 13:35:38 +0200
-GIT Revision: 3b6edffc98f47f5f431aaf96754bb5a4b263b759
+2011-06-29 15:14:02 +0200
+GIT Revision: e7003259e1bb642a167f70c787b240cc90bbd148
GIT Branch: master
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
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 yast2-packager for openSUSE:Factory
checked in at Mon Jul 4 08:56:52 CEST 2011.
--------
--- yast2-packager/yast2-packager.changes 2011-06-28 11:50:11.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-packager/yast2-packager.changes 2011-07-01 09:22:54.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Jul 1 07:19:15 UTC 2011 - lslezak(a)suse.cz
+
+- fixed a typo in help text (bnc#703199)
+- 2.21.5
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
yast2-packager-2.21.4.tar.bz2
New:
----
yast2-packager-2.21.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.kn0P3y/_old 2011-07-04 08:56:06.000000000 +0200
+++ /var/tmp/diff_new_pack.kn0P3y/_new 2011-07-04 08:56:06.000000000 +0200
@@ -19,11 +19,11 @@
Name: yast2-packager
-Version: 2.21.4
+Version: 2.21.5
Release: 1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-packager-2.21.4.tar.bz2
+Source0: yast2-packager-2.21.5.tar.bz2
Prefix: /usr
@@ -100,7 +100,7 @@
(webpin) and installing them via OneClickInstall
%prep
-%setup -n yast2-packager-2.21.4
+%setup -n yast2-packager-2.21.5
%build
%{prefix}/bin/y2tool y2autoconf
++++++ yast2-packager-2.21.4.tar.bz2 -> yast2-packager-2.21.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-2.21.4/VERSION new/yast2-packager-2.21.5/VERSION
--- old/yast2-packager-2.21.4/VERSION 2011-06-28 11:37:02.000000000 +0200
+++ new/yast2-packager-2.21.5/VERSION 2011-07-01 09:21:38.000000000 +0200
@@ -1 +1 @@
-2.21.4
+2.21.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-2.21.4/configure new/yast2-packager-2.21.5/configure
--- old/yast2-packager-2.21.4/configure 2011-06-28 11:42:00.000000000 +0200
+++ new/yast2-packager-2.21.5/configure 2011-07-01 09:22:17.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for yast2-packager 2.21.4.
+# Generated by GNU Autoconf 2.68 for yast2-packager 2.21.5.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -559,8 +559,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-packager'
PACKAGE_TARNAME='yast2-packager'
-PACKAGE_VERSION='2.21.4'
-PACKAGE_STRING='yast2-packager 2.21.4'
+PACKAGE_VERSION='2.21.5'
+PACKAGE_STRING='yast2-packager 2.21.5'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
PACKAGE_URL=''
@@ -1229,7 +1229,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-packager 2.21.4 to adapt to many kinds of systems.
+\`configure' configures yast2-packager 2.21.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1300,7 +1300,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-packager 2.21.4:";;
+ short | recursive ) echo "Configuration of yast2-packager 2.21.5:";;
esac
cat <<\_ACEOF
@@ -1380,7 +1380,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-packager configure 2.21.4
+yast2-packager configure 2.21.5
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1397,7 +1397,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-packager $as_me 2.21.4, which was
+It was created by yast2-packager $as_me 2.21.5, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2327,7 +2327,7 @@
# Define the identity of the package.
PACKAGE='yast2-packager'
- VERSION='2.21.4'
+ VERSION='2.21.5'
cat >>confdefs.h <<_ACEOF
@@ -2449,7 +2449,7 @@
-VERSION="2.21.4"
+VERSION="2.21.5"
RPMNAME="yast2-packager"
MAINTAINER="Ladislav Slezak <lslezak(a)suse.cz>"
@@ -3379,7 +3379,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-packager $as_me 2.21.4, which was
+This file was extended by yast2-packager $as_me 2.21.5, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3432,7 +3432,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-yast2-packager config.status 2.21.4
+yast2-packager config.status 2.21.5
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-2.21.4/configure.in new/yast2-packager-2.21.5/configure.in
--- old/yast2-packager-2.21.4/configure.in 2011-06-28 11:41:57.000000000 +0200
+++ new/yast2-packager-2.21.5/configure.in 2011-07-01 09:22:14.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.18.11 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-packager, 2.21.4, http://bugs.opensuse.org/, yast2-packager)
+AC_INIT(yast2-packager, 2.21.5, http://bugs.opensuse.org/, yast2-packager)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.21.4"
+VERSION="2.21.5"
RPMNAME="yast2-packager"
MAINTAINER="Ladislav Slezak <lslezak(a)suse.cz>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-2.21.4/src/modules/Packages.ycp new/yast2-packager-2.21.5/src/modules/Packages.ycp
--- old/yast2-packager-2.21.4/src/modules/Packages.ycp 2011-06-14 13:00:00.000000000 +0200
+++ new/yast2-packager-2.21.5/src/modules/Packages.ycp 2011-07-01 09:21:57.000000000 +0200
@@ -3,7 +3,7 @@
* Package: Package selections
* Authors: Anas Nashif <nashif(a)suse.de>
*
- * $Id: Packages.ycp 64232 2011-06-06 16:27:46Z locilka $
+ * $Id: Packages.ycp 64686 2011-07-01 07:21:52Z lslezak $
*/
{
@@ -313,7 +313,7 @@
ret = ret +
// (see bnc#178357 why these numbers)
// translators: help text for software proposal
- _("<P>The proposal reports the total size of files which will be installed to the system. However, the system will contain some other files (temporary and working files) so the used space will be slighltly larger than the proposed value. Therefore it is a good idea to have at least 25% (or 300MB) free space before starting the installation.</P>") +
+ _("<P>The proposal reports the total size of files which will be installed to the system. However, the system will contain some other files (temporary and working files) so the used space will be slightly larger than the proposed value. Therefore it is a good idea to have at least 25% (or about 300MB) free space before starting the installation.</P>") +
// help text for software proposal
_("<P>The total 'size to download' is the size of the packages which will be downloaded from remote (network) repositories.\n This value is important when the connection is slow or when there is a data limit for downloading.</P>");
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
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 texlive-bin for openSUSE:Factory
checked in at Mon Jul 4 08:55:53 CEST 2011.
--------
--- texlive-bin/texlive-bin.changes 2011-05-29 23:46:26.000000000 +0200
+++ /mounts/work_src_done/STABLE/texlive-bin/texlive-bin.changes 2011-07-01 13:41:38.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 1 11:35:11 UTC 2011 - werner(a)suse.de
+
+- Add perl-File-Which to requires of texlive (bnc#703398)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texlive-bin.spec ++++++
--- /var/tmp/diff_new_pack.ElpqCK/_old 2011-07-04 08:51:22.000000000 +0200
+++ /var/tmp/diff_new_pack.ElpqCK/_new 2011-07-04 08:51:22.000000000 +0200
@@ -28,7 +28,7 @@
Requires(prereq): /bin/date /bin/ln
Group: Productivity/Publishing/TeX/Base
Version: 2010
-Release: 9
+Release: 11
Source0: ftp://tug.org/historic/systems/texlive/2010/texlive-20100722-source.tar.xz
Source1: ftp://tug.org/historic/systems/texlive/2010/texlive-20100722-texmf.tar.xz
Source2: ftp://tug.org/historic/systems/texlive/2010/texlive-20100826-extra.tar.xz
@@ -157,7 +157,7 @@
Requires(post): %fillup_prereq %install_info_prereq %suseconfig_fonts_prereq
Requires(postun): %install_info_prereq %suseconfig_fonts_prereq
Requires(interp): /usr/bin/env /usr/bin/perl
-Requires: /usr/bin/clear /usr/bin/dialog /bin/ed perl-Tk ghostscript_x11 cron
+Requires: /usr/bin/clear /usr/bin/dialog /bin/ed perl-Tk perl-File-Which ghostscript_x11 cron
Obsoletes: te_pscm te_etex te_pdf tetex
Conflicts: te_eplai te_ams ntex
Suggests: texlive-doc texlive-fonts-extra
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
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 tcl for openSUSE:Factory
checked in at Mon Jul 4 08:50:55 CEST 2011.
--------
--- tcl/tcl.changes 2011-04-27 11:19:13.000000000 +0200
+++ /mounts/work_src_done/STABLE/tcl/tcl.changes 2011-06-30 18:48:51.000000000 +0200
@@ -1,0 +2,35 @@
+Thu Jun 30 15:50:01 UTC 2011 - max(a)novell.com
+
+- New patchlevel release 8.5.10:
+ * Update Unicode data to 6.0
+ * Fix handling of empty path lists in Safe Tcl.
+ * (bug fix)[3098302] crash in compiled [catch]
+ * (TIP 378)[3081184] improved TIP 280 performance
+ * (enhancement) Restore TclFormatInt for performance
+ * (enhancement) Tcl_PrintDouble performance improvements
+ * (bug fix)[3142026] GrowEvaluationStack OBOE
+ * (bug fix)[3072640] protect writes to ::error* variables
+ * (bug fix)[3200987,3192636] parser buffer overruns
+ * (bug fix)[3202905] failed intrep release of interp result
+ * (bug fix)[3202171] repair [namespace inscope] optimizer
+ * (bug fix) Fixes from libtommath 0.42.0 release
+ * (bug fix)[3216070] [load] extension from embed Tcl apps
+ * (bug fix)[3285472] intrep corruption in [string reverse]
+ * (bug fix)[2662380] crash when variable append trace unsets
+ * (bug fix)[3285375] Buffer overflow in [concat]
+ * (internals change) revised TclFindElement() interface
+ *** POTENTIAL INCOMPATIBILITY ***
+ * (enhancement) dict->list w/o string rep generation
+ * (bug fix)[3173086] Crash parsing long lists
+ * (bug fix)[2715421] surplus \n in POST => http 2.7.6
+ * (enhancement) msgcat internal improvements => msgcat 1.4.4
+ * (bug fix)[3185407] cmd resolution epoch flaw
+ * (bug fix)[3315098] mem leak generating double string rep
+ * (new cmd) [tcltest::loadIntoSlaveInterpreter]
+ => tcltest 2.3.3
+ * (new feature) DEB_HOST_MULTIARCH support => platform 1.0.10
+- Add tcl-stack.patch to fix stack direction checking for gcc 4.6.
+- Removed stack-3.1 from the list of known-failing tests.
+- tcl-SafeLdExp.patch isn't needed anymore.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
tcl-SafeLdExp.patch
tcl8.5.9-src.tar.bz2
New:
----
tcl-stack.patch
tcl8.5.10-src.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tcl.spec ++++++
--- /var/tmp/diff_new_pack.OdPywO/_old 2011-07-04 08:41:55.000000000 +0200
+++ /var/tmp/diff_new_pack.OdPywO/_new 2011-07-04 08:41:55.000000000 +0200
@@ -20,8 +20,8 @@
Name: tcl
Url: http://www.tcl.tk
-Version: 8.5.9
-Release: 5
+Version: 8.5.10
+Release: 1
%define TCL_MINOR %(echo %version | cut -c1-3)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: The Tcl Programming Language
@@ -41,7 +41,7 @@
Source3: macros.tcl
Patch0: tcl.patch
Patch1: tcl-unload.patch
-Patch3: tcl-SafeLdExp.patch
+Patch2: tcl-stack.patch
%description
Tcl (Tool Command Language) is a very powerful but easy to learn
@@ -89,10 +89,11 @@
%setup -q -n %name%version
%patch0
%patch1
-%patch3
+%patch2
%build
cd unix
+autoconf
%configure \
--enable-man-symlinks \
--enable-man-compression=gzip
@@ -118,7 +119,6 @@
cat > known-failures <<EOF
httpold-4.12
mathop-25.14
-stack-3.1
EOF
%ifnarch %arm
eval $MAKE test 2>&1 | tee testresults
++++++ tcl-stack.patch ++++++
Index: ChangeLog
===================================================================
--- ChangeLog
+++ ChangeLog
@@ -1,5 +1,11 @@
+2011-06-30 Reinhard Max <max(a)suse.de>
+
+ * unix/configure.in: Add a volatile declaration to the test for
+ TCL_STACK_GROWS_UP to prevent gcc 4.6 from producing invalid
+ results due to aggressive optimisation.
+
2011-06-23 Don Porter <dgp(a)users.sourceforge.net>
*** 8.5.10 TAGGED FOR RELEASE ***
* changes: Update for 8.5.10 release.
Index: unix/configure
===================================================================
--- unix/configure
+++ unix/configure
@@ -18703,14 +18703,16 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int StackGrowsUp(int *parent) {
int here;
+ volatile int result;
if (parent)
- return (&here < parent);
+ result = (&here < parent);
else
- return StackGrowsUp(&here);
+ result = StackGrowsUp(&here);
+ return result;
}
int main (int argc, char *argv[]) {
return StackGrowsUp(0);
}
Index: unix/configure.in
===================================================================
--- unix/configure.in
+++ unix/configure.in
@@ -703,14 +703,16 @@
AC_CACHE_CHECK([if the C stack grows upwards in memory], tcl_cv_stack_grows_up, [
AC_TRY_RUN([
int StackGrowsUp(int *parent) {
int here;
+ volatile int result;
if (parent)
- return (&here < parent);
+ result = (&here < parent);
else
- return StackGrowsUp(&here);
+ result = StackGrowsUp(&here);
+ return result;
}
int main (int argc, char *argv[]) {
return StackGrowsUp(0);
}
], tcl_cv_stack_grows_up=yes, tcl_cv_stack_grows_up=no,
++++++ tcl-unload.patch ++++++
--- /var/tmp/diff_new_pack.OdPywO/_old 2011-07-04 08:41:55.000000000 +0200
+++ /var/tmp/diff_new_pack.OdPywO/_new 2011-07-04 08:41:55.000000000 +0200
@@ -1,16 +1,5 @@
-Index: generic/tclLoad.c
-===================================================================
--- generic/tclLoad.c.orig
+++ generic/tclLoad.c
-@@ -9,7 +9,7 @@
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- *
-- * RCS: @(#) $Id: tclLoad.c,v 1.16.4.2 2008/11/14 00:22:39 nijtmans Exp $
-+ * RCS: @(#) $Id: tclLoad.c,v 1.16 2007/02/20 23:24:03 nijtmans Exp $
- */
-
- #include "tclInt.h"
@@ -795,9 +795,7 @@ Tcl_UnloadObjCmd(
if (unLoadProcPtr != NULL) {
++++++ tcl8.5.9-src.tar.bz2 -> tcl8.5.10-src.tar.bz2 ++++++
++++ 31823 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
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 icedtea-web for openSUSE:11.4
checked in at Fri Jul 1 23:11:07 CEST 2011.
--------
--- old-versions/11.4/UPDATES/all/icedtea-web/icedtea-web.changes 2011-06-10 11:01:59.000000000 +0200
+++ 11.4/icedtea-web/icedtea-web.changes 2011-07-01 23:08:33.977845000 +0200
@@ -1,0 +2,6 @@
+Thu Jun 30 11:37:13 UTC 2011 - mvyskocil(a)suse.cz
+
+- fix bnc#702825 - IcedTeaPlugin.so gives undefined symbol
+ * fix the icedtea-web-1.1-moonlight-symbol-clash.patch
+
+-------------------------------------------------------------------
calling whatdependson for 11.4-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ icedtea-web.spec ++++++
--- /var/tmp/diff_new_pack.U8pxGT/_old 2011-07-01 23:10:41.000000000 +0200
+++ /var/tmp/diff_new_pack.U8pxGT/_new 2011-07-01 23:10:41.000000000 +0200
@@ -48,9 +48,11 @@
%define pluginpath %{_libdir}
%define pluginname IcedTeaPlugin.so
+%define suse_insert_debug_package ERROR %{suse_insert_debug_package}
+
Name: icedtea-web
Version: 1.1
-Release: 0.<RELEASE2>
+Release: 0.<RELEASE4>
Summary: Java Web Start and plugin implementation
Group: Development/Languages/Java
License: GPLv2 ; - with the OpenJDK Assembly Exception and the GNU Classpath Exception
@@ -104,7 +106,9 @@
Summary: API documentation for %{name}
Group: Documentation/Other
+%if 0%{?suse_version} >= 1120
BuildArch: noarch
+%endif
%description javadoc
This package contains Javadocs for the %{name}.
++++++ icedtea-web-1.1-moonlight-symbol-clash.patch ++++++
--- /var/tmp/diff_new_pack.U8pxGT/_old 2011-07-01 23:10:41.000000000 +0200
+++ /var/tmp/diff_new_pack.U8pxGT/_new 2011-07-01 23:10:41.000000000 +0200
@@ -1,7 +1,7 @@
Index: icedtea-web-1.1/plugin/icedteanp/IcedTeaNPPlugin.cc
===================================================================
---- icedtea-web-1.1.orig/plugin/icedteanp/IcedTeaNPPlugin.cc 2011-06-08 21:42:40.000000000 +0200
-+++ icedtea-web-1.1/plugin/icedteanp/IcedTeaNPPlugin.cc 2011-06-10 10:39:41.012379696 +0200
+--- icedtea-web-1.1.orig/plugin/icedteanp/IcedTeaNPPlugin.cc 2011-06-08 21:42:40.350749654 +0200
++++ icedtea-web-1.1/plugin/icedteanp/IcedTeaNPPlugin.cc 2011-06-30 13:32:38.175450759 +0200
@@ -243,8 +243,8 @@
static GPid appletviewer_pid = -1;
static guint appletviewer_watch_id = -1;
@@ -31,3 +31,86 @@
{
command_line[cmd_num++] = g_strdup("-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y");
} else
+Index: icedtea-web-1.1/plugin/icedteanp/IcedTeaNPPlugin.h
+===================================================================
+--- icedtea-web-1.1.orig/plugin/icedteanp/IcedTeaNPPlugin.h 2011-06-08 21:42:40.000000000 +0200
++++ icedtea-web-1.1/plugin/icedteanp/IcedTeaNPPlugin.h 2011-06-30 13:34:25.401264860 +0200
+@@ -101,7 +101,7 @@
+ extern pthread_mutex_t pluginAsyncCallMutex;
+
+ // debug switch
+-extern int plugin_debug;
++extern int icedtea_plugin_debug;
+
+ // Browser function table.
+ extern NPNetscapeFuncs browser_functions;
+Index: icedtea-web-1.1/plugin/icedteanp/IcedTeaPluginUtils.cc
+===================================================================
+--- icedtea-web-1.1.orig/plugin/icedteanp/IcedTeaPluginUtils.cc 2011-06-08 21:42:40.000000000 +0200
++++ icedtea-web-1.1/plugin/icedteanp/IcedTeaPluginUtils.cc 2011-06-30 13:34:57.213396453 +0200
+@@ -404,7 +404,7 @@
+
+ wchar_t c;
+
+- if (plugin_debug) printf("Converted UTF-16LE string: ");
++ if (icedtea_plugin_debug) printf("Converted UTF-16LE string: ");
+
+ result_unicode_str->clear();
+ for (int i = begin; i < begin+length; i+=2)
+@@ -418,14 +418,14 @@
+ (c >= 'A' && c <= 'Z') ||
+ (c >= '0' && c <= '9'))
+ {
+- if (plugin_debug) printf("%c", c);
++ if (icedtea_plugin_debug) printf("%c", c);
+ }
+
+ result_unicode_str->push_back(c);
+ }
+
+ // not routing via debug print macros due to wide-string issues
+- if (plugin_debug) printf(". Length=%d\n", result_unicode_str->length());
++ if (icedtea_plugin_debug) printf(". Length=%d\n", result_unicode_str->length());
+ }
+
+ /*
+@@ -439,7 +439,7 @@
+ {
+
+ // This is a CPU intensive function. Run only if debugging
+- if (!plugin_debug)
++ if (!icedtea_plugin_debug)
+ return;
+
+ std::string* str = new std::string();
+@@ -619,7 +619,7 @@
+ IcedTeaPluginUtilities::printStringPtrVector(const char* prefix, std::vector<std::string*>* str_ptr_vector)
+ {
+ // This is a CPU intensive function. Run only if debugging
+- if (!plugin_debug)
++ if (!icedtea_plugin_debug)
+ return;
+
+ std::string* str = new std::string();
+@@ -643,7 +643,7 @@
+ IcedTeaPluginUtilities::printNPVariant(NPVariant variant)
+ {
+ // This is a CPU intensive function. Run only if debugging
+- if (!plugin_debug)
++ if (!icedtea_plugin_debug)
+ return;
+
+ if (NPVARIANT_IS_VOID(variant))
+Index: icedtea-web-1.1/plugin/icedteanp/IcedTeaPluginUtils.h
+===================================================================
+--- icedtea-web-1.1.orig/plugin/icedteanp/IcedTeaPluginUtils.h 2011-06-08 21:42:40.000000000 +0200
++++ icedtea-web-1.1/plugin/icedteanp/IcedTeaPluginUtils.h 2011-06-30 13:35:56.290497900 +0200
+@@ -69,7 +69,7 @@
+ #define PLUGIN_DEBUG(...) \
+ do \
+ { \
+- if (plugin_debug) \
++ if (icedtea_plugin_debug) \
+ { \
+ fprintf (stderr, "ITNPP Thread# %ld: ", pthread_self()); \
+ fprintf (stderr, __VA_ARGS__); \
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
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 icedtea-web for openSUSE:11.3
checked in at Fri Jul 1 23:10:02 CEST 2011.
--------
--- old-versions/11.3/UPDATES/all/icedtea-web/icedtea-web.changes 2011-06-10 11:01:59.000000000 +0200
+++ 11.3/icedtea-web/icedtea-web.changes 2011-07-01 23:06:00.574314000 +0200
@@ -1,0 +2,6 @@
+Thu Jun 30 11:37:13 UTC 2011 - mvyskocil(a)suse.cz
+
+- fix bnc#702825 - IcedTeaPlugin.so gives undefined symbol
+ * fix the icedtea-web-1.1-moonlight-symbol-clash.patch
+
+-------------------------------------------------------------------
calling whatdependson for 11.3-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ icedtea-web.spec ++++++
--- /var/tmp/diff_new_pack.DZNIVc/_old 2011-07-01 23:09:37.000000000 +0200
+++ /var/tmp/diff_new_pack.DZNIVc/_new 2011-07-01 23:09:37.000000000 +0200
@@ -48,9 +48,11 @@
%define pluginpath %{_libdir}
%define pluginname IcedTeaPlugin.so
+%define suse_insert_debug_package ERROR %{suse_insert_debug_package}
+
Name: icedtea-web
Version: 1.1
-Release: 0.<RELEASE2>
+Release: 0.<RELEASE4>
Summary: Java Web Start and plugin implementation
Group: Development/Languages/Java
License: GPLv2 ; - with the OpenJDK Assembly Exception and the GNU Classpath Exception
@@ -104,7 +106,9 @@
Summary: API documentation for %{name}
Group: Documentation/Other
+%if 0%{?suse_version} >= 1120
BuildArch: noarch
+%endif
%description javadoc
This package contains Javadocs for the %{name}.
++++++ icedtea-web-1.1-moonlight-symbol-clash.patch ++++++
--- /var/tmp/diff_new_pack.DZNIVc/_old 2011-07-01 23:09:37.000000000 +0200
+++ /var/tmp/diff_new_pack.DZNIVc/_new 2011-07-01 23:09:37.000000000 +0200
@@ -1,7 +1,7 @@
Index: icedtea-web-1.1/plugin/icedteanp/IcedTeaNPPlugin.cc
===================================================================
---- icedtea-web-1.1.orig/plugin/icedteanp/IcedTeaNPPlugin.cc 2011-06-08 21:42:40.000000000 +0200
-+++ icedtea-web-1.1/plugin/icedteanp/IcedTeaNPPlugin.cc 2011-06-10 10:39:41.012379696 +0200
+--- icedtea-web-1.1.orig/plugin/icedteanp/IcedTeaNPPlugin.cc 2011-06-08 21:42:40.350749654 +0200
++++ icedtea-web-1.1/plugin/icedteanp/IcedTeaNPPlugin.cc 2011-06-30 13:32:38.175450759 +0200
@@ -243,8 +243,8 @@
static GPid appletviewer_pid = -1;
static guint appletviewer_watch_id = -1;
@@ -31,3 +31,86 @@
{
command_line[cmd_num++] = g_strdup("-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y");
} else
+Index: icedtea-web-1.1/plugin/icedteanp/IcedTeaNPPlugin.h
+===================================================================
+--- icedtea-web-1.1.orig/plugin/icedteanp/IcedTeaNPPlugin.h 2011-06-08 21:42:40.000000000 +0200
++++ icedtea-web-1.1/plugin/icedteanp/IcedTeaNPPlugin.h 2011-06-30 13:34:25.401264860 +0200
+@@ -101,7 +101,7 @@
+ extern pthread_mutex_t pluginAsyncCallMutex;
+
+ // debug switch
+-extern int plugin_debug;
++extern int icedtea_plugin_debug;
+
+ // Browser function table.
+ extern NPNetscapeFuncs browser_functions;
+Index: icedtea-web-1.1/plugin/icedteanp/IcedTeaPluginUtils.cc
+===================================================================
+--- icedtea-web-1.1.orig/plugin/icedteanp/IcedTeaPluginUtils.cc 2011-06-08 21:42:40.000000000 +0200
++++ icedtea-web-1.1/plugin/icedteanp/IcedTeaPluginUtils.cc 2011-06-30 13:34:57.213396453 +0200
+@@ -404,7 +404,7 @@
+
+ wchar_t c;
+
+- if (plugin_debug) printf("Converted UTF-16LE string: ");
++ if (icedtea_plugin_debug) printf("Converted UTF-16LE string: ");
+
+ result_unicode_str->clear();
+ for (int i = begin; i < begin+length; i+=2)
+@@ -418,14 +418,14 @@
+ (c >= 'A' && c <= 'Z') ||
+ (c >= '0' && c <= '9'))
+ {
+- if (plugin_debug) printf("%c", c);
++ if (icedtea_plugin_debug) printf("%c", c);
+ }
+
+ result_unicode_str->push_back(c);
+ }
+
+ // not routing via debug print macros due to wide-string issues
+- if (plugin_debug) printf(". Length=%d\n", result_unicode_str->length());
++ if (icedtea_plugin_debug) printf(". Length=%d\n", result_unicode_str->length());
+ }
+
+ /*
+@@ -439,7 +439,7 @@
+ {
+
+ // This is a CPU intensive function. Run only if debugging
+- if (!plugin_debug)
++ if (!icedtea_plugin_debug)
+ return;
+
+ std::string* str = new std::string();
+@@ -619,7 +619,7 @@
+ IcedTeaPluginUtilities::printStringPtrVector(const char* prefix, std::vector<std::string*>* str_ptr_vector)
+ {
+ // This is a CPU intensive function. Run only if debugging
+- if (!plugin_debug)
++ if (!icedtea_plugin_debug)
+ return;
+
+ std::string* str = new std::string();
+@@ -643,7 +643,7 @@
+ IcedTeaPluginUtilities::printNPVariant(NPVariant variant)
+ {
+ // This is a CPU intensive function. Run only if debugging
+- if (!plugin_debug)
++ if (!icedtea_plugin_debug)
+ return;
+
+ if (NPVARIANT_IS_VOID(variant))
+Index: icedtea-web-1.1/plugin/icedteanp/IcedTeaPluginUtils.h
+===================================================================
+--- icedtea-web-1.1.orig/plugin/icedteanp/IcedTeaPluginUtils.h 2011-06-08 21:42:40.000000000 +0200
++++ icedtea-web-1.1/plugin/icedteanp/IcedTeaPluginUtils.h 2011-06-30 13:35:56.290497900 +0200
+@@ -69,7 +69,7 @@
+ #define PLUGIN_DEBUG(...) \
+ do \
+ { \
+- if (plugin_debug) \
++ if (icedtea_plugin_debug) \
+ { \
+ fprintf (stderr, "ITNPP Thread# %ld: ", pthread_self()); \
+ fprintf (stderr, __VA_ARGS__); \
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
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 nfs-utils for openSUSE:11.4
checked in at Fri Jul 1 23:07:02 CEST 2011.
--------
--- old-versions/11.4/all/nfs-utils/nfs-utils.changes 2011-02-17 00:58:58.000000000 +0100
+++ 11.4/nfs-utils/nfs-utils.changes 2011-06-23 08:55:22.000000000 +0200
@@ -1,0 +2,12 @@
+Thu Jun 23 06:46:34 UTC 2011 - nfbrown(a)novell.com
+
+- rpc.mountd-segfault-fix; fix possible segfault caused
+ by "showmount -e" usage. (bnc#693189)
+- addmntent.fix - error check writes to /etc/mtab and
+ cope accordingly. (bnc#689799)
+- mount-catch-signals - don't abort on SIGXSFZ or other
+ signals while mtab is locked (bnc#689799)
+- mountd-auth-fix - fix bug that could give away incorrect
+ access to NFS exported filesystems. (bnc#701702)
+
+-------------------------------------------------------------------
Package does not exist at destination yet. Using Fallback old-versions/11.4/all/nfs-utils
Destination is old-versions/11.4/UPDATES/all/nfs-utils
calling whatdependson for 11.4-i586
New:
----
addmntent.fix
mount-catch-signals
mountd-auth-fix
rpc.mountd-segfault-fix
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nfs-utils.spec ++++++
--- /var/tmp/diff_new_pack.l1GJQw/_old 2011-07-01 23:06:32.000000000 +0200
+++ /var/tmp/diff_new_pack.l1GJQw/_new 2011-07-01 23:06:32.000000000 +0200
@@ -27,7 +27,7 @@
Url: http://nfs.sourceforge.net
Summary: Support Utilities for Kernel nfsd
Version: 1.2.3
-Release: 11.<RELEASE3>
+Release: 11.<RELEASE16>
Group: Productivity/Networking/NFS
License: GPLv2+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -54,6 +54,10 @@
Patch3: nfs-utils-allow-port-number-sharing
Patch4: nfs-utils-improve-v4-umount
Patch5: nfs-utils-fix-remount
+Patch6: addmntent.fix
+Patch7: mount-catch-signals
+Patch8: mountd-auth-fix
+Patch9: rpc.mountd-segfault-fix
Suggests: python-base
%description
@@ -137,6 +141,10 @@
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
cp %{S:6} .
%build
++++++ addmntent.fix ++++++
>From a47739bf3b89432e112d1d2ed9bbdaf1e09d450a Mon Sep 17 00:00:00 2001
From: Neil Brown <neilb(a)suse.de>
Date: Tue, 17 May 2011 14:36:21 +1000
Subject: [PATCH] Remove risk of nfs_addmntent corrupting mtab
nfs_addmntent is used to append directly to /etc/mtab.
If the write partially fail, e.g. due to RLIMIT_FSIZE,
truncate back to original size and return an error.
See also https://bugzilla.redhat.com/show_bug.cgi?id=697975
(CVE-2011-1749) CVE-2011-1749 nfs-utils: mount.nfs fails to anticipate RLIMIT_FSIZE
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
support/nfs/nfs_mntent.c | 9 +++++++++
1 file changed, 9 insertions(+)
--- nfs-utils-1.2.1.orig/support/nfs/nfs_mntent.c
+++ nfs-utils-1.2.1/support/nfs/nfs_mntent.c
@@ -12,6 +12,7 @@
#include <string.h> /* for index */
#include <ctype.h> /* for isdigit */
#include <sys/stat.h> /* for umask */
+#include <unistd.h> /* for ftruncate */
#include "nfs_mntent.h"
#include "nls.h"
@@ -127,9 +128,11 @@ int
nfs_addmntent (mntFILE *mfp, struct mntent *mnt) {
char *m1, *m2, *m3, *m4;
int res;
+ off_t length;
if (fseek (mfp->mntent_fp, 0, SEEK_END))
return 1; /* failure */
+ length = ftell(mfp->mntent_fp);
m1 = mangle(mnt->mnt_fsname);
m2 = mangle(mnt->mnt_dir);
@@ -143,6 +146,12 @@ nfs_addmntent (mntFILE *mfp, struct mnte
free(m2);
free(m3);
free(m4);
+ if (res >= 0)
+ res = fflush(mfp->mntent_fp);
+ if (res < 0)
+ /* Avoid leaving a corrupt mtab file */
+ ftruncate(fileno(mfp->mntent_fp), length);
+
return (res < 0) ? 1 : 0;
}
++++++ mount-catch-signals ++++++
Subject: [PATCH] mount: improve signal management when locking mtab.
References: bnc#689799
As mount.nfs can run setuid it must be careful about how the user can
interact with in. In particular it needs to ensure it does not
respond badly to any signals that the user might be able to generate.
This is particularly an issue while updating /etc/mtab (when that is
not linked to /proc/mounts). If the user can generate a signal which
kills mount.nfs while /etc/mtab is locked, then it will leave the file
locked, and could possibly corrupt mtab (particularly if 'ulimit 1'
was previously issued).
Currently lock_mtab does set some handlers for signals, but not
enough. It arranges for every signal up to (but not including)
SIGCHLD to cause mount.nfs to unlock mdadm promptly exit ... even if
the default behaviour would be to ignore the signal. SIGALRM is
handled specially, and signals after SIGCHLD are left with their
default behaviour. This includes for example SIGXFSZ which can be
generated by the user running "ulimit 1".
So: change this so that some signals are left unchanged, SIGALRM is
handled as required, and all signals that the user can generate are
explicitly ignored.
The remainder still cause mount.nfs to print a message, unlock mtab, and exit.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
utils/mount/fstab.c | 37 ++++++++++++++++++++++++++++++++-----
1 file changed, 32 insertions(+), 5 deletions(-)
--- nfs-utils-1.2.1.orig/utils/mount/fstab.c
+++ nfs-utils-1.2.1/utils/mount/fstab.c
@@ -331,16 +331,43 @@ lock_mtab (void) {
int sig = 0;
struct sigaction sa;
- sa.sa_handler = handler;
sa.sa_flags = 0;
sigfillset (&sa.sa_mask);
- while (sigismember (&sa.sa_mask, ++sig) != -1
- && sig != SIGCHLD) {
- if (sig == SIGALRM)
+ while (sigismember (&sa.sa_mask, ++sig) != -1) {
+ switch(sig) {
+ case SIGCHLD:
+ case SIGKILL:
+ case SIGCONT:
+ case SIGSTOP:
+ /* These cannot be caught, or should not,
+ * so don't even try.
+ */
+ continue;
+ case SIGALRM:
sa.sa_handler = setlkw_timeout;
- else
+ break;
+ case SIGHUP:
+ case SIGINT:
+ case SIGQUIT:
+ case SIGWINCH:
+ case SIGTSTP:
+ case SIGTTIN:
+ case SIGTTOU:
+ case SIGPIPE:
+ case SIGXFSZ:
+ case SIGXCPU:
+ /* non-priv user can cause these to be
+ * generated, so ignore them.
+ */
+ sa.sa_handler = SIG_IGN;
+ break;
+ default:
+ /* The rest should not be possible, so just
+ * print a message and unlock mtab.
+ */
sa.sa_handler = handler;
+ }
sigaction (sig, &sa, (struct sigaction *) 0);
}
signals_have_been_setup = 1;
++++++ mountd-auth-fix ++++++
>From b50ad13298b3e9519a9bdecb8c146c9ecf39cef8 Mon Sep 17 00:00:00 2001
From: Jeff Layton <jlayton(a)redhat.com>
Date: Wed, 22 Jun 2011 14:51:38 -0400
Subject: [PATCH] nfs: fix host_reliable_addrinfo
References: bnc#701702
According to Neil Brown:
The point of the word 'reliable' is to check that the name we get
really does belong to the host in question - ie that both the
forward and reverse maps agree.
But the new code doesn't do that check at all. Rather it simply
maps the address to a name, then discards the address and maps the
name back to a list of addresses and uses that list of addresses as
"where the request came from" for permission checking.
This bug is exploitable via the following scenario and could allow an
attacker access to data that they shouldn't be able to access.
Suppose you export a filesystem to some subnet or FQDN and also to a
wildcard or netgroup, and I know the details of this (maybe
showmount -e tells me) Suppose further that I can get IP packets to
your server..
Then I create a reverse mapping for my ipaddress to a domain that I
own, say "black.hat.org", and a forward mapping from that domain to
my IP address, and one of your IP addresses.
Then I try to mount your filesystem. The IP address gets correctly
mapped to "black.hat.org" and then mapped to both my IP address and
your IP address.
Then you search through all of your exports and find that one of the
addresses: yours - is allowed to access the filesystem.
So you create an export based on the addrinfo you have which allows
my IP address the same access as your IP address.
Fix this by instead using the forward lookup of the hostname just to
verify that the original address is in the list. Then do a numeric
lookup using the address and stick the hostname in the ai_canonname.
Reviewed-by: NeilBrown <neilb(a)suse.de>
Signed-off-by: Jeff Layton <jlayton(a)redhat.com>
Signed-off-by: Steve Dickson <steved(a)redhat.com>
---
support/export/hostname.c | 36 ++++++++++++++++++++++++++++++------
1 file changed, 30 insertions(+), 6 deletions(-)
--- nfs-utils-1.2.3.orig/support/export/hostname.c
+++ nfs-utils-1.2.3/support/export/hostname.c
@@ -262,17 +262,19 @@ host_canonname(const struct sockaddr *sa
* @sap: pointer to socket address to look up
*
* Reverse and forward lookups are performed to ensure the address has
- * proper forward and reverse mappings.
+ * matching forward and reverse mappings.
*
- * Returns address info structure with ai_canonname filled in, or NULL
- * if no information is available for @sap. Caller must free the returned
- * structure with freeaddrinfo(3).
+ * Returns addrinfo structure with just the provided address with
+ * ai_canonname filled in. If there is a problem with resolution or
+ * the resolved records don't match up properly then it returns NULL
+ *
+ * Caller must free the returned structure with freeaddrinfo(3).
*/
__attribute_malloc__
struct addrinfo *
host_reliable_addrinfo(const struct sockaddr *sap)
{
- struct addrinfo *ai;
+ struct addrinfo *ai, *a;
char *hostname;
hostname = host_canonname(sap);
@@ -280,9 +282,31 @@ host_reliable_addrinfo(const struct sock
return NULL;
ai = host_addrinfo(hostname);
+ if (!ai)
+ goto out_free_hostname;
- free(hostname);
+ /* make sure there's a matching address in the list */
+ for (a = ai; a; a = a->ai_next)
+ if (nfs_compare_sockaddr(a->ai_addr, sap))
+ break;
+
+ freeaddrinfo(ai);
+ if (!a)
+ goto out_free_hostname;
+
+ /* get addrinfo with just the original address */
+ ai = host_numeric_addrinfo(sap);
+ if (!ai)
+ goto out_free_hostname;
+
+ /* and populate its ai_canonname field */
+ free(ai->ai_canonname);
+ ai->ai_canonname = hostname;
return ai;
+
+out_free_hostname:
+ free(hostname);
+ return NULL;
}
/**
++++++ rpc.mountd-segfault-fix ++++++
>From 730f6986f86873513fa021a450eb55ccd0f2fbff Mon Sep 17 00:00:00 2001
From: Steve Dickson <steved(a)redhat.com>
Date: Wed, 26 Jan 2011 07:49:19 -0500
Subject: [PATCH] Fixed segfault in rpc.mountd
A unallocated piece of memory, instead of a NULL point, was being
used to initialize a ->next point in the mount link list which
caused a segfault after a few remote accesses via the showmount
command.
Signed-off-by: Steve Dickson <steved(a)redhat.com>
---
utils/mountd/rmtab.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/utils/mountd/rmtab.c b/utils/mountd/rmtab.c
index d339296..527377f 100644
--- a/utils/mountd/rmtab.c
+++ b/utils/mountd/rmtab.c
@@ -205,6 +205,7 @@ mountlist_list(void)
}
if (stb.st_mtime != last_mtime) {
mountlist_freeall(mlist);
+ mlist = NULL;
last_mtime = stb.st_mtime;
setrmtabent("r");
--
1.7.3.4
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
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 mariadb for openSUSE:11.3
checked in at Fri Jul 1 23:04:18 CEST 2011.
--------
--- old-versions/11.3/all/mariadb/mariadb.changes 2010-05-26 11:54:09.000000000 +0200
+++ 11.3/mariadb/mariadb.changes 2011-07-01 11:24:00.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Jun 30 16:14:37 CEST 2011 - mhrusecky(a)suse.cz
+
+- updated to MariaDB 5.1.55
+ - contains important security fixes (bnc#676973)
+ - changelog:
+ http://kb.askmonty.org/en/changelogs
+
+-------------------------------------------------------------------
Package does not exist at destination yet. Using Fallback old-versions/11.3/all/mariadb
Destination is old-versions/11.3/UPDATES/all/mariadb
calling whatdependson for 11.3-i586
Old:
----
abi_test.patch
libmysql-no-pkglibdir.patch
mariadb-5.1.44b.tar.bz2
mysql-5.1.31-shebang.patch
mysql-5.1.33-safe-process-in-bin.patch
mysql-5.1.33-scripts-paths.patch
mysql-5.1.33-ssl-lib64-macro.patch
mysql-5.1.35-test-utf8.patch
mysql-5.1.35-test-variables-big.patch
mysql-5.1.36-bmove512.patch
mysql-5.1.36-hotcopy.patch
mysql-5.1.42-myslq-test.patch
mysql-cnf.patch
mysql-enable-plugins.patch
mysql-group.patch
mysql-install_db-quiet.patch
mysql-logrotate.patch
mysql-multi-configuration.patch
mysql-plugins-avoid-version.patch
mysql_config.patch
mysql_upgrade-exit-status.patch
mysqld_multi.patch
New:
----
mariadb-5.1.50-install_db-quiet.patch
mariadb-5.1.50-strncat-overflow.patch
mariadb-5.1.50-upgrade-exit-status.patch
mariadb-5.1.55-cnf.patch
mariadb-5.1.55-compilation-fix.patch
mariadb-5.1.55-libmysql-no-pkglibdir.patch
mariadb-5.1.55-plugins-avoid-version.patch
mariadb-5.1.55-utf8-test-results.patch
mariadb-5.1.55.tar.bz2
mysql-community-server-5.1.31-shebang.patch
mysql-community-server-5.1.33-scripts-paths.patch
mysql-community-server-5.1.33-ssl-lib64-macro.patch
mysql-community-server-5.1.36-bmove512.patch
mysql-community-server-5.1.36-hotcopy.patch
mysql-community-server-5.1.45-group.patch
mysql-community-server-5.1.45-multi-configuration.patch
mysql-community-server-5.1.45-safe-process-in-bin.patch
mysql-community-server-5.1.46-logrotate.patch
mysql-community-server-5.1.51-myslq-test.patch
mysql-community-server-5.1.51-mysql_config.patch
mysql-community-server-5.1.51-mysqld_multi-features.patch
mysql-community-server-5.1.53-ssl-compilation-fix.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mariadb.spec ++++++
--- /var/tmp/diff_new_pack.tRP58Q/_old 2011-07-01 23:03:56.000000000 +0200
+++ /var/tmp/diff_new_pack.tRP58Q/_new 2011-07-01 23:03:56.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package mariadb (Version 5.1.44)
+# spec file for package mariadb
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
# Few definitions which will alter build
%define prefered 0
%define cluster 0
-%define srv_vers 5.1.44
+%define srv_vers 5.1.55
%if %{?rel:0}%{!?rel:1}
%define rel 1
@@ -31,63 +31,40 @@
Name: mariadb
Summary: A True Multiuser, Multithreaded SQL Database Server
-Version: 5.1.44
-Release: 2
+Version: 5.1.55
+Release: 0.<RELEASE2>
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
Group: Productivity/Databases/Servers
Url: http://www.mysql.com
# http://dev.mysql.com/get/Downloads/MySQL-5.1/%{name}-%{version}.tar.gz/from…
-Source: mariadb-%{version}b.tar.bz2
+Source: mariadb-%{version}.tar.bz2
Source2: baselibs.conf
Source3: README.debug
Source4: suse-test-run
Source5: mysql.SuSEfirewall2
Source7: rc.mysql-multi
Source8: README.SuSE
-# Polishing default config file
-Patch2: mysql-cnf.patch
-Patch3: mysql-multi-configuration.patch
-# Adds option to set group to something else similarly to the user settings
-Patch4: mysql-group.patch
-# Warning about initscript in mysql_install_db disabled, since the SUSE RPM comes with an init script installed
-Patch5: mysql-install_db-quiet.patch
-# Checks flush-logs exit status in support-files/mysql-log-rotate.sh
-Patch7: mysql-logrotate.patch
-# Adds reload funcionality to mysqld_multi.sh perl script and adds --datadir support
-Patch8: mysqld_multi.patch
-# Disables failure on one test during update and improves error message during update a little bit
-Patch13: mysql_upgrade-exit-status.patch
-# Changes pkglib_LIBRARIES into lib_LIBRARIES in libmysql
-Patch18: libmysql-no-pkglibdir.patch
-# Adds option -avoid-version to LDFLAGS for plugins blackhole, archive and example
-Patch19: mysql-plugins-avoid-version.patch
-# This patch loads plugins by default if there is no settings regarding plugins.
-Patch23: mysql-enable-plugins.patch
-# PATCH-FIX-UPSTREAM mysql-5.1.31-shebang.patch [] mhrusecky(a)suse.cz -- adds mising shebangs
-Patch25: mysql-5.1.31-shebang.patch
-# PATCH-FIX-UPSTREAM mysql-5.1.35-test-variables-big.patch [upstream bug #38811] -- different way to test whether server crashed
-# http://bugs.mysql.com/bug.php?id=38811
-Patch27: mysql-5.1.35-test-variables-big.patch
-# PATCH-FIX-SUSE mysql-5.1.32-myslq-test.patch mhrusecky(a)suse.cz -- installs tests into datadir not into prefix
-Patch28: mysql-5.1.42-myslq-test.patch
-# PATCH-FIX-UPSTREAM mysql-5.1.33-scripts-paths.patch [ upstream#45616 ] mhrusecky(a)suse.cz -- fixes build of scripts when compilation occurs somewhere else
-# http://bugs.mysql.com/bug.php?id=45616
-Patch29: mysql-5.1.33-scripts-paths.patch
-# PATCH-FIX-SUSE mysql-5.1.33-safe-process-in-bin.patch [] mhrusecky(a)suse.cz -- this will let us move one binary to /usr/bin instead of /usr/share/mysql-test/...
-Patch30: mysql-5.1.33-safe-process-in-bin.patch
-# PATCH-FIX-SUSE mysql-5.1.33-ssl-lib64-macro.patch [] mhrusecky(a)suse.cz -- search for ssl libraries also in lib64
-Patch31: mysql-5.1.33-ssl-lib64-macro.patch
-# PATCH-FIX-SUSE mysql-5.1.35-test-utf8.patch [] mhrusecky(a)suse.cz -- we use utf-8 by default which produces different output with few tests
-Patch35: mysql-5.1.35-test-utf8.patch
-# PATCH-FIX-UPSTREAM mysql-5.1.36-bmove512.patch [ upstream#19975 ] mhrusecky(a)suse.cz -- using standard memcpy instead of bmove512 as it should be beeter
-# http://bugs.mysql.com/bug.php?id=19975
-Patch37: mysql-5.1.36-bmove512.patch
-# PATCH-FIX-UPSTREAM mysql-5.1.36-hotcopy.patch [ upstream#43594, bnc#525325 ] mhrusecky(a)suse.cz -- hotcopy ignores log tables
-# http://bugs.mysql.com/bug.php?id=43594
-Patch38: mysql-5.1.36-hotcopy.patch
-# PATCH-FIX-UPSTREAM mysql_config.patch [ upstream#39175, bnc#420313 ] mhrusecky(a)suse.cz -- Fix linking options.
-Patch39: mysql_config.patch
-Patch45: abi_test.patch
+Patch2: mysql-community-server-5.1.31-shebang.patch
+Patch3: mysql-community-server-5.1.33-scripts-paths.patch
+Patch4: mysql-community-server-5.1.33-ssl-lib64-macro.patch
+Patch5: mysql-community-server-5.1.36-bmove512.patch
+Patch6: mysql-community-server-5.1.36-hotcopy.patch
+Patch7: mariadb-5.1.55-cnf.patch
+Patch8: mysql-community-server-5.1.45-group.patch
+Patch9: mysql-community-server-5.1.45-multi-configuration.patch
+Patch10: mysql-community-server-5.1.45-safe-process-in-bin.patch
+Patch11: mysql-community-server-5.1.46-logrotate.patch
+Patch12: mariadb-5.1.50-strncat-overflow.patch
+Patch13: mariadb-5.1.50-install_db-quiet.patch
+Patch14: mariadb-5.1.55-libmysql-no-pkglibdir.patch
+Patch15: mysql-community-server-5.1.51-myslq-test.patch
+Patch16: mysql-community-server-5.1.51-mysql_config.patch
+Patch17: mysql-community-server-5.1.51-mysqld_multi-features.patch
+Patch18: mariadb-5.1.55-plugins-avoid-version.patch
+Patch19: mariadb-5.1.50-upgrade-exit-status.patch
+Patch20: mariadb-5.1.55-utf8-test-results.patch
+Patch21: mariadb-5.1.55-compilation-fix.patch
+Patch22: mysql-community-server-5.1.53-ssl-compilation-fix.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version}
PreReq: pwdutils
@@ -413,30 +390,30 @@
%prep
#-------------------------------------------------------------------------------
-%setup -q -n mariadb-%{version}b
+%setup -q -n mariadb-%{version}
cp %_sourcedir/README.SuSE .
cp %_sourcedir/suse-test-run .
-%patch2
+%patch2 -p1
%patch3
%patch4
%patch5
+%patch6
%patch7
%patch8
+%patch9
+%patch10
+%patch11
+%patch12
%patch13
+%patch14
+%patch15
+%patch16
+%patch17
%patch18
%patch19
-%patch23
-%patch25 -p1
-%patch27
-%patch28
-%patch29
-%patch30
-%patch31
-%patch35
-%patch37
-%patch38
-%patch39
-%patch45 -p1
+%patch20
+%patch21
+%patch22
# remove unneeded manpages ('make install' basically installs everything under
# man/*)
rm -f man/mysqlman.1 # dummy fallback manpage
@@ -502,7 +479,7 @@
--with-atomic-ops=smp \
%endif
--with-ssl=/usr \
- --with-plugins=partition,csv,heap,myisam,ndbcluster,innobase \
+ --with-plugins=partition,csv,heap,myisam,ndbcluster,maria,myisammrg,innodb_plugin \
HOSTNAME="/bin/hostname -f" \
"$@"
# Add this for MyISAM RAID support:
@@ -582,7 +559,7 @@
done
popd >/dev/null
}
-filelist innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_install_db mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager resolve_stack_dump resolveip >mysql.files
+filelist maria_chk maria_ftdump maria_pack maria_dump_log maria_read_log innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_install_db mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager resolve_stack_dump resolveip >mysql.files
filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow >mysql-client.files
filelist mysql_config >libmysqlclient-devel.files
filelist mysqlslap >mysql-bench.files
@@ -612,8 +589,6 @@
install -m 644 "${DOCS[@]}" ${DOCDIR}
install -m 755 %_sourcedir/rc.mysql-multi %buildroot/etc/init.d/mysql
ln -sf ../../etc/init.d/mysql %buildroot/usr/sbin/rcmysql
-# this is used by the init script
-install -m 755 -d %buildroot/var/run/mysql
# SuSEfirewall service description
install -D -m 644 %_sourcedir/mysql.SuSEfirewall2 \
%buildroot/etc/sysconfig/SuSEfirewall2.d/services/mysql
@@ -815,7 +790,6 @@
/etc/init.d/mysql
/usr/sbin/rcmysql
/usr/share/mysql/
-%dir %attr(755,mysql,mysql)/var/run/mysql
%dir %{_libdir}/mysql
%{_libdir}/mysql/mysqld.sym
%config /etc/sysconfig/SuSEfirewall2.d/services/mysql
++++++ mariadb-5.1.50-install_db-quiet.patch ++++++
PATCH-P0-FEATURE-SUSE: Use better comments in install_db
We ship init script so we don't need to warn user to install one and we also
have a testsuite in separate packege.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: scripts/mysql_install_db.sh
===================================================================
--- scripts/mysql_install_db.sh.orig
+++ scripts/mysql_install_db.sh
@@ -456,9 +456,10 @@ fi
# the screen.
if test "$cross_bootstrap" -eq 0 && test -z "$srcdir"
then
- s_echo
- s_echo "To start mysqld at boot time you have to copy"
- s_echo "support-files/mysql.server to the right place for your system"
+# Output disabled, since the SUSE RPM comes with an init script installed
+# s_echo
+# s_echo "To start mysqld at boot time you have to copy"
+# s_echo "support-files/mysql.server to the right place for your system"
echo
echo "PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !"
@@ -480,10 +481,10 @@ then
then
echo
echo "You can start the MariaDB daemon with:"
- echo "cd $basedir ; $bindir/mysqld_safe &"
+ echo "rcmysql start"
echo
- echo "You can test the MariaDB daemon with mysql-test-run.pl"
- echo "cd $basedir/mysql-test ; perl mysql-test-run.pl"
+ echo "You can test the MariaDB daemon with mariadb-test package"
+# echo "cd $basedir/mysql-test ; perl mysql-test-run.pl"
fi
echo
++++++ mariadb-5.1.50-strncat-overflow.patch ++++++
PATCH-P0-FIX-UPSTREAM: Fix possible buffer overflow
strncat function is used with n not depending on current length of string we
are appending to. Result might be buffer overflow.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: mysys/mf_loadpath.c
===================================================================
--- mysys/mf_loadpath.c.orig
+++ mysys/mf_loadpath.c
@@ -45,7 +45,7 @@ char * my_load_path(char * to, const cha
if (! my_getwd(buff,(uint) (FN_REFLEN-strlen(path)+is_cur),MYF(0)))
{
size_t length= strlen(buff);
- (void) strmake(buff + length, path+is_cur, FN_REFLEN - length);
+ (void) strmake(buff + length, path+is_cur, FN_REFLEN - strlen(buff) - length);
}
else
from= path; /* Return org file name */
++++++ mariadb-5.1.50-upgrade-exit-status.patch ++++++
PATCH-P0-FEATURE-SUSE: Returning 0 when already upgraded.
Returning non-zero exit status in this case is not nice to scripts using
mysql_upgrade (eg. our init script)
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: client/mysql_upgrade.c
===================================================================
--- client/mysql_upgrade.c.orig
+++ client/mysql_upgrade.c
@@ -878,7 +878,9 @@ int main(int argc, char **argv)
printf("This installation of MySQL is already upgraded to %s, "
"use --force if you still need to run mysql_upgrade\n",
MYSQL_SERVER_VERSION);
- die(NULL);
+ free_used_memory();
+ my_end(MY_CHECK_ERROR);
+ exit(0);
}
/*
Index: mysql-test/t/mysql_upgrade.test
===================================================================
--- mysql-test/t/mysql_upgrade.test.orig
+++ mysql-test/t/mysql_upgrade.test
@@ -41,7 +41,7 @@ file_exists $MYSQLD_DATADIR/mysql_upgrad
--echo Run it again - should say already completed
--replace_result $MYSQL_SERVER_VERSION VERSION
---error 1
+--error 0
--exec $MYSQL_UPGRADE 2>&1
# It should have created a file in the MySQL Servers datadir
++++++ mariadb-5.1.55-cnf.patch ++++++
PATCH-P0-FIX-SUSE: Tweak default configuration
This patch adds log file locations and socket location as they should be in
SuSE to the default configuration files.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: support-files/my-huge.cnf.sh
===================================================================
--- support-files/my-huge.cnf.sh.orig
+++ support-files/my-huge.cnf.sh
@@ -132,7 +132,15 @@ o#innodb_log_group_home_dir = @localstat
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error=/var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!include_dir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
Index: support-files/my-large.cnf.sh
===================================================================
--- support-files/my-large.cnf.sh.orig
+++ support-files/my-large.cnf.sh
@@ -132,7 +132,15 @@ server-id = 1
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error=/var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!include_dir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
Index: support-files/my-medium.cnf.sh
===================================================================
--- support-files/my-medium.cnf.sh.orig
+++ support-files/my-medium.cnf.sh
@@ -28,6 +28,8 @@ socket = @MYSQL_UNIX_ADDR@
[mysqld]
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
+# Change following line if you want to store your database elsewhere
+datadir = /var/lib/mysql
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
@@ -130,7 +132,15 @@ server-id = 1
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error = /var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!include_dir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
Index: support-files/my-small.cnf.sh
===================================================================
--- support-files/my-small.cnf.sh.orig
+++ support-files/my-small.cnf.sh
@@ -65,7 +65,15 @@ server-id = 1
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+# The safe_mysqld script
+[safe_mysqld]
+log-error = /var/log/mysql/mysqld.log
+socket = @MYSQL_UNIX_ADDR@
+
+!include_dir /etc/mysql
+
[mysqldump]
+socket = @MYSQL_UNIX_ADDR@
quick
max_allowed_packet = 16M
++++++ mariadb-5.1.55-compilation-fix.patch ++++++
PATCH-P0-HACK-SUSE: Fixing few compilation problems
Mostly minor things. Mostly just to make compiler happy as it can't determine
that everything is ok. But few things might actually worth reporting as they
could be handled better (mostly the write calls).
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: client/readline.cc
===================================================================
--- client/readline.cc.orig
+++ client/readline.cc
@@ -45,7 +45,7 @@ LINE_BUFFER *batch_readline_init(ulong m
char *batch_readline(LINE_BUFFER *line_buff, bool *truncated)
{
char *pos;
- ulong out_length;
+ ulong out_length=0;
DBUG_ASSERT(truncated != NULL);
if (!(pos=intern_read_line(line_buff,&out_length, truncated)))
Index: storage/innodb_plugin/ut/ut0ut.c
===================================================================
--- storage/innodb_plugin/ut/ut0ut.c.orig
+++ storage/innodb_plugin/ut/ut0ut.c
@@ -553,7 +553,9 @@ ut_print_namel(
trx ? trx->mysql_thd : NULL,
table_id);
- fwrite(buf, 1, bufend - buf, f);
+ if(fwrite(buf, 1, bufend - buf, f) != (size_t)max(0,(bufend - buf))) {
+ fprintf(stderr, "fwrite failed in ut_print_namel!!!\n");
+ }
}
/**********************************************************************//**
@@ -574,7 +576,8 @@ ut_copy_file(
? (size_t) len
: sizeof buf;
size_t size = fread(buf, 1, maxs, src);
- fwrite(buf, 1, size, dest);
+ if(fwrite(buf, size, 1, dest)<size)
+ break;
len -= (long) size;
if (size < maxs) {
break;
Index: storage/ndb/src/common/util/ndb_init.c
===================================================================
--- storage/ndb/src/common/util/ndb_init.c.orig
+++ storage/ndb/src/common/util/ndb_init.c
@@ -31,7 +31,7 @@ ndb_init()
{
if (my_init()) {
const char* err = "my_init() failed - exit\n";
- write(2, err, strlen(err));
+ fprintf(stderr, err, strlen(err));
exit(1);
}
ndb_init_internal();
Index: sql/log.cc
===================================================================
--- sql/log.cc.orig
+++ sql/log.cc
@@ -1868,7 +1868,7 @@ static void setup_windows_event_source()
static int find_uniq_filename(char *name)
{
- long number;
+ long number=0;
uint i;
char buff[FN_REFLEN];
struct st_my_dir *dir_info;
Index: sql/filesort.cc
===================================================================
--- sql/filesort.cc.orig
+++ sql/filesort.cc
@@ -440,16 +440,20 @@ static void dbug_print_record(TABLE *tab
Field *field= *pfield;
if (field->is_null())
- fwrite("NULL", sizeof(char), 4, DBUG_FILE);
+ if(fwrite("NULL", sizeof(char), 4, DBUG_FILE) != sizeof(char) * 4)
+ break;
if (field->type() == MYSQL_TYPE_BIT)
(void) field->val_int_as_str(&tmp, 1);
else
field->val_str(&tmp);
- fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE);
+ if(fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE) !=
+ sizeof(char) * tmp.length())
+ break;
if (pfield[1])
- fwrite(", ", sizeof(char), 2, DBUG_FILE);
+ if(fwrite(", ", sizeof(char), 2, DBUG_FILE) != sizeof(char) * 2)
+ break;
}
fprintf(DBUG_FILE, ")");
if (print_rowid)
Index: sql/opt_range.cc
===================================================================
--- sql/opt_range.cc.orig
+++ sql/opt_range.cc
@@ -11368,7 +11368,8 @@ print_key(KEY_PART *key_part, const ucha
{
if (*key)
{
- fwrite("NULL",sizeof(char),4,DBUG_FILE);
+ if(fwrite("NULL",sizeof(char),4,DBUG_FILE)!=4*sizeof(char))
+ break;
continue;
}
key++; // Skip null byte
@@ -11379,7 +11380,8 @@ print_key(KEY_PART *key_part, const ucha
(void) field->val_int_as_str(&tmp, 1);
else
field->val_str(&tmp);
- fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE);
+ if(fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE)!=sizeof(char)*tmp.length())
+ break;
if (key+store_length < key_end)
fputc('/',DBUG_FILE);
}
Index: sql/sql_table.cc
===================================================================
--- sql/sql_table.cc.orig
+++ sql/sql_table.cc
@@ -6992,7 +6992,7 @@ view_err:
need_copy_table= ALTER_TABLE_DATA_CHANGED;
else
{
- enum_alter_table_change_level need_copy_table_res;
+ enum_alter_table_change_level need_copy_table_res = ALTER_TABLE_DATA_CHANGED;
/* Check how much the tables differ. */
if (compare_tables(table, alter_info,
create_info, order_num,
Index: storage/xtradb/ut/ut0ut.c
===================================================================
--- storage/xtradb/ut/ut0ut.c.orig
+++ storage/xtradb/ut/ut0ut.c
@@ -553,7 +553,9 @@ ut_print_namel(
trx ? trx->mysql_thd : NULL,
table_id);
- (void) fwrite(buf, 1, bufend - buf, f);
+ if(fwrite(buf, 1, bufend - buf, f) != (size_t)max(0,(bufend - buf))) {
+ fprintf(stderr, "fwrite failed in ut_print_namel!!!\n");
+ }
}
/**********************************************************************//**
@@ -574,7 +576,7 @@ ut_copy_file(
? (size_t) len
: sizeof buf;
size_t size = fread(buf, 1, maxs, src);
- (void) fwrite(buf, 1, size, dest);
+ size=fwrite(buf, 1, size, dest);
len -= (long) size;
if (size < maxs) {
break;
Index: storage/maria/ha_maria.cc
===================================================================
--- storage/maria/ha_maria.cc.orig
+++ storage/maria/ha_maria.cc
@@ -2792,7 +2792,7 @@ int ha_maria::create(const char *name, r
HA_CREATE_INFO *ha_create_info)
{
int error;
- uint create_flags= 0, record_count, i;
+ uint create_flags= 0, record_count=0, i;
char buff[FN_REFLEN];
MARIA_KEYDEF *keydef;
MARIA_COLUMNDEF *recinfo;
Index: storage/pbxt/src/discover_xt.cc
===================================================================
--- storage/pbxt/src/discover_xt.cc.orig
+++ storage/pbxt/src/discover_xt.cc
@@ -1337,8 +1337,8 @@ static bool mysql_create_table_no_lock(T
char path[FN_REFLEN];
uint path_length;
const char *alias;
- uint db_options, key_count;
- KEY *key_info_buffer;
+ uint db_options, key_count=0;
+ KEY *key_info_buffer=NULL;
handler *file;
bool error= TRUE;
DBUG_ENTER("mysql_create_table_no_lock");
Index: storage/pbxt/src/table_xt.cc
===================================================================
--- storage/pbxt/src/table_xt.cc.orig
+++ storage/pbxt/src/table_xt.cc
@@ -726,7 +726,7 @@ xtPublic void xt_check_tables(XTThreadPt
{
u_int edx;
XTTableEntryPtr te_ptr;
- volatile XTTableHPtr tab;
+ volatile XTTableHPtr tab=NULL;
char path[PATH_MAX];
enter_();
@@ -1132,7 +1132,7 @@ static int tab_new_handle(XTThreadPtr se
XTOpenFilePtr of_rec, of_ind;
XTTableEntryPtr te_ptr;
size_t tab_format_offset;
- size_t tab_head_size;
+ size_t tab_head_size=0;
enter_();
++++++ mariadb-5.1.55-libmysql-no-pkglibdir.patch ++++++
PATCH-P0-FIX-UPSTREAM: Use lib_LIBRARIES instead of pkglib_LIBRARIES
Make more sense and is more intuitive when compiling.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: libmysql/Makefile.shared
===================================================================
--- libmysql/Makefile.shared.orig
+++ libmysql/Makefile.shared
@@ -26,7 +26,7 @@ MYSQLBASEdir= $(prefix)
## We'll use CLIENT_EXTRA_LDFLAGS for threaded and non-threaded
## until someone complains that they need separate options.
LDADD = @CLIENT_EXTRA_LDFLAGS@ $(target)
-pkglib_LTLIBRARIES = $(target)
+lib_LTLIBRARIES = $(target)
noinst_PROGRAMS = conf_to_src
Index: libmysqld/Makefile.am
===================================================================
--- libmysqld/Makefile.am.orig
+++ libmysqld/Makefile.am
@@ -37,7 +37,7 @@ INCLUDES= -I$(top_builddir)/include -I$
@condition_dependent_plugin_includes@ \
@ndbcluster_includes@
-pkglib_LTLIBRARIES = libmysqld.la
+lib_LTLIBRARIES = libmysqld.la
SUBDIRS = . examples
libmysqld_sources= libmysqld.c lib_sql.cc emb_qcache.cc
libmysqlsources = errmsg.c get_password.c libmysql.c client.c pack.c \
++++++ mariadb-5.1.55-plugins-avoid-version.patch ++++++
PATCH-P0-FEATURE-SUSE: Avoid version for all plugins
Making all storage plugins unversioned.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: storage/blackhole/Makefile.am
===================================================================
--- storage/blackhole/Makefile.am.orig
+++ storage/blackhole/Makefile.am
@@ -34,7 +34,7 @@ noinst_HEADERS = ha_blackhole.h
EXTRA_LTLIBRARIES = libblackhole.la ha_blackhole.la
pkgplugin_LTLIBRARIES = @plugin_blackhole_shared_target@
-ha_blackhole_la_LDFLAGS=-module -rpath $(pkgplugindir)
+ha_blackhole_la_LDFLAGS=-module -avoid-version -rpath $(pkgplugindir)
ha_blackhole_la_CXXFLAGS=-shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_blackhole_la_SOURCES=ha_blackhole.cc
Index: storage/archive/Makefile.am
===================================================================
--- storage/archive/Makefile.am.orig
+++ storage/archive/Makefile.am
@@ -35,7 +35,7 @@ noinst_PROGRAMS = archive_test archive_r
EXTRA_LTLIBRARIES = libarchive.la ha_archive.la
pkgplugin_LTLIBRARIES = @plugin_archive_shared_target@
-ha_archive_la_LDFLAGS = -module -rpath $(pkgplugindir)
+ha_archive_la_LDFLAGS = -module -avoid-version -rpath $(pkgplugindir)
ha_archive_la_CXXFLAGS= -shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_archive_la_CFLAGS = -shared $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_archive_la_SOURCES = ha_archive.cc azio.c
Index: storage/example/Makefile.am
===================================================================
--- storage/example/Makefile.am.orig
+++ storage/example/Makefile.am
@@ -34,7 +34,7 @@ noinst_HEADERS = ha_example.h
EXTRA_LTLIBRARIES = libexample.la ha_example.la
pkgplugin_LTLIBRARIES = @plugin_example_shared_target@
-ha_example_la_LDFLAGS = -module -rpath $(pkgplugindir)
+ha_example_la_LDFLAGS = -module -avoid-version -rpath $(pkgplugindir)
ha_example_la_CXXFLAGS= -shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_example_la_SOURCES = ha_example.cc
Index: storage/federated/Makefile.am
===================================================================
--- storage/federated/Makefile.am.orig
+++ storage/federated/Makefile.am
@@ -32,7 +32,7 @@ noinst_HEADERS = ha_federated.h
EXTRA_LTLIBRARIES = libfederated.la libfederated_embedded.la ha_federated.la
pkgplugin_LTLIBRARIES = @plugin_federated_shared_target@
-ha_federated_la_LDFLAGS = -module -rpath $(pkgplugindir)
+ha_federated_la_LDFLAGS = -module -avoid-version -rpath $(pkgplugindir)
ha_federated_la_CXXFLAGS= -shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_federated_la_CFLAGS = -shared $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_federated_la_SOURCES = ha_federated.cc $(top_srcdir)/mysys/string.c
Index: storage/innodb_plugin/Makefile.am
===================================================================
--- storage/innodb_plugin/Makefile.am.orig
+++ storage/innodb_plugin/Makefile.am
@@ -330,7 +330,7 @@ libinnobase_la_CFLAGS= $(AM_CFLAGS)
EXTRA_LTLIBRARIES= libinnobase.la ha_innodb_plugin.la
pkgplugin_LTLIBRARIES= @plugin_innodb_plugin_shared_target@
-ha_innodb_plugin_la_LDFLAGS= -module -rpath $(pkgplugindir)
+ha_innodb_plugin_la_LDFLAGS= -module -avoid-version -rpath $(pkgplugindir)
ha_innodb_plugin_la_CXXFLAGS= -shared $(AM_CXXFLAGS) $(INNODB_DYNAMIC_CFLAGS)
ha_innodb_plugin_la_CFLAGS= -shared $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS)
ha_innodb_plugin_la_SOURCES= $(libinnobase_la_SOURCES)
Index: storage/federatedx/Makefile.am
===================================================================
--- storage/federatedx/Makefile.am.orig
+++ storage/federatedx/Makefile.am
@@ -19,7 +19,7 @@ noinst_HEADERS = ha_federatedx.h federat
EXTRA_LTLIBRARIES = libfederatedx.la libfederatedx_common.la libfederatedx_embedded.la ha_federatedx.la
pkgplugin_LTLIBRARIES = @plugin_federatedx_shared_target@
-ha_federatedx_la_LDFLAGS = -module -rpath $(pkgplugindir)
+ha_federatedx_la_LDFLAGS = -module -avoid-version -rpath $(pkgplugindir)
ha_federatedx_la_CXXFLAGS= -shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN
Index: storage/xtradb/Makefile.am
===================================================================
--- storage/xtradb/Makefile.am.orig
+++ storage/xtradb/Makefile.am
@@ -331,7 +331,7 @@ libxtradb_la_CFLAGS= $(AM_CFLAGS)
EXTRA_LTLIBRARIES= libxtradb.la ha_xtradb.la
pkgplugin_LTLIBRARIES= @plugin_xtradb_shared_target@
-ha_xtradb_la_LDFLAGS= -module -rpath $(pkgplugindir)
+ha_xtradb_la_LDFLAGS= -avoid-version -module -rpath $(pkgplugindir)
ha_xtradb_la_CXXFLAGS= -shared $(AM_CXXFLAGS) $(INNODB_DYNAMIC_CFLAGS)
ha_xtradb_la_CFLAGS= -shared $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS)
ha_xtradb_la_SOURCES= $(libxtradb_la_SOURCES)
++++++ mariadb-5.1.55-utf8-test-results.patch ++++++
PATCH-P0-FIX-SUSE: Fix test results confused by utf-8
We are using utf-8 as a default charset during the compilation and it has some
effect on the test results. Correct sollution would be to make these results
charset independent, but easiest one is obviously to modify them to reflect our
default settings.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: mysql-test/r/information_schema.result
===================================================================
--- mysql-test/r/information_schema.result.orig
+++ mysql-test/r/information_schema.result
@@ -9,7 +9,7 @@ create user mysqltest_3@localhost;
create user mysqltest_3;
select * from information_schema.SCHEMATA where schema_name > 'm';
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL mtr latin1 latin1_swedish_ci NULL
+NULL mtr utf8 utf8_unicode_ci NULL
NULL mysql latin1 latin1_swedish_ci NULL
NULL test latin1 latin1_swedish_ci NULL
select schema_name from information_schema.schemata;
Index: mysql-test/r/mysql_comments.result
===================================================================
--- mysql-test/r/mysql_comments.result.orig
+++ mysql-test/r/mysql_comments.result
@@ -13,23 +13,23 @@ drop trigger if exists t1_bi;
foofct("call 1")
call 1
Function sql_mode Create Function character_set_client collation_connection Database Collation
-foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n\n\n\nx latin1 latin1_swedish_ci latin1_swedish_ci
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n\n\n\nx utf8 utf8_unicode_ci latin1_swedish_ci
foofct("call 2")
call 2
Function sql_mode Create Function character_set_client collation_connection Database Collation
-foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nbegin\n \n \n \n\n \n\n \n return x;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nbegin\n \n \n \n\n \n\n \n return x;\nend utf8 utf8_unicode_ci latin1_swedish_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend utf8 utf8_unicode_ci latin1_swedish_ci
id data
foo 42
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n\n\n\n\n \n\n \n values ("foo", 42) latin1 latin1_swedish_ci latin1_swedish_ci
+foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n\n\n\n\n \n\n \n values ("foo", 42) utf8 utf8_unicode_ci latin1_swedish_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n \n declare b int;\n declare c float;\n\n \n \n\n \nend latin1 latin1_swedish_ci latin1_swedish_ci
+nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n \n declare b int;\n declare c float;\n\n \n \n\n \nend utf8 utf8_unicode_ci latin1_swedish_ci
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
-t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend utf8 utf8_unicode_ci latin1_swedish_ci
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
-t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n\n\n\n \n declare b int;\n declare c float;\n\n \n \n\n \n set NEW.data := 12;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n\n\n\n \n declare b int;\n declare c float;\n\n \n \n\n \n set NEW.data := 12;\nend utf8 utf8_unicode_ci latin1_swedish_ci
id data
trig 12
"Pass 2 : --enable-comments"
@@ -40,23 +40,23 @@ trig 12
foofct("call 1")
call 1
Function sql_mode Create Function character_set_client collation_connection Database Collation
-foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n-- comment 1a\n# comment 1b\n/* comment 1c */\nx # after body, on same line latin1 latin1_swedish_ci latin1_swedish_ci
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n-- comment 1a\n# comment 1b\n/* comment 1c */\nx # after body, on same line utf8 utf8_unicode_ci latin1_swedish_ci
foofct("call 2")
call 2
Function sql_mode Create Function character_set_client collation_connection Database Collation
-foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nbegin\n -- comment 1a\n # comment 1b\n /*\n comment 1c\n */\n\n -- empty line below\n\n -- empty line above\n return x;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nbegin\n -- comment 1a\n # comment 1b\n /*\n comment 1c\n */\n\n -- empty line below\n\n -- empty line above\n return x;\nend utf8 utf8_unicode_ci latin1_swedish_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend utf8 utf8_unicode_ci latin1_swedish_ci
id data
foo 42
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n## These comments are part of the procedure body, and should be kept.\n# Comment 2a\n-- Comment 2b\n/* Comment 2c */\n -- empty line below\n\n -- empty line above\n values ("foo", 42) # comment 3, still part of the body latin1 latin1_swedish_ci latin1_swedish_ci
+foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n## These comments are part of the procedure body, and should be kept.\n# Comment 2a\n-- Comment 2b\n/* Comment 2c */\n -- empty line below\n\n -- empty line above\n values ("foo", 42) # comment 3, still part of the body utf8 utf8_unicode_ci latin1_swedish_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\nend latin1 latin1_swedish_ci latin1_swedish_ci
+nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\nend utf8 utf8_unicode_ci latin1_swedish_ci
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
-t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend utf8 utf8_unicode_ci latin1_swedish_ci
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
-t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n# comment 1a\n-- comment 1b\n/*\n comment 1c\n*/\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\n set NEW.data := 12;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n# comment 1a\n-- comment 1b\n/*\n comment 1c\n*/\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\n set NEW.data := 12;\nend utf8 utf8_unicode_ci latin1_swedish_ci
id data
trig 12
End of 5.0 tests
Index: mysql-test/r/mysql_upgrade.result
===================================================================
--- mysql-test/r/mysql_upgrade.result.orig
+++ mysql-test/r/mysql_upgrade.result
@@ -182,8 +182,8 @@ Phase 3/3: Running 'mysql_fix_privilege_
OK
CALL testproc();
DROP PROCEDURE testproc;
-WARNING: NULL values of the 'character_set_client' column ('mysql.proc' table) have been updated with a default value (latin1). Please verify if necessary.
-WARNING: NULL values of the 'collation_connection' column ('mysql.proc' table) have been updated with a default value (latin1_swedish_ci). Please verify if necessary.
+WARNING: NULL values of the 'character_set_client' column ('mysql.proc' table) have been updated with a default value (utf8). Please verify if necessary.
+WARNING: NULL values of the 'collation_connection' column ('mysql.proc' table) have been updated with a default value (utf8_unicode_ci). Please verify if necessary.
WARNING: NULL values of the 'db_collation' column ('mysql.proc' table) have been updated with default values. Please verify if necessary.
#
# Bug #53613: mysql_upgrade incorrectly revokes
++++++ mariadb-5.1.44b.tar.bz2 -> mariadb-5.1.55.tar.bz2 ++++++
old-versions/11.3/all/mariadb/mariadb-5.1.44b.tar.bz2 11.3/mariadb/mariadb-5.1.55.tar.bz2 differ: char 11, line 1
++++++ mysql-community-server-5.1.31-shebang.patch ++++++
PATCH-P1-FIX-UPSTREAM: Adds shebangs
Shebangs were missing at various places, so we are adding them.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
diff -Naru mysql-5.1.31-bak/mysql-test/t/long_tmpdir-master.sh mysql-5.1.31/mysql-test/t/long_tmpdir-master.sh
--- mysql-5.1.31-bak/mysql-test/t/long_tmpdir-master.sh 2009-02-23 17:18:48.000000000 +0100
+++ mysql-5.1.31/mysql-test/t/long_tmpdir-master.sh 2009-02-24 17:57:42.000000000 +0100
@@ -1,3 +1,4 @@
+#!/bin/sh
d="$MYSQLTEST_VARDIR/tmp/long_temporary_directory_path_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789"
test -d "$d" || mkdir "$d"
rm -f "$d"/*
diff -Naru mysql-5.1.31-bak/mysql-test/t/lowercase_mixed_tmpdir-master.sh mysql-5.1.31/mysql-test/t/lowercase_mixed_tmpdir-master.sh
--- mysql-5.1.31-bak/mysql-test/t/lowercase_mixed_tmpdir-master.sh 2009-02-23 17:18:48.000000000 +0100
+++ mysql-5.1.31/mysql-test/t/lowercase_mixed_tmpdir-master.sh 2009-02-24 17:58:12.000000000 +0100
@@ -1,3 +1,4 @@
+#!/bin/sh
# This test requires a non-lowercase tmpdir directory on a case-sensitive
# filesystem.
diff -Naru mysql-5.1.31-bak/sql-bench/graph-compare-results.sh mysql-5.1.31/sql-bench/graph-compare-results.sh
--- mysql-5.1.31-bak/sql-bench/graph-compare-results.sh 2009-02-23 17:18:49.000000000 +0100
+++ mysql-5.1.31/sql-bench/graph-compare-results.sh 2009-02-24 18:00:16.000000000 +0100
@@ -1,3 +1,4 @@
+#/usr/bin/perl
####
#### Hello ... this is a heavily hacked script by Luuk
#### instead of printing the result it makes a nice gif
++++++ mysql-community-server-5.1.33-scripts-paths.patch ++++++
PATCH-P0-FIX-UPSTREAM: Fix building in different directory
BUGS: upstream#45616
Makes it possible to run compilation somewhere else then source code is.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
--- scripts/Makefile.am 2009-04-02 18:29:00.292563355 +0200
+++ scripts/Makefile.am 2009-04-02 18:21:50.462559739 +0200
@@ -110,7 +110,7 @@
mysql_fix_privilege_tables.sql: mysql_system_tables.sql \
mysql_system_tables_fix.sql
@echo "Building $@";
- @cat mysql_system_tables.sql mysql_system_tables_fix.sql > $@
+ @cat $(top_srcdir)/scripts/mysql_system_tables.sql $(top_srcdir)/scripts/mysql_system_tables_fix.sql > $@
#
# Build mysql_fix_privilege_tables_sql.c from
@@ -123,7 +123,7 @@
sleep 2
$(top_builddir)/scripts/comp_sql$(EXEEXT) \
mysql_fix_privilege_tables \
- $(top_srcdir)/scripts/mysql_fix_privilege_tables.sql $@
+ $(top_builddir)/scripts/mysql_fix_privilege_tables.sql $@
SUFFIXES = .sh
++++++ mysql-community-server-5.1.33-ssl-lib64-macro.patch ++++++
PATCH-P0-HACK-UPSTREAM: Add lib64 dir to the library path
On x86_64 systems openssl library is installed into /usr/lib64 directory and
MySQL couldn't find as it was searching only in /usr/lib. We can add it quite
safelly even on i586 as this directory wouldn't exist on them so no harm done.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
--- config/ac-macros/ssl.m4 2009-04-10 14:05:07.000000000 +0200
+++ config/ac-macros/ssl.m4 2009-04-10 14:15:15.000000000 +0200
@@ -102,7 +102,7 @@
#
# Try to link with openSSL libs in <location>
#
- openssl_libs="-L$location/lib/ -lssl -lcrypto"
+ openssl_libs="-L$location/lib -L$location/lib64 -lssl -lcrypto"
MYSQL_CHECK_SSL_DIR([$openssl_includes], [$openssl_libs])
if test "$mysql_ssl_found" == "no"
++++++ mysql-community-server-5.1.36-bmove512.patch ++++++
PATCH-P0-FEATURE-UPSTREAM: Better handling of memcpy
BUGS: upstream#19975
Standard memcpy should behave better then self made one.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: mysys/mf_keycache.c
===================================================================
--- mysys/mf_keycache.c.orig
+++ mysys/mf_keycache.c
@@ -2646,10 +2646,7 @@ uchar *key_cache_read(KEY_CACHE *keycach
#endif
/* Copy data from the cache buffer */
- if (!(read_length & 511))
- bmove512(buff, block->buffer+offset, read_length);
- else
- memcpy(buff, block->buffer+offset, (size_t) read_length);
+ memcpy(buff, block->buffer+offset, (size_t) read_length);
#if !defined(SERIALIZED_READ_FROM_CACHE)
keycache_pthread_mutex_lock(&keycache->cache_lock);
@@ -2857,10 +2854,7 @@ int key_cache_insert(KEY_CACHE *keycache
#endif
/* Copy data from buff */
- if (!(read_length & 511))
- bmove512(block->buffer+offset, buff, read_length);
- else
- memcpy(block->buffer+offset, buff, (size_t) read_length);
+ memcpy(block->buffer+offset, buff, (size_t) read_length);
#if !defined(SERIALIZED_READ_FROM_CACHE)
keycache_pthread_mutex_lock(&keycache->cache_lock);
@@ -3164,10 +3158,7 @@ int key_cache_write(KEY_CACHE *keycache,
#if !defined(SERIALIZED_READ_FROM_CACHE)
keycache_pthread_mutex_unlock(&keycache->cache_lock);
#endif
- if (!(read_length & 511))
- bmove512(block->buffer+offset, buff, read_length);
- else
- memcpy(block->buffer+offset, buff, (size_t) read_length);
+ memcpy(block->buffer+offset, buff, (size_t) read_length);
#if !defined(SERIALIZED_READ_FROM_CACHE)
keycache_pthread_mutex_lock(&keycache->cache_lock);
++++++ mysql-community-server-5.1.36-hotcopy.patch ++++++
PATCH-P0-FIX-UPSTREAM: Makes hotcopy to ignores log tables
BUGS: upstream#43594, bnc#525325
If you are running hotcopy, you probably want to ignore all
log tables.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
=== modified file 'scripts/mysqlhotcopy.sh'
--- scripts/mysqlhotcopy.sh 2008-03-07 20:45:40 +0000
+++ scripts/mysqlhotcopy.sh 2009-03-12 13:06:42 +0000
@@ -777,7 +777,24 @@ sub get_list_of_tables {
} || [];
warn "Unable to retrieve list of tables in $db: $@" if $@;
- return (map { $_->[0] } @$tables);
+ my @ignore_tables = ();
+
+ # Ignore tables for the mysql database
+ if ($db eq 'mysql') {
+ @ignore_tables = qw(general_log slow_log schema apply_status);
+ }
+
+ my @res = ();
+ if ($#ignore_tables > 1) {
+ my @tmp = (map { $_->[0] } @$tables);
+ for my $t (@tmp) {
+ push(@res, $t) if not exists { map { $_=>1 } @ignore_tables }->{$t};
+ }
+ } else {
+ @res = (map { $_->[0] } @$tables);
+ }
+
+ return @res;
}
sub quote_names {
++++++ mysql-community-server-5.1.45-group.patch ++++++
PATCH-P0-FEATURE-UPSTREAM: Adds group option
This patch let's you specify not only user to use but also group that MySQL
should use.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in
@@ -793,6 +793,14 @@ AC_ARG_WITH(mysqld-user,
[ MYSQLD_USER=mysql ]
)
AC_SUBST(MYSQLD_USER)
+AC_ARG_WITH(mysqld-group,
+ [ --with-mysqld-group=groupname
+ What group the mysqld daemon shall be run as.],
+ [ MYSQLD_GROUP=$withval ],
+ [ MYSQLD_GROUP=mysql ]
+ )
+AC_SUBST(MYSQLD_GROUP)
+
# If we should allow LOAD DATA LOCAL
AC_MSG_CHECKING(If we should should enable LOAD DATA LOCAL by default)
Index: scripts/Makefile.am
===================================================================
--- scripts/Makefile.am.orig
+++ scripts/Makefile.am
@@ -185,6 +185,7 @@ SUFFIXES = .sh
-e 's!@''TARGET_LINUX''@!@TARGET_LINUX@!' \
-e "s!@""CONF_COMMAND""@!@CONF_COMMAND@!" \
-e 's!@''MYSQLD_USER''@!@MYSQLD_USER@!' \
+ -e 's!@''MYSQLD_GROUP''@!@MYSQLD_GROUP@!' \
-e 's!@''STATIC_NSS_FLAGS''@!@STATIC_NSS_FLAGS@!' \
-e 's!@''NON_THREADED_LIBS''@!@NON_THREADED_LIBS@!' \
-e 's!@''ZLIB_DEPS''@!@ZLIB_DEPS@!' \
Index: scripts/mysqld_safe.sh
===================================================================
--- scripts/mysqld_safe.sh.orig
+++ scripts/mysqld_safe.sh
@@ -19,6 +19,7 @@ logging=init
want_syslog=0
syslog_tag=
user='@MYSQLD_USER@'
+group='@MYSQLD_GROUP@'
pid_file=
err_log=
@@ -162,6 +163,7 @@ parse_arguments() {
--datadir=*) DATADIR="$val" ;;
--pid-file=*) pid_file="$val" ;;
--user=*) user="$val"; SET_USER=1 ;;
+ --group=*) group="$val"; SET_USER=1 ;;
# these might have been set in a [mysqld_safe] section of my.cnf
# they are added to mysqld command line to override settings from my.cnf
@@ -388,11 +390,17 @@ then
if test "$user" != "root" -o $SET_USER = 1
then
USER_OPTION="--user=$user"
+ GROUP_OPTION="--group=$group"
fi
# Change the err log to the right user, if it is in use
if [ $want_syslog -eq 0 ]; then
touch "$err_log"
- chown $user "$err_log"
+ if [ "$user" -a "$group" ]; then
+ chown $user:$group $err_log
+ else
+ [ "$user" ] && chown $user $err_log
+ [ "$group" ] && chgrp $group $err_log
+ fi
fi
if test -n "$open_files"
then
@@ -407,7 +415,12 @@ mysql_unix_port_dir=`dirname $safe_mysql
if [ ! -d $mysql_unix_port_dir ]
then
mkdir $mysql_unix_port_dir
- chown $user $mysql_unix_port_dir
+ if [ "$user" -a "$group" ]; then
+ chown $user:$group $mysql_unix_port_dir
+ else
+ [ "$user" ] && chown $user $mysql_unix_port_dir
+ [ "$group" ] && chgrp $group $mysql_unix_port_dir
+ fi
chmod 755 $mysql_unix_port_dir
fi
Index: scripts/mysql_install_db.sh
===================================================================
--- scripts/mysql_install_db.sh.orig
+++ scripts/mysql_install_db.sh
@@ -28,6 +28,7 @@ args=""
defaults=""
mysqld_opt=""
user=""
+group=""
force=0
in_rpm=0
@@ -63,6 +64,11 @@ Usage: $0 [OPTIONS]
user. You must be root to use this option. By default
mysqld runs using your current login name and files and
directories that it creates will be owned by you.
+ --group=group_name The login group to use for running mysqld. Files and
+ directories created by mysqld will be owned by this
+ group. You must be root to use this option. By default
+ mysqld runs using your current group and files and
+ directories that it creates will be owned by you.
All other options are passed to the mysqld program
@@ -103,11 +109,11 @@ parse_arguments()
--builddir=*) builddir=`parse_arg "$arg"` ;;
--srcdir=*) srcdir=`parse_arg "$arg"` ;;
--ldata=*|--datadir=*) ldata=`parse_arg "$arg"` ;;
- --user=*)
# Note that the user will be passed to mysqld so that it runs
# as 'user' (crucial e.g. if log-bin=/some_other_path/
# where a chown of datadir won't help)
- user=`parse_arg "$arg"` ;;
+ --user=*) user=`parse_arg "$arg"` ;;
+ --group=*) group=`parse_arg "$arg"` ;;
--skip-name-resolve) ip_only=1 ;;
--verbose) verbose=1 ;; # Obsolete
--rpm) in_rpm=1 ;;
@@ -360,7 +366,12 @@ do
fi
if test -w / -a ! -z "$user"
then
- chown $user $dir
+ if test -z "$group"
+ then
+ chown $user $dir
+ else
+ chown $user:$group $dir
+ fi
fi
done
@@ -369,6 +380,11 @@ then
args="$args --user=$user"
fi
+if test -n "$group"
+then
+ args="$args --group=$group"
+fi
+
# When doing a "cross bootstrap" install, no reference to the current
# host should be added to the system tables. So we filter out any
# lines which contain the current host name.
++++++ mysql-community-server-5.1.45-multi-configuration.patch ++++++
PATCH-P0-FEATURE-SUSE: Add multi configuration
This patch adds example of how to setup multiple running MySQL servers. It is
by default commented out, but it can be used as an example and help people
start with new configuration.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: support-files/my-medium.cnf.sh
===================================================================
--- support-files/my-medium.cnf.sh.orig
+++ support-files/my-medium.cnf.sh
@@ -154,3 +154,46 @@ write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
+
+[mysqld_multi]
+mysqld = /usr/bin/mysqld_safe
+mysqladmin = /usr/bin/mysqladmin
+log = /var/log/mysqld_multi.log
+# user = multi_admin
+# password = secret
+
+# If you want to use mysqld_multi uncomment 1 or more mysqld sections
+# below or add your own ones.
+
+# WARNING
+# --------
+# If you uncomment mysqld1 than make absolutely sure, that database mysql,
+# configured above, is not started. This may result in corrupted data!
+# [mysqld1]
+# port = @MYSQL_TCP_PORT@
+# datadir = /var/lib/mysql
+# pid-file = /var/lib/mysql/mysqld.pid
+# socket = /var/lib/mysql/mysql.sock
+# user = mysql
+
+# [mysqld2]
+# port = 3307
+# datadir = /var/lib/mysql-databases/mysqld2
+# pid-file = /var/lib/mysql-databases/mysqld2/mysql.pid
+# socket = /var/lib/mysql-databases/mysqld2/mysql.sock
+# user = mysql
+
+# [mysqld3]
+# port = 3308
+# datadir = /var/lib/mysql-databases/mysqld3
+# pid-file = /var/lib/mysql-databases/mysqld3/mysql.pid
+# socket = /var/lib/mysql-databases/mysqld3/mysql.sock
+# user = mysql
+
+# [mysqld6]
+# port = 3309
+# datadir = /var/lib/mysql-databases/mysqld6
+# pid-file = /var/lib/mysql-databases/mysqld6/mysql.pid
+# socket = /var/lib/mysql-databases/mysqld6/mysql.sock
+# user = mysql
+
++++++ mysql-community-server-5.1.45-safe-process-in-bin.patch ++++++
PATCH-P0-FEATURE-SUSE: Moving SafeProcess to /usr/bin
We prefer to have this script somewhere else, so we moved it out of
the mysql-test directory.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: mysql-test/lib/My/SafeProcess.pm
===================================================================
--- mysql-test/lib/My/SafeProcess.pm.orig
+++ mysql-test/lib/My/SafeProcess.pm
@@ -89,7 +89,7 @@ sub find_bin {
if (IS_WIN32PERL or IS_CYGWIN)
{
# Use my_safe_process.exe
- my $exe= my_find_bin(".", ["lib/My/SafeProcess", "My/SafeProcess"],
+ my $exe= my_find_bin(".", ["../../bin", "lib/My/SafeProcess", "My/SafeProcess"],
"my_safe_process");
push(@safe_process_cmd, $exe);
@@ -99,7 +99,7 @@ sub find_bin {
else
{
# Use my_safe_process
- my $exe= my_find_bin(".", ["lib/My/SafeProcess", "My/SafeProcess"],
+ my $exe= my_find_bin(".", ["../../bin", "lib/My/SafeProcess", "My/SafeProcess"],
"my_safe_process");
push(@safe_process_cmd, $exe);
}
++++++ mysql-community-server-5.1.46-logrotate.patch ++++++
PATCH-P0-FIX-SUSE: Fix log file path for logrotate
In SUSE we've got MySQL log in different directory. It's located in
/var/log/mysql by default. It also adds some extra error message.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: support-files/mysql-log-rotate.sh
===================================================================
--- support-files/mysql-log-rotate.sh.orig
+++ support-files/mysql-log-rotate.sh
@@ -18,7 +18,7 @@
# ATTENTION: This /root/.my.cnf should be readable ONLY
# for root !
-@localstatedir@/mysqld.log {
+/var/log/mysql/mysqld.log {
# create 600 mysql mysql
notifempty
daily
@@ -31,6 +31,14 @@
@bindir@/mysqladmin ping &>/dev/null
then
@bindir@/mysqladmin flush-logs
+ ret=$?
+ if test $ret -ne 0
+ then
+ echo "@sysconfdir@/logrotate.d/mysql failed, probably because" >&2
+ echo "the root acount is protected by password." >&2
+ echo "See comments in @sysconfdir@/logrotate.d/mysql on how to fix this" >&2
+ exit $ret
+ fi
fi
endscript
}
++++++ mysql-community-server-5.1.51-myslq-test.patch ++++++
PATCH-P0-FEATURE-SUSE: Tests in $(datadir)
By default tests would get installed to /usr and as we want it LSB compilant,
we install them into /usr/share.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: mysql-test/Makefile.am
===================================================================
--- mysql-test/Makefile.am.orig
+++ mysql-test/Makefile.am
@@ -17,7 +17,7 @@
## Process this file with automake to create Makefile.in
-testroot = $(prefix)
+testroot = $(datadir)
testdir = $(testroot)/mysql-test
test_SCRIPTS = mtr \
Index: mysql-test/lib/My/SafeProcess/Makefile.am
===================================================================
--- mysql-test/lib/My/SafeProcess/Makefile.am.orig
+++ mysql-test/lib/My/SafeProcess/Makefile.am
@@ -13,7 +13,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-testroot = $(prefix)
+testroot = $(datadir)
safedir = $(testroot)/mysql-test/lib/My/SafeProcess
#nobase_bin_PROGRAMS = ...
safe_PROGRAMS = my_safe_process
++++++ mysql-community-server-5.1.51-mysql_config.patch ++++++
PATCH-P0-FIX-UPSTREAM: Fix linking options
BUGS: upstream#39175, bnc#420313
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: scripts/mysql_config.sh
===================================================================
--- scripts/mysql_config.sh.orig
+++ scripts/mysql_config.sh
@@ -94,7 +94,7 @@ fix_path pkgincludedir include/mysql inc
version='@VERSION@'
socket='@MYSQL_UNIX_ADDR@'
-ldflags='@LDFLAGS@'
+ldflags='@SAVE_LDFLAGS@'
if [ @MYSQL_TCP_PORT_DEFAULT@ -eq 0 ]; then
port=0
++++++ mysql-community-server-5.1.51-mysqld_multi-features.patch ++++++
PATCH-P0-FEATURE-UPSTREAM: Add more functionality to mysqld_multi script
Adds reload funcionality to mysqld_multi.sh perl script and adds --datadir
support.
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: scripts/mysqld_multi.sh
===================================================================
--- scripts/mysqld_multi.sh.orig
+++ scripts/mysqld_multi.sh
@@ -2,6 +2,7 @@
use Getopt::Long;
use POSIX qw(strftime getcwd);
+use File::Path qw(mkpath);
$|=1;
$VER="2.16";
@@ -125,6 +126,7 @@ sub main
usage() if (!defined($ARGV[0]) ||
(!($ARGV[0] =~ m/^start$/i) &&
!($ARGV[0] =~ m/^stop$/i) &&
+ !($ARGV[0] =~ m/^reload$/i) &&
!($ARGV[0] =~ m/^report$/i)));
if (!$opt_no_log)
@@ -138,7 +140,7 @@ sub main
print strftime "%a %b %e %H:%M:%S %Y", localtime;
print "\n";
}
- if ($ARGV[0] =~ m/^start$/i)
+ if (($ARGV[0] =~ m/^start$/i) || ($ARGV[0] =~ m/^reload$/i))
{
if (!defined(($mysqld= my_which($opt_mysqld))) && $opt_verbose)
{
@@ -147,7 +149,11 @@ sub main
print "This is OK, if you are using option \"mysqld=...\" in ";
print "groups [mysqldN] separately for each.\n\n";
}
- start_mysqlds();
+ if ($ARGV[0] =~ m/^start$/i) {
+ start_mysqlds();
+ } elsif ($ARGV[0] =~ m/^reload$/i) {
+ reload_mysqlds();
+ }
}
else
{
@@ -303,6 +309,39 @@ sub start_mysqlds()
$com= "$mysqld";
for ($j = 0, $tmp= ""; defined($options[$j]); $j++)
{
+ if ("--datadir=" eq substr($options[$j], 0, 10)) {
+ $datadir = $options[$j];
+ $datadir =~ s/\-\-datadir\=//;
+ eval { mkpath($datadir) };
+ if ($@) {
+ print "FATAL ERROR: Cannot create data directory $datadir: $!\n";
+ exit(1);
+ }
+ if (! -d $datadir."/mysql") {
+ if (-w $datadir) {
+ print "\n\nInstalling new database in $datadir\n\n";
+ $install_cmd="@bindir@/mysql_install_db ";
+ $install_cmd.="--user=mysql ";
+ $install_cmd.="--datadir=$datadir";
+ system($install_cmd);
+ } else {
+ print "\n";
+ print "FATAL ERROR: Tried to create mysqld under group [$groups[$i]],\n";
+ print "but the data directory is not writable.\n";
+ print "data directory used: $datadir\n";
+ exit(1);
+ }
+ }
+
+ if (! -d $datadir."/mysql") {
+ print "\n";
+ print "FATAL ERROR: Tried to start mysqld under group [$groups[$i]],\n";
+ print "but no data directory was found or could be created.\n";
+ print "data directory used: $datadir\n";
+ exit(1);
+ }
+ }
+
if ("--mysqladmin=" eq substr($options[$j], 0, 13))
{
# catch this and ignore
@@ -367,6 +406,58 @@ sub start_mysqlds()
}
####
+#### reload multiple servers
+####
+
+sub reload_mysqlds()
+{
+ my (@groups, $com, $tmp, $i, @options, $j);
+
+ if (!$opt_no_log)
+ {
+ w2log("\nReloading MySQL servers\n","$opt_log",0,0);
+ }
+ else
+ {
+ print "\nReloading MySQL servers\n";
+ }
+ @groups = &find_groups($groupids);
+ for ($i = 0; defined($groups[$i]); $i++)
+ {
+ $mysqld_server = $mysqld;
+ @options = defaults_for_group($groups[$i]);
+
+ for ($j = 0, $tmp= ""; defined($options[$j]); $j++)
+ {
+ if ("--mysqladmin=" eq substr($options[$j], 0, 13))
+ {
+ # catch this and ignore
+ }
+ elsif ("--mysqld=" eq substr($options[$j], 0, 9))
+ {
+ $options[$j] =~ s/\-\-mysqld\=//;
+ $mysqld_server = $options[$j];
+ }
+ elsif ("--pid-file=" eq substr($options[$j], 0, 11))
+ {
+ $options[$j] =~ s/\-\-pid-file\=//;
+ $pid_file = $options[$j];
+ }
+ }
+ $com = "killproc -p $pid_file -HUP $mysqld_server";
+ system($com);
+
+ $com = "touch $pid_file";
+ system($com);
+ }
+ if (!$i && !$opt_no_log)
+ {
+ w2log("No MySQL servers to be reloaded (check your GNRs)",
+ "$opt_log", 0, 0);
+ }
+}
+
+###
#### stop multiple servers
####
@@ -729,7 +820,7 @@ sub usage
$my_progname version $VER by Jani Tolonen
Description:
-$my_progname can be used to start, or stop any number of separate
+$my_progname can be used to start, reload, or stop any number of separate
mysqld processes running in different TCP/IP ports and UNIX sockets.
$my_progname can read group [mysqld_multi] from my.cnf file. You may
@@ -747,16 +838,16 @@ starting from 1. These groups should be
[mysqld] group, but with those port, socket and any other options
that are to be used with each separate mysqld process. The number
in the group name has another function; it can be used for starting,
-stopping, or reporting any specific mysqld server.
+reloading, stopping, or reporting any specific mysqld server.
-Usage: $my_progname [OPTIONS] {start|stop|report} [GNR,GNR,GNR...]
-or $my_progname [OPTIONS] {start|stop|report} [GNR-GNR,GNR,GNR-GNR,...]
+Usage: $my_progname [OPTIONS] {start|reload|stop|report} [GNR,GNR,GNR...]
+or $my_progname [OPTIONS] {start|reload|stop|report} [GNR-GNR,GNR,GNR-GNR,...]
-The GNR means the group number. You can start, stop or report any GNR,
+The GNR means the group number. You can start, reload, stop or report any GNR,
or several of them at the same time. (See --example) The GNRs list can
be comma separated or a dash combined. The latter means that all the
GNRs between GNR1-GNR2 will be affected. Without GNR argument all the
-groups found will either be started, stopped, or reported. Note that
+groups found will either be started, reloaded, stopped, or reported. Note that
syntax for specifying GNRs must appear without spaces.
Options:
++++++ mysql-community-server-5.1.53-ssl-compilation-fix.patch ++++++
PATCH-P0-FIX-UPSTREAM: Incompatible types in ssl
Sometimes argument of this function can be const and function doesn't change
the variable so there is no reason not to make that argument const;
Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
Index: vio/viosslfactories.c
===================================================================
--- vio/viosslfactories.c.orig
+++ vio/viosslfactories.c
@@ -198,7 +198,7 @@ static void check_ssl_init()
static struct st_VioSSLFd *
new_VioSSLFd(const char *key_file, const char *cert_file,
const char *ca_file, const char *ca_path,
- const char *cipher, SSL_METHOD *method,
+ const char *cipher, const SSL_METHOD *method,
enum enum_ssl_init_error* error)
{
DH *dh;
++++++ rc.mysql-multi ++++++
--- /var/tmp/diff_new_pack.tRP58Q/_old 2011-07-01 23:03:56.000000000 +0200
+++ /var/tmp/diff_new_pack.tRP58Q/_new 2011-07-01 23:03:56.000000000 +0200
@@ -251,6 +251,8 @@
datadir=/var/lib/mysql
mysql_daemon_user=mysql
mysql_daemon_group=mysql
+ mkdir -m 755 -p /var/run/mysql
+ chown $mysql_daemon_user:$mysql_daemon_group /var/run/mysql
pid_file=/var/run/mysql/mysqld.pid
socket=/var/run/mysql/mysql.sock
print_defaults=/usr/bin/my_print_defaults
@@ -278,12 +280,12 @@
# prepare tmp dir
if [ "$TMPDIR" ] && [ -d "$TMPDIR" ] && \
- [ "`ls -ld "$TMPDIR" | grep "^drwx------[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
+ [ "`ls -ld "$TMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
rm -rf "$TMPDIR"
fi
TMPDIR="`mktemp -d -p /var/tmp mysql.XXXXXX | tee /var/run/mysql/tmpdir`"
[ -z "$TMPDIR" ] || chown "$mysql_daemon_user:$mysql_daemon_group" "$TMPDIR"
- [ "`ls -ld "$TMPDIR" | grep "^drwx------[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || {
+ [ "`ls -ld "$TMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || {
echo "Can't create secure $TMPDIR"
rc_failed; rc_status -v; rc_exit;
}
@@ -377,7 +379,7 @@
fi
protected="`mktemp -d -p /var/tmp mysql-protected.XXXXXX | tee /var/run/mysql/protecteddir`"
[ -z "$protected" ] || chown "$mysql_daemon_user:$mysql_daemon_group" "$protected"
- [ "`ls -ld "$protected" | grep "^drwx------[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || {
+ [ "`ls -ld "$protected" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || {
echo "Can't create secure $protected" | tee -a "$log_upgrade"
rc_failed; rc_status -v; rc_exit;
}
@@ -442,7 +444,7 @@
echo -n "Shutting down service MySQL "
kill_mysql
if [ "$TMPDIR" ] && [ -d "$TMPDIR" ] && \
- [ "`ls -ld "$TMPDIR" | grep "^drwx------[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
+ [ "`ls -ld "$TMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
rm -rf "$TMPDIR"
fi
# Remember status and be verbose
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
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 python-reportlab for openSUSE:Factory
checked in at Fri Jul 1 17:01:57 CEST 2011.
--------
--- python-reportlab/python-reportlab.changes 2011-04-12 20:44:17.000000000 +0200
+++ python-reportlab/python-reportlab.changes 2011-05-30 17:18:10.000000000 +0200
@@ -1,0 +2,6 @@
+Mon May 30 15:16:43 UTC 2011 - alexandre(a)exatati.com.br
+
+- Add Provides and Obsoletes to python-ReportLab in spec file to
+ better behaviour in 11.1.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-reportlab.spec ++++++
--- /var/tmp/diff_new_pack.o7qaWf/_old 2011-07-01 17:01:38.000000000 +0200
+++ /var/tmp/diff_new_pack.o7qaWf/_new 2011-07-01 17:01:38.000000000 +0200
@@ -23,7 +23,7 @@
Name: python-%{mod_name}
Version: 2.5
-Release: 1
+Release: 3
Url: http://www.reportlab.com/
Summary: The Reportlab Toolkit
License: BSD
@@ -36,6 +36,8 @@
BuildRequires: python-imaging
BuildRequires: python-xml
Requires: python-imaging
+Provides: python-ReportLab = %{version}-%{release}
+Obsoletes: python-ReportLab < %{version}
%if 0%{?suse_version}
%py_requires
%endif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0