Kouhei Sutou
null+****@clear*****
Mon Aug 13 17:06:58 JST 2012
Kouhei Sutou 2012-08-13 17:06:58 +0900 (Mon, 13 Aug 2012) New Revision: 57e44f83b75e96f84bfd2a6273c3996e5fdf561e https://github.com/groonga/gcs/commit/57e44f83b75e96f84bfd2a6273c3996e5fdf561e Log: apt: add .deb build scripts #80 TODO: register gcs as a service Added files: packages/apt/Makefile packages/apt/build-deb.sh packages/apt/build-in-chroot.sh packages/apt/gcs-depended-packages packages/apt/sign-packages.sh packages/apt/sign-repository.sh packages/apt/update-repository.sh packages/debian/changelog packages/debian/compat packages/debian/control packages/debian/copyright packages/debian/gcs.install packages/debian/patches/series packages/debian/rules Modified files: .gitignore Modified: .gitignore (+4 -1) =================================================================== --- .gitignore 2012-08-13 15:41:55 +0900 (b0c250b) +++ .gitignore 2012-08-13 17:06:58 +0900 (214938b) @@ -1,5 +1,8 @@ -/node_modules +/node_modules/ /test/tmp +/packages/*.tar.gz /packages/all-in-one/tmp/ /packages/all-in-one/*.tar.gz /packages/yum/repositories/ +/packages/apt/repositories/ +/packages/apt/tmp/ Added: packages/apt/Makefile (+71 -0) 100644 =================================================================== --- /dev/null +++ packages/apt/Makefile 2012-08-13 17:06:58 +0900 (50c244d) @@ -0,0 +1,71 @@ +REPOSITORIES_PATH = repositories +DISTRIBUTIONS = debian ubuntu +CHROOT_BASE = /var/lib/chroot +ARCHITECTURES = i386 amd64 +CODES = squeeze wheezy unstable lucid oneiric precise + +PACKAGE = gcs +VERSION = $(shell ruby -rjson -e 'print JSON.parse(ARGF.read)["version"]' ../../package.json) +RSYNC_PATH = packages �� packages.groonga.org:public +GPG_UID = 45499429 + +srcdir = . + +all: + +release: download build sign-packages update-repository sign-repository upload + +download: + for distribution in $(DISTRIBUTIONS); do \ + rsync -avz --progress --delete \ + $(RSYNC_PATH)/$${distribution} \ + ${REPOSITORIES_PATH}/; \ + done + +sign-packages: ensure-public-key + ./sign-packages.sh '$(GPG_UID)' '$(REPOSITORIES_PATH)/' '$(CODES)' + +update-repository: + ./update-repository.sh '$(PACKAGE_NAME)' '$(REPOSITORIES_PATH)/' \ + '$(ARCHITECTURES)' '$(CODES)' + +sign-repository: ensure-public-key + ./sign-repository.sh '$(GPG_UID)' '$(REPOSITORIES_PATH)/' '$(CODES)' + +upload: + for distribution in $(DISTRIBUTIONS); do \ + (cd $(REPOSITORIES_PATH)/$${distribution}; \ + rsync -avz --progress --delete \ + dists pool $(RSYNC_PATH)/$${distribution}); \ + done + +build: build-package-deb + +build-package-deb: source + ./build-in-chroot.sh \ + $(PACKAGE) $(VERSION) $(srcdir)/.. $(REPOSITORIES_PATH)/ \ + $(CHROOT_BASE) '$(ARCHITECTURES)' '$(CODES)' + +source: ../$(PACKAGE)-$(VERSION).tar.gz + +../$(PACKAGE)-$(VERSION).tar.gz: + rm -rf $(PACKAGE)-$(VERSION) + mkdir -p $(PACKAGE)-$(VERSION) + cp -a ../../.npmignore $(PACKAGE)-$(VERSION) + cp -a ../../MIT-LICENSE $(PACKAGE)-$(VERSION) + cp -a ../../README.md $(PACKAGE)-$(VERSION) + cp -a ../../bin/ $(PACKAGE)-$(VERSION) + cp -a ../../client_templates/ $(PACKAGE)-$(VERSION) + cp -a ../../examples/ $(PACKAGE)-$(VERSION) + cp -a ../../lib/ $(PACKAGE)-$(VERSION) + cp -a ../../npm-shrinkwrap.json $(PACKAGE)-$(VERSION) + cp -a ../../package.json $(PACKAGE)-$(VERSION) + cp -a ../../test/ $(PACKAGE)-$(VERSION) + cp -a ../../tools/ $(PACKAGE)-$(VERSION) + cp -a ../../views/ $(PACKAGE)-$(VERSION) + tar cvzf ../$(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) + rm -rf $(PACKAGE)-$(VERSION) + +ensure-public-key: + gpg --list-keys '$(GPG_UID)' > /dev/null || \ + gpg --keyserver keyserver.ubuntu.com --recv-key '$(GPG_UID)' Added: packages/apt/build-deb.sh (+113 -0) 100755 =================================================================== --- /dev/null +++ packages/apt/build-deb.sh 2012-08-13 17:06:58 +0900 (40dabd0) @@ -0,0 +1,113 @@ +#!/bin/sh + +LANG=C + +PACKAGE=$(cat /tmp/build-package) +USER_NAME=$(cat /tmp/build-user) +VERSION=$(cat /tmp/build-version) +DEPENDED_PACKAGES=$(cat /tmp/depended-packages) +BUILD_SCRIPT=/tmp/build-deb-in-chroot.sh + +run() +{ + "$@" + if test $? -ne 0; then + echo "Failed $@" + exit 1 + fi +} + +if [ ! -x /usr/bin/lsb_release ]; then + run apt-get update + run apt-get install -y lsb-release +fi + +distribution=$(lsb_release --id --short) +code_name=$(lsb_release --codename --short) + +security_list=/etc/apt/sources.list.d/security.list +if [ ! -f "${security_list}" ]; then + case ${distribution} in + Debian) + if [ "${code_name}" = "sid" ]; then + touch "${security_list}" + else + cat <<EOF > "${security_list}" +deb http://security.debian.org/ ${code_name}/updates main +deb-src http://security.debian.org/ ${code_name}/updates main +EOF + fi + ;; + Ubuntu) + cat <<EOF > "${security_list}" +deb http://security.ubuntu.com/ubuntu ${code_name}-security main restricted +deb-src http://security.ubuntu.com/ubuntu ${code_name}-security main restricted +EOF + ;; + esac +fi + +sources_list=/etc/apt/sources.list +if [ "$distribution" = "Ubuntu" ] && \ + ! (grep '^deb' $sources_list | grep -q universe); then + run sed -i'' -e 's/main$/main universe/g' $sources_list +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 + downcased_distribtion=$(echo ${distribution} | tr A-Z a-z) + run cat <<EOF | run tee ${groonga_list} +deb http://packages.groonga.org/${downcased_distribtion}/ ${code_name} ${component} +deb-src http://packages.groonga.org/${downcased_distribtion}/ ${code_name} ${component} +EOF + apt-get update -V + run apt-get -V -y --allow-unauthenticated install groonga-keyring +fi + +if [ ! -x /usr/bin/aptitude ]; then + run apt-get update + run apt-get install -y aptitude +fi +run aptitude update -V -D +run aptitude safe-upgrade -V -D -y + +run aptitude install -V -D -y ruby + +eval $(dpkg-architecture) +if [ -n "${DEB_HOST_MULTIARCH}" ]; then + ruby -i'' -pe '$_.gsub!(/\/lib\//, "/lib/*/")' \ + /tmp/${PACKAGE}-debian/*.install +fi + +run aptitude install -V -D -y devscripts ${DEPENDED_PACKAGES} +run aptitude clean + +if ! id $USER_NAME >/dev/null 2>&1; then + run useradd -m $USER_NAME +fi + +cat <<EOF > $BUILD_SCRIPT +#!/bin/sh + +rm -rf build +mkdir -p build + +cp /tmp/${PACKAGE}-${VERSION}.tar.gz build/${PACKAGE}_${VERSION}.orig.tar.gz +cd build +tar xfz ${PACKAGE}_${VERSION}.orig.tar.gz +cd ${PACKAGE}-${VERSION}/ +cp -rp /tmp/${PACKAGE}-debian debian +# export DEB_BUILD_OPTIONS=noopt +debuild -us -uc +EOF + +run chmod +x $BUILD_SCRIPT +run su - $USER_NAME $BUILD_SCRIPT Added: packages/apt/build-in-chroot.sh (+134 -0) 100755 =================================================================== --- /dev/null +++ packages/apt/build-in-chroot.sh 2012-08-13 17:06:58 +0900 (095ef30) @@ -0,0 +1,134 @@ +#!/bin/sh + +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 +SOURCE_DIR=$3 +DESTINATION=$4 +CHROOT_BASE=$5 +ARCHITECTURES=$6 +CODES=$7 + +PATH=/usr/local/sbin:/usr/sbin:$PATH + +script_base_dir=`dirname $0` + +if test "$PARALLEL" = "yes"; then + parallel="yes" +else + parallel="no" +fi + +run() +{ + "$@" + if test $? -ne 0; then + echo "Failed $@" + exit 1 + fi +} + +run_sudo() +{ + run sudo "$@" +} + +build_chroot() +{ + architecture=$1 + code_name=$2 + + run_sudo debootstrap --arch $architecture $code_name $base_dir + + case $code_name in + lenny|squeeze|wheezy|unstable) + run_sudo sed -i'' -e 's/us/jp/' $base_dir/etc/apt/sources.list + ;; + *) + run_sudo sed -i'' \ + -e 's,http://archive,http://jp.archive,' \ + -e 's/main$/main universe/' \ + $base_dir/etc/apt/sources.list + ;; + esac + + run_sudo sh -c "echo >> /etc/fstab" + run_sudo sh -c "echo /sys ${base_dir}/sys none bind 0 0 >> /etc/fstab" + run_sudo sh -c "echo /dev ${base_dir}/dev none bind 0 0 >> /etc/fstab" + run_sudo sh -c "echo devpts-chroot ${base_dir}/dev/pts devpts defaults 0 0 >> /etc/fstab" + run_sudo sh -c "echo proc-chroot ${base_dir}/proc proc defaults 0 0 >> /etc/fstab" + run_sudo mount ${base_dir}/sys + run_sudo mount ${base_dir}/dev + run_sudo mount ${base_dir}/dev/pts + run_sudo mount ${base_dir}/proc +} + +build() +{ + architecture=$1 + code_name=$2 + + target=${code_name}-${architecture} + base_dir=${CHROOT_BASE}/${target} + if [ ! -d $base_dir ]; then + run build_chroot $architecture $code_name + fi + + case ${code_name} in + lenny|squeeze|wheezy|unstable) + distribution=debian + component=main + ;; + *) + distribution=ubuntu + component=universe + ;; + esac + + 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=${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 \ + ${CHROOT_BASE}/$target/tmp/ + run rm -rf ${CHROOT_BASE}/$target/tmp/${PACKAGE}-debian + run cp -rp $source_dir/debian/ \ + ${CHROOT_BASE}/$target/tmp/${PACKAGE}-debian + run echo $PACKAGE > ${CHROOT_BASE}/$target/tmp/build-package + run echo $VERSION > ${CHROOT_BASE}/$target/tmp/build-version + run echo $build_user > ${CHROOT_BASE}/$target/tmp/build-user + run cp ${script_base_dir}/${PACKAGE}-depended-packages \ + ${CHROOT_BASE}/$target/tmp/depended-packages + run cp ${script_base_dir}/build-deb.sh \ + ${CHROOT_BASE}/$target/tmp/ + 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 + for path in $build_dir/*; do + [ -f $path ] && run cp -p $path $pool_dir/ + done +} + +for architecture in $ARCHITECTURES; do + for code_name in $CODES; do + if test "$parallel" = "yes"; then + build $architecture $code_name & + else + mkdir -p tmp + build_log=tmp/build-$code_name-$architecture.log + build $architecture $code_name 2>&1 | tee $build_log + fi; + done; +done + +if test "$parallel" = "yes"; then + wait +fi Added: packages/apt/gcs-depended-packages (+3 -0) 100644 =================================================================== --- /dev/null +++ packages/apt/gcs-depended-packages 2012-08-13 17:06:58 +0900 (e812880) @@ -0,0 +1,3 @@ +libgroonga-dev +pkg-config +npm Added: packages/apt/sign-packages.sh (+42 -0) 100755 =================================================================== --- /dev/null +++ packages/apt/sign-packages.sh 2012-08-13 17:06:58 +0900 (6e865d6) @@ -0,0 +1,42 @@ +#!/bin/sh + +script_base_dir=`dirname $0` + +if [ $# != 3 ]; then + echo "Usage: $0 GPG_UID DESITINATION CODES" + echo " e.g.: $0 'F10399C0' repositories/ 'lenny unstable hardy karmic'" + exit 1 +fi + +GPG_UID=$1 +DESTINATION=$2 +CODES=$3 + +run() +{ + "$@" + if test $? -ne 0; then + echo "Failed $@" + exit 1 + fi +} + +for code_name in ${CODES}; do + case ${code_name} in + lenny|squeeze|wheezy|unstable) + distribution=debian + ;; + *) + distribution=ubuntu + ;; + esac + + base_directory=${DESTINATION}${distribution} + debsign -pgpg2 --re-sign -k${GPG_UID} \ + $(find ${base_directory} -name '*.dsc' -or -name '*.changes') & + if [ "${PARALLEL}" != "yes" ]; then + wait + fi +done + +wait Added: packages/apt/sign-repository.sh (+46 -0) 100755 =================================================================== --- /dev/null +++ packages/apt/sign-repository.sh 2012-08-13 17:06:58 +0900 (c36ff0b) @@ -0,0 +1,46 @@ +#!/bin/sh + +script_base_dir=`dirname $0` + +if [ $# != 3 ]; then + echo "Usage: $0 GPG_UID DESTINATION CODES" + echo " e.g.: $0 'F10399C0' repositories/ 'lenny unstable hardy karmic'" + exit 1 +fi + +GPG_UID=$1 +DESTINATION=$2 +CODES=$3 + +run() +{ + "$@" + if test $? -ne 0; then + echo "Failed $@" + exit 1 + fi +} + +for code_name in ${CODES}; do + case ${code_name} in + lenny|squeeze|wheezy|unstable) + distribution=debian + ;; + *) + distribution=ubuntu + ;; + esac + + release=${DESTINATION}${distribution}/dists/${code_name}/Release + rm -f ${release}.gpg + gpg2 --sign --detach-sign --armor \ + --local-user ${GPG_UID} \ + --output ${release}.gpg \ + ${release} & + + if [ "${PARALLEL}" != "yes" ]; then + wait + fi +done + +wait Added: packages/apt/update-repository.sh (+130 -0) 100755 =================================================================== --- /dev/null +++ packages/apt/update-repository.sh 2012-08-13 17:06:58 +0900 (65ebb9c) @@ -0,0 +1,130 @@ +#!/bin/sh + +script_base_dir=`dirname $0` + +if [ $# != 4 ]; then + echo "Usage: $0 PROJECT_NAME DESTINATION ARCHITECTURES CODES" + echo " e.g.: $0 mroonga repositories/ 'i386 amd64' 'lenny unstable hardy karmic'" + exit 1 +fi + +PROJECT_NAME=$1 +DESTINATION=$2 +ARCHITECTURES=$3 +CODES=$4 + +run() +{ + "$@" + if test $? -ne 0; then + echo "Failed $@" + exit 1 + fi +} + +update_repository() +{ + distribution=$1 + code_name=$2 + component=$3 + + rm -rf dists/${code_name} + mkdir -p dists/${code_name}/${component}/binary-i386/ + mkdir -p dists/${code_name}/${component}/binary-amd64/ + mkdir -p dists/${code_name}/${component}/source/ + + cat <<EOF > dists/.htaccess +Options +Indexes +EOF + + cat <<EOF > dists/${code_name}/${component}/binary-i386/Release +Archive: ${code_name} +Component: ${component} +Origin: The ${PROJECT_NAME} project +Label: The ${PROJECT_NAME} project +Architecture: i386 +EOF + + cat <<EOF > dists/${code_name}/${component}/binary-amd64/Release +Archive: ${code_name} +Component: ${component} +Origin: The ${PROJECT_NAME} project +Label: The ${PROJECT_NAME} project +Architecture: amd64 +EOF + + cat <<EOF > dists/${code_name}/${component}/source/Release +Archive: ${code_name} +Component: ${component} +Origin: The ${PROJECT_NAME} project +Label: The ${PROJECT_NAME} project +Architecture: source +EOF + + cat <<EOF > generate-${code_name}.conf +Dir::ArchiveDir "."; +Dir::CacheDir "."; +TreeDefault::Directory "pool/${code_name}/${component}"; +TreeDefault::SrcDirectory "pool/${code_name}/${component}"; +Default::Packages::Extensions ".deb"; +Default::Packages::Compress ". gzip bzip2"; +Default::Sources::Compress ". gzip bzip2"; +Default::Contents::Compress "gzip bzip2"; + +BinDirectory "dists/${code_name}/${component}/binary-i386" { + Packages "dists/${code_name}/${component}/binary-i386/Packages"; + Contents "dists/${code_name}/Contents-i386"; + SrcPackages "dists/${code_name}/${component}/source/Sources"; +}; + +BinDirectory "dists/${code_name}/${component}/binary-amd64" { + Packages "dists/${code_name}/${component}/binary-amd64/Packages"; + Contents "dists/${code_name}/Contents-amd64"; + SrcPackages "dists/${code_name}/${component}/source/Sources"; +}; + +Tree "dists/${code_name}" { + Sections "${component}"; + Architectures "i386 amd64 source"; +}; +EOF + apt-ftparchive generate generate-${code_name}.conf + chmod 644 dists/${code_name}/Contents-* + + rm -f dists/${code_name}/Release* + rm -f *.db + cat <<EOF > release-${code_name}.conf +APT::FTPArchive::Release::Origin "The ${PROJECT_NAME} project"; +APT::FTPArchive::Release::Label "The ${PROJECT_NAME} project"; +APT::FTPArchive::Release::Architectures "i386 amd64"; +APT::FTPArchive::Release::Codename "${code_name}"; +APT::FTPArchive::Release::Suite "${code_name}"; +APT::FTPArchive::Release::Components "${component}"; +APT::FTPArchive::Release::Description "${PACKAGE_NAME} packages"; +EOF + apt-ftparchive -c release-${code_name}.conf \ + release dists/${code_name} > /tmp/Release + mv /tmp/Release dists/${code_name} +} + +for code_name in ${CODES}; do + case ${code_name} in + lenny|squeeze|wheezy|unstable) + distribution=debian + component=main + ;; + *) + distribution=ubuntu + component=universe + ;; + esac + + mkdir -p ${DESTINATION}${distribution} + (cd ${DESTINATION}${distribution} + update_repository $distribution $code_name $component) & + if [ "${PARALLEL}" != "yes" ]; then + wait + fi +done + +wait Added: packages/debian/changelog (+5 -0) 100644 =================================================================== --- /dev/null +++ packages/debian/changelog 2012-08-13 17:06:58 +0900 (ed9f0c2) @@ -0,0 +1,5 @@ +gcs (1.2.0-1) unstable; urgency=low + + * New upstream release. + + -- Kouhei Sutou <kou �� clear-code.com> Wed, 29 Aug 2012 00:00:00 +0900 Added: packages/debian/compat (+1 -0) 100644 =================================================================== --- /dev/null +++ packages/debian/compat 2012-08-13 17:06:58 +0900 (7f8f011) @@ -0,0 +1 @@ +7 Added: packages/debian/control (+23 -0) 100644 =================================================================== --- /dev/null +++ packages/debian/control 2012-08-13 17:06:58 +0900 (40ee08b) @@ -0,0 +1,23 @@ +Source: gcs +Section: database +Priority: optional +Maintainer: Kouhei Sutou <kou �� clear-code.com> +Build-Depends: + debhelper (>= 7.0.50), + libgroonga-dev, + pkg-config, + npm +Standards-Version: 3.9.1 +Homepage: http://gcs.groonga.org/ + +Package: gcs +Section: database +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + libgroonga0, + npm +Description: Open Source Amazon CloudSearch on Your Computer + Groonga CloudSearch is an Amazon CloudSearch compatible open source + full text search server. Added: packages/debian/copyright (+387 -0) 100644 =================================================================== --- /dev/null +++ packages/debian/copyright 2012-08-13 17:06:58 +0900 (22e6168) @@ -0,0 +1,387 @@ +This work was packaged for Debian by: + + Kouhei Sutou <kou �� clear-code.com> on Mon, 13 Aug 2012 14:01:56 JST + +It was downloaded from: + + http://gcs.groonga.org/ + +Upstream Authors: + + Yoji SHIDARA <dara �� shidara.net> + YUKI "Piro" Hiroshi <shimoda �� clear-code.com> + Kouhei Sutou <kou �� clear-code.com> + +Files: * + +Copyright: + + Copyright (c) 2012 Groonga CloudSearch project + +License: + + (The MIT License) + + Copyright (c) 2012 Groonga CloudSearch project + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: node_modules/chai/* + +Copyright: + + Copyright (c) 2011-2012 Jake Luer <jake �� alogicalparadox.com> + +License: + + (The MIT License) + + Copyright (c) 2011-2012 Jake Luer <jake �� alogicalparadox.com> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +Files: node_modules/commander/* + +Copyright: + + Copyright (c) 2011 TJ Holowaychuk <tj �� vision-media.ca> + +License: + + (The MIT License) + + Copyright (c) 2011 TJ Holowaychuk <tj �� vision-media.ca> + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + 'Software'), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: node_modules/dateformat/* + +Copyright: + + Copyright (c) 2007-2009 Steven Levithan + +License: + + (The MIT License) + + Copyright (c) 2007-2009 Steven Levithan + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + 'Software'), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: node_modules/express/* + +Copyright: + + Copyright (c) 2009-2011 TJ Holowaychuk <tj �� vision-media.ca> + +License: + + (The MIT License) + + Copyright (c) 2009-2011 TJ Holowaychuk <tj �� vision-media.ca> + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + 'Software'), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: node_modules/jade/* + +Copyright: + + Copyright (c) 2009-2010 TJ Holowaychuk <tj �� vision-media.ca> + +License: + + (The MIT License) + + Copyright (c) 2009-2010 TJ Holowaychuk <tj �� vision-media.ca> + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + 'Software'), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: node_modules/jsdeferred/* + +Copyright: + + Copyright (c) 2007-2009 cho45 <cho45 �� lowreal.net> + +License: + + (The MIT License) + + Copyright (c) 2007-2009 cho45 <cho45 �� lowreal.net> + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + 'Software'), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: node_modules/mkdirp/* + +Copyright: + + Copyright (c) 2010 James Halliday <mail �� substack.net> + +License: + + (The MIT License) + + Copyright (c) 2010 James Halliday <mail �� substack.net> + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + 'Software'), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: node_modules/mocha/* + +Copyright: + + Copyright (c) 2011-2012 TJ Holowaychuk <tj �� vision-media.ca> + +License: + + (The MIT License) + + Copyright (c) 2011-2012 TJ Holowaychuk <tj �� vision-media.ca> + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + 'Software'), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: node_modules/nroonga/* + +Copyright: + + Copyright (c) 2011-2012 Yoji SHIDARA <dara �� shidara.net> + +License: + + (LGPLv2.1 or later) + + Copyright (c) 2011-2012 Yoji SHIDARA <dara �� shidara.net> + + 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-1301 + USA + +Files: node_modules/xml2js/* + +Copyright: + + Copyright (c) 2010-2011 Marek Kubica <marek �� xivilization.net> + +License: + + (The MIT License) + + Copyright (c) 2010-2011 Marek Kubica <marek �� xivilization.net> + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + 'Software'), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: node_modules/xmlbuilder/* + +Copyright: + + Copyright (c) 2010-2012 Ozgur Ozcitak <oozcitak �� gmail.com> + +License: + + (The MIT License) + + Copyright (c) 2010-2012 Ozgur Ozcitak <oozcitak �� gmail.com> + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + 'Software'), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: debian/* + +License: + + The Debian packaging is done by Kouhei Sutou <kou �� clear-code.com> in 2012, + and put into public domain, anyone can use it for any purpose. Added: packages/debian/gcs.install (+2 -0) 100644 =================================================================== --- /dev/null +++ packages/debian/gcs.install 2012-08-13 17:06:58 +0900 (116bf08) @@ -0,0 +1,2 @@ +usr/bin/ +usr/lib/gcs/ Added: packages/debian/patches/series (+0 -0) 100644 =================================================================== --- /dev/null +++ packages/debian/patches/series 2012-08-13 17:06:58 +0900 (e69de29) Added: packages/debian/rules (+52 -0) 100755 =================================================================== --- /dev/null +++ packages/debian/rules 2012-08-13 17:06:58 +0900 (6e2bed2) @@ -0,0 +1,52 @@ +#!/usr/bin/make -f +# -*- makefile-gmake -*- +# +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 +# This has to be exported to make some magic below work. +export DH_OPTIONS + +%: + dh $@ + +override_dh_clean: + rm -rf node_modules npm-debug.log + dh_clean + +INSTALL_PATHS = \ + bin/ \ + client_templates/ \ + examples/ \ + lib/ \ + node_modules/ \ + npm-shrinkwrap.json \ + package.json \ + tools/ \ + views/ + +DESTDIR = debian/tmp + +override_dh_install: + npm install --production node-gyp + npm install --production + + eval $$(dpkg-architecture); \ + if [ -n "$DEB_HOST_MULTIARCH" ]; then \ + libdir=lib/$${DEB_HOST_MULTIARCH}; \ + else \ + libdir=lib; \ + fi; \ + gcsdir=/usr/$${libdir}/gcs; \ + dest_gcsdir=$(DESTDIR)$${gcsdir}; \ + mkdir -p $${dest_gcsdir}; \ + cp -a $(INSTALL_PATHS) $${dest_gcsdir}/; \ + \ + bindir=/usr/bin; \ + dest_bindir=$(DESTDIR)$${bindir}; \ + mkdir -p $${dest_bindir}; \ + for script in bin/*; do \ + ln -s $${gcsdir}/bin/$$(basename $${script}) \ + $${dest_bindir}; \ + done + + dh_install -------------- next part -------------- HTML����������������������������... Download