debian packaging: minor-ish policy problems
-------------------------------------------
Key: THRIFT-1440
URL: https://issues.apache.org/jira/browse/THRIFT-1440
Project: Thrift
Issue Type: Bug
Components: Deployment
Reporter: paul cannon
Priority: Minor
A listing of detectable policy problems in the thrift Debian packaging (in
contrib/) can be found with a lintian run:
{noformat}
sudo aptitude install lintian
cd /my/thrift/dir
dpkg-buildpackage -us -uc
lintian -i ../thrift_0.8.0_amd64.changes
{noformat}
I'll note some of them here for posterity.
h3. 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:
{noformat}
Depends: ..., libthrift0 (= ${binary:Version}), ...
{noformat}
h3. thrift source: build-depends-on-build-essential build-depends
You don't need the "build-essential" bit in Build-Depends.
h3. thrift-compiler: description-contains-invalid-control-statement
Syntax is a bit off in debian/control for the Description fields; I'll attach a
patch.
h3. thrift-compiler: binary-without-manpage usr/bin/thrift
You need a man page for /usr/bin/thrift.
h3. python-thrift-dbg: wrong-section-according-to-package-name
python-thrift-dbg => debug
The python-thrift-dbg package should be in Section: debug.
h3. 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.
h3. 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.
h3. libthrift-ruby: empty-binary-package
This will probably be addressed under THRIFT-1421.
h3. 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|http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#shlibpkgs]
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.
h3. 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.
h3. libthrift-java: wrong-section-according-to-package-name libthrift-java =>
java
libthrift-java should be Section: java
h3. libthrift-cil: wrong-section-according-to-package-name libthrift-cil =>
cli-mono
libthrift-cil should be Section: cli-mono
h3. libthrift-cil: executable-not-elf-or-script ./usr/lib/cli/thrift/Thrift.dll
Thrift.dll shouldn't have its executable bit set.
h3. 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}}").
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira