No description
  • Go 99.7%
  • Makefile 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Daniel Baumann 151781b22a
Releasing fastforward version 0.1.1~ffwd13+u1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2026-10-19 21:56:42 +02:00
authorcheck Adding upstream version 0.1.0. 2026-10-19 21:54:47 +02:00
cmd/dfsg-author-check Merging upstream version 0.1.1. 2026-10-19 21:56:11 +02:00
debian Releasing fastforward version 0.1.1~ffwd13+u1. 2026-10-19 21:56:42 +02:00
doc Merging upstream version 0.1.1. 2026-10-19 21:56:11 +02:00
CLAUDE.md Adding upstream version 0.1.0. 2026-10-19 21:54:47 +02:00
go.mod Adding upstream version 0.1.0. 2026-10-19 21:54:47 +02:00
LICENSE Adding upstream version 0.1.0. 2026-10-19 21:54:47 +02:00
Makefile Adding upstream version 0.1.0. 2026-10-19 21:54:47 +02:00
README.md Merging upstream version 0.1.1. 2026-10-19 21:56:11 +02:00

dfsg-author-check

Finds the authors and copyright holders named in the files of an unpacked Debian source package that its debian/copyright does not name.

It walks the tree, picks out the copyright attributions in its text files (Copyright, (c) or © with a year, SPDX-FileCopyrightText), cleans them of years, comment markers and licence prose, and compares them with the Copyright fields of debian/copyright and any debian/<package>.copyright, allowing for differences of spelling, encoding and form. A holder that shares a distinctive part of its name with a declared one is listed separately, as possibly the same.

The report ends with Files paragraphs to paste at the end of debian/copyright, one for the files with a missing holder that each of its paragraphs covers now. Each names every holder found in those files, with the years their copyright lines give, and has the License of the paragraph it takes the place of for them. Check the licence, and that no holder is missing that the files name only in prose.

It was the author-check command of dnq, the DFSG team's client for the NEW queue (dfsg-new-queue), and is now a program of its own so that maintainers can run it on their packages before upload.

Usage

cd hello-2.10 && dfsg-author-check      # the package in the current directory
dfsg-author-check path/to/hello-2.10    # or a directory named
dfsg-author-check -all                  # also list the holders debian/copyright names
dfsg-author-check -max-files 0          # every file each holder is found in
dfsg-author-check -json                 # the whole result, for another program
dfsg-author-check -dep5 >> debian/copyright   # only the paragraphs, to add and then edit
dfsg-author-check -markdown             # the report as Markdown, for a note
dfsg-author-check -q                    # nothing at all if there is nothing to report

The exit status is 0 if every holder found is named in debian/copyright, 1 if some are not, and 2 if the package could not be checked. dfsg-author-check -help describes the options, as does the manual page, doc/dfsg-author-check.1.

As a dnq prepare step, in ~/.config/dnq/prepare_steps.yaml:

- name: Missed Author Check
  command: dfsg-author-check
  public: true

Building

make build   # bin/dfsg-author-check
make test    # gofmt, go vet, go test

It needs Go 1.24 or later and nothing but the standard library.

Licence

CC0 1.0 Universal: see LICENSE.