;ò
µAc           @   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  k Z d k	 l
 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  S(   N(   s   _c      
   C   sq  t  | ƒ d j oGxW| D]8} t } t } d } | i d ƒ d j o€ y | i	 d ƒ \ } } Wn t j
 o qÈ X| | f | j p | i | | ƒ o' t d d | | f ƒ | } | } qÈ n x| D]ü\ } } | t j	 o
 | } n | | j p t i | | ƒ o¹d } | t j o% t i | | ƒ } t i | ƒ }	 n | }	 | i | |	 ƒ oþ | i | |	 ƒ \ } } } | i | |	 ƒ \ }
 } } t i  | | | f |
 | | f ƒ } | d j  od t d d | ƒ | i" | |	 ƒ \ \ } } } } } } } |  i* | | | | | | | f d	 ƒ qÇt+ d t, d
 ƒ | ƒ | o t. i/ d ƒ qÇqË| i" | |	 ƒ \ \ } } } } } } } t d d | |	 f ƒ |  i* | | | | | | | f d ƒ qÏ qÏ W| d j ov | i | ƒ o3 t+ d t, d
 ƒ | ƒ | o t. i/ d ƒ qNqRt+ d t, d ƒ | ƒ | o t. i/ d ƒ qRq q Wn t+ d t, d ƒ ƒ d  S(   Ni    s   .iÿÿÿÿi   s   Found a specified arch: %s, %si   i   s   Switching to updating %ss   us*   %s is installed and is the latest version.s   state - iu: %s, %ss   ius!   Cannot find a package matching %ss+   No Packages Available for Update or Install(0   s   lens   nulists   userlists   ns   Nones   myarchs   mynames   foundits   finds   splits   newNs   as
   ValueErrors	   rpmnevrals   existss   logs   names   archs   fnmatchs   archworks   availablearchss   hinevrals   archlists   bestarchs   evrs   e1s   v1s   r1s   e2s   v2s   r2s   rpmUtilss
   compareEVRs   rcs	   _get_datas   es   vs   rs   ls   is   ss   tsnevrals   adds   errorlogs   _s   exitoninstalleds   syss   exit(   s   tsnevrals   nulists   userlists   hinevrals	   rpmnevrals   exitoninstalleds   archlists   e1s   rcs   bestarchs   e2s   mynames   v1s   v2s   newNs   archs   r1s   as   foundits   names   r2s   is   ls   ns   myarchs   ss   rs   vs   e(    (    s   /usr/share/yum/pkgaction.pys   installpkgs   s`     & 
 $*)*-c      
   C   sû  t  | ƒ d j o t d t d ƒ ƒ d Sn t | ƒ t i j o
 | d j o xt | D]l \ } } t
 d d | ƒ | i | | ƒ \ \ }
 } } } } } } |  i | |
 | | | | | f d ƒ qX Wd Sn x$| D]} d }	 | i d	 ƒ d
 j o¹ y | i d	 ƒ \ } } Wn t j
 o q²X| | f | j os t
 d d | | f ƒ d }	 | i | | ƒ \ \ }
 } } } } } } |  i | |
 | | | | | f d ƒ q× q²n xÌ | D]Ä \ } } | | j p t i | | ƒ o˜ d }	 | i | | ƒ o t
 d d | ƒ n t
 d d | | f ƒ | i | | ƒ \ \ }
 } } } } } } |  i | |
 | | | | | f d ƒ q¹q¹W|	 oj | i | ƒ o- t d d | ƒ | o t i  d ƒ qïqót d d | ƒ | o t i  d ƒ qóq× q× Wd S(   sŠ   Update pkgs - will only update - will not install uninstalled pkgs.
       however it will, on occasion install a new, betterarch of a pkgi    i   s    No Packages Available for UpdateNs   alli   s   Updating %ss   us   .iÿÿÿÿi   s   Found a specified arch: %s, %ss   Updating %s to arch %ss'   %s is installed and the latest version.s<   Cannot find any package matching %s available to be updated.(!   s   lens   uplists   errorlogs   _s   types   userlists   typess
   StringTypes   names   archs   logs   hinevrals	   _get_datas   es   vs   rs   as   ls   is   ss   tsnevrals   adds   ns   pkgfounds   finds   splits
   ValueErrors   fnmatchs	   rpmnevrals   existss   exitoninstalleds   syss   exit(   s   tsnevrals   hinevrals	   rpmnevrals   nulists   uplists   userlists   exitoninstalleds   archs   as   pkgfounds   es   names   is   ls   ns   ss   rs   v(    (    s   /usr/share/yum/pkgaction.pys
   updatepkgs`   sT     # *) *%  *-c	         C   s]  g  }
 d } x‹ | i ƒ  D]} } t i | | ƒ } xb | D]Z } | i
 | | ƒ o. | i | | ƒ \ \ } } } } } } } n |
 i | | f ƒ q8 Wq Wx' | D] \ } } |
 i | | f ƒ q¡ Wt | ƒ t i j o
 | d j o d g } d } n x\| D]T}	 t d d |	 ƒ d } |	 i d ƒ d j ohy |	 i d ƒ \ } } Wn t! j
 o qœX| | f |
 j o"t d	 d
 | | f ƒ d } | | i ƒ  j o… xè | | D]r \ } } t d d | | f ƒ | i | | ƒ \ \ } } } } } } } |  i' | | | | | | | f d ƒ q±Wqt d d | | f ƒ | i | | ƒ \ \ } } } } } } } |  i' | | | | | | | f d ƒ qqœn xD|
 D]<\ } } |	 | j p t( i( | |	 ƒ od } t d d | ƒ | i) | ƒ o… xâ | | D]r \ } } t d d | | f ƒ | i | | ƒ \ \ } } } } } } } |  i' | | | | | | | f d ƒ qWqßt d d | ƒ | i | | ƒ \ \ } } } } } } } |  i' | | | | | | | f d ƒ q£q£W| oj | i
 |	 ƒ o t* d d |	 ƒ n* | o t* d d ƒ n t* d d |	 ƒ | o t, i- d ƒ qUqqWd  S(   Ni    s   alls   *i   i   s   userlist entry %ss   .iÿÿÿÿi   s   Found a specified arch: %s, %si   s   %s obsoleted by %ss   us   Updating: %s.%ss   %s matched in oulists   Updating: %ss   No Upgrades available for %s.s   No Upgrades available.s=   Cannot find any package matching %s available to be upgraded.(.   s   oulists   globalupgrades	   obsoleteds   keyss   onames   archworks   availablearchss	   rpmnevrals   archss   archs   existss	   _get_datas   es   vs   rs   oarchs   ls   is   ss   appends   uplists   names   types   userlists   typess
   StringTypes   ns   logs   pkgfounds   finds   splits   mynames   myarchs
   ValueErrors   obsnames   obsarchs   hinevrals   as   tsnevrals   adds   fnmatchs   has_keys   errorlogs   exitoninstalleds   syss   exit(   s   tsnevrals   hinevrals	   rpmnevrals   nulists   uplists	   obsoleteds
   obsoletings   userlists   exitoninstalleds   ns   oulists   obsarchs   globalupgrades   obsnames   mynames   archs   as   pkgfounds   es   names   is   ls   oarchs   myarchs   ss   rs   vs   archss   oname(    (    s   /usr/share/yum/pkgaction.pys   upgradepkgs›   sx      . #	
  *-*%   *-*-c      
   C   sÑ  xÊ| D]Â} d } | i d ƒ d j o¹ y | i d ƒ \ } } Wn t j
 o qâ X| i	 | | ƒ os d } t
 d d | | f ƒ | i | | ƒ \ \ } } } } } }
 } |  i | | | | | | |
 f d ƒ q qâ n x¤ | i ƒ  D]– \ }	 } | |	 j p t i |	 | ƒ oj d } t
 d d |	 ƒ | i |	 | ƒ \ \ } } } } } }
 } |  i |	 | | | | | |
 f d ƒ qï qï W| d j o3 t d t d	 ƒ | ƒ | o t i d ƒ qÉq q Wd  S(
   Ni    s   .iÿÿÿÿi   i   s   Erasing %s.%ss   es
   Erasing %ss   Erase: No matches for %s(   s   userlists   ns   foundits   finds   splits   mynames   myarchs
   ValueErrors	   rpmnevrals   existss   logs	   _get_datas   es   vs   rs   as   ls   is   ss   tsnevrals   adds   NAkeyss   names   archs   fnmatchs   errorlogs   _s   exitoninstalleds   syss   exit(   s   tsnevrals	   rpmnevrals   userlists   exitoninstalleds   mynames   es   archs   as   foundits   names   is   ls   ns   myarchs   ss   rs   v(    (    s   /usr/share/yum/pkgaction.pys	   erasepkgsñ   s2     *%  *-c         C   sÍ   g  } g  }	 x! | D] \ }
 } |	 i |
 ƒ q Wx’ | D]Š } | t i j o t	 d t
 d ƒ | ƒ | Sn t i | ƒ } xC | D]; } | |	 j o( t d d | | f ƒ | i | ƒ q‚ q‚ Wq7 W| Sd S(   s“   for each group requested attempt to install all pkgs/metapkgs of default
       or mandatory. Also recurse lists of groups to provide for them too.i    s   Group %s does not existi   s    Adding %s to groupinstall for %sN(   s
   returnlists	   nupkglists   nulists   names   archs   appends	   grouplists   groups	   GroupInfos   errorlogs   _s   pkgTrees   pkglists   pkgs   log(   s	   rpmnevrals   nulists   uplists	   grouplists   groups   pkgs   archs
   returnlists   pkglists	   nupkglists   name(    (    s   /usr/share/yum/pkgaction.pys   installgroups  s$        c         C   sè  t  i } g  } xP | D]H } x? | D]7 } | | j p t i | | ƒ o | i | ƒ q# q# Wq Wg  } | i
 ƒ  g  }
 g  } x! | D] \ } } | i | ƒ q… Wx™ | D]‘ } t  i | ƒ }	 t  i | ƒ } xj | D]b } |  i | ƒ o( | | j o |
 i | | f ƒ q6qÔ | |	 j o | i | | f ƒ qÔ qÔ Wq© Wx1 |
 D]) \ } } t d t d ƒ | | f ƒ qEWx1 | D]) \ } } t d t d ƒ | | f ƒ qyWt | ƒ t |
 ƒ d j o t d t d ƒ ƒ n | |
 f Sd S(   sÆ   get list of any pkg in group that is installed, check to update it
       get list of any mandatory or default pkg attempt to update it if it is installed
       or install it if it is not installedi   s   From %s updating %ss   From %s installing %si    s)   Nothing in any group to update or installN(   s	   GroupInfos	   grouplists   groupss   groupsmatchs   groups   userlists   items   fnmatchs   appends   uplist_namess   sorts
   updatepkgss   installpkgss   uplists   names   archs   requiredPkgss   requireds   pkgTrees   alls   pkgs	   rpmnevrals   existss   logs   _s   len(   s	   rpmnevrals   nulists   uplists   userlists   groupsmatchs   pkgs   alls   uplist_namess   items   requireds
   updatepkgss   groupss   groups   installpkgss   archs   name(    (    s   /usr/share/yum/pkgaction.pys   updategroups+  sH     	   
    ! !c         C   so  t  |  ƒ d j oM| oJ t d d t d ƒ t d ƒ t d ƒ t d ƒ f ƒ t d d d	 ƒ n |  i t i ƒ t | ƒ t
 i j oÏ | d
 j p
 | d j o± x¥ |  D] \ }
 } | oz | i |
 | ƒ \ }	 } } | i |
 | ƒ } |	 d j o d | | f } n d |	 | | f } d |
 | | | f GHq« t |
 | | ƒ q« Wd GHq\qkxû |  D]ó \ }
 } xä | D]Ü } t i | ƒ } t i | t i ƒ } | |
 j p | i |
 ƒ o• | oz | i |
 | ƒ \ }	 } } | i |
 | ƒ } |	 d j o d | | f } n d |	 | | f } d |
 | | | f GHqOt |
 | | ƒ qsqsWq`Wd GHn t d ƒ GHd  S(   Ni    i   s   %-36s%-7s%-25s%-12ss   Names   Archs   Versions   Repos   -iP   s   alls   updatess   0s   %s-%ss   %s:%s-%ss    s   No Packages Available to List(    s   lens   pkglists   shorts   logs   _s   sorts   clientStuffs   nasorts   types   userlists   typess
   StringTypes   names   archs   nevrals   evrs   es   vs   rs   serverids   ids   vers   displayinfos   ns   fnmatchs	   translates   patterns   res   compiles
   IGNORECASEs   regexs   match(   s   pkglists   userlists   nevrals   shorts   ids   regexs   vers   patterns   archs   es   names   ns   rs   v(    (    s   /usr/share/yum/pkgaction.pys   listpkginfoO  sF    5   	c         C   s  | i |  | ƒ } | i |  | ƒ } | d j o
 d } n t i	 | } t
 d ƒ | t i GHt
 d ƒ | t i GHt
 d ƒ | t i GHt
 d ƒ | t i GHt
 d ƒ t i | t i ƒ GHt
 d ƒ | t i GHt
 d	 ƒ | GHt
 d
 ƒ | t i GHt
 d ƒ | t i GHd GHd  S(   Ns   dbs   Locally Installeds   Name   : %ss   Arch   : %ss   Version: %ss   Release: %ss   Size   : %ss   Group  : %ss   Repo   : %ss   Summary: %ss   Description:
 %ss    (   s   nevrals	   getHeaders   names   archs   hdrs   serverids   ids   repos   confs
   servernames   _s   rpms   RPMTAG_NAMEs   RPMTAG_ARCHs   RPMTAG_VERSIONs   RPMTAG_RELEASEs   clientStuffs	   descfsizes   RPMTAG_SIZEs   RPMTAG_GROUPs   RPMTAG_SUMMARYs   RPMTAG_DESCRIPTION(   s   names   archs   nevrals   repos   ids   hdr(    (    s   /usr/share/yum/pkgaction.pys   displayinfow  s    
c         C   s‡  t  |  ƒ d j o8 |  d d j o t i } |  i d ƒ qT t i } n
 t i } t  |  ƒ d j o d g }  n | i ƒ  x|  D]ú} | d j o[ d GHxß| D]G } t i
 | ƒ o1 t i | } t d d | | f ƒ d | GHq¤ q¤ Wq… | d	 j o\ d
 GHxw| D]H } t i
 | ƒ o1 t i | } t d d | | f ƒ d | GHqqWq… | d j o³ d GHxO | D]G } t i
 | ƒ o1 t i | } t d d | | f ƒ d | GHququWd
 GHx· | D]H } t i
 | ƒ o1 t i | } t d d | | f ƒ d | GHqÌqÌWq… x` | D]X } | | j p t i | | ƒ o2 t i | } t d d | | f ƒ t | ƒ q#q#Wq… Wd S(   sd   lists groups - should handle 'installed', 'all', glob, empty,
       maybe visible and invisible tooi    s   hiddens   _all_s	   installeds   Installed Groupsi   s   %s - %ss      %ss	   availables   Available GroupsN(   s   lens   userlists	   GroupInfos	   grouplists   groupss   pops   visible_groupss   sorts   items   groups   isGroupInstalleds   group_by_names   grpids   logs   fnmatchs   displayPkgsInGroups(   s   userlists   groups   items   grpids   groups(    (    s   /usr/share/yum/pkgaction.pys
   listgroups‹  sb     		
       c         C   s¥  d |  GHt t i |  ƒ d j o* d GHx" t i |  D] } d | GHq6 Wn t t i |  ƒ d j o* d GHx" t i |  D] } d | GHqz Wn t t i |  ƒ d j o* d GHx" t i |  D] } d | GHq¾ Wn t t i |  ƒ d j o* d GHx" t i |  D] } d | GHqWn t t i |  ƒ d j o* d GHx" t i |  D] } d | GHqFWn t t i	 |  ƒ d j o* d	 GHx" t i	 |  D] } d | GHqŠWn d  S(
   Ns	   Group: %si    s    Required Groups:s      %ss    Default Metapkgs:s    Optional Metapkgs:s    Mandatory Packages:s    Default Packages:s    Optional Packages(
   s   groups   lens	   GroupInfos
   sub_groupss   items   default_metapkgss   optional_metapkgss   mandatory_pkgss   default_pkgss   optional_pkgs(   s   groups   item(    (    s   /usr/share/yum/pkgaction.pys   displayPkgsInGroupsÃ  s>    	      c         C   s\  d } | d j oˆx| D]y\ } } | i | | ƒ } | i | | ƒ \ } }
 } | i | | ƒ } g  } x` | D]X } | | } | t j o qr n t | ƒ t i j o | i | ƒ qr | i | ƒ qr Wx¿ |  D]· } d | d } t i | ƒ } t i | t i ƒ }	 x| | D]t } t" d d | | f ƒ | | j p |	 i# | ƒ o: | d } t" d t$ d ƒ | | | |
 | | | f ƒ qqWqÕ W~ q Wnƒ| d j obt% i# ƒ  } xf| D]G} | i( ƒ  \ } } }
 } } | t j o
 d } n g  } xe | D]] } | i) | ƒ } | t j o q n t | ƒ t i j o | i | ƒ q | i | ƒ q Wx› |  D]“ } d | d } x| | D]t } t" d d | | f ƒ | | j p t i | | ƒ o7 | d } t" d t$ d ƒ | | | |
 | | f ƒ qƒqƒWqhW~ q»Wn t* d t$ d	 ƒ ƒ | d j o t" d t$ d
 ƒ | ƒ n t" d t$ d ƒ ƒ d S(   s)   search the requested tags for the userreqi    s   *i   s   %s vs %si   i   s:   Available package: %s.%s %s:%s-%s from %s matches with
 %ss2   Installed package: %s.%s %s:%s-%s matches with
 %ss   localrpmdb not defineds   %s results returneds   No packages foundN(+   s   resultss
   localrpmdbs   nulists   names   archs   nevrals	   getHeaders   hdrs   evrs   epochs   vers   rels   serverids   ids
   searchlists   tagslists   tags   tagdatas   Nones   types   typess   ListTypes   extends   appends   usereqs   reqs   fnmatchs	   translates   patterns   res   compiles
   IGNORECASEs   regexs   items   logs   matchs   _s   tss	   matchlists   hdrobjs   nevras   _getTags   errorlog(   s   usereqs   nulists   nevrals
   localrpmdbs   tagslists   resultss   tagdatas   tags   ids   regexs   vers
   searchlists   patterns   reqs   epochs   hdrobjs   rels	   matchlists   archs   names   hdrs   item(    (    s   /usr/share/yum/pkgaction.pys   searchß  sv       
  
8 
    
5c         C   st  g  }	 x±|  i ƒ  D]£\ } } |  i | | ƒ } | d d d d g j ol| t i j oX|  i	 | | ƒ } d | t i j o
 d } na d | t i j o
 d } nC d | t i j o
 d } n% d | t i j o
 d } n d	 } | t j o
 d
 } nz | d	 j o
 d
 } nc | d j o
 d } nL | d j o
 d } n5 | d j o
 d } n | d j o
 d } n d
 } d | t i | t i | f }
 |	 i |
 | f ƒ q¶q q Wt |	 ƒ d j o£t d t d ƒ ƒ d  k } | i ƒ  } d  k } | d j o
d k l } l } l } l } l  } t d t d ƒ ƒ y | i! |	 ƒ Wql| j
 o } t# d d | ƒ ql| j
 o } t# d d | ƒ ql| j
 o } t# d d | ƒ ql| j
 o } t# d d | ƒ qlt$ j
 o } t# d d | ƒ qlXqp| d j o$ t d t d ƒ ƒ | i% |	 ƒ qpt# d t d ƒ ƒ t& d t d ƒ ƒ n d  S(   Ns   is   us   uds   ius
   kernel-smps   kernel-enterprises   kernel-bigmems   kernel-BOOTs   kernels    s   BOOTs
   enterprises   bigmems   smps   %s-%s%si    i   s1   Kernel Updated/Installed, checking for bootloaders   LILO(   s   LiloConfErrors   LiloConfRestoreErrors   LiloInstallErrors   LiloConfReadErrors   LiloConfParseErrors<   Lilo found - adding kernel to lilo and making it the defaults   %ss   GRUBs+   Grub found - making this kernel the defaulti   s9   No bootloader found, Cannot configure kernel, continuing.s-   No bootloader found, Cannot configure kernel.('   s   kernel_lists   tsnevrals   NAkeyss   names   archs   states   ss   confs   kernelpkgnamess	   getHeaders   hdrs   rpms   RPMTAG_PROVIDESs	   extraInfos   Nones
   infoStrings   RPMTAG_VERSIONs   RPMTAG_RELEASEs   verRels   appends   lens   logs   _s   checkbootloaders   whichBootLoaders
   bootloaders   up2datethefts   lilocfgs   LiloConfErrors   LiloConfRestoreErrors   LiloInstallErrors   LiloConfReadErrors   LiloConfParseErrors   install_lilos   es   errorlogs   LiloConfParserErrors   install_grubs   filelog(   s   tsnevrals   LiloConfParseErrors   LiloConfReadErrors   LiloConfErrors   checkbootloaders   LiloInstallErrors   up2datethefts   hdrs   LiloConfRestoreErrors   kernel_lists   verRels
   bootloaders   archs
   infoStrings   es   names	   extraInfos   s(    (    s   /usr/share/yum/pkgaction.pys   kernelupdate!  sp     









!		%(   s   oss   syss   rpms   res   clientStuffs   fnmatchs   archworks   typess   rpmUtilss   i18ns   _s   installpkgss
   updatepkgss   upgradepkgss	   erasepkgss   installgroupss   updategroupss   listpkginfos   displayinfos
   listgroupss   displayPkgsInGroupss   searchs   kernelupdate(   s   kernelupdates	   erasepkgss   clientStuffs   installpkgss   rpms
   listgroupss   res   typess   upgradepkgss   displayPkgsInGroupss   installgroupss   listpkginfos   syss   updategroupss   _s   displayinfos   searchs   archworks
   updatepkgss   fnmatchs   rpmUtilss   os(    (    s   /usr/share/yum/pkgaction.pys   ?   s*   										C	;	V	#		$	(		8		B