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

        

Reply via email to