]> Creatis software - gdcm.git/blob - PACKAGER
*** empty log message ***
[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          python setup.py bdist --formats=rpm
38          su
39          rpm -Uvh dist/gdcmPython-0.*.i386.rpm
40          cd /usr/lib/python2.2/site-packages/
41          ln -s $GDCMHOME/gdcmData .
42          cd gdcmPython
43          python testSuite.py
44          rpm --erase gdcmPython
45        - Source distribution and then binary distribution (out of build 
46          source distro):
47          cd $GDCMHOME
48          python setup.py sdist
49          cd /tmp
50          tar zxvf $GDCMHOME/dist/gdcmPython-*.tar.gz
51          cd gdcmPython-*/
52          python setup.py bdist --formats=rpm
53          cd dist
54          As root, repeat above installation with rpm and test.
55          
56   2/ Windoze:
57     Notation: we consider that GDCMHOME is the directory obtained from the
58     following checkout.
59     cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public login
60     cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public co gdcm
61     cd gdcm
62     cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public co gdcmData
63
64     2a/ compile all projects in the gdcm.dsw workspace.
65
66     2b/ set the PYTHONPATH environement variable to the gdcm/gdcmPython
67        directory
68        check the python test suite is clean (python testSuite.py)
69        cd gdcmPython
70        python testSuite.py
71
72     2c/ check the setup.py distutil script is operational and then validate
73         its produced packages through the test suite, in all following cases
74        - Direct installation:
75          cd $(GDCMHOME)
76          python setup.py install --prefix="c:\tmp"
77          cd /tmp/Lib/site-packages/
78          copy $(GDCMDATAHOME) .
79          export PYTHONPATH="c:\tmp\Lib\site-packages"
80          cd gdcmPython/
81          python testSuite.py
82          remove $(GDCMHOME)\build directory
83        - Binary distribution:
84          cd $(GDCMHOME)
85          python setup.py bdist --formats=wininst
86          install $(GDCMHOME)\dist\gdcmPython-0.3.win32-py2.2.exe
87          cd $(PYTHONHOME)\Lib\site-packages\
88          Check out gdcmData
89          cd gdcmPython
90          clean up PYTHONPATH
91          python testSuite.py
92          remove $(GDCMHOME)\build directory
93        - Source distribution and then binary distribution (out of build
94          source distro):
95          cd $(GDCMHOME)
96          python setup.py sdist --formats=zip
97          unzip $(GDCMHOME)\dist\gdcmPython-0.3.zip in TMPHOME directory
98          cd $(TMPHOME)
99          cd gdcmPython-*/
100          python setup.py bdist --formats=wininst
101          As root, repeat above installation with exe and test.
102          
103 * Second stage: preparing packaging:
104   - Update the version number in configure.in (AM_INIT_AUTOMAKE)
105   - Update the version number in setup.py (version entry in setup object).
106
107 * Third stage: packaging
108   1/ Un*x
109     1a/  Packaging at the C/C++/Python level (i.e. exports both libraries,
110         include files and python package)
111       - Make sure you have a ~/.rpmmacros file containing the line
112             %_topdir <somedirectoryPath>
113         and that <somedirectoryPath> exists and contains the subdirs
114         BUILD, SOURCES, RPMS/i386, SRPMS, SPECS
115       - cd $(GDCMHOME)
116       - ./autogen.sh --enable-vtk --enable-python --enable-doxygen
117       - make release  (generates gdcm-x.y.z.tar.gz)
118       - rpm -ta gdcm-x.y.z.tar.gz
119     1b/ Packaging at the python level:
120          cd $(GDCMHOME)
121          python setup.py sdist
122          python setup.py bdist --formats=rpm
123          collect both source distro and binary distro
124
125   2/ Un*x
126     2a/ Packaging at the python level:
127          cd $(GDCMHOME)
128          python setup.py sdist --formats=zip
129          python setup.py bdist --formats=wininst
130          collect both source distro and binary distro
131