Thanks Gregor for all the assistance.
Yes, I seem to have chosen a couple of good packages to adopt :)
To be fair, it has given me a baptism of fire, but in the same vane, some valuable experience in the things that can happen and how to approach fixes
of the same.
As a bit of feedback on your comments, I was able to build the package and
test it using the included Makefile.PL
I have made spelling corrections, and am in the process of building a patch
to pass upstream.
--
Ken Ibbotson
E:
[email protected]
*"Reality is merely an illusion, albeit a very persistent one."*
- Albert Einstein (1879-1955)
On Mon, 26 Oct 2020 at 00:01, gregor herrmann <
[email protected]> wrote:
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
<div dir="ltr"><div>Thanks Gregor for all the assistance.</div><div><br></div><div>Yes, I seem to have chosen a couple of good packages to adopt :)</div><div><br></div><div>To be fair, it has given me a baptism of fire, but in the same vane, some
valuable experience in the things that can happen and how to approach fixes of the same.</div><div><br></div><div>As a bit of feedback on your comments, I was able to build the package and test it using the included Makefile.PL</div><br><div>I have made
spelling corrections, and am in the process of building a patch to pass upstream.<br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div>--<br>Ken Ibbotson</div>E: <a href="mailto:keni@computer.
org" target="_blank">
[email protected]</a><br><div><br></div><div><i>"Reality is merely an illusion, albeit a very persistent one."</i></div> - Albert Einstein (1879-1955)<br></div></div></div></div><br></div></div><br><div class="gmail_
quote"><div dir="ltr" class="gmail_attr">On Mon, 26 Oct 2020 at 00:01, gregor herrmann <<a href="mailto:
[email protected]">
[email protected]</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">On Sat, 24 Oct 2020 12:17:31 +1030, Ken Ibbotson wrote:<br>
> Updated copyright file:<br>
> - copyright only yielded one year 2007<br>
> - add missing 'inc/Module' copyright<br>
> - add BSD-3-Clause based on content of LICENSE file<br>
> - set the 'debian/*' as BSD-3-Clause rather than Artistic, and retained<br>
> Artistic licence clause for the 'inc/Module'<br>
> <br>
> Questions:<br>
> <br>
> 1. Given only one year being found, do I need to email the developer to<br>
> obtain more information on copyright years, or leave as 2007, <br>
If upstream says "2007", we can just take this year.<br>
> or include<br>
> the Berne Convention?<br>
The "Berne Convention assumption" is for the cases where there is an<br>
author but no explicit copyright holder, which is not the case here.<br>
> 2. The LICENSE file contained the BSD-3-Clause licence without explicitly<br>
> stating it, and the README indicated BSD, with an online search confirming<br>
> the actual licence text included matched.<br>
> Does this suffice, or do I need to advise the developer to include the<br> > licence name in the licence file?<br>
I think that's fine as-is, both for upstream (they state clear license<br> terms), and for us (we name it "BSD-3-Clause" just to have a<br> convenient short name).<br>
> Also, at the completion of 'dh-make-perl', an information message in the<br>
> copyright file indicates: 'License: unparsable',<br>
> Does 'dh-make-perl' look for licence by name or text, and ergo would this<br>
> constitute a reason bug to log that the licence was not recognised?<br>
It tries all kinds of things :)<br>
And that usually works but fails in the rare corner case.<br>
> 3, The original source does not contain any 'META.[json|yml] files, which<br>
> was reported as an error during the 'dh-make-perl' execution.<br> > Are these files mandatory?<br>
No, their absence is just a sign of a distribution which doesn't use<br> typical modern tools.<br>
> 4. Did I miss anything?<br>
Just some nit-picking observations:<br>
- d/rules has a trailing \t<br>
- d/copyright:<br>
* as per the above notes, '-<INSERT COPYRIGHT YEAR(S) HERE>' can be<br>
removed<br>
* the upstream email address could be de-mangled (in two spots)<br>
* you use "License: BSD-3-Clause" as a license for "debian/*";<br>
that's fine if this is your preference; typically we use upstream<br> license + perl license, i.e. ""License: BSD-3-Clause or Artistic or GPL-1+"<br>
- d/control: you can add "Rules-Requires-Root: no" to the source<br> section<br>
Less ideal is that the package doesn't build in a cowbuilder chroot:<br>
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.<br>
-> add "libtest-exception-perl <!nocheck>" to Build-Depends-Indep<br>
Then it still fails with:<br>
# Failed test 'use Test::FITesque::Fixture;'<br>
# at t/01-fixture.t line 10.<br>
# Tried to use 'Test::FITesque::Fixture'.<br>
# Error: Base class package "Class::Data::Inheritable" is empty.<br>
# (Perhaps you need to 'use' the module which defines that package first,<br>
# 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).<br>
# at /build/libtest-fitesque-perl-0.04/blib/lib/Test/FITesque/Fixture.pm line 7.<br>
# BEGIN failed--compilation aborted at /build/libtest-fitesque-perl-0.04/blib/lib/Test/FITesque/Fixture.pm line 7.<br>
# Compilation failed in require at t/01-fixture.t line 10.<br>
# BEGIN failed--compilation aborted at t/01-fixture.t line 10.<br>
--> add "libclass-data-inheritable-perl <!nocheck>" to Build-Depends-Indep<br>
and "libclass-data-inheritable-perl" to Depends<br>
(both can be found in Makefile.PL but as that's a Module::Install<br> wrapper, dh-make-perl fails at parsing, and there's no<br>
META.{yml,json} either, as we already noted :))<br>
lintian has some remarks, e.g.:<br>
I: libtest-fitesque-perl: spelling-error-in-description unnessecary unnecessary<br>
-> that's in debian/control and easily fixed<br>
I: libtest-fitesque-perl: typo-in-manual-page usr/share/man/man3/Test::FITesque.3pm.gz compatability compatibility<br>
and some others<br>
optionally create a patch to fix all the typos and send it<br>
upstream<br>
W: libtest-fitesque-perl source: team/pkg-perl/testsuite/autopkgtest-needs-use-name<br>
pkg-perl-autopkgtest's use.t wants to know the name of the (main)<br> module, and again, we have no META.{yml,json} :) so:<br>
% mkdir -p debian/tests/pkg-perl<br>
% echo Test::FITesque > debian/tests/pkg-perl/use-name<br>
As a summary: you happened to pick a rare cornercase of an a-typical<br> distribution here, usually it's much quicker to create a new package :)<br>
Cheers,<br>
gregor<br>
-- <br>
.''`. <a href="
https://info.comodo.priv.at" rel="noreferrer" target="_blank">
https://info.comodo.priv.at</a> -- Debian Developer <a href="
https://www.debian.org" rel="noreferrer" target="_blank">
https://www.debian.org</a><br>
: :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06<br>
`. `' Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe<br>
`- NP: Cat Power: Could We<br>
</blockquote></div>
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)