blob: dfd529d13e8354c61f20f0d6bfc8b9a51ee0b703 [file] [log] [blame]
#!/bin/sh -e
VERSION=$1
if [ -z "${VERSION}" ]; then
echo "NO VERSION"
exit 1
fi
echo "Building Apache CouchDB ${VERSION}"
REL_DIR=apache-couchdb-${VERSION}
# make release dir
rm -rf ${REL_DIR}
mkdir ${REL_DIR}
CURRENT_BRANCH=`git rev-parse --abbrev-ref HEAD`
# copy sources over
git archive ${CURRENT_BRANCH} | tar -xC ${REL_DIR}/ -f -
cd src/
for repo in *; do
cd ${repo}
if [ -d ".git" ]; then
mkdir -p ../../${REL_DIR}/src/${repo}
git_ish=`git rev-parse --short HEAD`
git archive ${git_ish} \
| tar --exclude '*do_not_compile.erl' -xC ../../${REL_DIR}/src/${repo}/ -f -
fi
set +e
grep -rl '{vsn, git}' ../../${REL_DIR}/src/${repo}/ 2>/dev/null \
| xargs sed -ie "s/{vsn, git}/{vsn, \"${VERSION}\"}/" 2>/dev/null
set -e
cd ..
done
cd ..
if test -e .git; then
# save git sha in version.mk
git_sha=`git rev-parse --short HEAD`
echo "git_sha=${git_sha}" >> ${REL_DIR}/version.mk
# create CONTRIBUTORS file
OS=`uname -s`
sed -e "/^#.*/d" CONTRIBUTORS.in > ${REL_DIR}/CONTRIBUTORS
CONTRIB_EMAIL_SED_COMMAND="s/^[[:blank:]]{5}[[:digit:]]+[[:blank:]]/ * /"
git shortlog -se 6c976bd..HEAD \
| grep -v @apache.org \
| sed -E -e "${CONTRIB_EMAIL_SED_COMMAND}" >> ${REL_DIR}/CONTRIBUTORS
echo "" >> ${REL_DIR}/CONTRIBUTORS # simplest portable newline
echo "For a list of authors see the \`AUTHORS\` file." >> ${REL_DIR}/CONTRIBUTORS
fi
# copy our rebar
cp bin/rebar ${REL_DIR}/bin/rebar