[Fedora-packaging] whereis perl(ident) ?

Frantisek Hanzlik franta at hanzlici.cz
Mon May 10 21:45:05 UTC 2010


Frantisek Hanzlik wrote:
> Hello,
>
> I'm not sure when I write to right list, please correct me if no.
>
> I just tried build RPM package for beta version of program calamaris
> ( http://cord.de/tools/squid/calamaris/calamaris-2.99.4.0.tar.gz )
> RPM package was built successfully, but when I tried install it,
> rpm fail with message
>
> "perl(ident) is needed by calamaris-2.99.4.0-2.fc13.noarch"
>
> "rpm -qp --requires" output:
> config(calamaris) = 2.99.4.0-2.fc13
> perl>= 0:5.002
> perl(Carp)
> perl(GD::Graph)
> perl(GD::Graph::bars)
> perl(GD::Graph::colour)
> perl(GD::Graph::utils)
> perl(Getopt::Long)
> perl(Switch)
> perl(Sys::Hostname)
> perl(Time::Local)
> perl(calamaris::calAxestype)
> perl(calamaris::calAxestype3d)
> perl(constant)
> perl(ident)
> perl(integer)
> perl(lib)
> perl(strict)
> rpmlib(CompressedFileNames)<= 3.0.4-1
> rpmlib(FileDigests)<= 4.6.0-1
> rpmlib(PayloadFilesHavePrefix)<= 4.0-1
> rpmlib(VersionedDependencies)<= 3.0.3-1
> rpmlib(PayloadIsXz)<= 5.2-1
>
> And "repoquery --whatprovides  'perl(ident)'" give me no output.
>
> I tried build&  install this package both on Fedora 12 and Fedora 13,
> with same result. Although "rpm -U --nodeps ..." force install it and
> it will probably work, I would know why RPM want this capability and
> how it may be solved.
> Some my searching on Bugzilla on Internet wasn't successfull, my SPEC
> file contain only this "Requires" line:
>
> Requires: squid perl(NetAddr::IP) perl(GD::Graph) perl(GD::Graph3d)
>
> but result is same when this line isn't present. Probably rpmbuild
> has some mechanism for finding Perl package dependencies and list
> of required capabilities is created automatically.
> Of course, in calamaris programs isn't referenced any 'ident' object.
>
> Know someone how solve this problem?
>
> Thank in advance,
> Franta Hanzlik
> --
> packaging mailing list
> packaging at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/packaging

I probably find this problem cause - /usr/lib/rpm/perl.req generate
list of perl source requirements, but does his work without deeper
syntax parsing. And in this case was badly interpreted USAGE string
as perl code. There is part of this:

...
--requester-report-use-user-info|-u
         use ident information if available (*)
...

"calamaris-2.59" stable version, which is in Fedora repo, has
in USAGE string similar line:

-u      user    (use ident information if available) (*)

but perl.req logic in this case not evaluate it as code, thus things
works OK.

For now I will slightly modify USAGE string and it solve problem.

Please, should I add entry to Bugzilla, when I built package
which isn't in official Fedora repo?

Thanks, Franta Hanzlik


More information about the packaging mailing list