|
@@
-1,99
+1,103
b''
|
|
1
|
#!/bin/sh
|
|
1
|
#!/bin/sh
|
|
2
|
# IPython release script
|
|
2
|
# IPython release script
|
|
3
|
|
|
3
|
|
|
4
|
PYVER=`python -V 2>&1 | awk '{print $2}' | awk -F '.' '{print $1$2}' `
|
|
4
|
PYVER=`python -V 2>&1 | awk '{print $2}' | awk -F '.' '{print $1$2}' `
|
|
5
|
version=`ipython -Version`
|
|
5
|
version=`ipython -Version`
|
|
6
|
ipdir=~/ipython/ipython
|
|
6
|
ipdir=~/ipython/ipython
|
|
7
|
|
|
7
|
|
|
8
|
echo
|
|
8
|
echo
|
|
9
|
echo "Releasing IPython version $version"
|
|
9
|
echo "Releasing IPython version $version"
|
|
10
|
echo "=================================="
|
|
10
|
echo "=================================="
|
|
11
|
|
|
11
|
|
|
12
|
echo "Marking ChangeLog with release information and making NEWS file..."
|
|
12
|
echo "Marking ChangeLog with release information and making NEWS file..."
|
|
13
|
|
|
13
|
|
|
14
|
# Stamp changelog and save a copy of the status at each version, in case later
|
|
14
|
# Stamp changelog and save a copy of the status at each version, in case later
|
|
15
|
# we want the NEWS file to start from a point before the very last release (if
|
|
15
|
# we want the NEWS file to start from a point before the very last release (if
|
|
16
|
# very small interim releases have no significant changes).
|
|
16
|
# very small interim releases have no significant changes).
|
|
17
|
|
|
17
|
|
|
18
|
cd $ipdir/doc
|
|
18
|
cd $ipdir/doc
|
|
19
|
cp ChangeLog ChangeLog.old
|
|
19
|
cp ChangeLog ChangeLog.old
|
|
20
|
cp ChangeLog ChangeLog.$version
|
|
20
|
cp ChangeLog ChangeLog.$version
|
|
21
|
daystamp=`date +%Y-%m-%d`
|
|
21
|
daystamp=`date +%Y-%m-%d`
|
|
22
|
echo $daystamp " ***" Released version $version > ChangeLog
|
|
22
|
echo $daystamp " ***" Released version $version > ChangeLog
|
|
23
|
echo >> ChangeLog
|
|
23
|
echo >> ChangeLog
|
|
24
|
cat ChangeLog.old >> ChangeLog
|
|
24
|
cat ChangeLog.old >> ChangeLog
|
|
25
|
rm ChangeLog.old
|
|
25
|
rm ChangeLog.old
|
|
26
|
|
|
26
|
|
|
27
|
# Build NEWS file
|
|
27
|
# Build NEWS file
|
|
28
|
echo "Changes between the last two releases (major or minor)" > NEWS
|
|
28
|
echo "Changes between the last two releases (major or minor)" > NEWS
|
|
29
|
echo "Note that this is an auto-generated diff of the ChangeLogs" >> NEWS
|
|
29
|
echo "Note that this is an auto-generated diff of the ChangeLogs" >> NEWS
|
|
30
|
echo >> NEWS
|
|
30
|
echo >> NEWS
|
|
31
|
diff ChangeLog.previous ChangeLog | grep -v '^0a' | sed 's/^> //g' >> NEWS
|
|
31
|
diff ChangeLog.previous ChangeLog | grep -v '^0a' | sed 's/^> //g' >> NEWS
|
|
32
|
cp ChangeLog ChangeLog.previous
|
|
32
|
cp ChangeLog ChangeLog.previous
|
|
33
|
|
|
33
|
|
|
34
|
# Clean up build/dist directories
|
|
34
|
# Clean up build/dist directories
|
|
35
|
rm -rf $ipdir/build/*
|
|
35
|
rm -rf $ipdir/build/*
|
|
36
|
rm -rf $ipdir/dist/*
|
|
36
|
rm -rf $ipdir/dist/*
|
|
37
|
|
|
37
|
|
|
38
|
# Perform local backup
|
|
38
|
# Perform local backup
|
|
39
|
cd $ipdir/tools
|
|
39
|
cd $ipdir/tools
|
|
40
|
./bkp.py
|
|
40
|
./bkp.py
|
|
41
|
|
|
41
|
|
|
42
|
# Build source and binary distros
|
|
42
|
# Build source and binary distros
|
|
43
|
cd $ipdir
|
|
43
|
cd $ipdir
|
|
44
|
./setup.py sdist --formats=gztar
|
|
44
|
./setup.py sdist --formats=gztar
|
|
45
|
#./setup.py bdist_rpm --release=py$PYVER
|
|
45
|
#./setup.py bdist_rpm --release=py$PYVER
|
|
46
|
python2.3 ./setup.py bdist_rpm --release=py23 --python=/usr/bin/python2.3
|
|
46
|
python2.3 ./setup.py bdist_rpm --release=py23 --python=/usr/bin/python2.3
|
|
47
|
|
|
47
|
|
|
48
|
# A 2.4-specific RPM, where we must use the --python option to ensure that
|
|
48
|
# A 2.4-specific RPM, where we must use the --python option to ensure that
|
|
49
|
# the resulting RPM is really built with 2.4 (so things go to
|
|
49
|
# the resulting RPM is really built with 2.4 (so things go to
|
|
50
|
# lib/python2.4/...)
|
|
50
|
# lib/python2.4/...)
|
|
51
|
python2.4 ./setup.py bdist_rpm --release=py24 --python=/usr/bin/python2.4
|
|
51
|
python2.4 ./setup.py bdist_rpm --release=py24 --python=/usr/bin/python2.4
|
|
52
|
|
|
52
|
|
|
|
|
|
53
|
# Build eggs
|
|
|
|
|
54
|
python2.3 ./setup_bdist_egg.py
|
|
|
|
|
55
|
python2.4 ./setup_bdist_egg.py
|
|
|
|
|
56
|
|
|
53
|
# Call the windows build separately, so that the extra Windows scripts don't
|
|
57
|
# Call the windows build separately, so that the extra Windows scripts don't
|
|
54
|
# get pulled into Unix builds (setup.py has code which checks for
|
|
58
|
# get pulled into Unix builds (setup.py has code which checks for
|
|
55
|
# bdist_wininst)
|
|
59
|
# bdist_wininst)
|
|
56
|
#./setup.py bdist_wininst --install-script=ipython_win_post_install.py
|
|
60
|
#./setup.py bdist_wininst --install-script=ipython_win_post_install.py
|
|
57
|
|
|
61
|
|
|
58
|
# For now, make the win32 installer with a hand-built 2.3.5 python, which is
|
|
62
|
# For now, make the win32 installer with a hand-built 2.3.5 python, which is
|
|
59
|
# the only one that fixes a crash in the post-install phase.
|
|
63
|
# the only one that fixes a crash in the post-install phase.
|
|
60
|
$HOME/tmp/local/bin/python2.3 setup.py bdist_wininst \
|
|
64
|
$HOME/tmp/local/bin/python2.3 setup.py bdist_wininst \
|
|
61
|
--install-script=ipython_win_post_install.py
|
|
65
|
--install-script=ipython_win_post_install.py
|
|
62
|
|
|
66
|
|
|
63
|
|
|
67
|
|
|
64
|
# Register with the Python Package Index (PyPI)
|
|
68
|
# Register with the Python Package Index (PyPI)
|
|
65
|
echo "Registering with PyPI..."
|
|
69
|
echo "Registering with PyPI..."
|
|
66
|
cd $ipdir
|
|
70
|
cd $ipdir
|
|
67
|
./setup.py register
|
|
71
|
./setup.py register
|
|
68
|
|
|
72
|
|
|
69
|
# Upload all files
|
|
73
|
# Upload all files
|
|
70
|
cd $ipdir/dist
|
|
74
|
cd $ipdir/dist
|
|
71
|
echo "Uploading distribution files..."
|
|
75
|
echo "Uploading distribution files..."
|
|
72
|
scp * fperez@scipy.org:www/dist/
|
|
76
|
scp * fperez@scipy.org:www/dist/
|
|
73
|
|
|
77
|
|
|
74
|
echo "Uploading backup files..."
|
|
78
|
echo "Uploading backup files..."
|
|
75
|
cd ~/ipython/backup
|
|
79
|
cd ~/ipython/backup
|
|
76
|
scp `ls -1tr | tail -1` fperez@scipy.org:www/backup/
|
|
80
|
scp `ls -1tr | tail -1` fperez@scipy.org:www/backup/
|
|
77
|
|
|
81
|
|
|
78
|
echo "Updating webpage..."
|
|
82
|
echo "Updating webpage..."
|
|
79
|
cd $ipdir/doc
|
|
83
|
cd $ipdir/doc
|
|
80
|
www=~/ipython/homepage
|
|
84
|
www=~/ipython/homepage
|
|
81
|
cp ChangeLog NEWS $www
|
|
85
|
cp ChangeLog NEWS $www
|
|
82
|
rm -rf $www/doc/*
|
|
86
|
rm -rf $www/doc/*
|
|
83
|
cp -r manual.pdf manual/ $www/doc
|
|
87
|
cp -r manual.pdf manual/ $www/doc
|
|
84
|
cd $www
|
|
88
|
cd $www
|
|
85
|
./update
|
|
89
|
./update
|
|
86
|
|
|
90
|
|
|
87
|
# Alert package maintainers
|
|
91
|
# Alert package maintainers
|
|
88
|
echo "Alerting package maintainers..."
|
|
92
|
echo "Alerting package maintainers..."
|
|
89
|
maintainers='fperez@colorado.edu ariciputi@users.sourceforge.net jack@xiph.org tretkowski@inittab.de dryice@hotpop.com'
|
|
93
|
maintainers='fperez@colorado.edu ariciputi@users.sourceforge.net jack@xiph.org tretkowski@inittab.de dryice@hotpop.com'
|
|
90
|
#maintainers='fperez@colorado.edu'
|
|
94
|
#maintainers='fperez@colorado.edu'
|
|
91
|
|
|
95
|
|
|
92
|
for email in $maintainers
|
|
96
|
for email in $maintainers
|
|
93
|
do
|
|
97
|
do
|
|
94
|
echo "Emailing $email..."
|
|
98
|
echo "Emailing $email..."
|
|
95
|
mail -s "[Package maintainer notice] A new IPython is out. Version: $version" \
|
|
99
|
mail -s "[Package maintainer notice] A new IPython is out. Version: $version" \
|
|
96
|
$email < NEWS
|
|
100
|
$email < NEWS
|
|
97
|
done
|
|
101
|
done
|
|
98
|
|
|
102
|
|
|
99
|
echo "Done!"
|
|
103
|
echo "Done!"
|