mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
Merge ramayana.hindu.god:/home/tsmith/m/bk/build/50
into ramayana.hindu.god:/home/tsmith/m/bk/build/51 scripts/mysql_config.sh: Auto merged support-files/mysql.spec.sh: Manual merge
This commit is contained in:
commit
44dc35f209
2 changed files with 84 additions and 1 deletions
|
@ -107,6 +107,16 @@ libs="$libs @openssl_libs@ @STATIC_NSS_FLAGS@ "
|
|||
libs_r=" $ldflags -L$pkglibdir -lmysqlclient_r @ZLIB_DEPS@ @LIBS@ @openssl_libs@ "
|
||||
embedded_libs=" $ldflags -L$pkglibdir -lmysqld @ZLIB_DEPS@ @LIBS@ @WRAPLIBS@ @innodb_system_libs@ @openssl_libs@ "
|
||||
|
||||
if [ -r "$pkglibdir/libmygcc.a" ]; then
|
||||
# When linking against the static library with a different version of GCC
|
||||
# from what was used to compile the library, some symbols may not be defined
|
||||
# automatically. We package the libmygcc.a from the build host, to provide
|
||||
# definitions for those. Bugs 4921, 19561, 19817, 21158, etc.
|
||||
libs="$libs -lmygcc "
|
||||
libs_r="$libs_r -lmygcc "
|
||||
embedded_libs="$embedded_libs -lmygcc "
|
||||
fi
|
||||
|
||||
cflags="-I$pkgincludedir @CFLAGS@ " #note: end space!
|
||||
include="-I$pkgincludedir"
|
||||
|
||||
|
@ -116,6 +126,7 @@ include="-I$pkgincludedir"
|
|||
for remove in DDBUG_OFF DSAFEMALLOC USAFEMALLOC DSAFE_MUTEX \
|
||||
DPEDANTIC_SAFEMALLOC DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS \
|
||||
DEXTRA_DEBUG DHAVE_purify O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \
|
||||
'mtune=[-A-Za-z0-9]*' 'mcpu=[-A-Za-z0-9]*' 'march=[-A-Za-z0-9]*' \
|
||||
Xa xstrconst "xc99=none" \
|
||||
unroll2 ip mp restrict
|
||||
do
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
# MA 02110-1301 USA.
|
||||
|
||||
%define mysql_version @VERSION@
|
||||
%define mysql_vendor MySQL AB
|
||||
|
||||
# use "rpmbuild --with static" or "rpm --define '_with_static 1'" (for RPM 3.x)
|
||||
# to enable static linking (off by default)
|
||||
|
@ -69,7 +70,7 @@ License: %{license}
|
|||
Source: http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/mysql-%{mysql_version}.tar.gz
|
||||
URL: http://www.mysql.com/
|
||||
Packager: MySQL Production Engineering Team <build@mysql.com>
|
||||
Vendor: MySQL AB
|
||||
Vendor: %{mysql_vendor}
|
||||
Provides: msqlormysql MySQL-server mysql
|
||||
BuildRequires: ncurses-devel
|
||||
Obsoletes: mysql
|
||||
|
@ -429,6 +430,72 @@ touch $RBR%{_sysconfdir}/my.cnf
|
|||
touch $RBR%{_sysconfdir}/mysqlmanager.passwd
|
||||
|
||||
%pre server
|
||||
# Check if we can safely upgrade. An upgrade is only safe if it's from one
|
||||
# of our RPMs in the same version family.
|
||||
|
||||
installed=`rpm -q --whatprovides mysql-server 2> /dev/null`
|
||||
if [ $? -eq 0 -a -n "$installed" ]; then
|
||||
vendor=`rpm -q --queryformat='%{VENDOR}' "$installed" 2>&1`
|
||||
version=`rpm -q --queryformat='%{VERSION}' "$installed" 2>&1`
|
||||
myvendor='%{mysql_vendor}'
|
||||
myversion='%{mysql_version}'
|
||||
|
||||
old_family=`echo $version | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
|
||||
new_family=`echo $myversion | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
|
||||
|
||||
[ -z "$vendor" ] && vendor='<unknown>'
|
||||
[ -z "$old_family" ] && old_family="<unrecognized version $version>"
|
||||
[ -z "$new_family" ] && new_family="<bad package specification: version $myversion>"
|
||||
|
||||
error_text=
|
||||
if [ "$vendor" != "$myvendor" ]; then
|
||||
error_text="$error_text
|
||||
The current MySQL server package is provided by a different
|
||||
vendor ($vendor) than $myvendor. Some files may be installed
|
||||
to different locations, including log files and the service
|
||||
startup script in %{_sysconfdir}/init.d/.
|
||||
"
|
||||
fi
|
||||
|
||||
if [ "$old_family" != "$new_family" ]; then
|
||||
error_text="$error_text
|
||||
Upgrading directly from MySQL $old_family to MySQL $new_family may not
|
||||
be safe in all cases. A manual dump and restore using mysqldump is
|
||||
recommended. It is important to review the MySQL manual's Upgrading
|
||||
section for version-specific incompatibilities.
|
||||
"
|
||||
fi
|
||||
|
||||
if [ -n "$error_text" ]; then
|
||||
cat <<HERE >&2
|
||||
|
||||
******************************************************************
|
||||
A MySQL server package ($installed) is installed.
|
||||
$error_text
|
||||
A manual upgrade is required.
|
||||
|
||||
- Ensure that you have a complete, working backup of your data and my.cnf
|
||||
files
|
||||
- Shut down the MySQL server cleanly
|
||||
- Remove the existing MySQL packages. Usually this command will
|
||||
list the packages you should remove:
|
||||
rpm -qa | grep -i '^mysql-'
|
||||
|
||||
You may choose to use 'rpm --nodeps -ev <package-name>' to remove
|
||||
the package which contains the mysqlclient shared library. The
|
||||
library will be reinstalled by the MySQL-shared-compat package.
|
||||
- Install the new MySQL packages supplied by $myvendor
|
||||
- Ensure that the MySQL server is started
|
||||
- Run the 'mysql_upgrade' program
|
||||
|
||||
This is a brief description of the upgrade process. Important details
|
||||
can be found in the MySQL manual, in the Upgrading section.
|
||||
******************************************************************
|
||||
HERE
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Shut down a previously installed server first
|
||||
if test -x %{_sysconfdir}/init.d/mysql
|
||||
then
|
||||
|
@ -730,6 +797,11 @@ fi
|
|||
# itself - note that they must be ordered by date (important when
|
||||
# merging BK trees)
|
||||
%changelog
|
||||
* Mon Feb 18 2008 Timothy Smith <tim@mysql.com>
|
||||
|
||||
- Require a manual upgrade if the alread-installed mysql-server is
|
||||
from another vendor, or is of a different major version.
|
||||
|
||||
* Wed May 02 2007 Joerg Bruehe <joerg@mysql.com>
|
||||
|
||||
- "ndb_size.tmpl" is not needed any more,
|
||||
|
|
Loading…
Reference in a new issue