Исправление calculate-update

atratsevskiy
Mike Khiretskiy 10 years ago
parent a7ec08b718
commit 8e92f2203f

@ -1,10 +1,12 @@
AUX calculate-update-3.2.0_alpha11-r3.patch 8775 SHA256 a76e3c0b0cbacea644efb6924626c2a67b9b0778dbf778dcc5d999308c42548b SHA512 310d5d788d63a8c0e7e56e22324fc02399f897d7274e64337e8eaf6f7b35f721b054cac28ce91acdea63f75fb551156754914d50daca470b7c3d699ff110239c WHIRLPOOL dd2ce25c2758e3a7ee7208615ff5ef0529b35d0466ed2ce64fd3dc1e95410eb54a118e348ca0bddef0a8279ced98dbfc3704e6b6a5bc032b84d56fd532df9e75
AUX calculate-update-3.2.0_alpha11-r4.patch 11048 SHA256 3d059e3680d55658216c66b04916d7dcb107a459bfabfdad682973ee160aaf33 SHA512 e533543b09669b6d7d746f230f81ee360e9744038757a0a63246424f1e61d71ad6fac8d6a31bc92c5e70f13d5632f93d985594e833dc6a53a780191dc2c88455 WHIRLPOOL 73da6a9ba6c2f19509b0c957edf93a1e931780146be20af5eb53ec7c6980750d09b9915887ba98e796748bbe23f5a56c641622957444cd8bf00c80091567a182
AUX calculate-update-3.2.0_alpha11-r5.patch 13623 SHA256 0c24c552fc9e391f113aae3c88282d9e020ce0fab8fdebafe00b298056d1e541 SHA512 52bd19f4c63de3f32a4ea9c64ebf332ec59e6dd222217cbf934804c889cb8b1b1424f74de2a3b31f1dba6aedbe742474998768f22699f8aa723d37da4a65dbc6 WHIRLPOOL da0b643bc165343928582fe9869652b40277688608e0c5dfd9c51ee761ea4e5a2a713b6308879fcba968c5c4dc10672c927618053217180140b8eca85578697b
DIST calculate-update-3.1.9.tar.bz2 6767 SHA256 26e18cc55abfd73f37468adecb0028a50e05feba080bf3a21df8b62314adaa5d SHA512 14c5d86c990285cf39c7542d792205631106a4b53cd243297ec7f8e1a074c6c4c85f389a15152da5a6405e5a5b340bb75ad59af81b9d9004002daf53762035ce WHIRLPOOL 9740c28bb439799b85b92c69a1dfa7656570340b6032d7ace3bf136777f2c6e156b8f4c4fb12c68108d57027ad1ce2c83713432c4cc71dfeee3f9e33714a6cee
DIST calculate-update-3.2.0_alpha11.tar.bz2 26372 SHA256 22e73eb2f14454a4812798715ba48ab342f6b842a41b712b6a73cf1740d132ff SHA512 6ee6dea6b977b627786e4bc84718119215d661e5bc07328c56d3b969c5b9c7a6fbe29ac2ab044e15007fac8136c65376a7fadd06e8407bdd280c97e18fd7a590 WHIRLPOOL 430ad743fbad00be523fd8b83fd9fcc6e0023130adacc99b1f4a6f9be8fa542cefa904b4989c4d72f268363298c6891898b99f7eeb59257ad1888d4da5b18dda
EBUILD calculate-update-3.1.9.ebuild 579 SHA256 097e2e8ed176eaaba73fc4c938f37b29dcf4cf70919b45fa702c6713fc05fdae SHA512 d4dedefbed78781b0d85e36880a02768dc21fc7ce8457efe06c6fae3dd4c2738291952ba9f92ad11cffe48833f368a061b2e3a959d21580b18d03e5616394fed WHIRLPOOL 12f944bc830a260290dd70f0f79257b9f6745ec7da6074beee7cc2f47d62824fda2d33ce5d9b56257594362e1decf8fd3ad3879b640defc94f0b6092ff302eb2
EBUILD calculate-update-3.1.9999.ebuild 520 SHA256 99d195766e2c5cf3c8ec30c34aa244c77559442511b37d6738d5b60d41ddfa37 SHA512 926703213c3918af07d494a0d6f13efa917cb6ae953c102a7cd5497a5988c4e6cef4b0621ad713a8431eb1b7b735856ed6fa6644b01ff14bb5942dc85bb5c27e WHIRLPOOL dadcbdaf1f7b42e18d4ab94bbb741c5576799da3f17ecef254839d989302d7f792a27a1f12967d776101636702e9fbedf34bca1b120f205fc1a2f0a7e1525c6a
EBUILD calculate-update-3.2.0_alpha11-r3.ebuild 772 SHA256 378e6adcf1c72dae05951273628e0af92b12bf198b86488bd66b186ce86226f1 SHA512 fd0a6ecaceb37f791b3b4df5981dc040d0dcd0e84e925105c7da69d91303ca0b6c6013d2bdb9b610c1432f4e7e603981fb98074df4de6df045482080f346c3a0 WHIRLPOOL 66f01927bf9bd7fbca6412a5cc10e93fe85a001626401919861572af78fbbfe1d89e1d02793361cbf80d424498f029bd78e80e789a45a721c7a01b7cf81eece9
EBUILD calculate-update-3.2.0_alpha11-r4.ebuild 770 SHA256 a7cc39eea5ab4141f972127ce7b958bf3dfb9a12a2706d4059b5f42d4e4dddea SHA512 51551d0b2f4acb2a9c411cdf46b723a5ce05e92c09849db02655d8260292854ddb58ab1e2795007d57fcf1a2d98d2785bbe97d07875af6e45833fc4de4fe5955 WHIRLPOOL a397d4043bce093d86791db6ccca2b2a2fa8beeb22819028584fd5c11feea688d79e042ef089914f3612be96de0a0f32ad555a1e56eeac845c205f71fe0ba88c
EBUILD calculate-update-3.2.0_alpha11-r5.ebuild 770 SHA256 35b2e061c3eb9d60824c54dc0a81cf7c8488e0e21b85685afe8d70814e00cd9e SHA512 d1fb7fce5937a310b36bf4314450e0b3216b3d1cd6ff64d5b9091383ef848d1e2b1aa5e034479aa275edb175e62d2b4d56d94e04971cabb091a84c67b37daa71 WHIRLPOOL f6ea276560001cc4eab654eadb05b55a2b9d8b960ba3d961376817bb66fa382d6462683807da3ff49fcaa449419b286cf79d95dcd93da6449c6823763c8d4212
EBUILD calculate-update-3.2.9999.ebuild 520 SHA256 13be99f26482c5ef9097b758b66c25024df1850963b1c7dbacab71bd50ea4815 SHA512 7b077570676855b0cc3fa87ec329f14d2a94cf90bebab80ab03e9b0711f21fa7c578e8c063d05bc07e32031b48c342523a2344f06face54af455d885a9a8836a WHIRLPOOL 8443a7028edec83ccd6a870116b5fadc1b22e668e0df179bed9e4be06307f0c37834eed788e5ae620d619e6a6ca1dc09ed75fccd6cd0e4e46c77f480077189af
MISC metadata.xml 274 SHA256 90e473fd86cfea0413c6716c7dbbf79b686276fcd1ebe41e5ce60116335f825c SHA512 81d626411cde5b4f6d3fba8f9848e11aa981a0b300eae59f0a473738b2612b2c356d7c3933cee6c2e15f09515c0be39bc6a3175a877fe318f39a704540516588 WHIRLPOOL 90b28551a43fda86643748748b25743df29d292b865b0a8ad338f4386eae7dc5232b54d539c286c4a7004fb194f783450441fdf09654739962da4d1cf7725bae

