blob: e7a30e8b19a6700c4c5316d7acd88ada75bf227f [file] [log] [blame]
#!/usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# This shell script builds and tests CouchDB on the current host.
# It assumes the build environment is already set up correctly.
# It needs no special privileges.
# stop on error
set -e
SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
. ${SCRIPTPATH}/detect-os.sh
redhats='(rhel|centos|fedora)'
debians='(debian|ubuntu)'
cd /home/jenkins
if [[ $1 ]]; then
# use copied package
mkdir couchdb
tar -xf ${SCRIPTPATH}/../$1 -C couchdb
cp ${SCRIPTPATH}/../$1 couchdb
else
# use master branch
git clone https://github.com/apache/couchdb
cd couchdb
./configure -c
make dist
cd ..
fi
# now, build the package
cd couchdb-pkg
platform=${ID}-${VERSION_CODENAME}
make $platform PLATFORM=${VERSION_CODENAME}
# and save the output
if [[ ${ID} =~ ${redhats} ]]; then
mv ../rpmbuild/RPMS/* ${SCRIPTPATH}/../couch/$platform
elif [[ ${ID} =~ ${debians} ]]; then
mv ../couchdb/*.deb ${SCRIPTPATH}/../couch/$platform
else
echo "Sorry, we don't support this Linux (${ID}) yet."
exit 1
fi
# and make sure we can delete it if necessary
chmod -R a+rwx ${SCRIPTPATH}/../couch/$platform/*