Show More
@@ -1,96 +1,99 | |||||
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.sh |
|
40 | ./bkp.sh | |
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 |
|
45 | |||
46 | # Build version-specific RPMs, where we must use the --python option to ensure |
|
46 | # Build version-specific RPMs, where we must use the --python option to ensure | |
47 | # that the resulting RPM is really built with the requested python version (so |
|
47 | # that the resulting RPM is really built with the requested python version (so | |
48 | # things go to lib/python2.X/...) |
|
48 | # things go to lib/python2.X/...) | |
49 | python2.4 ./setup.py bdist_rpm --binary-only --release=py24 --python=/usr/bin/python2.4 |
|
49 | python2.4 ./setup.py bdist_rpm --binary-only --release=py24 --python=/usr/bin/python2.4 | |
50 | python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5 |
|
50 | python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5 | |
51 |
|
51 | |||
52 | # Build eggs |
|
52 | # Build eggs | |
53 | python2.4 ./eggsetup.py bdist_egg |
|
53 | python2.4 ./eggsetup.py bdist_egg | |
54 | python2.5 ./eggsetup.py bdist_egg |
|
54 | python2.5 ./eggsetup.py bdist_egg | |
55 |
|
55 | |||
56 | # Call the windows build separately, so that the extra Windows scripts don't |
|
56 | # Call the windows build separately, so that the extra Windows scripts don't | |
57 | # get pulled into Unix builds (setup.py has code which checks for |
|
57 | # get pulled into Unix builds (setup.py has code which checks for | |
58 | # bdist_wininst) |
|
58 | # bdist_wininst) | |
59 | ./setup.py bdist_wininst --install-script=ipython_win_post_install.py |
|
59 | ./setup.py bdist_wininst --install-script=ipython_win_post_install.py | |
60 |
|
60 | |||
|
61 | # Change name so retarded Vista runs the installer correctly | |||
|
62 | rename 's/win32/win32-setup/' $ipdir/dist/*.exe | |||
|
63 | ||||
61 | # Register with the Python Package Index (PyPI) |
|
64 | # Register with the Python Package Index (PyPI) | |
62 | echo "Registering with PyPI..." |
|
65 | echo "Registering with PyPI..." | |
63 | cd $ipdir |
|
66 | cd $ipdir | |
64 | ./setup.py register |
|
67 | ./setup.py register | |
65 |
|
68 | |||
66 | # Upload all files |
|
69 | # Upload all files | |
67 | cd $ipdir/dist |
|
70 | cd $ipdir/dist | |
68 | echo "Uploading distribution files..." |
|
71 | echo "Uploading distribution files..." | |
69 | scp * ipython@ipython.scipy.org:www/dist/ |
|
72 | scp * ipython@ipython.scipy.org:www/dist/ | |
70 |
|
73 | |||
71 | echo "Uploading backup files..." |
|
74 | echo "Uploading backup files..." | |
72 | cd ~/ipython/backup |
|
75 | cd ~/ipython/backup | |
73 | scp `ls -1tr | tail -1` ipython@ipython.scipy.org:www/backup/ |
|
76 | scp `ls -1tr | tail -1` ipython@ipython.scipy.org:www/backup/ | |
74 |
|
77 | |||
75 | echo "Updating webpage..." |
|
78 | echo "Updating webpage..." | |
76 | cd $ipdir/doc |
|
79 | cd $ipdir/doc | |
77 | www=~/ipython/homepage |
|
80 | www=~/ipython/homepage | |
78 | cp ChangeLog NEWS $www |
|
81 | cp ChangeLog NEWS $www | |
79 | rm -rf $www/doc/* |
|
82 | rm -rf $www/doc/* | |
80 | cp -r manual.pdf manual/ $www/doc |
|
83 | cp -r manual.pdf manual/ $www/doc | |
81 | cd $www |
|
84 | cd $www | |
82 | ./update |
|
85 | ./update | |
83 |
|
86 | |||
84 | # Alert package maintainers |
|
87 | # Alert package maintainers | |
85 | echo "Alerting package maintainers..." |
|
88 | echo "Alerting package maintainers..." | |
86 | maintainers='fperez@colorado.edu ariciputi@users.sourceforge.net jack@xiph.org tretkowski@inittab.de dryice@hotpop.com willmaier@ml1.net' |
|
89 | maintainers='fperez@colorado.edu ariciputi@users.sourceforge.net jack@xiph.org tretkowski@inittab.de dryice@hotpop.com willmaier@ml1.net' | |
87 | #maintainers='fperez@colorado.edu' |
|
90 | #maintainers='fperez@colorado.edu' | |
88 |
|
91 | |||
89 | for email in $maintainers |
|
92 | for email in $maintainers | |
90 | do |
|
93 | do | |
91 | echo "Emailing $email..." |
|
94 | echo "Emailing $email..." | |
92 | mail -s "[Package maintainer notice] A new IPython is out. Version: $version" \ |
|
95 | mail -s "[Package maintainer notice] A new IPython is out. Version: $version" \ | |
93 | $email < NEWS |
|
96 | $email < NEWS | |
94 | done |
|
97 | done | |
95 |
|
98 | |||
96 | echo "Done!" |
|
99 | echo "Done!" |
@@ -1,25 +1,28 | |||||
1 | #!/bin/sh |
|
1 | #!/bin/sh | |
2 |
|
2 | |||
3 | # release test |
|
3 | # release test | |
4 |
|
4 | |||
|
5 | cd ~/ipython/ipython | |||
|
6 | ||||
5 | # clean up build/dist directories |
|
7 | # clean up build/dist directories | |
6 |
rm -rf |
|
8 | rm -rf build/* | |
7 | rm -rf ~/ipython/ipython/dist/* |
|
9 | rm -rf dist/* | |
8 |
|
10 | |||
9 | # build source distros |
|
11 | # build source distros | |
10 | cd ~/ipython/ipython |
|
|||
11 |
|
||||
12 | ./setup.py sdist --formats=gztar |
|
12 | ./setup.py sdist --formats=gztar | |
13 |
|
13 | |||
14 | # Build rpms |
|
14 | # Build rpms | |
15 | python2.4 ./setup.py bdist_rpm --binary-only --release=py24 --python=/usr/bin/python2.4 |
|
15 | python2.4 ./setup.py bdist_rpm --binary-only --release=py24 --python=/usr/bin/python2.4 | |
16 | python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5 |
|
16 | python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5 | |
17 |
|
17 | |||
18 | # Build eggs |
|
18 | # Build eggs | |
19 | python2.4 ./eggsetup.py bdist_egg |
|
19 | python2.4 ./eggsetup.py bdist_egg | |
20 | python2.5 ./eggsetup.py bdist_egg |
|
20 | python2.5 ./eggsetup.py bdist_egg | |
21 |
|
21 | |||
22 | # Call the windows build separately, so that the extra Windows scripts don't |
|
22 | # Call the windows build separately, so that the extra Windows scripts don't | |
23 | # get pulled into Unix builds (setup.py has code which checks for |
|
23 | # get pulled into Unix builds (setup.py has code which checks for | |
24 | # bdist_wininst) |
|
24 | # bdist_wininst) | |
25 | ./setup.py bdist_wininst --install-script=ipython_win_post_install.py |
|
25 | ./setup.py bdist_wininst --install-script=ipython_win_post_install.py | |
|
26 | ||||
|
27 | # Change name so retarded Vista runs the installer correctly | |||
|
28 | rename 's/win32/win32-setup/' dist/*.exe |
General Comments 0
You need to be logged in to leave comments.
Login now