license info of a deb package

deb, dpkg, licensing

Solution

There's no simple command that I know of. You can do something like this:

dpkg-deb --fsys-tarfile foo.deb |tar -xvO ./usr/share/doc/foo/copyright

This prints the file to standard output.

Edit Hmm, that sounds hard. After a quick perusal of the apt cache on my Debian system, I found some phrases that might be useful:

- "GNU General Public License"

- "the above copyright notice and this permission notice", making sure you unwrap lines first

"`/usr/share/common-licenses/*`"

This seems to be the closest to a standard license you'll get, but be careful since often the packaging is under a common-license, but the package contents are under a separate license.

- `^License: MPL-1.1 | GPL-2+ | Apache-2.0`

However, some packages (ImageMagick) simply have a free-form license in the copyright file that doesn't really conform to any stock license, except that someone considered it DFSG-approved.

Update 2012: This is beginning to change, as the `debian/copyright` file is now required to be machine-interpretable, so you can look forward to this in the future.

Problem

I am trying to get license information of uninstalled deb packages. `dpkg --info <package-name>.deb` does not give that information. Is there any command in ubuntu which will give this info? (In rpm world rpm -qpi gives that info)

Original source

Related problems