##// END OF EJS Templates
Fixed log hook to check against HEAD so the email is more informative.
Fixed log hook to check against HEAD so the email is more informative.

File last commit:

r0:6f629fcc
r8:ad5c5bb0
Show More
release
99 lines | 2.9 KiB | text/plain | TextLexer
#!/bin/sh
# IPython release script
PYVER=`python -V 2>&1 | awk '{print $2}' | awk -F '.' '{print $1$2}' `
version=`ipython -Version`
ipdir=~/ipython/ipython
echo
echo "Releasing IPython version $version"
echo "=================================="
echo "Marking ChangeLog with release information and making NEWS file..."
# Stamp changelog and save a copy of the status at each version, in case later
# we want the NEWS file to start from a point before the very last release (if
# very small interim releases have no significant changes).
cd $ipdir/doc
cp ChangeLog ChangeLog.old
cp ChangeLog ChangeLog.$version
daystamp=`date +%Y-%m-%d`
echo $daystamp " ***" Released version $version > ChangeLog
echo >> ChangeLog
cat ChangeLog.old >> ChangeLog
rm ChangeLog.old
# Build NEWS file
echo "Changes between the last two releases (major or minor)" > NEWS
echo "Note that this is an auto-generated diff of the ChangeLogs" >> NEWS
echo >> NEWS
diff ChangeLog.previous ChangeLog | grep -v '^0a' | sed 's/^> //g' >> NEWS
cp ChangeLog ChangeLog.previous
# Clean up build/dist directories
rm -rf $ipdir/build/*
rm -rf $ipdir/dist/*
# Perform local backup
cd $ipdir/tools
./bkp.py
# Build source and binary distros
cd $ipdir
./setup.py sdist --formats=gztar
#./setup.py bdist_rpm --release=py$PYVER
python2.3 ./setup.py bdist_rpm --release=py23 --python=/usr/bin/python2.3
# A 2.4-specific RPM, where we must use the --python option to ensure that
# the resulting RPM is really built with 2.4 (so things go to
# lib/python2.4/...)
python2.4 ./setup.py bdist_rpm --release=py24 --python=/usr/bin/python2.4
# Call the windows build separately, so that the extra Windows scripts don't
# get pulled into Unix builds (setup.py has code which checks for
# bdist_wininst)
#./setup.py bdist_wininst --install-script=ipython_win_post_install.py
# For now, make the win32 installer with a hand-built 2.3.5 python, which is
# the only one that fixes a crash in the post-install phase.
$HOME/tmp/local/bin/python2.3 setup.py bdist_wininst \
--install-script=ipython_win_post_install.py
# Register with the Python Package Index (PyPI)
echo "Registering with PyPI..."
cd $ipdir
./setup.py register
# Upload all files
cd $ipdir/dist
echo "Uploading distribution files..."
scp * fperez@scipy.org:www/dist/
echo "Uploading backup files..."
cd ~/ipython/backup
scp `ls -1tr | tail -1` fperez@scipy.org:www/backup/
echo "Updating webpage..."
cd $ipdir/doc
www=~/ipython/homepage
cp ChangeLog NEWS $www
rm -rf $www/doc/*
cp -r manual.pdf manual/ $www/doc
cd $www
./update
# Alert package maintainers
echo "Alerting package maintainers..."
maintainers='fperez@colorado.edu ariciputi@users.sourceforge.net jack@xiph.org tretkowski@inittab.de dryice@hotpop.com'
#maintainers='fperez@colorado.edu'
for email in $maintainers
do
echo "Emailing $email..."
mail -s "[Package maintainer notice] A new IPython is out. Version: $version" \
$email < NEWS
done
echo "Done!"