[Rpm-metadata] resolving file dependencies like /bin/sh

seth vidal skvidal at phy.duke.edu
Mon Aug 9 21:04:42 UTC 2004


On Mon, 2004-08-09 at 16:52, Dries Verachtert wrote:
> Hello,
> 
> I would like to check all the dependencies of a bunch of rpms (to check if 
> there's no rpm which can't be installed by yum or apt). I changed the 
> import/test.py a bit and it works great, except that it can't find certain 
> file dependencies like /bin/sh. 

Lots of changes in the yum merge of the import routines. I need to
remerge them back into the main cvs. When I do you might find some of
these items are fixed. I'll try to merge them back tonight.


> I added some paths to repositories so the repodata information of the fedora 
> core 2 rpms is loaded and also the repodata information about my own rpms and 
> about the rpms of Dag.
> I also changed the code a bit so the filelist is also loaded with 
> pkgSack.addFile().

filelists are added by addFile already. Why not just use
addFile(yourfilelistfile)?

> Certain file dependencies can be found and certain filedependencies can't be 
> found and probably i'm making a very stupid error but i can't find it :-) Is 
> there mabye something important which i forgot?
> 
>  Examples of filedependencies which can be found:
>     302 /bin/bash
>      97 /sbin/install-info
>      79 /usr/bin/python
>      26 /usr/sbin/chkfontpath
>      13 /bin/csh
>      11 /bin/mktemp
>      10 /usr/bin/gbx
>       7 /usr/bin/desktop-file-install
>       5 /usr/bin/tclsh
>       5 /bin/awk
>       4 /usr/bin/wish
>       4 /usr/bin/ttmkfdir
>       3 /usr/bin/cmp
>       2 /usr/sbin/sendmail
>       2 /usr/bin/guile
>       2 /usr/bin/find
>       2 /usr/bin/file
>       2 /sbin/fuser
>       2 /etc/termcap
>       2 /bin/sed
>       2 /bin/ps
>       1 /usr/bin/time
>       1 /usr/bin/tcl
>       1 /usr/bin/rexx
>       1 /usr/bin/regina
>       1 /usr/bin/patch
>       1 /usr/bin/newaliases
>       1 /usr/bin/m4
>       1 /usr/bin/lpr
>       1 /usr/bin/bc
>       1 /sbin/lspci
>       1 /sbin/grubby
>       1 /etc/cron.d
>       1 /etc/aliases
>       1 /bin/egrep
>       1 /bin/cpio
>       1 /bin/basename
>       1 /bin/ash
> 
> Examples of file dependencies which can't be found:
>    1752 /bin/sh
>     425 /usr/bin/perl
>     311 /sbin/ldconfig
>      94 /usr/bin/env
>      90 /sbin/chkconfig
>      50 /usr/sbin/useradd
>      44 /sbin/service
>      30 /usr/X11R6/bin/mkfontdir
>      22 /usr/sbin/usermod
>      17 /etc/init.d
>      15 /usr/bin/python2
>      15 /etc/pam.d/system-auth
>      14 /usr/sbin/alternatives
>       9 /usr/sbin/groupadd
>       8 /bin/ln
>       6 /bin/grep
>       5 /usr/bin/gconftool-2
>       5 /bin/rm
>       5 /bin/echo
>       5 /bin/cat
>       4 /usr/sbin/userdel
>       4 /usr/sbin/glibc_post_upgrade
>       4 /bin/mkdir
>       4 /bin/akanga
>       3 /usr/bin/scrollkeeper-update
>       3 /usr/bin/ruby
>       3 /usr/bin/killall
>       3 /usr/bin/id
>       3 /usr/bin/awk
>       3 /sbin/pidof
>       3 /sbin/nologin
>       3 /bin/mv
>       3 /bin/cp
> 


> You can also get the same problem with the example test.py :
> python import/test.py fc2os/ fc2dries/ xorg-x11
> will show you unresolved file dependencies like /bin/sh and /usr/bin/cpp
> Basicly i changed line 62 to 
> processlist = [phref, fhref]
> but apparantly that's not enough to solve the problem. I also changed a lot of 
> other things but nothing that solved the problem :-)

There was a bug in the generation routines in < 0.3.6 of createrepo. It
was only using the FIRST file in the file list :)

but that's fixed. Check your repositories, see if the filelists are
being generated correctly.

-sv





More information about the Rpm-metadata mailing list