Script to detect conflicting files in PATH within a yum repo (was Re: conflict between libotf and openmpi)

David Malcolm dmalcolm at redhat.com
Wed Sep 16 23:23:03 UTC 2009


On Wed, 2009-09-16 at 18:45 -0400, Neal Becker wrote:
> Which makes me wonder, how could this conflict have been avoided?  Is there 
> a tool that would check any new package to see if any object* in it would 
> conflict with any existing package?  If not, sounds like a good thing to 
> have.
> 
> * Here, object means filesystem object.  I'm not sure if there are any other 
> types of objects to worry about.
Brainstorming: a script that walks the yum repo's filelist.tar.gz, and
figures out a list of filename collisions, filtering by directories in
the default PATH


Attached is a first pass at a python script that does this.

Output from the script when run upon [1] is below.  Caveat: the script
probably has bugs.

Does this look useful?


ulockmgr_server
  /bin/ulockmgr_server from fuse
  /usr/bin/ulockmgr_server from fuse

telnet
  /usr/bin/telnet from telnet
  /usr/kerberos/bin/telnet from krb5-workstation-clients

gzip
  /bin/gzip from gzip
  /usr/bin/gzip from gzip

fusermount
  /bin/fusermount from fuse
  /usr/bin/fusermount from fuse

stap-env
  /usr/bin/stap-env from systemtap-client
  /usr/bin/stap-env from systemtap
  /usr/bin/stap-env from systemtap-server

winemaker
  /usr/bin/winemaker from wine-devel
  /usr/bin/winemaker from wine-common

ftp
  /usr/bin/ftp from ftp
  /usr/kerberos/bin/ftp from krb5-workstation-clients

pinentry
  /usr/bin/pinentry from pinentry
  /usr/bin/pinentry from pinentry-gtk
  /usr/bin/pinentry from pinentry-qt

kadmin
  /usr/kerberos/bin/kadmin from krb5-workstation-servers
  /usr/kerberos/bin/kadmin from krb5-workstation

lzcmp
  /usr/bin/lzcmp from xz-lzma-compat
  /usr/bin/lzcmp from lzma

lzgrep
  /usr/bin/lzgrep from xz-lzma-compat
  /usr/bin/lzgrep from lzma

lzdiff
  /usr/bin/lzdiff from xz-lzma-compat
  /usr/bin/lzdiff from lzma

lzcat
  /usr/bin/lzcat from xz-lzma-compat
  /usr/bin/lzcat from lzma

lzmainfo
  /usr/bin/lzmainfo from xz-lzma-compat
  /usr/bin/lzmainfo from lzma

lzfgrep
  /usr/bin/lzfgrep from xz-lzma-compat
  /usr/bin/lzfgrep from lzma

plymouth
  /bin/plymouth from plymouth
  /usr/bin/plymouth from plymouth

gawk
  /bin/gawk from gawk
  /usr/bin/gawk from gawk

ex
  /bin/ex from vim-minimal
  /usr/bin/ex from vim-enhanced

ircd
  /usr/bin/ircd from ircd-ratbox
  /usr/bin/ircd from ircd-hybrid

cut
  /bin/cut from coreutils
  /usr/bin/cut from coreutils

towhee-mpi
  /usr/bin/towhee-mpi from towhee-mpi
  /usr/bin/towhee-mpi from towhee

pscp
  /usr/bin/pscp from putty
  /usr/bin/pscp from pssh

links
  /usr/bin/links from links
  /usr/bin/links from elinks

rsh
  /usr/kerberos/bin/rsh from krb5-workstation-clients
  /usr/bin/rsh from rsh

awk
  /bin/awk from gawk
  /usr/bin/awk from gawk

tmda-ofmipd
  /usr/bin/tmda-ofmipd from tmda-ofmipd
  /usr/bin/tmda-ofmipd from tmda

kvno
  /usr/kerberos/bin/kvno from krb5-workstation-servers
  /usr/kerberos/bin/kvno from krb5-workstation

sclient
  /usr/kerberos/bin/sclient from krb5-devel
  /usr/kerberos/bin/sclient from krb5-server

unlzma
  /usr/bin/unlzma from xz-lzma-compat
  /usr/bin/unlzma from lzma

