;ò
>5¡@c           @   s÷   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 Z	 e i
 ƒ  Z d d	 d
 d g Z e i ƒ  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e d j o e ƒ  n d  S(   Ns   /usr/share/rhn/(   s	   rollbacks(   s   configUtils(   s   config(   s   up2dateErrors(   s   up2dateUtilsi    s   rollbacks   listTransactionss   configs   undoc          C   sA   h  } d | d <d | d <t i ƒ  }  |  | d <d d | f Sd  S(   Ns   0s   versions   rollback.listTransactions.datas   names   transactionsi    s   transaction info collected(   s   datas	   _rollbacks   getTransactionsDatas   dict(   s   dicts   data(    (    s"   /usr/share/rhn/actions/rollback.pys   listTransactions   s    


c         C   s   |  t j o d Sn |  Sd  S(   Ns    (   s   values   None(   s   value(    (    s"   /usr/share/rhn/actions/rollback.pys   noneToEmpty&   s    c      	   C   s¹   g  } x¢ |  D]š } | \ \ } } } \ }
 } } } } | | | |
 | | | | g }	 t t |	 ƒ \ } } } }
 } } } } | i | | | f |
 | f | | | f ƒ q Wt | ƒ Sd  S(   N(   s
   clean_depss   depss   deps   names   versions   releases	   needsNames   needsVersions   flagss	   suggesteds   senses   valuess   maps   noneToEmptys   appends   tuple(   s   depss	   suggesteds   needsVersions   deps   versions   flagss
   clean_depss   senses   releases   valuess	   needsNames   name(    (    s"   /usr/share/rhn/actions/rollback.pys   __cleanDeps,   s     $'/c          C   s;   t  i ƒ  }  d |  d <d |  d <t  i ƒ  d d |  f Sd  S(   Ns   0s   versions   rollback.undo.rollback_infos   namei    s   undo completed(   s	   _rollbacks   getUndoInfos   datas   undo(   s   data(    (    s"   /usr/share/rhn/actions/rollback.pys   undo<   s
    


c         C   sm   t  i d |  ƒ t  i ƒ  |  d j o t i d d ƒ n |  d j o t i d d ƒ n d d h  f Sd  S(   Ns   enableRollbackss   1s   %_repackage_all_erasuress   0i    s   config values updated(   s   cfgs   sets   values   saves   configUtilss   writeUp2dateMacro(   s   value(    (    s"   /usr/share/rhn/actions/rollback.pys   configE   s    
c         C   sÒ  d | GHt } y t |  | ƒ } Wn©t i j
 o } d d h  f Sn†t i j
 o[ } h  } d | d <d | | d <| i o h  d | i <} n d	 d
 | i | f Snt i j
 oA } h  d | <} d | d <d | | d <d d | | f SnÎt i j
 oT } h  } | i o h  d | i <} n d | d <d | | d <d d | f Snlt i j
 oZ } h  } | i o h  d t | i ƒ <} n d | d <d | | d <d d | f Snt i j
 o” } h  } | i o h  d | i <} n | i o# | i | d <t i | i ƒ } n d } d | d <d | | d <d d | i | f | f Snbt i j
 o} | i oÖ y | i } t | i d d d ƒ t d ƒ j oZ | i d d | i d d d | i d d d t | i d d d ƒ f f g } n Wn1 t j
 o d } n t j
 o d } n Xh  d  | <} n h  } d | d <d! | | d <d" d# | | f Sn<t i  j
 oX } | i o h  d$ | i <} n h  } d | d <d% | | d <d& d' | | f SnÖt i! j
 o[ } h  } | i" o h  d( | i" <} n d | d <d) | | d <d* d+ | i" | f Snmt i# j
 o } d, d- h  f SnIt i$ j
 oD } h  d. | i <} d | d <d/ | | d <d0 d1 | | f Sn÷ t i% j
 oD } h  d2 | i <} d | d <d3 | | d <d4 d1 | h  f Sn¥ t i& j
 o d5 d6 h  f Snƒ t i' j
 o d7 d8 h  f Sna t i( j
 oQ } h  d9 | i) <} | i* | d: <d | d <d; | | d <d< d= | | f Sn Xd  S(>   Ns   args: %si   s5   Failed: packages requested raised dependency problemss   0s   versions   %s.package_install_failures   names   package_that_failedi    s/   Failed: Packages failed to install properly: %ss   missing_package_errors   %s.file_not_foundi   s;   Failed: There was a File Not Found error. The error was: %ss   packages_on_skip_lists   %s.packages_on_skip_listi   s:   Failed: Some of the packages specified were on a skip lists   failed_depss   %s.failed_depss   packagess    s   %s.deps_on_skip_listi   s„   The dependency %s is provided by the folowing packages: %s, but they are not available due to client configuration (skip lists, etc)i    i   i   l    s7   There was a parsing error with the rpm conflict messages>   There was an overflow error converting the return code to intss   package_conflictss   %s.package_conflictsi   sC   Failed: There was a package conflict error with the package set: %ss   package_file_conflictss   %s.package_file_conflictsi   s>   Failed: There was file conflict error with the package set: %ss   dependency_senses   %s.dependency_sensei   s5   There was a dependency sense error with the sense: %si   s=   Failed: There was a communication error talking to the servers   unsigned_packages   %s.unsigned_packagei   sE   Failed: There was a package gpg verification error. The error was: %ss   gpg_failed_packages   %s.gpg_failed_packagei   i   s5   Failed: gpg is not properly installed on this machinei   sK   Failed: The package signing key for Red Hat, Inc. is not on the gpg keyrings   space_requireds   space_availables   %s.out_of_spacei!   sB   Failed: The was an error installing the package: the error was: %s(+   s   argss   Nones   rets   applys   methods   up2dateErrorss   RpmErrors   es   RpmInstallErrors   datas   names   pkgs   errmsgs   FileNotFoundErrors   SkipListErrors   pkglists   DependencyErrors   depss   __cleanDepss   UnsolvedDependencyErrors   deps   pkgss   up2dateUtilss   pkglistToStrings   packagess   ConflictErrors   rcs   tmprcs   types   ints	   TypeErrors   OverflowErrors   FileConflictErrors   DependencySenseErrors   senses   CommunicationErrors#   GPGVerificationUnsignedPackageErrors   GPGVerificationErrors   GPGInstallationErrors   GPGKeyringErrors   OutOfSpaceErrors	   totalSizes   freeDiskSpace(   s   methods   names   argss   es   rets   tmprcs   packagess   data(    (    s"   /usr/share/rhn/actions/rollback.pys   _catchErrorsP   s¼    	










	(^








c         C   s  y t  i |  ƒ } WnD t j
 o8 h  } d | d <d | d <|  | d <d d | f Sn Xd | d <d | d <t  i ƒ  } t | ƒ t | ƒ j o+ | | d	 <t  i	 ƒ  | d
 <d d | f Sn t
 t  i d |  f ƒ } t | ƒ t f  ƒ j o | Sn t i ƒ  d d | f Sd  S(   Ns   0s   versions   rollback.rollback.invalid_tids   names   tidi#   s   Invalid transaction ids   rollback.rollback.rollback_infos	   latesttids   currenttransactionsi$   s!   from tid is older than latest tids   rollback.doRollbacki    s   rollback completed(   s	   _rollbacks
   getTidInfos	   targettids   datas   KeyErrors   getLatestTids	   latesttids   ints   fromtids   getTransactionsDatas   _catchErrorss
   doRollbacks   rets   types   up2dateUtilss   touchTimeStamp(   s	   targettids   fromtids   rets	   latesttids   data(    (    s"   /usr/share/rhn/actions/rollback.pys   rollbackÎ   s(    






c           C   s	   d GHd  S(   Ns´   
--undo        undo the last transaction
--list        show all available transactions
--verbose     enable rpm debugging info (rpm -vv equilivent)
--tid=TID     rollback tid $TID
(    (    (    (    s"   /usr/share/rhn/actions/rollback.pys
   _printHelpï   s    c          C   s³  d  k  }	 d  k } t t i d ƒ o t ƒ  t i ƒ  n y2 |	 i  t i d d d d d d g ƒ \ } } Wn t ƒ  n Xt	 } t	 } t	 } xŸ | D]— \ }  } |  d j p
 |  d j o
 d } n |  d	 j o d } | i | ƒ } n |  d
 j o
 d } n |  d j o d  k }
 |
 i |
 i ƒ q˜ q˜ W| o t i ƒ  GHn | p | o t i ƒ  } n | o t i | ƒ GHt ƒ  GHn | o  t i | ƒ GHt | | ƒ GHn d  S(   Ni   s   us   undos   lists   verboses   tid=s   -us   --undos   --tids   --lists	   --verbose(   s   getopts   strings   lens   syss   argvs
   _printHelps   exits   optlists   arglists   Nones   doundos   undotids   lists   opts   args   atois   tids   rpms   setVerbositys   RPMLOG_DEBUGs	   _rollbacks   printTransactionss   getLatestTids   latests
   getTidInfos   undos   rollback(   s   opts   optlists   arglists   strings   undotids   args   lists   doundos   tids   getopts   rpms   latest(    (    s"   /usr/share/rhn/actions/rollback.pys   main÷   sH    		 

	s   __main__(   s   syss   paths   appends   up2date_clients	   rollbackss   configUtilss   configs   up2dateErrorss   up2dateUtilss
   argVerboses   initUp2dateConfigs   cfgs   __rhnexport__s   Rollbacks	   _rollbacks   listTransactionss   noneToEmptys   __cleanDepss   undos   _catchErrorss   rollbacks
   _printHelps   mains   __name__(   s   mains   configUtilss   __rhnexport__s
   argVerboses   cfgs   up2dateErrorss   undos   syss   up2dateUtilss   listTransactionss	   _rollbacks   noneToEmptys   __cleanDepss   rollbacks
   _printHelps   configs   _catchErrorss	   rollbacks(    (    s"   /usr/share/rhn/actions/rollback.pys   ?
   s*   									~	!		7