Перенос пакетов в calculate-overlay

mhiretskiy
Mike Khiretskiy 10 years ago
parent dbf98c0a5a
commit c396f51ae4

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<repositories xmlns="" version="1.0">
<repo priority="50" quality="experimental" status="unofficial">
<name>distros</name>
<description>Calculate Linux Profiles</description>
<homepage>http://www.calculate-linux.org</homepage>
<owner>
<email>support@calculate.ru</email>
</owner>
<source type="git">git://git.calculate.ru/calculate/distros.git</source>
</repo>
</repositories>

@ -1,3 +0,0 @@
DIST wallpapers-14.tar.bz2 6633047 SHA256 2444097f5aeca51dba4b15e7384280eb28b0a9c0c18d46bb9106d465f96759d1 SHA512 7391747abc21e3379a427da2c0affd99b3cb8ab0cd4f41c2896b4257da64d9c6e243177c81377c191d10457963730d2387dcc27fd9b628cef4e721278845ed0b WHIRLPOOL 4876c547411e2290e4de12375fe6987022c74c7b186014768c0e2e639b9ad0dbcdb34da9233fdadd0b218958a0e8af2776ce12dbb18b65d6c98ef072b7bda329
EBUILD calculate-wallpapers-14-r1.ebuild 595 SHA256 4f0fa65bebd73083f02f4094bbc388ee8d853de480555b11d24b248bdb17b4a1 SHA512 fceca716051719fe145e418624e3055a40872183c1a9f048d526f91ecf059e891dda78ffa0c29fa4f2df95bcf676fdc4349fe723ca368a493807e3d8510cb175 WHIRLPOOL 8ab37c4d00d8d8a677224d99f5350ea5276f8ec769ffd81950062d4e1a9b217acfd608b86eec77e8735b91f9d34f94d518b35faf8facd0adbeff255894ee5a6e
EBUILD calculate-wallpapers-14.ebuild 595 SHA256 4f0fa65bebd73083f02f4094bbc388ee8d853de480555b11d24b248bdb17b4a1 SHA512 fceca716051719fe145e418624e3055a40872183c1a9f048d526f91ecf059e891dda78ffa0c29fa4f2df95bcf676fdc4349fe723ca368a493807e3d8510cb175 WHIRLPOOL 8ab37c4d00d8d8a677224d99f5350ea5276f8ec769ffd81950062d4e1a9b217acfd608b86eec77e8735b91f9d34f94d518b35faf8facd0adbeff255894ee5a6e

@ -1,28 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Wallpapers for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/packages/media-gfx/calculate-wallpapers"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/themes/wallpapers/wallpapers-14.tar.bz2"
RDEPEND="!media-gfx/calculate-cldx-themes
!media-gfx/calculate-cld-themes
!media-gfx/cld-themes
!media-gfx/cldx-themes"
DEPEND="${RDEPEND}"
src_install() {
insinto /
doins -r .
}

@ -1,28 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Wallpapers for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/packages/media-gfx/calculate-wallpapers"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/themes/wallpapers/wallpapers-14.tar.bz2"
RDEPEND="!media-gfx/calculate-cldx-themes
!media-gfx/calculate-cld-themes
!media-gfx/cld-themes
!media-gfx/cldx-themes"
DEPEND="${RDEPEND}"
src_install() {
insinto /
doins -r .
}

@ -1,6 +0,0 @@
DIST dm-14-r1.tar.bz2 4831925 SHA256 fab5218ce938c90a4822319920d46fd1211f155a2894e15783e5283a7afe8872 SHA512 a9d8e87e5c5e97d45578f089ac400c1850df5be95859740652fa6506fd144aa28e2815dc631a8ce51be9f247152287c5a5b95e09847db401cbee270a855d02cd WHIRLPOOL ccffa480bc24ba51cfd56b86b5d91c7b51a277991bf40aa32707752e73e612b3f92fc2d80c3196fdb33b3f7526bd736a46f7fca6770198da2c5a37a45e3e7c56
DIST dm-14-r2.tar.bz2 4835404 SHA256 3b381da80a203c05643d7f92e58abbcfd37bd63acb5fce97aaa11fa69f440234 SHA512 16f1da2b98a40c95c122c4a2f9d17f551a540b8eb64553e57e9f504cc3eae97f8361cee5d9dbc05d31b243af67cf97d7d4503af0c41f483278bf9c6bb00f948a WHIRLPOOL 63393234ca6e1f9c3c7e0e6b2bc6dac8721f3f04111e02e144ff15c26a7ce51488718c3b82773d51e1287892eefabe2ebf9a251bd92eadfec114dcf442805878
DIST dm-14.tar.bz2 4820570 SHA256 0986b77d04c350cbe1ee0d3dc48513a36e09dd64f0085ce5db7134f8aabf9fb7 SHA512 e09d1eb4bfa1e7021d057ec6d829bbee1eef2149dc51f7a8410f3e14ac4c389a2b29bee8714439fc772d1c335aef429eda9025f3b0992dbe11400c0187e58722 WHIRLPOOL 1bff65d3d160578bc88b4fd2d4d3da43f3da401c038c0eee5a34ee35658c78bff0149ac3ea8767129e16676c2c5ffca417c1a8e45733b013d25564f2ca30830d
EBUILD dm-themes-calculate-14-r1.ebuild 467 SHA256 0a1d2a43bb573163e5f184d49218711bf9b5f2bc523d0a4c1be5b64bf780e6de SHA512 d97a4b36688b80340a910d275d652f8d391655de983bac5f75da305f53d809bf02570aeea9b8929ab8ff59678695efbd31b0d6a59cb55b067728f0ea94c0de60 WHIRLPOOL 5bfd49d3df396d14208a23a6002727c4655bbe6d21a758bc922646bc6f3db5f0ea18aa08afe91dc1f7cd8eca8cc15432e849b40121469a05ea811d4d6ca87b61
EBUILD dm-themes-calculate-14-r3.ebuild 466 SHA256 b4d72d29bc6f09fd9ba6c09effba2fd68294b09a27c6b8cf95e90e272e8ffd26 SHA512 662c0804261e56a36122d42f3f01f67bcb231834bd6bf6db3ebbc91c19e537da933eb2a68f8a7c20802e67088af9f39bee3db51486895d74c06166034f3f4f92 WHIRLPOOL b4c1b551864c830effc4a1de29647a06eec5ec7afe45e981bf4eea1d873ede4f04593e07bce46fd590e1e9f803e43b11f3fbb3a06d79e6af83f08da83f47f228
EBUILD dm-themes-calculate-14.ebuild 466 SHA256 773d38b18d0cdae1b06e88cb15c1f5cb3a81ea4eef8ec96848a529af8476f4e6 SHA512 426c6ddd42ee195be671299a2013283bd80ea7848c06eb7d32b380a0631c3fae7e3c0e489a2611db8af4cadd822545f6ea21f9c4b73a3f246bb535d9097dfc3e WHIRLPOOL 822c8d790e82201d27dc7a76a3774c7f060fbe3b0e1ed99fdd67fb1cde6291b1009160d1afdfa07760815757a4d2f53ca6a4ad8f664a70e7bbd6f9fdb8f4f635

@ -1,25 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Wallpapers for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/packages/media-gfx/dm-themes-calculate"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/themes/dm/dm-${PVR}.tar.bz2"
RDEPEND=""
DEPEND="${RDEPEND}"
src_install() {
insinto /
doins -r .
}

@ -1,25 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Wallpapers for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/packages/media-gfx/dm-themes-calculate"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/themes/dm/dm-14-r2.tar.bz2"
RDEPEND=""
DEPEND="${RDEPEND}"
src_install() {
insinto /
doins -r .
}

@ -1,25 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Wallpapers for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/packages/media-gfx/dm-themes-calculate"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/themes/dm/dm-${PV}.tar.bz2"
RDEPEND=""
DEPEND="${RDEPEND}"
src_install() {
insinto /
doins -r .
}

@ -1,4 +0,0 @@
DIST grub-14-r1.tar.bz2 10168 SHA256 931bed69c4b6bb0838f525377f5bdcee28ef9c4a3069581a41ea290cdee2d2f8 SHA512 4d21fa49f0a90391f4e31cdac75a481955dc759a2be0e7c31b81e147829f30581552c7f37421183886ddf880302cf862e4ad04e29afe3adb950f5b51cc540859 WHIRLPOOL d71081869ef2a17efac78b96167ac86fd6c595936d7e1243d82bca7c3eb06945d65e78d5b572db44bbd8159c00d7267eeee2e3439d02a0518db5ed28f3a1e96f
DIST grub-14.tar.bz2 269976 SHA256 ebd66f3049dd24f96d0d74bcd5a16ac54de1cf48570bc3033304221d8ed6d872 SHA512 d54ad6f63ec65777747310ccfb9a685028916126caf08e0a4530415a6e2ca4b243634ed8938b055d07a3adce1e53eb173b5c937fcb65401a37ecd0880c341234 WHIRLPOOL 0ae400dc5add4c37f6a4412663f9f661a6bffb443cb1bacd0d98127de48e541f88c1a459c34c3241a3ae4543f07e79d6cd08a41f8e83c374969942c30b28fe92
EBUILD grub-splashes-calculate-14-r1.ebuild 506 SHA256 623099c834b8ca6895615cadfa9883dbcbf2bbe2aa6eb4b202f1031c6bdd23ad SHA512 20b07474f6fef2ba4117633f61179a0c727d0d251a061b4b6fba1ce6f935c40acc7fdcd214519551f2d1f944237921a64dd3e33465fcfd25fae3b7680247edba WHIRLPOOL 62ba5a2a7eae84b2aed0e3118d0dee73680dd8172851f0de8dafb3ec73592453c52576fa42059627e260dd1b1f3c37a6bfc472448b49215a9176ebb96978a5e8
EBUILD grub-splashes-calculate-14.ebuild 505 SHA256 687064ccb2d911208d0829b8a511940d098bb8958070a5976c6c295134cacdd5 SHA512 55c6a4f69e58b2b3b46538047e9dd9af32db9ab7deec2fd9d105f58e4a8a01d41fe7809a38b9b59320450089c01d4e69694f2ddea7402c139ab8e13da2df4f9e WHIRLPOOL 2f6504c9c3273e8ee5cfdc7b571175e5b6bd01f24a07a6c1d6909d9475849f06377b99d1c2af4226c89a5a9026b707c0fd702229e59eebedf8d29bf299c142df

@ -1,24 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Grub splashes for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/packages/media-gfx/grub-splashes-calculate"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/themes/grub/grub-${PVR}.tar.bz2"
RDEPEND="!<sys-boot/calcboot-4.05.0-r1"
DEPEND="${RDEPEND}"
src_install() {
insinto /
doins -r .
}

@ -1,24 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Grub splashes for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/packages/media-gfx/grub-splashes-calculate"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/themes/grub/grub-${PV}.tar.bz2"
RDEPEND="!<sys-boot/calcboot-4.05.0-r1"
DEPEND="${RDEPEND}"
src_install() {
insinto /
doins -r .
}

@ -1,2 +0,0 @@
DIST kdm-calculate-14.tar.bz2 2071553 SHA256 7ddd29482aa6f1af6290c134136b123d220d4625d042df3b47c9abb01eb59573 SHA512 0c45fe5bc4e26e7eb35acfd2460bab1b71abe5e0aa1fbd791ffe2c8c7bf311cb181e978283333ae01b75d019e272f16065fc56c7f695570959fb5b6123b392e4 WHIRLPOOL d68912183552444e75c3ee26ca933660f160614086f5ac77e12a2eea9d896afd1043a08ccfd01e7eb30b5061e64c6979fe12789cb26ee8efe549040c02499aa3
EBUILD kdm-themes-calculate-14.ebuild 689 SHA256 da53ce963568a452f8157ebbb5c9846f1c4e8753239f88b230b30b69f60998b0 SHA512 d91c35910198074f88332c3d6b552608a746c7e36c6a90f9a6a356e24a5cd08cd8013afa9e031b96d20078acca5d68133993c2fe8ac5386afe5916924f57ebf3 WHIRLPOOL 1e4395f433945d72d8f05400632a8fd1c1ad693f849b95f97ddb8711635ff357bdf3921fe1e833db08b5d558924ea610fbabe18a7847c1f1e75d9d07b0e4c163

@ -1,32 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Kdm theme for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/packages/media-gfx/lxdm-themes-calculate"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/themes/kdm/kdm-calculate-${PV}.tar.bz2"
REQUIRED_USE=""
RDEPEND="!media-gfx/cld-themes
media-gfx/dm-themes-calculate"
DEPEND="${RDEPEND}"
src_install() {
insinto /
doins -r .
}
pkg_postinst() {
ln -sf /usr/share/wallpapers/dm-background.png \
/usr/share/apps/ksplash/Themes/CalculateSplash/400x300/background.png
}

@ -1,2 +0,0 @@
DIST plymouth-calculate-14-r5.tar.bz2 24642061 SHA256 2b2cb63f42fe62529cfc616f717e59da195faeb21be4a370f4d6a8e146e32503 SHA512 2f4fded1ebb9a4f13ab1a31e62e95abfaa98a7d3ac1307c5b79c627aa12484dad73bd861ba4de2907d67eadeef159f2b34d24b1063bf75f82fd7b8633b92b403 WHIRLPOOL 21f8ddea2f00bc32c75e92d53ae85b2c0dd7472c0bedfc38a8645aec179f3c6f9f28c5d7f6088b89ab5527d91224c22ee4763084f0ebf4839314f231770d2efe
EBUILD plymouth-themes-calculate-14-r5.ebuild 652 SHA256 02397f57a60b165cad1ce157c339ca02a874eb8e0e7c982358669b6827404601 SHA512 0a9d80f9938af7d6f928274f61f5e098482e7377104458ba43ac6baa553038d319cc02ddca70f53fec4b6be0c8f0158638b6517c4c101b1fd395ca7cd9968747 WHIRLPOOL 7b357fd09f543f25202b32ca21f4258fb76dd9371accaefa3f262fe38f5959848d13f48a65f5e4374ba20e3c1521671844c123b69056bf49b9c25b93028aff1e

@ -1,28 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Plymouth themes for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/packages/media-gfx/plymouth-themes-calculate"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/themes/plymouth/plymouth-calculate-${PVR}.tar.bz2"
RDEPEND="sys-boot/plymouth
sys-boot/plymouth-openrc-plugin
"
DEPEND="${RDEPEND}"
src_install() {
dodir /usr/share/plymouth/themes/calculate
insinto /usr/share/plymouth/themes/calculate
doins *
doins .plymouth_shutdown*
}

@ -1,2 +0,0 @@
DIST syslinux-calculate-14.tar.bz2 24036 SHA256 1ab39049e328684fb001801bf5404efe746a829fd1fa5bf5e4301c370dbffbad SHA512 bdf19e97f8e893387fbb5bca953648da72396c12e727f14da8813413cbe16505d09765a0acf7b855fb583c330a38457e60484ea63606b55e2b62a27cce2f18da WHIRLPOOL 357be88bc2e89ba7f363ac928a9c35eaf8da0d01d1a9293a859aa55b590ab3fec9b9e499a4d53bda3995aeabf9c426520940d8ec5b44085f7caee23c04ba89a4
EBUILD syslinux-themes-calculate-14.ebuild 532 SHA256 8853cd88610431f0d101650c5780606ab1f3b7794922f48c9cf812437582bf92 SHA512 aebda508bfe73141649370bb275ab68aa14cda875948d9846f3cd17c4d59d1dd47785d80c449c26acd226bba746b8cbf2cfba9221afd18532dcd4e77721e6a49 WHIRLPOOL 7e1c3c3ad61caf792599b585e5aa7fdb9727f539a3442055ff9d58277483c335d26f3c4adb1f3485e4202adc38570b5973dd2f4ba92f8c3ebf1d297915f3a34c

@ -1,25 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
DESCRIPTION="Syslinux background for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/packages/media-gfx/syslinux-themes-calculate"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="x86 amd64"
IUSE=""
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/themes/syslinux/syslinux-calculate-${PV}.tar.bz2"
RDEPEND="!<sys-boot/calcboot-4.05.0-r1"
DEPEND="${RDEPEND}"
src_install() {
insinto /
doins -r .
}

@ -1,13 +1,13 @@
~sys-apps/calculate-client-3.2.0_alpha10 amd64 x86
~sys-apps/calculate-console-gui-3.2.0_alpha10 amd64 x86
~sys-apps/calculate-console-3.2.0_alpha10 amd64 x86
~sys-apps/calculate-core-3.2.0_alpha10 amd64 x86
~sys-apps/calculate-desktop-3.2.0_alpha10 amd64 x86
~sys-apps/calculate-i18n-3.2.0_alpha10 amd64 x86
~sys-apps/calculate-install-3.2.0_alpha10 amd64 x86
~sys-apps/calculate-lib-3.2.0_alpha10 amd64 x86
~sys-apps/calculate-update-3.2.0_alpha10 amd64 x86
~sys-apps/calculate-utilities-3.2.0_alpha10 amd64 x86
~sys-apps/calculate-client-3.2.0_alpha11 amd64 x86
~sys-apps/calculate-console-gui-3.2.0_alpha11 amd64 x86
~sys-apps/calculate-console-3.2.0_alpha11 amd64 x86
~sys-apps/calculate-core-3.2.0_alpha11 amd64 x86
~sys-apps/calculate-desktop-3.2.0_alpha11 amd64 x86
~sys-apps/calculate-i18n-3.2.0_alpha11 amd64 x86
~sys-apps/calculate-install-3.2.0_alpha11 amd64 x86
~sys-apps/calculate-lib-3.2.0_alpha11 amd64 x86
~sys-apps/calculate-update-3.2.0_alpha11 amd64 x86
~sys-apps/calculate-utilities-3.2.0_alpha11 amd64 x86
~sys-boot/plymouth-openrc-plugin-0.1.2 amd64 x86
~x11-themes/greybird-1.2.2 amd64 x86
~sys-kernel/dracut-037 amd64 x86

@ -0,0 +1,20 @@
~media-gfx/calculate-wallpapers-14
~media-gfx/dm-themes-calculate-14
~media-gfx/grub-splashes-calculate-14
~media-gfx/kdm-themes-calculate/kdm-themes-calculate-14
~media-gfx/plymouth-themes-calculate-14
~media-gfx/syslinux-themes-calculate-14
~x11-themes/calculate-icon-theme-14
sys-kernel/calculate-sources-dev
~sys-apps/calculate-client-3.2.0_alpha11
~sys-apps/calculate-console-3.2.0_alpha11
~sys-apps/calculate-console-gui-3.2.0_alpha11
~sys-apps/calculate-core-3.2.0_alpha11
~sys-apps/calculate-desktop-3.2.0_alpha11
~sys-apps/calculate-i18n-3.2.0_alpha11
~sys-apps/calculate-install-3.2.0_alpha11
~sys-apps/calculate-lib-3.2.0_alpha11
~sys-apps/calculate-update-3.2.0_alpha11
~sys-apps/calculate-utilities-3.2.0_alpha11

@ -1 +0,0 @@
# Calculate append=skip env=install ac_install_merge==on

