@ -25,6 +25,7 @@
import traceback
import traceback
import os
import os
import yum
import yum
import rpm
try :
try :
from yum . misc import find_unfinished_transactions , find_ts_remaining
from yum . misc import find_unfinished_transactions , find_ts_remaining
@ -108,7 +109,7 @@ options:
notes : [ ]
notes : [ ]
# informational: requirements for nodes
# informational: requirements for nodes
requirements : [ yum , rpm ]
requirements : [ yum ]
author : Seth Vidal
author : Seth Vidal
'''
'''
@ -400,13 +401,18 @@ def transaction_exists(pkglist):
def local_nvra ( module , path ) :
def local_nvra ( module , path ) :
""" return nvra of a local rpm passed in """
""" return nvra of a local rpm passed in """
cmd = [ ' /bin/rpm ' , ' -qp ' , ' --qf ' ,
ts = rpm . TransactionSet ( )
' % {name} - % {version} - % {release} . % {arch} \n ' , path ]
ts . setVSFlags ( rpm . _RPMVSF_NOSIGNATURES )
rc , out , err = module . run_command ( cmd )
fd = os . open ( path , os . O_RDONLY )
if rc != 0 :
try :
return None
header = ts . hdrFromFdno ( fd )
nvra = out . split ( ' \n ' ) [ 0 ]
finally :
return nvra
os . close ( fd )
return ' %s - %s - %s . %s ' % ( header [ rpm . RPMTAG_NAME ] ,
header [ rpm . RPMTAG_VERSION ] ,
header [ rpm . RPMTAG_RELEASE ] ,
header [ rpm . RPMTAG_ARCH ] )
def pkg_to_dict ( pkgstr ) :
def pkg_to_dict ( pkgstr ) :