%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/modules/pacmanpkg.pyo

�
���^c@@s�dZddlmZmZmZddlZddlZddlZddlZ	ddl
ZddlZddl
ZddlZddlZddlZddlmZmZddlmZddlmZeje�ZdZd�Zd	�Zd
�Zej j!j"ed�Z#d�Z$e%dd
�Z'd�Z(e%d�Z)d�Z*d�Z+d�Z,dd�Z-de%dddd�Z.e%dd�Z/dddd�Z0ddd�Z1ddd�Z2d�Z3d�Z4d�Z5d�Z6dS(uq
A module to wrap pacman calls, since Arch is the best
(https://wiki.archlinux.org/index.php/Arch_is_the_best)

.. 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>`.
i(tabsolute_importtprint_functiontunicode_literalsN(tCommandExecutionErrortMinionError(tLooseVersion(tsixupkgcC@stddkrtStdfS(u6
    Set the virtual pkg module if the os is Arch
    u	os_familyuArchu=The pacman module could not be loaded: unsupported OS family.(t
__grains__t__virtualname__tFalse(((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt__virtual__'scC@s#g|D]}||kr|^qS(uS
    List the packages which have been removed between the two package objects
    ((toldtnewtx((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt
_list_removed0sc	O@sZtjjj|jdt��}t|�dkr7dS|rGt�ni}x|D]}d||<qTWdddddg}|j|�d	|kr�|jd
|d	f�nt	d|dd
dt�}xitjj
j|d�D]O}y/|j�\}}||kr|||<nWq�tt
fk
r3q�Xq�Wt|�dkrV||dS|S(u�
    Return the latest version of the named package available for upgrade or
    installation. If more than one package name is specified, a dict of
    name/version pairs is returned.

    If the latest version of a given package is already installed, an empty
    string will be returned for that package.

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.latest_version <package name>
        salt '*' pkg.latest_version <package1> <package2> <package3> ...
    urefreshiuupacmanu-Spu--neededu--print-formatu%n %vurootu-rucmd.run_stdouttoutput_loglevelutracetpython_shellu
i(tsalttutilstdatatis_truetpopR	tlent
refresh_dbtextendt__salt__t	itertoolstsplitt
ValueErrort
IndexError(	tnamestkwargstrefreshtrettnametcmdtouttlinetversion_num((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pytlatest_version7s2!



	uavailable_versioncC@st|�dkS(u�
    Check whether or not an upgrade is available for a given package

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.upgrade_available <package name>
    u(R'(R"((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pytupgrade_availablers
cK@szi}ddddddg}|dk	r@|jd|f�n|rV|jd�ntd	|d
tdd�}|d
dkr�d}d|kr�||d7}nd|kr�||d7}n|r�d|}ntd|��n
|d}x�tjjj	|d�D]g}y|j	�\}	}
Wnt
k
r=qnX|	j�dkrhd|
j�krhqn|
||	<qW|S(u�
    List all available package upgrades on this system

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.list_upgrades
    upacmanu-Su-pu-uu--print-formatu%n %vu-ru-yucmd.run_allRRutraceuretcodeiuustderrustdoutu: uError listing upgradesu
udownloadingu.dbN(tNoneRtappendRR	RRRRRRtlower(R trootRtupgradesR#tcalltcommentR$R%tpkgnametpkgver((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt
list_upgradess8

	


$cO@std||�S(uY
    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> ...
    upkg_resource.version(R(RR((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pytversion�s
c	K@s�tjjj|�}tgdD]$}tjjj|j|��^q�rPiSdtkr�|rjtdStjtd�}t	d|�|Snddg}d|kr�|j
d|df�ni}t	d	|d
ddt�}x�tjjj
|d
�D]g}|sq�ny|j
�dd!\}}Wn!tk
rQtjd|�q�Xt	d|||�q�Wt	d|�tj|�td<|s�t	d|�n|S(u�
    List the packages currently installed as a dict::

        {'<package_name>': '<version>'}

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.list_pkgs
    uremovedu
purge_desiredu
pkg.list_pkgsupkg_resource.stringifyupacmanu-Qurootu-rucmd.runRutraceRu
iiu>Problem parsing pacman -Q: Unexpected formatting in line: '%s'upkg_resource.add_pkgupkg_resource.sort_pkglist(uremovedu
purge_desired(RRRRtanytgett__context__tcopytdeepcopyRRR	RRRtlogterror(	tversions_as_listRR
R!R#R$R%R"R&((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt	list_pkgs�s:1
	cC@sGigd6gd6gd6}ddg}td|ddd	t�}i}x�tjjj|d
�D]l}|stqbny|j�dd!\}}Wn!tk
r�tjd
|�qbX|j	|g�j
|�qbWddg}td|ddd	t�}i}x�tjjj|d
�D]l}|s+qny|j�dd!\}}Wn!tk
rktjd|�qX|j	|g�j
|�qWx�|D]}}||kr�tjd||�q�nt||�t||�kr�|dj
|�n|dj
|�|j|�q�W|dj
�|dj
�t|j��|d<|S(u�
    .. versionadded:: 2016.11.0

    Lists all groups known by pacman on this system

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.group_list
    u	installedupartially_installedu	availableupacmanu-Sggucmd.runRutraceRu
iiu@Problem parsing pacman -Sgg: Unexpected formatting in line: '%s'u-Qgu?Problem parsing pacman -Qg: Unexpected formatting in line: '%s'uLPacman reports group %s installed, but it is not in the available list (%s)!(RR	RRRRRR9R:t
setdefaultR*RRtsorttsortedtkeys(R!R#R$t	availableR%tgrouptpkgt	installed((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt
group_list�sR


	
	

 cC@s�d}i}x|D]}t�||<qWdd|g}td|dd	d
t�}xutjjj|d�D][}|s�qnny|j�d}Wn!tk
r�tj	d
|�qnX|dj
|�qnWx"|D]}t||�||<q�W|S(u�
    .. versionadded:: 2016.11.0

    Lists all packages in the specified group

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.group_info 'xorg'
    u	mandatoryuoptionaludefaultuconditionalupacmanu-Sggucmd.runRutraceRu
iu@Problem parsing pacman -Sgg: Unexpected formatting in line: '%s'(u	mandatoryuoptionaludefaultuconditional(tsetRR	RRRRRR9R:taddR?(R"tpkgtypesR!tpkgtypeR#R$R%RC((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt
group_infoAs$


	
cC@s�d	}i}x&|D]}igd6gd6||<qWtd�}td|�}xd|D]\}xS|j|g�D]?}||kr�||dj|�qr||dj|�qrWqYW|S(
u#
    .. versionadded:: 2016.11.0

    Lists which of a group's packages are installed and which are not
    installed

    Compatible with yumpkg.group_diff for easy support of state.pkg.group_installed

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.group_diff 'xorg'
    u	mandatoryuoptionaludefaultuconditionalu	installedu
not installedu
pkg.list_pkgsupkg.group_info(u	mandatoryuoptionaludefaultuconditional(RR5R*(R"RHR!RItpkgst
group_pkgstmember((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt
group_diffgs


cC@s}tjjjt�ddg}|dk	rA|jd|f�ni}td|dddidd	6d
t�}|ddkr�d
}d|kr�|d|d7}nt	d|��n
|d}x�tjj
j|d�D]�}|j�j
d�r�q�n|s
q�n|j�j�d}d|kr9t||<q�d|kr�|j�j�djd�d}t||<q�q�W|S(u�
    Just run a ``pacman -Sy``, return a dict::

        {'<database name>': Bool}

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.refresh_db
    upacmanu-Syu-rucmd.run_allRutracetenvuCuLANGRuretcodeiuustderru: u!Error refreshing package databaseustdoutu
u::u
is up to dateudownloadingiu.N(RRRCt
clear_rtagt__opts__R)RRR	RRRtstript
startswithtTrue(R,R#R!R.R/R$R%tkey((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyR�s8


	

#cK@s]y#td||||�\}}Wntk
rD}t|��nX|d&ksct|�dkrgiSd|kr�|d|d<ng}	tjjjt	�r�tddt
�r�|	jddg�n|	jd	�g}
g}g}
|d
kr|	jddd
g�|	j|�nW|dkrp|	jd�|t
krN|	jd�n|t
ksr|d&kr�|t
kr�|	jd�n|	jdd
dg�g}x�t
j|�D]�\}
}|d&kr�|
j|
�q�tjjj|�\}}|sd}nd|krP|dkr.|j|
|f�q�|jdj|
||��q�n|
jdj|
||��q�W|rptd|g|D]}|d^q��}x�|D]�\}}|j|g�}tjjj||�}|d&k	r|
jdj||f��q�|jdj|||r.dj|�nd��q�W|rmy|	jd�Wqjtk
rfqjXqmqpn|s|	j|
�t�}td|	dddt�}|ddkr�|d r�|d g}ng}t	jd!d&�t�}tjjj||�}n|rYy
|}Wntk
r5i}nXtd"d#i|d$6|d%6��n|S('u�
    .. versionchanged:: 2015.8.12,2016.3.3,2016.11.0
        On minions running systemd>=205, `systemd-run(1)`_ is now used to
        isolate commands which modify installed packages from the
        ``salt-minion`` daemon's control group. This is done to keep systemd
        from killing any pacman commands spawned by Salt when the
        ``salt-minion`` service is restarted. (see ``KillMode`` in the
        `systemd.kill(5)`_ manpage for more information). If desired, usage of
        `systemd-run(1)`_ can be suppressed by setting a :mod:`config option
        <salt.modules.config.get>` called ``systemd.scope``, with a value of
        ``False`` (no quotes).

    .. _`systemd-run(1)`: https://www.freedesktop.org/software/systemd/man/systemd-run.html
    .. _`systemd.kill(5)`: https://www.freedesktop.org/software/systemd/man/systemd.kill.html

    Install (``pacman -S``) the specified packag(s). Add ``refresh=True`` to
    install with ``-y``, add ``sysupgrade=True`` to install with ``-u``.

    name
        The name of the package to be installed. Note that this parameter is
        ignored if either ``pkgs`` or ``sources`` is passed. Additionally,
        please note that this option can only be used to install packages from
        a software repository. To install a package file manually, use the
        ``sources`` option.

        CLI Example:

        .. code-block:: bash

            salt '*' pkg.install <package name>

    refresh
        Whether or not to refresh the package database before installing.

    sysupgrade
        Whether or not to upgrade the system packages before installing.
        If refresh is set to ``True`` but sysupgrade is not specified, ``-u`` will be
        applied

    Multiple Package Installation Options:

    pkgs
        A list of packages to install from a software repository. Must be
        passed as a python list. A specific version number can be specified
        by using a single-element dict representing the package and its
        version. As with the ``version`` parameter above, comparison operators
        can be used to target a specific version of a package.

        CLI Examples:

        .. code-block:: bash

            salt '*' pkg.install pkgs='["foo", "bar"]'
            salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-4"}]'
            salt '*' pkg.install pkgs='["foo", {"bar": "<1.2.3-4"}]'

    sources
        A list of packages to install. Must be passed as a list of dicts,
        with the keys being package names, and the values being the source URI
        or local path to the package.

        CLI Example:

        .. code-block:: bash

            salt '*' pkg.install                 sources='[{"foo": "salt://foo.pkg.tar.xz"},                 {"bar": "salt://bar.pkg.tar.xz"}]'


    Returns a dict containing the new package names and versions::

        {'<package>': {'old': '<old-version>',
                       'new': '<new-version>'}}
    upkg_resource.parse_targetsiurootu-ru
config.getu
systemd.scopeusystemd-runu--scopeupacmanufileu-Uu--noprogressbaru--noconfirmu
repositoryu-Su-yu-uu--neededu=u*uInvalid wildcard for {0}{1}{2}u	{0}{1}{2}R uBNo version matching '{0}' found for package '{1}' (available: {2})u, unoneucmd.run_allRutraceRuretcodeustderru
pkg.list_pkgsu)Problem encountered installing package(s)tinfouerrorsuchangesN(RRRR)RRRtsystemdt	has_scopeR6RTRR*Rt	iteritemsRCtsplit_comparisontformattlist_repo_pkgsR5Rtfnmatch_multipletjointremoveRR<R	RRt
compare_dictstUnboundLocalError(R"R t
sysupgradeRKtsourcesRt
pkg_paramstpkg_typetexcR#ttargetsterrorst	wildcardstparamR&tprefixtverstrR
t
_availableR0t
candidatestmatchRR$RR!tchanges((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pytinstall�s�Q

$	 )#


			


cK@sLiid6td6dd6}t�}g}tjjjt�rhtddt�rh|jddg�n|jd	d
ddg�tjj	j
|�r�|jd
�n|dk	r�|jd|f�ntd|dddt
�}tjdd�t�}tjj	j||�}|ddkrHtddi|d6|d6��n|S(u�
    .. versionchanged:: 2015.8.12,2016.3.3,2016.11.0
        On minions running systemd>=205, `systemd-run(1)`_ is now used to
        isolate commands which modify installed packages from the
        ``salt-minion`` daemon's control group. This is done to keep systemd
        from killing any pacman commands spawned by Salt when the
        ``salt-minion`` service is restarted. (see ``KillMode`` in the
        `systemd.kill(5)`_ manpage for more information). If desired, usage of
        `systemd-run(1)`_ can be suppressed by setting a :mod:`config option
        <salt.modules.config.get>` called ``systemd.scope``, with a value of
        ``False`` (no quotes).

    .. _`systemd-run(1)`: https://www.freedesktop.org/software/systemd/man/systemd-run.html
    .. _`systemd.kill(5)`: https://www.freedesktop.org/software/systemd/man/systemd.kill.html

    Run a full system upgrade, a pacman -Syu

    refresh
        Whether or not to refresh the package database before installing.

    Returns a dictionary containing the changes:

    .. code-block:: python

        {'<package>':  {'old': '<old-version>',
                        'new': '<new-version>'}}


    CLI Example:

    .. code-block:: bash

        salt '*' pkg.upgrade
    uchangesuresultuucommentu
config.getu
systemd.scopeusystemd-runu--scopeupacmanu-Suu--noprogressbaru--noconfirmu-yu-rucmd.run_allRutraceRu
pkg.list_pkgsuretcodeiu&Problem encountered upgrading packagesRVN(RTR<RRRWRXR6RRRRR*R)R	RR`R(R R,RR!RR#tresultR((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pytupgrade~s0#

	
		uremovecK@s�ytd||�d}Wntk
r<}t|��nXt�}g|D]}||krM|^qM}|suiS|dkr�dnd}	g}
tjjjt�r�tddt	�r�|
j
dd	g�n|
j
d
|	ddg�|
j
|�d
|kr|
j
d|d
f�ntd|
dddt�}|ddkrc|drc|dg}ng}tjdd�t�}
tjjj||
�}|r�tddi|d6|d6��n|S(u
    remove and purge do identical things but with different pacman commands,
    this function performs the common logic.
    upkg_resource.parse_targetsiupurgeu-Rscu-Ru
config.getu
systemd.scopeusystemd-runu--scopeupacmanu--noprogressbaru--noconfirmurootu-rucmd.run_allRutraceRuretcodeustderru
pkg.list_pkgsu'Problem encountered removing package(s)RVuerrorsuchangesN(RRRR<RRRWRXR6RTRR	RR)RR`(tactionR"RKRRdRfRR
Rgt
remove_argR#R$RhRR!((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt
_uninstall�s@	%
		cK@stddd|d|�S(u�
    .. versionchanged:: 2015.8.12,2016.3.3,2016.11.0
        On minions running systemd>=205, `systemd-run(1)`_ is now used to
        isolate commands which modify installed packages from the
        ``salt-minion`` daemon's control group. This is done to keep systemd
        from killing any pacman commands spawned by Salt when the
        ``salt-minion`` service is restarted. (see ``KillMode`` in the
        `systemd.kill(5)`_ manpage for more information). If desired, usage of
        `systemd-run(1)`_ can be suppressed by setting a :mod:`config option
        <salt.modules.config.get>` called ``systemd.scope``, with a value of
        ``False`` (no quotes).

    .. _`systemd-run(1)`: https://www.freedesktop.org/software/systemd/man/systemd-run.html
    .. _`systemd.kill(5)`: https://www.freedesktop.org/software/systemd/man/systemd.kill.html

    Remove packages with ``pacman -R``.

    name
        The name of the package to be deleted.


    Multiple Package Options:

    pkgs
        A list of packages to delete. Must be passed as a python list. The
        ``name`` parameter will be ignored if this option is passed.

    .. versionadded:: 0.16.0


    Returns a dict containing the changes.

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.remove <package name>
        salt '*' pkg.remove <package1>,<package2>,<package3>
        salt '*' pkg.remove pkgs='["foo", "bar"]'
    RturemoveR"RK(Rv(R"RKR((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyR_�s)cK@stddd|d|�S(u�
    .. versionchanged:: 2015.8.12,2016.3.3,2016.11.0
        On minions running systemd>=205, `systemd-run(1)`_ is now used to
        isolate commands which modify installed packages from the
        ``salt-minion`` daemon's control group. This is done to keep systemd
        from killing any pacman commands spawned by Salt when the
        ``salt-minion`` service is restarted. (see ``KillMode`` in the
        `systemd.kill(5)`_ manpage for more information). If desired, usage of
        `systemd-run(1)`_ can be suppressed by setting a :mod:`config option
        <salt.modules.config.get>` called ``systemd.scope``, with a value of
        ``False`` (no quotes).

    .. _`systemd-run(1)`: https://www.freedesktop.org/software/systemd/man/systemd-run.html
    .. _`systemd.kill(5)`: https://www.freedesktop.org/software/systemd/man/systemd.kill.html

    Recursively remove a package and all dependencies which were installed
    with it, this will call a ``pacman -Rsc``

    name
        The name of the package to be deleted.


    Multiple Package Options:

    pkgs
        A list of packages to delete. Must be passed as a python list. The
        ``name`` parameter will be ignored if this option is passed.

    .. versionadded:: 0.16.0


    Returns a dict containing the changes.

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.purge <package name>
        salt '*' pkg.purge <package1>,<package2>,<package3>
        salt '*' pkg.purge pkgs='["foo", "bar"]'
    RtupurgeR"RK(Rv(R"RKR((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pytpurge!s*cG@sg}g}ddg}t|�dkrktjj|d�rkt|�}|jd|jd�f�n|j|�td|dddt�}xet	j
jj|d	�D]K}|j
d
�r�|j|�q�|j�}|jdj|d��q�Wi|d
6|d6S(uV
    List the files that belong to a package. Not specifying any packages will
    return a list of _every_ file on the system's package database (not
    generally recommended).

    CLI Examples:

    .. code-block:: bash

        salt '*' pkg.file_list httpd
        salt '*' pkg.file_list httpd postfix
        salt '*' pkg.file_list
    upacmanu-Qliu-rucmd.runRutraceRu
