Re: Automatic Perl dependencies problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Amen!

but shouldn't this be cross posted to:

http://lists.sourceforge.net/mailman/listinfo/cpan2rpm-general

or a bug filed at

http://sourceforge.net/tracker/?group_id=74018&atid=539686

But good to know.


On Mon, 29 Aug 2005, Dan Franklin wrote:

I've been using cpan2rpm a fair amount, and sometimes the rpm files it produces refuse to install because of dependency issues. After investigating, I think it's because of a problem with rpm's automatic dependency generators for Perl.

The problem occurs when a Perl .pm file in a CPAN module has a 'use' statement that corresponds to a .pm file also in the module, but that second file's 'package' statement doesn't match the filename. This is legal Perl. rpmbuild will generate a requires for the filename and a provides for the package. Since these don't match, the RPM won't install because it appears to require things that don't exist.

For example, take CPAN module VCS::LibCVS, whose RPM failed to install with several requirements not met.

In one of its files, VCS/LibCVS/Client.pm, it has a use statement
	use VCS::LibCVS::Client::Request::Requests;
which causes it to load VCS/LibCVS/Client/Request/Requests.pm, which is also part of VCS::LibCVS. But Requests.pm has no package statement for VCS::LibCVS::Client::Request::Requests. It defines many other packages, but not that one. This is OK, because none of the LibCVS code ever tries to create an object by that name. So the code is fine.

But perl.req scans for 'use' statements, and generates a requirement for perl(VCS::LibCVS::Client::Request::Requests), while perl.prov scans for 'package' statements, so it never says that this module provides a matching package. Result: when I try to install the package, rpm says that it is missing perl(VCS::LibCVS::Client::Request::Requests). This happens for several other requirements as well.

I can get around this by adding Provides: tags for the "missing" packages, but it seems to me that perl.prov ought not to scan for package statements. It should just use the things that 'use' statements actually care about - the filenames themselves.

	Dan Franklin
	dfranklin@xxxxxxx

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list


--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-                                                               -
- Jason Pyeron                      PD Inc. http://www.pdinc.us -
- Partner & Sr. Manager             7 West 24th Street #100     -
- +1 (443) 921-0381                 Baltimore, Maryland 21218   -
-                                                               -
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, purge the message from your system and notify the sender immediately. Any other use of the email by you is prohibited.

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux