HEX
Server: Apache
System: Linux nc-ph-4101.simplemoneygoals.com 5.14.0-503.21.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Jan 12 09:45:05 EST 2025 x86_64
User: dailygoldindex (1004)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/tuned/plugins/__pycache__/plugin_service.cpython-39.opt-1.pyc
a

,�g�)�@s�ddlmZddlZddlmZddlTddlZddlZddlZ	ddl
mZe	j�
�Ze�ZGdd�d�ZGdd	�d	�ZGd
d�de�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�dej�ZdS)�)�base�N)�*)�commandsc@seZdZddd�ZdS)�ServiceNcCs||_||_||_||_dS�N)�enable�start�cfg_file�runlevel)�selfr	rr
r�r
�@/usr/lib/python3.9/site-packages/tuned/plugins/plugin_service.py�__init__szService.__init__)NNNN)�__name__�
__module__�__qualname__rr
r
r
rr
src@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�InitHandlercCs(t�dg�\}}|dkr$|��dSdS)Nrr���)�cmd�execute�split�r�retcode�outr
r
r�runlevel_getszInitHandler.runlevel_getcCst�ddg�dS)NZtelinit�q�rr�rr
r
r�
daemon_reloadszInitHandler.daemon_reloadcCsdSrr
�r�namer
r
r
r�cfg_installszInitHandler.cfg_installcCsdSrr
r r
r
r�
cfg_uninstallszInitHandler.cfg_uninstallcCsdSrr
r r
r
r�
cfg_verify"szInitHandler.cfg_verifyN)rrrrrr"r#r$r
r
r
rrs
rc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�SysVBasicHandlercCst�d|dg�dS)N�servicer	r�rr!r
r
rr	'szSysVBasicHandler.startcCst�d|dg�dS)Nr&�stoprr'r
r
rr(*szSysVBasicHandler.stopcCs
t��dSr��NotImplementedError�rr!rr
r
rr-szSysVBasicHandler.enablecCs
t��dSrr)r+r
r
r�disable0szSysVBasicHandler.disablecCs"tjd|dgdgd�\}}|dkS)Nr&�statusr�Z	no_errorsr�rr!rrr
r
r�
is_running3szSysVBasicHandler.is_runningcCs
t��dSrr)r+r
r
r�
is_enabled7szSysVBasicHandler.is_enabledN)	rrrr	r(rr,r0r1r
r
r
rr%&sr%c@s$eZdZdd�Zdd�Zdd�ZdS)�SysVHandlercCst�dd||dg�dS)N�	chkconfig�--level�onrr+r
r
rr;szSysVHandler.enablecCst�dd||dg�dS)Nr3r4�offrr+r
r
rr,>szSysVHandler.disablecCsBt�dd|g�\}}|dkr>|�dt|��ddd�dkSdS)Nr3�--listr�%s:r�r5�rrr�str�rr!rrrr
r
rr1AszSysVHandler.is_enabledN�rrrrr,r1r
r
r
rr2:sr2c@s$eZdZdd�Zdd�Zdd�ZdS)�
SysVRCHandlercCst�dd||dg�dS)N�sysv-rc-confr4r5rr+r
r
rrFszSysVRCHandler.enablecCst�dd||dg�dS)Nr?r4r6rr+r
r
rr,IszSysVRCHandler.disablecCsBt�dd|g�\}}|dkr>|�dt|��ddd�dkSdS)Nr?r7rr8rr9r5r:r<r
r
rr1LszSysVRCHandler.is_enabledNr=r
r
r
rr>Esr>c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�
OpenRCHandlercCs&t�ddg�\}}|dkr"|��SdS)Nz	rc-statusz-rr�rr�striprr
r
rrQszOpenRCHandler.runlevel_getcCst�d|dg�dS)N�
rc-servicer	rr'r
r
rr	UszOpenRCHandler.startcCst�d|dg�dS)NrCr(rr'r
r
rr(XszOpenRCHandler.stopcCst�dd||g�dS)N�	rc-update�addrr+r
r
rr[szOpenRCHandler.enablecCst�dd||g�dS)NrD�delrr+r
r
rr,^szOpenRCHandler.disablecCs"tjd|dgdgd�\}}|dkS)NrCr-rr.rr/r
r
rr0aszOpenRCHandler.is_runningcCs2t�dd|g�\}}tt�dt�|�d|��S)NrDZshowz\b)rr�bool�re�search�escaper<r
r
rr1eszOpenRCHandler.is_enabledN)
rrrrr	r(rr,r0r1r
r
r
rr@Psr@c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�SystemdHandlercCsdS)N�r
rr
r
rrkszSystemdHandler.runlevel_getcCst�dd|g�dS)N�	systemctlZrestartrr'r
r
rr	nszSystemdHandler.startcCst�dd|g�dS)NrMr(rr'r
r
rr(qszSystemdHandler.stopcCst�dd|g�dS)NrMrrr+r
r
rrtszSystemdHandler.enablecCst�dd|g�dS)NrMr,rr+r
r
rr,wszSystemdHandler.disablecCs"tjdd|gdgd�\}}|dkS)NrMz	is-activerr.rr/r
r
rr0zszSystemdHandler.is_runningcCs>tjdd|gdgd�\}}|��}|dkr.dS|dkr:dSdS)	NrMz
is-enabledrr.ZenabledTZdisabledFrA)rr!rrrr-r
r
rr1~szSystemdHandler.is_enabledc
Cs�t�d||f�tj�|�s0t�d|�dStj|}ztj|tj	dd�Wn8t
y�}z t�d||f�WYd}~dSd}~00t�||�|�
�dS)NzCinstalling service configuration overlay file '%s' for service '%s'z)Unable to find service configuration '%s'T)�exist_okz#Unable to create directory '%s': %s)�log�info�os�path�exists�error�consts�SERVICE_SYSTEMD_CFG_PATH�makedirsZDEF_SERVICE_CFG_DIR_MODE�OSErrorr�copyr)rr!r
�dirpath�er
r
rr"�s
zSystemdHandler.cfg_installc	Cslt�d||f�tj|}d|tj�|�f}t�|�|�	�zt�
|�WnttfyfYn0dS)NzEuninstalling service configuration overlay file '%s' for service '%s'�%s/%s)
rOrPrUrVrQrR�basenamer�unlinkr�rmdir�FileNotFoundErrorrX)rr!r
rZrRr
r
rr#�s

