mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			157 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| #
 | |
| # Copyright(C) 2012-2017 Kouhei Sutou <kou@clear-code.com>
 | |
| #
 | |
| # This library is free software; you can redistribute it and/or
 | |
| # modify it under the terms of the GNU Lesser General Public
 | |
| # License as published by the Free Software Foundation; either
 | |
| # version 2.1 of the License, or (at your option) any later version.
 | |
| #
 | |
| # This library is distributed in the hope that it will be useful,
 | |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
| # Lesser General Public License for more details.
 | |
| #
 | |
| # You should have received a copy of the GNU Lesser General Public
 | |
| # License along with this library; if not, write to the Free Software
 | |
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 | |
| 
 | |
| set -x
 | |
| set -e
 | |
| 
 | |
| # export GROONGA_MASTER=yes
 | |
| # export GROONGA_NORMALIZER_MYSQL_MASTER=yes
 | |
| 
 | |
| #mariadb_download_base=http://mirror.jmu.edu/pub/mariadb
 | |
| mariadb_download_base=http://ftp.osuosl.org/pub/mariadb
 | |
| 
 | |
| version=$(echo "$MYSQL_VERSION" | sed -r -e 's/^(mysql|mariadb|percona-server)-//')
 | |
| series=$(echo "$version" | sed -r -e 's/^([0-9]+\.[0-9]+).*$/\1/g')
 | |
| 
 | |
| setup_mariadb_apt()
 | |
| {
 | |
|   distribution=$(lsb_release --short --id | tr 'A-Z' 'a-z')
 | |
|   code_name=$(lsb_release --short --codename)
 | |
|   component=main
 | |
|   apt_url_base="${mariadb_download_base}/repo/${series}"
 | |
|   cat <<EOF | sudo tee /etc/apt/sources.list.d/mariadb.list
 | |
| deb ${apt_url_base}/${distribution}/ ${code_name} ${component}
 | |
| deb-src ${apt_url_base}/${distribution}/ ${code_name} ${component}
 | |
| EOF
 | |
|   sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
 | |
|   sudo apt-get -qq update
 | |
| }
 | |
| 
 | |
| setup_percona_apt()
 | |
| {
 | |
|   code_name=$(lsb_release --short --codename)
 | |
|   release_deb_version=0.1-4
 | |
|   release_deb=percona-release_${release_deb_version}.${code_name}_all.deb
 | |
|   wget http://www.percona.com/downloads/percona-release/ubuntu/${release_deb_version}/${release_deb}
 | |
|   sudo dpkg -i ${release_deb}
 | |
|   sudo apt-get -qq update
 | |
| }
 | |
| 
 | |
| if [ "${MROONGA_BUNDLED}" = "yes" ]; then
 | |
|   mkdir -p .mroonga
 | |
|   mv * .mroonga/
 | |
|   mv .mroonga/tools ./
 | |
|   setup_mariadb_apt
 | |
|   sudo apt-get -qq -y build-dep mariadb-server
 | |
|   # Support MariaDB for now.
 | |
|   download_base=${mariadb_download_base}/${MYSQL_VERSION}
 | |
|   tar_gz=${MYSQL_VERSION}.tar.gz
 | |
|   curl -O ${download_base}/source/${tar_gz}
 | |
|   tar xzf $tar_gz
 | |
