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 (python testSuite.py)
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 $(GDCMDATAHOME) .
30 export PYTHONPATH=`pwd`
33 - Binary distribution:
35 python setup.py bdist --formats=rpm
37 rpm -Uvh dist/gdcmPython-0.[n].i386.rpm
38 cd /usr/lib/python2.2/site-packages/
42 rpm --erase gdcmPython
43 - Source distribution and then binary distribution (out of build
48 tar zxvf $(GDCMHOME)/dist/gdcmPython-*.tar.gz
50 python setup.py bdist --formats=rpm
51 As root, repeat above installation with rpm and test.
54 Notation: we consider that GDCMHOME is the directory obtained from the
56 cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public login
57 cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public co gdcm
59 cvs -d:pserver:anonymous@cvs.creatis.insa-lyon.fr:2402/cvs/public co gdcmData
61 2a/ compile all projects in the gdcm.dsw workspace.
63 2b/ set the PYTHONPATH environement variable to the gdcm/gdcmPython
65 check the python test suite is clean (python testSuite.py)
69 2c/ check the setup.py distutil script is operational and then validate
70 its produced packages through the test suite, in all following cases
71 - Direct installation:
73 python setup.py install --prefix="c:\tmp"
74 cd /tmp/Lib/site-packages/
75 copy $(GDCMDATAHOME) .
76 export PYTHONPATH="c:\tmp\Lib\site-packages"
79 remove $(GDCMHOME)\build directory
80 - Binary distribution:
82 python setup.py bdist --formats=wininst
83 install $(GDCMHOME)\dist\gdcmPython-0.3.win32-py2.2.exe
84 cd $(PYTHONHOME)\Lib\site-packages\
89 remove $(GDCMHOME)\build directory
90 - Source distribution and then binary distribution (out of build
93 python setup.py sdist --formats=zip
94 unzip $(GDCMHOME)\dist\gdcmPython-0.3.zip in TMPHOME directory
97 python setup.py bdist --formats=wininst
98 As root, repeat above installation with exe and test.
100 * Second stage: preparing packaging:
101 - Update the version number in configure.in (AM_INIT_AUTOMAKE)
102 - Update the version number in setup.py (version entry in setup object).
104 * Third stage: packaging
106 1a/ Packaging at the C/C++/Python level (i.e. exports both libraries,
107 include files and python package)
108 - Make sure you have a ~/.rpmmacros file containing the line
109 %_topdir <somedirectoryPath>
110 and that <somedirectoryPath> exists and contains the subdirs
111 BUILD, SOURCES, RPMS/i386, SRPMS, SPECS
113 - ./autogen.sh --enable-vtk --enable-python --enable-doxygen
114 - make release (generates gdcm-x.y.z.tar.gz)
115 - rpm -ta gdcm-x.y.z.tar.gz
116 1b/ Packaging at the python level:
118 python setup.py sdist
119 python setup.py bdist --formats=rpm
120 collect both source distro and binary distro
123 2a/ Packaging at the python level:
125 python setup.py sdist --formats=zip
126 python setup.py bdist --formats=wininst
127 collect both source distro and binary distro