mirror of
https://github.com/MariaDB/server.git
synced 2025-02-02 03:51:50 +01:00
182 lines
5.4 KiB
Bash
Executable file
182 lines
5.4 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
LANG=C
|
|
|
|
run()
|
|
{
|
|
"$@"
|
|
if test $? -ne 0; then
|
|
echo "Failed $@"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
rpmbuild_options=
|
|
|
|
. /vagrant/env.sh
|
|
|
|
distribution=$(cut -d " " -f 1 /etc/redhat-release | tr "A-Z" "a-z")
|
|
if grep -q Linux /etc/redhat-release; then
|
|
distribution_version=$(cut -d " " -f 4 /etc/redhat-release)
|
|
else
|
|
distribution_version=$(cut -d " " -f 3 /etc/redhat-release)
|
|
fi
|
|
distribution_version=$(echo ${distribution_version} | sed -e 's/\..*$//g')
|
|
|
|
architecture="$(arch)"
|
|
case "${architecture}" in
|
|
i*86)
|
|
architecture=i386
|
|
;;
|
|
esac
|
|
|
|
run yum groupinstall -y "Development Tools"
|
|
run yum install -y rpm-build rpmdevtools tar wget
|
|
|
|
if [ -x /usr/bin/rpmdev-setuptree ]; then
|
|
rm -rf .rpmmacros
|
|
run rpmdev-setuptree
|
|
else
|
|
run cat <<EOM > ~/.rpmmacros
|
|
%_topdir ${HOME}/rpmbuild
|
|
EOM
|
|
run mkdir -p ~/rpmbuild/SOURCES
|
|
run mkdir -p ~/rpmbuild/SPECS
|
|
run mkdir -p ~/rpmbuild/BUILD
|
|
run mkdir -p ~/rpmbuild/RPMS
|
|
run mkdir -p ~/rpmbuild/SRPMS
|
|
fi
|
|
|
|
repository="/vagrant/repositories/${distribution}/${distribution_version}"
|
|
rpm_dir="${repository}/${architecture}/Packages"
|
|
srpm_dir="${repository}/source/SRPMS"
|
|
run mkdir -p "${rpm_dir}" "${srpm_dir}"
|
|
|
|
rpmbuild_options=""
|
|
|
|
# for debug
|
|
# rpmbuild_options="${rpmbuild_options} --define 'optflags -O0 -g3'"
|
|
|
|
cd
|
|
|
|
run cp /vagrant/tmp/${PACKAGE}-${VERSION}.* rpmbuild/SOURCES/
|
|
run cp /vagrant/tmp/${distribution}/*.spec rpmbuild/SPECS/
|
|
|
|
package_name=$(cd rpmbuild/SPECS; echo *.spec | sed -e 's/\.spec$//g')
|
|
|
|
case ${distribution} in
|
|
fedora)
|
|
USE_MYSQLSERVICES_COMPAT=yes
|
|
run yum install -y mariadb-devel
|
|
;;
|
|
centos)
|
|
release_rpm=groonga-release-1.3.0-1.noarch.rpm
|
|
if [ ${distribution_version} = 5 ]; then
|
|
wget http://packages.groonga.org/${distribution}/${release_rpm}
|
|
run yum install -y --nogpgcheck ${release_rpm}
|
|
rm -f ${release_rpm}
|
|
else
|
|
run yum install -y \
|
|
http://packages.groonga.org/${distribution}/${release_rpm}
|
|
fi
|
|
run yum makecache
|
|
|
|
case ${package_name} in
|
|
mysql55-${PACKAGE})
|
|
USE_MYSQLSERVICES_COMPAT=yes
|
|
run yum install -y scl-utils-build
|
|
if [ ${distribution_version} = 6 ]; then
|
|
run yum install -y centos-release-scl
|
|
fi
|
|
run yum install -y mysql55-mysql-devel mysql55-build
|
|
;;
|
|
mysql5?-community-${PACKAGE})
|
|
release_rpm=mysql-community-release-el${distribution_version}-7.noarch.rpm
|
|
run yum -y install http://repo.mysql.com/${release_rpm}
|
|
if [ "${package_name}" = "mysql57-community-${PACKAGE}" ]; then
|
|
run yum install -y yum-utils
|
|
run yum-config-manager --disable mysql56-community
|
|
run yum-config-manager --enable mysql57-community
|
|
if [ ${distribution_version} = 6 ]; then
|
|
run yum install -y cmake28
|
|
fi
|
|
fi
|
|
run yum install -y mysql-community-devel
|
|
;;
|
|
mariadb-${PACKAGE})
|
|
run yum install -y mariadb-devel
|
|
;;
|
|
mariadb-10.1-${PACKAGE})
|
|
if [ "${architecture}" = "x86_64" ]; then
|
|
mariadb_architecture="amd64"
|
|
else
|
|
mariadb_architecture="x86"
|
|
fi
|
|
cat <<REPO > /etc/yum.repos.d/MariaDB.repo
|
|
[mariadb]
|
|
name = MariaDB
|
|
baseurl = http://yum.mariadb.org/10.1/${distribution}${distribution_version}-${mariadb_architecture}
|
|
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
|
|
gpgcheck=1
|
|
REPO
|
|
run yum install -y MariaDB-devel
|
|
if [ ${distribution_version} = 6 ]; then
|
|
run yum install -y cmake28
|
|
fi
|
|
;;
|
|
mariadb-10.2-${PACKAGE})
|
|
if [ "${architecture}" = "x86_64" ]; then
|
|
mariadb_architecture="amd64"
|
|
else
|
|
mariadb_architecture="x86"
|
|
fi
|
|
cat <<REPO > /etc/yum.repos.d/MariaDB.repo
|
|
[mariadb]
|
|
name = MariaDB
|
|
baseurl = http://yum.mariadb.org/10.2/${distribution}${distribution_version}-${mariadb_architecture}
|
|
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
|
|
gpgcheck=1
|
|
REPO
|
|
run yum install -y MariaDB-devel
|
|
if [ ${distribution_version} = 6 ]; then
|
|
run yum install -y cmake28
|
|
fi
|
|
;;
|
|
percona-server-56-${PACKAGE})
|
|
release_rpm_version=0.1-4
|
|
release_rpm=percona-release-${release_rpm_version}.noarch.rpm
|
|
run yum install -y http://www.percona.com/downloads/percona-release/redhat/${release_rpm_version}/${release_rpm}
|
|
run yum install -y Percona-Server-devel-56
|
|
;;
|
|
percona-server-57-${PACKAGE})
|
|
release_rpm_version=0.1-4
|
|
release_rpm=percona-release-${release_rpm_version}.noarch.rpm
|
|
run yum install -y http://www.percona.com/downloads/percona-release/redhat/${release_rpm_version}/${release_rpm}
|
|
run yum install -y Percona-Server-devel-57
|
|
if [ ${distribution_version} = 6 ]; then
|
|
run yum install -y cmake28
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
run yum install -y ${DEPENDED_PACKAGES}
|
|
|
|
if [ "${package_name}" = "percona-server-56-${PACKAGE}" ]; then
|
|
if [ "${distribution_version}" = "7" ]; then
|
|
rpmbuild_options="$rpmbuild_options --define 'dist .el7'"
|
|
fi
|
|
fi
|
|
if [ "${package_name}" = "percona-server-57-${PACKAGE}" ]; then
|
|
if [ "${distribution_version}" = "7" ]; then
|
|
rpmbuild_options="$rpmbuild_options --define 'dist .el7'"
|
|
fi
|
|
fi
|
|
if [ "${USE_MYSQLSERVICES_COMPAT}" = "yes" ]; then
|
|
rpmbuild_options="$rpmbuild_options --define 'mroonga_configure_options --with-libmysqlservices-compat'"
|
|
fi
|
|
|
|
run eval rpmbuild -ba ${rpmbuild_options} rpmbuild/SPECS/${package_name}.spec
|
|
|
|
run mv rpmbuild/RPMS/*/* "${rpm_dir}/"
|
|
run mv rpmbuild/SRPMS/* "${srpm_dir}/"
|