udiskie / util / prepare_release

#!/bin/bash

# Build a release tarball from source.
# Usage:
#   util/prepare_release -r <revision>
# Resulting tarball will reside in dist/

REVISION=tip
while getopts "r:" OPTION; do
    case ${OPTION} in
        r) REVISION="${OPTARG}"
    esac
done

PYTHON=${PYTHON:-python}

[ -d dist ] || mkdir dist
TMPDEST=$(mktemp -d --tmpdir udiskie-release-XXXXXXXX)

hg archive -t files -r "${REVISION}" "${TMPDEST}"
hg log --style=changelog -r "${REVISION}:0" > "${TMPDEST}/CHANGES"

pushd "${TMPDEST}"
VERSION=$(${PYTHON} setup.py --version)
${PYTHON} setup.py sdist
popd

cp "${TMPDEST}/dist/udiskie-${VERSION}.tar.gz" dist/

rm -rf "${TMPDEST}"
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.