@ -0,0 +1,33 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="3"
SUPPORT_PYTHON_ABIS="1"
PYTHON_DEPEND="2:2.7"
RESTRICT_PYTHON_ABIS="2.4 2.5 2.6 3.*"
inherit distutils eutils
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/calculate3/${PN}/${P}.tar.bz2"
DESCRIPTION="The program of update Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND="~sys-apps/calculate-core-3.2.0_alpha11
~sys-apps/calculate-install-3.2.0_alpha11
dev-python/pexpect"
RDEPEND="${DEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-update-3.2.0_alpha11-r5.patch"
}

@ -0,0 +1,303 @@
diff --git update/package_tools.py update/package_tools.py
index a99af36..90dde33 100644
--- update/package_tools.py
+++ update/package_tools.py
@@ -126,6 +126,16 @@ class Layman:
self._add_to_makeconf(rpath)
return True
+ def get_installed(self):
+ """
+ Получить список установленных репозиториев
+ """
+ if path.exists(self.installed) and readFile(self.installed).strip():
+ tree = ET.parse(self.installed)
+ return [x.text for x in tree.findall("repo/name")]
+ return []
+
+
class Git:
"""
Объект для управление git репозиторием
@@ -658,13 +668,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 +686,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 +743,7 @@ class EmergeRemoveInfo(EmergeUpdateInfo):
"""
Информация об удалении одного пакета (в списке обновляемых пакетов)
"""
- install_info = "\[(uninstall)[^\]]+\]"
+ install_info = "\[(uninstall)([^\]]+)\]"
class Eix:
diff --git update/update.py update/update.py
index 19a1fe2..0f15ada 100644
--- update/update.py
+++ update/update.py
@@ -35,7 +35,8 @@ from package_tools import Git, Layman,\
Colors = TextState.Colors
from calculate.lib.utils.files import (getProgPath, STDOUT, removeDir,
- PercentProgress, process)
+ PercentProgress, process, getRunCommands,
+ readFile)
from calculate.lib.cl_lang import (setLocalTranslate, getLazyLocalTranslate,
RegexpLocalization, _)
import emerge_parser
@@ -115,24 +116,34 @@ class Update:
"""
Проверить повторный запуск
"""
+ update_running = lambda: any(os.getpid() != x
+ for x in search_worked_process('update', dv))
dv = self.clVars
- if filter(lambda x: os.getpid() != x,
- search_worked_process('update', dv)):
+ if update_running():
if not wait_update:
raise UpdateError(_("Update is already running. "
"Try to run later."))
else:
self.startTask(_("Waiting for another update to be complete"))
- while filter(lambda x: os.getpid() != x,
- search_worked_process('update', dv)):
+ while update_running():
self.pauseProcess()
- while any(ifilter(lambda x: os.getpid() != x,
- search_worked_process('update', dv))):
+ while update_running():
time.sleep(0.3)
self.resumeProcess()
time.sleep(random.random()*3)
+ self.endTask()
+ emerge_running = lambda: any("/usr/bin/emerge" in x
+ for x in getRunCommands())
+ if emerge_running():
+ if not wait_update:
+ raise UpdateError(_("Emerge is running. "
+ "Try to run later."))
+ else:
+ self.startTask(_("Waiting for emerge to be complete"))
+ while emerge_running():
+ time.sleep(1)
self.endTask()
return True
@@ -169,10 +180,10 @@ class Update:
branch, cb_progress=self.setProgress)
removeDir(rpath)
os.rename(rpath_new, rpath)
- except OSError:
- raise UpdateError(_("Permission denied to modify the "
+ except OSError as e:
+ raise UpdateError(_("Failed to modify the "
"{repname} repository").format(
- repname=repname))
+ repname=repname)+":"+str(e))
finally:
if path.exists(rpath_new):
removeDir(rpath_new)
@@ -217,6 +228,18 @@ class Update:
egenCache = getProgPath('/usr/bin/egencache')
if not egenCache:
raise UpdateError(_("The Portage tool is not found"))
+ path_rep = self.clVars.Select('cl_update_rep_path',
+ where='cl_update_rep_name',
+ eq=repname, limit=1)
+ repo_name = readFile(
+ path.join(path_rep,"profiles/repo_name")).strip()
+ if repo_name != repname:
+ self.printWARNING(
+ _("Repository '{repo_name}' called '{repname}'"
+ " in cl_update_rep_name").format(
+ repo_name=repo_name, repname=repname))
+ raise UpdateError(_("Failed to update the cache of the {rname} "
+ "repository").format(rname=repname))
cpu_num = self.clVars.Get('hr_cpu_num')
p = process(egenCache, "--repo=%s" % repname, "--update",
"--jobs=%s" % cpu_num, stderr=STDOUT)
@@ -234,11 +257,15 @@ class Update:
if not emerge:
raise UpdateError(_("The Emerge tool is not found"))
self.addProgress()
- p = PercentProgress(emerge, "--metadata", part=1, atty=True)
+ p = PercentProgress(emerge, "--ask=n", "--metadata", part=1, atty=True)
for perc in p.progress():
self.setProgress(perc)
if p.failed():
- raise UpdateError(_("Failed to update metadata"), addon=p.read())
+ data = p.read()
+ with open('/var/log/calculate/failed-metadata-%d.log' % time.time(),
+ 'w') as f:
+ f.write(data+p.alldata)
+ raise UpdateError(_("Failed to update metadata"), addon=data)
return True
def eixUpdate(self):
@@ -253,24 +280,8 @@ class Update:
if not eixupdate:
raise UpdateError(_("The Eix tool is not found"))
self.addProgress()
- excludeList = []
- if self.clVars.Get('cl_update_eixupdate_force') == 'force':
- countRep = len(self.clVars.Get('cl_update_rep_name'))
- else:
- for rep in self.clVars.Get('cl_update_rep_name'):
- # подстановка имен
- mapNames = {'portage': 'gentoo'}
- if not rep in self.clVars.Get('cl_update_sync_rep'):
- excludeList.extend(["-x", mapNames.get(rep, rep)])
- countRep = len(self.clVars.Get('cl_update_sync_rep'))
- if (self.clVars.Get('cl_update_other_set') == 'on' or
- self.clVars.Get('cl_update_eixupdate_force') == 'force'):
- countRep += len(self.clVars.Get('update.cl_update_other_rep_name'))
- else:
- for rep in self.clVars.Get('update.cl_update_other_rep_name'):
- excludeList.extend(['-x', rep])
- p = PercentProgress(eixupdate, "-F", *excludeList, part=countRep or 1,
- atty=True)
+ countRep = len(self.clVars.Get('main.cl_portdir_overlay'))+1
+ p = PercentProgress(eixupdate, "-F", part=countRep or 1, atty=True)
for perc in p.progress():
self.setProgress(perc)
if p.failed():
@@ -385,12 +396,28 @@ class Update:
ebuild_color = TextState.Colors.GREEN
binary_color = TextState.Colors.PURPLE
remove_color = TextState.Colors.LIGHT_RED
+ flag_map = {"updating":
+ _print.foreground(TextState.Colors.LIGHT_CYAN)("U"),
+ "reinstall":
+ _print.foreground(TextState.Colors.YELLOW)("rR"),
+ "new":
+ _print.foreground(TextState.Colors.LIGHT_GREEN)("N"),
+ "newslot":
+ _print.foreground(TextState.Colors.LIGHT_GREEN)("NS"),
+ "downgrading": (
+ _print.foreground(TextState.Colors.LIGHT_CYAN)("U") +
+ _print.foreground(TextState.Colors.LIGHT_BLUE)("D"))}
for pkg in sorted([PackageInformation.add_info(x) for x in
pkglist],
key=lambda y: y['CATEGORY/PN']):
+ install_flag = ""
if remove_list:
pkgcolor = _print.foreground(remove_color)
else:
+ for flag in flag_map:
+ if pkg[flag]:
+ install_flag = "(%s) " % flag_map[flag]
+ break
if self.is_binary_pkg(pkg):
pkgcolor = _print.foreground(binary_color)
else:
@@ -407,8 +434,10 @@ class Update:
else:
size = ""
mult = _print.bold("*")
- self.printDefault(" {mult} {fullname}{shortname}{size}".format(
- mult=mult, fullname=fullname, shortname=shortname, size=size))
+ self.printDefault(
+ " {mult} {fullname}{flag}{shortname}{size}".format(
+ mult=mult, fullname=fullname, shortname=shortname, size=size,
+ flag=install_flag))
def _display_install_package(self, emerge):
"""
diff --git update/utils/cl_update.py update/utils/cl_update.py
index d300ea0..0a815ff 100644
--- update/utils/cl_update.py
+++ update/utils/cl_update.py
@@ -192,6 +192,13 @@ class ClUpdateAction(Action):
'condition': was_installed('.*', log_names['revdep']),
'decoration': 'Update.update_task("%s")' % log_names['revdep']
},
+ {'name': 'update_other:dispatch_conf_end',
+ 'message': __("Updating configuration files"),
+ 'method':'Update.dispatchConf()',
+ 'condition': lambda Get: ((Get('cl_update_rev_set') == 'on' or
+ Get('cl_rebuild_world_set') == 'on') and
+ Get('cl_update_pretend_set') == 'off')
+ },
]
},
{'name': 'update:set_upto_date_cache',
diff --git update/variables/update.py update/variables/update.py
index 1c22e5c..3173c23 100644
--- update/variables/update.py
+++ update/variables/update.py
@@ -21,10 +21,12 @@ from os import path
from calculate.lib.datavars import (Variable, VariableError,
ReadonlyVariable, ReadonlyTableVariable, TableVariable, FieldValue)
from calculate.lib.utils.portage import searchProfile
-from calculate.lib.utils.files import readLinesFile, readFile
+from calculate.lib.utils.files import readLinesFile, readFile, makeDirectory, \
+ listDirectory
from calculate.lib.cl_lang import setLocalTranslate
from calculate.update.emerge_parser import EmergeCache
+from calculate.update.package_tools import Git, GitError, Layman
setLocalTranslate('cl_update3',sys.modules[__name__])
@@ -327,7 +329,7 @@ class VariableClUpdateOtherSet(Variable):
"""
type = "bool"
value = "off"
- opt = ["--update-other"]
+ opt = ["-o", "--update-other"]
def init(self):
self.help = _("update other overlays")
@@ -342,10 +344,13 @@ class VariableClUpdateOtherRepData(ReadonlyTableVariable):
def generator(self):
repNames = self.Get('cl_update_rep_name')
+ layman = Layman(self.Get('cl_update_layman_installed'),
+ self.Get('cl_update_layman_make'))
+ layman_overlays = layman.get_installed()
for rpath in self.Get('cl_portdir_overlay'):
- repo_file = path.join(rpath,"profiles/repo_name")
+ repo_file = path.join(rpath, "profiles/repo_name")
rname = readFile(repo_file).strip() or path.basename(rpath)
- if not rname in repNames:
+ if rname in layman_overlays and not rname in repNames:
yield (rname, rpath)
def get(self):

@ -6,5 +6,6 @@ EBUILD calculate-utilities-3.1.9999.ebuild 800 SHA256 9de4807341cb552ef8d4f702e9
EBUILD calculate-utilities-3.2.0_alpha11-r4.ebuild 844 SHA256 0bbb15587365a1e0626a43e9a3ec8e3b63da4f38b35cc75bef4a3b526130509b SHA512 c42433f911ea2a2a131b6f415daca5002cc0b19958acdbd4adc052c80b9925890f17597aae4790e5b5ee5424849a89bff0c664a65a0d95aeea6622e6edc4f64a WHIRLPOOL 893135657836ed0fb39b7a1e0c967ff0ccecd61c2dced11bb3764c82087241c113f7e5728417313aa30005a86223d01ad67082945ebfa88a857e01d1e864d5e8
EBUILD calculate-utilities-3.2.0_alpha11-r5.ebuild 842 SHA256 b300ecbbeb548f28f2896a3b6f4699fd4004a1e7a37b92e2dd2c8bf611df025e SHA512 15b63707e7e123778bb905f5a5dcb76dddd415ac0db96ba7c25978ffe774f127c4a971f6dfe1509daa1052d59ee42248d4d4b5f084f770b05e06ef35a63a44f3 WHIRLPOOL 6cffc5b13bf05267b681c1c32b96703150c2375cf05abc300ece9c9849afe50f2f2f6364eac344cd402ce6f1b12767501665b0f10c5ba1ab07f8989c533f1560
EBUILD calculate-utilities-3.2.0_alpha11-r6.ebuild 842 SHA256 7a922913fd6efc31007188dbf263e3eecfde52da024176b59f43afa8df38079f SHA512 a8c2e30a5180eec19ed8930c2544d4e51557ac79d3c91106f6c9524a4c184cf0ce1445aa57bbc35221a131e38f8b186b3464d4c2a7c2cfca952211808399dd80 WHIRLPOOL 7b0a4fc6c4c592f482a6c31c77d1b2c2a9d02422be72ef0665a213927926bbf697077674a2d4792a904b0650808e7ee495812ab0e84ff9a4c3eb59749cb23b04
EBUILD calculate-utilities-3.2.0_alpha11-r7.ebuild 842 SHA256 f4d07fa28a59b0d2ef0749bfe2c9087b1ddc09a9c520f37b214f1bfe2022915b SHA512 e89fb97b5fd8e714ce50046b801c12a1772c9527e7f316384dcd9951425dd09e3afbfdb620d056af1388af8b838c1696dcbb902cc919a41586d3ebc4effd9210 WHIRLPOOL 4ee1e1cc0700a922f26d9ada9491accef9e44592a6df871e1f8e0885c00ada81cb2cff8279580408b8ccbbf05c1d1c2293cd436ca0583bcf8d07c228a5fa248f
EBUILD calculate-utilities-3.2.9999.ebuild 800 SHA256 acbb7a4e34387baa1ade9bf97637972fbfc97afa56367381d622198b5237e983 SHA512 9e0c74eb499157b6d3ace20d7e9da630660e46b74a6d575e222e1638c87f85660635187489b9312a45f193780c301d87c1dbb9a0f60414e178e8f54080c71ffd WHIRLPOOL 9b56f590f36d29d3518c66c453f97b14d083e36b62adb70a8916ae4e30b527431602a9edd40d703e5cb4296a01f8c982157b602651ee57a9c0ddb7a4c6aa2fe1
MISC ChangeLog 38731 SHA256 7e70a0bc1f3b34c0011f3874773a698a4bb96eb6d3dad10903575156bb8578bc SHA512 2de466ea990b9eac702b81fd097c3f5d06d1f4db1a4bd1d1b7380b45e551f6fd62c16564ecfc810246157d3ef1113ae373041580e70981d44752e50ed6134bc0 WHIRLPOOL 5ca0cee1ad0e9419f91ec11a9629b9a29db9fcbed4f5ae0aef1f8a2170ff58112c8580d61884c56ee410a0abc201fa8f4419cea35077fc8bb84e733f6fa6f4db

@ -0,0 +1,26 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Calculate Utilities meta package"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
SRC_URI=""
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
IUSE="cl_consolegui cl_client cl_desktop cl_console"
RDEPEND="${RDEPEND}
=sys-apps/calculate-install-3.2.0_alpha11-r1
=sys-apps/calculate-i18n-3.2.0_alpha11-r2
=sys-apps/calculate-lib-3.2.0_alpha11-r1
=sys-apps/calculate-core-3.2.0_alpha11-r2
=sys-apps/calculate-update-3.2.0_alpha11-r5
cl_client? ( =sys-apps/calculate-client-3.2.0_alpha11-r1 )
cl_desktop? ( =sys-apps/calculate-desktop-3.2.0_alpha11 )
cl_consolegui? ( =sys-apps/calculate-console-gui-3.2.0_alpha11-r2 )
cl_console? ( =sys-apps/calculate-console-3.2.0_alpha11 )
"
Loading…
Cancel
Save