@ -1,3 +0,0 @@
Welcome to \n.\O (#-os_install_linux_name-# #-os_install_linux_ver-# #-os_install_linux_subname-#)

@ -1,7 +0,0 @@
# Calculate format=openrc
#?pkg(sys-boot/plymouth)==#
rc_interactive="YES"
#pkg#
#?pkg(sys-boot/plymouth)!=#
rc_interactive="NO"
#pkg#

@ -1 +0,0 @@
# Calculate append=skip env=install ac_install_live==on

@ -1 +0,0 @@
# Calculate append=skip merge(media-gfx/plymouth-themes-calculate)!= merge=sys-apps/openrc,sys-boot/grub,sys-boot/plymouth,sys-kernel/calculate-sources

@ -1,2 +0,0 @@
# Calculate merge()!=&&pkg()!= path=/usr/share/plymouth/themes name=calculate

@ -1,8 +0,0 @@
# Calculate format=patch multiline
<reg>^shutdown_text = .*$</reg>
#?os_install_locale_lang==ru_RU#
<text>shutdown_text = "Завершение работы";</text>
#os_install_locale_lang#
#?os_install_locale_lang!=ru_RU#
<text>shutdown_text = "Shutting down";</text>
#os_install_locale_lang#

@ -1,2 +0,0 @@
# Calculate merge()!=&&pkg(sys-boot/grub:2)!=&&pkg(media-gfx/plymouth-themes-calculate)!= path=/boot

@ -1,2 +0,0 @@
# Calculate format=openrc path=/etc/default name=grub in(os_install_x11_video_drv,other,default)==
GRUB_CMDLINE_LINUX=" #-os_install_kernel_resume-# elevator=#-os_install_kernel_scheduler-# doscsi#-os_install_kernel_attr-# calculate=video:#-os_install_x11_video_drv-# splash udev quiet"

@ -1,2 +0,0 @@
# Calculate format=openrc path=/etc/default name=grub in(os_install_x11_video_drv,other,default)!=
GRUB_CMDLINE_LINUX=" #-os_install_kernel_resume-# elevator=#-os_install_kernel_scheduler-# doscsi#-os_install_kernel_attr-# splash udev quiet"

@ -1,11 +0,0 @@
AUX calculate-client-3.2.0_alpha10-r1.patch 801 SHA256 be4aff6b908fe3e97257e366f0c321251d21a7d9bf6b6dc54dbb9fa3b8973399 SHA512 de3ae862d5e60c99e9246feb3f66417bd8e72f01988c5f8410f8a6f3f0e15bcfe40e04677ec5375446a8be125e684c83d8e09d2972ad5e6634a83659accb5f66 WHIRLPOOL 55b76ca531404f069661aecb9d3213db72a600b278e4c304dc9e61c2c814e0934535d1ea2dd9937674a7e950e21c4aa368da34b0730b35dc668652568d62ae07
AUX calculate-client-3.2.0_alpha10-r2.patch 1204 SHA256 9cfdbd304f7ef0aa004894d994219101e817904d45fac29e8678db5c015b4c50 SHA512 fdac89484abfcd4134d2d75265d28b3deb01adefef29f5dbb2b54792da28721d26e38b8c4cfc7fbdfb4678714d8a7b80a33016fa652ec8f7c8f260ab0a9c4142 WHIRLPOOL fe7cc9014eac6e743d6ea35feb813b893968058fb66722776d31841c8d2a318773d07447f0009b677570186266da3108ebd79a49d5e191f3f4fde049dc954d46
AUX calculate-client-3.2.0_alpha11-r1.patch 537 SHA256 1ce3c895424edee669640db405ff29cca558e2591d416b078e9d68e8dd43633d SHA512 50b4bf1c77924ce196af458056547b02f114ca1a3ef7e97a2ddd9ca17e1a5b3bd73a227e74def867b2ae3acd09b5e2b99537a98e89b1ebf2940de3931a091bca WHIRLPOOL cb67b4a483fb3c87a72e2aa18658e46057837d0d95d19df53c8c61dcc9fac619762208a81e6c8a4b903bb856efbf1c42b53a5ecc14cc22b243186ec8f10c29d2
AUX calculate-client-3.2.0_alpha6-r1.patch 995 SHA256 9dbd39647220dfd93fb759b039b583c724abcfb25910813783635a6707421c31 SHA512 3b2ccd132cf820b016c1d103bbf7e9fc66b2fd82e967da930eb5149f7b0e3e40d752371c077be9fa9e548433716a47ac0791c5eebd4976ab1d926ad9df42a137 WHIRLPOOL 2c24d021aa5fa5c696b65d5c2a747fb564d1697c8343ff8d65328dff64fec6bf176cf9cd32333e7f56a67e68c2bb25349be3f194afc532576857cdd29d1fa77a
AUX calculate-client-3.2.0_alpha7-r1.patch 0 SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 SHA512 cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e WHIRLPOOL 19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a73e83be698b288febcf88e3e03c4f0757ea8964e59b63d93708b138cc42a66eb3
DIST calculate-client-3.2.0_alpha10.tar.bz2 30792 SHA256 793adbab1300b3a51d7b79c2c7a4d8846932b2f86211e27052a57e7809b63e3a SHA512 ff92fa663e46349618527ac4b841d265d011b67b03417e981f812751285e623ae9741597413b662de0ecfc53db684855b9686d67445936af0b33de9a4cd8feef WHIRLPOOL 8e6fb0fb2b9442dd5beacbe8021887a88b0543cc7932c130c456337e43fc4f4317b28495855d313ed8875ba1aa3f8a3fcc41a4bba86ab44a03b88b33d061eca8
DIST calculate-client-3.2.0_alpha11.tar.bz2 30805 SHA256 5b9693efc5bfe97e836d802b352c7a9a10808f18d015e9b2d692636bed734619 SHA512 04ab28230a43837de576aa0334c2361b8c16542399cfbadcba85ee49c0fb958d673b88af49a7500921a9e04c9303fe68d3d62f8a5e8bbdea4a2a431367e1acb6 WHIRLPOOL 229db99d222399d6c6ea10f842792ef1ecdb7b88f350e528b31b0cddda4f4b47c553436ca49a9727cecd617fc4e8cc4cfa9cacbacfb78b85bc7502a975f5df0e
EBUILD calculate-client-3.2.0_alpha10-r2.ebuild 933 SHA256 091af124e828725446b14cd3e44da9a07cf5531c9ecf5e4915a5f9f4bec8a0cb SHA512 b4b27802c529ce998451c1256a4cac390458a9d74db6aae18d9c7fa395623dd79901aed01fe17dbbf29f0bbcad387cf419477df618987f857a237e2b267dd85c WHIRLPOOL b0a989c2d2a9748acc7d0d43d78e00cc58edbf0fa1f928ddfba0ade65b40587673f076ca06e8a5238aa9469bfc5c5bfde5da821c2b0e3d5c3f6525ef525a0e9e
EBUILD calculate-client-3.2.0_alpha11-r1.ebuild 933 SHA256 a8f902075a5cf14e05bf9c7bb71985b72f8b267b0bbba256cee3efad297f4a58 SHA512 624a4b78b91ebe75d6cc3e6429844142db4ca25fffc45e5b798127956eb6f3768271c3db7c9968c995ff80d2b984644afb28b72fc9ffdacfea9445eaf9f7dec2 WHIRLPOOL 0bf7dbd71dbc520567bdc3c7f2df0da5e5645ae3afeb7e9e035fa19119a517699be09e57bc87358caef969580b07888a2c038a7e481a442ca73c408de884df42
EBUILD calculate-client-3.2.0_alpha11.ebuild 788 SHA256 6c3cb6622c8aad34725fb78079f59523f0d2661532a21d7c103d501aab45c062 SHA512 c7b34792b722887d5371d83b264efd36ba976434064b93a3e0f62fb272aeded00ada99c8979fffda85f5c86358c1133387b7b5159f18b6706c057a60ff95a38f WHIRLPOOL 619a30f54f2756c8a5dea555a3b8d944b184382ee66ef57292b8e6545227e5b81af0922bfc94dbeb971910391e2d51c72a8d4da79321bc4b0b714543076f8055
EBUILD calculate-client-3.2.9999.ebuild 877 SHA256 6bdcde374c0adafe386d071b8eb2c151745cf8bd5794ff46a4cd1084d6ed9cb4 SHA512 f2b58d69254eff369f56bb1a3875aeda7d7457754ca139eec3221d62c44dc69610ee87240b35f737c83a0e395c967562c8582652cf758ec05ab9d61d48f61ddf WHIRLPOOL 4f9b11e3fbce7b45d22ea4bee647d30ec301eb8ec4d5fb2fe95b38b17e4aacb63390065fa8c7ba055dcc5e4b987ddf7560717bfe044f6bcb219b7089daa8dadf

@ -1,38 +0,0 @@
# 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.2.0_alpha10
!<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/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.2.0_alpha10-r2.patch"
}

@ -1,38 +0,0 @@
# 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.2.0_alpha11
!<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/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.2.0_alpha11-r1.patch"
}

@ -1,30 +0,0 @@
# 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.2.0_alpha11
!<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/keyutils
sys-auth/pam_keystore
sys-auth/pam_client
dev-lang/swig"
RDEPEND="${DEPEND}"

@ -1,35 +0,0 @@
# Copyright 1999-2011 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 git-2
EGIT_REPO_URI="git://git.calculate.ru/calculate-3/calculate-client.git"
DESCRIPTION="Utility for setting and storing the user accounts in the domain"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS=""
IUSE="kde xfce gnome"
DEPEND="~sys-apps/calculate-desktop-3.2.9999
~sys-apps/calculate-lib-3.2.9999
>=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
dev-lang/swig
sys-auth/pam_keystore
xfce? ( x11-misc/xdialog )
gnome? ( x11-misc/xdialog )
kde? ( kde-base/kdialog )"
RDEPEND="${DEPEND}"

