MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: w3com (1005)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //lib/python3.12/site-packages/dnf/__pycache__/drpm.cpython-312.pyc
�

�(f�����ddlmZddlmZddlmZddlmZddlmZddl	Z
ddlZ
ddlZ
ddl
Z
ddlZddlZddlZdZej&d�ZGd	�d
e
j*j,�ZGd�de�Zy)
�)�absolute_import)�unicode_literals)�hexlify)�unlink_f)�_Nz/usr/bin/applydeltarpm�dnfc�Z��eZdZ�fd�Zd�Z�fd�Zd�Zed��Zed��Z	d�Z
�xZS)�DeltaPayloadc�J��tt|�||�||_||_y�N)�superr
�__init__�
delta_info�delta)�selfrr�pkg�progress�	__class__s     ��-/usr/lib/python3.12/site-packages/dnf/drpm.pyrzDeltaPayload.__init__)s"���
�l�D�*�3��9�$�����
�c�h�tjj|jj�Sr)�os�path�basenamer�location�rs r�__str__zDeltaPayload.__str__.s!���w�w����
�
� 3� 3�4�4rc���tt|�|||�|tjj
jk7r|jj|�yyr)	r
r
�_end_cb�libdnf�repo�PackageTargetCB�TransferStatus_ERRORr�enqueue)r�cbdata�	lr_status�msgrs    �rrzDeltaPayload._end_cb1sF���
�l�D�)�&�)�S�A�����3�3�H�H�H��O�O�#�#�D�)�Irc��|j}|j\}}tj|�}t	|�j�}tjjj|�}|tjjjk(rtjtd�|�|j|||j|j d�S)Nzunsupported checksum type: %s)�relative_url�
checksum_type�checksum�expectedsize�base_url)r�chksum�hawkey�chksum_namer�decoder r!�
PackageTarget�checksumType�ChecksumType_UNKNOWN�logger�warningrr�downloadsize�baseurl)rr�ctype�csumr.�
ctype_codes      r�_target_paramszDeltaPayload._target_params6s����
�
���l�l���t��"�"�5�)�����%�%�'���[�[�.�.�;�;�E�B�
�����2�2�G�G�G��N�N�1�<�=�u�E�#�^�^�(��"�/�/����
�	
rc�.�|jjSr)rr7rs r�
download_sizezDeltaPayload.download_sizeHs���z�z�&�&�&rc�.�|jjSr)rr7rs r�
_full_sizezDeltaPayload._full_sizeLs���x�x�$�$�$rc���|jj}tjj	|j
jjtjj|��Sr)	rrrr�joinrr!�pkgdirr)rrs  r�localPkgzDeltaPayload.localPkgPsC���:�:�&�&���w�w�|�|�D�H�H�M�M�0�0�"�'�'�2B�2B�8�2L�M�Mr)�__name__�
__module__�__qualname__rrrr<�propertyr>r@rD�
__classcell__)rs@rr
r
(sE����
5�*�

�$�'��'��%��%�Nrr
c�2�eZdZdd�Zd�Zd�Zd�Zd�Zd�Zy)	�	DeltaInfoNc��d|_tjttj�rd|_	tj
d�|_|�.tjj�j|_n||_||_
||_g|_i|_i|_y#ttf$r
d|_Y�swxYw)z�A delta lookup and rebuild context
           query -- installed packages to use when looking up deltas
           progress -- progress obj to display finished delta rebuilds
        FT�SC_NPROCESSORS_ONLN�N)�deltarpm_installedr�access�
