File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/apkpkg.cpython-310.pyc
o
�N�g�? � @ s� d Z ddlZddlZddlZddlZddlmZ e�e �Z
dZdd� Zdd� Z
d d
� Zdd� Zd#dd�Zdd� Zd$dd�Zd%dd�Z
d&dd�Zd'dd�Zd(dd�Zdd� Zdd � Zd!d"� ZdS ))a0
Support for apk
.. important::
If you feel that Salt should be using this module to manage packages on a
minion, and it is using a different module (or gives an error similar to
*'pkg.install' is not available*), see :ref:`here
<module-provider-override>`.
.. versionadded:: 2017.7.0
� N)�CommandExecutionError�pkgc C s t �dd�dkr
tS dS )zH
Confirm this module is running on an Alpine Linux distribution
Z os_familyFZAlpine)Fz3Module apk only works on Alpine Linux based systems)Z
__grains__�get�__virtualname__� r r �G/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/apkpkg.py�__virtual__ s r c O s t d | i |��S )aY
Returns a string representing the package version or an empty string if not
installed. If more than one package name is specified, a dict of
name/version pairs is returned.
CLI Example:
.. code-block:: bash
salt '*' pkg.version <package name>
salt '*' pkg.version <package1> <package2> <package3> ...
zpkg_resource.version)�__salt__)�names�kwargsr r r �versionB s
r c K s\ i }ddg}t d |ddd�}|d dkrg }d }n|d
g}d}|r,td||d�d
��|S )z�
Updates the package list
- ``True``: Database updated successfully
- ``False``: Problem updating database
CLI Example:
.. code-block:: bash
salt '*' pkg.refresh_db
�apk�update�cmd.run_all�traceF��output_loglevel�python_shell�retcoder T�stdout�)Problem encountered installing package(s)��errors�changes��info)r r )r �ret�cmd�callr r r r �
refresh_dbR s
�r c C s* | rt d S t�t d �}td |� |S )z'
Use pkg list from __context__
�
pkg.list_pkgs�pkg_resource.stringify)�__context__�copy�deepcopyr )�versions_as_listr r r r �_list_pkgs_from_contextr s
r&