- Go 99.7%
- Makefile 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| authorcheck | ||
| cmd/dfsg-author-check | ||
| debian | ||
| doc | ||
| CLAUDE.md | ||
| go.mod | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
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.