|   mv ${MYSQL_VERSION}/* ./
 | |
|   rm -rf storage/mroonga
 | |
|   mv .mroonga storage/mroonga
 | |
|   rm -rf ${MYSQL_VERSION}
 | |
|   git clone --recursive --depth 1 \
 | |
|       https://github.com/groonga/groonga.git \
 | |
|       storage/mroonga/vendor/groonga
 | |
|   git clone --recursive --depth 1 \
 | |
|       https://github.com/groonga/groonga-normalizer-mysql.git \
 | |
|       storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql
 | |
| else
 | |
|   curl --silent --location \
 | |
|        https://raw.githubusercontent.com/groonga/groonga/master/data/travis/setup.sh | sh
 | |
|   curl --silent --location \
 | |
|        https://raw.githubusercontent.com/groonga/groonga-normalizer-mysql/master/data/travis/setup.sh | sh
 | |
|   # curl --silent --location \
 | |
|   #      https://raw.githubusercontent.com/clear-code/cutter/master/data/travis/setup.sh | sh
 | |
| 
 | |
|   if [ ! -f /usr/lib/groonga/plugins/tokenizers/mecab.so ]; then
 | |
|     sudo apt-get -qq -y install groonga-tokenizer-mecab
 | |
|   fi
 | |
| 
 | |
|   mkdir -p vendor
 | |
|   cd vendor
 | |
| 
 | |
|   case "$MYSQL_VERSION" in
 | |
|     mysql-*)
 | |
|       sudo apt-get -qq update
 | |
|       sudo apt-get -qq -y build-dep mysql-server
 | |
|       if [ "$version" = "system" ]; then
 | |
|         sudo apt-get -y remove --purge \
 | |
|              mysql-server-5.6 \
 | |
|              mysql-server-core-5.6 \
 | |
|              mysql-client-5.6 \
 | |
|              mysql-client-core-5.6
 | |
|         sudo rm -rf /var/lib/mysql
 | |
|         sudo apt-get -y install \
 | |
|              mysql-server \
 | |
|              mysql-client \
 | |
|              mysql-testsuite \
 | |
|              libmysqld-dev
 | |
|         apt-get source mysql-server
 | |
|         ln -s $(find . -maxdepth 1 -type d | sort | tail -1) mysql
 | |
|       else
 | |
|         repository_deb=mysql-apt-config_0.8.3-1_all.deb
 | |
|         curl -O http://repo.mysql.com/${repository_deb}
 | |
|         sudo env MYSQL_SERVER_VERSION=mysql-${series} \
 | |
|              dpkg -i ${repository_deb}
 | |
|         sudo apt-get -qq update
 | |
|         sudo apt-get -qq -y remove --purge mysql-common
 | |
|         sudo apt-get -qq -y build-dep mysql-server
 | |
|         sudo apt-get -qq -y install \
 | |
|              mysql-server \
 | |
|              libmysqlclient-dev \
 | |
|              libmysqld-dev \
 | |
|              mysql-testsuite
 | |
|         apt-get -qq source mysql-server
 | |
|         ln -s $(find . -maxdepth 1 -type d | sort | tail -1) mysql
 | |
|       fi
 | |
|       ;;
 | |
|     mariadb-*)
 | |
|       sudo apt-get -y remove --purge \
 | |
|            mysql-server-5.6 \
 | |
|            mysql-server-core-5.6 \
 | |
|            mysql-client-5.6 \
 | |
|            mysql-client-core-5.6 \
 | |
|            mysql-common
 | |
|       sudo rm -rf /var/lib/mysql
 | |
|       setup_mariadb_apt
 | |
|       sudo apt-get -qq -y build-dep mariadb-server
 | |
|       sudo apt-get -y install \
 | |
|            mariadb-server \
 | |
|            mariadb-client \
 | |
|            mariadb-test \
 | |
|            libmariadbclient-dev
 | |
|       apt-get source mariadb-server
 | |
|       ln -s $(find . -maxdepth 1 -type d | sort | tail -1) mysql
 | |
|       ;;
 | |
|     percona-server-*)
 | |
|       setup_percona_apt
 | |
|       sudo apt-get -qq -y build-dep percona-server-server-${series}
 | |
|       sudo apt-get -qq -y install \
 | |
|            percona-server-server-${series} \
 | |
|            percona-server-client-${series} \
 | |
|            percona-server-test-${series}
 | |
|       apt-get -qq source percona-server-server-${series}
 | |
|       ln -s $(find . -maxdepth 1 -type d | sort | tail -1) mysql
 | |
|       ;;
 | |
|   esac
 | |
| 
 | |
|   cd ..
 | |
| fi
 | 
