File: //etc/leapp/repos.d/system_upgrade/common/libraries/gpg.pyo
�
��ic @ s� d d l Z d d l m Z d d l m Z m Z d d l m Z m Z d d l m
Z
d Z d � Z d � Z
d � Z d
� Z d � Z d � Z d S(
i����N( t config( t get_source_major_versiont get_target_major_version( t apit run( t GpgKeys rpm-gpgc C s; g | j D]- } | j d k r
t d | j d t � ^ q
S( s�
Return the list of fingerprints of GPG keys in RPM DB
This function returns short 8 characters fingerprints of trusted GPG keys
"installed" in the source OS RPM database. These look like normal packages
named "gpg-pubkey" and the fingerprint is present in the version field.
:param installed_rpms: List of installed RPMs
:type installed_rpms: list(leapp.models.RPM)
:return: list of GPG keys from RPM DB
:rtype: list(leapp.models.GpgKey)
s
gpg-pubkeyt fingerprintt rpmdb( t itemst nameR t versiont True( t installed_rpmst pkg( ( sO /usr/share/leapp-repository/repositories/system_upgrade/common/libraries/gpg.pyt get_pubkeys_from_rpms s
c C s� y_ d g } t � d k r+ | j d � n
| j d � | d | g 7} t | d t d t �SWn? t k
r� } d j | t | � � } t j � j
| � i SXd S(
s
Show keys in given file in version-agnostic manner
This runs gpg --show-keys (EL8) or gpg --with-fingerprints (EL7)
to verify the given file exists, is readable and contains valid
OpenPGP key data, which is printed in parsable format (--with-colons).
t gpg2t 7s --with-fingerprints --show-keyss
--with-colonst splitt checkeds. Failed to read fingerprint from GPG key {}: {}N( R t appendR R t Falset OSErrort formatt strR t current_loggert error( t key_patht cmdt errR ( ( sO /usr/share/leapp-repository/repositories/system_upgrade/common/libraries/gpg.pyt _gpg_show_keys s
c C s� | s | d r g Sg } x� | d D]� } | s&