|
|
|
@ -658,13 +658,14 @@ class EmergeUpdateInfo(Mapping):
|
|
|
|
|
Информация об обновлении одного пакета
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
install_info = "\[(binary|ebuild)[^\]]+\]"
|
|
|
|
|
install_info = "\[(binary|ebuild)([^\]]+)\]"
|
|
|
|
|
atom_info = r"\S+"
|
|
|
|
|
use_info = 'USE="[^"]+"'
|
|
|
|
|
prev_version = "\[([^\]]+)\]"
|
|
|
|
|
pkg_size = r"[\d,]+ \w+"
|
|
|
|
|
|
|
|
|
|
attrs = ['binary', 'REPLACING_VERSIONS', 'SIZE']
|
|
|
|
|
attrs = ['binary', 'REPLACING_VERSIONS', 'SIZE', 'new', 'newslot',
|
|
|
|
|
'updating', 'downgrading', 'reinstall']
|
|
|
|
|
|
|
|
|
|
def __init__(self, data):
|
|
|
|
|
self._data = data
|
|
|
|
@ -675,9 +676,16 @@ class EmergeUpdateInfo(Mapping):
|
|
|
|
|
r = self.update_info.search(self._data)
|
|
|
|
|
if r:
|
|
|
|
|
self._info['binary'] = r.group(2) == 'binary'
|
|
|
|
|
self._package = EmergePackage(r.group(3))
|
|
|
|
|
self._info['REPLACING_VERSIONS'] = r.group(4) or ""
|
|
|
|
|
self._info['SIZE'] = r.group(6) or ""
|
|
|
|
|
install_flag = r.group(3)
|
|
|
|
|
self._info['newslot'] = "S" in install_flag
|
|
|
|
|
self._info['new'] = "N" in install_flag and not "S" in install_flag
|
|
|
|
|
self._info['updating'] = ("U" in install_flag and
|
|
|
|
|
not "D" in install_flag)
|
|
|
|
|
self._info['downgrading'] = "D" in install_flag
|
|
|
|
|
self._info['reinstall'] = "R" in install_flag
|
|
|
|
|
self._package = EmergePackage(r.group(4))
|
|
|
|
|
self._info['REPLACING_VERSIONS'] = r.group(5) or ""
|
|
|
|
|
self._info['SIZE'] = r.group(7) or ""
|
|
|
|
|
|
|
|
|
|
def __iter__(self):
|
|
|
|
|
return chain(EmergePackage.attrs, self.attrs)
|
|
|
|
@ -725,7 +733,7 @@ class EmergeRemoveInfo(EmergeUpdateInfo):
|
|
|
|
|
"""
|
|
|
|
|
Информация об удалении одного пакета (в списке обновляемых пакетов)
|
|
|
|
|
"""
|
|
|
|
|
install_info = "\[(uninstall)[^\]]+\]"
|
|
|
|
|
install_info = "\[(uninstall)([^\]]+)\]"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Eix:
|
|
|
|
|