RE: How to define package 'provides'

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

 



In regard to: RE: How to define package 'provides', Tech Support said (at...:

I guess that what I'm really asking is how do I get the rpm of Perl modules
to provide a list of specific CPAN modules? I tried adding  the following
line to the spec file without success.

   Provides: /opt/VBSPerl/bin/perl, perl(Asterisk::AMI), perl(Carp),
perl(DBI), perl(FindBin), perl(lib), perl(strict)

That should work.  The fact that it's not probably means something
else is going wrong.

What version of rpmbuild are you using when building your custom RPMs,
and on what platform?

You can leave out anything that would be company sensitive or private,
but what does the header for your spec file look like, up to and including
the Provides line you show above?

Tim

From: Rpm-list [mailto:rpm-list-bounces@xxxxxxxxxxxxx] On Behalf Of Stuart
Gathman
Sent: Monday, March 20, 2017 10:17 AM
To: rpm-list@xxxxxxxxxxxxx
Subject: Re: How to define package 'provides'



On 03/20/2017 10:04 AM, Tech Support wrote:

All;

   What I'm trying to do is build two rpms. The first one is a local
library of Perl modules, and the second one is a fax application that relies
on the Perl modules. The problem that I am having is that I am getting an
error when I try to install the second application rpm like so:



error: Failed dependencies:

       /opt/VBSPerl/bin/perl is needed by fax-2.3-82.x86_64

       perl(Asterisk::AMI) is needed by fax-2.3-82.x86_64



The first rpm contains the path to the Perl interpreter and the
Asterisk::AMI Perl module so that's not the problem.  I can get around the
error by using the -nodeps option when trying to install the module, but
that really doesn't solve the problem. To me, I see two solutions, the first
one where I define the Perl module rpm as providing the dependencies, and
the second one where the application rpm is built but doesn't check for
dependencies. To me, the first option is the better answer. I tried the
first option in the Perl library spec file but, but that didn't fix it.



Provides: /opt/VBSPerl/bin/perl, perl(Asterisk::AMI), perl(Carp), perl(DBI),
perl(FindBin), perl(lib), perl(strict)



I also tried the following in the application spec file without success.

AutoReqProv: no

Autoreq: no

%define __find_requires %{nil}





I'm really stumped here, and I know that the answer is probably going to be
something obvious. If anyone has any insight at all, I would greatly
appreciate it.

The first step is to see what your rpms are actually requiring and
providing:

rpm -qp --provides fax-2.3-82.x86_64.rpm
rpm -qp --requires fax-2.3-82.x86_64.rpm

repeat for your perl module rpm.



--
Tim Mooney                                             Tim.Mooney@xxxxxxxx
Enterprise Computing & Infrastructure                  701-231-1076 (Voice)
Room 242-J6, Quentin Burdick Building                  701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxxxxx
http://lists.rpm.org/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