Merge branch 'master' of git.calculate.ru:calculate/distros

mhiretskiy
Alexander Tratsevskiy 10 years ago
commit 3dc36cff0c

@ -3,6 +3,7 @@ AUX calculate-i18n-3.2.0_alpha10-r2.patch 239633 SHA256 eb45bf3936c023a17b803f1e
AUX calculate-i18n-3.2.0_alpha10-r3.patch 241985 SHA256 30f7b4e20b8843c8e09bf8364ccf875b5ec2465ee71de22f8edca95f0c61d382 SHA512 0057ff8751db2eeae8278661fc8930868f90ea6a23175df57068db23aaf747c6e5ec2be24db7c22b52af7380e54f33392ae4970c250e58824a771f5d153310e7 WHIRLPOOL 273f7261077a53560f5ce6ee0c61641be02b44cea6a2a29ba76d1ca5ea90c0b168671aa63e094f7336c5c409344a84fcbfd30092982ca7a23b04b537f1c8daf0
AUX calculate-i18n-3.2.0_alpha10-r4.patch 242367 SHA256 6de71fb7ac471000df0f0d37821aa582be104f1f67434a333381dd3baca4f398 SHA512 9b034476a5137fb57e418667e3afa8c0f3bafed311a35743107c9ae2276785c0e5fa7c1ae4bfb63515aed5720cc9cfc430d8ae478702dddbdb49fa0296a3bba7 WHIRLPOOL a1c6be2761ad14074d06d0e0b579346d6b44e1705e5ef956442ad99c533d8c5118e36cdaf8147670c65e536d38d74ae02f3fe27e2c5f8e82486a012312e116b9
AUX calculate-i18n-3.2.0_alpha10-r5.patch 242564 SHA256 c3e015935602ef3b850a878eb61611e4910f5126099e2a47bd86d3941621bd81 SHA512 38b699cc90defe91268d0edd89e5e86456d9096520db7309eeed2e4558160063ee8ecb1ebddbafde05ca3b05885b81d33badb2104d3fc51f1f4344f36897a340 WHIRLPOOL b00f9367d7d217a0f982138d38602ba4afb05dd1378fff3f3917f64d993af3805f91b2107073e34af450f89e3f520ccab1bdf13f8d811bcd10d61b238e428aaf
AUX calculate-i18n-3.2.0_alpha10-r6.patch 242681 SHA256 bf226a35a1e405a59786ade83b9b83ba82dfaafa8d4e90bf6e3fbb221e78560b SHA512 bb0eba9860857b4f62d973e9ad54cd688098706f5acfd910fea49d25c72a4a093a2b7b53e135661aa1c466ee78f98dba55edfddee670ccf5adad0ed9a782ef7f WHIRLPOOL 20f442325b9e20bef96fe7168a7a280dedee0260f842a4a95484b9122b954f7a31f1c9d9589441344788295c3b1c7b3df816f1c8e5325922d5f0031ca8ec5de6
AUX calculate-i18n-3.2.0_alpha6-r1.patch 2028 SHA256 b9e8577bdd11aa5e37e276bfca165816456ac43407bd509043b23740cc5e4d60 SHA512 b66a449e3b6d2f44f91b920c33e3f69d12d9659eb9973653babe5a15e5fc7c4d6ff5774957c231fdbcb435faf7042b327deb5f7c968d0f75ae412cd5938da66d WHIRLPOOL 14fd8b210ef316b82e9993320e014a79c4f263b48124ff344c87cd22f72285070667063ea6a5a299191e50f38e2e378272f80daffa93e0075ab00d936274b775
DIST calculate-i18n-3.2.0_alpha10.tar.bz2 111001 SHA256 484c2135f361dfaaa326c2dc5c0f29cfc685f8a4dcf6fc363d8df72e3692b6c1 SHA512 c87e6e7d196c23012e6a1999ec93652a29d28ccef219702b85445237d3cce6a8fcad3929ef1ffeb5204747d025c3f79a6ae2f5fe1288f48e81144ca9479db5cf WHIRLPOOL 94614bd8c49cc0fa3636271dd43b91e24b193a00262837e7e17fa9aa02e475ba141e56fde566bd33f272818ac0dc6d915627b680c3ccc74fb642239fe6d869fc
DIST calculate-i18n-3.2.0_alpha6.tar.bz2 64584 SHA256 19a08288593778bb81df32c4c7d8ec6c2e3cfab3e98c778cc661d47a6d9c66e1 SHA512 b512ba91756af95ce7f388139280a9e8015a1a41c41b8101d56f5202df5cf42d1038d25dd3f97ab13542b5c85a6999eb303c338bf0aace7033cfb2987bfec660 WHIRLPOOL 80863dc1eeb451df069ca31e3b0cf5bbfdc56fcd838dd7047a9f494aaed1b0b4890dbc4fe812a6f46ad24b91606ec224380d5c5bc909a13965aa1defd907a364
@ -14,6 +15,7 @@ EBUILD calculate-i18n-3.2.0_alpha10-r2.ebuild 733 SHA256 c842ca44ca04de6645fce89
EBUILD calculate-i18n-3.2.0_alpha10-r3.ebuild 733 SHA256 504fcf519add1db10907ae7b795bb9f5b7471dba990f98b3564755bd33b044f2 SHA512 7c791af9c7e4df32ec4b3321d71f954e12789a3dd5d42536377347490395220f71de5491e761f3d365563e0598d106193c80746bb2e69454f6311f602f24c4de WHIRLPOOL ff1096e7ea788fc16f6b1847a35180c28dd34e5fea48d461d550af4a58afe3983a51641ceb2eb4ef1b73d1444c1a7f04a65a8bc0710cc547301faf9c89d7777a
EBUILD calculate-i18n-3.2.0_alpha10-r4.ebuild 733 SHA256 760e33a8fcbddce828fcb6cbaf864d7cb6cbb3b2a90ce2a63f6a7be524a430d2 SHA512 95501815c6a74b94f45ce71d7a736e65afd53674865404fe40263ef449468a7398b3100d09b435d241fb845051db92751c451cbc95a1e757b6a0567b16b481e9 WHIRLPOOL 6070e69be2d7ad9e7e5942eec7a2b483a5685c21572ce21d2737b1de739f4213733faab05bd3555822f63aa93c3124e4a94a9df91dca443c2f8cf093265d303a
EBUILD calculate-i18n-3.2.0_alpha10-r5.ebuild 733 SHA256 5efde9bfeacc5ef0c4affa2302c9e3b160946d791cac998a7a360383aadf0493 SHA512 79e2ea747626340d7850a78afacd786cfe974fd419ebe13dce8e3270983217a9286a93bdb762fd813e9e0bad4bfa8a7797f1430f0e8967a0fab50883b34f0472 WHIRLPOOL 77b35eff97421cfdef9895e8f5281cf193dfecd8d5f53fed91683beea1f728568cd84fbf3c3a7deb669ad6052581cb210807f6eec6ae872aa5a5082068e5ed3f
EBUILD calculate-i18n-3.2.0_alpha10-r6.ebuild 733 SHA256 fd7dfc3901eaccefa25dc4b739c09b6ff00c2414aef729768e9b8a4493326198 SHA512 25bb29cc30700b8e0df89b9423952614deee6a324c91f0e97c7380ccefb7a7c6a68b7b12ea52d80c8fc7623dba7f8a70e573fc6309700e3e5a5e75dfb9d3f769 WHIRLPOOL 03dd5ad6efd66e5ad98e5b473b71b8301bd846d05e6e2ad178e598a9f4f534f208814a76b739cfa7185da6798b09513b7cf225637a4c45ce12588f19f0c2bff6
EBUILD calculate-i18n-3.2.0_alpha10.ebuild 590 SHA256 b14e52620a2230b40251a8111da01d0b6a460f880b55699099de644f73cbe275 SHA512 0e65611eea92c4d014f3f4ba8b5a16e1fd4a7f0df8e776c556d6852cf6d5c5352d101e5551bcd2d104869f1b4b652f37430640bc4bd43bf7144d69703bb8374f WHIRLPOOL ed98deedd644814000d1e4873feb4993f37950009e2a8b2b2e0dfb2d05159e5b56856b34871c1536c99845418c690c335770483145b25f35c2e1ae01234a653c
EBUILD calculate-i18n-3.2.0_alpha6-r1.ebuild 731 SHA256 be88afd34ad405aa054f0e2d571272005abcdb0fae565aee4831170cb8da2826 SHA512 f23bdf7f67ca241abcfc287a86d322119a9b34cbc733658b9f95d3836d669849eaed3b0704c2f22a50b43c14974bc33bc94837b4be60c073f54283d0a819f09b WHIRLPOOL 8bd173141576e8add3622d794175db07cd8edae447d6d95bff10fc6276c65db2c83f9dd4045feaffd019daf2d33d8055a108fd5ee39e57613753ffe328750369
EBUILD calculate-i18n-3.2.0_alpha6.ebuild 589 SHA256 4f8fa37f38584c2cf677381de4eb0b29d950e267092021b261646fc399c9ced0 SHA512 38ae5bd8627cef3b67177705f1f03d379161cca364de0adc8bcffb60616f234a45ffc1eb62b56966a4b4de39f75c6d7055b51bcaa05c4460e4bfbc546fc6fbf7 WHIRLPOOL ba058adfe7ce88bd7de4286e4cdeaa306cf4ccc560ffcc170f503e13e2bd10415b8325445ee4b7f975425142525030193802f2a6dddf18d5af9c8bd66768fd52

