;ň
ęw?c           @   sť  d  Z  d k Z d k Z d k Z d k Z d k l Z l Z d k Z d k	 Z	 d k
 l Z d k
 Z
 g  Z d g Z d g Z g  Z d a d e
 i f d     YZ d	   Z e d
  Z d   Z d e d  Z e d j oŰd k Z e Z e i d Z y+ e i e d d d d d g  \ Z Z Wn. e i j
 o Z  d e  GHe i! d  n Xd Z" d Z# d Z$ xŞ e D]˘ Z% e% d d j p e% d d j o d Z" e% d Z& n e% d d j p e% d d j o
 d Z# n e% d d j o
 d Z$ n e% d d j o e% d Z qmqmWd d f d d f d d  f d! e f g Z' d! e f d d f d d  f d d f g Z( d! e f g Z) d d  f d! e f g Z* e e* d" e d# d Z+ e i! d  n d S($   sJ   module for updating the eli boot loaders config file for the up2date agentN(   s   _s   N_(   s
   makeInitrds	   read-onlys   initrdi    s   ELiloConfParseErrorc           B   s   t  Z d  Z d   Z RS(   s=   Raise when we encounter a config directive we dont understandc         C   s   t  d  |  i } | Sd  S(   Ns   elilo options that are not supported by up2date are used in the default elilo.conf. This file will not be modified. The options include:
(   s   _s   selfs   errmsgs   msg(   s   selfs   msg(    (    s)   /usr/share/rhn/up2date_client/elilocfg.pys   __repr__   s    (   s   __name__s
   __module__s   __doc__s   __repr__(    (    (    s)   /usr/share/rhn/up2date_client/elilocfg.pys   ELiloConfParseError   s    c         C   sE   | d } |  i |  \ } } } } t } | | | | | | f Sd  S(   Ni    (
   s	   imagelists   defaults   configs   getImages   types   default_images
   image_paths   others   Nones   defaultIsOther(   s   configs	   imagelists
   image_paths   defaults   defaultIsOthers   others   default_images   type(    (    s)   /usr/share/rhn/up2date_client/elilocfg.pys   findDefault!   s    
c         C   sJ  d |  }
 t i d d d |
  } x8 t D]0 } | i |  } | o | i
 | |  q) q) W| i   } t t t t }	 h  } x3 | i   D]% } | |	 j o q | | | | <q Wx t D] } | i
 |  qž Wx( | i   D] } | i
 | | |  qâ W| o | i
 d |  n | o | i
 d |  n | i | |  d  S(   Ns   %ss	   imageTypes   images   paths   initrds   label(   s   newimages   paths   lilos   LiloConfigFiles   sls   list_of_directivess   is   default_images   getEntrys   tmps   addEntrys   listEntriess   entriess   default_directivess   other_directivess   ignore_directivess   known_directivess   tmp_entriess   keyss   initrds   labels   configs   addImages
   setdefault(   s   newimages   initrds   labels   configs   default_images
   setdefaults   tmps   is   sls   known_directivess   paths   entriess   tmp_entries(    (    s)   /usr/share/rhn/up2date_client/elilocfg.pys   addImage'   s4    
    c         C   s\   |  d } | | j o | d } n |  d } t |  d j o |  d  d } n | Sd  S(   Ns   .baks   _i    i   (   s	   labelNames   backups	   imagelists   len(   s	   labelNames	   imagelists   backup(    (    s)   /usr/share/rhn/up2date_client/elilocfg.pys
   backupNameM   s    

c         C   sĚ  t  i   } t i   } | a d } | o
 d } n t
 i | t
 i  o t Sn | i |  t | i  o t d d | i   n | i   } t | |  \ } } } } } } t } | d d j o
 d } n= | d d j o
 d } n" | d	 d
 j o
 d
 } n t } | i d  } xG|  D]?\ } } t! | d  \ } } | o
 | | j o d | } n  | o | o
 d } n d } | o
 t } n | | j oU | i$ |  \ }	 } } } t( | |  }
 | i* d |
  | i+ d | |
 f  n | o2 | o! | | j o
 d } q8d } qSd } n | o
 d } n d } t- | | | | | |  q-W| d t. t/ i/    } x% t
 i | t
 i1  o | d } qWd a t o	 | GHn d  S(   Ns   linuxs   /boot/efi/elilo.confs   
s   %siý˙˙˙s   smpiö˙˙˙s
   enterpriseiü˙˙˙s   BOOTs   roots   /s   linux-s   linux-ups   labels)   renaming the lilo.conf entry for %s to %si   i    s	   .up2date-s   _(2   s
   up2dateLogs   initLogs   logs   lilos   LiloConfigFiles   configs   tests   TESTs   labels   filenames   oss   accesss   R_OKs   Nones   reads   lens   unsupporteds   ELiloConfParseErrors
   listImagess	   imagelists   findDefaults   defaults   types   default_images
   image_paths   others   defaultIsOthers   defaultTypes   getEntrys   rootDevs	   imageLists   newimages	   imageTypes
   makeInitrds   initrds   initrdExistss   getImages   tmpTypes	   old_images   tmp_paths
   backupNames   new_old_labels   addEntrys   log_mes
   setdefaults   addImages   reprs   times
   backupfiles   F_OK(   s	   imageLists   tests   filenames
   setdefaults   initrdExistss   defaultIsOthers   rootDevs	   imagelists   labels   tmpTypes   new_old_labels   others   tmp_paths   types	   imageTypes
   image_paths	   old_images
   backupfiles   newimages   defaultTypes   logs   defaults   configs   initrds   default_image(    (    s)   /usr/share/rhn/up2date_client/elilocfg.pys   installNewImages[   sn     
!


 





 s   __main__i   s   a:d:s   add=s   del=s   file=s   defaults(   Error parsing command line arguments: %ss   -as   --adds   -ds   --dels	   --defaults   --files   2.4.2-0.1.49BOOTs   BOOTs   2.4.2-0.1.49enterprises
   enterprises   2.4.2-0.1.49smps   smps   2.4.2-0.1.49s   filenames   test(,   s   __doc__s   oss   syss   lilos   iutils   rhpl.translates   _s   N_s   times
   up2dateLogs   bootloadercfgs
   makeInitrds   list_of_directivess   default_directivess   other_directivess   ignore_directivess   TESTs   Errors   ELiloConfParseErrors   findDefaults   Nones   addImages
   backupNames   installNewImagess   __name__s   getopts   filenames   argvs   arglists   optlists   argss   errors   es   exits   addimages   delimages
   setdefaults   opts   newimages   kernel_lists   kernel_list2s   kernel_list3s   kernel_list4s   foo(#   s   addImages   kernel_list3s   ignore_directivess   newimages   installNewImagess   kernel_list4s   arglists   kernel_list2s
   up2dateLogs   bootloadercfgs   lilos   ELiloConfParseErrors   filenames   addimages   N_s   getopts   foos   opts   argss   syss   kernel_lists   other_directivess
   makeInitrds   _s
   setdefaults   optlists   es
   backupNames   list_of_directivess   iutils   delimages   times   default_directivess   oss   findDefault(    (    s)   /usr/share/rhn/up2date_client/elilocfg.pys   ?   sb   					 	&	X			 ""

**