From 5da45d4e6d423ca5f02d48877fcf756c06a69f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=B8=D1=80=D0=B5=D1=86=D0=BA=D0=B8=D0=B9=20=D0=9C?= =?UTF-8?q?=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= Date: Mon, 15 Mar 2021 15:55:26 +0300 Subject: [PATCH] =?UTF-8?q?sys-apps/calculate-server:=20=D0=BE=D0=B1=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * отключена запаковка профиля пользователя при репликации --- .../calculate-server-2.1.20-r1.ebuild | 191 ++++++++++++++++++ ...te-server-2.1.20-remove_profile_pack.patch | 78 +++++++ 2 files changed, 269 insertions(+) create mode 100644 sys-apps/calculate-server/calculate-server-2.1.20-r1.ebuild create mode 100644 sys-apps/calculate-server/files/calculate-server-2.1.20-remove_profile_pack.patch diff --git a/sys-apps/calculate-server/calculate-server-2.1.20-r1.ebuild b/sys-apps/calculate-server/calculate-server-2.1.20-r1.ebuild new file mode 100644 index 000000000..d1653c7d9 --- /dev/null +++ b/sys-apps/calculate-server/calculate-server-2.1.20-r1.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" +PYTHON_COMPAT=(python2_7) + +DISTUTILS_USE_SETUPTOOLS=manual +inherit distutils2 eutils + +SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/calculate2/${PN}/${P}.tar.bz2 + http://mirror.yandex.ru/calculate/source/calculate2/${PN}/${P}.tar.bz2" + +DESCRIPTION="Configuration utility for Linux services" +HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2" +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 x86" + +IUSE="calculate_nomail +calculate_nodhcp +calculate_noftp +calculate_nojabber +calculate_nonamed +calculate_nosamba +calculate_noproxy" + +DEPEND="=sys-apps/calculate-lib-2.1.12-r7 + dev-python/setuptools-python2 + >=net-nds/openldap-2.3[-minimal] + >=sys-auth/pam_ldap-180[ssl] + >=sys-auth/nss_ldap-239 + !=net-fs/samba-4[acl,client,cups,ldap,pam] + ) + ) + !calculate_nomail? ( + || ( =net-mail/dovecot-1.2.0[ldap,pam,ssl(+)] + ) + >=mail-filter/procmail-3.22 + dev-python/pymilter-python2 + >=mail-mta/postfix-2.2[ldap,pam,ssl,sasl,dovecot-sasl] + ) + !calculate_noftp? ( + || ( =net-ftp/proftpd-1.3.3[-acl,ident,ldap,ncurses,nls,pam,ssl,tcpd] + ) + ) + !calculate_nojabber? ( + || ( >=net-im/ejabberd-2.1.8[mod_pubsub,ldap] + >=net-im/ejabberd-16.04-r1[ldap] ) + || ( media-gfx/imagemagick + media-gfx/graphicsmagick ) + ) + !calculate_nonamed? ( >=net-dns/bind-9.6.1_p1[sdb-ldap] ) + !calculate_noproxy? ( >=net-proxy/squid-3.0.14[ldap,pam,ssl] ) + !calculate_nodhcp? ( >=net-misc/dhcp-3.1.2_p1 )" + +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/calculate-server-2.1.20-remove_profile_pack.patch +) + +pkg_postinst() { + if [ -d /var/calculate/server-data/mail/imap ] || \ + [ -d /var/calculate/server-data/samba/win/profiles ] || \ + [ -d /var/calculate/server-data/samba/unix/profiles ] || \ + [ -d /var/calculate/server-data/samba/win/netlogon ]; + then + ewarn "Data found in directories of previous version calculate-server" + fi + + if [ -d /var/calculate/server-data/mail/imap ]; + then + if ! [ -d /var/calculate/server-data/mail~ ]; + then + if mv /var/calculate/server-data/mail/imap \ + /var/calculate/server-data/mail~ && \ + rmdir /var/calculate/server-data/mail && \ + mv /var/calculate/server-data/mail~ \ + /var/calculate/server-data/mail; + then + ewarn + ewarn "Data from /var/calculate/server-data/mail/imap" + ewarn "was moved to /var/calculate/server-data/mail" + MAILUPDATE="TRUE" + fi + fi + if ! [ "${MAILUPDATE}" == "TRUE" ]; + then + eerror "Cannot move /var/calculate/server-data/mail/imap" + eerror "Please manualy move /var/calculate/server-data/mail/imap" + eerror "to /var/calculate/server-data/mail" + fi + fi + + if [ -d /var/calculate/server-data/samba/win/profiles ]; + then + SAMBAUPDATE="" + if ! [ -d /var/calculate/server-data/samba/profiles/win ]; + then + if mkdir -p /var/calculate/server-data/samba/profiles && \ + mv /var/calculate/server-data/samba/win/profiles \ + /var/calculate/server-data/samba/profiles/win; + then + ewarn + ewarn "Data from /var/calculate/server-data/samba/win/profiles" + ewarn "was moved to /var/calculate/server-data/samba/profiles/win" + SAMBAUPDATE="TRUE" + fi + fi + if ! [ "${SAMBAUPDATE}" == "TRUE" ]; + then + eerror "Cannot move /var/calculate/server-data/samba/win/profiles" + eerror "Please manualy move " + eerror "/var/calculate/server-data/samba/win/profiles" + eerror "to /var/calculate/server-data/samba/profiles/win" + fi + fi + + if [ -d /var/calculate/server-data/samba/unix/profiles ]; \ + then + SAMBAUPDATE="" + if ! [ -d /var/calculate/server-data/samba/profiles/unix ]; + then + if mkdir -p /var/calculate/server-data/samba/profiles && \ + mv -f /var/calculate/server-data/samba/unix/profiles \ + /var/calculate/server-data/samba/profiles/unix; + then + rmdir /var/calculate/server-data/samba/unix + ewarn + ewarn "Data from /var/calculate/server-data/samba/unix/profiles" + ewarn "was moved to /var/calculate/server-data/samba/profiles/unix" + SAMBAUPDATE="TRUE" + fi + fi + if ! [ "${SAMBAUPDATE}" == "TRUE" ]; + then + eerror "Cannot move /var/calculate/server-data/samba/unix/profiles" + eerror "Please manualy move " + eerror "/var/calculate/server-data/samba/unix/profiles" + eerror "to /var/calculate/server-data/samba/profiles/unix" + fi + fi + + if [ -d /var/calculate/server-data/samba/win/netlogon ]; + then + SAMBAUPDATE="" + if ! [ -d /var/calculate/server-data/samba/netlogon ]; + then + if mv -f /var/calculate/server-data/samba/win/netlogon \ + /var/calculate/server-data/samba/netlogon; + then + rmdir /var/calculate/server-data/samba/win + ewarn + ewarn "Data form /var/calculate/server-data/samba/win/netlogon" + ewarn "was moved to /var/calculate/server-data/samba/netlogon" + SAMBAUPDATE="TRUE" + fi + fi + if ! [ "${SAMBAUPDATE}" == "TRUE" ]; + then + eerror "Cannot move /var/calculate/server-data/samba/win/netlogon" + eerror "Please manualy move " + eerror "/var/calculate/server-data/samba/win/netlogon" + eerror "/var/calculate/server-data/samba/netlogon" + fi + fi + + if [ "${MAILUPDATE}" == "TRUE" ]; + then + ewarn + ewarn "Please update mail service by the command:" + ewarn "\tcl-update mail" + fi + if [ "${SAMBAUPDATE}" == "TRUE" ]; + then + ewarn + ewarn "Please update samba service by the command:" + ewarn "\tcl-update samba" + fi + + ewarn + ewarn "WARNING!!! If you have the samba service, then update it by the command:" + ewarn "\tcl-update samba" +} diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.20-remove_profile_pack.patch b/sys-apps/calculate-server/files/calculate-server-2.1.20-remove_profile_pack.patch new file mode 100644 index 000000000..140a10431 --- /dev/null +++ b/sys-apps/calculate-server/files/calculate-server-2.1.20-remove_profile_pack.patch @@ -0,0 +1,78 @@ +commit e2f3486d0fdfed28c4c7ccf71710519d33fa4d40 +Author: Хирецкий Михаил +Date: Mon Mar 15 15:53:33 2021 +0300 + + Удалена логика запаковки профиля при репликации + +diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py +index c4145ea..870d4d2 100644 +--- a/pym/cl_ldap.py ++++ b/pym/cl_ldap.py +@@ -13120,11 +13120,6 @@ remove user %s in the LDAP branch 'Worked'")%str(userName)) + # пользователя + sectionPwd = ["command","passwd_samba"] + varsPwdDict = txtConfig.getAreaVars(sectionPwd) +- # Если включена репликация +- if flagRepl: +- # Команда для упаковки профиля +- sectionPack = ["command","pack"] +- varsPackDict = txtConfig.getAreaVars(sectionPack) + error = txtConfig.getError() + if error: + printErrMessages(error) +@@ -13155,21 +13150,6 @@ remove user %s in the LDAP branch 'Worked'")%str(userName)) + if set(varsPwdDict.keys()) == set(["date", + "status"]): + supportSections.append(",".join(sectionPwd)) +- # Упаковка профиля пользователя +- if flagRepl and varsPackDict: +- # Если run=on выполняем команду +- if varsPackDict.get("run") == "on": +- # Дата новее которой файлы помещаются в архив +- strArchDate = varsPackDict.get("arch_date") +- # Текущее время на клинтском компьютере +- strCurrentTime = varsPackDict.get("curr_time") +- if strArchDate and strCurrentTime: +- # Создаем инкрементный архив +- if not self.packUserProfile(dirLogOut, +- strArchDate, +- strCurrentTime, +- txtConfig): +- return False + # Удаление секций которые не можем отработать + # и секции для создания архива профиля пользователя + sections = txtConfig.getAllSectionNames() +@@ -13503,11 +13483,6 @@ remove user %s in the LDAP branch 'Worked'")%str(userName)) + # пользователя + sectionPwd = ["command","passwd_samba"] + varsPwdDict = txtConfig.getAreaVars(sectionPwd) +- # Если включена репликация +- if flagRepl: +- # Команда для упаковки профиля +- sectionPack = ["command","pack"] +- varsPackDict = txtConfig.getAreaVars(sectionPack) + error = txtConfig.getError() + if error: + printErrMessages(error) +@@ -13538,21 +13513,6 @@ remove user %s in the LDAP branch 'Worked'")%str(userName)) + if set(varsPwdDict.keys()) == set(["date", + "status"]): + supportSections.append(",".join(sectionPwd)) +- # Упаковка профиля пользователя +- if flagRepl and varsPackDict: +- # Если run=on выполняем команду +- if varsPackDict.get("run") == "on": +- # Дата новее которой файлы помещаются в архив +- strArchDate = varsPackDict.get("arch_date") +- # Текущее время на клинтском компьютере +- strCurrentTime = varsPackDict.get("curr_time") +- if strArchDate and strCurrentTime: +- # Создаем инкрементный архив +- if not self.packUserProfile(dirLogOut, +- strArchDate, +- strCurrentTime, +- txtConfig): +- return False + # Удаление секций которые не можем отработать + # и секции для создания архива профиля пользователя + sections = txtConfig.getAllSectionNames()