[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: upgrade orfeotoolbox to 5.0



Hi Rashad,

Thanks for the further clarifications.

On 05-09-15 11:22, Rashad M wrote:
> On Sat, Sep 5, 2015 at 3:04 AM, Sebastiaan Couwenberg wrote:
>> debian/rules:
>>
>>  * The DIST variable is not used, and there is no build dependency on
>>    lsb-release. Good candidate for removal.

I've removed this one too, so all the issues that needed a fix, have
been. This leaves only the two copyright TODO/FIXME items, and the
library packages.

>> debian/otb-bin.install:
>>
>>  * Why does it install usr/lib/libOTBCommandLine*.so.*, those libraries
>>    belongs in libotb. The ${shlibs:Depends} already take care of the
>>   dependency on libotb.
>
> OTBCommandLine* are need if you want otbapplications. they are used for
> application launcher for parse, load parameters from commandline. As libotb
> should be just the core lib, I kept it in otb-bin.
> 
>> debian/otb-bin-qt.install:
>>
>>  * Same as for otb-bin, the libraries belong in libotb. If you don't
>>    want to the qt dependencies on libotb, you should move the QtWidget
>>    library to libotb-qtwidget or some other libotb-qt package.
>
> okay, I can move the *QtWidget*.so to libotb-qtwidget but it cannot be a
> dependecy to libotb.
> 
> I think maybe libs needs to be separated into more .install files . so
> there can be
> libotb-core
> libotb-commandline,
> libotb-qt,
> libotb-dev
> and a libotb-all
> 
> otb-bin-qt
> otb-bin-commandline can install the respective binaries.
> 
> If okay; I will push changes next week.

Ideally every shared library has its own binary package and a symbols
file for versioned dependencies on the library packages with version
containsts based on the library symbols used.

Regarding shared libraries the following is the essential must-read
documentation:

 Debian Policy Manual: Chapter 8 - Shared libraries
 https://www.debian.org/doc/debian-policy/ch-sharedlibs.html

 Debian Library Packaging guide
 https://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html

Since OTB provides C++ libraries, the symbols are not very stable. The
pkgkde-symbolshelper (from pkg-kde-tools) is the recommended tool for
C++ symbols in the Debian GIS team. See:

 Debian KDE Team - Working with symbols files
 http://pkg-kde.alioth.debian.org/symbolfiles.html

This mostly involves adding a build dependency on pkg-kde-tools and
adding --with pkgkde_symbolshelper to the dh invocation in d/rules,
and overriding dh_makeshlibs to not fail on symbols changes, e.g.:

 %
 	dh $@ --with pkgkde_symbolshelper --parallel
 ...

 override_dh_makeshlibs:
 	dh_makeshlibs -- -c0 -v$(OTB_VERSION_FULL)

You need to create the initial symbols files as documented in the
'Working with symbols files' documentation. Unpack the built library
packages with `dpkg-deb -R` and feed the path of the unpacked library to
`pkgkde-gensymbols`.

Kind Regards,

Bas

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1


Reply to: