~ubuntu-branches/debian/sid/gdal/sid

« back to all changes in this revision

Viewing changes to debian/README.source

  • Committer: Package Import Robot
  • Author(s): Francesco Paolo Lovergine
  • Date: 2012-05-07 15:04:42 UTC
  • mfrom: (5.5.16 experimental)
  • Revision ID: package-import@ubuntu.com-20120507150442-2eks97loeh6rq005
Tags: 1.9.0-1
* Ready for sid, starting transition.
* All symfiles updated to latest builds.
* Added dh_numpy call in debian/rules to depend on numpy ABI.
* Policy bumped to 3.9.3, no changes required.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
GDAL source for Debian
2
2
----------------------
3
3
 
4
 
This package uses dpatch to manage all modifications to the upstream
 
4
This package uses quilt to manage all modifications to the upstream
5
5
source. Changes are stored in the source package as diffs in
6
6
debian/patches and applied during the build.
7
7
 
19
19
is supported upstream is the Grass one. Do not bother upstream 
20
20
with bugs or requests about the other ones.
21
21
 
22
 
 -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 01 Sep 2009 22:45:56 +0200
23
 
 
 
22
GDAL symbols and versioning
 
23
---------------------------
 
24
 
 
25
Note that currently GDAL package maintain builtin symbols and a Debian
 
26
specific versioning to fulfill two goals:
 
27
 
 
28
 - hiding non-GDAL public functions (e.g. all Tiff/GeoTiff symbols when
 
29
   inner copies of the libraries are used).
 
30
 - checking possible API breakages from one upstream version to another and 
 
31
   eventually providing a versioned flavor to manage that breakage.
 
32
   
 
33
Facts:
 
34
 
 
35
 - the C interface is considered stable, but it adds new functions at every
 
36
   new release.
 
37
 - the C++ interface is considered unstable and adds/removes/changes methods
 
38
   at every new minor/major release. That implies both API/ABI changes at
 
39
   every new release, possibly.
 
40
 - both C and C++ APIs coexists in the same library with a unique SONAME (the
 
41
   C one).
 
42
 - the only official API that should be used by all programs is the C one.
 
43
   At the moment this is generally respected, so forcing a library migration
 
44
   should be considered pointless in general.
 
45
 
 
46
So:
 
47
 
 
48
 - Use and maintain a versioning script (debian/gdal.symver). The version
 
49
   currently used there is `GDAL_1.8', and it should be maintained from one
 
50
   version to another, until an hack will be required for some specific
 
51
   future release.
 
52
 - Use and maintain ai single arch-indep C-only symbol file as libgdal*.symbols.common
 
53
   and an arch-dep C++ demangled symbol file for each arch. They are expected to 
 
54
   change at every new upstream release, but can be used to do general checks
 
55
   on possible API/ABI violations. Files can be updated by running
 
56
   dpkg-gensymbols on each build box, which is already done by dh_makeshlibs.
 
57
 
 
58
   To do that at each upgrade the following procedure is suggested:
 
59
        - do a an experimental upload with old symbol files and force 
 
60
          ignoring of symbol changes (-c0 arg in dh_makeshlibs).
 
61
        - collect all resulting shlib on all architectures.
 
62
        - run manually dpkg-gensymbols to collect differences and check
 
63
          that all is ok. If not, solve the situation in a creative manner :)
 
64
 
 
65
          wget http://ftp.it.debian.org/debian/pool/main/g/gdal/libgdal1_<ver>_armel.deb
 
66
          dpkg --extract libgdal1_<ver>_armel.deb /tmp
 
67
          dpkg-gensymbols -plibgdal1 -aarmel -v<upstream_ver> \
 
68
            -Idebian/libgdal1.symbols.armel -O/tmp/libgdal1.symbols.armel \
 
69
            -e/tmp/usr/lib/libgdal.so.1.16.0
 
70
 
 
71
        - update symbol files to ignore uninfluent changes in C++ API on
 
72
          all archs. You will need c++filt to demangle C++ symbols and
 
73
          a bit of vi/sed magics.
 
74
        - re-upload in unstable if possible with new symbols and after
 
75
          removing the -c0 arg.
 
76
 
 
77
 -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 23 Feb 2012 22:45:56 +0200