openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2013
- 1 participants
- 2223 discussions
Hello community,
here is the log from the commit of package augeas for openSUSE:12.3:Update checked in at 2013-09-30 12:44:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/augeas (Old)
and /work/SRC/openSUSE:12.3:Update/.augeas.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "augeas"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_link
++++++++++++++++…
[View More]++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
<link package='augeas.2028' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
[View Less]
1
0
Hello community,
here is the log from the commit of package augeas.2028 for openSUSE:12.3:Update checked in at 2013-09-30 12:44:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/augeas.2028 (Old)
and /work/SRC/openSUSE:12.3:Update/.augeas.2028.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "augeas.2028"
Changes:
--------
New Changes file:
--- /dev/null 2013-09-21 22:50:09.…
[View More]852032506 +0200
+++ /work/SRC/openSUSE:12.3:Update/.augeas.2028.new/augeas.changes 2013-09-30 12:44:09.000000000 +0200
@@ -0,0 +1,649 @@
+-------------------------------------------------------------------
+Fri Sep 20 22:49:27 UTC 2013 - mlatimer(a)suse.com
+
+- Remove kernel and bootloader entries from Shellvars, as they are
+ handled by Shellvars_list.aug (bnc#841331)
+ + added bnc-841331-delete-duplicates.patch
+
+-------------------------------------------------------------------
+Wed Oct 10 16:50:19 UTC 2012 - cfarrell(a)suse.com
+
+- license update: GPL-3.0+ and LGPL-2.1+
+ semicolon is ambiguous
+
+-------------------------------------------------------------------
+Fri Jul 27 06:57:31 UTC 2012 - aj(a)suse.de
+
+- Fix build with missing gets declaration (glibc 2.16)
+
+-------------------------------------------------------------------
+Sat Mar 17 14:54:10 UTC 2012 - jengelh(a)medozas.de
+
+- Ensure libxml2 is present in .pc file
+
+-------------------------------------------------------------------
+Wed Feb 29 10:19:56 UTC 2012 - dmacvicar(a)suse.de
+
+- update to 0.10.0
+ - support relative paths by taking them relative to the value of
+ /augeas/context in all API functions where paths are used
+ - add aug_to_xml to API: transform tree(s) into XML, exposed as dump-xml in
+ aug_srun and augtool. Introduces dependency on libxml2
+ - fix regular expression escaping. Previously, /[/]/ match either a backslash
+ or a slash. Now it only matches a slash
+ - path expressions: add function 'int' to convert a node value (string) to an
+ integer
+ - path expressions: make sure the regexp produced by empty nodesets from
+ regexp() and glob() matches nothing, rather than the empty word
+ - fix --autosave when running single command from command line, BZ 743023
+ - aug_srun: support 'insert' and 'move' as aliases for 'ins' and 'mv'
+ - aug_srun: allow escaping of spaces, quotes and brackets with \
+ - aug_init: accept AUG_NO_ERR_CLOSE flag; return augeas handle even when
+ initialization fails so that caller gets some details about why
+ initialization failed
+ - aug_srun: tolerate trailing white space in commands
+ - much improved, expanded documentation of many lenses
+ - always interpret lens filter paths as absolute, bug #238
+ - fix bug in libfa that would incorrectly calculate the difference of a case
+ sensistive and case insensitive regexp (/[a-zA-Z]+/ - /word/i would match
+ 'worD')
+ - new builtin 'regexp_match' for .aug files to make testing regexp matching
+ easier during development
+ - fix 'span' command, bug #220
+ - Lens changes/additions
+ * Access: parse user@host and (group) in users field; field separator need
+ not be surrounded by spaces
+ * Aliases: allow spaces before colons
+ * Aptconf: new lens for /etc/apt/apt.conf
+ * Aptpreferences: support origin entries
+ * Backuppchosts: new lens for /etc/backuppc/hosts, bug 233 (Adam Helms)
+ * Bbhosts: various fixes
+ * Cgconfig: id allowed too many characters
+ * Cron: variables aren't set like shellvars, semicolons are allowed in
+ email addresses; fix parsing of numeric fields, previously upper case
+ chars were allowed; support ranges in time specs
+ * Desktop: new lens for .desktop files
+ * Dhcpd: slashes must be double-quoted; add Red Hat's dhcpd.conf locations
+ * Exports: allow empty options
+ * Fai_diskconfig: new lens for FAI disk_config files
+ * Fstab: allow ',' in file names, BZ 751342
+ * Host_access: new lens for /etc/hosts.{allow,deny}
+ * Host_conf: new lens for /etc/host.conf
+ * Hostname: new lens for /etc/hostname
+ * Hosts: also load /etc/mailname by default
+ * Iptables: allow digits in ipt_match keys, bug #224
+ * Json: fix whitespace handling, removing some cf ambiguities
+ * Kdump: new lens for /etc/kdump.conf (Roman Rakus)
+ * Keepalived: support many more flags, fields and blocks
+ * Krb5: support [pam] section, bug #225
+ * Logrotate: be more tolerant of whitespace in odd places
+ * Mdadm_conf: new lens for /etc/mdadm.conf
+ * Modprobe: Parse commands in install/remove stanzas (this introduces a
+ backwards incompatibility); Drop support for include as it is not documented
+ in manpages and no unit tests are shipped.
+ * Modules: new lens for /etc/modules
+ * Multipath: add support for seveal options in defaults section, bug #207
+ * Mysql: includedir statements are not part of sections; support !include;
+ allow indentation of entries and flags
+ * Networks: new lens for /etc/networks
+ * Nrpe: allow '=' in commands, bug #218 (Marc Fournier)
+ * Php: allow indented entries
+ * Phpvars: allow double quotes in variable names; accept case insensitive
+ PHP tags; accept 'include_once'; allow empty lines at EOF; support define()
+ and bash-style and end-of-line comments
+ * ostfix_master: allow a lot more chars in words/commands, including commas
+ * PuppetFileserver: support same-line comments and trailing whitespace,
+ bug #214
+ * Reprepo_uploaders: new lens for reprepro's uploaders files
+ * Resolv: permit end-of-line comments
+ * Schroot: new lens for /etc/schroot/schroot.conf
+ * Shellvars: greatly expand shell syntax understood; support
+ various syntactic constructs like if/then/elif/else, for, while,
+ until, case, and select; load /etc/blkid.conf by default
+ * Spacevars: add toplevel lens 'lns' for consistency
+ * Ssh: new lens for ssh_config (Jiri Suchomel)
+ * Stunnel: new lens for /etc/stunnel/stunnel.conf (Oliver Beattie)
+ * Sudoers: support more parameter flags/options, bug #143
+ * Xendconfsxp: lens for Xen configuration (Tom Limoncelli)
+ * Xinetd: allow spaces after '{'
+- update modprobe lens patch to apply on 0.10.0
+- update shellvars lens patch to add some missing files on SUSE
+ distros mentioned in bnc#729491
+
+-------------------------------------------------------------------
+Sat Feb 11 03:09:32 UTC 2012 - jengelh(a)medozas.de
+
+- Remove rednudant tags/sections from specfile
+
+-------------------------------------------------------------------
+Thu Jan 26 12:38:03 UTC 2012 - dmacvicar(a)suse.de
+
+- Patch shellvars.aug to recognize SUSE specific files in
+ sysconfig (bnc#729491)
+
+-------------------------------------------------------------------
+Thu Sep 22 08:50:38 UTC 2011 - dmacvicar(a)suse.de
+
+- move lenses from /usr/share/libaugeas0/augeas
+ to /usr/share/augeas (bnc#719199)
+- move vim lenses syntax files from -lenses to -devel package
+
+-------------------------------------------------------------------
+Sat Sep 17 13:40:12 UTC 2011 - jengelh(a)medozas.de
+
+- Remove redundant tags/sections from specfile
+- Add augeas-devel to baselibs
+
+-------------------------------------------------------------------
+Wed Aug 24 01:49:37 CEST 2011 - dmueller(a)suse.de
+
+- update to 0.9.0:
+ - augtool: keep history in ~/.augeas/history
+ - add aug_srun API function; this makes it possible to run a sequence of
+ commands through the API
+ - aug_mv: report error AUG_EMVDESC on attempts to move a node into one of
+ its descendants
+ - path expressions: allow whitespace inside names, making '/files/etc/foo
+ bar/baz' a legal path, but parse [expr1 or expr2] and [expr1 and expr2]
+ as the logical and/or of expr1 and expr2
+ - path expressions: interpret escape sequences in regexps; since '.' does
+ not match newlines, it has to be possible to write '.|\n' to match any
+ character
+ - path expressions: allow concatenating strings and regexps; add
+ comparison operator '!~'; add function 'glob'; allow passing a nodeset
+ to function 'regexp'
+ - store the names of the functions available in path expressions under
+ /augeas/version
+ - fix several smaller memory leaks
+ - Lens changes/additions
+ * Aliases: allow spaces and commas in aliases (Mathieu Arnold)
+ * Grub: allow "bootfs" Solaris/ZFS extension for dataset name, bug #201
+ (Dominic Cleal); allow kernel path starting with a BIOS device,
+ bug #199
+ * Inifile: allow multiline values
+ * Php: include files from Zend community edition, bug #210
+ * Properties: new lens for Java properties files, bug #194 (Craig Dunn)
+ * Spacevars: autoload two ldap files, bug #202 (John Morrissey)
+ * Sudoers: support users:groups format in a Runas_Spec line, bug #211;
+ add CSW paths (Dominic Cleal)
+ * Util: allow comment_or_eol to match whitespace-only comments,
+ bug #205 (Dominic Cleal)
+ * Xorg: accept InputClass section; autoload from /etc/X11/xorg.conf.d,
+ bug #197
+
+-------------------------------------------------------------------
+Fri May 6 10:32:57 UTC 2011 - dmacvicar(a)suse.de
+
+- fate#311042: Update augeas packages for latest puppet support
+ in SLE-11
+- update to 0.8.1
+ * augtool: respect autosave flag in oneshot mode, bug #193;
+ fix segfault caused by unmatched bracket in path expression,
+ bug #186
+ * eliminate a global variable in the lexer, fixes BZ 690286
+ * replace an erroneous assert(0) with a proper error message when
+ none of the alternatives in a union match during saving,
+ bug #183
+ * improve AIX support
+ * Lens changes/additions
+ * Access: support the format @netgroup@@nisdomain, bug #190
+ * Fstab: fix parsing of SELinux labels in the fscontext option
+ * Grub: support 'device' directive for UEFI boot, bug #189; support
+ 'configfile' and 'background'
+ * Httpd: handle continuation lines; autoload httpd.conf on
+ Fedora/RHEL, BZ 688149; fix support for single-quoted
+ strings
+ * Iptables: support --tcp-flags, bug #157; allow blank and comment
+ lines anywhere
++++ 452 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.3:Update/.augeas.2028.new/augeas.changes
New:
----
augeas-0.10.0.tar.gz
augeas-modprobe-lense.patch
augeas-pkgdeps.diff
augeas-stdio.h.patch
augeas.changes
augeas.spec
baselibs.conf
bnc-729491-recognize-suse-sysconfig-files.patch
bnc-841331-delete-duplicates.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ augeas.spec ++++++
#
# spec file for package augeas
#
# Copyright (c) 2013 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: augeas
Version: 0.10.0
Release: 0
Summary: A library for changing configuration files
License: GPL-3.0+ and LGPL-2.1+
Group: System/Libraries
Url: http://augeas.net/
Source0: http://augeas.net/download/augeas-%{version}.tar.gz
Source1: baselibs.conf
Patch0: augeas-modprobe-lense.patch
# PATCH-FIX-OPENSUSE bnc-729491-recognize-suse-sysconfig-files.patch [bnc#729491]
Patch1: bnc-729491-recognize-suse-sysconfig-files.patch
Patch2: augeas-pkgdeps.diff
Patch3: augeas-stdio.h.patch
# PATCH-FIX-OPENSUSE bnc-841331-delete-duplicates.patch [bnc#841331]
Patch4: bnc-841331-delete-duplicates.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: glib2-devel
BuildRequires: libxml2-devel
BuildRequires: readline-devel
%description
A library for programmatically editing configuration files. Augeas
parses configuration files into a tree structure, which it exposes
through its public API. Changes made through the API are written back
to the initially read files.
The transformation works very hard to preserve comments and formatting
details. It is controlled by ``lens'' definitions that describe the
file format and the transformation into a tree.
%define __shrlibname lib%{name}0
%package devel
Summary: A library for changing configuration files
Group: Development/Libraries/C and C++
Requires: %{__shrlibname} = %{version}
%description devel
A library for programmatically editing configuration files. Augeas
parses configuration files into a tree structure, which it exposes
through its public API. Changes made through the API are written back
to the initially read files.
The transformation works very hard to preserve comments and formatting
details. It is controlled by ``lens'' definitions that describe the
file format and the transformation into a tree.
%package -n %{__shrlibname}
Summary: A library for changing configuration files
Group: Development/Libraries/C and C++
Recommends: %{name}-lenses = %{version}
%description -n %{__shrlibname}
A library for programmatically editing configuration files. Augeas
parses configuration files into a tree structure, which it exposes
through its public API. Changes made through the API are written back
to the initially read files.
The transformation works very hard to preserve comments and formatting
details. It is controlled by ``lens'' definitions that describe the
file format and the transformation into a tree.
%package lenses
Summary: Official set of lenses for use by %{__shrlibname}
Group: Development/Libraries/Other
Requires: %{__shrlibname} = %{version}
%description lenses
Augeas parses configuration files described in lenses into a tree
structure, which it exposes through its public API. Lenses are the
building blocks of the file <-> tree transformation. The transformation
is controlled by ``lens'' definitions that describe the file format and
mapping of its contents into a tree. This package includes the official
set of lenses.
%package lense-tests
Summary: Set of tests for official Augeas lenses
Group: Development/Libraries/Other
Requires: %{name}-lenses = %{version}
%description lense-tests
Set of tests for official Augeas lenses. These can be used when
modifying the official lenses, or when creating new ones.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch -P 2 -p1
%patch3 -p1
%patch4 -p1
%build
export CFLAGS="-Wno-error $RPM_OPT_FLAGS"
%configure --disable-static
make %{?_smp_mflags}
%install
make install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -name '*.la' -delete
# move vim files to the right location
mv $RPM_BUILD_ROOT/%{_datadir}/vim/vimfiles $RPM_BUILD_ROOT/%{_datadir}/vim/site
%post -n %{__shrlibname} -p /sbin/ldconfig
%postun -n %{__shrlibname} -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%{_bindir}/augtool
%{_bindir}/augparse
%{_bindir}/fadot
%{_mandir}/man1/*
%doc AUTHORS COPYING NEWS
%files -n %{__shrlibname}
%defattr(-,root,root,-)
%{_libdir}/*.so.*
%files devel
%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/augeas.pc
# vim support files
%dir %{_datadir}/vim
%dir %{_datadir}/vim/site
%dir %{_datadir}/vim/site/ftdetect
%{_datadir}/vim/site/ftdetect/augeas.vim
%dir %{_datadir}/vim/site/syntax
%{_datadir}/vim/site/syntax/augeas.vim
%files lenses
%defattr(-,root,root,-)
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/lenses
%dir %{_datadir}/%{name}/lenses/dist
%{_datadir}/%{name}/lenses/dist/*.aug
%files lense-tests
%defattr(-,root,root,-)
%dir %{_datadir}/%{name}/lenses/dist/tests
%{_datadir}/%{name}/lenses/dist/tests/*.aug
%changelog
++++++ augeas-modprobe-lense.patch ++++++
diff --git a/lenses/modprobe.aug b/lenses/modprobe.aug
index f4bb27b..6b02b9c 100644
--- a/lenses/modprobe.aug
+++ b/lenses/modprobe.aug
@@ -70,6 +70,11 @@ let blacklist = Build.key_value_line_comment "blacklist" sep_space
sto_no_spaces
comment
+(* View: allow_unsupported_modules *)
+let allow_unsupported_modules = Build.key_value_line_comment "allow_unsupported_modules" sep_space
+ sto_no_spaces
+ comment
+
(* View: config *)
let config = Build.key_value_line_comment "config" sep_space
(store /binary_indexes|yes|no/)
@@ -80,6 +85,7 @@ let entry = alias
| options
| kv_line_command /install|remove/
| blacklist
+ | allow_unsupported_modules
| config
(************************************************************************
++++++ augeas-pkgdeps.diff ++++++
From: Jan Engelhardt <jengelh(a)medozas.de>
Date: 2012-03-17 15:49:17.431507472 +0100
Public augeas header files (for use by 3rd party programs) include
<libxml/tree.h>, so the .pc file must require xml2 for it to work.
---
augeas.pc.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: augeas-0.10.0/augeas.pc.in
===================================================================
--- augeas-0.10.0.orig/augeas.pc.in
+++ augeas-0.10.0/augeas.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
Name: augeas
Version: @VERSION@
Description: Augeas configuration editing library
-Requires:
+Requires: libxml-2.0
Libs: -L${libdir} -laugeas @LIBS@
Cflags: -I${includedir}
++++++ augeas-stdio.h.patch ++++++
Index: augeas-0.10.0/gnulib/lib/stdio.in.h
===================================================================
--- augeas-0.10.0.orig/gnulib/lib/stdio.in.h
+++ augeas-0.10.0/gnulib/lib/stdio.in.h
@@ -162,7 +162,9 @@ _GL_WARN_ON_USE (fflush, "fflush is not
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
+#if HAVE_RAW_DECL_GETS
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
++++++ baselibs.conf ++++++
libaugeas0
augeas-devel
requires -augeas-<targettype>
requires "libaugeas0-<targettype> = <version>"
++++++ bnc-729491-recognize-suse-sysconfig-files.patch ++++++
diff --git a/lenses/shellvars.aug b/lenses/shellvars.aug
index faa0e72..722ab4b 100644
--- a/lenses/shellvars.aug
+++ b/lenses/shellvars.aug
@@ -189,6 +189,156 @@ module Shellvars =
sc_incl "xend" .
sc_incl "xendomains"
+ let filter_sysconfig_suse =
+ sc_incl "apcupsd" .
+ sc_incl "arpd" .
+ sc_incl "atftpd" .
+ sc_incl "automatic_online_update" .
+ sc_incl "debugfs" .
+ sc_incl "libvirt-guests" .
+ sc_incl "mcelog" .
+ sc_incl "oracle" .
+ sc_incl "pciback" .
+ sc_incl "puppetmasterd" .
+ sc_incl "racoon" .
+ sc_incl "snapper" .
+ sc_incl "tomcat6" .
+ sc_incl "xencommons" .
+ sc_incl "xsp2" .
+ sc_incl "abuild" .
+ sc_incl "add-on-creator" .
+ sc_incl "amavis" .
+ sc_incl "amazon" .
+ sc_incl "apache2" .
+ sc_incl "argus" .
+ sc_incl "arpwatch" .
+ sc_incl "atd" .
+ sc_incl "auditd" .
+ sc_incl "autoinstall" .
+ sc_incl "autoupdate" .
+ sc_incl "backup" .
+ sc_incl "bigsister" .
+ sc_incl "bluetooth" .
+ sc_incl "boot" .
+ sc_incl "bootloader" .
+ sc_incl "bootsplash" .
+ sc_incl "cgred" .
+ sc_incl "console" .
+ sc_incl "cron" .
+ sc_incl "ctdb" .
+ sc_incl "cups" .
+ sc_incl "ddclient" .
+ sc_incl "dhcpd" .
+ sc_incl "dhcrelay" .
+ sc_incl "displaymanager" .
+ sc_incl "dmraid" .
+ sc_incl "dracd" .
+ sc_incl "esound" .
+ sc_incl "fam" .
+ sc_incl "festival" .
+ sc_incl "fetchmail" .
+ sc_incl "fonts-config" .
+ sc_incl "git-daemon" .
+ sc_incl "gpsd" .
+ sc_incl "hardware" .
+ sc_incl "hardware/*" .
+ sc_incl "icecream" .
+ sc_incl "ide" .
+ sc_incl "infiniband" .
+ sc_incl "inputattach" .
+ sc_incl "ipmi" .
+ sc_incl "ipvsadm" .
+ sc_incl "ispell" .
+ sc_incl "joystick" .
+ sc_incl "kernel" .
+ sc_incl "kernel-tunables" .
+ sc_incl "language" .
+ sc_incl "ldap" .
+ sc_incl "lighttpd" .
+ sc_incl "lirc" .
+ sc_incl "locate" .
+ sc_incl "lvm" .
+ sc_incl "mail" .
+ sc_incl "mailman" .
+ sc_incl "mdadm" .
+ sc_incl "media-changer" .
+ sc_incl "memcached" .
+ sc_incl "mouse" .
+ sc_incl "mpi-selector" .
+ sc_incl "mysql" .
+ sc_incl "nagios" .
+ sc_incl "named" .
+ sc_incl "ncpfs" .
+ sc_incl "net-snmp" .
+ sc_incl "network/config" .
+ sc_incl "network/dhcp" .
+ sc_incl "network/dhcp6r" .
+ sc_incl "network/dhcp6s" .
+ sc_incl "network/ifcfg-*" .
+ sc_incl "network/if-down.d/*" .
+ sc_incl "network/ifroute-*" .
+ sc_incl "network/if-up.d/*" .
+ sc_incl "network/providers/*" .
+ sc_incl "news" .
+ sc_incl "ntp" .
+ sc_incl "obs-server" .
+ sc_incl "obs-worker" .
+ sc_incl "openldap" .
+ sc_incl "opensm" .
+ sc_incl "osa-dispatcher" .
+ sc_incl "pm-profiler" .
+ sc_incl "portmap" .
+ sc_incl "postfix" .
+ sc_incl "postgresql" .
+ sc_incl "product-creator" .
+ sc_incl "proxy" .
+ sc_incl "ptpd" .
+ sc_incl "radvd" .
+ sc_incl "readonlyroot" .
+ sc_incl "rpcbind" .
+ sc_incl "sapconf" .
+ sc_incl "scpm" .
+ sc_incl "seccheck" .
+ sc_incl "security" .
+ sc_incl "services" .
+ sc_incl "shutdown" .
+ sc_incl "smt-client" .
+ sc_incl "sound" .
+ sc_incl "spamd" .
+ sc_incl "squid" .
+ sc_incl "ssh" .
+ sc_incl "storage" .
+ sc_incl "SuSEfirewall2" .
+ sc_incl "SuSEfirewall2.d/cobbler" .
+ sc_incl "SuSEfirewall2.d/services/*" .
+ sc_incl "susehelp" .
+ sc_incl "suse_register" .
+ sc_incl "sysctl" .
+ sc_incl "syslog" .
+ sc_incl "texlive" .
+ sc_incl "ulimit" .
+ sc_incl "websphere-as_ce-2.1" .
+ sc_incl "windowmanager" .
+ sc_incl "wondershaper" .
+ sc_incl "words" .
+ sc_incl "yast2" .
+ sc_incl "ypbind" .
+ sc_incl "ypserv"
+
+ let filter_sysconfig_rhn =
+ sc_incl "rhn/allowed-actions/*" .
+ sc_incl "rhn/allowed-actions/script/*" .
+ sc_incl "rhn/clientCaps.d/*" .
+ sc_incl "rhn/osad-auth.conf" .
+ sc_incl "rhn/osad.conf" .
+ sc_incl "rhn/rhncfg-client.conf" .
+ sc_incl "rhn/rhncfg-manager.conf" .
+ sc_incl "rhn/rhnpushrc" .
+ sc_incl "rhn/rhnsd" .
+ sc_incl "rhn/up2date" .
+ sc_incl "rhn/virt" .
+ sc_incl "rhn/virt/auto"
+
let filter_ifcfg = incl "/etc/sysconfig/network-scripts/ifcfg-*"
. incl "/etc/sysconfig/network/ifcfg-*"
let filter_default = incl "/etc/default/*"
@@ -198,6 +348,8 @@ module Shellvars =
. incl "/etc/blkid.conf"
let filter = filter_sysconfig
+ . filter_sysconfig_suse
+ . filter_sysconfig_rhn
. filter_ifcfg
. filter_default
. filter_misc
++++++ bnc-841331-delete-duplicates.patch ++++++
Index: augeas-0.10.0/lenses/shellvars.aug
===================================================================
--- augeas-0.10.0.orig/lenses/shellvars.aug
+++ augeas-0.10.0/lenses/shellvars.aug
@@ -220,7 +220,6 @@ module Shellvars =
sc_incl "bigsister" .
sc_incl "bluetooth" .
sc_incl "boot" .
- sc_incl "bootloader" .
sc_incl "bootsplash" .
sc_incl "cgred" .
sc_incl "console" .
@@ -250,7 +249,6 @@ module Shellvars =
sc_incl "ipvsadm" .
sc_incl "ispell" .
sc_incl "joystick" .
- sc_incl "kernel" .
sc_incl "kernel-tunables" .
sc_incl "language" .
sc_incl "ldap" .
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
[View Less]
1
0
Hello community,
here is the log from the commit of package mariadb for openSUSE:12.2:Update checked in at 2013-09-30 12:40:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2:Update/mariadb (Old)
and /work/SRC/openSUSE:12.2:Update/.mariadb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mariadb"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
+++++++++++++++++++++++++++++++…
[View More]+++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.1HLrdY/_old 2013-09-30 12:40:20.000000000 +0200
+++ /var/tmp/diff_new_pack.1HLrdY/_new 2013-09-30 12:40:20.000000000 +0200
@@ -1 +1 @@
-<link package='mariadb.1946' cicount='copy' />
+<link package='mariadb.1994' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
[View Less]
1
0
Hello community,
here is the log from the commit of package mariadb for openSUSE:12.3:Update checked in at 2013-09-30 12:40:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/mariadb (Old)
and /work/SRC/openSUSE:12.3:Update/.mariadb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mariadb"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
+++++++++++++++++++++++++++++++…
[View More]+++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.4ku7vQ/_old 2013-09-30 12:40:17.000000000 +0200
+++ /var/tmp/diff_new_pack.4ku7vQ/_new 2013-09-30 12:40:17.000000000 +0200
@@ -1 +1 @@
-<link package='mariadb.1946' cicount='copy' />
+<link package='mariadb.1995' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
[View Less]
1
0
30 Sep '13
Hello community,
here is the log from the commit of package mysql-community-server.1996 for openSUSE:12.3:Update checked in at 2013-09-30 12:40:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/mysql-community-server.1996 (Old)
and /work/SRC/openSUSE:12.3:Update/.mysql-community-server.1996.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mysql-community-server.1996"
Changes:…
[View More]
--------
New Changes file:
--- /dev/null 2013-09-21 22:50:09.852032506 +0200
+++ /work/SRC/openSUSE:12.3:Update/.mysql-community-server.1996.new/mysql-community-server.changes 2013-09-30 12:40:12.000000000 +0200
@@ -0,0 +1,1929 @@
+-------------------------------------------------------------------
+Thu Sep 19 07:43:59 UTC 2013 - mhrusecky(a)suse.com
+
+- fixed commenting out unsupported options
+- workaround to mark datadir version
+
+-------------------------------------------------------------------
+Tue Sep 3 11:26:03 CEST 2013 - mhrusecky(a)suse.cz
+
+- updated to 5.5.33
+ http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-33.html
+- added back info page
+- better README.SuSE
+
+-------------------------------------------------------------------
+Wed Aug 14 16:17:14 UTC 2013 - mhrusecky(a)suse.com
+
+- fix hardcoded plugin paths (bnc#834028)
+- fix includedir (bnc#734436)
+- chown --no-dereference to improve security (bnc#834967)
+
+-------------------------------------------------------------------
+Sun Aug 4 22:18:22 CEST 2013 - mhrusecky(a)suse.cz
+
+- updated to 5.5.32
+ * see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-32.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-31.html
+ * fixes multiple security issues (bnc#830086)
+- get rid of info which is not info (bnc#747811)
+- minor polishing of spec/installation
+- avoiding file conflicts with mytop
+- better fix for hardcoded libdir issue
+- making mysqldump work with MySQL 5.0 (bnc#768832)
+- fixed log rights (bnc#789263 and bnc#803040)
+- binlog disabled in default configuration (bnc#791863)
+- fixed dependencies for client package (bnc#780019)
+
+-------------------------------------------------------------------
+Thu Feb 7 11:46:07 CET 2013 - mhrusecky(a)suse.cz
+
+- updated to 5.5.30, see
+ http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-30.html
+
+-------------------------------------------------------------------
+Thu Jan 17 09:09:07 CET 2013 - mhrusecky(a)suse.cz
+
+- MySQL is not default anymore
+
+-------------------------------------------------------------------
+Mon Jan 7 17:23:29 CET 2013 - mhrusecky(a)suse.cz
+
+- fixed some tests depending on latin1 as a default
+
+-------------------------------------------------------------------
+Wed Jan 2 11:44:38 CET 2013 - mhrusecky(a)suse.cz
+
+- updated to 5.5.29, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-29.html
+
+-------------------------------------------------------------------
+Mon Nov 19 17:27:50 CET 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.28, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-28.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-27.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-26.html
+
+-------------------------------------------------------------------
+Mon Aug 27 09:21:59 UTC 2012 - stefan.bruens(a)rwth-aachen.de
+
+- correct libmysqld18 requires %{name}-errormessages
+
+-------------------------------------------------------------------
+Mon Jul 9 15:07:58 CEST 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.25a
+ * fixes regression bug in the optimizer could cause excessive disk
+ usage for UPDATE statements. (upstream#65745, bnc#770403)
+
+-------------------------------------------------------------------
+Mon Jul 2 15:01:10 CEST 2012 - mhrusecky(a)suse.cz
+
+- fixed path for error messages
+- previous patch merged in
+
+-------------------------------------------------------------------
+Tue Jun 26 19:51:35 UTC 2012 - stefan.bruens(a)rwth-aachen.de
+
+- initialize errmsgs pointer (bnc#769131)
+
+-------------------------------------------------------------------
+Tue Jun 19 22:28:24 UTC 2012 - stefan.bruens(a)rwth-aachen.de
+
+- split off files containing error messages, needed by both
+ standalone and embedded server (bnc#712749)
+- bail out early on broken error message files, instead of
+ failing silently later ( http://bugs.mysql.com/bug.php?id=39693 )
+
+-------------------------------------------------------------------
+Tue Jun 12 08:19:02 CEST 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.25, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-23.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-24.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-25.html
+
+-------------------------------------------------------------------
+Tue Mar 27 08:31:58 CEST 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.22, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-22.html
+
+-------------------------------------------------------------------
+Fri Mar 16 15:01:14 UTC 2012 - dvaleev(a)suse.com
+
+- fix libdir for ppc64
+
+-------------------------------------------------------------------
+Wed Mar 14 15:57:38 UTC 2012 - mhrusecky(a)suse.cz
+
+- better va_list handling (fixes build on arm)
+
+-------------------------------------------------------------------
+Wed Feb 22 14:06:55 CET 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.21, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-21.html
+
+-------------------------------------------------------------------
+Wed Feb 15 10:54:25 UTC 2012 - cfarrell(a)suse.com
+
+- license update: SUSE-GPL-2.0-with-FLOSS-exception
+
+-------------------------------------------------------------------
+Wed Feb 1 18:22:20 UTC 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.20, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-20.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-19.html
+
+-------------------------------------------------------------------
+Mon Jan 30 08:36:04 UTC 2012 - mhrusecky(a)suse.cz
+
+- adding /usr/share/aclocal to the files list
+- renaming *-debug package to *-debug-version to avoid conflicts
+
+-------------------------------------------------------------------
+Mon Dec 5 17:54:38 CET 2011 - mhrusecky(a)suse.cz
+
+- migrated to the common packaging
+- updated to 5.5.18, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-18.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-17.html
+
+-------------------------------------------------------------------
+Wed Nov 2 12:53:30 UTC 2011 - bkutil(a)suse.com
+
+- Fix pretrans script in spec file to use RPM embedded LUA.
+
+-------------------------------------------------------------------
+Thu Oct 20 19:03:22 UTC 2011 - aj(a)suse.de
+
+- Add empty line after libmysqld18 postun, so that rpm does not
+ use the next line as argument.
+
+-------------------------------------------------------------------
+Tue Oct 18 14:23:10 CEST 2011 - mhrusecky(a)suse.cz
+
+- re-adding static mysql user id
+
+-------------------------------------------------------------------
+Sun Oct 2 15:38:26 CEST 2011 - mhrusecky(a)suse.cz
+
+- updated to 5.5.16, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-16.html
+
+-------------------------------------------------------------------
+Sun Oct 2 13:42:43 CEST 2011 - mhrusecky(a)suse.cz
+
+- passing correct types to add_plugin (fixes arm build)
+
+-------------------------------------------------------------------
+Fri Sep 9 20:11:57 UTC 2011 - jengelh(a)medozas.de
+
+- Update baselibs.conf to also provide libmysqlclient-devel-32bit
+- Add default_plugins.cnf/old-ssl.series to specfile
+ (osc warning:" (W) Attention, default_plugins.cnf is not
+ mentioned in spec files as source or patch.")
+
+-------------------------------------------------------------------
+Wed Sep 7 20:06:36 UTC 2011 - andrea.turrini(a)gmail.com
+
+- fixed typos from descriptions of mysql-community-server.spec
+
+-------------------------------------------------------------------
+Wed Aug 17 14:04:19 CEST 2011 - mhrusecky(a)suse.cz
++++ 1732 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.3:Update/.mysql-community-server.1996.new/mysql-community-server.changes
New:
----
README.SuSE
README.debug
baselibs.conf
build.inc
configuration-tweaks.tar.bz2
install.inc
mysql-5.5.33.tar.bz2
mysql-community-server.changes
mysql-community-server.spec
mysql-patches.tar.bz2
mysql.SuSEfirewall2
rc.mysql-multi
series
suse-test-run
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mysql-community-server.spec ++++++
++++ 628 lines (skipped)
++++++ README.SuSE ++++++
Notes about MySQL 5.1 package:
==============================
With MySQL 5.1 package we introduced some changes you may like to know. Most of
them will affect you only if you are upgrading from previous version and you
did some changes to your configuration.
1) Plugins:
===========
One of the new features in MySQL 5.1 is support for plugins. So some of the
storage engines are now shipped like that. You can use following plugins:
- archive
- blackhole
- federated
- example
InnoDB is still compiled as internal part of MySQL. If you are upgrading from
version 5.0 or if this is your first installation of MySQL 5.1, all plugins
will be enabled by default and you can disable them manually later (see
http://dev.mysql.com/doc/refman/5.1/en/uninstall-plugin.html)
With this change you need to remove skip-federated option from your my.cnf file
if you have changed it manually. This option was there by default in previous
versions of MySQL.
2) File locations:
==================
There were some changes in files locations. Most of them were made in the
default configuration file so if you are experiencing problems and you have
made some manual adjustments to your /etc/my.cnf, try to merge this file with
/etc/my.cnf.rpmnew.
File locations changes:
- MySQL socket file and pid file were moved from /var/lib/mysql to more
reasonable location ( /var/run/mysql ) by default.
- MySQL log files are in /var/log/mysql.
3) BerkeleyDB:
==============
MySQL no longer contains BerkeleyDB as storage engine. There is no fix for that
and if you used it before, you have to migrate your data to different storage
engine BEFORE updating. This can be done for example using following command:
ALTER TABLE foo ENGINE = INNODB;
4) MySQL Upgrade Log
====================
If you missed messages displayed during automatic MySQL database upgrade, you
can find them from now on in
/var/log/mysql/mysqld-upgrade.log
5) Migration from previous versions
===================================
If you are migrating from previous versions, you should take a look at official
documentation regarding migration:
* 5.0 -> 5.1 series
https://dev.mysql.com/doc/refman/5.1/en/upgrading-from-previous-series.html
* 5.1 -> 5.5 series
https://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html
++++++ README.debug ++++++
Debugging mysqld crashes
========================
Author: Michal Marek <mmarek(a)suse.cz>
Last modified: 2006-07-31
Contents
--------
1) Query log
2) Coredumps and Backtraces
3) Trace files
In case your MySQL server crashes, here are some hints on what to
include in a bugreport at https://bugzilla.novell.com/ . Please report
there only bugs in the MySQL packages packaged by Novell/SUSE, bugs in
binaries / source provided by MySQL AB should be reported at
http://bugs.mysql.com/ .
1) Query log
------------
Note: Skip this chapter if you already have an exact query that
crashes the server
To find out which query possibly crashed the server, add the following
line to your /etc/my.cnf into section [mysqld]:
log=/var/lib/mysql/mysqld-query.log
Mysqld then will, at some performance cost, log all queries into this
file. After a server crash, you can examine the queries from the time it
crashed and try to reproduce the crash with single queries (this might
not allways work, eg. if the crash is caused by some race condition).
Note that this log file may become extremly large, so if you decide to
attach it whole to the bugzilla, don't forget to
bzip2 -k /var/lib/mysql/mysqld-query.log
and attach the bzipped file instead.
2) Coredumps and Backtraces
---------------------------
Another valuable information for the developers is the backtrace. The
easies way to get one is to let mysqld produce a coredump. Add the
following line to your /etc/my.cnf into section [mysqld]:
core-file
Note: this unfortunatelly doesn't work in SUSE Linux 10.1 and older.
On these systems, you need to run safe_mysqld directly under user
mysql:
su - mysql
mysqld_safe --socket=/var/lib/mysql/mysql.sock \
--datadir=/var/lib/mysql --core-file &
The core file will be written to the /var/lib/mysql/ directory. I
suggest setting the kernel variable kernel.core_uses_pid to 1
sysctl -w kernel.core_uses_pid=1
so that the coredumps don't overwrite each other if you experience
multiple crashes.
After you got the core file, install the gdb and mysql-debuginfo
packages and run
gdb /usr/sbin/mysqld /var/lib/mysql/core
(gdb) bt
Replace mysqld with the mysqld version you used (mysqld, mysqld-max or
mysqld-debug) and core with the actual name of the coredump.
3) Trace files
--------------
You'll need the mysqld-debug binary from the mysql-debug package to get
a trace file. Install the mysqld-debug package and the start mysqld
using following command:
$ MYSQLD_DEBUG=yes rcmysql start
Note: The init script doesn't automatically pick up the mysqld-debug
binary (as it does with mysqld-max), because it is expected to be used
just temporarily to help solving a particular problem.
The init script will then start mysqld-debug and add the --core-file,
--log and --debug options for you. The query log will be stored in
/var/lib/mysql/myqld-query.log
and the trace file in
/var/lib/mysql/mysqld.trace
If you don't like the options set by the init script, just put your own
into /etc/my.cnf and the init script will honor it. For information
about the --debug option, see "The DBUG Package":
http://dev.mysql.com/doc/refman/5.0/en/the-dbug-package.html .
The trace file will contain various debug information and function
calls/returns and will become _extremly_ huge after a while, so don't
attach it to bugzilla unless requested.
++++++ baselibs.conf ++++++
libmysql55client18
libmysql55client_r18
++++++ build.inc ++++++
%if 0%{?suse_version} < 1120 && 0%{?suse_version} > 0
%define socketpath /var/lib/mysql
%else
%define socketpath /var/run/mysql
%endif
%if 0%{?suse_version} > 1140
export EXTRA_FLAGS=" -Wno-unused-but-set-variable -fno-strict-aliasing -Wno-unused-parameter "
%endif
%ifarch ppc64
export EXTRA_FLAGS=" -mminimal-toc "
%endif
export CFLAGS="$RPM_OPT_FLAGS -DPIC -fPIC -DFORCE_INIT_OF_VARS $EXTRA_FLAGS "
export CXXFLAGS="$CFLAGS -fno-exceptions -fno-rtti"
%if 0%{use_cmake} < 1
autoreconf -f -i
# Make the compile a function, since we do multiple builds
BuildMySQL() {
# The --enable-assembler simply does nothing on systems that do not
# support assembler speedups.
suffix="$1"; shift
mkdir _build$suffix
pushd _build$suffix
../configure \
--enable-assembler \
--with-readline \
--infodir=%{_infodir} \
--libdir=%{_libdir} \
--libexecdir=/usr/sbin \
--localstatedir=/var/lib/mysql \
--mandir=%{_mandir} \
--prefix=%{_prefix} \
--sysconfdir=/etc \
--with-mysqld-user=mysql \
--with-mysqld-group=mysql \
--without-debug \
--datadir=/usr/share \
--includedir=/usr/include \
--with-charset=utf8 \
--with-collation=utf8_unicode_ci \
--with-extra-charsets=all \
--with-unix-socket-path=%{socketpath}/mysql.sock \
--enable-thread-safe-client \
--with-comment="SUSE MySQL RPM" \
--with-libwrap \
--with-server-suffix=$suffix \
%ifarch s390 s390x
--with-atomic-ops=rwlocks \
%else
--with-atomic-ops=smp \
%endif
--with-ssl=/usr \
--with-plugins=%{builtin_plugins} \
--without-plugin-handlersocket \
HOSTNAME="/bin/hostname -f" \
"$@"
# Add this for MyISAM RAID support:
# --with-raid
# benchdir does not fit in above model. Fix when we make a separate package
make %{?jobs:-j%jobs}
nm --numeric-sort sql/mysqld > sql/mysqld.sym
# needed for make check, which is not VPATH aware
# copy the files unconditionally so that manual 'make check' after
# the build works, too
cp -a ../mysql-test/* mysql-test/
for i in ../sql/share/{english,charsets}; do
[ -d $i ] && cp -a $i sql/share/
done
cp -a ../scripts/*.sql scripts/
%if %{?_with_testsuite:1}0
pushd mysql-test; perl ./mysql-test-run.pl --force; popd
%endif
popd
}
# Build the client, extra tools, libraries
%if 0%{?prefered} > 0
BuildMySQL "" --with-embedded-server
%else
BuildMySQL "" --without-embedded-server
%endif
# build mysqld-debug
BuildMySQL "-debug" --with-debug --without-embedded-server
%if 0%{?prefered} > 0
mkdir -p _buildlibmysqld/tmp
cd _buildlibmysqld/tmp
ar -x ../../_build/libmysqld/libmysqld.a
gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o ../libmysqld.so.0.0.1 \
*.o \
-lpthread -lcrypt -lnsl -lssl -lcrypto -lz -lrt -lstdc++ -lm -lc
cd ..
rm -rf tmp
cd ..
%endif
%else # cmake build
BuildMySQL() {
mkdir _build$1
pushd _build$1
shift
cmake -DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_JEMALLOC=no \
-DWITH_READLINE=0 \
-DWITH_LIBEDIT=0 \
-DINSTALL_LAYOUT=RPM \
-DMYSQL_UNIX_ADDR=%{socketpath}/mysql.sock \
-DINSTALL_MYSQLSHAREDIR=share/%{name} \
-DWITH_COMMENT="openSUSE MySQL rpm" \
-DWITH_EXTRA_CHARSET=all \
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_EMBEDDED_SERVER=true \
-DCOMPILATION_COMMENT="openSUSE package" \
-DDENABLE_DOWNLOADS=false \
-DINSTALL_PLUGINDIR_RPM="%{_lib}/mysql/plugin" \
-DINSTALL_LIBDIR_RPM="%{_lib}" \
"$@" ..
make %{?jobs:-j%jobs}
nm --numeric-sort sql/mysqld > sql/mysqld.sym
popd
}
BuildMySQL "" -DCMAKE_BUILD_TYPE=Release -DINSTALL_SQLBENCHDIR=share
BuildMySQL "-debug" -DCMAKE_BUILD_TYPE=Debug
%endif
++++++ install.inc ++++++
# install the debug server first, so that we don't overwrite the standard
mkdir -p %buildroot%_libdir/mysql
make -C _build-debug/sql install DESTDIR=%buildroot
mv %buildroot/usr/sbin/mysqld %buildroot/usr/sbin/mysqld-debug
install -m 644 _build-debug/sql/mysqld.sym %buildroot%_libdir/mysql/mysqld-debug.sym
# install the client, extra tools, libraries and the standard server
make -C _build install DESTDIR=%buildroot benchdir_root=/usr/share/
install -m 644 _build/sql/mysqld.sym %buildroot%_libdir/mysql/mysqld.sym
# remove handler socket client
rm -f %buildroot%_libdir/libhsclient*
rm -f %buildroot%_bindir/hsclient*
[ \! -f "%{buildroot}%{_bindir}/mytop" ] || mv %{buildroot}%{_bindir}/mytop %{buildroot}%{_bindir}/%{name}_mytop
rm -f %buildroot%_libdir/mysql/plugin/handlersocket.so
# remove most static libs (FIXME: don't build them at all...)
[ \! -f "%buildroot%_libdir/"libmysqld.a ] || mv "%buildroot%_libdir/"libmysqld.a "%buildroot%_libdir/"libmysqld.static
rm -f %buildroot%_libdir/*.a
[ \! -f "%buildroot%_libdir/"libmysqld.static ] || mv "%buildroot%_libdir/"libmysqld.static "%buildroot%_libdir/"libmysqld.a
rm -f %buildroot%_libdir/mysql/{,plugin}/*.{a,la}
rm -f %buildroot%_libdir/mysql/libndbclient.*
rm -f %{buildroot}/usr/share/mysql-test/{mysql-test-run,mtr}
rm -f %{buildroot}/usr/share/mysql/{binary-configure,errmsg-utf8.txt,magic,mysql-log-rotate,mysql*.server}
rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mtr
ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mysql-test-run
mv %{buildroot}/usr/share/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
# generate filelist for binaries and their manpages
filelist()
{
echo '%%defattr(-, root, root)'
pushd %buildroot >/dev/null
for i; do
if test -e usr/sbin/"$i"; then
echo /usr/sbin/"$i"
fi
if test -e usr/bin/"$i"; then
echo /usr/bin/"$i"
fi
if ls usr/share/man/*/"$i".[1-9]* >/dev/null 2>&1; then
echo "%%doc %_mandir/*/$i.[1-9]*"
fi
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 {m,}aria_chk {m,}aria_dump_log {m,}aria_ftdump {m,}aria_pack {m,}aria_read_log xtstat >mysql.files
filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow >mysql-client.files
filelist mysql_config >libmysqlclient-devel.files
filelist mysqlslap >mysql-bench.files
filelist mysql_client_test mysql_client_test_embedded mysql_waitpid mysqltest mysqltest_embedded >mysql-test.files
# all binaries that don't need to be in a "default" install (mysql.rpm +
# mysql-client.rpm)
filelist msql2mysql mysql_config_editor mysql_plugin mysql_convert_table_format mysql_find_rows mysql_setpermission mysql_tzinfo_to_sql mysql_zap mysqlaccess mysqlhotcopy perror replace mysql_embedded %{name}_mytop hsclient >mysql-tools.files
filelist ndbd ndbmtd ndbd_redo_log_reader >mysql-ndb-storage.files
filelist ndb_mgmd >mysql-ndb-management.files
filelist ndb_{config,desc,error_reporter,mgm,print_backup_file,print_schema_file,print_sys_file,restore,select_all,select_count,show_tables,size.pl,test_platform,waiter} >mysql-ndb-tools.files
filelist ndb_{cpcd,delete_all,drop_index,index_stat,print_file,redo_log_reader,drop_table} ndbinfo_select_all memcached >mysql-ndb-extra.files
[ -z "`ls -1 "%buildroot/usr/share/mysql/"*.ini`" ] || echo '/usr/share/mysql/*.ini' >> mysql.files
[ -z "`ls -1 "%buildroot/usr/share/mysql/"*.cnf`" ] || echo '/usr/share/mysql/*.cnf' >> mysql.files
[ \! -f "%buildroot/usr/share/%name"/dictionary.txt ] || echo "/usr/share/%name/dictionary.txt" >> mysql.files
errmsg_list()
{
echo '%%defattr(-, root, root)'
pushd %buildroot >/dev/null
for f in usr/share/%{name}/*; do
if test -e $f/errmsg.sys; then
echo "%%dir /$f"
fi
done
echo /usr/share/%{name}/errmsg-utf8.txt
popd >/dev/null
}
errmsg_list > errormessages.files
### files not installed by make install
# Create directory structure
DOCS=(COPYING README EXCEPTIONS-CLIENT %_sourcedir/README.debug %_sourcedir/README.SuSE plugin/daemon_example/daemon_example.ini)
DOCDIR=%buildroot%_defaultdocdir/%name
install -d -m 755 ${DOCDIR}
install -d -m 755 %buildroot/etc/logrotate.d
install -d -m 755 %buildroot/etc/init.d
install -m 644 _build/support-files/mysql-log-rotate %buildroot/etc/logrotate.d/mysql
%if 0%{?prefered} > 0%{?use_cmake}
install -m 644 _buildlibmysqld/*.so* %buildroot%_libdir
ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so.0
ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so
%endif
install -m 660 _build/support-files/my-medium.cnf %buildroot/etc/my.cnf
install -m 640 scripts/mysqlaccess.conf %buildroot/etc/mysqlaccess.conf
for i in "${DOCS[@]}"; do
install -m 644 "${i}" "${DOCDIR}" || true
done
install -m 755 %_sourcedir/rc.mysql-multi %buildroot/etc/init.d/mysql
sed -i 's|@MYSQLVER@|%{version}|' %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
# testsuite
mkdir -p '%buildroot'/usr/share/mysql-test/
install -m 755 suse-test-run '%buildroot'/usr/share/mysql-test/
mkdir '%buildroot'/usr/share/mysql-test/var
# Final fixes
find '%buildroot'/usr/share/mysql-test -name '*.orig' -delete
%if 0%{?suse_version} > 1030
%fdupes -s '%buildroot'/usr/share/mysql-test
%endif
%if 0%{?fedora_version} > 8
fdupes -q -n -r '%buildroot'/usr/share/mysql-test
%endif
dos2unixConversion() {
%{__sed} -i 's/\r//g' "$1"
}
for i in `grep -Rl '\r' '%buildroot'/usr/share/sql-bench`; do
dos2unixConversion "$i"
done
%if ! 0%{cluster} > 0
cat mysql-ndb-storage.files mysql-ndb-management.files \
mysql-ndb-tools.files mysql-ndb-extra.files | \
sed 's|^%%doc\ ||' | while read tmp; do
cd '%buildroot'
rm -f .$tmp
done
%endif
%if ! 0%{prefered} > 0
cat libmysqlclient-devel.files | sed 's|%%doc\ ||' | while read tmp; do
cd '%buildroot'
rm -f ."$tmp"
done
rm -rf '%buildroot'/%_libdir/libmysqld.*
rm -rf '%buildroot'/%_libdir/{*.la,*.so,*.a}
rm -rf '%buildroot'/%_datadir/man/*/mysql_config.1*
rm -rf '%buildroot'/%_includedir
rm -rf '%buildroot'/%_datadir/aclocal
%endif
sed -i 's|doc/packages/mysql|doc/packages/%{name}|g' '%buildroot'/etc/init.d/mysql
ln -s mysqlcheck '%buildroot'%_bindir/mysqlrepair
ln -s mysqlcheck '%buildroot'%_bindir/mysqlanalyze
ln -s mysqlcheck '%buildroot'%_bindir/mysqloptimize
%if 0%{?cluster} > 1
ln -s libndbclient.so.6.0.0 '%buildroot'%_libdir/libndbclient.so.6.0
ln -s libndbclient.so.6.0.0 '%buildroot'%_libdir/libndbclient.so.6
%endif
if [ -f '%buildroot'/usr/bin/mysqlaccess.conf ]; then
mv '%buildroot'/usr/bin/mysqlaccess.conf '%buildroot'/etc/mysqlaccess.conf
fi
rm -rf '%buildroot'/etc/{mysql,my.cnf.d}
mkdir -p '%buildroot'/etc/mysql
sed -i 's|^log-bin=|#\ log-bin=|' %buildroot/etc/my.cnf
sed -i 's|^binlog_format=|#\ binlog_format=|' %buildroot/etc/my.cnf
bzip2 -cd '%_sourcedir'/configuration-tweaks.tar.bz2 | tar -C '%buildroot'/etc/mysql -xvf -
%if %have_info < 1
[ -z "`ls '%buildroot'/usr/share/info/mysql.info* 2> /dev/null`" ] || rm -f '%buildroot'/usr/share/info/mysql.info*
%endif
if [ "`ls '%buildroot'%_libdir/mysql/plugin/dialog*.so 2> /dev/null`" ]; then
echo '%%dir %%_libdir/mysql' >> mysql-client.files
echo '%%dir %%_libdir/mysql/plugin' >> mysql-client.files
echo '%%_libdir/mysql/plugin/dialog*.so' >> mysql-client.files
fi
rm -rf '%buildroot'/usr/share/doc/{mysql,mariadb}*
rm -f '%buildroot'/usr/share/doc/* 2> /dev/null || true
rm -rf '%buildroot'/usr/share/mysql/{solaris,SELinux}
++++++ mysql.SuSEfirewall2 ++++++
## Name: MySQL server
## Description: opens ports for MySQL in order to allow other hosts connect to it
# space separated list of allowed TCP ports
TCP="3306"
++++++ rc.mysql-multi ++++++
#!/bin/bash
# Copyright (c) 1995-2011 SuSE Linux AG Nuernberg, Germany.
#
# Author: Lenz Grimmer
# Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
#
# mysqld_multi extension added by Richard Bos, 2008
#
# /etc/init.d/mysql
#
# and its symbolic link
#
# /usr/sbin/rcmysql
#
### BEGIN INIT INFO
# Provides: mysql
# Required-Start: $network $remote_fs
# Required-Stop: $network $remote_fs
# Default-Start: 3 5
# Default-Stop:
# Short-Description: Start the MySQL database server
# Description: Start the MySQL database server
### END INIT INFO
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v ditto but be verbose in local rc status
# rc_status -v -r ditto and clear the local rc status
# rc_failed set local and overall rc status to failed
# rc_failed <num> set local and overall rc status to <num>
# rc_reset clear local rc status (overall remains)
# rc_exit exit appropriate to overall rc status
. /etc/rc.status
# First reset status of this service
rc_reset
# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - insufficient privilege
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
#
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signalling is not supported) are
# considered a success.
# Check for the location of initscript
if [ "`echo "$0" | grep "^\."`" ] || [ "`echo "$0" | grep "^[^/].*/"`" ]; then
MYSELF="`pwd`/$0"
else
MYSELF="$0"
fi
parse_arguments() {
for arg do
case "$arg" in
--basedir=*) basedir="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--datadir=*) datadir="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--pid-file=*) pid_file="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--socket=*) socket="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--log-error=*) log_error="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--user=*) mysql_daemon_user="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--group=*) mysql_daemon_group="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
esac
done
}
wait_for_socket()
{
local i
for((i=0; i<150; i++)); do
sleep 0.2
test -S $1 && i='' && break
done
test -z "$i" || return 1
return 0
}
# Don't run killproc -TERM, as it could send a SIGKILL as well, possibly
# resulting in database corruption. Run kill -TERM manually instead, wait
# approximately 300 seconds and fail if mysql doesn't respond. This will at
# least prevent the SIGKILL when doing 'rcmysql stop' manually. During system
# shutdown, we are out of luck...
# See https://bugzilla.novell.com/show_bug.cgi?id=223209
kill_mysql ()
{
local pid exe test_pid_file
if [ "$1" ]; then
test_pid_file="$1"
else
test_pid_file="$pid_file"
fi
test -e "$test_pid_file" || return 7 # not running
pid=`cat "$test_pid_file"` || return 4 # insufficient privileges
if ! test -e /proc/version; then
mount -n -t proc proc /proc
test -e /proc/version || return 100
fi
test -L "/proc/$pid/exe" || return 7
exe=`readlink "/proc/$pid/exe"` || return 4
test "`echo "$exe" | grep "^$MYSQLD"`" || return 7
kill -STOP "$pid"
kill -TERM "$pid" || return 4 # suboptimal
kill -CONT "$pid"
for i in `seq 3000`; do
# mysqld removes its pid file
test -e "$test_pid_file" || return 0
LC_ALL=C sleep 0.1
done
test -e "$test_pid_file" || return 0
return 1
}
# Helper function which can end with any status
set_return_value() {
return $1
}
# Checks for obsolete database
check_obsolete() {
# check for ISAM tables
tables="`find "$datadir" -name '*.ISM' 2> /dev/null | sed "s@$datadir/*@@; s@.ISM@@; s@/@.@;"`"
if test "$tables" ; then
echo
echo "Some tables still use ISAM format, which is NO LONGER SUPPORTED"
echo "since mysql 5.0. To use these tables, you would need to open them"
echo "from an older mysql server and convert to something better (eg. MyISAM)."
echo
echo "Tables using ISAM are: "
echo " $tables "
echo
fi
# check for bdb tables
tables="`find "$datadir" -name '*.db' 2> /dev/null | sed "s@$datadir/*@@; s@.db@@; s@/@.@;"`"
if test -n "$tables" ; then
echo
echo "Some tables still use BerkeleyDB format, which is NO LONGER SUPPORTED"
echo "since mysql 5.1. To use these tables, you would need to open them"
echo "from an older mysql server and convert to something better (eg. MyISAM)."
echo
echo "Tables using BerkeleyDB are: "
echo " $tables "
echo
fi
}
# Check if we want to run multiple instances.
[[ "`cat /etc/my.cnf | sed -n 's|^[[:blank:]]*\[mysqld[0-9]\+\]|yes|p'`" ]] && MYSQLD_MULTI=yes
# This was old way how to specify this, left for backward compatibility.
[[ -f /etc/sysconfig/mysql ]] && . /etc/sysconfig/mysql
if [[ "$MYSQLD_MULTI" == "yes" ]]; then
[[ -x /usr/bin/mysqld_multi ]] || {
echo -n "MySQL: /usr/bin/mysqld_multi not found"
rc_failed 5; rc_status -v; rc_exit;
}
case "$1" in
start)
# FIXME:
# We assume a fresh install if the directory $datadir/mysql
# does not exist and create the privilege database
# if ! test -d $datadir/mysql; then
# echo -n "Creating MySQL privilege database... "
# mysql_install_db --user=$mysql_daemon_user --datadir=$datadir || {
# rc_failed; rc_status -v; rc_exit
# }
# fi
echo -n "Starting service multi MySQL "
mysqld_multi start
# Remember status and be verbose
rc_status -v
;;
stop)
echo -n "Shutting down service multi MySQL "
mysqld_multi stop
# Remember status and be verbose
rc_status -v
;;
try-restart)
## Stop the service and if this succeeds (i.e. the
## service was running before), start it again.
## Note: try-restart is not (yet) part of LSB (as of 0.7.5)
"$MYSELF" status >/dev/null && "$MYSELF" restart
# Remember status and be quiet
rc_status
;;
restart|force-reload)
echo "Restarting service multi MySQL "
"$MYSELF" stop
"$MYSELF" start
rc_status
;;
reload)
echo -n "Reloading service multi MySQL "
mysqld_multi reload
rc_status -v
;;
status)
STATUS=$(mysqld_multi report)
echo -n "$STATUS"
# Set the status for rc_status
echo "$STATUS" | grep -q "is running"
rc_status -v
;;
*)
echo "Usage: $MYSELF {start|stop|status|reload|restart|try-restart|force-reload}"
exit 1
;;
esac
else
# Test, if mysqld or mysql-max actually exist
unset MYSQLD
# use mysqld-debug only if explicitly requested (TODO: sysconfig variable?)
if test "$MYSQLD_DEBUG" = yes -a -x /usr/sbin/mysqld-debug
then
MYSQLD=/usr/sbin/mysqld-debug
elif test -x /usr/sbin/mysqld-max
then
MYSQLD=/usr/sbin/mysqld-max
elif test -x /usr/sbin/mysqld
then
MYSQLD=/usr/sbin/mysqld
fi
test "$MYSQLD" || {
echo -n "Nor /usr/sbin/mysqld nor /usr/sbin/mysqld-max exists";
rc_failed 5; rc_status -v; rc_exit;
}
# The following section has been taken from
# the original MySQL init script
# Note: If you want to change these variables, you'll make your life easier
# if you do so in /etc/my.cnf, which is preserved during upgrades
basedir=/usr
datadir=/var/lib/mysql
mysql_daemon_user=mysql
mysql_daemon_group=mysql
pid_file=/var/run/mysql/mysqld.pid
socket=/var/run/mysql/mysql.sock
print_defaults=/usr/bin/my_print_defaults
log_error=/var/log/mysql/mysqld.log
mode=$1 # start or stop
log_base="`echo "$log_error" | sed 's|\.log$||'`"
[ "$log_base" \!= "$log_error" ] || log_base="/var/log/mysql/mysql"
log_upgrade="${log_base}-upgrade.log"
log_upgrade_run="${log_base}-upgrade-run.log"
log_query="${log_base}-query.log"
parse_arguments `$print_defaults $defaults mysqld mysql_server`
mkdir -m 755 -p /var/run/mysql
chown --no-dereference "$mysql_daemon_user:$mysql_daemon_group" /var/run/mysql
export TEMPDIR="`cat /var/run/mysql/tmpdir 2> /dev/null`"
# Safeguard (relative paths, core dumps..)
cd "$basedir"
case "$1" in
start)
# exit gracefully, if we are already running
"$MYSELF" status >/dev/null && echo -n "Starting service MySQL " && \
rc_status -v && rc_exit
# prepare tmp dir
unset TMPDIR
if [ "$TEMPDIR" ] && [ -d "$TEMPDIR" ] && \
[ "`ls -ld "$TEMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
rm -rf "$TEMPDIR"
fi
TEMPDIR="`mktemp -d -p /var/tmp mysql.XXXXXX | tee /var/run/mysql/tmpdir`"
[ -z "$TEMPDIR" ] || chown --no-dereference "$mysql_daemon_user:$mysql_daemon_group" "$TEMPDIR"
[ "`ls -ld "$TEMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || {
echo "Can't create secure $TEMPDIR"
rc_failed; rc_status -v; rc_exit;
}
# Test, if safe_mysqld actually exists
SAFE_MYSQLD=/usr/bin/mysqld_safe
test -x $SAFE_MYSQLD || {
echo "$SAFE_MYSQLD does not exist ";
rc_failed 5; rc_status -v; rc_exit;
}
debug_flags=""
if test "$MYSQLD_DEBUG" = yes; then
# add --log, --core-file and --debug
# but only if not already set in my.cnf
if ! $print_defaults mysqld | \
grep -q -e '--log$' -e '--log[[:blank:]=]'
then
debug_flags="--log=${log_query}"
fi
if ! $print_defaults mysqld | grep -q -e '^--debug\>' &&
test "$MYSQLD" = /usr/sbin/mysqld-debug
then
debug_flags="$debug_flags --debug=d:t:F:L:o,$datadir/mysqld.trace"
fi
if ! $print_defaults mysqld | grep -q -e '^--core-file\>'
then
debug_flags="$debug_flags --core-file"
fi
fi
# Creating parent directories for logs
for i in "$log_upgrade" "$log_query" "$log_error"; do
log_dir="`dirname "$i"`"
if [ \! -d "$log_dir" ]; then
mkdir -p "$log_dir"
fi
chmod 770 "$log_dir"
chown -R --no-dereference mysql:mysql "$log_dir"
done
MYSQLVER="`echo @MYSQLVER@ | sed 's|\.[0-9]\+$||'`"
# We assume a fresh install if the directory $datadir/mysql
# does not exist and create the privilege database
if ! test -d "$datadir/mysql"; then
echo "Creating MySQL privilege database... "
mysql_install_db --user="$mysql_daemon_user" --datadir="$datadir" ||{
rc_failed; rc_status -v; rc_exit
}
echo -n "@MYSQLVER@" > "$datadir"/mysql_upgrade_info
fi
check_obsolete
# Run mysql_upgrade on every package install/upgrade. Not always
# necessary, but doesn't do any harm. On big upgrade, require
# user confirmation.
if [ -f "/var/lib/mysql/.run-mysql_upgrade" ]; then
echo > "$log_upgrade"
echo "`LANG="" date` - upgrading MySQL..." >> "$log_upgrade"
echo >> "$log_upgrade"
echo "Will update MySQL now, if you encounter any problems, please read following file:" | tee -a "$log_upgrade"
echo " /usr/share/doc/packages/mysql/README.SuSE" | tee -a "$log_upgrade"
sed -i -e 's|^\([[:blank:]]*\)skip-locking|\1skip-external-locking|' \
-e 's|^\([[:blank:]]*skip-federated\)|#\1|' /etc/my.cnf
# Check logs for inconsistencies
SRCLOGS=""
ALL_SRCLOGS=""
for i in "$log_error" /var/lib/mysql/mysqld.log \
/var/log/mysqld.log ; do
if test -f "$i"; then
SRCLOGS="$i"
ALL_SRCLOGS="${ALL_SRCLOGS} ${i}"
fi
done
if [ "${ALL_SRCLOGS}" \!= " ${SRCLOGS}" ]; then
echo "Log files inconsistency, please merge following files manually:"
echo $ALL_SRCLOGS | sed 's|[[:blank:]]\+|\n|' | sed 's|^|\t|'
else
if [ "$SRCLOGS" ]; then
[ "$SRCLOGS" = "$log_error" ] || mv "$SRCLOGS" "$log_error"
fi
fi
check_obsolete >> "$log_upgrade"
# instead of running mysqld --bootstrap, which wouldn't allow
# us to run mysql_upgrade, we start a full-featured server with
# --skip-grant-tables and restict access to it by unix
# permissions of the named socket
protected="`cat /var/run/mysql/protecteddir 2> /dev/null`"
if [ -d "$protected" ]; then
pid="`cat "$protected/mysqld.pid" 2> /dev/null`"
if [ "$pid" ] && [ -d "/proc/$pid" ] &&
[ "`readlink "/proc/$pid/exe" | grep "mysql"`" ]; then
echo "Can't update as another updating process is currently running" | tee -a "$log_upgrade"
echo "Please check process $pid and terminate it before restarting MySQL" | tee -a "$log_upgrade"
touch /var/lib/mysql/.run-mysql_upgrade
rc_failed; rc_status -v; rc_exit;
else
rm -rf "$protected"
fi
fi
protected="`mktemp -d -p /var/tmp mysql-protected.XXXXXX | tee /var/run/mysql/protecteddir`"
export TMPDIR="$TEMPDIR"
# Run upgrade, double check
# We need to restart mysql every time as programs
# reloads privileges tables, so we can get lock out
for cmd in "/usr/bin/mysql_upgrade" \
"/usr/bin/mysql_upgrade"; do
[ -z "$protected" ] || chown --no-dereference "$mysql_daemon_user:$mysql_daemon_group" "$protected"
[ "`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"
touch /var/lib/mysql/.run-mysql_upgrade
rc_failed; rc_status -v; rc_exit;
}
echo "Running protected MySQL... " | tee -a "$log_upgrade"
$SAFE_MYSQLD \
--mysqld=${MYSQLD#/usr/sbin/} \
$debug_flags \
--skip-networking \
--skip-grant-tables \
--datadir="$datadir" \
--user="$mysql_daemon_user" \
--log-error="$log_upgrade_run" \
--socket="$protected/mysql.sock" \
--pid-file="$protected/mysqld.pid" \
--group="$mysql_daemon_group" &>/dev/null &
wait_for_socket "$protected/mysql.sock" || {
echo "error: $protected/mysql.sock file didn't appeared... " | tee -a "$log_upgrade"
echo " Try checking \"$log_upgrade_run\"... " | tee -a "$log_upgrade"
touch /var/lib/mysql/.run-mysql_upgrade
rc_failed; rc_status -v; rc_exit;
}
if [ "`grep "Upgrading MySQL..." "$log_upgrade"`" ]; then
echo "Problems should be fixed now."
echo "Rechecking whether everything is Ok... " | tee -a "$log_upgrade"
LANG=C $cmd --no-defaults --force \
--socket="$protected/mysql.sock" | \
sed -e 's|^|\ \ \ |' | \
tee -a "$log_upgrade"
else
echo "Upgrading MySQL... " | tee -a "$log_upgrade"
LANG=C $cmd --no-defaults --force \
--socket="$protected/mysql.sock" | \
sed -e 's|^|\ \ \ |' \
-e 's|error|info|' \
-e 's|\(Table\ upgrade\ required.\).*|\1|' | \
tee -a "$log_upgrade"
fi
[ "$PIPESTATUS" -ne 0 ] && {
rc_failed; rc_status -v;
kill_mysql "$protected/mysqld.pid"
rc_exit; }
kill_mysql "$protected/mysqld.pid" || {
echo "error: Can't stop protected MySQL... " | tee -a "$log_upgrade"
rc_failed; rc_status -v;
kill_mysql "$protected/mysqld.pid"
rc_exit; }
# Everything went fine
if [ -z "`grep REPAIR "$log_upgrade"`" ] && \
[ -z "`grep "Table\ upgrade\ required" "$log_upgrade"`" ]; then
break
fi
done # end of upgrade
rm -rf "$protected"
# Fix ownerships and permissions for $datadir
chmod 750 "$datadir"
chown -R --no-dereference "$mysql_daemon_user:$mysql_daemon_group" "$datadir"
rm -f /var/adm/update-messages/mysql-*
[ "`grep "^$MYSQLVER" "$datadir/mysql_upgrade_info" 2> /dev/null`" ] || \
echo -n "@MYSQLVER@" > "$datadir/mysql_upgrade_info"
rm -f /var/lib/mysql/.run-mysql_upgrade
rm -f /var/lib/mysql/.force_upgrade
rm -f "$datadir"/{update-stamp-*,mysql/stamp-4.1} # used in the past
chown --no-dereference "$mysql_daemon_user:$mysql_daemon_group" "$log_upgrade"
chmod 640 "$log_upgrade"
fi
export TMPDIR="$TEMPDIR"
echo -n "Starting service MySQL "
$SAFE_MYSQLD \
--mysqld=${MYSQLD#/usr/sbin/} \
$debug_flags \
--user="$mysql_daemon_user" \
--pid-file="$pid_file" \
--socket="$socket" \
--datadir="$datadir" &>/dev/null &
wait_for_socket "$socket" || {
# let's not treat this as a fatal error
echo "warning: $socket didn't appear within 30 seconds"
}
chmod a+r "$pid_file"
# Rmember status and be verbose
rc_status -v
;;
stop)
echo -n "Shutting down service MySQL "
kill_mysql
if [ "$TEMPDIR" ] && [ -d "$TEMPDIR" ] && \
[ "`ls -ld "$TEMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
rm -rf "$TEMPDIR"
fi
# Remember status and be verbose
rc_status -v
;;
try-restart)
## Stop the service and if this succeeds (i.e. the
## service was running before), start it again.
## Note: try-restart is not (yet) part of LSB (as of 0.7.5)
"$MYSELF" status >/dev/null && "$MYSELF" restart
# Remember status and be quiet
rc_status
;;
restart|force-reload)
echo "Restarting service MySQL "
"$MYSELF" stop
"$MYSELF" start
rc_status
;;
reload)
echo -n "Reloading service MySQL "
kill -HUP "`cat "$pid_file"`"
touch "$pid_file"
rc_status -v
;;
check|status)
echo -n "Checking for service MySQL: "
## Check status with checkproc(8), if process is running
## checkproc will return with exit status 0.
# Status has a slightly different for the status command:
# 0 - service running
# 1 - service dead, but /var/run/ pid file exists
# 2 - service dead, but /var/lock/ lock file exists
# 3 - service not running
# NOTE: checkproc returns LSB compliant status values,
# but it checks for running binary first and only
# if it doesn't find running process with proper
# name it checks pidfile. So we can't use it because
# akonadi runs it's own database.
# checkproc -p $pid_file $MYSQLD
if [ -f "$pid_file" ]; then
if ! [ -e /proc/version ]; then
mount -n -t proc proc /proc
test -e /proc/version || set_return_value 100
fi
pid="`cat "$pid_file"`"
if [ "$pid" ] && [ -d "/proc/$pid" ]; then
cmd=`cat "/proc/$pid/cmdline" 2> /dev/null`
exe=`readlink "/proc/$pid/exe" 2> /dev/null`
if [ "`echo "$exe" | grep "^$MYSQLD"`" ] || [ "`echo "$cmd" | grep "^$MYSQLD"`" ]; then
set_return_value 0
else
set_return_value 1
fi
else
set_return_value 1
fi
else
set_return_value 3
fi
rc_status -v
;;
*)
echo "Usage: $MYSELF {start|stop|status|reload|restart|try-restart|force-reload}"
exit 1
;;
esac
fi
rc_exit
# vim: ft=sh
++++++ series ++++++
mysql-community-server-5.1.31-shebang.patch
mysql-community-server-5.5.29-utf8-test-results.patch
mariadb-5.5.28-hotcopy.patch
mysql-community-server-5.5.6-cnf.patch
mysql-community-server-5.5.8-group.patch
mysql-community-server-5.1.45-multi-configuration.patch
mysql-community-server-5.5.6-safe-process-in-bin.patch
mysql-community-server-5.1.46-logrotate.patch
mysql-community-server-5.5.6-strncat-overflow.patch
mysql-community-server-5.1.51-install_db-quiet.patch
mysql-community-server-5.1.51-mysql_config.patch
mysql-community-server-5.1.51-mysqld_multi-features.patch
mysql-community-server-5.5.32-upgrade-exit-status.patch
mysql-community-server-5.5.12-shared-libmysqld.patch
mysql-community-server-5.5.21-va_list-handling.patch
mysql-community-server-5.5.23-fail_on_missing_errmsg_sys.patch
mysql-community-server-5.5.29-test-wrong-path.patch
mysql-community-server-5.5.29-CVE-2012-5611.patch
mysql-community-server-5.6.12-deharcode-libdir.patch
mysql-5.5.31-upgrade-datadir.patch
++++++ suse-test-run ++++++
#!/usr/bin/perl
#
# Test the SUSE mysql(-Max) package using the MySQL testsuite
my $id = getpwnam("mysql") or die "can't find user \"mysql\": $!";
my $dir = "/usr/share/mysql-test/";
if ($< == 0) {
($<, $>) = ($id, $id);
if ($< != $id || $> != $id) {
die "can't switch to user mysql(id $id): $!";
}
}
chdir($dir) or die "can't cd to $dir: $!";
exec("./mysql-test-run.pl", "--big-test", @ARGV);
die "can't execute mysql-test-run.pl: $!";
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
[View Less]
1
0
30 Sep '13
Hello community,
here is the log from the commit of package mysql-community-server for openSUSE:12.3:Update checked in at 2013-09-30 12:40:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/mysql-community-server (Old)
and /work/SRC/openSUSE:12.3:Update/.mysql-community-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mysql-community-server"
Changes:
--------
New …
[View More]Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.iJdRWG/_old 2013-09-30 12:40:13.000000000 +0200
+++ /var/tmp/diff_new_pack.iJdRWG/_new 2013-09-30 12:40:13.000000000 +0200
@@ -1 +1 @@
-<link package='mysql-community-server.1946' cicount='copy' />
+<link package='mysql-community-server.1996' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
[View Less]
1
0
30 Sep '13
Hello community,
here is the log from the commit of package mysql-community-server for openSUSE:12.2:Update checked in at 2013-09-30 12:40:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2:Update/mysql-community-server (Old)
and /work/SRC/openSUSE:12.2:Update/.mysql-community-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mysql-community-server"
Changes:
--------
New …
[View More]Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.EryBmH/_old 2013-09-30 12:40:10.000000000 +0200
+++ /var/tmp/diff_new_pack.EryBmH/_new 2013-09-30 12:40:10.000000000 +0200
@@ -1 +1 @@
-<link package='mysql-community-server.1946' cicount='copy' />
+<link package='mysql-community-server.1997' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
[View Less]
1
0
30 Sep '13
Hello community,
here is the log from the commit of package mysql-community-server.1997 for openSUSE:12.2:Update checked in at 2013-09-30 12:40:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2:Update/mysql-community-server.1997 (Old)
and /work/SRC/openSUSE:12.2:Update/.mysql-community-server.1997.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mysql-community-server.1997"
Changes:…
[View More]
--------
New Changes file:
--- /dev/null 2013-09-21 22:50:09.852032506 +0200
+++ /work/SRC/openSUSE:12.2:Update/.mysql-community-server.1997.new/mysql-community-server.changes 2013-09-30 12:40:10.000000000 +0200
@@ -0,0 +1,1915 @@
+-------------------------------------------------------------------
+Thu Sep 19 07:41:18 UTC 2013 - mhrusecky(a)suse.com
+
+- fixed commenting out incompatible options
+- workaround to mark datadir version
+
+-------------------------------------------------------------------
+Tue Sep 3 11:24:04 CEST 2013 - mhrusecky(a)suse.cz
+
+- updated to 5.5.33
+ http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-33.html
+
+-------------------------------------------------------------------
+Tue Sep 3 11:23:03 CEST 2013 - mhrusecky(a)suse.cz
+
+- added back info page
+- droped relinking of libraries to fix builds of dependencies
+- better README.SuSE
+
+-------------------------------------------------------------------
+Wed Aug 14 16:17:09 UTC 2013 - mhrusecky(a)suse.com
+
+- fix hardcoded plugin paths (bnc#834028)
+- fix includedir (bnc#734436)
+- chown --no-dereference to improve security (bnc#834967)
+
+-------------------------------------------------------------------
+Sun Aug 4 22:17:01 CEST 2013 - mhrusecky(a)suse.cz
+
+- updated to 5.5.32
+ * see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-32.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-31.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-30.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-29.html
+ * fixes multiple security issues (bnc#830086)
+- get rid of info which is not info (bnc#747811)
+- minor polishing of spec/installation
+- avoiding file conflicts with mytop
+- better fix for hardcoded libdir issue
+- making mysqldump work with MySQL 5.0 (bnc#768832)
+- fixed log rights (bnc#789263 and bnc#803040)
+- binlog disabled in default configuration (bnc#791863)
+- fixed dependencies for client package (bnc#780019)
+
+-------------------------------------------------------------------
+Wed Dec 19 10:48:53 CET 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.28, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-27.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-28.html
+- fixed CVE-2012-5611 (bnc#792444)
+
+-------------------------------------------------------------------
+Mon Aug 20 14:35:46 UTC 2012 - meissner(a)suse.com
+
+- require errormessages in the same version also in libmysqld18,
+ doing again after messed up merge. bnc#712749
+
+-------------------------------------------------------------------
+Mon Jul 9 15:07:58 CEST 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.25a
+ * fixes regression bug in the optimizer could cause excessive disk
+ usage for UPDATE statements. (upstream#65745, bnc#770403)
+
+-------------------------------------------------------------------
+Mon Jul 2 15:01:10 CEST 2012 - mhrusecky(a)suse.cz
+
+- fixed path for error messages
+- previous patch merged in
+
+-------------------------------------------------------------------
+Tue Jun 26 19:51:35 UTC 2012 - stefan.bruens(a)rwth-aachen.de
+
+- initialize errmsgs pointer (bnc#769131)
+
+-------------------------------------------------------------------
+Tue Jun 19 22:28:24 UTC 2012 - stefan.bruens(a)rwth-aachen.de
+
+- split off files containing error messages, needed by both
+ standalone and embedded server (bnc#712749)
+- bail out early on broken error message files, instead of
+ failing silently later ( http://bugs.mysql.com/bug.php?id=39693 )
+
+-------------------------------------------------------------------
+Tue Jun 12 08:19:02 CEST 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.25, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-23.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-24.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-25.html
+
+-------------------------------------------------------------------
+Tue Mar 27 08:31:58 CEST 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.22, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-22.html
+
+-------------------------------------------------------------------
+Fri Mar 16 15:01:14 UTC 2012 - dvaleev(a)suse.com
+
+- fix libdir for ppc64
+
+-------------------------------------------------------------------
+Wed Mar 14 15:57:38 UTC 2012 - mhrusecky(a)suse.cz
+
+- better va_list handling (fixes build on arm)
+
+-------------------------------------------------------------------
+Wed Feb 22 14:06:55 CET 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.21, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-21.html
+
+-------------------------------------------------------------------
+Wed Feb 15 10:54:25 UTC 2012 - cfarrell(a)suse.com
+
+- license update: SUSE-GPL-2.0-with-FLOSS-exception
+
+-------------------------------------------------------------------
+Wed Feb 1 18:22:20 UTC 2012 - mhrusecky(a)suse.cz
+
+- updated to 5.5.20, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-20.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-19.html
+
+-------------------------------------------------------------------
+Mon Jan 30 08:36:04 UTC 2012 - mhrusecky(a)suse.cz
+
+- adding /usr/share/aclocal to the files list
+- renaming *-debug package to *-debug-version to avoid conflicts
+
+-------------------------------------------------------------------
+Mon Dec 5 17:54:38 CET 2011 - mhrusecky(a)suse.cz
+
+- migrated to the common packaging
+- updated to 5.5.18, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-18.html
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-17.html
+
+-------------------------------------------------------------------
+Wed Nov 2 12:53:30 UTC 2011 - bkutil(a)suse.com
+
+- Fix pretrans script in spec file to use RPM embedded LUA.
+
+-------------------------------------------------------------------
+Thu Oct 20 19:03:22 UTC 2011 - aj(a)suse.de
+
+- Add empty line after libmysqld18 postun, so that rpm does not
+ use the next line as argument.
+
+-------------------------------------------------------------------
+Tue Oct 18 14:23:10 CEST 2011 - mhrusecky(a)suse.cz
+
+- re-adding static mysql user id
+
+-------------------------------------------------------------------
+Sun Oct 2 15:38:26 CEST 2011 - mhrusecky(a)suse.cz
+
+- updated to 5.5.16, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-16.html
+
+-------------------------------------------------------------------
+Sun Oct 2 13:42:43 CEST 2011 - mhrusecky(a)suse.cz
+
+- passing correct types to add_plugin (fixes arm build)
+
+-------------------------------------------------------------------
+Fri Sep 9 20:11:57 UTC 2011 - jengelh(a)medozas.de
+
+- Update baselibs.conf to also provide libmysqlclient-devel-32bit
+- Add default_plugins.cnf/old-ssl.series to specfile
+ (osc warning:" (W) Attention, default_plugins.cnf is not
+ mentioned in spec files as source or patch.")
+
+-------------------------------------------------------------------
+Wed Sep 7 20:06:36 UTC 2011 - andrea.turrini(a)gmail.com
+
+- fixed typos from descriptions of mysql-community-server.spec
+
+-------------------------------------------------------------------
+Wed Aug 17 14:04:19 CEST 2011 - mhrusecky(a)suse.cz
+
+- updated to 5.5.15, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-15.html
+
+-------------------------------------------------------------------
+Wed Jul 27 13:26:39 CEST 2011 - mhrusecky(a)suse.cz
+
+- updated to 5.5.14, see
+ http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html
+
+-------------------------------------------------------------------
+Mon Jun 6 10:01:24 CEST 2011 - mhrusecky(a)suse.cz
+
+- updated to 5.5.13, see
++++ 1718 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.2:Update/.mysql-community-server.1997.new/mysql-community-server.changes
New:
----
README.SuSE
README.debug
baselibs.conf
build.inc
configuration-tweaks.tar.bz2
install.inc
mysql-5.5.33.tar.bz2
mysql-community-server.changes
mysql-community-server.spec
mysql-patches.tar.bz2
mysql.SuSEfirewall2
rc.mysql-multi
series
suse-test-run
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mysql-community-server.spec ++++++
++++ 628 lines (skipped)
++++++ README.SuSE ++++++
Notes about MySQL 5.1 package:
==============================
With MySQL 5.1 package we introduced some changes you may like to know. Most of
them will affect you only if you are upgrading from previous version and you
did some changes to your configuration.
1) Plugins:
===========
One of the new features in MySQL 5.1 is support for plugins. So some of the
storage engines are now shipped like that. You can use following plugins:
- archive
- blackhole
- federated
- example
InnoDB is still compiled as internal part of MySQL. If you are upgrading from
version 5.0 or if this is your first installation of MySQL 5.1, all plugins
will be enabled by default and you can disable them manually later (see
http://dev.mysql.com/doc/refman/5.1/en/uninstall-plugin.html)
With this change you need to remove skip-federated option from your my.cnf file
if you have changed it manually. This option was there by default in previous
versions of MySQL.
2) File locations:
==================
There were some changes in files locations. Most of them were made in the
default configuration file so if you are experiencing problems and you have
made some manual adjustments to your /etc/my.cnf, try to merge this file with
/etc/my.cnf.rpmnew.
File locations changes:
- MySQL socket file and pid file were moved from /var/lib/mysql to more
reasonable location ( /var/run/mysql ) by default.
- MySQL log files are in /var/log/mysql.
3) BerkeleyDB:
==============
MySQL no longer contains BerkeleyDB as storage engine. There is no fix for that
and if you used it before, you have to migrate your data to different storage
engine BEFORE updating. This can be done for example using following command:
ALTER TABLE foo ENGINE = INNODB;
4) MySQL Upgrade Log
====================
If you missed messages displayed during automatic MySQL database upgrade, you
can find them from now on in
/var/log/mysql/mysqld-upgrade.log
5) Migration from previous versions
===================================
If you are migrating from previous versions, you should take a look at official
documentation regarding migration:
* 5.0 -> 5.1 series
https://dev.mysql.com/doc/refman/5.1/en/upgrading-from-previous-series.html
* 5.1 -> 5.5 series
https://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html
++++++ README.debug ++++++
Debugging mysqld crashes
========================
Author: Michal Marek <mmarek(a)suse.cz>
Last modified: 2006-07-31
Contents
--------
1) Query log
2) Coredumps and Backtraces
3) Trace files
In case your MySQL server crashes, here are some hints on what to
include in a bugreport at https://bugzilla.novell.com/ . Please report
there only bugs in the MySQL packages packaged by Novell/SUSE, bugs in
binaries / source provided by MySQL AB should be reported at
http://bugs.mysql.com/ .
1) Query log
------------
Note: Skip this chapter if you already have an exact query that
crashes the server
To find out which query possibly crashed the server, add the following
line to your /etc/my.cnf into section [mysqld]:
log=/var/lib/mysql/mysqld-query.log
Mysqld then will, at some performance cost, log all queries into this
file. After a server crash, you can examine the queries from the time it
crashed and try to reproduce the crash with single queries (this might
not allways work, eg. if the crash is caused by some race condition).
Note that this log file may become extremly large, so if you decide to
attach it whole to the bugzilla, don't forget to
bzip2 -k /var/lib/mysql/mysqld-query.log
and attach the bzipped file instead.
2) Coredumps and Backtraces
---------------------------
Another valuable information for the developers is the backtrace. The
easies way to get one is to let mysqld produce a coredump. Add the
following line to your /etc/my.cnf into section [mysqld]:
core-file
Note: this unfortunatelly doesn't work in SUSE Linux 10.1 and older.
On these systems, you need to run safe_mysqld directly under user
mysql:
su - mysql
mysqld_safe --socket=/var/lib/mysql/mysql.sock \
--datadir=/var/lib/mysql --core-file &
The core file will be written to the /var/lib/mysql/ directory. I
suggest setting the kernel variable kernel.core_uses_pid to 1
sysctl -w kernel.core_uses_pid=1
so that the coredumps don't overwrite each other if you experience
multiple crashes.
After you got the core file, install the gdb and mysql-debuginfo
packages and run
gdb /usr/sbin/mysqld /var/lib/mysql/core
(gdb) bt
Replace mysqld with the mysqld version you used (mysqld, mysqld-max or
mysqld-debug) and core with the actual name of the coredump.
3) Trace files
--------------
You'll need the mysqld-debug binary from the mysql-debug package to get
a trace file. Install the mysqld-debug package and the start mysqld
using following command:
$ MYSQLD_DEBUG=yes rcmysql start
Note: The init script doesn't automatically pick up the mysqld-debug
binary (as it does with mysqld-max), because it is expected to be used
just temporarily to help solving a particular problem.
The init script will then start mysqld-debug and add the --core-file,
--log and --debug options for you. The query log will be stored in
/var/lib/mysql/myqld-query.log
and the trace file in
/var/lib/mysql/mysqld.trace
If you don't like the options set by the init script, just put your own
into /etc/my.cnf and the init script will honor it. For information
about the --debug option, see "The DBUG Package":
http://dev.mysql.com/doc/refman/5.0/en/the-dbug-package.html .
The trace file will contain various debug information and function
calls/returns and will become _extremly_ huge after a while, so don't
attach it to bugzilla unless requested.
++++++ baselibs.conf ++++++
libmysqlclient18
libmysqlclient_r18
++++++ build.inc ++++++
%if 0%{?suse_version} < 1120 && 0%{?suse_version} > 0
%define socketpath /var/lib/mysql
%else
%define socketpath /var/run/mysql
%endif
%if 0%{?suse_version} > 1140
export EXTRA_FLAGS=" -Wno-unused-but-set-variable -fno-strict-aliasing -Wno-unused-parameter "
%endif
%ifarch ppc64
export EXTRA_FLAGS=" -mminimal-toc "
%endif
export CFLAGS="$RPM_OPT_FLAGS -DPIC -fPIC -DFORCE_INIT_OF_VARS $EXTRA_FLAGS "
export CXXFLAGS="$CFLAGS -fno-exceptions -fno-rtti"
%if 0%{use_cmake} < 1
autoreconf -f -i
# Make the compile a function, since we do multiple builds
BuildMySQL() {
# The --enable-assembler simply does nothing on systems that do not
# support assembler speedups.
suffix="$1"; shift
mkdir _build$suffix
pushd _build$suffix
../configure \
--enable-assembler \
--with-readline \
--infodir=%{_infodir} \
--libdir=%{_libdir} \
--libexecdir=/usr/sbin \
--localstatedir=/var/lib/mysql \
--mandir=%{_mandir} \
--prefix=%{_prefix} \
--sysconfdir=/etc \
--with-mysqld-user=mysql \
--with-mysqld-group=mysql \
--without-debug \
--datadir=/usr/share \
--includedir=/usr/include \
--with-charset=utf8 \
--with-collation=utf8_unicode_ci \
--with-extra-charsets=all \
--with-unix-socket-path=%{socketpath}/mysql.sock \
--enable-thread-safe-client \
--with-comment="SUSE MySQL RPM" \
--with-libwrap \
--with-server-suffix=$suffix \
%ifarch s390 s390x
--with-atomic-ops=rwlocks \
%else
--with-atomic-ops=smp \
%endif
--with-ssl=/usr \
--with-plugins=%{builtin_plugins} \
--without-plugin-handlersocket \
HOSTNAME="/bin/hostname -f" \
"$@"
# Add this for MyISAM RAID support:
# --with-raid
# benchdir does not fit in above model. Fix when we make a separate package
make %{?jobs:-j%jobs}
nm --numeric-sort sql/mysqld > sql/mysqld.sym
# needed for make check, which is not VPATH aware
# copy the files unconditionally so that manual 'make check' after
# the build works, too
cp -a ../mysql-test/* mysql-test/
for i in ../sql/share/{english,charsets}; do
[ -d $i ] && cp -a $i sql/share/
done
cp -a ../scripts/*.sql scripts/
%if %{?_with_testsuite:1}0
pushd mysql-test; perl ./mysql-test-run.pl --force; popd
%endif
popd
}
# Build the client, extra tools, libraries
%if 0%{?prefered} > 0
BuildMySQL "" --with-embedded-server
%else
BuildMySQL "" --without-embedded-server
%endif
# build mysqld-debug
BuildMySQL "-debug" --with-debug --without-embedded-server
%if 0%{?prefered} > 0
mkdir -p _buildlibmysqld/tmp
cd _buildlibmysqld/tmp
ar -x ../../_build/libmysqld/libmysqld.a
gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o ../libmysqld.so.0.0.1 \
*.o \
-lpthread -lcrypt -lnsl -lssl -lcrypto -lz -lrt -lstdc++ -lm -lc
cd ..
rm -rf tmp
cd ..
%endif
%else # cmake build
BuildMySQL() {
mkdir _build$1
pushd _build$1
shift
cmake -DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_JEMALLOC=no \
-DWITH_READLINE=0 \
-DWITH_LIBEDIT=0 \
-DINSTALL_LAYOUT=RPM \
-DMYSQL_UNIX_ADDR=%{socketpath}/mysql.sock \
-DINSTALL_MYSQLSHAREDIR=share/%{name} \
-DWITH_COMMENT="openSUSE MySQL rpm" \
-DWITH_EXTRA_CHARSET=all \
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_EMBEDDED_SERVER=true \
-DCOMPILATION_COMMENT="openSUSE package" \
-DDENABLE_DOWNLOADS=false \
-DINSTALL_PLUGINDIR_RPM="%{_lib}/mysql/plugin" \
-DINSTALL_LIBDIR_RPM="%{_lib}" \
"$@" ..
make %{?jobs:-j%jobs}
nm --numeric-sort sql/mysqld > sql/mysqld.sym
popd
}
BuildMySQL "" -DCMAKE_BUILD_TYPE=Release -DINSTALL_SQLBENCHDIR=share
BuildMySQL "-debug" -DCMAKE_BUILD_TYPE=Debug
%endif
++++++ install.inc ++++++
# install the debug server first, so that we don't overwrite the standard
mkdir -p %buildroot%_libdir/mysql
make -C _build-debug/sql install DESTDIR=%buildroot
mv %buildroot/usr/sbin/mysqld %buildroot/usr/sbin/mysqld-debug
install -m 644 _build-debug/sql/mysqld.sym %buildroot%_libdir/mysql/mysqld-debug.sym
# install the client, extra tools, libraries and the standard server
make -C _build install DESTDIR=%buildroot benchdir_root=/usr/share/
install -m 644 _build/sql/mysqld.sym %buildroot%_libdir/mysql/mysqld.sym
# remove handler socket client
rm -f %buildroot%_libdir/libhsclient*
rm -f %buildroot%_bindir/hsclient*
[ \! -f "%{buildroot}%{_bindir}/mytop" ] || mv %{buildroot}%{_bindir}/mytop %{buildroot}%{_bindir}/%{name}_mytop
rm -f %buildroot%_libdir/mysql/plugin/handlersocket.so
# remove most static libs (FIXME: don't build them at all...)
[ \! -f "%buildroot%_libdir/"libmysqld.a ] || mv "%buildroot%_libdir/"libmysqld.a "%buildroot%_libdir/"libmysqld.static
rm -f %buildroot%_libdir/*.a
[ \! -f "%buildroot%_libdir/"libmysqld.static ] || mv "%buildroot%_libdir/"libmysqld.static "%buildroot%_libdir/"libmysqld.a
rm -f %buildroot%_libdir/mysql/{,plugin}/*.{a,la}
rm -f %buildroot%_libdir/mysql/libndbclient.*
rm -f %{buildroot}/usr/share/mysql-test/{mysql-test-run,mtr}
rm -f %{buildroot}/usr/share/mysql/{binary-configure,errmsg-utf8.txt,magic,mysql-log-rotate,mysql*.server}
rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mtr
ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mysql-test-run
mv %{buildroot}/usr/share/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
# generate filelist for binaries and their manpages
filelist()
{
echo '%%defattr(-, root, root)'
pushd %buildroot >/dev/null
for i; do
if test -e usr/sbin/"$i"; then
echo /usr/sbin/"$i"
fi
if test -e usr/bin/"$i"; then
echo /usr/bin/"$i"
fi
if ls usr/share/man/*/"$i".[1-9]* >/dev/null 2>&1; then
echo "%%doc %_mandir/*/$i.[1-9]*"
fi
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 {m,}aria_chk {m,}aria_dump_log {m,}aria_ftdump {m,}aria_pack {m,}aria_read_log xtstat >mysql.files
filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow >mysql-client.files
filelist mysql_config >libmysqlclient-devel.files
filelist mysqlslap >mysql-bench.files
filelist mysql_client_test mysql_client_test_embedded mysql_waitpid mysqltest mysqltest_embedded >mysql-test.files
# all binaries that don't need to be in a "default" install (mysql.rpm +
# mysql-client.rpm)
filelist msql2mysql mysql_config_editor mysql_plugin mysql_convert_table_format mysql_find_rows mysql_setpermission mysql_tzinfo_to_sql mysql_zap mysqlaccess mysqlhotcopy perror replace mysql_embedded %{name}_mytop hsclient >mysql-tools.files
filelist ndbd ndbmtd ndbd_redo_log_reader >mysql-ndb-storage.files
filelist ndb_mgmd >mysql-ndb-management.files
filelist ndb_{config,desc,error_reporter,mgm,print_backup_file,print_schema_file,print_sys_file,restore,select_all,select_count,show_tables,size.pl,test_platform,waiter} >mysql-ndb-tools.files
filelist ndb_{cpcd,delete_all,drop_index,index_stat,print_file,redo_log_reader,drop_table} ndbinfo_select_all memcached >mysql-ndb-extra.files
[ -z "`ls -1 "%buildroot/usr/share/mysql/"*.ini`" ] || echo '/usr/share/mysql/*.ini' >> mysql.files
[ -z "`ls -1 "%buildroot/usr/share/mysql/"*.cnf`" ] || echo '/usr/share/mysql/*.cnf' >> mysql.files
[ \! -f "%buildroot/usr/share/%name"/dictionary.txt ] || echo "/usr/share/%name/dictionary.txt" >> mysql.files
errmsg_list()
{
echo '%%defattr(-, root, root)'
pushd %buildroot >/dev/null
for f in usr/share/%{name}/*; do
if test -e $f/errmsg.sys; then
echo "%%dir /$f"
fi
done
echo /usr/share/%{name}/errmsg-utf8.txt
popd >/dev/null
}
errmsg_list > errormessages.files
### files not installed by make install
# Create directory structure
DOCS=(COPYING README EXCEPTIONS-CLIENT %_sourcedir/README.debug %_sourcedir/README.SuSE plugin/daemon_example/daemon_example.ini)
DOCDIR=%buildroot%_defaultdocdir/%name
install -d -m 755 ${DOCDIR}
install -d -m 755 %buildroot/etc/logrotate.d
install -d -m 755 %buildroot/etc/init.d
install -m 644 _build/support-files/mysql-log-rotate %buildroot/etc/logrotate.d/mysql
%if 0%{?prefered} > 0%{?use_cmake}
install -m 644 _buildlibmysqld/*.so* %buildroot%_libdir
ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so.0
ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so
%endif
install -m 660 _build/support-files/my-medium.cnf %buildroot/etc/my.cnf
install -m 640 scripts/mysqlaccess.conf %buildroot/etc/mysqlaccess.conf
for i in "${DOCS[@]}"; do
install -m 644 "${i}" "${DOCDIR}" || true
done
install -m 755 %_sourcedir/rc.mysql-multi %buildroot/etc/init.d/mysql
sed -i 's|@MYSQLVER@|%{version}|' %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
# testsuite
mkdir -p '%buildroot'/usr/share/mysql-test/
install -m 755 suse-test-run '%buildroot'/usr/share/mysql-test/
mkdir '%buildroot'/usr/share/mysql-test/var
# Final fixes
find '%buildroot'/usr/share/mysql-test -name '*.orig' -delete
%if 0%{?suse_version} > 1030
%fdupes -s '%buildroot'/usr/share/mysql-test
%endif
%if 0%{?fedora_version} > 8
fdupes -q -n -r '%buildroot'/usr/share/mysql-test
%endif
dos2unixConversion() {
%{__sed} -i 's/\r//g' "$1"
}
for i in `grep -Rl '\r' '%buildroot'/usr/share/sql-bench`; do
dos2unixConversion "$i"
done
%if ! 0%{cluster} > 0
cat mysql-ndb-storage.files mysql-ndb-management.files \
mysql-ndb-tools.files mysql-ndb-extra.files | \
sed 's|^%%doc\ ||' | while read tmp; do
cd '%buildroot'
rm -f .$tmp
done
%endif
%if ! 0%{prefered} > 0
cat libmysqlclient-devel.files | sed 's|%%doc\ ||' | while read tmp; do
cd '%buildroot'
rm -f ."$tmp"
done
rm -rf '%buildroot'/%_libdir/libmysqld.*
rm -rf '%buildroot'/%_libdir/{*.la,*.so,*.a}
rm -rf '%buildroot'/%_datadir/man/*/mysql_config.1*
rm -rf '%buildroot'/%_includedir
rm -rf '%buildroot'/%_datadir/aclocal
%endif
sed -i 's|doc/packages/mysql|doc/packages/%{name}|g' '%buildroot'/etc/init.d/mysql
ln -s mysqlcheck '%buildroot'%_bindir/mysqlrepair
ln -s mysqlcheck '%buildroot'%_bindir/mysqlanalyze
ln -s mysqlcheck '%buildroot'%_bindir/mysqloptimize
%if 0%{?cluster} > 1
ln -s libndbclient.so.6.0.0 '%buildroot'%_libdir/libndbclient.so.6.0
ln -s libndbclient.so.6.0.0 '%buildroot'%_libdir/libndbclient.so.6
%endif
if [ -f '%buildroot'/usr/bin/mysqlaccess.conf ]; then
mv '%buildroot'/usr/bin/mysqlaccess.conf '%buildroot'/etc/mysqlaccess.conf
fi
rm -rf '%buildroot'/etc/{mysql,my.cnf.d}
mkdir -p '%buildroot'/etc/mysql
sed -i 's|^log-bin=|#\ log-bin=|' %buildroot/etc/my.cnf
sed -i 's|^binlog_format=|#\ binlog_format=|' %buildroot/etc/my.cnf
bzip2 -cd '%_sourcedir'/configuration-tweaks.tar.bz2 | tar -C '%buildroot'/etc/mysql -xvf -
%if %have_info < 1
[ -z "`ls '%buildroot'/usr/share/info/mysql.info* 2> /dev/null`" ] || rm -f '%buildroot'/usr/share/info/mysql.info*
%endif
if [ "`ls '%buildroot'%_libdir/mysql/plugin/dialog*.so 2> /dev/null`" ]; then
echo '%%dir %%_libdir/mysql' >> mysql-client.files
echo '%%dir %%_libdir/mysql/plugin' >> mysql-client.files
echo '%%_libdir/mysql/plugin/dialog*.so' >> mysql-client.files
fi
rm -rf '%buildroot'/usr/share/doc/{mysql,mariadb}*
rm -f '%buildroot'/usr/share/doc/* 2> /dev/null || true
rm -rf '%buildroot'/usr/share/mysql/{solaris,SELinux}
++++++ mysql.SuSEfirewall2 ++++++
## Name: MySQL server
## Description: opens ports for MySQL in order to allow other hosts connect to it
# space separated list of allowed TCP ports
TCP="3306"
++++++ rc.mysql-multi ++++++
#!/bin/bash
# Copyright (c) 1995-2011 SuSE Linux AG Nuernberg, Germany.
#
# Author: Lenz Grimmer
# Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
#
# mysqld_multi extension added by Richard Bos, 2008
#
# /etc/init.d/mysql
#
# and its symbolic link
#
# /usr/sbin/rcmysql
#
### BEGIN INIT INFO
# Provides: mysql
# Required-Start: $network $remote_fs
# Required-Stop: $network $remote_fs
# Default-Start: 3 5
# Default-Stop:
# Short-Description: Start the MySQL database server
# Description: Start the MySQL database server
### END INIT INFO
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v ditto but be verbose in local rc status
# rc_status -v -r ditto and clear the local rc status
# rc_failed set local and overall rc status to failed
# rc_failed <num> set local and overall rc status to <num>
# rc_reset clear local rc status (overall remains)
# rc_exit exit appropriate to overall rc status
. /etc/rc.status
# First reset status of this service
rc_reset
# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - insufficient privilege
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
#
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signalling is not supported) are
# considered a success.
# Check for the location of initscript
if [ "`echo "$0" | grep "^\."`" ] || [ "`echo "$0" | grep "^[^/].*/"`" ]; then
MYSELF="`pwd`/$0"
else
MYSELF="$0"
fi
parse_arguments() {
for arg do
case "$arg" in
--basedir=*) basedir="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--datadir=*) datadir="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--pid-file=*) pid_file="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--socket=*) socket="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--log-error=*) log_error="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--user=*) mysql_daemon_user="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
--group=*) mysql_daemon_group="`echo "$arg" | sed -e 's/^[^=]*=//'`" ;;
esac
done
}
wait_for_socket()
{
local i
for((i=0; i<150; i++)); do
sleep 0.2
test -S $1 && i='' && break
done
test -z "$i" || return 1
return 0
}
# Don't run killproc -TERM, as it could send a SIGKILL as well, possibly
# resulting in database corruption. Run kill -TERM manually instead, wait
# approximately 300 seconds and fail if mysql doesn't respond. This will at
# least prevent the SIGKILL when doing 'rcmysql stop' manually. During system
# shutdown, we are out of luck...
# See https://bugzilla.novell.com/show_bug.cgi?id=223209
kill_mysql ()
{
local pid exe test_pid_file
if [ "$1" ]; then
test_pid_file="$1"
else
test_pid_file="$pid_file"
fi
test -e "$test_pid_file" || return 7 # not running
pid=`cat "$test_pid_file"` || return 4 # insufficient privileges
if ! test -e /proc/version; then
mount -n -t proc proc /proc
test -e /proc/version || return 100
fi
test -L "/proc/$pid/exe" || return 7
exe=`readlink "/proc/$pid/exe"` || return 4
test "`echo "$exe" | grep "^$MYSQLD"`" || return 7
kill -STOP "$pid"
kill -TERM "$pid" || return 4 # suboptimal
kill -CONT "$pid"
for i in `seq 3000`; do
# mysqld removes its pid file
test -e "$test_pid_file" || return 0
LC_ALL=C sleep 0.1
done
test -e "$test_pid_file" || return 0
return 1
}
# Helper function which can end with any status
set_return_value() {
return $1
}
# Checks for obsolete database
check_obsolete() {
# check for ISAM tables
tables="`find "$datadir" -name '*.ISM' 2> /dev/null | sed "s@$datadir/*@@; s@.ISM@@; s@/@.@;"`"
if test "$tables" ; then
echo
echo "Some tables still use ISAM format, which is NO LONGER SUPPORTED"
echo "since mysql 5.0. To use these tables, you would need to open them"
echo "from an older mysql server and convert to something better (eg. MyISAM)."
echo
echo "Tables using ISAM are: "
echo " $tables "
echo
fi
# check for bdb tables
tables="`find "$datadir" -name '*.db' 2> /dev/null | sed "s@$datadir/*@@; s@.db@@; s@/@.@;"`"
if test -n "$tables" ; then
echo
echo "Some tables still use BerkeleyDB format, which is NO LONGER SUPPORTED"
echo "since mysql 5.1. To use these tables, you would need to open them"
echo "from an older mysql server and convert to something better (eg. MyISAM)."
echo
echo "Tables using BerkeleyDB are: "
echo " $tables "
echo
fi
}
# Check if we want to run multiple instances.
[[ "`cat /etc/my.cnf | sed -n 's|^[[:blank:]]*\[mysqld[0-9]\+\]|yes|p'`" ]] && MYSQLD_MULTI=yes
# This was old way how to specify this, left for backward compatibility.
[[ -f /etc/sysconfig/mysql ]] && . /etc/sysconfig/mysql
if [[ "$MYSQLD_MULTI" == "yes" ]]; then
[[ -x /usr/bin/mysqld_multi ]] || {
echo -n "MySQL: /usr/bin/mysqld_multi not found"
rc_failed 5; rc_status -v; rc_exit;
}
case "$1" in
start)
# FIXME:
# We assume a fresh install if the directory $datadir/mysql
# does not exist and create the privilege database
# if ! test -d $datadir/mysql; then
# echo -n "Creating MySQL privilege database... "
# mysql_install_db --user=$mysql_daemon_user --datadir=$datadir || {
# rc_failed; rc_status -v; rc_exit
# }
# fi
echo -n "Starting service multi MySQL "
mysqld_multi start
# Remember status and be verbose
rc_status -v
;;
stop)
echo -n "Shutting down service multi MySQL "
mysqld_multi stop
# Remember status and be verbose
rc_status -v
;;
try-restart)
## Stop the service and if this succeeds (i.e. the
## service was running before), start it again.
## Note: try-restart is not (yet) part of LSB (as of 0.7.5)
"$MYSELF" status >/dev/null && "$MYSELF" restart
# Remember status and be quiet
rc_status
;;
restart|force-reload)
echo "Restarting service multi MySQL "
"$MYSELF" stop
"$MYSELF" start
rc_status
;;
reload)
echo -n "Reloading service multi MySQL "
mysqld_multi reload
rc_status -v
;;
status)
STATUS=$(mysqld_multi report)
echo -n "$STATUS"
# Set the status for rc_status
echo "$STATUS" | grep -q "is running"
rc_status -v
;;
*)
echo "Usage: $MYSELF {start|stop|status|reload|restart|try-restart|force-reload}"
exit 1
;;
esac
else
# Test, if mysqld or mysql-max actually exist
unset MYSQLD
# use mysqld-debug only if explicitly requested (TODO: sysconfig variable?)
if test "$MYSQLD_DEBUG" = yes -a -x /usr/sbin/mysqld-debug
then
MYSQLD=/usr/sbin/mysqld-debug
elif test -x /usr/sbin/mysqld-max
then
MYSQLD=/usr/sbin/mysqld-max
elif test -x /usr/sbin/mysqld
then
MYSQLD=/usr/sbin/mysqld
fi
test "$MYSQLD" || {
echo -n "Nor /usr/sbin/mysqld nor /usr/sbin/mysqld-max exists";
rc_failed 5; rc_status -v; rc_exit;
}
# The following section has been taken from
# the original MySQL init script
# Note: If you want to change these variables, you'll make your life easier
# if you do so in /etc/my.cnf, which is preserved during upgrades
basedir=/usr
datadir=/var/lib/mysql
mysql_daemon_user=mysql
mysql_daemon_group=mysql
pid_file=/var/run/mysql/mysqld.pid
socket=/var/run/mysql/mysql.sock
print_defaults=/usr/bin/my_print_defaults
log_error=/var/log/mysql/mysqld.log
mode=$1 # start or stop
log_base="`echo "$log_error" | sed 's|\.log$||'`"
[ "$log_base" \!= "$log_error" ] || log_base="/var/log/mysql/mysql"
log_upgrade="${log_base}-upgrade.log"
log_upgrade_run="${log_base}-upgrade-run.log"
log_query="${log_base}-query.log"
parse_arguments `$print_defaults $defaults mysqld mysql_server`
mkdir -m 755 -p /var/run/mysql
chown --no-dereference "$mysql_daemon_user:$mysql_daemon_group" /var/run/mysql
export TEMPDIR="`cat /var/run/mysql/tmpdir 2> /dev/null`"
# Safeguard (relative paths, core dumps..)
cd "$basedir"
case "$1" in
start)
# exit gracefully, if we are already running
"$MYSELF" status >/dev/null && echo -n "Starting service MySQL " && \
rc_status -v && rc_exit
# prepare tmp dir
unset TMPDIR
if [ "$TEMPDIR" ] && [ -d "$TEMPDIR" ] && \
[ "`ls -ld "$TEMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
rm -rf "$TEMPDIR"
fi
TEMPDIR="`mktemp -d -p /var/tmp mysql.XXXXXX | tee /var/run/mysql/tmpdir`"
[ -z "$TEMPDIR" ] || chown --no-dereference "$mysql_daemon_user:$mysql_daemon_group" "$TEMPDIR"
[ "`ls -ld "$TEMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || {
echo "Can't create secure $TEMPDIR"
rc_failed; rc_status -v; rc_exit;
}
# Test, if safe_mysqld actually exists
SAFE_MYSQLD=/usr/bin/mysqld_safe
test -x $SAFE_MYSQLD || {
echo "$SAFE_MYSQLD does not exist ";
rc_failed 5; rc_status -v; rc_exit;
}
debug_flags=""
if test "$MYSQLD_DEBUG" = yes; then
# add --log, --core-file and --debug
# but only if not already set in my.cnf
if ! $print_defaults mysqld | \
grep -q -e '--log$' -e '--log[[:blank:]=]'
then
debug_flags="--log=${log_query}"
fi
if ! $print_defaults mysqld | grep -q -e '^--debug\>' &&
test "$MYSQLD" = /usr/sbin/mysqld-debug
then
debug_flags="$debug_flags --debug=d:t:F:L:o,$datadir/mysqld.trace"
fi
if ! $print_defaults mysqld | grep -q -e '^--core-file\>'
then
debug_flags="$debug_flags --core-file"
fi
fi
# Creating parent directories for logs
for i in "$log_upgrade" "$log_query" "$log_error"; do
log_dir="`dirname "$i"`"
if [ \! -d "$log_dir" ]; then
mkdir -p "$log_dir"
fi
chmod 770 "$log_dir"
chown -R --no-dereference mysql:mysql "$log_dir"
done
MYSQLVER="`echo @MYSQLVER@ | sed 's|\.[0-9]\+$||'`"
# We assume a fresh install if the directory $datadir/mysql
# does not exist and create the privilege database
if ! test -d "$datadir/mysql"; then
echo "Creating MySQL privilege database... "
mysql_install_db --user="$mysql_daemon_user" --datadir="$datadir" ||{
rc_failed; rc_status -v; rc_exit
}
echo -n "@MYSQLVER@" > "$datadir"/mysql_upgrade_info
fi
check_obsolete
# Run mysql_upgrade on every package install/upgrade. Not always
# necessary, but doesn't do any harm. On big upgrade, require
# user confirmation.
if [ -f "/var/lib/mysql/.run-mysql_upgrade" ]; then
echo > "$log_upgrade"
echo "`LANG="" date` - upgrading MySQL..." >> "$log_upgrade"
echo >> "$log_upgrade"
echo "Will update MySQL now, if you encounter any problems, please read following file:" | tee -a "$log_upgrade"
echo " /usr/share/doc/packages/mysql/README.SuSE" | tee -a "$log_upgrade"
sed -i -e 's|^\([[:blank:]]*\)skip-locking|\1skip-external-locking|' \
-e 's|^\([[:blank:]]*skip-federated\)|#\1|' /etc/my.cnf
# Check logs for inconsistencies
SRCLOGS=""
ALL_SRCLOGS=""
for i in "$log_error" /var/lib/mysql/mysqld.log \
/var/log/mysqld.log ; do
if test -f "$i"; then
SRCLOGS="$i"
ALL_SRCLOGS="${ALL_SRCLOGS} ${i}"
fi
done
if [ "${ALL_SRCLOGS}" \!= " ${SRCLOGS}" ]; then
echo "Log files inconsistency, please merge following files manually:"
echo $ALL_SRCLOGS | sed 's|[[:blank:]]\+|\n|' | sed 's|^|\t|'
else
if [ "$SRCLOGS" ]; then
[ "$SRCLOGS" = "$log_error" ] || mv "$SRCLOGS" "$log_error"
fi
fi
check_obsolete >> "$log_upgrade"
# instead of running mysqld --bootstrap, which wouldn't allow
# us to run mysql_upgrade, we start a full-featured server with
# --skip-grant-tables and restict access to it by unix
# permissions of the named socket
protected="`cat /var/run/mysql/protecteddir 2> /dev/null`"
if [ -d "$protected" ]; then
pid="`cat "$protected/mysqld.pid" 2> /dev/null`"
if [ "$pid" ] && [ -d "/proc/$pid" ] &&
[ "`readlink "/proc/$pid/exe" | grep "mysql"`" ]; then
echo "Can't update as another updating process is currently running" | tee -a "$log_upgrade"
echo "Please check process $pid and terminate it before restarting MySQL" | tee -a "$log_upgrade"
touch /var/lib/mysql/.run-mysql_upgrade
rc_failed; rc_status -v; rc_exit;
else
rm -rf "$protected"
fi
fi
protected="`mktemp -d -p /var/tmp mysql-protected.XXXXXX | tee /var/run/mysql/protecteddir`"
export TMPDIR="$TEMPDIR"
# Run upgrade, double check
# We need to restart mysql every time as programs
# reloads privileges tables, so we can get lock out
for cmd in "/usr/bin/mysql_upgrade" \
"/usr/bin/mysql_upgrade"; do
[ -z "$protected" ] || chown --no-dereference "$mysql_daemon_user:$mysql_daemon_group" "$protected"
[ "`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"
touch /var/lib/mysql/.run-mysql_upgrade
rc_failed; rc_status -v; rc_exit;
}
echo "Running protected MySQL... " | tee -a "$log_upgrade"
$SAFE_MYSQLD \
--mysqld=${MYSQLD#/usr/sbin/} \
$debug_flags \
--skip-networking \
--skip-grant-tables \
--datadir="$datadir" \
--user="$mysql_daemon_user" \
--log-error="$log_upgrade_run" \
--socket="$protected/mysql.sock" \
--pid-file="$protected/mysqld.pid" \
--group="$mysql_daemon_group" &>/dev/null &
wait_for_socket "$protected/mysql.sock" || {
echo "error: $protected/mysql.sock file didn't appeared... " | tee -a "$log_upgrade"
echo " Try checking \"$log_upgrade_run\"... " | tee -a "$log_upgrade"
touch /var/lib/mysql/.run-mysql_upgrade
rc_failed; rc_status -v; rc_exit;
}
if [ "`grep "Upgrading MySQL..." "$log_upgrade"`" ]; then
echo "Problems should be fixed now."
echo "Rechecking whether everything is Ok... " | tee -a "$log_upgrade"
LANG=C $cmd --no-defaults --force \
--socket="$protected/mysql.sock" | \
sed -e 's|^|\ \ \ |' | \
tee -a "$log_upgrade"
else
echo "Upgrading MySQL... " | tee -a "$log_upgrade"
LANG=C $cmd --no-defaults --force \
--socket="$protected/mysql.sock" | \
sed -e 's|^|\ \ \ |' \
-e 's|error|info|' \
-e 's|\(Table\ upgrade\ required.\).*|\1|' | \
tee -a "$log_upgrade"
fi
[ "$PIPESTATUS" -ne 0 ] && {
rc_failed; rc_status -v;
kill_mysql "$protected/mysqld.pid"
rc_exit; }
kill_mysql "$protected/mysqld.pid" || {
echo "error: Can't stop protected MySQL... " | tee -a "$log_upgrade"
rc_failed; rc_status -v;
kill_mysql "$protected/mysqld.pid"
rc_exit; }
# Everything went fine
if [ -z "`grep REPAIR "$log_upgrade"`" ] && \
[ -z "`grep "Table\ upgrade\ required" "$log_upgrade"`" ]; then
break
fi
done # end of upgrade
rm -rf "$protected"
# Fix ownerships and permissions for $datadir
chmod 750 "$datadir"
chown -R --no-dereference "$mysql_daemon_user:$mysql_daemon_group" "$datadir"
rm -f /var/adm/update-messages/mysql-*
[ "`grep "^$MYSQLVER" "$datadir/mysql_upgrade_info" 2> /dev/null`" ] || \
echo -n "@MYSQLVER@" > "$datadir/mysql_upgrade_info"
rm -f /var/lib/mysql/.run-mysql_upgrade
rm -f /var/lib/mysql/.force_upgrade
rm -f "$datadir"/{update-stamp-*,mysql/stamp-4.1} # used in the past
chown --no-dereference "$mysql_daemon_user:$mysql_daemon_group" "$log_upgrade"
chmod 640 "$log_upgrade"
fi
export TMPDIR="$TEMPDIR"
echo -n "Starting service MySQL "
$SAFE_MYSQLD \
--mysqld=${MYSQLD#/usr/sbin/} \
$debug_flags \
--user="$mysql_daemon_user" \
--pid-file="$pid_file" \
--socket="$socket" \
--datadir="$datadir" &>/dev/null &
wait_for_socket "$socket" || {
# let's not treat this as a fatal error
echo "warning: $socket didn't appear within 30 seconds"
}
chmod a+r "$pid_file"
# Rmember status and be verbose
rc_status -v
;;
stop)
echo -n "Shutting down service MySQL "
kill_mysql
if [ "$TEMPDIR" ] && [ -d "$TEMPDIR" ] && \
[ "`ls -ld "$TEMPDIR" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ]; then
rm -rf "$TEMPDIR"
fi
# Remember status and be verbose
rc_status -v
;;
try-restart)
## Stop the service and if this succeeds (i.e. the
## service was running before), start it again.
## Note: try-restart is not (yet) part of LSB (as of 0.7.5)
"$MYSELF" status >/dev/null && "$MYSELF" restart
# Remember status and be quiet
rc_status
;;
restart|force-reload)
echo "Restarting service MySQL "
"$MYSELF" stop
"$MYSELF" start
rc_status
;;
reload)
echo -n "Reloading service MySQL "
kill -HUP "`cat "$pid_file"`"
touch "$pid_file"
rc_status -v
;;
check|status)
echo -n "Checking for service MySQL: "
## Check status with checkproc(8), if process is running
## checkproc will return with exit status 0.
# Status has a slightly different for the status command:
# 0 - service running
# 1 - service dead, but /var/run/ pid file exists
# 2 - service dead, but /var/lock/ lock file exists
# 3 - service not running
# NOTE: checkproc returns LSB compliant status values,
# but it checks for running binary first and only
# if it doesn't find running process with proper
# name it checks pidfile. So we can't use it because
# akonadi runs it's own database.
# checkproc -p $pid_file $MYSQLD
if [ -f "$pid_file" ]; then
if ! [ -e /proc/version ]; then
mount -n -t proc proc /proc
test -e /proc/version || set_return_value 100
fi
pid="`cat "$pid_file"`"
if [ "$pid" ] && [ -d "/proc/$pid" ]; then
cmd=`cat "/proc/$pid/cmdline" 2> /dev/null`
exe=`readlink "/proc/$pid/exe" 2> /dev/null`
if [ "`echo "$exe" | grep "^$MYSQLD"`" ] || [ "`echo "$cmd" | grep "^$MYSQLD"`" ]; then
set_return_value 0
else
set_return_value 1
fi
else
set_return_value 1
fi
else
set_return_value 3
fi
rc_status -v
;;
*)
echo "Usage: $MYSELF {start|stop|status|reload|restart|try-restart|force-reload}"
exit 1
;;
esac
fi
rc_exit
# vim: ft=sh
++++++ series ++++++
mysql-community-server-5.1.31-shebang.patch
mysql-community-server-5.5.29-utf8-test-results.patch
mariadb-5.5.28-hotcopy.patch
mysql-community-server-5.5.6-cnf.patch
mysql-community-server-5.5.8-group.patch
mysql-community-server-5.1.45-multi-configuration.patch
mysql-community-server-5.5.6-safe-process-in-bin.patch
mysql-community-server-5.1.46-logrotate.patch
mysql-community-server-5.5.6-strncat-overflow.patch
mysql-community-server-5.1.51-install_db-quiet.patch
mysql-community-server-5.1.51-mysql_config.patch
mysql-community-server-5.1.51-mysqld_multi-features.patch
mysql-community-server-5.5.32-upgrade-exit-status.patch
mysql-community-server-5.5.12-shared-libmysqld.patch
mysql-community-server-5.5.21-va_list-handling.patch
mysql-community-server-5.5.23-fail_on_missing_errmsg_sys.patch
mysql-community-server-5.5.29-test-wrong-path.patch
mysql-community-server-5.5.29-CVE-2012-5611.patch
mysql-community-server-5.6.12-deharcode-libdir.patch
mysql-5.5.31-upgrade-datadir.patch
++++++ suse-test-run ++++++
#!/usr/bin/perl
#
# Test the SUSE mysql(-Max) package using the MySQL testsuite
my $id = getpwnam("mysql") or die "can't find user \"mysql\": $!";
my $dir = "/usr/share/mysql-test/";
if ($< == 0) {
($<, $>) = ($id, $id);
if ($< != $id || $> != $id) {
die "can't switch to user mysql(id $id): $!";
}
}
chdir($dir) or die "can't cd to $dir: $!";
exec("./mysql-test-run.pl", "--big-test", @ARGV);
die "can't execute mysql-test-run.pl: $!";
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
[View Less]
1
0
Hello community,
here is the log from the commit of package util-linux for openSUSE:13.1 checked in at 2013-09-30 09:32:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1/util-linux (Old)
and /work/SRC/openSUSE:13.1/.util-linux.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "util-linux"
Changes:
--------
--- /work/SRC/openSUSE:13.1/util-linux/util-linux.changes 2013-09-29 17:54:18.…
[View More]000000000 +0200
+++ /work/SRC/openSUSE:13.1/.util-linux.new/util-linux.changes 2013-09-30 09:32:51.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Sep 27 21:58:03 UTC 2013 - mgorse(a)suse.com
+
+- Add more-check-for-buffer-size-when-write-multibyte-char.patch and
+ more-guarantee-space-for-multibyte.patch -- check for buffer space with
+ multi-byte chars (BNC#829720).
+
+-------------------------------------------------------------------
New:
----
more-check-for-buffer-size-when-write-multibyte-char.patch
more-guarantee-space-for-multibyte.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ util-linux.spec ++++++
--- /var/tmp/diff_new_pack.M1ZDtQ/_old 2013-09-30 09:32:52.000000000 +0200
+++ /var/tmp/diff_new_pack.M1ZDtQ/_new 2013-09-30 09:32:52.000000000 +0200
@@ -102,6 +102,10 @@
Patch5: eject-scsi-check-host_status-and-driver_status.patch
# PATCH-FIX-UPSTREAM more-fix-buffer-overflow.patch bnc839720 mgorse(a)suse.com -- More: Fix under-allocation of memory.
Patch6: more-fix-buffer-overflow.patch
+# PATCH-FIX-UPSTREAM more-check-for-buffer-size-when-write-multibyte-char.patch bnc839720 mgorse(a)suse.com
+Patch7: more-check-for-buffer-size-when-write-multibyte-char.patch
+# PATCH-FIX-UPSTREAM more-guarantee-space-for-multibyte.patch bnc839720 mgorse(a)suse.com
+Patch8: more-guarantee-space-for-multibyte.patch
# disable encryption
Patch12: util-linux-2.23.1-noenc-suse.diff
@@ -222,6 +226,8 @@
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
+%patch8 -p1
%patch12 -p1
#
%patch20 -p1
++++++ more-check-for-buffer-size-when-write-multibyte-char.patch ++++++
>From c36407293d63d428af176097527df89d623bc74f Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak(a)redhat.com>
Date: Thu, 1 Aug 2013 16:00:21 +0200
Subject: [PATCH] more: check for buffer size when write multibyte char
Signed-off-by: Karel Zak <kzak(a)redhat.com>
---
text-utils/more.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/text-utils/more.c b/text-utils/more.c
index 3377118..9af15b3 100644
--- a/text-utils/more.c
+++ b/text-utils/more.c
@@ -912,7 +912,8 @@ int get_line(register FILE *f, int *length)
Fseek(f, file_pos_bak);
break_flag = 1;
} else {
- for (i = 0; i < mbc_pos; i++)
+ for (i = 0; p < &Line[LineLen - 1] &&
+ i < mbc_pos; i++)
*p++ = mbc[i];
if (wc_width > 0)
column += wc_width;
--
1.8.4
++++++ more-guarantee-space-for-multibyte.patch ++++++
>From 418cb4b3bb7a61aec62ebe91194f7722ea608842 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak(a)redhat.com>
Date: Thu, 1 Aug 2013 16:41:50 +0200
Subject: [PATCH] more: guarantee space for multibyte
.. to make the code more robust.
Signed-off-by: Karel Zak <kzak(a)redhat.com>
---
text-utils/more.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/text-utils/more.c b/text-utils/more.c
index 9af15b3..ac35acc 100644
--- a/text-utils/more.c
+++ b/text-utils/more.c
@@ -1030,6 +1030,12 @@ int get_line(register FILE *f, int *length)
if (column >= Mcol && fold_opt)
break;
+#ifdef HAVE_WIDECHAR
+ if (use_mbc_buffer_flag == 0 && p >= &Line[LineLen - 1 - 4])
+ /* don't read another char if there is no space for
+ * whole multibyte sequence */
+ break;
+#endif
c = Getc(f);
}
if (column >= Mcol && Mcol > 0) {
--
1.8.4
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
[View Less]
1
0
Hello community,
here is the log from the commit of package util-linux for openSUSE:Factory checked in at 2013-09-30 09:32:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/util-linux (Old)
and /work/SRC/openSUSE:Factory/.util-linux.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "util-linux"
Changes:
--------
--- /work/SRC/openSUSE:Factory/util-linux/util-linux.changes 2013-09-…
[View More]29 17:54:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.util-linux.new/util-linux.changes 2013-09-30 09:32:50.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Sep 27 21:58:03 UTC 2013 - mgorse(a)suse.com
+
+- Add more-check-for-buffer-size-when-write-multibyte-char.patch and
+ more-guarantee-space-for-multibyte.patch -- check for buffer space with
+ multi-byte chars (BNC#829720).
+
+-------------------------------------------------------------------
New:
----
more-check-for-buffer-size-when-write-multibyte-char.patch
more-guarantee-space-for-multibyte.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ util-linux.spec ++++++
--- /var/tmp/diff_new_pack.cGKfFZ/_old 2013-09-30 09:32:51.000000000 +0200
+++ /var/tmp/diff_new_pack.cGKfFZ/_new 2013-09-30 09:32:51.000000000 +0200
@@ -102,6 +102,10 @@
Patch5: eject-scsi-check-host_status-and-driver_status.patch
# PATCH-FIX-UPSTREAM more-fix-buffer-overflow.patch bnc839720 mgorse(a)suse.com -- More: Fix under-allocation of memory.
Patch6: more-fix-buffer-overflow.patch
+# PATCH-FIX-UPSTREAM more-check-for-buffer-size-when-write-multibyte-char.patch bnc839720 mgorse(a)suse.com
+Patch7: more-check-for-buffer-size-when-write-multibyte-char.patch
+# PATCH-FIX-UPSTREAM more-guarantee-space-for-multibyte.patch bnc839720 mgorse(a)suse.com
+Patch8: more-guarantee-space-for-multibyte.patch
# disable encryption
Patch12: util-linux-2.23.1-noenc-suse.diff
@@ -222,6 +226,8 @@
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
+%patch8 -p1
%patch12 -p1
#
%patch20 -p1
++++++ more-check-for-buffer-size-when-write-multibyte-char.patch ++++++
>From c36407293d63d428af176097527df89d623bc74f Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak(a)redhat.com>
Date: Thu, 1 Aug 2013 16:00:21 +0200
Subject: [PATCH] more: check for buffer size when write multibyte char
Signed-off-by: Karel Zak <kzak(a)redhat.com>
---
text-utils/more.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/text-utils/more.c b/text-utils/more.c
index 3377118..9af15b3 100644
--- a/text-utils/more.c
+++ b/text-utils/more.c
@@ -912,7 +912,8 @@ int get_line(register FILE *f, int *length)
Fseek(f, file_pos_bak);
break_flag = 1;
} else {
- for (i = 0; i < mbc_pos; i++)
+ for (i = 0; p < &Line[LineLen - 1] &&
+ i < mbc_pos; i++)
*p++ = mbc[i];
if (wc_width > 0)
column += wc_width;
--
1.8.4
++++++ more-guarantee-space-for-multibyte.patch ++++++
>From 418cb4b3bb7a61aec62ebe91194f7722ea608842 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak(a)redhat.com>
Date: Thu, 1 Aug 2013 16:41:50 +0200
Subject: [PATCH] more: guarantee space for multibyte
.. to make the code more robust.
Signed-off-by: Karel Zak <kzak(a)redhat.com>
---
text-utils/more.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/text-utils/more.c b/text-utils/more.c
index 9af15b3..ac35acc 100644
--- a/text-utils/more.c
+++ b/text-utils/more.c
@@ -1030,6 +1030,12 @@ int get_line(register FILE *f, int *length)
if (column >= Mcol && fold_opt)
break;
+#ifdef HAVE_WIDECHAR
+ if (use_mbc_buffer_flag == 0 && p >= &Line[LineLen - 1 - 4])
+ /* don't read another char if there is no space for
+ * whole multibyte sequence */
+ break;
+#endif
c = Getc(f);
}
if (column >= Mcol && Mcol > 0) {
--
1.8.4
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
[View Less]
1
0