2
# release-egg.sh -- created 22-Apr-2007, <+NAME+>
3
# @Last Change: 24-Dez-2004.
7
# This script is used to release the eggs that are maintained as externals
8
# from the Zope 3 `src/` tree.
10
# Some things that might be useful in the future
11
# - automatically fix the external of a branch/the trunk to the released
12
# version of the Zope 3 tree after tagging
13
# - Support to release eggs from branches in addition to the trunk.
15
svn_base="svn+ssh://svn.zope.org/repos/main"
16
distribution_target="download.zope.org:/distribution/"
22
if [ ! "${package}" ]; then
23
echo "No package name given."
27
if [ ! "${version}" ]; then
28
echo "No release version given."
32
tag_url="${svn_base}/${package}/tags/${version}"
33
trunk_url="${svn_base}/${package}/${branch}"
35
function update_versions() {
36
mv setup.py setup.py.old
37
cat setup.py.old | sed "s/version\W*=.*/version = '${1}',/" > setup.py
41
echo "Tagging release in repository at ${tag_url} ..."
42
svn cp -m "Tagging ${version}" "${trunk_url}" "${tag_url}"
44
echo "Checking out tag ..."
45
svn -q co "${tag_url}" ${package}
48
echo "Updating version in setup.py ..."
49
update_versions "${version}"
51
echo "Committing version update ..."
54
svn commit -m "Updating version."
56
echo "Creating package ..."
57
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
58
python setup.py egg_info -RDb "" sdist
61
scp dist/${package}-${version}.tar.gz ${distribution_target}
63
echo "Cleaning up ..."