]> Creatis software - gdcm.git/blob - PACKAGER
BUG: Set proper cmake command. Thanks to Aris -again-
[gdcm.git] / PACKAGER
1 Here is the checklist when freezing a version of gdcm:
2
3 * First stage, checkings:
4   1/ Un*x:
5     Notation: we here assume you have a cvs tree in GDCMHOME directory.
6     cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public login
7     cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public co gdcm
8     cd gdcm
9     export GDCMHOME=`pwd`
10     cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public co gdcmData
11
12     1a/ check the full compilation is effective:
13        ./autogen.sh --enable-vtk --enable-python --enable-doxygen
14        make
15         
16     1b/ check the python test suite is clean:
17        cd gdcmPython
18        export PYTHONPATH=`pwd`/..
19        ln -s .libs/pygdcm.so _gdcm.so
20        ln -s .libs/vtkgdcmPython.so .
21        python testSuite.py
22
23     1c/ check the setup.py distutil script is operational and then validate
24         its produced packages through the test suite, in all following cases
25        - Direct installation:
26          cd $GDCMHOME
27          python setup.py install --prefix=/tmp
28          cd /tmp/lib/python2.2/site-packages/
29          ln -s $GDCMHOME/gdcmData .
30          export PYTHONPATH=`pwd`
31          cd gdcmPython/
32          python testSuite.py
33          cd $GDCMHOME
34          \rm -fr build /tmp/lib
35        - Binary distribution:
36          cd $GDCMHOME
37          make clean
38             [ or you migth get some complains about the function 
39               PyVTKClass_vtkGdcmReaderNew being multiply defined: this is
40               because of the loose definition of vtkSources in setup.py
41               in which the usage of the glob function will produce a link
42               stage with multiple occurences of vtkGdcmReaderPython.o)].
43          python setup.py bdist --formats=rpm
44          su
45          rpm -Uvh dist/gdcmPython-0.*.i386.rpm
46          cd /usr/lib/python2.2/site-packages/
47          ln -s $GDCMHOME/gdcmData .
48          cd gdcmPython
49          python testSuite.py
50          rpm --erase gdcmPython
51        - Source distribution and then binary distribution (out of build 
52          source distro):
53          cd $GDCMHOME
54          [make clean (see above) ]
55          python setup.py sdist
56          cd /tmp
57          tar zxvf $GDCMHOME/dist/gdcmPython-*.tar.gz
58          cd gdcmPython-*/
59          python setup.py bdist --formats=rpm
60          cd dist
61          As root, repeat above installation with rpm and test.
62          
63   2/ Windoze:
64     Notation: we consider that GDCMHOME is the directory obtained from the
65     following checkout.
66     cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public login
67     cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public co gdcm
68     cd gdcm
69     cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public co gdcmData
70
71     2a/ compile all projects in the gdcm.dsw workspace.
72
73     2b/ set the PYTHONPATH environement variable to the gdcm/gdcmPython
74        directory
75        check the python test suite is clean (python testSuite.py)
76        cd gdcmPython
77        python testSuite.py
78
79     2c/ check the setup.py distutil script is operational and then validate
80         its produced packages through the test suite, in all following cases
81        - Direct installation:
82          cd $(GDCMHOME)
83          python setup.py install --prefix="c:\tmp"
84          cd /tmp/Lib/site-packages/
85          copy $(GDCMDATAHOME) .
86          export PYTHONPATH="c:\tmp\Lib\site-packages"
87          cd gdcmPython/
88          python testSuite.py
89          remove $(GDCMHOME)\build directory
90        - Binary distribution:
91          cd $(GDCMHOME)
92          python setup.py bdist --formats=wininst
93          install $(GDCMHOME)\dist\gdcmPython-xxx.win32-py2.2.exe
94          cd $(PYTHONHOME)\Lib\site-packages\
95          Check out gdcmData
96          cd gdcmPython
97          clean up PYTHONPATH
98          python testSuite.py
99          remove $(GDCMHOME)\build directory
100        - Source distribution and then binary distribution (out of build
101          source distro):
102          cd $(GDCMHOME)
103          python setup.py sdist --formats=zip
104          unzip $(GDCMHOME)\dist\gdcmPython-xxx.zip in TMPHOME directory
105          cd $(TMPHOME)
106          cd gdcmPython-*/
107          python setup.py bdist --formats=wininst
108          As root, repeat above installation with exe and test.
109          
110 * Second stage: preparing packaging:
111   - Update the version number in configure.in (AM_INIT_AUTOMAKE)
112   - Update the version number in setup.py (version entry in setup object).
113
114 * Third stage: packaging
115   1/ Un*x
116     1a/  Packaging at the C/C++/Python level (i.e. exports both libraries,
117         include files and python package)
118       - Make sure you have a ~/.rpmmacros file containing the line
119             %_topdir <somedirectoryPath>
120         and that <somedirectoryPath> exists and contains the subdirs
121         BUILD, SOURCES, RPMS/i386, SRPMS, SPECS
122       - cd $(GDCMHOME)
123       - ./autogen.sh --enable-vtk --enable-python --enable-doxygen
124       - make release  (generates gdcm-x.y.z.tar.gz)
125       - rpm -ta gdcm-x.y.z.tar.gz
126       - collect the result in <somedirectoryPath>/RPMS/i386/ and
127         <somedirectoryPath>/SRPMS.
128     1b/ Packaging at the python level:
129          cd $(GDCMHOME)
130          python setup.py sdist
131          python setup.py bdist --formats=rpm
132          collect both source distro and binary distro
133
134   2/ Un*x
135     2a/ Packaging at the python level:
136          cd $(GDCMHOME)
137          python setup.py sdist --formats=zip
138          python setup.py bdist --formats=wininst
139          collect both source distro and binary distro
140