APPLYDELTA�X_OK�sysconf�
deltarpm_jobs�	TypeError�
ValueErrorr�conf�Conf�deltarpm_percentage�queryr�queue�jobs�err)rrZrrYs    rrzDeltaInfo.__init__Vs���
#(���
�9�9�Z����)�&*�D�#�	#�!#���,A�!B�D���&�'*�x�x�}�}��'J�'J�D�$�':�D�$���
� ��
���
���	������:�&�	#�!"�D��	#�s�B-�-C�Cc�"�|jsy|jjr|jsy|j	�ryt
jj|j��ry|j|jzdz}d}|jj|j|j��D]>}|j|j�}|s�!|j |ks�1|j }|}�@|rt#||||�Sy)z&Turn a po to Delta RPM po, if possibleN�d)�name�arch)rOr!�deltarpmrY�
_is_local_pkgrr�existsrD�_sizerZ�filterr`ra�get_delta_from_evr�evrr7r
)r�por�best�
best_delta�ipors       r�
delta_factoryzDeltaInfo.delta_factoryms����&�&���w�w���t�'?�'?��
�����
�7�7�>�>�"�+�+�-�(���x�x�$�2�2�2�S�8���
��:�:�$�$�"�'�'����$�@�C��)�)�#�'�'�2�E���+�+�d�2��)�)��"�
�	A�
���j�"�h�?�?�rc�n�tjtjjd||dz	|dz�|j
j
|�}|j}|dk7r=t|jj��td�g|j|<y|jj�std�g|j|<ytj|j��|jj!|tj"j$td��y)Nzdrpm: %d: return code: %d, %d��rzDelta RPM rebuild failedz(Checksum of the delta-rebuilt RPM failed�done)r5�logr�logging�SUBDEBUGr\�poprrrDrr]�verifyLocalPkgr�unlinkr�end�callback�STATUS_DRPM)r�pid�code�ploadrs     r�job_donezDeltaInfo.job_done�s����
�
�3�;�;�'�'�)H�#��1�9�d�T�k�	+��	�	�
�
�c�"���i�i���1�9��U�Y�Y�'�'�)�*��9�:�;�D�H�H�S�M����)�)�+��I�J�K�D�H�H�S�M��I�I�e�n�n�&�'��M�M���e�S�\�\�%=�%=�q��y�Irc
��ttd|jj|j�|jj�g}t	j
tjg|���}tjtjjd|dj|dd��||j|<y)Nz-azdrpm: spawned %d: %s� �)rQrrarDr�spawnl�P_NOWAITr5rrrrsrtrBr\)rr}�
spawn_argsr{s    r�	start_jobzDeltaInfo.start_job�s��� �*��E�I�I�N�N��n�n�&��	�	�(:�(:�(<�>�
��i�i����1�j�1���
�
�3�;�;�'�'�)?���8�8�J�q�r�N�+�	-���	�	�#�rc���|jrItjdtj�\}}|sn|j	||�|jr�I|j
j
|�t|j�|jkr[|j|j
jd��|j
syt|j�|jkr�Zyy)N���r)r\r�waitpid�WNOHANGr~r[�append�lenrTr�ru)rr}r{r|s    rr$zDeltaInfo.enqueue�s����i�i��
�
�2�r�z�z�2�I�C�����M�M�#�t�$�	�i�i�
	
�
�
���%� ��$�)�)�n�t�1�1�1��N�N�4�:�:�>�>�!�,�-��:�:���$�)�)�n�t�1�1�1rc��|jrmtj�\}}|j||�|jr*|j|jj
d��|jr�lyy)z!Wait until all jobs have finishedrN)r\r�waitr~r[r�ru)rr{r|s   rr�zDeltaInfo.wait�sO���i�i����	�I�C���M�M�#�t�$��z�z����t�z�z�~�~�a�0�1�	�i�irr)	rErFrGrrmr~r�r$r��rrrKrKUs!���.�4J� ��2rrK)�
__future__rr�binasciir�dnf.yum.miscr�dnf.i18nr�dnf.callbackr�dnf.logging�dnf.repor/rs�libdnf.repor rrQ�	getLoggerr5r!�PackagePayloadr
�objectrKr�rr�<module>r�si��*'�'��!�����
���	�
%�
�	��	�	�5�	!��*N�3�8�8�*�*�*N�Z_2��_2r