@ -0,0 +1,31 @@
# 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 utilities for assembling tasks of Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
RDEPEND=">=sys-apps/calculate-lib-3.2.0_alpha10"
DEPEND="sys-devel/gettext
${RDEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-i18n-3.2.0_alpha10-r6.patch"
}

@ -1,4 +1,5 @@
AUX calculate-update-3.2.0_alpha10-r1.patch 19066 SHA256 4390a2a0a8425ddc0a3064e979547f916317e5268161e87b936acf40c7bf8dae SHA512 68548d6ac7886009d5590582fb4da449881402298ae8a794071a64942df773799d7b9813ccece1eba3e58d413d6866a3f0d7172d7c475c4abbccb650bd9c6180 WHIRLPOOL 8415635d09cf8b31fbc7081cb2184891f9c6bfcd9b1d1c78767b8af5cd9562de48c1f24accef92b6b47aa59d3eac35bbbbea6e0d8fbd51466a9317e4cc304a2b
AUX calculate-update-3.2.0_alpha10-r10.patch 36002 SHA256 869dd38cce9f34f5e041e14f7292ce0f40d0af7fd383f054c9d138107f65ba06 SHA512 98032f6970dc61fb9b4a680dd257623a7f73c335babdfd341314a2ca3f516b01db81ea051fc9790d483bdff5ac9cd38c312b8ed72785e17aaba339c804917091 WHIRLPOOL c2d644106acb83839ad25ac5d73bca3307810918b6d2f39f009e9aa6450f071d19c125c10f2e93c2dd0641a32ea08466230d5bcafd56f690016de6b9127c0793
AUX calculate-update-3.2.0_alpha10-r2.patch 20660 SHA256 a210e14f28a8e7876576ea53a6072eddc47a73860aad58d830444c0b5f90a859 SHA512 3e215e6acd983238fa89de2c975f4a2ae12f9ed21009d9f818276b24874f68750cf219006e43ed37c087b49bf408b5d7b8dda97e12d4c5721375d237c7df2e5f WHIRLPOOL 2fde0ea0daafc4180cb949506b2595962998ffe50bb5bf09ce7ded90f29bd3350da74c10f6c4e24b259a6e097a072df37d8f28bef2ba5003ecfec0e4f20e1674
AUX calculate-update-3.2.0_alpha10-r3.patch 21132 SHA256 45c1294a6b38123ee215acf7d3279f13ec7d803fe9e356b088f3f803290cf823 SHA512 0eb56be1543d475f9472716f6bf65bf300d26c498776e34b07804c00d17006aee7701c88ede67a49d01285ba57b4fb6bbc144bff52fd3200278ea0facc8e8fa5 WHIRLPOOL e78a59c932fb4b33958d84d10f1647152ec4016ecced8be61d6422bb8ac8e65049bf4a6d5637ea705904226ad111003d367927ae55d4d18178b8bea353780daa
AUX calculate-update-3.2.0_alpha10-r4.patch 22930 SHA256 bb8d7fc90780ea99f38f0831d53d48d112c06db397d41b13469251ca4a187cbb SHA512 5e9e5c8768f6c9636f257bad28cd233180a06f3232e745d4d0228d9cb40445d5107a59a1d67a76f2583fc9c304497cf3a5cc447ae55c8fa02747c701c1eb778b WHIRLPOOL aa6771993617187f0d2e3dbcace8e39cb10f94f678ff580d347996cd577ad0aed744f24003e1073823fea6a7850db09a459f87fccd5c8124f5acdce47f724ef4
@ -14,6 +15,7 @@ DIST calculate-update-3.2.0_alpha7.tar.bz2 25167 SHA256 73354a7256acf3939c988fd0
DIST calculate-update-3.2.0_alpha8.tar.bz2 25248 SHA256 2bd5d35565644588b96584d1a18461c01b09e676bae739a0c3ca13307c8b0eef SHA512 0cc82eed222f27ceeae24c1dd528ecdb589e95ff21d7e5e09be1d42d39e3f4430cf6b3325f36c8a39deba116e5726433552ced6481944d3d06980bb0be7ea75a WHIRLPOOL c116e6f363a3a1a64f4e62192bb4cd86577e3faa247d4726504762950e995238b5fb620b334be3dd16a9ebaa73e104bd20c6d94b16b9f86926b9c85172d3a56e
DIST calculate-update-3.2.0_alpha9.tar.bz2 25265 SHA256 d482ab158fa2d3ed1742627056861eeaa9bcf1833b41d3676bd9d1d85f8d19bb SHA512 f0a547d6e36852407d158a4e4c629ee08aae08b9d0ec0641428f9522eada6ad0df4bb839a7f2bcb89362baeb816d38b62b21ff03783a6e6c0e17931dddd6cddf WHIRLPOOL 5fb767e73ac233a57e9f62e6f0359e23b3c6ec0924ce4725278d009023c863cc74cb3a2767d7d8a2f13ce8c0fff01f58b5ed7c4a247786969867cb66aac45515
EBUILD calculate-update-3.2.0_alpha10-r1.ebuild 770 SHA256 f09748ea4bf9588a568b0abb8e8eb83428a6d4f2ffc30ba770b90467cf25f5d9 SHA512 eb7eb345b9789a734f2a62048d56cc75867cb6a81f9acd55157dc76afbbdc82819dd098ad51bfda7d9624e7a0e1af02d918da3617b665b2030c941f5d3a20047 WHIRLPOOL cd69fb9155d0d238c63432e62ceb61fc3a7ee24373716e6f65b9bd9754495b479c7d0a762d095041e032a065942ed2fb7459e1a4258038d7d901dde207187c7e
EBUILD calculate-update-3.2.0_alpha10-r10.ebuild 771 SHA256 b89c8afdcefb724703b7683745feafdb84fdb7e65b1b3928e18827d72beaa154 SHA512 c57886bd206ade8e2896bd019f462fd978f4bf45c89e8f0dcac33827a2c9dab886476da7ce93d4053e4303cfad6756ed868342ca0d28fd4972ee1b12e3032be5 WHIRLPOOL b369c5c8abea6142290efa919f7f71cd5d9f358ee79ac2372b2e53e08f701d5d812cea11d27440369c3bb3b3900d8509c88221253e0625fe5178a15912d0c6d4
EBUILD calculate-update-3.2.0_alpha10-r2.ebuild 770 SHA256 c6ed49be093c18419890081ef26fed41f9fafa923b445d211c26bc30e02503ca SHA512 f7f252c6a99bee219e655dd53e3bcba8bcd0c9ea07693a29301b53cbcddd0b2e39fb75854ca1ef7681ce18c6dc0e62c86a207759d0e9b1cb100dafb81fa43348 WHIRLPOOL f8f742e5781d0874217ce9f65d5130054fb20d623f6f87c67e32aab9691413e149508caf4ad4595efb6890b222ac39398c2bd70e4fb84581c438c72fca4270e9
EBUILD calculate-update-3.2.0_alpha10-r3.ebuild 770 SHA256 8f5b5a038e1317b30a8569cfe5bac071d7c63ffec7a099c555e5c873c0c44f2b SHA512 e273f8f2c59e9c037f38673402a22d73955b6aadc9010ed6e022c8fee1ff883350de60ba7267008b0c43e6fe739430c3ca251be5f742bf487acbc851dc3a7d38 WHIRLPOOL fed4f14644e24a036c266733fcc230bc2f351af0e9dcfdbf0d21257db38c9fd13a630a2eb02df30b75780cb639b22fc148ea1990794d11a55f7d031cd1bd10df
EBUILD calculate-update-3.2.0_alpha10-r4.ebuild 770 SHA256 e6c00b4eb44471c36d45f5fe5b59050eaf52a3668bfc7d577dc5158842bd0df0 SHA512 fb8ec55244db8a1ad361e2d36d5fa6c682b8480d1d4fcdb9db7951adf70f1bbccec2ebbdce89d1af281f8dc56969f3cb92f810bfe028540a568eea59d18abf1c WHIRLPOOL bc1179b41e93b3c2e6cc25c7b476693811d784cf4ec6a60927414d398cba6adfe5006c9fcdf70520065a537aec632d8ac6656e7121467907d563705afc2a99cb

