Config::Model::Dpkg::Copyright(3pm) | User Contributed Perl Documentation | Config::Model::Dpkg::Copyright(3pm) |
Config::Model::Dpkg::Copyright - Fill the File sections of debian/copyright file
# this modules is used by cme when invoked with this command $ cme update dpkg-copyright
This commands helps with the tedious task of maintening "debian/copyright" file. When you package a new release of a software, you can run "cme update dpkg-copyright" to update the content of the copyright file.
This command scans current package directory to extract copyright and license information and store them in the Files sections of debian/copyright file.
In debian package directory:
* run 'cme update dpkg-copyright' or 'cme update dpkg' * check the
result with your favorite VCS diff tool. (you do use
a VCS for your package files, do you ?)
Note: this command is experimental.
Results can be tweaked either by:
The first 2 ways are described in "Selecting or ignoring files to scan" in Dpkg::Copyright::Scanner and "Filling the blanks" in Dpkg::Copyright::Scanner.
The last way is described below:
Since the extraction of copyright information from source file is based on comments, the result is sometimes lackluster. Your may specify instruction to alter or set specific copyright entries in "debian/fix.scanned.copyright" file (or "debian/<source-package>.fix.scanned.copyright"). Each line of this file will be handled by Config::Model::Loader to modify copyright information.
If the extracted copyright contains:
Files: * Copyright: 2014-2015, Adam Kennedy <adamk@cpan.org> "foobar License: Artistic or GPL-1+
You may add this line in "debian/fix.copyright" file:
! Files:'*' Copyright=~s/\s*".*//
This way, the copyright information will be updated from the file content but the extra ""foobar" will always be removed during updates.
Comments are accepted in Perl and C++ style from the beginning of the line. Lines breaks are ignored.
Here's another more complex example:
// added a global license, MIT license text is filled by Config::Model ! copyright License:MIT # don't forget '!' to go back to tree root ! copyright Files:"pan/general/map-vector.h" Copyright="2001,Andrei Alexandrescu" License short_name=MIT # delete license text since short_name points to global MIT license full_license~ # use a loop there vvvvvv to clean up that vvvvvvvvvvvvvvvvvvvvvvv in all copyrights ! copyright Files:~/.*/ Copyright=~s/all\s*rights\s*reserved//i # defeat spammer by replacing all '@' in emails of 3rdparty files # the operation :~/^3party/ loops over all Files entries that match ^3rdparty # and modify the copyright entry with a Perl substitution ! Files:~/^3rdparty/ Copyright=~s/@/(at)/
This section explains how cme merges the information from the existing "debian/copyright" file (the "old" information) with the information extracted by licensecheck (the "new" information):
Updates data using the output "scan_files"" in Dpkg::Copyright::Scanner.
Parameters in %args:
Otherwise, %args is passed to "scan_files"
Dominique Dumont <dod@debian.org>
2019-02-20 | perl v5.28.1 |