check-dfsg-status
Check Debian Free Software Guidelines (DFSG) compliance
TLDR
List non-free and contrib packages (and their description)
Only output the package names
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.