1 Here is the checklist when freezing a version of gdcm:
3 * First stage, checkings:
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
10 cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public co gdcmData
12 1a/ check the full compilation is effective:
13 ./autogen.sh --enable-vtk --enable-python --enable-doxygen
16 1b/ check the python test suite is clean:
18 export PYTHONPATH=`pwd`/..
19 ln -s .libs/pygdcm.so _gdcm.so
20 ln -s .libs/vtkgdcmPython.so .
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:
27 python setup.py install --prefix=/tmp/
28 cd /tmp/lib/python2.2/site-packages/
29 ln -s $GDCMHOME/gdcmData .
30 export PYTHONPATH=`pwd`
34 \rm -fr build /tmp/lib
35 - Binary distribution:
37 python setup.py bdist --formats=rpm
39 rpm -Uvh dist/gdcmPython-0.*.i386.rpm
40 cd /usr/lib/python2.2/site-packages/
41 ln -s $GDCMHOME/gdcmData .
44 rpm --erase gdcmPython
45 - Source distribution and then binary distribution (out of build
50 tar zxvf $GDCMHOME/dist/gdcmPython-*.tar.gz
52 python setup.py bdist --formats=rpm
54 As root, repeat above installation with rpm and test.
57 Notation: we consider that GDCMHOME is the directory obtained from the
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
62 cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public co gdcmData
64 2a/ compile all projects in the gdcm.dsw workspace.
66 2b/ set the PYTHONPATH environement variable to the gdcm/gdcmPython
68 check the python test suite is clean (python testSuite.py)
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:
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"
82 remove $(GDCMHOME)\build directory
83 - Binary distribution:
85 python setup.py bdist --formats=wininst
86 install $(GDCMHOME)\dist\gdcmPython-0.3.win32-py2.2.exe
87 cd $(PYTHONHOME)\Lib\site-packages\
92 remove $(GDCMHOME)\build directory
93 - Source distribution and then binary distribution (out of build
96 python setup.py sdist --formats=zip
97 unzip $(GDCMHOME)\dist\gdcmPython-0.3.zip in TMPHOME directory
100 python setup.py bdist --formats=wininst
101 As root, repeat above installation with exe and test.
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).
107 * Third stage: packaging
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
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 - collect the result in <somedirectoryPath>/RPMS/i386/ and
120 <somedirectoryPath>/SRPMS.
121 1b/ Packaging at the python level:
123 python setup.py sdist
124 python setup.py bdist --formats=rpm
125 collect both source distro and binary distro
128 2a/ Packaging at the python level:
130 python setup.py sdist --formats=zip
131 python setup.py bdist --formats=wininst
132 collect both source distro and binary distro