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