ktutil
  /usr/kerberos/bin/ktutil from krb5-workstation-servers
  /usr/kerberos/bin/ktutil from krb5-workstation

lzegrep
  /usr/bin/lzegrep from xz-lzma-compat
  /usr/bin/lzegrep from lzma

ntfs-3g
  /bin/ntfs-3g from ntfs-3g
  /usr/bin/ntfs-3g from ntfs-3g

k5srvutil
  /usr/kerberos/bin/k5srvutil from krb5-workstation-servers
  /usr/kerberos/bin/k5srvutil from krb5-workstation

rlogin
  /usr/kerberos/bin/rlogin from krb5-workstation-clients
  /usr/bin/rlogin from rsh

stap-find-servers
  /usr/bin/stap-find-servers from systemtap-client
  /usr/bin/stap-find-servers from systemtap-server

lzma
  /usr/bin/lzma from xz-lzma-compat
  /usr/bin/lzma from lzma

kde4-doxygen.sh
  /usr/bin/kde4-doxygen.sh from kdelibs-devel
  /usr/bin/kde4-doxygen.sh from kdelibs

find
  /bin/find from findutils
  /usr/bin/find from findutils

jasper5-setclasspath.sh
  /usr/bin/jasper5-setclasspath.sh from tomcat5
  /usr/bin/jasper5-setclasspath.sh from tomcat5-jasper

translate
  /usr/bin/translate from libtranslate
  /usr/bin/translate from surfraw

stap-gen-cert
  /usr/bin/stap-gen-cert from systemtap
  /usr/bin/stap-gen-cert from systemtap-server

stap-authorize-cert
  /usr/bin/stap-authorize-cert from systemtap
  /usr/bin/stap-authorize-cert from systemtap-server

rcp
  /usr/kerberos/bin/rcp from krb5-workstation-clients
  /usr/kerberos/bin/rcp from krb5-workstation-servers
  /usr/bin/rcp from rsh

env
  /bin/env from coreutils
  /usr/bin/env from coreutils

jspc5.sh
  /usr/bin/jspc5.sh from tomcat5
  /usr/bin/jspc5.sh from tomcat5-jasper

synergyc
  /usr/bin/synergyc from synergy
  /usr/bin/synergyc from synergy-plus

synergys
  /usr/bin/synergys from synergy
  /usr/bin/synergys from synergy-plus

xemacs
  /usr/bin/xemacs from xemacs-nox
  /usr/bin/xemacs from xemacs

kill
  /bin/kill from util-linux-ng
  /usr/bin/kill from util-linux-ng

gettext
  /bin/gettext from gettext
  /usr/bin/gettext from gettext

winedump
  /usr/bin/winedump from wine-core
  /usr/bin/winedump from wine-devel

ntfsmount
  /bin/ntfsmount from ntfs-3g
  /usr/bin/ntfsmount from ntfs-3g

slideshow
  /usr/bin/slideshow from plt-scheme
  /usr/bin/slideshow from batik-slideshow

stap-report
  /usr/bin/stap-report from systemtap-runtime
  /usr/bin/stap-report from systemtap

gunzip
  /bin/gunzip from gzip
  /usr/bin/gunzip from gzip

servlink
  /usr/bin/servlink from ircd-ratbox
  /usr/bin/servlink from ircd-hybrid

lzless
  /usr/bin/lzless from xz-lzma-compat
  /usr/bin/lzless from lzma

jasper5.sh
  /usr/bin/jasper5.sh from tomcat5
  /usr/bin/jasper5.sh from tomcat5-jasper

lzmore
  /usr/bin/lzmore from xz-lzma-compat
  /usr/bin/lzmore from lzma

lzmadec
  /usr/bin/lzmadec from xz-lzma-compat
  /usr/bin/lzmadec from lzma


[1]
http://archive.linux.duke.edu/pub/fedora/linux/development/i386/os/repodata/7f2a765f27d259bfcda52089e93209f5a36335a5f4cced069f856403dba22c75-filelists.xml.gz

-------------- next part --------------
A non-text attachment was scrubbed...
Name: get-filename-collisions.py
Type: text/x-python
Size: 995 bytes
Desc: not available
Url : http://lists.fedoraproject.org/pipermail/devel/attachments/20090916/33289683/attachment.py 


More information about the devel mailing list