;ò
>5¡@c           @   sU  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
 e i f d „  ƒ  YZ 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   AptSolveDepc           B   s   t  Z d „  Z RS(   Nc         C   s   t  i i |  ƒ d |  _ d  S(   Ns   apt(   s   genericSolveDeps   SolveByHeadersSolveDeps   __init__s   selfs   type(   s   self(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   __init__   s    (   s   __name__s
   __module__s   __init__(    (    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   AptSolveDep   s   s   AptRepoSourcec           B   st   t  Z e e e d „ Z e e d „ Z e e d „ Z e e d „ Z e e d „ Z e e 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   cacheObjects	   loginInfos   self_loginInfo(   s   selfs	   proxyHosts	   loginInfos   cacheObjects   self_loginInfo(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   __init__$   s    c   	      C   sƒ   d |  i d | d | d f } d |  i d | d f } t i ƒ  } | i | | | ƒ } | d } t i | | | ƒ | Sd  S(   Ns   %s/%s-all.%ss
   storageDirs   labels   versions   %s/%s-all.*i    (   s   selfs   cfgs   channels   filePaths   globPatterns   repoDirectors   initRepoDirectors   rds   listPackagess   msgCallbacks   progressCallbacks   pkgLists   lists   rpmSourceUtilss   saveListToDisk(	   s   selfs   channels   msgCallbacks   progressCallbacks   filePaths   globPatterns   lists   pkgLists   rd(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   listAllPackages+   s    "
c      
   C   s(  d |  i d | d | d f } d |  i d | d f } t i | ƒ } t }
 | oH | d } t
 i i | ƒ } t i | d ƒ d } t i | d	 ƒ }
 n d
 | d | d f } | o | d | ƒ n t i | d |
 d | d d t i ƒ  ƒ} | o | \ } } n t Sd |  i d | d f } y t
 i | ƒ Wn t j
 o n Xt i d	 | ƒ |  _ d |  i d | d |  i f } d |  i d | d |  i f } t! d | d ƒ } | i# | ƒ | i$ ƒ  | o | d d ƒ n t
 i% d | ƒ } | i' ƒ  } t
 i) | | ƒ t* i+ | ƒ } g  } xÃ | D]» } | d }	 |	 t j p |	 d j p
 |	 d j o
 d }	 n | i0 | d | d | d |	 | d t1 | d ƒ | d g ƒ t2 i3 | ƒ | |  i4 d | d | d | d | d f <q>W| i5 d  „  ƒ t2 i6 | | | ƒ | Sd  S(!   Ns   %s/%s.%ss
   storageDirs   labels   versions   %s/%s.*i    s   .iÿÿÿÿs   %Y%m%d%H%M%Ss   %s/base/pkglist.%s.bz2s   urls   dists   Fetching %ss   lastModifieds   progressCallbacks   agents   Up2date %s/Apts
   %s/link-%ss   %s/tmp-%s-%ss   %s.bz2s   wi   s   /usr/bin/bunzip2 %s.bz2s   epochs   0s    s   names   releases   archs   sizes   %s-%s-%s.%sc         C   s   t  |  d | d ƒ S(   Ni    (   s   cmps   as   b(   s   as   b(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   <lambda>’   s    (7   s   selfs   cfgs   channels   filePaths   globPatterns   globs   oldListss   Nones   channelTimeStamps   filenames   oss   paths   basenames   strings   splits
   oldVersions   times   strptimes   urls   msgCallbacks   urlUtilss   fetchUrls   progressCallbacks   up2dateUtilss   versions   rets   buffers   lmtimes   symlinknames   unlinks   OSErrors   strftimes   tmpfilenames   opens   fs   writes   closes   popens   pipes   reads   tmps   symlinks   rpms   readHeaderListFromFiles   hdrLists   pkgLists   hdrs   epochs   appends   strs   rpmSourceUtilss
   saveHeaders   headerCaches   sorts   saveListToDisk(   s   selfs   channels   msgCallbacks   progressCallbacks   tmpfilenames   tmps   filePaths   rets   filenames   epochs   channelTimeStamps   lmtimes
   oldVersions   buffers   globPatterns   oldListss   pkgLists   hdrs   fs   urls   symlinknames   hdrLists   pipe(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   listPackages8   s^    "
!!
	 
'
@	1c         C   s1  d |  i d | d | d f } d |  i d | d f } | o | d | d ƒ n d |  i d | d f } t i | ƒ }	 g  } t |	 ƒ } d	 } xg |	 D]_ } | o | | | ƒ n | d
 } | d o q£ n t i | ƒ }
 |
 o | |
 } q£ q£ W| i d „  ƒ t i | | | ƒ | Sd  S(   Ns   %s/%s-obsoletes.%ss
   storageDirs   labels   versions   %s/%s-obsoletes.*s   Fetching obsoletes list for %ss   urls
   %s/link-%si    i   s	   obsoletesc         C   s   t  |  d | d ƒ S(   Ni    (   s   cmps   as   b(   s   as   b(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   <lambda>¿   s    (   s   selfs   cfgs   channels   filePaths   globPatterns   msgCallbacks   fileHdrLists   rpms   readHeaderListFromFiles   hdrLists   obsLists   lens   totals   counts   hdrs   progressCallbacks   up2dateUtilss   genObsoleteTupleFromHdrs   obss   sorts   rpmSourceUtilss   saveListToDisk(   s   selfs   channels   msgCallbacks   progressCallbacks   counts   totals   obsLists   filePaths   globPatterns   hdrLists   obss   fileHdrLists   hdr(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   getObsoletes™   s,    " 
c         C   s   t  Sd  S(   N(   s   None(   s   selfs   packages   msgCallbacks   progressCallback(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys	   getHeaderÆ   s    c         C   sê   d | d | d | d | d f } t i ƒ  } | i | d ƒ } d |  i d | f } 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   %s/RPMS.%s/%ss   urls   dists   w+s   progressCallbacks   agents   Up2date %s/Apts   r(   s   packages   filenames
   rhnChannels   getChannelss   channelss
   getByLabels   channels   selfs   cfgs   filePaths   urls   msgCallbacks   opens   fds   urlUtilss   fetchUrlAndWriteFDs   progressCallbacks   up2dateUtilss   versions   lmtimes   closes   reads   buffer(   s   selfs   packages   msgCallbacks   progressCallbacks   lmtimes   urls   filePaths   filenames   channelss   buffers   fds   channel(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys
   getPackageå   s    &
c         C   s«   | } d |  i d | f } | o | | ƒ n d | d | d | f } t | d ƒ }
 t
 i | |
 d | d d	 t i ƒ  ƒ} |
 i ƒ  t | d
 ƒ i ƒ  }	 |	 Sd  S(   Ns   %s/%ss
   storageDirs   %s/SRPMS.%s/%ss   urls   dists   w+s   progressCallbacks   agents   Up2date %s/Apts   r(   s   packages   filenames   selfs   cfgs   filePaths   msgCallbacks   channels   urls   opens   fds   urlUtilss   fetchUrlAndWriteFDs   progressCallbacks   up2dateUtilss   versions   lmtimes   closes   reads   buffer(   s   selfs   channels   packages   msgCallbacks   progressCallbacks   lmtimes   urls   filePaths   filenames   buffers   fd(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   getPackageSourceÿ   s    
(
   s   __name__s
   __module__s   Nones   __init__s   listAllPackagess   listPackagess   getObsoletess	   getHeaders
   getPackages   getPackageSource(    (    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   AptRepoSource#   s   a-s   AptDiskCachec           B   s#   t  Z e 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(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   __init__  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    l   _sTè,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(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   listPackages  s    (   s   __name__s
   __module__s   Nones   __init__s   listPackages(    (    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   AptDiskCache  s   s   AptRepoc           B   s   t  Z d „  Z d „  Z RS(   Nc      
   C   s6  t  i i |  ƒ t i ƒ  |  _ t ƒ  |  _ t i	 ƒ  } t i d | ƒ |  _ t ƒ  |  _ 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 h  d d <d |  i <h  d d <d |  i <h  d d <d |  i <g <|  _ d  S(   Ns   cacheObjects   listPackagess   names   apts   objects   aptdiskcaches   listAllPackagess	   diskcaches   getObsoletess	   getHeaders   memcaches	   localdisks
   getPackages   getPackageSource(   s   genericRepos   GenericRepos   __init__s   selfs	   rpmSources	   DiskCaches   hdss   AptRepoSources   arss   HeaderCaches   localHeaderCaches   HeaderMemoryCaches   hcss   AptDiskCaches   adss	   LocalDisks   hldcs   pscs   headerCaches   sources(   s   selfs   localHeaderCache(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   __init__8  s    c         C   s   d  S(   N(    (   s   self(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   updateAuthInfo[  s    (   s   __name__s
   __module__s   __init__s   updateAuthInfo(    (    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   AptRepo7  s   	#c         C   s0   t  ƒ  } | |  i d <t ƒ  } | |  i d <d  S(   Ns   apt(   s   AptRepos   aptRepos   rds   handlerss   AptSolveDeps   aptSolveDeps   depSolveHandlers(   s   rds   aptRepos   aptSolveDep(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   register^  s    		(   s   oss   syss   times   globs   gzips   strings   urllibs	   xmlrpclibs   rpms   paths   appends   up2date_clients	   rpmSources   rpmSourceUtilss
   rhnChannels   repoDirectors   rpmUtilss   configs	   rpcServers   up2dateUtilss   genericRepos   genericSolveDeps   urlUtilss   SolveByHeadersSolveDeps   AptSolveDeps   PackageSources   AptRepoSources   AptDiskCaches   GenericRepos   AptRepos   register(   s	   rpcServers   AptRepos   AptRepoSources   rpms   rpmSourceUtilss   genericRepos   urllibs   configs
   rhnChannels   AptDiskCaches   strings   urlUtilss	   rpmSources   globs   genericSolveDeps   syss   up2dateUtilss   repoDirectors   AptSolveDeps   registers	   xmlrpclibs   times   gzips   rpmUtilss   os(    (    s5   /usr/share/rhn/up2date_client/repoBackends/aptRepo.pys   ?   s2   												ð$'