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