diff options
author | Sergei Golubchik <sergii@pisem.net> | 2011-07-18 23:04:24 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2011-07-18 23:04:24 +0200 |
commit | 4e46d8e5bff140f2549841167dc4b65a3c0a645d (patch) | |
tree | c6612dcc1d0fbd801c084e6c36307d9e5913a293 /storage/xtradb/build/debian/percona-xtradb-server-5.1.preinst | |
parent | 9a02c69f5c6766eaf552284a2a4dd0f1d26ecd2c (diff) | |
parent | d4d7a8fa62c406be73f6c0f6d75e795293db548b (diff) | |
download | mariadb-git-4e46d8e5bff140f2549841167dc4b65a3c0a645d.tar.gz |
merge with xtradb-5.5.15
fix test cases
Diffstat (limited to 'storage/xtradb/build/debian/percona-xtradb-server-5.1.preinst')
-rw-r--r-- | storage/xtradb/build/debian/percona-xtradb-server-5.1.preinst | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/storage/xtradb/build/debian/percona-xtradb-server-5.1.preinst b/storage/xtradb/build/debian/percona-xtradb-server-5.1.preinst deleted file mode 100644 index a338e4edd8f..00000000000 --- a/storage/xtradb/build/debian/percona-xtradb-server-5.1.preinst +++ /dev/null @@ -1,186 +0,0 @@ -#!/bin/bash -e -# -# summary of how this script can be called: -# * <new-preinst> install -# * <new-preinst> install <old-version> -# * <new-preinst> upgrade <old-version> -# * <old-preinst> abort-upgrade <new-version> -# - -. /usr/share/debconf/confmodule - -if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi -${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 } - -export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin -MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf" -DATADIR=/var/lib/mysql -LOGDIR=/var/log/mysql -UPGRADEDIR=/var/lib/mysql-upgrade - -# Try to stop the server in a sane way. If it does not success let the admin -# do it himself. No database directories should be removed while the server -# is running! Another mysqld in e.g. a different chroot is fine for us. -stop_server() { - if [ ! -x /etc/init.d/mysql ]; then return; fi - - set +e - if [ -x /usr/sbin/invoke-rc.d ]; then - cmd="invoke-rc.d mysql stop" - else - cmd="/etc/init.d/mysql stop" - fi - $cmd - errno=$? - set -e - - # 0=ok, 100=no init script (fresh install) - if [ "$errno" != 0 -a "$errno" != 100 ]; then - echo "${cmd/ */} returned $errno" 1>&2 - echo "There is a MySQL server running, but we failed in our attempts to stop it." 1>&2 - echo "Stop it yourself and try again!" 1>&2 - db_stop - exit 1 - fi -} - -################################ main() ########################## - -this_version=5.1 - -# Check kernel version -if dpkg --compare-versions `uname -r` lt 2.6; then - /bin/echo -e "\nPROBLEM: MySQL-5.x is currently incompatible with kernel 2.4. Aborting."; - /bin/echo -e "See http://bugs.debian.org/416841 for more information.\n" - exit 1 -fi - -# Abort if an NDB cluster is in use. -if egrep -q -r '^[^#]*ndb.connectstring' /etc/mysql/; then - db_fset percona-xtradb-server/no_upgrade_when_using_ndb seen false || true - db_input high percona-xtradb-server/no_upgrade_when_using_ndb || true - db_go - db_stop - exit 1 -fi - -# Safe the user from stupidities. -show_downgrade_warning=0 -for i in `ls $DATADIR/debian-*.flag 2>/dev/null`; do - found_version=`echo $i | sed 's/.*debian-\([0-9\.]\+\).flag/\1/'` - if dpkg --compare-versions "$this_version" '<<' "$found_version"; then - show_downgrade_warning=1 - break; - fi -done -if [ "$show_downgrade_warning" = 1 ]; then - db_fset percona-xtradb-server-$this_version/really_downgrade seen false || true - db_input medium percona-xtradb-server-$this_version/really_downgrade || true - db_go - db_get percona-xtradb-server-$this_version/really_downgrade || true - if [ "$RET" = "true" ]; then - rm -f $DATADIR/debian-*.flag - touch $DATADIR/debian-$this_version.flag - else - echo "Aborting downgrade from (at least) $found_version to $this_version." 1>&2 - echo "If are sure you want to downgrade to $this_version, remove the file" 1>&2 - echo "$DATADIR/debian-*.flag and try installing again." 1>&2 - db_stop - exit 1 - fi -fi - -# to be sure -stop_server - -# If we use NIS then errors should be tolerated. It's up to the -# user to ensure that the mysql user is correctly setup. -# Beware that there are two ypwhich one of them needs the 2>/dev/null! -if test -n "`which ypwhich 2>/dev/null`" && ypwhich >/dev/null 2>&1; then - set +e -fi - -# -# Now we have to ensure the following state: -# /etc/passwd: mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false -# /etc/group: mysql:x:101: -# -# Sadly there could any state be present on the system so we have to -# modify everything carefully i.e. not doing a chown before creating -# the user etc... -# - -# creating mysql group if he isn't already there -if ! getent group mysql >/dev/null; then - # Adding system group: mysql. - addgroup --system mysql >/dev/null -fi - -# creating mysql user if he isn't already there -if ! getent passwd mysql >/dev/null; then - # Adding system user: mysql. - adduser \ - --system \ - --disabled-login \ - --ingroup mysql \ - --home $DATADIR \ - --gecos "MySQL Server" \ - --shell /bin/false \ - mysql >/dev/null -fi - -# end of NIS tolerance zone -set -e - -# if there's a symlink, let's store where it's pointing, because otherwise -# it's going to be lost in some situations -for dir in DATADIR LOGDIR; do - checkdir=`eval echo "$"$dir` - if [ -L "$checkdir" ]; then - mkdir -p "$UPGRADEDIR" - cp -d "$checkdir" "$UPGRADEDIR/$dir.link" - fi -done - -# creating mysql home directory -if [ ! -d $DATADIR -a ! -L $DATADIR ]; then - mkdir $DATADIR -fi - -# checking disc space -if LC_ALL=C BLOCKSIZE= df --portability $DATADIR/. | tail -n 1 | awk '{ exit ($4>1000) }'; then - echo "ERROR: There's not enough space in $DATADIR/" 1>&2 - db_stop - exit 1 -fi - -# Since the home directory was created before putting the user into -# the mysql group and moreover we cannot guarantee that the -# permissions were correctly *before* calling this script, we fix them now. -# In case we use NIS and no mysql user is present then this script should -# better fail now than later.. -# The "set +e" is necessary as e.g. a ".journal" of a ext3 partition is -# not chgrp'able (#318435). -set +e -chown mysql:mysql $DATADIR -find $DATADIR -follow -not -group mysql -print0 2>/dev/null \ - | xargs -0 --no-run-if-empty chgrp mysql -set -e - -# Some files below /etc/ were possibly in the percona-xtradb-server-5.0/etch package -# before. They get overwritten by current ones to avoid unnecessary dpkg questions. -while read md5 file; do - if [ "`md5sum $file 2>/dev/null`" = "$md5 $file" ]; then - cp /usr/share/percona-xtradb-common/internal-use-only/`echo $file | sed 's°/°_°g'` $file - fi -done <<EOT -6691f2fdc5c6d27ff0260eb79813e1bc /etc/init.d/mysql -b53b9552d44661361d39157c3c7c51d3 /etc/logrotate.d/percona-xtradb-server -57f3e58f72582ca55100dc1ba0f1a8ae /etc/mysql/debian-start -EOT - -db_stop - -#DEBHELPER# - -exit 0 |