Fix work with net interfaces on calculate-server.

atratsevskiy
parent 4495c6e493
commit 793a914500

@ -1,3 +1,4 @@
AUX calculate-lib-2.2.11-fix_getip.patch 5581 RMD160 c4762feab11c13ddf0eb6ef986225f4ac93ba0ca SHA1 3b58d63bcbf10c9251c588c1aaafeda8dc8fbdc5 SHA256 caa94e4090381bfb5f88a669e0210db2fd2d29348a3ffa4f95db4e9d2b58533f
AUX calculate-lib-2.2.24-r2.patch 980 RMD160 416217331dd555f3aedbb808df8bc1cfaeeb0b17 SHA1 5c6c38e73b79d6cf1d7212228bf8966d06a950aa SHA256 16e151beb50f88a1a3f5a5c1c86e0e46bd3a5ca7e98e566b3b9039160e337451
AUX calculate-lib-2.2.25-r1.patch 1325 RMD160 59472305420c21679c398e5400e1b352695f3d68 SHA1 3f229e57fc92e62c7ae75fb8df1d9b258dba422e SHA256 8db8bd24edccf9274b8fc926376b219e517813970c6f6f31bb284c6a485adc91
AUX calculate-lib-2.2.26-fix_clt.patch 1373 RMD160 953feae02ad6b5e2414fb85c29634d0852730533 SHA1 eb31b48cc8e44aa722593eb025ed0e10e98066d8 SHA256 a147ef7cc41f15b6fc877dbbec271cb5da761042da1903ef6907539ace614625
@ -16,6 +17,7 @@ DIST calculate-lib-2.2.25.tar.bz2 109844 RMD160 a7ae69d929a1c73394f1ea03fb3c8f21
DIST calculate-lib-2.2.26.tar.bz2 109841 RMD160 b1fb182f318cefd237591491aff15bbdcc83c30e SHA1 aa06f3599ae552eb6f74e4322246eccdf4a1c27f SHA256 acf69c80e0873d99247cc13c2bd73b081bce4aea2e8a5512b7b329c8d3ec75dc
DIST calculate-lib-2.2.27.tar.bz2 110011 RMD160 79a3b0b671d52671daffccbca5e1d73ae33d8346 SHA1 20321b15cbb0665220a1b367ab86e839df1ef13f SHA256 2e20da183dc02fb78e5518926b0005738298128373c2a45b88b54985c7120825
DIST calculate-lib-2.2.28.tar.bz2 110324 RMD160 e008b3524d61c0552d994da244a4c46ce8ec08f2 SHA1 3fa0c99d45f693e37700a8fa2e540bfe38a09a54 SHA256 0e22220a309c4b7e6909993bd5140cda9121dcfdf41a2bd90c6ca3b893a9e3e3
EBUILD calculate-lib-2.1.11-r1.ebuild 728 RMD160 0be6dc48b819a1320d83b8a342ea6ae07da6fc2d SHA1 00db981362f165d0239305a44fbc0392dbbb71c2 SHA256 3143cca775d4fe086ef7700c4ed25ebe7db49cbe660a0a7c4017ee1ac96b1fd6
EBUILD calculate-lib-2.1.11.ebuild 585 RMD160 742e544ac2f98074ac2cf29227c931e213cff023 SHA1 64e098b169359f3106c0e360261cb5fbb99602f4 SHA256 501467786f3943c8fcf47b787b9582c8aa4f8dfec9e664d784f098b6a3702ba7
EBUILD calculate-lib-2.1.8-r1.ebuild 730 RMD160 a207fbb024eaedeff679eb052b6ca04f289f914f SHA1 68c72562dc796958dd83dc4c59b2444678180b52 SHA256 b6a343b0f4d9e557ca42f5505c56c2373c04d1fa98191cf03b15cd0cdd0bb603
EBUILD calculate-lib-2.1.8-r2.ebuild 810 RMD160 ff412a1e0f7ea1ec3493738e23e3e7ec9334d49d SHA1 251a1fa961d07ef51c1c29ff930f73839b838bc8 SHA256 9cb04ff79362d497c9ac6a52353933683201337cb50104ab7a0b70ba6fdb04c1

@ -0,0 +1,30 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="3"
inherit distutils eutils
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/calculate2/${PN}/${P}.tar.bz2"
DESCRIPTION="The library for Calculate 2"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND="!<sys-apps/calculate-client-2.1.12
!<sys-apps/calculate-server-2.1.11
>=dev-lang/python-2.5.2
>=dev-python/python-ldap-2.0[ssl]
>=dev-python/pyxml-0.8"
RDEPEND="${DEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# fix get ip and mac without ifconfig
epatch "${FILESDIR}/calculate-lib-2.2.11-fix_getip.patch"
}

