| Current Path : /lib/python3/dist-packages/cloudinit/__pycache__/ |
| Current File : //lib/python3/dist-packages/cloudinit/__pycache__/temp_utils.cpython-38.pyc |
U
�Ad� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ e� e
�ZdadZ
dZded�dd �Zded�d
d�Zdd
� Ze jddd��Zded�dd�Zded�dd�ZdS )� N)�log)�utilz/run/cloud-init/tmpz/var/tmp/cloud-initF)� needs_exec C s: | d k r| S |rt S trtS t�� dkr,tS tj�dd�S )Nr ZTMPDIRz/tmp)�_EXE_ROOT_TMPDIR�_TMPDIR�os�getuid�_ROOT_TMPDIR�environ�get)�odirr � r
�6/usr/lib/python3/dist-packages/cloudinit/temp_utils.py�get_tmp_ancestor s r c C s\ t | |�}tj�|�s,t�|� t�|d� |rHt�|d�rHt� d|� | dkrX|sX|a
|S )a% Return the proper 'dir' argument for tempfile functions.
When root, cloud-init will use /run/cloud-init/tmp to avoid
any cleaning that a distro boot might do on /tmp (such as
systemd-tmpfiles-clean).
If the caller of this function (mkdtemp or mkstemp) was provided
with a 'dir' argument, then that is respected.
@param odir: original 'dir' arg to 'mkdtemp' or other.
@param needs_exe: Boolean specifying whether or not exe permissions are
needed for tempdir. This is needed because /run is mounted noexec.
i� ZnoexeczDRequested temporal dir with exe permission `%s` is mounted as noexecN)r r �path�isdir�makedirs�chmodr Z
has_mount_opt�LOGZwarningr )r r �tdirr
r
r �_tempfile_dir_arg s
�r c sT t | �dd �| �dd��| d<