[Groonga-mysql-commit] mroonga/mroonga [master] [yum][centos] use system MySQL for CentOS 6.

Back to archive index

null+****@clear***** null+****@clear*****
2011年 9月 28日 (水) 17:13:48 JST


Kouhei Sutou	2011-09-28 08:13:48 +0000 (Wed, 28 Sep 2011)

  New Revision: 2058c1c595bc054ed62d3f8c6804e5d0c51250c3

  Log:
    [yum][centos] use system MySQL for CentOS 6.

  Modified files:
    rpm/centos/mysql-groonga.spec.in
    yum/build-in-chroot.sh
    yum/build-rpm.sh

  Modified: rpm/centos/mysql-groonga.spec.in (+36 -5)
===================================================================
--- rpm/centos/mysql-groonga.spec.in    2011-09-28 06:56:32 +0000 (091de6f)
+++ rpm/centos/mysql-groonga.spec.in    2011-09-28 08:13:48 +0000 (587b8a5)
@@ -1,6 +1,16 @@
+%{!?use_system_mysql:%define use_system_mysql 0}
+
+%if %{use_system_mysql}
+%define mysql_version 5.1.52
+%define mysql_release 1
+%define mysql_dist    el6_0.1
+%define mysql_download_base_url http://ftp.iij.ad.jp/pub/linux/centos/6/updates/SRPMS
+%else
 %define mysql_version 5.5.16
 %define mysql_release 1
 %define mysql_dist    rhel5
+%define mysql_download_base_url http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5
+%endif
 
 %define groonga_required_version 1.2.6
 
@@ -18,25 +28,37 @@ BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n)
 BuildRequires:	groonga-devel >= %{groonga_required_version}
 BuildRequires:	wget
 Requires:	groonga-libs >= %{groonga_required_version}
+%if %{use_system_mysql}
+Requires:	mysql-server
+Requires:	mysql
+%else
 Requires:	MySQL-server = %{mysql_version}-%{mysql_release}
 Requires:	MySQL-client = %{mysql_version}-%{mysql_release}
+%endif
 
 %description
 Groonga storage engine is a MySQL storage plugin.
 
 %prep
 %setup -q -n groonga-storage-engine-%{version}
+
 mysql_full_version=%{mysql_version}-%{mysql_release}.%{mysql_dist}
+%if %{use_system_mysql}
+srpm=mysql-${mysql_full_version}.src.rpm
+if [ ! -f ../../SRPMS/$srpm ]; then
+    wget -O ../../SRPMS/$srpm %{mysql_download_base_url}/$srpm
+    rpm -Uvh ../../SRPMS/$srpm
+fi
+%else
 srpm=MySQL-${mysql_full_version}.src.rpm
 if [ ! -f ../../SRPMS/$srpm ]; then
-    mysql_download_base=http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5
-    wget -O ../../SRPMS/$srpm $mysql_download_base/$srpm
+    wget -O ../../SRPMS/$srpm %{mysql_download_base_url}/$srpm
     rpm -Uvh ../../SRPMS/$srpm
     for package in client devel embedded server shared test; do
         rpm=MySQL-${package}-${mysql_full_version}.%{_arch}.rpm
 	mkdir -p ../../RPMS/%{_arch}
 	if [ ! -f ../../RPMS/%{_arch}/$rpm ]; then
-            wget -O ../../RPMS/%{_arch}/$rpm $mysql_download_base/$rpm
+            wget -O ../../RPMS/%{_arch}/$rpm $mysql_download_base_url/$rpm
 	fi
     done
 fi
@@ -46,13 +68,22 @@ if ! rpm -q MySQL-devel 2>&1 | grep $mysql_full_version > /dev/null; then
 	echo "install MySQL-devel by hand: sudo rpm -Uvh $(pwd)/$rpm" && \
 	exit 1
 fi
+%endif
 
 %build
-mysql_source=../mysql-%{mysql_version}/mysql-%{mysql_version}
+%if %{use_system_mysql}
+    mysql_source=../mysql-%{mysql_version}
+    spec_base="mysql.spec"
+%else
+    mysql_source=../mysql-%{mysql_version}/mysql-%{mysql_version}
+    spec_base="mysql.%{mysql_version}.spec"
+%endif
 if [ ! -d ${mysql_source} ]; then
