LinuxCommandLibrary

check-dfsg-status

Check Debian Free Software Guidelines (DFSG) compliance

TLDR

List non-free and contrib packages (and their description)

$ check-dfsg-status
copy

Only output the package names
$ check-dfsg-status [[-s|--sparse]]
copy

SYNOPSIS


check-dfsg-status [OPTION...] [FILE...]
check-dfsg-status [OPTION...] --package PACKAGE

PARAMETERS

-v, --verbose
    Produce more detailed output, showing additional information about the checks performed.

-q, --quiet
    Suppress most output, showing only critical errors or warnings.

--help
    Display a concise help message with available options and exit.

--version
    Show the version information for the command and exit.

--package PACKAGE
    Check the DFSG status of an entire Debian source package rather than individual files or a directory.

--upstream-tarball PATH
    Specify the path to the original upstream source tarball, which might be analyzed for DFSG compliance issues.

--rules-dir PATH
    Specify an alternative directory where packaging rules (e.g., debian/rules) are located, potentially influencing the checks.

--profile PROFILE
    Specify a Lintian profile to use for checks, tailoring the type and strictness of the DFSG analysis.

--dfsg-status-dir DIR
    Specify the directory where DFSG status files (.dfsg-status) are located or where they should be stored.

DESCRIPTION

The check-dfsg-status command is a utility within the Debian project, primarily used by package maintainers and developers. Its core function is to analyze and report on the DFSG (Debian Free Software Guidelines) compliance status of files, directories, or entire packages. It often works by reading .dfsg-status files, which are typically generated by tools like lintian or manually maintained. These files document the licensing and freedom status of various upstream components, especially when a software package might contain elements (e.g., firmware blobs, non-free images, restricted fonts) that do not fully adhere to the DFSG. By using this command, developers can ensure that their packages conform to Debian's strict free software principles before uploading them to the archive. It helps identify and address potential issues related to non-free content, ensuring Debian's commitment to free software.

CAVEATS

This command is primarily a developer tool and relies on specific Debian packaging conventions and the existence of .dfsg-status files, which are often generated by lintian or manually maintained. Its output requires an understanding of Debian's DFSG and package structure. It is not intended for general end-user use for checking arbitrary software freedom.

DFSG IMPORTANCE

The Debian Free Software Guidelines (DFSG) are a set of principles that define what software is considered 'free' for inclusion in the Debian project. These guidelines are crucial for Debian's identity as a 100% free operating system. check-dfsg-status directly supports the enforcement of these guidelines, making it a vital tool in maintaining the integrity and freedom of the Debian archive.

.DFSG-STATUS FILES

These are plain text files, often found within a Debian package's source tree (e.g., debian/.dfsg-status). They contain line-by-line entries detailing the DFSG status of specific files or components from the upstream source. For instance, they might declare certain firmware blobs as 'non-free' but acceptable due to their necessity for hardware, or explicitly state that a bundled library is 'free'. check-dfsg-status reads and interprets these declarations to provide an overall compliance report for a package or its components.

HISTORY

The check-dfsg-status command is an integral part of the lintian project, which was initiated in the late 1990s (around 1998-1999) to provide automated checks for Debian packages. As Debian's commitment to the Free Software Guidelines (DFSG) became a cornerstone of its distribution, specialized tools were needed to verify compliance, especially for complex upstream sources that might mix free and non-free components. check-dfsg-status evolved to address this specific need, providing a systematic way to manage and verify the DFSG status of various package components. Its development reflects Debian's ongoing efforts to ensure its archive remains entirely free software.

SEE ALSO

lintian(1), dpkg(1), dh_make(1), debuild(1)

Copied to clipboard