##// END OF EJS Templates
Update changes file and release info, as well as Sphinx conf tools.
Update changes file and release info, as well as Sphinx conf tools.

File last commit:

r1216:6eb49afa
r1539:90bb1b0d
Show More
release
101 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
ipbackupdir=~/ipython/backup
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
./make_tarball.py
mv ipython-*.tgz $ipbackupdir
# Build source and binary distros
cd $ipdir
./setup.py sdist --formats=gztar
# Build version-specific RPMs, where we must use the --python option to ensure
# that the resulting RPM is really built with the requested python version (so
# things go to lib/python2.X/...)
python2.4 ./setup.py bdist_rpm --binary-only --release=py24 --python=/usr/bin/python2.4
python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5
# Build eggs
python2.4 ./setup_bdist_egg.py
python2.5 ./setup_bdist_egg.py
# 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
# Change name so retarded Vista runs the installer correctly
rename 's/win32/win32-setup/' $ipdir/dist/*.exe
# 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 $ipbackupdir
scp `ls -1tr *tgz | 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/ $www/doc
cd $www
./update
# Alert package maintainers
#echo "Alerting package maintainers..."
#maintainers='fernando.perez@berkeley.edu ariciputi@users.sourceforge.net jack@xiph.org tretkowski@inittab.de dryice@hotpop.com willmaier@ml1.net'
# maintainers='fernando.perez@berkeley.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!"