@ -0,0 +1,161 @@
diff --git a/pym/cl_fill.py b/pym/cl_fill.py
index c5dea91..e86343d 100644
--- a/pym/cl_fill.py
+++ b/pym/cl_fill.py
@@ -129,57 +129,22 @@ class fillVars(object, cl_base.glob_attr):
# все ip
def get_os_net_ip(self):
"""все ip компьютера, разделитель запятая"""
- IPs = []
- netInterfaces=cl_utils.getdirlist("/sys/class/net/")
- for i in netInterfaces:
- res = self._runos("/sbin/ifconfig %s"%i)
- if not res:
- break
- for line in res:
- searchIP = re.search('addr:([0-9\.]+).+Bcast:', line)
- if searchIP:
- # ip адрес
- ip = searchIP.groups()[0]
- IPs.append(ip)
- return ",".join(IPs)
+ return ",".join(map(cl_utils.getIp,
+ cl_utils.getInterfaces()))
# Разрешенные сети (в данном случае все сети)
def get_os_net_allow(self):
"""Разрешенные сети разделитель запятая"""
-
- def getNet(ip, mask):
- """По ip и маске получаем сеть"""
- octetsMult = (0x1, 0x100, 0x10000, 0x1000000)
- octetsIp = map(lambda x: int(x), ip.split("."))
- octetsMask = map(lambda x: int(x), mask.split("."))
- ipNumb = 0
- for i in octetsMult:
- ipNumb += octetsIp.pop()*i
- maskNumb = 0
- for i in octetsMult:
- maskNumb += octetsMask.pop()*i
- startIpNumber = maskNumb&ipNumb
- x = startIpNumber
- nMask = lambda y: len(filter(lambda x: y >> x &1 ,range(32)))
- return "%s.%s.%s.%s/%s"\
- %(x>>24, x>>16&255, x>>8&255, x&255, nMask(maskNumb))
-
networks=[]
- netInterfaces=cl_utils.getdirlist("/sys/class/net/")
- flagError = False
+ netInterfaces=cl_utils.getInterfaces()
for i in netInterfaces:
- res = self._runos("/sbin/ifconfig %s"%i)
- if not res:
- flagError = True
- break
- for j in res:
- s_ip=re.search('addr:([0-9\.]+).+Bcast:.+Mask:([0-9\.]+)' ,j)
- if s_ip:
- ip, mask = s_ip.groups()
- networks.append(getNet(ip, mask))
- if flagError:
- return ""
- return ",".join(networks)
+ ipaddr, mask = cl_utils.getIp(i), \
+ cl_utils.cidrToMask(cl_utils.getMask(i))
+ if ipaddr and mask:
+ networks.append(cl_utils.getIpNet(ipaddr, mask))
+ else:
+ networks.append("")
+ return ",".join(filter(lambda x:x,networks))
def get_os_locale_locale(self):
"""локаль (прим: ru_RU.UTF-8)"""
diff --git a/pym/cl_utils.py b/pym/cl_utils.py
index 195d4d5..e57533b 100644
--- a/pym/cl_utils.py
+++ b/pym/cl_utils.py
@@ -21,6 +21,9 @@ from re import search, compile, S
import os
import types
import subprocess
+import socket
+import struct
+import fcntl
def getdirlist(s_path):
#Получить список директорий по указаному пути
@@ -508,3 +511,74 @@ def _toUNICODE(val):
return val
else:
return str(val).decode('UTF-8')
+
+SYSFS_NET_PATH = "/sys/class/net"
+
+# From linux/sockios.h
+SIOCGIFADDR = 0x8915
+SIOCGIFNETMASK = 0x891B
+SIOCGIFHWADDR = 0x8927
+
+def getInterfaces():
+ """
+ Get available interfaces (discard which hasn't device)
+ """
+ try:
+ return filter(lambda x:os.path.exists(
+ path.join(SYSFS_NET_PATH,x,"device")),
+ os.listdir(SYSFS_NET_PATH))
+ except:
+ return []
+
+def getIp(iface):
+ sockfd = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+ ifreq = struct.pack('16sH14s', iface, socket.AF_INET, '\x00'*14)
+ try:
+ res = fcntl.ioctl(sockfd, SIOCGIFADDR, ifreq)
+ except IOError:
+ return ""
+ finally:
+ sockfd.close()
+ ip = struct.unpack('16sH2x4s8x', res)[2]
+ return socket.inet_ntoa(ip)
+
+def getMask(iface):
+ """
+ Get mask for interface
+ """
+ sockfd = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+ ifreq = struct.pack('16sH14s', iface, socket.AF_INET, '\x00'*14)
+ try:
+ res = fcntl.ioctl(sockfd, SIOCGIFNETMASK, ifreq)
+ except IOError:
+ return 0
+ finally:
+ sockfd.close()
+ netmask = socket.ntohl(struct.unpack('16sH2xI8x', res)[2])
+ return 32 - int(math.log(ctypes.c_uint32(~netmask).value + 1, 2))
+
+def getMac(iface):
+ """
+ Get mac for interface
+ """
+ sockfd = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+ ifreq = struct.pack('16sH14s', iface, socket.AF_UNIX, '\x00'*14)
+ res = fcntl.ioctl(sockfd, SIOCGIFHWADDR, ifreq)
+ address = struct.unpack('16sH14s', res)[2]
+ mac = struct.unpack('6B8x', address)
+ sockfd.close()
+ return ":".join(['%02X' % i for i in mac])
+
+def intIpToStrIp(addr):
+ """Convert ip specified by integer to string"""
+ return "{0}.{1}.{2}.{3}".format(
+ addr>>24,(addr>>16)&0xff,(addr>>8)&0xff,addr&0xff)
+
+def maskToCidr(mask):
+ """Convert mask specified by str to net"""
+ mask = strIpToIntIp(mask)
+ return 32-int(math.log(((~mask) & 0xffffffff)+1,2))
+
+def cidrToMask(cidr):
+ """Convert net to mask specified by str"""
+ return intIpToStrIp((2**cidr-1)<<(32-cidr))