@ -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_alpha10
~sys-apps/calculate-install-3.2.0_alpha10
dev-python/pexpect"
RDEPEND="${DEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-update-3.2.0_alpha10-r10.patch"
}

@ -0,0 +1,815 @@
diff --git data/cl-git-wrapper data/cl-git-wrapper
index 8728c8b..d945d0a 100755
--- data/cl-git-wrapper
+++ data/cl-git-wrapper
@@ -22,7 +22,7 @@ native_reps=,$(/usr/sbin/cl-core --method core_variables_show \
if echo $native_reps | grep -q ,${repo_name},
then
# отбновить репозиторий через утилиты Calculate
- /usr/sbin/cl-core --method update $repo_name --sync-only on --skip-update-metadata --skip-eix-update --update-rev=off
+ /usr/sbin/cl-core --method update $repo_name --sync on --skip-update-metadata --skip-eix-update --update-rev=off
else
# выполнить обновление через git
/usr/bin/git $*
diff --git update/emerge_parser.py update/emerge_parser.py
index 80d012b..a9064c6 100644
--- update/emerge_parser.py
+++ update/emerge_parser.py
@@ -32,6 +32,7 @@ from calculate.lib.utils.files import getProgPath, readLinesFile, listDirectory,
from calculate.lib.utils.colortext.output import XmlOutput
from calculate.lib.utils.colortext.converter import (ConsoleCodes256Converter,
XmlConverter)
+from calculate.lib.cl_log import log
from calculate.lib.cl_lang import setLocalTranslate, getLazyLocalTranslate, _
@@ -218,16 +219,25 @@ class UninstallPackagesBlock(EmergeInformationBlock):
Блок emerge содержащий список удаляемых пакетов
"""
list = PackageList([])
+ verbose_result = ""
_new_line = EmergeInformationBlock._new_line
_color_block = EmergeInformationBlock._color_block
- token = ["These are the packages that would be unmerged",
- "Calculating removal order"]
+ token = ["Calculating removal order",
+ "These are the packages that would be unmerged",]
end_token = re.compile("All selected packages:.*\n")
- re_block = re.compile(r"All selected packages: (.*?){nl}".
- format(nl=_new_line, c=_color_block), re.DOTALL)
+ re_block = re.compile(
+ r"(?:{token}).*?{nl}(.*){nl}All selected packages: (.*?){nl}".
+ format(token="|".join(token),
+ nl=_new_line, c=_color_block), re.DOTALL)
def get_data(self, match):
- super(UninstallPackagesBlock, self).get_data(match)
+ re_clean = re.compile(
+ "^.*?({token}).*?{c}{nl}".format(token="|".join(self.token),
+ nl=self._new_line,
+ c=self._color_block), re.DOTALL)
+ verbose_result = re_clean.sub("", match.group(1))
+ self.verbose_result = self._get_text(verbose_result)
+ self.result = self._get_text(match.group(2))
list_block = XmlConverter().transform(self.result).split()
self.list = PackageList(map(EmergePackage, list_block))
@@ -403,6 +413,16 @@ class UnemergingPackage(NotifierInformationBlock):
observer(EmergePackage(groups[2]), num=groups[0], max_num=groups[1])
+class FetchingTarball(NotifierInformationBlock):
+ """
+ Происходит скачивание архивов
+ """
+ token = "Saving to:"
+ re_block = re.compile("Saving to:\s*(\S+)?")
+
+ def notify(self, observer, groups):
+ observer(groups[0])
+
class InstallingPackage(NotifierInformationBlock):
"""
Запуск устанавливаемого пакета
@@ -447,7 +467,7 @@ class EmergeingErrorBlock(EmergeInformationBlock):
return self.text_converter.transform(readFile(self.result))
def action(self, child):
- raise EmergeError(_("Emerge %s is failed") % self.package)
+ raise EmergeError(_("Failed to emerge %s") % self.package)
class RevdepPercentBlock(NotifierInformationBlock):
@@ -500,8 +520,10 @@ class EmergeParser(object):
self.installing = InstallingPackage(self)
self.uninstalling = UnemergingPackage(self)
self.emerging = EmergingPackage(self)
+ self.fetching = FetchingTarball(self)
self.emerging.add_observer(self.mark_binary)
+ self.emerging.add_observer(self.skip_fetching)
if run:
self.run()
@@ -509,6 +531,9 @@ class EmergeParser(object):
if binary:
self.installing.mark_binary(package)
+ def skip_fetching(self, *argv, **kw):
+ self.fetching.action = lambda child: None
+
def add_element(self, element):
if element.token:
if type(element.token) == list:
@@ -587,6 +612,9 @@ class EmergeCache(object):
'/etc/make.profile'),
Md5Checkvalue('/var/lib/portage/world',
'/var/lib/portage/world_sets')]
+ logger = log("emerge-cache",
+ filename="/var/log/calculate/emerge-cache.log",
+ formatter="%(asctime)s - %(levelname)s - %(message)s")
def __init__(self):
self.files_control_values = {}
@@ -602,14 +630,20 @@ class EmergeCache(object):
f.write('\n')
for pkg in package_list:
f.write("%s\n"% str(pkg))
+ self.logger.info("Setting cache (%d packages)"%len(package_list))
- def drop_cache(self):
+ def drop_cache(self, reason=None):
if path.exists(self.cache_file):
with ignore(OSError):
os.unlink(self.cache_file)
+ self.logger.info("Droping cache. Reason: %s"%reason)
+ else:
+ self.logger.info("Droping empty cache. Reason: %s"%reason)
def get_cached_package_list(self):
self.read_cache()
+ if not path.exists(self.cache_file):
+ self.logger.info("Requesting empty cache")
if self.check_actuality():
return self.pkg_list
return None
@@ -618,7 +652,20 @@ class EmergeCache(object):
"""
Кэш считается актуальным если ни один из файлов не менялся
"""
- return self.get_control_values() == self.files_control_values
+ if self.get_control_values() == self.files_control_values:
+ self.logger.info(
+ "Getting actuality cache (%d packages)" % len(self.pkg_list))
+ return True
+ else:
+ reason = "Unknown"
+ for k,v in self.get_control_values().items():
+ if k in self.files_control_values:
+ if v != self.files_control_values[k]:
+ reason = "%s was modified"%k
+ else:
+ reason = "Checksum of file %s is not exist" % k
+ self.logger.info("Failed to get cache. Reason: %s" % reason)
+ return False
def read_cache(self):
self.files_control_values = {}
diff --git update/package_tools.py update/package_tools.py
index dd86cbd..a99af36 100644
--- update/package_tools.py
+++ update/package_tools.py
@@ -29,6 +29,7 @@ from calculate.lib.utils.files import (getProgPath, STDOUT,
PercentProgress, process, readFile,
readLinesFile)
from calculate.lib.utils.common import cmpVersion
+from calculate.lib.utils.tools import ignore
from contextlib import closing
@@ -140,11 +141,11 @@ class Git:
if path.exists(rpath):
if not path.isdir(rpath):
raise GitError(
- _("Repository {path} is not directory").format(
+ _("Repository {path} is not a directory").format(
path=rpath))
if not path.isdir(self._gitDir(rpath)):
raise GitError(
- _("Repository {path} is not git").format(
+ _("Repository {path} is not Git").format(
path=rpath))
return True
return False
@@ -155,7 +156,7 @@ class Git:
"""
git = getProgPath("/usr/bin/git")
if not git:
- raise GitError(_("Git utility is not found"))
+ raise GitError(_("The Git tool is not found"))
return git
@staticmethod
@@ -191,9 +192,9 @@ class Git:
error = gitClone.read()
if "Remote branch %s not found" % branch in error:
raise GitError(
- _("Branch {branch} not found in {url} repository").format(
+ _("Branch {branch} not found in repository {url}").format(
branch=branch, url=url))
- raise GitError(_("Failed to clone {url} repository").format(
+ raise GitError(_("Failed to clone repository {url}").format(
url=url), error)
return True
@@ -272,7 +273,7 @@ class Git:
if command("get_rev_tag") or command("fetchshallow"):
if not command("has_branch"):
raise GitError(
- _("Branch {branch} not found in {url} repository"
+ _("Branch {branch} not found in repository {url}"
).format(branch=branch, url=url))
# если среди коммитов есть указанный коммит
if command("has_revision"):
@@ -281,7 +282,7 @@ class Git:
return True
elif command("checkout"):
return False
- raise GitError(_("Failed to clone {url} repository").format(
+ raise GitError(_("Failed to clone repository {url}").format(
url=url), error[-1])
def pullRepository(self, rpath, quiet_error=False, cb_progress=None):
@@ -294,7 +295,7 @@ class Git:
if not quiet_error:
error = gitPull.read()
raise GitError(
- _("Failed to update repository in {rpath}").format(
+ _("Failed to update the repository in {rpath}").format(
rpath=rpath), error)
return False
return True
@@ -316,7 +317,7 @@ class Git:
if gitFetch.failed():
error = gitFetch.read()
raise GitError(
- _("Failed to update repository in {rpath}").format(
+ _("Failed to update the repository in {rpath}").format(
rpath=rpath), error)
return True
@@ -332,7 +333,7 @@ class Git:
return not any(x.strip() for x in git_status)
else:
raise GitError(
- _("Wrong repository in {rpath} directory").format(
+ _("Wrong repository in the {rpath} directory").format(
rpath=rpath))
def parseStatusInfo(self, data):
@@ -376,8 +377,7 @@ class Git:
return git_show.read().strip()
else:
raise GitError(
- _("Failed to get status of repository in "
- "{rpath} directory").format(
+ _("Failed to get the repository status for {rpath}").format(
rpath=rpath))
def getStatusInfo(self, rpath):
@@ -395,13 +395,12 @@ class Git:
retDict = self.parseStatusInfo(git_status.read())
if not retDict:
raise GitError(
- _("Failed to get status of repository in "
- "{rpath} directory").format(
+ _("Failed to get the repository status for {rpath}").format(
rpath=rpath))
return retDict
else:
raise GitError(
- _("Wrong repository in {rpath} directory").format(
+ _("Wrong repository in the {rpath} directory").format(
rpath=rpath))
def resetRepository(self, rpath, to_origin=False, to_rev=None, info=None):
@@ -434,7 +433,7 @@ class Git:
rpath,
"clean", "-fd", stderr=STDOUT)
if git_reset.failed() or git_clean.failed():
- raise GitError(_("Failed to clean {rpath} repository").format(
+ raise GitError(_("Failed to clean the {rpath} repository").format(
rpath=rpath))
return True
@@ -456,11 +455,11 @@ class Git:
error = git_checkout.read()
if "pathspec '%s' did not match" % branch in error:
raise GitError(
- _("Branch {branch} not found in {rpath} repository").format(
+ _("Branch {branch} not found in repository {rpath}").format(
branch=branch, rpath=rpath))
raise GitError(
- _("Failed to change branch to {branch} in "
- "{rpath} repository").format(branch=branch,
+ _("Failed to change branch to {branch} in the {rpath} "
+ "repository").format(branch=branch,
rpath=rpath), error)
return True
@@ -600,16 +599,18 @@ class PackageInformation:
pkg_list = "|".join(
[x['CATEGORY/PN'].replace("+", r"\+") for x in self.query_packages])
output = pexpect.spawn(self.eix_cmd, ["--xml", pkg_list]).read()
- xml = ET.fromstring(output)
- for pkg in self.query_packages:
- cat_pn = pkg['CATEGORY/PN']
- if not cat_pn in self.information_cache:
- descr_node = xml.find(
- 'category[@name="%s"]/package[@name="%s"]/description'
- % (pkg['CATEGORY'], pkg['PN']))
- if descr_node is not None:
- self.information_cache[cat_pn]['DESCRIPTION'] = \
- descr_node.text
+ re_cut = re.compile("^.*?(?=<\?xml version)",re.S)
+ with ignore(ET.ParseError):
+ xml = ET.fromstring(re_cut.sub('',output))
+ for pkg in self.query_packages:
+ cat_pn = pkg['CATEGORY/PN']
+ if not cat_pn in self.information_cache:
+ descr_node = xml.find(
+ 'category[@name="%s"]/package[@name="%s"]/description'
+ % (pkg['CATEGORY'], pkg['PN']))
+ if descr_node is not None:
+ self.information_cache[cat_pn]['DESCRIPTION'] = \
+ descr_node.text
while self.query_packages:
self.query_packages.pop()
diff --git update/update.py update/update.py
index 2f867f4..70de1f3 100644
--- update/update.py
+++ update/update.py
@@ -14,17 +14,19 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from itertools import ifilter
+import random
import sys
from os import path
import os
import time
-from calculate.core.server.gen_pid import search_worked_process
+from calculate.core.server.gen_pid import search_worked_process, ProcessStatus
from calculate.lib.utils.tools import AddonError
from calculate.lib.utils.colortext.palette import TextState
from calculate.lib.utils.colortext import get_color_print
from calculate.update.emerge_parser import RevdepPercentBlock
+import math
from package_tools import Git, Layman,\
EmergeLogNamedTask, EmergeLog, GitError, \
@@ -36,6 +38,7 @@ from calculate.lib.utils.files import (getProgPath, STDOUT, removeDir,
from calculate.lib.cl_lang import (setLocalTranslate, getLazyLocalTranslate,
RegexpLocalization, _)
import emerge_parser
+import logging
from emerge_parser import EmergeParser, EmergeCommand, EmergeError, EmergeCache
setLocalTranslate('cl_update3', sys.modules[__name__])
@@ -56,6 +59,8 @@ class Update:
emerge_parser.CommandExecutor.logfile = commandLog
self.color_print = get_color_print()
self.emerge_cache = EmergeCache()
+ if self.clVars.Get('cl_env_debug_set') == 'off':
+ EmergeCache.logger.logger.setLevel(logging.WARNING)
self.emerge_cache.check_list = (
self.emerge_cache.check_list +
map(emerge_parser.GitCheckvalue,
@@ -116,10 +121,17 @@ class Update:
raise UpdateError(_("Update is already running. "
"Try to run later."))
else:
- self.startTask(_("Waiting for complete another update"))
- while any(ifilter(lambda x: os.getpid() != x,
- search_worked_process('update', dv))):
- time.sleep(0.3)
+ self.startTask(_("Waiting for another update to be complete"))
+
+ while filter(lambda x: os.getpid() != x,
+ search_worked_process('update', dv)):
+ self.pauseProcess()
+ while any(ifilter(lambda x: os.getpid() != x,
+ search_worked_process('update', dv))):
+ time.sleep(0.3)
+ self.resumeProcess()
+ time.sleep(random.random()*3)
+
self.endTask()
return True
@@ -133,8 +145,8 @@ class Update:
"cl_update_rep_rev", "cl_update_branch_name"],
where="cl_update_rep_name", eq=repname, limit=1))
if not url or not rpath:
- raise UpdateError(_("Variables with repositories settings "
- "is not configured"))
+ raise UpdateError(_("Configuration variables for repositories "
+ "are not setup"))
self.addProgress()
if clean_on_error:
try:
@@ -148,7 +160,7 @@ class Update:
self.printWARNING(str(e))
self.endTask(False)
self.startTask(
- _("Re-fetch {name} repository").format(name=repname))
+ _("Re-fetching the {name} repository").format(name=repname))
self.addProgress()
try:
rpath_new = "%s_new" % rpath
@@ -157,7 +169,7 @@ class Update:
removeDir(rpath)
os.rename(rpath_new, rpath)
except OSError:
- raise UpdateError(_("Permission denied to change "
+ raise UpdateError(_("Permission denied to modify the "
"{repname} repository").format(
repname=repname))
finally:
@@ -179,7 +191,7 @@ class Update:
"""
layman = getProgPath('/usr/bin/layman')
if not layman:
- raise UpdateError(_("Layman utility is not found"))
+ raise UpdateError(_("The Layman tool is not found"))
rpath = self.clVars.Select('cl_update_other_rep_path',
where='cl_update_other_rep_name', eq=repname,
limit=1)
@@ -193,7 +205,7 @@ class Update:
p = process(layman, "-s", repname, stderr=STDOUT)
if p.failed():
raise UpdateError(
- _("Failed to update repository {rname}").format(rname=repname),
+ _("Failed to update the {rname} repository").format(rname=repname),
addon=p.read())
return True
@@ -203,12 +215,12 @@ class Update:
"""
egenCache = getProgPath('/usr/bin/egencache')
if not egenCache:
- raise UpdateError(_("Portage utility is not found"))
+ raise UpdateError(_("The Portage tool is not found"))
cpu_num = self.clVars.Get('hr_cpu_num')
p = process(egenCache, "--repo=%s" % repname, "--update",
"--jobs=%s" % cpu_num, stderr=STDOUT)
if p.failed():
- raise UpdateError(_("Failed to update cache of {rname} "
+ raise UpdateError(_("Failed to update the cache of the {rname} "
"repository").format(rname=repname),
addon=p.read())
return True
@@ -219,7 +231,7 @@ class Update:
"""
emerge = getProgPath("/usr/bin/emerge")
if not emerge:
- raise UpdateError(_("Emerge utility is not found"))
+ raise UpdateError(_("The Emerge tool is not found"))
self.addProgress()
p = PercentProgress(emerge, "--metadata", part=1, atty=True)
for perc in p.progress():
@@ -238,7 +250,7 @@ class Update:
"""
eixupdate = getProgPath("/usr/bin/eix-update")
if not eixupdate:
- raise UpdateError(_("Eix utility is not found"))
+ raise UpdateError(_("The Eix tool is not found"))
self.addProgress()
excludeList = []
if self.clVars.Get('cl_update_eixupdate_force') == 'force':
@@ -284,12 +296,10 @@ class Update:
"""
self.endTask()
_print = self.color_print
- if max_num > 1:
- one = _print.foreground(Colors.YELLOW).bold("{0}", num)
- two = _print.foreground(Colors.YELLOW).bold("{0}", max_num)
- part = " (%s of %s)" % (one, two)
- else:
- part = ""
+ one = _print.bold("{0}", num)
+ two = _print.bold("{0}", max_num)
+ part = _(" ({current} of {maximum})").format(current=one,
+ maximum=two)
if self.is_binary_pkg(pkg,binary):
_print = _print.foreground(Colors.PURPLE)
else:
@@ -312,19 +322,24 @@ class Update:
self.startTask(_("Installing %s") %
_print(str(pkg)))
+ def _printFetching(self, fn):
+ """
+ Вывод сообщения о скачивании
+ """
+ self.endTask()
+ self.startTask(_("Fetching binary packages"))
+
+
def _printUninstallPackage(self, pkg, num=1, max_num=1):
"""
Вывод сообщения удаления пакета
"""
self.endTask()
_print = self.color_print
- if max_num > 1:
- one = _print.foreground(Colors.YELLOW).bold("{0}", num)
- two = _print.foreground(Colors.YELLOW).bold("{0}", max_num)
- part = _(" ({current} of {maximum})").format(current=one,
- maximum=two)
- else:
- part = ""
+ one = _print.bold("{0}", num)
+ two = _print.bold("{0}", max_num)
+ part = _(" ({current} of {maximum})").format(current=one,
+ maximum=two)
_print = _print.foreground(Colors.RED)
self.startTask(
@@ -337,7 +352,7 @@ class Update:
"""
cmd_path = getProgPath(cmd)
if not cmd_path:
- raise UpdateError(_("Failed to find %s command") % cmd)
+ raise UpdateError(_("Failed to find the %s command") % cmd)
with EmergeParser(
emerge_parser.CommandExecutor(cmd_path, params)) as emerge:
self._startEmerging(emerge)
@@ -349,7 +364,7 @@ class Update:
"""
cmd_path = getProgPath(cmd)
if not cmd_path:
- raise UpdateError(_("Failed to find %s command") % cmd)
+ raise UpdateError(_("Failed to find the %s command") % cmd)
with EmergeParser(
emerge_parser.CommandExecutor(cmd_path, params)) as emerge:
revdep = RevdepPercentBlock(emerge)
@@ -409,7 +424,7 @@ class Update:
self._display_pretty_package_list(pkglist)
if emerge.install_packages.remove_list:
self.printSUCCESS(_print(
- _("List removal packages")))
+ _("Listing packages for removal")))
self._display_pretty_package_list(
emerge.install_packages.remove_list, remove_list=True)
if str(emerge.download_size) != "0 kB":
@@ -422,12 +437,13 @@ class Update:
"""
# подробный список пакетов
if self.clVars.Get('cl_verbose_set') == 'on':
- self.printPre(str(emerge.uninstall_packages))
+ self.printPre(self._emerge_translate(
+ emerge.uninstall_packages.verbose_result))
else:
_print = self.color_print
pkglist = emerge.uninstall_packages.list
self.printSUCCESS(_print.bold(
- _("List removal packages")))
+ _("Listing packages for removal")))
self._display_pretty_package_list(pkglist, remove_list=True)
def getCacheOnWorld(self, params, packages, check=False):
@@ -439,7 +455,8 @@ class Update:
elog = EmergeLog(
EmergeLogNamedTask(ClUpdateAction.log_names['premerge']))
if check and (elog.list or elog.remove_list):
- self.emerge_cache.drop_cache()
+ self.emerge_cache.drop_cache(
+ "Some packages was installed or removed")
return params, packages
installed_pkgs = elog.list
new_packages = self.emerge_cache.get_cached_package_list()
@@ -475,7 +492,8 @@ class Update:
emerge.run()
if "@world" in packages:
if emerge.install_packages.remove_list:
- self.emerge_cache.drop_cache()
+ self.emerge_cache.drop_cache(
+ "List has packages for remove")
else:
self.updateCache(emerge.install_packages.list)
if not emerge.install_packages.list:
@@ -483,7 +501,7 @@ class Update:
return True
self._display_install_package(emerge)
except EmergeError:
- self.emerge_cache.drop_cache()
+ self.emerge_cache.drop_cache("Emerge error")
self.printPre(self._emerge_translate(emerge.prepare_error))
raise
if self.clVars.Get('cl_update_pretend_set') == 'on':
@@ -516,10 +534,11 @@ class Update:
emerge.emerging.add_observer(self._printEmergePackage)
emerge.installing.add_observer(self._printInstallPackage)
emerge.uninstalling.add_observer(self._printUninstallPackage)
+ emerge.fetching.add_observer(self._printFetching)
try:
emerge.run()
except EmergeError:
- self.emerge_cache.drop_cache()
+ self.emerge_cache.drop_cache("Emerge error")
if emerge.emerging_error:
self.printPre(
self._emerge_translate(emerge.emerging_error.log))
@@ -547,7 +566,7 @@ class Update:
if not emerge.install_packages.list:
return True
except EmergeError:
- self.emerge_cache.drop_cache()
+ self.emerge_cache.drop_cache("Emerge error")
self.printPre(self._emerge_translate(emerge.prepare_error))
raise
self._startEmerging(emerge)
diff --git update/utils/cl_update.py update/utils/cl_update.py
index 2ac2c36..a58c827 100644
--- update/utils/cl_update.py
+++ update/utils/cl_update.py
@@ -51,8 +51,7 @@ class ClUpdateAction(Action):
return func
def pkg_color(text):
- _print = get_color_print()
- return _print.bold.foreground(Colors.BLUE)(text)
+ return text
log_names = {'premerge': "check updates",
'python_updater': "update python modules",
@@ -151,7 +150,7 @@ class ClUpdateAction(Action):
]
},
{'name': 'update_other:depclean',
- 'group': __("Cleaning system from needless packages"),
+ 'group': __("Cleaning the system from needless packages"),
'tasks': [
{'name': 'update_other:update_depclean',
'message': __("Calculating dependencies"),
@@ -209,19 +208,19 @@ class ClUpdateAction(Action):
'tasks': [
{'name': 'sync_reps',
'foreach': 'cl_update_sync_rep',
- 'message': __("Syncing {eachvar:capitalize} repository"),
+ 'message': __("Syncing the {eachvar:capitalize} repository"),
'method': 'Update.syncRepositories(eachvar)',
'condition': lambda Get: Get('cl_update_sync_rep')
},
{'name': 'sync_other_reps',
'foreach': 'cl_update_other_rep_name',
- 'message': __("Syncing {eachvar:capitalize} repository"),
+ 'message': __("Syncing the {eachvar:capitalize} repository"),
'method': 'Update.syncLaymanRepository(eachvar)',
'condition': lambda Get: Get('cl_update_other_set') == 'on'
},
{'name': 'sync_reps:regen_cache',
'foreach': 'cl_update_sync_overlay_rep',
- 'message': __("Updating {eachvar:capitalize} repository cache"),
+ 'message': __("Updating the {eachvar:capitalize} repository cache"),
'essential': False,
'method': 'Update.regenCache(eachvar)',
'condition': (
@@ -231,12 +230,12 @@ class ClUpdateAction(Action):
},
{'name': 'sync_other_reps:regen_other_cache',
'foreach': 'cl_update_other_rep_name',
- 'message': __("Updating {eachvar:capitalize} repository cache"),
+ 'message': __("Updating the {eachvar:capitalize} repository cache"),
'method': 'Update.regenCache(eachvar)',
'essential': False,
},
{'name': 'emerge_metadata',
- 'message': __("Metadata trasfer"),
+ 'message': __("Metadata transfer"),
'method': 'Update.emergeMetadata()',
'condition': (
lambda Get: (Get('cl_update_outdate_set') == 'on' and
@@ -244,7 +243,7 @@ class ClUpdateAction(Action):
Get('cl_update_metadata_force') == 'force'))
},
{'name': 'eix_update',
- 'message': __("Updating eix cache"),
+ 'message': __("Updating the eix cache"),
'method': 'Update.eixUpdate()',
'condition': (
lambda Get: (Get('cl_update_outdate_set') == 'on' and
diff --git update/variables/update.py update/variables/update.py
index 01eedf8..1c22e5c 100644
--- update/variables/update.py
+++ update/variables/update.py
@@ -74,8 +74,8 @@ class VariableClUpdateRevSet(Variable):
"cl_update_eixupdate_force"]
def init(self):
- self.help = _("revision update")
- self.label = _("Revision update")
+ self.help = _("make a revision update")
+ self.label = _("Make a revision update")
class VariableClUpdateRep(Variable):
"""
@@ -122,7 +122,7 @@ class VariableClUpdateSystemProfile(ReadonlyVariable):
path.join(path.dirname(make_profile),
os.readlink(make_profile)))
except:
- raise VariableError(_("Failed to determine system profile"))
+ raise VariableError(_("Failed to determine the system profile"))
class VariableClUpdateLaymanStorage(ReadonlyVariable):
"""
@@ -239,8 +239,8 @@ class VariableClUpdateSyncRep(Variable):
untrusted = True
def init(self):
- self.help = _("synchronize repositories (all by default)")
- self.label = _("Synchronize repositories")
+ self.help = _("synchronized repositories (all by default)")
+ self.label = _("Synchronized repositories")
def set(self,value):
orderList = self.Get('cl_update_rep_name')
@@ -288,15 +288,15 @@ class VariableClUpdateMetadataForce(Variable):
#untrusted = True
def init(self):
- self.help = ("'force' - " + _("force update ebuilds metadata") +
- ",\n'skip' - " + _("skip update ebuilds metadata") +
- ",\n'auto' - " + _("update metadata if they are outdated"))
+ self.help = ("'force' - " + _("force the update ebuilds metadata") +
+ ",\n'skip' - " + _("skip the ebuild metadata update") +
+ ",\n'auto' - " + _("update metadata if it is outdated"))
self.label = _("Update metadata")
def choice(self):
return [("force", _("Force")),
("skip", _("Skip")),
- ("auto", _("By need"))]
+ ("auto", _("If needed"))]
class VariableClUpdateEixupdateForce(Variable):
"""
@@ -310,15 +310,16 @@ class VariableClUpdateEixupdateForce(Variable):
#untrusted = True
def init(self):
- self.help = ("'force' - " + _("force update eix cache") +
- ",\n'skip' - " + _("skip update eix cache") +
- ",\n'auto' - " + _("update eix cache if it is outdated"))
- self.label = _("Update eix cache")
+ self.help = ("'force' - " + _("force the eix cache update") +
+ ",\n'skip' - " + _("skip the eix cache update") +
+ ",\n'auto' - " + _("update the eix cache if it "
+ "is outdated"))
+ self.label = _("Update the eix cache")
def choice(self):
return [("force", _("Force")),
("skip", _("Skip")),
- ("auto", _("By need"))]
+ ("auto", _("If needed"))]
class VariableClUpdateOtherSet(Variable):
"""
@@ -389,9 +390,10 @@ class VariableClUpdatePretendSet(Variable):
opt = ["-p", "--pretend"]
def init(self):
- self.label = _("Pretend package update")
- self.help = _("instead of actually performing packages update, "
- "simply only display what have been installed")
+ self.label = _("Pretend a package update")
+ self.help = _("instead of actually performing the update, "
+ "simply display the list of packages that "
+ "will be installed")
class VariableClUpdateSyncOnlySet(Variable):
"""
@@ -399,7 +401,7 @@ class VariableClUpdateSyncOnlySet(Variable):
"""
type = "bool"
value = "off"
- opt = ["-s","--sync-only"]
+ opt = ["-s", "--sync"]
def init(self):
self.label = _("Only synchronize repositories")
@@ -423,5 +425,5 @@ class VariableClUpdateWaitAnotherSet(Variable):
opt = ["--wait-another-update"]
def init(self):
- self.label = _("Wait for complete another update")
- self.help = _("wait until the other updates or abort")
+ self.label = _("Wait for another update to be complete")
+ self.help = _("wait until the running update is finished")
diff --git update/wsdl_update.py update/wsdl_update.py
index 10ec376..9bd535e 100644
--- update/wsdl_update.py
+++ update/wsdl_update.py
@@ -39,7 +39,7 @@ class Wsdl(WsdlBase):
# категория метода
'category': __('Update'),
# заголовок метода
- 'title': __("Update System"),
+ 'title': __("Update the System"),
# иконка для графической консоли
'image': 'software-properties,preferences-desktop',
# метод присутствует в графической консоли
@@ -60,7 +60,7 @@ class Wsdl(WsdlBase):
'setvars': {'cl_action!': 'sync'},
# описание груп (список лямбда функций)
'groups': [
- lambda group: group(_("Update system"),
+ lambda group: group(_("Update the system"),
normal=(),
expert=(
'cl_rebuild_world_set', 'cl_update_rev_set',

@ -10,6 +10,7 @@ EBUILD calculate-utilities-3.2.0_alpha10-r18.ebuild 842 SHA256 7ac4b442da77767d9
EBUILD calculate-utilities-3.2.0_alpha10-r19.ebuild 842 SHA256 65e2ec134bfdf03bd25f6e4bfa921e7d3ec78314ab86587899c7766f15aaea9c SHA512 b2bb5b89019ed6d348b361593281f98de9ef4da71d7cce9bd7cf96a452f80d14c8657b0880d68824717da6c5ef55cf28effb2ad6aaadad4550eabe6e4874f27f WHIRLPOOL 9a2d4c5f3fd5422a9e91213863aee5f6ea06f73e90784f8c5d0f1d709f80f4e31e0d7b373b98a874a6a9888ed58a0c8df9a94349cea9a7f109d5d3c31f34d9f3
EBUILD calculate-utilities-3.2.0_alpha10-r2.ebuild 842 SHA256 62a6fa86d44b51242d08753510c382076378aeaaba1b927f322d06fa0b17bca0 SHA512 5a39b25013adfe53d1d50efa87354308b384e956aff0a3a2b7072345df7b9c67d2642666a9dae2ccd77406870161ff88c150cf07eedacd9a6b541631d11de940 WHIRLPOOL 66ecd6e470ad72a7643227deba42125baa8ee72bfa67c7e4fbed71b6095c10a51ea601045f66f8612404cef60cdeb77372eb63a6a0cf932cfab759fd5d09cd6e
EBUILD calculate-utilities-3.2.0_alpha10-r20.ebuild 843 SHA256 263516e317d84c020f48c18316e87123d4d4a32a032bf6e7817596c28648753c SHA512 0523ff6c07d16fab6a87cfeda47854498a499ef4ce66d3c6b6cdf7f9ae9e53b55021ab23c681a86734cb9283c364cc4e0724a08451576144d658909d50f44084 WHIRLPOOL 951257eee4830fbb5fdca905adb58a4a29757f1e980b9d40c1389719c43f9ba037b26f18450c66fedfc864b24ff2dd79dda243631b7ed85e0bf638b38c37ce39
EBUILD calculate-utilities-3.2.0_alpha10-r21.ebuild 844 SHA256 465f0b760a5a683a959037bf724bf238fb4472c9fd17c90857f9f46c29071f2d SHA512 95f4e3311b2c761230cf9291e63e4edebd091b30c6fd300e66bbf2fb135dc4bf4fbd5a17ff1733692a152eb1959b32122af8ce4b5987ac02eed3cac8cc62292f WHIRLPOOL 6c2d3a1920091646f2651b1cca8312d1026d6d7406f980cd3278cb8c3974057940c6ead7e2481a4940d813559c5a2d14fecc4b6d6666f971d8a674c69dc2c7d9
EBUILD calculate-utilities-3.2.0_alpha10-r3.ebuild 842 SHA256 5e86b76bac016fb80d9e8ea2f87f2e3281b15e66f30db317dc0f4c13194df150 SHA512 37c86dd04ef452ac88ea65fb0c978a7ce71461d20bcd90d6f492f0a063f2535510f6f33cd3d7331961b6857b699b24e15264356ec38e2c6192fdd993d8328d66 WHIRLPOOL bd3ecf0452354e0e2bf27d3d169885ab2940d7a196a85551d71c2f9607e19177e7cc867324fed824c4ac0c7fb534fbf3a4d90a361de86162e2b82ee676f17d97
EBUILD calculate-utilities-3.2.0_alpha10-r4.ebuild 842 SHA256 784b3b5e67ff3615090ea96c8b85b558bd8dbef4d1fabdcba58d5d5ff1139d52 SHA512 2d93039b127c977541a955a69a22ebdc3cb965489c75e6e125f8356fcafc1e934c2a8cc21ffe8ad8f75db26971b79adac8e25c13007b39d5ebecaee2dde78115 WHIRLPOOL caff4b42d86c465e5271099f2adf3b7347a62868e8828465922b0e6b09189f6787dcf5f4ee6f262787650ee5ee76e7317b5f147909e59c6230fc7fb6394516ed
EBUILD calculate-utilities-3.2.0_alpha10-r5.ebuild 842 SHA256 79eaad27abbdba01d709874e59edf0a8b153ba06e945e813de7b3073cf0b12bc SHA512 7c475e6c05d86157401ba8483d8e49d40e92a04bbc3ab990445b333cd2e7a0f28d5f1139945ac14e132a3b4f0a76fa082925626e98c418068f2d3a215a019515 WHIRLPOOL 77b259048055470959db204916838b5ce960f13b4799ffdf38cdf6fab9c6849a16194003dd4f1f49ac60dd7f7713ff0f86de775a5c7a1471a649360fc255a986

@ -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_alpha10-r3
=sys-apps/calculate-i18n-3.2.0_alpha10-r6
=sys-apps/calculate-lib-3.2.0_alpha10-r5
=sys-apps/calculate-core-3.2.0_alpha10-r10
=sys-apps/calculate-update-3.2.0_alpha10-r10
cl_client? ( =sys-apps/calculate-client-3.2.0_alpha10-r2 )
cl_desktop? ( =sys-apps/calculate-desktop-3.2.0_alpha10 )
cl_consolegui? ( =sys-apps/calculate-console-gui-3.2.0_alpha10 )
cl_console? ( =sys-apps/calculate-console-3.2.0_alpha10-r1 )
"
Loading…
Cancel
Save