first commit
This commit is contained in:
commit
d70db360fe
19
.gitignore
vendored
Normal file
19
.gitignore
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
temp/*
|
||||
*.tar
|
||||
*.tgz
|
||||
*.tbz
|
||||
*.xz
|
||||
*.gz
|
||||
*.bz2
|
||||
*.zip
|
||||
*.rar
|
||||
*.rpm
|
||||
*.asc
|
||||
*.sig
|
||||
*.swp
|
||||
*_orig
|
||||
*_old
|
||||
*.bak
|
||||
*.old
|
||||
/a/*
|
||||
/b/*
|
22
compat-libicu4/canonicalize.patch
Normal file
22
compat-libicu4/canonicalize.patch
Normal file
@ -0,0 +1,22 @@
|
||||
Index: source/common/uloc.c
|
||||
===================================================================
|
||||
--- source/common/uloc.c (revision 113138)
|
||||
+++ source/common/uloc.c (working copy)
|
||||
@@ -1797,7 +1797,7 @@
|
||||
int32_t variantLen = _deleteVariant(variant, uprv_min(variantSize, (nameCapacity-len)), variantToCompare, n);
|
||||
len -= variantLen;
|
||||
if (variantLen > 0) {
|
||||
- if (name[len-1] == '_') { /* delete trailing '_' */
|
||||
+ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */
|
||||
--len;
|
||||
}
|
||||
addKeyword = VARIANT_MAP[j].keyword;
|
||||
@@ -1805,7 +1805,7 @@
|
||||
break;
|
||||
}
|
||||
}
|
||||
- if (name[len-1] == '_') { /* delete trailing '_' */
|
||||
+ if (len > 0 && len <= nameCapacity && name[len-1] == '_') { /* delete trailing '_' */
|
||||
--len;
|
||||
}
|
||||
}
|
70
compat-libicu4/icu-3.4-multiarchdevel.patch
Normal file
70
compat-libicu4/icu-3.4-multiarchdevel.patch
Normal file
@ -0,0 +1,70 @@
|
||||
--- icu/source/configure.in.orig 2006-05-02 12:10:31.000000000 +0100
|
||||
+++ icu/source/configure.in 2006-05-02 15:06:07.000000000 +0100
|
||||
@@ -1117,6 +1117,7 @@
|
||||
Makefile \
|
||||
data/pkgdataMakefile \
|
||||
config/Makefile.inc \
|
||||
+ config/icu.pc \
|
||||
config/pkgdataMakefile \
|
||||
data/Makefile \
|
||||
stubdata/Makefile \
|
||||
--- /dev/null 2006-04-29 13:38:37.035974750 +0100
|
||||
+++ icu/source/config/icu.pc.in 2006-05-02 15:03:14.000000000 +0100
|
||||
@@ -0,0 +1,46 @@
|
||||
+prefix = @prefix@
|
||||
+bindir = @bindir@
|
||||
+exec_prefix = @exec_prefix@
|
||||
+libdir = @libdir@
|
||||
+includedir = @includedir@
|
||||
+datadir = @datadir@
|
||||
+sbindir = @sbindir@
|
||||
+mandir = @mandir@
|
||||
+sysconfdir = @sysconfdir@
|
||||
+CFLAGS = @CFLAGS@
|
||||
+CXXFLAGS = @CXXFLAGS@
|
||||
+DEFS = @DEFS@
|
||||
+UNICODE_VERSION=@UNICODE_VERSION@
|
||||
+ICUPREFIX=icu
|
||||
+ICULIBSUFFIX=@ICULIBSUFFIX@
|
||||
+LIBICU=lib${ICUPREFIX}
|
||||
+LIBCPPFLAGS=-D_REENTRANT
|
||||
+CPPFLAGS=@CPPFLAGS@ ${LIBCPPFLAGS} -I${prefix}/include
|
||||
+SHAREDLIBCPPFLAGS=-DPIC
|
||||
+SHAREDLIBCXXFLAGS=-fPIC
|
||||
+SHAREDLIBCFLAGS=-fPIC
|
||||
+pkglibdir=${libdir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@
|
||||
+pkgdatadir=${datadir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@
|
||||
+ICUDATA_NAME = icudt@LIB_VERSION_MAJOR@@ICUDATA_CHAR@
|
||||
+ICUPKGDATA_DIR=@libdir@
|
||||
+ICUDATA_DIR=${pkgdatadir}
|
||||
+SO=so
|
||||
+ICULIBS_COMMON_LIB_NAME=${LIBICU}uc${ICULIBSUFFIX}.${SO}
|
||||
+SHLIB_cc=cxx ${DEFS} ${CPPFLAGS} ${CXXFLAGS} @LDFLAGS@ -shared
|
||||
+SHLIB_c=cc ${DEFS} ${CPPFLAGS} ${CFLAGS} @LDFLAGS@ -shared
|
||||
+ICULIBS_LAYOUT = -l${ICUPREFIX}le${ICULIBSUFFIX} -l${ICUPREFIX}lx${ICULIBSUFFIX}
|
||||
+ICULIBS_TOOLUTIL = -l${ICUPREFIX}tu${ICULIBSUFFIX}
|
||||
+ICULIBS_OBSOLETE = -l${ICUPREFIX}obsolete${ICULIBSUFFIX}
|
||||
+ICULIBS_ICUIO = -l${ICUPREFIX}io${ICULIBSUFFIX}
|
||||
+ICULIBS_I18N = -l${ICUPREFIX}i18n${ICULIBSUFFIX}
|
||||
+ICULIBS_COMMON = -l${ICUPREFIX}uc${ICULIBSUFFIX}
|
||||
+ICULIBS_DATA = -l${ICUPREFIX}data${ICULIBSUFFIX}
|
||||
+ICULIBS_LIBSONLY = ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA}
|
||||
+ICULIBS_SYSTEMLIBS = @LIBS@
|
||||
+ICULIBS_BASE = @LIBS@ -L${libdir}
|
||||
+ICULIBS = ${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA}
|
||||
+
|
||||
+Name: @PACKAGE@
|
||||
+Description: International Components for Unicode
|
||||
+Version: @VERSION@
|
||||
+Libs: @LDFLAGS@ ${ICULIBS} @LIBS@
|
||||
--- icu/source/Makefile.in.orig 2006-05-02 12:10:31.000000000 +0100
|
||||
+++ icu/source/Makefile.in 2006-05-02 15:18:15.000000000 +0100
|
||||
@@ -126,6 +126,8 @@
|
||||
$(INSTALL_DATA) @platform_make_fragment@ $(DESTDIR)$(pkgdatadir)/config/@platform_make_fragment_name@
|
||||
$(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(pkgdatadir)/mkinstalldirs
|
||||
$(INSTALL_SCRIPT) $(top_srcdir)/install-sh $(DESTDIR)$(pkgdatadir)/install-sh
|
||||
+ @$(MKINSTALLDIRS) $(DESTDIR)$(libdir)/pkgconfig
|
||||
+ $(INSTALL_DATA) $(top_srcdir)/config/icu.pc $(DESTDIR)$(libdir)/pkgconfig/icu.pc
|
||||
$(INSTALL_DATA) $(top_srcdir)/../license.html $(DESTDIR)$(pkgdatadir)/license.html
|
||||
$(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config
|
||||
$(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/Makefile.inc
|
13
compat-libicu4/icu-4.2.1-configure-cxx_try_link.patch
Normal file
13
compat-libicu4/icu-4.2.1-configure-cxx_try_link.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up icu/source/configure.in~ icu/source/configure.in
|
||||
--- icu/source/configure.in~ 2014-03-07 21:55:33.000000000 +0000
|
||||
+++ icu/source/configure.in 2014-03-07 21:56:30.000000000 +0000
|
||||
@@ -268,6 +268,9 @@ if test "x$AR" = "x"; then
|
||||
AC_MSG_ERROR(Archiver ar not found. Set AR= or fix PATH)
|
||||
fi
|
||||
|
||||
+AC_LANG_PUSH([C++])
|
||||
+AC_LINK_IFELSE([AC_LANG_PROGRAM()])
|
||||
+AC_LANG_POP([C++])
|
||||
|
||||
AC_MSG_CHECKING([whether to enable renaming of symbols])
|
||||
enabled=yes
|
424
compat-libicu4/icu-config
Executable file
424
compat-libicu4/icu-config
Executable file
@ -0,0 +1,424 @@
|
||||
#!/bin/sh
|
||||
## -*-sh-*-
|
||||
#set -x
|
||||
# BEGIN of icu-config-top
|
||||
#******************************************************************************
|
||||
# Copyright (C) 1999-2004, International Business Machines
|
||||
# Corporation and others. All Rights Reserved.
|
||||
#******************************************************************************
|
||||
# This script is designed to aid configuration of ICU.
|
||||
|
||||
### END of icu-config-top
|
||||
|
||||
exec_prefix=`pkg-config --variable=exec_prefix icu`
|
||||
execprefix=$exec_prefix
|
||||
prefix=`pkg-config --variable=prefix icu`
|
||||
|
||||
|
||||
loaddefs()
|
||||
{
|
||||
|
||||
libdir=`pkg-config --variable=libdir icu`
|
||||
bindir=`pkg-config --variable=bindir icu`
|
||||
datadir=`pkg-config --variable=datadir icu`
|
||||
bindir=`pkg-config --variable=sbindir icu`
|
||||
|
||||
# about the ICU version
|
||||
VERSION=`pkg-config --modversion icu`
|
||||
UNICODE_VERSION=`pkg-config --variable=UNICODE_VERSION icu`
|
||||
|
||||
# for icu-config to test with
|
||||
ICULIBS_COMMON_LIB_NAME=`pkg-config --variable=ICULIBS_COMMON_LIB_NAME icu`
|
||||
|
||||
# Proper echo newline handling is needed in icu-config
|
||||
ECHO_N="-n"
|
||||
ECHO_C=""
|
||||
|
||||
LDLIBRARYPATH_ENVVAR="LD_LIBRARY_PATH"
|
||||
|
||||
pkgdatadir=`pkg-config --variable=pkgdatadir icu`
|
||||
pkglibdir=`pkg-config --variable=pkglibdir icu`
|
||||
|
||||
CC="gcc"
|
||||
CXX="g++"
|
||||
# use a consistent INSTALL
|
||||
INSTALL="${SHELL} ${pkgdatadir}/install-sh -c"
|
||||
MKINSTALLDIRS="${SHELL} ${pkgdatadir}/mkinstalldirs"
|
||||
PKGDATA_MODE="dll"
|
||||
|
||||
## End Linux-specific setup
|
||||
|
||||
## -*-sh-*-
|
||||
## BEGIN of icu-config-bottom.
|
||||
## Copyright (c) 2002-2008, International Business Machines Corporation and
|
||||
## others. All Rights Reserved.
|
||||
|
||||
ICUUC_FILE=${libdir}/${ICULIBS_COMMON_LIB_NAME}
|
||||
|
||||
}
|
||||
|
||||
## The actual code of icu-config goes here.
|
||||
|
||||
ME=`basename "$0"`
|
||||
|
||||
allflags()
|
||||
{
|
||||
echo " --bindir Print binary directory path (bin)"
|
||||
echo " --cc Print C compiler used [CC]"
|
||||
echo " --cflags Print C compiler flags [CFLAGS]"
|
||||
echo " --cflags-dynamic Print additional C flags for"
|
||||
echo " building shared libraries."
|
||||
echo " --cppflags Print C Preprocessor flags [CPPFLAGS]"
|
||||
echo " --cppflags-dynamic Print additional C Preprocessor flags for"
|
||||
echo " building shared libraries."
|
||||
echo " --cppflags-searchpath Print only -I include directives (-Iinclude)"
|
||||
echo " --cxx Print C++ compiler used [CXX]"
|
||||
echo " --cxxflags Print C++ compiler flags [CXXFLAGS]"
|
||||
echo " --cxxflags-dynamic Print additional C++ flags for"
|
||||
echo " building shared libraries."
|
||||
echo " --detect-prefix Attempt to detect prefix based on PATH"
|
||||
echo " --exec-prefix Print prefix for executables (/bin)"
|
||||
echo " --exists Return with 0 status if ICU exists else fail"
|
||||
echo " --help, -?, --usage Print this message"
|
||||
echo " --icudata Print shortname of ICU data file (icudt21l)"
|
||||
echo " --icudata-install-dir Print path to install data to - use as --install option to pkgdata(1)"
|
||||
echo " --icudata-mode Print default ICU pkgdata mode (dll) - use as --mode option to pkgdata(1)."
|
||||
echo " --icudatadir Print path to packaged archive data. Can set as [ICU_DATA]"
|
||||
echo " --invoke Print commands to invoke an ICU program"
|
||||
echo " --invoke=<prog> Print commands to invoke an ICU program named <prog> (ex: genrb)"
|
||||
echo " --ldflags Print -L search path and -l libraries to link with ICU [LDFLAGS]. This is for the data, uc (common), and i18n libraries only. "
|
||||
echo " --ldflags-layout Print ICU layout engine link directive. Use in addition to --ldflags"
|
||||
echo " --ldflags-libsonly Same as --ldflags, but only the -l directives"
|
||||
echo " --ldflags-searchpath Print only -L (search path) directive"
|
||||
echo " --ldflags-system Print only system libs ICU links with (-lpthread, -lm)"
|
||||
echo " --ldflags-icuio Print ICU icuio link directive. Use in addition to --ldflags "
|
||||
echo " --ldflags-obsolete Print ICU obsolete link directive. Use in addition to --ldflags. (requires icuapps/obsolete to be built and installed.) "
|
||||
echo " --mandir Print manpage (man) path"
|
||||
echo " --prefix Print PREFIX to icu install (/usr/local)"
|
||||
echo " --prefix=XXX Set prefix to XXX for remainder of command"
|
||||
echo " --sbindir Print system binary path (sbin) "
|
||||
echo " --shared-datadir Print shared data (share) path. This is NOT the ICU data dir."
|
||||
echo " --shlib-c Print the command to compile and build C shared libraries with ICU"
|
||||
echo " --shlib-cc Print the command to compile and build C++ shared libraries with ICU"
|
||||
echo " --sysconfdir Print system config (etc) path"
|
||||
echo " --unicode-version Print version of Unicode data used in ICU ($UNICODE_VERSION)"
|
||||
echo " --version Print ICU version ($VERSION)"
|
||||
echo " --incfile Print path to Makefile.inc"
|
||||
echo " --incpkgdatafile Print path to pkgdata.inc (for -O option of pkgdata)"
|
||||
echo " --install Print path to install-sh"
|
||||
echo " --mkinstalldirs Print path to mkinstalldirs"
|
||||
}
|
||||
|
||||
## Print the normal usage message
|
||||
shortusage()
|
||||
{
|
||||
echo "usage: ${ME} " `allflags | cut -c-25 | sed -e 's%.*%[ & ]%'`
|
||||
}
|
||||
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "${ME}: icu-config: ICU configuration helper script"
|
||||
echo
|
||||
echo "The most commonly used options will be --cflags, --cxxflags, --cppflags, and --ldflags."
|
||||
echo 'Example (in make): CPFLAGS=$(shell icu-config --cppflags)'
|
||||
echo ' LDFLAGS=$(shell icu-config --ldflags)'
|
||||
echo " (etc).."
|
||||
echo
|
||||
echo "Usage:"
|
||||
allflags
|
||||
|
||||
echo
|
||||
echo " [Brackets] show MAKE variable equivalents, (parenthesis) show example output"
|
||||
echo
|
||||
echo "Copyright (c) 2002, International Business Machines Corporation and others. All Rights Reserved."
|
||||
}
|
||||
|
||||
## Check the sanity of current variables
|
||||
sanity()
|
||||
{
|
||||
if [ ! -f ${ICUUC_FILE} ] && [ ${IGNORE_ICUUC_FILE_CHECK} = "no" ];
|
||||
then
|
||||
echo "### $ME: Can't find ${ICUUC_FILE} - ICU prefix is wrong." 1>&2
|
||||
echo "### Try the --prefix= option " 1>&2
|
||||
echo "### or --detect-prefix"
|
||||
echo "### $ME: Exitting." 1>&2
|
||||
exit 2
|
||||
fi
|
||||
}
|
||||
|
||||
## Main starts here.
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
shortusage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# For certain options (e.g. --detect-prefix) don't check for icuuc library file.
|
||||
IGNORE_ICUUC_FILE_CHECK="no";
|
||||
case "$1" in
|
||||
*prefix*)
|
||||
IGNORE_ICUUC_FILE_CHECK="yes"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Load our variables from autoconf
|
||||
# ALWAYS load twice because of dependencies
|
||||
loaddefs
|
||||
loaddefs
|
||||
|
||||
if [ $1 = "--selfcheck" ];
|
||||
then
|
||||
echo "passed"
|
||||
exit
|
||||
# EXIT for self check
|
||||
fi
|
||||
|
||||
sanity
|
||||
|
||||
while [ $# -gt 0 ];
|
||||
do
|
||||
arg="$1"
|
||||
var=`echo $arg | sed -e 's/^[^=]*=//'`
|
||||
# echo "### processing $arg" 1>&2
|
||||
case "$arg" in
|
||||
|
||||
# undocumented.
|
||||
--debug)
|
||||
set -x
|
||||
;;
|
||||
|
||||
--so)
|
||||
pkg-config --variable=SO icu
|
||||
;;
|
||||
|
||||
--bindir)
|
||||
echo $bindir
|
||||
;;
|
||||
|
||||
--libdir)
|
||||
echo $libdir
|
||||
;;
|
||||
|
||||
--exists)
|
||||
sanity
|
||||
;;
|
||||
|
||||
--sbindir)
|
||||
echo $sbindir
|
||||
;;
|
||||
|
||||
--mkinstalldirs)
|
||||
echo ${MKINSTALLDIRS}
|
||||
;;
|
||||
|
||||
--install)
|
||||
echo ${INSTALL}
|
||||
;;
|
||||
|
||||
--invoke=*)
|
||||
QUOT="\""
|
||||
CMD="${var}"
|
||||
|
||||
# If it's not a locally executable command (1st choice) then
|
||||
# search for it in the ICU directories.
|
||||
if [ ! -x ${CMD} ]; then
|
||||
if [ -x ${bindir}/${var} ]; then
|
||||
CMD="${bindir}/${var}"
|
||||
fi
|
||||
if [ -x ${sbindir}/${var} ]; then
|
||||
CMD="${sbindir}/${var}"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT} ${CMD}
|
||||
;;
|
||||
|
||||
--invoke)
|
||||
QUOT="\""
|
||||
echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT}
|
||||
;;
|
||||
|
||||
--cflags)
|
||||
pkg-config --variable=CFLAGS icu
|
||||
;;
|
||||
|
||||
--cc)
|
||||
echo $ECHO_N "${CC}${ECHO_C} "
|
||||
;;
|
||||
|
||||
--cxx)
|
||||
echo $ECHO_N "${CXX}${ECHO_C} "
|
||||
;;
|
||||
|
||||
--cxxflags)
|
||||
pkg-config --variable=CXXFLAGS icu
|
||||
;;
|
||||
|
||||
--cppflags)
|
||||
# Don't echo the -I. - it's unneeded.
|
||||
CPPFLAGS=`pkg-config --variable=CPPFLAGS icu`
|
||||
echo $ECHO_N "${CPPFLAGS}${ECHO_C} " | sed -e 's/-I. //'
|
||||
;;
|
||||
|
||||
--cppflags-searchpath)
|
||||
echo $ECHO_N "-I${prefix}/include${ECHO_C} "
|
||||
;;
|
||||
|
||||
--cppflags-dynamic)
|
||||
pkg-config --variable=SHAREDLIBCPPFLAGS icu
|
||||
;;
|
||||
|
||||
--cxxflags-dynamic)
|
||||
pkg-config --variable=SHAREDLIBCXXFLAGS icu
|
||||
;;
|
||||
|
||||
--cflags-dynamic)
|
||||
pkg-config --variable=SHAREDLIBCFLAGS icu
|
||||
;;
|
||||
|
||||
--ldflags-system)
|
||||
pkg-config --variable=ICULIBS_SYSTEMLIBS icu
|
||||
;;
|
||||
|
||||
--ldflags)
|
||||
pkg-config --libs icu
|
||||
;;
|
||||
|
||||
--ldflags-libsonly)
|
||||
pkg-config --variable=ICULIBS_LIBSONLY icu
|
||||
;;
|
||||
|
||||
--ldflags-icuio)
|
||||
pkg-config --variable=ICULIBS_ICUIO icu
|
||||
;;
|
||||
|
||||
--ldflags-obsolete)
|
||||
pkg-config --variable=ICULIBS_OBSOLETE icu
|
||||
;;
|
||||
|
||||
--ldflags-toolutil)
|
||||
pkg-config --variable=ICULIBS_TOOLUTIL icu
|
||||
;;
|
||||
|
||||
--ldflags-layout)
|
||||
pkg-config --variable=ICULIBS_LAYOUT icu
|
||||
;;
|
||||
|
||||
--ldflags-searchpath)
|
||||
echo $ECHO_N "-L${libdir}${ECHO_C} "
|
||||
;;
|
||||
|
||||
--detect-prefix)
|
||||
HERE=`echo $0 | sed -e "s/$ME//g"`
|
||||
if [ -f $HERE/../lib/${ICULIBS_COMMON_LIB_NAME} ]; then
|
||||
prefix=$HERE/..
|
||||
echo "## Using --prefix=${prefix}" 1>&2
|
||||
fi
|
||||
loaddefs
|
||||
loaddefs
|
||||
;;
|
||||
|
||||
--exec-prefix)
|
||||
echo $exec_prefix
|
||||
;;
|
||||
|
||||
--prefix)
|
||||
echo $prefix
|
||||
;;
|
||||
|
||||
--prefix=*)
|
||||
prefix=$var
|
||||
loaddefs
|
||||
loaddefs
|
||||
;;
|
||||
|
||||
--sysconfdir)
|
||||
pkg-config --variable=sysconfdir icu
|
||||
;;
|
||||
|
||||
--mandir)
|
||||
pkg-config --variable=mandir icu
|
||||
;;
|
||||
|
||||
--shared-datadir)
|
||||
echo $ECHO_N "${datadir}${ECHO_C} "
|
||||
;;
|
||||
|
||||
--incfile)
|
||||
echo $ECHO_N "${pkglibdir}/Makefile.inc${ECHO_C} "
|
||||
;;
|
||||
|
||||
--incpkgdatafile)
|
||||
echo $ECHO_N "${pkglibdir}/pkgdata.inc${ECHO_C} "
|
||||
;;
|
||||
|
||||
--icudata)
|
||||
pkg-config --variable=ICUDATA_NAME icu
|
||||
;;
|
||||
|
||||
--icudata-mode)
|
||||
echo $ECHO_N "${PKGDATA_MODE}${ECHO_C} "
|
||||
;;
|
||||
|
||||
--icudata-install-dir)
|
||||
pkg-config --variable=ICUPKGDATA_DIR icu
|
||||
;;
|
||||
|
||||
--icudatadir)
|
||||
pkg-config --variable=ICUDATA_DIR icu
|
||||
;;
|
||||
|
||||
--shlib-c)
|
||||
pkg-config --variable=SHLIB_c icu
|
||||
;;
|
||||
|
||||
--shlib-cc)
|
||||
pkg-config --variable=SHLIB_cc icu
|
||||
;;
|
||||
|
||||
--version)
|
||||
echo $ECHO_N $VERSION
|
||||
;;
|
||||
|
||||
--unicode-version)
|
||||
echo $ECHO_N $UNICODE_VERSION
|
||||
;;
|
||||
|
||||
--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
|
||||
--usage)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
|
||||
-?)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
echo ${ME}: ERROR Unknown Option $arg 1>&2
|
||||
echo 1>&2
|
||||
shortusage 1>&2
|
||||
echo "### $ME: Exitting." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
|
||||
# Reset the ignore icuuc file check flag
|
||||
if [ $IGNORE_ICUUC_FILE_CHECK = "yes" ]; then
|
||||
IGNORE_ICUUC_FILE_CHECK="no"
|
||||
sanity
|
||||
fi
|
||||
done
|
||||
echo
|
||||
# Check once before we quit (will check last used prefix)
|
||||
sanity
|
||||
## END of icu-config-bottom
|
||||
|
||||
exit 0
|
189
compat-libicu4/icu.6969.pkgdata.patch
Normal file
189
compat-libicu4/icu.6969.pkgdata.patch
Normal file
@ -0,0 +1,189 @@
|
||||
Index: source/tools/pkgdata/pkgdata.cpp
|
||||
===================================================================
|
||||
--- source.orig/tools/pkgdata/pkgdata.cpp 2009-06-26 14:57:38.000000000 -0400
|
||||
+++ source/tools/pkgdata/pkgdata.cpp 2009-06-27 10:12:08.437285758 -0400
|
||||
@@ -118,6 +118,7 @@
|
||||
static void createFileNames(const char *version_major, const char *version, const char *libName, const UBool reverseExt);
|
||||
|
||||
static int32_t pkg_getOptionsFromICUConfig(UOption *option);
|
||||
+static int runCommand(const char* command);
|
||||
|
||||
enum {
|
||||
NAME,
|
||||
@@ -461,6 +462,17 @@
|
||||
return result;
|
||||
}
|
||||
|
||||
+static int runCommand(const char* command)
|
||||
+{
|
||||
+ printf("pkgdata: %s\n", command);
|
||||
+ int result = system(command);
|
||||
+ if (result != 0)
|
||||
+ {
|
||||
+ printf("-- return status = %d\n", result);
|
||||
+ }
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
#define LN_CMD "ln -s"
|
||||
#define RM_CMD "rm -f"
|
||||
|
||||
@@ -724,7 +736,7 @@
|
||||
LN_CMD,
|
||||
libFileNames[LIB_FILE_VERSION],
|
||||
libFileNames[LIB_FILE_VERSION_MAJOR]);
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
if (result != 0) {
|
||||
return result;
|
||||
}
|
||||
@@ -737,7 +749,7 @@
|
||||
libFileNames[LIB_FILE_VERSION],
|
||||
libFileNames[LIB_FILE], pkgDataFlags[SO_EXT]);
|
||||
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -753,7 +765,7 @@
|
||||
installDir, PKGDATA_FILE_SEP_STRING, libFileNames[LIB_FILE_VERSION]
|
||||
);
|
||||
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
|
||||
if (result != 0) {
|
||||
return result;
|
||||
@@ -795,7 +807,7 @@
|
||||
srcDir, PKGDATA_FILE_SEP_STRING, buffer,
|
||||
installDir, PKGDATA_FILE_SEP_STRING, buffer);
|
||||
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
if (result != 0) {
|
||||
fprintf(stderr, "Failed to install data file with command: %s\n", cmd);
|
||||
break;
|
||||
@@ -815,7 +827,7 @@
|
||||
}
|
||||
#else
|
||||
sprintf(cmd, "%s %s %s %s", WIN_INSTALL_CMD, srcDir, installDir, WIN_INSTALL_CMD_FLAGS);
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
if (result != 0) {
|
||||
fprintf(stderr, "Failed to install data file with command: %s\n", cmd);
|
||||
}
|
||||
@@ -849,7 +861,17 @@
|
||||
targetDir,
|
||||
libFileNames[LIB_FILE_VERSION_TMP]);
|
||||
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
+ if (result != 0) {
|
||||
+ return result;
|
||||
+ }
|
||||
+
|
||||
+ sprintf(cmd, "%s %s%s",
|
||||
+ pkgDataFlags[RANLIB],
|
||||
+ targetDir,
|
||||
+ libFileNames[LIB_FILE_VERSION]);
|
||||
+
|
||||
+ result = runCommand(cmd);
|
||||
if (result != 0) {
|
||||
return result;
|
||||
}
|
||||
@@ -860,7 +882,7 @@
|
||||
targetDir,
|
||||
libFileNames[LIB_FILE_VERSION_TMP]);
|
||||
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
if (result != 0) {
|
||||
return result;
|
||||
}
|
||||
@@ -908,7 +930,21 @@
|
||||
pkgDataFlags[A_EXT],
|
||||
objectFile);
|
||||
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
+ if (result == 0)
|
||||
+ {
|
||||
+#ifdef OS400
|
||||
+ sprintf(cmd, "QSH CMD('%s %s%s.%s')",
|
||||
+#else
|
||||
+ sprintf(cmd, "%s %s%s.%s",
|
||||
+#endif
|
||||
+ pkgDataFlags[RANLIB],
|
||||
+ targetDir,
|
||||
+ libFileNames[LIB_FILE],
|
||||
+ pkgDataFlags[A_EXT]);
|
||||
+
|
||||
+ result = runCommand(cmd);
|
||||
+ }
|
||||
} else /* if (mode == MODE_DLL) */ {
|
||||
#ifdef U_CYGWIN
|
||||
sprintf(cmd, "%s%s%s %s -o %s%s %s %s%s %s %s",
|
||||
@@ -935,7 +971,7 @@
|
||||
pkgDataFlags[BIR_FLAGS]);
|
||||
|
||||
/* Generate the library file. */
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
}
|
||||
|
||||
if (freeCmd) {
|
||||
@@ -961,7 +997,7 @@
|
||||
tempObjectFile,
|
||||
gencFilePath);
|
||||
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
if (result != 0) {
|
||||
return result;
|
||||
}
|
||||
@@ -1043,7 +1079,7 @@
|
||||
tempObjectFile,
|
||||
gencmnFile);
|
||||
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
if (result != 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1094,7 +1130,7 @@
|
||||
sprintf(cmd, "cat %s >> %s", gencmnFile, icudtAll);
|
||||
#endif
|
||||
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
if (result != 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1110,7 +1146,7 @@
|
||||
pkgDataFlags[LIBFLAGS],
|
||||
tempObjectFile,
|
||||
gencmnFile);
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
if (result != 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1139,7 +1175,7 @@
|
||||
tempObjectFile,
|
||||
icudtAll);
|
||||
|
||||
- result = system(cmd);
|
||||
+ result = runCommand(cmd);
|
||||
if (result == 0) {
|
||||
sprintf(buffer, "%s %s",
|
||||
buffer,
|
||||
@@ -1222,7 +1258,7 @@
|
||||
);
|
||||
}
|
||||
|
||||
- return system(cmd);
|
||||
+ return runCommand(cmd);
|
||||
}
|
||||
#endif
|
||||
|
11
compat-libicu4/icu.6995.kannada.patch
Normal file
11
compat-libicu4/icu.6995.kannada.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- icu.orig/source/layout/IndicClassTables.cpp 2009-06-11 11:10:08.000000000 +0100
|
||||
+++ icu/source/layout/IndicClassTables.cpp 2009-06-11 11:11:30.000000000 +0100
|
||||
@@ -179,7 +179,7 @@
|
||||
// http://brahmi.sourceforge.net/docs/KannadaComputing.html
|
||||
static const IndicClassTable::CharClass kndaCharClasses[] =
|
||||
{
|
||||
- _xx, _xx, _mp, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _iv, // 0C80 - 0C8F
|
||||
+ _xx, _xx, _mp, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _iv, _iv, // 0C80 - 0C8F
|
||||
_iv, _xx, _iv, _iv, _iv, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, // 0C90 - 0C9F
|
||||
_bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _xx, _bb, _bb, _bb, _bb, _bb, _bb, // 0CA0 - 0CAF
|
||||
_rb, _ct, _bb, _bb, _xx, _bb, _bb, _bb, _bb, _bb, _xx, _xx, _xx, _xx, _dr, _da, // 0CB0 - 0CBF
|
12
compat-libicu4/icu.7119.s390x.patch
Normal file
12
compat-libicu4/icu.7119.s390x.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -ru icu.orig/source/configure.in icu/source/configure.in
|
||||
--- icu.orig/source/configure.in 2009-09-01 08:56:46.000000000 +0100
|
||||
+++ icu/source/configure.in 2009-09-01 10:38:25.000000000 +0100
|
||||
@@ -462,7 +462,7 @@
|
||||
# Check to see if genccode can generate simple assembly.
|
||||
GENCCODE_ASSEMBLY=
|
||||
case "${host}" in
|
||||
-i*86-*-linux*|x86_64-*-linux*|powerpc*-*-linux*|i*86-*-*bsd*|i*86-pc-gnu)
|
||||
+*-linux*|i*86-*-*bsd*|i*86-pc-gnu)
|
||||
if test "$GCC" = yes; then
|
||||
# We're using gcc, and the simple -a gcc command line works for genccode
|
||||
GENCCODE_ASSEMBLY="-a gcc"
|
11
compat-libicu4/icu.XXXX.install.patch
Normal file
11
compat-libicu4/icu.XXXX.install.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- icu/source/Makefile.in.orig 2009-08-31 21:15:03.000000000 +0100
|
||||
+++ icu/source/Makefile.in 2009-08-31 21:19:23.000000000 +0100
|
||||
@@ -146,7 +146,7 @@
|
||||
install-doc: doc
|
||||
$(RM) -r $(DESTDIR)$(docdir)/$(docsubdir)
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(docdir)/$(docsubdir)
|
||||
- $(INSTALL_DATA) doc/html/* $(DESTDIR)$(docdir)/$(docsubdir)
|
||||
+ cp -r doc/html/* $(DESTDIR)$(docdir)/$(docsubdir)
|
||||
endif
|
||||
|
||||
$(DESTDIR)$(pkglibdir)/%: $(top_srcdir)/../data/%
|
96
compat-libicu4/icu.icu7039.badextract.patch
Normal file
96
compat-libicu4/icu.icu7039.badextract.patch
Normal file
@ -0,0 +1,96 @@
|
||||
diff -ru icu.orig/source/common/unicode/unistr.h icu/source/common/unicode/unistr.h
|
||||
--- icu.orig/source/common/unicode/unistr.h 2009-07-28 16:02:03.000000000 +0100
|
||||
+++ icu/source/common/unicode/unistr.h 2009-07-28 16:36:48.000000000 +0100
|
||||
@@ -4048,7 +4048,7 @@
|
||||
|
||||
{
|
||||
// This dstSize value will be checked explicitly
|
||||
- return extract(start, _length, dst, dst!=0 ? 0xffffffff : 0, codepage);
|
||||
+ return extract(start, _length, dst, dst!=0 ? (((size_t)dst >= ((size_t)-1) - UINT32_MAX) ? (((char*)UINT32_MAX) - dst) : UINT32_MAX) : 0, codepage);
|
||||
}
|
||||
|
||||
#endif
|
||||
diff -ru icu.orig/source/test/intltest/dadrcal.cpp icu/source/test/intltest/dadrcal.cpp
|
||||
--- icu.orig/source/test/intltest/dadrcal.cpp 2009-07-28 16:01:10.000000000 +0100
|
||||
+++ icu/source/test/intltest/dadrcal.cpp 2009-07-28 16:52:15.000000000 +0100
|
||||
@@ -114,7 +114,7 @@
|
||||
+ UnicodeString(" - "));
|
||||
continue;
|
||||
}
|
||||
- testSetting.extract(0, testSetting.length(), toCalLoc, (const char*)0);
|
||||
+ testSetting.extract(0, testSetting.length(), toCalLoc, sizeof(toCalLoc)-1, (const char*)0);
|
||||
fromCalendar = Calendar::createInstance(toCalLoc, status);
|
||||
if (U_FAILURE(status)) {
|
||||
errln(caseString+": Unable to instantiate calendar for "
|
||||
@@ -371,7 +371,7 @@
|
||||
// build to calendar
|
||||
UnicodeString testSetting = settings->getString("ToCalendar", status);
|
||||
if (U_SUCCESS(status)) {
|
||||
- testSetting.extract(0, testSetting.length(), toCalLoc, (const char*)0);
|
||||
+ testSetting.extract(0, testSetting.length(), toCalLoc, sizeof(toCalLoc)-1, (const char*)0);
|
||||
toCalendar = Calendar::createInstance(toCalLoc, status);
|
||||
if (U_FAILURE(status)) {
|
||||
errln("Unable to instantiate ToCalendar for "+testSetting);
|
||||
@@ -394,7 +394,7 @@
|
||||
Calendar *fromCalendar= NULL;
|
||||
UnicodeString locale = currentCase->getString("locale", status);
|
||||
if (U_SUCCESS(status)) {
|
||||
- locale.extract(0, locale.length(), fromCalLoc, (const char*)0); // default codepage. Invariant codepage doesn't have '@'!
|
||||
+ locale.extract(0, locale.length(), fromCalLoc, sizeof(fromCalLoc)-1, (const char*)0); // default codepage. Invariant codepage doesn't have '@'!
|
||||
fromCalendar = Calendar::createInstance(fromCalLoc, status);
|
||||
if (U_FAILURE(status)) {
|
||||
errln("Unable to instantiate fromCalendar for "+locale);
|
||||
@@ -464,7 +464,7 @@
|
||||
logln("---");
|
||||
}
|
||||
logln(testSetting + "---");
|
||||
- testSetting.extract(0, testSetting.length(), testType, "");
|
||||
+ testSetting.extract(0, testSetting.length(), testType, sizeof(testType)-1, "");
|
||||
} else {
|
||||
errln("Unable to extract 'Type'. Skipping..");
|
||||
continue;
|
||||
diff -ru icu.orig/source/test/intltest/dadrcoll.cpp icu/source/test/intltest/dadrcoll.cpp
|
||||
--- icu.orig/source/test/intltest/dadrcoll.cpp 2009-07-28 16:01:10.000000000 +0100
|
||||
+++ icu/source/test/intltest/dadrcoll.cpp 2009-07-28 16:49:56.000000000 +0100
|
||||
@@ -179,7 +179,7 @@
|
||||
testSetting = settings->getString("TestLocale", intStatus);
|
||||
if(U_SUCCESS(intStatus)) {
|
||||
char localeName[256];
|
||||
- testSetting.extract(0, testSetting.length(), localeName, "");
|
||||
+ testSetting.extract(0, testSetting.length(), localeName, sizeof(localeName)-1, "");
|
||||
col = Collator::createInstance(localeName, status);
|
||||
if(U_SUCCESS(status)) {
|
||||
logln("Testing collator for locale "+testSetting);
|
||||
diff -ru icu.orig/source/test/intltest/dadrfmt.cpp icu/source/test/intltest/dadrfmt.cpp
|
||||
--- icu.orig/source/test/intltest/dadrfmt.cpp 2009-07-28 16:01:10.000000000 +0100
|
||||
+++ icu/source/test/intltest/dadrfmt.cpp 2009-07-28 16:50:36.000000000 +0100
|
||||
@@ -149,7 +149,7 @@
|
||||
DateFormat *format = NULL;
|
||||
|
||||
// Process: 'locale'
|
||||
- locale.extract(0, locale.length(), calLoc, (const char*)0); // default codepage. Invariant codepage doesn't have '@'!
|
||||
+ locale.extract(0, locale.length(), calLoc, sizeof(calLoc)-1, (const char*)0); // default codepage. Invariant codepage doesn't have '@'!
|
||||
Locale loc(calLoc);
|
||||
if(spec.startsWith(kPATTERN)) {
|
||||
pattern = UnicodeString(spec,kPATTERN.length());
|
||||
@@ -323,7 +323,7 @@
|
||||
logln("---");
|
||||
}
|
||||
logln(testSetting + "---");
|
||||
- testSetting.extract(0, testSetting.length(), testType, "");
|
||||
+ testSetting.extract(0, testSetting.length(), testType, sizeof(testType)-1, "");
|
||||
} else {
|
||||
errln("Unable to extract 'Type'. Skipping..");
|
||||
continue;
|
||||
diff -ru icu.orig/source/test/intltest/loctest.cpp icu/source/test/intltest/loctest.cpp
|
||||
--- icu.orig/source/test/intltest/loctest.cpp 2009-07-28 16:01:10.000000000 +0100
|
||||
+++ icu/source/test/intltest/loctest.cpp 2009-07-28 16:51:30.000000000 +0100
|
||||
@@ -616,7 +616,7 @@
|
||||
{
|
||||
char *ch;
|
||||
ch = new char[l.length() + 1];
|
||||
- ch[l.extract(0, 0x7fffffff, ch, "")] = 0;
|
||||
+ ch[l.extract(0, 0x7fffffff, ch, l.length(), "")] = 0;
|
||||
setFromPOSIXID(ch);
|
||||
delete [] ch;
|
||||
}
|
532
compat-libicu4/icu.spec
Normal file
532
compat-libicu4/icu.spec
Normal file
@ -0,0 +1,532 @@
|
||||
%global compat 1
|
||||
|
||||
%if %{compat}
|
||||
Name: compat-libicu4
|
||||
%else
|
||||
Name: icu
|
||||
%endif
|
||||
Version: 4.2.1
|
||||
Release: 9%{?dist}
|
||||
Summary: International Components for Unicode
|
||||
Group: Development/Tools
|
||||
License: MIT and UCD and Public Domain
|
||||
URL: http://www.icu-project.org/
|
||||
Source0: http://download.icu-project.org/files/icu4c/4.2.1/icu4c-4_2_1-src.tgz
|
||||
Source1: icu-config
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: doxygen, autoconf
|
||||
%if ! %{compat}
|
||||
Requires: lib%{name} = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
# need an older compiler because the newer ones are too strict on this code
|
||||
#%global gccv 44
|
||||
#BuildRequires: gcc%{gccv}, gcc%{gccv}-c++
|
||||
|
||||
Patch1: icu-3.4-multiarchdevel.patch
|
||||
Patch2: icu.6995.kannada.patch
|
||||
Patch3: icu.icu7039.badextract.patch
|
||||
Patch4: icu.6969.pkgdata.patch
|
||||
Patch5: icu.XXXX.install.patch
|
||||
Patch6: icu.7119.s390x.patch
|
||||
Patch7: canonicalize.patch
|
||||
|
||||
# Amazon
|
||||
Patch10: icu-4.2.1-configure-cxx_try_link.patch
|
||||
|
||||
%description
|
||||
Tools and utilities for developing with icu.
|
||||
|
||||
%if ! %{compat}
|
||||
%package -n lib%{name}
|
||||
Summary: International Components for Unicode - libraries
|
||||
Group: System Environment/Libraries
|
||||
|
||||
%description -n lib%{name}
|
||||
%endif
|
||||
The International Components for Unicode (ICU) libraries provide
|
||||
robust and full-featured Unicode services on a wide variety of
|
||||
platforms. ICU supports the most current version of the Unicode
|
||||
standard, and they provide support for supplementary Unicode
|
||||
characters (needed for GB 18030 repertoire support).
|
||||
As computing environments become more heterogeneous, software
|
||||
portability becomes more important. ICU lets you produce the same
|
||||
results across all the various platforms you support, without
|
||||
sacrificing performance. It offers great flexibility to extend and
|
||||
customize the supplied services.
|
||||
|
||||
#%if ! %{compat}
|
||||
%package -n lib%{name}-devel
|
||||
Summary: Development files for International Components for Unicode
|
||||
Group: Development/Libraries
|
||||
Requires: lib%{name} = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
|
||||
%description -n lib%{name}-devel
|
||||
Includes and definitions for developing with icu.
|
||||
|
||||
%package -n lib%{name}-doc
|
||||
Summary: Documentation for International Components for Unicode
|
||||
Group: Documentation
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n lib%{name}-doc
|
||||
%{summary}.
|
||||
#%endif # !compat
|
||||
|
||||
%prep
|
||||
%if %{compat}
|
||||
%setup -q -n icu
|
||||
%else
|
||||
%setup -q -n %{name}
|
||||
%endif
|
||||
%patch1 -p1 -b .multiarchdevel
|
||||
%patch2 -p1 -b .icu6995.kannada.patch
|
||||
%patch3 -p1 -b .icu7039.badextract.patch
|
||||
%patch4 -p0 -b .icu.6969.pkgdata.patch
|
||||
%patch5 -p1 -b .icu.XXXX.install.patch
|
||||
%patch6 -p1 -b .icu.7119.s390x.patch
|
||||
%patch7 -p0 -b .canonicalize.patch
|
||||
|
||||
# Amazon
|
||||
%patch10 -p1
|
||||
|
||||
%build
|
||||
#export CC=gcc%{gccv}
|
||||
#export CXX=g++%{gccv}
|
||||
cd source
|
||||
autoconf
|
||||
CFLAGS='%optflags -fno-strict-aliasing'
|
||||
CXXFLAGS='%optflags -fno-strict-aliasing'
|
||||
%configure --with-data-packaging=library --disable-samples
|
||||
# CC=gcc%{gccv} CXX=g++%{gccv}
|
||||
#rhbz#225896
|
||||
sed -i -- "s/-nodefaultlibs -nostdlib//" config/mh-linux
|
||||
make # %{?_smp_mflags} # -j(X>1) may "break" man pages as of 3.2, b.f.u #2357
|
||||
%if ! %{compat}
|
||||
make doc
|
||||
%endif
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT source/__docs
|
||||
make -C source install DESTDIR=$RPM_BUILD_ROOT
|
||||
%if ! %{compat}
|
||||
make -C source install-doc docdir=__docs
|
||||
%endif
|
||||
chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so.*
|
||||
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}-config
|
||||
chmod 0755 $RPM_BUILD_ROOT%{_bindir}/%{name}-config
|
||||
sed -i s/\\\$\(THREADSCXXFLAGS\)// $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/icu.pc
|
||||
sed -i s/\\\$\(THREADSCPPFLAGS\)/-D_REENTRANT/ $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/icu.pc
|
||||
|
||||
%check
|
||||
make -C source check
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%if %{compat}
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
%else
|
||||
%post -n lib%{name} -p /sbin/ldconfig
|
||||
%postun -n lib%{name} -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc license.html readme.html
|
||||
%if %{compat}
|
||||
%exclude %{_bindir}/*
|
||||
%exclude %{_mandir}/*
|
||||
%else
|
||||
%{_bindir}/derb
|
||||
%{_bindir}/genbrk
|
||||
%{_bindir}/gencfu
|
||||
%{_bindir}/gencnval
|
||||
%{_bindir}/genctd
|
||||
%{_bindir}/genrb
|
||||
%{_bindir}/makeconv
|
||||
%{_bindir}/pkgdata
|
||||
%{_bindir}/uconv
|
||||
%{_sbindir}/*
|
||||
%{_mandir}/man1/derb.1*
|
||||
%{_mandir}/man1/gencnval.1*
|
||||
%{_mandir}/man1/genrb.1*
|
||||
%{_mandir}/man1/genbrk.1*
|
||||
%{_mandir}/man1/genctd.1*
|
||||
%{_mandir}/man1/makeconv.1*
|
||||
%{_mandir}/man1/pkgdata.1*
|
||||
%{_mandir}/man1/uconv.1*
|
||||
%{_mandir}/man8/*.8*
|
||||
%endif
|
||||
|
||||
%if ! %{compat}
|
||||
%files -n lib%{name}
|
||||
%defattr(-,root,root,-)
|
||||
%endif
|
||||
%{_libdir}/*.so.*
|
||||
|
||||
#%if ! %{compat}
|
||||
%files -n lib%{name}-devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/%{name}-config
|
||||
%{_mandir}/man1/%{name}-config.1*
|
||||
%{_includedir}/layout
|
||||
%{_includedir}/unicode
|
||||
%{_libdir}/*.so
|
||||
%{_libdir}/pkgconfig/icu.pc
|
||||
%{_libdir}/%{name}
|
||||
%dir %{_datadir}/%{name}
|
||||
%dir %{_datadir}/%{name}/%{version}
|
||||
%{_datadir}/%{name}/%{version}/install-sh
|
||||
%{_datadir}/%{name}/%{version}/mkinstalldirs
|
||||
%{_datadir}/%{name}/%{version}/config
|
||||
%doc %{_datadir}/%{name}/%{version}/license.html
|
||||
|
||||
%files -n lib%{name}-doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc source/__docs/%{name}/html/*
|
||||
#%else
|
||||
#%exclude %{_includedir}
|
||||
#%exclude %{_libdir}/icu
|
||||
#%exclude %{_libdir}/pkgconfig/icu.pc
|
||||
#%exclude %{_datadir}/icu
|
||||
#%exclude %{_libdir}/*.so
|
||||
#%exclude %{_sbindir}/*
|
||||
#%endif
|
||||
|
||||
%changelog
|
||||
* Fri Mar 7 2014 Cristian Gafton <gafton@amazon.com>
|
||||
- eliminate redundant require for compat package
|
||||
- select an older compiler version for compat with older builds
|
||||
- transform into a compat package
|
||||
- add patch to keep the code compiling under newer compilers
|
||||
|
||||
* Mon Jan 9 2012 Andrew Jorgensen <ajorgens@amazon.com>
|
||||
- Fix release number so it increments
|
||||
|
||||
* Thu Dec 15 2011 Cristian Gafton <gafton@amazon.com>
|
||||
- import source package RHEL6/icu-4.2.1-9.1.el6_2
|
||||
|
||||
* Mon Dec 12 2011 Caolan McNamara <caolanm@redhat.com> - 4.2.1-9.1
|
||||
- Resolves: rhbz#766539 CVE-2011-4599 localeID overflow
|
||||
|
||||
* Thu Dec 2 2010 Cristian Gafton <gafton@amazon.com>
|
||||
- import source package RHEL6/icu-4.2.1-9.el6
|
||||
|
||||
* Fri Jul 9 2010 Cristian Gafton <gafton@amazon.com>
|
||||
- import source package RHEL6/icu-4.2.1-8.el6
|
||||
- import source package RHEL6/icu-4.2.1-7.el6
|
||||
|
||||
* Thu May 27 2010 Caolan McNamara <caolanm@redhat.com> - 4.2.1-9
|
||||
- Resolves: rhbz#596171 drop icu.icu6284.strictalias.patch and use
|
||||
-fno-strict-aliasig as upstream has added a pile more and doesn't look
|
||||
interested in proposed patchs
|
||||
|
||||
* Fri May 7 2010 Cristian Gafton <gafton@amazon.com>
|
||||
- import source package RHEL5/icu-3.6-5.11.4
|
||||
- import source package RHEL5/icu-3.6-5.11.2
|
||||
- import source package RHEL5/icu-3.6-5.11.1
|
||||
- import source package RHEL5/icu-3.6-5.11
|
||||
- import source package RHEL5/icu-3.6-5.9
|
||||
- added submodule prep for package icu
|
||||
|
||||
* Thu Apr 01 2010 Caolan McNamara <caolanm@redhat.com> - 4.2.1-8
|
||||
- Resolves: rhbz#578749 clarify license
|
||||
|
||||
* Wed Dec 02 2009 Caolan McNamara <caolanm@redhat.com> - 4.2.1-7
|
||||
- Resolves: rhbz#543386 update icu-config
|
||||
|
||||
* Tue Sep 01 2009 Caolan McNamara <caolanm@redhat.com> - 4.2.1-6
|
||||
- Resolves: rhbz#520468 fix s390x and other secondary archs
|
||||
|
||||
* Tue Jul 28 2009 Caolan McNamara <caolanm@redhat.com> - 4.2.1-5
|
||||
- icu#7039 fix broken use of extract to get tests working
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.2.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Wed Jul 22 2009 Caolan McNamara <caolanm@redhat.com> - 4.2.1-3
|
||||
- make documentation noarch
|
||||
|
||||
* Tue Jul 14 2009 Caolan McNamara <caolanm@redhat.com> - 4.2.1-2
|
||||
- rpmlint warnings
|
||||
|
||||
* Fri Jul 03 2009 Caolan McNamara <caolanm@redhat.com> - 4.2.1-1
|
||||
- 4.2.1 release
|
||||
|
||||
* Fri Jun 26 2009 Caolan McNamara <caolanm@redhat.com> - 4.2.0.1-3
|
||||
- Resolves: rhbz#508288 multilib conflict
|
||||
|
||||
* Thu Jun 11 2009 Caolan McNamara <caolanm@redhat.com> - 4.2.0.1-2
|
||||
- Resolves: rhbz#505252 add icu.6995.kannada.patch
|
||||
|
||||
* Mon Jun 08 2009 Caolan McNamara <caolanm@redhat.com> - 4.2.0.1-1
|
||||
- 4.2.0.1 release
|
||||
|
||||
* Sat May 09 2009 Caolan McNamara <caolanm@redhat.com> - 4.2-1
|
||||
- 4.2 release
|
||||
|
||||
* Sun May 03 2009 Caolan McNamara <caolanm@redhat.com> - 4.2-0.1.d03
|
||||
- 4.2 release candidate
|
||||
- drop resolved icu.icu6008.arm.padding.patch
|
||||
- drop resolved icu.icu6439.bare.elif.patch
|
||||
|
||||
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Tue Feb 03 2009 Caolan McNamara <caolanm@redhat.com> - 4.0.1-2
|
||||
- fix bare elif for gcc-4.4
|
||||
|
||||
* Fri Jan 16 2009 Caolan McNamara <caolanm@redhat.com> - 4.0.1-1
|
||||
- 4.0.1 release
|
||||
|
||||
* Mon Dec 29 2008 Caolan McNamara <caolanm@redhat.com> - 4.0-6
|
||||
- Resolves rhbz#225896 clean up low hanging rpmlint warnings
|
||||
|
||||
* Tue Dec 16 2008 Caolan McNamara <caolanm@redhat.com> - 4.0-5
|
||||
- drop integrated icu.icu5557.safety.patch
|
||||
|
||||
* Thu Nov 20 2008 Caolan McNamara <caolanm@redhat.com> - 4.0-4
|
||||
- annoyingly upstream tarball was repacked apparently to remove
|
||||
some unused/cached dirs
|
||||
|
||||
* Sat Sep 06 2008 Caolan McNamara <caolanm@redhat.com> - 4.0-3
|
||||
- Resolves: rhbz#461348 wrong icu-config
|
||||
|
||||
* Tue Aug 26 2008 Caolan McNamara <caolanm@redhat.com> - 4.0-2
|
||||
- Resolves: rhbz#459698 drop Malayalam patches. Note test with Rachana/Meera
|
||||
instead of Lohit Malayalam before filing bugs against icu wrt.
|
||||
Malayalam rendering
|
||||
|
||||
* Sat Jul 05 2008 Caolan McNamara <caolanm@redhat.com> - 4.0-1
|
||||
- final release
|
||||
|
||||
* Mon Jun 30 2008 Caolan McNamara <caolanm@redhat.com> - 4.0-0.3.d03
|
||||
- 4.0 release candidate
|
||||
|
||||
* Wed Jun 04 2008 Caolan McNamara <caolanm@redhat.com> - 4.0-0.2.d02
|
||||
- drop icu.icu5498.openoffice.org.patch
|
||||
|
||||
* Sun May 31 2008 Caolan McNamara <caolanm@redhat.com> - 4.0-0.1.d02
|
||||
- 4.0 release candidate
|
||||
- drop integrated icu.regexp.patch
|
||||
|
||||
* Mon May 19 2008 Caolan McNamara <caolanm@redhat.com> - 3.8.1-8
|
||||
- add icu.icu6284.strictalias.patch and build with
|
||||
strict-aliasing
|
||||
|
||||
* Tue Mar 18 2008 Caolan McNamara <caolanm@redhat.com> - 3.8.1-7
|
||||
- Resolves: rhbz#437761 modify to icu.icu6213.worstcase.patch for
|
||||
other worst case expansions
|
||||
|
||||
* Mon Mar 17 2008 Caolan McNamara <caolanm@redhat.com> - 3.8.1-6
|
||||
- Resolves: rhbz#437761 add icu.icu6213.bengali.worstcase.patch
|
||||
|
||||
* Mon Feb 04 2008 Caolan McNamara <caolanm@redhat.com> - 3.8.1-5
|
||||
- Resolves: rhbz#431401 split syllables on 1st 0d4d of a 0d4d +
|
||||
(>= 0d15 && <= 0d39) + 0d4d + 0d30 sequence
|
||||
|
||||
* Thu Jan 31 2008 Caolan McNamara <caolanm@redhat.com> - 3.8.1-4
|
||||
- Resolves: rhbz#431029, rhbz#424661 Remove workaround for 0D31 characters
|
||||
|
||||
* Fri Jan 25 2008 Caolan McNamara <caolanm@redhat.com> - 3.8.1-3
|
||||
- CVE-2007-4770 CVE-2007-4771 add icu.regexp.patch
|
||||
- Resolves: rhbz#423211 fix malalayam stuff in light of syllable
|
||||
changes
|
||||
|
||||
* Fri Jan 11 2008 Caolan McNamara <caolanm@redhat.com> - 3.8.1-2
|
||||
- remove icu.icu5365.dependantvowels.patch and cleanup
|
||||
icu.icu5506.multiplevowels.patch as they patch and unpatch
|
||||
eachother (thanks George Rhoten for pointing out that madness)
|
||||
|
||||
* Fri Jan 11 2008 Caolan McNamara <caolanm@redhat.com> - 3.8.1-1
|
||||
- latest version
|
||||
- drop fixed icu.icu6084.zwnj.notdef.patch
|
||||
|
||||
* Thu Dec 13 2007 Caolan McNamara <caolanm@redhat.com> - 3.8-6
|
||||
- Resolves: rhbz#423211 experimental hack for 0d15+0d4d+0d30
|
||||
|
||||
* Tue Dec 11 2007 Caolan McNamara <caolanm@redhat.com> - 3.8-5
|
||||
- Resolves: rhbz#415541 icu.icu6084.zwnj.notdef.patch
|
||||
|
||||
* Wed Nov 28 2007 Caolan McNamara <caolanm@redhat.com> - 3.8-4
|
||||
- Resolves: ooo#83991 Malayalam "Kartika" font fix
|
||||
|
||||
* Tue Nov 13 2007 Caolan McNamara <caolanm@redhat.com> - 3.8-3
|
||||
- add icu.openoffice.org.patch
|
||||
|
||||
* Sat Oct 27 2007 Caolan McNamara <caolanm@redhat.com> - 3.8-2
|
||||
- add icu.icu6008.arm.padding.patch to fix an arm problem
|
||||
|
||||
* Tue Oct 02 2007 Caolan McNamara <caolanm@redhat.com> - 3.8-1
|
||||
- latest version
|
||||
|
||||
* Mon Sep 03 2007 Caolan McNamara <caolanm@redhat.com> - 3.8-0.2.d02
|
||||
- next release candidate
|
||||
|
||||
* Wed Aug 29 2007 Caolan McNamara <caolanm@redhat.com> - 3.8-0.2.d01
|
||||
- rebuild
|
||||
|
||||
* Tue Aug 07 2007 Caolan McNamara <caolanm@redhat.com> - 3.8-0.1.d01
|
||||
- 3.8 release candidate
|
||||
- drop integrated icu.icu5433.oriya.patch
|
||||
- drop integrated icu.icu5488.assamese.patch
|
||||
- drop integrated icu.icu5500.devicetablecrash.patch
|
||||
- drop integrated icu.icu5501.sinhala.biggerexpand.patch
|
||||
- drop integrated icu.icu5594.gujarati.patch
|
||||
- drop integrated icu.icu5465.telegu.patch
|
||||
|
||||
* Wed Jun 13 2007 Caolan McNamara <caolanm@redhat.com> - 3.6-20
|
||||
- Resolves: rhbz#243984 change the icu group as it is libicu
|
||||
which is "System Environment/Libraries" not icu
|
||||
|
||||
* Mon Apr 30 2007 Caolan McNamara <caolanm@redhat.com> - 3.6-19
|
||||
- Resolves: rhbz#220867 Malayalam rendering
|
||||
|
||||
* Tue Feb 13 2007 Caolan McNamara <caolanm@redhat.com> - 3.6-18
|
||||
- Resolves: rhbz#228457 icu.icu5594.gujarati.patch
|
||||
|
||||
* Mon Feb 09 2007 Caolan McNamara <caolanm@redhat.com> - 3.6-17
|
||||
- spec cleanups
|
||||
|
||||
* Mon Feb 05 2007 Caolan McNamara <caolanm@redhat.com> - 3.6-16
|
||||
- Resolves: rhbz#226949 layout telegu like pango
|
||||
|
||||
* Fri Jan 19 2007 Caolan McNamara <caolanm@redhat.com> - 3.6-15
|
||||
- Resolves: rhbz#214948 icu.icu5506.multiplevowels.patch
|
||||
|
||||
* Thu Jan 09 2007 Caolan McNamara <caolanm@redhat.com> - 3.6-14
|
||||
- Related: rhbz#216089 add icu.icu5557.safety.patch
|
||||
|
||||
* Thu Dec 21 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-13
|
||||
- Resolves: rhbz#220433 modify icu.icu5431.malayam.patch
|
||||
|
||||
* Fri Nov 10 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-12
|
||||
- Resolves: rhbz#214948 icu.icu5506.multiplevowels.patch
|
||||
|
||||
* Wed Nov 08 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-11
|
||||
- Resolves: rhbz#214555 icu.icu5501.sinhala.biggerexpand.patch
|
||||
|
||||
* Wed Nov 08 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-10
|
||||
- Resolves: rhbz#214555 icu.icu5500.devicetablecrash.patch
|
||||
|
||||
* Thu Oct 18 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-9
|
||||
- Resolves: rhbz#213648 extend prev/next to handle ZWJ
|
||||
|
||||
* Tue Oct 18 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-8
|
||||
- Resolves: rhbz213375 (icu.icu5488.assamese.patch)
|
||||
|
||||
* Tue Oct 18 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-7
|
||||
- Resolves: rhbz#211258 (icu.icu5465.telegu.patch)
|
||||
|
||||
* Thu Oct 05 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-6
|
||||
- rh#209391# add icu.icuXXXX.virama.prevnext.patch
|
||||
|
||||
* Mon Oct 02 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-5
|
||||
- rh#208705# add pkg-config Require for -devel package
|
||||
- add icu.icu5431.malayam.patch for rh#208551#/rh#209084#
|
||||
- add icu.icu5433.oriya.patch for rh#208559#/rh#209083#
|
||||
|
||||
* Sun Oct 01 2006 Jesse Keating <jkeating@redhat.com> - 3.6-4
|
||||
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
|
||||
|
||||
* Mon Sep 25 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-3
|
||||
- rh#206615# render malayam like pango
|
||||
|
||||
* Wed Sep 06 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-2
|
||||
- fix rh#205252#/icu#5365 (gnome#121882#/#icu#4026#) to make icu
|
||||
like pango for multiple dependant vowels
|
||||
|
||||
* Mon Sep 03 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-1
|
||||
- final release
|
||||
|
||||
* Mon Aug 14 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-0.1.d02
|
||||
- bump
|
||||
|
||||
* Tue Aug 08 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-0.2.d01
|
||||
- c++ code not alias correct
|
||||
|
||||
* Mon Jul 31 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-0.1.d01
|
||||
- rh#200728# update to prelease 3.6d01 to pick up on sinhala fixes
|
||||
- drop integrated rh190879.patch
|
||||
- drop integrated icu-3.4-sinhala1.patch
|
||||
|
||||
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 3.4-10.1.1
|
||||
- rebuild
|
||||
|
||||
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 3.4-10.1
|
||||
- rebuild
|
||||
|
||||
* Sat Jun 10 2006 Caolan McNamara <caolanm@redhat.com> - 3.4-10
|
||||
- rh#194686# BuildRequires
|
||||
|
||||
* Tue May 09 2006 Caolan McNamara <caolanm@redhat.com> - 3.4-9
|
||||
- rh#190879# backport fix
|
||||
|
||||
* Wed May 03 2006 Caolan McNamara <caolanm@redhat.com> - 3.4-8
|
||||
- add Harshula's icu-3.4-sinhala1.patch for some Sinhala support
|
||||
|
||||
* Tue May 02 2006 Caolan McNamara <caolanm@redhat.com> - 3.4-7
|
||||
- add a pkgconfig.pc, make icu-config use it
|
||||
|
||||
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 3.4-6.2
|
||||
- bump again for double-long bug on ppc(64)
|
||||
|
||||
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 3.4-6.1
|
||||
- rebuilt for new gcc4.1 snapshot and glibc changes
|
||||
|
||||
* Tue Jan 03 2006 Caolan McNamara <caolanm@redhat.com> - 3.4-6
|
||||
- add icu-gcc41.patch
|
||||
|
||||
* Tue Oct 11 2005 Caolan McNamara <caolanm@redhat.com> - 3.4-5
|
||||
- clear execstack requirement for libicudata
|
||||
|
||||
* Mon Sep 12 2005 Caolan McNamara <caolanm@redhat.com> - 3.4-4
|
||||
- import extra icu.spec into fedora core for openoffice.org
|
||||
- build with gcc 4
|
||||
|
||||
* Wed Aug 31 2005 Thorsten Leemhuis <fedora at leemhuis.info> - 3.4-3
|
||||
- Use dist
|
||||
- gcc32 does not understand -fstack-protector and
|
||||
--param=ssp-buffer-size=4
|
||||
|
||||
* Tue Aug 2 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.4-2
|
||||
- 3.4.
|
||||
|
||||
* Sun Jul 31 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.4-0.2.d02
|
||||
- 3.4-d02.
|
||||
- Don't ship static libraries.
|
||||
|
||||
* Wed Apr 27 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.2-3
|
||||
- Apply upstream case mapping mutex lock removal patch.
|
||||
- Build with gcc 3.2 as a temporary workaround for #152495.
|
||||
|
||||
* Fri Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 3.2-2
|
||||
- rebuilt
|
||||
|
||||
* Sat Jan 1 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.2-1
|
||||
- Don't use %%{_smp_mflags} (b.f.u #2357).
|
||||
- Remove unnecessary Epochs.
|
||||
|
||||
* Sat Dec 4 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:3.2-0.fdr.1
|
||||
- Update to 3.2.
|
||||
|
||||
* Sun Jul 18 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:3.0-0.fdr.1
|
||||
- Update to 3.0, datadirs patch no longer needed.
|
||||
- Package data in shared libs, drop -locales subpackage.
|
||||
- Rename -docs subpackage to libicu-doc, and generate graphs with graphviz.
|
||||
|
||||
* Sat Dec 13 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.6.1-0.fdr.3
|
||||
- Partial fix for bad datadirs returned by icu-config (works as long as
|
||||
data packaging mode is not "common" or "dll").
|
||||
|
||||
* Sun Nov 23 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.6.1-0.fdr.2
|
||||
- First complete version.
|
||||
|
||||
* Sun Sep 28 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.6.1-0.fdr.1
|
||||
- Update to 2.6.1.
|
||||
|
||||
* Wed Aug 27 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.6-0.fdr.1
|
||||
- First build, based on upstream and SuSE 8.2 packages.
|
322
gstreamer1-plugins-ugly/gstreamer1-plugins-ugly.spec
Normal file
322
gstreamer1-plugins-ugly/gstreamer1-plugins-ugly.spec
Normal file
@ -0,0 +1,322 @@
|
||||
%global src_name gst-plugins-ugly
|
||||
|
||||
Summary: GStreamer 1.0 streaming media framework "ugly" plug-ins
|
||||
Name: gstreamer1-plugins-ugly
|
||||
Version: 1.18.4
|
||||
Release: 1%{?dist}
|
||||
License: LGPLv2+
|
||||
URL: https://gstreamer.freedesktop.org/
|
||||
Source0: %{url}/src/%{src_name}/%{src_name}-%{version}.tar.xz
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gstreamer1-devel >= %{version}
|
||||
BuildRequires: gstreamer1-plugins-base-devel >= %{version}
|
||||
BuildRequires: libid3tag-devel >= 0.15.0
|
||||
BuildRequires: meson
|
||||
BuildRequires: opencore-amr-devel
|
||||
BuildRequires: orc-devel >= 0.4.5
|
||||
BuildRequires: x264-devel >= 0.0.0-0.28
|
||||
|
||||
# Provides locale files
|
||||
# relax dep to >= to make fedora/rpmfusion upgrades easier
|
||||
Requires: %{name}-free%{?_isa} >= %{version}
|
||||
|
||||
# Subpkg is empty, so no point -- rex
|
||||
Obsoletes: %{name}-devel-docs < 1.13
|
||||
|
||||
%description
|
||||
GStreamer is a streaming media framework, based on graphs of elements which
|
||||
operate on media data.
|
||||
|
||||
This package contains well-written plug-ins that can't be shipped in
|
||||
gstreamer-plugins-good because:
|
||||
- the license is not LGPL
|
||||
- the license of the library is not LGPL
|
||||
- there are possible licensing issues with the code.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{src_name}-%{version}
|
||||
|
||||
|
||||
%build
|
||||
%meson \
|
||||
-D package-name='gst-plugins-ugly 1.0 rpmfusion rpm' \
|
||||
-D package-origin='http://rpmfusion.org/' \
|
||||
-D doc=disabled \
|
||||
-D cdio=disabled \
|
||||
-D dvdread=disabled \
|
||||
-D a52dec=disabled \
|
||||
-D sidplay=disabled \
|
||||
-D xingmux=disabled \
|
||||
-D mpeg2dec=disabled \
|
||||
-D nls=disabled
|
||||
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%files
|
||||
%doc AUTHORS README REQUIREMENTS
|
||||
%license COPYING
|
||||
%{_datadir}/gstreamer-1.0
|
||||
# Plugins without external dependencies
|
||||
%{_libdir}/gstreamer-1.0/libgstasf.so
|
||||
%{_libdir}/gstreamer-1.0/libgstdvdlpcmdec.so
|
||||
%{_libdir}/gstreamer-1.0/libgstdvdsub.so
|
||||
%{_libdir}/gstreamer-1.0/libgstrealmedia.so
|
||||
# Plugins with external dependencies
|
||||
%{_libdir}/gstreamer-1.0/libgstamrnb.so
|
||||
%{_libdir}/gstreamer-1.0/libgstamrwbdec.so
|
||||
%{_libdir}/gstreamer-1.0/libgstx264.so
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Mar 17 2021 Leigh Scott <leigh123linux@gmail.com> - 1.18.4-1
|
||||
- 1.18.4
|
||||
|
||||
* Wed Feb 03 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.18.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Sun Dec 13 2020 Leigh Scott <leigh123linux@gmail.com> - 1.18.2-1
|
||||
- 1.18.2
|
||||
|
||||
* Fri Nov 27 2020 Sérgio Basto <sergio@serjux.com> - 1.18.1-2
|
||||
- Mass rebuild for x264-0.161
|
||||
|
||||
* Sun Nov 1 2020 Leigh Scott <leigh123linux@gmail.com> - 1.18.1-1
|
||||
- 1.18.1
|
||||
|
||||
* Wed Sep 9 2020 Leigh Scott <leigh123linux@gmail.com> - 1.18.0-1
|
||||
- 1.18.0
|
||||
|
||||
* Sun Aug 23 2020 Leigh Scott <leigh123linux@gmail.com> - 1.17.90-1
|
||||
- 1.17.90
|
||||
|
||||
* Tue Aug 18 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.17.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jul 08 2020 Leigh Scott <leigh123linux@gmail.com> - 1.17.2-1
|
||||
- 1.17.2
|
||||
|
||||
* Tue Jul 07 2020 Sérgio Basto <sergio@serjux.com> - 1.17.1-2
|
||||
- Mass rebuild for x264
|
||||
|
||||
* Mon Jun 22 2020 Leigh Scott <leigh123linux@gmail.com> - 1.17.1-1
|
||||
- 1.17.1
|
||||
|
||||
* Thu Mar 12 2020 Leigh Scott <leigh123linux@gmail.com> - 1.16.2-3
|
||||
- Rebuilt for i686
|
||||
|
||||
* Tue Feb 04 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.16.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sat Feb 01 2020 Leigh Scott <leigh123linux@googlemail.com> - 1.16.2-1
|
||||
- 1.16.2
|
||||
|
||||
* Tue Dec 17 2019 Leigh Scott <leigh123linux@gmail.com> - 1.16.1-2
|
||||
- Mass rebuild for x264
|
||||
|
||||
* Wed Sep 25 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.16.1-1
|
||||
- 1.16.1
|
||||
|
||||
* Fri Aug 09 2019 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.16.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu May 16 2019 Leigh Scott <leigh123linux@gmail.com> - 1.16.0-2
|
||||
- Disable mpeg2dec, it's been moved to the fedora package
|
||||
|
||||
* Wed Apr 24 2019 Leigh Scott <leigh123linux@gmail.com> - 1.16.0-1
|
||||
- 1.16.0
|
||||
|
||||
* Mon Mar 18 2019 Sérgio Basto <sergio@serjux.com> - 1.15.2-1
|
||||
- Update to 1.15.2
|
||||
|
||||
* Tue Mar 12 2019 Sérgio Basto <sergio@serjux.com> - 1.15.1-3
|
||||
- Mass rebuild for x264
|
||||
|
||||
* Mon Mar 04 2019 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.15.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Feb 09 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.15.1-1
|
||||
- 1.15.1
|
||||
- clean spec
|
||||
|
||||
* Wed Nov 07 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.14.4-2
|
||||
- rebuild for x264 (rf#5071)
|
||||
|
||||
* Tue Oct 09 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.14.4-1
|
||||
- 1.14.4
|
||||
|
||||
* Thu Oct 04 2018 Sérgio Basto <sergio@serjux.com> - 1.14.3-2
|
||||
- Mass rebuild for x264 and/or x265
|
||||
|
||||
* Tue Sep 18 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.14.3-1
|
||||
- 1.14.3
|
||||
|
||||
* Sat Aug 18 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.14.2-1
|
||||
- 1.14.2
|
||||
|
||||
* Thu Jul 26 2018 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.14.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Thu May 31 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.14.1-2
|
||||
- BR: s/mpeg2dec-devel/libmpeg2-devel/
|
||||
|
||||
* Thu May 31 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.14.1-1
|
||||
- 1.14.1
|
||||
|
||||
* Fri Mar 23 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.14.0-1
|
||||
- 1.14.0
|
||||
|
||||
* Wed Feb 28 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.13.1-1
|
||||
- 1.13.1
|
||||
|
||||
* Wed Jan 17 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.12.4-3
|
||||
- remove twolame (rfbz#4766)
|
||||
|
||||
* Sat Dec 30 2017 Sérgio Basto <sergio@serjux.com> - 1.12.4-2
|
||||
- Mass rebuild for x264 and x265
|
||||
|
||||
* Mon Dec 11 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.4-1
|
||||
- Update to 1.12.4
|
||||
|
||||
* Thu Sep 21 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.3-1
|
||||
- Update to 1.12.3
|
||||
|
||||
* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 1.12.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Tue Jul 18 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.2-1
|
||||
- Update to 1.12.2
|
||||
|
||||
* Sun Jul 09 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.1-3
|
||||
- A better fix, add requires gstreamer1-plugins-ugly-free-devel (rfbz #4589)
|
||||
|
||||
* Sun Jul 09 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.1-2
|
||||
- Remove conflicting file in devel-docs (rfbz #4589)
|
||||
|
||||
* Fri Jun 23 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.1-1
|
||||
- Update to 1.12.1
|
||||
|
||||
* Fri May 12 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.0-2
|
||||
- Remove lame plugin
|
||||
|
||||
* Thu May 11 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.0-1
|
||||
- Update to 1.12.0
|
||||
- Add requires gstreamer1-plugins-ugly-free
|
||||
- remove a52dec, cdio, dvdread and xingmux plugins,
|
||||
moved to gstreamer1-plugins-ugly-free package.
|
||||
- Remove locale files
|
||||
|
||||
* Tue Apr 18 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.11.90-1
|
||||
- Update to 1.11.90
|
||||
- Upstream renamed libgstrmdemux.so to libgstrealmedia.so
|
||||
|
||||
* Sun Mar 19 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 1.11.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Feb 27 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.11.2-1
|
||||
- Update to 1.11.2
|
||||
- Add upstream gcc-7 commit
|
||||
|
||||
* Mon Jan 16 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.11.1-1
|
||||
- Update to 1.11.1
|
||||
- Remove libmad bits as mad is no longer included in the source
|
||||
|
||||
* Wed Nov 30 2016 leigh scott <leigh123linux@googlemail.com> - 1.10.2-1
|
||||
- Update to 1.10.2
|
||||
|
||||
* Fri Nov 18 2016 Adrian Reber <adrian@lisas.de> - 1.10.0-3
|
||||
- Rebuilt for libcdio-0.94
|
||||
|
||||
* Sun Nov 13 2016 Hans de Goede <j.w.r.degoede@gmail.com> - 1.10.0-2
|
||||
- Drop mpg123 plugin, it is in Fedora proper now
|
||||
|
||||
* Fri Nov 11 2016 Hans de Goede <j.w.r.degoede@gmail.com> - 1.10.0-1
|
||||
- Rebase to new upstream release 1.10.0
|
||||
|
||||
* Sun Jun 12 2016 Hans de Goede <j.w.r.degoede@gmail.com> - 1.8.2-1
|
||||
- Rebase to new upstream release 1.8.2
|
||||
|
||||
* Wed May 18 2016 Hans de Goede <j.w.r.degoede@gmail.com> - 1.8.1-1
|
||||
- Rebase to new upstream release 1.8.1
|
||||
|
||||
* Sat Jan 23 2016 Hans de Goede <j.w.r.degoede@gmail.com> - 1.6.3-1
|
||||
- Rebase to new upstream release 1.6.3
|
||||
|
||||
* Thu Dec 24 2015 Hans de Goede <j.w.r.degoede@gmail.com> - 1.6.2-1
|
||||
- Rebase to new upstream release 1.6.2
|
||||
|
||||
* Sat Oct 31 2015 Hans de Goede <j.w.r.degoede@gmail.com> - 1.6.1-1
|
||||
- Rebase to new upstream release 1.6.1
|
||||
|
||||
* Sat May 16 2015 Hans de Goede <j.w.r.degoede@gmail.com> - 1.4.5-1
|
||||
- Rebase to new upstream release 1.4.5
|
||||
|
||||
* Wed Oct 1 2014 Hans de Goede <j.w.r.degoede@gmail.com> - 1.4.3-1
|
||||
- Rebase to new upstream release 1.4.3
|
||||
|
||||
* Fri Aug 29 2014 Hans de Goede <j.w.r.degoede@gmail.com> - 1.4.1-1
|
||||
- Rebase to new upstream release 1.4.1 (rf#3343)
|
||||
|
||||
* Sun Jun 15 2014 Hans de Goede <j.w.r.degoede@gmail.com> - 1.2.4-1
|
||||
- Rebase to new upstream release 1.2.4
|
||||
|
||||
* Sat Mar 22 2014 Sérgio Basto <sergio@serjux.com> - 1.2.3-3
|
||||
- Rebuilt for x264
|
||||
|
||||
* Thu Mar 06 2014 Nicolas Chauvet <kwizart@gmail.com> - 1.2.3-2
|
||||
- Rebuilt for x264
|
||||
|
||||
* Sun Feb 23 2014 Hans de Goede <j.w.r.degoede@gmail.com> - 1.2.3-1
|
||||
- Rebase to new upstream release 1.2.3
|
||||
|
||||
* Fri Feb 21 2014 Nicolas Chauvet <kwizart@gmail.com> - 1.2.1-2
|
||||
- Rebuilt
|
||||
|
||||
* Sat Nov 16 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.2.1-1
|
||||
- Rebase to new upstream release 1.2.1
|
||||
|
||||
* Tue Nov 05 2013 Nicolas Chauvet <kwizart@gmail.com> - 1.2.0-3
|
||||
- Rebuilt for x264/FFmpeg
|
||||
|
||||
* Tue Oct 22 2013 Nicolas Chauvet <kwizart@gmail.com> - 1.2.0-2
|
||||
- Rebuilt for x264
|
||||
|
||||
* Sun Oct 13 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.2.0-1
|
||||
- Rebase to new upstream release 1.2.0
|
||||
|
||||
* Thu Aug 08 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.1.3-1
|
||||
- Rebase to new upstream release 1.1.3
|
||||
|
||||
* Wed Aug 07 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.0.9-1
|
||||
- New upstream release 1.0.9
|
||||
|
||||
* Tue May 07 2013 Nicolas Chauvet <kwizart@gmail.com> - 1.0.6-2
|
||||
- Rebuilt for x264
|
||||
|
||||
* Mon Mar 25 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.0.6-1
|
||||
- New upstream release 1.0.6
|
||||
|
||||
* Sat Mar 2 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.0.5-1
|
||||
- New upstream release 1.0.5
|
||||
- Drop no longer needed PyXML BuildRequires (rf#2572)
|
||||
|
||||
* Sun Jan 20 2013 Nicolas Chauvet <kwizart@gmail.com> - 1.0.2-3
|
||||
- Rebuilt for FFmpeg/x264
|
||||
|
||||
* Fri Nov 23 2012 Nicolas Chauvet <kwizart@gmail.com> - 1.0.2-2
|
||||
- Rebuilt for x264
|
||||
|
||||
* Sun Oct 28 2012 Hans de Goede <j.w.r.degoede@gmail.com> - 1.0.2-1
|
||||
- New upstream release 1.0.2
|
||||
|
||||
* Sun Sep 23 2012 Hans de Goede <j.w.r.degoede@gmail.com> - 0.11.99-1
|
||||
- New upstream release 0.11.99
|
||||
|
||||
* Sun Sep 16 2012 Hans de Goede <j.w.r.degoede@gmail.com> - 0.11.93-2
|
||||
- Fix gtk-doc dir ownership (rf#2474)
|
||||
|
||||
* Sun Sep 9 2012 Hans de Goede <j.w.r.degoede@gmail.com> - 0.11.93-1
|
||||
- First version of gstreamer1-plugins-ugly for rpmfusion
|
3537
mysql55/0001-Cloud-Linux-userstat.patch
Normal file
3537
mysql55/0001-Cloud-Linux-userstat.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,47 @@
|
||||
diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh
|
||||
index eeeab2a..5e4feb9 100644
|
||||
--- a/support-files/mysql.server.sh
|
||||
+++ b/support-files/mysql.server.sh
|
||||
@@ -225,6 +225,31 @@ wait_for_pid () {
|
||||
fi
|
||||
}
|
||||
|
||||
+clean_up_stale_pid_files(){
|
||||
+
|
||||
+ # Clean up any stale pid files in $datadir
|
||||
+ if [ -d "$datadir" ]
|
||||
+ then
|
||||
+
|
||||
+ PID_FILE_PATT="$datadir/*.pid"
|
||||
+ PID_FILE_LIST=`ls -1 $PID_FILE_PATT 2>/dev/null`
|
||||
+
|
||||
+ for item in $PID_FILE_LIST;
|
||||
+ do
|
||||
+ # Clean up empty pid file
|
||||
+ [ ! -s $item ] && rm -f $item && continue
|
||||
+
|
||||
+ # Clean up invalid/stale pid file
|
||||
+ pidnum=$(cat $item);
|
||||
+ process_found=$(pstree -p $pidnum 2> /dev/null)
|
||||
+ [ -z "$process_found" ] && rm -f $item
|
||||
+ done
|
||||
+ fi
|
||||
+
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
+
|
||||
# Get arguments from the my.cnf file,
|
||||
# the only group, which is read from now on is [mysqld]
|
||||
if test -x ./bin/my_print_defaults
|
||||
@@ -323,6 +348,10 @@ case "$mode" in
|
||||
;;
|
||||
|
||||
'stop')
|
||||
+
|
||||
+ # Clean up any stale pid files in $datadir
|
||||
+ clean_up_stale_pid_files
|
||||
+
|
||||
# Stop daemon. We use a signal here to avoid having to know the
|
||||
# root password.
|
||||
|
49
mysql55/0005-Use-accessors-and-fix-type-errors.patch
Normal file
49
mysql55/0005-Use-accessors-and-fix-type-errors.patch
Normal file
@ -0,0 +1,49 @@
|
||||
From 208a9b5094bd780ea3368d968223ed21403e1e9e Mon Sep 17 00:00:00 2001
|
||||
From: Rikus Goodell <rikus.goodell@cpanel.net>
|
||||
Date: Fri, 20 Sep 2013 11:23:51 -0500
|
||||
Subject: [PATCH 5/6] Use accessors and fix type errors.
|
||||
|
||||
Update the CloudLinux patch to use accessors instead of accessing
|
||||
the class variables directly. This is necessary because the variables
|
||||
have become private.
|
||||
|
||||
A type error has also been corrected by converting a String to a
|
||||
C string in two spots.
|
||||
---
|
||||
SOURCES/mysql/sql/sql_class.cc | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/SOURCES/mysql/sql/sql_class.cc b/SOURCES/mysql/sql/sql_class.cc
|
||||
index 99db9ab..f000199 100644
|
||||
--- a/SOURCES/mysql/sql/sql_class.cc
|
||||
+++ b/SOURCES/mysql/sql/sql_class.cc
|
||||
@@ -2119,7 +2119,7 @@ char *THD::get_client_host_port(THD *client)
|
||||
Security_context *client_sctx= client->security_ctx;
|
||||
char *client_host= NULL;
|
||||
|
||||
- if (client->peer_port && (client_sctx->host || client_sctx->ip) &&
|
||||
+ if (client->peer_port && (client_sctx->get_host() || client_sctx->get_ip()) &&
|
||||
security_ctx->host_or_ip[0])
|
||||
{
|
||||
if ((client_host= (char *) this->alloc(LIST_PROCESS_HOST_LEN+1)))
|
||||
@@ -2129,7 +2129,7 @@ char *THD::get_client_host_port(THD *client)
|
||||
else
|
||||
client_host= this->strdup(client_sctx->host_or_ip[0] ?
|
||||
client_sctx->host_or_ip :
|
||||
- client_sctx->host ? client_sctx->host : "");
|
||||
+ client_sctx->get_host() ? client_sctx->get_host()->c_ptr_safe() : "");
|
||||
|
||||
return client_host;
|
||||
}
|
||||
@@ -2138,7 +2138,7 @@ const char *get_client_host(THD *client)
|
||||
{
|
||||
return client->security_ctx->host_or_ip[0] ?
|
||||
client->security_ctx->host_or_ip :
|
||||
- client->security_ctx->host ? client->security_ctx->host : "";
|
||||
+ client->security_ctx->get_host() ? client->security_ctx->get_host()->c_ptr_safe() : "";
|
||||
}
|
||||
|
||||
struct Item_change_record: public ilink
|
||||
--
|
||||
1.8.3.4
|
||||
|
4
mysql55/README.mysql-docs
Normal file
4
mysql55/README.mysql-docs
Normal file
@ -0,0 +1,4 @@
|
||||
The official MySQL documentation is not freely redistributable, so we cannot
|
||||
include it in RHEL or Fedora. You can find it on-line at
|
||||
|
||||
http://dev.mysql.com/doc/
|
6
mysql55/README.mysql-license
Normal file
6
mysql55/README.mysql-license
Normal file
@ -0,0 +1,6 @@
|
||||
MySQL is distributed under GPL v2, but there are some licensing exceptions
|
||||
that allow the client libraries to be linked with a non-GPL application,
|
||||
so long as the application is under a license approved by Oracle.
|
||||
For details see
|
||||
|
||||
http://www.mysql.com/about/legal/licensing/foss-exception/
|
5
mysql55/filter-requires-mysql.sh
Executable file
5
mysql55/filter-requires-mysql.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/lib/rpm/perl.req $* | \
|
||||
grep -v -e "perl(th" \
|
||||
-e "perl(lib::mtr" -e "perl(lib::v1/mtr" -e "perl(mtr"
|
150
mysql55/libmysql.version
Normal file
150
mysql55/libmysql.version
Normal file
@ -0,0 +1,150 @@
|
||||
# symbols exported from mysql 5.1
|
||||
libmysqlclient_16 {
|
||||
global:
|
||||
_fini;
|
||||
_init;
|
||||
my_init;
|
||||
myodbc_remove_escape;
|
||||
mysql_affected_rows;
|
||||
mysql_autocommit;
|
||||
mysql_change_user;
|
||||
mysql_character_set_name;
|
||||
mysql_close;
|
||||
mysql_commit;
|
||||
mysql_data_seek;
|
||||
mysql_debug;
|
||||
mysql_dump_debug_info;
|
||||
mysql_embedded;
|
||||
mysql_eof;
|
||||
mysql_errno;
|
||||
mysql_error;
|
||||
mysql_escape_string;
|
||||
mysql_fetch_field;
|
||||
mysql_fetch_field_direct;
|
||||
mysql_fetch_fields;
|
||||
mysql_fetch_lengths;
|
||||
mysql_fetch_row;
|
||||
mysql_field_count;
|
||||
mysql_field_seek;
|
||||
mysql_field_tell;
|
||||
mysql_free_result;
|
||||
mysql_get_character_set_info;
|
||||
mysql_get_client_info;
|
||||
mysql_get_client_version;
|
||||
mysql_get_host_info;
|
||||
mysql_get_parameters;
|
||||
mysql_get_proto_info;
|
||||
mysql_get_server_info;
|
||||
mysql_get_server_version;
|
||||
mysql_get_ssl_cipher;
|
||||
mysql_hex_string;
|
||||
mysql_info;
|
||||
mysql_init;
|
||||
mysql_insert_id;
|
||||
mysql_kill;
|
||||
mysql_list_dbs;
|
||||
mysql_list_fields;
|
||||
mysql_list_processes;
|
||||
mysql_list_tables;
|
||||
mysql_more_results;
|
||||
mysql_next_result;
|
||||
mysql_num_fields;
|
||||
mysql_num_rows;
|
||||
mysql_options;
|
||||
mysql_ping;
|
||||
mysql_query;
|
||||
mysql_read_query_result;
|
||||
mysql_real_connect;
|
||||
mysql_real_escape_string;
|
||||
mysql_real_query;
|
||||
mysql_refresh;
|
||||
mysql_rollback;
|
||||
mysql_row_seek;
|
||||
mysql_row_tell;
|
||||
mysql_select_db;
|
||||
mysql_send_query;
|
||||
mysql_server_end;
|
||||
mysql_server_init;
|
||||
mysql_set_character_set;
|
||||
mysql_set_local_infile_default;
|
||||
mysql_set_local_infile_handler;
|
||||
mysql_set_server_option;
|
||||
mysql_shutdown;
|
||||
mysql_sqlstate;
|
||||
mysql_ssl_set;
|
||||
mysql_stat;
|
||||
mysql_stmt_affected_rows;
|
||||
mysql_stmt_attr_get;
|
||||
mysql_stmt_attr_set;
|
||||
mysql_stmt_bind_param;
|
||||
mysql_stmt_bind_result;
|
||||
mysql_stmt_close;
|
||||
mysql_stmt_data_seek;
|
||||
mysql_stmt_errno;
|
||||
mysql_stmt_error;
|
||||
mysql_stmt_execute;
|
||||
mysql_stmt_fetch;
|
||||
mysql_stmt_fetch_column;
|
||||
mysql_stmt_field_count;
|
||||
mysql_stmt_free_result;
|
||||
mysql_stmt_init;
|
||||
mysql_stmt_insert_id;
|
||||
mysql_stmt_num_rows;
|
||||
mysql_stmt_param_count;
|
||||
mysql_stmt_param_metadata;
|
||||
mysql_stmt_prepare;
|
||||
mysql_stmt_reset;
|
||||
mysql_stmt_result_metadata;
|
||||
mysql_stmt_row_seek;
|
||||
mysql_stmt_row_tell;
|
||||
mysql_stmt_send_long_data;
|
||||
mysql_stmt_sqlstate;
|
||||
mysql_stmt_store_result;
|
||||
mysql_store_result;
|
||||
mysql_thread_end;
|
||||
mysql_thread_id;
|
||||
mysql_thread_init;
|
||||
mysql_thread_safe;
|
||||
mysql_use_result;
|
||||
mysql_warning_count;
|
||||
# These are documented in Paul DuBois' MySQL book, so we treat them as part
|
||||
# of the de-facto API.
|
||||
free_defaults;
|
||||
handle_options;
|
||||
load_defaults;
|
||||
my_print_help;
|
||||
# This isn't really documented anywhere, but it seems to be part of the
|
||||
# de-facto API as well. We're not going to export the deprecated version
|
||||
# make_scrambled_password, however.
|
||||
my_make_scrambled_password;
|
||||
# This really shouldn't be exported, but some applications use it as a
|
||||
# workaround for inadequate threading support; see bug #846602
|
||||
THR_KEY_mysys;
|
||||
local:
|
||||
*;
|
||||
};
|
||||
# symbols added in mysql 5.5
|
||||
libmysqlclient_18 {
|
||||
global:
|
||||
mysql_client_find_plugin;
|
||||
mysql_client_register_plugin;
|
||||
mysql_load_plugin;
|
||||
mysql_load_plugin_v;
|
||||
mysql_plugin_options;
|
||||
mysql_stmt_next_result;
|
||||
#
|
||||
# Ideally the following symbols wouldn't be exported, but various applications
|
||||
# require them. We limit the namespace damage by prefixing mysql_
|
||||
# (see mysql-dubious-exports.patch), which means the symbols are not present
|
||||
# in libmysqlclient_16.
|
||||
#
|
||||
# mysql-connector-odbc requires these
|
||||
mysql_default_charset_info;
|
||||
mysql_get_charset;
|
||||
mysql_get_charset_by_csname;
|
||||
mysql_net_realloc;
|
||||
# PHP's mysqli.so requires this (via the ER() macro)
|
||||
mysql_client_errors;
|
||||
# mydumper requires this (added by remi)
|
||||
my_net_read;
|
||||
};
|
1669
mysql55/max_connection2_mysql_5_5_30_b404.patch
Normal file
1669
mysql55/max_connection2_mysql_5_5_30_b404.patch
Normal file
File diff suppressed because it is too large
Load Diff
33
mysql55/my.cnf
Normal file
33
mysql55/my.cnf
Normal file
@ -0,0 +1,33 @@
|
||||
[mysqld]
|
||||
datadir=/var/lib/mysql
|
||||
socket=/var/lib/mysql/mysql.sock
|
||||
|
||||
# Disabling symbolic-links is recommended to prevent assorted security risks
|
||||
symbolic-links=0
|
||||
|
||||
# Settings user and group are ignored when systemd is used (fedora >= 15).
|
||||
# If you need to run mysqld under a different user or group,
|
||||
# customize your systemd unit file for mysqld according to the
|
||||
# instructions in http://fedoraproject.org/wiki/Systemd
|
||||
user=mysql
|
||||
|
||||
# Semisynchronous Replication
|
||||
# http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html
|
||||
# uncomment next line on MASTER
|
||||
;plugin-load=rpl_semi_sync_master=semisync_master.so
|
||||
# uncomment next line on SLAVE
|
||||
;plugin-load=rpl_semi_sync_slave=semisync_slave.so
|
||||
|
||||
# Others options for Semisynchronous Replication
|
||||
;rpl_semi_sync_master_enabled=1
|
||||
;rpl_semi_sync_master_timeout=10
|
||||
;rpl_semi_sync_slave_enabled=1
|
||||
|
||||
# http://dev.mysql.com/doc/refman/5.5/en/performance-schema.html
|
||||
;performance_schema
|
||||
|
||||
|
||||
[mysqld_safe]
|
||||
log-error=/var/log/mysqld.log
|
||||
pid-file=/var/run/mysqld/mysqld.pid
|
||||
|
29
mysql55/my_config.h
Normal file
29
mysql55/my_config.h
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Kluge to support multilib installation of both 32- and 64-bit RPMS:
|
||||
* we need to arrange that header files that appear in both RPMs are
|
||||
* identical. Hence, this file is architecture-independent and calls
|
||||
* in an arch-dependent file that will appear in just one RPM.
|
||||
*
|
||||
* To avoid breaking arches not explicitly supported by Red Hat, we
|
||||
* use this indirection file *only* on known multilib arches.
|
||||
*
|
||||
* Note: this may well fail if user tries to use gcc's -I- option.
|
||||
* But that option is deprecated anyway.
|
||||
*/
|
||||
#if defined(__x86_64__)
|
||||
#include "my_config_x86_64.h"
|
||||
#elif defined(__i386__)
|
||||
#include "my_config_i386.h"
|
||||
#elif defined(__ppc64__) || defined(__powerpc64__)
|
||||
#include "my_config_ppc64.h"
|
||||
#elif defined(__ppc__) || defined(__powerpc__)
|
||||
#include "my_config_ppc.h"
|
||||
#elif defined(__s390x__)
|
||||
#include "my_config_s390x.h"
|
||||
#elif defined(__s390__)
|
||||
#include "my_config_s390.h"
|
||||
#elif defined(__sparc__) && defined(__arch64__)
|
||||
#include "my_config_sparc64.h"
|
||||
#elif defined(__sparc__)
|
||||
#include "my_config_sparc.h"
|
||||
#endif
|
41
mysql55/mysql-chain-certs.patch
Normal file
41
mysql55/mysql-chain-certs.patch
Normal file
@ -0,0 +1,41 @@
|
||||
Fix things so that chains of certificates work in the server and client
|
||||
certificate files.
|
||||
|
||||
This only really works for OpenSSL-based builds, as yassl is unable to read
|
||||
multiple certificates from a file. The patch below to yassl/src/ssl.cpp
|
||||
doesn't fix that, but just arranges that the viosslfactories.c patch won't
|
||||
have any ill effects in a yassl build. Since we don't use yassl in Red Hat/
|
||||
Fedora builds, I'm not feeling motivated to try to fix yassl for this.
|
||||
|
||||
See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.28.orig/extra/yassl/src/ssl.cpp mysql-5.5.28/extra/yassl/src/ssl.cpp
|
||||
--- mysql-5.5.28.orig/extra/yassl/src/ssl.cpp 2012-08-29 04:50:46.000000000 -0400
|
||||
+++ mysql-5.5.28/extra/yassl/src/ssl.cpp 2012-09-29 12:45:19.682287214 -0400
|
||||
@@ -1627,10 +1627,10 @@
|
||||
}
|
||||
|
||||
|
||||
- int SSL_CTX_use_certificate_chain_file(SSL_CTX*, const char*)
|
||||
+ int SSL_CTX_use_certificate_chain_file(SSL_CTX* ctx, const char* file)
|
||||
{
|
||||
- // TDOD:
|
||||
- return SSL_SUCCESS;
|
||||
+ // For the moment, treat like use_certificate_file
|
||||
+ return read_file(ctx, file, SSL_FILETYPE_PEM, Cert);
|
||||
}
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactories.c
|
||||
--- mysql-5.5.28.orig/vio/viosslfactories.c 2012-08-29 04:50:46.000000000 -0400
|
||||
+++ mysql-5.5.28/vio/viosslfactories.c 2012-09-29 12:46:35.124975585 -0400
|
||||
@@ -106,7 +106,7 @@
|
||||
key_file= cert_file;
|
||||
|
||||
if (cert_file &&
|
||||
- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0)
|
||||
+ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0)
|
||||
{
|
||||
*error= SSL_INITERR_CERT;
|
||||
DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file));
|
115
mysql55/mysql-cipherspec.patch
Normal file
115
mysql55/mysql-cipherspec.patch
Normal file
@ -0,0 +1,115 @@
|
||||
Some test items assume the default SSL cipher is DHE-RSA-AES256-SHA,
|
||||
which is no longer the case as of openssl 1.0.1.
|
||||
This patch enhances connect command by an option to specify a cipher
|
||||
and tests are adjusted to specify the expected cipher explicitly.
|
||||
Upstream bug report: http://bugs.mysql.com/bug.php?id=64461
|
||||
|
||||
diff -up mysql-5.5.28/client/mysqltest.cc.p18 mysql-5.5.28/client/mysqltest.cc
|
||||
--- mysql-5.5.28/client/mysqltest.cc.p18 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/client/mysqltest.cc 2012-12-06 14:25:46.370001422 +0100
|
||||
@@ -5458,6 +5458,7 @@ void do_connect(struct st_command *comma
|
||||
my_bool con_ssl= 0, con_compress= 0;
|
||||
my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0;
|
||||
struct st_connection* con_slot;
|
||||
+ char *con_cipher=NULL;
|
||||
|
||||
static DYNAMIC_STRING ds_connection_name;
|
||||
static DYNAMIC_STRING ds_host;
|
||||
@@ -5548,6 +5549,8 @@ void do_connect(struct st_command *comma
|
||||
con_shm= 1;
|
||||
else if (!strncmp(con_options, "CLEARTEXT", 9))
|
||||
con_cleartext_enable= 1;
|
||||
+ else if (!strncmp(con_options, "CIPHER:", 7))
|
||||
+ con_cipher = con_options + 7;
|
||||
else
|
||||
die("Illegal option to connect: %.*s",
|
||||
(int) (end - con_options), con_options);
|
||||
@@ -5595,8 +5598,11 @@ void do_connect(struct st_command *comma
|
||||
if (con_ssl)
|
||||
{
|
||||
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
|
||||
+ /* default cipher */
|
||||
+ if (con_cipher == NULL && opt_ssl_cipher != NULL)
|
||||
+ con_cipher = opt_ssl_cipher;
|
||||
mysql_ssl_set(&con_slot->mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca,
|
||||
- opt_ssl_capath, opt_ssl_cipher);
|
||||
+ opt_ssl_capath, con_cipher);
|
||||
#if MYSQL_VERSION_ID >= 50000
|
||||
/* Turn on ssl_verify_server_cert only if host is "localhost" */
|
||||
opt_ssl_verify_server_cert= !strcmp(ds_host.str, "localhost");
|
||||
diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/openssl_1.test
|
||||
--- mysql-5.5.28/mysql-test/t/openssl_1.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/openssl_1.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca
|
||||
grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx";
|
||||
flush privileges;
|
||||
|
||||
-connect (con1,localhost,ssl_user1,,,,,SSL);
|
||||
-connect (con2,localhost,ssl_user2,,,,,SSL);
|
||||
-connect (con3,localhost,ssl_user3,,,,,SSL);
|
||||
-connect (con4,localhost,ssl_user4,,,,,SSL);
|
||||
+connect (con1,localhost,ssl_user1,,,,,SSL CIPHER:DHE-RSA-AES256-SHA);
|
||||
+connect (con2,localhost,ssl_user2,,,,,SSL CIPHER:DHE-RSA-AES256-SHA);
|
||||
+connect (con3,localhost,ssl_user3,,,,,SSL CIPHER:DHE-RSA-AES256-SHA);
|
||||
+connect (con4,localhost,ssl_user4,,,,,SSL CIPHER:DHE-RSA-AES256-SHA);
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error ER_ACCESS_DENIED_ERROR
|
||||
-connect (con5,localhost,ssl_user5,,,,,SSL);
|
||||
+connect (con5,localhost,ssl_user5,,,,,SSL CIPHER:DHE-RSA-AES256-SHA);
|
||||
|
||||
connection con1;
|
||||
# Check ssl turned on
|
||||
@@ -125,7 +125,7 @@ drop table t1;
|
||||
# verification of servers certificate by setting both ca certificate
|
||||
# and ca path to NULL
|
||||
#
|
||||
---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
@@ -250,7 +250,7 @@ select 'is still running; no cipher requ
|
||||
|
||||
GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509;
|
||||
FLUSH PRIVILEGES;
|
||||
-connect(con1,localhost,bug42158,,,,,SSL);
|
||||
+connect(con1,localhost,bug42158,,,,,SSL CIPHER:DHE-RSA-AES256-SHA);
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
disconnect con1;
|
||||
connection default;
|
||||
diff -up mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 mysql-5.5.28/mysql-test/t/ssl_8k_key.test
|
||||
--- mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/ssl_8k_key.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Bug#29784 YaSSL assertion failure when reading 8k key.
|
||||
#
|
||||
---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
|
||||
## This test file is for testing encrypted communication only, not other
|
||||
## encryption routines that the SSL library happens to provide!
|
||||
diff -up mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 mysql-5.5.28/mysql-test/t/ssl_compress.test
|
||||
--- mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/ssl_compress.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -7,7 +7,7 @@
|
||||
# Save the initial number of concurrent sessions
|
||||
--source include/count_sessions.inc
|
||||
|
||||
-connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS);
|
||||
+connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA);
|
||||
|
||||
# Check ssl turned on
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.test
|
||||
--- mysql-5.5.28/mysql-test/t/ssl.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/ssl.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -6,7 +6,7 @@
|
||||
# Save the initial number of concurrent sessions
|
||||
--source include/count_sessions.inc
|
||||
|
||||
-connect (ssl_con,localhost,root,,,,,SSL);
|
||||
+connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA);
|
||||
|
||||
# Check ssl turned on
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
63
mysql55/mysql-dh1024.patch
Normal file
63
mysql55/mysql-dh1024.patch
Normal file
@ -0,0 +1,63 @@
|
||||
Change the DH key length from 512 to 1024 bits to meet minimum requirements
|
||||
of FIPS 140-2. (In principle we could use the larger size only when FIPS
|
||||
mode is on, but it doesn't seem worth the trouble.)
|
||||
|
||||
The new parameter value was generated using "openssl dhparam -C 1024".
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactories.c
|
||||
--- mysql-5.5.28.orig/vio/viosslfactories.c 2012-08-29 04:50:46.000000000 -0400
|
||||
+++ mysql-5.5.28/vio/viosslfactories.c 2012-11-15 11:19:38.575701435 -0500
|
||||
@@ -20,27 +20,32 @@
|
||||
static my_bool ssl_algorithms_added = FALSE;
|
||||
static my_bool ssl_error_strings_loaded= FALSE;
|
||||
|
||||
-static unsigned char dh512_p[]=
|
||||
+static unsigned char dh1024_p[]=
|
||||
{
|
||||
- 0xDA,0x58,0x3C,0x16,0xD9,0x85,0x22,0x89,0xD0,0xE4,0xAF,0x75,
|
||||
- 0x6F,0x4C,0xCA,0x92,0xDD,0x4B,0xE5,0x33,0xB8,0x04,0xFB,0x0F,
|
||||
- 0xED,0x94,0xEF,0x9C,0x8A,0x44,0x03,0xED,0x57,0x46,0x50,0xD3,
|
||||
- 0x69,0x99,0xDB,0x29,0xD7,0x76,0x27,0x6B,0xA2,0xD3,0xD4,0x12,
|
||||
- 0xE2,0x18,0xF4,0xDD,0x1E,0x08,0x4C,0xF6,0xD8,0x00,0x3E,0x7C,
|
||||
- 0x47,0x74,0xE8,0x33,
|
||||
+ 0xBF,0x5C,0xFA,0xD1,0xDD,0xBB,0xB3,0x0A,0x58,0x29,0x05,0xF5,
|
||||
+ 0x7D,0x64,0xB2,0xE1,0xCE,0xE8,0xE0,0xE1,0x7A,0xB6,0xBC,0x5B,
|
||||
+ 0x21,0x56,0xDF,0x2C,0x82,0x60,0xDC,0x31,0xCA,0x1E,0x02,0xFE,
|
||||
+ 0xC4,0xE7,0x24,0x63,0x31,0xE4,0x67,0x1C,0x0B,0xFF,0x86,0x12,
|
||||
+ 0x0D,0x2E,0xE6,0x35,0x0A,0x07,0x4F,0xE7,0x3F,0xDE,0xFE,0xF0,
|
||||
+ 0x13,0x1C,0xA2,0x2B,0xF4,0xEE,0x2C,0x90,0x10,0x57,0x6B,0x2B,
|
||||
+ 0xB9,0x1E,0x1B,0x47,0xB0,0x25,0xBF,0x45,0x86,0xDA,0x87,0x35,
|
||||
+ 0x2C,0xF5,0x6A,0x41,0xA2,0x57,0xD8,0x16,0x5E,0x82,0x91,0x99,
|
||||
+ 0x33,0xA0,0x8B,0x9D,0x34,0xCE,0x03,0x01,0x80,0x32,0x07,0x3B,
|
||||
+ 0xF2,0x93,0xFC,0x3A,0x25,0xEC,0xB3,0xED,0x5C,0x4E,0x57,0xF2,
|
||||
+ 0x3C,0x2E,0x0D,0xB1,0x59,0xA2,0x08,0x93,
|
||||
};
|
||||
|
||||
-static unsigned char dh512_g[]={
|
||||
+static unsigned char dh1024_g[]={
|
||||
0x02,
|
||||
};
|
||||
|
||||
-static DH *get_dh512(void)
|
||||
+static DH *get_dh1024(void)
|
||||
{
|
||||
DH *dh;
|
||||
if ((dh=DH_new()))
|
||||
{
|
||||
- dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL);
|
||||
- dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL);
|
||||
+ dh->p=BN_bin2bn(dh1024_p,sizeof(dh1024_p),NULL);
|
||||
+ dh->g=BN_bin2bn(dh1024_g,sizeof(dh1024_g),NULL);
|
||||
if (! dh->p || ! dh->g)
|
||||
{
|
||||
DH_free(dh);
|
||||
@@ -255,7 +260,7 @@
|
||||
}
|
||||
|
||||
/* DH stuff */
|
||||
- dh=get_dh512();
|
||||
+ dh=get_dh1024();
|
||||
SSL_CTX_set_tmp_dh(ssl_fd->ssl_context, dh);
|
||||
DH_free(dh);
|
||||
|
169
mysql55/mysql-dubious-exports.patch
Normal file
169
mysql55/mysql-dubious-exports.patch
Normal file
@ -0,0 +1,169 @@
|
||||
Prefix mysql_ to the real names of several symbols that have to be exported
|
||||
from libmysqlclient because mysql-connector-odbc and/or PHP depend on them.
|
||||
This limits the intrusion on application namespace.
|
||||
|
||||
Also, remove all traces of make_scrambled_password and
|
||||
make_scrambled_password_323, so that references to these functions draw
|
||||
compile-time warnings, per a suggestion from Paul Howarth in bug #690346.
|
||||
It doesn't seem worth trying to get rid of all the internal symbols exposed
|
||||
by mysql.h, but these two are relatively easy to get rid of.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/client/mysqladmin.cc.p8 mysql-5.5.28/client/mysqladmin.cc
|
||||
--- mysql-5.5.28/client/mysqladmin.cc.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/client/mysqladmin.cc 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <my_pthread.h> /* because of signal() */
|
||||
#include <sys/stat.h>
|
||||
#include <mysql.h>
|
||||
+#include <password.h> /* my_make_scrambled_password_323, my_make_scrambled_password */
|
||||
#include <sql_common.h>
|
||||
#include <welcome_copyright_notice.h> /* ORACLE_WELCOME_COPYRIGHT_NOTICE */
|
||||
|
||||
@@ -989,9 +990,9 @@ static int execute_commands(MYSQL *mysql
|
||||
}
|
||||
}
|
||||
if (old)
|
||||
- make_scrambled_password_323(crypted_pw, typed_password);
|
||||
+ my_make_scrambled_password_323(crypted_pw, typed_password, strlen(typed_password));
|
||||
else
|
||||
- make_scrambled_password(crypted_pw, typed_password);
|
||||
+ my_make_scrambled_password(crypted_pw, typed_password, strlen(typed_password));
|
||||
}
|
||||
else
|
||||
crypted_pw[0]=0; /* No password */
|
||||
diff -up mysql-5.5.28/include/errmsg.h.p8 mysql-5.5.28/include/errmsg.h
|
||||
--- mysql-5.5.28/include/errmsg.h.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/errmsg.h 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -24,6 +24,7 @@ extern "C" {
|
||||
#endif
|
||||
void init_client_errs(void);
|
||||
void finish_client_errs(void);
|
||||
+#define client_errors mysql_client_errors /* namespace sanity */
|
||||
extern const char *client_errors[]; /* Error messages */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
diff -up mysql-5.5.28/include/mysql_com.h.p8 mysql-5.5.28/include/mysql_com.h
|
||||
--- mysql-5.5.28/include/mysql_com.h.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/mysql_com.h 2012-12-06 14:16:14.599520860 +0100
|
||||
@@ -452,6 +452,7 @@ my_bool my_net_init(NET *net, Vio* vio);
|
||||
void my_net_local_init(NET *net);
|
||||
void net_end(NET *net);
|
||||
void net_clear(NET *net, my_bool clear_buffer);
|
||||
+#define net_realloc mysql_net_realloc /* namespace sanity */
|
||||
my_bool net_realloc(NET *net, size_t length);
|
||||
my_bool net_flush(NET *net);
|
||||
my_bool my_net_write(NET *net,const unsigned char *packet, size_t len);
|
||||
@@ -533,14 +534,12 @@ double my_rnd(struct rand_struct *);
|
||||
void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st);
|
||||
|
||||
void hash_password(unsigned long *to, const char *password, unsigned int password_len);
|
||||
-void make_scrambled_password_323(char *to, const char *password);
|
||||
void scramble_323(char *to, const char *message, const char *password);
|
||||
my_bool check_scramble_323(const unsigned char *reply, const char *message,
|
||||
unsigned long *salt);
|
||||
void get_salt_from_password_323(unsigned long *res, const char *password);
|
||||
void make_password_from_salt_323(char *to, const unsigned long *salt);
|
||||
|
||||
-void make_scrambled_password(char *to, const char *password);
|
||||
void scramble(char *to, const char *message, const char *password);
|
||||
my_bool check_scramble(const unsigned char *reply, const char *message,
|
||||
const unsigned char *hash_stage2);
|
||||
diff -up mysql-5.5.28/include/mysql.h.pp.p8 mysql-5.5.28/include/mysql.h.pp
|
||||
--- mysql-5.5.28/include/mysql.h.pp.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/mysql.h.pp 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -86,7 +86,7 @@ my_bool my_net_init(NET *net, Vio* vio);
|
||||
void my_net_local_init(NET *net);
|
||||
void net_end(NET *net);
|
||||
void net_clear(NET *net, my_bool clear_buffer);
|
||||
-my_bool net_realloc(NET *net, size_t length);
|
||||
+my_bool mysql_net_realloc(NET *net, size_t length);
|
||||
my_bool net_flush(NET *net);
|
||||
my_bool my_net_write(NET *net,const unsigned char *packet, size_t len);
|
||||
my_bool net_write_command(NET *net,unsigned char command,
|
||||
@@ -128,13 +128,11 @@ void randominit(struct rand_struct *, un
|
||||
double my_rnd(struct rand_struct *);
|
||||
void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st);
|
||||
void hash_password(unsigned long *to, const char *password, unsigned int password_len);
|
||||
-void make_scrambled_password_323(char *to, const char *password);
|
||||
void scramble_323(char *to, const char *message, const char *password);
|
||||
my_bool check_scramble_323(const unsigned char *reply, const char *message,
|
||||
unsigned long *salt);
|
||||
void get_salt_from_password_323(unsigned long *res, const char *password);
|
||||
void make_password_from_salt_323(char *to, const unsigned long *salt);
|
||||
-void make_scrambled_password(char *to, const char *password);
|
||||
void scramble(char *to, const char *message, const char *password);
|
||||
my_bool check_scramble(const unsigned char *reply, const char *message,
|
||||
const unsigned char *hash_stage2);
|
||||
diff -up mysql-5.5.28/include/my_sys.h.p8 mysql-5.5.28/include/my_sys.h
|
||||
--- mysql-5.5.28/include/my_sys.h.p8 2012-12-06 14:09:15.218170154 +0100
|
||||
+++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -218,6 +218,7 @@ extern uint my_large_page_size;
|
||||
|
||||
/* charsets */
|
||||
#define MY_ALL_CHARSETS_SIZE 2048
|
||||
+#define default_charset_info mysql_default_charset_info /* namespace sanity */
|
||||
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info;
|
||||
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE];
|
||||
extern CHARSET_INFO compiled_charsets[];
|
||||
@@ -895,6 +896,9 @@ extern uint get_charset_number(const cha
|
||||
extern uint get_collation_number(const char *name);
|
||||
extern const char *get_charset_name(uint cs_number);
|
||||
|
||||
+#define get_charset mysql_get_charset /* namespace sanity */
|
||||
+#define get_charset_by_csname mysql_get_charset_by_csname
|
||||
+
|
||||
extern CHARSET_INFO *get_charset(uint cs_number, myf flags);
|
||||
extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
|
||||
extern CHARSET_INFO *get_charset_by_csname(const char *cs_name,
|
||||
diff -up mysql-5.5.28/sql/password.c.p8 mysql-5.5.28/sql/password.c
|
||||
--- mysql-5.5.28/sql/password.c.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/password.c 2012-12-06 14:16:14.599520860 +0100
|
||||
@@ -155,23 +155,6 @@ void my_make_scrambled_password_323(char
|
||||
|
||||
|
||||
/*
|
||||
- Wrapper around my_make_scrambled_password_323() to maintain client lib ABI
|
||||
- compatibility.
|
||||
- In server code usage of my_make_scrambled_password_323() is preferred to
|
||||
- avoid strlen().
|
||||
- SYNOPSIS
|
||||
- make_scrambled_password_323()
|
||||
- to OUT store scrambled password here
|
||||
- password IN NULL-terminated string with user-supplied password
|
||||
-*/
|
||||
-
|
||||
-void make_scrambled_password_323(char *to, const char *password)
|
||||
-{
|
||||
- my_make_scrambled_password_323(to, password, strlen(password));
|
||||
-}
|
||||
-
|
||||
-
|
||||
-/*
|
||||
Scramble string with password.
|
||||
Used in pre 4.1 authentication phase.
|
||||
SYNOPSIS
|
||||
@@ -434,23 +417,6 @@ void my_make_scrambled_password(char *to
|
||||
|
||||
|
||||
/*
|
||||
- Wrapper around my_make_scrambled_password() to maintain client lib ABI
|
||||
- compatibility.
|
||||
- In server code usage of my_make_scrambled_password() is preferred to
|
||||
- avoid strlen().
|
||||
- SYNOPSIS
|
||||
- make_scrambled_password()
|
||||
- buf OUT buffer of size 2*SHA1_HASH_SIZE + 2 to store hex string
|
||||
- password IN NULL-terminated password string
|
||||
-*/
|
||||
-
|
||||
-void make_scrambled_password(char *to, const char *password)
|
||||
-{
|
||||
- my_make_scrambled_password(to, password, strlen(password));
|
||||
-}
|
||||
-
|
||||
-
|
||||
-/*
|
||||
Produce an obscure octet sequence from password and random
|
||||
string, recieved from the server. This sequence corresponds to the
|
||||
password, but password can not be easily restored from it. The sequence
|
26
mysql55/mysql-embedded-check.c
Normal file
26
mysql55/mysql-embedded-check.c
Normal file
@ -0,0 +1,26 @@
|
||||
/* simple test program to see if we can link the embedded server library */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "mysql.h"
|
||||
|
||||
MYSQL *mysql;
|
||||
|
||||
static char *server_options[] = \
|
||||
{ "mysql_test", "--defaults-file=my.cnf", NULL };
|
||||
int num_elements = (sizeof(server_options) / sizeof(char *)) - 1;
|
||||
|
||||
static char *server_groups[] = { "libmysqld_server",
|
||||
"libmysqld_client", NULL };
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
mysql_library_init(num_elements, server_options, server_groups);
|
||||
mysql = mysql_init(NULL);
|
||||
mysql_close(mysql);
|
||||
mysql_library_end();
|
||||
|
||||
return 0;
|
||||
}
|
21
mysql55/mysql-errno.patch
Normal file
21
mysql55/mysql-errno.patch
Normal file
@ -0,0 +1,21 @@
|
||||
"extern int errno" is just a really bad idea.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/include/my_sys.h.p1 mysql-5.5.28/include/my_sys.h
|
||||
--- mysql-5.5.28/include/my_sys.h.p1 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:09:15.218170154 +0100
|
||||
@@ -197,13 +197,8 @@ extern void my_large_free(uchar *ptr);
|
||||
#define my_afree(PTR) my_free(PTR)
|
||||
#endif /* HAVE_ALLOCA */
|
||||
|
||||
-#ifndef errno /* did we already get it? */
|
||||
-#ifdef HAVE_ERRNO_AS_DEFINE
|
||||
#include <errno.h> /* errno is a define */
|
||||
-#else
|
||||
-extern int errno; /* declare errno */
|
||||
-#endif
|
||||
-#endif /* #ifndef errno */
|
||||
+
|
||||
extern char *home_dir; /* Home directory for user */
|
||||
extern const char *my_progname; /* program-name (printed in errors) */
|
||||
extern char curr_dir[]; /* Current directory for user */
|
555
mysql55/mysql-expired-certs.patch
Normal file
555
mysql55/mysql-expired-certs.patch
Normal file
@ -0,0 +1,555 @@
|
||||
Upstream insists on generating SSL testing certificates with relatively short
|
||||
lifespan, which has repeatedly caused problems (ie, one day the regression
|
||||
tests suddenly stop working). Replace them with certificates with 20-year
|
||||
lifespan. We should periodically regenerate these, too, but at least not
|
||||
very often.
|
||||
|
||||
|
||||
diff -Naur mysql-5.1.50.orig/mysql-test/std_data/cacert.pem mysql-5.1.50/mysql-test/std_data/cacert.pem
|
||||
--- mysql-5.1.50.orig/mysql-test/std_data/cacert.pem 2010-08-03 13:55:04.000000000 -0400
|
||||
+++ mysql-5.1.50/mysql-test/std_data/cacert.pem 2010-08-27 23:42:05.751428144 -0400
|
||||
@@ -1,17 +1,22 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
-MIICrTCCAhagAwIBAgIJAMI7xZKjhrDbMA0GCSqGSIb3DQEBBAUAMEQxCzAJBgNV
|
||||
+MIIDsjCCApqgAwIBAgIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV
|
||||
BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD
|
||||
-VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkxMTQ3MTBaFw0xNTAxMjgxMTQ3MTBaMEQx
|
||||
+VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkwNTU5NTNaFw0xNTAxMjgwNTU5NTNaMEQx
|
||||
CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh
|
||||
-MREwDwYDVQQKEwhNeVNRTCBBQjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
|
||||
-wQYsOEfrN4ESP3FjsI8cghE+tZVuyK2gck61lwieVxjgFMtBd65mI5a1y9pmlOI1
|
||||
-yM4SB2Ppqcuw7/e1CdV1y7lvHrGNt5yqEHbN4QX1gvsN8TQauP/2WILturk4R4Hq
|
||||
-rKg0ZySu7f1Xhl0ed9a48LpaEHD17IcxWEGMMJwAxF0CAwEAAaOBpjCBozAMBgNV
|
||||
-HRMEBTADAQH/MB0GA1UdDgQWBBSvktYQ0ahLnyxyVKqty+WpBbBrDTB0BgNVHSME
|
||||
-bTBrgBSvktYQ0ahLnyxyVKqty+WpBbBrDaFIpEYwRDELMAkGA1UEBhMCU0UxEDAO
|
||||
-BgNVBAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FM
|
||||
-IEFCggkAwjvFkqOGsNswDQYJKoZIhvcNAQEEBQADgYEAdKN1PjwMHAKG2Ww1145g
|
||||
-JQGBnKxSFOUaoSvkBi/4ntTM+ysnViWh7WvxyWjR9zU9arfr7aqsDeQxm0XDOqzj
|
||||
-AQ/cQIla2/Li8tXyfc06bisH/IHRaSc2zWqioTKbEwMdVOdrvq4a8V8ic3xYyIWn
|
||||
-7F4WeS07J8LKardSvM0+hOA=
|
||||
+MREwDwYDVQQKEwhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
||||
+ggEBAL6kNN4peX7uhK9rb06W/QbPEpVuejmdWdl2PqMshP/eSuXXw7kwVgfpxx9R
|
||||
+vC000CKQQSG9MCoZjtqPnFRsetmWLZgApRpEalGXTXJqq9sEbCfoFizg94U8G7d2
|
||||
+u5XJjLVmcG34ru36KoBgVx1zeH1puBAf8dOzrE4L7Y+ZQBFzFohjh8C2LqWC4nM5
|
||||
+qsLmOkDWMipGqYU5DvkKjIbTbwTyRNRgZHWSPfVDDPUIUOsY4BGUp2DpgeGY9aEv
|
||||
+lIs57Ev9JqlIUCV65lOhhDkG+xwmkHKHA+ECEU9cALI8+uXbh48MB9XpMOuk408X
|
||||
+/lX89aZwD0/G9kmObVGnE2G+H5UCAwEAAaOBpjCBozAdBgNVHQ4EFgQUsft+d7VA
|
||||
+jWgRftkR5cPG2k2sUbAwdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbCh
|
||||
+SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV
|
||||
+cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMAwGA1UdEwQFMAMB
|
||||
+Af8wDQYJKoZIhvcNAQEFBQADggEBALRUOAmdL8R8sl1y8kiEiFgDatdXK5RDqWai
|
||||
+8yZChfmwTIToHhmQsOEshJe2e8hky3huUj+33VyXjINoMbebIwMuXPwEkbJal8RZ
|
||||
+nSJmF0jN1Qz7J/jFffwK9xmejWZJx49Kt2+Qwrwp6kDeq9TLFqQOoVczgyJPYsTL
|
||||
+NAOib5WqTud3XWvCwxrhqmWu7JZq6sp1fomP/uunprb8y2miWfLESZN2mKAhm44Q
|
||||
+Lws867LT8v2lskEjq2dT1LutD5+R66XcdjgSr0uDziDs64jZwCD6ea94hVFM7ej0
|
||||
+ZOXYeSEZJ56FjUxu632e9fY8NyMh30yKjjmQf1mM9PuGJvdvsWU=
|
||||
-----END CERTIFICATE-----
|
||||
diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem mysql-5.1.50/mysql-test/std_data/client-cert.pem
|
||||
--- mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem 2010-08-03 13:55:04.000000000 -0400
|
||||
+++ mysql-5.1.50/mysql-test/std_data/client-cert.pem 2010-08-27 23:42:05.752428395 -0400
|
||||
@@ -1,46 +1,69 @@
|
||||
Certificate:
|
||||
Data:
|
||||
- Version: 1 (0x0)
|
||||
- Serial Number: 1048577 (0x100001)
|
||||
- Signature Algorithm: md5WithRSAEncryption
|
||||
+ Version: 3 (0x2)
|
||||
+ Serial Number: 6 (0x6)
|
||||
+ Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB
|
||||
Validity
|
||||
- Not Before: Jan 29 11:50:22 2010 GMT
|
||||
- Not After : Jan 28 11:50:22 2015 GMT
|
||||
+ Not Before: Feb 20 03:03:26 2010 GMT
|
||||
+ Not After : Sep 3 03:03:26 2030 GMT
|
||||
Subject: C=SE, ST=Uppsala, O=MySQL AB
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
- Public-Key: (1024 bit)
|
||||
- Modulus:
|
||||
- 00:cc:9a:37:49:13:66:dc:cf:e3:0b:13:a1:23:ed:
|
||||
- 78:db:4e:bd:11:f6:8c:0d:76:f9:a3:32:56:9a:f8:
|
||||
- a1:21:6a:55:4e:4d:3f:e6:67:9d:26:99:b2:cd:a4:
|
||||
- 9a:d2:2b:59:5c:d7:8a:d3:60:68:f8:18:bd:c5:be:
|
||||
- 15:e1:2a:3c:a3:d4:61:cb:f5:11:94:17:81:81:f7:
|
||||
- 87:8c:f6:6a:d2:ee:d8:e6:77:f6:62:66:4d:2e:16:
|
||||
- 8d:08:81:4a:c9:c6:4b:31:e5:b9:c7:8a:84:96:48:
|
||||
- a7:47:8c:0d:26:90:56:4e:e6:a5:6e:8c:b3:f2:9f:
|
||||
- fc:3d:78:9b:49:6e:86:83:77
|
||||
+ RSA Public Key: (1024 bit)
|
||||
+ Modulus (1024 bit):
|
||||
+ 00:c2:e7:20:cf:89:59:2f:67:cb:4c:9f:e8:11:f2:
|
||||
+ 23:e5:f1:b1:ee:3f:66:5f:c3:f5:fd:1e:31:ee:8f:
|
||||
+ 4c:2a:bd:c0:4a:a5:9f:c8:44:d5:77:8f:15:1b:4d:
|
||||
+ 78:6e:b2:a2:48:a5:24:33:05:40:02:b3:c1:87:8d:
|
||||
+ 59:3c:1a:07:aa:86:f0:04:e1:9c:20:4b:22:32:c4:
|
||||
+ 51:9e:40:e4:31:c3:57:f5:98:bf:2e:b1:fd:2c:56:
|
||||
+ bf:49:d9:9b:e7:17:cc:95:5f:b5:08:19:5e:9d:df:
|
||||
+ 65:22:39:2c:48:fb:69:96:31:7a:35:4d:de:60:b4:
|
||||
+ c1:60:19:5f:96:56:7e:55:19
|
||||
Exponent: 65537 (0x10001)
|
||||
- Signature Algorithm: md5WithRSAEncryption
|
||||
- 5e:1f:a3:53:5f:24:13:1c:f8:28:32:b0:7f:69:69:f3:0e:c0:
|
||||
- 34:87:10:03:7d:da:15:8b:bd:19:b8:1a:56:31:e7:85:49:81:
|
||||
- c9:7f:45:20:74:3e:89:c0:e0:26:84:51:cc:04:16:ce:69:99:
|
||||
- 01:e1:26:99:b3:e3:f5:bd:ec:5f:a0:84:e4:38:da:75:78:7b:
|
||||
- 89:9c:d2:cd:60:95:20:ba:8e:e3:7c:e6:df:76:3a:7c:89:77:
|
||||
- 02:94:86:11:3a:c4:61:7d:6f:71:83:21:8a:17:fb:17:e2:ee:
|
||||
- 02:6b:61:c1:b4:52:63:d7:d8:46:b2:c5:9c:6f:38:91:8a:35:
|
||||
- 32:0b
|
||||
+ X509v3 extensions:
|
||||
+ X509v3 Basic Constraints:
|
||||
+ CA:FALSE
|
||||
+ X509v3 Subject Key Identifier:
|
||||
+ 8D:10:67:91:33:76:9C:02:E5:78:5D:D8:C5:EF:25:96:B2:D7:FA:1F
|
||||
+ X509v3 Authority Key Identifier:
|
||||
+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0
|
||||
+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB
|
||||
+ serial:BE:58:AD:4C:1F:3D:25:95
|
||||
+
|
||||
+ Signature Algorithm: sha1WithRSAEncryption
|
||||
+ a9:88:10:3e:5d:2a:47:29:c8:03:27:7a:31:5a:8e:10:03:bc:
|
||||
+ b5:4e:37:1d:12:7b:eb:5f:50:71:70:b1:a3:8e:93:0e:77:17:
|
||||
+ 6c:47:b6:c9:a4:4d:2a:c4:38:f0:61:55:b2:7f:28:ba:06:79:
|
||||
+ ee:67:11:7d:d4:c9:7f:0a:18:c8:c1:cb:d0:2c:f9:63:0f:bb:
|
||||
+ 45:ca:de:ea:bb:ac:00:01:52:48:36:2b:07:2b:c8:46:c7:b1:
|
||||
+ 21:81:bd:77:39:e7:4c:39:aa:bd:ac:60:d8:a7:bf:cf:14:98:
|
||||
+ 4a:0b:a1:40:55:06:8d:6f:35:a9:39:a0:71:a9:97:ba:7c:73:
|
||||
+ 3c:41:ba:c5:1c:11:4b:2b:43:1d:2d:ba:7b:5f:14:b5:3d:64:
|
||||
+ 62:15:36:b4:16:bd:78:c8:43:8d:f9:1c:a5:d2:ac:a1:58:74:
|
||||
+ e1:99:de:ad:04:19:43:a8:bd:0a:fd:19:9b:50:44:46:6d:18:
|
||||
+ 55:4d:bf:b4:5b:a4:93:62:c7:64:91:6c:54:34:d1:f8:f3:ff:
|
||||
+ 12:6d:5f:85:e7:35:9e:5c:42:81:5e:fb:c8:bb:44:51:98:b2:
|
||||
+ ef:1b:9f:5a:22:77:28:7d:da:fb:08:c2:94:9a:0f:42:08:93:
|
||||
+ 54:10:1e:ad:f2:4f:fc:62:98:51:e9:9b:b9:3a:93:d9:e4:1f:
|
||||
+ 1d:c4:76:d0
|
||||
-----BEGIN CERTIFICATE-----
|
||||
-MIIB5zCCAVACAxAAATANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G
|
||||
-A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg
|
||||
-QUIwHhcNMTAwMTI5MTE1MDIyWhcNMTUwMTI4MTE1MDIyWjAyMQswCQYDVQQGEwJT
|
||||
-RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJKoZI
|
||||
-hvcNAQEBBQADgY0AMIGJAoGBAMyaN0kTZtzP4wsToSPteNtOvRH2jA12+aMyVpr4
|
||||
-oSFqVU5NP+ZnnSaZss2kmtIrWVzXitNgaPgYvcW+FeEqPKPUYcv1EZQXgYH3h4z2
|
||||
-atLu2OZ39mJmTS4WjQiBSsnGSzHluceKhJZIp0eMDSaQVk7mpW6Ms/Kf/D14m0lu
|
||||
-hoN3AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAXh+jU18kExz4KDKwf2lp8w7ANIcQ
|
||||
-A33aFYu9GbgaVjHnhUmByX9FIHQ+icDgJoRRzAQWzmmZAeEmmbPj9b3sX6CE5Dja
|
||||
-dXh7iZzSzWCVILqO43zm33Y6fIl3ApSGETrEYX1vcYMhihf7F+LuAmthwbRSY9fY
|
||||
-RrLFnG84kYo1Mgs=
|
||||
+MIIDETCCAfmgAwIBAgIBBjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ
|
||||
+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT
|
||||
+UUwgQUIwHhcNMTAwMjIwMDMwMzI2WhcNMzAwOTAzMDMwMzI2WjAyMQswCQYDVQQG
|
||||
+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJ
|
||||
+KoZIhvcNAQEBBQADgY0AMIGJAoGBAMLnIM+JWS9ny0yf6BHyI+Xxse4/Zl/D9f0e
|
||||
+Me6PTCq9wEqln8hE1XePFRtNeG6yokilJDMFQAKzwYeNWTwaB6qG8AThnCBLIjLE
|
||||
+UZ5A5DHDV/WYvy6x/SxWv0nZm+cXzJVftQgZXp3fZSI5LEj7aZYxejVN3mC0wWAZ
|
||||
+X5ZWflUZAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUjRBnkTN2nALl
|
||||
+eF3Yxe8llrLX+h8wdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbChSKRG
|
||||
+MEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBz
|
||||
+YWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUA
|
||||
+A4IBAQCpiBA+XSpHKcgDJ3oxWo4QA7y1TjcdEnvrX1BxcLGjjpMOdxdsR7bJpE0q
|
||||
+xDjwYVWyfyi6BnnuZxF91Ml/ChjIwcvQLPljD7tFyt7qu6wAAVJINisHK8hGx7Eh
|
||||
+gb13OedMOaq9rGDYp7/PFJhKC6FAVQaNbzWpOaBxqZe6fHM8QbrFHBFLK0MdLbp7
|
||||
+XxS1PWRiFTa0Fr14yEON+Ryl0qyhWHThmd6tBBlDqL0K/RmbUERGbRhVTb+0W6ST
|
||||
+YsdkkWxUNNH48/8SbV+F5zWeXEKBXvvIu0RRmLLvG59aIncofdr7CMKUmg9CCJNU
|
||||
+EB6t8k/8YphR6Zu5OpPZ5B8dxHbQ
|
||||
-----END CERTIFICATE-----
|
||||
diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-key.pem mysql-5.1.50/mysql-test/std_data/client-key.pem
|
||||
--- mysql-5.1.50.orig/mysql-test/std_data/client-key.pem 2010-08-03 13:55:05.000000000 -0400
|
||||
+++ mysql-5.1.50/mysql-test/std_data/client-key.pem 2010-08-27 23:42:05.752428395 -0400
|
||||
@@ -1,15 +1,15 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
-MIICXQIBAAKBgQDMmjdJE2bcz+MLE6Ej7XjbTr0R9owNdvmjMlaa+KEhalVOTT/m
|
||||
-Z50mmbLNpJrSK1lc14rTYGj4GL3FvhXhKjyj1GHL9RGUF4GB94eM9mrS7tjmd/Zi
|
||||
-Zk0uFo0IgUrJxksx5bnHioSWSKdHjA0mkFZO5qVujLPyn/w9eJtJboaDdwIDAQAB
|
||||
-AoGASqk/4We2En+93y3jkIO4pXafIe3w/3zZ7caRue1ehx4RUQh5d+95djuB9u7J
|
||||
-HEZ7TpjM7QNyao5EueL6gvbxt0LXFvqAMni7yM9tt/HUYtHHPqYiRtUny9bKYFTm
|
||||
-l8szCCMal/wD9GZU9ByHDNHm7tHUMyMhARNTYSgx+SERFmECQQD/6jJocC4SXf6f
|
||||
-T3LqimWR02lbJ7qCoDgRglsUXh0zjrG+IIiAyE+QOCCx1GMe3Uw6bsIuYwdHT6as
|
||||
-WcdPs04xAkEAzKulvEvLVvN5zfa/DTYRTV7jh6aDleOxjsD5oN/oJXoACnPzVuUL
|
||||
-qQQMNtuAXm6Q1QItrRxpQsSKbY0UQka6JwJBAOSgoNoG5lIIYTKIMvzwGV+XBLeo
|
||||
-HYsXgh+6Wo4uql3mLErUG78ZtWL9kc/tE4R+ZdyKGLaCR/1gXmH5bwN4B/ECQEBb
|
||||
-uUH8k3REG4kojesZlVc+/00ojzgS4UKCa/yqa9VdB6ZBz8MDQydinnShkTwgiGpy
|
||||
-xOoqhO753o2UT0qH8wECQQC99IEJWUnwvExVMkLaZH5NjAFJkb22sjkmuT11tAgU
|
||||
-RQgOMoDOm6driojnOnDWOkx1r1Gy9NgMLooduja4v6cx
|
||||
+MIICWwIBAAKBgQDC5yDPiVkvZ8tMn+gR8iPl8bHuP2Zfw/X9HjHuj0wqvcBKpZ/I
|
||||
+RNV3jxUbTXhusqJIpSQzBUACs8GHjVk8GgeqhvAE4ZwgSyIyxFGeQOQxw1f1mL8u
|
||||
+sf0sVr9J2ZvnF8yVX7UIGV6d32UiOSxI+2mWMXo1Td5gtMFgGV+WVn5VGQIDAQAB
|
||||
+AoGARXcXLKDpVooJ3W+IyQyiWsw//IhANpWjUOm4JiyQmxMyO+i4ACr4Yjpu7WI5
|
||||
+MEseqAGj20NdwxjKO0PXsCIe5LmrGZ+SI8+CSERFOWXWRtCWz7y7SG30i1k6suvM
|
||||
+mwqWom0tJLwn93uA1lm/WSwKQwUrJRahRQd3EaZqrl7DP5kCQQD/8gbuYAT5pxQe
|
||||
+ULLGM0RvEsXxDYbEDxNbY5wrBazfklBwpumxZpFl6jEAT++7Kh2Ns3A7kB1oUNlA
|
||||
+FPYr+dYPAkEAwvHEwRtoyUr8jqoqVVJWI76CDmBjEOzVeMKW97ztqbs2LxZW8dYI
|
||||
+iOh/myFGpdoUwgu0U8w9MmXcj3ZeZCYKVwJALyQ+AJPw9qa+fuLwOq9gsHCtwrty
|
||||
+EhSQxSlwrz/pWniRll439vPkXfgntF4E0t1r+hiN2Hqv3/HcQgBaYzkuIwJAG023
|
||||
+bACFxaOuCeFFepvEms8E8jSHy4gQQhCnCl24v8wLw76SQN7kZSCDNtwLRBFuVNtE
|
||||
+z3PMonFn2eQPRmGZkwJAP1c1BHprMQx/ruafdscROILv3JrH40C1bR6KVVBKt1dK
|
||||
+Qpnpgi7hK5rUQjDF8k3bn9ugTt06jyeHe/QhAml0kg==
|
||||
-----END RSA PRIVATE KEY-----
|
||||
diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem mysql-5.1.50/mysql-test/std_data/server-cert.pem
|
||||
--- mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem 2010-08-03 13:55:08.000000000 -0400
|
||||
+++ mysql-5.1.50/mysql-test/std_data/server-cert.pem 2010-08-27 23:42:05.753428361 -0400
|
||||
@@ -1,41 +1,69 @@
|
||||
Certificate:
|
||||
Data:
|
||||
- Version: 1 (0x0)
|
||||
- Serial Number: 1048578 (0x100002)
|
||||
- Signature Algorithm: md5WithRSAEncryption
|
||||
+ Version: 3 (0x2)
|
||||
+ Serial Number: 4 (0x4)
|
||||
+ Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB
|
||||
Validity
|
||||
- Not Before: Jan 29 11:56:49 2010 GMT
|
||||
- Not After : Jan 28 11:56:49 2015 GMT
|
||||
+ Not Before: Feb 20 02:55:06 2010 GMT
|
||||
+ Not After : Sep 3 02:55:06 2030 GMT
|
||||
Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
- Public-Key: (512 bit)
|
||||
- Modulus:
|
||||
- 00:cd:e4:87:51:9d:72:11:a0:d1:fa:f3:92:8b:13:
|
||||
- 1c:eb:f7:e2:9a:2f:72:a8:d6:65:48:d1:69:af:1b:
|
||||
- c0:4c:13:e5:60:60:51:41:e9:ab:a6:bc:13:bb:0c:
|
||||
- 5e:32:7c:d9:6c:9e:cd:05:24:84:78:db:80:91:2e:
|
||||
- d8:88:2b:c2:ed
|
||||
+ RSA Public Key: (1024 bit)
|
||||
+ Modulus (1024 bit):
|
||||
+ 00:e3:7d:4f:c2:23:77:a9:3a:2c:d2:69:59:a0:2f:
|
||||
+ 4e:d1:51:4c:ae:8d:f5:17:cc:ce:58:9c:83:4f:0b:
|
||||
+ a3:bb:29:a2:b8:1d:3e:1b:04:f9:a9:3e:e2:61:d0:
|
||||
+ e6:7b:b9:7c:12:d8:1f:86:c9:53:b5:04:dd:df:26:
|
||||
+ e9:c0:2b:de:4a:96:2e:f3:23:6f:79:6d:a9:d2:4e:
|
||||
+ 17:af:2f:de:8b:68:44:ae:de:a3:e2:c4:37:1c:04:
|
||||
+ ad:73:4b:85:f9:83:ac:fe:b7:c1:54:47:2e:96:d4:
|
||||
+ 31:96:85:94:69:d6:5a:63:24:04:99:89:19:1d:56:
|
||||
+ 8a:d1:77:aa:87:fb:38:cd:b7
|
||||
Exponent: 65537 (0x10001)
|
||||
- Signature Algorithm: md5WithRSAEncryption
|
||||
- 73:ce:9c:6e:39:46:b4:14:be:da:3f:f3:1b:ba:90:bc:23:43:
|
||||
- d7:82:2a:70:4e:a6:d9:5a:65:5c:b7:df:71:df:75:77:c5:80:
|
||||
- a4:af:fa:d2:59:e2:fd:c9:9c:f0:98:95:8e:69:a9:8c:7c:d8:
|
||||
- 6f:48:d2:e3:36:e0:cd:ff:3f:d1:a5:e6:ab:75:09:c4:50:10:
|
||||
- c4:96:dd:bf:3b:de:32:46:da:ca:4a:f1:d6:52:8a:33:2f:ab:
|
||||
- f5:2e:70:3f:d4:9c:be:00:c8:03:f9:39:8a:df:5b:70:3c:40:
|
||||
- ef:03:be:7c:3d:1d:32:32:f3:51:81:e2:83:30:6e:3d:38:9b:
|
||||
- fb:3c
|
||||
+ X509v3 extensions:
|
||||
+ X509v3 Basic Constraints:
|
||||
+ CA:FALSE
|
||||
+ X509v3 Subject Key Identifier:
|
||||
+ CC:8C:71:40:D0:0F:BF:D1:99:79:3F:1B:E9:10:76:19:67:36:0F:A3
|
||||
+ X509v3 Authority Key Identifier:
|
||||
+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0
|
||||
+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB
|
||||
+ serial:BE:58:AD:4C:1F:3D:25:95
|
||||
+
|
||||
+ Signature Algorithm: sha1WithRSAEncryption
|
||||
+ 6f:ad:5e:59:fa:84:3a:be:e2:72:b1:e8:66:2a:4e:f8:73:19:
|
||||
+ 11:06:11:92:78:56:3e:d6:e8:68:29:90:8b:59:d2:fe:aa:ae:
|
||||
+ 25:59:c7:e9:99:bb:4a:06:43:dd:40:bd:cb:f4:ae:79:95:7d:
|
||||
+ 8e:90:ef:58:d2:a8:fc:bf:07:f3:37:b2:9b:bd:da:e6:8c:56:
|
||||
+ dd:5e:c6:4a:70:7c:3e:3d:a1:e8:35:06:b8:a7:7b:ac:26:85:
|
||||
+ 54:5d:09:a2:7b:77:b4:17:7f:72:31:cb:ff:cc:67:6d:e6:3e:
|
||||
+ c6:dc:96:eb:4a:0a:ae:e9:48:ae:8a:e0:d6:73:57:6e:32:4c:
|
||||
+ 00:dc:28:da:55:b3:9f:9f:d8:98:cc:d9:f1:b6:b3:14:67:2e:
|
||||
+ a1:47:1e:51:11:cf:70:9f:31:8f:ba:59:29:f2:d0:88:0b:e2:
|
||||
+ 51:6b:f8:31:ed:6d:ac:00:5e:d3:78:4c:95:97:02:cc:74:2b:
|
||||
+ 3b:c6:28:e6:2a:c3:30:99:35:b4:4d:31:46:d4:90:f2:47:ed:
|
||||
+ 64:85:1a:75:2a:72:0a:2f:c6:3a:2f:d2:ac:6b:31:cc:e5:a8:
|
||||
+ 07:c2:d6:22:f3:c6:0f:bf:67:d9:d6:b2:79:cd:48:b5:c3:e0:
|
||||
+ e3:18:7f:b5:74:c9:43:19:fb:c4:93:29:ca:cc:90:2b:1b:6f:
|
||||
+ 45:f6:25:f9
|
||||
-----BEGIN CERTIFICATE-----
|
||||
-MIIBtzCCASACAxAAAjANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G
|
||||
-A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg
|
||||
-QUIwHhcNMTAwMTI5MTE1NjQ5WhcNMTUwMTI4MTE1NjQ5WjBGMQswCQYDVQQGEwJT
|
||||
-RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNVBAMT
|
||||
-CWxvY2FsaG9zdDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDN5IdRnXIRoNH685KL
|
||||
-Exzr9+KaL3Ko1mVI0WmvG8BME+VgYFFB6aumvBO7DF4yfNlsns0FJIR424CRLtiI
|
||||
-K8LtAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAc86cbjlGtBS+2j/zG7qQvCND14Iq
|
||||
-cE6m2VplXLffcd91d8WApK/60lni/cmc8JiVjmmpjHzYb0jS4zbgzf8/0aXmq3UJ
|
||||
-xFAQxJbdvzveMkbaykrx1lKKMy+r9S5wP9ScvgDIA/k5it9bcDxA7wO+fD0dMjLz
|
||||
-UYHigzBuPTib+zw=
|
||||
+MIIDJTCCAg2gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ
|
||||
+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT
|
||||
+UUwgQUIwHhcNMTAwMjIwMDI1NTA2WhcNMzAwOTAzMDI1NTA2WjBGMQswCQYDVQQG
|
||||
+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV
|
||||
+BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA431PwiN3
|
||||
+qTos0mlZoC9O0VFMro31F8zOWJyDTwujuymiuB0+GwT5qT7iYdDme7l8EtgfhslT
|
||||
+tQTd3ybpwCveSpYu8yNveW2p0k4Xry/ei2hErt6j4sQ3HAStc0uF+YOs/rfBVEcu
|
||||
+ltQxloWUadZaYyQEmYkZHVaK0Xeqh/s4zbcCAwEAAaOBozCBoDAJBgNVHRMEAjAA
|
||||
+MB0GA1UdDgQWBBTMjHFA0A+/0Zl5PxvpEHYZZzYPozB0BgNVHSMEbTBrgBSx+353
|
||||
+tUCNaBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1Vw
|
||||
+cHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlit
|
||||
+TB89JZUwDQYJKoZIhvcNAQEFBQADggEBAG+tXln6hDq+4nKx6GYqTvhzGREGEZJ4
|
||||
+Vj7W6GgpkItZ0v6qriVZx+mZu0oGQ91Avcv0rnmVfY6Q71jSqPy/B/M3spu92uaM
|
||||
+Vt1exkpwfD49oeg1Brine6wmhVRdCaJ7d7QXf3Ixy//MZ23mPsbclutKCq7pSK6K
|
||||
+4NZzV24yTADcKNpVs5+f2JjM2fG2sxRnLqFHHlERz3CfMY+6WSny0IgL4lFr+DHt
|
||||
+bawAXtN4TJWXAsx0KzvGKOYqwzCZNbRNMUbUkPJH7WSFGnUqcgovxjov0qxrMczl
|
||||
+qAfC1iLzxg+/Z9nWsnnNSLXD4OMYf7V0yUMZ+8STKcrMkCsbb0X2Jfk=
|
||||
-----END CERTIFICATE-----
|
||||
diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-key.pem mysql-5.1.50/mysql-test/std_data/server-key.pem
|
||||
--- mysql-5.1.50.orig/mysql-test/std_data/server-key.pem 2010-08-03 13:55:08.000000000 -0400
|
||||
+++ mysql-5.1.50/mysql-test/std_data/server-key.pem 2010-08-27 23:42:05.754428433 -0400
|
||||
@@ -1,9 +1,15 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
-MIIBOwIBAAJBAM3kh1GdchGg0frzkosTHOv34povcqjWZUjRaa8bwEwT5WBgUUHp
|
||||
-q6a8E7sMXjJ82WyezQUkhHjbgJEu2Igrwu0CAwEAAQJBAJuwhFbF3NzRpBbEmnqJ
|
||||
-4GPa1UJMQMLFJF+04tqj/HxJcAIVhOJhGmmtYNw1yjz/ZsPnfJCMz4eFOtdjvGtf
|
||||
-peECIQDmFFg2WLvYo+2m9w9V7z4ZIkg7ixYkI/ObUUctfZkPOQIhAOUWnrvjFrAX
|
||||
-bIvYT/YR50+3ZDLEc51XxNgJnWqWYl1VAiEAnTOFWgyivFC1DgF8PvDp8u5TgCt2
|
||||
-A1d1GMgd490O+TECIC/WMl0/hTxOF9930vKqOGf//o9PUGkZq8QE9fcM4gtlAiAE
|
||||
-iOcFpnLjtWj57jrhuw214ucnB5rklkQQe+AtcARNkg==
|
||||
+MIICXgIBAAKBgQDjfU/CI3epOizSaVmgL07RUUyujfUXzM5YnINPC6O7KaK4HT4b
|
||||
+BPmpPuJh0OZ7uXwS2B+GyVO1BN3fJunAK95Kli7zI295banSThevL96LaESu3qPi
|
||||
+xDccBK1zS4X5g6z+t8FURy6W1DGWhZRp1lpjJASZiRkdVorRd6qH+zjNtwIDAQAB
|
||||
+AoGAUb0o91y/FjMs/72S0pes/lDz+JRRSGfyjKxQEgrgndNsADOhqRu0iTdrKDJj
|
||||
+XnlbN3ooecnFJfnFrvTQcJhSmlS30j6VrBw6LXpCBK3dvjYgJ9LOne7WK+dF1+vS
|
||||
+FMQtsP04C56Sxy6HJDpMyWJ6oS3Bu169ygG2AxKo+Fk+E6ECQQD38w/MzmrARz2Z
|
||||
+AGeEPDUnVZPYgtmXkmks95S0/2jSoLhmgpvJimzxwpYwVG/BG8dSDVuTDu5kp05D
|
||||
+3bZIp3EzAkEA6uAwJsCZPtHXlWU3wYZJsA697rUNjPaCQOIaZ/lnh5RUHTmUiw1h
|
||||
+Oj/VORqKB0kXqcDfawwLjZEvh1Xli+H5bQJBANTmhw2TvEPnp/OFTl1UGUvyBmXl
|
||||
+TRMB639qAu07VfVtfYi/4ya1zn/0VmOfTOoigQ5qW9Q1AOu6YNCTQl62L9MCQQDc
|
||||
+YfEsW2kvNYxYJHoVfuBjbuGuOnn1e1Oqd70ZND59S6NFLMMBWlORaVWzWACNZ3rp
|
||||
+kAzSj6HDeqgjD2jsQONdAkEAt7S1YHUn8F760bRn4AnAto2TVOYdArtTP/wYjd4o
|
||||
+9rJREO/d8AYkYJ96APLvF0SZ4n3t1pLwQRsKKN8ZGTmzLA==
|
||||
-----END RSA PRIVATE KEY-----
|
||||
diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.50/mysql-test/std_data/server8k-cert.pem
|
||||
--- mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem 2010-08-03 13:55:08.000000000 -0400
|
||||
+++ mysql-5.1.50/mysql-test/std_data/server8k-cert.pem 2010-08-27 23:43:00.005366270 -0400
|
||||
@@ -1,51 +1,69 @@
|
||||
+Certificate:
|
||||
+ Data:
|
||||
+ Version: 3 (0x2)
|
||||
+ Serial Number: 5 (0x5)
|
||||
+ Signature Algorithm: sha1WithRSAEncryption
|
||||
+ Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB
|
||||
+ Validity
|
||||
+ Not Before: Feb 20 03:00:54 2010 GMT
|
||||
+ Not After : Sep 3 03:00:54 2030 GMT
|
||||
+ Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server
|
||||
+ Subject Public Key Info:
|
||||
+ Public Key Algorithm: rsaEncryption
|
||||
+ RSA Public Key: (1024 bit)
|
||||
+ Modulus (1024 bit):
|
||||
+ 00:c5:da:44:95:06:77:16:21:af:a0:c4:3c:e9:f8:
|
||||
+ 1d:2d:95:f9:63:90:8c:3f:86:ba:77:76:4a:52:4b:
|
||||
+ 6b:af:29:f5:1c:aa:d4:3f:3e:42:9f:6d:46:ba:86:
|
||||
+ 90:b1:2d:cc:db:c6:33:15:a3:f4:af:53:33:4f:a1:
|
||||
+ 56:d1:aa:3b:26:10:f7:64:b5:f9:bf:1b:b1:47:8e:
|
||||
+ cc:a6:d6:0d:aa:4a:77:e3:a3:63:9d:2a:dc:65:f4:
|
||||
+ 7f:91:17:38:2d:d6:cd:4e:8d:53:52:97:6e:87:fc:
|
||||
+ 64:60:a6:a1:00:ac:96:6c:e4:42:94:75:17:46:6f:
|
||||
+ 91:b5:dd:06:47:ed:05:e3:db
|
||||
+ Exponent: 65537 (0x10001)
|
||||
+ X509v3 extensions:
|
||||
+ X509v3 Basic Constraints:
|
||||
+ CA:FALSE
|
||||
+ X509v3 Subject Key Identifier:
|
||||
+ 6E:60:3F:29:13:60:99:ED:0C:F7:15:B5:DB:7B:1C:FB:6F:60:19:ED
|
||||
+ X509v3 Authority Key Identifier:
|
||||
+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0
|
||||
+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB
|
||||
+ serial:BE:58:AD:4C:1F:3D:25:95
|
||||
+
|
||||
+ Signature Algorithm: sha1WithRSAEncryption
|
||||
+ 63:2e:0f:07:14:06:cf:74:90:3d:37:42:f2:48:70:60:21:bc:
|
||||
+ 34:52:31:f1:87:70:d2:b2:fb:ff:13:38:dc:f0:5e:43:d7:ee:
|
||||
+ a7:c7:1f:ac:aa:d2:8c:4f:fa:3c:4c:73:f6:b6:c2:0c:a0:ea:
|
||||
+ a2:c9:e2:73:61:c3:2e:78:40:0f:2a:d3:63:50:9b:b8:f9:89:
|
||||
+ 40:ed:98:08:97:c3:07:24:17:34:b5:78:89:0a:bb:83:4c:e2:
|
||||
+ 5c:2e:13:d6:21:30:ad:30:48:b5:70:12:ff:4a:6f:42:f0:f8:
|
||||
+ 9f:b1:4b:bd:89:2b:f0:9d:e2:49:2b:35:69:18:1f:76:40:b4:
|
||||
+ 76:bd:cb:dd:27:2f:c0:c1:e2:33:3e:6e:df:68:54:19:92:8a:
|
||||
+ bb:13:9c:cf:d6:17:56:da:bf:0d:64:70:3a:45:b7:aa:5f:e3:
|
||||
+ f5:96:ae:34:f2:17:37:27:d0:4b:e8:30:4a:c0:02:42:e2:d2:
|
||||
+ 30:eb:eb:c7:d7:ec:d8:df:5c:43:58:e2:6f:b7:58:54:0d:c4:
|
||||
+ 01:71:2d:59:8f:44:c7:a1:6c:0b:41:28:fa:b7:63:a7:68:d3:
|
||||
+ 4f:c3:0f:17:9e:b2:32:50:e6:0b:87:3d:e2:39:47:c0:d8:0a:
|
||||
+ 3b:f6:af:50:68:0f:9d:ef:6e:34:0d:3a:07:94:f8:a4:d7:24:
|
||||
+ 86:32:d3:b4
|
||||
-----BEGIN CERTIFICATE-----
|
||||
-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
-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
-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
-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
-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
-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
-PgxNNcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+Lr
|
||||
-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
-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
-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
-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
-aGsZ5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4
|
||||
-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
-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
-psQ6R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCc
|
||||
-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
-+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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-BAUAA4IEAQCc9RBhRbuWlmRZPZkqIdi5/+enyjoMmOa6ryJPxFSP8D2jrlHgQsk1
|
||||
-+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
-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
-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
-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
-+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
-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
-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
-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
-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
-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
-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
-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
-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
-kK9pX0BY4AGOd23XM3K/uLawdmf67kkftim7aVaqXFHPiWsJVtlzmidKvNSmbmZe
|
||||
-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
-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
-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
-ueQDQzNZm3Q7inpke2ZKvWyY0LQmLzP2te+tnNBcdLyKJx7emPRTuMUlEdK7cLbt
|
||||
-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
-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
|
||||
-/w8pMRr8gEuRqpL2WdJiKGG6lhMHLVFo
|
||||
+MIIDIjCCAgqgAwIBAgIBBTANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ
|
||||
+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT
|
||||
+UUwgQUIwHhcNMTAwMjIwMDMwMDU0WhcNMzAwOTAzMDMwMDU0WjBDMQswCQYDVQQG
|
||||
+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV
|
||||
+BAMTBnNlcnZlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxdpElQZ3FiGv
|
||||
+oMQ86fgdLZX5Y5CMP4a6d3ZKUktrryn1HKrUPz5Cn21GuoaQsS3M28YzFaP0r1Mz
|
||||
+T6FW0ao7JhD3ZLX5vxuxR47MptYNqkp346NjnSrcZfR/kRc4LdbNTo1TUpduh/xk
|
||||
+YKahAKyWbORClHUXRm+Rtd0GR+0F49sCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0G
|
||||
+A1UdDgQWBBRuYD8pE2CZ7Qz3FbXbexz7b2AZ7TB0BgNVHSMEbTBrgBSx+353tUCN
|
||||
+aBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNh
|
||||
+bGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlitTB89
|
||||
+JZUwDQYJKoZIhvcNAQEFBQADggEBAGMuDwcUBs90kD03QvJIcGAhvDRSMfGHcNKy
|
||||
++/8TONzwXkPX7qfHH6yq0oxP+jxMc/a2wgyg6qLJ4nNhwy54QA8q02NQm7j5iUDt
|
||||
+mAiXwwckFzS1eIkKu4NM4lwuE9YhMK0wSLVwEv9Kb0Lw+J+xS72JK/Cd4kkrNWkY
|
||||
+H3ZAtHa9y90nL8DB4jM+bt9oVBmSirsTnM/WF1bavw1kcDpFt6pf4/WWrjTyFzcn
|
||||
+0EvoMErAAkLi0jDr68fX7NjfXENY4m+3WFQNxAFxLVmPRMehbAtBKPq3Y6do00/D
|
||||
+DxeesjJQ5guHPeI5R8DYCjv2r1BoD53vbjQNOgeU+KTXJIYy07Q=
|
||||
-----END CERTIFICATE-----
|
||||
diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.50/mysql-test/std_data/server8k-key.pem
|
||||
--- mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem 2010-08-03 13:55:08.000000000 -0400
|
||||
+++ mysql-5.1.50/mysql-test/std_data/server8k-key.pem 2010-08-27 23:43:10.165365998 -0400
|
||||
@@ -1,99 +1,15 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
-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
-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
-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
-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
-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
-wmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33aGsZ
|
||||
-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
-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
-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
-R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCcHSFu
|
||||
-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
-t4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS9+LB
|
||||
-+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
-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
-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
-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
-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
-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
-VKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRYnTIy
|
||||
-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
-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
-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
-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
-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
-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
-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
-bMvlF4cNLAbIKYVyOG0ruOfd2I7Unsc/CvD1u5vlRVuUd8OO0JZLIZR7hlRX+A58
|
||||
-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
-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
-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
-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
-4jgJbFK1HYlFIndyX/BdqRTsFemDoDrVqrEYsaONoVYDd9c5qrqYOeh34DhOksQW
|
||||
-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
-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
-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
-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
-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
-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
-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
-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
-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
-NO2GBWcDyT8JQLKmffE1AkWolCR1GsvcNLQfLCbnNppgsnsLE/viTG4mq1wjnd8O
|
||||
-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
-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
-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
-k+nk31P9MUC866pZg/ghzBGDub91OW1+ZGEtqnLI/n/LhiAIWt0hJvgZclTc1cAL
|
||||
-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
-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
-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
-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
-HwIyGXWtYGA/SzDEQoksD0Y/T61BEGnLZaKeavNd82WwFvcYHZtE0J4aQGjCEE7N
|
||||
-+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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-zAmnI6AQ+ssYesvyyrxaraeZvSqJdlLtgmOCxVANuQt5IW9djUSWwZvGL4Np1aw0
|
||||
-15k6UNqhftzsE7FnrVneOsww4WXXBUcV8FKz4Bf3i9qFswILmGzmrfSf8YczRfGS
|
||||
-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
-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
-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
-+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
-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
-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
-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
-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
-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
-G9CgXAE3snFWX67tWphupKrbjdMSWcQTmPD2OTg6q6zWL4twsIi6dcMooHAHsFC7
|
||||
-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
-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
-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
-4tlaFD1nep4F9bWMiCXU6B2RxVQi+7vcJEIqL1KUnGd3ydfD00K+ng4Xnj7Vz/cz
|
||||
-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
-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
-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
-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
-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
-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
-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
-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
-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
-UVcMW/Yy4mYJRCzGOrWagyVijJ6MTVNciqadWcH1KcbB3EGoMFYMn61or2qJABPM
|
||||
-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
-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
-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
-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
-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
-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
|
||||
-----END RSA PRIVATE KEY-----
|
27
mysql55/mysql-file-contents.patch
Normal file
27
mysql55/mysql-file-contents.patch
Normal file
@ -0,0 +1,27 @@
|
||||
Upstream chooses to install INFO_SRC and INFO_BIN into the docs dir, which
|
||||
breaks at least two packaging commandments, so we put them into $libdir
|
||||
instead. That means we have to hack the file_contents regression test
|
||||
to know about this.
|
||||
|
||||
Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.21.orig/mysql-test/t/file_contents.test mysql-5.5.21/mysql-test/t/file_contents.test
|
||||
--- mysql-5.5.21.orig/mysql-test/t/file_contents.test 2012-01-31 06:28:15.000000000 -0500
|
||||
+++ mysql-5.5.21/mysql-test/t/file_contents.test 2012-02-27 17:18:57.716087918 -0500
|
||||
@@ -31,6 +31,15 @@
|
||||
} else {
|
||||
# RedHat: version number in directory name
|
||||
$dir_docs = glob "$dir_docs/MySQL-server*";
|
||||
+
|
||||
+ # All the above is entirely wacko, because these files are not docs;
|
||||
+ # they should be kept in libdir instead. mtr does not provide a nice
|
||||
+ # way to find libdir though, so we have to kluge it like this:
|
||||
+ if (-d "/usr/lib64/mysql") {
|
||||
+ $dir_docs = "/usr/lib64/mysql";
|
||||
+ } else {
|
||||
+ $dir_docs = "/usr/lib/mysql";
|
||||
+ }
|
||||
}
|
||||
} else {
|
||||
# tar.gz package, Windows, or developer work (in BZR)
|
119
mysql55/mysql-governor-embedded-exclude-5_5_28.patch
Normal file
119
mysql55/mysql-governor-embedded-exclude-5_5_28.patch
Normal file
@ -0,0 +1,119 @@
|
||||
diff -ruN mysql-5.5.28/sql/mysqld.cc mysql-5.5.28-new/sql/mysqld.cc
|
||||
--- mysql-5.5.28/sql/mysqld.cc 2012-11-21 08:50:42.000000000 -0500
|
||||
+++ mysql-5.5.28-new/sql/mysqld.cc 2012-11-21 08:39:57.000000000 -0500
|
||||
@@ -1536,11 +1536,13 @@
|
||||
my_free(opt_bin_logname);
|
||||
bitmap_free(&temp_pool);
|
||||
free_max_user_conn();
|
||||
+#ifndef EMBEDDED_LIBRARY
|
||||
free_global_user_stats();
|
||||
free_global_client_stats();
|
||||
free_global_thread_stats();
|
||||
free_global_table_stats();
|
||||
free_global_index_stats();
|
||||
+#endif
|
||||
|
||||
if(governor_destroy_lve){
|
||||
governor_destroy_lve();
|
||||
@@ -4023,9 +4025,11 @@
|
||||
if (!DEFAULT_ERRMSGS[0][0])
|
||||
unireg_abort(1);
|
||||
|
||||
+#ifndef EMBEDDED_LIBRARY
|
||||
/* We have to initialize the storage engines before CSV logging */
|
||||
init_global_table_stats();
|
||||
init_global_index_stats();
|
||||
+#endif
|
||||
|
||||
if (ha_init())
|
||||
{
|
||||
@@ -4163,9 +4167,11 @@
|
||||
|
||||
init_max_user_conn();
|
||||
init_update_queries();
|
||||
+#ifndef EMBEDDED_LIBRARY
|
||||
init_global_user_stats();
|
||||
init_global_client_stats();
|
||||
init_global_thread_stats();
|
||||
+#endif
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
diff -ruN mysql-5.5.28/sql/sql_parse.cc mysql-5.5.28-new/sql/sql_parse.cc
|
||||
--- mysql-5.5.28/sql/sql_parse.cc 2012-11-21 08:50:42.000000000 -0500
|
||||
+++ mysql-5.5.28-new/sql/sql_parse.cc 2012-11-21 08:40:35.000000000 -0500
|
||||
@@ -5830,7 +5830,9 @@
|
||||
}
|
||||
// Updates THD stats and the global user stats.
|
||||
thd->update_stats(true);
|
||||
+#ifndef EMBEDDED_LIBRARY
|
||||
update_global_user_stats(thd, true, time(NULL));
|
||||
+#endif
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
diff -ruN mysql-5.5.28/sql/sql_prepare.cc mysql-5.5.28-new/sql/sql_prepare.cc
|
||||
--- mysql-5.5.28/sql/sql_prepare.cc 2012-11-21 08:50:28.000000000 -0500
|
||||
+++ mysql-5.5.28-new/sql/sql_prepare.cc 2012-11-21 08:41:50.000000000 -0500
|
||||
@@ -2281,7 +2281,9 @@
|
||||
}
|
||||
// Updates THD stats and the global user stats.
|
||||
thd->update_stats(true);
|
||||
+#ifndef EMBEDDED_LIBRARY
|
||||
update_global_user_stats(thd, true, time(NULL));
|
||||
+#endif
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
@@ -2732,7 +2734,10 @@
|
||||
}
|
||||
// Updates THD stats and the global user stats.
|
||||
thd->update_stats(true);
|
||||
+#ifndef EMBEDDED_LIBRARY
|
||||
update_global_user_stats(thd, true, time(NULL));
|
||||
+#endif
|
||||
+
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
@@ -2907,7 +2912,10 @@
|
||||
}
|
||||
// Updates THD stats and the global user stats.
|
||||
thd->update_stats(true);
|
||||
+#ifndef EMBEDDED_LIBRARY
|
||||
update_global_user_stats(thd, true, time(NULL));
|
||||
+#endif
|
||||
+
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
@@ -3033,7 +3041,9 @@
|
||||
}
|
||||
// Updates THD stats and the global user stats.
|
||||
thd->update_stats(true);
|
||||
+#ifndef EMBEDDED_LIBRARY
|
||||
update_global_user_stats(thd, true, time(NULL));
|
||||
+#endif
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
diff -ruN mysql-5.5.28/sql/sql_reload.cc mysql-5.5.28-new/sql/sql_reload.cc
|
||||
--- mysql-5.5.28/sql/sql_reload.cc 2012-11-21 08:50:28.000000000 -0500
|
||||
+++ mysql-5.5.28-new/sql/sql_reload.cc 2012-11-21 08:48:06.000000000 -0500
|
||||
@@ -322,6 +322,8 @@
|
||||
#endif
|
||||
if (options & REFRESH_USER_RESOURCES)
|
||||
reset_mqh((LEX_USER *) NULL, 0); /* purecov: inspected */
|
||||
+
|
||||
+#ifndef EMBEDDED_LIBRARY
|
||||
if (options & REFRESH_TABLE_STATS)
|
||||
{
|
||||
mysql_mutex_lock(&LOCK_global_table_stats);
|
||||
@@ -356,6 +358,7 @@
|
||||
}
|
||||
mysql_mutex_unlock(&LOCK_global_user_client_stats);
|
||||
}
|
||||
+#endif
|
||||
if (*write_to_binlog != -1)
|
||||
*write_to_binlog= tmp_write_to_binlog;
|
||||
/*
|
52
mysql55/mysql-install-test.patch
Normal file
52
mysql55/mysql-install-test.patch
Normal file
@ -0,0 +1,52 @@
|
||||
Improve the documentation that will be installed in the mysql-test RPM.
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.20.orig/mysql-test/README mysql-5.5.20/mysql-test/README
|
||||
--- mysql-5.5.20.orig/mysql-test/README 2011-12-16 14:52:05.000000000 -0500
|
||||
+++ mysql-5.5.20/mysql-test/README 2012-02-10 17:06:19.531082253 -0500
|
||||
@@ -1,14 +1,26 @@
|
||||
This directory contains a test suite for the MySQL daemon. To run
|
||||
-the currently existing test cases, simply execute ./mysql-test-run in
|
||||
-this directory. It will fire up the newly built mysqld and test it.
|
||||
+the currently existing test cases, execute ./mysql-test-run in
|
||||
+this directory.
|
||||
|
||||
-Note that you do not have to have to do "make install", and you could
|
||||
-actually have a co-existing MySQL installation. The tests will not
|
||||
-conflict with it.
|
||||
-
|
||||
-All tests must pass. If one or more of them fail on your system, please
|
||||
-read the following manual section for instructions on how to report the
|
||||
-problem:
|
||||
+For use in Red Hat distributions, you should run the script as user mysql,
|
||||
+so the best bet is something like
|
||||
+ cd /usr/share/mysql-test
|
||||
+ sudo -u mysql ./mysql-test-run --skip-test-list=rh-skipped-tests.list
|
||||
+This will use the installed mysql executables, but will run a private copy
|
||||
+of the server process (using data files within /usr/share/mysql-test),
|
||||
+so you need not start the mysqld service beforehand.
|
||||
+
|
||||
+The "--skip-test-list=rh-skipped-tests.list" option excludes tests that are
|
||||
+known to fail on one or more Red-Hat-supported platforms. You can omit it
|
||||
+if you want to check whether such failures occur for you. Documentation
|
||||
+about the reasons for omitting such tests can be found in the file
|
||||
+rh-skipped-tests.list.
|
||||
+
|
||||
+To clean up afterwards, remove the created "var" subdirectory, eg
|
||||
+ sudo -u mysql rm -rf /usr/share/mysql-test/var
|
||||
+
|
||||
+If one or more tests fail on your system, please read the following manual
|
||||
+section for instructions on how to report the problem:
|
||||
|
||||
http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html
|
||||
|
||||
@@ -25,7 +37,8 @@
|
||||
|
||||
With no test cases named on the command line, mysql-test-run falls back
|
||||
to the normal "non-extern" behavior. The reason for this is that some
|
||||
-tests cannot run with an external server.
|
||||
+tests cannot run with an external server (because they need to control the
|
||||
+options with which the server is started).
|
||||
|
||||
|
||||
You can create your own test cases. To create a test case, create a new
|
66
mysql55/mysql-logrotate.patch
Normal file
66
mysql55/mysql-logrotate.patch
Normal file
@ -0,0 +1,66 @@
|
||||
Adjust the mysql-log-rotate script in several ways:
|
||||
|
||||
* Use the correct log file pathname for Red Hat installations.
|
||||
* Enable creation of the log file by logrotate (needed since
|
||||
/var/log/ isn't writable by mysql user); and set the same 640
|
||||
permissions we normally use.
|
||||
* Comment out the actual rotation commands, so that user must edit
|
||||
the file to enable rotation. This is unfortunate, but the fact
|
||||
that the script will probably fail without manual configuration
|
||||
(to set a root password) means that we can't really have it turned
|
||||
on by default. Fortunately, in most configurations the log file
|
||||
is low-volume and so rotation is not critical functionality.
|
||||
|
||||
See discussions at RH bugs 799735, 547007
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/support-files/mysql-log-rotate.sh
|
||||
--- mysql-5.5.22.orig/support-files/mysql-log-rotate.sh 2012-03-02 14:44:46.000000000 -0500
|
||||
+++ mysql-5.5.22/support-files/mysql-log-rotate.sh 2012-03-23 22:33:29.092043705 -0400
|
||||
@@ -3,7 +3,7 @@
|
||||
# in the [safe_mysqld] section as follows:
|
||||
#
|
||||
# [safe_mysqld]
|
||||
-# err-log=@localstatedir@/mysqld.log
|
||||
+# err-log=/var/log/mysqld.log
|
||||
#
|
||||
# If the root user has a password you have to create a
|
||||
# /root/.my.cnf configuration file with the following
|
||||
@@ -18,19 +18,21 @@
|
||||
# ATTENTION: This /root/.my.cnf should be readable ONLY
|
||||
# for root !
|
||||
|
||||
-@localstatedir@/mysqld.log {
|
||||
- # create 600 mysql mysql
|
||||
- notifempty
|
||||
- daily
|
||||
- rotate 3
|
||||
- missingok
|
||||
- compress
|
||||
- postrotate
|
||||
- # just if mysqld is really running
|
||||
- if test -x @bindir@/mysqladmin && \
|
||||
- @bindir@/mysqladmin ping &>/dev/null
|
||||
- then
|
||||
- @bindir@/mysqladmin flush-logs
|
||||
- fi
|
||||
- endscript
|
||||
-}
|
||||
+# Then, un-comment the following lines to enable rotation of mysql's log file:
|
||||
+
|
||||
+#/var/log/mysqld.log {
|
||||
+# create 640 mysql mysql
|
||||
+# notifempty
|
||||
+# daily
|
||||
+# rotate 3
|
||||
+# missingok
|
||||
+# compress
|
||||
+# postrotate
|
||||
+# # just if mysqld is really running
|
||||
+# if test -x @bindir@/mysqladmin && \
|
||||
+# @bindir@/mysqladmin ping &>/dev/null
|
||||
+# then
|
||||
+# @bindir@/mysqladmin flush-logs
|
||||
+# fi
|
||||
+# endscript
|
||||
+#}
|
59
mysql55/mysql-netdevname.patch
Normal file
59
mysql55/mysql-netdevname.patch
Normal file
@ -0,0 +1,59 @@
|
||||
diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_gethwaddr.c
|
||||
--- mysql-5.5.15/mysys/my_gethwaddr.c.netdevname 2011-07-13 21:09:02.000000000 +0200
|
||||
+++ mysql-5.5.15/mysys/my_gethwaddr.c 2011-11-01 12:32:35.356119715 +0100
|
||||
@@ -68,28 +68,47 @@ err:
|
||||
#include <sys/ioctl.h>
|
||||
#include <net/ethernet.h>
|
||||
|
||||
+#define MAX_IFS 64
|
||||
+
|
||||
my_bool my_gethwaddr(uchar *to)
|
||||
{
|
||||
int fd, res= 1;
|
||||
struct ifreq ifr;
|
||||
char zero_array[ETHER_ADDR_LEN] = {0};
|
||||
+ struct ifconf ifc;
|
||||
+ struct ifreq ifs[MAX_IFS], *ifri, *ifend;
|
||||
|
||||
fd = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
if (fd < 0)
|
||||
goto err;
|
||||
|
||||
- bzero(&ifr, sizeof(ifr));
|
||||
- strnmov(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name) - 1);
|
||||
+ ifc.ifc_len = sizeof(ifs);
|
||||
+ ifc.ifc_req = ifs;
|
||||
+ if (ioctl(fd, SIOCGIFCONF, &ifc) < 0)
|
||||
+ {
|
||||
+ close(fd);
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
+ memcpy(to, zero_array, ETHER_ADDR_LEN);
|
||||
|
||||
- do
|
||||
+ ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
|
||||
+ for (ifri = ifc.ifc_req; ifri < ifend; ifri++)
|
||||
{
|
||||
- if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0)
|
||||
+ if (ifri->ifr_addr.sa_family == AF_INET)
|
||||
{
|
||||
- memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN);
|
||||
- res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1;
|
||||
+ bzero(&ifr, sizeof(ifr));
|
||||
+ strncpy(ifr.ifr_name, ifri->ifr_name, sizeof(ifr.ifr_name));
|
||||
+
|
||||
+ /* Get HW address */
|
||||
+ if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0)
|
||||
+ {
|
||||
+ memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN);
|
||||
+ if (!(res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1))
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
- } while (res && (errno == 0 || errno == ENODEV) && ifr.ifr_name[3]++ < '6');
|
||||
-
|
||||
+ }
|
||||
close(fd);
|
||||
err:
|
||||
return res;
|
13
mysql55/mysql-openssl.patch
Normal file
13
mysql55/mysql-openssl.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- mysql-5.5.31/vio/viossl.c~ 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/vio/viossl.c 2013-04-18 16:58:38.552557538 +0200
|
||||
@@ -172,8 +172,10 @@
|
||||
SSL_SESSION_set_timeout(SSL_get_session(ssl), timeout);
|
||||
SSL_set_fd(ssl, vio->sd);
|
||||
#ifndef HAVE_YASSL
|
||||
+#ifdef SSL_OP_NO_COMPRESSION
|
||||
SSL_set_options(ssl, SSL_OP_NO_COMPRESSION);
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
if ((r= connect_accept_func(ssl)) < 1)
|
||||
{
|
42
mysql55/mysql-plugin-bool.patch
Normal file
42
mysql55/mysql-plugin-bool.patch
Normal file
@ -0,0 +1,42 @@
|
||||
Fix plugin boolean variables to receive the value "1", not "-1", when they
|
||||
are set to 1. Aside from being bizarre, the existing behavior is unportable:
|
||||
machines where char is unsigned print "255" instead. Filed upstream at
|
||||
http://bugs.mysql.com/bug.php?id=59905
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result
|
||||
--- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100
|
||||
@@ -45,7 +45,7 @@ set session rpl_semi_sync_master_enabled
|
||||
ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
select @@global.rpl_semi_sync_master_enabled;
|
||||
@@global.rpl_semi_sync_master_enabled
|
||||
--1
|
||||
+1
|
||||
select @@session.rpl_semi_sync_master_enabled;
|
||||
ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable
|
||||
show global variables like 'rpl_semi_sync_master_enabled';
|
||||
diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result
|
||||
--- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100
|
||||
@@ -45,7 +45,7 @@ set session rpl_semi_sync_slave_enabled=
|
||||
ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
select @@global.rpl_semi_sync_slave_enabled;
|
||||
@@global.rpl_semi_sync_slave_enabled
|
||||
--1
|
||||
+1
|
||||
select @@session.rpl_semi_sync_slave_enabled;
|
||||
ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable
|
||||
show global variables like 'rpl_semi_sync_slave_enabled';
|
||||
diff -up mysql-5.5.28/sql/sql_plugin.cc.p10 mysql-5.5.28/sql/sql_plugin.cc
|
||||
--- mysql-5.5.28/sql/sql_plugin.cc.p10 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/sql_plugin.cc 2012-12-06 14:20:53.078755855 +0100
|
||||
@@ -2094,7 +2094,7 @@ static int check_func_bool(THD *thd, str
|
||||
goto err;
|
||||
result= (int) tmp;
|
||||
}
|
||||
- *(my_bool *) save= -result;
|
||||
+ *(my_bool *) save= result ? true : false;
|
||||
return 0;
|
||||
err:
|
||||
return 1;
|
96
mysql55/mysql-plugin-test.patch
Normal file
96
mysql55/mysql-plugin-test.patch
Normal file
@ -0,0 +1,96 @@
|
||||
mysql_plugin.test fails when run in mysql-test RPM, though the build-time
|
||||
regression test is OK. This patch is from the pre-existing upstream bug
|
||||
report, except we also fix the part that tries to scribble on the
|
||||
read-only-to-us plugin directory.
|
||||
|
||||
rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907
|
||||
|
||||
|
||||
diff -up mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt
|
||||
--- mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin 2012-01-31 12:28:15.000000000 +0100
|
||||
+++ mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt 2012-03-14 16:54:19.060951822 +0100
|
||||
@@ -1 +1 @@
|
||||
---plugin-dir=$DAEMONEXAMPLE_DIR
|
||||
+--plugin-dir=$MYSQLTEST_VARDIR/plugin
|
||||
diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.31/mysql-test/t/mysql_plugin.test
|
||||
--- mysql-5.5.31/mysql-test/t/mysql_plugin.test.test 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/mysql-test/t/mysql_plugin.test 2013-04-18 14:43:15.747052348 +0200
|
||||
@@ -25,8 +25,10 @@
|
||||
# Add the datadir, basedir, plugin_dir to the bootstrap command
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
let $MYSQL_BASEDIR= `select @@basedir`;
|
||||
+let $MYSQLD_TMP_BASEDIR= $MYSQLTEST_VARDIR/tmp;
|
||||
let $MYSQL_ERRMSG_BASEDIR=`select @@lc_messages_dir`;
|
||||
let $PLUGIN_DIR=`select @@plugin_dir`;
|
||||
+let $PLUGIN_BASEDIR=$DAEMONEXAMPLE_DIR;
|
||||
|
||||
--disable_abort_on_error
|
||||
|
||||
@@ -51,10 +53,11 @@ use File::Basename;
|
||||
{
|
||||
print FILE "let \$DAEMONEXAMPLE_DIR= $not_found;\n";
|
||||
}
|
||||
- if ((!-e $plugindir_ini) || (!-r $plugindir_ini))
|
||||
- {
|
||||
- print FILE "let \$PLUGIN_DIR= $not_found;\n";
|
||||
- }
|
||||
+# This test doesn't work because $ENV{PLUGIN_DIR} is empty
|
||||
+# if ((!-e $plugindir_ini) || (!-r $plugindir_ini))
|
||||
+# {
|
||||
+# print FILE "let \$PLUGIN_DIR= $not_found;\n";
|
||||
+# }
|
||||
close FILE;
|
||||
EOF
|
||||
|
||||
@@ -66,10 +69,14 @@ remove_file $MYSQL_TMP_DIR/mysqld.inc;
|
||||
# mysql version, so errmsg.sys will be copied to "basedir/share", we create
|
||||
# and remove this structure.
|
||||
|
||||
---mkdir $MYSQLD_BASEDIR/share
|
||||
---mkdir $MYSQLD_BASEDIR/share/mysql
|
||||
---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys
|
||||
---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys
|
||||
+--mkdir $MYSQLD_TMP_BASEDIR/share
|
||||
+--mkdir $MYSQLD_TMP_BASEDIR/share/mysql
|
||||
+--mkdir $PLUGIN_DIR
|
||||
+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys
|
||||
+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys
|
||||
+--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so
|
||||
+--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini
|
||||
+
|
||||
|
||||
# The mysql_plugin tool now accepts --my-print-defaults which points to the
|
||||
# executable my_print_defaults.exe we can get this path from the variable
|
||||
@@ -100,7 +107,7 @@ if ($PLUGIN_DIR == '')
|
||||
|
||||
# Build client command for reuse.
|
||||
|
||||
-let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR;
|
||||
+let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_TMP_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR;
|
||||
|
||||
--echo #
|
||||
--echo # Ensure the plugin isn't loaded.
|
||||
@@ -184,7 +191,7 @@ SELECT * FROM mysql.plugin WHERE dl like
|
||||
# we must copy the example daemon to a new location renaming it.
|
||||
|
||||
let $DAEMON_RELOAD = lib$DAEMONEXAMPLE;
|
||||
---copy_file $PLUGIN_DIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD
|
||||
+--copy_file $PLUGIN_BASEDIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD
|
||||
--copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini
|
||||
|
||||
# Now reload it and see that it is a different name.
|
||||
@@ -361,8 +368,11 @@ replace_result $MYSQL_PLUGIN mysql_plugi
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Cleanup the share folder in the binary path.
|
||||
---remove_file $MYSQLD_BASEDIR/share/errmsg.sys
|
||||
---rmdir $MYSQLD_BASEDIR/share/mysql
|
||||
---rmdir $MYSQLD_BASEDIR/share
|
||||
+--remove_file $PLUGIN_DIR/daemon_example.ini
|
||||
+--remove_file $PLUGIN_DIR/libdaemon_example.so
|
||||
+--rmdir $PLUGIN_DIR
|
||||
+--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys
|
||||
+--rmdir $MYSQLD_TMP_BASEDIR/share/mysql
|
||||
+--rmdir $MYSQLD_TMP_BASEDIR/share
|
||||
|
||||
--enable_abort_on_error
|
41
mysql55/mysql-s390-tsc.patch
Normal file
41
mysql55/mysql-s390-tsc.patch
Normal file
@ -0,0 +1,41 @@
|
||||
Support s390/s390x in performance schema's cycle-counting functions.
|
||||
Filed upstream at http://bugs.mysql.com/bug.php?id=59953
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/include/my_rdtsc.h.p11 mysql-5.5.28/include/my_rdtsc.h
|
||||
--- mysql-5.5.28/include/my_rdtsc.h.p11 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/my_rdtsc.h 2012-12-06 14:22:13.651823354 +0100
|
||||
@@ -125,6 +125,7 @@ C_MODE_END
|
||||
#define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25
|
||||
#define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26
|
||||
#define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27
|
||||
+#define MY_TIMER_ROUTINE_ASM_S390 28
|
||||
|
||||
#endif
|
||||
|
||||
diff -up mysql-5.5.28/mysys/my_rdtsc.c.p11 mysql-5.5.28/mysys/my_rdtsc.c
|
||||
--- mysql-5.5.28/mysys/my_rdtsc.c.p11 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/mysys/my_rdtsc.c 2012-12-06 14:22:13.672823375 +0100
|
||||
@@ -224,6 +224,13 @@ ulonglong my_timer_cycles(void)
|
||||
clock_gettime(CLOCK_SGI_CYCLE, &tp);
|
||||
return (ulonglong) tp.tv_sec * 1000000000 + (ulonglong) tp.tv_nsec;
|
||||
}
|
||||
+#elif defined(__GNUC__) && defined(__s390__)
|
||||
+ /* covers both s390 and s390x */
|
||||
+ {
|
||||
+ ulonglong result;
|
||||
+ __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc");
|
||||
+ return result;
|
||||
+ }
|
||||
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
|
||||
/* gethrtime may appear as either cycle or nanosecond counter */
|
||||
return (ulonglong) gethrtime();
|
||||
@@ -533,6 +540,8 @@ void my_timer_init(MY_TIMER_INFO *mti)
|
||||
mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32;
|
||||
#elif defined(__sgi) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE)
|
||||
mti->cycles.routine= MY_TIMER_ROUTINE_SGI_CYCLE;
|
||||
+#elif defined(__GNUC__) && defined(__s390__)
|
||||
+ mti->cycles.routine= MY_TIMER_ROUTINE_ASM_S390;
|
||||
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
|
||||
mti->cycles.routine= MY_TIMER_ROUTINE_GETHRTIME;
|
||||
#else
|
139
mysql55/mysql-stack-guard.patch
Normal file
139
mysql55/mysql-stack-guard.patch
Normal file
@ -0,0 +1,139 @@
|
||||
mysql is not accounting for the "guard page" when setting thread stack size
|
||||
requests. This is fatal on PPC systems, which may use guard pages as large
|
||||
as 64K. This patch also documents the IA64 situation a bit better.
|
||||
|
||||
Note: there are quite a few other setstacksize calls besides the two in
|
||||
mysqld.cc; is it important to fix any of the others?
|
||||
|
||||
Filed upstream at http://bugs.mysql.com/bug.php?id=35019
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/sql/mysqld.cc.p5 mysql-5.5.28/sql/mysqld.cc
|
||||
--- mysql-5.5.28/sql/mysqld.cc.p5 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/mysqld.cc 2012-12-06 14:13:59.765407494 +0100
|
||||
@@ -2599,6 +2599,70 @@ static void init_signals(void)
|
||||
}
|
||||
|
||||
|
||||
+/* pthread_attr_setstacksize without so much platform-dependency */
|
||||
+/* returns the actual stack size if possible */
|
||||
+static size_t my_setstacksize(pthread_attr_t *attr, size_t stacksize)
|
||||
+{
|
||||
+ size_t guard_size = 0;
|
||||
+
|
||||
+#if defined(__ia64__) || defined(__ia64)
|
||||
+ /*
|
||||
+ On IA64, half of the requested stack size is used for "normal stack"
|
||||
+ and half for "register stack". The space measured by check_stack_overrun
|
||||
+ is the "normal stack", so double the request to make sure we have the
|
||||
+ caller-expected amount of normal stack.
|
||||
+
|
||||
+ NOTE: there is no guarantee that the register stack can't grow faster
|
||||
+ than normal stack, so it's very unclear that we won't dump core due to
|
||||
+ stack overrun despite check_stack_overrun's efforts. Experimentation
|
||||
+ shows that in the execution_constants test, the register stack grows
|
||||
+ less than half as fast as normal stack, but perhaps other scenarios are
|
||||
+ less forgiving. If it turns out that more space is needed for the
|
||||
+ register stack, that could be forced (rather inefficiently) by using a
|
||||
+ multiplier higher than 2 here.
|
||||
+ */
|
||||
+ stacksize *= 2;
|
||||
+#endif
|
||||
+
|
||||
+ /*
|
||||
+ On many machines, the "guard space" is subtracted from the requested
|
||||
+ stack size, and that space is quite large on some platforms. So add
|
||||
+ it to our request, if we can find out what it is.
|
||||
+
|
||||
+ FIXME: autoconfiscate use of pthread_attr_getguardsize
|
||||
+ */
|
||||
+ if (pthread_attr_getguardsize(attr, &guard_size))
|
||||
+ guard_size = 0; /* if can't find it out, treat as 0 */
|
||||
+
|
||||
+ pthread_attr_setstacksize(attr, stacksize + guard_size);
|
||||
+
|
||||
+ /* Retrieve actual stack size if possible */
|
||||
+#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE
|
||||
+ {
|
||||
+ size_t real_stack_size= 0;
|
||||
+ /* We must ignore real_stack_size = 0 as Solaris 2.9 can return 0 here */
|
||||
+ if (pthread_attr_getstacksize(attr, &real_stack_size) == 0 &&
|
||||
+ real_stack_size > guard_size)
|
||||
+ {
|
||||
+ real_stack_size -= guard_size;
|
||||
+ if (real_stack_size < stacksize)
|
||||
+ {
|
||||
+ if (global_system_variables.log_warnings)
|
||||
+ sql_print_warning("Asked for %ld thread stack, but got %ld",
|
||||
+ (long) stacksize, (long) real_stack_size);
|
||||
+ stacksize= real_stack_size;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+#if defined(__ia64__) || defined(__ia64)
|
||||
+ stacksize /= 2;
|
||||
+#endif
|
||||
+ return stacksize;
|
||||
+}
|
||||
+
|
||||
+
|
||||
static void start_signal_handler(void)
|
||||
{
|
||||
int error;
|
||||
@@ -2609,15 +2673,7 @@ static void start_signal_handler(void)
|
||||
#if !defined(HAVE_DEC_3_2_THREADS)
|
||||
pthread_attr_setscope(&thr_attr,PTHREAD_SCOPE_SYSTEM);
|
||||
(void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED);
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- /*
|
||||
- Peculiar things with ia64 platforms - it seems we only have half the
|
||||
- stack size in reality, so we have to double it here
|
||||
- */
|
||||
- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size*2);
|
||||
-#else
|
||||
- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size);
|
||||
-#endif
|
||||
+ (void) my_setstacksize(&thr_attr,my_thread_stack_size);
|
||||
#endif
|
||||
|
||||
mysql_mutex_lock(&LOCK_thread_count);
|
||||
@@ -4398,36 +4454,8 @@ int mysqld_main(int argc, char **argv)
|
||||
unireg_abort(1); // Will do exit
|
||||
|
||||
init_signals();
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- /*
|
||||
- Peculiar things with ia64 platforms - it seems we only have half the
|
||||
- stack size in reality, so we have to double it here
|
||||
- */
|
||||
- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size*2);
|
||||
-#else
|
||||
- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size);
|
||||
-#endif
|
||||
#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE
|
||||
- {
|
||||
- /* Retrieve used stack size; Needed for checking stack overflows */
|
||||
- size_t stack_size= 0;
|
||||
- pthread_attr_getstacksize(&connection_attrib, &stack_size);
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- stack_size/= 2;
|
||||
-#endif
|
||||
- /* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */
|
||||
- if (stack_size && stack_size < my_thread_stack_size)
|
||||
- {
|
||||
- if (global_system_variables.log_warnings)
|
||||
- sql_print_warning("Asked for %lu thread stack, but got %ld",
|
||||
- my_thread_stack_size, (long) stack_size);
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- my_thread_stack_size= stack_size*2;
|
||||
-#else
|
||||
- my_thread_stack_size= stack_size;
|
||||
-#endif
|
||||
- }
|
||||
- }
|
||||
+ my_thread_stack_size = my_setstacksize(&connection_attrib,my_thread_stack_size);
|
||||
#endif
|
||||
|
||||
(void) thr_setconcurrency(concurrency); // 10 by default
|
57
mysql55/mysql-string-overflow.patch
Normal file
57
mysql55/mysql-string-overflow.patch
Normal file
@ -0,0 +1,57 @@
|
||||
These issues were found by Coverity static analysis tool, for more info
|
||||
see messages by particular fixes (messages belong to 5.1.61).
|
||||
|
||||
Filed upstream at http://bugs.mysql.com/bug.php?id=64631
|
||||
|
||||
|
||||
Error: BUFFER_SIZE_WARNING:
|
||||
/builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated.
|
||||
|
||||
diff -up mysql-5.5.28/sql/sql_prepare.cc.p20 mysql-5.5.28/sql/sql_prepare.cc
|
||||
--- mysql-5.5.28/sql/sql_prepare.cc.p20 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/sql_prepare.cc 2012-12-06 14:27:28.647087401 +0100
|
||||
@@ -2879,7 +2879,7 @@ void mysql_stmt_get_longdata(THD *thd, c
|
||||
{
|
||||
stmt->state= Query_arena::STMT_ERROR;
|
||||
stmt->last_errno= thd->stmt_da->sql_errno();
|
||||
- strncpy(stmt->last_error, thd->stmt_da->message(), MYSQL_ERRMSG_SIZE);
|
||||
+ strncpy(stmt->last_error, thd->stmt_da->message(), sizeof(stmt->last_error)-1);
|
||||
}
|
||||
thd->stmt_da= save_stmt_da;
|
||||
thd->warning_info= save_warinig_info;
|
||||
|
||||
|
||||
Error: STRING_OVERFLOW:
|
||||
/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length.
|
||||
/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
|
||||
diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc
|
||||
--- mysql-5.5.28/sql/sql_trigger.cc.p20 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/sql_trigger.cc 2012-12-06 14:27:28.648087398 +0100
|
||||
@@ -2260,7 +2260,7 @@ void Table_triggers_list::mark_fields_us
|
||||
void Table_triggers_list::set_parse_error_message(char *error_message)
|
||||
{
|
||||
m_has_unparseable_trigger= true;
|
||||
- strcpy(m_parse_error_message, error_message);
|
||||
+ strncpy(m_parse_error_message, error_message, sizeof(m_parse_error_message)-1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Error: STRING_OVERFLOW:
|
||||
/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: fixed_size_dest: You might overrun the 512 byte fixed-size string "name2" by copying "name" without checking the length.
|
||||
/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
|
||||
diff -up mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 mysql-5.5.28/storage/innobase/handler/ha_innodb.cc
|
||||
--- mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/storage/innobase/handler/ha_innodb.cc 2012-12-06 14:27:28.653087416 +0100
|
||||
@@ -7054,7 +7054,7 @@ ha_innobase::create(
|
||||
|
||||
ut_a(strlen(name) < sizeof(name2));
|
||||
|
||||
- strcpy(name2, name);
|
||||
+ strncpy(name2, name, sizeof(name2)-1);
|
||||
|
||||
normalize_table_name(norm_name, name2);
|
||||
|
34
mysql55/mysql-strmov.patch
Normal file
34
mysql55/mysql-strmov.patch
Normal file
@ -0,0 +1,34 @@
|
||||
Remove overly optimistic definition of strmov() as stpcpy().
|
||||
|
||||
mysql uses this macro with overlapping source and destination strings,
|
||||
which is verboten per spec, and fails on some Red Hat platforms.
|
||||
Deleting the definition is sufficient to make it fall back to a
|
||||
byte-at-a-time copy loop, which should consistently give the
|
||||
expected behavior.
|
||||
|
||||
Note: the particular case that prompted this patch is reported and fixed
|
||||
at http://bugs.mysql.com/bug.php?id=48864. However, my faith in upstream's
|
||||
ability to detect this type of error is low, and I also see little evidence
|
||||
of any real performance gain from optimizing these calls. So I'm keeping
|
||||
this patch.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/include/m_string.h.p2 mysql-5.5.28/include/m_string.h
|
||||
--- mysql-5.5.28/include/m_string.h.p2 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/m_string.h 2012-12-06 14:12:31.225333542 +0100
|
||||
@@ -77,15 +77,6 @@ extern "C" {
|
||||
extern void *(*my_str_malloc)(size_t);
|
||||
extern void (*my_str_free)(void *);
|
||||
|
||||
-#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER)
|
||||
-#define strmov(A,B) __builtin_stpcpy((A),(B))
|
||||
-#elif defined(HAVE_STPCPY)
|
||||
-#define strmov(A,B) stpcpy((A),(B))
|
||||
-#ifndef stpcpy
|
||||
-extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */
|
||||
-#endif
|
||||
-#endif
|
||||
-
|
||||
/* Declared in int2str() */
|
||||
extern char _dig_vec_upper[];
|
||||
extern char _dig_vec_lower[];
|
55
mysql55/mysql-va-list.patch
Normal file
55
mysql55/mysql-va-list.patch
Normal file
@ -0,0 +1,55 @@
|
||||
Fix unportable usage associated with va_list arguments. Passing "0" to
|
||||
a va_list argument only works if va_list is an integer or pointer type,
|
||||
which is not required by the C spec, and is not true on ARM for instance.
|
||||
Per bug #744707.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/sql-common/client_plugin.c.p12 mysql-5.5.28/sql-common/client_plugin.c
|
||||
--- mysql-5.5.28/sql-common/client_plugin.c.p12 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql-common/client_plugin.c 2012-12-06 14:22:54.494857607 +0100
|
||||
@@ -233,11 +233,13 @@ int mysql_client_plugin_init()
|
||||
{
|
||||
MYSQL mysql;
|
||||
struct st_mysql_client_plugin **builtin;
|
||||
+ va_list unused;
|
||||
|
||||
if (initialized)
|
||||
return 0;
|
||||
|
||||
bzero(&mysql, sizeof(mysql)); /* dummy mysql for set_mysql_extended_error */
|
||||
+ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */
|
||||
|
||||
pthread_mutex_init(&LOCK_load_client_plugin, MY_MUTEX_INIT_SLOW);
|
||||
init_alloc_root(&mem_root, 128, 128);
|
||||
@@ -249,7 +251,7 @@ int mysql_client_plugin_init()
|
||||
pthread_mutex_lock(&LOCK_load_client_plugin);
|
||||
|
||||
for (builtin= mysql_client_builtins; *builtin; builtin++)
|
||||
- add_plugin(&mysql, *builtin, 0, 0, 0);
|
||||
+ add_plugin(&mysql, *builtin, 0, 0, unused);
|
||||
|
||||
pthread_mutex_unlock(&LOCK_load_client_plugin);
|
||||
|
||||
@@ -293,9 +295,13 @@ struct st_mysql_client_plugin *
|
||||
mysql_client_register_plugin(MYSQL *mysql,
|
||||
struct st_mysql_client_plugin *plugin)
|
||||
{
|
||||
+ va_list unused;
|
||||
+
|
||||
if (is_not_initialized(mysql, plugin->name))
|
||||
return NULL;
|
||||
|
||||
+ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */
|
||||
+
|
||||
pthread_mutex_lock(&LOCK_load_client_plugin);
|
||||
|
||||
/* make sure the plugin wasn't loaded meanwhile */
|
||||
@@ -307,7 +313,7 @@ mysql_client_register_plugin(MYSQL *mysq
|
||||
plugin= NULL;
|
||||
}
|
||||
else
|
||||
- plugin= add_plugin(mysql, plugin, 0, 0, 0);
|
||||
+ plugin= add_plugin(mysql, plugin, 0, 0, unused);
|
||||
|
||||
pthread_mutex_unlock(&LOCK_load_client_plugin);
|
||||
return plugin;
|
18
mysql55/mysql-versioning.patch
Normal file
18
mysql55/mysql-versioning.patch
Normal file
@ -0,0 +1,18 @@
|
||||
The symbol versioning solution for libmysqlclient in mysql 5.1 was pretty
|
||||
awful (export everything) and as of 5.5.8 the cmake build scripts have
|
||||
forgotten the issue entirely. So we now maintain our own list of exported
|
||||
symbols and jam it into the build with this hack.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/libmysql/CMakeLists.txt.p7 mysql-5.5.28/libmysql/CMakeLists.txt
|
||||
--- mysql-5.5.28/libmysql/CMakeLists.txt.p7 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/libmysql/CMakeLists.txt 2012-12-06 14:15:03.905461517 +0100
|
||||
@@ -209,7 +209,7 @@ IF(NOT DISABLE_SHARED)
|
||||
SET(libmysql_link_flags)
|
||||
ENDIF()
|
||||
SET_TARGET_PROPERTIES(libmysql PROPERTIES LINK_FLAGS
|
||||
- "${libmysql_link_flags} ${LINK_FLAG_NO_UNDEFINED}")
|
||||
+ "${libmysql_link_flags} -Wl,--version-script=libmysql.version ${LINK_FLAG_NO_UNDEFINED}")
|
||||
ENDIF()
|
||||
# clean direct output needs to be set several targets have the same name
|
||||
#(mysqlclient in this case)
|
237
mysql55/mysql.init
Normal file
237
mysql55/mysql.init
Normal file
@ -0,0 +1,237 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# mysqld This shell script takes care of starting and stopping
|
||||
# the MySQL subsystem (mysqld).
|
||||
#
|
||||
# chkconfig: - 64 36
|
||||
# description: MySQL database server.
|
||||
# processname: mysqld
|
||||
# config: /etc/mysql55/my.cnf
|
||||
# pidfile: /var/run/mysqld/mysqld.pid
|
||||
### BEGIN INIT INFO
|
||||
# Provides: mysqld
|
||||
# Required-Start: $local_fs $remote_fs $network $named $syslog $time
|
||||
# Required-Stop: $local_fs $remote_fs $network $named $syslog $time
|
||||
# Short-Description: start and stop MySQL server
|
||||
# Description: MySQL database server
|
||||
### END INIT INFO
|
||||
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
# Source networking configuration.
|
||||
. /etc/sysconfig/network
|
||||
|
||||
|
||||
exec="/usr/bin/mysqld_safe"
|
||||
prog="mysqld"
|
||||
|
||||
# Set timeouts here so they can be overridden from /etc/sysconfig/mysqld
|
||||
STARTTIMEOUT=120
|
||||
STOPTIMEOUT=60
|
||||
MYOPTIONS=
|
||||
|
||||
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
|
||||
|
||||
lockfile=/var/lock/subsys/$prog
|
||||
|
||||
|
||||
# extract value of a MySQL option from config files
|
||||
# Usage: get_mysql_option SECTION VARNAME DEFAULT
|
||||
# result is returned in $result
|
||||
# We use my_print_defaults which prints all options from multiple files,
|
||||
# with the more specific ones later; hence take the last match.
|
||||
get_mysql_option(){
|
||||
result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1`
|
||||
if [ -z "$result" ]; then
|
||||
# not found, use default
|
||||
result="$3"
|
||||
fi
|
||||
}
|
||||
|
||||
get_mysql_option mysqld datadir "/var/lib/mysql"
|
||||
datadir="$result"
|
||||
get_mysql_option mysqld socket "$datadir/mysql.sock"
|
||||
socketfile="$result"
|
||||
get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
|
||||
errlogfile="$result"
|
||||
get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid"
|
||||
mypidfile="$result"
|
||||
|
||||
|
||||
start(){
|
||||
[ -x $exec ] || exit 5
|
||||
# check to see if it's already running
|
||||
RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1`
|
||||
if [ $? = 0 ]; then
|
||||
# already running, do nothing
|
||||
action $"Starting $prog: " /bin/true
|
||||
ret=0
|
||||
elif echo "$RESPONSE" | grep -q "Access denied for user"
|
||||
then
|
||||
# already running, do nothing
|
||||
action $"Starting $prog: " /bin/true
|
||||
ret=0
|
||||
else
|
||||
# prepare for start
|
||||
touch "$errlogfile"
|
||||
chown mysql:mysql "$errlogfile"
|
||||
chmod 0640 "$errlogfile"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile"
|
||||
if [ ! -d "$datadir/mysql" ] ; then
|
||||
# First, make sure $datadir is there with correct permissions
|
||||
if [ ! -e "$datadir" -a ! -h "$datadir" ]
|
||||
then
|
||||
mkdir -p "$datadir" || exit 1
|
||||
fi
|
||||
chown mysql:mysql "$datadir"
|
||||
chmod 0755 "$datadir"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$datadir"
|
||||
# Now create the database
|
||||
action $"Initializing MySQL database: " /usr/bin/mysql_install_db --datadir="$datadir" --user=mysql
|
||||
ret=$?
|
||||
chown -R mysql:mysql "$datadir"
|
||||
if [ $ret -ne 0 ] ; then
|
||||
return $ret
|
||||
fi
|
||||
fi
|
||||
chown mysql:mysql "$datadir"
|
||||
chmod 0755 "$datadir"
|
||||
# If startsos
|
||||
if [ "$1" = "sos" ] ; then
|
||||
MYOPTIONS="$MYOPTIONS --skip-grant-tables --skip-networking"
|
||||
fi
|
||||
# Pass all the options determined above, to ensure consistent behavior.
|
||||
# In many cases mysqld_safe would arrive at the same conclusions anyway
|
||||
# but we need to be sure. (An exception is that we don't force the
|
||||
# log-error setting, since this script doesn't really depend on that,
|
||||
# and some users might prefer to configure logging to syslog.)
|
||||
# Note: set --basedir to prevent probes that might trigger SELinux
|
||||
# alarms, per bug #547485
|
||||
$exec --datadir="$datadir" --socket="$socketfile" \
|
||||
--pid-file="$mypidfile" \
|
||||
$MYOPTIONS \
|
||||
--basedir=/usr --user=mysql >/dev/null 2>&1 &
|
||||
safe_pid=$!
|
||||
# Spin for a maximum of N seconds waiting for the server to come up;
|
||||
# exit the loop immediately if mysqld_safe process disappears.
|
||||
# Rather than assuming we know a valid username, accept an "access
|
||||
# denied" response as meaning the server is functioning.
|
||||
ret=0
|
||||
TIMEOUT="$STARTTIMEOUT"
|
||||
while [ $TIMEOUT -gt 0 ]; do
|
||||
RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1`
|
||||
mret=$?
|
||||
if [ $mret -eq 0 ]; then
|
||||
break
|
||||
fi
|
||||
# exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected,
|
||||
# anything else suggests a configuration error
|
||||
if [ $mret -ne 1 -a $mret -ne 11 ]; then
|
||||
echo "$RESPONSE"
|
||||
echo "Cannot check for MySQL Daemon startup because of mysqladmin failure."
|
||||
ret=1
|
||||
break
|
||||
fi
|
||||
echo "$RESPONSE" | grep -q "Access denied for user" && break
|
||||
if ! /bin/kill -0 $safe_pid 2>/dev/null; then
|
||||
echo "MySQL Daemon failed to start."
|
||||
ret=1
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
let TIMEOUT=${TIMEOUT}-1
|
||||
done
|
||||
if [ $TIMEOUT -eq 0 ]; then
|
||||
echo "Timeout error occurred trying to start MySQL Daemon."
|
||||
ret=1
|
||||
fi
|
||||
if [ $ret -eq 0 ]; then
|
||||
action $"Starting $prog: " /bin/true
|
||||
touch $lockfile
|
||||
else
|
||||
action $"Starting $prog: " /bin/false
|
||||
fi
|
||||
fi
|
||||
return $ret
|
||||
}
|
||||
|
||||
stop(){
|
||||
if [ ! -f "$mypidfile" ]; then
|
||||
# not running; per LSB standards this is "ok"
|
||||
action $"Stopping $prog: " /bin/true
|
||||
return 0
|
||||
fi
|
||||
MYSQLPID=`cat "$mypidfile"`
|
||||
if [ -n "$MYSQLPID" ]; then
|
||||
/bin/kill "$MYSQLPID" >/dev/null 2>&1
|
||||
ret=$?
|
||||
if [ $ret -eq 0 ]; then
|
||||
TIMEOUT="$STOPTIMEOUT"
|
||||
while [ $TIMEOUT -gt 0 ]; do
|
||||
/bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break
|
||||
sleep 1
|
||||
let TIMEOUT=${TIMEOUT}-1
|
||||
done
|
||||
if [ $TIMEOUT -eq 0 ]; then
|
||||
echo "Timeout error occurred trying to stop MySQL Daemon."
|
||||
ret=1
|
||||
action $"Stopping $prog: " /bin/false
|
||||
else
|
||||
rm -f $lockfile
|
||||
rm -f "$socketfile"
|
||||
action $"Stopping $prog: " /bin/true
|
||||
fi
|
||||
else
|
||||
action $"Stopping $prog: " /bin/false
|
||||
fi
|
||||
else
|
||||
# failed to read pidfile, probably insufficient permissions
|
||||
action $"Stopping $prog: " /bin/false
|
||||
ret=4
|
||||
fi
|
||||
return $ret
|
||||
}
|
||||
|
||||
restart(){
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
condrestart(){
|
||||
[ -e $lockfile ] && restart || :
|
||||
}
|
||||
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
startsos)
|
||||
start sos
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
status $prog
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
condrestart
|
||||
;;
|
||||
reload)
|
||||
exit 3
|
||||
;;
|
||||
force-reload)
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|startsos}"
|
||||
exit 2
|
||||
esac
|
||||
|
||||
exit $?
|
1368
mysql55/mysql.spec
Normal file
1368
mysql55/mysql.spec
Normal file
File diff suppressed because it is too large
Load Diff
11
mysql55/mysql.sysconfig
Normal file
11
mysql55/mysql.sysconfig
Normal file
@ -0,0 +1,11 @@
|
||||
# Configuration file for the mysqld service.
|
||||
|
||||
# Server timeout during service start
|
||||
STARTTIMEOUT=120
|
||||
|
||||
# Server timeout during service stop
|
||||
STOPTIMEOUT=60
|
||||
|
||||
# Other options to pass to the server (p.e. --federated)
|
||||
MYOPTIONS=
|
||||
|
1
mysql55/mysql.tmpfiles.d
Normal file
1
mysql55/mysql.tmpfiles.d
Normal file
@ -0,0 +1 @@
|
||||
d /var/run/mysqld 0755 mysql mysql -
|
82
mysql55/mysqld-prepare-db-dir
Normal file
82
mysql55/mysqld-prepare-db-dir
Normal file
@ -0,0 +1,82 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script creates the mysql data directory during first service start.
|
||||
# In subsequent starts, it does nothing much.
|
||||
|
||||
# extract value of a MySQL option from config files
|
||||
# Usage: get_mysql_option SECTION VARNAME DEFAULT
|
||||
# result is returned in $result
|
||||
# We use my_print_defaults which prints all options from multiple files,
|
||||
# with the more specific ones later; hence take the last match.
|
||||
get_mysql_option(){
|
||||
result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1`
|
||||
if [ -z "$result" ]; then
|
||||
# not found, use default
|
||||
result="$3"
|
||||
fi
|
||||
}
|
||||
|
||||
# Defaults here had better match what mysqld_safe will default to
|
||||
get_mysql_option mysqld datadir "/var/lib/mysql"
|
||||
datadir="$result"
|
||||
get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
|
||||
errlogfile="$result"
|
||||
|
||||
# Absorb configuration settings from the specified systemd service file,
|
||||
# or the default "mysqld" service if not specified
|
||||
SERVICE_NAME="$1"
|
||||
if [ x"$SERVICE_NAME" = x ]
|
||||
then
|
||||
SERVICE_NAME=mysqld.service
|
||||
fi
|
||||
|
||||
myuser=`systemctl show -p User "${SERVICE_NAME}" |
|
||||
sed 's/^User=//'`
|
||||
if [ x"$myuser" = x ]
|
||||
then
|
||||
myuser=mysql
|
||||
fi
|
||||
|
||||
mygroup=`systemctl show -p Group "${SERVICE_NAME}" |
|
||||
sed 's/^Group=//'`
|
||||
if [ x"$mygroup" = x ]
|
||||
then
|
||||
mygroup=mysql
|
||||
fi
|
||||
|
||||
# Set up the errlogfile with appropriate permissions
|
||||
touch "$errlogfile"
|
||||
chown "$myuser:$mygroup" "$errlogfile"
|
||||
chmod 0640 "$errlogfile"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile"
|
||||
|
||||
# Make the data directory
|
||||
if [ ! -d "$datadir/mysql" ] ; then
|
||||
# First, make sure $datadir is there with correct permissions
|
||||
# (note: if it's not, and we're not root, this'll fail ...)
|
||||
if [ ! -e "$datadir" -a ! -h "$datadir" ]
|
||||
then
|
||||
mkdir -p "$datadir" || exit 1
|
||||
fi
|
||||
chown "$myuser:$mygroup" "$datadir"
|
||||
chmod 0755 "$datadir"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$datadir"
|
||||
|
||||
# Now create the database
|
||||
echo "Initializing MySQL database"
|
||||
/usr/bin/mysql_install_db --datadir="$datadir" --user="$myuser"
|
||||
ret=$?
|
||||
if [ $ret -ne 0 ] ; then
|
||||
echo "Initialization of MySQL database failed." >&2
|
||||
echo "Perhaps /etc/my.cnf is misconfigured." >&2
|
||||
# Clean up any partially-created database files
|
||||
if [ ! -e "$datadir/mysql/user.frm" ] ; then
|
||||
rm -rf "$datadir"/*
|
||||
fi
|
||||
exit $ret
|
||||
fi
|
||||
# In case we're running as root, make sure files are owned properly
|
||||
chown -R "$myuser:$mygroup" "$datadir"
|
||||
fi
|
||||
|
||||
exit 0
|
56
mysql55/mysqld-wait-ready
Normal file
56
mysql55/mysqld-wait-ready
Normal file
@ -0,0 +1,56 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script waits for mysqld to be ready to accept connections
|
||||
# (which can be many seconds or even minutes after launch, if there's
|
||||
# a lot of crash-recovery work to do).
|
||||
# Running this as ExecStartPost is useful so that services declared as
|
||||
# "After mysqld" won't be started until the database is really ready.
|
||||
|
||||
# Service file passes us the daemon's PID (actually, mysqld_safe's PID)
|
||||
daemon_pid="$1"
|
||||
|
||||
# extract value of a MySQL option from config files
|
||||
# Usage: get_mysql_option SECTION VARNAME DEFAULT
|
||||
# result is returned in $result
|
||||
# We use my_print_defaults which prints all options from multiple files,
|
||||
# with the more specific ones later; hence take the last match.
|
||||
get_mysql_option(){
|
||||
result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1`
|
||||
if [ -z "$result" ]; then
|
||||
# not found, use default
|
||||
result="$3"
|
||||
fi
|
||||
}
|
||||
|
||||
# Defaults here had better match what mysqld_safe will default to
|
||||
get_mysql_option mysqld datadir "/var/lib/mysql"
|
||||
datadir="$result"
|
||||
get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock"
|
||||
socketfile="$result"
|
||||
|
||||
# Wait for the server to come up or for the mysqld process to disappear
|
||||
ret=0
|
||||
while /bin/true; do
|
||||
RESPONSE=`/usr/bin/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1`
|
||||
mret=$?
|
||||
if [ $mret -eq 0 ]; then
|
||||
break
|
||||
fi
|
||||
# exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected,
|
||||
# anything else suggests a configuration error
|
||||
if [ $mret -ne 1 -a $mret -ne 11 ]; then
|
||||
ret=1
|
||||
break
|
||||
fi
|
||||
# "Access denied" also means the server is alive
|
||||
echo "$RESPONSE" | grep -q "Access denied for user" && break
|
||||
|
||||
# Check process still exists
|
||||
if ! /bin/kill -0 $daemon_pid 2>/dev/null; then
|
||||
ret=1
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
exit $ret
|
43
mysql55/mysqld.service
Normal file
43
mysql55/mysqld.service
Normal file
@ -0,0 +1,43 @@
|
||||
# It's not recommended to modify this file in-place, because it will be
|
||||
# overwritten during package upgrades. If you want to customize, the
|
||||
# best way is to create a file "/etc/systemd/system/mysqld.service",
|
||||
# containing
|
||||
# .include /lib/systemd/system/mysqld.service
|
||||
# ...make your changes here...
|
||||
# For more info about custom unit files, see
|
||||
# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F
|
||||
|
||||
# For example, if you want to increase mysql's open-files-limit to 10000,
|
||||
# you need to increase systemd's LimitNOFILE setting, so create a file named
|
||||
# "/etc/systemd/system/mysqld.service" containing:
|
||||
# .include /lib/systemd/system/mysqld.service
|
||||
# [Service]
|
||||
# LimitNOFILE=10000
|
||||
|
||||
# Note: in F-17 and beyond, /usr/lib/... is recommended in the .include line
|
||||
# though /lib/... will still work.
|
||||
|
||||
[Unit]
|
||||
Description=MySQL database server
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=mysql
|
||||
Group=mysql
|
||||
|
||||
ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n
|
||||
# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
|
||||
# per bug #547485
|
||||
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
|
||||
ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID
|
||||
|
||||
# Give a reasonable amount of time for the server to start up/shut down
|
||||
TimeoutSec=300
|
||||
|
||||
# Place temp files in a secure directory, not /tmp
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
13
mysql55/openssl.pc
Normal file
13
mysql55/openssl.pc
Normal file
@ -0,0 +1,13 @@
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/lib64/openssl10
|
||||
includedir=${prefix}/include/openssl10
|
||||
enginesdir=${libdir}/engines-3
|
||||
modulesdir=${libdir}/ossl-modules
|
||||
|
||||
Name: OpenSSL
|
||||
Description: Secure Sockets Layer and cryptography libraries and tools
|
||||
Version: 1.0.2u
|
||||
Libs: -L${libdir} -lcrypto -lssl
|
||||
Libs.private: -lz -ldl -pthread
|
||||
Cflags: -I${includedir}
|
8
mysql55/rh-skipped-tests-arm.list
Normal file
8
mysql55/rh-skipped-tests-arm.list
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
# Disable perfschema.func_file_io and perfschema.func_mutex, which fail
|
||||
# because cycle counter returns 0 every time on ARM architectures.
|
||||
# This is caused by missing hardware performance counter support on ARM.
|
||||
# Discussion about fixing that can be found in RH bug #741325.
|
||||
|
||||
perfschema.func_file_io : rhbz#773116 cycle counter does not work on arm
|
||||
perfschema.func_mutex : rhbz#773116 cycle counter does not work on arm
|
13
mysql55/rh-skipped-tests-base.list
Normal file
13
mysql55/rh-skipped-tests-base.list
Normal file
@ -0,0 +1,13 @@
|
||||
# Disable the outfile_loaddata test, which as of 5.1.38 is giving
|
||||
# platform-dependent results, with the "expected" results being arguably the
|
||||
# wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895
|
||||
# (note that upstream has also disabled it, but only for Solaris, so we still
|
||||
# need to disable it here).
|
||||
# Still broken in 5.5.14, despite alleged fix.
|
||||
|
||||
outfile_loaddata : bug#46895 code wrong, expected results wrong too
|
||||
|
||||
# Disable innodb.innodb, which is showing platform-dependent results
|
||||
# as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155
|
||||
|
||||
innodb.innodb : bug#60155 has platform-dependent results
|
32
mysql55/scriptstub.c
Normal file
32
mysql55/scriptstub.c
Normal file
@ -0,0 +1,32 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* Translate call of myself into call of same-named script in LIBDIR */
|
||||
/* The macro LIBDIR must be defined as a double-quoted string */
|
||||
|
||||
int main (int argc, char **argv)
|
||||
{
|
||||
char *basename;
|
||||
char *fullname;
|
||||
char **newargs;
|
||||
int i;
|
||||
|
||||
basename = strrchr(argv[0], '/');
|
||||
if (basename)
|
||||
basename++;
|
||||
else
|
||||
basename = argv[0];
|
||||
fullname = malloc(strlen(LIBDIR) + strlen(basename) + 2);
|
||||
sprintf(fullname, "%s/%s", LIBDIR, basename);
|
||||
newargs = malloc((argc+1) * sizeof(char *));
|
||||
newargs[0] = fullname;
|
||||
for (i = 1; i < argc; i++)
|
||||
newargs[i] = argv[i];
|
||||
newargs[argc] = NULL;
|
||||
|
||||
execvp(fullname, newargs);
|
||||
|
||||
return 1;
|
||||
}
|
4
mysql57/README.mysql-docs
Normal file
4
mysql57/README.mysql-docs
Normal file
@ -0,0 +1,4 @@
|
||||
The official MySQL documentation is not freely redistributable, so we cannot
|
||||
include it in RHEL or Fedora. You can find it on-line at
|
||||
|
||||
http://dev.mysql.com/doc/
|
6
mysql57/README.mysql-license
Normal file
6
mysql57/README.mysql-license
Normal file
@ -0,0 +1,6 @@
|
||||
MySQL is distributed under GPL v2, but there are some licensing exceptions
|
||||
that allow the client libraries to be linked with a non-GPL application,
|
||||
so long as the application is under a license approved by Oracle.
|
||||
For details see
|
||||
|
||||
http://www.mysql.com/about/legal/licensing/foss-exception/
|
6
mysql57/filter-requires-mysql.sh
Executable file
6
mysql57/filter-requires-mysql.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/lib/rpm/perl.req $* | \
|
||||
grep -v -e "perl(th" \
|
||||
-e "perl(lib::mtr" -e "perl(lib::v1/mtr" -e "perl(mtr"
|
||||
|
25
mysql57/my.cnf
Normal file
25
mysql57/my.cnf
Normal file
@ -0,0 +1,25 @@
|
||||
[mysqld]
|
||||
datadir=/var/lib/mysql
|
||||
socket=/var/lib/mysql/mysql.sock
|
||||
user=mysql
|
||||
# Disabling symbolic-links is recommended to prevent assorted security risks
|
||||
symbolic-links=0
|
||||
|
||||
# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment
|
||||
# these lines and adjust the connectstring as needed.
|
||||
#ndbcluster
|
||||
#ndb-connectstring="nodeid=4;host=localhost:1186"
|
||||
|
||||
[mysqld_safe]
|
||||
log-error=/var/log/mysqld.log
|
||||
pid-file=/var/run/mysqld/mysqld.pid
|
||||
|
||||
[ndbd]
|
||||
# If you are running a MySQL Cluster storage daemon (ndbd) on this machine,
|
||||
# adjust its connection to the management daemon here.
|
||||
# Note: ndbd init script requires this to include nodeid!
|
||||
connect-string="nodeid=2;host=localhost:1186"
|
||||
|
||||
[ndb_mgm]
|
||||
# connection string for MySQL Cluster management tool
|
||||
connect-string="host=localhost:1186"
|
29
mysql57/my_config.h
Normal file
29
mysql57/my_config.h
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Kluge to support multilib installation of both 32- and 64-bit RPMS:
|
||||
* we need to arrange that header files that appear in both RPMs are
|
||||
* identical. Hence, this file is architecture-independent and calls
|
||||
* in an arch-dependent file that will appear in just one RPM.
|
||||
*
|
||||
* To avoid breaking arches not explicitly supported by Red Hat, we
|
||||
* use this indirection file *only* on known multilib arches.
|
||||
*
|
||||
* Note: this may well fail if user tries to use gcc's -I- option.
|
||||
* But that option is deprecated anyway.
|
||||
*/
|
||||
#if defined(__x86_64__)
|
||||
#include "my_config_x86_64.h"
|
||||
#elif defined(__i386__)
|
||||
#include "my_config_i386.h"
|
||||
#elif defined(__ppc64__) || defined(__powerpc64__)
|
||||
#include "my_config_ppc64.h"
|
||||
#elif defined(__ppc__) || defined(__powerpc__)
|
||||
#include "my_config_ppc.h"
|
||||
#elif defined(__s390x__)
|
||||
#include "my_config_s390x.h"
|
||||
#elif defined(__s390__)
|
||||
#include "my_config_s390.h"
|
||||
#elif defined(__sparc__) && defined(__arch64__)
|
||||
#include "my_config_sparc64.h"
|
||||
#elif defined(__sparc__)
|
||||
#include "my_config_sparc.h"
|
||||
#endif
|
26
mysql57/mysql-embedded-check.c
Normal file
26
mysql57/mysql-embedded-check.c
Normal file
@ -0,0 +1,26 @@
|
||||
/* simple test program to see if we can link the embedded server library */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "mysql.h"
|
||||
|
||||
MYSQL *mysql;
|
||||
|
||||
static char *server_options[] = \
|
||||
{ "mysql_test", "--defaults-file=my.cnf", NULL };
|
||||
int num_elements = (sizeof(server_options) / sizeof(char *)) - 1;
|
||||
|
||||
static char *server_groups[] = { "libmysqld_server",
|
||||
"libmysqld_client", NULL };
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
mysql_library_init(num_elements, server_options, server_groups);
|
||||
mysql = mysql_init(NULL);
|
||||
mysql_close(mysql);
|
||||
mysql_library_end();
|
||||
|
||||
return 0;
|
||||
}
|
33
mysql57/mysql-install-test.patch
Normal file
33
mysql57/mysql-install-test.patch
Normal file
@ -0,0 +1,33 @@
|
||||
Improve the documentation that will be installed in the mysql-test RPM.
|
||||
|
||||
|
||||
diff -Naur mysql-5.1.43.orig/mysql-test/README mysql-5.1.43/mysql-test/README
|
||||
--- mysql-5.1.43.orig/mysql-test/README 2010-01-15 12:14:43.000000000 -0500
|
||||
+++ mysql-5.1.43/mysql-test/README 2010-02-13 21:18:06.000000000 -0500
|
||||
@@ -6,6 +6,16 @@
|
||||
actually have a co-existing MySQL installation. The tests will not
|
||||
conflict with it.
|
||||
|
||||
+For use in Red Hat distributions, you should run the script as user mysql,
|
||||
+so the best bet is something like
|
||||
+ cd /usr/share/mysql-test
|
||||
+ sudo -u mysql ./mysql-test-run
|
||||
+This will use the installed mysql executables, but will run a private copy
|
||||
+of the server process (using data files within /usr/share/mysql-test),
|
||||
+so you need not start the mysqld service beforehand.
|
||||
+To clean up afterwards, remove the created "var" subdirectory, eg
|
||||
+ sudo -u mysql rm -rf /usr/share/mysql-test/var
|
||||
+
|
||||
All tests must pass. If one or more of them fail on your system, please
|
||||
read the following manual section for instructions on how to report the
|
||||
problem:
|
||||
@@ -25,7 +35,8 @@
|
||||
|
||||
With no test cases named on the command line, mysql-test-run falls back
|
||||
to the normal "non-extern" behavior. The reason for this is that some
|
||||
-tests cannot run with an external server.
|
||||
+tests cannot run with an external server (because they need to control the
|
||||
+options with which the server is started).
|
||||
|
||||
|
||||
You can create your own test cases. To create a test case, create a new
|
209
mysql57/mysql.init
Normal file
209
mysql57/mysql.init
Normal file
@ -0,0 +1,209 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# mysqld This shell script takes care of starting and stopping
|
||||
# the MySQL subsystem (mysqld).
|
||||
#
|
||||
# chkconfig: - 64 36
|
||||
# description: MySQL database server.
|
||||
# processname: mysqld
|
||||
# config: /etc/my.cnf
|
||||
# pidfile: /var/run/mysqld/mysqld.pid
|
||||
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
# Source networking configuration.
|
||||
. /etc/sysconfig/network
|
||||
|
||||
|
||||
exec="/usr/bin/mysqld_safe"
|
||||
prog="mysqld"
|
||||
|
||||
# Set timeouts here so they can be overridden from /etc/sysconfig/mysqld
|
||||
STARTTIMEOUT=120
|
||||
STOPTIMEOUT=60
|
||||
|
||||
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
|
||||
|
||||
lockfile=/var/lock/subsys/$prog
|
||||
|
||||
|
||||
# extract value of a MySQL option from config files
|
||||
# Usage: get_mysql_option SECTION VARNAME DEFAULT
|
||||
# result is returned in $result
|
||||
# We use my_print_defaults which prints all options from multiple files,
|
||||
# with the more specific ones later; hence take the last match.
|
||||
get_mysql_option(){
|
||||
result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1`
|
||||
if [ -z "$result" ]; then
|
||||
# not found, use default
|
||||
result="$3"
|
||||
fi
|
||||
}
|
||||
|
||||
get_mysql_option mysqld datadir "/var/lib/mysql"
|
||||
datadir="$result"
|
||||
get_mysql_option mysqld socket "$datadir/mysql.sock"
|
||||
socketfile="$result"
|
||||
get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
|
||||
errlogfile="$result"
|
||||
get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid"
|
||||
mypidfile="$result"
|
||||
|
||||
|
||||
start(){
|
||||
[ -x $exec ] || exit 5
|
||||
# check to see if it's already running
|
||||
RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1`
|
||||
if [ $? = 0 ]; then
|
||||
# already running, do nothing
|
||||
action $"Starting $prog: " /bin/true
|
||||
ret=0
|
||||
elif echo "$RESPONSE" | grep -q "Access denied for user"
|
||||
then
|
||||
# already running, do nothing
|
||||
action $"Starting $prog: " /bin/true
|
||||
ret=0
|
||||
else
|
||||
# prepare for start
|
||||
touch "$errlogfile"
|
||||
chown mysql:mysql "$errlogfile"
|
||||
chmod 0640 "$errlogfile"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile"
|
||||
if [ ! -d "$datadir/mysql" ] ; then
|
||||
# First, make sure $datadir is there with correct permissions
|
||||
if [ ! -e "$datadir" -a ! -h "$datadir" ]
|
||||
then
|
||||
mkdir -p "$datadir" || exit 1
|
||||
fi
|
||||
chown mysql:mysql "$datadir"
|
||||
chmod 0755 "$datadir"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$datadir"
|
||||
# Now create the database
|
||||
action $"Initializing MySQL database: " /usr/bin/mysql_install_db --datadir="$datadir" --user=mysql
|
||||
ret=$?
|
||||
chown -R mysql:mysql "$datadir"
|
||||
if [ $ret -ne 0 ] ; then
|
||||
return $ret
|
||||
fi
|
||||
fi
|
||||
chown mysql:mysql "$datadir"
|
||||
chmod 0755 "$datadir"
|
||||
# Pass all the options determined above, to ensure consistent behavior.
|
||||
# In many cases mysqld_safe would arrive at the same conclusions anyway
|
||||
# but we need to be sure. (An exception is that we don't force the
|
||||
# log-error setting, since this script doesn't really depend on that,
|
||||
# and some users might prefer to configure logging to syslog.)
|
||||
# Note: set --basedir to prevent probes that might trigger SELinux
|
||||
# alarms, per bug #547485
|
||||
$exec --datadir="$datadir" --socket="$socketfile" \
|
||||
--pid-file="$mypidfile" \
|
||||
--basedir=/usr --user=mysql >/dev/null 2>&1 &
|
||||
safe_pid=$!
|
||||
# Spin for a maximum of N seconds waiting for the server to come up;
|
||||
# exit the loop immediately if mysqld_safe process disappears.
|
||||
# Rather than assuming we know a valid username, accept an "access
|
||||
# denied" response as meaning the server is functioning.
|
||||
ret=0
|
||||
TIMEOUT="$STARTTIMEOUT"
|
||||
while [ $TIMEOUT -gt 0 ]; do
|
||||
RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` && break
|
||||
echo "$RESPONSE" | grep -q "Access denied for user" && break
|
||||
if ! /bin/kill -0 $safe_pid 2>/dev/null; then
|
||||
echo "MySQL Daemon failed to start."
|
||||
ret=1
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
let TIMEOUT=${TIMEOUT}-1
|
||||
done
|
||||
if [ $TIMEOUT -eq 0 ]; then
|
||||
echo "Timeout error occurred trying to start MySQL Daemon."
|
||||
ret=1
|
||||
fi
|
||||
if [ $ret -eq 0 ]; then
|
||||
action $"Starting $prog: " /bin/true
|
||||
touch $lockfile
|
||||
else
|
||||
action $"Starting $prog: " /bin/false
|
||||
fi
|
||||
fi
|
||||
return $ret
|
||||
}
|
||||
|
||||
stop(){
|
||||
if [ ! -f "$mypidfile" ]; then
|
||||
# not running; per LSB standards this is "ok"
|
||||
action $"Stopping $prog: " /bin/true
|
||||
return 0
|
||||
fi
|
||||
MYSQLPID=`cat "$mypidfile"`
|
||||
if [ -n "$MYSQLPID" ]; then
|
||||
/bin/kill "$MYSQLPID" >/dev/null 2>&1
|
||||
ret=$?
|
||||
if [ $ret -eq 0 ]; then
|
||||
TIMEOUT="$STOPTIMEOUT"
|
||||
while [ $TIMEOUT -gt 0 ]; do
|
||||
/bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break
|
||||
sleep 1
|
||||
let TIMEOUT=${TIMEOUT}-1
|
||||
done
|
||||
if [ $TIMEOUT -eq 0 ]; then
|
||||
echo "Timeout error occurred trying to stop MySQL Daemon."
|
||||
ret=1
|
||||
action $"Stopping $prog: " /bin/false
|
||||
else
|
||||
rm -f $lockfile
|
||||
rm -f "$socketfile"
|
||||
action $"Stopping $prog: " /bin/true
|
||||
fi
|
||||
else
|
||||
action $"Stopping $prog: " /bin/false
|
||||
fi
|
||||
else
|
||||
# failed to read pidfile, probably insufficient permissions
|
||||
action $"Stopping $prog: " /bin/false
|
||||
ret=4
|
||||
fi
|
||||
return $ret
|
||||
}
|
||||
|
||||
restart(){
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
condrestart(){
|
||||
[ -e $lockfile ] && restart || :
|
||||
}
|
||||
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
status $prog
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
condrestart
|
||||
;;
|
||||
reload)
|
||||
exit 3
|
||||
;;
|
||||
force-reload)
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
|
||||
exit 2
|
||||
esac
|
||||
|
||||
exit $?
|
11
mysql57/mysql.sysconfig
Normal file
11
mysql57/mysql.sysconfig
Normal file
@ -0,0 +1,11 @@
|
||||
# Configuration file for the mysqld service.
|
||||
|
||||
# Server timeout during service start
|
||||
STARTTIMEOUT=120
|
||||
|
||||
# Server timeout during service stop
|
||||
STOPTIMEOUT=60
|
||||
|
||||
# Other options to pass to the server (p.e. --federated)
|
||||
MYOPTIONS=
|
||||
|
1
mysql57/mysql.tmpfiles.d
Normal file
1
mysql57/mysql.tmpfiles.d
Normal file
@ -0,0 +1 @@
|
||||
d /var/run/mysqld 0755 mysql mysql -
|
819
mysql57/mysql57.spec
Normal file
819
mysql57/mysql57.spec
Normal file
@ -0,0 +1,819 @@
|
||||
%define _default_patch_fuzz 2
|
||||
|
||||
# By default, a build will include the system SSL library.
|
||||
%{?with_ssl: %global ssl_option -DWITH_SSL=%{with_ssl}}
|
||||
|
||||
%global _root_libdir %{_libdir}
|
||||
%global _root_includedir %{_includedir}
|
||||
|
||||
%global _prefix /usr
|
||||
%global _sysconfdir %{_prefix}/etc
|
||||
%global _libdir %{_prefix}/lib64
|
||||
%global _sbindir %{_prefix}/sbin
|
||||
%global _includedir %{_prefix}/include
|
||||
%global _datadir %{_prefix}/share
|
||||
%global _mandir %{_datadir}/man
|
||||
%global _docdir %{_datadir}/doc
|
||||
%global _infodir %{_datadir}/inf
|
||||
|
||||
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
|
||||
%global with_systemd 1
|
||||
%else
|
||||
%global with_systemd 0
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} >= 8
|
||||
%global _rundir /run/mysql
|
||||
%else
|
||||
%global _rundir /var/run/mysql
|
||||
%endif
|
||||
|
||||
Name: mysql57
|
||||
Version: 5.7.42
|
||||
Release: 1%{dist}
|
||||
Summary: MySQL client programs and shared libraries
|
||||
Group: Applications/Databases
|
||||
URL: http://www.mysql.com
|
||||
# exceptions allow client libraries to be linked with most open source SW,
|
||||
# not only GPL code. See README.mysql-license
|
||||
License: GPLv2 with exceptions
|
||||
|
||||
# Regression tests take a long time, you can skip 'em with this
|
||||
%{!?runselftest:%global runselftest 0}
|
||||
|
||||
# Upstream has a mirror redirector for downloads, so the URL is hard to
|
||||
# represent statically. You can get the tarball by following a link from
|
||||
# http://dev.mysql.com/downloads/mysql/
|
||||
Source0: mysql-boost-%{version}.tar.gz
|
||||
# The upstream tarball includes non-free documentation that we cannot ship.
|
||||
# To remove the non-free documentation, run this script after downloading
|
||||
# the tarball into the current directory:
|
||||
# ./generate-tarball.sh $VERSION
|
||||
# Source1: generate-tarball.sh not used
|
||||
Source1: mysql.sysconfig
|
||||
Source2: mysql.init
|
||||
Source3: my.cnf
|
||||
Source4: scriptstub.c
|
||||
Source5: my_config.h
|
||||
Source6: README.mysql-docs
|
||||
Source7: README.mysql-license
|
||||
#Source8: libmysql.version
|
||||
Source9: mysql-embedded-check.c
|
||||
Source10: mysql.tmpfiles.d
|
||||
# systemd files
|
||||
Source11: mysqld.service
|
||||
Source12: mysqld-prepare-db-dir
|
||||
Source13: mysqld-wait-ready
|
||||
|
||||
# Working around perl dependency checking bug in rpm FTTB. Remove later.
|
||||
Source999: filter-requires-mysql.sh
|
||||
|
||||
Patch3: mysql-install-test.patch
|
||||
Patch13: mysqld-nowatch.patch
|
||||
|
||||
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
BuildRequires: perl, readline-devel, compat-openssl11-devel
|
||||
|
||||
BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel, libtirpc-devel, mecab-devel, rpcgen
|
||||
BuildRequires: gcc gcc-c++ binutils
|
||||
%if 0%{?fedora} >= 12
|
||||
BuildRequires: systemtap-sdt-devel >= 1.3
|
||||
%endif
|
||||
# make test requires time and ps
|
||||
BuildRequires: time procps
|
||||
# Socket and Time::HiRes are needed to run regression tests
|
||||
BuildRequires: perl(Socket), perl(Time::HiRes)
|
||||
# This is required old EL4
|
||||
BuildRequires: bison lz4-devel
|
||||
|
||||
Requires: grep, coreutils
|
||||
Requires: bash
|
||||
|
||||
|
||||
|
||||
# When rpm 4.9 is universal, this could be cleaned up:
|
||||
%global __perl_requires %{SOURCE999}
|
||||
%global __perllib_requires %{SOURCE999}
|
||||
|
||||
# Community obsoletes
|
||||
Provides: MySQL MySQL-community mysql-client MySQL-client
|
||||
Provides: mysql MySQL
|
||||
Conflicts: mysql <= 5.6, mariadb <= 5.6, MariaDB <= 5.6, mysql55
|
||||
|
||||
|
||||
|
||||
# We can use real- prefix to distinguish from other MySQL implementations
|
||||
# like MariaDB unambiguously
|
||||
Provides: real-mysql = %{version}-%{release}
|
||||
Provides: real-mysql%{?_isa} = %{version}-%{release}
|
||||
|
||||
# MySQL (with caps) is upstream's spelling of their own RPMs for mysql
|
||||
#Conflicts: MySQL
|
||||
|
||||
# mysql-cluster used to be built from this SRPM, but no more
|
||||
Obsoletes: mysql-cluster < 5.1.44
|
||||
# Virtual provides present in upstream's RPM (used by some app)
|
||||
Provides: mysql-client = %{version}-%{release}
|
||||
|
||||
# When rpm 4.9 is universal, this could be cleaned up:
|
||||
%global __perl_requires %{SOURCE999}
|
||||
%global __perllib_requires %{SOURCE999}
|
||||
|
||||
# By default, patch(1) creates backup files when chunks apply with offsets.
|
||||
# Turn that off to ensure such files don't get included in RPMs (cf bz#884755).
|
||||
%global _default_patch_flags --no-backup-if-mismatch
|
||||
|
||||
%description
|
||||
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
|
||||
client/server implementation consisting of a server daemon (mysqld)
|
||||
and many different client programs and libraries. The base package
|
||||
contains the standard MySQL client programs and generic MySQL files.
|
||||
|
||||
%package libs
|
||||
|
||||
Summary: The shared libraries required for MySQL clients
|
||||
Group: Applications/Databases
|
||||
Requires: /sbin/ldconfig
|
||||
%if 0%{?rhel} == 6
|
||||
Requires: mysqlclient16
|
||||
%endif
|
||||
Provides: mysqlclient20
|
||||
Obsoletes: mysqlclient20 < %{version}-%{release}
|
||||
Obsoletes: compat-mysql57 <= %{version}
|
||||
Provides: real-mysql-libs = %{version}-%{release}
|
||||
Provides: real-mysql-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
# Community obsoletes
|
||||
Obsoletes: compat-MySQL57 <= %{version}
|
||||
Provides: mysql-libs MySQL-libs
|
||||
Obsoletes: mysql-libs < %{version}-%{release}, MySQL-libs < %{version}-%{release}
|
||||
#Conflicts: mysql55-libs
|
||||
|
||||
%if 0%{?rhel} == 5
|
||||
# EL-5 mysql 5.0.x have no mysql/mysql-libs
|
||||
# This circular dep. should make update simpler
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description libs
|
||||
The mysql-libs package provides the essential shared libraries for any
|
||||
MySQL client program or interface. You will need to install this package
|
||||
to use any other MySQL package or any clients that need to connect to a
|
||||
MySQL server.
|
||||
|
||||
%package server
|
||||
|
||||
Summary: The MySQL server and related files
|
||||
Group: Applications/Databases
|
||||
Requires: real-mysql%{?_isa} = %{version}-%{release}
|
||||
Requires: real-mysql-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: coreutils
|
||||
Requires(pre): /usr/sbin/useradd
|
||||
Requires(post): chkconfig
|
||||
Requires(preun): chkconfig
|
||||
%if %{with_systemd}
|
||||
# We require this to be present for %%{_prefix}/lib/tmpfiles.d
|
||||
Requires: systemd-units
|
||||
# Make sure it's there when scriptlets run, too
|
||||
Requires(post): systemd-units
|
||||
Requires(preun): systemd-units
|
||||
Requires(postun): systemd-units
|
||||
# This is actually needed for the %%triggerun script but Requires(triggerun)
|
||||
# is not valid. We can use %%post because this particular %%triggerun script
|
||||
# should fire just after this package is installed.
|
||||
Requires(post): systemd-sysv
|
||||
%else
|
||||
# This is for /sbin/service
|
||||
Requires(preun): initscripts
|
||||
Requires(postun): initscripts
|
||||
%endif
|
||||
# mysqlhotcopy needs DBI/DBD support
|
||||
Requires: perl-DBI, perl-DBD-MySQL
|
||||
Provides: real-mysql-server = %{version}-%{release}
|
||||
Provides: real-mysql-server%{?_isa} = %{version}-%{release}
|
||||
# Community Obsoletes
|
||||
Provides: mysql-server MySQL-server
|
||||
Obsoletes: mysql-server < %{version}-%{release}, MySQL-server < %{version}-%{release}
|
||||
Conflicts: mysql-server <= 5.7, mariadb-server <= 5.7, MySQL-server%{?_isa} <= 5.7, mysql55-server
|
||||
|
||||
|
||||
%description server
|
||||
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
|
||||
client/server implementation consisting of a server daemon (mysqld)
|
||||
and many different client programs and libraries. This package contains
|
||||
the MySQL server and some accompanying files and directories.
|
||||
|
||||
%package devel
|
||||
|
||||
Summary: Files for development of MySQL applications
|
||||
Group: Applications/Databases
|
||||
Requires: real-mysql%{?_isa} = %{version}-%{release}
|
||||
Requires: real-mysql-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: compat-openssl10-devel%{?_isa}
|
||||
Provides: real-mysql-devel = %{version}-%{release}
|
||||
Provides: real-mysql-devel%{?_isa} = %{version}-%{release}
|
||||
Provides: mysqlclient18-devel = %{version}-%{release}
|
||||
# Community Obsoletes
|
||||
Provides: MySQL-devel MySQL-devel-community mysql-devel MySQL-devel
|
||||
Obsoletes: MySQL-devel < %{version}-%{release}, MySQL-devel-community < %{version}-%{release}, mysql-devel < %{version}-%{release}, MySQL-devel < %{version}-%{release}
|
||||
|
||||
Conflicts: pkgconfig(mysqlclient) > 5.7
|
||||
Conflicts: pkgconfig(mariadb) > 5.7
|
||||
Conflicts: pkgconfig(mysqlclient) < 5.7
|
||||
Conflicts: pkgconfig(mariadb) < 5.7
|
||||
|
||||
%description devel
|
||||
MySQL is a multi-user, multi-threaded SQL database server. This
|
||||
package contains the libraries and header files that are needed for
|
||||
developing MySQL client applications.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n mysql-%{version}
|
||||
|
||||
# Can't provide this file (by licence)
|
||||
rm -f Docs/mysql.info
|
||||
|
||||
|
||||
%patch3 -p1
|
||||
%patch13 -p1
|
||||
|
||||
|
||||
|
||||
# workaround for upstream bug #56342
|
||||
rm -f mysql-test/t/ssl_8k_key-master.opt
|
||||
|
||||
# upstream has fallen down badly on symbol versioning, do it ourselves
|
||||
#cp %{SOURCE8} libmysql/libmysql.version
|
||||
|
||||
%build
|
||||
|
||||
%if 0%{?rhel} == 9
|
||||
optflags=$(echo "%{optflags}" | sed -e 's/-O2 / /' -e 's/-Wp,-D_FORTIFY_SOURCE=2/ -Wno-missing-field-initializers -Wno-error -Wno-error=odr -Wno-error=free-nonheap-object /' -e 's:-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1::')
|
||||
%endif
|
||||
|
||||
# fail quickly and obviously if user tries to build as root
|
||||
%if %runselftest
|
||||
if [ x"`id -u`" = x0 ]; then
|
||||
echo "mysql's regression tests fail if run as root."
|
||||
echo "If you really need to build the RPM as root, use"
|
||||
echo "--define='runselftest 0' to skip the regression tests."
|
||||
exit 1
|
||||
fi
|
||||
%endif
|
||||
CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
|
||||
|
||||
%if 0%{?rhel} >= 8
|
||||
CFLAGS="$CFLAGS -fno-omit-frame-pointer -fno-use-linker-plugin"
|
||||
%endif
|
||||
|
||||
# MySQL 4.1.10 definitely doesn't work under strict aliasing; also,
|
||||
# gcc 4.1 breaks MySQL 5.0.16 without -fwrapv
|
||||
CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv"
|
||||
# force PIC mode so that we can build libmysqld.so
|
||||
CFLAGS="$CFLAGS -fPIC"
|
||||
# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization
|
||||
# submitted as bz #529298
|
||||
%ifarch sparc sparcv9 sparc64
|
||||
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
|
||||
%endif
|
||||
CXXFLAGS="$CFLAGS"
|
||||
export CFLAGS CXXFLAGS
|
||||
|
||||
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
|
||||
# so we can't use %%{_datadir} and so forth here.
|
||||
|
||||
%cmake . -DBUILD_CONFIG=mysql_release \
|
||||
-DCOMPILATION_COMMENT="MySQL Community Server (GPL)" \
|
||||
-DFEATURE_SET="community" \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DINSTALL_LAYOUT=RPM \
|
||||
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
|
||||
-DINSTALL_INCLUDEDIR=include/mysql \
|
||||
-DINSTALL_INFODIR=share/info \
|
||||
-DINSTALL_LIBDIR="%{_lib}/mysql57" \
|
||||
-DINSTALL_MANDIR=share/man \
|
||||
-DINSTALL_MYSQLSHAREDIR=share/mysql \
|
||||
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
|
||||
-DINSTALL_PLUGINDIR="%{_lib}/mysql57/plugin" \
|
||||
-DINSTALL_SBINDIR=libexec \
|
||||
-DINSTALL_SCRIPTDIR=bin \
|
||||
-DINSTALL_SQLBENCHDIR=share \
|
||||
-DINSTALL_SUPPORTFILESDIR=share/mysql \
|
||||
-DMYSQL_DATADIR="/var/lib/mysql" \
|
||||
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
|
||||
-DENABLED_LOCAL_INFILE=ON \
|
||||
%if 0%{?fedora} >= 12
|
||||
-DENABLE_DTRACE=ON \
|
||||
%endif
|
||||
%if 0%{?with_systemd}
|
||||
-DWITH_SYSTEMD=ON \
|
||||
%endif
|
||||
%if 0%{?rhel} >= 9
|
||||
-DOPENSSL_INCLUDE_DIR=%{_includedir}/openssl11 \
|
||||
-DOPENSSL_LIBRARY=%{_libdir}/openssl11/libssl.so \
|
||||
-DCRYPTO_LIBRARY=%{_libdir}/openssl11/libcrypto.so \
|
||||
%endif
|
||||
-DWITH_EMBEDDED_SERVER=OFF \
|
||||
-DWITH_EMBEDDED_SHARED_LIBRARY=OFF \
|
||||
-DWITH_LZ4=system \
|
||||
-DWITH_EDITLINE=bundled \
|
||||
-DWITH_MECAB=system \
|
||||
-DWITH_READLINE=ON \
|
||||
-DWITH_INNODB_MEMCACHED=OFF \
|
||||
-DWITH_ZLIB=system \
|
||||
%{?ssl_option} \
|
||||
-DLOCAL_BOOST_DIR=./boost \
|
||||
-DEDITLINE_INCLUDE_DIR=/usr/include
|
||||
|
||||
|
||||
gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql57\"" %{SOURCE4}
|
||||
|
||||
%cmake_build
|
||||
|
||||
|
||||
# # regular build will make libmysqld.a but not libmysqld.so :-(
|
||||
# mkdir libmysqld/work
|
||||
# cd libmysqld/work
|
||||
# # ar -x ../libmysqld.a
|
||||
# # these result in missing dependencies: (filed upstream as bug 59104)
|
||||
# rm -f sql_binlog.cc.o rpl_utility.cc.o
|
||||
# gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \
|
||||
# *.o \
|
||||
# %if 0%{?fedora} >= 12
|
||||
# ../../probes_mysql.o \
|
||||
# %endif
|
||||
# -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc
|
||||
# # this is to check that we built a complete library
|
||||
# cp %{SOURCE9} .
|
||||
# ln -s libmysqld.so.0.0.1 libmysqld.so.0
|
||||
# gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0
|
||||
# LD_LIBRARY_PATH=. ldd ./a.out
|
||||
# cd ../..
|
||||
|
||||
%if %runselftest
|
||||
# hack to let 32- and 64-bit tests run concurrently on same build machine
|
||||
case `uname -m` in
|
||||
ppc64 | s390x | x86_64 | sparc64 )
|
||||
MTR_BUILD_THREAD=7
|
||||
;;
|
||||
*)
|
||||
MTR_BUILD_THREAD=11
|
||||
;;
|
||||
esac
|
||||
export MTR_BUILD_THREAD
|
||||
|
||||
# Sometine, test fails because of this lib.
|
||||
LD_LIBRARY_PATH=$PWD/libservices
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
# make test
|
||||
|
||||
# The cmake build scripts don't provide any simple way to control the
|
||||
# options for mysql-test-run, so ignore the make target and just call it
|
||||
# manually. Nonstandard options chosen are:
|
||||
# --force to continue tests after a failure
|
||||
# no retries please
|
||||
# test SSL with --ssl
|
||||
# avoid redundant test runs with --binlog-format=mixed
|
||||
# increase timeouts to prevent unwanted failures during mass rebuilds
|
||||
cd mysql-test
|
||||
(
|
||||
# perl ./mysql-test-run.pl --force --retry=0 --mysqld=--binlog-format=mixed --suite-timeout=720 --testcase-timeout=30
|
||||
# Run less test to speed up build process
|
||||
%{__perl} ./mysql-test-run.pl --force --ssl --mysqld=--binlog-format=mixed --suite=main
|
||||
)
|
||||
# cmake build scripts will install the var cruft if left alone :-(
|
||||
rm -rf var
|
||||
%endif
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%cmake_install
|
||||
|
||||
# List the installed tree for RPM package maintenance purposes.
|
||||
find %{buildroot} -print | sed "s|^%{buildroot}||" | sort > ROOTFILES
|
||||
|
||||
# multilib header hacks
|
||||
# we only apply this to known Red Hat multilib arches, per bug #181335
|
||||
case `uname -i` in
|
||||
i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 )
|
||||
mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_`uname -i`.h
|
||||
install -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# cmake generates some completely wacko references to -lprobes_mysql when
|
||||
# building with dtrace support. Haven't found where to shut that off,
|
||||
# so resort to this blunt instrument. While at it, let's not reference
|
||||
# libmysqlclient_r anymore either.
|
||||
sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \
|
||||
%{buildroot}%{_bindir}/mysql_config >mysql_config.tmp
|
||||
cp -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config
|
||||
chmod 755 %{buildroot}%{_bindir}/mysql_config
|
||||
|
||||
|
||||
mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_libdir}/mysql57/mysql_config
|
||||
touch %{buildroot}%{_bindir}/mysql_config
|
||||
|
||||
mkdir -p %{buildroot}/var/log
|
||||
touch %{buildroot}/var/log/mysqld.log
|
||||
|
||||
|
||||
mkdir -p %{buildroot}%{_rundir}
|
||||
install -m 0755 -d %{buildroot}/var/lib/mysql
|
||||
|
||||
mkdir -p %{buildroot}/etc/mysql57
|
||||
install -m 0644 %{SOURCE3} %{buildroot}/etc/mysql57/my.cnf
|
||||
%if %{with_systemd}
|
||||
sed -i -e '/user=mysql/d' %{buildroot}/etc/mysql57/my.cnf
|
||||
%endif
|
||||
|
||||
# Remove libmysqld.a, install libmysqld.so
|
||||
rm -f %{buildroot}%{_libdir}/mysql57/libmysqld.a
|
||||
|
||||
# libmysqlclient_r is no more. Upstream tries to replace it with symlinks
|
||||
# but that really doesn't work (wrong soname in particular). We'll keep
|
||||
# just the devel libmysqlclient_r.so link, so that rebuilding without any
|
||||
# source change is enough to get rid of dependency on libmysqlclient_r.
|
||||
rm -f %{buildroot}%{_libdir}/mysql57/libmysqlclient_r.so*
|
||||
ln -s libmysqlclient.so %{buildroot}%{_libdir}/mysql57/libmysqlclient_r.so
|
||||
|
||||
|
||||
%if %{with_systemd}
|
||||
# install systemd unit files and scripts for handling server startup
|
||||
mkdir -p %{buildroot}%{_unitdir}
|
||||
#install -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/
|
||||
install -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/
|
||||
install -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/
|
||||
|
||||
mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d
|
||||
install -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/mysql.conf
|
||||
|
||||
sed 's@/var/run/mysql@%{_rundir}@g' -i %{buildroot}%{_prefix}/lib/tmpfiles.d/mysql.conf
|
||||
|
||||
%else
|
||||
mkdir -p %{buildroot}/etc/rc.d/init.d
|
||||
install -m 0755 %{SOURCE2} %{buildroot}/etc/rc.d/init.d/mysqld
|
||||
|
||||
# sysconfig is only provided by remi
|
||||
mkdir -p %{buildroot}/etc/sysconfig
|
||||
install -m 0644 %{SOURCE1} %{buildroot}/etc/sysconfig/mysqld
|
||||
%endif
|
||||
|
||||
mkdir -p %{buildroot}/etc/ld.so.conf.d
|
||||
echo "%{_libdir}/mysql57" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||
|
||||
# put logrotate script where it needs to be
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
|
||||
mv ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate %{buildroot}%{_sysconfdir}/logrotate.d/mysqld
|
||||
chmod 644 %{buildroot}%{_sysconfdir}/logrotate.d/mysqld
|
||||
|
||||
# copy additional docs into build tree so %%doc will find them
|
||||
cp %{SOURCE6} README.mysql-docs
|
||||
cp %{SOURCE7} README.mysql-license
|
||||
|
||||
# Remove pkgconfig fileto avoid conflicts
|
||||
rm -fr %{buildroot}%{_libdir}/mysql57/pkgconfig
|
||||
|
||||
# Remove files that %%doc will install in preferred location
|
||||
rm -f %{buildroot}/usr/COPYING
|
||||
rm -f %{buildroot}/usr/README
|
||||
|
||||
# Remove files we don't want installed at all
|
||||
rm -f %{buildroot}/usr/INSTALL-BINARY
|
||||
rm -f %{buildroot}/usr/docs/ChangeLog
|
||||
rm -f %{buildroot}/usr/data/mysql/.empty
|
||||
rm -f %{buildroot}/usr/data/test/.empty
|
||||
|
||||
rm -f %{buildroot}%{_datadir}/mysql/solaris/*
|
||||
rm -fr %{buildroot}%{_datadir}/mysql-test
|
||||
rm -f %{buildroot}%{_bindir}/mysql_client_test
|
||||
rm -f %{buildroot}%{_bindir}/mysqlxtest
|
||||
|
||||
# should move this to /etc/ ?
|
||||
rm -f %{buildroot}%{_bindir}/mysqlaccess.conf
|
||||
rm -f %{buildroot}%{_bindir}/mysql_embedded
|
||||
rm -f %{buildroot}%{_libdir}/mysql57/*.a
|
||||
rm -f %{buildroot}%{_datadir}/mysql/binary-configure
|
||||
rm -f %{buildroot}%{_datadir}/mysql/magic
|
||||
rm -f %{buildroot}%{_datadir}/mysql/ndb-config-2-node.ini
|
||||
rm -f %{buildroot}%{_datadir}/mysql/mysql.server
|
||||
rm -f %{buildroot}%{_datadir}/mysql/mysqld_multi.server
|
||||
rm -f %{buildroot}%{_mandir}/man1/comp_err.1*
|
||||
rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1*
|
||||
rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1*
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
|
||||
%pre server
|
||||
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
|
||||
%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6
|
||||
/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \
|
||||
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
|
||||
%else
|
||||
# -N options used on Fedora not available on fedora <= 8 and EL <= 5
|
||||
/usr/sbin/useradd -M -g mysql -o -r -d /var/lib/mysql -s /bin/bash \
|
||||
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
|
||||
%endif
|
||||
|
||||
%post devel
|
||||
%{_sbindir}/update-alternatives --install %{_bindir}/mysql_config \
|
||||
mysql_config %{_libdir}/mysql57/mysql_config %{__isa_bits}
|
||||
|
||||
%post libs
|
||||
/sbin/ldconfig
|
||||
|
||||
%post server
|
||||
if grep -q skip-bdb /etc/mysql57//my.cnf; then
|
||||
/usr/bin/perl -p -i -e "s[^skip-bdb][#skip-bdb]gi" /etc/mysql57/my.cnf
|
||||
fi
|
||||
|
||||
datadir=/var/lib/mysql
|
||||
socketfile="$datadir/mysql.sock"
|
||||
mypidfile=/var/run/mysqld/mysqld.pid
|
||||
errorlogfile=/var/log/mysqld.log
|
||||
|
||||
start_nonsecure() {
|
||||
/etc/init.d/mysqld stop || :
|
||||
|
||||
# we just want to disable any ^set-variable stuff
|
||||
if grep -q ^set-variable /etc/mysql57/my.cnf; then
|
||||
timestamp=$(/bin/date +%m%d%y-%H%M)
|
||||
cp /etc/mysq57/my.cnf /etc/mysql57/my.cnf-original-$timestamp
|
||||
/usr/bin/perl -p -i -e "s[^set-variable][#set-variable]gi" /etc/mysql57/my.cnf
|
||||
/usr/bin/perl -p -i -e "s[^record_buffer][read_buffer_size]gi" /etc/mysql57/my.cnf
|
||||
/usr/bin/perl -p -i -e "s[^innodb_buffer_pool_read_ahead_rnd][innodb_buffer_pool_read_ahead]gi" /etc/mysql57/my.cnf
|
||||
/usr/bin/perl -p -i -e "s[^innodb_buffer_pool_read_ahead_seq][innodb_buffer_pool_read_ahead_evicted]gi" /etc/mysql57/my.cnf
|
||||
fi
|
||||
# end
|
||||
|
||||
/usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \
|
||||
--log-error="$errlogfile" --pid-file="$mypidfile" \
|
||||
--user=mysql --skip-grant-tables >/dev/null 2>&1 &
|
||||
|
||||
STARTTIMEOUT=120
|
||||
while [ $STARTTIMEOUT -gt 0 ]; do
|
||||
if /usr/bin/mysqladmin ping 2>/dev/null; then break; fi
|
||||
sleep 1
|
||||
STARTTIMEOUT=`expr $STARTTIMEOUT - 1`
|
||||
done
|
||||
}
|
||||
run_upgrade() {
|
||||
start_nonsecure
|
||||
|
||||
# black magic 1: mysqlupgrade does not actually able to upgrade
|
||||
# InnoDB tables, as REPAIR TABLE do not work on them.
|
||||
# So they need to be re-created.
|
||||
# OPTIMIZE TABLE does not work on them as well, but does re-creation
|
||||
# instead. But we actually want to re-create them!
|
||||
tmpfile=$(/bin/mktemp)
|
||||
|
||||
no_repair="The storage engine for the table doesn't support repair"
|
||||
/usr/bin/mysql_upgrade | grep -B1 "$no_repair" | grep -v "$no_repair" | sed -e "s/^\(.*\)$/OPTIMIZE TABLE \\1;/" 2>&1 > $tmpfile
|
||||
|
||||
# black magic 2: after mysql_upgrade, mysqld --skip-grant table
|
||||
# suddenly wants to authenticate us again..
|
||||
|
||||
start_nonsecure
|
||||
/usr/bin/mysql < $tmpfile
|
||||
rm -f $tmpfile
|
||||
/etc/init.d/mysqld stop || :
|
||||
/etc/init.d/mysqld start || :
|
||||
|
||||
}
|
||||
|
||||
|
||||
%if 0%{?systemd_post:1}
|
||||
%systemd_post mysqld.service
|
||||
%else
|
||||
if [ $1 = 1 ]; then
|
||||
# Initial installation
|
||||
%if %{with_systemd}
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
%else
|
||||
/sbin/chkconfig --add mysqld
|
||||
%endif
|
||||
fi
|
||||
%endif
|
||||
/bin/chmod 0755 /var/lib/mysql
|
||||
/bin/touch /var/log/mysqld.log
|
||||
|
||||
# Handle upgrading from SysV initscript to native systemd unit.
|
||||
# We can tell if a SysV version of mysql was previously installed by
|
||||
# checking to see if the initscript is present.
|
||||
%triggerun server -- mysql-server
|
||||
%if %{with_systemd}
|
||||
if [ -f /etc/rc.d/init.d/mysqld ]; then
|
||||
# Save the current service runlevel info
|
||||
# User must manually run systemd-sysv-convert --apply mysqld
|
||||
# to migrate them to systemd targets
|
||||
/usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || :
|
||||
|
||||
# Run these because the SysV package being removed won't do them
|
||||
/sbin/chkconfig --del mysqld >/dev/null 2>&1 || :
|
||||
/bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%preun server
|
||||
%if 0%{?systemd_preun:1}
|
||||
%systemd_preun mysqld.service
|
||||
%else
|
||||
if [ $1 = 0 ]; then
|
||||
# Package removal, not upgrade
|
||||
%if %{with_systemd}
|
||||
/bin/systemctl --no-reload disable mysqld.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl stop mysqld.service >/dev/null 2>&1 || :
|
||||
%else
|
||||
/sbin/service mysqld stop >/dev/null 2>&1
|
||||
/sbin/chkconfig --del mysqld
|
||||
%endif
|
||||
fi
|
||||
%endif
|
||||
|
||||
%postun libs
|
||||
if [ $1 = 0 ] ; then
|
||||
/sbin/ldconfig
|
||||
fi
|
||||
|
||||
%postun server
|
||||
%if 0%{?systemd_postun_with_restart:1}
|
||||
%systemd_postun_with_restart mysqld.service
|
||||
%else
|
||||
%if %{with_systemd}
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
if [ $1 -ge 1 ]; then
|
||||
# Package upgrade, not uninstall
|
||||
/bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%else
|
||||
if [ $1 -ge 1 ]; then
|
||||
/sbin/service mysqld condrestart >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%postun devel
|
||||
if [ $1 -eq 0 ] ; then
|
||||
%{_sbindir}/update-alternatives --remove mysql_config %{_libdir}/mysql57/mysql_config
|
||||
fi
|
||||
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc README README.mysql-license README.mysql-docs
|
||||
%doc Docs
|
||||
|
||||
%{_bindir}/mysql
|
||||
%{_bindir}/mysqladmin
|
||||
%{_bindir}/mysqlbinlog
|
||||
%{_bindir}/mysqlcheck
|
||||
%{_bindir}/mysqldump
|
||||
%{_bindir}/mysqlimport
|
||||
%{_bindir}/mysqlpump
|
||||
%{_bindir}/mysqlshow
|
||||
%{_bindir}/mysqlslap
|
||||
%{_bindir}/my_print_defaults
|
||||
%{_bindir}/mysql_config_editor
|
||||
|
||||
%{_mandir}/man1/mysql.1*
|
||||
%{_mandir}/man1/mysql_config.1*
|
||||
%{_mandir}/man1/mysqladmin.1*
|
||||
%{_mandir}/man1/mysqldump.1*
|
||||
%{_mandir}/man1/mysqlpump.1*
|
||||
%{_mandir}/man1/mysqlshow.1*
|
||||
%{_mandir}/man1/mysqlslap.1*
|
||||
%{_mandir}/man1/my_print_defaults.1*
|
||||
%{_mandir}/man1/mysql_config_editor.1*
|
||||
%{_libdir}/mysql57/mysql_config
|
||||
|
||||
%files libs
|
||||
%config(noreplace) /etc/mysql57/my.cnf
|
||||
%dir %{_libdir}/mysql57
|
||||
%{_libdir}/mysql57/libmysqlclient.so.*
|
||||
/etc/ld.so.conf.d/*
|
||||
|
||||
%files server
|
||||
%defattr(-,root,root)
|
||||
%doc redhat-linux-build/Docs/INFO_SRC
|
||||
%doc redhat-linux-build/Docs/INFO_BIN
|
||||
|
||||
%{_bindir}/myisamchk
|
||||
%{_bindir}/myisam_ftdump
|
||||
%{_bindir}/myisamlog
|
||||
%{_bindir}/myisampack
|
||||
%{_bindir}/mysql_install_db
|
||||
%{_bindir}/mysql_plugin
|
||||
%{_bindir}/mysql_secure_installation
|
||||
%{_bindir}/mysql_tzinfo_to_sql
|
||||
%{_bindir}/mysql_upgrade
|
||||
%{_bindir}/mysql_ssl_rsa_setup
|
||||
%{_bindir}/mysqldumpslow
|
||||
%if 0%{?with_systemd}
|
||||
%{_bindir}/mysqld_pre_systemd
|
||||
%else
|
||||
%{_bindir}/mysqld_multi
|
||||
%{_bindir}/mysqld_safe
|
||||
%endif
|
||||
%{_bindir}/lz4_decompress
|
||||
%{_bindir}/zlib_decompress
|
||||
%{_bindir}/mysqltest
|
||||
%{_bindir}/innochecksum
|
||||
%{_bindir}/perror
|
||||
%{_bindir}/replace
|
||||
%{_bindir}/resolve_stack_dump
|
||||
%{_bindir}/resolveip
|
||||
|
||||
|
||||
%{_libexecdir}/mysqld
|
||||
|
||||
%{_libdir}/mysql57/plugin
|
||||
|
||||
%{_mandir}/man1/myisamchk.1*
|
||||
%{_mandir}/man1/myisamlog.1*
|
||||
%{_mandir}/man1/myisampack.1*
|
||||
%{_mandir}/man1/myisam_ftdump.1*
|
||||
%{_mandir}/man1/mysql.server.1*
|
||||
%{_mandir}/man1/mysql_install_db.1*
|
||||
%{_mandir}/man1/mysql_plugin.1*
|
||||
%{_mandir}/man1/mysql_secure_installation.1*
|
||||
%{_mandir}/man1/mysql_upgrade.1*
|
||||
%{_mandir}/man1/mysqldumpslow.1*
|
||||
%{_mandir}/man1/mysqlbinlog.1*
|
||||
%{_mandir}/man1/mysqlcheck.1*
|
||||
%if %{with_systemd}
|
||||
%exclude %{_mandir}/man1/mysqld_multi.1.gz
|
||||
%exclude %{_mandir}/man1/mysqld_safe.1.gz
|
||||
%else
|
||||
%{_mandir}/man1/mysqld_multi.1*
|
||||
%{_mandir}/man1/mysqld_safe.1*
|
||||
%endif
|
||||
%{_mandir}/man1/lz4_decompress.1.*
|
||||
%{_mandir}/man1/zlib_decompress.1.*
|
||||
%{_mandir}/man1/mysql_config_editor.1.*
|
||||
%{_mandir}/man1/mysqlimport.1*
|
||||
%{_mandir}/man1/mysqlman.1*
|
||||
%{_mandir}/man1/innochecksum.1*
|
||||
%{_mandir}/man1/perror.1*
|
||||
%{_mandir}/man1/replace.1*
|
||||
%{_mandir}/man1/resolve_stack_dump.1*
|
||||
%{_mandir}/man1/resolveip.1*
|
||||
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
|
||||
%{_mandir}/man1/mysql_ssl_rsa_setup.1*
|
||||
%{_mandir}/man8/mysqld.8*
|
||||
|
||||
%{_datadir}/mysql/errmsg-utf8.txt
|
||||
%{_datadir}/mysql/fill_help_tables.sql
|
||||
%{_datadir}/mysql/mysql_system_tables.sql
|
||||
%{_datadir}/mysql/mysql_system_tables_data.sql
|
||||
%{_datadir}/mysql/mysql_test_data_timezone.sql
|
||||
|
||||
%{_datadir}/mysql/dictionary.txt
|
||||
%{_datadir}/mysql/charsets/
|
||||
%{_datadir}/mysql/*/errmsg.sys
|
||||
%{_datadir}/mysql/install_rewriter.sql
|
||||
%{_datadir}/mysql/uninstall_rewriter.sql
|
||||
%{_datadir}/mysql/mysql_security_commands.sql
|
||||
%{_datadir}/mysql/mysql_sys_schema.sql
|
||||
%{_datadir}/mysql/innodb_memcached_config.sql
|
||||
|
||||
|
||||
%if %{with_systemd}
|
||||
%{_unitdir}/mysqld@.service
|
||||
%{_unitdir}/mysqld.service
|
||||
%{_libexecdir}/mysqld-prepare-db-dir
|
||||
%{_libexecdir}/mysqld-wait-ready
|
||||
|
||||
%{_prefix}/lib/tmpfiles.d/mysql.conf
|
||||
%else
|
||||
/etc/rc.d/init.d/mysqld
|
||||
%config(noreplace) /etc/sysconfig/mysqld
|
||||
%endif
|
||||
%attr(0755,mysql,mysql) %dir %{_rundir}
|
||||
%attr(0755,mysql,mysql) %dir /var/lib/mysql
|
||||
%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/mysqld
|
||||
|
||||
%files devel
|
||||
%{_bindir}/mysql_config
|
||||
#{_libdir}/mysql/mysql_config
|
||||
%defattr(-,root,root)
|
||||
%{_includedir}/mysql
|
||||
%{_datadir}/aclocal/mysql.m4
|
||||
%{_libdir}/mysql57/libmysqlclient.so
|
||||
%{_libdir}/mysql57/libmysqlclient_r.so
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Mar 1 2022 Raven <raven@sysadmins.ws> - 5.7.36-1
|
||||
- initial release
|
360
mysql57/mysqlclient20.spec
Normal file
360
mysql57/mysqlclient20.spec
Normal file
@ -0,0 +1,360 @@
|
||||
%define _default_patch_fuzz 2
|
||||
|
||||
# By default, a build will include the system SSL library.
|
||||
%{?with_ssl: %global ssl_option -DWITH_SSL=%{with_ssl}}
|
||||
|
||||
%global _root_libdir %{_libdir}
|
||||
%global _root_includedir %{_includedir}
|
||||
|
||||
%global _prefix /opt/rx
|
||||
%global _sysconfdir %{_prefix}/etc
|
||||
%global _libdir %{_prefix}/lib
|
||||
%global _sbindir %{_prefix}/sbin
|
||||
%global _includedir %{_prefix}/include
|
||||
%global _datadir %{_prefix}/share
|
||||
%global _mandir %{_datadir}/man
|
||||
%global _docdir %{_datadir}/doc
|
||||
%global _infodir %{_datadir}/inf
|
||||
|
||||
Name: rx-mysqlclient20
|
||||
Version: 5.7.38
|
||||
Release: 1%{dist}
|
||||
Summary: MySQL client programs and shared libraries
|
||||
Group: Applications/Databases
|
||||
URL: http://www.mysql.com
|
||||
# exceptions allow client libraries to be linked with most open source SW,
|
||||
# not only GPL code. See README.mysql-license
|
||||
License: GPLv2 with exceptions
|
||||
|
||||
# Regression tests take a long time, you can skip 'em with this
|
||||
%{!?runselftest:%global runselftest 0}
|
||||
|
||||
# Upstream has a mirror redirector for downloads, so the URL is hard to
|
||||
# represent statically. You can get the tarball by following a link from
|
||||
# http://dev.mysql.com/downloads/mysql/
|
||||
Source0: mysql-boost-%{version}.tar.gz
|
||||
# The upstream tarball includes non-free documentation that we cannot ship.
|
||||
# To remove the non-free documentation, run this script after downloading
|
||||
# the tarball into the current directory:
|
||||
# ./generate-tarball.sh $VERSION
|
||||
# Source1: generate-tarball.sh not used
|
||||
Source1: mysql.sysconfig
|
||||
Source2: mysql.init
|
||||
Source3: my.cnf
|
||||
Source4: scriptstub.c
|
||||
Source5: my_config.h
|
||||
Source6: README.mysql-docs
|
||||
Source7: README.mysql-license
|
||||
#Source8: libmysql.version
|
||||
Source9: mysql-embedded-check.c
|
||||
Source10: mysql.tmpfiles.d
|
||||
# Working around perl dependency checking bug in rpm FTTB. Remove later.
|
||||
Source999: filter-requires-mysql.sh
|
||||
|
||||
Patch3: mysql-install-test.patch
|
||||
Patch13: mysqld-nowatch.patch
|
||||
|
||||
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
BuildRequires: perl, readline-devel, openssl-devel, boost159-devel
|
||||
# BuildRequires: openssl10-devel
|
||||
BuildRequires: cmake3, ncurses-devel, zlib-devel, libaio-devel, libtirpc-devel, mecab-devel
|
||||
BuildRequires: devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-make devtoolset-8-build devtoolset-8-binutils
|
||||
%if 0%{?fedora} >= 12
|
||||
BuildRequires: systemtap-sdt-devel >= 1.3
|
||||
%endif
|
||||
# make test requires time and ps
|
||||
BuildRequires: time procps
|
||||
# Socket and Time::HiRes are needed to run regression tests
|
||||
BuildRequires: perl(Socket), perl(Time::HiRes)
|
||||
# This is required old EL4
|
||||
BuildRequires: bison lz4-devel
|
||||
|
||||
Requires: grep, fileutils
|
||||
Requires: bash
|
||||
|
||||
|
||||
|
||||
# When rpm 4.9 is universal, this could be cleaned up:
|
||||
%global __perl_requires %{SOURCE999}
|
||||
%global __perllib_requires %{SOURCE999}
|
||||
|
||||
%description
|
||||
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
|
||||
client/server implementation consisting of a server daemon (mysqld)
|
||||
and many different client programs and libraries. The base package
|
||||
contains the standard MySQL client programs and generic MySQL files.
|
||||
|
||||
%package devel
|
||||
|
||||
Summary: Files for development of MySQL applications
|
||||
Group: Applications/Databases
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: openssl-devel%{?_isa}
|
||||
|
||||
%description devel
|
||||
This package contains the libraries and header files that are needed for
|
||||
developing MySQL applications using client libraries.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n mysql-%{version}
|
||||
|
||||
# Can't provide this file (by licence)
|
||||
rm -f Docs/mysql.info
|
||||
|
||||
|
||||
%patch3 -p1
|
||||
%patch13 -p1
|
||||
|
||||
|
||||
|
||||
# workaround for upstream bug #56342
|
||||
rm -f mysql-test/t/ssl_8k_key-master.opt
|
||||
|
||||
# upstream has fallen down badly on symbol versioning, do it ourselves
|
||||
#cp %{SOURCE8} libmysql/libmysql.version
|
||||
|
||||
%build
|
||||
%enable_devtoolset8
|
||||
|
||||
export LDFLAGS="$LDFLAGS -L%{_root_libdir}/boost159 -L%{_root_libdir}"
|
||||
|
||||
|
||||
# fail quickly and obviously if user tries to build as root
|
||||
%if %runselftest
|
||||
if [ x"`id -u`" = x0 ]; then
|
||||
echo "mysql's regression tests fail if run as root."
|
||||
echo "If you really need to build the RPM as root, use"
|
||||
echo "--define='runselftest 0' to skip the regression tests."
|
||||
exit 1
|
||||
fi
|
||||
%endif
|
||||
|
||||
CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
|
||||
# MySQL 4.1.10 definitely doesn't work under strict aliasing; also,
|
||||
# gcc 4.1 breaks MySQL 5.0.16 without -fwrapv
|
||||
CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv"
|
||||
# force PIC mode so that we can build libmysqld.so
|
||||
CFLAGS="$CFLAGS -fPIC"
|
||||
# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization
|
||||
# submitted as bz #529298
|
||||
%ifarch sparc sparcv9 sparc64
|
||||
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
|
||||
%endif
|
||||
CXXFLAGS="$CFLAGS"
|
||||
export CFLAGS CXXFLAGS
|
||||
|
||||
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
|
||||
# so we can't use %%{_datadir} and so forth here.
|
||||
|
||||
%cmake3 . -DBUILD_CONFIG=mysql_release \
|
||||
-DCOMPILATION_COMMENT="MySQL Community Server (GPL)" \
|
||||
-DFEATURE_SET="community" \
|
||||
-DINSTALL_LAYOUT=RPM \
|
||||
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
|
||||
-DINSTALL_INCLUDEDIR=include/mysql \
|
||||
-DINSTALL_INFODIR=share/info \
|
||||
-DINSTALL_LIBDIR="lib/mysql" \
|
||||
-DINSTALL_MANDIR=share/man \
|
||||
-DINSTALL_MYSQLSHAREDIR=share/mysql \
|
||||
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
|
||||
-DINSTALL_PLUGINDIR="lib/mysql/plugin" \
|
||||
-DINSTALL_SBINDIR=libexec \
|
||||
-DINSTALL_SCRIPTDIR=bin \
|
||||
-DINSTALL_SQLBENCHDIR=share \
|
||||
-DINSTALL_SUPPORTFILESDIR=share/mysql \
|
||||
-DMYSQL_DATADIR="/var/lib/mysql" \
|
||||
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
|
||||
-DENABLED_LOCAL_INFILE=ON \
|
||||
%if 0%{?fedora} >= 12
|
||||
-DENABLE_DTRACE=ON \
|
||||
%endif
|
||||
-DWITH_EMBEDDED_SERVER=ON \
|
||||
-DWITH_EMBEDDED_SHARED_LIBRARY=ON \
|
||||
-DWITH_LZ4=system \
|
||||
-DWITH_EDITLINE=bundled \
|
||||
-DWITH_MECAB=system \
|
||||
-DWITH_READLINE=ON \
|
||||
-DWITH_INNODB_MEMCACHED=ON \
|
||||
-DWITH_ZLIB=system \
|
||||
%{?ssl_option} \
|
||||
-DBOOST_INCLUDE_DIR=/usr/include/boost159 \
|
||||
-DOPENSSL_INCLUDE_DIR=%{_root_includedir} \
|
||||
-DOPENSSL_ROOT_DIR=/usr \
|
||||
-DEDITLINE_INCLUDE_DIR=/usr/include
|
||||
|
||||
|
||||
gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4}
|
||||
|
||||
make %{?_smp_mflags} VERBOSE=1
|
||||
|
||||
# # regular build will make libmysqld.a but not libmysqld.so :-(
|
||||
# mkdir libmysqld/work
|
||||
# cd libmysqld/work
|
||||
# # ar -x ../libmysqld.a
|
||||
# # these result in missing dependencies: (filed upstream as bug 59104)
|
||||
# rm -f sql_binlog.cc.o rpl_utility.cc.o
|
||||
# gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \
|
||||
# *.o \
|
||||
# %if 0%{?fedora} >= 12
|
||||
# ../../probes_mysql.o \
|
||||
# %endif
|
||||
# -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc
|
||||
# # this is to check that we built a complete library
|
||||
# cp %{SOURCE9} .
|
||||
# ln -s libmysqld.so.0.0.1 libmysqld.so.0
|
||||
# gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0
|
||||
# LD_LIBRARY_PATH=. ldd ./a.out
|
||||
# cd ../..
|
||||
|
||||
%if %runselftest
|
||||
# hack to let 32- and 64-bit tests run concurrently on same build machine
|
||||
case `uname -m` in
|
||||
ppc64 | s390x | x86_64 | sparc64 )
|
||||
MTR_BUILD_THREAD=7
|
||||
;;
|
||||
*)
|
||||
MTR_BUILD_THREAD=11
|
||||
;;
|
||||
esac
|
||||
export MTR_BUILD_THREAD
|
||||
|
||||
# Sometine, test fails because of this lib.
|
||||
LD_LIBRARY_PATH=$PWD/libservices
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
# make test
|
||||
|
||||
# The cmake build scripts don't provide any simple way to control the
|
||||
# options for mysql-test-run, so ignore the make target and just call it
|
||||
# manually. Nonstandard options chosen are:
|
||||
# --force to continue tests after a failure
|
||||
# no retries please
|
||||
# test SSL with --ssl
|
||||
# avoid redundant test runs with --binlog-format=mixed
|
||||
# increase timeouts to prevent unwanted failures during mass rebuilds
|
||||
cd mysql-test
|
||||
(
|
||||
# perl ./mysql-test-run.pl --force --retry=0 --mysqld=--binlog-format=mixed --suite-timeout=720 --testcase-timeout=30
|
||||
# Run less test to speed up build process
|
||||
%{__perl} ./mysql-test-run.pl --force --ssl --mysqld=--binlog-format=mixed --suite=main
|
||||
)
|
||||
# cmake build scripts will install the var cruft if left alone :-(
|
||||
rm -rf var
|
||||
%endif
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
|
||||
# List the installed tree for RPM package maintenance purposes.
|
||||
find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES
|
||||
|
||||
# multilib header hacks
|
||||
# we only apply this to known Red Hat multilib arches, per bug #181335
|
||||
case `uname -i` in
|
||||
i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 )
|
||||
mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h
|
||||
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# cmake generates some completely wacko references to -lprobes_mysql when
|
||||
# building with dtrace support. Haven't found where to shut that off,
|
||||
# so resort to this blunt instrument. While at it, let's not reference
|
||||
# libmysqlclient_r anymore either.
|
||||
sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \
|
||||
${RPM_BUILD_ROOT}%{_bindir}/mysql_config >mysql_config.tmp
|
||||
cp -f mysql_config.tmp ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
|
||||
chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
|
||||
|
||||
|
||||
#install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf
|
||||
|
||||
# Remove libmysqld.a, install libmysqld.so
|
||||
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a
|
||||
|
||||
# libmysqlclient_r is no more. Upstream tries to replace it with symlinks
|
||||
# but that really doesn't work (wrong soname in particular). We'll keep
|
||||
# just the devel libmysqlclient_r.so link, so that rebuilding without any
|
||||
# source change is enough to get rid of dependency on libmysqlclient_r.
|
||||
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so*
|
||||
ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so
|
||||
|
||||
|
||||
# Remove files that %%doc will install in preferred location
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/COPYING
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/README
|
||||
|
||||
# Remove files we don't want installed at all
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
|
||||
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.la
|
||||
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so*
|
||||
rm -rf $RPM_BUILD_ROOT%{_datadir}/mysql
|
||||
rm -rf $RPM_BUILD_ROOT%{_bindir}
|
||||
rm -rf $RPM_BUILD_ROOT%{_libexecdir}
|
||||
rm -rf $RPM_BUILD_ROOT%{_infodir}/*
|
||||
rm -rf $RPM_BUILD_ROOT%{_mandir}/man?/*
|
||||
rm -rf $RPM_BUILD_ROOT%{_datadir}/sql-bench
|
||||
rm -rf $RPM_BUILD_ROOT%{_datadir}/mysql-test
|
||||
rm -rf $RPM_BUILD_ROOT%{_datadir}/aclocal/mysql.m4
|
||||
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/INSTALL-BINARY
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/docs/ChangeLog
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/data/mysql/.empty
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/data/test/.empty
|
||||
rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysqlaccess.conf
|
||||
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/magic
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate
|
||||
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1*
|
||||
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1*
|
||||
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1*
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
|
||||
echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||
|
||||
# copy additional docs into build tree so %%doc will find them
|
||||
cp %{SOURCE6} README.mysql-docs
|
||||
cp %{SOURCE7} README.mysql-license
|
||||
|
||||
#
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
|
||||
%postun
|
||||
if [ $1 = 0 ] ; then
|
||||
/sbin/ldconfig
|
||||
fi
|
||||
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/mysql/libmysqlclient.so.20*
|
||||
/etc/ld.so.conf.d/*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{_includedir}/mysql
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
%{_libdir}/mysql/libmysqlclient.so
|
||||
%{_libdir}/mysql/libmysqlclient_r.so
|
||||
|
||||
%changelog
|
||||
* Tue Mar 1 2022 Raven <raven@sysadmins.ws> - 5.7.36-1
|
||||
- initial release
|
51
mysql57/mysqld-nowatch.patch
Normal file
51
mysql57/mysqld-nowatch.patch
Normal file
@ -0,0 +1,51 @@
|
||||
Add a --nowatch option to mysqld_safe that causes it to exit after
|
||||
spawning mysqld. We don't need mysqld_safe to restart mysqld after
|
||||
a crash, because systemd can do that just fine.
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.14.orig/scripts/mysqld_safe.sh mysql-5.5.14/scripts/mysqld_safe.sh
|
||||
--- mysql-5.5.14.orig/scripts/mysqld_safe.sh 2011-06-21 12:42:40.000000000 -0400
|
||||
+++ mysql-5.5.14/scripts/mysqld_safe.sh 2011-07-25 13:52:40.363068060 -0400
|
||||
@@ -15,6 +15,7 @@
|
||||
KILL_MYSQLD=1;
|
||||
MYSQLD=
|
||||
niceness=0
|
||||
+nowatch=0
|
||||
mysqld_ld_preload=
|
||||
mysqld_ld_library_path=
|
||||
|
||||
@@ -54,6 +55,7 @@
|
||||
--mysqld=FILE Use the specified file as mysqld
|
||||
--mysqld-version=VERSION Use "mysqld-VERSION" as mysqld
|
||||
--nice=NICE Set the scheduling priority of mysqld
|
||||
+ --nowatch Exit after starting mysqld
|
||||
--plugin-dir=DIR Plugins are under DIR or DIR/VERSION, if
|
||||
VERSION is given
|
||||
--skip-kill-mysqld Don't try to kill stray mysqld processes
|
||||
@@ -140,8 +142,16 @@
|
||||
;;
|
||||
esac
|
||||
|
||||
- #echo "Running mysqld: [$cmd]"
|
||||
- eval "$cmd"
|
||||
+ if test $nowatch -eq 1
|
||||
+ then
|
||||
+ # We'd prefer to exec $cmd here, but SELinux needs to be fixed first
|
||||
+ #/usr/bin/logger "Running mysqld: $cmd"
|
||||
+ eval "$cmd &"
|
||||
+ exit 0
|
||||
+ else
|
||||
+ #echo "Running mysqld: [$cmd]"
|
||||
+ eval "$cmd"
|
||||
+ fi
|
||||
}
|
||||
|
||||
shell_quote_string() {
|
||||
@@ -198,6 +208,7 @@
|
||||
fi
|
||||
;;
|
||||
--nice=*) niceness="$val" ;;
|
||||
+ --nowatch) nowatch=1 ;;
|
||||
--open-files-limit=*) open_files="$val" ;;
|
||||
--open_files_limit=*) open_files="$val" ;;
|
||||
--skip-kill-mysqld*) KILL_MYSQLD=0 ;;
|
82
mysql57/mysqld-prepare-db-dir
Normal file
82
mysql57/mysqld-prepare-db-dir
Normal file
@ -0,0 +1,82 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script creates the mysql data directory during first service start.
|
||||
# In subsequent starts, it does nothing much.
|
||||
|
||||
# extract value of a MySQL option from config files
|
||||
# Usage: get_mysql_option SECTION VARNAME DEFAULT
|
||||
# result is returned in $result
|
||||
# We use my_print_defaults which prints all options from multiple files,
|
||||
# with the more specific ones later; hence take the last match.
|
||||
get_mysql_option(){
|
||||
result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1`
|
||||
if [ -z "$result" ]; then
|
||||
# not found, use default
|
||||
result="$3"
|
||||
fi
|
||||
}
|
||||
|
||||
# Defaults here had better match what mysqld_safe will default to
|
||||
get_mysql_option mysqld datadir "/var/lib/mysql"
|
||||
datadir="$result"
|
||||
get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
|
||||
errlogfile="$result"
|
||||
|
||||
# Absorb configuration settings from the specified systemd service file,
|
||||
# or the default "mysqld" service if not specified
|
||||
SERVICE_NAME="$1"
|
||||
if [ x"$SERVICE_NAME" = x ]
|
||||
then
|
||||
SERVICE_NAME=mysqld.service
|
||||
fi
|
||||
|
||||
myuser=`systemctl show -p User "${SERVICE_NAME}" |
|
||||
sed 's/^User=//'`
|
||||
if [ x"$myuser" = x ]
|
||||
then
|
||||
myuser=mysql
|
||||
fi
|
||||
|
||||
mygroup=`systemctl show -p Group "${SERVICE_NAME}" |
|
||||
sed 's/^Group=//'`
|
||||
if [ x"$mygroup" = x ]
|
||||
then
|
||||
mygroup=mysql
|
||||
fi
|
||||
|
||||
# Set up the errlogfile with appropriate permissions
|
||||
touch "$errlogfile"
|
||||
chown "$myuser:$mygroup" "$errlogfile"
|
||||
chmod 0640 "$errlogfile"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile"
|
||||
|
||||
# Make the data directory
|
||||
if [ ! -d "$datadir/mysql" ] ; then
|
||||
# First, make sure $datadir is there with correct permissions
|
||||
# (note: if it's not, and we're not root, this'll fail ...)
|
||||
if [ ! -e "$datadir" -a ! -h "$datadir" ]
|
||||
then
|
||||
mkdir -p "$datadir" || exit 1
|
||||
fi
|
||||
chown "$myuser:$mygroup" "$datadir"
|
||||
chmod 0755 "$datadir"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$datadir"
|
||||
|
||||
# Now create the database
|
||||
echo "Initializing MySQL database"
|
||||
/usr/bin/mysql_install_db --datadir="$datadir" --user="$myuser"
|
||||
ret=$?
|
||||
if [ $ret -ne 0 ] ; then
|
||||
echo "Initialization of MySQL database failed." >&2
|
||||
echo "Perhaps /etc/my.cnf is misconfigured." >&2
|
||||
# Clean up any partially-created database files
|
||||
if [ ! -e "$datadir/mysql/user.frm" ] ; then
|
||||
rm -rf "$datadir"/*
|
||||
fi
|
||||
exit $ret
|
||||
fi
|
||||
# In case we're running as root, make sure files are owned properly
|
||||
chown -R "$myuser:$mygroup" "$datadir"
|
||||
fi
|
||||
|
||||
exit 0
|
56
mysql57/mysqld-wait-ready
Normal file
56
mysql57/mysqld-wait-ready
Normal file
@ -0,0 +1,56 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script waits for mysqld to be ready to accept connections
|
||||
# (which can be many seconds or even minutes after launch, if there's
|
||||
# a lot of crash-recovery work to do).
|
||||
# Running this as ExecStartPost is useful so that services declared as
|
||||
# "After mysqld" won't be started until the database is really ready.
|
||||
|
||||
# Service file passes us the daemon's PID (actually, mysqld_safe's PID)
|
||||
daemon_pid="$1"
|
||||
|
||||
# extract value of a MySQL option from config files
|
||||
# Usage: get_mysql_option SECTION VARNAME DEFAULT
|
||||
# result is returned in $result
|
||||
# We use my_print_defaults which prints all options from multiple files,
|
||||
# with the more specific ones later; hence take the last match.
|
||||
get_mysql_option(){
|
||||
result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1`
|
||||
if [ -z "$result" ]; then
|
||||
# not found, use default
|
||||
result="$3"
|
||||
fi
|
||||
}
|
||||
|
||||
# Defaults here had better match what mysqld_safe will default to
|
||||
get_mysql_option mysqld datadir "/var/lib/mysql"
|
||||
datadir="$result"
|
||||
get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock"
|
||||
socketfile="$result"
|
||||
|
||||
# Wait for the server to come up or for the mysqld process to disappear
|
||||
ret=0
|
||||
while /bin/true; do
|
||||
RESPONSE=`/usr/bin/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1`
|
||||
mret=$?
|
||||
if [ $mret -eq 0 ]; then
|
||||
break
|
||||
fi
|
||||
# exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected,
|
||||
# anything else suggests a configuration error
|
||||
if [ $mret -ne 1 -a $mret -ne 11 ]; then
|
||||
ret=1
|
||||
break
|
||||
fi
|
||||
# "Access denied" also means the server is alive
|
||||
echo "$RESPONSE" | grep -q "Access denied for user" && break
|
||||
|
||||
# Check process still exists
|
||||
if ! /bin/kill -0 $daemon_pid 2>/dev/null; then
|
||||
ret=1
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
exit $ret
|
43
mysql57/mysqld.service
Normal file
43
mysql57/mysqld.service
Normal file
@ -0,0 +1,43 @@
|
||||
# It's not recommended to modify this file in-place, because it will be
|
||||
# overwritten during package upgrades. If you want to customize, the
|
||||
# best way is to create a file "/etc/systemd/system/mysqld.service",
|
||||
# containing
|
||||
# .include /lib/systemd/system/mysqld.service
|
||||
# ...make your changes here...
|
||||
# For more info about custom unit files, see
|
||||
# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F
|
||||
|
||||
# For example, if you want to increase mysql's open-files-limit to 10000,
|
||||
# you need to increase systemd's LimitNOFILE setting, so create a file named
|
||||
# "/etc/systemd/system/mysqld.service" containing:
|
||||
# .include /lib/systemd/system/mysqld.service
|
||||
# [Service]
|
||||
# LimitNOFILE=10000
|
||||
|
||||
# Note: in F-17 and beyond, /usr/lib/... is recommended in the .include line
|
||||
# though /lib/... will still work.
|
||||
|
||||
[Unit]
|
||||
Description=MySQL database server
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=mysql
|
||||
Group=mysql
|
||||
|
||||
ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n
|
||||
# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
|
||||
# per bug #547485
|
||||
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
|
||||
ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID
|
||||
|
||||
# Give a reasonable amount of time for the server to start up/shut down
|
||||
TimeoutSec=300
|
||||
|
||||
# Place temp files in a secure directory, not /tmp
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
32
mysql57/scriptstub.c
Normal file
32
mysql57/scriptstub.c
Normal file
@ -0,0 +1,32 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* Translate call of myself into call of same-named script in LIBDIR */
|
||||
/* The macro LIBDIR must be defined as a double-quoted string */
|
||||
|
||||
int main (int argc, char **argv)
|
||||
{
|
||||
char *basename;
|
||||
char *fullname;
|
||||
char **newargs;
|
||||
int i;
|
||||
|
||||
basename = strrchr(argv[0], '/');
|
||||
if (basename)
|
||||
basename++;
|
||||
else
|
||||
basename = argv[0];
|
||||
fullname = malloc(strlen(LIBDIR) + strlen(basename) + 2);
|
||||
sprintf(fullname, "%s/%s", LIBDIR, basename);
|
||||
newargs = malloc((argc+1) * sizeof(char *));
|
||||
newargs[0] = fullname;
|
||||
for (i = 1; i < argc; i++)
|
||||
newargs[i] = argv[i];
|
||||
newargs[argc] = NULL;
|
||||
|
||||
execvp(fullname, newargs);
|
||||
|
||||
return 1;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user