Re: pathnames, etc. as required capabilities

devzero2000 <[email protected]> Sat, 5 Apr 2008 18:49:06 +0200
Newsgroups gmane.linux.redhat.rpm.general
Message-ID <[email protected]>
As far i know,

for the 2) questions the answer is yes. rpmlib(xxxxx) and /bin/sh are
special requirement
to rpm library itself and for the bourne shell script to run the
installation scripts (e.g. %pre %post and so), respectively . For example,
rpmlib(VersionedDependencies) >= 3.0.3-1 in facts is a dependency from rpm
itselfs: the package in questions hold dependecies or prerequisites that
have versions associated with them: the spec file have probabily something
like Requires : foo >= 1.1. In fact it is possible in rpm  to define
Versioned Dependency from rpm >= 3.0.3. The rpm tags RPMTAG_REQUIRENAME and
RPMTAG_REQUIREVERSIONS should be list this requisites. For the second point
you ask
 it is possibile to have also the requisite "lsb" with version "1.3" or so,
iirc - i have not see it anyway: it mean that the package conforms to the
Linux Standard Base RPM format (which means no requirements or provides are
defined other from lsb-xxx modules itself and that the payload are
compressed with gzip at compression level 9, more or less - not exactly a
good thing or useful IMHO). In fact in rpm 5 (rpm5.org, unlikely you use) in
the rpm build (rpmbuild command)  it is possible to pass the popt option
--lsb that means exactly --noautorequires --noautoprovides. From RPM 4.4.4
exist also other depency as libtool(....) depencies , but, again, it is
unlikely you see ever  in CentoOS - but in PLD Linux, i have read, Yes for
example

hth

On Sat, Apr 5, 2008 at 4:54 AM, Dave Peterson <[email protected]>
wrote:

> Hi,
>
> I have a little C++ program I wrote that uses RPM library
> calls to extract dependency info from RPM files, and then
> does some analysis on the extracted info.  As input, the
> program takes the entire set of RPMs in the CentOS 5
> distro.  Looking at the output, I notice that there are a
> number of capabilities required by packages in the distro
> but not shown as being provided by any package in the
> distro.  Almost all of these are full pathnames (for
> instance "/bin/sh" and "/bin/gzip").  The remaining few
> are strings that look like they specify things provided
> by the RPM library itself (such as
> "rpmlib(CompressedFileNames)" and
> "rpmlib(PartialHardlinkSets)").
>
> Based on these observations, I am guessing that the
> following conventions probably apply to strings extracted
> from RPM headers that represent required capabilities:
>
>    1.  Any capability string that looks like an absolute
>        pathname should be treated as one.  In addition
>        to packages that explicitly list such a
>        capability as being provided, any package whose
>        set of included files contains a matching
>        absolute pathname should be treated as providing
>        that capability.
>
>    2.  Any capability string that looks like
>        "rpmlib(...)" should be assumed to refer to
>        something provided by the RPM library itself.
>
> Is this correct?  If so, I have a couple of questions:
>
>    - The RPM package that provides the RPM library
>      itself (rpm-4.4.2-37.el5.i386.rpm for CentOS 5)
>      doesn't list capabilities such as
>      "rpmlib(CompressedFileNames)".  Is there any way,
>      just by using RPM library calls to get info from
>      the RPM package, to determine whether it provides
>      things such as "rpmlib(CompressedFileNames)"?  If
>      not, how do I use RPM library calls to ask the RPM
>      library on an installed system which capabilities
>      of this type it provides?
>
>    - Are there any kinds of strings other than absolute
>      pathnames and things like
>      "rpmlib(CompressedFileNames)" that an RPM header
>      may list as required but must be treated as special
>      cases?
>
> Thanks in advance for any help you may be able to provide.
>
> Dave
>
> _______________________________________________
> Rpm-list mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/rpm-list
>

_______________________________________________
Rpm-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/rpm-list