<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
ft`?                 @   sV   d dl mZ d dl mZ d dlmZ d dlmZ d dlZd dlZ	G dd dej
ZdS )    )absolute_import)unicode_literals)_)commandsNc               @   s8   e Zd ZdZdZedZedd Zdd Z	dd	 Z
d
S )CheckCommandzSA class containing methods needed by the cli to execute the check
    command.
    checkz#check for problems in the packagedbc          	   C   s   | j ddddtdd | j ddddtd	d | j d
dddtdd | j ddddtdd | j ddddtdd | j dddddddg gtjd d S )Nz--allcheck_typesZappend_constallzshow all problems; default)destactionconsthelpz--dependenciesdependencieszshow dependency problemsz--duplicates
duplicateszshow duplicate problemsz--obsoleted	obsoletedzshow obsoleted packagesz
--providesprovideszshow problems with providescheck_yum_types*)nargschoicesr   )add_argumentr   argparseZSUPPRESS)parser r   /usr/lib/python3.6/check.pyset_argparser$   s$    zCheckCommand.set_argparserc             C   sx   d| j j_| jjr<| jjr0| jj| jj | j_n| jj| j_| jjsPdh| j_nt| jj| j_| jj j	dg7  _	d S )NTr	   )
ZcliZdemandsZsack_activationoptsr   r   setbaseconfZdisable_excludes)selfr   r   r   	configure;   s    
zCheckCommand.configurec          	   C   s  t  }| jjj j }| jjjddhrd }x||D ]r}xt |jt t |j	t |j
 B D ]}t|jdrtq`t|j|gds`t|jdr|d krtjj| j}tjj|}|j t|d tjj|}| jjj|_|j|dd |j }|rq`td}	|j|	j| jjjj|| jjjj| q`W xx|jD ]n}
|j|
gt|
j  d	 d
}xJ|D ]B}d}	|j|	j| jjjj|| jjjj|
| jjjj| q^W q8W q6W | jjjddhrN| jj!|}|j" j#|j$ }xl|j% D ]`\}}|j&  xL|dd  D ]<}tdj| jjjj|d	 | jjjj|}	|j|	 qW qW | jjjddhrx||D ]t}xl|j'D ]b}|j|gt|j  d	 d
}t|rttdj| jjjj|d	 | jjjj|}	|j|	 qtW qhW | jjjddhr\xf|D ]^}xV|j(D ]L}||j|gdkrtd}	|j|	j| jjjj|| jjjj| qW qW xt)|D ]}	t*|	 qfW |rtj+j,djt|d S )Nr	   r   Zrpmlib)r   (F)ZselectZoptionalz{} has missing requires of {}r   )r   namez"{} has installed conflict "{}": {}r      z{} is a duplicate with {}r   z{} is obsoleted by {}r   z%{} provides {} but it cannot be foundzCheck discovered {} problem(s))-r   r   sackZqueryZ	installedr   r   intersectionZregular_requiresZrequires_preZprereq_ignoreinststr
startswithlenfilterdnfZ
rpmdb_sackselectorZSelectorgoalZGoalr   Zprotect_running_kernelZinstallrunr   addformatoutputZtermZboldZ	conflictssplitZ_get_installonly_queryZ
duplicated
differenceZ
_name_dictitemssortZ	obsoletesr   sortedprint
exceptionsError)r    Z
output_setqr%   ZpkgZrequirer,   r-   ZsolvedmsgZconflictZ
conflictedZconflict_pkgZinstallonlyZdupsr#   ZpkgsdupZobsoleter   Zprovider   r   r   r.   I   s    (
$


 zCheckCommand.runN)r   )__name__
__module____qualname____doc__aliasesr   Zsummarystaticmethodr   r!   r.   r   r   r   r   r      s   r   )Z
__future__r   r   Zdnf.i18nr   Zdnf.clir   r   Zdnf.exceptionsr+   ZCommandr   r   r   r   r   <module>   s   