관리-도구
편집 파일: rpmtrans.cpython-39.opt-1.pyc
a �����!c�>������������������� ���@���sH��d�dl�mZmZ�d�dl�mZ�d�dlZd�dlmZmZ�d�dl Z d�dlZ d�dlZ d�dl Z d�dlZd�dlZd�dlZd�dlZd�dlZd�dlZdZdZdZdZd Zd ZdZdZeeegZeeegZejjejj ejj!ejj"ejj#ejj$ejj%ejj&ejj'h Z(e�)d �Z*dd��Z+G�dd��de,�Z-G�dd��de-�Z.G�dd��de-�Z/G�dd��de,�Z0dS�)�����)�print_function�absolute_import)�unicode_literalsN)�_�ucd� ��������(����2����<����F����Z����d����dnfc��������������������s���t���fdd��}|S�)zb Wrapper to return a deprecated action constant while printing a deprecation warning. c��������������������s2���d|�j�j����f�}tj|tdd��ttj���}|S�)Nz1%s.%s is deprecated. Use dnf.callback.%s instead.����)� stacklevel)� __class__�__name__�warnings�warn�DeprecationWarning�getattrr����callback)�self�msg�value��name���4/usr/lib/python3.9/site-packages/dnf/yum/rpmtrans.py�_funcC���s�����z%_add_deprecated_action.<locals>._func)�property)r���r ���r���r���r����_add_deprecated_action>���s����r"���c�������������������@���s����e�Zd�Zdd��Zed�Zed�Zed�ZeZed�Z ed�Z ed�Zed �Zed �Z ed�Zed�Zed �Zdd��Zdd��Zdd��Zdd��Zdd��ZdS�)�TransactionDisplayc�����������������C���s���d�S��Nr����r���r���r���r����__init__P���s����zTransactionDisplay.__init__�PKG_CLEANUP� PKG_DOWNGRADE� PKG_REMOVE�PKG_INSTALL�PKG_OBSOLETE� PKG_REINSTALL�PKG_UPGRADE� PKG_VERIFY�TRANS_PREPARATION� PKG_SCRIPTLET� TRANS_POSTc�����������������C���s���dS�)a��Report ongoing progress on a transaction item. :api :param package: a package being processed :param action: the action being performed :param ti_done: number of processed bytes of the transaction item being processed :param ti_total: total number of bytes of the transaction item being processed :param ts_done: number of actions processed in the whole transaction :param ts_total: total number of actions in the whole transaction Nr���)r����package�actionZti_doneZti_totalZts_doneZts_totalr���r���r����progressb���s����zTransactionDisplay.progressc�����������������C���s���dS�)z_Hook for reporting an rpm scriptlet output. :param msgs: the scriptlet output Nr����r����msgsr���r���r���� scriptouts���s����zTransactionDisplay.scriptoutc�����������������C���s���dS�)z:Report an error that occurred during the transaction. :apiNr����r����messager���r���r����errorz���s����zTransactionDisplay.errorc�����������������C���s���dS�)z|package is the same as in progress() - a package object or simple string action is also the same as in progress()Nr���)r���r2���r3���r���r���r����filelog~���s����zTransactionDisplay.filelogc�����������������C���s���|���|tjjdd||��d�S�)Nr���)r4���r����transactionr.���)r����pkg�count�totalr���r���r����verify_tsi_package����s����z%TransactionDisplay.verify_tsi_packageN)r���� __module__�__qualname__r&���r"���r'���r(���r)���Z PKG_ERASEr*���r+���r,���r-���r.���r/���r0���r1���r4���r7���r:���r;���r@���r���r���r���r���r#���M���s$���r#���c�����������������������s ���e�Zd�ZdZ��fdd�Z���ZS�)�ErrorTransactionDisplayz@An RPMTransaction display that prints errors to standard output.c��������������������s&���t�t|���|��tj�d|tj��d�S�)N�print)�superrC���r:���r����utilZ_terminal_messenger�sys�stderrr8����r���r���r���r:�������s����zErrorTransactionDisplay.error)r���rA���rB����__doc__r:���� __classcell__r���r���rI���r���rC�������s���rC���c�����������������������s8���e�Zd�ZdZ��fdd�Zdd��Zdd��Zdd ��Z���ZS�) �LoggingTransactionDisplayz@ Base class for a RPMTransaction display callback class c��������������������s���t�t|������t�d�|�_d�S�)Nzdnf.rpm)rE���rL���r&����logging� getLogger� rpm_loggerr%���rI���r���r���r&�������s����z"LoggingTransactionDisplay.__init__c�����������������C���s���|�j��|��d�S�r$���)rO���r:���r8���r���r���r���r:�������s����zLoggingTransactionDisplay.errorc�����������������C���s.���t�jj|�}d||f�}|�j�t�jj|��d�S�)Nz%s: %s)r���r<���ZFILE_ACTIONSrO����logrM���ZSUBDEBUG)r���r2���r3���Z action_strr���r���r���r���r;�������s����z!LoggingTransactionDisplay.filelogc�����������������C���s���|r|�j��t|���d�S�r$���)rO����infor���r5���r���r���r���r7�������s����z#LoggingTransactionDisplay.scriptout) r���rA���rB���rJ���r&���r:���r;���r7���rK���r���r���rI���r���rL�������s ���rL���c�������������������@���s����e�Zd�Zd9dd�Zd:dd�Zdd ��Zd d��Zdd ��Zdd��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zd d!��Zd"d#��Zd$d%��Zd&d'��Zd(d)��Zd*d+��Zd,d-��Zd.d/��Zd0d1��Zd2d3��Zd4d5��Zd6d7��Zd8S�);�RPMTransactionFr���c�����������������C���sn���|st���g}||�_||�_||�_d|�_d�|�_d|�_d|�_d|�_t ��|�_ d|�_|��|j j��g�|�_d|�_d�|�_d�S�)NFr���)rC����displays�base�test� trans_running�fd� total_actions�total_installed�complete_actions�set�installed_pkg_names� total_removed�_setupOutputLoggingZconf�rpmverbosity�_te_list� _te_index� _tsi_cache)r���rT���rU���rS���r���r���r���r&�������s ����zRPMTransaction.__init__rQ���c�����������������C���s~���t����}||�_t|jd�|�_|�jj�|�j��dddddd�� ||�}d|� ���}tt|�s^d }t� tt|���t�|�j��d�S�) Nzw+bZcritZemerg�errrQ���Zwarning)�criticalZ emergencyr:���Zinformationr���ZRPMLOG_ZRPMLOG_INFO)�tempfileZNamedTemporaryFile� _readpipe�openr���� _writepiperT����_tsZsetScriptFd�get�upper�hasattr�rpm�setVerbosityr���� setLogFile)r���r_���Zio_rr���r���r���r^�������s"������ z"RPMTransaction._setupOutputLoggingc�����������������C���s8���t��t�j��t��tj��z|�j����W�n���Y�n0�d�S�r$���)rm���rn���Z RPMLOG_NOTICEro���rG���rH���rh����closer%���r���r���r����_shutdownOutputLogging����s����z%RPMTransaction._shutdownOutputLoggingc�����������������C���sD���z,|�j��|�j������|�j����}|s(W�d�S�|W�S��ty>���Y�n0�d�S�r$���)rf����seek�tell�read�IOError)r����outr���r���r���� _scriptOutput����s���� zRPMTransaction._scriptOutputc�����������������c���s(���|�����}|r$|���D�]}t|�V��qd�S�r$���)rw���� splitlinesr���)r����messages�liner���r���r���ry�������s����zRPMTransaction.messagesc�����������������C���s0���|�����}|�jD�]}|�|��q|�jj�|��d�S�r$���)rw���rS���r7���rT����historyZlog_scriptlet_output)r���r6����displayr���r���r���� _scriptout����s���� zRPMTransaction._scriptoutc�����������������C���s���|������d�S�r$���)rq���r%���r���r���r����__del__����s����zRPMTransaction.__del__c�����������������C���s����t�|d�r|}|gS�|�j|�j�}tj�|�}|�jrJt|�jd��|krJ|�jS�g�}|�jj D�]&}|j tvrfqVt|�|krV|�|��qV|r�||�_|S�t d|���dS�)z3Obtain the package related to the calling callback.r=���r���z%TransactionItem not found for key: %sN)rl���r`���ra���r���rF���Z _te_nevrarb����strrT���r<���r3����RPM_ACTIONS_SET�append�RuntimeError)r���ZcbkeyZtsi�teZte_nevra�itemsr���r���r����_extract_cbkey����s$���� zRPMTransaction._extract_cbkeyc����������� ������C���s����z�t�|t�rt|�}|tjkr.|��|���nx|tjkr<�nj|tjkrV|��||���nP|tj krp|�� ||���n6|tjkr�|��|�W�S�|tj kr�|��|���n|tjkr�|��|��n�|tjkr�|��|��n�|tjkr�|��|||��n�|tjkr�|��|��n�|tjk�r|��|��n�|tjk�r.|��|||��nx|tjk�rF|��|��n`|tjk�r^|��|��nH|tjk�rz|�� |||��n,|tj!k�r�|��"|��n|tj#k�r�|��$���W�n@�t%�y����t&�'��\}}}t(�)|||�} t*�+d�,| ���Y�n0�d�S�)N��)-� isinstancer���r���rm���ZRPMCALLBACK_TRANS_START�_transStartZRPMCALLBACK_TRANS_STOPZRPMCALLBACK_TRANS_PROGRESS�_trans_progressZRPMCALLBACK_ELEM_PROGRESS� _elemProgressZRPMCALLBACK_INST_OPEN_FILE� _instOpenFileZRPMCALLBACK_INST_CLOSE_FILE�_instCloseFileZRPMCALLBACK_INST_START�_inst_startZRPMCALLBACK_INST_STOP� _inst_stopZRPMCALLBACK_INST_PROGRESS� _instProgressZRPMCALLBACK_UNINST_START� _uninst_startZRPMCALLBACK_UNINST_STOP�_unInstStopZRPMCALLBACK_UNINST_PROGRESS�_uninst_progressZRPMCALLBACK_CPIO_ERROR� _cpioErrorZRPMCALLBACK_UNPACK_ERROR�_unpackErrorZRPMCALLBACK_SCRIPT_ERROR�_scriptErrorZRPMCALLBACK_SCRIPT_START� _script_startZRPMCALLBACK_SCRIPT_STOP�_scriptStop� ExceptionrG����exc_info� traceback�format_exception�loggerrd����join) r���Zwhat�amountr?����keyZclient_data�exc_type� exc_value� exc_tracebackZexcept_listr���r���r���r�����sR���� zRPMTransaction.callbackc�����������������C���s(���||�_�|�jrd�S�d|�_t|�jj�|�_d�S�)NT)rX���rU���rV����listrT���ri���r`���)r���r?���r���r���r���r����<��s���� zRPMTransaction._transStartc�������������� ���C���s0���t�jj}|�jD�]}|�d||d�|dd��qd�S�)Nr��������)r���r<���r/���rS���r4���)r���r����r?���r3���r|���r���r���r���r����B��s���� zRPMTransaction._trans_progressc�����������������C���sL���||�_�|��jd7��_|�jsH|��|�}|�jD�]}|�|d�j|d�j��q*d�S�)Nr����r���)ra���rZ���rU���r����rS���r;���r=���r3���)r���r�����index�transaction_listr|���r���r���r���r����G��s���� zRPMTransaction._elemProgressc�������������� ���C���s����d�|�_�|��|�}|d�j}|���}zt|�|�_W�nB�tyr�}�z*|�jD�]}|�d||f���qFW�Y�d�}~n6d�}~0�0�|�j r�|��j d7��_ |�j�|j ��|�j���S�d�S�)Nr���zError: Cannot open file %s: %sr����)Zlastmsgr����r=���ZlocalPkgrg���rW���ru���rS���r:���rV���rY���r\����addr����fileno)r���r����r����r=���Zrpmloc�er|���r���r���r���r����O��s���� *zRPMTransaction._instOpenFilec�����������������C���s���|�j�����d�|�_�d�S�r$���)rW���rp����r���r����r���r���r���r����_��s���� zRPMTransaction._instCloseFilec�����������������C���s���d�S�r$���r���r����r���r���r���r����c��s����zRPMTransaction._inst_startc�������������� ���C���sP���|�j�s|�jsd�S�|�����|�j|�jkrLtjj}|�jD�]}|� d�|d�d�d�d���q2d�S�r$���) rU���rV���r}���rZ���rX���r���r<���r1���rS���r4���)r���r����r3���r|���r���r���r���r����f��s���� zRPMTransaction._inst_stopc�������������� ���C���sF���|���|�}|d�j}|d�j}|�jD�]}|�|||||�j|�j��q$d�S��Nr����r����r=���r3���rS���r4���rZ���rX����r���r����r?���r����r����r=���r3���r|���r���r���r���r����r��s ���� zRPMTransaction._instProgressc�����������������C���s���|��j�d7��_�d�S�)Nr����)r]���r����r���r���r���r����y��s����zRPMTransaction._uninst_startc�������������� ���C���sF���|���|�}|d�j}|d�j}|�jD�]}|�|||||�j|�j��q$d�S�r����r����r����r���r���r���r����|��s ���� zRPMTransaction._uninst_progressc�����������������C���s���|�j�r d�S�|�����d�S�r$���)rU���r}���r����r���r���r���r�������s����zRPMTransaction._unInstStopc�����������������C���s2���|���|�}d|d�j�}|�jD�]}|�|��qd�S�)Nz'Error in cpio payload of rpm package %sr����r����r=���rS���r:����r���r����r����r���r|���r���r���r���r�������s���� zRPMTransaction._cpioErrorc�����������������C���s2���|���|�}d|d�j�}|�jD�]}|�|��qd�S�)NzError unpacking rpm package %sr���r����r����r���r���r���r�������s���� zRPMTransaction._unpackErrorc����������� ������C���sJ���t�j�|d�}|��|�}|d�jj}d||f�}|�jD�]}|�|��q6d�S�)Nz <unknown>r���z'Error in %s scriptlet in rpm package %s)rm���Ztagnamesrj���r����r=���r���rS���r:���) r���r����r?���r����Zscriptlet_namer����r���r���r|���r���r���r���r�������s���� zRPMTransaction._scriptErrorc�������������� ���C���s����t�jj}|d�u�r |�jg�kr d}n|��|�}|d�j}|�jdkrN|�jdkrN|�jnd}|�jdkrl|�jdkrl|�jnd}|�jD�]}|� ||dd||��qvd�S�)N�Noner���r����r���) r���r<���r0���r`���r����r=���rX���rZ���rS���r4���)r���r����r3���r=���r����Zcompleter?���r|���r���r���r���r�������s���� � zRPMTransaction._script_startc�����������������C���s���|������d�S�r$���)r}���r%���r���r���r���r�������s����zRPMTransaction._scriptStopc�����������������C���s���|�j�D�]}|�|||��qd�S�r$���)rS���r@���)r���r=���r>���r?���r|���r���r���r���r@������s���� z!RPMTransaction.verify_tsi_packageN)Fr���)rQ���)r���rA���rB���r&���r^���rq���rw���ry���r}���r~���r����r���r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r@���r���r���r���r���rR�������s4��� . rR���)1Z __future__r���r���r���Zlibdnf.transactionZlibdnfZdnf.i18nr���r���Zdnf.callbackr���Zdnf.transactionZdnf.utilrm����osrM���rG���re���r����r���Z TS_UPDATEZ TS_INSTALLZTS_ERASEZTS_OBSOLETEDZ TS_OBSOLETINGZTS_AVAILABLEZ TS_UPDATEDZ TS_FAILEDZTS_INSTALL_STATESZTS_REMOVE_STATESr<���ZTransactionItemAction_INSTALLZTransactionItemAction_DOWNGRADEZ TransactionItemAction_DOWNGRADEDZTransactionItemAction_OBSOLETEZTransactionItemAction_OBSOLETEDZTransactionItemAction_UPGRADEZTransactionItemAction_UPGRADEDZTransactionItemAction_REMOVEZ!TransactionItemAction_REINSTALLEDr����rN���r����r"����objectr#���rC���rL���rR���r���r���r���r����<module>���sN��� � <