@ -6,6 +6,7 @@ AUX calculate-server-2.1.14-fix_add_dns_rec.patch 649 RMD160 dbe869d596486428d10
AUX calculate-server-2.1.14-fix_dovecot.patch 502 RMD160 c7d4c76dc49a3894e7534572643e321696ae5a58 SHA1 1d62d3b5c9a5628cbb133bc615f8af06d6e844b5 SHA256 4f9ed8f74dd50244f1b6ac5f8a1b991a0f973fb2c05eac23e0509c2d31458baa
AUX calculate-server-2.1.14-remote_distfiles.patch 892 RMD160 8d6a74fa561dcb35749f823103231890a93572f5 SHA1 b9aacc5e6fa755eb12fed2f4cb34d8a6c0765a01 SHA256 3f01a01874c38e81a86940255b55fa250a2c0f85726fdd6974b4b9e3ac1bdc34
AUX calculate-server-2.1.14-rename_param.patch 1980 RMD160 2d5e449e1da1f9dc7f3c2ddf11125842309675c4 SHA1 75aab35370256629d82eca9347d5d1fc07706b2d SHA256 d09e00c52625b4320a753cc519250d396f92742181af2a6f7a95b060812cf99d
AUX calculate-server-2.1.15-fix_getip.patch 1703 RMD160 ccc343de339c54aab6c0922c555c2de64c0bcc53 SHA1 33c548a87643ddc08955ad4a671649a31ee81038 SHA256 aabc9c9b935b1804ea3f375d0868d0954ca1c7925b64930f3f8d460d1815c13d
AUX calculate-server-2.1.15-fix_proftpd.patch 920 RMD160 50f982911022ed4f063c386a8811e2f95ecc95ce SHA1 2cff58b77a28c823fdfc9401f3c92eefb4dd21e8 SHA256 42b8969e61bd4456812db8f164076b00d35f5f21daecf0d9dc89486738ce2a80
DIST calculate-server-2.1.13.tar.bz2 157717 RMD160 42d15a964a8c94774003d89ddc6bd834d20b1d5d SHA1 08e47e64aa8173b76a73693346d465ed62ac2ea1 SHA256 c748759f792c21dd28f2659bfeccf2a707c08f36a5d49766ceb6b922a98e930e
DIST calculate-server-2.1.14.tar.bz2 167957 RMD160 a2d349f1cd6a6107f7e32b79b5189e5a0530b440 SHA1 3f23fb09fb7b67f14d48c8ffb3edc03e5eef95a9 SHA256 3c5b4de78df05c545884995d50fd5b8b53c6d9742d91e699d8fd1d9020168e05
@ -23,6 +24,7 @@ EBUILD calculate-server-2.1.14-r6.ebuild 5589 RMD160 dcb93ec7edc9f02e2b64ea93367
EBUILD calculate-server-2.1.14.ebuild 4966 RMD160 0a71a8217e53bec9c87669713e3007a5097e9b19 SHA1 6c284957f2841655facc4301cc7a9945d5f95876 SHA256 a7d071a4a1b10e1a03ebec2509be004ddcad0831976a05e88aa2ebbbee4fa986
EBUILD calculate-server-2.1.15-r1.ebuild 5297 RMD160 3c2e0ef3aa437dd622751b77ee54de386688f59d SHA1 f3992918608d04aad76ce96fa4f984f4fa321394 SHA256 3c580af7a0259bf15ad59ec97d34f6affc6ffc3258439e8d8c49eeb730104c98
EBUILD calculate-server-2.1.15-r4.ebuild 5425 RMD160 ca258dad95400b26d37cb526ce55bd8ddf55b071 SHA1 5c66d2fc8420b7ea45feed339ea5a1a0312c640a SHA256 7ab65757f9f6c19d943b95cf11e0b60cd08e58c2cde04cfb1f39688de63e1778
EBUILD calculate-server-2.1.15-r5.ebuild 5520 RMD160 e644c3bdeb23cc18f41da6a3bf6d9034cb58da05 SHA1 4c17444ebc0f65bb31d24759791fa60be38bc80c SHA256 d6d918f82ee3b44df6330e9d0c8b56aff433cfaa1d31f4d510116c98c05d7c69
EBUILD calculate-server-9999.ebuild 1037 RMD160 e064aafa6280bde8c3eee916ff18c53ec15155b9 SHA1 8e12835d6c5ddcfee9abb20f2c7608a58338270d SHA256 9990fc856334757de45a58372b6b2d0e727e621697cd90abec72bc3388907914
MISC ChangeLog 8789 RMD160 a43c183b62b01668f738afeefa6bc30a9d2f7c7c SHA1 5b7a05dd2c612a98b5b336a47e9a509d1aa4ea40 SHA256 e7be850a78dd947309d832070f76b141bbd57a2ba96d679f8754b9f596a6509f
MISC metadata.xml 286 RMD160 e243725ec1a1302cab0d0efee76a4a926e855916 SHA1 6071aa604ea5a1ba8e1772e8f37a24f26b893d8d SHA256 aab7ddde310df96da76277d5ae340a4b0926bec3b354bfb2fea3288081036d74

