Show More
@@ -1,89 +1,89 b'' | |||||
1 | # -*- coding: utf-8 -*- |
|
1 | # -*- coding: utf-8 -*- | |
2 | """Release data for the IPython project. |
|
2 | """Release data for the IPython project. | |
3 |
|
3 | |||
4 | $Id: Release.py 3002 2008-02-01 07:17:00Z fperez $""" |
|
4 | $Id: Release.py 3002 2008-02-01 07:17:00Z fperez $""" | |
5 |
|
5 | |||
6 | #***************************************************************************** |
|
6 | #***************************************************************************** | |
7 | # Copyright (C) 2001-2006 Fernando Perez <fperez@colorado.edu> |
|
7 | # Copyright (C) 2001-2006 Fernando Perez <fperez@colorado.edu> | |
8 | # |
|
8 | # | |
9 | # Copyright (c) 2001 Janko Hauser <jhauser@zscout.de> and Nathaniel Gray |
|
9 | # Copyright (c) 2001 Janko Hauser <jhauser@zscout.de> and Nathaniel Gray | |
10 | # <n8gray@caltech.edu> |
|
10 | # <n8gray@caltech.edu> | |
11 | # |
|
11 | # | |
12 | # Distributed under the terms of the BSD License. The full license is in |
|
12 | # Distributed under the terms of the BSD License. The full license is in | |
13 | # the file COPYING, distributed as part of this software. |
|
13 | # the file COPYING, distributed as part of this software. | |
14 | #***************************************************************************** |
|
14 | #***************************************************************************** | |
15 |
|
15 | |||
16 | # Name of the package for release purposes. This is the name which labels |
|
16 | # Name of the package for release purposes. This is the name which labels | |
17 | # the tarballs and RPMs made by distutils, so it's best to lowercase it. |
|
17 | # the tarballs and RPMs made by distutils, so it's best to lowercase it. | |
18 | name = 'ipython' |
|
18 | name = 'ipython' | |
19 |
|
19 | |||
20 | # For versions with substrings (like 0.6.16.svn), use an extra . to separate |
|
20 | # For versions with substrings (like 0.6.16.svn), use an extra . to separate | |
21 | # the new substring. We have to avoid using either dashes or underscores, |
|
21 | # the new substring. We have to avoid using either dashes or underscores, | |
22 | # because bdist_rpm does not accept dashes (an RPM) convention, and |
|
22 | # because bdist_rpm does not accept dashes (an RPM) convention, and | |
23 | # bdist_deb does not accept underscores (a Debian convention). |
|
23 | # bdist_deb does not accept underscores (a Debian convention). | |
24 |
|
24 | |||
25 |
revision = ' |
|
25 | revision = '83' | |
26 | branch = 'ipython' |
|
26 | branch = 'ipython' | |
27 |
|
27 | |||
28 | if branch == 'ipython': |
|
28 | if branch == 'ipython': | |
29 | version = '0.8.3.bzr.r' + revision |
|
29 | version = '0.8.3.bzr.r' + revision | |
30 | else: |
|
30 | else: | |
31 | version = '0.8.3.bzr.r%s.%s' % (revision,branch) |
|
31 | version = '0.8.3.bzr.r%s.%s' % (revision,branch) | |
32 |
|
32 | |||
33 | version = '0.8.3' |
|
33 | version = '0.8.3' | |
34 |
|
34 | |||
35 | description = "An enhanced interactive Python shell." |
|
35 | description = "An enhanced interactive Python shell." | |
36 |
|
36 | |||
37 | long_description = \ |
|
37 | long_description = \ | |
38 | """ |
|
38 | """ | |
39 | IPython provides a replacement for the interactive Python interpreter with |
|
39 | IPython provides a replacement for the interactive Python interpreter with | |
40 | extra functionality. |
|
40 | extra functionality. | |
41 |
|
41 | |||
42 | Main features: |
|
42 | Main features: | |
43 |
|
43 | |||
44 | * Comprehensive object introspection. |
|
44 | * Comprehensive object introspection. | |
45 |
|
45 | |||
46 | * Input history, persistent across sessions. |
|
46 | * Input history, persistent across sessions. | |
47 |
|
47 | |||
48 | * Caching of output results during a session with automatically generated |
|
48 | * Caching of output results during a session with automatically generated | |
49 | references. |
|
49 | references. | |
50 |
|
50 | |||
51 | * Readline based name completion. |
|
51 | * Readline based name completion. | |
52 |
|
52 | |||
53 | * Extensible system of 'magic' commands for controlling the environment and |
|
53 | * Extensible system of 'magic' commands for controlling the environment and | |
54 | performing many tasks related either to IPython or the operating system. |
|
54 | performing many tasks related either to IPython or the operating system. | |
55 |
|
55 | |||
56 | * Configuration system with easy switching between different setups (simpler |
|
56 | * Configuration system with easy switching between different setups (simpler | |
57 | than changing $PYTHONSTARTUP environment variables every time). |
|
57 | than changing $PYTHONSTARTUP environment variables every time). | |
58 |
|
58 | |||
59 | * Session logging and reloading. |
|
59 | * Session logging and reloading. | |
60 |
|
60 | |||
61 | * Extensible syntax processing for special purpose situations. |
|
61 | * Extensible syntax processing for special purpose situations. | |
62 |
|
62 | |||
63 | * Access to the system shell with user-extensible alias system. |
|
63 | * Access to the system shell with user-extensible alias system. | |
64 |
|
64 | |||
65 | * Easily embeddable in other Python programs. |
|
65 | * Easily embeddable in other Python programs. | |
66 |
|
66 | |||
67 | * Integrated access to the pdb debugger and the Python profiler. |
|
67 | * Integrated access to the pdb debugger and the Python profiler. | |
68 |
|
68 | |||
69 | The latest development version is always available at the IPython subversion |
|
69 | The latest development version is always available at the IPython subversion | |
70 | repository_. |
|
70 | repository_. | |
71 |
|
71 | |||
72 | .. _repository: http://ipython.scipy.org/svn/ipython/ipython/trunk#egg=ipython-dev |
|
72 | .. _repository: http://ipython.scipy.org/svn/ipython/ipython/trunk#egg=ipython-dev | |
73 | """ |
|
73 | """ | |
74 |
|
74 | |||
75 | license = 'BSD' |
|
75 | license = 'BSD' | |
76 |
|
76 | |||
77 | authors = {'Fernando' : ('Fernando Perez','fperez@colorado.edu'), |
|
77 | authors = {'Fernando' : ('Fernando Perez','fperez@colorado.edu'), | |
78 | 'Janko' : ('Janko Hauser','jhauser@zscout.de'), |
|
78 | 'Janko' : ('Janko Hauser','jhauser@zscout.de'), | |
79 | 'Nathan' : ('Nathaniel Gray','n8gray@caltech.edu'), |
|
79 | 'Nathan' : ('Nathaniel Gray','n8gray@caltech.edu'), | |
80 | 'Ville' : ('Ville Vainio','vivainio@gmail.com') |
|
80 | 'Ville' : ('Ville Vainio','vivainio@gmail.com') | |
81 | } |
|
81 | } | |
82 |
|
82 | |||
83 | url = 'http://ipython.scipy.org' |
|
83 | url = 'http://ipython.scipy.org' | |
84 |
|
84 | |||
85 | download_url = 'http://ipython.scipy.org/dist' |
|
85 | download_url = 'http://ipython.scipy.org/dist' | |
86 |
|
86 | |||
87 | platforms = ['Linux','Mac OSX','Windows XP/2000/NT','Windows 95/98/ME'] |
|
87 | platforms = ['Linux','Mac OSX','Windows XP/2000/NT','Windows 95/98/ME'] | |
88 |
|
88 | |||
89 | keywords = ['Interactive','Interpreter','Shell'] |
|
89 | keywords = ['Interactive','Interpreter','Shell'] |
@@ -1,36 +1,36 b'' | |||||
1 | include README_Windows.txt |
|
1 | include README_Windows.txt | |
2 | include win32_manual_post_install.py |
|
2 | include win32_manual_post_install.py | |
3 | include ipython.py |
|
3 | include ipython.py | |
4 |
|
4 | |||
5 | graft scripts |
|
5 | graft scripts | |
6 |
|
6 | |||
7 | graft setupext |
|
7 | graft setupext | |
8 |
|
8 | |||
9 | graft IPython/UserConfig |
|
9 | graft IPython/UserConfig | |
10 |
|
10 | |||
11 | graft doc |
|
11 | graft doc | |
12 | exclude doc/*.1 |
|
12 | exclude doc/*.1 | |
13 | exclude doc/manual_base* |
|
13 | exclude doc/manual_base* | |
14 | exclude doc/ChangeLog.* |
|
14 | exclude doc/ChangeLog.* | |
15 | exclude doc/\#* |
|
15 | exclude doc/\#* | |
16 | exclude doc/update_magic.sh |
|
16 | exclude doc/update_magic.sh | |
17 | exclude doc/update_version.sh |
|
17 | exclude doc/update_version.sh | |
18 | exclude doc/manual_base* |
|
18 | exclude doc/manual_base* | |
19 | exclude doc/manual/WARNINGS |
|
19 | exclude doc/manual/WARNINGS | |
20 | exclude doc/manual/*.aux |
|
20 | exclude doc/manual/*.aux | |
21 | exclude doc/manual/*.log |
|
21 | exclude doc/manual/*.log | |
22 | exclude doc/manual/*.out |
|
22 | exclude doc/manual/*.out | |
23 | exclude doc/manual/*.pl |
|
23 | exclude doc/manual/*.pl | |
24 | exclude doc/manual/*.tex |
|
24 | exclude doc/manual/*.tex | |
25 |
exclude doc/build |
|
25 | exclude doc/build | |
26 |
exclude doc/ |
|
26 | exclude doc/attic | |
27 | exclude doc/build/html/_sources/* |
|
|||
28 |
|
27 | |||
29 |
|
28 | |||
30 |
|
29 | |||
31 |
|
30 | |||
32 | global-exclude *~ |
|
31 | global-exclude *~ | |
33 | global-exclude *.flc |
|
32 | global-exclude *.flc | |
34 | global-exclude *.pyc |
|
33 | global-exclude *.pyc | |
35 | global-exclude .dircopy.log |
|
34 | global-exclude .dircopy.log | |
36 | global-exclude .svn |
|
35 | global-exclude .svn | |
|
36 | global-exclude .bzr |
1 | NO CONTENT: file renamed from doc/ipnb_google_soc.lyx to doc/attic/ipnb_google_soc.lyx |
|
NO CONTENT: file renamed from doc/ipnb_google_soc.lyx to doc/attic/ipnb_google_soc.lyx |
1 | NO CONTENT: file renamed from doc/nbexample.py to doc/attic/nbexample.py |
|
NO CONTENT: file renamed from doc/nbexample.py to doc/attic/nbexample.py |
1 | NO CONTENT: file renamed from doc/nbexample_latex.py to doc/attic/nbexample_latex.py |
|
NO CONTENT: file renamed from doc/nbexample_latex.py to doc/attic/nbexample_latex.py |
1 | NO CONTENT: file renamed from doc/nbexample_output.py to doc/attic/nbexample_output.py |
|
NO CONTENT: file renamed from doc/nbexample_output.py to doc/attic/nbexample_output.py |
1 | NO CONTENT: file renamed from doc/new_design.lyx to doc/attic/new_design.lyx |
|
NO CONTENT: file renamed from doc/new_design.lyx to doc/attic/new_design.lyx |
@@ -1,64 +1,74 b'' | |||||
|
1 | #!/usr/bin/env python | |||
|
2 | """Script to build documentation using Sphinx. | |||
|
3 | """ | |||
|
4 | ||||
1 | import fileinput,os,sys |
|
5 | import fileinput,os,sys | |
2 |
|
6 | |||
3 | def oscmd(c): |
|
7 | def oscmd(c): | |
4 | os.system(c) |
|
8 | os.system(c) | |
5 |
|
9 | |||
6 | # html manual. |
|
10 | # html manual. | |
7 | oscmd('sphinx-build -d build/doctrees source build/html') |
|
11 | oscmd('sphinx-build -d build/doctrees source build/html') | |
8 |
|
12 | |||
9 | if sys.platform != 'win32': |
|
13 | if sys.platform != 'win32': | |
10 | # LaTeX format. |
|
14 | # LaTeX format. | |
11 | oscmd('sphinx-build -b latex -d build/doctrees source build/latex') |
|
15 | oscmd('sphinx-build -b latex -d build/doctrees source build/latex') | |
12 |
|
16 | |||
13 | # Produce pdf. |
|
17 | # Produce pdf. | |
|
18 | topdir = os.getcwd() | |||
14 | os.chdir('build/latex') |
|
19 | os.chdir('build/latex') | |
15 |
|
20 | |||
16 | # Change chapter style to section style: allows chapters to start on |
|
21 | # Change chapter style to section style: allows chapters to start on | |
17 | # the current page. Works much better for the short chapters we have. |
|
22 | # the current page. Works much better for the short chapters we have. | |
18 | # This must go in the class file rather than the preamble, so we modify |
|
23 | # This must go in the class file rather than the preamble, so we modify | |
19 | # manual.cls at runtime. |
|
24 | # manual.cls at runtime. | |
20 | chapter_cmds=r''' |
|
25 | chapter_cmds=r''' | |
21 | % Local changes. |
|
26 | % Local changes. | |
22 | \renewcommand\chapter{ |
|
27 | \renewcommand\chapter{ | |
23 | \thispagestyle{plain} |
|
28 | \thispagestyle{plain} | |
24 | \global\@topnum\z@ |
|
29 | \global\@topnum\z@ | |
25 | \@afterindentfalse |
|
30 | \@afterindentfalse | |
26 | \secdef\@chapter\@schapter |
|
31 | \secdef\@chapter\@schapter | |
27 | } |
|
32 | } | |
28 | \def\@makechapterhead#1{ |
|
33 | \def\@makechapterhead#1{ | |
29 | \vspace*{10\p@} |
|
34 | \vspace*{10\p@} | |
30 | {\raggedright \reset@font \Huge \bfseries \thechapter \quad #1} |
|
35 | {\raggedright \reset@font \Huge \bfseries \thechapter \quad #1} | |
31 | \par\nobreak |
|
36 | \par\nobreak | |
32 | \hrulefill |
|
37 | \hrulefill | |
33 | \par\nobreak |
|
38 | \par\nobreak | |
34 | \vspace*{10\p@} |
|
39 | \vspace*{10\p@} | |
35 | } |
|
40 | } | |
36 | \def\@makeschapterhead#1{ |
|
41 | \def\@makeschapterhead#1{ | |
37 | \vspace*{10\p@} |
|
42 | \vspace*{10\p@} | |
38 | {\raggedright \reset@font \Huge \bfseries #1} |
|
43 | {\raggedright \reset@font \Huge \bfseries #1} | |
39 | \par\nobreak |
|
44 | \par\nobreak | |
40 | \hrulefill |
|
45 | \hrulefill | |
41 | \par\nobreak |
|
46 | \par\nobreak | |
42 | \vspace*{10\p@} |
|
47 | \vspace*{10\p@} | |
43 | } |
|
48 | } | |
44 | ''' |
|
49 | ''' | |
45 |
|
50 | |||
46 | unmodified=True |
|
51 | unmodified=True | |
47 | for line in fileinput.FileInput('manual.cls',inplace=1): |
|
52 | for line in fileinput.FileInput('manual.cls',inplace=1): | |
48 | if 'Support for module synopsis' in line and unmodified: |
|
53 | if 'Support for module synopsis' in line and unmodified: | |
49 | line=chapter_cmds+line |
|
54 | line=chapter_cmds+line | |
50 | elif 'makechapterhead' in line: |
|
55 | elif 'makechapterhead' in line: | |
51 | # Already have altered manual.cls: don't need to again. |
|
56 | # Already have altered manual.cls: don't need to again. | |
52 | unmodified=False |
|
57 | unmodified=False | |
53 | print line, |
|
58 | print line, | |
54 |
|
59 | |||
55 | # Copying the makefile produced by sphinx... |
|
60 | # Copying the makefile produced by sphinx... | |
56 | oscmd('pdflatex ipython.tex') |
|
61 | oscmd('pdflatex ipython.tex') | |
57 | oscmd('pdflatex ipython.tex') |
|
62 | oscmd('pdflatex ipython.tex') | |
58 | oscmd('pdflatex ipython.tex') |
|
63 | oscmd('pdflatex ipython.tex') | |
59 | oscmd('makeindex -s python.ist ipython.idx') |
|
64 | oscmd('makeindex -s python.ist ipython.idx') | |
60 | oscmd('makeindex -s python.ist modipython.idx') |
|
65 | oscmd('makeindex -s python.ist modipython.idx') | |
61 | oscmd('pdflatex ipython.tex') |
|
66 | oscmd('pdflatex ipython.tex') | |
62 | oscmd('pdflatex ipython.tex') |
|
67 | oscmd('pdflatex ipython.tex') | |
63 | oscmd('cp ipython.pdf ../html') |
|
68 | ||
64 | os.chdir('../..') |
|
69 | # Create a manual/ directory with final html/pdf output | |
|
70 | os.chdir(topdir) | |||
|
71 | oscmd('rm -rf manual') | |||
|
72 | oscmd('mkdir manual') | |||
|
73 | oscmd('cp -r build/html/*.html build/html/_static manual/') | |||
|
74 | oscmd('cp build/latex/ipython.pdf manual/') |
@@ -1,33 +1,36 b'' | |||||
1 | import os,sys,shutil |
|
1 | #!/usr/bin/env python | |
|
2 | """Simple script to create a tarball with proper bzr version info. | |||
|
3 | """ | |||
2 |
|
4 | |||
|
5 | import os,sys,shutil | |||
3 |
|
6 | |||
4 | basever = '0.8.3' |
|
7 | basever = '0.8.3' | |
5 |
|
8 | |||
6 | def oscmd(c): |
|
9 | def oscmd(c): | |
7 | print ">",c |
|
10 | print ">",c | |
8 | s = os.system(c) |
|
11 | s = os.system(c) | |
9 | if s: |
|
12 | if s: | |
10 | print "Error",s |
|
13 | print "Error",s | |
11 | sys.exit(s) |
|
14 | sys.exit(s) | |
12 |
|
15 | |||
13 | def verinfo(): |
|
16 | def verinfo(): | |
14 |
|
17 | |||
15 | out = os.popen('bzr version-info') |
|
18 | out = os.popen('bzr version-info') | |
16 | pairs = (l.split(':',1) for l in out) |
|
19 | pairs = (l.split(':',1) for l in out) | |
17 | d = dict(((k,v.strip()) for (k,v) in pairs)) |
|
20 | d = dict(((k,v.strip()) for (k,v) in pairs)) | |
18 | return d |
|
21 | return d | |
19 |
|
22 | |||
20 | basename = 'ipython' |
|
23 | basename = 'ipython' | |
21 |
|
24 | |||
22 | #tarname = '%s.r%s.tgz' % (basename, ver) |
|
25 | #tarname = '%s.r%s.tgz' % (basename, ver) | |
23 | oscmd('python update_revnum.py') |
|
26 | oscmd('python update_revnum.py') | |
24 |
|
27 | |||
25 | ver = verinfo() |
|
28 | ver = verinfo() | |
26 |
|
29 | |||
27 | if ver['branch-nick'] == 'ipython': |
|
30 | if ver['branch-nick'] == 'ipython': | |
28 | tarname = 'ipython-%s.bzr.r%s.tgz' % (basever, ver['revno']) |
|
31 | tarname = 'ipython-%s.bzr.r%s.tgz' % (basever, ver['revno']) | |
29 | else: |
|
32 | else: | |
30 | tarname = 'ipython-%s.bzr.r%s.%s.tgz' % (basever, ver['revno'], ver['branch-nick']) |
|
33 | tarname = 'ipython-%s.bzr.r%s.%s.tgz' % (basever, ver['revno'], ver['branch-nick']) | |
31 |
|
34 | |||
32 | oscmd('bzr export ' + tarname) |
|
35 | oscmd('bzr export ' + tarname) | |
33 |
|
36 |
@@ -1,50 +1,48 b'' | |||||
1 | """ Create ipykit and exe installer |
|
1 | #!/usr/bin/env python | |
|
2 | """IPython release script | |||
2 |
|
3 | |||
3 | requires py2exe |
|
4 | Create ipykit and exe installer | |
4 |
|
5 | |||
|
6 | requires py2exe | |||
5 | """ |
|
7 | """ | |
6 | #!/bin/sh |
|
|||
7 | # IPython release script |
|
|||
8 |
|
||||
9 |
|
8 | |||
10 | import os |
|
9 | import os | |
11 | import distutils.dir_util |
|
10 | import distutils.dir_util | |
12 | import sys |
|
11 | import sys | |
13 |
|
12 | |||
14 | execfile('../IPython/Release.py') |
|
13 | execfile('../IPython/Release.py') | |
15 |
|
14 | |||
16 | def c(cmd): |
|
15 | def c(cmd): | |
17 | print ">",cmd |
|
16 | print ">",cmd | |
18 | os.system(cmd) |
|
17 | os.system(cmd) | |
19 |
|
18 | |||
20 | ipykit_name = "ipykit-%s" % version |
|
19 | ipykit_name = "ipykit-%s" % version | |
21 |
|
20 | |||
22 |
|
||||
23 | os.chdir('..') |
|
21 | os.chdir('..') | |
24 | if os.path.isdir('dist'): |
|
22 | if os.path.isdir('dist'): | |
25 | distutils.dir_util.remove_tree('dist') |
|
23 | distutils.dir_util.remove_tree('dist') | |
26 | if os.path.isdir(ipykit_name): |
|
24 | if os.path.isdir(ipykit_name): | |
27 | distutils.dir_util.remove_tree(ipykit_name) |
|
25 | distutils.dir_util.remove_tree(ipykit_name) | |
28 |
|
26 | |||
29 | if sys.platform == 'win32': |
|
27 | if sys.platform == 'win32': | |
30 | c("python exesetup.py py2exe") |
|
28 | c("python exesetup.py py2exe") | |
31 |
|
29 | |||
32 | os.rename('dist',ipykit_name) |
|
30 | os.rename('dist',ipykit_name) | |
33 |
|
31 | |||
34 | c("zip -r %s.zip %s" % (ipykit_name, ipykit_name)) |
|
32 | c("zip -r %s.zip %s" % (ipykit_name, ipykit_name)) | |
35 |
|
33 | |||
36 | # Build source and binary distros |
|
34 | # Build source and binary distros | |
37 | c('./setup.py sdist --formats=gztar') |
|
35 | c('./setup.py sdist --formats=gztar') | |
38 |
|
36 | |||
39 | c("python2.4 ./setup.py bdist_rpm --binary-only --release=py24 --python=/usr/bin/python2.4") |
|
37 | c("python2.4 ./setup.py bdist_rpm --binary-only --release=py24 --python=/usr/bin/python2.4") | |
40 | c("python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5") |
|
38 | c("python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5") | |
41 |
|
39 | |||
42 | # Build eggs |
|
40 | # Build eggs | |
43 | c('python2.4 ./eggsetup.py bdist_egg') |
|
41 | c('python2.4 ./eggsetup.py bdist_egg') | |
44 | c('python2.5 ./eggsetup.py bdist_egg') |
|
42 | c('python2.5 ./eggsetup.py bdist_egg') | |
45 |
|
43 | |||
46 | c("python setup.py bdist_wininst --install-script=ipython_win_post_install.py") |
|
44 | c("python setup.py bdist_wininst --install-script=ipython_win_post_install.py") | |
47 |
|
45 | |||
48 | os.chdir('tools') |
|
46 | os.chdir('tools') | |
49 | c('python make_tarball.py') |
|
47 | c('python make_tarball.py') | |
50 |
|
48 |
@@ -1,99 +1,101 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 | ipbackupdir=~/ipython/backup | |||
7 |
|
8 | |||
8 | echo |
|
9 | echo | |
9 | echo "Releasing IPython version $version" |
|
10 | echo "Releasing IPython version $version" | |
10 | echo "==================================" |
|
11 | echo "==================================" | |
11 |
|
12 | |||
12 | echo "Marking ChangeLog with release information and making NEWS file..." |
|
13 | echo "Marking ChangeLog with release information and making NEWS file..." | |
13 |
|
14 | |||
14 | # Stamp changelog and save a copy of the status at each version, in case later |
|
15 | # 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 |
|
16 | # 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). |
|
17 | # very small interim releases have no significant changes). | |
17 |
|
18 | |||
18 | cd $ipdir/doc |
|
19 | cd $ipdir/doc | |
19 | cp ChangeLog ChangeLog.old |
|
20 | cp ChangeLog ChangeLog.old | |
20 | cp ChangeLog ChangeLog.$version |
|
21 | cp ChangeLog ChangeLog.$version | |
21 | daystamp=`date +%Y-%m-%d` |
|
22 | daystamp=`date +%Y-%m-%d` | |
22 | echo $daystamp " ***" Released version $version > ChangeLog |
|
23 | echo $daystamp " ***" Released version $version > ChangeLog | |
23 | echo >> ChangeLog |
|
24 | echo >> ChangeLog | |
24 | cat ChangeLog.old >> ChangeLog |
|
25 | cat ChangeLog.old >> ChangeLog | |
25 | rm ChangeLog.old |
|
26 | rm ChangeLog.old | |
26 |
|
27 | |||
27 | # Build NEWS file |
|
28 | # Build NEWS file | |
28 | echo "Changes between the last two releases (major or minor)" > NEWS |
|
29 | 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 |
|
30 | echo "Note that this is an auto-generated diff of the ChangeLogs" >> NEWS | |
30 | echo >> NEWS |
|
31 | echo >> NEWS | |
31 | diff ChangeLog.previous ChangeLog | grep -v '^0a' | sed 's/^> //g' >> NEWS |
|
32 | diff ChangeLog.previous ChangeLog | grep -v '^0a' | sed 's/^> //g' >> NEWS | |
32 | cp ChangeLog ChangeLog.previous |
|
33 | cp ChangeLog ChangeLog.previous | |
33 |
|
34 | |||
34 | # Clean up build/dist directories |
|
35 | # Clean up build/dist directories | |
35 | rm -rf $ipdir/build/* |
|
36 | rm -rf $ipdir/build/* | |
36 | rm -rf $ipdir/dist/* |
|
37 | rm -rf $ipdir/dist/* | |
37 |
|
38 | |||
38 | # Perform local backup |
|
39 | # Perform local backup | |
39 | cd $ipdir/tools |
|
40 | cd $ipdir/tools | |
40 | ./bkp.sh |
|
41 | ./make_tarball.py | |
|
42 | mv ipython-*.tgz $ipbackupdir | |||
41 |
|
43 | |||
42 | # Build source and binary distros |
|
44 | # Build source and binary distros | |
43 | cd $ipdir |
|
45 | cd $ipdir | |
44 | ./setup.py sdist --formats=gztar |
|
46 | ./setup.py sdist --formats=gztar | |
45 |
|
47 | |||
46 | # Build version-specific RPMs, where we must use the --python option to ensure |
|
48 | # 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 |
|
49 | # that the resulting RPM is really built with the requested python version (so | |
48 | # things go to lib/python2.X/...) |
|
50 | # things go to lib/python2.X/...) | |
49 | python2.4 ./setup.py bdist_rpm --binary-only --release=py24 --python=/usr/bin/python2.4 |
|
51 | 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 |
|
52 | python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5 | |
51 |
|
53 | |||
52 | # Build eggs |
|
54 | # Build eggs | |
53 |
python2.4 ./ |
|
55 | python2.4 ./setup_bdist_egg.py | |
54 |
python2.5 ./ |
|
56 | python2.5 ./setup_bdist_egg.py | |
55 |
|
57 | |||
56 | # Call the windows build separately, so that the extra Windows scripts don't |
|
58 | # 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 |
|
59 | # get pulled into Unix builds (setup.py has code which checks for | |
58 | # bdist_wininst) |
|
60 | # bdist_wininst) | |
59 | ./setup.py bdist_wininst --install-script=ipython_win_post_install.py |
|
61 | ./setup.py bdist_wininst --install-script=ipython_win_post_install.py | |
60 |
|
62 | |||
61 | # Change name so retarded Vista runs the installer correctly |
|
63 | # Change name so retarded Vista runs the installer correctly | |
62 | rename 's/win32/win32-setup/' $ipdir/dist/*.exe |
|
64 | rename 's/win32/win32-setup/' $ipdir/dist/*.exe | |
63 |
|
65 | |||
64 | # Register with the Python Package Index (PyPI) |
|
66 | # Register with the Python Package Index (PyPI) | |
65 | echo "Registering with PyPI..." |
|
67 | echo "Registering with PyPI..." | |
66 | cd $ipdir |
|
68 | cd $ipdir | |
67 | ./setup.py register |
|
69 | ./setup.py register | |
68 |
|
70 | |||
69 | # Upload all files |
|
71 | # Upload all files | |
70 | cd $ipdir/dist |
|
72 | cd $ipdir/dist | |
71 | echo "Uploading distribution files..." |
|
73 | echo "Uploading distribution files..." | |
72 | scp * ipython@ipython.scipy.org:www/dist/ |
|
74 | scp * ipython@ipython.scipy.org:www/dist/ | |
73 |
|
75 | |||
74 | echo "Uploading backup files..." |
|
76 | echo "Uploading backup files..." | |
75 |
cd |
|
77 | cd $ipbackupdir | |
76 | scp `ls -1tr | tail -1` ipython@ipython.scipy.org:www/backup/ |
|
78 | scp `ls -1tr | tail -1` ipython@ipython.scipy.org:www/backup/ | |
77 |
|
79 | |||
78 | echo "Updating webpage..." |
|
80 | echo "Updating webpage..." | |
79 | cd $ipdir/doc |
|
81 | cd $ipdir/doc | |
80 | www=~/ipython/homepage |
|
82 | www=~/ipython/homepage | |
81 | cp ChangeLog NEWS $www |
|
83 | cp ChangeLog NEWS $www | |
82 | rm -rf $www/doc/* |
|
84 | rm -rf $www/doc/* | |
83 | cp -r manual.pdf manual/ $www/doc |
|
85 | cp -r manual.pdf manual/ $www/doc | |
84 | cd $www |
|
86 | cd $www | |
85 | ./update |
|
87 | ./update | |
86 |
|
88 | |||
87 | # Alert package maintainers |
|
89 | # Alert package maintainers | |
88 | echo "Alerting package maintainers..." |
|
90 | echo "Alerting package maintainers..." | |
89 |
maintainers='fperez@ |
|
91 | #maintainers='fernando.perez@berkeley.edu ariciputi@users.sourceforge.net jack@xiph.org tretkowski@inittab.de dryice@hotpop.com willmaier@ml1.net' | |
90 |
|
|
92 | maintainers='fernando.perez@berkeley.edu' | |
91 |
|
93 | |||
92 | for email in $maintainers |
|
94 | for email in $maintainers | |
93 | do |
|
95 | do | |
94 | echo "Emailing $email..." |
|
96 | echo "Emailing $email..." | |
95 | mail -s "[Package maintainer notice] A new IPython is out. Version: $version" \ |
|
97 | mail -s "[Package maintainer notice] A new IPython is out. Version: $version" \ | |
96 | $email < NEWS |
|
98 | $email < NEWS | |
97 | done |
|
99 | done | |
98 |
|
100 | |||
99 | echo "Done!" |
|
101 | echo "Done!" |
@@ -1,28 +1,28 b'' | |||||
1 | #!/bin/sh |
|
1 | #!/bin/sh | |
2 |
|
2 | |||
3 | # release test |
|
3 | # release test | |
4 |
|
4 | |||
5 | cd ~/ipython/ipython |
|
5 | cd ~/ipython/ipython | |
6 |
|
6 | |||
7 | # clean up build/dist directories |
|
7 | # clean up build/dist directories | |
8 | rm -rf build/* |
|
8 | rm -rf build/* | |
9 | rm -rf dist/* |
|
9 | rm -rf dist/* | |
10 |
|
10 | |||
11 | # build source distros |
|
11 | # build source distros | |
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 ./ |
|
19 | python2.4 ./setup_bdist_egg.py | |
20 |
python2.5 ./ |
|
20 | python2.5 ./setup_bdist_egg.py | |
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 |
|
26 | |||
27 | # Change name so retarded Vista runs the installer correctly |
|
27 | # Change name so retarded Vista runs the installer correctly | |
28 | rename 's/win32/win32-setup/' dist/*.exe |
|
28 | rename 's/win32/win32-setup/' dist/*.exe |
General Comments 0
You need to be logged in to leave comments.
Login now