You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
6.5 KiB
154 lines
6.5 KiB
diff --git update/emerge_parser.py update/emerge_parser.py
|
|
index 597ba55..204e758 100644
|
|
--- update/emerge_parser.py
|
|
+++ update/emerge_parser.py
|
|
@@ -57,7 +57,8 @@ class CommandExecutor(object):
|
|
|
|
def __init__(self, cmd, params, env=None, cwd=None, logfile=None):
|
|
self.cwd = cwd
|
|
- self.env = env
|
|
+ self.env = env or dict(os.environ)
|
|
+ self.env.update({'EINFO_QUIET':'NO'})
|
|
self.cmd = cmd
|
|
self.params = params
|
|
self.child = None
|
|
diff --git update/update.py update/update.py
|
|
index ce66dd7..8e082fa 100644
|
|
--- update/update.py
|
|
+++ update/update.py
|
|
@@ -16,6 +16,7 @@
|
|
|
|
import sys
|
|
from os import path
|
|
+import os
|
|
|
|
from calculate.lib.utils.tools import AddonError
|
|
from calculate.lib.utils.colortext.palette import TextState
|
|
@@ -96,10 +97,6 @@ class Update:
|
|
needMeta = True
|
|
if needMeta:
|
|
dv.Set('cl_update_outdate_set', 'on', force=True)
|
|
- layman = Layman(dv.Get('cl_update_layman_installed'),
|
|
- dv.Get('cl_update_layman_make'))
|
|
- if name != "portage":
|
|
- layman.add(name, url, rpath)
|
|
return True
|
|
|
|
def syncRepositories(self, repname, clean_on_error=True):
|
|
@@ -124,15 +121,26 @@ class Update:
|
|
if e.addon:
|
|
self.printWARNING(str(e.addon))
|
|
self.printWARNING(str(e))
|
|
- self.printWARNING(_("Re-fetch {name} repository"
|
|
- ).format(name=repname))
|
|
+ self.printWARNING(
|
|
+ _("Re-fetch {name} repository").format(name=repname))
|
|
try:
|
|
+ rpath_new = "%s_new" % rpath
|
|
+ self._syncRepository(repname, url, rpath_new, revision,
|
|
+ branch)
|
|
removeDir(rpath)
|
|
- except OSError as e:
|
|
+ os.rename(rpath_new, rpath)
|
|
+ except OSError:
|
|
raise UpdateError(_("Permission denied to change "
|
|
"{repname} repository").format(
|
|
repname=repname))
|
|
- self._syncRepository(repname, url, rpath, revision, branch)
|
|
+ else:
|
|
+ if not self._syncRepository(repname, url, rpath, revision, branch):
|
|
+ return "skip"
|
|
+
|
|
+ layman = Layman(dv.Get('cl_update_layman_installed'),
|
|
+ dv.Get('cl_update_layman_make'))
|
|
+ if repname != "portage":
|
|
+ layman.add(repname, url, rpath)
|
|
return True
|
|
|
|
def syncLaymanRepository(self, repname):
|
|
@@ -352,13 +360,12 @@ class Update:
|
|
"""
|
|
# подробный список пакетов
|
|
_print = self.color_print
|
|
- highlight = TextState.Colors.WHITE
|
|
if self.clVars.Get('cl_verbose_set') == 'on':
|
|
self.printPre(str(emerge.install_packages))
|
|
else:
|
|
pkglist = emerge.install_packages.list
|
|
self.printSUCCESS(_print(
|
|
- _("List packages for installation")))
|
|
+ _("Listing packages for installation")))
|
|
self._display_pretty_package_list(pkglist)
|
|
if emerge.install_packages.remove_list:
|
|
self.printSUCCESS(_print(
|
|
@@ -367,8 +374,7 @@ class Update:
|
|
emerge.install_packages.remove_list, remove_list=True)
|
|
if str(emerge.download_size) != "0 kB":
|
|
self.printSUCCESS(_("{size} will be downloaded").format(
|
|
- size=_print.foreground(highlight)(
|
|
- str(emerge.download_size))))
|
|
+ size=str(emerge.download_size)))
|
|
|
|
def _display_remove_list(self, emerge):
|
|
"""
|
|
diff --git update/utils/cl_update.py update/utils/cl_update.py
|
|
index 033a3bd..533d1c1 100644
|
|
--- update/utils/cl_update.py
|
|
+++ update/utils/cl_update.py
|
|
@@ -102,7 +102,8 @@ class ClUpdateAction(Action):
|
|
'condition': need_upgrade('dev-lang/python$')
|
|
},
|
|
{'name': 'update:python_updater',
|
|
- 'message': __('Updating Python modules'),
|
|
+ 'message': __('Find & rebuild packages broken due '
|
|
+ 'to a Python upgrade'),
|
|
'method': 'Update.emergelike("python-updater")',
|
|
'condition': was_installed('dev-lang/python$',
|
|
log_names['python_updater']),
|
|
@@ -112,7 +113,7 @@ class ClUpdateAction(Action):
|
|
]
|
|
},
|
|
{'name': 'update:update_perl',
|
|
- 'group': __("Updating perl"),
|
|
+ 'group': __("Updating Perl"),
|
|
'tasks': [
|
|
{'name': 'update:update_perl_pkg',
|
|
'message': __('Updating {0}').format(pkg_color('dev-lang/perl')),
|
|
@@ -120,7 +121,8 @@ class ClUpdateAction(Action):
|
|
'condition': need_upgrade('dev-lang/perl$')
|
|
},
|
|
{'name': 'update:perl_cleaner',
|
|
- 'message': __('Updating Perl modules'),
|
|
+ 'message': __('Find & rebuild packages and Perl header files '
|
|
+ 'broken due to a perl upgrade'),
|
|
'method': 'Update.emergelike("perl-cleaner", "all")',
|
|
'condition': was_installed('dev-lang/perl$',
|
|
log_names['perl_cleaner']),
|
|
@@ -133,15 +135,14 @@ class ClUpdateAction(Action):
|
|
'group': __("Updating Calculate Utilities"),
|
|
'tasks': [
|
|
{'name': 'update:update_calculate_pkgs',
|
|
- 'message': __("Updating {0}").format(
|
|
- pkg_color("sys-apps/calculate-utilities")),
|
|
+ 'message': __("Calculating dependencies"),
|
|
'method': 'Update.emerge("-u","sys-apps/calculate-utilities")',
|
|
'condition': need_upgrade('sys-apps/calculate-utilities$')
|
|
},
|
|
]
|
|
},
|
|
{'name': 'update:update_world',
|
|
- 'group': __("Updating packages"),
|
|
+ 'group': __("Updating the list packages"),
|
|
'tasks': [
|
|
{'name': 'update:update_world',
|
|
'message': __("Calculating dependencies"),
|
|
@@ -153,7 +154,7 @@ class ClUpdateAction(Action):
|
|
'group': __("Cleaning system from needless packages"),
|
|
'tasks': [
|
|
{'name': 'update_other:update_depclean',
|
|
- 'message': __("Emerge depclean"),
|
|
+ 'message': __("Calculating dependencies"),
|
|
'method': 'Update.depclean()',
|
|
'condition': was_installed('.*', log_names['depclean']),
|
|
'decoration': 'Update.update_task("%s")' % log_names['depclean']
|