Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
Description
A listing of detectable policy problems in the thrift Debian packaging (in contrib/) can be found with a lintian run:
sudo aptitude install lintian cd /my/thrift/dir dpkg-buildpackage -us -uc lintian -i ../thrift_0.8.0_amd64.changes
I'll note some of them here for posterity.
thrift source: weak-library-dev-dependency libthrift-dev on libthrift0
The libthrift-dev package should have a versioned dependency on libthrift0, i.e., in debian/control:
Depends: ..., libthrift0 (= ${binary:Version}), ...
thrift source: build-depends-on-build-essential build-depends
You don't need the "build-essential" bit in Build-Depends.
thrift-compiler: description-contains-invalid-control-statement
Syntax is a bit off in debian/control for the Description fields; I'll attach a patch.
thrift-compiler: binary-without-manpage usr/bin/thrift
You need a man page for /usr/bin/thrift.
python-thrift-dbg: wrong-section-according-to-package-name python-thrift-dbg => debug
The python-thrift-dbg package should be in Section: debug.
python-thrift-dbg: dir-in-usr-local usr/local/lib/
Debian packages shouldn't be shipping anything in /usr/local; that's supposed to be reserved for the local system admin. There isn't much reason for this anyway; the dirs being shipped by python-thrift-dbg here are empty.
libthrift-ruby: wrong-section-according-to-package-name libthrift-ruby => ruby
The libthrift-ruby package should be in Section: ruby. Also, according to http://wiki.debian.org/Teams/Ruby/Packaging , it looks like Ruby packages are undergoing a name change in the current Debian testing suite. libthrift-ruby probably needs to become ruby-thrift and switch to using gem2deb.
libthrift-ruby: empty-binary-package
This will probably be addressed under THRIFT-1421.
libthrift0: package-name-doesnt-match-sonames libthrift-c-glib0
This is complaining because the package name of a library package should usually reflect the soname of the included library (see chapter 5 of the Debian Library Packaging Guide for more info). Something is fishy here, though. Did you intend to distribute the c-glib library as "libthrift0"? If so, where is the cpp library supposed to go? I don't think I see it after a quick search through the packages.
php5-thrift: missing-dependency-on-phpapi
See the lintian explanation for detailed info. Basically, you need some extra Sauce to add a dependency to php5-thrift on a PHP with a compatible API version.
libthrift-java: wrong-section-according-to-package-name libthrift-java => java
libthrift-java should be Section: java
libthrift-cil: wrong-section-according-to-package-name libthrift-cil => cli-mono
libthrift-cil should be Section: cli-mono
libthrift-cil: executable-not-elf-or-script ./usr/lib/cli/thrift/Thrift.dll
Thrift.dll shouldn't have its executable bit set.
libthrift-perl: non-standard-dir-in-usr usr/usr/
Yeah, installing into /usr/usr/local/lib is kinda wacko. Ought to be /usr/lib.
And as a final note, a lot of the packaging here could be pretty greatly simplified and better future-proofed using the Debhelper 7 command sequencer ("dh").
Attachments
Attachments
Issue Links
- is related to
-
THRIFT-1825 Debian Packaging: cpp libs no longer included since 0.8
- Closed