;
@c           @   s  d  k  Z  d  k Z d  k Z  d  k Z d  k Z d  k Z d  k Z d  k Z d d >Z d d >Z	 d d >Z
 d d >Z d d >Z d d >Z d d >Z d d >Z d d	 >Z y e i o
 d a n Wn e j
 o d a n Xy e i o
 d Z n Wn e j
 o d Z n Xd
   Z d   Z e i d  Z d   Z d f  d     YZ d e f d     YZ e d j o d  k Z x e i d D]q Z  e e i d d  Z! d Ge! i"   GHd Ge! i#   GHd Ge! i$   GHd Ge! i%   GHd Ge! i&   GHe! i'   qWn d  S(   Ni   i    i   i   i   i   i   i   i   c         C   s|   t  | d  } d } | oO t i |   } x/ | i   D]! } | i
 |  o d } Pq8 q8 W| i   n
 d G| GH| Sd  S(   Ns   ri    i   s   unable to open(   s   opens   filenames   fds   rets   res   compiles   regexs   regs	   readliness   lines   searchs   close(   s   regexs   filenames   rets   fds   lines   reg(    (    s   /usr/share/rpmlint/Pkg.pys   grep.   s     		c         C   sZ   t  i t  i |   d t  i  } | i |  } | o t	 | i
 d  |  Sn t Sd  S(   Ns   \s*=\s*(.+)\s*(#.*)*$i   (   s   res   compiles   escapes   vars	   MULTILINEs   assign_regexs   searchs   scripts   ress   substitute_shell_varss   groups   None(   s   vars   scripts   ress   assign_regex(    (    s   /usr/share/rpmlint/Pkg.pys   shell_var_value=   s    s   ^(.*)\${?([^}]+)}?(.*)$c         C   ss   t  i |   } | oU t | i d  |  } | o
 d } n | i d  | t | i d  |  Sn |  Sd  S(   Ni   s    i   i   (	   s	   var_regexs   searchs   vals   ress   shell_var_values   groups   scripts   values   substitute_shell_vars(   s   vals   scripts   ress   value(    (    s   /usr/share/rpmlint/Pkg.pys   substitute_shell_varsH   s    
+s   Pkgc           B   s
  t  Z e i d  Z e d d  Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z e d  Z d   Z RS(   Ns   (?:\.)?([^:]+):\s+(.*)i    c         C   sV  | |  _  d |  _ | |  _ t |  _ t |  _ t |  _ t |  _ t |  _	 t |  _
 d |  _ | o | |  _ | |  _ n t o{ t i   } | i t i  t i | t i  } | i |  |  _ t i |  |  i t i o d |  _ q6d |  _ n> t i | t i  } t i |  \ |  _ |  _ t i |  t |  _ |  i t i |  _ d  S(   Ni    ii   (   s   filenames   selfs	   extracteds   dirnames   Nones	   file_infos   _config_filess
   _doc_filess   _ghost_filess   _filess   requireds
   _req_namess   headers	   is_sources   v42s   rpms   TransactionSets   tss
   setVSFlagss   _RPMVSF_NOSIGNATURESs   oss   opens   O_RDONLYs   fds   hdrFromFdnos   closes   RPMTAG_SOURCEPACKAGEs   headerFromPackages   _lang_filess   RPMTAG_NAMEs   name(   s   selfs   filenames   dirnames   headers	   is_sources   tss   fd(    (    s   /usr/share/rpmlint/Pkg.pys   __init__W   s6    												c         C   s   |  i Sd  S(   N(   s   selfs	   is_source(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   isSource}   s    c         C   s   |  i o
 |  i   Sd  S(   N(   s   selfs	   is_sources
   ghostFiles(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys
   isNoSource   s    c         C   s*   |  i | } | g  j o t Sn | Sd  S(   N(   s   selfs   headers   keys   vals   None(   s   selfs   keys   val(    (    s   /usr/share/rpmlint/Pkg.pys   __getitem__   s    c         C   s$   |  i o |  i   n |  i Sd  S(   N(   s   selfs	   extracteds   _extracts   dirname(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   dirName   s    c         C   s   t  i |  i  } t i | t i  o d G|  i GHt Snw d |  i t  i i	 |  i
  t  i   f |  _ t  i |  i  d |  i
 |  i |  i f } t i |  } d |  _ | Sd  S(   Ns   unable to access dirs   %s/%s.%ds0   rpm2cpio %s | (cd %s; cpio -id); chmod -R +rX %si   (   s   oss   stats   selfs   dirnames   ss   S_ISDIRs   ST_MODEs   Nones   paths   basenames   filenames   getpids   mkdirs   strs   commandss   getstatusoutputs   cmds	   extracted(   s   selfs   cmds   ss   str(    (    s   /usr/share/rpmlint/Pkg.pys   _extract   s    .	c         C   s   t  i d |  i  Sd  S(   Ns   rpm -K (   s   commandss   getstatusoutputs   selfs   filename(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   checkSignature   s    c         C   s   |  i t j o g  |  _ t i d |  i    } t i | d  } xW | D]K } t
 i i |  } | o, |  i i | i d  | i d  g  qK qK Wn |  i Sd  S(   Ns.   cd %s; find . -type f -print0 | xargs -0r files   
i   i   (   s   selfs	   file_infos   Nones   commandss	   getoutputs   dirNames   liness   strings   splits   ls   Pkgs
   file_regexs   searchs   ress   appends   group(   s   selfs   ress   liness   l(    (    s   /usr/share/rpmlint/Pkg.pys   getFilesInfo   s    	 4c         C   s&   |  i o t i d |  i  n d  S(   Ns   rm -rf (   s   selfs	   extracteds   commandss   getstatusoutputs   dirname(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   cleanup   s    
c         C   s0   |  i t j o |  i Sn |  i   |  i Sd  S(   N(   s   selfs   _filess   Nones   _gatherFilesInfo(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   files   s    
c         C   s0   |  i t j o |  i Sn |  i   |  i Sd  S(   N(   s   selfs   _config_filess   Nones   _gatherFilesInfo(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   configFiles   s    
c         C   s0   |  i t j o |  i Sn |  i   |  i Sd  S(   N(   s   selfs   _noreplace_filess   Nones   _gatherFilesInfo(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   noreplaceFiles   s    
c         C   s0   |  i t j o |  i Sn |  i   |  i Sd  S(   N(   s   selfs
   _doc_filess   Nones   _gatherFilesInfo(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   docFiles   s    
c         C   s0   |  i t j o |  i Sn |  i   |  i Sd  S(   N(   s   selfs   _ghost_filess   Nones   _gatherFilesInfo(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys
   ghostFiles   s    
c      
   C   s  g  |  _ g  |  _ g  |  _ g  |  _ h  |  _ g  |  _ |  i t i	 } |  i t i }	 |  i t i } |  i t i } |  i t i } |  i t i } |  i t i } |  i t i } |  i t i } t o |  i t i } | t j o |  i t i } | o |  i t i! } |  i t i# } g  } t% |  t& i' j o | i( | | | d  qx> t) d t* |   D]# }
 | i( | | |
 | |
  qpWqqn |  i t i, } | o| |  _ xt) d t* |   D] }
 | |
 t- @o |  i i( | |
  n | |
 t. @o |  i i( | |
  n | |
 t/ @o |  i i( | |
  n | |
 t0 @o |  i i( | |
  n |	 |
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 f |  i | |
 <qWn d  S(   Ni    (1   s   selfs   _config_filess
   _doc_filess   _noreplace_filess   _ghost_filess   _filess   _files_arrays   headers   rpms   RPMTAG_FILEFLAGSs   flagss   RPMTAG_FILEMODESs   modess   RPMTAG_FILEUSERNAMEs   userss   RPMTAG_FILEGROUPNAMEs   groupss   RPMTAG_FILELINKTOSs   linkss   RPMTAG_FILESIZESs   sizess   RPMTAG_FILEMD5Ss   md5ss   RPMTAG_FILEMTIMESs   mtimess   RPMTAG_FILERDEVSs   rdevss   v304s   RPMTAG_OLDFILENAMESs   filess   Nones   RPMTAG_BASENAMESs	   basenamess   RPMTAG_DIRNAMESs   dirnamess   RPMTAG_DIRINDEXESs
   dirindexess   types   typess   IntTypes   appends   ranges   lens   idxs   RPMTAG_FILENAMESs   RPMFILE_CONFIGs   RPMFILE_DOCs   RPMFILE_NOREPLACEs   RPMFILE_GHOST(   s   selfs   linkss   dirnamess   filess   mtimess   userss
   dirindexess   groupss   md5ss   modess   idxs   sizess   flagss   rdevss	   basenames(    (    s   /usr/share/rpmlint/Pkg.pys   _gatherFilesInfo   sV     						 -	 c         C   s{   |  i t j o` h  |  _ |  i t i } | o< x9 t d t |   D] } | | |  i |  i
 | <qF Wqp n |  i Sd  S(   Ni    (   s   selfs   _lang_filess   Nones   headers   rpms   RPMTAG_FILELANGSs   arrays   ranges   lens   idxs   _files_array(   s   selfs   idxs   array(    (    s   /usr/share/rpmlint/Pkg.pys	   langFiles  s    	 $c         C   s   |  i   | Sd  S(   N(   s   selfs	   langFiless   f(   s   selfs   f(    (    s   /usr/share/rpmlint/Pkg.pys   fileLang  s    c         C   s   |  i   |  i Sd  S(   N(   s   selfs   _gatherDepInfos
   _obsoletes(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys	   obsoletes  s    
c         C   s   |  i   |  i Sd  S(   N(   s   selfs   _gatherDepInfos	   _requires(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   requires#  s    
c         C   s   |  i   |  i Sd  S(   N(   s   selfs   _gatherDepInfos   _prereq(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   prereq'  s    
c         C   sD   |  i d j o) t d   |  i   |  i    |  _ n |  i Sd  S(   Nic         C   s   |  d S(   Ni    (   s   x(   s   x(    (    s   /usr/share/rpmlint/Pkg.pys   <lambda>-  s    (   s   selfs
   _req_namess   maps   requiress   prereq(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys	   req_names+  s    )c         C   sv   xk |  i   |  i   D]S } | d | j o< | d t i @t i j p | d | j o d Sqj d Sq q Wd Sd  S(   Ni    i   i   (   s   selfs   requiress   prereqs   ds   names   rpms   RPMSENSE_EQUALs   version(   s   selfs   names   versions   d(    (    s   /usr/share/rpmlint/Pkg.pys   check_versioned_dep0  s     ,c         C   s   |  i   |  i Sd  S(   N(   s   selfs   _gatherDepInfos
   _conflicts(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys	   conflicts9  s    
c         C   s   |  i   |  i Sd  S(   N(   s   selfs   _gatherDepInfos	   _provides(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   provides=  s    
c         C   s   | | }	 | | } | | } | o t |  t i	 j o | g } n x t
 t |   D]u }
 | t j o | |
 t i @o. | i |	 |
 | |
 | |
 t i @f  q[ | i |	 |
 | |
 | |
 f  q[ Wn d  S(   N(   s   headers   nametags   namess
   versiontags   versionss   flagstags   flagss   types   typess   ListTypes   ranges   lens   loops   prereqs   Nones   rpms   RPMSENSE_PREREQs   appends   list(   s   selfs   headers   lists   nametags
   versiontags   flagstags   prereqs   versionss   flagss   namess   loop(    (    s   /usr/share/rpmlint/Pkg.pys   _gather_auxB  s    


 .c         C   s   |  i t j o g  |  _ g  |  _ g  |  _ g  |  _ g  |  _ |  i |  i	 |  i t
 i t
 i t
 i |  i  |  i |  i	 |  i t
 i t
 i t
 i  |  i |  i	 |  i t
 i t
 i t
 i  |  i |  i	 |  i t
 i t
 i t
 i  n d  S(   N(   s   selfs   requireds   Nones	   _requiress   _prereqs	   _providess
   _conflictss
   _obsoletess   _gather_auxs   headers   rpms   RPMTAG_REQUIRENAMEs   RPMTAG_REQUIREVERSIONs   RPMTAG_REQUIREFLAGSs   RPMTAG_CONFLICTNAMEs   RPMTAG_CONFLICTVERSIONs   RPMTAG_CONFLICTFLAGSs   RPMTAG_PROVIDENAMEs   RPMTAG_PROVIDEVERSIONs   RPMTAG_PROVIDEFLAGSs   RPMTAG_OBSOLETENAMEs   RPMTAG_OBSOLETEVERSIONs   RPMTAG_OBSOLETEFLAGS(   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   _gatherDepInfoR  s.    					


(    s   __name__s
   __module__s   res   compiles
   file_regexs   Nones   __init__s   isSources
   isNoSources   __getitem__s   dirNames   _extracts   checkSignatures   getFilesInfos   cleanups   filess   configFiless   noreplaceFiless   docFiless
   ghostFiless   _gatherFilesInfos	   langFiless   fileLangs	   obsoletess   requiress   prereqs	   req_namess   check_versioned_deps	   conflictss   providess   _gather_auxs   _gatherDepInfo(    (    (    s   /usr/share/rpmlint/Pkg.pys   PkgT   s6   &														5	
									s   InstalledPkgc           B   s/   t  Z e d  Z d   Z d   Z d   Z RS(   Nc         C   s  | o t i |  | d |  n t oC t i   } | i	 d |  } | o t |  n | i   } nE t i   } | i |  } | o ~ t |  n | | d } ~ t i |  | d |  d |  _ d |  t i |  t i |  t i |  t i f |  _ d  S(   Ns   /s   namei    i   s   %s-%s-%s.%s.rpm(   s   hs   Pkgs   __init__s   selfs   names   v42s   rpms   TransactionSets   tss   dbMatchs   tabs   KeyErrors   nexts   theHdrs   opendbs   dbs
   findbynames	   extracteds   RPMTAG_NAMEs   RPMTAG_VERSIONs   RPMTAG_RELEASEs   RPMTAG_ARCHs   filename(   s   selfs   names   hs   theHdrs   tss   dbs   tab(    (    s   /usr/share/rpmlint/Pkg.pys   __init__n  s$    	c         C   s   d  S(   N(    (   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   cleanup  s    c         C   s   d d f Sd  S(   Ni    s   fake: pgp md5 OK(    (   s   self(    (    s   /usr/share/rpmlint/Pkg.pys   checkSignature  s    c         C   s   |  i t j o g  |  _ d } x( |  i   i   D] } | d | } q2 Wt i |  } t
 i | d  } xW | D]K } t i i |  } | o, |  i i | i d  | i d  g  qr qr Wn |  i Sd  S(   Ns   files    s   
i   i   (   s   selfs	   file_infos   Nones   cmds   filess   keyss   fs   commandss	   getoutputs   liness   strings   splits   ls   Pkgs
   file_regexs   searchs   ress   appends   group(   s   selfs   fs   ress   cmds   liness   l(    (    s   /usr/share/rpmlint/Pkg.pys   getFilesInfo  s    	  4(   s   __name__s
   __module__s   Nones   __init__s   cleanups   checkSignatures   getFilesInfo(    (    (    s   /usr/share/rpmlint/Pkg.pys   InstalledPkgm  s   		s   __main__s   /tmps	   Requires:s   Prereq:s
   Conflicts:s	   Provides:s
   Obsoletes:((   s   oss   rpms   os.paths   stats   commandss   res   strings   typess   RPMFILE_CONFIGs   RPMFILE_DOCs   RPMFILE_DONOTUSEs   RPMFILE_MISSINGOKs   RPMFILE_NOREPLACEs   RPMFILE_SPECFILEs   RPMFILE_GHOSTs   RPMFILE_LICENSEs   RPMFILE_READMEs   RPMTAG_OLDFILENAMESs   v304s   AttributeErrors   RPMTAG_SOURCEPACKAGEs   v42s   greps   shell_var_values   compiles	   var_regexs   substitute_shell_varss   Pkgs   InstalledPkgs   __name__s   syss   argvs   ps   pkgs   requiress   prereqs	   conflictss   providess	   obsoletess   cleanup(   s   RPMFILE_NOREPLACEs   shell_var_values   pkgs   RPMFILE_READMEs	   var_regexs   rpms   RPMFILE_DOCs   RPMFILE_CONFIGs   res   v42s   stats   strings   InstalledPkgs   syss   RPMFILE_LICENSEs   RPMFILE_GHOSTs   RPMFILE_DONOTUSEs   substitute_shell_varss   typess   commandss   RPMFILE_MISSINGOKs   greps   oss   ps   Pkgs   RPMFILE_SPECFILE(    (    s   /usr/share/rpmlint/Pkg.pys   ?   sX   								










				 0	 