mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 02:30:06 +01:00
89 lines
2.9 KiB
Bash
Executable file
89 lines
2.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Build MariaDB .deb packages.
|
|
# Based on OurDelta .deb packaging scripts, which are in turn based on Debian
|
|
# MySQL packages.
|
|
|
|
# Exit immediately on any error
|
|
set -e
|
|
|
|
# Debug script and command lines
|
|
#set -x
|
|
|
|
# On Buildbot, don't run the mysql-test-run test suite as part of build.
|
|
# It takes a lot of time, and we will do a better test anyway in
|
|
# Buildbot, running the test suite from installed .debs on a clean VM.
|
|
# On Travis-CI we want to simulate the full build, including tests.
|
|
# Also on Travis-CI it is useful not to override the DEB_BUILD_OPTIONS
|
|
# at this stage at all.
|
|
if [[ ! $TRAVIS ]]
|
|
then
|
|
export DEB_BUILD_OPTIONS="nocheck"
|
|
fi
|
|
|
|
export MARIADB_OPTIONAL_DEBS=""
|
|
|
|
# Find major.minor version.
|
|
#
|
|
source ./VERSION
|
|
UPSTREAM="${MYSQL_VERSION_MAJOR}.${MYSQL_VERSION_MINOR}.${MYSQL_VERSION_PATCH}${MYSQL_VERSION_EXTRA}"
|
|
PATCHLEVEL="+maria"
|
|
LOGSTRING="MariaDB build"
|
|
|
|
# Look up distro-version specific stuff.
|
|
|
|
CODENAME="$(lsb_release -sc)"
|
|
|
|
# Add libcrack2 (>= 2.9.0) as a build dependency if available in the distribution
|
|
# This matches Debian Jessie, Stretch and Ubuntu Trusty, Wily, Xenial, Yakkety
|
|
# Update check when version 2.10 or newer is available.
|
|
if apt-cache madison libcrack2-dev | grep 'libcrack2-dev *| *2\.9' >/dev/null 2>&1
|
|
then
|
|
sed 's/Standards-Version/,libcrack2-dev (>= 2.9.0)\nStandards-Version/' debian/control
|
|
cat <<EOT >> debian/control
|
|
|
|
Package: mariadb-cracklib-password-check-10.2
|
|
Architecture: any
|
|
Depends: libcrack2 (>= 2.9.0),
|
|
mariadb-server-10.2,
|
|
\${misc:Depends},
|
|
\${shlibs:Depends}
|
|
Description: CrackLib Password Validation Plugin for MariaDB
|
|
This password validation plugin uses cracklib to allow only
|
|
sufficiently secure (as defined by cracklib) user passwords in MariaDB.
|
|
EOT
|
|
fi
|
|
|
|
# Add libpcre3-dev (>= 2:8.35-3.2~) as a build dependency if available in the distribution
|
|
# This matches Debian Jessie, Stretch and Ubuntu Wily, Xenial, Yakkety
|
|
# Update check when version 2:8.40 or newer is available.
|
|
if apt-cache madison libpcre3-dev | grep 'libpcre3-dev *| *2:8\.3[2-9]' >/dev/null 2>&1
|
|
then
|
|
sed 's/Standards-Version/,libpcre3-dev (>= 2:8.35-3.2~)\nStandards-Version/' debian/control
|
|
fi
|
|
|
|
# On Travis-CI, the log must stay under 4MB so make the build less verbose
|
|
if [[ $TRAVIS ]]
|
|
then
|
|
sed -i -e '/Add support for verbose builds/,+2d' debian/rules
|
|
fi
|
|
|
|
|
|
# Adjust changelog, add new version.
|
|
#
|
|
echo "Incrementing changelog and starting build scripts"
|
|
|
|
dch -b -D ${CODENAME} -v "${UPSTREAM}${PATCHLEVEL}~${CODENAME}" "Automatic build with ${LOGSTRING}."
|
|
|
|
echo "Creating package version ${UPSTREAM}${PATCHLEVEL}~${CODENAME} ... "
|
|
|
|
# Build the package.
|
|
# Pass -I so that .git and other unnecessary temporary and source control files
|
|
# will be ignored by dpkg-source when createing the tar.gz source package
|
|
fakeroot dpkg-buildpackage -us -uc -I
|
|
|
|
[ -e debian/autorm-file ] && rm -vf `cat debian/autorm-file`
|
|
|
|
echo "Build complete"
|
|
|
|
# end of autobake script
|