uerroru iuerrorsufiles(RtostpathtexiststlistRRRR	RRRRRSR*R^(tpackagesRhR!R#R$R%tcomps((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt	file_listNs(
cG@s7g}i}ddg}t|�dkrktjj|d�rkt|�}|jd|jd�f�n|j|�td|dddt�}x�t	j
jj|d	�D]t}|j
d
�r�|j|�q�|j�}|d|kr�g||d<n||djdj|d��q�Wi|d
6|d6S(uj
    List the files that belong to a package, grouped by package. Not
    specifying any packages will return a list of _every_ file on the system's
    package database (not generally recommended).

    CLI Examples:

    .. code-block:: bash

        salt '*' pkg.file_list httpd
        salt '*' pkg.file_list httpd postfix
        salt '*' pkg.file_list
    upacmanu-Qliu-rucmd.runRutraceRu
uerroru iuerrorsupackages(RRxRyRzR{RRRR	RRRRRSR*R^(R|RhR!R#R$R%R}((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt	file_dictps (
&cG@sw|s
dSi}ddg}x/|D]'}td||gdt�||<q#Wt|�dkrsttj|��S|S(uW
    .. versionadded:: 2014.7.0

    Return the name of the package that owns the file. Multiple file paths can
    be passed. Like :mod:`pkg.version <salt.modules.yumpkg.version>`, if a
    single path is passed, a string will be returned, and if multiple paths are
    passed, a dictionary of file/package name pairs will be returned.

    If the file is not owned by a package, or is not present on the minion,
    then an empty string will be returned for that path.

    CLI Example:

        salt '*' pkg.owner /usr/bin/apachectl
        salt '*' pkg.owner /usr/bin/apachectl /usr/bin/zsh
    uupacmanu-Qqoucmd.run_stdoutRi(RR	RtnextRt
itervalues(tpathsR!t
cmd_prefixRy((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pytowner�s
c	O@s>tjjj|�}|jdd�p*d}|jdt�}|jdt�}|rmtjjj|�n|r�y,g|jd�D]}|j�^q�}Wq�t	k
r�gt
j|�jd�D]}|j�^q�}q�Xng}|r�t�nt
dddgd	d
dtdt�}i}x�tjjj|d
d�D]�}	y#|	j�j�d \}
}}Wntk
r�qHnX|r�|
|kr�qHn|r�x0|D]"}
tj||
�r�t}Pq�q�WqHn|j|
i�j|g�j|�qHW|r�xz|D]r}xi||D]]}tg|||D]}t|�^q8dt�}g|D]}|j^q`|||<q WqW|Si}xD|D]<}x3||D]'}|j|g�j|||�q�Wq�Wx]|D]U}tg||D]}t|�^q�dt�}g|D]}|j^q||<q�W|SdS(u�
    Returns all available packages. Optionally, package names (and name globs)
    can be passed and the results will be filtered to packages matching those
    names.

    This function can be helpful in discovering the version or repo to specify
    in a :mod:`pkg.installed <salt.states.pkg.installed>` state.

    The return data will be a dictionary mapping package names to a list of
    version numbers, ordered from newest to oldest. If ``byrepo`` is set to
    ``True``, then the return dictionary will contain repository names at the
    top level, and each repository will map packages to lists of version
    numbers. For example:

    .. code-block:: python

        # With byrepo=False (default)
        {
            'bash': ['4.4.005-2'],
            'nginx': ['1.10.2-2']
        }
        # With byrepo=True
        {
            'core': {
                'bash': ['4.4.005-2']
            },
            'extra': {
                'nginx': ['1.10.2-2']
            }
        }

    fromrepo : None
        Only include results from the specified repo(s). Multiple repos can be
        specified, comma-separated.

    byrepo : False
        When ``True``, the return data for each package will be organized by
        repository.

    refresh : False
        When ``True``, the package database will be refreshed (i.e. ``pacman
        -Sy``) before checking for available versions.

    CLI Examples:

    .. code-block:: bash

        salt '*' pkg.list_repo_pkgs
        salt '*' pkg.list_repo_pkgs foo bar baz
        salt '*' pkg.list_repo_pkgs 'samba4*' fromrepo=base,updates
        salt '*' pkg.list_repo_pkgs 'python2-*' byrepo=True
    ufromrepouubyrepourefreshu,ucmd.run_allupacmanu-SlRutracetignore_retcodeRustdoutu
itreverseN(RRtargstclean_kwargsRR	tinvalid_kwargsRRRtAttributeErrorRt	text_typeRRRTRRtfnmatchR=R*R?t
_LooseVersiontvstringR(R�RtfromrepotbyrepoR R
treposR$R!R%trepotpkg_nametpkg_vertargtskip_pkgtreponameR0tsorted_versionst
byrepo_ret((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyR\�sh5,
8
	##

)
'	,
)
#	$(7t__doc__t
__future__RRRR7R�tloggingtos.pathRxtsalt.utils.argsRtsalt.utils.datatsalt.utils.functoolstsalt.utils.itertoolstsalt.utils.pkgtsalt.utils.systemdtsalt.exceptionsRRtsalt.utils.versionsRR�tsalt.extRt	getLoggert__name__R9RR
RR'Rt	functoolstalias_functiontavailable_versionR(R	R)R2R3R<RERJRNRRqRsRvR_RwR~RR�R\(((s:/usr/lib/python2.7/site-packages/salt/modules/pacmanpkg.pyt<module>sR				8	
2	3	M	&	%0�D3,-	"	$	

Zerion Mini Shell 1.0