+    specs_dir=
     MYSQL_RPMBUILD_TEST=no rpmbuild -bp \
+	--define 'runselftest 0' \
         --define 'optflags -O0' \
-	../../SPECS/mysql.%{mysql_version}.spec
+	../../SPECS/${spec_base}
 fi
 %configure --with-mysql-source=${mysql_source}
 make %{?_smp_mflags}

  Modified: yum/build-in-chroot.sh (+1 -1)
===================================================================
--- yum/build-in-chroot.sh    2011-09-28 06:56:32 +0000 (8d8f5d4)
+++ yum/build-in-chroot.sh    2011-09-28 08:13:48 +0000 (948e88e)
@@ -113,7 +113,7 @@ build()
     run mkdir -p $source_pool_dir
     run cp -p $rpm_dir/*-${VERSION}* $binary_pool_dir
     run cp -p $srpm_dir/*-${VERSION}* $source_pool_dir
-    if [ $distribution = "centos" ]; then
+    if [ $distribution = "centos" -a $distribution_version -eq 5 ]; then
 	run cp -p $rpm_dir/MySQL-* $binary_pool_dir
 	run cp -p $srpm_dir/MySQL-* $source_pool_dir
     fi

  Modified: yum/build-rpm.sh (+22 -3)
===================================================================
--- yum/build-rpm.sh    2011-09-28 06:56:32 +0000 (26171f3)
+++ yum/build-rpm.sh    2011-09-28 08:13:48 +0000 (cd52237)
@@ -18,7 +18,17 @@ run()
 }
 
 distribution=$(cut -d ' ' -f 1 /etc/redhat-release | tr 'A-Z' 'a-z')
-distribution_version=$(cut -d ' ' -f 3 /etc/redhat-release)
+case $distribution in
+    fedora)
+	distribution_version=$(cut -d ' ' -f 3 /etc/redhat-release)
+	;;
+    centos)
+	distribution_version=$(cut -d ' ' -f 4 /etc/redhat-release)
+	;;
+esac
+
+rpmbuild_options=""
+
 if ! rpm -q ${distribution}-release > /dev/null 2>&1; then
     packages_dir=/var/cache/yum/core/packages
     release_rpm=${distribution}-release-${distribution_version}-*.rpm
@@ -36,6 +46,13 @@ case $distribution in
 	DEPENDED_PACKAGES="$DEPENDED_PACKAGES cmake libaio-devel systemtap-sdt-devel"
 	;;
     centos)
+	case $distribution_version in
+	    6.*)
+		DEPENDED_PACKAGES="$DEPENDED_PACKAGES mysql-devel"
+		DEPENDED_PACKAGES="$DEPENDED_PACKAGES perl-Time-HiRes"
+		rpmbuild_options="$rpmbuild_options --define 'use_system_mysql 1'"
+		;;
+	esac
 	;;
 esac
 
@@ -47,6 +64,9 @@ if ! id $USER_NAME >/dev/null 2>&1; then
     run useradd -m $USER_NAME
 fi
 
+# for debug
+# rpmbuild_options="$rpmbuild_options --define 'optflags -O0 -ggdb3'"
+
 cat <<EOF > $BUILD_SCRIPT
 #!/bin/sh
 
@@ -68,8 +88,7 @@ cp /tmp/${PACKAGE}.spec rpm/SPECS/
 
 chmod o+rx . rpm rpm/RPMS rpm/SRPMS
 
-# rpmbuild -ba --define 'optflags -O0 -ggdb3' rpm/SPECS/${PACKAGE}.spec
-rpmbuild -ba rpm/SPECS/${PACKAGE}.spec
+rpmbuild -ba $rpmbuild_options rpm/SPECS/${PACKAGE}.spec
 EOF
 
 run chmod +x $BUILD_SCRIPT




Groonga-mysql-commit メーリングリストの案内
Back to archive index