Linux

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • Why this rpmlint error with Perl provides

    1 answers - 1302 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    I'm packaging a CPAN module PE::Queue and my rpm
    builds fine, but 'rpmlint -i
    ' gives
    the following errors:
    E: perl-PE-Queue useless-explicit-provides
    perl(PE::Kernel)
    This package provides 2 times the same capacity. It
    should only provide it
    once.
    E: perl-PE-Queue useless-explicit-provides
    perl(PE::Loop::Tk)
    This package provides 2 times the same capacity. It
    should only provide it
    once.
    My .spec does not explicitly list the provides; I'm
    relying on RPM to find them automatically.
    I noticed that 'find /BUILD/PE-0.37 -type f -exec
    /usr/lib/rpm/perl.prov {} \; | sort | uniq' lists both
    provides with and without a trailing number, as in:
    <snip>
    perl(PE::Kernel)
    perl(PE::Kernel) = 2116
    <snip>
    perl(PE::Loop::Tk)
    perl(PE::Loop::Tk) = 1980
    <snip>
    No other provide is listed twice, though some list
    with trailing numbers (what do they mean?) and some
    list without.
    Are these errors important? What do I do to make them
    go away?
    TIA-
    -al
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    Rpm-list mailing list
    Rpm-list (AT) redhat (DOT) com
  • No.1 | | 2290 bytes | |

    Sep 11, 2006, at 8:20 PM, Al Pacifico wrote:

    I'm packaging a CPAN module PE::Queue and my rpm
    builds fine, but 'rpmlint -i
    ' gives
    the following errors:
    E: perl-PE-Queue useless-explicit-provides
    perl(PE::Kernel)
    This package provides 2 times the same capacity. It
    should only provide it
    once.

    E: perl-PE-Queue useless-explicit-provides
    perl(PE::Loop::Tk)
    This package provides 2 times the same capacity. It
    should only provide it
    once.

    My .spec does not explicitly list the provides; I'm
    relying on RPM to find them automatically.

    I noticed that 'find /BUILD/PE-0.37 -type f -exec
    /usr/lib/rpm/perl.prov {} \; | sort | uniq' lists both
    provides with and without a trailing number, as in:

    <snip>
    perl(PE::Kernel)
    perl(PE::Kernel) = 2116
    <snip>
    perl(PE::Loop::Tk)
    perl(PE::Loop::Tk) = 1980
    <snip>

    rpmlint is complaining about a redundant dependency.

    There is a dependency on any perl(PE::Kernel) as well as on a
    specific version.

    No other provide is listed twice, though some list
    with trailing numbers (what do they mean?) and some
    list without.

    Run
    rpm -qp
    to find which files are generating the dependencies.

    Are these errors important? What do I do to make them
    go away?

    The errors are likely harmless.

    Change one of the two "use " statements in the files to be like
    the other
    so that perl-req.pl extracts one, not two, dependencies.

    Alternatively, you can override %__perl_requires with a wrapper
    that looks something like this in your spec file:

    Source9: myperlrequires.sh

    %define __perl_requires%{SURCE9}

    and the contents of myperlrequires.sh should look something like
    #!/bin/sh
    /usr/lib/rpm/perl.req | sed -e 's/perl(PE::Kernel = 2116)//' -e
    's/perl(PE::Loop::Tk) = 1980//'

    In other words just post process the perl dependency extractor to
    remove unwanted dependencies.

    Patching the perl scripts is the better fix however.

    (all the above is untested, watch for typos)

    hth

    73 de Jeff

    Rpm-list mailing list
    Rpm-list (AT) redhat (DOT) com

Re: Why this rpmlint error with Perl provides


max 4000 letters.
Your nickname that display:
In order to stop the spam: 2 + 1 =
QUESTION ON "Linux"

EMSDN.COM