;ò
>5¡@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  k Z d  k Z d  k	 Z	 e i
 i d ƒ d k l Z d k l Z d k l Z d k l Z d k l Z d k l Z d k l Z d	 k l Z d  k Z d  k Z d  k Z d  k Z d  k Z d  k Z d
 e i f d „  ƒ  YZ e d „ Z d e i f d „  ƒ  YZ  d e i f d „  ƒ  YZ! d e i" f d „  ƒ  YZ# d „  Z$ d  S(   Ns   /usr/share/rhn/(   s	   rpmSource(   s   rpmSourceUtils(   s
   rhnChannel(   s   repoDirector(   s   rpmUtils(   s   config(   s	   rpcServer(   s   up2dateUtilss   RpmmdSolveDepc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   t  i i |  ƒ d |  _ d  S(   Ns   rpmmd(   s   genericSolveDeps   GenericSolveDeps   __init__s   selfs   type(   s   self(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   __init__"   s    c         C   s·  t  i ƒ  } | i |  i ƒ } g  } g  } x | D] } | i
 | d ƒ q1 Wx3 |  i D]( }	 |	 d | j o | i
 |	 ƒ qV qV Wx$ | D] } t d | d ƒ |  _ q‰ Wh  } | } xè | D]à } |  i i | ƒ } xÅ | D]½ }
 | i | ƒ o g  | | <n |
 i ƒ  } | d } | d j o
 d } n | d | d | d | | d	 g g | | <y | i | ƒ Wn t j
 o n Xt | ƒ d j o PqÜ qÜ Wq½ Wd
 | GH| |  _ d  S(   Ns   labeli   i   s   0s    i    i   i   i   s   rpmmdSolvedep.getSolutions: %s(   s
   rhnChannels   getChannelss   channelss	   getByTypes   selfs   types   repoChannelss   channelNamess   repoPackagess   channels   appends	   availLists   pkgs   initPkgSacks   pkgSacks	   solutionss   unknownss   unknownsCopys   unknowns   searchProvidess   provss   provs   has_keys   returnNevraTuples   nevras   epochs   removes
   ValueErrors   lens   retList(   s   selfs   unknownss   repoChannelss   nevras   unknowns   provss   channelNamess   channelss   epochs   pkgs   provs   repoPackagess	   solutionss   unknownsCopys   channel(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   getSolutions)   sH     
    

,	(   s   __name__s
   __module__s   __init__s   getSolutions(    (    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   RpmmdSolveDep!   s   	c         C   s´   t  i ƒ  } y
 t a Wn t j
 o t a n Xt t j o t i t i	 ƒ a n |  t j o t Sn t i |  ƒ o( d | d |  f } t i |  | ƒ n
 d |  GHt Sd  S(   Ns   %s/rpmmd-%s.primary.xmls
   storageDirs   already got %s(   s   configs   initUp2dateConfigs   cfgs   pkgSacks	   NameErrors   Nones   packageSacks   XMLPackageSacks   packageObjects   RpmXMLPackageObjects   labels   _checkRepoStatuss   xmlPrimaryPaths   addFile(   s   labels   xmlPrimaryPaths   cfg(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   initPkgSackR   s     
	s   RpmmdRepoSourcec           B   sb   t  Z e e e e d „ Z e e d „ Z d „  Z e e d „ Z e e d „ Z e e d „ Z RS(   Nc         C   sP   t  i ƒ  |  _ t i i |  d | ƒ| |  _	 | |  _
 h  |  _ t ƒ  |  _ d  S(   Ns   cacheObject(   s   configs   initUp2dateConfigs   selfs   cfgs	   rpmSources   PackageSources   __init__s   cacheObjects	   loginInfos
   _loginInfos   headerCaches   pkglistss   initPkgSacks   pkgSack(   s   selfs	   proxyHosts	   loginInfos   cacheObjects   register(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   __init__l   s    			c         C   s…  d |  i d | d f } t i | ƒ } t } | oH | d }
 t	 i
 i |
 ƒ }
 t i |
 d ƒ d } t i | d ƒ } n d | d	 } | o | d
 | ƒ n t i | d | d | d d t i ƒ  ƒ}	 |	 o |	 \ } } ~	 n t S| o t i t i ƒ  ƒ } n t i d | ƒ } d |  i d | d | f } d |  i d | d | f } t | d ƒ } | i! | ƒ | i" ƒ  t# i$ | d | ƒ } | i& ƒ  \ } } d |  i d | d f } d | d	 | f } t i | d | d | d d t i ƒ  ƒ}	 |	 o |	 \ } } ~	 n t St | d ƒ } | i! | ƒ | i" ƒ  t i ƒ  } |  i, i- | d | ƒ g  } xÓ |  i, i/ i0 ƒ  D]¿ } |  i, i/ | } x¦ | D]ž } | i4 } | d } | d j p
 | d j o
 d } n | d } t8 i9 | ƒ d j o q£n | i: | d | d | d | | d | d | d f ƒ q£Wq†W| i; d „  ƒ t< i= | | | ƒ | |  i> | d <| Sd  S(   Ns   %s/%s.*s
   storageDirs   labeli    s   .iÿÿÿÿs   %Y%m%d%H%M%Ss   %s/repodata/repomd.xmls   urls   Fetching %ss   lastModifieds   progressCallbacks   agents   Up2date %s/Yums   %s/rpmmd-%s.repomd.%ss   %s/%s.%ss   ws   %s/rpmmd-%s.primary.xmls   %s/%ss   epochs   0s    s   archs   names   versions   releases   packagesizec         C   s   t  |  d | d ƒ S(   Ni    (   s   cmps   as   b(   s   as   b(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   <lambda>×   s    (?   s   selfs   cfgs   channels   globPatterns   globs   oldListss   Nones   channelTimeStamps   filenames   oss   paths   basenames   strings   splits
   oldVersions   times   strptimes   urls   msgCallbacks   urlUtilss   fetchUrls   progressCallbacks   up2dateUtilss   versions   rets   buffers   lmtimes   gmtimes   strftimes   xmlFilePaths   filePaths   opens   fs   writes   closes   repoMDObjects   RepoMDs   repodatas   primaryLocations   pbases   phrefs   xmlPrimaryPaths   xmlPrimaryUrls   time1s   pkgSacks   addFiles   pkglists   nevras   keyss   keys   pkgss   pkgs   simples   infos   epochs   archs   rpms	   archscores   appends   sorts   rpmSourceUtilss   saveListToDisks   pkglists(   s   selfs   channels   msgCallbacks   progressCallbacks   versions   pkgs   xmlPrimaryPaths   filePaths   time1s   rets   filenames   epochs   channelTimeStamps   pkgss   pkglists   lmtimes   xmlFilePaths   repodatas
   oldVersions   buffers   globPatterns   pbases   xmlPrimaryUrls   keys   oldListss   archs   infos   fs   urls   phref(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   listPackagesw   sx    


  	


Bc      
   C   s£   | }	 |	 i p d } |	 i } |	 i } |	 i }
 |	 i } g  } xX |	 i d D]I } | d } | d } | d } | i | | |
 | | | | | g ƒ qN W| Sd  S(   Ns    s	   obsoletesi    i   i   (   s   packageObjects   pkgs   epochs   names   versions   releases   archs   obss   prcos   obsTups   obsNames   obsVerss   obsFlagss   append(   s   selfs   packageObjects   names   obsVerss   obsTups   obsNames   obsFlagss   epochs   versions   pkgs   releases   archs   obs(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys!   genObsoleteTupleFromPackageObjectÝ   s    				 


)c         C   sâ   d |  i d | d | d f } d |  i d | d f } | o | d | d ƒ n g  } t |  i i	 ƒ } d } x_ |  i i i ƒ  D]K }
 |  i i |
 }	 x2 |	 D]* } |  i | ƒ } | o | | } q¨ q¨ Wq‹ Wg  Sd  S(	   Ns   %s/%s-obsoletes.%ss
   storageDirs   labels   versions   %s/%s-obsoletes.*s   Fetching obsoletes list for %ss   urli    (   s   selfs   cfgs   channels   filePaths   globPatterns   msgCallbacks   obsLists   lens   pkgSacks   nevras   totals   counts	   obsoletess   keyss   keys   pkgss   pkgs!   genObsoleteTupleFromPackageObjects   obs(   s   selfs   channels   msgCallbacks   progressCallbacks   counts   obsLists   filePaths   globPatterns   obss   pkgss   keys   totals   pkg(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   getObsoletesò   s     "  c      
   C   s  d | GHd | d | d | d | d f } | o | t ƒ n t i ƒ  } | i | d ƒ } | o | d | ƒ n d	 | d
 } | d
 d j o
 d } n |  i i | d | | d | d | d f } | d } | i d } | i d }
 | i d }	 d | d |	 f } t i | d | d d t i ƒ  d | d |
 ƒ\ } } d | d | d | d | d f } d |  i d | f } t | d ƒ } | i  | ƒ | i! ƒ  t" i# | ƒ d } t% i& | ƒ | |  i' d | d | d | d f <| Sd  S(   Ns   package: %ss   %s-%s-%s.%s.rpmi    i   i   i   i   s   Fetching %ss   %si   s    s   0s   hdrstarts   hdrends   relativepaths   %s/%ss   urls   progressCallbacks   agents   Up2date %s/Yums   starts   ends   %s-%s-%s.%s.hdrs
   storageDirs   w+s   %s-%s-%ss   names   versions   release((   s   packages   remoteFilenames   msgCallbacks   filenames
   rhnChannels   getChannelss   channelss
   getByLabels   channels   urls   epochs   selfs   pkgSacks   nevras   pkgss   pkgs   simples   starts   ends   relPaths   urlUtilss   fetchUrls   progressCallbacks   up2dateUtilss   versions   buffers   lmtimes   localFilenames   cfgs   tmpfilenames   opens   fds   writes   closes   rpms   readHeaderListFromFiles   hdrs   rpmSourceUtilss
   saveHeaders   headerCache(   s   selfs   packages   msgCallbacks   progressCallbacks   remoteFilenames   localFilenames   channelss   pkgs   tmpfilenames   relPaths   ends   starts   epochs   pkgss   channels   lmtimes   buffers   fds   hdrs   url(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys	   getHeader  s<    	&
/
	&
&c         C   s”  d | d | d | d | d f } t i ƒ  } | i | d ƒ } d |  i d | f } d	 | d
 }	 |	 d j o
 d }	 n | d } t i | ƒ o+ d |  i d | f } t i | | ƒ n |  i i | d |	 | d | d | d f }
 |
 d } | i d } d | d | f } | o | | ƒ n t | d ƒ } t i | | d | d d t i ƒ  ƒ} | i ƒ  t | d ƒ i ƒ  } | Sd  S(   Ns   %s-%s-%s.%s.rpmi    i   i   i   i   s   %s/%ss
   storageDirs   %si   s    s   0s   labels   %s/rpmmd-%s.primary.xmls   relativepaths   urls   w+s   progressCallbacks   agents   Up2date %s/Yums   r(!   s   pkgs   filenames
   rhnChannels   getChannelss   channelss
   getByLabels   channels   selfs   cfgs   filePaths   epochs   labels   pkgSacks   _checkRepoStatuss   xmlPrimaryPaths   addFiles   nevras   pkgss   simples   relPaths   urls   msgCallbacks   opens   fds   urlUtilss   fetchUrlAndWriteFDs   progressCallbacks   up2dateUtilss   versions   lmtimes   closes   reads   buffer(   s   selfs   pkgs   msgCallbacks   progressCallbacks   channelss   labels   relPaths   xmlPrimaryPaths   filenames   epochs   pkgss   channels   lmtimes   filePaths   buffers   fds   url(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys
   getPackageG  s0    &

/

(	   s   __name__s
   __module__s   Nones   __init__s   listPackagess!   genObsoleteTupleFromPackageObjects   getObsoletess	   getHeaders
   getPackage(    (    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   RpmmdRepoSourcek   s   f	;s   RpmmdDiskCachec           B   sP   t  Z e d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z e e d „ Z	 RS(   Nc         C   s)   t  i ƒ  |  _ t i i |  d | ƒd  S(   Ns   cacheObject(   s   configs   initUp2dateConfigs   selfs   cfgs	   rpmSources   PackageSources   __init__s   cacheObject(   s   selfs   cacheObject(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   __init__w  s    c         C   s   d  S(   N(    (   s   self(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   listAllPackages{  s    c         C   s   d  S(   N(    (   s   self(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   getObsoletes}  s    c         C   s   d  S(   N(    (   s   self(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys	   getHeader  s    c         C   s   d  S(   N(    (   s   self(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys
   getPackage  s    c         C   s   d  S(   N(    (   s   self(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   getPackageSourceƒ  s    c         C   s   d |  i d | d f } t i | ƒ } t | ƒ o | d } n d St | d ƒ } | i
 ƒ  } | o | d d ƒ n t i | ƒ \ }	 }
 |	 d Sd  S(   Ns   %s/%s.*s
   storageDirs   labeli    s   rid   (   s   selfs   cfgs   channels   globPatterns   globs   listss   lens   localFilenames   opens   fs   reads   filecontentss   progressCallbacks	   xmlrpclibs   loadss   tmp_argss
   tmp_method(   s   selfs   channels   msgCallbacks   progressCallbacks   fs   filecontentss   globPatterns   listss   localFilenames   tmp_argss
   tmp_method(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   listPackages†  s    (
   s   __name__s
   __module__s   Nones   __init__s   listAllPackagess   getObsoletess	   getHeaders
   getPackages   getPackageSources   listPackages(    (    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   RpmmdDiskCachev  s   					s	   RpmmdRepoc           B   s   t  Z d „  Z d „  Z RS(   Nc      
   C   sî  t  |  _ t i i |  ƒ t ƒ  |  _ t ƒ  |  _	 t
 i ƒ  } t
 i d | ƒ |  _ t
 i ƒ  |  _ t
 i ƒ  |  _ | |  i _ h  d h  d d <d |  i <h  d d <d |  i	 <g <d h  d d <d |  i <h  d d <d |  i	 <g <d	 h  d d <d |  i <h  d d <d |  i <g <d
 h  d d <d |  i <h  d d <d |  i <h  d d <d |  i <h  d d <d |  i <g <d h  d d <d |  i <h  d d <d |  i <h  d d <d |  i <g <|  _ d  S(   Ns   cacheObjects   listPackagess   names   rpmmds   objects   rpmmddiskcaches   listAllPackagess	   diskcaches   getObsoletess	   getHeaders   memcaches   rpmmd-diskcaches   rpmmd-localdisks
   getPackages	   localdisk(   s   Nones   selfs   logins   genericRepos   GenericRepos   __init__s   RpmmdRepoSources   rmdrss   RpmmdDiskCaches   rmdsss	   rpmSources   HeaderCaches   localHeaderCaches   HeaderMemoryCaches   hcss	   DiskCaches   hdss	   LocalDisks   hldcs   pscs   headerCaches   sources(   s   selfs   localHeaderCache(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   __init__¦  s    	c         C   s   d  S(   N(    (   s   self(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   updateAuthInfoÉ  s    (   s   __name__s
   __module__s   __init__s   updateAuthInfo(    (    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys	   RpmmdRepo¥  s   	#c         C   s0   t  ƒ  } | |  i d <t ƒ  } | |  i d <d  S(   Ns   rpmmd(   s	   RpmmdRepos	   rpmmdRepos   rds   handlerss   RpmmdSolveDeps   rpmmdSolveDeps   depSolveHandlers(   s   rds	   rpmmdRepos   rpmmdSolveDep(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   registerÌ  s    		(%   s   oss   syss   times   globs   gzips   strings   urllibs	   xmlrpclibs	   cStringIOs   rpms   paths   appends   up2date_clients	   rpmSources   rpmSourceUtilss
   rhnChannels   repoDirectors   rpmUtilss   configs	   rpcServers   up2dateUtilss   genericRepos   urlUtilss   genericSolveDeps   repoMDObjects   packageSacks   packageObjects   GenericSolveDeps   RpmmdSolveDeps   Nones   initPkgSacks   PackageSources   RpmmdRepoSources   RpmmdDiskCaches   GenericRepos	   RpmmdRepos   register(   s	   cStringIOs   RpmmdDiskCaches   packageSacks	   rpcServers   RpmmdRepoSources	   RpmmdRepos   rpms   rpmSourceUtilss   genericRepos   urllibs   configs
   rhnChannels   packageObjects   strings   urlUtilss	   rpmSources   globs   genericSolveDeps   syss   initPkgSacks   up2dateUtilss   repoDirectors   repoMDObjects   RpmmdSolveDeps   registers	   xmlrpclibs   times   gzips   rpmUtilss   os(    (    s7   /usr/share/rhn/up2date_client/repoBackends/rpmmdRepo.pys   ?   s@   																	1ÿ /'