@ -0,0 +1,188 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="3"
inherit distutils eutils
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/calculate2/${PN}/${P}.tar.bz2"
DESCRIPTION="The program for configuring services Linux"
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.11-r1
>=net-nds/openldap-2.3[-minimal]
>=sys-auth/pam_ldap-180[ssl]
>=sys-auth/nss_ldap-239
!calculate_nosamba? (
>=net-fs/samba-3.4.6[acl,client,cups,ldap,netapi,pam,server,smbclient]
<net-fs/samba-4.0.0
)
!calculate_nomail? (
|| ( <net-mail/dovecot-1.2.0[pop3d,ldap,pam,ssl]
>=net-mail/dovecot-1.2.0[ldap,pam,ssl]
)
>=mail-filter/procmail-3.22
dev-python/pymilter
>=mail-mta/postfix-2.2[ldap,pam,ssl]
)
!calculate_noftp? (
|| ( <net-ftp/proftpd-1.3.3[-acl,ldap,ncurses,nls,pam,ssl,tcpd]
>=net-ftp/proftpd-1.3.3[-acl,ident,ldap,ncurses,nls,pam,ssl,tcpd]
)
)
!calculate_nojabber? (
>=net-im/ejabberd-2.1.8[mod_pubsub]
>=media-gfx/imagemagick-6.6
)
!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}"
src_unpack() {
unpack "${A}"
cd "${S}"
# fix for proftpd
epatch "${FILESDIR}/calculate-server-2.1.15-fix_proftpd.patch"
# fix getip without ifconfig
epatch "${FILESDIR}/calculate-server-2.1.15-fix_getip.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"
}

