On Sat, 24 Oct 2020 12:17:31 +1030, Ken Ibbotson wrote:
> Updated copyright file:
> - copyright only yielded one year 2007
> - add missing 'inc/Module' copyright
> - add BSD-3-Clause based on content of LICENSE file
> - set the 'debian/*' as BSD-3-Clause rather than Artistic, and retained
> Artistic licence clause for the 'inc/Module'
>
> Questions:
>
> 1. Given only one year being found, do I need to email the developer to
> obtain more information on copyright years, or leave as 2007,
If upstream says "2007", we can just take this year.
> or include
> the Berne Convention?
The "Berne Convention assumption" is for the cases where there is an
author but no explicit copyright holder, which is not the case here.
> 2. The LICENSE file contained the BSD-3-Clause licence without explicitly
> stating it, and the README indicated BSD, with an online search confirming
> the actual licence text included matched.
> Does this suffice, or do I need to advise the developer to include the
> licence name in the licence file?
I think that's fine as-is, both for upstream (they state clear license
terms), and for us (we name it "BSD-3-Clause" just to have a
convenient short name).
> Also, at the completion of 'dh-make-perl', an information message in the
> copyright file indicates: 'License: unparsable',
> Does 'dh-make-perl' look for licence by name or text, and ergo would this
> constitute a reason bug to log that the licence was not recognised?
It tries all kinds of things :)
And that usually works but fails in the rare corner case.
> 3, The original source does not contain any 'META.[json|yml] files, which
> was reported as an error during the 'dh-make-perl' execution.
> Are these files mandatory?
No, their absence is just a sign of a distribution which doesn't use
typical modern tools.
> 4. Did I miss anything?
Just some nit-picking observations:
- d/rules has a trailing \t
- d/copyright:
* as per the above notes, '-<INSERT COPYRIGHT YEAR(S) HERE>' can be
removed
* the upstream email address could be de-mangled (in two spots)
* you use "License: BSD-3-Clause" as a license for "debian/*";
that's fine if this is your preference; typically we use upstream
license + perl license, i.e. ""License: BSD-3-Clause or Artistic or GPL-1+"
- d/control: you can add "Rules-Requires-Root: no" to the source
section
Less ideal is that the package doesn't build in a cowbuilder chroot:
Can't locate Test/Exception.pm in @INC (you may need to install the Test::Exception module) (@INC contains: t/lib /build/libtest-fitesque-perl-0.04/inc /build/libtest-fitesque-perl-0.04/blib/lib /build/libtest-fitesque-perl-0.04/blib/arch /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.3 /usr/local/share/perl/5.30.3 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl) at t/01-fixture.t line 8.
-> add "libtest-exception-perl <!nocheck>" to Build-Depends-Indep
Then it still fails with:
# Failed test 'use Test::FITesque::Fixture;'
# at t/01-fixture.t line 10.
# Tried to use 'Test::FITesque::Fixture'.
# Error: Base class package "Class::Data::Inheritable" is empty.
# (Perhaps you need to 'use' the module which defines that package first,
# or make that module available in @INC (@INC contains: t/lib /build/libtest-fitesque-perl-0.04/inc /build/libtest-fitesque-perl-0.04/blib/lib /build/libtest-fitesque-perl-0.04/blib/arch /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.3 /usr/local/share/perl/5.30.3 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl).
# at /build/libtest-fitesque-perl-0.04/blib/lib/Test/FITesque/Fixture.pm line 7.
# BEGIN failed--compilation aborted at /build/libtest-fitesque-perl-0.04/blib/lib/Test/FITesque/Fixture.pm line 7.
# Compilation failed in require at t/01-fixture.t line 10.
# BEGIN failed--compilation aborted at t/01-fixture.t line 10.
--> add "libclass-data-inheritable-perl <!nocheck>" to Build-Depends-Indep
and "libclass-data-inheritable-perl" to Depends
(both can be found in Makefile.PL but as that's a Module::Install
wrapper, dh-make-perl fails at parsing, and there's no
META.{yml,json} either, as we already noted :))
lintian has some remarks, e.g.:
I: libtest-fitesque-perl: spelling-error-in-description unnessecary unnecessary
-> that's in debian/control and easily fixed
I: libtest-fitesque-perl: typo-in-manual-page usr/share/man/man3/Test::FITesque.3pm.gz compatability compatibility
and some others
optionally create a patch to fix all the typos and send it
upstream
W: libtest-fitesque-perl source: team/pkg-perl/testsuite/autopkgtest-needs-use-name
pkg-perl-autopkgtest's use.t wants to know the name of the (main)
module, and again, we have no META.{yml,json} :) so:
% mkdir -p debian/tests/pkg-perl
% echo Test::FITesque > debian/tests/pkg-perl/use-name
As a summary: you happened to pick a rare cornercase of an a-typical
distribution here, usually it's much quicker to create a new package :)
Cheers,
gregor
--
.''`. https://info.comodo.priv.at -- Debian Developer https://www.debian.org
: :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06
`. `' Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
`- NP: Cat Power: Could We