HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/beacons/__pycache__/pkg.cpython-310.pyc
o

�N�g�
�@s6dZddlZdZe�e�Zdd�Zdd�Zdd	�ZdS)
zT
Watch for pkgs that have upgrades, then fire an event.

.. versionadded:: 2016.3.0
�N�pkgcCs&dtvrtSd}t�dt|�d|fS)z*
    Only load if strace is installed
    zpkg.upgrade_availablez!pkg.upgrade_available is missing.zUnable to load %s beacon: %sF)�__salt__�__virtualname__�log�error)�err_msg�r�D/opt/saltstack/salt/lib/python3.10/site-packages/salt/beacons/pkg.py�__virtual__s
r
cCsNt|t�sdSd}d}|D]}d|vrd}t|dt�rd}q
|r#|s%dSdS)z+
    Validate the beacon configuration
    )Fz,Configuration for pkg beacon must be a list.F�pkgsT)Fz3Configuration for pkg beacon requires list of pkgs.)TzValid beacon configuration)�
isinstance�list)�configZ
pkgs_foundZ
pkgs_not_list�config_itemrrr	�validates
�rcCsdtvritd<g}d}g}|D]}d|vr||d7}d|vr&|dr&d}q|D]Z}|tdvr7dtd|<td|}td|dd�}|rb|}d	td|<td
||d�}	|	ra|	}dtd|<nd
td|<d}|r�td||kr�||td|d�}
|�|
�q)|S)a
    Check if installed packages are the latest versions
    and fire an event for those that have upgrades.

    .. code-block:: yaml

        beacons:
          pkg:
            - pkgs:
                - zsh
                - apache2
            - refresh: True
    z
beacon.pkgFr�refreshTNzpkg.version)Zuse_contextZ	installedzpkg.latest_version)r�upgradez
not-installed)r�version�status)�__context__r�append)r�retZ_refreshrrrrZ
_installedrZ_latestZ_pkgrrr	�beacon0sF��
�
�r)	�__doc__�loggingr�	getLogger�__name__rr
rrrrrr	�<module>s