Исправление для утилит 3.1.7

atratsevskiy
Mike khiretskiy 11 years ago
parent bfbc5ba911
commit 86232605d9

@ -9,6 +9,7 @@ AUX calculate-client-3.1.6-r2.patch 2173 SHA256 d2b167af98dddb8f656b41b802293e71
AUX calculate-client-3.1.7-r1.patch 2652 SHA256 36d2010206b462f653d676cc0697b4db14711b1e573ef9c79061d2e3d19b21b2 SHA512 da957b36628d5c1b305182e3bc01b27fd7ccfb726a4d8cf92e5a02a63e16a0d82583905bdca8d9ab796c04b982bd2b996a2b06c1b56457260c7e86089496ed10 WHIRLPOOL a9ecea96534232d639902674adee6125664e7bbab6c7697e55ffe34cb6cc075f1afd414ad4f4e9a11529f21b9abc7d048c283e7dd0b847cca20853296813896b
AUX calculate-client-3.1.7-r2.patch 3915 SHA256 f08570004b5e8d20750853f86df96dba6dce3ae1e01e0df1a640301c26c9433a SHA512 7607a27925fd2427f1a3dc2f740ab44a80051235bddb6a82067dda9f639f283d60c5096b79e0fa0a0c1ad54bee417c248675f4868e2b3a88f61088c792de57c4 WHIRLPOOL b6bc9a3773a58637a3391e2c6bbd12859b7f0257df0b059ddc957521829f87eb6c182be0e7fb0ba8647cff6ca5494c0c7a8a3d8faae3f69cfd63e4bbb21ee288
AUX calculate-client-3.1.7-r3.patch 5149 SHA256 02fdfc3e3771370e981db87ca88d9d5433028236c9b5255f65204e290d961ba2 SHA512 df8c21ed6d265e55531fdb1446b48ff9f660962c1bbe8c7d5721eb4c81d4ab77b841c022d17ac08d38c2eb0a31f0773bc48e89fc1ae32a1ccd421d967e59a8e6 WHIRLPOOL b48e85ab6c549cfb89884b9643f5670dba905572ddd5979bf936a7068d10ea12c2048370a1705dac17166cda7fe8457c616cda710f46acbfd31a0ac4d5f5c6c7
AUX calculate-client-3.1.7-r4.patch 5725 SHA256 ce16b00fd25681ed681e9b8ac0b282909210f1127e9ad6bda4d55c0eed3c85d0 SHA512 f2a25263cf3a085e28b16c576e922ff3329089d75d442279cf75692ba1ba77bd59d494c8214e41d68303abca7546100d484bb064f1411c7e86ccc5359903203c WHIRLPOOL 28aeb6aa2915d2391a00b5f650bdf2a802b104a46bde74f17a3434007aaabfe168bdbb24db0fc407ce4a31bbd871b63d427d4979f04c66d529c7b17d416e6d65
DIST calculate-client-3.1.5.tar.bz2 31578 SHA256 4837b7c296bf4b3a1caa3e0e05156248ec5c32bd5c2e1dd7ae00391fb43f7a02 SHA512 9e3c88764fa7145b649e8348cba140a201de8715f60e48270e4da494fac03619314b9003761c43182d0a3665aba1af76344ca1defeac4b324de8d7c195d7844a WHIRLPOOL 75d00fa10b89be49d6449c24b3a53514ef761f227adb7bf6ef64fbb26ca29489badc6adcf7bba222adbca6a1451003efc39f947005f37aba46fddbabb36628fb
DIST calculate-client-3.1.6.tar.bz2 32036 SHA256 00b5ef665b9148f2b5acc913e59534e810ec0a6c93ee037ffc12852bba3ff290 SHA512 0547fd9320f49c1b628e446298366110dbf19eea94b8e2335ec311b69a33352b575eed3a23bbaf5c24ceb602c7166d1da5c7ea73859421b9b2d6955289956790 WHIRLPOOL d725b4396398def4eb6bc0cc6575430e46ec8bb7efefd721d3ee904c0644bbbf6fc87d43fbf9060e2c71465eaed2ff1522631522f2d829527874dd0a379a9488
DIST calculate-client-3.1.7.tar.bz2 30202 SHA256 2c0781512fb5b1ede3ce91aff5a3434edb9da1de3077c5cd55889cc1fce446f1 SHA512 61cb3a44a6c118e9230821267e7704ce84cae09c8c18968f6613914d0158b2af41047b2613c678b580d479a37ffea8056f6aa6931ca4f2bb32e6b415fa0ae240 WHIRLPOOL 04ffa446f7b4eb6347371b42a4dfc8580996c286a02fd21302131fc0a2bde61b0a93925b0ebf54b3c4267c868f48c4bb1db8dc928907ff7a91505538545308da
@ -20,6 +21,7 @@ EBUILD calculate-client-3.1.6.ebuild 806 SHA256 e1fb90f3ff6e73a4a4d3abf66a8bca5a
EBUILD calculate-client-3.1.7-r1.ebuild 943 SHA256 719daf1a2e4fa46576842b1735226d8bb296a45b85774a97e2dd0db6812fabe6 SHA512 d2c890806f3dba3a246a492ef2a5818acc63b6ee31a373cdfc4b41864e03e26ce81900b01aad4014f34862a82dccada4910be242f1080d2f628c2cc47e7a1cd5 WHIRLPOOL 2e277e315a63e9ed4a0dc04f7c6c45829b4746013630f838bd4e959d03136fd106714fe75591bb6828b6182c5bfce1507233a2564147daafcf8d2071e9f660fc
EBUILD calculate-client-3.1.7-r2.ebuild 943 SHA256 0cbd3060bd418f1b94001ea7a47dc958b105937d5e53976b395f0b120730c85b SHA512 f2cced4baee54ab90a986ecf7903248ff5bb1994630291bc905c3a5af2f9a3b8e862c3aa707e0a8f21b6b0114aad0fead1e67a622d5f5a9f05694f95116cf98e WHIRLPOOL 5066b61d8e2e12dfc6e8dabfd8274e3a4eeeb749dfddceed70e60286bf3ab00c8f97cb90d3324f82ea4040d72d5a0fe892a08d68bdebc0ca5c393cfdb4fe8058
EBUILD calculate-client-3.1.7-r3.ebuild 943 SHA256 0645caf55a99d2447c23fcd3d528473ab01240825e0fa8a24b894124fe636287 SHA512 ab559649ffbd0431275a671c0980030ca1080a7ba1e85b99bb07f0fcaa415fc05c7bc26c34ea601cc0c84235c43ec8d6ca5c9609247d4398116adf6fc431d92f WHIRLPOOL 07b972845a69796fd256efc2fad3d3d2a80ad4954f8e91675df8ee1cb7deb9e13d8106da8937caa26bf64d2636df6b5fde3de11024d5ca75a3c297b527215477
EBUILD calculate-client-3.1.7-r4.ebuild 943 SHA256 128a11d9523e02cd23114620f595afd108e5eb6ab05108b4afc8433d6b70a881 SHA512 3088355b0adc95d236ac231f686642136e2abe22b4a2185622e399761dcd8be19c3f21f2180d3e6ae022113379da68eb4149bb4e3f1e5db4fff83c5b97da8de6 WHIRLPOOL 3f530d15adbc25dfa2e7986a1b615754d03fc2dc8cc8486a7ab9411ffcff312e8a12b7189ec6dbad40699cd59e647e805b55c04a8fdb54933a0ea50fa0e348ad
EBUILD calculate-client-3.1.7.ebuild 806 SHA256 1d6806c1f718faeffc6b0dbae30b75ef12322e5d0f064403dee06e7a008a4703 SHA512 91929dbb996b30ffdf4ef2bb1cca704891e930faa1c41e85a8f310218b4137dece4eb21dbea01f7260cdd6428431147b831d6ad2ecbe801ecfdda8f43df0fa32 WHIRLPOOL 24104110500b2194a1da83f6d03adde7d247e94659661d74d0651e417316e18b37f9dee4333562ae125eda4312b988662d2a0a0ab8617e6058b35d9a6ded5b4b
EBUILD calculate-client-3.1.7_alpha3.ebuild 804 SHA256 d51b6f59e25c5f9f5eb69860fe871a471841ee626ee18cc173c74d01e116f70e SHA512 4f61bbe1f8322de225f35069bd29300a3ec5ee47218a5d2b3f7e699deb830390ce8b117cb533aeb3c477f54b1f37e27b6b122200a399c76d6d85c06a33446da8 WHIRLPOOL ddf48feded183d9d1da1271630d0fc0b07f154b71a71bb4d531b6947c5848fa614906fda61a76acd1676cce91a7c1e1e3d626a1ddff43cfee73cfe4afb6d6da2
EBUILD calculate-client-3.1.9999.ebuild 879 SHA256 37385187f78bb708669b5cd2742173b117bb482c784f8f481ab7388554476d65 SHA512 87ebc2dfa965a9bb9d24af13a611e83e412cbabb12957bb14e2a1cd8b9f1951efbf690dcfa8f73711a02cfd0afbc9e9f37209ba9a3884b018c41b3a46e2e847b WHIRLPOOL 349da1bcb076af176079473ccb2fd1a4e3d8eb3ec2a7a6102272d1dd1073a8c181c49e02c89ede4b5cd829856f0c0f5db877b89eb0c6335ad678e58902db293b

