##// END OF EJS Templates
New system for interactively running scripts. After a submission by Ken...
New system for interactively running scripts. After a submission by Ken Schutte <kschutte-AT-csail.mit.edu> on the ipython-user list.

File last commit:

r302:36826fc8
r302:36826fc8
Show More
release
102 lines | 3.0 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
# Build eggs
python2.3 ./eggsetup.py bdist_egg
python2.4 ./eggsetup.py bdist_egg
# 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 * ipython@ipython.scipy.org:www/dist/
echo "Uploading backup files..."
cd ~/ipython/backup
scp `ls -1tr | tail -1` ipython@ipython.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 willmaier@ml1.net'
#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!"