%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/debuild_pkgbuild.pyc

�
���^c@@sdZddlmZmZmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
ZddlZddlZddlZddlmZmZddlmZddlmZeZe
jde
j�Ze
jde
j�Zy"ddl Z ddl!Ze"ZWne#k
rMnXej$e%�Z&d	Z'd
�Z(d�Z)d�Z*d
�Z+d�Z,d�Z-dd�Z.d�Z/dd�Z0dd�Z1dddd�Z3ddd�Z4ddedddd�Z5dS(u
Debian Package builder system

.. versionadded:: 2015.8.0

This system allows for all of the components to build debs safely in chrooted
environments. This also provides a function to generate debian repositories

This module implements the pkgbuild interface
i(tabsolute_importtprint_functiontunicode_literalsN(tSaltInvocationErrortCommandExecutionError(tsix(turlparseuEnter passphrase: uPassphrase: upkgbuildcC@s�tjdt�dkr~t}ddddg}x-|D]%}tjjj|�s7t}Pq7q7Wtrq|rqt	StdfSn
td	fSd
S(uU
    Confirm this module is on a Debian-based system, and has required utilities
    u	os_familyuKaliuDebianugpgudebuildupbuilderurepreprou}The debbuild module could not be loaded: requires python-gnupg, gpg, debuild, pbuilder and reprepro utilities to be installedu>The debbuild module could not be loaded: unsupported OS familyN(uKaliuDebian(
t
__grains__tgettFalsetsalttutilstpathtwhichtTruetHAS_LIBSt__virtualname__(tmissing_utilt
utils_reqdt
named_util((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt__virtual__5s


cC@s2tjjj|�rtStdj|���dS(u9
    Check for specified command name in search path
    uDutility '{0}' needs to be installed or made available in search pathN(R
RRR
RRtformat(tname((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt_check_repo_sign_utils_supportIscC@s3d}td|�rtStdj|���dS(uF
    Check for /usr/lib/gnupg2/gpg-preset-passphrase is installed
    u%/usr/lib/gnupg2/gpg-preset-passphraseufile.file_existsu#utility '{0}' needs to be installedN(t__salt__RRR(t	util_name((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt_check_repo_gpg_phrase_utilsUs
cC@s~d}|dkr|St|t�s4td��nxC|j�D]5\}}|dj||�7}|dj|�7}qAW|S(uL
    Get build environment overrides dictionary to use in build process
    uu!'env' must be a Python dictionaryu{0}={1}
uexport {0}
N(tNonet
isinstancetdictRtitemsR(tenvtenv_overridetkeytvalue((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt_get_build_envbscC@swd}|dkr|St|t�s4td��nx<|j�D].\}}|dkrA|dj|�7}qAqAW|S(u�
    Get repo environment overrides dictionary to use in repo options process

    env
        A dictionary of variables to define the repository options
        Example:

        .. code-block:: yaml

            - env:
                - OPTIONS : 'ask-passphrase'

        .. warning::

            The above illustrates a common PyYAML pitfall, that **yes**,
            **no**, **on**, **off**, **true**, and **false** are all loaded as
            boolean ``True`` and ``False`` values, and must be enclosed in
            quotes to be used as strings. More info on this (and other) PyYAML
            idiosyncrasies can be found :ref:`here <yaml-idiosyncrasies>`.

    uu!'env' must be a Python dictionaryuOPTIONSu{0}
N(RRRRRR(Rtenv_optionsR!R"((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt_get_repo_options_envssc	C@s[i	d$d6d%d6d&d6d'd6d(d6d)d6d*d6d+d6d,d6}d}d}t|j��}|d-kr�xt|j�D]f\}}||ddkr||d j||d!||d"�7}|dkr�||d"}q�q|q|W||fSt|t�std#��ng}x�|j�D]�\}}||kr�||ddkrr|j|�|dkrr|}qrn||ddkr�|d j||d!|�7}q�q!|d j||�7}q!Wt|j��}xx|D]p}||kr�||ddkr�||kr�|d j||d!||d"�7}|dkrM|}qMq�q�W||fS(.u�
    Get repo environment overrides dictionary to use in repo distributions process

    env
        A dictionary of variables to define the repository distributions
        Example:

        .. code-block:: yaml

            - env:
                - ORIGIN : 'jessie'
                - LABEL : 'salt debian'
                - SUITE : 'main'
                - VERSION : '8.1'
                - CODENAME : 'jessie'
                - ARCHS : 'amd64 i386 source'
                - COMPONENTS : 'main'
                - DESCRIPTION : 'SaltStack Debian package repo'

        .. warning::

            The above illustrates a common PyYAML pitfall, that **yes**,
            **no**, **on**, **off**, **true**, and **false** are all loaded as
            boolean ``True`` and ``False`` values, and must be enclosed in
            quotes to be used as strings. More info on this (and other) PyYAML
            idiosyncrasies can be found :ref:`here <yaml-idiosyncrasies>`.

    uIuu"processed by _get_repo_options_envuOPTIONSuOuOriginu	SaltStackuORIGINuLabelusalt_debianuLABELuSuiteustableuSUITEuVersionu9.0uVERSIONuMuCodenameustretchuCODENAMEu
Architecturesui386 amd64 sourceuARCHSu
Componentsumainu
COMPONENTSuDescriptionuSaltStack debian package repouDESCRIPTIONiu	{0}: {1}
iiu!'env' must be a Python dictionary(uIuu"processed by _get_repo_options_env(uOuOriginu	SaltStack(uOuLabelusalt_debian(uOuSuiteustable(uOuVersionu9.0(uMuCodenameustretch(uMu
Architecturesui386 amd64 source(uMu
Componentsumain(uOuDescriptionuSaltStack debian package repoN(	tlisttkeysRRRRRRtappend(	Rt
dflts_dictt	env_diststcodenamet
dflts_keysR!R"tenv_man_seentenv_keys((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt_get_repo_dists_env�sP!
&

$
,&urootcC@stjjdj|��}tjj|d�}tjj|�sQtd��nt|�}|r�|j�r�t	j
jj|d��#}|j
t	j
jj|��WdQXndj||�}td|dd	�}|d
kr�tdj|���ndS(u�
    Create the .pbuilder family of files in user's home directory

    env
        A list  or dictionary of environment variables to be set prior to execution.
        Example:

        .. code-block:: yaml

            - env:
                - DEB_BUILD_OPTIONS: 'nocheck'

        .. warning::

            The above illustrates a common PyYAML pitfall, that **yes**,
            **no**, **on**, **off**, **true**, and **false** are all loaded as
            boolean ``True`` and ``False`` values, and must be enclosed in
            quotes to be used as strings. More info on this (and other) PyYAML
            idiosyncrasies can be found :ref:`here <yaml-idiosyncrasies>`.

    runas : root
        .. versionadded:: fluorine

        User to create the files and directories

        .. note::

            Ensure the user has correct permissions to any files and
            directories which are to be utilized.
    u~{0}u.pbuilderrcu+pbuilderrc environment is incorrectly setupuaNuchown {0}:{0} {1}ucmd.retcodetrunasurootiubCreate pbuilderrc in home directory failed with return error '{0}', check logs for further details(tosRt
expanduserRtjointisfileRR#tisspaceR
Rtfilestfopentwritetstringutilstto_strR(RR0thomet
pbuilderrct
env_overridestfowtcmdtretrc((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt_create_pbuilders�s%cC@stj�}|S(u&
    Create the debian build area
    (ttempfiletmkdtemp(tbasedir((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt_mk_treesubasecC@s>tjj|�}tjj||�}td||d|�S(ub
    Get the spec file (tarball of the debian sub-dir to use)
    and place it in build area

    u
cp.get_urltsaltenv(R1RtbasenameR3R(t	tree_basetspecRFtspec_tgttdest((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt	_get_spec&scC@sjt|�}tjj|�}tjj||�}|jrVtd||d|�ntj||�dS(uA
    Get the named sources and place them into the tree_base
    u
cp.get_urlRFN(	t	_urlparseR1RRGR3tschemeRtshutiltcopy(RHtsourceRFtparsedtsbaseRK((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt_get_src1s	cC@s�t||�t�}g}tjj|�s>tj|�nd}d}	dj||�}
td|
dd�}	|	dkr�tdj||	���ndj||�}
td|
d|�}	|	dkr�tdj||	���nt	|||�}t
|tj�r|j
d�}nx|D]}t|||�q%W|jd	�r�x^tj|�D]M}
tjj||
�}tjj||
�}tj||�|j|�q^W|Sd}xCtj|�D].}|jd
�r�|jd�r�|}Pq�q�W|S|j
d�}|d}|jd�}|| d
||d}|d7}|d}tjj||�}dj|�}
td|
d|d|�}	dj||�}
|	td|
d|d|�O}	djtjj||�|�}
|	td|
d|d|�O}	dj|�}
|	td|
d|d|d|�O}	dj||�}
|	td|
d|d|�O}	dj|�}
|	td|
d|d|d|�O}	djtjj|��}
|	td|
d|d|�O}	d}
|	td|
d|d|dtd|�O}	dj|�}
|	td|
d|�O}	|	dkrgtdj||||	���nxptj|�D]_}|jd�swtjj||�}tjj||�}tj||�|j|�qwqwW|S(u�
    Create a platform specific source package from the given platform spec/control file and sources

    CLI Example:

    **Debian**

    .. code-block:: bash

        salt '*' pkgbuild.make_src_pkg /var/www/html/
                https://raw.githubusercontent.com/saltstack/libnacl/master/pkg/deb/python-libnacl.control.tar.xz
                https://pypi.python.org/packages/source/l/libnacl/libnacl-1.3.5.tar.gz

    This example command should build the libnacl SOURCE package and place it in
    /var/www/html/ on the minion

    dest_dir
        Absolute path for directory to write source package

    spec
        Absolute path to spec file or equivalent

    sources
        Absolute path to source files to build source package from

    env : None
        A list  or dictionary of environment variables to be set prior to execution.
        Example:

        .. code-block:: yaml

            - env:
                - DEB_BUILD_OPTIONS: 'nocheck'

        .. warning::

            The above illustrates a common PyYAML pitfall, that **yes**,
            **no**, **on**, **off**, **true**, and **false** are all loaded as
            boolean ``True`` and ``False`` values, and must be enclosed in
            quotes to be used as strings. More info on this (and other) PyYAML
            idiosyncrasies can be found :ref:`here <yaml-idiosyncrasies>`.

    saltenv: base

        Salt environment variables


    runas : root
        .. versionadded:: fluorine

        User to create the files and directories

        .. note::

            Ensure the user has correct permissions to any files and
            directories which are to be utilized.
    urootiuchown {0}:{0} {1}ucmd.retcodeR0unmake_src_pkg ensuring tree_base '{0}' ownership failed with return error '{1}', check logs for further detailsummake_src_pkg ensuring dest_dir '{0}' ownership failed with return error '{1}', check logs for further detailsu,u.dscusalt-u.tar.gzu-u_iu+dsu.orig.tar.gzu
tar -xvzf {0}tcwdu
mv {0} {1}utar -cvzf {0} {1}u	rm -f {0}Rucp {0}  {1}u
tar -xvJf {0}udebuild -S -uc -us -satpython_shellu
rm -fR {0}u�Make source package for destination directory {0}, spec {1}, sources {2}, failed with return error {3}, check logs for further detailsu.buildN(RARER1RtisdirtmakedirsRRRRLRRtstring_typestsplitRTtendswithtlistdirR3RORPR(Rt
startswithtrfindRGR(tdest_dirRItsourcesRRFR0RHtrett	root_userR@R?t
spec_pathfiletsrctefiletfullttrgttsalttarballtafilet	frontnametsalttar_nametktdebnametdebname_origtabspath_debnametdfile((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pytmake_src_pkg>s�:
	



 ! & & ,u/var/log/salt/pkgbuildc

C@s_i}
d}ytj|�Wn+tk
rJ}|jtjkrK�qKnXtj�}
yt|
|||||�}Wn7tk
r�}t	j
|
�tjdj
|��|
SXd}||kr�tjjdj
|��}tjjd�}dj
||�}td|d|d	td
|�}dj
||�}td|d|d	td
|�}|dkr�tdj
|||���q�nd
}td|d|d	td
|�}|dkr�tdj
|���nd}dj
|�}|td|d|d	td
|�O}x�|D]�}tjj|�}tjj||�|jd�rtjj|�}y=dj
||�}|td|d|d	td
|�O}d}|td|d|d	td
|�O}dj
|�}|td|d|d	td
|�O}|dkrtdj
|���nxytj|�D]h}|dkr.tjj||�}tjj||�}t	j||�|
jdg�j|�q.q.WWq�tk
r�}tjdj
||��q�XqqWxHtj|�D]7}|dkr�tjj||�}tj|�q�q�Wdj
||�}td|d|d	td
|�t	j
|
�|
S(uv
    Given the package destination directory, the tarball containing debian files (e.g. control)
    and package sources, use pbuilder to safely build the platform package

    CLI Example:

    **Debian**

    .. code-block:: bash

        salt '*' pkgbuild.make_src_pkg deb-8-x86_64 /var/www/html
                https://raw.githubusercontent.com/saltstack/libnacl/master/pkg/deb/python-libnacl.control
                https://pypi.python.org/packages/source/l/libnacl/libnacl-1.3.5.tar.gz

    This example command should build the libnacl package for Debian using pbuilder
    and place it in /var/www/html/ on the minion
    iu+Failed to make src package, exception '{0}'urootu~{0}u~rootucp {0}/.pbuilderrc {1}/ucmd.retcodeR0RVRucp -R {0}/.pbuilder-hooks {1}/ubbuild copy pbuilder files from '{0}' to '{1}' returned error '{2}', check logs for further detailsu/usr/sbin/pbuilder --createuNpbuilder create failed with return error '{0}', check logs for further detailsu/var/cache/pbuilder/resultu
rm -fR {0}u.dscuchown {0}:{0} -R {1}u+/usr/sbin/pbuilder update --override-configu1/usr/sbin/pbuilder build --debbuildopts "-sa" {0}uUpbuilder build or update failed with return error {0}, check logs for further detailsuPackagesu*Error building from '{0}', execption '{1}'(R1RXtOSErrorterrnotEEXISTRBRCRqt	ExceptionROtrmtreetlogterrorRRR2RRRRGR3R[tdirnameR\RPt
setdefaultR(tremove(R0ttgtR_RIR`tdepsRttemplateRFtlog_dirRaR@texctdsc_dirtdscsRbt	user_homet	root_homeR?tresults_dirtdscRitdbasetbfileRftbdisttpkgzfiletpkgzabsfile((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pytbuild�s�

"""&
&&&$$ 
u/etc/salt/gpgkeysg.@c2C@sridd6dd6dd6}d}|rF|dkrFi}||d<ntjj|d	�}	tjj|	�s}tj|	�nt|�\}
}tjj|	d
�}tjj	j
|d��#}
|
jtjjj
|��WdQXt|�}tjj|	d
�}tjj	j
|d��#}
|
jtjjj
|��WdQXdj|||	�}td|dd�}|dkr�tdj|���nd}d}d}d}dj|�}dj|�}td|�}|dk	r�tjj	j
|d��,}
|
jtjjj
dj|���WdQXdj|tddd��}dj|tddd��}|dks||dkr�td��ny>tdd|d|d |�tdd|d|d |�Wn&tk
r�td!j|���nXtd"d|d |�}xD|D]<}||d#d$kr|d%}|d%}|d#}PqqW|s]ytd&�d'}Wntk
r�d(}nXtd)|d|d*|�}t|j��}yzxs|D]k}|jd+�r�t|�j�j�}||kr)t|�jd,�} | dj�j�}Pq)q�q�WWq]tk
rYtd-j||���q]Xn|dkr�td.j||���ntd/�|rtjj	j
|d0��}
|
j�}!WdQXx�|!D]=}"tjjj|"�}"|"jd,�}#|#d||#d<Pq�Wnutjj	j
|d0��}
|
j�}!WdQXxE|!D]=}$tjjj|$�}$|$jd,�}%|%d||%d<Pq@W|r�t�tdd1�}d2j||�}|td|d|d*|�O}q�nx�tj|�D]�}&tjj||&�}'|&j d3�r tj!|'�n|&j d4�r�
|r�|dk	r�d5j||'�}|td|d|d6|d7t"d*|�O}nd8j|
|'�}|td|d|d6|d7t"d*|�O}q�
d9}(|dk	r�||(})d}*d:j|'�}+t#d;dNkrt#d=d>ks4t#d;dOkr�t#d=d$kr�d5j||'�}zMy�tjj$j%|d*|d@t"dAt"dBt"�},x�|,j&r|,j'�\}-}.|-r�t(j)|-�r�|,j*|�n
|*d7}*|*|)kr�tdCj|'t+|*|(����nt,j-|(�q|W|,j.}/|/dkr8tdDj|'|/���nWnVtjj$j/k
r�}0t0j1�}1t2j3|+|0|1�idd6dd6|1d6}nXWd|,j4dEt"dFt"�Xq�d5j||'�}|td|d|d6|d7t"d*|�O}n||(})d}*dGj|'�}+d8j|
|'�}t#d;dPkrB	t#d=d>ksb	t#d;dQkr�
t#d=d$kr�
zLy�tjj$j%|d*|d@t"d6|dAt"dBt"�},x�|,j&r
|,j'�\}-}.|-r�	t5j)|-�r�	|,j*|�n
|*d7}*|*|)kr
tdHj|'|*���nt,j-|(�q�	W|,j.}/|/dkrS
tdIj|
|'|/���nWnVtjj$j/k
r�
}0t0j1�}1t2j3|+|0|1�idd6dd6|1d6}nXWd|,j4dEt"dFt"�Xq�
|td|d|d6|d7t"d*|�O}n|dkrtdJj|���n|&j dK�r�dLj|
|'�}tdM|d|d6|d7t"d*|�}q�q�W|S(Ru	
    Make a package repository and optionally sign it and packages present

    Given the repodir (directory to create repository in), create a Debian
    repository and optionally sign it and packages present. This state is
    best used with onchanges linked to your package building states.

    repodir
        The directory to find packages that will be in the repository.

    keyid
        .. versionchanged:: 2016.3.0

        Optional Key ID to use in signing packages and repository.
        This consists of the last 8 hex digits of the GPG key ID.

        Utilizes Public and Private keys associated with keyid which have
        been loaded into the minion's Pillar data. Leverages gpg-agent and
        gpg-preset-passphrase for caching keys, etc.
        These pillar values are assumed to be filenames which are present
        in ``gnupghome``. The pillar keys shown below have to match exactly.

        For example, contents from a Pillar data file with named Public
        and Private keys as follows:

        .. code-block:: yaml

            gpg_pkg_priv_keyname: gpg_pkg_key.pem
            gpg_pkg_pub_keyname: gpg_pkg_key.pub

    env
        .. versionchanged:: 2016.3.0

        A dictionary of environment variables to be utilized in creating the
        repository.

    use_passphrase : False
        .. versionadded:: 2016.3.0

        Use a passphrase with the signing key presented in ``keyid``.
        Passphrase is received from Pillar data which could be passed on the
        command line with ``pillar`` parameter. For example:

        .. code-block:: bash

            pillar='{ "gpg_passphrase" : "my_passphrase" }'

    gnupghome : /etc/salt/gpgkeys
        .. versionadded:: 2016.3.0

        Location where GPG related files are stored, used with ``keyid``.

    runas : root
        .. versionadded:: 2016.3.0

        User to create the repository as, and optionally sign packages.

        .. note::

            Ensure the user has correct permissions to any files and
            directories which are to be utilized.

    timeout : 15.0
        .. versionadded:: 2016.3.4

        Timeout in seconds to wait for the prompt for inputting the passphrase.

    CLI Example:

    .. code-block:: bash

        salt '*' pkgbuild.make_repo /var/www/html

    iuretcodeuustdoutuinitialization valueustderriu	GNUPGHOMEuconfu
distributionsuwNuoptionsuchown {0}:{1} -R {2}ucmd.retcodeR0urootuXfailed to ensure rights to repoconf directory, error {0}, check logs for further detailsu{0}/gpg-agent-info-saltu{0}/gpg-tty-info-saltufile.file_existsuauSignWith: {0}
u{0}/{1}u
pillar.getugpg_pkg_pub_keynameugpg_pkg_priv_keynameuJPillar data should contain Public and Private keys associated with 'keyid'ugpg.import_keytusertfilenamet	gnupghomeu[Public and Private key files associated with Pillar data and 'keyid' {0} could not be foundu
gpg.list_keysukeyidiufingerprintugpg2u&gpg2 --with-keygrip --list-secret-keysu%gpg --with-keygrip --list-secret-keysucmd.runRusecu=uHunable to find keygrip associated with fingerprint '{0}' for keyid '{1}'u8The key ID '{0}' was not found in GnuPG keyring at '{1}'udebsignurugpg_passphraseuO/usr/lib/gnupg2/gpg-preset-passphrase --verbose --preset --passphrase "{0}" {1}u.changesu.dscudebsign --re-sign -k {0} {1}RUtuse_vtuMreprepro --ignore=wrongdistribution --component=main -Vb . includedsc {0} {1}g�?uFailed to debsign file {0}uosuUbuntuuosmajorreleaseiuDebiantshellt
stream_stdoutt
stream_stderru?Attempting to sign file {0} failed, timed out after {1} secondsu,Signing file {0} failed with proc.status {1}t	terminatetkillu&Failed to reprepro includedsc file {0}uPAttempting to reprepro includedsc for file {0} failed, timed out after {1} loopsuMReprepro includedsc for codename {0} and file {1} failed with proc.status {2}uRMaking a repo encountered errors, return error {0}, check logs for further detailsu.debuMreprepro --ignore=wrongdistribution --component=main -Vb . includedeb {0} {1}ucmd.run_all(uUbuntu(uDebian(uUbuntu(uDebian(6RR1RR3RWRXR/R
RR6R7R8R9R:R%RRRRRtitert
splitlinesR]tnexttlstriptrstripRZt
StopIterationt	readlinest
to_unicodeRR\R[R{RRtvttTerminalthas_unread_datatrecvtSIGN_PROMPT_REtsearchtsendlinetintttimetsleept
exitstatustTerminalExceptiont	tracebackt
format_excRwRxtclosetREPREPRO_SIGN_PROMPT_RE(2trepodirtkeyidRtuse_passphraseR�R0ttimeouttresR@trepoconfR+t
repocfg_diststrepoconfdistR>trepocfg_optstrepoconfoptsR?tlocal_keygrip_to_usetlocal_key_fingerprinttlocal_keyidtphraset
gpg_info_filetgpg_tty_info_filetolder_gnupgtpkg_pub_key_filetpkg_priv_key_filet
local_keystgpg_keytlocal_keys2_keygriptlocal_keys2tlinetline_fingerprinttlkeygriptgpg_raw_infot
gpg_info_linetgpg_infotgpg_tty_info_linetgpg_tty_infotdebfiletabs_filetintervaltnumber_retriesttimes_loopedt	error_msgtproctstdoutt_tproc_exitstatusterrttrace((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt	make_repoRs�Q

""+!













	&/	/
  	
	/
	  	
	/	/(6t__doc__t
__future__RRRRstloggingR1RBROtreR�R�tsalt.utils.filesR
tsalt.utils.pathtsalt.utils.stringutilst
salt.utils.vttsalt.exceptionsRRtsalt.extRtsalt.ext.six.moves.urllib.parseRRMR	RtcompiletMR�R�tgnupgtsalt.modules.gpgRtImportErrort	getLoggert__name__RwRRRRR#R%R/RARERLRTRRqR�R�(((sA/usr/lib/python2.7/site-packages/salt/modules/debuild_pkgbuild.pyt<module>s\

			
		#	T4	
�k

Zerion Mini Shell 1.0