@ -1,14 +0,0 @@
diff --git client/utils/cl_client_sync.py client/utils/cl_client_sync.py
index 59d9197..fbcdc71 100644
--- client/utils/cl_client_sync.py
+++ client/utils/cl_client_sync.py
@@ -86,7 +86,8 @@ class ClClientSyncLoginAction(Action):
},
# проверка на попытку открыть вторую сессию для этого пользователя
{'name':'two_session',
- 'error':__("Second X session for user {ur_login} cannot be opened."),
+ 'error':
+ __("A second X session cannot be opened for user {ur_login}."),
'condition':lambda dv: (dv.Get('ur_login') in
dv.Get('desktop.cl_desktop_online_user') and
int(dv.Select('desktop.cl_desktop_online_count',

@ -1,27 +0,0 @@
diff --git client/utils/cl_client_sync.py client/utils/cl_client_sync.py
index 59d9197..fbcdc71 100644
--- client/utils/cl_client_sync.py
+++ client/utils/cl_client_sync.py
@@ -86,7 +86,8 @@ class ClClientSyncLoginAction(Action):
},
# проверка на попытку открыть вторую сессию для этого пользователя
{'name':'two_session',
- 'error':__("Second X session for user {ur_login} cannot be opened."),
+ 'error':
+ __("A second X session cannot be opened for user {ur_login}."),
'condition':lambda dv: (dv.Get('ur_login') in
dv.Get('desktop.cl_desktop_online_user') and
int(dv.Select('desktop.cl_desktop_online_count',
diff --git data/client data/client
index e3285f2..13695bb 100644
--- data/client
+++ data/client
@@ -41,7 +41,7 @@ start() {
ebegin "Mounting domain resources"
local NET_CONF=`cl-core-variables-show --only-value install.os_install_net_conf`
- if [[ $NET_CONF = "networkmanager" ]]
+ if [[ $NET_CONF = "networkmanager" ]] && type qdbus &>/dev/null
then
for COUNT in $( seq 0 24 )
do

@ -1,13 +0,0 @@
diff --git setup.py setup.py
index f873cdf..19b1ba7 100755
--- setup.py
+++ setup.py
@@ -33,7 +33,7 @@ data_files = [('/etc/init.d', [('data/client',0755)]),
('/usr/share/calculate/xdm/logout.d',
['data/logout.d/10client']),
('/usr/share/calculate/xdm/logout.d',
- ['data/login.d/15resume_remount']),
+ ['data/logout.d/15resume_remount']),
('/usr/share/calculate/xdm/',[('data/wait_domain',0755)])]
setup(

@ -1,27 +0,0 @@
diff --git data/cl-client-resume-remount data/cl-client-resume-remount
index 68cdadc..0efe516 100644
--- data/cl-client-resume-remount
+++ data/cl-client-resume-remount
@@ -1,7 +1,7 @@
#!/usr/bin/env python
#-*- coding: utf-8 -*-
-# Copyright 2013 Calculate Ltd. http://www.calculate-linux.org
+# Copyright 2013-2014 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.
@@ -89,8 +89,11 @@ class ResourceRemounter:
print("Restoring remote mounts for user %s"%self.dv.Get('ur_login'))
# waiting for the domain
for wait in [1,2,5,10]:
- if self.check_server(True):
- break
+ try:
+ if self.check_server(True):
+ break
+ except:
+ pass
sleep(wait)
# check and remount remote resources
self.remount_remote()

@ -1,8 +0,0 @@
AUX calculate-console-gui-3.2.0_alpha11-r1.patch 644 SHA256 993a0b0beacbf9cc583737205d911c2f223d0aa596905108f625e57ae3e0ece5 SHA512 232edde533f2a347d7bddabe16631dfa482f2271227c2197a4b72466b36b445dfd878223a96959312bbcc7f2fa2a53ffb2e7e8d27370aa01bee35a5c25e83f57 WHIRLPOOL b39f9db5432288aae5d815e6521eb9eaca3cb2d7efd8925c6d66f5fde4d0ed106ad766cbaacba63197f55ccd26749ef66536bc61645a5371de6e16c231ec7043
AUX calculate-console-gui-3.2.0_alpha11-r2.patch 1606 SHA256 3227df334116aef9585d700b9820cd59fca8906d5956b8c9a879539642314e48 SHA512 57794eb289bf38fd9f041c44f3ca4766002dc62ff8f75e8cf20c98c0d4fcab3bc7399837f579515da070a48ff80b9e3667eb3145bc9b60101ffcea57533be1f0 WHIRLPOOL 88a534bae58d03822490c3c48a39b715fcacdf035a9484c69eeeecbbc1c26964244918f3e078027fc873ef88061c7f212009114b816cc6e6a2d7c85b885630dd
DIST calculate-console-gui-3.2.0_alpha10.tar.bz2 431987 SHA256 32f8b800e0ac6d373ab34a15379c5eb865967316f0401d735d44605cdec8fec4 SHA512 2e48134a9b0a729dda64c009f42b4ff9d6c13f1f05ef0d350de3f81476cb56cbc4ffa69b816b00a260edc7c6a48353112fdc2faf39d0e5a7c09a3dc658bf287c WHIRLPOOL b57a1e8f43cecc764322aed95ac53bc808005bc59abf4ea44be997d54b7aefebf7c28a6b7f04e9b7a510a4dc43e50b9b418417c97c75c9d794b94dcd0b564357
DIST calculate-console-gui-3.2.0_alpha11.tar.bz2 433895 SHA256 9a9eb3293ea6041d176a2f8d83b6d991fe767a6414334c19865a8916e7a97c66 SHA512 3a4380b59fd51183c4b2724a59363735ecad4d589b2566dd29bbca2928ee00ad2476727d0e691cfe64c33325b41ea8c50f0a62f88cf4daf792be41a09b442bd0 WHIRLPOOL c1d70247723e32aeb4694ae58eb0ec9e23709db72f1bac826f51119401af6a57bb60edc45194d89ce0f9831282f959a89972e361d3eb36d81318344a66770a88
EBUILD calculate-console-gui-3.2.0_alpha10.ebuild 633 SHA256 a1ebfc2ee88d5fe46bbb094ab475a7df1a1d79c8d14510b0a998844ca2308673 SHA512 eb0744efe80da1bced8bfb21d28e037e20de37acd338a0d0725710864085ab3edd6b8c3b4ef19fc3acabf2ab8bad1c760ea37ebb5deafb7ad3e1055ab431b1f2 WHIRLPOOL 5b048962264d259add31ae76520c5ade73847d79da4ae7a3e09b281025d8d17849d6b9feef88fcc94a07f0b12cb77798849ac73bff7c585711bf23bf64b32faf
EBUILD calculate-console-gui-3.2.0_alpha11-r1.ebuild 783 SHA256 45351ca44f169f075a1f5e093f93a02b7eb114c65e68c4df3bcf0f8900f27cf0 SHA512 5e430d2c8567e2856508d60141332af335bf2a22f538ca3eb9a73e71b3547d05a16f33bfad78f1cca1006d816ad3cd0298f93c405de87db82895987dab815a1f WHIRLPOOL 89f4c9026d8b2b2c06676a3169156f4b8a2f9afce1bbcd538e9be1698bac13998eb2406979e03cdda2a55a2601417b057435f326ccbd22a339e6152f77b6d8b4
EBUILD calculate-console-gui-3.2.0_alpha11-r2.ebuild 783 SHA256 2c90fee2ce08f34c56d458e564a117309b469ea1a768cdbcebd7bdd4031bc758 SHA512 c5473197a3840550b1b8a0063a73d13ef352f87e06f1ef4995b82162752cf99cf4cfae16c0bcee8825ec9378af7b9b6de99defa633f124350ae9c0d65c9192e2 WHIRLPOOL a36397e33c0949e033f0762acf787b60c0bd14ca78a1c73596ed71304df3044d058e0d3563fecc5f3b637c2c7b0829f947476d20c62ef2957bbbf5179dc5be85
EBUILD calculate-console-gui-3.2.9999.ebuild 578 SHA256 2a87e98828f92ae2e971b1f5f2927af077e93ed7d3fadacea7f7e232c7a09348 SHA512 15da60d40befc9bba51232dd388df2397aea92ec2b25d951a34fc1a298049602370ac53a98bef42995e3ba911c76bb3a838cf5bfd5a3c4a6af7fc33e0fab34fa WHIRLPOOL 895ac120cb615db6493156e16f0a634da178a667b5c45e122218ce0cc0d6abd096827c506d7cad94f0f613b324cf5d4848e11671caf9b34bbc352ba91d9aa20c

@ -1,24 +0,0 @@
# 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="Qt gui console client for WSDL Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
DEPEND="~sys-apps/calculate-core-3.2.0_alpha10
dev-python/dbus-python
virtual/python-imaging
dev-python/pyside[script]"
RDEPEND="${DEPEND}"

@ -1,32 +0,0 @@
# 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="Qt gui console client for WSDL Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
DEPEND="~sys-apps/calculate-core-3.2.0_alpha11
dev-python/dbus-python
virtual/python-imaging
dev-python/pyside[script]"
RDEPEND="${DEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-console-gui-3.2.0_alpha11-r1.patch"
}

@ -1,32 +0,0 @@
# 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="Qt gui console client for WSDL Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
DEPEND="~sys-apps/calculate-core-3.2.0_alpha11
dev-python/dbus-python
virtual/python-imaging
dev-python/pyside[script]"
RDEPEND="${DEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-console-gui-3.2.0_alpha11-r2.patch"
}

@ -1,23 +0,0 @@
# 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 git-2
EGIT_REPO_URI="git://git.calculate.ru/calculate-3/calculate-console-gui.git"
DESCRIPTION="Qt gui console client for WSDL Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS=""
IUSE=""
DEPEND="~sys-apps/calculate-core-3.2.9999
dev-python/pyside[script]"
RDEPEND="${DEPEND}"

@ -1,21 +0,0 @@
diff --git scripts/cl-update-checker scripts/cl-update-checker
index 67055ed..70d1a72 100644
--- scripts/cl-update-checker
+++ scripts/cl-update-checker
@@ -31,6 +31,7 @@ from calculate.update.update_info import UpdateInfo
GUI_UPDATE_APP = DBUS_METHOD_APP % "update"
+MINUTE=60
class SysTray(QtGui.QSystemTrayIcon):
ICON = "/usr/share/pixmaps/calculate-console-update.png"
@@ -95,7 +96,7 @@ class DBusChecker(dbus.service.Object):
self.parent.step()
class CheckThread(QtGui.QMainWindow, UpdateInfo):
- interval = 10
+ interval = MINUTE
def __init__(self, bus):
super(CheckThread, self).__init__()

@ -1,54 +0,0 @@
diff --git scripts/cl-update-checker scripts/cl-update-checker
index 67055ed..eefdca0 100644
--- scripts/cl-update-checker
+++ scripts/cl-update-checker
@@ -31,6 +31,7 @@ from calculate.update.update_info import UpdateInfo
GUI_UPDATE_APP = DBUS_METHOD_APP % "update"
+MINUTE=60
class SysTray(QtGui.QSystemTrayIcon):
ICON = "/usr/share/pixmaps/calculate-console-update.png"
@@ -95,7 +96,7 @@ class DBusChecker(dbus.service.Object):
self.parent.step()
class CheckThread(QtGui.QMainWindow, UpdateInfo):
- interval = 10
+ interval = MINUTE
def __init__(self, bus):
super(CheckThread, self).__init__()
@@ -154,8 +155,11 @@ class CheckThread(QtGui.QMainWindow, UpdateInfo):
self.systray.hide()
if __name__ == '__main__':
-
import sys
+
+ if os.fork():
+ sys.exit(1)
+
if not user_can_run_update():
sys.stderr.write(_("User can not to perform the system update")+"\n")
sys.exit(1)
@@ -178,12 +182,17 @@ if __name__ == '__main__':
bus = dbus.SessionBus()
except dbus.exceptions.DBusException, e:
sys.exit(1)
-
+
+ try:
+ remote_object = bus.get_object(DBUS_NAME_UPDATER, DBUS_APP_UPDATER)
+ g = dbus.Interface(remote_object, DBUS_NAME_UPDATER)
+ g.quit()
+ except Exception as e:
+ pass
QtGui.QApplication.setQuitOnLastWindowClosed(False)
# Export the service
name = dbus.service.BusName(DBUS_NAME_UPDATER, bus)
# Export the object
ct = CheckThread(bus)
DBusChecker(bus, DBUS_APP_UPDATER, ct)
-
sys.exit(app.exec_())

@ -1,7 +0,0 @@
AUX calculate-console-3.2.0_alpha10-r1.patch 714 SHA256 4198feeea4d2d2f70740a4d7d1ecbdc116befd01644516f05890e663c33deb42 SHA512 bf42d7279c30eb520d71270e452b29fa02c4e585180e37d6c843dd4634545367442072c3cf928858d27c05d01877cd663c0cddd2bc6faa7cb5c31ea418d2bfd9 WHIRLPOOL a240deb7760b0692e2bc9a3aeaf4097a942471aacf1807393e184dc06dc8303ff5835e702f94ffd2c001a68b161a5247ebc474ca4a2e6e7ea1f79bb63b662184
AUX calculate-console-3.2.0_alpha6-r1.patch 4302 SHA256 af8fb4078dbb7fe529abdf9d3888d29fb782948cb2e2be15019aacf13b6d9392 SHA512 1ad1bdde06497dc3f35d1ede5a9a72e3866b7c5913045b65c5e6c512fa789c85069b415d873318b6cb6439f5e9cb78cba0b09cb4cf2540168fda40f39227760d WHIRLPOOL c53470f48683632bad944188e86566582d3a3c92df4dac5dc8a85930f3cb7a29b8f9708cb741d074d07b757544ec0bc63c5f78f5c7c21ef303bddeaf66be441a
DIST calculate-console-3.2.0_alpha10.tar.bz2 24615 SHA256 7becb853d6e8c9eeb13a63b6cb7965e5e9b5716c1712f0b9bc2a371ecedf66c4 SHA512 34b2d2fa736df7442c383a63e5a3193d68b3af0fb97f2c6788d2746bf2d07a819e9c6a9414ec3e0b0affaaec719d011182d8dfdcd138f20d9c1b263bc4ed0f64 WHIRLPOOL 578a3fe0c05215748e666ff3a6e5757b3b18630c38f7508aa139499292796b3655fe86e24b9d0efab2d861b7020362fe83c0d7b8b094e5fee59fe3be2d8d04ed
DIST calculate-console-3.2.0_alpha11.tar.bz2 24617 SHA256 e313c73f85a00112c4efda9539e50e2ffc9c3e1af92dadc3ca346490ccfa821b SHA512 5757e8e44c7d46e6bf9b9ec58ff2b3e80bda6835037947c2159003c28e9f3043fe19235bd122769fd4c0f134aa61a45c5c126b9614c4f5d15c1ffa962e0fe660 WHIRLPOOL 7eadfe67de9862d3ff4b76d1e0bef08642cb018c6b3deaaff51ee087143db2c0a87dc174882428cef8cf62661325c49b0fd8aef0e30e2cbdf759b9370fb76444
EBUILD calculate-console-3.2.0_alpha10-r1.ebuild 697 SHA256 f69a019a15dfe97d167d3254826865b637b1e7aac61744da781aeee1d425abb2 SHA512 3012bb57682f60d0fb0b646611e6e4e268276a9aba49b133b381490eae089013b25ddd78909c017f85d7c6cd5ef7a6b9e1820f812232c9b6eecbf4c7899c87d6 WHIRLPOOL 7e1dabb7d49388c6d9d11bae3ec2c10603fe3be3db92f240783e1a59da7f44c5db6c7223ed411280ac30a275e7561918473bd7b153b5782bd37b5b83862651eb
EBUILD calculate-console-3.2.0_alpha11.ebuild 551 SHA256 ee13a4c325e96bb9f38b6329afc220be634bc7319a8e27cbdc11d8e28108e9a5 SHA512 f981e57ee70f397c782fbb3522003a5ab8e64e60f1123d7682d225410eca546c03a0a46bf69db503c708f6a6cf69a9a1017bb6ed780e1a41482ac30f99c11f71 WHIRLPOOL 8df8a2d9e93bfad04b49197caca1a320549aad8fbed68cfe7e596837ce7df963a08761783d7d09a2de047365e62ee6fea8b39cc6742a06f7bb762c7f0570f2c9
EBUILD calculate-console-3.2.9999.ebuild 567 SHA256 f18ad1ae72b4e0f1960f30485531b7eac6797ba1fc1c3aa2afab35107469d123 SHA512 ec437415629b814560fca01b78dc029026f9d52eee6bef8769fac0cc6d30f84026c7588f64a23475e0a278e4dadd63460063549914c8198afde2d868f2bff1a6 WHIRLPOOL f492f6c58b9a2f05106854f93bd36cdff382fea1b679e6db14e4e57673631608ee994c2201b6d2ebae1114b068f214149daa685fdfe33df10ce132165a466751

@ -1,29 +0,0 @@
# 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="Console client for WSDL Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
DEPEND="~sys-apps/calculate-core-3.2.0_alpha10"
RDEPEND="${DEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-console-3.2.0_alpha10-r1.patch"
}

@ -1,21 +0,0 @@
# 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="Console client for WSDL Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
DEPEND="~sys-apps/calculate-core-3.2.0_alpha11"
RDEPEND="${DEPEND}"

@ -1,23 +0,0 @@
# 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 git-2
EGIT_REPO_URI="git://git.calculate.ru/calculate-3/calculate-console.git"
DESCRIPTION="Console client for WSDL Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS=""
IUSE=""
DEPEND="~sys-apps/calculate-core-3.2.9999
dev-python/pyside[script]"
RDEPEND="${DEPEND}"

@ -1,14 +0,0 @@
diff --git console/application/methods_func.py console/application/methods_func.py
index 1d9b609..8c53dab 100644
--- console/application/methods_func.py
+++ console/application/methods_func.py
@@ -67,7 +67,8 @@ def parse():
dest='pid_res', help=_("view the result of the process"))
parser.add_argument(
'--keep-result', action='store_true', default=False,
- dest='keep_result', help=_("keep cache of process result"))
+ dest='keep_result', help=_("keep the cache of the relevant "
+ "process results"))
parser.add_argument(
'--pid-kill', type=int, metavar = 'PID',
dest='pid_kill', help=_("kill the selected process"))

@ -1,101 +0,0 @@
diff --git console/application/function.py console/application/function.py
index 77968b5..65517b0 100644
--- console/application/function.py
+++ console/application/function.py
@@ -13,6 +13,7 @@
# 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.
+from itertools import cycle
import time, os, sys, re
from fcntl import ioctl
@@ -322,11 +323,19 @@ def get_messages(client, sid, pid):
def get_Frame(client, sid, pid):
""" get all messages, until type is not endFrame (or Error) """
end_frame = 1
+ spinner = cycle('/-\|')
while end_frame:
current_frame = client.service[0].get_frame(sid, pid, "console")
+ sys.stdout.write(spinner.next())
+ sys.stdout.flush()
while current_frame in [None, [], ""]:
- time.sleep(float(client.frame_period))
+ sys.stdout.write("\b%s"% spinner.next())
+ sys.stdout.flush()
+ time.sleep(float(client.frame_period)/10)
current_frame = client.service[0].get_frame(sid, pid, "console")
+ sys.stdout.write('\b')
+ sys.stdout.flush()
+
for item in current_frame[0]:
end_frame = get_message(client, item, sid, pid)
diff --git console/application/methods_func.py console/application/methods_func.py
index 52d0aba..0bc6f7a 100644
--- console/application/methods_func.py
+++ console/application/methods_func.py
@@ -15,14 +15,18 @@
# limitations under the License.
import argparse, sys
-from function import _create_obj, get_view_params, print_brief
+from calculate.core.server.api_types import ViewInfoAdapter
+from calculate.core.server.replace_class import Methods
+from function import _create_obj, get_view_params, print_brief, _print, \
+ colorPrint
from calculate.lib.cl_lang import setLocalTranslate
setLocalTranslate('cl_console3',sys.modules[__name__])
import urllib2
from calculate.core.server.methods_func import get_method_argparser, \
collect_object, RawAndDefaultsHelpFormatter, \
- check_result_msg, get_param_pwd, getErrorOnParam
+ check_result_msg, get_param_pwd, display_error
+
def parse():
parser = argparse.ArgumentParser(add_help=False,
@@ -158,18 +162,13 @@ def call_method(client, args, unknown_args, wait_thread):
sys.stdout.flush()
print_brief(view, steps.label)
if not no_questions:
- while True:
- try:
- ask = raw_input('\n' + _('Run the process? (yes/no): '))
- red = '\033[31m * \033[0m'
- except KeyboardInterrupt:
- ask = 'no'
- red = '\n'+'\033[31m * \033[0m'
- if ask.lower() in ['n', 'no']:
- print red + _("Manually interrupted")
- return None
- if ask.lower() in ['y', 'yes']:
- break
+ try:
+ ask = Methods().askConfirm(_("Run process?"))
+ except KeyboardInterrupt:
+ ask = "no"
+ if ask.lower() in ['n', 'no']:
+ colorPrint.printERROR(_('Manually interrupted'))
+ return None
param_object['CheckOnly'] = False
else:
@@ -180,14 +179,9 @@ def call_method(client, args, unknown_args, wait_thread):
return None
if method_result.ReturnedMessage[0].type and \
method_result.ReturnedMessage[0].type != "pid":
+ view = ViewInfoAdapter(view)
for error in method_result.ReturnedMessage:
- params_text = ''
- for Group in view.groups.GroupField:
- for field in Group.fields.Field:
- if field.name == error.field:
- params_text += getErrorOnParam(args,field)
- red = '\033[31m * \033[0m'
- _print ('\r' + red + params_text % error.message)
+ display_error(error, args, view.groups)
return None
wait_thread.stop()
return method_result

@ -1,20 +0,0 @@
AUX calculate-core-3.2.0_alpha10-r1.patch 1286 SHA256 3c749267ade1eac9cb241ab51aaa02a434c0c86848ada31e67a301503b9e7fb7 SHA512 46571cd309d09ed0421618767aee89d0156e1b39130034c14afad228cd32c5e8fbfc4f5c6a5f38ec88bd9e7dfc7843db7694c17978d8294cfddca93ffaf0bcca WHIRLPOOL 34faa1021853ac7468921924aabcc97a0361d9d2ee861327e9b69a4c8623cb26f2d054945e2a67b8ff1c10876c6e7cab8bfa4f9ded0e9957c359de6e25848154
AUX calculate-core-3.2.0_alpha10-r10.patch 10685 SHA256 84430973041c23d08af1553eda140e5edbd412ded6aaf19160c62e79b2b57010 SHA512 3cecc50db56a44eee33e6d6710c116f24b88f589f6c12f4626fc1ba8de95a6ef079b21f04cb43372f19392f45ac09d2770c95c00f9603058a5d3bfe914862fa8 WHIRLPOOL 9fd57ce93538d667bc0f71a11c13b63a428b9e7ac03c058297dffe589d003f98105c643e99eaa20c10983bc6bf226de7cccc14f0050124fbfcd86d1d89fe1e65
AUX calculate-core-3.2.0_alpha10-r2.patch 2440 SHA256 8950e954161078245875a08fcd5468731024eea22ef2ec4f95607896a74a0c88 SHA512 3eba6219edc2659987287b7c8c60e1c15e19bf1c3852f8e178b0d9c53514df4d9d5f55a4a69255195a7fef6a025da7cf3a6472c7795acbc6ddb0ab644ada4a68 WHIRLPOOL 5d898b8719a46c4cc3ea846f2c8d1bab476f76f10798b07a5edc55387e2fdccc79290aab5719cf1505962a18a4391d0b68f70620ecfd16eba42a9b7151a6866e
AUX calculate-core-3.2.0_alpha10-r3.patch 2789 SHA256 0c0a023529b35f0fc09e17abca883dc46afa25ebf510a48c29f0fe62ed9a61e9 SHA512 b3f078aacedde24fe09ede80b19224c394216627f4b355a06b8b32209df85fc70b8f23731a3b3497b4078181bcdaa683962fd927a58066ae2e9d36f595c90284 WHIRLPOOL f106af1c9a09b620446e1cd761dbc5ee0d2fc0785b41f6575cc62430ea3abe24acfe4be111d8e00e06bcffc6c0aa893f52732d14c30aa55b675c5fa061efab0c
AUX calculate-core-3.2.0_alpha10-r4.patch 3149 SHA256 89c9bdc7c9798484d6472d6c0888d474f4d6549e71dce92c407c20f5a613de71 SHA512 5d3f1d12a9afdf59218863a5581fcbad001ccaea4c0652f1797f43b9f00f71c2807787da59d1c0cd11fbee8cfa7a834ed8907754f4364e220d215a08cc173856 WHIRLPOOL 8c284f25b19a346a66a61c8a2cbdb77851b2bf8bb65fb38dc704d4746d00250ddfa763b833092efde69a402dd0ee657f3351b2d642dee4d533d5f951b88b5e6b
AUX calculate-core-3.2.0_alpha10-r5.patch 7494 SHA256 0ce43d8224514264b71afed7e4bc5d03dbade1138e9486949f00e5ec58e553cc SHA512 9ce6a3b902b0c5310d3f2940029bef5f9a9aca2e8ee689d8550890b188c4a1b44ba678dbaf21feb01658edc588ea2518695bd11cd51f8807c6a9fef69262bc9f WHIRLPOOL fa84c8a736374e85f19a4f5aef4eb7076aa3b854a6baec1173baa405aa77603ca102b0b5d88cf4d3c91874f51293fc60624f626afb0b1720184a1a2e42c703c8
AUX calculate-core-3.2.0_alpha10-r6.patch 7538 SHA256 b6b86ffd035380b2c769b9dd8f4ea05d901bcf22de685072a0d203d47b7ada9e SHA512 9bbdf8829c5e835cc6b0265431f5c212d4244922a6c3b49ebba72de0d3967998c6f4f853d865733e7a4942a390bcb40044c03501305d2039dcb6f5dbb733507e WHIRLPOOL e09ae2e202725ebfffa516f98bf37cf07ae525ffdb0d1fe73f36f9585a228ae07465c0c94431b1de41c4d2aa3a58fd42b05de7dc6fd2a9cfa49d71fbe0415e57
AUX calculate-core-3.2.0_alpha10-r7.patch 7682 SHA256 230d15ba43129ca002d6dbbc4379172a7adc3b7559788ab0305ea70680d16e23 SHA512 082c8004d07ffc0e8534c5b10b570167f56d96fc4f7e173b018f37ba16b81e635d2e749d7f6116e25f06789d40fafe800b93c853ba471453a821c180c3c6c4a5 WHIRLPOOL b4a4f80f0bdb3bbe8144dc763faa7b09f7cf4f699f227f7a290585a5fbfebe0aa979db225d9fe37436347edead423f2672d69752dd0bdeff5c605b97f72f23af
AUX calculate-core-3.2.0_alpha10-r8.patch 7601 SHA256 2003ebd86b93bb183ee633b657304735cf03dd8c94789d74057a36bd786537d4 SHA512 22228440d6c5b531b0ceebe1694923bfe7f9346ccea3eb7d17dfb769999f0dea4d37f46c7b46c54c801b10f8b5c27130ab6b64cabc1185c89cf393333915f371 WHIRLPOOL 489ee256aa1c827b2d0beb9f9a46b9377c19883eb03d8c64f13b8de4c9c53e4c474d000cf537de36d648735a0bb891166f2603478c3ae1b920a47336383a0670
AUX calculate-core-3.2.0_alpha10-r9.patch 7970 SHA256 20563e7d4530c9e094ca26dfd1c2d1311935a91ecc2ea2e8fcaa9f22b6910120 SHA512 8456b65061889b16c6876cbe734b5bac510db2cd7bb3ea704c8f1b6a46edab7e3318c892f2756c028f8d2fa460a9d7a0d634770578e9d3148448d90ca870c243 WHIRLPOOL 220ef305ef7822353c9f52fad27632bfd18ee6041ae5cd64e0b5f135b88652086d73e934fec109cb25a8e6fd04df10b6da6040ae572f345cb84a34883fd226c0
AUX calculate-core-3.2.0_alpha11-r1.patch 895 SHA256 cd8eff11d738cc10fb775ea0113c438c641dee72f11012053f594e0d761ce53e SHA512 3a8ebdf369308170c96973faadd53fd2c3be03482465e3623f1bd2c7550caf30acc4dbe79a46c15a8315beaef7bd29b90be3bf1594f15a23cd10834a76137463 WHIRLPOOL 017329ff895d50ce5b830999ca12c18eb48307b97683777dc52f6730d72595682b92ec341bd378f200f3b41f6d13f1f3c5069c5b95f50a632f770488cbab389b
AUX calculate-core-3.2.0_alpha6-r1.patch 28016 SHA256 d99381bd316fba8256b5eb54945124c5f32d816b06ad3d32c7d972ff0d01e71e SHA512 a60106837082dd4e4f2794f71cf69a782fcb22f823a1f9f325e14145cbb195fd79e2b0bf5cfb1de486c0bb76b7b00c4694c33c1a9a639a7022f4b34c4f08f3b5 WHIRLPOOL d96a915b3755b061667e1ce8234c480e677429b6bae118774027a4d58930a9b2c13af635638d0c3a972e6ff64a7a19cbadf6abe1d048eb9c55e0e41ecfa522e3
AUX calculate-core-3.2.0_alpha7-r1.patch 1253 SHA256 d1fa9b92b9616e22f7ff48de153a0b07e5c5f30727784048c341135e2b992869 SHA512 b0fd0053961d62a0eba396ca34d7bd41551b3430bae1a8467410758222c8367809e16edc2b1282fe2ef31f469a0cc3619ecbf0581952f9a1a8c5fed4102e9477 WHIRLPOOL 9e90ce6979ac1e8db54a12bd04eac784650a0feffaffdc51569a52a4a84fdfa7f0afc60c2f370e18798a7cadf0d638530f1dd1d014aa23af6810507706792b1e
AUX calculate-core-3.2.0_alpha7-r2.patch 2540 SHA256 89541f9da25b7b4fd71410c5369f8e53f5e589740a644150e78d685c7d867fb4 SHA512 d40195a176c24a891cb6fa84e215c45a6961853fcce775727c39c55a7abe851ba35e2582e11aeb43ee84f7565bc4006f9376136c9570f61710d0b3487ecdd630 WHIRLPOOL c6912581585122ef4759b51d19b20aeea8befa7b96d67431b6e7a88f33908f2eed4c14172bd41a62e6fc836447263d0203936f80728e268f208ab79dc20aa167
DIST calculate-core-3.2.0_alpha10.tar.bz2 87179 SHA256 768ceb87806b61ce2ab32db96026ade400767e8e3346e6867fe727ab5425cfda SHA512 f821896d0e6f83047e6d11327262f9a04273bb6af1a80d000b24577a7438545cf2b7c3dddbe5981086e6252f7446c49abac9358560fb0048158d5424f4bde263 WHIRLPOOL 6776b82a182799ac55378b92ee356ebdfd1f453a07c22671a0c02ed285ab7af8af085cee1da6a789ccd5faf32eee559e59fa4506b38c7c324496dcdc7e79da1d
DIST calculate-core-3.2.0_alpha11.tar.bz2 88248 SHA256 67d04e8a8cf91f9fc27e16c8e87279aa02a721ad42a748a3ad7b5dcec1d1de68 SHA512 a8cde2db1967d2285d5d1f7a85ea491f5e7207f8da2e812e164c4cd3d36ecbb823e2946a2f3586e09adf2eff7a6911bd5277f06a151f1351adef845b07ce2c41 WHIRLPOOL 199dd4ff70fb79a30a1d8b7f0df0fb009b4506d567932d892cfeff560d26fb9308ea923bb3c1a69c298545b7f033b8a880e6ef0367624d5b2cff25ce8b0828c0
EBUILD calculate-core-3.2.0_alpha10-r10.ebuild 1274 SHA256 864605e3bc71a6a95c62f4bc958cc2d6246c2e0d26aef0923d8dfcbee13149cb SHA512 35772f6e2dc03d58f507632bb01e5f27e7133730815be2da9031e32a3d25d8f99b7fb8923b7ea19e52c9c9d00fb648983301b00cef85093169effac2792196fe WHIRLPOOL 2e80256c1b780ca4b3ff6835dbb3a2e92d66c5872fe8d2ab6120a3d82e36fc61f6f1b9109b1b3f3a29c23a95c4062f68d6c9a0bb841bd6d71e08f41c868198c9
EBUILD calculate-core-3.2.0_alpha11-r1.ebuild 1273 SHA256 64ae823a251d1e81edf791fa7bda709a37b4558dadc8e29a7ec765b10620d963 SHA512 fefffc25032b5143c8c157778f6b31bbb6c525f62d28f9fe3ac4ea84b67407364a638a170153f68260ab15b8fed4d9a1835a325a91f0178421ff72c063f8fbf1 WHIRLPOOL 897281aaeed9a78282fa92f641ce1206a33a71071ba34cc62a3dda9bc6c1d343e3167471d8afae8d452e4e078867f848185e13663b4ce01f1471e4d7194cb782
EBUILD calculate-core-3.2.0_alpha11.ebuild 1130 SHA256 97d1b0d7a5b2a42aed1e6f1612a695a789893467e9fd9aa0496816c15929ee25 SHA512 8ac18b21998b2cfeeba5f82f223764da38dcb59325ae4c7b93603181f3adec34ce65c7a904583b1e2ac5db84cca53e75ad25a8e2ff718a7ae78ac5de26d2ca68 WHIRLPOOL 9b31da40091fc3f9d61f59a35f96db1734e26a22118255f77549508fa8ba46c37e737b2616650a796d8d32a25c88fc59c65d93e90bcf28726775ffb60e426352
EBUILD calculate-core-3.2.9999.ebuild 656 SHA256 39383ebc527d7155b147355108ec0b069f7cad95d5fcabc33520f0fe1ee0b971 SHA512 e20a8dea6e20615baeb56069331cdc35a7c37a05afa125c7174c5082852242da446830940c962fd890bb6627d9f5cacf0848834b75bfb1a184a6acfef17f95f8 WHIRLPOOL 3e9f06bf7e2f99a46e3c681fa6f381b7b1883bb15e05c535a7acde55f9092418d0b71d95ce4b2906e8505ea73c4157620303e4e4e4e4de430f11bfd6214b4a88

@ -1,51 +0,0 @@
# 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 WSDL core for Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
IUSE="minimal"
DEPEND="~sys-apps/calculate-lib-3.2.0_alpha10
>=dev-python/soaplib-1.0
!minimal? ( dev-python/sudsds
net-libs/dslib
dev-python/pyopenssl
dev-libs/openssl
dev-python/m2crypto
dev-python/cherrypy )"
RDEPEND="${DEPEND}"
pkg_preinst() {
dosym /usr/sbin/cl-core /usr/sbin/cl-core-setup
dosym /usr/sbin/cl-core /usr/sbin/cl-core-patch
}
pkg_postinst() {
einfo "For autoconfigure calculate-core for adminuser perform:"
einfo " cl-core --bootstrap <username>"
einfo "For run calculate-core perform:"
einfo " /etc/init.d/calculate-core start"
einfo "Add calcualte core to autorun:"
einfo " rc-update add calculate-core boot"
}
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-core-3.2.0_alpha10-r10.patch"
}

@ -1,51 +0,0 @@
# 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 WSDL core for Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
IUSE="minimal"
DEPEND="~sys-apps/calculate-lib-3.2.0_alpha11
>=dev-python/soaplib-1.0
!minimal? ( dev-python/sudsds
net-libs/dslib
dev-python/pyopenssl
dev-libs/openssl
dev-python/m2crypto
dev-python/cherrypy )"
RDEPEND="${DEPEND}"
pkg_preinst() {
dosym /usr/sbin/cl-core /usr/sbin/cl-core-setup
dosym /usr/sbin/cl-core /usr/sbin/cl-core-patch
}
pkg_postinst() {
einfo "For autoconfigure calculate-core for adminuser perform:"
einfo " cl-core --bootstrap <username>"
einfo "For run calculate-core perform:"
einfo " /etc/init.d/calculate-core start"
einfo "Add calcualte core to autorun:"
einfo " rc-update add calculate-core boot"
}
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-core-3.2.0_alpha11-r1.patch"
}

@ -1,43 +0,0 @@
# 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 WSDL core for Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
IUSE="minimal"
DEPEND="~sys-apps/calculate-lib-3.2.0_alpha11
>=dev-python/soaplib-1.0
!minimal? ( dev-python/sudsds
net-libs/dslib
dev-python/pyopenssl
dev-libs/openssl
dev-python/m2crypto
dev-python/cherrypy )"
RDEPEND="${DEPEND}"
pkg_preinst() {
dosym /usr/sbin/cl-core /usr/sbin/cl-core-setup
dosym /usr/sbin/cl-core /usr/sbin/cl-core-patch
}
pkg_postinst() {
einfo "For autoconfigure calculate-core for adminuser perform:"
einfo " cl-core --bootstrap <username>"
einfo "For run calculate-core perform:"
einfo " /etc/init.d/calculate-core start"
einfo "Add calcualte core to autorun:"
einfo " rc-update add calculate-core boot"
}

@ -1,28 +0,0 @@
# Copyright 1999-2011 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 git-2
EGIT_REPO_URI="git://git.calculate.ru/calculate-3/calculate-core.git"
DESCRIPTION="The WSDL api for Calculate 3"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS=""
IUSE=""
DEPEND="~sys-apps/calculate-lib-3.2.9999
>=dev-python/soaplib-1.0
dev-python/sudsds
dev-python/pyopenssl
dev-libs/openssl
dev-python/m2crypto
dev-python/cherrypy"
RDEPEND="${DEPEND}"

@ -1,27 +0,0 @@
diff --git core/server/methods_func.py core/server/methods_func.py
index 5a25e4e..3393f49 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -237,7 +237,8 @@ def get_method_argparser(view, args, cl_core = False):
# data['metavar'] = field.name.upper()
if "choice" in field.type:
data['help'] = "%s (%s)" % (
- data['help'], _("'list' for display possible values"))
+ data['help'],
+ _("'list' for displaying possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
diff --git core/variables/setup_package.py core/variables/setup_package.py
index ac6daf6..9da4e0d 100644
--- core/variables/setup_package.py
+++ core/variables/setup_package.py
@@ -201,7 +201,7 @@ class VariableClCorePkgDesktopSet(Variable):
def check(self,value):
if self.Get('cl_templates_locate') == ["clt"] and value == "on":
raise VariableError(
- _("You shouldn't choice only clt location "
+ _("You must not choose only clt location "
"for desktop templates"))
def init(self):

@ -1,254 +0,0 @@
diff --git core/server/api_types.py core/server/api_types.py
index b5d7e76..d9f268c 100644
--- core/server/api_types.py
+++ core/server/api_types.py
@@ -531,8 +531,8 @@ class CoreWsdl:
checkall = info.CheckAll
errors = map(lambda x:ReturnedMessage(**x),
dv.checkGroups(info,allvars=checkall or not checkonly))
- if dv.Get('cl_env_debug_set') == 'on':
- dv.printGroup(info)
+ #if dv.Get('cl_env_debug_set') == 'on':
+ # dv.printGroup(info)
if errors:
return errors
if checkonly:
diff --git core/server/func.py core/server/func.py
index 00249b8..95b7aa1 100644
--- core/server/func.py
+++ core/server/func.py
@@ -20,6 +20,7 @@ import sys, os, re
from os import path
import traceback
from traceback import print_exc
+from calculate.lib.cl_log import log
from api_types import ReturnProgress,ViewParams,Integer,ViewInfo
from loaded_methods import LoadedMethods
from calculate.lib.cl_lang import setLocalTranslate,getLazyLocalTranslate
@@ -140,7 +141,9 @@ class CommonMethods:
# определение каталогов содержащих шаблоны
dirs_list, files_list = ([],[])
useClt = useClt in ("on",True)
- clTempl = ProgressTemplate(self.setProgress,self.clVars,
+ self.addProgress()
+ nullProgress = lambda *args,**kw:None
+ clTempl = ProgressTemplate(nullProgress,self.clVars,
cltObj=useClt,
cltFilter=cltFilter,
printSUCCESS=self.printSUCCESS,
@@ -195,6 +198,12 @@ class CommonLink:
"""
return self.com.writeFile()
+ def resumeProcess(self):
+ return self.com.resumeProcess()
+
+ def pauseProcess(self):
+ return self.com.pauseProcess()
+
def setProgress(self, perc, short_message = None, long_message = None):
"""
Установить процент в прогрессе выполнения задачи, изменить короткое
@@ -707,9 +716,20 @@ class Action:
def run(self, objs, dv):
"""Запустить список действий"""
+ class StubLogger:
+ def info(self,s):
+ pass
result = {}
+
self.group_name = ""
self.clVars = dv
+ if dv.Get('cl_env_debug_set') == 'off' or \
+ dv.Get('cl_ebuild_phase'):
+ logger = StubLogger()
+ else:
+ logger = log("core-action.log",
+ filename="/var/log/calculate/core-action.log",
+ formatter="%(asctime)s - %(levelname)s - %(message)s")
for obj in objs.values():
obj.set_link(self)
obj.clVars = dv
@@ -717,6 +737,8 @@ class Action:
obj.init()
try:
self.beginFrame()
+ logger.info("Start {methodname}".format(
+ methodname=self.method_name))
for action in self.get_tasks(result):
foreach = action.get("foreach","")
if foreach:
@@ -732,6 +754,15 @@ class Action:
task = False
try:
run_context = self.get_condition_context(action, result)
+ actinfo = "Run" if all(run_context.values()) else "Skip"
+ logger.info(
+ "{action} {name}: condition: {condition}, "
+ "depend: {depend}".format(
+ action=actinfo,
+ name=name,
+ condition=run_context['condition'],
+ depend=run_context['depend']))
+
elsePrint, elseMessage = (
self.getFormatMessage(action,"else_error",
"else_warning","else_message"))
@@ -810,6 +841,8 @@ class Action:
failedPrint(failedMessage)
if task and res in (True,False,"skip"):
self.endTask(res)
+ logger.info("{name}: Result is {result}".format(
+ name=name, result=res))
if res is True:
on_success = action.get('on_success',None)
if on_success:
@@ -822,15 +855,19 @@ class Action:
self.endTask(False)
self.printWARNING(_("Task interrupted"))
result["interrupt"] = False
+ logger.info("{name}: Interrupeted".format(name=name))
except self.native_error as e:
if hasattr(e,"addon") and e.addon:
self.printERROR(str(e.addon))
self.printERROR(str(e))
result[name]=False
+ logger.info("{name}: Native error".format(name=name))
except BaseException as e:
result[name]=False
error = shortTraceback(*sys.exc_info())
self.printERROR("%s:%s"%(name,error))
+ logger.info("{name}: Unknown exception {exp}".format(
+ name=name, exp=e.__class__.__name__))
finally:
dv.close()
self.endFrame()
@@ -1032,6 +1069,16 @@ class CoreWsdl():
self.pid = pid
self.Num = 100000
+ def pauseProcess(self):
+ from calculate.core.server.gen_pid import ProcessStatus
+ self.method_status = ProcessStatus.Paused
+ self.writeFile()
+
+ def resumeProcess(self):
+ from calculate.core.server.gen_pid import ProcessStatus
+ self.method_status = ProcessStatus.Worked
+ self.writeFile()
+
def writeFile(self):
""" write data in file """
from baseClass import Basic
@@ -1087,7 +1134,7 @@ class CoreWsdl():
self.process_dict['counter'] -= 1
return res
- def addProgress(self,message):
+ def addProgress(self,message=""):
id = random.randint(1, self.Num)
while id in self.progress_dict:
id = random.randint(1, self.Num)
@@ -1240,6 +1287,7 @@ class CoreWsdl():
hasattr (com.__class__.__bases__[1], '__init__'):
com.__class__.__bases__[1].__init__(com)
# start helper
+ com.method_name = method_name
p = multiprocessing.Process(target = self.target_helper,\
args = (com, getattr(com,method)) +(method_name, )+ args_proc)
diff --git core/server/gen_pid.py core/server/gen_pid.py
index 44034b7..d3b4d46 100644
--- core/server/gen_pid.py
+++ core/server/gen_pid.py
@@ -27,9 +27,11 @@ class ProcessStatus:
Worked = 1
FailedFinished = 2
NotFound = 3
+ Paused = 4
-def search_worked_process(method_name, clVars):
+def search_worked_process(method_name, clVars,
+ statuses=(ProcessStatus.Worked,)):
"""
Найти все работающие процессы
@@ -43,7 +45,7 @@ def search_worked_process(method_name, clVars):
try:
status = pickle.load(open(pidfile))
if (status['name'] == method_name and
- status['status'] == ProcessStatus.Worked):
+ status['status'] in statuses):
if path.exists(path.join("/proc", str(status['os_pid']))):
yield status['os_pid']
except (ValueError, KeyError, EOFError, OSError):
diff --git core/server/local_call.py core/server/local_call.py
index 879f67e..b371953 100644
--- core/server/local_call.py
+++ core/server/local_call.py
@@ -103,6 +103,14 @@ class LocalCall(object):
self.result_viewer = WarningGui(self.result_viewer)
self.set_link(self.result_viewer)
+ def pauseProcess(self):
+ self.method_status = ProcessStatus.Paused
+ self.writeFile()
+
+ def resumeProcess(self):
+ self.method_status = ProcessStatus.Worked
+ self.writeFile()
+
def writeFile(self):
""" write data in file """
if os.getuid():
diff --git core/server/methods_func.py core/server/methods_func.py
index 5a25e4e..fb9565b 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -237,7 +237,8 @@ def get_method_argparser(view, args, cl_core = False):
# data['metavar'] = field.name.upper()
if "choice" in field.type:
data['help'] = "%s (%s)" % (
- data['help'], _("'list' for display possible values"))
+ data['help'],
+ _("'list' for displaying possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
@@ -388,7 +389,7 @@ def display_error(error, args, groups):
elif error.type != "commonerror":
colorPrint.printERROR(params_text % error.message)
else:
- colorPrint.printWARNING(params_text % error.message)
+ colorPrint.printWARNING(error.message)
def check_result_msg(method_result, view, input_error_dict={}, args=None):
diff --git core/setup_package.py core/setup_package.py
index f920af7..3285b52 100644
--- core/setup_package.py
+++ core/setup_package.py
@@ -113,7 +113,7 @@ class UpdateConfigs(UpdateLogger):
"""
Получить пользователей в X сессии
"""
- return self.clVars.Get('desktop.cl_desktop_online_user')
+ return list(self.clVars.Get('desktop.cl_desktop_online_user'))+["root"]
def getConfiguredPasswdUsers(self):
"""
diff --git core/variables/setup_package.py core/variables/setup_package.py
index ac6daf6..9da4e0d 100644
--- core/variables/setup_package.py
+++ core/variables/setup_package.py
@@ -201,7 +201,7 @@ class VariableClCorePkgDesktopSet(Variable):
def check(self,value):
if self.Get('cl_templates_locate') == ["clt"] and value == "on":
raise VariableError(
- _("You shouldn't choice only clt location "
+ _("You must not choose only clt location "
"for desktop templates"))
def init(self):

@ -1,55 +0,0 @@
diff --git core/server/func.py core/server/func.py
index 00249b8..9147575 100644
--- core/server/func.py
+++ core/server/func.py
@@ -140,7 +140,9 @@ class CommonMethods:
# определение каталогов содержащих шаблоны
dirs_list, files_list = ([],[])
useClt = useClt in ("on",True)
- clTempl = ProgressTemplate(self.setProgress,self.clVars,
+ self.addProgress()
+ nullProgress = lambda *args,**kw:None
+ clTempl = ProgressTemplate(nullProgress,self.clVars,
cltObj=useClt,
cltFilter=cltFilter,
printSUCCESS=self.printSUCCESS,
diff --git core/server/methods_func.py core/server/methods_func.py
index 5a25e4e..3393f49 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -237,7 +237,8 @@ def get_method_argparser(view, args, cl_core = False):
# data['metavar'] = field.name.upper()
if "choice" in field.type:
data['help'] = "%s (%s)" % (
- data['help'], _("'list' for display possible values"))
+ data['help'],
+ _("'list' for displaying possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
diff --git core/setup_package.py core/setup_package.py
index f920af7..3285b52 100644
--- core/setup_package.py
+++ core/setup_package.py
@@ -113,7 +113,7 @@ class UpdateConfigs(UpdateLogger):
"""
Получить пользователей в X сессии
"""
- return self.clVars.Get('desktop.cl_desktop_online_user')
+ return list(self.clVars.Get('desktop.cl_desktop_online_user'))+["root"]
def getConfiguredPasswdUsers(self):
"""
diff --git core/variables/setup_package.py core/variables/setup_package.py
index ac6daf6..9da4e0d 100644
--- core/variables/setup_package.py
+++ core/variables/setup_package.py
@@ -201,7 +201,7 @@ class VariableClCorePkgDesktopSet(Variable):
def check(self,value):
if self.Get('cl_templates_locate') == ["clt"] and value == "on":
raise VariableError(
- _("You shouldn't choice only clt location "
+ _("You must not choose only clt location "
"for desktop templates"))
def init(self):

@ -1,64 +0,0 @@
diff --git core/server/func.py core/server/func.py
index 00249b8..e7903ae 100644
--- core/server/func.py
+++ core/server/func.py
@@ -140,7 +140,9 @@ class CommonMethods:
# определение каталогов содержащих шаблоны
dirs_list, files_list = ([],[])
useClt = useClt in ("on",True)
- clTempl = ProgressTemplate(self.setProgress,self.clVars,
+ self.addProgress()
+ nullProgress = lambda *args,**kw:None
+ clTempl = ProgressTemplate(nullProgress,self.clVars,
cltObj=useClt,
cltFilter=cltFilter,
printSUCCESS=self.printSUCCESS,
@@ -1087,7 +1089,7 @@ class CoreWsdl():
self.process_dict['counter'] -= 1
return res
- def addProgress(self,message):
+ def addProgress(self,message=""):
id = random.randint(1, self.Num)
while id in self.progress_dict:
id = random.randint(1, self.Num)
diff --git core/server/methods_func.py core/server/methods_func.py
index 5a25e4e..3393f49 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -237,7 +237,8 @@ def get_method_argparser(view, args, cl_core = False):
# data['metavar'] = field.name.upper()
if "choice" in field.type:
data['help'] = "%s (%s)" % (
- data['help'], _("'list' for display possible values"))
+ data['help'],
+ _("'list' for displaying possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
diff --git core/setup_package.py core/setup_package.py
index f920af7..3285b52 100644
--- core/setup_package.py
+++ core/setup_package.py
@@ -113,7 +113,7 @@ class UpdateConfigs(UpdateLogger):
"""
Получить пользователей в X сессии
"""
- return self.clVars.Get('desktop.cl_desktop_online_user')
+ return list(self.clVars.Get('desktop.cl_desktop_online_user'))+["root"]
def getConfiguredPasswdUsers(self):
"""
diff --git core/variables/setup_package.py core/variables/setup_package.py
index ac6daf6..9da4e0d 100644
--- core/variables/setup_package.py
+++ core/variables/setup_package.py
@@ -201,7 +201,7 @@ class VariableClCorePkgDesktopSet(Variable):
def check(self,value):
if self.Get('cl_templates_locate') == ["clt"] and value == "on":
raise VariableError(
- _("You shouldn't choice only clt location "
+ _("You must not choose only clt location "
"for desktop templates"))
def init(self):

@ -1,73 +0,0 @@
diff --git core/server/func.py core/server/func.py
index 00249b8..e7903ae 100644
--- core/server/func.py
+++ core/server/func.py
@@ -140,7 +140,9 @@ class CommonMethods:
# определение каталогов содержащих шаблоны
dirs_list, files_list = ([],[])
useClt = useClt in ("on",True)
- clTempl = ProgressTemplate(self.setProgress,self.clVars,
+ self.addProgress()
+ nullProgress = lambda *args,**kw:None
+ clTempl = ProgressTemplate(nullProgress,self.clVars,
cltObj=useClt,
cltFilter=cltFilter,
printSUCCESS=self.printSUCCESS,
@@ -1087,7 +1089,7 @@ class CoreWsdl():
self.process_dict['counter'] -= 1
return res
- def addProgress(self,message):
+ def addProgress(self,message=""):
id = random.randint(1, self.Num)
while id in self.progress_dict:
id = random.randint(1, self.Num)
diff --git core/server/methods_func.py core/server/methods_func.py
index 5a25e4e..fb9565b 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -237,7 +237,8 @@ def get_method_argparser(view, args, cl_core = False):
# data['metavar'] = field.name.upper()
if "choice" in field.type:
data['help'] = "%s (%s)" % (
- data['help'], _("'list' for display possible values"))
+ data['help'],
+ _("'list' for displaying possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
@@ -388,7 +389,7 @@ def display_error(error, args, groups):
elif error.type != "commonerror":
colorPrint.printERROR(params_text % error.message)
else:
- colorPrint.printWARNING(params_text % error.message)
+ colorPrint.printWARNING(error.message)
def check_result_msg(method_result, view, input_error_dict={}, args=None):
diff --git core/setup_package.py core/setup_package.py
index f920af7..3285b52 100644
--- core/setup_package.py
+++ core/setup_package.py
@@ -113,7 +113,7 @@ class UpdateConfigs(UpdateLogger):
"""
Получить пользователей в X сессии
"""
- return self.clVars.Get('desktop.cl_desktop_online_user')
+ return list(self.clVars.Get('desktop.cl_desktop_online_user'))+["root"]
def getConfiguredPasswdUsers(self):
"""
diff --git core/variables/setup_package.py core/variables/setup_package.py
index ac6daf6..9da4e0d 100644
--- core/variables/setup_package.py
+++ core/variables/setup_package.py
@@ -201,7 +201,7 @@ class VariableClCorePkgDesktopSet(Variable):
def check(self,value):
if self.Get('cl_templates_locate') == ["clt"] and value == "on":
raise VariableError(
- _("You shouldn't choice only clt location "
+ _("You must not choose only clt location "
"for desktop templates"))
def init(self):

@ -1,166 +0,0 @@
diff --git core/server/api_types.py core/server/api_types.py
index b5d7e76..d9f268c 100644
--- core/server/api_types.py
+++ core/server/api_types.py
@@ -531,8 +531,8 @@ class CoreWsdl:
checkall = info.CheckAll
errors = map(lambda x:ReturnedMessage(**x),
dv.checkGroups(info,allvars=checkall or not checkonly))
- if dv.Get('cl_env_debug_set') == 'on':
- dv.printGroup(info)
+ #if dv.Get('cl_env_debug_set') == 'on':
+ # dv.printGroup(info)
if errors:
return errors
if checkonly:
diff --git core/server/func.py core/server/func.py
index 00249b8..c9e1b02 100644
--- core/server/func.py
+++ core/server/func.py
@@ -20,6 +20,7 @@ import sys, os, re
from os import path
import traceback
from traceback import print_exc
+from calculate.lib.cl_log import log
from api_types import ReturnProgress,ViewParams,Integer,ViewInfo
from loaded_methods import LoadedMethods
from calculate.lib.cl_lang import setLocalTranslate,getLazyLocalTranslate
@@ -140,7 +141,9 @@ class CommonMethods:
# определение каталогов содержащих шаблоны
dirs_list, files_list = ([],[])
useClt = useClt in ("on",True)
- clTempl = ProgressTemplate(self.setProgress,self.clVars,
+ self.addProgress()
+ nullProgress = lambda *args,**kw:None
+ clTempl = ProgressTemplate(nullProgress,self.clVars,
cltObj=useClt,
cltFilter=cltFilter,
printSUCCESS=self.printSUCCESS,
@@ -708,8 +711,15 @@ class Action:
def run(self, objs, dv):
"""Запустить список действий"""
result = {}
+
self.group_name = ""
self.clVars = dv
+ logger = log("core-action.log",
+ filename="/var/log/calculate/core-action.log",
+ formatter="%(asctime)s - %(levelname)s - %(message)s")
+ if dv.Get('cl_env_debug_set') == 'off':
+ import logging
+ logger.logger.setLevel(logging.WARNING)
for obj in objs.values():
obj.set_link(self)
obj.clVars = dv
@@ -717,6 +727,8 @@ class Action:
obj.init()
try:
self.beginFrame()
+ logger.info("Start {methodname}".format(
+ methodname=self.method_name))
for action in self.get_tasks(result):
foreach = action.get("foreach","")
if foreach:
@@ -732,6 +744,15 @@ class Action:
task = False
try:
run_context = self.get_condition_context(action, result)
+ actinfo = "Run" if all(run_context.values()) else "Skip"
+ logger.info(
+ "{action} {name}: condition: {condition}, "
+ "depend: {depend}".format(
+ action=actinfo,
+ name=name,
+ condition=run_context['condition'],
+ depend=run_context['depend']))
+
elsePrint, elseMessage = (
self.getFormatMessage(action,"else_error",
"else_warning","else_message"))
@@ -810,6 +831,8 @@ class Action:
failedPrint(failedMessage)
if task and res in (True,False,"skip"):
self.endTask(res)
+ logger.info("{name}: Result is {result}".format(
+ name=name, result=res))
if res is True:
on_success = action.get('on_success',None)
if on_success:
@@ -822,15 +845,19 @@ class Action:
self.endTask(False)
self.printWARNING(_("Task interrupted"))
result["interrupt"] = False
+ logger.info("{name}: Interrupeted".format(name=name))
except self.native_error as e:
if hasattr(e,"addon") and e.addon:
self.printERROR(str(e.addon))
self.printERROR(str(e))
result[name]=False
+ logger.info("{name}: Native error".format(name=name))
except BaseException as e:
result[name]=False
error = shortTraceback(*sys.exc_info())
self.printERROR("%s:%s"%(name,error))
+ logger.info("{name}: Unknown exception {exp}".format(
+ name=name, exp=e.__class__.__name__))
finally:
dv.close()
self.endFrame()
@@ -1087,7 +1114,7 @@ class CoreWsdl():
self.process_dict['counter'] -= 1
return res
- def addProgress(self,message):
+ def addProgress(self,message=""):
id = random.randint(1, self.Num)
while id in self.progress_dict:
id = random.randint(1, self.Num)
diff --git core/server/methods_func.py core/server/methods_func.py
index 5a25e4e..fb9565b 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -237,7 +237,8 @@ def get_method_argparser(view, args, cl_core = False):
# data['metavar'] = field.name.upper()
if "choice" in field.type:
data['help'] = "%s (%s)" % (
- data['help'], _("'list' for display possible values"))
+ data['help'],
+ _("'list' for displaying possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
@@ -388,7 +389,7 @@ def display_error(error, args, groups):
elif error.type != "commonerror":
colorPrint.printERROR(params_text % error.message)
else:
- colorPrint.printWARNING(params_text % error.message)
+ colorPrint.printWARNING(error.message)
def check_result_msg(method_result, view, input_error_dict={}, args=None):
diff --git core/setup_package.py core/setup_package.py
index f920af7..3285b52 100644
--- core/setup_package.py
+++ core/setup_package.py
@@ -113,7 +113,7 @@ class UpdateConfigs(UpdateLogger):
"""
Получить пользователей в X сессии
"""
- return self.clVars.Get('desktop.cl_desktop_online_user')
+ return list(self.clVars.Get('desktop.cl_desktop_online_user'))+["root"]
def getConfiguredPasswdUsers(self):
"""
diff --git core/variables/setup_package.py core/variables/setup_package.py
index ac6daf6..9da4e0d 100644
--- core/variables/setup_package.py
+++ core/variables/setup_package.py
@@ -201,7 +201,7 @@ class VariableClCorePkgDesktopSet(Variable):
def check(self,value):
if self.Get('cl_templates_locate') == ["clt"] and value == "on":
raise VariableError(
- _("You shouldn't choice only clt location "
+ _("You must not choose only clt location "
"for desktop templates"))
def init(self):

@ -1,167 +0,0 @@
diff --git core/server/api_types.py core/server/api_types.py
index b5d7e76..d9f268c 100644
--- core/server/api_types.py
+++ core/server/api_types.py
@@ -531,8 +531,8 @@ class CoreWsdl:
checkall = info.CheckAll
errors = map(lambda x:ReturnedMessage(**x),
dv.checkGroups(info,allvars=checkall or not checkonly))
- if dv.Get('cl_env_debug_set') == 'on':
- dv.printGroup(info)
+ #if dv.Get('cl_env_debug_set') == 'on':
+ # dv.printGroup(info)
if errors:
return errors
if checkonly:
diff --git core/server/func.py core/server/func.py
index 00249b8..c9670c2 100644
--- core/server/func.py
+++ core/server/func.py
@@ -20,6 +20,7 @@ import sys, os, re
from os import path
import traceback
from traceback import print_exc
+from calculate.lib.cl_log import log
from api_types import ReturnProgress,ViewParams,Integer,ViewInfo
from loaded_methods import LoadedMethods
from calculate.lib.cl_lang import setLocalTranslate,getLazyLocalTranslate
@@ -140,7 +141,9 @@ class CommonMethods:
# определение каталогов содержащих шаблоны
dirs_list, files_list = ([],[])
useClt = useClt in ("on",True)
- clTempl = ProgressTemplate(self.setProgress,self.clVars,
+ self.addProgress()
+ nullProgress = lambda *args,**kw:None
+ clTempl = ProgressTemplate(nullProgress,self.clVars,
cltObj=useClt,
cltFilter=cltFilter,
printSUCCESS=self.printSUCCESS,
@@ -708,8 +711,16 @@ class Action:
def run(self, objs, dv):
"""Запустить список действий"""
result = {}
+
self.group_name = ""
self.clVars = dv
+ logger = log("core-action.log",
+ filename="/var/log/calculate/core-action.log",
+ formatter="%(asctime)s - %(levelname)s - %(message)s")
+ if dv.Get('cl_env_debug_set') == 'off' or \
+ dv.Get('cl_ebuild_phase'):
+ import logging
+ logger.logger.setLevel(logging.WARNING)
for obj in objs.values():
obj.set_link(self)
obj.clVars = dv
@@ -717,6 +728,8 @@ class Action:
obj.init()
try:
self.beginFrame()
+ logger.info("Start {methodname}".format(
+ methodname=self.method_name))
for action in self.get_tasks(result):
foreach = action.get("foreach","")
if foreach:
@@ -732,6 +745,15 @@ class Action:
task = False
try:
run_context = self.get_condition_context(action, result)
+ actinfo = "Run" if all(run_context.values()) else "Skip"
+ logger.info(
+ "{action} {name}: condition: {condition}, "
+ "depend: {depend}".format(
+ action=actinfo,
+ name=name,
+ condition=run_context['condition'],
+ depend=run_context['depend']))
+
elsePrint, elseMessage = (
self.getFormatMessage(action,"else_error",
"else_warning","else_message"))
@@ -810,6 +832,8 @@ class Action:
failedPrint(failedMessage)
if task and res in (True,False,"skip"):
self.endTask(res)
+ logger.info("{name}: Result is {result}".format(
+ name=name, result=res))
if res is True:
on_success = action.get('on_success',None)
if on_success:
@@ -822,15 +846,19 @@ class Action:
self.endTask(False)
self.printWARNING(_("Task interrupted"))
result["interrupt"] = False
+ logger.info("{name}: Interrupeted".format(name=name))
except self.native_error as e:
if hasattr(e,"addon") and e.addon:
self.printERROR(str(e.addon))
self.printERROR(str(e))
result[name]=False
+ logger.info("{name}: Native error".format(name=name))
except BaseException as e:
result[name]=False
error = shortTraceback(*sys.exc_info())
self.printERROR("%s:%s"%(name,error))
+ logger.info("{name}: Unknown exception {exp}".format(
+ name=name, exp=e.__class__.__name__))
finally:
dv.close()
self.endFrame()
@@ -1087,7 +1115,7 @@ class CoreWsdl():
self.process_dict['counter'] -= 1
return res
- def addProgress(self,message):
+ def addProgress(self,message=""):
id = random.randint(1, self.Num)
while id in self.progress_dict:
id = random.randint(1, self.Num)
diff --git core/server/methods_func.py core/server/methods_func.py
index 5a25e4e..fb9565b 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -237,7 +237,8 @@ def get_method_argparser(view, args, cl_core = False):
# data['metavar'] = field.name.upper()
if "choice" in field.type:
data['help'] = "%s (%s)" % (
- data['help'], _("'list' for display possible values"))
+ data['help'],
+ _("'list' for displaying possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
@@ -388,7 +389,7 @@ def display_error(error, args, groups):
elif error.type != "commonerror":
colorPrint.printERROR(params_text % error.message)
else:
- colorPrint.printWARNING(params_text % error.message)
+ colorPrint.printWARNING(error.message)
def check_result_msg(method_result, view, input_error_dict={}, args=None):
diff --git core/setup_package.py core/setup_package.py
index f920af7..3285b52 100644
--- core/setup_package.py
+++ core/setup_package.py
@@ -113,7 +113,7 @@ class UpdateConfigs(UpdateLogger):
"""
Получить пользователей в X сессии
"""
- return self.clVars.Get('desktop.cl_desktop_online_user')
+ return list(self.clVars.Get('desktop.cl_desktop_online_user'))+["root"]
def getConfiguredPasswdUsers(self):
"""
diff --git core/variables/setup_package.py core/variables/setup_package.py
index ac6daf6..9da4e0d 100644
--- core/variables/setup_package.py
+++ core/variables/setup_package.py
@@ -201,7 +201,7 @@ class VariableClCorePkgDesktopSet(Variable):
def check(self,value):
if self.Get('cl_templates_locate') == ["clt"] and value == "on":
raise VariableError(
- _("You shouldn't choice only clt location "
+ _("You must not choose only clt location "
"for desktop templates"))
def init(self):

@ -1,173 +0,0 @@
diff --git core/server/api_types.py core/server/api_types.py
index b5d7e76..d9f268c 100644
--- core/server/api_types.py
+++ core/server/api_types.py
@@ -531,8 +531,8 @@ class CoreWsdl:
checkall = info.CheckAll
errors = map(lambda x:ReturnedMessage(**x),
dv.checkGroups(info,allvars=checkall or not checkonly))
- if dv.Get('cl_env_debug_set') == 'on':
- dv.printGroup(info)
+ #if dv.Get('cl_env_debug_set') == 'on':
+ # dv.printGroup(info)
if errors:
return errors
if checkonly:
diff --git core/server/func.py core/server/func.py
index 00249b8..b90383d 100644
--- core/server/func.py
+++ core/server/func.py
@@ -20,6 +20,7 @@ import sys, os, re
from os import path
import traceback
from traceback import print_exc
+from calculate.lib.cl_log import log
from api_types import ReturnProgress,ViewParams,Integer,ViewInfo
from loaded_methods import LoadedMethods
from calculate.lib.cl_lang import setLocalTranslate,getLazyLocalTranslate
@@ -140,7 +141,9 @@ class CommonMethods:
# определение каталогов содержащих шаблоны
dirs_list, files_list = ([],[])
useClt = useClt in ("on",True)
- clTempl = ProgressTemplate(self.setProgress,self.clVars,
+ self.addProgress()
+ nullProgress = lambda *args,**kw:None
+ clTempl = ProgressTemplate(nullProgress,self.clVars,
cltObj=useClt,
cltFilter=cltFilter,
printSUCCESS=self.printSUCCESS,
@@ -707,9 +710,22 @@ class Action:
def run(self, objs, dv):
"""Запустить список действий"""
+ class StubLogger:
+ def info(self,s):
+ pass
result = {}
+
self.group_name = ""
self.clVars = dv
+ if dv.Get('cl_env_debug_set') == 'off' or \
+ dv.Get('cl_ebuild_phase'):
+ logger = log("core-action.log",
+ filename="/var/log/calculate/core-action.log",
+ formatter="%(asctime)s - %(levelname)s - %(message)s")
+ import logging
+ logger.logger.setLevel(logging.WARNING)
+ else:
+ logger = StubLogger()
for obj in objs.values():
obj.set_link(self)
obj.clVars = dv
@@ -717,6 +733,8 @@ class Action:
obj.init()
try:
self.beginFrame()
+ logger.info("Start {methodname}".format(
+ methodname=self.method_name))
for action in self.get_tasks(result):
foreach = action.get("foreach","")
if foreach:
@@ -732,6 +750,15 @@ class Action:
task = False
try:
run_context = self.get_condition_context(action, result)
+ actinfo = "Run" if all(run_context.values()) else "Skip"
+ logger.info(
+ "{action} {name}: condition: {condition}, "
+ "depend: {depend}".format(
+ action=actinfo,
+ name=name,
+ condition=run_context['condition'],
+ depend=run_context['depend']))
+
elsePrint, elseMessage = (
self.getFormatMessage(action,"else_error",
"else_warning","else_message"))
@@ -810,6 +837,8 @@ class Action:
failedPrint(failedMessage)
if task and res in (True,False,"skip"):
self.endTask(res)
+ logger.info("{name}: Result is {result}".format(
+ name=name, result=res))
if res is True:
on_success = action.get('on_success',None)
if on_success:
@@ -822,15 +851,19 @@ class Action:
self.endTask(False)
self.printWARNING(_("Task interrupted"))
result["interrupt"] = False
+ logger.info("{name}: Interrupeted".format(name=name))
except self.native_error as e:
if hasattr(e,"addon") and e.addon:
self.printERROR(str(e.addon))
self.printERROR(str(e))
result[name]=False
+ logger.info("{name}: Native error".format(name=name))
except BaseException as e:
result[name]=False
error = shortTraceback(*sys.exc_info())
self.printERROR("%s:%s"%(name,error))
+ logger.info("{name}: Unknown exception {exp}".format(
+ name=name, exp=e.__class__.__name__))
finally:
dv.close()
self.endFrame()
@@ -1087,7 +1120,7 @@ class CoreWsdl():
self.process_dict['counter'] -= 1
return res
- def addProgress(self,message):
+ def addProgress(self,message=""):
id = random.randint(1, self.Num)
while id in self.progress_dict:
id = random.randint(1, self.Num)
diff --git core/server/methods_func.py core/server/methods_func.py
index 5a25e4e..fb9565b 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -237,7 +237,8 @@ def get_method_argparser(view, args, cl_core = False):
# data['metavar'] = field.name.upper()
if "choice" in field.type:
data['help'] = "%s (%s)" % (
- data['help'], _("'list' for display possible values"))
+ data['help'],
+ _("'list' for displaying possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
@@ -388,7 +389,7 @@ def display_error(error, args, groups):
elif error.type != "commonerror":
colorPrint.printERROR(params_text % error.message)
else:
- colorPrint.printWARNING(params_text % error.message)
+ colorPrint.printWARNING(error.message)
def check_result_msg(method_result, view, input_error_dict={}, args=None):
diff --git core/setup_package.py core/setup_package.py
index f920af7..3285b52 100644
--- core/setup_package.py
+++ core/setup_package.py
@@ -113,7 +113,7 @@ class UpdateConfigs(UpdateLogger):
"""
Получить пользователей в X сессии
"""
- return self.clVars.Get('desktop.cl_desktop_online_user')
+ return list(self.clVars.Get('desktop.cl_desktop_online_user'))+["root"]
def getConfiguredPasswdUsers(self):
"""
diff --git core/variables/setup_package.py core/variables/setup_package.py
index ac6daf6..9da4e0d 100644
--- core/variables/setup_package.py
+++ core/variables/setup_package.py
@@ -201,7 +201,7 @@ class VariableClCorePkgDesktopSet(Variable):
def check(self,value):
if self.Get('cl_templates_locate') == ["clt"] and value == "on":
raise VariableError(
- _("You shouldn't choice only clt location "
+ _("You must not choose only clt location "
"for desktop templates"))
def init(self):

@ -1,171 +0,0 @@
diff --git core/server/api_types.py core/server/api_types.py
index b5d7e76..d9f268c 100644
--- core/server/api_types.py
+++ core/server/api_types.py
@@ -531,8 +531,8 @@ class CoreWsdl:
checkall = info.CheckAll
errors = map(lambda x:ReturnedMessage(**x),
dv.checkGroups(info,allvars=checkall or not checkonly))
- if dv.Get('cl_env_debug_set') == 'on':
- dv.printGroup(info)
+ #if dv.Get('cl_env_debug_set') == 'on':
+ # dv.printGroup(info)
if errors:
return errors
if checkonly:
diff --git core/server/func.py core/server/func.py
index 00249b8..5b39e49 100644
--- core/server/func.py
+++ core/server/func.py
@@ -20,6 +20,7 @@ import sys, os, re
from os import path
import traceback
from traceback import print_exc
+from calculate.lib.cl_log import log
from api_types import ReturnProgress,ViewParams,Integer,ViewInfo
from loaded_methods import LoadedMethods
from calculate.lib.cl_lang import setLocalTranslate,getLazyLocalTranslate
@@ -140,7 +141,9 @@ class CommonMethods:
# определение каталогов содержащих шаблоны
dirs_list, files_list = ([],[])
useClt = useClt in ("on",True)
- clTempl = ProgressTemplate(self.setProgress,self.clVars,
+ self.addProgress()
+ nullProgress = lambda *args,**kw:None
+ clTempl = ProgressTemplate(nullProgress,self.clVars,
cltObj=useClt,
cltFilter=cltFilter,
printSUCCESS=self.printSUCCESS,
@@ -707,9 +710,20 @@ class Action:
def run(self, objs, dv):
"""Запустить список действий"""
+ class StubLogger:
+ def info(self,s):
+ pass
result = {}
+
self.group_name = ""
self.clVars = dv
+ if dv.Get('cl_env_debug_set') == 'off' or \
+ dv.Get('cl_ebuild_phase'):
+ logger = StubLogger()
+ else:
+ logger = log("core-action.log",
+ filename="/var/log/calculate/core-action.log",
+ formatter="%(asctime)s - %(levelname)s - %(message)s")
for obj in objs.values():
obj.set_link(self)
obj.clVars = dv
@@ -717,6 +731,8 @@ class Action:
obj.init()
try:
self.beginFrame()
+ logger.info("Start {methodname}".format(
+ methodname=self.method_name))
for action in self.get_tasks(result):
foreach = action.get("foreach","")
if foreach:
@@ -732,6 +748,15 @@ class Action:
task = False
try:
run_context = self.get_condition_context(action, result)
+ actinfo = "Run" if all(run_context.values()) else "Skip"
+ logger.info(
+ "{action} {name}: condition: {condition}, "
+ "depend: {depend}".format(
+ action=actinfo,
+ name=name,
+ condition=run_context['condition'],
+ depend=run_context['depend']))
+
elsePrint, elseMessage = (
self.getFormatMessage(action,"else_error",
"else_warning","else_message"))
@@ -810,6 +835,8 @@ class Action:
failedPrint(failedMessage)
if task and res in (True,False,"skip"):
self.endTask(res)
+ logger.info("{name}: Result is {result}".format(
+ name=name, result=res))
if res is True:
on_success = action.get('on_success',None)
if on_success:
@@ -822,15 +849,19 @@ class Action:
self.endTask(False)
self.printWARNING(_("Task interrupted"))
result["interrupt"] = False
+ logger.info("{name}: Interrupeted".format(name=name))
except self.native_error as e:
if hasattr(e,"addon") and e.addon:
self.printERROR(str(e.addon))
self.printERROR(str(e))
result[name]=False
+ logger.info("{name}: Native error".format(name=name))
except BaseException as e:
result[name]=False
error = shortTraceback(*sys.exc_info())
self.printERROR("%s:%s"%(name,error))
+ logger.info("{name}: Unknown exception {exp}".format(
+ name=name, exp=e.__class__.__name__))
finally:
dv.close()
self.endFrame()
@@ -1087,7 +1118,7 @@ class CoreWsdl():
self.process_dict['counter'] -= 1
return res
- def addProgress(self,message):
+ def addProgress(self,message=""):
id = random.randint(1, self.Num)
while id in self.progress_dict:
id = random.randint(1, self.Num)
diff --git core/server/methods_func.py core/server/methods_func.py
index 5a25e4e..fb9565b 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -237,7 +237,8 @@ def get_method_argparser(view, args, cl_core = False):
# data['metavar'] = field.name.upper()
if "choice" in field.type:
data['help'] = "%s (%s)" % (
- data['help'], _("'list' for display possible values"))
+ data['help'],
+ _("'list' for displaying possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
@@ -388,7 +389,7 @@ def display_error(error, args, groups):
elif error.type != "commonerror":
colorPrint.printERROR(params_text % error.message)
else:
- colorPrint.printWARNING(params_text % error.message)
+ colorPrint.printWARNING(error.message)
def check_result_msg(method_result, view, input_error_dict={}, args=None):
diff --git core/setup_package.py core/setup_package.py
index f920af7..3285b52 100644
--- core/setup_package.py
+++ core/setup_package.py
@@ -113,7 +113,7 @@ class UpdateConfigs(UpdateLogger):
"""
Получить пользователей в X сессии
"""
- return self.clVars.Get('desktop.cl_desktop_online_user')
+ return list(self.clVars.Get('desktop.cl_desktop_online_user'))+["root"]
def getConfiguredPasswdUsers(self):
"""
diff --git core/variables/setup_package.py core/variables/setup_package.py
index ac6daf6..9da4e0d 100644
--- core/variables/setup_package.py
+++ core/variables/setup_package.py
@@ -201,7 +201,7 @@ class VariableClCorePkgDesktopSet(Variable):
def check(self,value):
if self.Get('cl_templates_locate') == ["clt"] and value == "on":
raise VariableError(
- _("You shouldn't choice only clt location "
+ _("You must not choose only clt location "
"for desktop templates"))
def init(self):

@ -1,179 +0,0 @@
diff --git core/server/api_types.py core/server/api_types.py
index b5d7e76..d9f268c 100644
--- core/server/api_types.py
+++ core/server/api_types.py
@@ -531,8 +531,8 @@ class CoreWsdl:
checkall = info.CheckAll
errors = map(lambda x:ReturnedMessage(**x),
dv.checkGroups(info,allvars=checkall or not checkonly))
- if dv.Get('cl_env_debug_set') == 'on':
- dv.printGroup(info)
+ #if dv.Get('cl_env_debug_set') == 'on':
+ # dv.printGroup(info)
if errors:
return errors
if checkonly:
diff --git core/server/func.py core/server/func.py
index 00249b8..965a387 100644
--- core/server/func.py
+++ core/server/func.py
@@ -20,6 +20,7 @@ import sys, os, re
from os import path
import traceback
from traceback import print_exc
+from calculate.lib.cl_log import log
from api_types import ReturnProgress,ViewParams,Integer,ViewInfo
from loaded_methods import LoadedMethods
from calculate.lib.cl_lang import setLocalTranslate,getLazyLocalTranslate
@@ -140,7 +141,9 @@ class CommonMethods:
# определение каталогов содержащих шаблоны
dirs_list, files_list = ([],[])
useClt = useClt in ("on",True)
- clTempl = ProgressTemplate(self.setProgress,self.clVars,
+ self.addProgress()
+ nullProgress = lambda *args,**kw:None
+ clTempl = ProgressTemplate(nullProgress,self.clVars,
cltObj=useClt,
cltFilter=cltFilter,
printSUCCESS=self.printSUCCESS,
@@ -707,9 +710,20 @@ class Action:
def run(self, objs, dv):
"""Запустить список действий"""
+ class StubLogger:
+ def info(self,s):
+ pass
result = {}
+
self.group_name = ""
self.clVars = dv
+ if dv.Get('cl_env_debug_set') == 'off' or \
+ dv.Get('cl_ebuild_phase'):
+ logger = StubLogger()
+ else:
+ logger = log("core-action.log",
+ filename="/var/log/calculate/core-action.log",
+ formatter="%(asctime)s - %(levelname)s - %(message)s")
for obj in objs.values():
obj.set_link(self)
obj.clVars = dv
@@ -717,6 +731,8 @@ class Action:
obj.init()
try:
self.beginFrame()
+ logger.info("Start {methodname}".format(
+ methodname=self.method_name))
for action in self.get_tasks(result):
foreach = action.get("foreach","")
if foreach:
@@ -732,6 +748,15 @@ class Action:
task = False
try:
run_context = self.get_condition_context(action, result)
+ actinfo = "Run" if all(run_context.values()) else "Skip"
+ logger.info(
+ "{action} {name}: condition: {condition}, "
+ "depend: {depend}".format(
+ action=actinfo,
+ name=name,
+ condition=run_context['condition'],
+ depend=run_context['depend']))
+
elsePrint, elseMessage = (
self.getFormatMessage(action,"else_error",
"else_warning","else_message"))
@@ -810,6 +835,8 @@ class Action:
failedPrint(failedMessage)
if task and res in (True,False,"skip"):
self.endTask(res)
+ logger.info("{name}: Result is {result}".format(
+ name=name, result=res))
if res is True:
on_success = action.get('on_success',None)
if on_success:
@@ -822,15 +849,19 @@ class Action:
self.endTask(False)
self.printWARNING(_("Task interrupted"))
result["interrupt"] = False
+ logger.info("{name}: Interrupeted".format(name=name))
except self.native_error as e:
if hasattr(e,"addon") and e.addon:
self.printERROR(str(e.addon))
self.printERROR(str(e))
result[name]=False
+ logger.info("{name}: Native error".format(name=name))
except BaseException as e:
result[name]=False
error = shortTraceback(*sys.exc_info())
self.printERROR("%s:%s"%(name,error))
+ logger.info("{name}: Unknown exception {exp}".format(
+ name=name, exp=e.__class__.__name__))
finally:
dv.close()
self.endFrame()
@@ -1087,7 +1118,7 @@ class CoreWsdl():
self.process_dict['counter'] -= 1
return res
- def addProgress(self,message):
+ def addProgress(self,message=""):
id = random.randint(1, self.Num)
while id in self.progress_dict:
id = random.randint(1, self.Num)
@@ -1240,6 +1271,7 @@ class CoreWsdl():
hasattr (com.__class__.__bases__[1], '__init__'):
com.__class__.__bases__[1].__init__(com)
# start helper
+ com.method_name = method_name
p = multiprocessing.Process(target = self.target_helper,\
args = (com, getattr(com,method)) +(method_name, )+ args_proc)
diff --git core/server/methods_func.py core/server/methods_func.py
index 5a25e4e..fb9565b 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -237,7 +237,8 @@ def get_method_argparser(view, args, cl_core = False):
# data['metavar'] = field.name.upper()
if "choice" in field.type:
data['help'] = "%s (%s)" % (
- data['help'], _("'list' for display possible values"))
+ data['help'],
+ _("'list' for displaying possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
@@ -388,7 +389,7 @@ def display_error(error, args, groups):
elif error.type != "commonerror":
colorPrint.printERROR(params_text % error.message)
else:
- colorPrint.printWARNING(params_text % error.message)
+ colorPrint.printWARNING(error.message)
def check_result_msg(method_result, view, input_error_dict={}, args=None):
diff --git core/setup_package.py core/setup_package.py
index f920af7..3285b52 100644
--- core/setup_package.py
+++ core/setup_package.py
@@ -113,7 +113,7 @@ class UpdateConfigs(UpdateLogger):
"""
Получить пользователей в X сессии
"""
- return self.clVars.Get('desktop.cl_desktop_online_user')
+ return list(self.clVars.Get('desktop.cl_desktop_online_user'))+["root"]
def getConfiguredPasswdUsers(self):
"""
diff --git core/variables/setup_package.py core/variables/setup_package.py
index ac6daf6..9da4e0d 100644
--- core/variables/setup_package.py
+++ core/variables/setup_package.py
@@ -201,7 +201,7 @@ class VariableClCorePkgDesktopSet(Variable):
def check(self,value):
if self.Get('cl_templates_locate') == ["clt"] and value == "on":
raise VariableError(
- _("You shouldn't choice only clt location "
+ _("You must not choose only clt location "
"for desktop templates"))
def init(self):

@ -1,20 +0,0 @@
diff --git core/server/func.py core/server/func.py
index 1e0f968..040b715 100644
--- core/server/func.py
+++ core/server/func.py
@@ -21,6 +21,7 @@ from os import path
import traceback
from traceback import print_exc
from calculate.lib.cl_log import log
+from calculate.lib.utils.colortext import convert_console_to_xml
from api_types import ReturnProgress,ViewParams,Integer,ViewInfo
from loaded_methods import LoadedMethods
from calculate.lib.cl_lang import setLocalTranslate,getLazyLocalTranslate
@@ -61,6 +62,7 @@ class CommonMethods:
data = data[FIRST]
for i,s in enumerate(list(process("diff","-Nu",
orig,data[CFGFNAME]))):
+ s = convert_console_to_xml(s)
if s.startswith('+') and i>1:
out.append('<font color="green">%s</font>'%s)
elif s.startswith('-') and i>1:

@ -1,786 +0,0 @@
diff --git core/server/api_types.py core/server/api_types.py
index eb205c1..6b29d62 100644
--- core/server/api_types.py
+++ core/server/api_types.py
@@ -20,6 +20,7 @@ from soaplib.service import rpc
import sys
import pickle, os
from calculate.lib.datavars import SourceReadonlyVariable
+from collections import Mapping
from calculate.lib.cl_lang import setLocalTranslate
setLocalTranslate('cl_core3',sys.modules[__name__])
@@ -164,96 +165,6 @@ class Table(DataVarsSerializer):
self.onClick = onClick
self.addAction = addAction
-class ChoiceValueAdapter(object):
- def __init__(self, choicevalue):
- self.choicevalue = choicevalue
-
- @property
- def values(self):
- return self.choicevalue.values.string
-
- @property
- def comments(self):
- return self.choicevalue.comments.string
-
- @property
- def onChanged(self):
- return self.choicevalue.onChanged.string
-
- def __getattr__(self, item):
- return getattr(self.choicevalue, item)
-
- @classmethod
- def from_detect(cls, choicevalue):
- if isinstance(choicevalue, ChoiceValue):
- return choicevalue
- else:
- return cls(choicevalue)
-
-class TableAdapter(object):
- def __init__(self, table):
- self.table = table
-
- @property
- def fields(self):
- return self.table.fields.string
-
- @property
- def head(self):
- return self.table.head.string
-
- @property
- def body(self):
- if hasattr(self.table.body,'stringArray'):
- return [row.string
- for row in self.table.body.stringArray
- if hasattr(row, "string")]
- return []
-
- @property
- def values(self):
- return [ChoiceValueAdapter(x) for x in self.table.values.ChoiceValue]
-
- def __getattr__(self, item):
- return getattr(self.table, item)
-
- @classmethod
- def from_detect(cls, table):
- if isinstance(table, Table):
- return table
- else:
- return cls(table)
-
-class FieldAdapter(object):
- def __init__(self, field):
- self.field = field
-
- @property
- def choice(self):
- return self.field.choice.string
-
- @property
- def listvalue(self):
- return self.field.listvalue.string
-
- @property
- def comments(self):
- return self.field.comments.string
-
- @property
- def tablevalue(self):
- return TableAdapter(self.field.tablevalue)
-
- def __getattr__(self, item):
- return getattr(self.field, item)
-
- @classmethod
- def from_detect(cls, field):
- if isinstance(field, Field):
- return field
- else:
- return cls(field)
-
class Option(DataVarsSerializer):
shortopt = String
@@ -490,6 +401,7 @@ class ViewInfo(DataVarsSerializer):
#element = ['table', 'radio', 'combo', 'comboEdit', 'multichoice', \
#'multichoice_add', 'check', 'check_tristate', 'expert', 'input']
+
class ViewParams(ClassSerializer):
"""
Struct for _view methods
@@ -500,8 +412,8 @@ class ViewParams(ClassSerializer):
onlyhelp = Boolean # request params for only help
clienttype = String # type of client "gui","console"
-################# MESSAGE ####################
+################# MESSAGE ####################
class ReturnedMessage(ClassSerializer):
type = String
field = String
@@ -515,6 +427,7 @@ class ReturnedMessage(ClassSerializer):
self.message = message
self.expert = expert
+
class Message(ClassSerializer):
type = String
message = String
@@ -532,6 +445,7 @@ class Message(ClassSerializer):
self.onlyShow = onlyShow
self.default = default
+
class ReturnProgress(ClassSerializer):
percent = Integer
short_message = String
@@ -542,9 +456,11 @@ class ReturnProgress(ClassSerializer):
self.short_message = short_message
self.long_message = long_message
+
class Frame(ClassSerializer):
values = Array (Message)
+
# get and send client messages
class CoreWsdl:
perm_denied = []
@@ -781,3 +697,100 @@ class CoreWsdl:
#@Dec.check_permissions()
def send_message ( self, sid, pid, text):
return self.client_send_message (sid, pid, text)
+
+
+class WsdlAdapter(object):
+ adapted_class = None
+
+ def __init__(self, source):
+ self.source = source
+
+ @classmethod
+ def from_detect(cls, source):
+ if isinstance(source, (cls.adapted_class, WsdlAdapter)):
+ return source
+ else:
+ return cls(source)
+
+ def __getattr__(self, item):
+ return getattr(self.source, item)
+
+ @staticmethod
+ def Array(field, field_type):
+ def wrapper(self):
+ if getattr(self.source, field):
+ return [field_type(x)
+ for x in getattr(getattr(self.source, field),
+ field_type.__name__[:-7])]
+ else:
+ return []
+
+ return property(wrapper)
+
+ @staticmethod
+ def StringArray(field):
+ def wrapper(self):
+ source_field = getattr(self.source, field)
+ return source_field.string if source_field else []
+
+ return property(wrapper)
+
+
+class ChoiceValueAdapter(WsdlAdapter):
+ adapted_class = ChoiceValue
+
+ values = WsdlAdapter.StringArray("values")
+
+ comments = WsdlAdapter.StringArray("comments")
+
+ onChanged = WsdlAdapter.StringArray("onChanged")
+
+
+class TableAdapter(WsdlAdapter):
+ adapted_class = Table
+
+ fields = WsdlAdapter.StringArray("fields")
+ head = WsdlAdapter.StringArray("head")
+
+ @property
+ def body(self):
+ if hasattr(self.source.body, 'stringArray'):
+ return [row.string
+ for row in self.source.body.stringArray
+ if hasattr(row, "string")]
+ return []
+
+ values = WsdlAdapter.Array("values", ChoiceValueAdapter)
+
+
+class FieldAdapter(WsdlAdapter):
+ adapted_class = Field
+
+ choice = WsdlAdapter.StringArray("choice")
+ listvalue = WsdlAdapter.StringArray("listvalue")
+ comments = WsdlAdapter.StringArray("comments")
+
+ @property
+ def tablevalue(self):
+ return TableAdapter(self.source.tablevalue)
+
+
+class GroupFieldAdapter(WsdlAdapter):
+ adapted_class = GroupField
+
+ fields = WsdlAdapter.Array("fields", FieldAdapter)
+
+
+class ViewInfoAdapter(WsdlAdapter):
+ adapted_class = ViewInfo
+
+ groups = WsdlAdapter.Array("groups", GroupFieldAdapter)
+
+
+class ArrayReturnedMessage(WsdlAdapter, Mapping):
+ @classmethod
+ def from_detect(cls, source):
+ if isinstance(source, (list,tuple)):
+ return source
+ else:
+ return source.ReturnedMessage
diff --git core/server/func.py core/server/func.py
index 3bde6e4..76d2645 100644
--- core/server/func.py
+++ core/server/func.py
@@ -730,6 +730,7 @@ class Action:
result[name]=False
elsePrint(elseMessage)
if all(run_context.values()):
+ self.writeFile()
if self.group_name:
self.startGroup(str(self.group_name))
self.group_name = None
@@ -1022,14 +1023,16 @@ class CoreWsdl():
""" write data in file """
from baseClass import Basic
if not os.path.exists(Basic.pids):
- os.system('mkdir %s' %Basic.pids)
- self.PID_FILE = Basic.pids + '/%d.pid'%self.pid
+ os.mkdir(Basic.pids)
+ pid_file = path.join(Basic.pids, '%d.pid' % self.pid)
try:
- _fc = open(self.PID_FILE,"w")
- pickle.dump(self.process_dict, _fc)
- _fc.close()
- except:
- print _("Failed to read the PID file %s!") %self.PID_FILE
+ with open(pid_file, 'w') as f:
+ d = {'name': self.process_dict['method_name'],
+ 'status': self.process_dict['status']}
+ pickle.dump(d, f)
+ except (IOError, OSError) as e:
+ print str(e)
+ print _("Failed to write the PID file %s!") % pid_file
def setProgress(self, perc, short_message = None, long_message = None):
try:
diff --git core/server/gen_pid.py core/server/gen_pid.py
index 1e1a731..84c8e1a 100644
--- core/server/gen_pid.py
+++ core/server/gen_pid.py
@@ -15,7 +15,9 @@
# limitations under the License.
import os, pickle, threading
+from os import path
import random
+from calculate.lib.utils.tools import ignore
from cert_cmd import find_cert_id
@@ -44,8 +46,12 @@ class CoreWsdl():
self.glob_progress_dict.pop(pid)
self.glob_table_dict.pop(pid)
self.glob_frame_list.pop(pid)
+ with ignore(OSError):
+ rm_fn = path.join(self.pids, "%d.pid" % pid)
+ if path.exists(rm_fn):
+ os.unlink(rm_fn)
return 0
- except:
+ except BaseException as e:
return 1
# find process id in file processes, 1 - yes, 0 - none
diff --git core/server/methods_func.py core/server/methods_func.py
index d043b60..2d3bb02 100644
--- core/server/methods_func.py
+++ core/server/methods_func.py
@@ -22,6 +22,7 @@ from calculate.lib.cl_print import color_print
from calculate.lib.cl_lang import setLocalTranslate
setLocalTranslate('cl_core3',sys.modules[__name__])
from itertools import *
+from api_types import ViewInfoAdapter, ArrayReturnedMessage, FieldAdapter
colorPrint = color_print()
@@ -234,6 +235,9 @@ def get_method_argparser(view, args, cl_core = False):
else field.name.upper()
#if ':' in data['metavar']:
# data['metavar'] = field.name.upper()
+ if "choice" in field.type:
+ data['help'] = "%s (%s)" % (
+ data['help'], _("'list' for display possible values"))
if field.element in ['check']:
data['metavar'] = "ON/OFF"
try:
@@ -358,69 +362,66 @@ def set_table_pwd(client, param_object, field, value):
setattr (param_object, field.name, result)
return param_object
-def check_result_msg(method_result, view, input_error_dict = {},args=None):
- password_errors = {}
- if hasattr (method_result, 'ReturnedMessage'):
- method_result = method_result.ReturnedMessage
- if hasattr (view.groups, 'GroupField'):
- groups = view.groups.GroupField
+def display_error(error, args, groups):
+ params_text = ''
+ sys.stdout.write('\r')
+ sys.stdout.flush()
+ list_answer = False
+ if error.type != "commonerror":
+ for group in groups:
+ for field in group.fields:
+ if field.name == error.field:
+ if not args is None:
+ if (getattr(args, field.name) == "list" and
+ "choice" in field.type):
+ list_answer = True
+ params_text += getErrorOnParam(args, field)
+ else:
+ if field.opt.shortopt or field.opt.longopt:
+ params_text += _('Wrong option ')
+ params_text += ' ' + ', '.join(
+ filter(None, [field.opt.shortopt,
+ field.opt.longopt])) + '. %s'
+ if list_answer:
+ colorPrint.printSUCCESS(params_text % error.message)
+ elif error.type != "commonerror":
+ colorPrint.printERROR(params_text % error.message)
else:
- groups = view.groups
+ colorPrint.printWARNING(params_text % error.message)
+
+
+def check_result_msg(method_result, view, input_error_dict={}, args=None):
+ password_errors = {}
+ method_result = ArrayReturnedMessage.from_detect(method_result)
+ view = ViewInfoAdapter.from_detect(view)
+
for error in method_result:
if error.type == 'pwderror':
password_errors[error.field] = error.message
continue
- params_text = ''
- if error.type != "commonerror":
- for Group in groups:
- if hasattr (Group.fields, 'Field'):
- fields = Group.fields.Field
- else:
- fields = Group.fields
- for field in fields:
- if field.name == error.field:
- if not args is None:
- params_text += getErrorOnParam(args,field)
- else:
- if field.opt.shortopt or field.opt.longopt:
- params_text += _('Wrong option ')
- params_text += ' '+', '.join(filter(None,
- [field.opt.shortopt, field.opt.longopt])) \
- + '. %s'
-
- sys.stdout.write('\r')
- sys.stdout.flush()
- if error.type != "commonerror":
- colorPrint.printERROR(params_text % error.message)
- else:
- colorPrint.printWARNING(params_text % error.message)
+ display_error(error, args, view.groups)
- if len(password_errors) < len(method_result):
- return None
- else:
+ # если все ошибки связаны с паролем
+ if len(password_errors) == len(method_result):
if not dict([x for x in input_error_dict.items() \
- if x not in password_errors.items()]) and \
- not dict([x for x in password_errors.items() \
- if x not in input_error_dict.items()]):
+ if x not in password_errors.items()]) and \
+ not dict([x for x in password_errors.items() \
+ if x not in input_error_dict.items()]):
return None
return password_errors
+ else:
+ return None
+
def get_param_pwd(check_res, view, param_object, client = None,
stdin_passwd=False):
- if hasattr (view.groups, 'GroupField'):
- groups = view.groups.GroupField
- else:
- groups = view.groups
+ view = ViewInfoAdapter.from_detect(view)
for pwd_field in check_res:
- _print (check_res[pwd_field])
- for Group in groups:
- if hasattr (Group.fields, 'Field'):
- fields = Group.fields.Field
- else:
- fields = Group.fields
- for field in fields:
+ _print(check_res[pwd_field])
+ for group in view.groups:
+ for field in group.fields:
if field.name == pwd_field:
if field.element == 'table':
value = get_password(getfromstdin=stdin_passwd)
@@ -434,26 +435,16 @@ def get_param_pwd(check_res, view, param_object, client = None,
setattr(param_object, pwd_field, value)
return param_object
-def collect_object(client, param_object, view, args,wait_thread = None,
- stdin_passwd = False):
+
+def collect_object(client, param_object, view, args, wait_thread=None,
+ stdin_passwd=False):
"""
Collect Info object by args
"""
steps = None
- if type(view.groups) == list:
- # for local call method
- groups = view.groups
- else:
- groups = view.groups[0]
- for Group in groups:
- if not Group.fields:
- continue
- if type(Group.fields) == list:
- # for local call method
- fields = Group.fields
- else:
- fields = Group.fields[0]
- for field in fields:
+ view = ViewInfoAdapter.from_detect(view)
+ for group in view.groups:
+ for field in group.fields:
if field.uncompatible:
continue
if field.element in ['check', 'check_tristate'] and \
@@ -659,13 +650,10 @@ def collect_table(field, val_list, client, wait_thread = None,
return listToArrayArray(client, obj_body)
def collect_obj_body(body, field):
- column = len(field.tablevalue.head) if type(field.tablevalue.head) == list\
- else len(field.tablevalue.head.string)
+ field = FieldAdapter.from_detect(field)
+ column = len(field.tablevalue.head)
result_table = []
- if type(field.tablevalue.values) in [list, tuple]:
- ChoiceValue = field.tablevalue.values
- else:
- ChoiceValue = field.tablevalue.values.ChoiceValue
+ ChoiceValue = field.tablevalue.values
for i in range(len(body)):
temp_row = []
for j in range(column):
@@ -711,7 +699,7 @@ def getErrorOnParam(args,field):
Get errors for param
"""
params_text = ""
- if any("-" in x
+ if any("-" in x
for x in filter(None,(field.opt.longopt,field.opt.shortopt))):
paramName = ', '.join(filter(None,
[field.opt.shortopt, field.opt.longopt]))
@@ -725,6 +713,9 @@ def getErrorOnParam(args,field):
if "need" in field.type:
params_text += \
_('Error in field \'%s\'. ')%field.label + " %s"
+ elif (getattr(args, field.name) == "list" and
+ "choice" in field.type):
+ params_text += "%s"
else:
params_text += _('Error in parameter ')
params_text += paramName +'. %s'
diff --git core/server/replace_class.py core/server/replace_class.py
index 6e0da47..399814e 100644
--- core/server/replace_class.py
+++ core/server/replace_class.py
@@ -13,10 +13,12 @@
# 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 pickle
import sys
import termios
import os
+from os import path
import re
from fcntl import ioctl
from array import array
@@ -35,9 +37,10 @@ from calculate.lib.cl_print import color_print
from calculate.lib.datavars import VariableError
from calculate.lib.cl_lang import setLocalTranslate
from calculate.core.server.api_types import FieldAdapter
+from calculate.lib.utils.tools import ignore
from methods_func import get_method_argparser, collect_object, \
- check_result_msg, get_param_pwd, _print
+ check_result_msg, get_param_pwd, _print, display_error
from api_types import ViewInfo
from cert_cmd import parse
from methods_func import getErrorOnParam, GotErrorField
@@ -88,9 +91,23 @@ class replaceClass():
if len(com.__class__.__bases__) > 1 and \
hasattr(com.__class__.__bases__[1], '__init__'):
com.__class__.__bases__[1].__init__(com)
- self.method_status = 0 if getattr(com, method)(*args_proc) else 1
+ com.method_name = method_name
+ com.method_status = 1
+ self.method_status = 0 if getattr(com, method)(*args_proc) else 2
+ com.method_status = self.method_status
+ self.del_pid_file(os.getpid(), com.clVars)
return 0
+ def del_pid_file(self, pid, clVars=None):
+ if clVars:
+ pids = clVars.Get('core.cl_core_pids_path')
+ else:
+ pids = '/tmp'
+ pid_file = path.join(pids, '%d.pid' % pid)
+ with ignore(OSError):
+ if path.exists(pid_file):
+ os.unlink(pid_file)
+
class Common(CommonMethods):
""" class to interact with the processes """
reClearTags = re.compile("<.*?>")
@@ -99,6 +116,8 @@ class replaceClass():
no_questions):
self.pid = 0
self.Num = 100000
+ self.method_name = ""
+ self.method_status = 0
self.color_print = color_print()
self.no_progress = no_progress
@@ -110,13 +129,29 @@ class replaceClass():
self.error = []
self.warning = []
self.no_questions = no_questions
- self.currentTaskMessage = ""
+ self.current_task_message = ""
self.spinner = None
self.terminal_print = \
get_terminal_print(self.color_print.defaultPrint)
def writeFile(self):
- pass
+ """ write data in file """
+ pid = os.getpid()
+ pids = self.clVars.Get('core.cl_core_pids_path')
+ # пропустить создание файла если идет сборка пакета
+ if self.clVars.Get('cl_ebuild_phase'):
+ return
+ if not os.path.exists(pids):
+ os.mkdir(pids)
+ pid_file = path.join(pids, '%d.pid' % pid)
+ try:
+ with open(pid_file, 'w') as f:
+ d = {'name': self.method_name,
+ 'status': self.method_status}
+ pickle.dump(d, f)
+ except (IOError, OSError) as e:
+ print str(e)
+ print _("Failed to write the PID file %s!") % pid_file
def setProgress(self, perc, short_message=None, long_message=None):
if self.no_progress:
@@ -338,7 +373,7 @@ class replaceClass():
self.spinner.stop()
self.spinner = None
self.nextLine()
- self.currentTaskMessage = self.cleanTags(message)
+ self.current_task_message = self.cleanTags(message)
message = self.processTags(message)
self.color_print.printSUCCESS(message, printBR=False)
self.color_print.defaultPrint(" ...")
@@ -379,14 +414,14 @@ class replaceClass():
self.spinner.stop()
self.spinner = None
self.setProgress(100, progress_message)
- if self.currentTaskMessage:
+ if self.current_task_message:
if self.progressbar and self.progressbar.finished:
self.terminal_print.up(1).clear_line("")
self.terminal_print.up(1)("")
self.progressbar = None
self.displayResult(result)
- self.currentTaskMessage = ""
+ self.current_task_message = ""
def displayResult(self, result):
func_map = {"skip": self._printSkip,
@@ -394,10 +429,10 @@ class replaceClass():
func_map.get(result, self._printOK)()
def nextLine(self, clearCurrent=True):
- if self.currentTaskMessage:
+ if self.current_task_message:
self.color_print.defaultPrint('\n')
if clearCurrent:
- self.currentTaskMessage = ""
+ self.current_task_message = ""
def askConfirm(self, message, default="yes"):
if self.no_questions:
@@ -492,10 +527,9 @@ class replaceClass():
text1 = "%s:" % message
if not twice:
return getpass.getpass(text1)
- if twice:
- text2 = _('Repeat: ')
- pass1 = 'password'
- pass2 = 'repeat'
+ text2 = _('Repeat: ')
+ pass1 = 'password'
+ pass2 = 'repeat'
try:
while pass1 != pass2:
pass1 = getpass.getpass(text1)
@@ -532,13 +566,11 @@ class replaceClass():
_print = get_terminal_print()
self.printDefault(
_print.foreground(TextState.Colors.WHITE)(message))
- #self.addMessage(type='startGroup', message=message)
def endGroup(self):
if self.spinner:
self.spinner.stop()
self.spinner = None
- pass
def cout_progress(string=None):
@@ -711,17 +743,6 @@ def call_method(metaObject, args, unknown_args, colorPrint):
if ask.lower() in ['n', 'no']:
colorPrint.printERROR(_('Manually interrupted'))
return None
- #while True:
- # try:
- # ask = raw_input('\n' + _('Run process? (yes/no): '))
- # except KeyboardInterrupt:
- # ask = 'no'
- # print
- # if ask.lower() in ['n', 'no']:
- # colorPrint.printERROR(_('Manually interrupted'))
- # return None
- # if ask.lower() in ['y', 'yes']:
- # break
setattr(param_object, 'CheckOnly', False)
try:
@@ -734,13 +755,14 @@ def call_method(metaObject, args, unknown_args, colorPrint):
return None
for ReturnedMessage in method_result:
if ReturnedMessage.type and ReturnedMessage.type != "pid":
- params_text = ''
- for Group in view.groups:
- for field in Group.fields:
- if field.name == ReturnedMessage.field:
- params_text += getErrorOnParam(args, field)
- colorPrint.printERROR('\r' + params_text % \
- str(ReturnedMessage.message))
+ display_error(ReturnedMessage, args, view.groups)
+ #params_text = ''
+ #for Group in view.groups:
+ # for field in Group.fields:
+ # if field.name == ReturnedMessage.field:
+ # params_text += getErrorOnParam(args, field)
+ #colorPrint.printERROR('\r' + params_text % \
+ # str(ReturnedMessage.message))
return None
return method_result
@@ -941,15 +963,20 @@ class TableInfo(InformationElement):
def print_brief_group(Fields, group_name):
display = Display()
show_group = True
- for element in ifilter(None,
- (InformationElement.from_field(
- FieldAdapter.from_detect(x),
- display)
- for x in Fields if not x.uncompatible)):
- if show_group:
- display.print_group(group_name)
- show_group = False
- element.show()
+ try:
+ for element in ifilter(None,
+ (InformationElement.from_field(
+ FieldAdapter.from_detect(x),
+ display)
+ for x in Fields if not x.uncompatible)):
+ if show_group:
+ display.print_group(group_name)
+ show_group = False
+ element.show()
+ except Exception as e:
+ import traceback
+ traceback.print_exc()
+ raise
class Table(tableReport):
diff --git core/server/sid_pid_file.py core/server/sid_pid_file.py
index 173ed4f..dec11a0 100644
--- core/server/sid_pid_file.py
+++ core/server/sid_pid_file.py
@@ -15,8 +15,11 @@
# limitations under the License.
import os, time
+from os import path
import pickle
from threading import Lock
+from calculate.lib.utils.tools import ignore
+
class CoreWsdl () :
def del_sid_pid(self, sid):
@@ -48,7 +51,10 @@ class CoreWsdl () :
time.sleep(0.1)
self.del_pid(list_sid[1])
# delete process file
- os.unlink(self.pids + '/%d.pid' %list_sid[1])
+ rm_fn = path.join(self.pids, "%d.pid" % list_sid[1])
+ if path.exists(rm_fn):
+ with ignore(OSError):
+ os.unlink(rm_fn)
fd.close()
ft.close()

@ -1,31 +0,0 @@
diff --git core/server/gen_pid.py core/server/gen_pid.py
index 1bd1a40..947e88d 100644
--- core/server/gen_pid.py
+++ core/server/gen_pid.py
@@ -30,6 +30,12 @@ class ProcessStatus:
def search_worked_process(method_name, clVars):
+ """
+ Найти все работающие процессы
+
+ Возвращает список процессов со статусом Worked и существующем системным
+ процессом
+ """
def generator():
pids = clVars.Get('core.cl_core_pids_path')
for pidfile in listDirectory(pids, fullPath=True):
@@ -37,12 +43,10 @@ def search_worked_process(method_name, clVars):
status = pickle.load(open(pidfile))
if (status['name'] == method_name and
status['status'] == ProcessStatus.Worked):
- pid = int(path.basename(pidfile)[:-4])
if path.exists(path.join("/proc",str(status['os_pid']))):
yield status['os_pid']
- except (ValueError, EOFError, OSError):
+ except (ValueError, KeyError, EOFError, OSError):
pass
- #print "DEBUG",list(generator())
return list(generator())

@ -1,67 +0,0 @@
diff --git core/server/cl_server.py core/server/cl_server.py
index abd555f..549397c 100644
--- core/server/cl_server.py
+++ core/server/cl_server.py
@@ -248,7 +248,9 @@ def main(*args, **keywords):
sys.exit(1)
# For cleaning of sessions at server reboot
from clean import clean
+ from gen_pid import clear_finished_pids
clean(sids_file, pids_file, sids_pids, sids, pids)
+ clear_finished_pids(ob)
print _("Server started")
server.start()
except KeyboardInterrupt, e:
diff --git core/server/gen_pid.py core/server/gen_pid.py
index 1bd1a40..44034b7 100644
--- core/server/gen_pid.py
+++ core/server/gen_pid.py
@@ -30,6 +30,13 @@ class ProcessStatus:
def search_worked_process(method_name, clVars):
+ """
+ Найти все работающие процессы
+
+ Возвращает список процессов со статусом Worked и существующем системным
+ процессом
+ """
+
def generator():
pids = clVars.Get('core.cl_core_pids_path')
for pidfile in listDirectory(pids, fullPath=True):
@@ -37,15 +44,30 @@ def search_worked_process(method_name, clVars):
status = pickle.load(open(pidfile))
if (status['name'] == method_name and
status['status'] == ProcessStatus.Worked):
- pid = int(path.basename(pidfile)[:-4])
- if path.exists(path.join("/proc",str(status['os_pid']))):
+ if path.exists(path.join("/proc", str(status['os_pid']))):
yield status['os_pid']
- except (ValueError, EOFError, OSError):
+ except (ValueError, KeyError, EOFError, OSError):
pass
- #print "DEBUG",list(generator())
+
return list(generator())
+def clear_finished_pids(clVars):
+ """
+ Удалить все идентификационные файлы завершившихся процессов
+ """
+ pids = clVars.Get('core.cl_core_pids_path')
+ for pidfile in listDirectory(pids, fullPath=True):
+ try:
+ d = pickle.load(open(pidfile))
+ if path.exists(path.join("/proc", str(d['os_pid']))):
+ continue
+ except (ValueError, KeyError, EOFError, OSError):
+ pass
+ with ignore(OSError):
+ os.unlink(pidfile)
+
+
# process management
class CoreWsdl():
# delete process id from list process

@ -1,5 +0,0 @@
DIST calculate-desktop-3.2.0_alpha10.tar.bz2 16977 SHA256 3d6d933499dbfd9367e688e11b76e3dcfab6dd708d0a098f512b767dfa51467f SHA512 dabc04de805b99a59e4bdb9469c9ae221064943acf54af3f9484d82eb9f49d0886afcc110d5335fb3346d4da1c820fc6c3ed06575c8626c19bad2f49c968c147 WHIRLPOOL b49520de519f24a855e6a9725d392d73de0862a5ca3114a6a0451287ea893ad0bf5ab1f034c184909c2324befd71c7d8055890630d8b906b9207d493b8092dc3
DIST calculate-desktop-3.2.0_alpha11.tar.bz2 16982 SHA256 ac9a04ebc3ae4ef6c1547100f0c5b098f46a43e94136883cf413df94ba49071b SHA512 00849d78754015f822649de74d884c75668da48bda385ed83d01adef13ec530d697bfb258e84701da32043f036d7f1a5e3590af6a882c155b6b8084976eae4f0 WHIRLPOOL b510ffd3b3208feac6a70ea277923b570efcdfb410112ef17fd47e44d991d7ff9f54a9398caf7c5550a5af5e5eefb659669d1f251c21017b4eb331342e0e8cfc
EBUILD calculate-desktop-3.2.0_alpha10.ebuild 771 SHA256 2b389469df7e748bac42e90137760a103ef6c7ece03d46ea3dcdb1debb421dbd SHA512 9c7c20441fec6ee9b8ec84d615f1a39bca10be23c6a1507227a9334004c6974533bb1cd0cdd00de2f937a6214da52ad8a5913f723debb12b071e78571b54039f WHIRLPOOL c74395ba56b352fd998ec6cd7c3094046d9d8275446b33a59a60cc4f3fd571ca3e9f04fdd65b47c51577fca9efb927b65ea62bb557ac4de21601f4f4dd14947e
EBUILD calculate-desktop-3.2.0_alpha11.ebuild 771 SHA256 26eb304475e83513b521aa21b901e4cbf1895aad9e916e3de31ab77f7870e458 SHA512 d2f2682e4cd7c4ed63058efcf837c124abd66e52b057d2e8290dd043e07e4c1687af0c330bb20a2599d7611bf08af50b5ac5e75cecb4c0c9bb598634b290d5a2 WHIRLPOOL 4773dbe5137651e9ca9c658f6a4bcdb76bd0d2bd6278a9d44ab08a3283dc6619be684827f840eaa810bf623bafbe29427b5bd4e2a2202528de75890b542bb7fb
EBUILD calculate-desktop-3.2.9999.ebuild 969 SHA256 9b92b0d89a6f4cd40d458d7e2f8ff718bc5210ac2477e7c7a216052b8327caff SHA512 c2b32792f6b040e75f0c341de7cf2162416fe17c2de34a8de9a6ba02751fb592536e87166939bcb6e9fd130d389aa7c1354186e10b6df165b817b4a13c4022fc WHIRLPOOL ad2dcd8363a73a706a3f6062dbca4ac632facfefd4b7951e1d04379892e038ce344304c70c4eb3b08d05821cd559ff5c56d58e0d645938f5c0d039ddc68091ee

@ -1,31 +0,0 @@
# 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 the desktop configuration 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
>=dev-python/python-ldap-2.0[ssl]
media-gfx/feh
x11-apps/xmessage
!<sys-apps/calculate-desktop-3.1.0_alpha1
sys-apps/keyutils
sys-auth/pam_keystore
sys-auth/pam_client
dev-lang/swig"
RDEPEND="${DEPEND}"

@ -1,31 +0,0 @@
# 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 the desktop configuration 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
>=dev-python/python-ldap-2.0[ssl]
media-gfx/feh
x11-apps/xmessage
!<sys-apps/calculate-desktop-3.1.0_alpha1
sys-apps/keyutils
sys-auth/pam_keystore
sys-auth/pam_client
dev-lang/swig"
RDEPEND="${DEPEND}"

@ -1,41 +0,0 @@
# Copyright 1999-2011 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 git-2
EGIT_REPO_URI="git://git.calculate.ru/calculate-3/calculate-desktop.git"
DESCRIPTION="Desktop configuration utility for Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS=""
IUSE="kde xfce gnome"
DEPEND="~sys-apps/calculate-lib-3.2.9999
>=dev-python/python-ldap-2.0[ssl]
xfce? ( x11-misc/xdialog )
gnome? ( x11-misc/xdialog )
kde? ( kde-base/kdialog )"
RDEPEND="${DEPEND}"
pkg_postinst() {
#${EROOT}/usr/lib/calculate-2.2/calculate-desktop/bin/install
if use kde || use xfce || use gnome;
then
ewarn "Please restart xdm for refreshing configuration files."
fi
}
pkg_prerm() {
:
#${EROOT}/usr/lib/calculate-2.2/calculate-desktop/bin/uninstall
}

@ -1,16 +0,0 @@
AUX calculate-i18n-3.2.0_alpha10-r1.patch 239341 SHA256 237867da968f03263f7b7209fbb3278b4f8db0b55f872a6d697134e3cd0cf828 SHA512 47405f5d8092fa007cf45416f8a8963165705f8ce9922488634c2b4ec73bef68cb0235d54f6d513d00e3feef561c7f5237bda60f3b592c2b22d03547954be194 WHIRLPOOL 9c40e17eb0dc5d5819783647623d4b3f2906dfea343705c63021184b5e9bbd843c48a5759e81bf6d2621564dc5d7d41425f9e96885a0b565db86334f6ca23533
AUX calculate-i18n-3.2.0_alpha10-r2.patch 239633 SHA256 eb45bf3936c023a17b803f1ed21959f0f5855ff356b88c529006a7e416ecbe47 SHA512 06f1e2210cd1f64a342570af6a514cb7a439152dbf857515a352f6d8699e7ad34de6da43f9be40ac000e7eaf28d9fd94c66646681a6011e09a89c7484afd2d4b WHIRLPOOL fcdc8782b6ed2e0e3ade0225b298dc8c3132806351a2ee6193381bcea1a0435989ad7c1b36550907c3ab452e82522e3c836157a5db2c4493ed21d1e364c5edea
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_alpha11-r1.patch 64247 SHA256 cd5ee211d4ef1bb17dae958adfddf0d8cf752ffc2471d99eddbfc7b861514892 SHA512 d97088ad451c7c597a763550fede4d91c1f7c4877c2ae4e4a4fe3e8363a8d541077a3386354041c2089d4baa2c51fa063682507301ae78ebea45deb08610c5f2 WHIRLPOOL 982c9af3c40f90264feb3dafee6c0e8ca1138139b83f4adc9cd680145d001a1da19cc8dc59db5431ca34aa1f94fa9aca00b668e4520aa9adec99080709a51acc
AUX calculate-i18n-3.2.0_alpha11-r2.patch 65024 SHA256 7a4dbfc76971a15bf7da4d7813c9ae83e75ca9e1d415737bf4d343adebab05a9 SHA512 af73c886a49ccc755e2321b324c303024385033e201f23873396fbd1f20070d711f3224c2593146c19930e1f1ebd696df614586d1650ba43226dd31da9176db5 WHIRLPOOL f4de9f4286ecd08a198c930bf057e20b76248c899091c467c3c2cb22fc9a306768c2769dc95c1f65f4131d2ecfecd910f80dbaab709a913cdd0c72c37fb67c4a
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_alpha11.tar.bz2 126521 SHA256 a537ee5b9870a7e79ce723acad61163ae0cc41b97d390bef2374c7c92671be4e SHA512 e37f677352bd66de55163c8613af8a61aa2480186b4ac7a53b62b67ff3656958cbc2a26939393f537da843283af61493866e9f401d6fc906d1999259d10b8433 WHIRLPOOL 7cc767fbbc50042193e88c8413c64f444c81c5e74f8d3d7c1f2184f885d3cc5ff6b61aaecbc0797873945f851f8b7e1eb870d5174d6c5749464492a682f708f4
EBUILD calculate-i18n-3.2.0_alpha10-r6.ebuild 733 SHA256 fd7dfc3901eaccefa25dc4b739c09b6ff00c2414aef729768e9b8a4493326198 SHA512 25bb29cc30700b8e0df89b9423952614deee6a324c91f0e97c7380ccefb7a7c6a68b7b12ea52d80c8fc7623dba7f8a70e573fc6309700e3e5a5e75dfb9d3f769 WHIRLPOOL 03dd5ad6efd66e5ad98e5b473b71b8301bd846d05e6e2ad178e598a9f4f534f208814a76b739cfa7185da6798b09513b7cf225637a4c45ce12588f19f0c2bff6
EBUILD calculate-i18n-3.2.0_alpha11-r1.ebuild 733 SHA256 a11262d8b150af84159062ff1aa83dd15f2f37a133022f33d6a4317f4b047589 SHA512 a221d855e9ad5e13544cfcd3fbe1d70a9b3915b00fb9306f3cdf09b42b7046578f73bed0905f52ee46d4d5f45c071cc49c84f2832c7ccfce1e233c92bf0f0efe WHIRLPOOL cd800104c202d37d30a8edc5a37737914d8ac4ece9625be4616a1d9bb3b513c0211b2ee85f96b4ab7660ccab7974b8bcc399d4dad3bd8a879b3944c833affe63
EBUILD calculate-i18n-3.2.0_alpha11-r2.ebuild 733 SHA256 d1a82f42b032e4605ecce866d08c277cfae587712c7d7d2725fb4f751be92927 SHA512 bb95917db4c0cf06a3cc2025e9fa90af2917d18ab94aad5edcf70053ed0fd7fc230ef1d929743d3063e9c8415dd19537472658156dcbda119a80cdb6a723741f WHIRLPOOL df1d2cff47e9e9601f8b7dca3bc655a5f52e8d8f6f917b981510c8b6300bba3ce0f98fc8971b6452b34a97d66428d96075a0fdc645da0f8f0ef82d2a0967171e
EBUILD calculate-i18n-3.2.0_alpha11.ebuild 590 SHA256 4987cbf8672bcee22b6f1bd297e89a3195adcdfd0aa6462d7a6f7e8ed98d44f6 SHA512 182b773bb48438e40f6ee3ee3d5f431504d136c9edf47ab08736ba9b63daa38367d58b306ad1b49d78186baf6d7416778b9b17f178731ca2b619673534e3eb1a WHIRLPOOL 8126f0a445508384e858991a30859155ca49319ca9172d8a1c3d7993a52be7a24e51c404fe571fe85b766d0b34d402a53eee9552830bf2772d693e78729a084d
EBUILD calculate-i18n-3.2.9999.ebuild 583 SHA256 aa60c513b0f672aa9618bfd8099fefaf49fa5ef9b24ee2645356da69563032fa SHA512 14b87ddb0f910e1b983ef465efdc56347abe01d4cdc11d6d81d593a2e65dcba1b79357d37952d7aa7f800fad8d30592db2e337d0fc6ca9807bdba618aff48528 WHIRLPOOL 14a1c4f1ef646aee28934e820763bd149e37860cce1ee34ac2229742980ec178fc43ba284b59a2f71a740cfa8e48ff7658a613b03eb0f84d4a10cefdd65450da

@ -1,31 +0,0 @@
# 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,31 +0,0 @@
# 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_alpha11"
DEPEND="sys-devel/gettext
${RDEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-i18n-3.2.0_alpha11-r1.patch"
}

@ -1,31 +0,0 @@
# 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_alpha11"
DEPEND="sys-devel/gettext
${RDEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-i18n-3.2.0_alpha11-r2.patch"
}

@ -1,23 +0,0 @@
# 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_alpha11"
DEPEND="sys-devel/gettext
${RDEPEND}"

@ -1,24 +0,0 @@
# Copyright 1999-2011 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 git-2
EGIT_COMMIT=""
EGIT_REPO_URI="git://git.calculate.ru/calculate-3/calculate-i18n.git"
DESCRIPTION="The internationalization package for calculate utilities"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS=""
RDEPEND=">=sys-apps/calculate-lib-2.2.19"
DEPEND="sys-devel/gettext
${DEPEND}"

@ -1,38 +0,0 @@
diff --git ru/cl_lib3.po ru/cl_lib3.po
index d804a79..a26b3e8 100644
--- ru/cl_lib3.po
+++ ru/cl_lib3.po
@@ -352,17 +352,17 @@ msgstr "Попытка перезаписать переменную тольк
msgid "The value of variable '{varname}' must be integer"
msgstr "Значение для {varname} должно быть целым числом"
-msgid "Value for variable '{varname}' may be '{vartype}' only"
-msgstr "Значение для {varname} может быть только '{vartype}'"
+msgid "Value for variable '{varname}' may be {vartype} only"
+msgstr "Значение для {varname} может быть только {vartype}"
-msgid "Values for variable '{varname}' may be '{vartype}' only"
-msgstr "Значение для '{varname}' может быть только '{vartype}'"
+msgid "Values for variable '{varname}' may be {vartype} only"
+msgstr "Значение для '{varname}' может быть только {vartype}"
msgid "Source variable %s does not contain a list"
msgstr "Исходная переменная %s не содержит список"
-msgid "Value for {varname} may be '{vartype}' only"
-msgstr "Значение для {varname} может быть только '{vartype}'"
+msgid "Value for {varname} may be {vartype} only"
+msgstr "Значение для {varname} может быть только {vartype}"
msgid "Wrong entry '{entry}' for table variable '{varname}'"
msgstr "Неправильная запись '{entry}' для табличной переменной '{varname}'"
@@ -683,3 +683,9 @@ msgstr "Необходимо указать пользователя"
msgid "User %s does not exist"
msgstr "Пользователь %s не существует"
+
+msgid "Value for variable '{varname}' may be {vartype}"
+msgstr "Значение для {varname} может быть {vartype}"
+
+msgid "Values for variable '{varname}' may be {vartype}"
+msgstr "Значения для {varname} может быть {vartype}"

@ -1,12 +0,0 @@
AUX calculate-install-3.2.0_alpha10-r1.patch 4264 SHA256 cb09ccf6ab73a25bd82f525dcec20b486aac270670ef43e482d4398f172d11f3 SHA512 55d06233e6fbe4c827ed7b33d05586e85e192731c8d6714a45173de863c47675dc4e8c51c21d7f14e3b5372a88fc5e3d45514622332fe61f1ef93f14480a9bdc WHIRLPOOL e521cd5c579fd27ef5083d1d806c161f1f63677f4320d7cbdb21a448c207a06d91f55ed73141c9bd25931b6622109923d9fad91ff91785c0c3aaaa89f12e42e8
AUX calculate-install-3.2.0_alpha10-r2.patch 4704 SHA256 e9a74679bc9349b86f2555a9b8745a8b588c2d4fc6416256f9998bdac953aad8 SHA512 deb53d44244ccb8341f39167aeadd510b6971d22486c7e3e886dfd2b99f22037946a466c34726873e4b4631c4f74cffebfaf6508aa5b3dfe87104113609ec07f WHIRLPOOL 50d27159690163b84488094d9da336791223b5bb3aa0a5d3a3626ffb0b29be6618ae5cce5a70de88fa4d75956329ab5c9edf685ba6a50f5578c82463e3c9ed0f
AUX calculate-install-3.2.0_alpha10-r3.patch 5320 SHA256 37920446416c97164de653cfb6b45bde2109c4053f2248c65d4ea41057f92467 SHA512 a5af30bd18626349051de8c9531833e67a71f6d6ac0662198505bea200a1e5868f8e994be6c52412b54f5c0d184614c6f2cdc87a29f8b9ac99c7daa5092ef465 WHIRLPOOL 4623fe22df7f6c2f42900b4b30b36e2d0abc090c46d3ed3bae59e35e26f5af522efcadd389181e991859a4b838d6c1bab03f9fbd1ecd2e95b60c46d8058e8c9b
AUX calculate-install-3.2.0_alpha11-r1.patch 1589 SHA256 8847019f843b1c2f9645cafe41b02a38a85ecdc7b58b44e94742d11921a23c55 SHA512 4fc825770ebc3f0a99695a826ff663cec4572fc138d1e2d80c53448e480f4486f7d8161276dd88ab08ef8ba4c1071e7737b94a39eafd0c0650a3cd3966c4c5f0 WHIRLPOOL a574d48820b65ebaa7a5e6fd56fad33b9336ce1dba8d6fc2d45d44332a32ca765c9c394d0b0f45a56ae76af7f6214754f3dcc893fec291f895b709e0f3493ccd
AUX calculate-install-3.2.0_alpha7-r1.patch 1582 SHA256 4f8794a4ffe6aeeaf00e9aa8159dc8c6ce62661ca49c3c18829ece214fbb7147 SHA512 a719da9355162cd7cc8691c8eb2af38c9ae7c30825b3cab2da2bc4ddcd56a16cda27d88520ee29eeb8bc4b6cd3414023a8ba6038cd3ecc9beac1e447d0cc2de5 WHIRLPOOL dd4af140298d5c56d0d70fbb22c4594bd351fe70c9b08db002bceef13041deb40f7569dd5f065d205f16dc1ba51e33644e85918d19cda279dd2b5dba2eefd6e3
AUX calculate-install-3.2.0_alpha7-r2.patch 2968 SHA256 85982512bece11de4cdcba9649e4e25724366f80d9d40053d69a1e0df6ea7285 SHA512 82a7e87066ce9f8bc571f88d1e5380ddc7881cc07e47b12262fa228b09a9d36b5f4cf0343e0e4aaebc820aa4005fd961ed65f132893580a11c38e9b67535c63c WHIRLPOOL 9a12a7b8d6231d76011ba7164dfa598a6d6a70c4c435ea98c80cc3819d1dacced62d1f5972926f03ab8725f7f5df5c087a9f6cb4aeccd480d78ad365246a7107
DIST calculate-install-3.2.0_alpha10.tar.bz2 77660 SHA256 2b68d68569f67ee721d9dd0ecbe6b1bd3e722f19f17a48dc60052a5ca39f3961 SHA512 f453dde8eec45865882b5113265179b6e5af0cac77f923808aa0ca112a6e91e7996cf2d2735c5e525b110cdd88d0604aa10aff30c9ded8d69cd09f6de0da30aa WHIRLPOOL 13c23796db8f0e7c522101e53ceb904397bcc06d36c57376979c6d5fd3722a4341d72ce93726ae48665772861d19857b5e6e1b88619b99b4dbb12d7fb71de973
DIST calculate-install-3.2.0_alpha11.tar.bz2 77353 SHA256 f4eaa14184ff38db1e3f85f39fb610b9f7abc3373eff3232f271584e2f314c77 SHA512 0254e181c1da0108208b0b08300d40512fc45e7b75106aa7bd608d529cd2ef5a35e5a01062976688def7d5afb6bb2cacdd64eaf05420780566b22e0ef67d85ab WHIRLPOOL 58e8c38d6cf1d8c8ad6a459c643f9a9350bda07a96bcca2f87d6106c54a4dbac8b183e6889e481966e417423100820b4d6048ab471199a1a3b84758b7a3f28fd
EBUILD calculate-install-3.2.0_alpha10-r3.ebuild 1059 SHA256 6ce752dbfdbf28d7d238f4fb2056dfcb3473872374e81eafd548a31a897ee343 SHA512 5b6db91a779ecbc312b593da63b20bcc2b7805a74da15c95b046da051aeefd02bb37eaed2839f53640b6935734246f72664ddd1ebaa9a61254e25fe8c42c2ce6 WHIRLPOOL 0b3349fe66201ec881bbd2588417c48441ae0bebb960ba540e135a8fdc72ddbbb03c6548a52f2496b1145671e86390c2ba41e336710137aaf6aa2f60cbe85d72
EBUILD calculate-install-3.2.0_alpha11-r1.ebuild 1059 SHA256 e2c39fc5080a4646f7ac53e2a67805264432592a4f4cc6f2bd8fce7b5d9a408b SHA512 4ba34f2beca948b064bd1e3606424ddb04eff26952a3bd859925f33459be736b4851d26d6bba1b62ce07f75d2e3b5e7feacd8bca0b5de9d4883f8ed4ec971836 WHIRLPOOL ec5de7c128ebe02fa730452dce5e63852c702316a88081af0945eb86a1b66abe8ea3d6f3db7c2ef1d43580c055dca9c026fd746597954401413f5450a7b91f72
EBUILD calculate-install-3.2.0_alpha11.ebuild 913 SHA256 8d12eee73e1f248e4e9ce0716b5e23c28dc1ef10dfbb6df831d29d056dfbf9e4 SHA512 f3eb34c40b6040ce58b187f3701875be4032eb34bcba388bd11e8f920824bc8b2915dc79f3735c6b396d57883a55e8f72946e811c818598a1cb624c5074b6ccc WHIRLPOOL 06c29dbd810899a09e547632f264697d3110d39f3e84c82545894b8a7ad32a93069d83bac71601fe4f87190f1d7987aef3d4550f59ac1783fc8b9f1bc0a55aab
EBUILD calculate-install-3.2.9999.ebuild 673 SHA256 751ba30bf7ffe805119648e852697a500465e128df24228348a2634eec1cb0ec SHA512 bef467672a2c90595f60da18203b81f87a758ca6b73f69f7ead0d95489960ea83403c1ff98f07050f6d96b23ed68ce45f334e9ed30cdafc526e58f884a236122 WHIRLPOOL 0e6b1f055dd0172ea06df1f0832bb2a75670e2a1bc22ec570c36ef91cb84a74e21891de23d3024a2b2de9074e03de14eb8eb8dfb120c4f8407eda4e7814ba12d

@ -1,44 +0,0 @@
# 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 installation Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
IUSE="pxe minimal"
DEPEND="~sys-apps/calculate-core-3.2.0_alpha10
!<sys-apps/calculate-install-2.2.29
app-portage/layman
>=virtual/udev-197
!app-misc/livecd-tools
sys-apps/iproute2[-minimal]
!minimal? ( sys-boot/grub
sys-apps/gptfdisk
>=sys-apps/util-linux-2.19.1
sys-fs/dosfstools
sys-fs/squashfs-tools
sys-block/parted )
pxe? ( sys-apps/calculate-server
net-ftp/tftp-hpa
net-misc/dhcp
net-fs/nfs-utils )"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-install-3.2.0_alpha10-r3.patch"
}

@ -1,44 +0,0 @@
# 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 installation Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
IUSE="pxe minimal"
DEPEND="~sys-apps/calculate-core-3.2.0_alpha11
!<sys-apps/calculate-install-2.2.29
app-portage/layman
>=virtual/udev-197
!app-misc/livecd-tools
sys-apps/iproute2[-minimal]
!minimal? ( sys-boot/grub
sys-apps/gptfdisk
>=sys-apps/util-linux-2.19.1
sys-fs/dosfstools
sys-fs/squashfs-tools
sys-block/parted )
pxe? ( sys-apps/calculate-server
net-ftp/tftp-hpa
net-misc/dhcp
net-fs/nfs-utils )"
src_unpack() {
unpack "${A}"
cd "${S}"
# apply revision changes
epatch "${FILESDIR}/calculate-install-3.2.0_alpha11-r1.patch"
}

@ -1,36 +0,0 @@
# 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 installation Calculate Linux"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64 x86"
IUSE="pxe minimal"
DEPEND="~sys-apps/calculate-core-3.2.0_alpha11
!<sys-apps/calculate-install-2.2.29
app-portage/layman
>=virtual/udev-197
!app-misc/livecd-tools
sys-apps/iproute2[-minimal]
!minimal? ( sys-boot/grub
sys-apps/gptfdisk
>=sys-apps/util-linux-2.19.1
sys-fs/dosfstools
sys-fs/squashfs-tools
sys-block/parted )
pxe? ( sys-apps/calculate-server
net-ftp/tftp-hpa
net-misc/dhcp
net-fs/nfs-utils )"

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save