##// END OF EJS Templates
Minor updates to release scripts, new backup one using SVN (a lot simpler).
fperez -
Show More
@@ -0,0 +1,22 b''
1 #!/bin/sh
2
3 # Simple backup script for ipython, to keep around a static copy of the whole
4 # project at the current version point. We do this by exporting from SVN.
5
6 # Config here
7 IPYTHONSVN=$HOME/ipython/svn/ipython/trunk
8 BACKUPDIR=$HOME/ipython/backup
9
10 ####
11 # Code begins
12 IPVERSION=`ipython -Version`
13 IPX=ipython-$IPVERSION
14 ARCHIVE=$BACKUPDIR/$IPX.tgz
15
16 svn export $IPYTHONSVN $IPX
17
18 tar czf $ARCHIVE $IPX
19
20 rm -rf $IPX
21
22 echo "Backup left in: $ARCHIVE"
@@ -1,102 +1,95 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.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 #./setup.py bdist_rpm --release=py$PYVER
46 python2.3 ./setup.py bdist_rpm --release=py23 --python=/usr/bin/python2.3
47
45
48 # A 2.4-specific RPM, where we must use the --python option to ensure that
46 # Build version-specific RPMs, where we must use the --python option to ensure
49 # the resulting RPM is really built with 2.4 (so things go to
47 # that the resulting RPM is really built with the requested python version (so
50 # lib/python2.4/...)
48 # things go to lib/python2.X/...)
49 python2.3 ./setup.py bdist_rpm --release=py23 --python=/usr/bin/python2.3
51 python2.4 ./setup.py bdist_rpm --release=py24 --python=/usr/bin/python2.4
50 python2.4 ./setup.py bdist_rpm --release=py24 --python=/usr/bin/python2.4
52
51
53 # Build eggs
52 # Build egg
54 python2.3 ./eggsetup.py bdist_egg
53 ./eggsetup.py bdist_egg
55 python2.4 ./eggsetup.py bdist_egg
56
54
57 # Call the windows build separately, so that the extra Windows scripts don't
55 # Call the windows build separately, so that the extra Windows scripts don't
58 # get pulled into Unix builds (setup.py has code which checks for
56 # get pulled into Unix builds (setup.py has code which checks for
59 # bdist_wininst)
57 # bdist_wininst)
60 #./setup.py bdist_wininst --install-script=ipython_win_post_install.py
58 ./setup.py bdist_wininst --install-script=ipython_win_post_install.py
61
62 # For now, make the win32 installer with a hand-built 2.3.5 python, which is
63 # the only one that fixes a crash in the post-install phase.
64 $HOME/tmp/local/bin/python2.3 setup.py bdist_wininst \
65 --install-script=ipython_win_post_install.py
66
59
67 # Register with the Python Package Index (PyPI)
60 # Register with the Python Package Index (PyPI)
68 echo "Registering with PyPI..."
61 echo "Registering with PyPI..."
69 cd $ipdir
62 cd $ipdir
70 ./setup.py register
63 ./setup.py register
71
64
72 # Upload all files
65 # Upload all files
73 cd $ipdir/dist
66 cd $ipdir/dist
74 echo "Uploading distribution files..."
67 echo "Uploading distribution files..."
75 scp * ipython@ipython.scipy.org:www/dist/
68 scp * ipython@ipython.scipy.org:www/dist/
76
69
77 echo "Uploading backup files..."
70 echo "Uploading backup files..."
78 cd ~/ipython/backup
71 cd ~/ipython/backup
79 scp `ls -1tr | tail -1` ipython@ipython.scipy.org:www/backup/
72 scp `ls -1tr | tail -1` ipython@ipython.scipy.org:www/backup/
80
73
81 echo "Updating webpage..."
74 echo "Updating webpage..."
82 cd $ipdir/doc
75 cd $ipdir/doc
83 www=~/ipython/homepage
76 www=~/ipython/homepage
84 cp ChangeLog NEWS $www
77 cp ChangeLog NEWS $www
85 rm -rf $www/doc/*
78 rm -rf $www/doc/*
86 cp -r manual.pdf manual/ $www/doc
79 cp -r manual.pdf manual/ $www/doc
87 cd $www
80 cd $www
88 ./update
81 ./update
89
82
90 # Alert package maintainers
83 # Alert package maintainers
91 echo "Alerting package maintainers..."
84 echo "Alerting package maintainers..."
92 maintainers='fperez@colorado.edu ariciputi@users.sourceforge.net jack@xiph.org tretkowski@inittab.de dryice@hotpop.com willmaier@ml1.net'
85 maintainers='fperez@colorado.edu ariciputi@users.sourceforge.net jack@xiph.org tretkowski@inittab.de dryice@hotpop.com willmaier@ml1.net'
93 #maintainers='fperez@colorado.edu'
86 #maintainers='fperez@colorado.edu'
94
87
95 for email in $maintainers
88 for email in $maintainers
96 do
89 do
97 echo "Emailing $email..."
90 echo "Emailing $email..."
98 mail -s "[Package maintainer notice] A new IPython is out. Version: $version" \
91 mail -s "[Package maintainer notice] A new IPython is out. Version: $version" \
99 $email < NEWS
92 $email < NEWS
100 done
93 done
101
94
102 echo "Done!"
95 echo "Done!"
@@ -1,28 +1,30 b''
1 #!/bin/sh
1 #!/bin/sh
2
2
3 # release test
3 # release test
4
4
5 # clean up build/dist directories
5 # clean up build/dist directories
6 rm -rf ~/ipython/ipython/build/*
6 rm -rf ~/ipython/ipython/build/*
7 rm -rf ~/ipython/ipython/dist/*
7 rm -rf ~/ipython/ipython/dist/*
8
8
9 # build source distros
9 # build source distros
10 cd ~/ipython/ipython
10 cd ~/ipython/ipython
11
11
12 ./setup.py sdist --formats=gztar
12 ./setup.py sdist --formats=gztar
13
13
14 # Build rpms
14 python2.3 ./setup.py bdist_rpm --release=py23 --python=/usr/bin/python2.3
15 python2.3 ./setup.py bdist_rpm --release=py23 --python=/usr/bin/python2.3
15 python2.4 ./setup.py bdist_rpm --release=py24 --python=/usr/bin/python2.4
16 python2.4 ./setup.py bdist_rpm --release=py24 --python=/usr/bin/python2.4
16
17
17 # Build eggs
18 # Build eggs
18 python2.3 ./eggsetup.py bdist_egg
19 ./eggsetup.py bdist_egg
19 python2.4 ./eggsetup.py bdist_egg
20
20
21 # Call the windows build separately, so that the extra Windows scripts don't
21 # Call the windows build separately, so that the extra Windows scripts don't
22 # get pulled into Unix builds (setup.py has code which checks for
22 # get pulled into Unix builds (setup.py has code which checks for
23 # bdist_wininst)
23 # bdist_wininst)
24
24
25 # For now, make the win32 installer with a hand-built 2.3.5 python, which is
25 # For now, make the win32 installer with a hand-built 2.3.5 python, which is
26 # the only one that fixes a crash in the post-install phase.
26 # the only one that fixes a crash in the post-install phase.
27 $HOME/tmp/local/bin/python2.3 setup.py bdist_wininst \
27 #$HOME/tmp/local/bin/python2.3 setup.py bdist_wininst \
28 --install-script=ipython_win_post_install.py
28 # --install-script=ipython_win_post_install.py
29
30 ./setup.py bdist_wininst --install-script=ipython_win_post_install.py
General Comments 0
You need to be logged in to leave comments. Login now