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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
-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
-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
-DA7kvMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5
|
||||||
|
-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
-Gh/GwmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33
|
||||||
|
-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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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
-kOE7GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQ
|
||||||
|
-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
-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
-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
-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
-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
-+GsJmPFT3rwWfoGAQu/aeSX4sp8OhKVJtqNA6MJrGYnZIMolgYa1wZPbkjJsdEfi
|
||||||
|
-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
-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
-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
-+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
-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
-VN8wtHI5F3RlNOVQEJks/bjdlpLL3VhaWtfewGh/mXRGcow84cgcsejMexmhreHm
|
||||||
|
-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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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
-dOmMXp6PBoqcdusFVUS7vjd3KAes5wUX/CaTyOOPRu0LMSnpwEnaL76IC9x4Jd6d
|
||||||
|
-7QqY/OFTjpPH8nP57LwouiT6MgSUCWGaOkPuBJ9w9sENSbbINpgJJ42iAe2kE+R7
|
||||||
|
-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
-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
-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
-utULK5VMtAhQt6cVahO59A9t/OI17y45bmlIgdlEQISzVFe9ZbIUJW44zBfPx74k
|
||||||
|
-/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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
-Cz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2DA7k
|
||||||
|
-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
-fU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09Gh/G
|
||||||
|
-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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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
-GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQuw4q
|
||||||
|
-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
-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
-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
-Dke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABAoIEAQCSt6YoZqigz/50
|
||||||
|
-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
-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
-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
-EI+ajoXuQiPXeKonkD2qd7NTjzfy4gw/ZF4NXs0ZVJeviqtIPo2xp33udOw2vRFh
|
||||||
|
-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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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
-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
-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
-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
-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
-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
-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
-xffHVlFwoSyNl/nc3ueZCC95nOLst2XcuxZLLbOFtZCmDYsp49q/Jn6EFjn4Ge2o
|
||||||
|
-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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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
-LKe3KRdwubjVNhXRZLBknU+3Y/4hnIR7mcE3/M5Zv5hjb7XnwWg/SzxV9WojCKiu
|
||||||
|
-vQ7cXhH5/o7EuKcl1d6vueGhWsRylCG9RimwgViR2H7zD9kpkOc0nNym9cSpb0Gv
|
||||||
|
-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
-4JJ4d5cSFbssDN1bITOKzuytfBqRIQGNkOfizgQNWUiaFI0MhEN/icymjm1ybOIh
|
||||||
|
-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
-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
-hu+ar5tz5dPnJIsvLeYCcJDe/K6loiZuHTtPbWEy9p6It7qubQNPBvTSBN5eVDKc
|
||||||
|
-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
-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
-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
-15k6UNqhftzsE7FnrVneOsww4WXXBUcV8FKz4Bf3i9qFswILmGzmrfSf8YczRfGS
|
||||||
|
-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
-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
-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
-+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
-nVV8Q2FMxBa/SlzSOkhRtCg2q1gXkzhaMnIVUleRZFGQ2uWBToxKMjcoUifIyN1J
|
||||||
|
-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
-KX/ajFGu5C94WFgsVoWKNI90KBLe48Ssje9c68waBlV/WHMg1YLvU3yqVDOV+K5c
|
||||||
|
-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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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
-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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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
-EhhBhUoTrT48UnfW9hxnbNLB9P/hh+UJu9HrS2uAwHoGE1+8gcyundupGDBn
|
||||||
|
+MIICXgIBAAKBgQDF2kSVBncWIa+gxDzp+B0tlfljkIw/hrp3dkpSS2uvKfUcqtQ/
|
||||||
|
+PkKfbUa6hpCxLczbxjMVo/SvUzNPoVbRqjsmEPdktfm/G7FHjsym1g2qSnfjo2Od
|
||||||
|
+Ktxl9H+RFzgt1s1OjVNSl26H/GRgpqEArJZs5EKUdRdGb5G13QZH7QXj2wIDAQAB
|
||||||
|
+AoGBAJLCjh7Q9eLnx+QDzH9s+Q/IcH4nSbERmh1lFEopAc6j29qQ6PGkmDy0DUPs
|
||||||
|
+70VOCOh5A4mo3aZzm9sUfVb24/nRtmyTP/AtMuIVGCsUqzI28dJRGvRlY0aSQG/C
|
||||||
|
+ILqMP69kiMNGBvuyEIiJhisOmMvDFEp7HrrXHJM9qcc217DpAkEA4nzJ9yyy2e4O
|
||||||
|
+r6/D711hdfcU/F+ktXw+pL77kSSdTABUap92Uv2RL36UA4q5h8RNvq/GrzMNm6Ye
|
||||||
|
+u2IMvBCiTQJBAN+iRbiMJCSitTg5YVMluVbT87co7jbTqk7LN1ujyIFEklm4xlHG
|
||||||
|
+DLJNgEoDR7QJtAkL++FyogC4zsQsey5voscCQQCp54trTbDuI9QIoAaQrrDKWgz4
|
||||||
|
+NpfNPeOQm2UFQT5vIWAyjGWrZGViB8bp0UvVOcJI5nxaOiZfOYOcdrWu75uRAkAn
|
||||||
|
+67zMc9/j1lPJRJz2Dc7nDBD+ikTz7pcBV897AWLCiK4jbBOi91q+3YzgKXO8VNsZ
|
||||||
|
+nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z
|
||||||
|
++m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw==
|
||||||
|
-----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