File: //etc/leapp/repos.d/system_upgrade/common/libraries/kernel.pyo
�
��ic @ s� d d l m Z d d l m Z d d l m Z m Z m Z e d d � Z d
d g Z d e
f d
� � YZ d � Z d � Z
d � Z d � Z d S( i����( t
namedtuple( t StopActorExecutionError( t apit CalledProcessErrort runt
KernelPkgInfot namet versiont releaset archt nevras kernel-uname-rs kernel-rt-uname-rt
KernelTypec B s e Z d Z d Z RS( t ordinaryt realtime( t __name__t
__module__t ORDINARYt REALTIME( ( ( sR /usr/share/leapp-repository/repositories/system_upgrade/common/libraries/kernel.pyR s c
C s� | j d � } | d } t | � d k r5 | d n d } | | f } | d k r� i t j d 6} xm | j � D] \ } } | | k rp | Sqp Wn@ i t j d 6} x- | j � D] \ } } | j | � r� | Sq� Wt j S(
s'
Determine kernel type from given kernel release (uname-r).
:param str rhel_version: Version of RHEL for which the kernel with the uname-r is targeted.
:param str kernel_uname_r: Kernel release (uname-r)
:returns: Kernel type based on a given uname_r
:rtype: KernelType
t .i i t 0t 9t 2s .rts +rt( R R ( t splitt lenR R t itemst endswithR (
t rhel_versiont kernel_uname_rt version_fragmentst major_vert minor_vert uname_r_infixest infixt kernel_typet uname_r_suffixest suffix( ( sR /usr/share/leapp-repository/repositories/system_upgrade/common/libraries/kernel.pyt determine_kernel_type_from_uname s
"
c C s� t d d d | g d t d d � d d � �d } xZ | D]R } d
| k rS q; n | j d
d � \ } } | j � } | t k r; | j � Sq; Wd S(
s:
Get kernel release (uname-r) provided by a given kernel package.
Calls the ``rpm`` command internally and might raise CalledProcessError if the rpm query fails.
:param str kernel_pkg_nevra: NEVRA of an installed kernel package
:returns: uname-r provided by the given package
:rtype: str
t rpms -qs
--providesR t callback_rawc S s d S( N( t None( t fdt value( ( sR /usr/share/leapp-repository/repositories/system_upgrade/common/libraries/kernel.pyt <lambda>>