OnWorks favicon

license-reconcilep - Online in the Cloud

Run license-reconcilep in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command license-reconcilep that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



license-reconcile - reconcile debian/copyright against source


license-reconcile --help|--man

license-reconcile [--copyright-file=file] [--no-check-copyright] [--suggest-stanzas]
[--no-format-spec] [--quiet] [--display-mapping] [--directory=directory]
[--filters=module1 module2 ...] [--config-file=file] [--changelog-file=file] [files...]


license-reconcile attempts to match license and copyright information in a directory with
the information available in "debian/copyright". It gets most of its data from
"licensecheck" so should produce something worth looking at out of the box. However for a
given package it can be configured to succeed in a known good state, so that if on
subsequent upstream updates it fails, it points out what needs looking at. By default the
tests run are as follows:

- Does the copyright file have an approved format specification as its first line?
- Can the copyright file be parsed?
- Does every file in the source match at least one clause in the copyright file?
- Can every file, license and copyright datum extracted from the source be contained in
the corresponding matching paragraph from the copyright file? The data for this comparison
comes from a number filter objects. See "Filters" for more information.
- Is every file in the source assigned copyright and a license by some part of the
"debian/copyright" file.


out of the box
From the top level of the source directory of Debian packaged software, just run

setting a config file
Normally to make any progress it will be necessary to have a config file. The default
file is "debian/license-reconcile.yml". A different config file can be set with the
--config-file=file. The config file is interpreted using Config::Any but for the purposes
of this documentation# we assume the format is YAML.

overriding incorrect results
Suppose you are really lucky. For just one file, "a/b", the default filters which are
wrappers around "licensecheck", have got it wrong. They have for some reason decided that
the file has a GPL-3 license, when inspection shows it is in the public domain. This is
causing a false positive break against your carefully crafted "debian/copyright" file. You
can fix this with the following config fragment:

Glob: a/b
License: public-domain
Copyright: 1556, Nostrodamus

See Debian::LicenseReconcile::Filter::Rules for more information on how to configure this

providing a catch all license and copyright
You can make the filters provide a default license, but providing a suitable rule in the
Default section of the config file:

License: All software is property of the proletariat license
Copyright: 1984, Ministry of Algorithms

The Default filter uses exactly the same code as the Rules filter, but by default runs
last. So it has all the same functionality but the lowest precedence.

controlling the sequence of filters.
By default the filters run are: Rules, Std, Shebang, ChangeLog and Default. You can vary
the filters using the --filters=module option. Setting "--filters Rules" would mean that
only the Debian::LicenseReconcile::Filter::Rules filter would be used. Once you specify
one filter you must specify them all.

filter aliasing
The Default filter is an alias for Rules. This means it runs the same code but has a
separate config. Default is defined as "Default~Rules". In general "X~Y" means use the
code from Y but get the config from X.

writing your own filter.
You can write your own filters by inheriting from Debian::LicenseReconcile::Filter. You
need to define the "get_info" method.


Specify an alternative copyright file. Defaults to "debian/copyright".

Don't check the first line of the copyright file against permitted format specifications.

Don't check the copyright clauses.

Don't give any explanations, simply a success or a fail via the exit status.

Display mapping from the directory onto the copyright clauses.

The directory whose copyright and licenses will be verified. This defaults to ".".

--filters=module1 --filters=module2 ....
A sequence of filters which will inspect the source package and return license and
copyright information. Each module name must sit below the
Debian::LicenseReconcile::Filter and inherit from it. The default value is "Rules Std
Shebang ChangeLog Default".

A file used to provide filter specific configuration data. The file is read by Config::Any
and the relevant section is passed to each filter constructor via the "config" parameter.

The Debian changelog file which defaults to "debian/changelog". The Rules filter uses this
to get the current version and the ChangeLog filter gets its data from it.

If set print out the license and copyright data in DEP-5 format.


By default the filters are processed in the order below. Once a file has been returned by
a filter, subsequent filters will ignore it.

- Rules
- ChangeLog
- Std
- Shebang
- Default

Each filter constructor will be passed the following parameters:

- directory - the directory from which to find license and copyright data.
- files_remaining - an array ref of files which have not been analyzed.
- config - a data structure representing the portion of the config file relevant to this
- changelog - a Parse::DebianChangelog object.
- licensecheck - a Debian::LicenseReconcile::LicenseCheck object.


Any arguments after the arguments are assumed to be files. If specified only these files
will be reconciled.


The DEP-5 specification is subtly different from the file glob specification. Since the
File::FnMatch module is the only practical implementation there is little that can be
done. The consequence is that attempting to specify that a file name should contain '['
and later a ']' in "debian/copyright" is unlikely to work correctly.

In copyright parsing years cannot be expressed in an abbreviated two digit form. This is
probably a good thing, but it it will surely cause an issue at some point.


Two Debian projects are currently using license-reconcile, to verify the
"debian/copyright" file.

must obviously be clean by its own standards. At some point this check will be added to
the build tests.
is using license-reconcile since version 93u+20120801-2.

Use license-reconcilep online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    itop - ITSM  CMDB OpenSource
    itop - ITSM CMDB OpenSource
    IT Operations Portal: a complete open
    source, ITIL, web based service
    management tool including a fully
    customizable CMDB, a helpdesk system and
    a document man...
    Download itop - ITSM CMDB OpenSource
  • 2
    Clementine is a multi-platform music
    player and library organizer inspired by
    Amarok 1.4. It has a fast and
    easy-to-use interface, and allows you to
    search and ...
    Download Clementine
  • 3
    ATTENTION: Cumulative update 2.4.3 has
    been released!! The update works for any
    previous 2.x.x version. If upgrading
    from version v1.x.x, please download and
    Download XISMuS
  • 4
    Modular headtracking program that
    supports multiple face-trackers, filters
    and game-protocols. Among the trackers
    are the SM FaceAPI, AIC Inertial Head
    Tracker ...
    Download facetracknoir
  • 5
    PHP QR Code
    PHP QR Code
    PHP QR Code is open source (LGPL)
    library for generating QR Code,
    2-dimensional barcode. Based on
    libqrencode C library, provides API for
    creating QR Code barc...
    Download PHP QR Code
  • 6
    Freeciv is a free turn-based
    multiplayer strategy game, in which each
    player becomes the leader of a
    civilization, fighting to obtain the
    ultimate goal: to bec...
    Download Freeciv
  • More »

Linux commands