Fix blocked by 526701: licensecheck: options: recursive scan should check all files (--check=".*" by default), 545193: licensecheck: options: recursive scan should check all files (--recursive should imply --check=".*"), 828941: licensecheck: source formats: extract strings from binary files with binwalk or hachoir, 828948: licensecheck: source formats: extract strings from binary files with binwalk or hachoir, 837973: licensecheck: source formats: extract metadata from fonts, 960694: licensecheck: file selection: detect and skip binary files by default, 960695: licensecheck: options: profiles other than current "code comments in independent plaintext files", 1040063: licensecheck: source formats: extract metadata from fonts
Package: devscripts
Version: 2.10.18.1
Severity: wishlist
Dear devscripts devel team,
since there is a proposal to change debian/copyright files to a
machine-interpretable format (described at [1]) I'd like to see
licensecheck to autogenerate such a file.
This would of course not prevent the maintainer from checking the
license and copyright information by himself but but it could do the
groundwork for him.
If there is already something planned like that, I'm sorry for this bug.
Thanks for your work!
Hauke
[1] http://wiki.debian.org/Proposals/CopyrightFormat
-- Package-specific info:
--- /etc/devscripts.conf ---
--- ~/.devscripts ---
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.22-3-686 (SMP w/1 CPU core)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages devscripts depends on:
ii debianutils 2.28.4 Miscellaneous utilities specific t
ii dpkg-dev 1.14.16.6 package building tools for Debian
ii libc6 2.7-6 GNU C Library: Shared libraries
ii perl 5.8.8-12 Larry Wall's Practical Extraction
ii sed 4.1.5-6 The GNU sed stream editor
Versions of packages devscripts recommends:
ii fakeroot 1.9.3 Gives a fake root environment
-- no debconf information
Package: devscripts
Version: 2.10.25
Followup-For: Bug #472199
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA224
Dear devscripts developers,
I'm not really a perl hacker but I did a try on adding this feature to
licensecheck myself. It is *NOT* ready and does *NOT* do what it should.
It just adds a possible way to output license information as requested
by the copyright proposal.
Well, I tried to comment on every sensefull line I've added so that you
can clearly understand what I did. Furthermore I tried to not touch
anything you wrote so I don't think that I broke anything.
Although I added an option "createfile" my patch does not create a new
copyright file. It just prints whatever could be put into such a file. I
guess, doing the file handling is not the most difficult part of the
job. :)
I'd like to hear your comments on my patch. If you feel it is not worth
working on it just tell me. I can stop everytime.
Cheers,
Hauke
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iE8DBQFIDJ+yGOp6XeD8cQ0RC09JAN9W/yU7VmN9KcSY66qJF+Qk4T0dYHASZxFy
7L31AN48ojn/OH0c2wgs7yncYLqReowZckrRiGjiqiYw
=aNPf
-----END PGP SIGNATURE-----
Acknowledgement sent
to Filippo Giunchedi <[email protected]>:
Extra info received and forwarded to list. Copy sent to Devscripts Devel Team <[email protected]>.
(Wed, 01 Apr 2009 14:36:02 GMT) (full text, mbox, link).
On Sat, Mar 22, 2008 at 05:42:29PM +0100, Jan Hauke Rahm wrote:
> Package: devscripts
> Version: 2.10.18.1
> Severity: wishlist
>
> Dear devscripts devel team,
>
> since there is a proposal to change debian/copyright files to a
> machine-interpretable format (described at [1]) I'd like to see
> licensecheck to autogenerate such a file.
> This would of course not prevent the maintainer from checking the
> license and copyright information by himself but but it could do the
> groundwork for him.
Hi,
I've come up with a reworked patch [attached] which might help. I've
intentionally removed the grouping of similarly licensed/copyrighted files to
make it clear that it is a skeleton and must be checked.
Also, I've added only the license keywords currently present in DEP5
http://dep.debian.net/deps/dep5/
thanks,
filippo
--
Filippo Giunchedi - http://esaurito.net - 0x6B79D401
It's not that I'm afraid to die, I just don't want to be there
when it happens.
-- Woody Allen
Acknowledgement sent
to Jan Beyer <[email protected]>:
Extra info received and forwarded to list. Copy sent to Devscripts Devel Team <[email protected]>.
(Tue, 12 Jan 2010 21:42:03 GMT) (full text, mbox, link).
Hi,
there has quite some time gone without any news in this bug report. I'm
trying again with a new patch.
It uses parts of the previously submitted patches, but differs in some aspects:
* I wrote it first, and then checked the BTS for patches - my bad ;-).
* I re-added the file grouping according to license+copyright similarity,
as IMVHO the removal of this feature defeats the whole purpose
of automatizing this information retrieval.
* It parses all licenses (known to licensecheck), irrespective of their
mentioning in DEP5, as otherwise the previous patch might have missed
some licenses completely. Non-standardized (as seen from DEP5) license
abbreviations are still prefixed by "other", for clarity.
It works for me with a real world example, without breaking current
functionality. Of course, there is any arbitrary amount of further polishing
possible, but I think, it would be already worth the addition in the current
state, as it at least helps a bit in the creation of a machine-readable
debian/copyright file. Even with this, there is of course enough work left
to do for the maintainer to get her/his debian/copyright file into shape.
Thanks for consideration!
I am of course very open to any kind of comments!
Best Regards,
Jan
--
Jan Beyer happy Debian Maintainer ;-)
mail [email protected] GPG key ID 0x0CA6B4AA
jabber [email protected]
web http://www.beathovn.de/
--- /usr/bin/licensecheck 2010-01-03 05:16:46.000000000 +0100
+++ ./licensecheck 2010-01-12 22:12:11.000000000 +0100
@@ -28,7 +28,7 @@
B<licensecheck> B<--help|--version>
B<licensecheck> [B<--no-conf>] [B<--verbose>] [B<--copyright>]
-[B<-l|--lines=N>] [B<-i|--ignore=regex>] [B<-c|--check=regex>]
+[B<--dep5] [B<-l|--lines=N>] [B<-i|--ignore=regex>] [B<-c|--check=regex>]
[B<-r|--recursive>] I<list of files and directories to check>
=head1 DESCRIPTION
@@ -78,6 +78,12 @@
Also display copyright text found within the file
+=item B<--dep5>
+
+Use a DEP5-like machine-readable output format, where files with the same
+copyright and license are grouped together.
+For more information on DEP5 see http://dep.debian.net/deps/dep5/.
+
=item B<--no-conf> B<--noconf>
Do not read any configuration files. This can only be used as the first
@@ -107,6 +113,13 @@
the license(s) in use. This is equivalent to the --lines command line
option.
+=item B<LICENSECHECK_DEP5>
+
+If this is set to I<yes>, then a DEP5-like machine-readable output format is
+used, where files with the same copyright and license are grouped together. The
+default is I<no>.
+For more information on DEP5 see http://dep.debian.net/deps/dep5/.
+
=back
=head1 LICENSE
@@ -130,6 +143,7 @@
use File::Basename;
sub fatal($);
+sub additem(@);
sub parse_copyright($);
sub parselicense($);
@@ -166,6 +180,7 @@
my $opt_copyright = 0;
my ($opt_help, $opt_version);
my $def_lines = 60;
+my $opt_dep5 = 0;
# Read configuration files and then command line
# This is boilerplate
@@ -178,6 +193,7 @@
my %config_vars = (
'LICENSECHECK_VERBOSE' => 'no',
'LICENSECHECK_PARSELINES' => $def_lines,
+ 'LICENSECHECK_DEP5' => 'no'
);
my %config_default = %config_vars;
@@ -198,6 +214,8 @@
or $config_vars{'LICENSECHECK_VERBOSE'} = 'no';
$config_vars{'LICENSECHECK_PARSELINES'} =~ /^[1-9][0-9]*$/
or $config_vars{'LICENSECHECK_PARSELINES'} = $def_lines;
+ $config_vars{'LICENSECHECK_DEP5'} =~ /^(yes|no)$/
+ or $config_vars{'LICENSECHECK_DEP5'} = 'no';
foreach my $var (sort keys %config_vars) {
if ($config_vars{$var} ne $config_default{$var}) {
@@ -209,6 +227,8 @@
$opt_verbose = $config_vars{'LICENSECHECK_VERBOSE'} eq 'yes' ? 1 : 0;
$opt_lines = $config_vars{'LICENSECHECK_PARSELINES'};
+
+ $opt_dep5 = $config_vars{'LICENSECHECK_DEP5'} eq 'yes' ? 1 : 0;
}
GetOptions("help|h" => \$opt_help,
@@ -221,6 +241,7 @@
"copyright" => \$opt_copyright,
"noconf" => \$opt_noconf,
"no-conf" => \$opt_noconf,
+ "dep5" => \$opt_dep5,
)
or die "Usage: $progname [options] filelist\nRun $progname --help for more details\n";
@@ -266,6 +287,8 @@
}
}
+my @debcori = (); # array to keep all (filename, copyright, license) information
+
while (@files) {
my $file = shift @files;
my $content = '';
@@ -298,12 +321,51 @@
$content =~ tr/ //s;
$license = parselicense($content);
- print "$file: ";
- print "*No copyright* " unless $copyright;
- print $license . "\n";
- print " [Copyright: " . $copyright . "]\n"
- if $copyright and $opt_copyright;
- print "\n" if $opt_copyright;
+
+ if ($opt_dep5) {
+ my $stripfile = $file;
+ $stripfile =~ s/^.\///; # remove leading "./" for legibility reasons
+ additem($stripfile, $copyright, $license);
+ } else {
+ print "$file: ";
+ print "*No copyright* " unless $copyright;
+ print $license . "\n";
+ print " [Copyright: " . $copyright . "]\n"
+ if $copyright and $opt_copyright;
+ print "\n" if $opt_copyright;
+ }
+}
+
+if ($opt_dep5) {
+# Print array debcori formatted
+ print "THIS DATA NEEDS HEAVY MANUAL EDITING/CHECKING BEFORE FORMING A VALID\n";
+ print "debian/copyright FILE. EVEN COMPLIANCE WITH DEP5 NEEDS TO BE CHECKED!\n";
+ print "For information on DEP5 see http://dep.debian.net/deps/dep5/\n";
+ print "\n";
+ print "Format-Specification: <Fill in the correct URI>\n";
+ print "Name: <software name>\n";
+ print "Maintainer: <upstream maintainer name and address>\n";
+ print "Source: <URI>\n";
+ print "Disclaimer: <this line may be used for non-free and contrib packages>\n";
+ print "\n";
+ print "Files: *\n";
+ print "Copyright: <Fill in the general copyright of this software>\n";
+ print "License: <Fill in the general license of this software>\n";
+ print " <License text>\n";
+ print " Don't forget to remove the corresponding following section.\n";
+ print "\n";
+ print "Files: debian/*\n";
+ print "Copyright: <Fill in the copyright of the Debian packaging>\n";
+ print "License: <Fill in the license of the Debian packaging>\n";
+ print " <License text>\n";
+ print "\n";
+
+ for (my $i=0; $i<scalar(@debcori); $i++) {
+ print "Files: "."$debcori[$i]->[0]\n";
+ print "Copyright: "."$debcori[$i]->[1]\n";
+ print "License: "."$debcori[$i]->[2]\n\n";
+ }
+
}
sub parse_copyright($) {
@@ -359,6 +421,7 @@
(Default: '$default_check_regex')
--recursive, -r Add the contents of directories recursively
--copyright Also display the file's copyright
+ --dep5 Use DEP5-like machine-readable output format
--ignore, -i Specify that files / directories matching the
regular expression should be ignored when
checking files
@@ -388,15 +451,20 @@
my $gplver = "";
my $extrainfo = "";
my $license = "";
+ my $mr_version = "";
+ my @mr_licenses = ();
if ($licensetext =~ /version ([^ ]+) (?:\(?only\)?.? )?(?:of the GNU (Affero )?General Public License )?as published by the Free Software Foundation/i or
$licensetext =~ /GNU (?:Affero )?General Public License as published by the Free Software Foundation; version ([^ ]+) /i) {
$gplver = " (v$1)";
+ $mr_version = "$1";
} elsif ($licensetext =~ /GNU (Affero ?)General Public License, version ([^ ]+?)[ .]/) {
$gplver = " (v$1)";
+ $mr_version = "$1+";
} elsif ($licensetext =~ /either version ([^ ]+) of the License, or \(at your option\) any later version/) {
$gplver = " (v$1 or later)";
+ $mr_version = "$1+";
}
if ($licensetext =~ /(?:675 Mass Ave|59 Temple Place|51 Franklin Steet|02139|02111-1307)/i) {
@@ -409,130 +477,176 @@
if ($licensetext =~ /(All changes made in this file will be lost|DO NOT (EDIT|delete this file)|Generated by)/i) {
$license = "GENERATED FILE";
+ push(@mr_licenses, "GENERATED FILE");
}
if ($licensetext =~ /is free software.? you can redistribute it and\/or modify it under the terms of the (GNU (Library|Lesser) General Public License|LGPL)/i) {
$license = "LGPL$gplver$extrainfo $license";
+ push(@mr_licenses, "LGPL-$mr_version$extrainfo");
}
if ($licensetext =~ /is free software.? you can redistribute it and\/or modify it under the terms of the (GNU Affero General Public License|AGPL)/i) {
$license = "AGPL$gplver$extrainfo $license";
+ push(@mr_licenses, "AGPL$gplver$extrainfo");
}
if ($licensetext =~ /is free software.? you (can|may) redistribute it and\/or modify it under the terms of (?:version [^ ]+ (?:\(?only\)? )?of )?the GNU General Public License/i) {
$license = "GPL$gplver$extrainfo $license";
+ push(@mr_licenses, "GPL-$mr_version$extrainfo");
}
if ($licensetext =~ /is distributed under the terms of the GNU General Public License,/
and length $gplver) {
$license = "GPL$gplver$extrainfo $license";
+ push(@mr_licenses, "GPL-$mr_version$extrainfo");
}
if ($licensetext =~ /is distributed.*terms.*GPL/) {
$license = "GPL (unversioned/unknown version) $license";
+ push(@mr_licenses, "GPL");
}
if ($licensetext =~ /This file is part of the .*Qt GUI Toolkit. This file may be distributed under the terms of the Q Public License as defined/) {
$license = "QPL (part of Qt) $license";
+ push(@mr_licenses, "QPL");
+
} elsif ($licensetext =~ /may be distributed under the terms of the Q Public License as defined/) {
$license = "QPL $license";
+ push(@mr_licenses, "QPL");
}
if ($licensetext =~ /http:\/\/opensource\.org\/licenses\/mit-license\.php/) {
$license = "MIT/X11 (BSD like) $license";
+ push(@mr_licenses, "other (MIT) (check exact wording)");
} elsif ($licensetext =~ /Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files \(the Software\), to deal in the Software/) {
$license = "MIT/X11 (BSD like) $license";
+ push(@mr_licenses, "other (MIT) (check exact wording)");
}
if ($licensetext =~ /Permission to use, copy, modify, and(\/or)? distribute this software for any purpose with or without fee is hereby granted, provided.*copyright notice.*permission notice.*all copies/) {
$license = "ISC $license";
+ push(@mr_licenses, "other (ISC)");
}
if ($licensetext =~ /THIS SOFTWARE IS PROVIDED .*AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY/) {
if ($licensetext =~ /All advertising materials mentioning features or use of this software must display the following acknowledge?ment.*This product includes software developed by/i) {
$license = "BSD (4 clause) $license";
+ push(@mr_licenses, "BSD (4 clause)");
} elsif ($licensetext =~ /(The name of .*? may not|Neither the names? of .*? nor the names of (its|their) contributors may) be used to endorse or promote products derived from this software/i) {
$license = "BSD (3 clause) $license";
+ push(@mr_licenses, "BSD (3 clause)");
} elsif ($licensetext =~ /Redistributions of source code must retain the above copyright notice/i) {
$license = "BSD (2 clause) $license";
+ push(@mr_licenses, "BSD (2 clause)");
} else {
$license = "BSD $license";
+ push(@mr_licenses, "BSD");
}
}
if ($licensetext =~ /Mozilla Public License Version ([^ ]+)/) {
$license = "MPL (v$1) $license";
+ push(@mr_licenses, "MPL-$1");
}
if ($licensetext =~ /Released under the terms of the Artistic License ([^ ]+)/) {
$license = "Artistic (v$1) $license";
+ push(@mr_licenses, "Artistic-$1");
}
if ($licensetext =~ /is free software under the Artistic [Ll]icense/) {
$license = "Artistic $license";
+ push(@mr_licenses, "Artistic");
}
if ($licensetext =~ /This program is free software; you can redistribute it and\/or modify it under the same terms as Perl itself/) {
$license = "Perl $license";
+ push(@mr_licenses, "Perl");
}
if ($licensetext =~ /under the Apache License, Version ([^ ]+) \(the License\)/) {
$license = "Apache (v$1) $license";
+ push(@mr_licenses, "Apache-$1");
}
if ($licensetext =~ /This source file is subject to version ([^ ]+) of the PHP license/) {
$license = "PHP (v$1) $license";
+ push(@mr_licenses, "other (PHP-$1) (problematic if not applying to PHP itself)");
}
if ($licensetext =~ /under the terms of the CeCILL /) {
$license = "CeCILL $license";
+ push(@mr_licenses, "other (CeCILL)");
}
if ($licensetext =~ /under the terms of the CeCILL-([^ ]+) /) {
$license = "CeCILL-$1 $license";
+ push(@mr_licenses, "other (CeCILL-$1)");
}
if ($licensetext =~ /under the SGI Free Software License B/) {
$license = "SGI Free Software License B $license";
+ push(@mr_licenses, "other (SGI Free Software License B)");
}
if ($licensetext =~ /is in the public ___domain/i) {
$license = "Public ___domain";
+ push(@mr_licenses, "other (PD (should be stated in the copyright field))");
}
if ($licensetext =~ /terms of the Common Development and Distribution License(, Version ([^(]+))? \(the License\)/) {
$license = "CDDL " . ($1 ? "(v$2) " : '') . $license;
+ push(@mr_licenses, "CDDL".($1 ? "-$2" : ''));
}
if ($licensetext =~ /Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license \(the \"Software\"\)/ or
$licensetext =~ /Boost Software License([ ,-]+Version ([^ ]+)?(\.))/i) {
$license = "BSL " . ($1 ? "(v$2) " : '') . $license;
+ push(@mr_licenses, "other (BSL".($1 ? "-$2" : '').")");
}
if ($licensetext =~ /PYTHON SOFTWARE FOUNDATION LICENSE (VERSION ([^ ]+))/i) {
$license = "PSF " . ($1 ? "(v$2) " : '') . $license;
+ push(@mr_licenses, "PSF" . ($1 ? "-$2" : ''));
}
if ($licensetext =~ /The origin of this software must not be misrepresented.*Altered source versions must be plainly marked as such.*This notice may not be removed or altered from any source distribution/ or
$licensetext =~ /see copyright notice in zlib\.h/) {
$license = "zlib/libpng $license";
+ push(@mr_licenses, "ZLIB");
}
- if ($licensetext =~ /Do What The Fuck You Want To Public License, Version ([^, ]+)/i) {
- $license = "WTFPL (v$1)";
- }
+ $license = "UNKNOWN" if (!length($license));
- if ($licensetext =~ /Do what The Fuck You Want To Public License/i) {
- $license = "WTFPL";
+ if ($opt_dep5) {
+ return join(" | ", @mr_licenses) if @mr_licenses;
}
- if ($licensetext =~ /(License WTFPL|Under (the|a) WTFPL)/i) {
- $license = "WTFPL";
- }
+ return $license;
+}
- $license = "UNKNOWN" if (!length($license));
+sub additem(@) {
+# Adds a reference to a subarray (filenames, copyright, license) to the array
+# debcori if the current copyright+license combination has not yet been seen.
+# Otherwise just adds the filename to the appropriate filenames-element.
+
+ my $l = scalar(@debcori);
+ my $samecrlicexists = 0;
+
+ for (my $i=0; $i<$l; $i++) {
+
+ if (($debcori[$i]->[1] eq $_[1]) and ($debcori[$i]->[2] eq $_[2])) {
+ # identical copyright line exists already
+ $debcori[$i]->[0] = join(", ",($debcori[$i]->[0], $_[0]));
+ $samecrlicexists=1;
+ }
+ }
+
+ if ($samecrlicexists == 0) {
+ # no identical copyright line exists, thus appending new array as reference
+ push(@debcori, \@_);
+ }
- return $license;
}
sub fatal($) {
Package: devscripts
Severity: normal
While discussing the topic of using cdbs on pkg-multimedia, I found that
there are some interesting bits in cdbs that might have a better home in
the devscripts package. Among others is the licensecheck2dep5 scripts,
which can be found attached. It is driven by this rules in
1/rules/utils.mk, which can be trivially translated to shell or perl
,----[excerpt from 1/rules/utils.mk.in
| debian/stamp-copyright-check:
| @set -e; if [ ! -f debian/copyright_hints ]; then \
| echo; \
| echo '$(if $(DEB_COPYRIGHT_CHECK_STRICT),ERROR,WARNING): copyright-check disabled - touch debian/copyright_hints to enable.'; \
| echo; \
| $(if $(DEB_COPYRIGHT_CHECK_STRICT),exit 1,:); \
| elif [ licensecheck = $(DEB_COPYRIGHT_CHECK_SCRIPT) ] && ! which licensecheck > /dev/null; then \
| echo; \
| echo '$(if $(DEB_COPYRIGHT_CHECK_STRICT),ERROR,WARNING): copyright-check disabled - licensecheck (from devscripts package) is missing.'; \
| echo; \
| $(if $(DEB_COPYRIGHT_CHECK_STRICT),exit 1,:); \
| elif [ licensecheck = $(DEB_COPYRIGHT_CHECK_SCRIPT) ] && ! licensecheck --help | grep -qv -- --copyright; then \
| echo; \
| echo '$(if $(DEB_COPYRIGHT_CHECK_STRICT),ERROR,WARNING): copyright-check disabled - licensecheck (from devscripts package) seems older than needed 2.10.7.'; \
| echo; \
| $(if $(DEB_COPYRIGHT_CHECK_STRICT),exit 1,:); \
| else \
| echo; \
| echo 'Scanning upstream source for new/changed copyright notices...'; \
| echo; \
| echo "$(DEB_COPYRIGHT_CHECK_INVOKE) | $(_cdbs_scripts_path)/licensecheck2dep5 > debian/copyright_newhints"; \
| export LC_ALL=C; \
| $(DEB_COPYRIGHT_CHECK_INVOKE) | $(_cdbs_scripts_path)/licensecheck2dep5 > debian/copyright_newhints; \
| echo "`grep -c ^Files: debian/copyright_hints` combinations of copyright and licensing found."; \
| newstrings=`diff -a -u debian/copyright_hints debian/copyright_newhints | sed '1,2d' | egrep -a '^\+' - | sed 's/^\+//'`; \
| if [ -n "$$newstrings" ]; then \
| echo "$(if $(DEB_COPYRIGHT_CHECK_STRICT),ERROR,WARNING): The following (and possibly more) new or changed notices discovered:"; \
| echo; \
| echo "$$newstrings" \
| | perl -ne '/^.{0,60}$$/ or s/^(.{0,60})\b.*$$/$$1…/;s/[^[:print:][:space:]…]//g;$$_ ne $$prev and (($$prev) = $$_) and print' \
| | sort -m \
| | head -n 200; \
| echo; \
| echo "To fix the situation please do the following:"; \
| echo " 1) Fully compare debian/copyright_hints with debian/copyright_newhints"; \
| echo " 2) Update debian/copyright as needed"; \
| echo " 3) Replace debian/copyright_hints with debian/copyright_newhints"; \
| $(if $(DEB_COPYRIGHT_CHECK_STRICT),exit 1,:); \
| else \
| echo 'No new copyright notices found - assuming no news is good news...'; \
| fi; \
| rm -f debian/copyright_newhints; \
| fi
| touch $@
`----
Please consider merging this into the devscripts package.
I also not that an alternate implementation has been posted to this bug,
which I haven't examined yet. This shows that there is (some) common
interest in this functionality.
-- System Information:
Debian Release: squeeze/sid
APT prefers lucid-updates
APT policy: (500, 'lucid-updates'), (500, 'lucid')
Architecture: i386 (i686)
Hi,
I developed the CDBS licensecheck2dep5 wrapper mentioned by Reinhard,
and would like to both integrate those, merge with the other patches in
this bugreport, and develop licensecheck further.
I have requested membership of the devscripts team, and am in the
process of subscribing the the mailinglist now.
Hope you are fine letting me work on this. And thanks to Reinhard for
pushing me out of my cave :-P
- Jonas
--
* Jonas Smedegaard - idealist & Internet-arkitekt
* Tlf.: +45 40843136 Website: http://dr.jones.dk/
[x] quote me freely [ ] ask before reusing [ ] keep private
Acknowledgement sent
to Stefano Zacchiroli <[email protected]>:
Extra info received and forwarded to list. Copy sent to Devscripts Devel Team <[email protected]>.
(Wed, 07 Apr 2010 08:18:03 GMT) (full text, mbox, link).
On Tue, Apr 06, 2010 at 11:43:31PM +0200, Jonas Smedegaard wrote:
> I developed the CDBS licensecheck2dep5 wrapper mentioned by
> Reinhard, and would like to both integrate those, merge with the
> other patches in this bugreport, and develop licensecheck further.
Wonderful, thanks!
> I have requested membership of the devscripts team, and am in the
> process of subscribing the the mailinglist now.
>
> Hope you are fine letting me work on this. And thanks to Reinhard
> for pushing me out of my cave :-P
An extra helping hands with devscripts is always welcome, especially if
you plan to work not only on licensecheck but also to help out with some
other devscripts :-P I'm no admin of the project though, so I cannot
directly give you commit access ...
Cheers.
--
Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7
zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/
Dietro un grande uomo c'è ..| . |. Et ne m'en veux pas si je te tutoie
sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime
Subject: Re: Bug#472199: I want to improve licensecheck, if ok with current
maintainers
Date: Sat, 14 Aug 2010 14:12:09 +0200
Hi Jonas,
our DPL is thankful and happy about your work and would welcome your
helping hands with devscripts although he is no project admin and thus
could not grant you commit access ... but he forgot to CC you in his
reply to #472199 (possibly because he assumed you did already subscribe
to the list).
I'm just a devscripts user, but it looks like the standalone perl script
licensecheck2dep5 Jonas wrote for CDBS could be added to devscripts in
its current state if there would be a manpage for it.
There are two ways I would prefer to adding another script to /usr/bin:
* Placing this script in /usr/share/devscripts and add an option to
licensecheck that would filter its output through licensecheck2dep5.
* Moving the script into a sub of licensecheck and adding an
appropriate option to licensecheck.
Regards
Carsten
Hi Carsten (and Zack),
On Sat, Aug 14, 2010 at 02:12:09PM +0200, Carsten Hey wrote:
>our DPL is thankful and happy about your work and would welcome your
>helping hands with devscripts although he is no project admin and thus
>could not grant you commit access ... but he forgot to CC you in his
>reply to #472199 (possibly because he assumed you did already subscribe
>to the list).
Indeed I did not receive the email from Zack (I blame my own mailinglist
subscription fumbling for that, however - will try again after sending
off this message).
>I'm just a devscripts user, but it looks like the standalone perl
>script licensecheck2dep5 Jonas wrote for CDBS could be added to
>devscripts in its current state if there would be a manpage for it.
>
>There are two ways I would prefer to adding another script to /usr/bin:
>
> * Placing this script in /usr/share/devscripts and add an option to
> licensecheck that would filter its output through licensecheck2dep5.
> * Moving the script into a sub of licensecheck and adding an
> appropriate option to licensecheck.
My intended plan for licensecheck2dep5 (currently part of cdbs) is not
to ship it as-is with devscripts, but rather do as you propose as
section option above: integrate with licensecheck itself, controlled by
a commandline option.
I notice that someone silently(?) added me to the devscripts team
already, so take that as an approval of my proposal to work on this -
even more official than a go from our DPL ;-)
Thanks for pushing me! Please repeat if I seem too slow progressing :-)
- Jonas
--
* Jonas Smedegaard - idealist & Internet-arkitekt
* Tlf.: +45 40843136 Website: http://dr.jones.dk/
[x] quote me freely [ ] ask before reusing [ ] keep private
Acknowledgement sent
to Praveen A <[email protected]>:
Extra info received and forwarded to list. Copy sent to Devscripts Devel Team <[email protected]>.
(Mon, 16 Jan 2012 08:15:12 GMT) (full text, mbox, link).
I was manually generating dep5 copyright file for ruby-sigar and
thought it would be nice to be able to auto-generate it (almost all
files have different copyright terms, though most of them is apache
2.0). I was going to file a wishlist bug, but found this. I would like
to know if it is planned for a new devscripts version.
Thanks
Praveen
--
പ്രവീണ് അരിമ്പ്രത്തൊടിയില്
You have to keep reminding your government that you don't get your
rights from them; you give them permission to rule, only so long as
they follow the rules: laws and constitution.
Acknowledgement sent
to Francesco Poli <[email protected]>:
Extra info received and forwarded to list. Copy sent to Devscripts Devel Team <[email protected]>.
(Tue, 28 Aug 2012 20:36:03 GMT) (full text, mbox, link).
Hi Jonas,
I've just discovered /usr/lib/cdbs/licensecheck2dep5, thanks to a reply
from Vincent Cheng [1].
[1] https://lists.debian.org/debian-mentors/2012/08/msg00367.html
As soon as I noticed that licensecheck2dep5 is part of the
cdbs package, I wondered why it was not part of devscripts (which looks
like the most obvious package where this tool should be shipped).
Even better, I think it should be integrated as a possible output
format for licensecheck itself...
Then I found out that I am not the only one with this opinion.
In bug #472199 (I am Cc:ing its e-mail address), a number of different
people asked for this feature to be implemented in licensecheck and you
stepped in, expressing the intention to integrate this capability into
licensecheck.
This sounds really great! Thanks a lot!
Unfortunately there seems to be no visible progress since August 2010...
Is there any well-hidden progress, by chance?!?
I am afraid that my Perl knowledge is just a smattering and it is
rusty, too... As a consequence, I will probably not be able to help
much with the implementation.
But I may help with some testing and feedback, if you are interested.
Please let me know.
Thanks for your time!
--
http://www.inventati.org/frx/frx-gpg-key-transition-2010.txt
New GnuPG key, see the transition document!
..................................................... Francesco Poli .
GnuPG key fpr == CA01 1147 9CD2 EFDF FB82 3925 3E1C 27E1 1F69 BFFE
Hi Francesco,
On 12-08-28 at 10:02pm, Francesco Poli wrote:
> I've just discovered /usr/lib/cdbs/licensecheck2dep5, thanks to a
> reply from Vincent Cheng [1].
>
> [1] https://lists.debian.org/debian-mentors/2012/08/msg00367.html
>
> As soon as I noticed that licensecheck2dep5 is part of the cdbs
> package, I wondered why it was not part of devscripts (which looks
> like the most obvious package where this tool should be shipped). Even
> better, I think it should be integrated as a possible output format
> for licensecheck itself...
>
> Then I found out that I am not the only one with this opinion.
> In bug #472199 (I am Cc:ing its e-mail address), a number of different
> people asked for this feature to be implemented in licensecheck and
> you stepped in, expressing the intention to integrate this capability
> into licensecheck.
> This sounds really great! Thanks a lot!
>
> Unfortunately there seems to be no visible progress since August 2010...
> Is there any well-hidden progress, by chance?!?
Unfortunately only progress is in my head. :-/
I have been granted write access to devscript and have followed its
mailinglist since back then, but not yet taken time to actually do this
work.
I am still interested in this, and expect to make time for it in the
upcoming months. I have some ideas on how to support both very strict
and (as seems most other than myself is interested in) more relaxed
scanning.
> I am afraid that my Perl knowledge is just a smattering and it is
> rusty, too... As a consequence, I will probably not be able to help
> much with the implementation.
> But I may help with some testing and feedback, if you are interested.
You very nudging me like here is helpful for me to bump up the priority.
So thank you for that!
I shall make noise on the bugreport when reaching something concrete to
test, so please subscribe to that if you wanna help out.
I also kinda expect others that might wanna dive in to tackle this to
make noise at the bugreport. That way hopefully we avoid wasting time
on multiple concurrent efforts (in case I continue to not come of with
something).
- Jonas
--
* Jonas Smedegaard - idealist & Internet-arkitekt
* Tlf.: +45 40843136 Website: http://dr.jones.dk/
[x] quote me freely [ ] ask before reusing [ ] keep private
Acknowledgement sent
to Francesco Poli <[email protected]>:
Extra info received and forwarded to list. Copy sent to Devscripts Devel Team <[email protected]>.
(Wed, 29 Aug 2012 17:30:06 GMT) (full text, mbox, link).
On Wed, 29 Aug 2012 10:24:19 +0200 Jonas Smedegaard wrote:
[...]
> On 12-08-28 at 10:02pm, Francesco Poli wrote:
[...]
> > In bug #472199 (I am Cc:ing its e-mail address), a number of different
> > people asked for this feature to be implemented in licensecheck and
> > you stepped in, expressing the intention to integrate this capability
> > into licensecheck.
> > This sounds really great! Thanks a lot!
> >
> > Unfortunately there seems to be no visible progress since August 2010...
> > Is there any well-hidden progress, by chance?!?
>
> Unfortunately only progress is in my head. :-/
That's definitely well-hidden! ;-)
I hope you have a good backup strategy for your head... ;-D
>
> I have been granted write access to devscript and have followed its
> mailinglist since back then, but not yet taken time to actually do this
> work.
Good, so you are ready to start...
>
> I am still interested in this, and expect to make time for it in the
> upcoming months.
That's great news, indeed!
> I have some ideas on how to support both very strict
> and (as seems most other than myself is interested in) more relaxed
> scanning.
If I understand you correctly, I think the most important mode is the
"strict" one: each file has to be scanned and classified as accurately
as possible.
>
>
> > I am afraid that my Perl knowledge is just a smattering and it is
> > rusty, too... As a consequence, I will probably not be able to help
> > much with the implementation.
> > But I may help with some testing and feedback, if you are interested.
>
> You very nudging me like here is helpful for me to bump up the priority.
> So thank you for that!
You're welcome.
>
> I shall make noise on the bugreport when reaching something concrete to
> test, so please subscribe to that if you wanna help out.
I've just done so.
Or, at least, I hope I managed to do so: I am not used to subscribing
to bug reports, this is the first time I try...
Thanks for your time!
Looking forward to having something to test.
Bye.
--
http://www.inventati.org/frx/frx-gpg-key-transition-2010.txt
New GnuPG key, see the transition document!
..................................................... Francesco Poli .
GnuPG key fpr == CA01 1147 9CD2 EFDF FB82 3925 3E1C 27E1 1F69 BFFE
Acknowledgement sent
to Francesco Poli <[email protected]>:
Extra info received and forwarded to list. Copy sent to Devscripts Devel Team <[email protected]>.
(Wed, 24 Oct 2012 19:42:03 GMT) (full text, mbox, link).
On Wed, 29 Aug 2012 19:12:45 +0200 Francesco Poli wrote:
> On Wed, 29 Aug 2012 10:24:19 +0200 Jonas Smedegaard wrote:
>
> [...]
> > On 12-08-28 at 10:02pm, Francesco Poli wrote:
> [...]
> > > In bug #472199 (I am Cc:ing its e-mail address), a number of different
> > > people asked for this feature to be implemented in licensecheck and
> > > you stepped in, expressing the intention to integrate this capability
> > > into licensecheck.
[...]
> > I am still interested in this, and expect to make time for it in the
> > upcoming months.
>
> That's great news, indeed!
Hi again, Jonas!
Any news?
I've just discovered bug #597861, which seems to be an interesting read
for someone (like you) willing to integrate licensecheck2dep5 into
licensecheck. Especially the part [1] where a fork of licensecheck2dep5
is talked about...
[1] http://bugs.debian.org/597861#31
Please consider joining forces with other people willing to address
this same issue, if possible.
Looking forward to receiving some (good) news from you.
Bye.
--
http://www.inventati.org/frx/frx-gpg-key-transition-2010.txt
New GnuPG key, see the transition document!
..................................................... Francesco Poli .
GnuPG key fpr == CA01 1147 9CD2 EFDF FB82 3925 3E1C 27E1 1F69 BFFE
Changed Bug title to 'need a tool to create dep-5 file from source file' from '[licensecheck] generate machine readable DEP-5 debian/copyright file'
Request was from Nicholas Bamber <[email protected]>
to [email protected].
(Thu, 19 Nov 2015 20:21:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Nicholas Bamber <[email protected]>:
Extra info received and forwarded to list. Copy sent to Devscripts Devel Team <[email protected]>.
(Thu, 19 Nov 2015 20:33:04 GMT) (full text, mbox, link).
Thoughts below
On 19. 11. 15 16:33, Dominique Dumont wrote:
> On Wednesday 18 November 2015 21:08:04 Nicholas Bamber wrote:
>> 1.) Your thoughts on #472199? My reading of the bug report is you have
>> no interest in this as you provide the functionality in cme. On the
>> other hand I'd quite like something in this direction as this would
>> remove the need to map between the legacy licensecheck format and DEP-5
>> format.
>
> It would be relatively easy to modify licensecheck to output DEP-5 format
> instead of the current format.
First of all I think backwards compatibility should be maintained so any
change should be an option.
>
> But who would want a dep-5 file with one paragraph per scanned file ?
I was only asking about the translation of the license tags?
But then if you translate the license tags it would cost nothing to go
to a crude bloated DEP-5 format. But since I think we agree that we do
not wish to attempt to make licensecheck to produce "good" DEP-5 it
might be best to avoid moving it in that direction.
>
> That would create huge output for big packages.
yes this would be prompt people to raise wishlist bugs for
consolidation. slippery slope.
>
> If you mean producing license tags in dep5 format (i.e. "gpl-2", "gpl-2+").
> Then yes, I think this should be done in licensecheck, but doing so without
> yet another option may break current tools (e.g. ghostscript package).
Yes. Still I can't make my mind up.
> Agreed. I think that #472199 should be tagged wontfix or its title should be
> changed to "need a tool to create dep-5 file from source file".
>
> scan-copyrights does this work. I'm fine with extracting it from libconfig-
> model-dpkg-perl once it has stabilized enough.
>
> All the best
>
done!
I am slightly puzzled why
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519080 is a wishlist
bug and not a full blown bug.
No longer marked as found in versions devscripts/2.10.25, devscripts/2.10.66, and devscripts/2.10.18.1.
Request was from Dominique Dumont <[email protected]>
to [email protected].
(Thu, 30 Jun 2016 15:33:19 GMT) (full text, mbox, link).
Acknowledgement sent
to "USPS International" <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <[email protected]>.
(Wed, 25 Jan 2017 07:03:03 GMT) (full text, mbox, link).
Dear Customer,
We can not deliver your parcel arrived at January 22.
Please review delivery label in attachment!
Thanks,
Mark Werner,
USPS Chief Station Manager.
Acknowledgement sent
to [email protected] (fotolike):
Extra info received and forwarded to list. Copy sent to Debian Perl Group <[email protected]>.
(Sat, 08 Apr 2017 21:03:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Lars Kruse <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <[email protected]>.
(Tue, 22 May 2018 00:21:03 GMT) (full text, mbox, link).
Subject: Re: need a tool to create dep-5 file from source file
Date: Tue, 22 May 2018 02:17:49 +0200
Package: licensecheck
Followup-For: Bug #472199
Dear Maintainer,
currently the following methods for creating a DEP-5 compliant copyright
file:
debmake -c
cme check dpkg-copyright
licensecheck -r --merge-licenses --deb-machine .
Thus this wishlist bug can probably be closed.
Cheers,
Lars
Acknowledgement sent
to Jonas Smedegaard <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <[email protected]>.
(Fri, 15 May 2020 12:57:02 GMT) (full text, mbox, link).
Control: retitle -1 licensecheck: DEP-5 output is imperfect
Control: block -1 by 828941 837973
Quoting Lars Kruse (2018-05-22 02:17:49)
> currently the following methods for creating a DEP-5 compliant
> copyright file:
>
> debmake -c
> cme check dpkg-copyright
> licensecheck -r --merge-licenses --deb-machine .
>
> Thus this wishlist bug can probably be closed.
Let's instead repurpose this bugreport to track making _ideal_ DEP5
output with licensecheck.
What we have now is this:
licensecheck -r --merge-licenses --deb-machine --lines 0 .
The plan is to integrate these scripts:
cdbs:/usr/lib/cdbs/license-miner
cdbs:/usr/lib/cdbs/licensecheck2dep5
When that's done, we will likely have different opinions on what is
ideal - how aggressively (and thus slow) licensecheck should scan, and
how the DEP-5 output should be laid out (e.g. if same-licensed files by
different authors should be grouped or not). Hopefully we can identify
some broad patterns that groups of us can agree on being ideal, and
licensecheck can offer such "profiles" under a --usage option.
- Jonas
--
* Jonas Smedegaard - idealist & Internet-arkitekt
* Tlf.: +45 40843136 Website: http://dr.jones.dk/
[x] quote me freely [ ] ask before reusing [ ] keep private
Changed Bug title to 'licensecheck: DEP-5 output is imperfect' from 'need a tool to create dep-5 file from source file'.
Request was from Jonas Smedegaard <[email protected]>
to [email protected].
(Fri, 15 May 2020 12:57:02 GMT) (full text, mbox, link).
Acknowledgement sent
to "Accounts Receivable" <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <[email protected]>.
(Sun, 14 May 2023 11:57:04 GMT) (full text, mbox, link).
Good morning,
Attached please find your PDF account statement and invoice as of 05/11/2023. Please notice you have a past due balance for invoice IN0099203.
Please provide payment as soon as possible.
Best Regards,
Shawneen Chisholm
Accounts Receivable Coordinator
UNITED RENTALS, INC.
Branch L02 BONNYVILLE
4920 56TH AVE
BONNYVILLE AB T9N 2N8 CA
780-826-7610
CONFIDENTIALITY NOTICE: The contents of this email message and any attachments are intended solely for the addressee(s). This may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message, please alert the sender immediately by reply email and then delete this message and any attachments. Any disclosure, reproduction, distribution or other use of this message or any attachments by an individual or entity other than the intended recipient is prohibited
Acknowledgement sent
to "Accounts Receivable" <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <[email protected]>.
(Mon, 15 May 2023 12:30:04 GMT) (full text, mbox, link).
Good morning,
Attached please find your PDF account statement and invoice as of 05/11/2023. Please notice you have a past due balance for invoice IN0099203.
Please provide payment as soon as possible.
Best Regards,
Shawneen Chisholm
Accounts Receivable Coordinator
UNITED RENTALS, INC.
Branch L02 BONNYVILLE
4920 56TH AVE
BONNYVILLE AB T9N 2N8 CA
780-826-7610
CONFIDENTIALITY NOTICE: The contents of this email message and any attachments are intended solely for the addressee(s). This may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message, please alert the sender immediately by reply email and then delete this message and any attachments. Any disclosure, reproduction, distribution or other use of this message or any attachments by an individual or entity other than the intended recipient is prohibited
Changed Bug title to 'licensecheck: output formats: DEP-5 output is imperfect' from 'licensecheck: DEP-5 output is imperfect'.
Request was from Jonas Smedegaard <[email protected]>
to [email protected].
(Tue, 08 Apr 2025 11:39:02 GMT) (full text, mbox, link).
Debbugs is free software and licensed under the terms of the GNU General
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.