#!/usr/bin/env python """IPython release build script. """ from toollib import * # Get main ipython dir, this will raise if it doesn't pass some checks ipdir = get_ipdir() cd(ipdir) # Load release info execfile(pjoin('IPython','core','release.py')) # Check that everything compiles compile_tree() # Cleanup for d in ['build','dist',pjoin('docs','build'),pjoin('docs','dist')]: if os.path.isdir(d): remove_tree(d) # Build source and binary distros c('./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/...) c("python2.5 ./setup.py bdist_rpm --binary-only --release=py25 " "--python=/usr/bin/python2.5") c("python2.6 ./setup.py bdist_rpm --binary-only --release=py26 " "--python=/usr/bin/python2.6") # Build eggs c('python2.5 ./setupegg.py bdist_egg') c('python2.6 ./setupegg.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) c("python setup.py bdist_wininst --install-script=ipython_win_post_install.py") # Change name so retarded Vista runs the installer correctly c("rename 's/linux-i686/win32-setup/' dist/*.exe")