Edit File: rpmtrans.cpython-36.pyc
3 �ft`�>��������������� ���@���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(ej)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���/usr/lib/python3.6/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���r/���r0���r���r���r����filelog~���s����zTransactionDisplay.filelogc�������������C���s���|�j�|tjjdd||��d�S�)Nr���)r1���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,���r-���r.���r1���r3���r5���r6���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|��j|��tjjd|tj��d�S�)N�print)�superr>���r5���r����utilZ_terminal_messenger�sys�stderr)r���r4���)r���r���r���r5�������s����zErrorTransactionDisplay.error)r���r<���r=����__doc__r5���� __classcell__r���r���)r���r���r>�������s���r>���c�������������������s8���e�Zd�ZdZ��fdd�Zdd��Zdd��Zdd ��Z���ZS�) �LoggingTransactionDisplayz@ Base class for a RPMTransaction display callback class c����������������s���t�t|��j���tjd�|�_d�S�)Nzdnf.rpm)r@���rF���r#����logging� getLogger� rpm_logger)r���)r���r���r���r#�������s����z"LoggingTransactionDisplay.__init__c�������������C���s���|�j�j|��d�S�)N)rI���r5���)r���r4���r���r���r���r5�������s����zLoggingTransactionDisplay.errorc�������������C���s.���t�jj|�}d||f�}|�jjt�jj|��d�S�)Nz%s: %s)r���r7���ZFILE_ACTIONSrI����logrG���ZSUBDEBUG)r���r/���r0���Z action_strr���r���r���r���r6�������s����z!LoggingTransactionDisplay.filelogc�������������C���s���|r|�j�jt|���d�S�)N)rI����infor���)r���r2���r���r���r���r3�������s����z#LoggingTransactionDisplay.scriptout) r���r<���r=���rD���r#���r5���r6���r3���rE���r���r���)r���r���rF�������s ���rF���c���������������@���s����e�Zd�Zdf�fdd�Zd8dd�Zdd��Zd d ��Zdd��Zd d��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��Zd/d0��Zd1d2��Zd3d4��Zd5d6��Zd7S�)9�RPMTransactionFc�������������C���sn���|st���g}||�_||�_||�_d|�_d�|�_d|�_d|�_d|�_t ��|�_ d|�_|�j|j j��g�|�_d|�_d�|�_d�S�)NFr���)r>����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���rN���rO���rM���r���r���r���r#�������s ����zRPMTransaction.__init__rK���c�������������C���s~���t�j��}||�_t|jd�|�_|�jjj|�j��dddddd�j ||�}d|j ���}tt|�s^d }tj tt|���tj|�j��d�S�) Nzw+bZcritZemerg�errrK���Zwarning)�criticalZ emergencyr5���Zinformationr���ZRPMLOG_ZRPMLOG_INFO)�tempfileZNamedTemporaryFile� _readpipe�openr���� _writepiperN����_tsZsetScriptFd�get�upper�hasattr�rpm�setVerbosityr���� setLogFile)r���rY���Zio_rr���r���r���rX�������s���� z"RPMTransaction._setupOutputLoggingc���������� ���C���s8���t�jt�j��t�jtj��y|�jj���W�n���Y�nX�d�S�)N)rg���rh���Z RPMLOG_NOTICEri���rB���rC���rb����close)r���r���r���r����_shutdownOutputLogging����s����z%RPMTransaction._shutdownOutputLoggingc�������������C���sB���y(|�j�j|�j�j����|�j�j��}|s&d�S�|S��tk r<���Y�nX�d�S�)N)r`����seek�tell�read�IOError)r����outr���r���r���� _scriptOutput����s���� zRPMTransaction._scriptOutputc�������������c���s,���|�j���}|r(x|j��D�]}t|�V��qW�d�S�)N)rq���� splitlinesr���)r����messages�liner���r���r���rs�������s����zRPMTransaction.messagesc�������������C���s4���|�j���}x|�jD�]}|j|��qW�|�jjj|��d�S�)N)rq���rM���r3���rN����historyZlog_scriptlet_output)r���r2����displayr���r���r���� _scriptout����s����zRPMTransaction._scriptoutc�������������C���s���|�j����d�S�)N)rk���)r���r���r���r����__del__����s����zRPMTransaction.__del__c�������������C���s����t�|d�r|}|gS�|�j|�j�}tjj|�}|�jrJt|�jd��|krJ|�jS�g�}x2|�jj D�]&}|j tkrhqXt|�|krX|j|��qXW�|r�||�_|S�t d|���dS�)z3Obtain the package related to the calling callback.r8���r���z%TransactionItem not found for key: %sN)rf���rZ���r[���r���rA���Z _te_nevrar\����strrN���r7���r0����RPM_ACTIONS_SET�append�RuntimeError)r���ZcbkeyZtsiZteZte_nevra�itemsr���r���r����_extract_cbkey����s$���� zRPMTransaction._extract_cbkeyc������� ������C���s����y�t�|t�rt|�}|tjkr.|�j|���nv|tjkr<�nh|tjkrV|�j||���nN|tj krp|�j ||���n4|tjkr�|�j|�S�|tj kr�|�j|���n|tjkr�|�j|��n�|tjkr�|�j|��n�|tjkr�|�j|||��n�|tjkr�|�j|��n�|tjk�r|�j|��n�|tjk�r,|�j|||��nx|tjk�rD|�j|��n`|tjk�r\|�j|��nH|tjk�rx|�j |||��n,|tj!k�r�|�j"|��n|tj#k�r�|�j$���W�nB�t%k �r����t&j'��\}}}t(j)|||�} t*j+dj,| ���Y�nX�d�S�)N��)-� isinstancery���r���rg���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� ExceptionrB����exc_info� traceback�format_exception�loggerr^����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)rR���rO���rP����listrN���rc���rZ���)r���r:���r���r���r���r����<��s �����zRPMTransaction._transStartc�������������C���s4���t�jj}x&|�jD�]}|jd||d�|dd��qW�d�S�)Nr�������)r���r7���r,���rM���r1���)r���r����r:���r0���rv���r���r���r���r����B��s����zRPMTransaction._trans_progressc�������������C���sP���||�_�|��jd7��_|�jsL|�j|�}x&|�jD�]}|j|d�j|d�j��q,W�d�S�)Nr����r���)r[���rT���rO���r~���rM���r6���r8���r0���)r���r�����index�transaction_listrv���r���r���r���r����G��s���� zRPMTransaction._elemProgressc�������������C���s����d�|�_�|�j|�}|d�j}|j��}yt|�|�_W�nD�tk rt�}�z(x |�jD�]}|jd||f���qJW�W�Y�d�d�}~X�n.X�|�j r�|��j d7��_ |�jj|j ��|�jj��S�d�S�)Nr���zError: Cannot open file %s: %sr����)Zlastmsgr~���r8���ZlocalPkgra���rQ���ro���rM���r5���rP���rS���rV����addr����fileno)r���r����r����r8���Zrpmloc�erv���r���r���r���r����O��s���� (zRPMTransaction._instOpenFilec�������������C���s���|�j�j���d�|�_�d�S�)N)rQ���rj���)r���r����r���r���r���r����_��s���� zRPMTransaction._instCloseFilec�������������C���s���d�S�)Nr���)r���r����r���r���r���r����c��s����zRPMTransaction._inst_startc�������������C���sV���|�j�s|�j�rd�S�|�j���|�j|�jkrRtjj}x"|�jD�]}|j d�|d�d�d�d���q6W�d�S�)N) rO���rP���rw���rT���rR���r���r7���r.���rM���r1���)r���r����r0���rv���r���r���r���r����f��s����zRPMTransaction._inst_stopc�������������C���sJ���|�j�|�}|d�j}|d�j}x&|�jD�]}|j|||||�j|�j��q&W�d�S�)Nr���)r~���r8���r0���rM���r1���rT���rR���)r���r����r:���r����r����r8���r0���rv���r���r���r���r����r��s ���� zRPMTransaction._instProgressc�������������C���s���|��j�d7��_�d�S�)Nr����)rW���)r���r����r���r���r���r����y��s����zRPMTransaction._uninst_startc�������������C���sJ���|�j�|�}|d�j}|d�j}x&|�jD�]}|j|||||�j|�j��q&W�d�S�)Nr���)r~���r8���r0���rM���r1���rT���rR���)r���r����r:���r����r����r8���r0���rv���r���r���r���r����|��s ���� zRPMTransaction._uninst_progressc�������������C���s���|�j�r d�S�|�j���d�S�)N)rO���rw���)r���r����r���r���r���r�������s����zRPMTransaction._unInstStopc�������������C���s6���|�j�|�}d|d�j�}x|�jD�]}|j|��q W�d�S�)Nz'Error in cpio payload of rpm package %sr���)r~���r8���rM���r5���)r���r����r����r���rv���r���r���r���r�������s���� zRPMTransaction._cpioErrorc�������������C���s6���|�j�|�}d|d�j�}x|�jD�]}|j|��q W�d�S�)NzError unpacking rpm package %sr���)r~���r8���rM���r5���)r���r����r����r���rv���r���r���r���r�������s���� zRPMTransaction._unpackErrorc������� ������C���sN���t�jj|d�}|�j|�}|d�jj}d||f�}x|�jD�]}|j|��q8W�d�S�)Nz <unknown>r���z'Error in %s scriptlet in rpm package %s)rg���Ztagnamesrd���r~���r8���r���rM���r5���) r���r����r:���r����Zscriptlet_namer����r���r���rv���r���r���r���r�������s���� zRPMTransaction._scriptErrorc�������������C���s����t�jj}|d�kr |�jg�kr d}n|�j|�}|d�j}|�jdkrN|�jdkrN|�jnd}|�jdkrl|�jdkrl|�jnd}x"|�jD�]}|j ||dd||��qxW�d�S�)N�Noner���r����r���) r���r7���r-���rZ���r~���r8���rR���rT���rM���r1���)r���r����r0���r8���r����Zcompleter:���rv���r���r���r���r�������s���� zRPMTransaction._script_startc�������������C���s���|�j����d�S�)N)rw���)r���r���r���r���r�������s����zRPMTransaction._scriptStopc�������������C���s"���x|�j�D�]}|j|||��qW�d�S�)N)rM���r;���)r���r8���r9���r:���rv���r���r���r���r;������s����z!RPMTransaction.verify_tsi_packageN)rK���)r���r<���r=���r#���rX���rk���rq���rs���rw���rx���r~���r���r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r;���r���r���r���r���rL�������s4��� . rL���)1Z __future__r���r���r���Zlibdnf.transactionZlibdnfZdnf.i18nr���r���Zdnf.callbackr���Zdnf.transactionZdnf.utilrg����osrG���rB���r_���r����r���Z TS_UPDATEZ TS_INSTALLZTS_ERASEZTS_OBSOLETEDZ TS_OBSOLETINGZTS_AVAILABLEZ TS_UPDATEDZ TS_FAILEDZTS_INSTALL_STATESZTS_REMOVE_STATESr7���ZTransactionItemAction_INSTALLZTransactionItemAction_DOWNGRADEZ TransactionItemAction_DOWNGRADEDZTransactionItemAction_OBSOLETEZTransactionItemAction_OBSOLETEDZTransactionItemAction_UPGRADEZTransactionItemAction_UPGRADEDZTransactionItemAction_REMOVEZ!TransactionItemAction_REINSTALLEDrz���rH���r����r!����objectr"���r>���rF���rL���r���r���r���r����<module>���sL��� <