On 01.04.2014 00:25, Tomasz Paweł Gajc wrote:
Dnia poniedziałek, 31 marca 2014 16:38:39 Александр Бурмашев pisze:
Use of uninitialized value in split at
/usr/lib/perl5/vendor_perl/5.16.3/x86_64-linux-thread-multi/URPM/Signature.p
m line 32.
No wonder key is not added :)
Sorry to say but above is not an issue :) Intializing $p->description //''
silences this warning
By doing this, you silence the warning that points you to a real error.
perl-URPM expects $p->description to contain the public key, and you
just set it to empty value:)
{cachedir}/partial/pubkey", tries to import /var/cache/urpmi/partial/pubkey
and function import_needed_pubkeys_from_file perl-URPM/URPM/Signature.pm is
called which returns 1 when pubkey matches gpg-pubkey from parse_pubkeys_
$db->traverse_tag('name', [ 'gpg-pubkey' ],
I think there is some issue with getting gpg-key from RPM db.
That's right - this is why $p->description becomes uninitialized. It
should contain description of 'gpg-pubkey' package, and this description
actually contains the public key (just launch 'rpm-qi gpg-pubkey' and
take a look at its description).
perl-URPM is intended to walk through all packages named 'gpg-pubkey'
(this is what db->traverse_tag should do) and extract public keys from
their descriptions. But for some reason, traverse_tag seems to fail or
at least not to extract package descriptions correctly. Maybe it simply
doesn't extact these descriptions or use some other name for the field?
Could you dump the whole contents of the '$p' hash for debug?