rpmlint/check-install.py

47 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python
#---------------------------------------------------------------
# Project : Mandrake Linux
# Module : rpmlint
# File : check-install.py
# Version : $Id$
# Author : Frederic Lepied
# Created On : Fri Oct 13 20:40:08 2000
#---------------------------------------------------------------
import rpm
import Pkg
db=rpm.opendb()
idx=db.firstkey()
def check_name(db, name):
try:
return db.findbyname(name)
except:
return None
def check_provides(db, name):
if name[0:7] == 'rpmlib(':
return 1
try:
return db.findbyprovides(name)
except:
return None
def check_file(db, name):
try:
return db.findbyfile(name)
except:
return None
while idx:
pkg=Pkg.Pkg(None, None, db[idx])
for (dep,ver,flags) in pkg.requires() + pkg.prereq():
if not check_name(db, dep) and not check_provides(db, dep) and not check_file(db, dep):
print 'unsatisfied dependency', dep, 'for', pkg.name
idx=db.nextkey(idx)
del db
# check-install ends here