mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 14:54:20 +01:00
359594ccd2
--- Removed reference to debian svn location of debian dir. Changed verbage of comment to appease Timothy. --- Removed added manpages that aren't appropriate for our build. --- Added debian dir to list of dist targets. Added list of files needed to be distributed in debian dir. --- Added semi-colons to fix syntax error. --- BUG#27769 MySQL should include debian packaing dir Added debian/Makefile to configure.in to support make dist. BitKeeper/deleted/.del-configure.in.rej: Delete: configure.in.rej Makefile.am: Added debian dir to list of dist targets. configure.in: Added debian/Makefile to configure.in to support make dist BitKeeper/deleted/.del-comp_err.1: Adding files to support building for debian. BitKeeper/deleted/.del-msql2mysql.1: Adding files to support building for debian. BitKeeper/deleted/.del-my_print_defaults.1: Adding files to support building for debian. BitKeeper/deleted/.del-myisam_ftdump.1: Adding files to support building for debian. BitKeeper/deleted/.del-myisamchk.1: Adding files to support building for debian. BitKeeper/deleted/.del-myisamlog.1: Adding files to support building for debian. BitKeeper/deleted/.del-myisampack.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysql_config.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysql_convert_table_format.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysql_explain_log.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysql_find_rows.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysql_fix_extensions.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysql_install_db.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysql_secure_installation.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysql_setpermission.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysql_tableinfo.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysql_waitpid.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysqlbinlog.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysqlbug.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysqlcheck.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysqldumpslow.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysqlimport.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysqlmanager.1: Adding files to support building for debian. BitKeeper/deleted/.del-mysqltest.1: Adding files to support building for debian. BitKeeper/deleted/.del-pack_isam.1: Adding files to support building for debian. BitKeeper/deleted/.del-resolve_stack_dump.1: Adding files to support building for debian. BitKeeper/deleted/.del-resolveip.1: Adding files to support building for debian. debian/Makefile.am: Added list of files needed to be distributed in debian dir. debian/README.Maintainer: Adding files to support building for debian. --- Removed reference to debian svn location of debian dir. Changed verbage of comment to appease Timothy. debian/changelog: Adding files to support building for debian. debian/compat: Adding files to support building for debian. debian/control.in: Adding files to support building for debian. debian/copyright.more: Adding files to support building for debian. debian/copyright: Adding files to support building for debian. debian/defs.mk: Adding files to support building for debian. debian/libmysqlclientMYSOVER-dev.README.Maintainer.in: Adding files to support building for debian. debian/libmysqlclientMYSOVER-dev.dirs.in: Adding files to support building for debian. debian/libmysqlclientMYSOVER-dev.docs.in: Adding files to support building for debian. debian/libmysqlclientMYSOVER-dev.examples.in: Adding files to support building for debian. debian/libmysqlclientMYSOVER-dev.files.in: Adding files to support building for debian. debian/libmysqlclientMYSOVER-dev.links.in: Adding files to support building for debian. debian/libmysqlclientMYSOVER.README.Debian.in: Adding files to support building for debian. debian/libmysqlclientMYSOVER.dirs.in: Adding files to support building for debian. debian/libmysqlclientMYSOVER.docs.in: Adding files to support building for debian. debian/libmysqlclientMYSOVER.files.in: Adding files to support building for debian. debian/libmysqlclientMYSOVER.postinst.in: Adding files to support building for debian. debian/libndbclientNDBSOVER-dev.dirs.in: Adding files to support building for debian. debian/libndbclientNDBSOVER-dev.files.in: Adding files to support building for debian. debian/libndbclientNDBSOVER-dev.links.in: Adding files to support building for debian. debian/libndbclientNDBSOVER.README.Debian.in: Adding files to support building for debian. debian/libndbclientNDBSOVER.dirs.in: Adding files to support building for debian. debian/libndbclientNDBSOVER.files.in: Adding files to support building for debian. debian/libndbclientNDBSOVER.postinst.in: Adding files to support building for debian. debian/mysql-client-MYVER.NEWS.in: Adding files to support building for debian. debian/mysql-client-MYVER.README.Debian.in: Adding files to support building for debian. debian/mysql-client-MYVER.dirs.in: Adding files to support building for debian. debian/mysql-client-MYVER.docs.in: Adding files to support building for debian. debian/mysql-client-MYVER.files.in: Adding files to support building for debian. debian/mysql-client-MYVER.lintian-overrides.in: Adding files to support building for debian. debian/mysql-common.README.Debian.in: Adding files to support building for debian. debian/mysql-common.dirs.in: Adding files to support building for debian. debian/mysql-common.files.in: Adding files to support building for debian. debian/mysql-common.postrm.in: Adding files to support building for debian. debian/mysql-common.preinst.in: Adding files to support building for debian. debian/mysql-extra-MYVER.dirs.in: Adding files to support building for debian. debian/mysql-extra-MYVER.files.in: Adding files to support building for debian. debian/mysql-management-MYVER.dirs.in: Adding files to support building for debian. debian/mysql-management-MYVER.files.in: Adding files to support building for debian. debian/mysql-management-MYVER.mysql-management.init.in: Adding files to support building for debian. debian/mysql-server-MYOLDVER.preinst.in: Adding files to support building for debian. debian/mysql-server-MYVER.NEWS.in: Adding files to support building for debian. debian/mysql-server-MYVER.README.Debian.in: Adding files to support building for debian. debian/mysql-server-MYVER.config.in: Adding files to support building for debian. debian/mysql-server-MYVER.dirs.in: Adding files to support building for debian. debian/mysql-server-MYVER.docs.in: Adding files to support building for debian. debian/mysql-server-MYVER.files.in: Adding files to support building for debian. debian/mysql-server-MYVER.links.in: Adding files to support building for debian. debian/mysql-server-MYVER.lintian-overrides.in: Adding files to support building for debian. debian/mysql-server-MYVER.logcheck.ignore.paranoid.in: Adding files to support building for debian. debian/mysql-server-MYVER.logcheck.ignore.server.in: Adding files to support building for debian. debian/mysql-server-MYVER.logcheck.ignore.workstation.in: Adding files to support building for debian. debian/mysql-server-MYVER.mysql-server.logrotate.in: Adding files to support building for debian. debian/mysql-server-MYVER.postinst.in: Adding files to support building for debian. debian/mysql-server-MYVER.postrm.in: Adding files to support building for debian. debian/additions/my.cnf: Adding files to support building for debian. debian/additions/mysql-server.lintian-overrides: Adding files to support building for debian. debian/additions/ndb_mgmd.cnf: Adding files to support building for debian. debian/mysql-server-MYVER.preinst.in: Adding files to support building for debian. debian/mysql-server-MYVER.prerm.in: Adding files to support building for debian. debian/mysql-server-MYVER.templates.in: Adding files to support building for debian. debian/mysql-server.preinst.in: Adding files to support building for debian. debian/mysql-storage-MYVER.dirs.in: Adding files to support building for debian. debian/mysql-storage-MYVER.files.in: Adding files to support building for debian. debian/mysql-storage-MYVER.mysql-storage.init.in: Adding files to support building for debian. debian/mysql-test-MYVER.dirs.in: Adding files to support building for debian. debian/mysql-test-MYVER.files.in: Adding files to support building for debian. debian/mysql-tools-MYVER.dirs.in: Adding files to support building for debian. debian/mysql-tools-MYVER.files.in: Adding files to support building for debian. debian/po/POTFILES.in.in: Adding files to support building for debian. debian/po/ca.po: Adding files to support building for debian. debian/po/cs.po: Adding files to support building for debian. debian/po/da.po: Adding files to support building for debian. debian/po/de.po: Adding files to support building for debian. debian/po/es.po: Adding files to support building for debian. debian/po/eu.po: Adding files to support building for debian. debian/po/fr.po: Adding files to support building for debian. debian/po/gl.po: Adding files to support building for debian. debian/po/it.po: Adding files to support building for debian. debian/po/ja.po: Adding files to support building for debian. debian/po/nb.po: Adding files to support building for debian. debian/po/nl.po: Adding files to support building for debian. debian/po/pt.po: Adding files to support building for debian. debian/po/pt_BR.po: Adding files to support building for debian. debian/po/ro.po: Adding files to support building for debian. debian/po/ru.po: Adding files to support building for debian. debian/po/sv.po: Adding files to support building for debian. debian/po/templates.pot: Adding files to support building for debian. debian/po/tr.po: Adding files to support building for debian. debian/rules: Adding files to support building for debian. --- Added semi-colons to fix syntax error. debian/source.lintian-overrides.in: Adding files to support building for debian. debian/watch: Adding files to support building for debian.
167 lines
4.9 KiB
Bash
167 lines
4.9 KiB
Bash
#!/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=@VER@
|
||
|
||
# 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 mysql-server-$this_version/really_downgrade seen false || true
|
||
db_input medium mysql-server-$this_version/really_downgrade || true
|
||
db_go
|
||
db_get mysql-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
|
||
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 mysql-server-4.1/sarge 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/mysql-common/internal-use-only/`echo $file | sed 's<>/<2F>_<EFBFBD>g'` $file
|
||
fi
|
||
done <<EOT
|
||
6691f2fdc5c6d27ff0260eb79813e1bc /etc/init.d/mysql
|
||
b53b9552d44661361d39157c3c7c51d3 /etc/logrotate.d/mysql-server
|
||
EOT
|
||
|
||
db_stop
|
||
|
||
#DEBHELPER#
|
||
|
||
exit 0
|