zSystemdHandler.cfg_uninstallcCs�|durdSdtj|tj�|�f}tj�|�sHt�d||f�dStj�|�sjt�d||f�dSt�	|�}t�	|�}||kS)Nr\z.Unable to find service '%s' configuration '%s'Fz0Service '%s' configuration not installed in '%s')
rUrVrQrRr]rSrOrTrZ	sha256sum)rr!r
rRZ
sha256sum1Z
sha256sum2r
r
rr$�s

zSystemdHandler.cfg_verifyN)
rrrrr	r(rr,r0r1r"r#r$r
r
r
rrKisrKcsneZdZdZ�fdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Ze
jfdd�Z�ZS)�
ServicePlugina
	Plug-in for handling sysvinit, sysv-rc, openrc and systemd services.

	The syntax is as follows:

	[subs="quotes"]
	----
	[service]
	service.__service_name__=__commands__[,file:__file__]
	----

	Supported service-handling `_commands_` are `start`, `stop`, `enable`
	and `disable`. The optional `file:__file__` directive installs an overlay
	configuration file `__file__`. Multiple commands must be comma (`,`)
	or semicolon (`;`) separated. If the directives conflict, the last
	one is used.

	The service plugin supports configuration overlays only for systemd.
	In other init systems, this directive is ignored. The configuration
	overlay files are copied to `/etc/systemd/system/__service_name__.service.d/`
	directories. Upon profile unloading, the directory is removed if it is empty.

	With systemd, the `start` command is implemented by `restart` in order
	to allow loading of the service configuration file overlay.

	NOTE: With non-systemd init systems, the plug-in operates on the
	current runlevel only.

	.Start and enable the `sendmail` service with an overlay file
	====
	----
	[service]
	service.sendmail=start,enable,file:${i:PROFILE_DIR}/tuned-sendmail.conf
	----
	The internal variable `${i:PROFILE_DIR}` points to the directory
	from which the profile is loaded.
	====
	cs*tt|�j|i|��d|_|��|_dS)NT)�superrarZ_has_dynamic_options�_detect_init_system�
