File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/pkgrepo.cpython-310.pyc
Back
o ;js � @ s~ d Z ddlZddlZddlZddlZddlZddlZddlZddl Zddl mZmZ ddl mZ dd� Zddd �Zd d� ZdS ) aH Management of APT/DNF/YUM/Zypper package repos ============================================== States for managing software package repositories on Linux distros. Supported package managers are APT, DNF, YUM and Zypper. Here is some example SLS: .. code-block:: yaml base: pkgrepo.managed: - humanname: CentOS-$releasever - Base - mirrorlist: http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os - comments: - 'http://mirror.centos.org/centos/$releasever/os/$basearch/' - gpgcheck: 1 - gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 .. code-block:: yaml base: pkgrepo.managed: - humanname: Logstash PPA - name: deb http://ppa.launchpad.net/wolfnet/logstash/ubuntu precise main - dist: precise - file: /etc/apt/sources.list.d/logstash.list - keyid: 28B04E4A - keyserver: keyserver.ubuntu.com - require_in: - pkg: logstash pkg.latest: - name: logstash - refresh: True .. code-block:: yaml base: pkgrepo.managed: - humanname: deb-multimedia - name: deb http://www.deb-multimedia.org stable main - file: /etc/apt/sources.list.d/deb-multimedia.list - key_url: salt://deb-multimedia/files/marillat.pub .. code-block:: yaml base: pkgrepo.managed: - humanname: Google Chrome - name: deb http://dl.google.com/linux/chrome/deb/ stable main - dist: stable - file: /etc/apt/sources.list.d/chrome-browser.list - require_in: - pkg: google-chrome-stable - gpgcheck: 1 - key_url: https://dl-ssl.google.com/linux/linux_signing_key.pub .. code-block:: yaml base: pkgrepo.managed: - ppa: wolfnet/logstash pkg.latest: - name: logstash - refresh: True .. note:: On Ubuntu systems, the ``python-software-properties`` package should be installed for better support of PPA repositories. To check if this package is installed, run ``dpkg -l python-software-properties``. On Ubuntu & Debian systems, the ``python-apt`` package is required to be installed. To check if this package is installed, run ``dpkg -l python-apt``. ``python-apt`` will need to be manually installed if it is not present. .. code-block:: yaml hello-copr: pkgrepo.managed: - copr: mymindstorm/hello pkg.installed: - name: hello apt-key deprecated ------------------ ``apt-key`` is deprecated and will be last available in Debian 11 and Ubuntu 22.04. The recommended way to manage repo keys going forward is to download the keys into /etc/apt/keyrings and use ``signed-by`` in your repo file pointing to the key. This module was updated in version 3005 to implement the recommended approach. You need to add ``- aptkey: False`` to your state and set ``signed-by`` in your repo name, to use this recommended approach. If the cli command ``apt-key`` is not available it will automatically set ``aptkey`` to False. Using ``aptkey: False`` with ``key_url`` example: .. code-block:: yaml deb [signed-by=/etc/apt/keyrings/salt-archive-keyring.gpg arch=amd64] https://packages.broadcom.com/artifactory/saltproject-deb/ bionic main: pkgrepo.managed: - file: /etc/apt/sources.list.d/salt.list - key_url: https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public - aptkey: False Using ``aptkey: False`` with ``keyserver`` and ``keyid``: .. code-block:: yaml deb [signed-by=/etc/apt/keyrings/salt-archive-keyring.gpg arch=amd64] https://packages.broadcom.com/artifactory/saltproject-deb/ bionic main: pkgrepo.managed: - file: /etc/apt/sources.list.d/salt.list - keyserver: keyserver.ubuntu.com - keyid: 0E08A149DE57BFBE - aptkey: False � N)�CommandExecutionError�SaltInvocationError)�STATE_INTERNAL_KEYWORDSc C s dt v S )zI Only load if modifying repos is available for this package type �pkg.mod_repo)�__salt__� r r �G/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/pkgrepo.py�__virtual__� s r Tc s� t jj�d�s d}� i ddd�}dtvrd|d<