2

My Debian package produces a lintian error:

rhythmbox-plugin-alternative-toolbar: extra-license-file usr/lib/rhythmbox/plugins/alternative-toolbar/LICENSE

This is because the source contains the LICENSE file - and Debian rules for packaging state that all license information should be within the copyright file of the package.

I'm using autotools automake for building - my debian/rules looks like this:

#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/autoreconf.mk
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/utils.mk
include /usr/share/cdbs/1/class/gnome.mk
include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
include /usr/share/gnome-pkg-tools/1/rules/gnome-version.mk
-include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk

DEB_DH_AUTORECONF_ARGS := --as-needed ./autogen.sh

# List any files which are not installed
common-binary-post-install-arch:: list-missing

My initial thought was to include an override_dh_auto_install statement in the rules to strip out the LICENSE file but this seems to be ignored (or doesn't work) if I add the following at the bottom of the current rules

override_dh_auto_install:
    find . -name "LICENSE" -delete
    dh_auto_install

Thus to my question - how do I remove the LICENSE file when building a Debian package ?

Note - I don't want to artificially hide the lintian error with some sort of override - I want to ensure the built package doesn’t include the extra LICENSE file.

1
  • You appear to be using cdbs, not dh, so dh overrides won't work. Lintian isn't complaining about there being a LICENSE file in the source code though, it's complaining about it being installed in the binary package; so if you can remove it from the installed files, you should be OK. (I don't know much about cdbs though so I can't really help.) Commented Dec 21, 2015 at 16:49

1 Answer 1

2

This question was asked almost 2 years ago, but there aren't any answers. So I will post the solution that I found recently.

Delete the file after calling dh_auto_install:

override_dh_auto_install:
    dh_auto_install
    find ./debian -type f -name "LICENSE" -delete

Or override another directive that is called after files are staged but before package is built. Here is how I first did it by overriding the dh_md5sums directive:

override_dh_md5sums:
    find ./debian/<package_name> -type f -name "LICENSE.txt" -delete
    dh_md5sums

Overriding other dh_ directives might work as well.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.