_init_handler)r�args�kwargs��	__class__r
rr�szServicePlugin.__init__cCstj|dgd�\}}|dkS)Nrr.r)rZcommandrrr
r
r�
_check_cmd�szServicePlugin._check_cmdcCs�|�ddg�rt�d�t�S|�dg�r:t�d�t�S|�ddg�rXt�d�t�S|�d	dg�rvt�d
�t�St�d��dS)NrMr-zdetected systemdr3zdetected generic sysvinitzupdate-rc.dz-hzdetected sysv-rcrDzdetected openrcz8Unable to detect your init system, disabling the plugin.)	rirO�debugrKr2r>r@�
exceptionsZNotSupportedPluginExceptionrr
r
rrc�s



z!ServicePlugin._detect_init_systemcCs�t�d|�}t�}|D]v}|dkr*d|_q|dkr:d|_q|dkrJd|_q|dkrZd|_q|dd�d	krz|dd�|_qt�d
||f�q|S)Nz
\s*[,;]\s*rTr,Fr	r(�zfile:z*service '%s': invalid service option: '%s')rHrrrr	r
rOrT)rr!�val�lr&�ir
r
r�_parse_service_options�sz$ServicePlugin._parse_service_optionscs6d|_d|_t��fdd�|j��D���_i|_dS)NFTc	sTg|]L\}}|dd�dkrt|�dkr|dd���|dd��j�|��f�qS)N�zservice.)�lenrpZ
_variables�expand)�.0�option�valuerr
r�
<listcomp>s
�
�z0ServicePlugin._instance_init.<locals>.<listcomp>)Z_has_dynamic_tuningZ_has_static_tuning�collections�OrderedDict�options�items�	_services�_services_original�r�instancer
rr�_instance_init�s�
zServicePlugin._instance_initcCsdSrr
r~r
r
r�_instance_cleanupszServicePlugin._instance_cleanupcCsT|r|j�|�n|dur&|j�|�|r:|j�||�n|durP|j�||�dSr)rdr	r(rr,)rr!r	rrr
r
r�_process_service
szServicePlugin._process_servicecCs�|j��}|dur t�d�dS|j��D]�}|j�|d|�}|j�|d�}t|||dj	|�|j
|d<|dj	r�|j�|d|dj	�|�|d|dj
|dj|�q*dS)NzCannot detect runlevelrr)rdrrOrTr|r{r1r0rr
r}r"r�r	r)rrrr&r1r0r
r
r�_instance_apply_statics


z$ServicePlugin._instance_apply_staticc
CsB|j��}|dur&t�tjd�dSd}|j��D�]}|j�|d|dj	�}|rzt�
tjd|d|dj	f�nR|dur�t�tjd|d|dj	f�d}n"t�
tjd|d|dj	f�|j�
|d|�}|j�|d�}	|�d	|d|dj|	|�du�rd}|�d
|d|dj||�dur4d}q4|S)Nzcannot detect runlevelFTrrz'service '%s' configuration '%s' matchesz'service '%s' configuration '%s' differszservice '%s' configuration '%s'z
%s runningz
%s enabled)rdrrOrTrUZSTR_VERIFY_PROFILE_FAILr|r{r$r
rPZSTR_VERIFY_PROFILE_OKZ STR_VERIFY_PROFILE_VALUE_MISSINGr1r0Z
_verify_valuer	r)
rrZignore_missingZdevicesr�retr&Zret_cfg_verifyr1r0r
r
r�_instance_verify_static"s(
$""$"z%ServicePlugin._instance_verify_staticcCsHt|j���D]4\}}|jr,|j�||j�|�||j|j|j	�qdSr)
�listr}r{r
rdr#r�r	rr)rrZrollbackr!rvr
r
r�_instance_unapply_static:sz&ServicePlugin._instance_unapply_static)rrr�__doc__rrircrpr�r�r�r�r�rUZ
ROLLBACK_SOFTr��
__classcell__r
r
rgrra�s'	
ra)rLrrxZtuned.constsrUZ
decoratorsrQrHZ
tuned.logsZtunedZtuned.utils.commandsrZlogs�getrOrrrr%r2r>r@rKZPluginrar
r
r
r�<module>s"
B