Current File : //lib/python3.9/site-packages/mockbuild/plugins/__pycache__/pesign.cpython-39.pyc
a

��d��@sbdZddlmZmZddlZdZe�dd��Zdd�Zd	d
�Z	dd�Z
d
d�ZGdd�de�Z
dS)zQ
mock plugin to make sure pesign and mockbuild users have the right uid and
gid.
�)�getLog�traceLogNz1.1cCst|||�dS)z hello N)�Pesign)�plugins�conf�	buildroot�r�</usr/lib/python3.9/site-packages/mockbuild/plugins/pesign.py�initsr
cCs8tjjddd|fgddd�}|�d�}|d|d	fS)
z get a uid for a user name �getent�passwd�%s�T�ZreturnOutputZprintOutput�:����	mockbuild�util�do�split��name�outputrrr	�getuids
�
rcCs,tjjddd|fgddd�}|�d�dS)	z get a gid for a group name r�groupr
rTrrrrrrrr	�getgids�rc	CsBt��d||f�tj�ddd|fdd|fd|fg�dS)z create a group with a gid zcreating group %s with gid %sZgroupadd�-gr
�-RN�r�inforrr)r�gid�rootdirrrr	�newgroup#s

�r$cCsLt��d||f�tj�ddd|fdd|fdd|fd|fg�dS)z create a user with a uid zcreating user %s with uid %sZuseraddz-ur
rrNr )r�uidr"r#rrr	�newuser,s


�r&c@s,eZdZdZe�dd��Ze�dd��ZdS)rz% Creates some stuff in our mock root cCs:||_||_|j|_|j|_i|_i|_|�d|j�dS)a# Effectively we're doing:
            getent group pesign >/dev/null || groupadd -r pesign
            getent passwd pesign >/dev/null ||                     useradd -r -g pesign -d /var/run/pesign -s /sbin/nologin                     -c "Group for the pesign signing daemon" pesign
        ZpostinitN)r�pesign_optsZconfig�state�users�groupsZadd_hook�_pesignPostInitHook)�selfrrrrrr	�__init__8s	zPesign.__init__cCs�|jdD] }t|�\}}|||g|j|<q
|jdD]}t|�}||g|j|<q6|j��}|j��D]\}}t|||�qf|j��D]\}}}t	||||�q�dS)z find our uid and gid lists r)r*N)
r'rr)rr*rZmake_chroot_path�valuesr$r&)r,�userr%r"rr#rrrr	r+Is
zPesign._pesignPostInitHookN)�__name__�
__module__�__qualname__�__doc__rr-r+rrrr	r5s

r)r3Zmockbuild.trace_decoratorrrZmockbuild.utilrZrequires_api_versionr
rrr$r&�objectrrrrr	�<module>s