Bug#977512: src:libconfig-identity-perl: Build-Depends on old gnupg1, but could use gnupg2
gregor herrmann
gregoa at debian.org
Tue Dec 15 22:37:45 GMT 2020
On Tue, 15 Dec 2020 22:43:26 +0100, Chris Hofstaedtler wrote:
> a very long time ago, Build-Depends were changed so gnupg1 is explicitly
> used, due to CPAN RT#112569. However, upstream has apparently fixed the
> tests in 0.0019 - this is noted in the same RT bug.
> Please consider switching the build dependency to gnupg2.
Thanks for the bug report!
Some quick thoughts:
- OOC: Is gnupg1 going away, or what is the reason for this proposal?
- I guess rather gnupg and not gnupg2 (the latter is a transitional
package with just a dependency and a symlink gpg2 -> gpg; and the
test uses `gpg').
- I wrote in the old changelog message:
The tests are skipped if no gpg is found but if gnupg2 is installed they
fail because of the key material in t/assets/gpg. CPAN RT#112569 provides
a different solution: to convert the key material to gnupg2 before running
the tests. This works as well but leaves more changed files behind.
and t/01-basic.t in 0.0019 contains:
+ # Per https://rt.cpan.org/Public/Bug/Display.html?id=112569 gpg 2.1.x
+ # needs a key format migration run on test data before tests
+ {
+ my $gpg_v = qx/$gpg --version/;
+ my ($first,$second) = $gpg_v =~ /^gpg \s+ \([^)]+\) \s+ (\d+) \. (\d+)/mx;
+ if ( $first && $second && ($first > 2 || ($first == 2 && $second > 0))) {
+ qx/$gpg --homedir $homedir --list-secret-keys/;
+ }
+ }
Let's try (change bdep and d/rules to not use gpg1); building twice:
First run:
gpg: WARNING: unsafe permissions on homedir '/build/libconfig-identity-perl-0.0019/t/assets/gpg'
gpg: starting migration from earlier GnuPG versions
gpg: porting secret keys from '/build/libconfig-identity-perl-0.0019/t/assets/gpg/secring.gpg' to gpg-agent
gpg: key 542711D33A02A63D: secret key imported
gpg: migration succeeded
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
t/01-basic.t ...........
ok 1
ok 2
ok 3
ok 4
ok 5 - load_check with arrayref
ok 6 - load_check with coderef
ok 7 - load_check croaks on bad argument
ok 8 - load_check detected missing field
ok 9 - load_check detected missing fields
ok 10 - checker sub has same $_ and $[0]
ok 11 - checker sub has expected fields in $_
ok 12 - load_check detected missing field (from checker sub)
ok 13
ok 14
ok 15
ok 16
1..16
ok
Second run:
dpkg-source -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building libconfig-identity-perl using existing ./libconfig-identity-perl_0.0019.orig.tar.gz
dpkg-source: error: cannot represent change to libconfig-identity-perl-0.0019/t/assets/gpg/S.gpg-agent.ssh: device or socket is not allowed
dpkg-source: error: cannot represent change to libconfig-identity-perl-0.0019/t/assets/gpg/S.gpg-agent: device or socket is not allowed
dpkg-source: error: cannot represent change to libconfig-identity-perl-0.0019/t/assets/gpg/S.gpg-agent.extra: device or socket is not allowed
dpkg-source: error: cannot represent change to libconfig-identity-perl-0.0019/t/assets/gpg/S.gpg-agent.browser: device or socket is not allowed
dpkg-source: warning: newly created empty file 't/assets/gpg/.gpg-v21-migrated' will not be represented in diff
dpkg-source: error: cannot represent change to t/assets/gpg/private-keys-v1.d/9E09C5BF10F2273196F58D070479572BF264FC89.key: binary file contents changed
dpkg-source: error: add t/assets/gpg/private-keys-v1.d/9E09C5BF10F2273196F58D070479572BF264FC89.key in debian/source/include-binaries if you want to store the modified binary in the debian tarball
dpkg-source: error: cannot represent change to t/assets/gpg/private-keys-v1.d/9E33E8D390FB2C4244520DD2866F07EFBB6606ED.key: binary file contents changed
dpkg-source: error: add t/assets/gpg/private-keys-v1.d/9E33E8D390FB2C4244520DD2866F07EFBB6606ED.key in debian/source/include-binaries if you want to store the modified binary in the debian tarball
dpkg-source: error: cannot represent change to t/assets/gpg/pubring.gpg: binary file contents changed
dpkg-source: error: add t/assets/gpg/pubring.gpg in debian/source/include-binaries if you want to store the modified binary in the debian tarball
dpkg-source: error: cannot represent change to t/assets/gpg/trustdb.gpg: binary file contents changed
dpkg-source: error: add t/assets/gpg/trustdb.gpg in debian/source/include-binaries if you want to store the modified binary in the debian tarball
dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 127
I guess that's what I meant with "leaves more files behind" in the
old changelog entry :)
Next step: There's already machinery for backupping and restoring a
file in debian/rules, maybe we can expand it easily …
Ok, seems to work at the second try.
Not the most beautiful d/rules ever :)
Alright, changes pushed to https://salsa.debian.org/perl-team/modules/packages/libconfig-identity-perl.git
but I wouldn't mind a second (yours or someone else's :)) pair of
eyes before uploading.
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: Aimee Mann: Just Like Anyone
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: Digital Signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-perl-maintainers/attachments/20201215/c46ba5db/attachment.sig>
More information about the pkg-perl-maintainers
mailing list