/
usr
/
libexec
/
kcare
/
python
/
kcarectl
/
__pycache__
/
New Directory
Upload File
HOME
a �n�j�) � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZddlm Z m Z mZmZm Z ddlmZ ddlmZ dZdd� Zd d � Zdd� Zd d� Zdd� Zdd� Zdd� ZG dd� de�ZG dd� de�ZG dd� de�Z dd� Z!dd� Z"dd � Z#d!d"� Z$d#d$� Z%d%d&� Z&d'd(� Z'd)d*� Z(e j)d+d,� �Z*e j)d-d.� �Z+e j)d/d0� �Z,d1d2� Z-d3d4� Z.d5d6� Z/d7d8� Z0d9d:� Z1d;d<� Z2e j)d=d>� �Z3d?d@� Z4dAdB� Z5dCdD� Z6dEdF� Z7dS )G� N� )�config� constants� log_utils� process_utils�utils)�SafeExceptionWrapper)�json_loads_nstrzuname: c C s t �| �p| dv S )Nz.-_+)�str�isalnum)�c� r �+/usr/libexec/kcare/python/kcarectl/kcare.py� is_uname_char s r c C sZ t � }t�t|| tj��}|�� D ]2}|�t�r"d� t t|tt�d � � � �� S q"dS )N� )�get_kernel_hashr �read_text_file�get_cache_pathr � PATCH_INFO� splitlines� startswith�UNAME_LABEL�join�filterr �len�strip)�patch_level�khash�buf�liner r r �parse_uname s &r c C sJ t j�tj�rFz$ttjd�}|�| � |�� W dS tyD Y n0 dS )N�wTF) �os�path�existsr �KCARE_UNAME_FILE�open�write�close� Exception)�new_version�fr r r �kcare_update_effective_version% s r, c C s8 t tjd�} zt�| �� ��� W | �� S | �� 0 d S )N�rb)r&