HEX
Server: Apache
System: Linux sg241.singhost.net 2.6.32-896.16.1.lve1.4.51.el6.x86_64 #1 SMP Wed Jan 17 13:19:23 EST 2018 x86_64
User: honghock (909)
PHP: 8.0.30
Disabled: passthru,system,shell_exec,show_source,exec,popen,proc_open
Upload Files
File: //proc/self/root/usr/lib/python2.7/site-packages/salt/modules/eix.py
# -*- coding: utf-8 -*-
'''
Support for Eix
'''
from __future__ import absolute_import, print_function, unicode_literals

# Import salt libs
import salt.utils.path


def __virtual__():
    '''
    Only works on Gentoo systems with eix installed
    '''
    if __grains__['os'] == 'Gentoo' and salt.utils.path.which('eix'):
        return 'eix'
    return (False, 'The eix execution module cannot be loaded: either the system is not Gentoo or the eix binary is not in the path.')


def sync():
    '''
    Sync portage/overlay trees and update the eix database

    CLI Example:

    .. code-block:: bash

        salt '*' eix.sync
    '''
    cmd = 'eix-sync -q -C "--ask" -C "n"'
    if 'makeconf.features_contains'in __salt__ and __salt__['makeconf.features_contains']('webrsync-gpg'):
        # GPG sign verify is supported only for "webrsync"
        if salt.utils.path.which('emerge-delta-webrsync'):  # We prefer 'delta-webrsync' to 'webrsync'
            cmd += ' -W'
        else:
            cmd += ' -w'
        return __salt__['cmd.retcode'](cmd) == 0
    else:
        if __salt__['cmd.retcode'](cmd) == 0:
            return True
        # We fall back to "webrsync" if "rsync" fails for some reason
        if salt.utils.path.which('emerge-delta-webrsync'):  # We prefer 'delta-webrsync' to 'webrsync'
            cmd += ' -W'
        else:
            cmd += ' -w'
        return __salt__['cmd.retcode'](cmd) == 0


def update():
    '''
    Update the eix database

    CLI Example:

    .. code-block:: bash

        salt '*' eix.update
    '''
    cmd = 'eix-update --quiet'
    return __salt__['cmd.retcode'](cmd) == 0