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?


Reply via email to