1
  "   ˆl–ß=¿J	µ2ÛR‚ œP-\lò˜´oÁƒ€oÀ¿ 
-    a
    -@=j±  ã                   @   s    U d Z ddlZddlmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ e e¡Zdd	d
œZdg d¢edgdœZe
ed< dd„ Zeeeeddœdd„ZdS )z"Resolv Conf: configure resolv.confé    N)Ú	templaterÚutil)ÚCloud)ÚConfig)Ú
MetaSchema)ÚPER_INSTANCEzresolv.confzsystemd.resolved.conf)z/etc/resolv.confz/etc/systemd/resolved.confZcc_resolv_conf)Z	almalinuxZ
cloudlinuxZalpineZ
azurelinuxZfedoraZmarinerZopensusezopensuse-leapzopensuse-microoszopensuse-tumbleweedZphotonZrhelZsle_hpcz	sle-microZslesZ	openeulerÚmanage_resolv_conf)ÚidZdistrosZ	frequencyZactivate_by_schema_keysÚmetac                 C   sš   g }g }d|v rJ|d   ¡ D ],\}}t|tƒr|r>| |¡ q| |¡ q|| D ]}|d |= qR| d¡sti |d< ||d< t d| ¡ t | ||¡ d S )NÚoptionsÚflagsz$Writing resolv.conf from template %s)	ÚitemsÚ
isinstanceÚboolÚappendÚgetÚLOGÚdebugr   Zrender_to_file)Útemplate_fnÚparamsÚtarget_fnamer   Zfalse_flagsÚkeyÚvalÚflag© r   úC/usr/lib/python3.9/site-packages/cloudinit/config/cc_resolv_conf.pyÚgenerate_resolv_conf3   s    

r   )ÚnameÚcfgÚcloudÚargsÚreturnc                 C   sœ   d|vrt  d| ¡ dS t |dd¡s6t  d| ¡ dS d|vrLt  d¡ dS z| t|jj ¡}W n t	y€   t  d¡ Y dS 0 t
||d |jjd	� dS )
a[  
    Handler for resolv.conf

    @param name: The module name "resolv_conf" from cloud.cfg
    @param cfg: A nested dict containing the entire cloud config contents.
    @param cloud: The L{CloudInit} object in use.
    @param log: Pre-initialized Python logger object to use for logging.
    @param args: Any module arguments from cloud.cfg
    r   zFSkipping module named %s, no 'manage_resolv_conf' key in configurationNFzGSkipping module named %s, 'manage_resolv_conf' present but set to FalseZresolv_confz3manage_resolv_conf True but no parameters provided!z0No template found, not rendering resolve configs)r   r   r   )r   r   r   Zget_cfg_option_boolZwarningZget_template_filenameÚRESOLVE_CONFIG_TEMPLATE_MAPZdistroZresolve_conf_fnÚKeyErrorr   )r   r   r   r    r   r   r   r   ÚhandleJ   s8    
ýý

ÿ
ýr$   )Ú__doc__ZloggingZ	cloudinitr   r   Zcloudinit.cloudr   Zcloudinit.configr   Zcloudinit.config.schemar   Zcloudinit.settingsr   Z	getLoggerÚ__name__r   r"   r
   Ú__annotations__r   ÚstrÚlistr$   r   r   r   r   Ú<module>	   s"   
þë  "   ˆl–äY>”ªC]Ši@»p/ÜJbÑ¿ÂƒuæšÁÀ ¤    #!/usr/bin/python3

import re
import argparse
import os
import gi
import json
import subprocess

gi.require_version('Flatpak', '1.0')
from gi.repository import Flatpak
from gi.repository import GLib

def get_bisection_data():
        return {'ref': None, 'good': None, 'bad': None,
                'refs': None, 'log': None, 'messages': None}

class Bisector():
    def load_cache(self):
        try:
            os.makedirs(os.path.join(GLib.get_user_cache_dir(), 'flatpak'))
        except FileExistsError:
            pass

        self.cache_path = os.path.join(GLib.get_user_cache_dir(),
                                       'flatpak', '%s-%s-bisect.status' % (
                                       self.name, self.branch))
        try:
            with open(self.cache_path, 'rb') as f:
                self.data = json.load(f)
        except FileNotFoundError:
            self.data = None

    def dump_data(self):
        with open(self.cache_path, 'w') as f:
            json.dump(self.data, f)

    def setup_flatpak_app(self):
        self.installation = Flatpak.Installation.new_user()
        kind = Flatpak.RefKind.APP
        if self.runtime:
            kind = Flatpak.RefKind.RUNTIME
        try:
            self.cref = self.installation.get_installed_ref(kind, self.name, None, self.branch, None)
        except GLib.Error as e:
            print("%s\n\nMake su