@ -0,0 +1,39 @@
# 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 setting and storing the user account in the domain"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
DEPEND="~sys-apps/calculate-desktop-3.1.7
!<sys-apps/calculate-client-3.1.0
>=dev-python/python-ldap-2.0[ssl]
>=sys-auth/pam_ldap-180[ssl]
>=sys-auth/nss_ldap-239
>=sys-apps/keyexec-0.1.2
sys-apps/keyutils
sys-auth/pam_keystore
sys-auth/pam_client
dev-lang/swig"
RDEPEND="${DEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-client-3.1.7-r4.patch"
}

@ -0,0 +1,110 @@
diff --git client/client.py client/client.py
index 14a8c8e..4ab0aec 100644
--- client/client.py
+++ client/client.py
@@ -1058,8 +1058,12 @@ class Client(commandServer, encrypt, Desktop):
yield remotePw
if remotePw:
self.printERROR(_("Wrong password"))
- yield self.askPassword(\
- _("Domain password for the desktop"),False)
+ # не запрашвать пароль при загрузке системы
+ if not path.exists('/prc/self/fd/0') or \
+ os.readlink('/proc/self/fd/0') != '/dev/console':
+ yield self.askPassword(\
+ _("Domain password for the desktop"),False)
+ self.printERROR(_("Wrong password"))
pathRemote = "/var/calculate/remote"
for pwdRemote in passwdQueue():
@@ -1067,7 +1071,6 @@ class Client(commandServer, encrypt, Desktop):
if sambaPasswordCheck("client",pwdRemote,domain,"remote"):
self.clVars.Set('cl_remote_pw',pwdRemote)
return True
- self.printERROR(_("Wrong password"))
return False
def writeClientVars(self,domain,currentVersion,pwdRemote):
diff --git client/utils/cl_client_sync.py client/utils/cl_client_sync.py
index 5b276ef..eccb315 100644
--- client/utils/cl_client_sync.py
+++ client/utils/cl_client_sync.py
@@ -44,6 +44,7 @@ class ClClientSyncLoginAction(Action):
'method':'Client.mountRemoteRes(cl_remote_pw,cl_client_remote_path,'
'cl_remote_host)',
'condition':lambda Get: (Get('cl_remote_host') and
+ Get('os_remote_auth') and
not isMount(Get('cl_client_remote_path'))),
},
# check on domain user
@@ -85,10 +86,13 @@ class ClClientSyncLoginAction(Action):
},
# проверка на попытку открыть вторую сессию для этого пользователя
{'name':'two_session',
- 'error':__("Second X session for user %s cannot be opened."),
- 'condition':lambda Get:Get('ur_login') in \
- Get('desktop.cl_desktop_online_user') and \
- Get('cl_client_sync') == 'on'
+ 'error':__("Second X session for user {ur_login} cannot be opened."),
+ 'condition':lambda dv: (dv.Get('ur_login') in
+ dv.Get('desktop.cl_desktop_online_user') and
+ int(dv.Select('desktop.cl_desktop_online_count',
+ where='desktop.cl_desktop_online_user',
+ eq=dv.Get('ur_login'),limit=1) > 1) and
+ dv.Get('cl_client_sync') == 'on')
},
{'name':'domain_user:domain_sync',
'method':'Client.setSyncStatus(ur_home_path,ur_uid,ur_gid,"process")',
@@ -101,12 +105,6 @@ class ClClientSyncLoginAction(Action):
'ur_uid,ur_gid,"unix","remote_profile")',
'condition':lambda Get:Get('cl_replication_host')
},
- # проверить расхождение времени между серверами
- #{'name':'repl_profile:check_clock_scew',
- # 'method':'Client.checkClockScew('
- # 'failed_warning':__("Profile synchronization will be applied "
- # "without archiving")
- #},
# отправить команду архивирования профиля на удаленном домене
# если он новее локального профиля
{'name':'repl_profile:pack_remote',
@@ -211,7 +209,7 @@ class ClClientSyncLoginAction(Action):
'method':'Client.setSyncStatus(ur_home_path,ur_uid,ur_gid,"error")',
'depend':Tasks.failed_all('sync_remote','sync_local','fallback_sync') |
(Tasks.hasnot('domain_sync') & Tasks.failed()) |
- Tasks.failed_one_of('mount_resources')
+ Tasks.failed_one_of('mount_resources','two_session')
},
# распаковать ссылки
{'name':'domain_sync:unpack_links',
@@ -274,7 +272,7 @@ class ClClientSyncLogoutAction(Action):
'else_error':__("User home directory {ur_home_path} not found"),
},
# проверить наличие подключенных ресурсов
- {'name':'check_mount',
+ {'name':'domain_user:check_mount',
'condition':lambda Get:any(x and isMount(x)
for x in Get('cl_client_user_mount_path')),
'else_error':__("User remote resources not found")
@@ -340,7 +338,7 @@ class ClClientSyncLogoutAction(Action):
'"error")',
'depend': Tasks.hasnot('success_sync')
},
- {'name':'check_mount!:umount_allres',
+ {'name':'umount_allres',
'method':'Desktop.umountUserRes(ur_home_path)',
}
]
diff --git client/utils/cl_passwd.py client/utils/cl_passwd.py
index 18323eb..6636cbe 100644
--- client/utils/cl_passwd.py
+++ client/utils/cl_passwd.py
@@ -37,7 +37,7 @@ class ClPasswdAction(Action):
"The password will be changed when you log out"
"from the X session"))
failedMessage = __("Failed to change password")
- interruptMessage = __("Logout manually interrupted")
+ interruptMessage = __("Password changing manually interrupted")
# список задач для действия
tasks = [

@ -20,6 +20,7 @@ AUX calculate-lib-3.1.7-r2.patch 3241 SHA256 f211f0ac23cbc0af1debd6338988b255e04
AUX calculate-lib-3.1.7-r3.patch 5898 SHA256 4eefddb2ef84f8fb0286b01668f74ca050a7e645598f616e725600c16e5fefde SHA512 b884c4fedf15e830e106ea79edf4cb91084cca0ae15eff221e8568dcf49e08ed500e05181baf3baef66a02a15138dcdd00210ab6ad3447a6a3aeab0bbb7d5bba WHIRLPOOL c8167da016fd7df5f7a3c961d4b2b596025dc4441e4d782efdcb85d0acfa190d49f2459cfff5e35c7919b71717f2d089c67b6be3bbb42597b45cb3e61f3c77c6
AUX calculate-lib-3.1.7-r4.patch 5903 SHA256 511821da98b65d3e1278436f944f707877d4081216f61bc2da559d4adce92f3c SHA512 a29d89b0a549860f5b62d060381e562a4c00457da0a3171faa09f58030fb5de16de55c77e36a63c03bdadc887a99b701fa035517f6544c93bbc481f89de811c0 WHIRLPOOL 9b8d8cf384ba9ae1631280779bc097da0353ab6afe5528b1552fb2939207e9556b94ac6763a28952977eb8dec3cd84aab590191f1e85b5b80f411ae3a8d9cac5
AUX calculate-lib-3.1.7-r5.patch 11676 SHA256 acb8610e5ac2a5f9909dfb2273daf3a27879c7d5f121f19a97f3834420a020ff SHA512 b761bc25f3899614098528539a3e793bc2b944f590d13c0d6ebd5cd845b0a70eb8e763e183f9bfd3b0b5a43f6ae876a5109a741e5cb2f13993a64230189bb425 WHIRLPOOL 5e3f71fb222ab5e145b92521ef796bf76014be208678a21ff7a759c7571e727b951fe9e92f7226e129272d845b05e4c939512336010bccde42ebca5e24a28373
AUX calculate-lib-3.1.7-r6.patch 11859 SHA256 ae41a7253079591c4dc4b08519309c6cf0e9eb0886c955c1303d71669987281d SHA512 57736d32f25722c1c2f36f3c48da1d4e21f8faf1b04f81f1dd92e0050d7d952c189a60b86e1c7e6a554afd57a2449719cdc8ed467c9d54a7a5fb0a1dd8c9890f WHIRLPOOL 79dbe4ae1c44e99289f918ff1ed5a8aa59f05ab2017f4a28855ee60f999a09c85a4cb1c94b8034d5edbc42b8ffa6b28cbcdc15aa1b65223b53d9508f4bb3392b
DIST calculate-lib-2.1.11.tar.bz2 61687 SHA256 62976c08d4fb4810389ace6f5a99abb5a962f6c8d9053ff943d0669480fb5599 SHA512 e3bc2168a55367cf19ad3a27921b53e5e845643238bf171209ab29752c91b5d4d338a2120774764ac1c79abd93f2deff8680f8faa1407940984ea9fd6a199e67 WHIRLPOOL 0ced92ea493dd8db02b0ae1514ebbb51ee76dc6f441b4a38c984c39da2121fb81dd1f2e840c4c5b71a117a12817a2a269d85676288202aa9801f69727e3338dc
DIST calculate-lib-2.2.31.tar.bz2 120044 SHA256 ba38052d8b2349a1c60adc589a74eb8a3ffcbf6f3c1124e4c1fb0da3aa777f12 SHA512 902871b9159f2bcf7a0cc767fb6df5b19902fce6cf9468d96f902c383a422738b65debe3094c92d1f82de2124936496f89631c6eb9670da00807b63156b101b7 WHIRLPOOL 5179ee691519f3a7faa3135d040ad64bd6d67c026ebf39bb17f7d641130a2b58641d1fe5da4f6cfbd45d4442d93508f0a5f641ef2cd8c43e1a322aab3d11f4b9
DIST calculate-lib-3.1.5.tar.bz2 121086 SHA256 3809b0e89c56414d488c931b279956562d6dc445ccbc385268e9881d495cec2b SHA512 9372dba87a96e79150bc26c43d49efbe90b4d1d9bf9f79b3a536663c0b621263333a792678f589a65335f230d60042254b1cdb5187760e2faac8f88b34eeb714 WHIRLPOOL f59751e50fcb0c0b95a91d0d5e45611a752dbe7b98a40289b8732a2fbb887bbfe83c5e63be4a81dd5be12ca715e32a1f4e6d50b62edd97a0f60fdd1e9da7595c
@ -45,6 +46,7 @@ EBUILD calculate-lib-3.1.7-r2.ebuild 824 SHA256 63db02bd40925103f88cc7dd02b5d538
EBUILD calculate-lib-3.1.7-r3.ebuild 824 SHA256 01bba1e8ca7dea02d601d3f6232d228f36c32b9cb9c07cf0bcd17b65a5cd0d34 SHA512 83b3fd4006b117e0a3f4321d3d4df7277943f485580a664692b911f47438010d7b82ceb6cdf5520c375bb0d2ccb9e32dfc9aabdfd012b2e863f70dd15df19b4b WHIRLPOOL f7c7d2cec09ae9958e0cb615d40202486b54d949f5e107f829ee5140cbe9f535085ddd0b7592e0747884ad3c4791a85980462f826d5b31642e128ae8bed0036d
EBUILD calculate-lib-3.1.7-r4.ebuild 824 SHA256 29ab35974462d03b5c17411ed3d331ab1a5120dd528252c410e7c05009221bc4 SHA512 31033b1b90f77467c120bb0fdeab4adbad78869113cafd629e640024cf302405d7be2497e629840b77f76df925ed33a9312d2c68e18091eb3115afbfd60bb4b4 WHIRLPOOL 73b207a7815f6fcd809a1e270f60520c5b746152c319eaf7f028b818b02a7e01c12ef4181047570d476784f3bb16845a4885d2653b0100e5ea415edf73a69677
EBUILD calculate-lib-3.1.7-r5.ebuild 824 SHA256 f07b554b6752318e29d25a869f879705c39f1a722b7905c339533141fb6bcc3b SHA512 4414d6f7102ea4eb7155f1ff05a5946822fdb172e519ada66c8c8e194a50c750294181f216b0dbbb4d789cbd00cce58783aa6b6eb28c2b0df8bd9d5692f9bb5a WHIRLPOOL f13c549bf92af895165af79fb0308c5718a35093ab1d9acca2937f1c9c1dc1ecc9d889c34e17616b41f917417024a51b717055d491d141f9902a2d9441eef591
EBUILD calculate-lib-3.1.7-r6.ebuild 824 SHA256 1c7372daff8f2f937a566620e29452cc4b5a91ba7dc809cb8463bf409101c61c SHA512 1d7698b25ec04af6e8a4851231993679fd905a2887da85f9ad71176a191174ece4411a0f352b875e92137877df68e61b314cea128660a5508ba80c2b7ee6c21a WHIRLPOOL 59f7746c9a6fe1624737ab98e757d24d44da7c315f8da641591413b08f744059ba6714c7c2a80c064e32675fc8829c504269257d89e64469538d986b2469df19
EBUILD calculate-lib-3.1.7.ebuild 690 SHA256 c89c29f5de3f70146e98f15035366506933f03e8a5066b1ad55aeccbebdeae2c SHA512 a7277c2e5fa64a5e5840be7fc8d3df9a31f41926386c5fe6a9bed31eeed6321af5881c218d9ce7eeb12aee518edb682b438e10397dcb815cc63645100430e43e WHIRLPOOL 8f19e4d46381e26fec81e20fa35599f4658b3891d6372c921a8b1354ad3b1821ea9c78f71caebf54610e0b5aacfb6e6ded018e155e1979322406a0ac1e823d09
EBUILD calculate-lib-3.1.7_alpha3.ebuild 681 SHA256 6a6332013e5a56db775c6490b63b60f959528660b0982e6a414f1614c0b0ffa5 SHA512 19a71823543fe843a05a548207509ee4dcffa784c61e23c56cf17d2c651effbfc63914beb03f0977b804c5cc647407eecdcbdaed4d7478783bec46eee72a50fb WHIRLPOOL 5ffd414c804671057fe2a7a2176999eee0a75574a5043332d3c01f08b93635773800e6b5d9901993e4fbf7f95d175659d621be9231d08f8bdada2654e45f8e1d
EBUILD calculate-lib-3.1.9999.ebuild 708 SHA256 a1d64b7f014831bf6b0a38928d53cb55758b7a12e5f3e98fffd28025ffacbce1 SHA512 3873859a791941d421e2338b437521955da383ce986408f1a951305e2dd75a1a4f771c9ec2caa096c5c8ea6a1776d6d0ed99e025ffa786ba029cafdbadfa439b WHIRLPOOL 5ac1a10b53f810ab527a0ebe52bc87e8397e61375cf6e0acbed89d8f6b8385e72bf234e0fdce479c3a3f1652bb6e520710ce9356750a97d644c0db0a33f6facb

@ -0,0 +1,36 @@
# 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 library for Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
IUSE="minimal"
DEPEND="!minimal? ( dev-python/py-smbpasswd )
>=dev-python/pyxml-0.8
sys-apps/iproute2
sys-apps/pciutils
sys-fs/lvm2
sys-fs/mdadm
dev-python/pyinotify
sys-apps/file[python]"
RDEPEND="${DEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-lib-3.1.7-r6.patch"
}