@ -0,0 +1,46 @@
commit 29425ac4e201ff5702d8d7adea55028ce3d2749b
Author: Хирецкий Михаил <mh@calculate.ru>
Date: Fri Mar 30 11:09:57 2012 +0400
Получение MAC и IP адресов без утилиты ifconfig.
diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py
index 385ccdf..e286eda 100644
--- a/pym/cl_ldap.py
+++ b/pym/cl_ldap.py
@@ -21486,30 +21486,11 @@ network %s")%net)
def getMacInIp(self, ip):
"""Находит mac адрес по ip адресу"""
- netInterfaces=cl_utils.getdirlist("/sys/class/net/")
- flagFound = False
- for i in netInterfaces:
- execStr = "/sbin/ifconfig %s"%i
- res = self.execProg(execStr, None, False)
- if not res:
- break
- mac = ""
- for line in res:
- sMac = re.search('HWaddr\s+(([0-9a-f]{2}:){5}[0-9a-f]{2})',\
- line)
- if sMac:
- # mac адрес
- mac = sMac.groups()[0]
- continue
- sIP = re.search('addr:([0-9\.]+).+Bcast:', line)
- if sIP:
- Ip = sIP.groups()[0]
- if ip == Ip and mac:
- flagFound = True
- break
- if not flagFound:
- mac = ""
- return mac
+ for iface in cl_utils.getInterfaces():
+ mac,iface_ip = cl_utils.getMac(iface),cl_utils.getIp(iface)
+ if iface_ip == ip and mac:
+ return mac.lower()
+ return ""
def setupDhcpServer(self, options):
"""Начальная настройка DHCP сервиса"""

@ -66,6 +66,7 @@ EBUILD calculate-utilities-2.2.28-r5.ebuild 863 RMD160 2022ed0df09f1718cb2ad43f8
EBUILD calculate-utilities-2.2.28-r6.ebuild 866 RMD160 be47823324a2b30f1de03d7ec776f9523056603a SHA1 bcbc9fde4aced76bb81b6390a3629a40a739a307 SHA256 f75d9357e3e0c02bce685a23d8b939ddd23c4ba02290179636b5bdb55ae51ba7
EBUILD calculate-utilities-2.2.28-r7.ebuild 866 RMD160 48a1042dfca36442702652e267b0dbd8056fe9f2 SHA1 25dc12ff793e62af8bf92473c5c9150aae4bf9cc SHA256 f55a8e90fd9fb20c9ab2be4a786f689e71fb68e667a0f4fc7d252acbe99b79d4
EBUILD calculate-utilities-2.2.28-r8.ebuild 866 RMD160 bfe50e2e40bd15bef44e1b2686643e1d7795984a SHA1 b918c61ae0a7cfe273059b55ba08acd50ef2ef42 SHA256 ef74cb39e027d173f62fa27f87b62a53281f9adb3981a14f3b7b29d0afa29833
EBUILD calculate-utilities-2.2.28-r9.ebuild 866 RMD160 e81f60cfecd40b23fd2cf6584dc694aee2f95f47 SHA1 1f82270046de6a388077cf2d0e86bbbe15c9ebb6 SHA256 46656df11cb4e4334f24144f5273dc90fa005e6aae2eeae6cb6f589eeb17bfdd
EBUILD calculate-utilities-2.2.28.ebuild 854 RMD160 4a1efb9b471b17cf02f033887b544a5c4e792aae SHA1 e51eed091e5928ffec22f66271fce95128ca34b8 SHA256 dfc566dcecc232a52add5528e20a814690d0080bdb1eff405bf774ce08770f59
EBUILD calculate-utilities-2.2.9999.ebuild 842 RMD160 f2c0fdc1068614b71a37f2226dcde4883ebd2876 SHA1 99f673a52934f552589baf6d12ed9bffc03b8ebd SHA256 56d97b7d2ce11d23b25d9036b4e2ee196b547ce1d11b0cc349a8205515b66bf1
EBUILD calculate-utilities-3.0.9999.ebuild 441 RMD160 ec17f871ec70a322cff866048e50c150931e0e95 SHA1 d0e036ba01e6a71ad14e6f3e6735bbd0f325df99 SHA256 30c6cd4ce478016cb75458314ea4e745ccb1501be33f14c3a2593d9d0e670c9c

@ -0,0 +1,36 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=3
DESCRIPTION="Calculate Utilities meta package"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
SRC_URI=""
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="
cl_assemble
cl_builder
cl_client
cl_desktop
cl_installgui
cl_server
"
RDEPEND="${RDEPEND}
!sys-apps/calculate-templates
=sys-apps/calculate-install-2.2.28-r1
=sys-apps/calculate-lib-2.2.28-r5
=sys-apps/calculate-i18n-2.2.28
cl_assemble? ( =sys-apps/calculate-assemble-2.2.28-r1 )
cl_builder? ( =sys-apps/calculate-builder-2.2.28 )
cl_client? ( =sys-apps/calculate-client-2.2.28-r1 )
cl_desktop? ( =sys-apps/calculate-desktop-2.2.28 )
cl_installgui? ( =app-misc/calculate-install-gui-2.2.28 )
cl_server? ( =sys-apps/calculate-server-2.1.15-r5 )
"
Loading…
Cancel
Save