[Groonga-mysql-commit] mroonga/mroonga [master] apt: merge build system from groonga

Back to archive index

null+****@clear***** null+****@clear*****
2012年 5月 29日 (火) 14:34:05 JST


Kouhei Sutou	2012-05-29 14:34:05 +0900 (Tue, 29 May 2012)

  New Revision: cb31c062a6be164855f99a1095981db6c204be68

  Log:
    apt: merge build system from groonga

  Modified files:
    packages/apt/Makefile.am
    packages/apt/build-deb.sh
    packages/apt/build-in-chroot.sh

  Modified: packages/apt/Makefile.am (+2 -2)
===================================================================
--- packages/apt/Makefile.am    2012-05-29 14:26:20 +0900 (275c834)
+++ packages/apt/Makefile.am    2012-05-29 14:34:05 +0900 (a7d13c3)
@@ -46,8 +46,8 @@ upload: ensure-rsync-path
 
 build: source
 	./build-in-chroot.sh \
-	  $(PACKAGE) $(VERSION) $(REPOSITORIES_PATH)/ $(CHROOT_BASE) \
-	  '$(ARCHITECTURES)' '$(CODES)'
+	  $(PACKAGE) $(VERSION) $(srcdir)/.. $(REPOSITORIES_PATH)/ \
+	  $(CHROOT_BASE) '$(ARCHITECTURES)' '$(CODES)'
 
 source: ../$(PACKAGE)-$(VERSION).tar.gz
 

  Modified: packages/apt/build-deb.sh (+20 -3)
===================================================================
--- packages/apt/build-deb.sh    2012-05-29 14:26:20 +0900 (b559af9)
+++ packages/apt/build-deb.sh    2012-05-29 14:34:05 +0900 (3bc62bb)
@@ -26,12 +26,13 @@ run apt-get update -V
 run apt-get install -V -y --allow-unauthenticated groonga-keyring
 run apt-get upgrade -V -y
 
+distribution=$(lsb_release --id --short)
+code_name=$(lsb_release --codename --short)
+
 security_list=/etc/apt/sources.list.d/security.list
-if [ ! -d "${security_list}" ]; then
+if [ ! -f "${security_list}" ]; then
     run apt-get install -V -y lsb-release
 
-    distribution=$(lsb_release --id --short)
-    code_name=$(lsb_release --codename --short)
     case ${distribution} in
 	Debian)
 	    if [ "${code_name}" = "sid" ]; then
@@ -55,6 +56,22 @@ EOF
     run apt-get upgrade -V -y
 fi
 
+groonga_list=/etc/apt/sources.list.d/groonga.list
+if [ ! -f "${groonga_list}" ]; then
+    case ${distribution} in
+	Debian)
+	    component=main
+	    ;;
+	Ubuntu)
+	    component=universe
+	    ;;
+    esac
+    run cat <<EOF | run_sudo tee ${groonga_list}
+deb http://packages.groonga.org/${distribution}/ ${code_name} ${component}
+deb-src http://packages.groonga.org/${distribution}/ ${code_name} ${component}
+EOF
+fi
+
 run apt-get install -V -y devscripts ${DEPENDED_PACKAGES}
 run apt-get build-dep -V -y ${mysql_server_package}
 run apt-get clean

  Modified: packages/apt/build-in-chroot.sh (+11 -20)
===================================================================
--- packages/apt/build-in-chroot.sh    2012-05-29 14:26:20 +0900 (df55c5f)
+++ packages/apt/build-in-chroot.sh    2012-05-29 14:34:05 +0900 (ba8fb00)
@@ -1,16 +1,18 @@
 #!/bin/sh
 
-if [ $# != 5 ]; then
-    echo "Usage: $0 PACKAGE VERSION CHROOT_BASE ARCHITECTURES CODES"
-    echo " e.g.: $0 groonga 0.1.9 /var/lib/chroot 'i386 amd64' 'lenny unstable hardy karmic'"
+if [ $# != 7 ]; then
+    echo "Usage: $0 PACKAGE VERSION SOURCE_DIR DESTINATION CHROOT_BASE ARCHITECTURES CODES"
+    echo " e.g.: $0 groonga 0.1.9 SOURCE_DIR repositories/ /var/lib/chroot 'i386 amd64' 'lenny unstable hardy karmic'"
     exit 1
 fi
 
 PACKAGE=$1
 VERSION=$2
-CHROOT_BASE=$3
-ARCHITECTURES=$4
-CODES=$5
+SOURCE_DIR=$3
+DESTINATION=$4
+CHROOT_BASE=$5
+ARCHITECTURES=$6
+CODES=$7
 
 PATH=/usr/local/sbin:/usr/sbin:$PATH
 
@@ -88,11 +90,11 @@ build()
 	    ;;
     esac
 
-    source_dir=${script_base_dir}/..
+    source_dir=${SOURCE_DIR}
     build_user=${PACKAGE}-build
     build_user_dir=${base_dir}/home/$build_user
     build_dir=${build_user_dir}/build
-    pool_base_dir=${script_base_dir}/${distribution}/pool/${code_name}/${component}
+    pool_base_dir=${DESTINATION}${distribution}/pool/${code_name}/${component}
     package_initial=$(echo ${PACKAGE} | sed -e 's/\(.\).*/\1/')
     pool_dir=${pool_base_dir}/${package_initial}/${PACKAGE}
     run cp $source_dir/${PACKAGE}-${VERSION}.tar.gz \
@@ -107,17 +109,6 @@ build()
 	${CHROOT_BASE}/$target/tmp/depended-packages
     run cp ${script_base_dir}/build-deb.sh \
 	${CHROOT_BASE}/$target/tmp/
-    sources_list_d=${CHROOT_BASE}/${target}/etc/apt/sources.list.d
-    run cat <<EOF | run_sudo tee ${sources_list_d}/groonga.list
-deb http://packages.groonga.org/${distribution}/ ${code_name} ${component}
-deb-src http://packages.groonga.org/${distribution}/ ${code_name} ${component}
-EOF
-    if [ "${code_name}" = "lenny" ]; then
-	run cat <<EOF | run_sudo tee ${sources_list_d}/backports.list
-deb http://backports.debian.org/debian-backports lenny-backports main
-deb-src http://backports.debian.org/debian-backports lenny-backports main
-EOF
-    fi
     run_sudo rm -rf $build_dir
     run_sudo su -c "/usr/sbin/chroot ${CHROOT_BASE}/$target /tmp/build-deb.sh"
     run mkdir -p $pool_dir
@@ -133,7 +124,7 @@ for architecture in $ARCHITECTURES; do
 	else
 	    build $architecture $code_name
 	fi;
-    done
+    done;
 done
 
 if test "$parallel" = "yes"; then




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