@ -0,0 +1,286 @@
diff --git calculate/lib/cl_template.py calculate/lib/cl_template.py
index efda545..1eb5004 100644
--- calculate/lib/cl_template.py
+++ calculate/lib/cl_template.py
@@ -327,6 +327,8 @@ class _terms(_error, _shareTermsFunction):
else:
try:
valVars = self.objVar.Get(vals[0])
+ varTable = self.objVar.Get('cl_used_action')
+ varTable.append((vals[0],vals[1]))
if not valVars:
valVars = ""
except DataVarsError, e:
@@ -505,7 +507,8 @@ class fileHeader(_terms):
"""
# Допустимые параметры заголовка
- allowParam = ["format", "format_conf", "comment", "append", "force",
+ allowParam = ["format","dotall","multiline",
+ "comment", "append", "force",
"link", "mirror", "symbolic", "chmod", "chown", "name",
"path", "autoupdate","protected", "run","exec","merge",
"module","env"]
@@ -526,7 +529,8 @@ class fileHeader(_terms):
# условные операторы
terms = ('>', '<', '==', '!=', '>=', '<=')
# параметры без значения
- listParNotVal = ("symbolic", "force", "mirror", "autoupdate", "protected")
+ listParNotVal = ("multiline", "dotall", "symbolic", "force", "mirror",
+ "autoupdate", "protected")
# Результат вычисления условия в заголовке
headerTerm = True
@@ -5643,6 +5647,14 @@ gettext -d cl_template "$*"
elif objHeadOld and objHeadOld.execStr:
execStr = objHeadOld.execStr
+ if objHeadNew.fileType != 'patch':
+ wrongOpt = [x for x in ("multiline","dotall")
+ if objHeadNew.params.has_key(x)]
+ if wrongOpt:
+ self.setError(\
+ _("Option %s should be used for format=patch only")\
+ %wrongOpt[0])
+ return False
if objHeadNew.fileType:
formatTemplate = objHeadNew.fileType
typeAppendTemplate = objHeadNew.typeAppend
@@ -5654,6 +5666,11 @@ gettext -d cl_template "$*"
return False
# создаем объект формата шаблона
objTempl = self.getFormatObj(formatTemplate, self.textTemplate)
+ if formatTemplate == 'patch':
+ if objHeadNew.params.has_key("multiline"):
+ objTempl.setMultiline()
+ if objHeadNew.params.has_key("dotall"):
+ objTempl.setDotall()
if not objTempl:
self.setError(\
_("Incorrect header parameter format=%s "
diff --git calculate/lib/datavars.py calculate/lib/datavars.py
index c0ef821..0639bd0 100644
--- calculate/lib/datavars.py
+++ calculate/lib/datavars.py
@@ -398,6 +398,8 @@ class Variable:
return
if "choice" in self.type:
choiceVal = self.choice()
+ tipChoice = map(lambda x:'"%s"(%s)'%(x[1],x[0]) \
+ if type(x) in (list,tuple) else str(x), choiceVal)
if choiceVal and type(choiceVal[0]) in (tuple,list):
choiceVal = [x[0] for x in choiceVal]
if not "list-list" in self.type:
@@ -410,7 +412,7 @@ class Variable:
name = self.label or self.name
if not choiceVal:
self.raiseNothingValue()
- self.raiseWrongChoice(name,choiceVal,val,error)
+ self.raiseWrongChoice(name,tipChoice,val,error)
def raiseWrongChoice(self,name,choiceVal,value,error):
raise VariableError(error.format(
@@ -1543,6 +1545,21 @@ class DataVars(SimpleDataVars):
self.Check(var,self.Get(var))
else:
val = self.fixWsdlTableValue(varObj,val)
+ if varObj.type == "choice":
+ choicedata = self.ChoiceAndComments(var)
+ if any(choicedata):
+ choicedata = zip(*choicedata)
+ if not val in map(lambda x:x[0],choicedata):
+ result = filter(lambda x:(
+ _toUNICODE(val).lower() in _toUNICODE(x[0]).lower() or \
+ _toUNICODE(val).lower() in _toUNICODE(x[1]).lower()),
+ choicedata)
+ if len(result) > 1:
+ raise VariableError(_("Ambigious choice:%s")%
+ ",".join(map(lambda x:'"%s"(%s)'%(x[1],x[0]),
+ result)))
+ elif result:
+ val = result[0][0]
self.Set(var,val)
# raise error for atempt set uncompatible variable
if uncomperr:
diff --git calculate/lib/format/patch.py calculate/lib/format/patch.py
index 4251c49..9c50bee 100644
--- calculate/lib/format/patch.py
+++ calculate/lib/format/patch.py
@@ -36,6 +36,7 @@ class patch(_error):
self.doc = self.textToXML()
if self.doc:
self.rootNode = self.doc.documentElement
+ self.reFlags = 0
def textToXML(self):
"""Создание из текста XML документа
@@ -51,6 +52,12 @@ class patch(_error):
return False
return self.doc
+ def setMultiline(self):
+ self.reFlags |= re.M
+
+ def setDotall(self):
+ self.reFlags |= re.S
+
def processingFile(self, textConfigFile, rootPath=None):
"""Обработка конфигурационного файла"""
if not self.doc:
@@ -89,7 +96,7 @@ class patch(_error):
%reText)
return False
try:
- regex = re.compile(reText)
+ regex = re.compile(reText,self.reFlags)
except:
self.setError(\
_("Incorrect text of template '<reg>%s</reg>'")\
diff --git calculate/lib/variables/X11.py calculate/lib/variables/X11.py
index 72de72b..ad33e27 100644
--- calculate/lib/variables/X11.py
+++ calculate/lib/variables/X11.py
@@ -18,7 +18,7 @@ import os
import re
from os import path
from calculate.lib.datavars import Variable,VariableError,ReadonlyVariable
-from calculate.lib.utils.files import process, readLinesFile
+from calculate.lib.utils.files import process, readLinesFile,FilesError
from calculate.lib.utils.common import (getAvailableVideo, getValueFromCmdLine,
getVideoFromXorgLog, getVideoFromXorgConf, getVideoFromCmdLine,
getCompositeFromXorgconf,getTupleVersion,
@@ -36,7 +36,7 @@ class VariableOsX11Resolution(Variable):
processXDpy = process('xdpyinfo')
if processXDpy.failed():
return ""
- except OSError:
+ except (FilesError,OSError) as e:
return ""
lines = processXDpy.readlines()
reRes = re.compile("dimensions:\s+(\d+)x(\d+)\s+pixels")
diff --git calculate/lib/variables/__init__.py calculate/lib/variables/__init__.py
index 1c1d90a..b703d5c 100644
--- calculate/lib/variables/__init__.py
+++ calculate/lib/variables/__init__.py
@@ -25,6 +25,7 @@ import linux
import net
import user
import system
+import action
from calculate.lib.cl_lang import setLocalTranslate
setLocalTranslate('cl_lib3',sys.modules[__name__])
diff --git calculate/lib/variables/action.py calculate/lib/variables/action.py
new file mode 100644
index 0000000..802aca9
--- /dev/null
+++ calculate/lib/variables/action.py
@@ -0,0 +1,59 @@
+#-*- coding: utf-8 -*-
+
+# Copyright 2013 Calculate Ltd. http://www.calculate-linux.org
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import os
+import sys
+from os import path
+from calculate.lib.datavars import (Variable,VariableError,ReadonlyVariable,
+ ActionVariable)
+
+from calculate.lib.cl_lang import setLocalTranslate
+from calculate.lib.cl_template import Template
+setLocalTranslate('cl_lib3',sys.modules[__name__])
+
+class VariableAcCustomName(Variable):
+ """
+ Пользовательское действие для выполнения шаблонов
+ """
+ opt = ["ac_custom_name"]
+ metavalue = "ACTION"
+ type = "choice"
+ value = ""
+ untrusted = True
+
+ def init(self):
+ self.label = _("Custom action")
+ self.help = _("custom action")
+
+ def choice(self):
+ oldAction = self.Get('cl_action')
+ oldName = self.Get('ac_custom_name')
+ clTempl = Template(self.parent, cltObj = False)
+ try:
+ clTempl.applyTemplates()
+ except:
+ pass
+ finally:
+ self.parent.Set('cl_action',oldAction,force=True)
+ self.parent.Set('ac_custom_name',oldName,force=True)
+ clTempl.closeFiles()
+ return list(set(map(lambda x:x[1],
+ filter(lambda x:x[0] == 'ac_custom_name',
+ self.Get('cl_used_action')))))
+
+ def check(self,value):
+ if value == '':
+ raise VariableError(_("Need to specify action name"))
diff --git calculate/lib/variables/env.py calculate/lib/variables/env.py
index 094afcd..6d376e5 100644
--- calculate/lib/variables/env.py
+++ calculate/lib/variables/env.py
@@ -204,12 +204,26 @@ class VariableClAutoupdateSet(Variable):
else:
return "off"
+class VariableClHumanEditSet(Variable):
+ """
+ Параметр для отметки "ручной правки"
+ """
+ type = "bool"
+ opt = ["--human-edit"]
+ value = "off"
+
+ def init(self):
+ self.help = _("mark as human modification")
+ self.label = _("Mark as human modification")
+
class VariableClProtectUseSet(ReadonlyVariable):
"""
Использовать portage интеграцию с конфигурационными файлами
"""
type = "bool"
- value = "on"
+
+ def get(self):
+ return "on" if self.Get('cl_human_edit_set') == 'off' else "off"
class VariableClDispatchConf(Variable):
"""
diff --git calculate/lib/variables/system.py calculate/lib/variables/system.py
index 08593ef..70bcf87 100644
--- calculate/lib/variables/system.py
+++ calculate/lib/variables/system.py
@@ -145,3 +145,12 @@ class VariableOsUefiSet(ReadonlyVariable):
return "on"
else:
return "off"
+
+class VariableClUsedAction(ReadonlyVariable):
+ """
+ Переменная содержит все найденные при обработке шаблонов
+ событийные переменные (ac_)
+ """
+ type = "table"
+ def get(self):
+ return []

@ -31,6 +31,7 @@ EBUILD calculate-utilities-3.1.7-r17.ebuild 768 SHA256 8b76a29c93af83622266ef347
EBUILD calculate-utilities-3.1.7-r18.ebuild 771 SHA256 64be0145fa49abd9866f4614357dbbb3dca2b2c057f9998b2744fdcf7092386c SHA512 5bc6318854c84dbb0e5a417527399afbefbdc78cb926407117da1c2b3d28ffbb8aaa50d8820760d79084b1f88d1756159cfa5285f14f9c922a7161bb85425e13 WHIRLPOOL cf4e117f1c9d4e07bca4266411b0c261aaf6744b8bdffa631fdef354df255d76f331cfa30882eef83dc2b79655a6c2515a4837f0352d3486c6512fd6c28513f3
EBUILD calculate-utilities-3.1.7-r19.ebuild 771 SHA256 fb8e25c76a15bff3a300657b354bfba7142799d7aad5c73cb2c768d0c6cb26d8 SHA512 7f3eb1e7a5930af68e9a2c84eef7aa0baad624e1294103f0ee81a09808fcfc44150ea7127332e52c055a9e42b9acfa917783085eb89e5192e0a482561c7f60a0 WHIRLPOOL e22b9f9c776617ff6545d687e14a6e36ca21d1f3a864a1c8c3b511c6d34a7fca470343e7bed6580210a3791c7042ed9c762d34943a9f61a4b01bb88819fc7bc9
EBUILD calculate-utilities-3.1.7-r2.ebuild 761 SHA256 a8d68add7993bf5b4db8235dbad7158cd9b4b6b803af9c1bb9c690b40d0033d7 SHA512 13458804fbd04a44ac5a253edfa3877b8c31b665d8b5f6c9983066d5a6c3fdfcfc7f4ef57b89be4ec6c5343cb0faad6dce31bb5897fefa4b68eab33e6140ac3f WHIRLPOOL 7a73cb1dde57bc32faf28a2b90bde17e5f91dfa94b3ee49e9a56693a33152b6d08ca06ed3ee5ec39a4e98e62a6e612f0a62b3ef8ea28d690456ed3016f4f699f
EBUILD calculate-utilities-3.1.7-r20.ebuild 771 SHA256 3ab1a243beb0655a10eef64b8b08d6f125f5ae95845e5d73d486f98feacbfd61 SHA512 0b8403c7b1d5905d66ae87b1f35649ae36bbeefcd6c3e0a94e2805e0fbe002c25a587a85a99224e244b417c942eb79f61a871ee8310e6844af13e2acede7c18d WHIRLPOOL 5601b6a794858524ae3fa37be02d6b9372790853b253ed6353151dbce18f401946efa362759a6cd78dc43c0bc46b12ae67a54656f2cce386f4bb7a2486e99fdd
EBUILD calculate-utilities-3.1.7-r3.ebuild 761 SHA256 2bd5a011805391c9ea03f0a58b622ab8ebb8906f288abdc0c1ce7031ae930657 SHA512 ddc9ee47a3d04e112036e175986e8bf01fb1e8ef33cddd2fc69cc01f56df22bf7c20c1db144da8abedb2b15e7ec9644615a0676c267f47842498496e0c9d88ea WHIRLPOOL f1db0c0573abf5c238b9c76a4112313b0f57f4a43599e8a082a0e19bdfbcf991b5f3f4452f0473d30a6808a48e18933f0734331e2bb5ff2cdb9e88a7a2f66f0b
EBUILD calculate-utilities-3.1.7-r4.ebuild 761 SHA256 eb606a6659e4d07aa32047105ce661fa6c9e38559aecbb9c32ce606d307e2a75 SHA512 4f9d7a6099c6eaffacaf358ff0e6ba82b0565c1f5f5c9783ed31c59c4d47b4ba921e575d850f34abd1e29676044443bcaa835c83ab432ac7499c4f7f193b8605 WHIRLPOOL ef63faaf1967f416fbe4b1d3841725c57979c100a9b8b8ec391f0b0d4cc90ebbc795d3d23f6cf229088892bf1732a8f3fd0d52772c8626560ff5b50eb7510138
EBUILD calculate-utilities-3.1.7-r5.ebuild 764 SHA256 d9901832d0b454813b91567f33c911c830c377ac86ba472ba9198b4618fa0b66 SHA512 172ae82c259d66fa3cd90d2e5ed6737cc1319ad6e329194a2e8325b5c8a6d7c63a1117c2531a30b7fc9a82f1be27b1abe85f994f05183b444d8d67e63eafe0d0 WHIRLPOOL 87ff58b7e67a22baa5cb5674d2451ceccd7e80e2206efaa1b6941af83dd9dad658e1937de94feacfbe4114df711266e3d11dc7fa37db487c97d950659d5d2b0e

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