diff --git a/app-admin/mds-core/files/mds-2.4.0-install-target-1.patch b/app-admin/mds-core/files/mds-2.4.0-install-target-1.patch deleted file mode 100644 index af6d8d4..0000000 --- a/app-admin/mds-core/files/mds-2.4.0-install-target-1.patch +++ /dev/null @@ -1,49 +0,0 @@ -Submitted By: Mario Fetka (geos_one) (mario dot fetka at gmail dot com) -Date: 2010-05-01 -Initial Package Version: 2.4.0 -Origin: me -Upstream Status: unknonw -Description: split the install into some clear targets - -diff -Naur mds-2.4.0.orig/agent/Makefile mds-2.4.0/agent/Makefile ---- mds-2.4.0.orig/agent/Makefile 2010-04-21 12:29:46.000000000 +0000 -+++ mds-2.4.0/agent/Makefile 2010-05-01 06:49:16.150868972 +0000 -@@ -44,22 +44,31 @@ - @echo "Nothing to do" - - # Install everything --install: -- @# Install directories -- @echo "Creating directories..." -- $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(SBINDIR) -- $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(LIBDIR) -- $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(ETCDIR) -- $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(PYTHON_PREFIX) -+install: install_py install_lib install_cfg -+ -+# Install everything eccept python modules -+install_nopy: install_lib install_cfg - -+install_py: -+ @# Install Python directories -+ @echo "Creating python directories..." -+ $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(PYTHON_PREFIX) - @echo "" - @echo "Install python code in $(DESTDIR)$(PYTHON_PREFIX)" - $(PYTHON) setup.py install --no-compile --prefix $(DESTDIR)$(PYTHON_PREFIX) - -+install_lib: -+ @# Install lib directories -+ @echo "Creating lib directories..." -+ $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(LIBDIR) - @echo "" - @echo "Install LIBFILES in $(DESTDIR)$(LIBDIR)" - $(INSTALL) $(LIBFILES) -m 755 -o root -g root $(DESTDIR)$(LIBDIR) - -+install_cfg: -+ @# Install config directories -+ @echo "Creating config directories..." -+ $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(ETCDIR) - @echo "" - @echo "Install CONFILES in $(DESTDIR)$(ETCDIR)" - $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(ETCDIR)/plugins diff --git a/app-admin/mds-core/files/mds-2.4.0-printing-1.patch b/app-admin/mds-core/files/mds-2.4.0-printing-1.patch deleted file mode 100644 index 2436a45..0000000 --- a/app-admin/mds-core/files/mds-2.4.0-printing-1.patch +++ /dev/null @@ -1,764 +0,0 @@ -Submitted By: Mario Fetka (geos_one) (mario dot fetka at gmail dot com) -Date: 2010-05-01 -Initial Package Version: 2.3.1 -Origin: http://mds.mandriva.org/svn/mmc-agent/branches/printing -Upstream Status: unknown -Description: add the printing plugin from the 2.3.1 branch - -diff -Naur mds-2.4.0.orig/agent/conf/plugins/printing.ini mds-2.4.0/agent/conf/plugins/printing.ini ---- mds-2.4.0.orig/agent/conf/plugins/printing.ini 1970-01-01 00:00:00.000000000 +0000 -+++ mds-2.4.0/agent/conf/plugins/printing.ini 2010-05-01 11:57:24.515871440 +0000 -@@ -0,0 +1,5 @@ -+[main] -+# Is this plugin disabled ? -+disable = 0 -+# Where are located the printers -+basePrintersDN = ou=Printers, dc=linbox, dc=com -diff -Naur mds-2.4.0.orig/agent/conf/plugins/printstats.ini mds-2.4.0/agent/conf/plugins/printstats.ini ---- mds-2.4.0.orig/agent/conf/plugins/printstats.ini 1970-01-01 00:00:00.000000000 +0000 -+++ mds-2.4.0/agent/conf/plugins/printstats.ini 2010-05-01 11:57:24.516870811 +0000 -@@ -0,0 +1,26 @@ -+[main] -+disable = 0 -+dbhost = localhost -+dbport = 5432 -+dbname = lpstats -+dbuser = lpstats -+dbpasswd = lpstats -+ -+[sql] -+history = SELECT sum(pages * copies), (SELECT EXTRACT(day FROM date)) AS day, (SELECT EXTRACT(month from date)) AS month, (SELECT EXTRACT(year from date)) AS year FROM linboxprintstats WHERE (now()::date - date::date <= %(days)d and printserver like '%(printserver)s') GROUP by day, month, year; -+ -+historybymonth = SELECT sum(pages * copies), (SELECT EXTRACT(month from date)) AS month, (SELECT EXTRACT(year from date)) AS year FROM linboxprintstats WHERE (now()::date - date::date <= %(days)d and printserver like '%(printserver)s') GROUP by month, year; -+ -+printers = select lps.printer as impr, coalesce(sum(lps.copies * lps.pages), 0) as total , (select coalesce(sum(lps2.copies * lps2.pages), 0) from linboxprintstats lps2 where (lps.printer = lps2.printer and lps2.color = 2 and lps2.date >= '%(begin)s' and lps2.date<='%(end)s' and lps2.printserver like '%(printserver)s')) as color, (select coalesce(sum(lps3.copies * lps3.pages), 0) from linboxprintstats lps3 where (lps3.printer = lps.printer and lps3.color <= 1 and lps3.date >= '%(begin)s' and lps3.date <= '%(end)s' and lps3.printserver like '%(printserver)s')) as bw from linboxprintstats lps where (lps.date >= '%(begin)s' and lps.date <= '%(end)s' and lps.printserver like '%(printserver)s') group by lps.printer order by %(orderby)s %(sort)s limit %(limit)s; -+ -+users = select lps.username, coalesce(sum(lps.copies * lps.pages), 0) as total , (select coalesce(sum(lps2.copies * lps2.pages), 0) from linboxprintstats lps2 where (lps2.username = lps.username and lps2.color = 2 and lps2.date >= '%(begin)s' and lps2.date <= '%(end)s' and lps2.printserver like '%(printserver)s')) as color, (select coalesce(sum(lps3.copies * lps3.pages), 0) from linboxprintstats lps3 where (lps3.username = lps.username and lps3.color<=1 and lps3.date >= '%(begin)s' and lps3.date <= '%(end)s' and lps3.printserver like '%(printserver)s')) as bw from linboxprintstats lps where (lps.date >= '%(begin)s' and lps.date <= '%(end)s' and lps.printserver like '%(printserver)s') group by lps.username order by %(orderby)s %(sort)s limit %(limit)s; -+ -+printer = select (select sum(lps2.copies) from linboxprintstats lps2 where (lps2.pages >= '%(lim1)d' and lps2.pages <= '%(lim2)d' and lps2.printer='%(printer)s' and lps2.date >= '%(begin)s' and date <= '%(end)s' and lps2.printserver like '%(printserver)s')), (select sum(lps3.copies) from linboxprintstats lps3 where (lps3.pages > '%(lim2)d' and lps3.pages <= '%(lim3)d' and lps3.printer='%(printer)s' and lps3.date >= '%(begin)s' and lps3.date <= '%(end)s') and lps3.printserver like '%(printserver)s'), (select sum(lps4.copies) from linboxprintstats lps4 where (lps4.pages > '%(lim3)s' and lps4.pages <= '%(lim4)s' and lps4.printer = '%(printer)s' and lps4.date >= '%(begin)s' and lps4.date <= '%(end)s' and lps4.printserver like '%(printserver)s')), (select sum(lps5.copies) from linboxprintstats lps5 where (lps5.pages > '%(lim4)s' and lps5.pages <= '%(lim5)s' and lps5.printer = '%(printer)s' and lps5.date >= '%(begin)s' and lps5.date <= '%(end)s' and lps5.printserver like '%(printserver)s')), (select sum(lps6.copies) from linboxprintstats lps6 where (lps6.pages > '%(lim5)s' and lps6.printer = '%(printer)s' and lps6.date >= '%(begin)s' and date <= '%(end)s' and lps6.printserver like '%(printserver)s')) from linboxprintstats limit 1; -+ -+user4printer = select lps.username, coalesce(sum(lps.copies * lps.pages), 0) as total , (select coalesce(sum(lps2.copies * lps2.pages), 0) from linboxprintstats lps2 where (lps2.printer = '%(printer)s' and lps2.username = lps.username and lps2.color = 2 and lps2.date >= '%(begin)s' and lps2.date <= '%(end)s' and lps2.printserver like '%(printserver)s')) as color, (select coalesce(sum(lps3.copies * lps3.pages), 0) from linboxprintstats lps3 where (lps3.printer = '%(printer)s' and lps3.username = lps.username and lps3.color <= 1 and lps3.date >= '%(begin)s' and lps3.date <= '%(end)s' and lps3.printserver like '%(printserver)s')) as bw from linboxprintstats lps where (lps.printer = '%(printer)s' and lps.date >= '%(begin)s' and lps.date <= '%(end)s' and lps.printserver like '%(printserver)s') group by username order by %(orderby)s %(sort)s limit %(limit)s; -+ -+printservers = select distinct(printserver) from linboxprintstats; -+ -+printerlist = select distinct(printer) from linboxprintstats; -+ -+colors = SELECT color,sum(copies*pages) from linboxprintstats WHERE (date >= '%(begin)s' and date <= '%(end)s' and printserver like '%(printserver)s') GROUP by color; -diff -Naur mds-2.4.0.orig/agent/mmc/plugins/printing/__init__.py mds-2.4.0/agent/mmc/plugins/printing/__init__.py ---- mds-2.4.0.orig/agent/mmc/plugins/printing/__init__.py 1970-01-01 00:00:00.000000000 +0000 -+++ mds-2.4.0/agent/mmc/plugins/printing/__init__.py 2010-05-01 11:57:29.705870043 +0000 -@@ -0,0 +1,480 @@ -+# -*- coding: utf-8; -*- -+# -+# (c) 2004-2007 Linbox / Free&ALter Soft, http://linbox.com -+# (c) 2007-2008 Mandriva, http://www.mandriva.com -+# -+# $Id: __init__.py 642 2008-05-19 16:16:55Z cdelfosse $ -+# -+# This file is part of Mandriva Management Console (MMC). -+# -+# MMC is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# MMC is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with MMC; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ -+import ConfigParser -+import logging -+ -+import ldap -+from ldap.modlist import addModlist -+ -+from mmc.plugins.base import ldapUserGroupControl, GpoManager -+from mmc.support import mmctools -+ -+VERSION = "2.3.1" -+APIVERSION = "1:0:0" -+REVISION = int("$Rev: 642 $".split(':')[1].strip(' $')) -+ -+def getVersion(): return VERSION -+def getApiVersion(): return APIVERSION -+def getRevision(): return REVISION -+ -+def activate(): -+ """ -+ This function defines if this module can be activated -+ @return: return True if this module can be activated -+ @rtype: boolean -+ """ -+ configParser = mmctools.getConfigParser("printing") -+ logger = logging.getLogger() -+ ret = False -+ if configParser.get("main", "disable") == "1": -+ logger.info("printing plugin disabled by configuration.") -+ else: -+ # Create Printers Ou -+ p = ldapPrinters() -+ head, path = p.basePrintersDN.split(",", 1) -+ ouName = head.split("=")[1] -+ try: -+ p.addOu(ouName, path) -+ logger.info("Created OU " + p.basePrintersDN) -+ except ldap.ALREADY_EXISTS: -+ pass -+ gpomanager = GpoManager("Printers") -+ try: -+ gpomanager.add("GPOPrintServiceAccessAllowed", { "ACLPrintServiceAccess" : "True" }) -+ except ldap.ALREADY_EXISTS: -+ pass -+ try: -+ gpomanager.add("GPOPrintServiceAllRights", { "ACLPrintServiceAllRights" : "True" }) -+ except ldap.ALREADY_EXISTS: -+ pass -+ ret = True -+ return ret -+ -+# Printers management -+ -+def get(pattern = "*"): -+ return ldapPrinters().get(pattern) -+ -+def add(name, location = "", info = ""): -+ d = {} -+ d["printer-name"] = name -+ d["printer-location"] = location -+ d["printer-info"] = info -+ return ldapPrinters().add(d) -+ -+def delete(name): -+ return ldapPrinters().delete(name) -+ -+def exists(printer): -+ return ldapPrinters().exists(printer) -+ -+# User rights management -+ -+def addUserServiceAccessAllowed(uid): -+ ldapPrinters().addUserServiceAccessAllowed(uid) -+ -+def delUserServiceAccessAllowed(uid): -+ ldapPrinters().delUserServiceAccessAllowed(uid) -+ -+def isUserServiceAccessAllowed(uid): -+ return ldapPrinters().isUserServiceAccessAllowed(uid) -+ -+def addUserServiceAllRights(uid): -+ ldapPrinters().addUserServiceAllRights(uid) -+ -+def delUserServiceAllRights(uid): -+ ldapPrinters().delUserServiceAllRights(uid) -+ -+def isUserServiceAllRights(uid): -+ return ldapPrinters().isUserServiceAllRights(uid) -+ -+def addUserPrinterAccessAllowed(uid, printer): -+ ldapPrinters().addUserPrinterAccessAllowed(uid, printer) -+ -+def delUserPrinterAccessAllowed(uid, printer): -+ ldapPrinters().delUserPrinterAccessAllowed(uid, printer) -+ -+def getUserPrintersAccessAllowed(uid): -+ return ldapPrinters().getUserPrintersAccessAllowed(uid) -+ -+# Group rights management -+ -+def addGroupServiceAccessAllowed(group): -+ ldapPrinters().addGroupServiceAccessAllowed(group) -+ -+def delGroupServiceAccessAllowed(group): -+ ldapPrinters().delGroupServiceAccessAllowed(group) -+ -+def isGroupServiceAccessAllowed(group): -+ return ldapPrinters().isGroupServiceAccessAllowed(group) -+ -+def addGroupServiceAllRights(group): -+ ldapPrinters().addGroupServiceAllRights(group) -+ -+def delGroupServiceAllRights(group): -+ ldapPrinters().delGroupServiceAllRights(group) -+ -+def isGroupServiceAllRights(group): -+ return ldapPrinters().isGroupServiceAllRights(group) -+ -+def addGroupPrinterAccessAllowed(group, printer): -+ ldapPrinters().addGroupPrinterAccessAllowed(group, printer) -+ -+def delGroupPrinterAccessAllowed(group, printer): -+ ldapPrinters().delGroupPrinterAccessAllowed(group, printer) -+ -+def getGroupPrintersAccessAllowed(group): -+ return ldapPrinters().getGroupPrintersAccessAllowed(group) -+ -+# -+ -+def getUsersAccessAllowedForPrinter(printer): -+ return ldapPrinters().getUsersAccessAllowedForPrinter(printer) -+ -+def getGroupsAccessAllowedForPrinter(printer): -+ return ldapPrinters().getGroupsAccessAllowedForPrinter(printer) -+ -+# -+ -+def getUsersPrintServiceGPO(gpo): -+ return ldapPrinters().getUsersPrintServiceGPO(gpo) -+ -+def getGroupsPrintServiceGPO(gpo): -+ return ldapPrinters().getGroupsPrintServiceGPO(gpo) -+ -+ -+class ldapPrinters(ldapUserGroupControl): -+ -+ # Printers management methods -+ def __init__(self, conffile = None, conffilebase = None, gpoCreate = True): -+ """ -+ @param gpoCreate: If True, base GPO for printer rights management will be created. -+ @type gpoCreate: bool -+ """ -+ ldapUserGroupControl.__init__(self, conffilebase) -+ cp = ConfigParser.ConfigParser() -+ if not conffile: -+ cp = mmctools.getConfigParser("printing") -+ else: -+ cp = ConfigParser.ConfigParser() -+ cp.read(conffile) -+ self.basePrintersDN = cp.get("main", "basePrintersDN").replace(" ", "") -+ self.gpomanager = GpoManager("Printers", conffilebase, gpoCreate) -+ -+ def get(self, pattern="*"): -+ """ -+ Return the printers list found in the LDAP. -+ """ -+ entries = self.search("printer-name="+pattern, self.basePrintersDN) -+ result = [] -+ for entry in entries: -+ dn, attrs = entry[0] -+ result.append(attrs["printer-name"][0]) -+ result.sort() -+ return result -+ -+ def add(self, printerDesc): -+ """ -+ Add a printer into the LDAP. -+ -+ The GPOs corresponding to the printer are created too. -+ """ -+ printerDesc["objectClass"] = ("printerService") -+ modlist = addModlist(printerDesc) -+ entry = "printer-name=" + printerDesc["printer-name"] + "," + self.basePrintersDN -+ self.l.add_s(entry, modlist) -+ self.gpomanager.add("GPOPrinterAccessAllowed_" + printerDesc["printer-name"], { "PrinterServiceAccess" : "True" }) -+ -+ def delete(self, name): -+ """ -+ Delete a printer from the LDAP. -+ -+ The GPOs corresponding to the printer are deleted too. -+ """ -+ entry = "printer-name=" + name + ", " + self.basePrintersDN -+ self.delRecursiveEntry(entry) -+ self.gpomanager.delete("GPOPrinterAccessAllowed_" + name) -+ -+ def exists(self, printer): -+ """ -+ Return True if a printer with this name exists. -+ """ -+ entry = self.search("printer-name=" + printer, self.basePrintersDN) -+ return (len(entry) == 1) -+ -+ # Users rights management -+ -+ def addUserServiceAccessAllowed(self, uid): -+ """ -+ Give an user the right to access the print service -+ -+ @param uid: user to give access -+ """ -+ self.gpomanager.addUserToGPO(uid, "GPOPrintServiceAccessAllowed") -+ -+ def delUserServiceAccessAllowed(self, uid): -+ """ -+ Remove an user the right to access the print service -+ -+ @param uid: user to give access -+ """ -+ self.gpomanager.delUserFromGPO(uid, "GPOPrintServiceAccessAllowed") -+ -+ def isUserServiceAccessAllowed(self, uid): -+ """ -+ Return true if the user has print service access -+ -+ @param uid: user to get access -+ @rtype: Boolean -+ """ -+ dn = "uid=" + uid + "," + self.baseUsersDN -+ members = self.gpomanager.getUsersFromGPO("GPOPrintServiceAccessAllowed") -+ return dn in members -+ -+ def addUserServiceAllRights(self, uid): -+ """ -+ Give an user the right to access the print service without restriction -+ -+ @param uid: user to give access -+ """ -+ self.gpomanager.addUserToGPO(uid, "GPOPrintServiceAllRights") -+ -+ def delUserServiceAllRights(self, uid): -+ """ -+ Remove an user the right to access the print service without restriction -+ -+ @param uid: user to give access -+ """ -+ self.gpomanager.delUserFromGPO(uid, "GPOPrintServiceAllRights") -+ -+ def isUserServiceAllRights(self, uid): -+ """ -+ Return true if the user has print service access without restriction -+ -+ @param uid: user to get access -+ @rtype: Boolean -+ """ -+ dn = "uid=" + uid + "," + self.baseUsersDN -+ members = self.gpomanager.getUsersFromGPO("GPOPrintServiceAllRights") -+ return dn in members -+ -+ def addUserPrinterAccessAllowed(self, uid, printer): -+ """ -+ Give an user the right to use a printer -+ -+ @param uid: user to give access -+ @param printer: printer name -+ """ -+ self.gpomanager.addUserToGPO(uid, "GPOPrinterAccessAllowed_" + printer) -+ -+ def delUserPrinterAccessAllowed(self, uid, printer): -+ """ -+ Remove an user the right to access the print service -+ -+ @param uid: user to give access -+ @param printer: printer name -+ """ -+ self.gpomanager.delUserFromGPO(uid, "GPOPrinterAccessAllowed_" + printer) -+ -+ def getUserPrintersAccessAllowed(self, uid): -+ """ -+ Return the list of printers the user has right access -+ -+ @param uid: user name -+ """ -+ dn = "uid=" + uid + "," + self.baseUsersDN -+ return self.gpomanager.getResourceGpo(dn, "GPOPrinterAccessAllowed") -+ -+ # Groups rights management -+ -+ def addGroupServiceAccessAllowed(self, group): -+ """ -+ Give a group the right to access the print service -+ -+ @param group: group to give access to -+ """ -+ self.gpomanager.addGroupToGPO(group, "GPOPrintServiceAccessAllowed") -+ -+ def delGroupServiceAccessAllowed(self, group): -+ """ -+ Remove a group the right to access the print service -+ -+ @param group: group to give access to -+ """ -+ self.gpomanager.delGroupFromGPO(group, "GPOPrintServiceAccessAllowed") -+ -+ def isGroupServiceAccessAllowed(self, group): -+ """ -+ Return true if the group has print service access -+ -+ @param group: group to get access -+ @rtype: Boolean -+ """ -+ dn = "cn=" + group + "," + self.baseGroupsDN -+ members = self.gpomanager.getGroupsFromGPO("GPOPrintServiceAccessAllowed") -+ return dn in members -+ -+ def addGroupServiceAllRights(self, group): -+ """ -+ Give a group the right to access to the print service without restriction -+ -+ @param group: group to give access to -+ """ -+ self.gpomanager.addGroupToGPO(group, "GPOPrintServiceAllRights") -+ -+ def delGroupServiceAllRights(self, group): -+ """ -+ Remove a group the right to access to the print service without restriction -+ -+ @param group: group to give access to -+ """ -+ self.gpomanager.delGroupFromGPO(group, "GPOPrintServiceAllRights") -+ -+ def isGroupServiceAllRights(self, group): -+ """ -+ Return true if the group has print service access without restriction -+ -+ @param group: group to get access -+ @rtype: Boolean -+ """ -+ dn = "cn=" + group + "," + self.baseGroupsDN -+ members = self.gpomanager.getGroupsFromGPO("GPOPrintServiceAllRights") -+ return dn in members -+ -+ def addGroupPrinterAccessAllowed(self, group, printer): -+ """ -+ Give a group the right to use a printer -+ -+ @param group: group to give access -+ @param printer: printer name -+ """ -+ self.gpomanager.addGroupToGPO(group, "GPOPrinterAccessAllowed_" + printer) -+ -+ def delGroupPrinterAccessAllowed(self, group, printer): -+ """ -+ Remove a group the right to access the print service -+ -+ @param group: group to give access -+ @param printer: printer name -+ """ -+ self.gpomanager.delGroupFromGPO(group, "GPOPrinterAccessAllowed_" + printer) -+ -+ def getGroupPrintersAccessAllowed(self, group): -+ """ -+ Return the list of printers the group has right access -+ -+ @param group: group name -+ """ -+ dn = "cn=" + group + "," + self.baseGroupsDN -+ return self.gpomanager.getResourceGpo(dn, "GPOPrinterAccessAllowed") -+ -+ # Methods to know who can print on a specific printer -+ -+ def getUsersAccessAllowedForPrinter(self, printer): -+ """ -+ Return the list of users who can use this printer -+ -+ @param printer: the printer name -+ """ -+ ret = [] -+ for dn in self.gpomanager.getUsersFromGPO("GPOPrinterAccessAllowed_" + printer): -+ # Process dn to only return the uid value -+ ret.append(dn.split(",")[0].split("=")[1]) -+ return ret -+ -+ def getGroupsAccessAllowedForPrinter(self, printer): -+ """ -+ Return the list of groups who can use this printer -+ -+ @param printer: the printer name -+ """ -+ ret = [] -+ for dn in self.gpomanager.getGroupsFromGPO("GPOPrinterAccessAllowed_" + printer): -+ # Process dn to only return the cn value -+ ret.append(dn.split(",")[0].split("=")[1]) -+ return ret -+ -+ # To get print service GPO members -+ -+ def getUsersPrintServiceGPO(self, gpo): -+ """ -+ Return the list of users member of the GPO. -+ -+ @param gpo: Name of the GPO -+ """ -+ ret = [] -+ for dn in self.gpomanager.getUsersFromGPO(gpo): -+ # Process dn to only return the uid value -+ ret.append(dn.split(",")[0].split("=")[1]) -+ return ret -+ -+ def getGroupsPrintServiceGPO(self, gpo): -+ """ -+ Return the list of groups member of this GPO -+ -+ @param gpo: Name of the GPO -+ """ -+ ret = [] -+ for dn in self.gpomanager.getGroupsFromGPO(gpo): -+ # Process dn to only return the cn value -+ ret.append(dn.split(",")[0].split("=")[1]) -+ return ret -+ -+ def userCanPrintOn(self, uid, printer): -+ """ -+ This method is used by the MMC CUPS backend to check if an user can print on a printer. -+ For the moment, only access right is checked according to group membership. -+ -+ @return: True if the user uid can print on the printer -+ @rtype: boolean -+ """ -+ result = False -+ -+ groups = self.getUserGroups(uid) -+ # Get groups which has print service access -+ groupAccess = [] -+ for group in groups: -+ if self.isGroupServiceAccessAllowed(group): -+ groupAccess.append(group) -+ -+ # Get remaining group which has all rights on print service -+ groupAllrights = [] -+ for group in groupAccess: -+ if self.isGroupServiceAllRights(group): -+ groupAllrights.append(group) -+ -+ if len(groupAllrights): -+ # User is in a group which has all rights on print service. -+ # So this user can print -+ result = True -+ else: -+ # Does one of these groups has the right to use this printer ? -+ for group in groupAccess: -+ printers = self.getGroupPrintersAccessAllowed(group) -+ if printer in printers: -+ # We have a winner -+ result = True -+ break -+ -+ return result -diff -Naur mds-2.4.0.orig/agent/mmc/plugins/printstats/__init__.py mds-2.4.0/agent/mmc/plugins/printstats/__init__.py ---- mds-2.4.0.orig/agent/mmc/plugins/printstats/__init__.py 1970-01-01 00:00:00.000000000 +0000 -+++ mds-2.4.0/agent/mmc/plugins/printstats/__init__.py 2010-05-01 11:57:29.707870252 +0000 -@@ -0,0 +1,219 @@ -+# -*- coding: utf-8; -*- -+# -+# (c) 2004-2007 Linbox / Free&ALter Soft, http://linbox.com -+# (c) 2007 Mandriva, http://www.mandriva.com/ -+# -+# $Id: __init__.py 454 2008-01-18 14:09:42Z cedric $ -+# -+# This file is part of Mandriva Management Console (MMC). -+# -+# MMC is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# MMC is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with MMC; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ -+import psycopg -+import ConfigParser -+import logging -+from mmc.support import mmctools -+ -+VERSION = "2.3.1" -+APIVERSION = "1:0:0" -+REVISION = int("$Rev: 557 $".split(':')[1].strip(' $')) -+ -+def getVersion(): return VERSION -+def getApiVersion(): return APIVERSION -+def getRevision(): return REVISION -+ -+def activate(): -+ """ -+ This function defines if this module can be activated -+ @return: return True if this module can be activated -+ @rtype: boolean -+ """ -+ configParser = mmctools.getConfigParser("printstats") -+ logger = logging.getLogger() -+ ret = False -+ if configParser.get("main", "disable") == "1": -+ logger.info("printstats plugin disabled by configuration.") -+ else: ret = True -+ return ret -+ -+def getHistory(printserver, days): -+ return Printstats().getHistory(printserver, days) -+ -+def getHistoryByMonths(printserver, days): -+ return Printstats().getHistoryByMonths(printserver, days) -+ -+def getPrintersStats(printserver, begin, end, orderby, sort, limit): -+ return Printstats().getPrintersStats(printserver, begin, end, orderby, sort, limit) -+ -+def getPrinterStats(printserver, printer, begin, end, lim1, lim2, lim3, lim4, lim5): -+ return Printstats().getPrinterStats(printserver, printer, begin, end, lim1, lim2, lim3, lim4, lim5) -+ -+def getUsersStatsForPrinter(printserver, printer, begin, end, orderby, sort, limit): -+ return Printstats().getUsersStatsForPrinter(printserver, printer, begin, end, orderby, sort, limit) -+ -+def getUsersStats(printserver, begin, end, orderby, sort, limit): -+ return Printstats().getUsersStats(printserver, begin, end, orderby, sort, limit) -+ -+def getPrintServers(): -+ return Printstats().getPrintServers() -+ -+def getPrinterList(): -+ return Printstats().getPrinterList() -+ -+def getColors(printserver, begin, end): -+ return Printstats().getColors(printserver, begin, end) -+ -+class Printstats: -+ -+ def __init__(self, conffile = "/etc/mmc/plugins/printstats.ini"): -+ cp = ConfigParser.RawConfigParser() -+ cp.read(conffile) -+ self.dbhost = cp.get("main", "dbhost") -+ self.dbport = cp.get("main", "dbport") -+ self.dbname = cp.get("main", "dbname") -+ self.dbuser = cp.get("main", "dbuser") -+ self.dbpasswd = cp.get("main", "dbpasswd") -+ self.sql = {} -+ for option in cp.options("sql"): -+ self.sql[option] = cp.get("sql", option) -+ -+ def _getCursor(self): -+ l = logging.getLogger() -+ l.debug("Connecting to dbname=%s user=%s password=%s host=%s port=%s" % (self.dbname, self.dbuser, self.dbpasswd, self.dbhost, self.dbport)) -+ self.db = psycopg.connect("dbname=%s user=%s password=%s host=%s port=%s" % (self.dbname, self.dbuser, self.dbpasswd, self.dbhost, self.dbport)) -+ return self.db.cursor() -+ -+ def _prepareData(self, data): -+ ret = [] -+ for item in data: -+ if not None in item: ret.append(item) -+ else: -+ new = () -+ for i in item: -+ if i == None: new = new + (0,) -+ else: new = new + (i,) -+ ret.append(new) -+ return ret -+ -+ def _printServerQuery(self, printserver, where = False): -+ if printserver == "ALL": ret = "%" -+ else: ret = printserver -+ return ret -+ -+ def getHistory(self, printserver, days): -+ c = self._getCursor() -+ d = {} -+ d["days"] = days -+ d["printserver"] = self._printServerQuery(printserver) -+ c.execute(self.sql["history"] % d) -+ ret = c.fetchall() -+ self.db.close() -+ return ret -+ -+ def getHistoryByMonths(self, printserver, days): -+ c = self._getCursor() -+ d = {} -+ d["days"] = days -+ d["printserver"] = self._printServerQuery(printserver) -+ c.execute(self.sql["historybymonth"] % d) -+ ret = c.fetchall() -+ self.db.close() -+ return ret -+ -+ def getPrintersStats(self, printserver, begin, end, orderby, sort, limit): -+ c = self._getCursor() -+ d = {} -+ d["begin"] = begin -+ d["end"] = end -+ d["printserver"] = self._printServerQuery(printserver) -+ d["orderby"] = orderby -+ d["sort"] = sort -+ d["limit"] = limit -+ c.execute(self.sql["printers"] % d) -+ result = c.fetchall() -+ self.db.close() -+ return self._prepareData(result) -+ -+ def getUsersStats(self, printserver, begin, end, orderby, sort, limit): -+ c = self._getCursor() -+ d = {} -+ d["begin"] = begin -+ d["end"] = end -+ d["printserver"] = self._printServerQuery(printserver) -+ d["orderby"] = orderby -+ d["sort"] = sort -+ d["limit"] = limit -+ c.execute(self.sql["users"] % d) -+ ret = c.fetchall() -+ self.db.close() -+ return self._prepareData(ret) -+ -+ def getPrinterStats(self, printserver, printer, begin, end, lim1, lim2, lim3, lim4, lim5): -+ c = self._getCursor() -+ d = {} -+ d["printserver"] = self._printServerQuery(printserver, True) -+ d["printer"] = printer -+ d["begin"] = begin -+ d["end"] = end -+ d["lim1"] = lim1 -+ d["lim2"] = lim2 -+ d["lim3"] = lim3 -+ d["lim4"] = lim4 -+ d["lim5"] = lim5 -+ c.execute(self.sql["printer"] % d) -+ ret = c.fetchall() -+ self.db.close() -+ return self._prepareData(ret) -+ -+ def getUsersStatsForPrinter(self, printserver, printer, begin, end, orderby, sort, limit): -+ d = {} -+ d["printserver"] = self._printServerQuery(printserver) -+ d["printer"] = printer -+ d["begin"] = begin -+ d["end"] = end -+ d["orderby"] = orderby -+ d["sort"] = sort -+ d["limit"] = limit -+ c = self._getCursor() -+ c.execute(self.sql["user4printer"] % d) -+ ret = c.fetchall() -+ self.db.close() -+ return self._prepareData(ret) -+ -+ def getPrintServers(self): -+ c = self._getCursor() -+ c.execute(self.sql["printservers"]) -+ ret = c.fetchall() -+ self.db.close() -+ return self._prepareData(ret) -+ -+ def getPrinterList(self): -+ c = self._getCursor() -+ c.execute(self.sql["printerlist"]) -+ ret = c.fetchall() -+ self.db.close() -+ return self._prepareData(ret) -+ -+ def getColors(self, printserver, begin, end): -+ d = {} -+ d["printserver"] = self._printServerQuery(printserver) -+ d["begin"] = begin -+ d["end"] = end -+ c = self._getCursor() -+ c.execute(self.sql["colors"] % d) -+ ret = c.fetchall() -+ self.db.close() -+ return self._prepareData(ret) -+ -diff -Naur mds-2.4.0.orig/agent/setup.py mds-2.4.0/agent/setup.py ---- mds-2.4.0.orig/agent/setup.py 2010-05-01 11:54:47.347622644 +0000 -+++ mds-2.4.0/agent/setup.py 2010-05-01 11:58:36.108623972 +0000 -@@ -39,5 +39,6 @@ - packages = ["mmc.plugins.samba", "mmc.plugins.mail", - "mmc.plugins.network", "mmc.plugins.proxy", - "mmc.plugins.sshlpk", "mmc.plugins.bulkimport", -- "mmc.plugins.userquota"], -+ "mmc.plugins.userquota", "mmc.plugins.printstats", -+ "mmc.plugins.printing"], - ) diff --git a/app-admin/mds-core/mds-core-2.4.0.ebuild b/app-admin/mds-core/mds-core-2.4.0.ebuild deleted file mode 100644 index 9efa43e..0000000 --- a/app-admin/mds-core/mds-core-2.4.0.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -SUPPORT_PYTHON_ABIS="1" - -inherit eutils distutils - -MY_P="${P/_p/-}" -MY_PV="${PV/_p*/}" - -DESCRIPTION="The MMC Agent and its Core Python plugins." -HOMEPAGE="http://mds.mandriva.org/" -SRC_URI="http://mds.mandriva.org/pub/mds/sources/${PV}/mds-${PV}.tar.gz" - -LICENSE="GPL-2" -KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" -IUSE="" - -SLOT="0" - -RDEPEND=">=app-admin/mmc-core-${PV}" - -DEPEND="sys-apps/lsb-release" - -S="${WORKDIR}/mds-${MY_PV}/agent" - -src_prepare() { - epatch "${FILESDIR}"/mds-2.4.0-install-target-1.patch - epatch "${FILESDIR}"/mds-2.4.0-printing-1.patch - distutils_src_prepare -} - -# from marienz's setuptools.eclass: -src_install() { - emake install_nopy PREFIX=/usr DESTDIR=${D} - distutils_src_install -} - -pkg_postinst() { - elog "To disable some plugin in your mmc environments, you have to set" - elog "disable to 1 in /etc/mmc/plugins/*.ini" - elog "(one config file per service)" - elog "You can't disable the base plugin." -} diff --git a/app-admin/mds-web-core/ChangeLog b/app-admin/mds-web-core/ChangeLog deleted file mode 100644 index e5225cc..0000000 --- a/app-admin/mds-web-core/ChangeLog +++ /dev/null @@ -1,68 +0,0 @@ -# ChangeLog for app-admin/mmc-web-base -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: $ - - 01 May 2010; Mario Fetka - mds-web-core-2.4.0.ebuild: - add block on old packages - - 01 May 2010; Mario Fetka +metadata.xml: - move mmc-base to mds-web-core - - 18 Feb 2010; Mario Fetka - mmc-web-base-2.3.2.ebuild, mmc-web-base-2.3.2-r1.ebuild, - mmc-web-base-2.3.2-r2.ebuild, mmc-web-base-2.3.2_p642.ebuild: - add arm keyword - - 29 Jan 2010; Mario Fetka - mmc-web-base-2.3.2_p642.ebuild, - +files/mmc-web-base-2.3.2-bulkimport-1.patch: - add bulkimport - - 05 Dec 2009; Mario Fetka - +mmc-web-base-2.3.2_p642.ebuild, +files/mmc-web-base-2.3.2-gentoo-3.patch: - use special pulse2 version - -*mmc-web-base-2.3.2-r2 (03 Sep 2009) - - 03 Sep 2009; Mario Fetka - +mmc-web-base-2.3.2-r2.ebuild: - add missing dependencies - -* mmc-web-base-2.3.2-r1 (17 Apr 2009) - - 17 Apr 2009; Mario Fetka mmc-web-base-2.3.2-r1: - EAPI2 and test cleanup - - 16 Apr 2009; Mario Fetka - mmc-web-base-2.3.2.ebuild: - add die to do* - - 08 Apr 2009; Mario Fetka - -mmc-web-base-2.3.1.ebuild, mmc-web-base-2.3.2.ebuild: - correct KEYWORDS - - 07 Apr 2009; Mario Fetka - -files/postinstall-en-2.3.txt: - delete not reqired files - - 13 Mar 2009; Mario Fetka - mmc-web-base-2.3.2.ebuild: - new dependencies on gettext - - 17 Feb 2009; Mario Fetka - +files/mmc-web-base-2.3.2-gentoo-2.patch, mmc-web-base-2.3.2.ebuild: - disbale php_flag - - 17 Feb 2009; Mario Fetka - mmc-web-base-2.3.2.ebuild: - move apache mmc.conf after php.conf - - 17 Feb 2009; Mario Fetka ChangeLog: - update to new system - - 17 Feb 2009; Mario Fetka - +files/mmc-web-base-2.3.2-gentoo-1.patch, +metadata.xml, - +mmc-web-base-2.3.2.ebuild: - New design for mmc web packages - diff --git a/app-admin/mds-web-core/Manifest b/app-admin/mds-web-core/Manifest deleted file mode 100644 index 6296986..0000000 --- a/app-admin/mds-web-core/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -DIST mds-2.4.0.tar.gz 987981 RMD160 31775873932c2f988699c85b9b0ef46caab2da5c SHA1 cb57e3519c0672580b120a8bacae86c3e44b9dbc SHA256 c2c61f39626517feeeec74792b73fd5661b7f241a4aa73b5fe057d1e599dfbc0 -EBUILD mds-web-core-2.4.0.ebuild 875 RMD160 f01f48a5a0414c2b67a8885d56ddbdc8140f2d56 SHA1 b1fd4804c75764e4941888a0cac917eaddacf961 SHA256 ad88d46b063d560694244bb09dc40a51823338523c8ba63651b8d2fcb2aac8fd -MISC ChangeLog 2093 RMD160 62536cbe1c42091aed4a7ed07b22c1de8642f12f SHA1 98b18580f904296cf3b26844b4f930e43e2af9be SHA256 f870428271578828518bc3333413043c5720aa20ed2caf1f533b3fc4b0308b0b -MISC metadata.xml 226 RMD160 bebcbe7a5e3d2be83c25e006192f71ebf45abb14 SHA1 ec2b713fc2363b8c51e9c164d0802eeb59d9d296 SHA256 a9d3f7df2362a9a7ddcbe05c5d97d726eeb4bab135b21643508149a08bf6a2b2 diff --git a/app-admin/mds-web-core/mds-web-core-2.4.0.ebuild b/app-admin/mds-web-core/mds-web-core-2.4.0.ebuild deleted file mode 100644 index 6a03de7..0000000 --- a/app-admin/mds-web-core/mds-web-core-2.4.0.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -inherit eutils depend.apache depend.php - -MY_P="${P/_p/-}" -MY_PV="${PV/_p*/}" - -DESCRIPTION="Mandriva Directory Server - Identity and network services management made easy !" -HOMEPAGE="http://mds.mandriva.org/" -SRC_URI="http://mds.mandriva.org/pub/mds/sources/${PV}/mds-${PV}.tar.gz" - -LICENSE="GPL-2" -KEYWORDS="~amd64 ~arm ~x86 ~x86-fbsd" -IUSE="" -DEPEND="sys-apps/lsb-release - sys-devel/gettext" -RDEPEND=">=app-admin/mmc-web-core-${PV} - !app-admin/mmc-web-bulkimport - !app-admin/mmc-web-mail - !app-admin/mmc-web-network - !app-admin/mmc-web-proxy - !app-admin/mmc-web-samba - !app-admin/mmc-web-userquota" -SLOT="0" - -need_php_httpd - -S="${WORKDIR}/mds-${MY_PV}/web" - -src_install() { - emake DESTDIR="${D}" PREFIX=/usr install || die "install failed" -} diff --git a/app-admin/mds-web-core/metadata.xml b/app-admin/mds-web-core/metadata.xml deleted file mode 100644 index 6589d3b..0000000 --- a/app-admin/mds-web-core/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - -no-herd - - mario.fetka@gmail.com - - diff --git a/app-admin/mmc-core/files/mmc-core-3.0.0-install-target-1.patch b/app-admin/mmc-core/files/mmc-core-3.0.0-install-target-1.patch deleted file mode 100644 index 90566da..0000000 --- a/app-admin/mmc-core/files/mmc-core-3.0.0-install-target-1.patch +++ /dev/null @@ -1,84 +0,0 @@ -Submitted By: Mario Fetka (geos_one) (mario dot fetka at gmail dot com) -Date: 2010-05-01 -Initial Package Version: 3.0.0 -Origin: me -Upstream Status: unknown -Description: split install target - -diff -Naur mmc-core-3.0.0.orig/agent/Makefile mmc-core-3.0.0/agent/Makefile ---- mmc-core-3.0.0.orig/agent/Makefile 2010-04-29 12:01:45.000000000 +0000 -+++ mmc-core-3.0.0/agent/Makefile 2010-05-01 10:04:57.802871100 +0000 -@@ -52,37 +52,56 @@ - @echo "Nothing to do" - - # Install everything --install: -+install: install_py install_lib_backup install_sbin install_bin install_cfg - @# Install directories - @echo "" - @echo "Move old configuration files to $(DESTDIR)$(ETCDIR)$(BACKUP)" - -[ -d $(DESTDIR)$(ETCDIR) ] && mv -f $(DESTDIR)$(ETCDIR) $(DESTDIR)$(ETCDIR)$(BACKUP) -+ -+install_nopy: install_lib_backup install_sbin install_bin install_cfg -+ @# Install directories - @echo "" -- @echo "Creating directories..." -- $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(SBINDIR) -- $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(BINDIR) -- $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(LIBDIR) -- $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(LIBDIRBACKUP) -- $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(ETCDIR) -- $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(PYTHON_PREFIX) -+ # @echo "Move old configuration files to $(DESTDIR)$(ETCDIR)$(BACKUP)" -+ # -[ -d $(DESTDIR)$(ETCDIR) ] && mv -f $(DESTDIR)$(ETCDIR) $(DESTDIR)$(ETCDIR)$(BACKUP) -+ - -+install_py: -+ @echo "" -+ @echo "Creating python directories..." -+ $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(PYTHON_PREFIX) - @echo "" - @echo "Install python code in $(DESTDIR)$(PYTHON_PREFIX)" - $(PYTHON) setup.py install --no-compile --prefix $(DESTDIR)$(PYTHON_PREFIX) - -+install_lib_backup: -+ @echo "" -+ @echo "Creating lib backup directories..." -+ $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(LIBDIRBACKUP) - @echo "" - @echo "Install LIBDIRBACKUP in $(DESTDIR)$(LIBDIRBACKUP)" - - $(INSTALL) $(LIBFILESBACKUP) -m 755 -o root -g root $(DESTDIR)$(LIBDIRBACKUP) - -+install_sbin: -+ @echo "" -+ @echo "Creating sbin directories..." -+ $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(SBINDIR) - @echo "" - @echo "Install SBINFILES in $(DESTDIR)$(SBINDIR)" - $(INSTALL) $(SBINFILES) -m 755 -o root -g root $(DESTDIR)$(SBINDIR) - -+install_bin: -+ @echo "" -+ @echo "Creating bin directories..." -+ $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(BINDIR) - @echo "" - @echo "Install BINFILES in $(DESTDIR)$(BINDIR)" - $(INSTALL) $(BINFILES) -m 755 -o root -g root $(DESTDIR)$(BINDIR) - -+install_cfg: -+ @echo "" -+ @echo "Creating config directories..." -+ $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(ETCDIR) - @echo "" - @echo "Install CONFILES in $(DESTDIR)$(ETCDIR)" - $(INSTALL) -d -m 755 -o root -g root $(DESTDIR)$(ETCDIR)/agent -@@ -97,7 +116,7 @@ - $(SED) -i 's!##SBINDIR##!$(SBINDIR)!' $(DESTDIR)$(INITDIR)/mmc-agent - - ifndef NOCHECKPASSWORD -- $(MAKE) -C openldap-check-password install CC=$(CC) INSTALL=$(INSTALL) -+ $(MAKE) -C openldap-check-password install CC=$(CC) INSTALL=$(INSTALL) DESTDIR=$(DESTDIR) - endif - - include common.mk diff --git a/app-admin/mmc-core/files/mmc-core-3.0.0-kerberos-1.patch b/app-admin/mmc-core/files/mmc-core-3.0.0-kerberos-1.patch deleted file mode 100644 index 9920620..0000000 --- a/app-admin/mmc-core/files/mmc-core-3.0.0-kerberos-1.patch +++ /dev/null @@ -1,401 +0,0 @@ -Submitted By: Mario Fetka (geos_one) (mario dot fetka at gmail dot com) -Date: 2010-05-01 -Initial Package Version: 2.3.1 -Origin: http://mds.mandriva.org/ticket/144 -Upstream Status: unknown -Description: add support for kerberos attributes - -diff -Naur mmc-core-3.0.0.orig/agent/conf/plugins/kerberos.ini mmc-core-3.0.0/agent/conf/plugins/kerberos.ini ---- mmc-core-3.0.0.orig/agent/conf/plugins/kerberos.ini 1970-01-01 00:00:00.000000000 +0000 -+++ mmc-core-3.0.0/agent/conf/plugins/kerberos.ini 2010-05-01 12:06:44.124872375 +0000 -@@ -0,0 +1,5 @@ -+[main] -+disable = 0 -+ -+[kerberos] -+realm = EXAMPLE.COM -diff -Naur mmc-core-3.0.0.orig/agent/contrib/ldap/krb5-kdc.schema mmc-core-3.0.0/agent/contrib/ldap/krb5-kdc.schema ---- mmc-core-3.0.0.orig/agent/contrib/ldap/krb5-kdc.schema 1970-01-01 00:00:00.000000000 +0000 -+++ mmc-core-3.0.0/agent/contrib/ldap/krb5-kdc.schema 2010-05-01 12:06:44.135874159 +0000 -@@ -0,0 +1,136 @@ -+# $Id: krb5-kdc.schema,v 1.1 2004-03-22 17:25:05 quanah Exp $ -+# Definitions for a Kerberos V KDC schema -+ -+# OID Base is iso(1) org(3) dod(6) internet(1) private(4) enterprise(1) padl(5322) kdcSchema(10) -+# -+# Syntaxes are under 1.3.6.1.4.1.5322.10.0 -+# Attributes types are under 1.3.6.1.4.1.5322.10.1 -+# Object classes are under 1.3.6.1.4.1.5322.10.2 -+ -+# Syntax definitions -+ -+#krb5KDCFlagsSyntax SYNTAX ::= { -+# WITH SYNTAX INTEGER -+#-- initial(0), -- require as-req -+#-- forwardable(1), -- may issue forwardable -+#-- proxiable(2), -- may issue proxiable -+#-- renewable(3), -- may issue renewable -+#-- postdate(4), -- may issue postdatable -+#-- server(5), -- may be server -+#-- client(6), -- may be client -+#-- invalid(7), -- entry is invalid -+#-- require-preauth(8), -- must use preauth -+#-- change-pw(9), -- change password service -+#-- require-hwauth(10), -- must use hwauth -+#-- ok-as-delegate(11), -- as in TicketFlags -+#-- user-to-user(12), -- may use user-to-user auth -+#-- immutable(13) -- may not be deleted -+# ID { 1.3.6.1.4.1.5322.10.0.1 } -+#} -+ -+#krb5PrincipalNameSyntax SYNTAX ::= { -+# WITH SYNTAX OCTET STRING -+#-- String representations of distinguished names as per RFC1510 -+# ID { 1.3.6.1.4.1.5322.10.0.2 } -+#} -+ -+# Attribute type definitions -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.1 -+ NAME 'krb5PrincipalName' -+ DESC 'The unparsed Kerberos principal name' -+ EQUALITY caseExactIA5Match -+ SINGLE-VALUE -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.2 -+ NAME 'krb5KeyVersionNumber' -+ EQUALITY integerMatch -+ SINGLE-VALUE -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.3 -+ NAME 'krb5MaxLife' -+ EQUALITY integerMatch -+ SINGLE-VALUE -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.4 -+ NAME 'krb5MaxRenew' -+ EQUALITY integerMatch -+ SINGLE-VALUE -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.5 -+ NAME 'krb5KDCFlags' -+ EQUALITY integerMatch -+ SINGLE-VALUE -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.6 -+ NAME 'krb5EncryptionType' -+ EQUALITY integerMatch -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.7 -+ NAME 'krb5ValidStart' -+ EQUALITY generalizedTimeMatch -+ ORDERING generalizedTimeOrderingMatch -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 -+ SINGLE-VALUE ) -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.8 -+ NAME 'krb5ValidEnd' -+ EQUALITY generalizedTimeMatch -+ ORDERING generalizedTimeOrderingMatch -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 -+ SINGLE-VALUE ) -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.9 -+ NAME 'krb5PasswordEnd' -+ EQUALITY generalizedTimeMatch -+ ORDERING generalizedTimeOrderingMatch -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 -+ SINGLE-VALUE ) -+ -+# this is temporary; keys will eventually -+# be child entries or compound attributes. -+attributetype ( 1.3.6.1.4.1.5322.10.1.10 -+ NAME 'krb5Key' -+ DESC 'Encoded ASN1 Key as an octet string' -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 ) -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.11 -+ NAME 'krb5PrincipalRealm' -+ DESC 'Distinguished name of krb5Realm entry' -+ SUP distinguishedName ) -+ -+attributetype ( 1.3.6.1.4.1.5322.10.1.12 -+ NAME 'krb5RealmName' -+ EQUALITY octetStringMatch -+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} ) -+ -+# Object class definitions -+ -+objectclass ( 1.3.6.1.4.1.5322.10.2.1 -+ NAME 'krb5Principal' -+ SUP top -+ AUXILIARY -+ MUST ( krb5PrincipalName ) -+ MAY ( cn $ krb5PrincipalRealm ) ) -+ -+objectclass ( 1.3.6.1.4.1.5322.10.2.2 -+ NAME 'krb5KDCEntry' -+ SUP krb5Principal -+ AUXILIARY -+ MUST ( krb5KeyVersionNumber ) -+ MAY ( krb5ValidStart $ krb5ValidEnd $ krb5PasswordEnd $ -+ krb5MaxLife $ krb5MaxRenew $ krb5KDCFlags $ -+ krb5EncryptionType $ krb5Key ) ) -+ -+objectclass ( 1.3.6.1.4.1.5322.10.2.3 -+ NAME 'krb5Realm' -+ SUP top -+ AUXILIARY -+ MUST ( krb5RealmName ) ) -+ -diff -Naur mmc-core-3.0.0.orig/agent/mmc/plugins/base/__init__.py mmc-core-3.0.0/agent/mmc/plugins/base/__init__.py ---- mmc-core-3.0.0.orig/agent/mmc/plugins/base/__init__.py 2010-05-01 12:06:18.101620060 +0000 -+++ mmc-core-3.0.0/agent/mmc/plugins/base/__init__.py 2010-05-01 12:06:44.129620791 +0000 -@@ -1286,6 +1286,10 @@ - attrs = [] - attrib = self.l.search_s(dn, ldap.SCOPE_BASE) - c, attrs = attrib[0] -+ # kerberos -> remove binary key from attrs -+ try: attrs.pop('krb5Key') -+ except: pass -+ # - newattrs = copy.deepcopy(attrs) - return newattrs - -@@ -1315,6 +1319,10 @@ - attrib = self.l.search_s(cn, ldap.SCOPE_BASE, attrlist = myattrlist) - - c,attrs=attrib[0] -+ # kerberos -> remove binary key from attrs -+ try: attrs.pop('krb5Key') -+ except: pass -+ # - - newattrs = copy.deepcopy(attrs) - -@@ -1479,8 +1487,13 @@ - @rtype: list - """ - if not base: base = self.baseUsersDN -- if (pattern==''): searchFilter = "uid=*" -- else: searchFilter = pattern -+ # kerberos -> search only PosixAccount -+ if (pattern==''): searchFilter = "(&(objectClass=posixAccount)(uid=*))" -+ elif pattern[0] == '(': -+ searchFilter = "(&(objectClass=posixAccount)%s)" % (pattern) -+ else: -+ searchFilter = "(&(objectClass=posixAccount)(%s))" % (pattern) -+ # - monoattrs = ["uid", "sn", "givenName", "mail"] - result_set = self.search(searchFilter, base, monoattrs + ["telephoneNumber", "loginShell", "objectClass"], ldap.SCOPE_ONELEVEL) - -diff -Naur mmc-core-3.0.0.orig/agent/mmc/plugins/kerberos/__init__.py mmc-core-3.0.0/agent/mmc/plugins/kerberos/__init__.py ---- mmc-core-3.0.0.orig/agent/mmc/plugins/kerberos/__init__.py 1970-01-01 00:00:00.000000000 +0000 -+++ mmc-core-3.0.0/agent/mmc/plugins/kerberos/__init__.py 2010-05-01 12:06:44.132623770 +0000 -@@ -0,0 +1,180 @@ -+# -*- coding: utf-8; -*- -+# -+# (c) 2004-2007 Linbox / Free&ALter Soft, http://linbox.com -+# (c) 2007 Mandriva, http://www.mandriva.com/ -+# (c) 2007 Kids-und-Co g.e.V http://www.kids-und-co.de -+# -+# $Id: __init__.py 108 2007-11-21 09:56:21Z iosifb $ -+# -+# This file is part of Mandriva Management Console (MMC). -+# -+# MMC is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# MMC is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with MMC; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ -+import logging -+import ldap.modlist -+import copy -+from mmc.plugins.base import ldapUserGroupControl -+import xmlrpclib -+from mmc.support.errorObj import errorMessage -+from mmc.support.mmcException import * -+from mmc.support import mmctools -+import mmc.plugins.base -+from mmc.support.config import * -+from mmc.plugins.base import ldapUserGroupControl -+ -+VERSION = "2.3.1" -+APIVERSION = "4:2:0" -+REVISION = int("$Rev: 108 $".split(':')[1].strip(' $')) -+ -+def getVersion(): return VERSION -+def getApiVersion(): return APIVERSION -+def getRevision(): return REVISION -+ -+def activate(): -+ """ -+ this function define if the module "base" can be activated. -+ @return: return True if this module can be activate -+ @rtype: boolean -+ """ -+ config = KerberosConfig("kerberos") -+ logger = logging.getLogger() -+ -+ if config.disabled: -+ logger.info("Kerberos plugin disabled by configuration.") -+ return False -+ -+ try: -+ ldapObj = ldapUserGroupControl() -+ except ldap.INVALID_CREDENTIALS: -+ logger.error("Can't bind to LDAP: invalid credentials.") -+ return False -+ -+ # Test if the Kerberos LDAP schema is available in the directory -+ try: -+ schema = ldapObj.getSchema("krb5KDCEntry") -+ if len(schema) <= 0: -+ logger.error("Kerberos schema is not included in LDAP directory"); -+ return False -+ except: -+ logger.exception("invalid schema") -+ return False -+ try: -+ schema = ldapObj.getSchema("krb5Principal") -+ if len(schema) <= 0: -+ logger.error("Kerberos schema is not included in LDAP directory"); -+ return False -+ except: -+ logger.exception("invalid schema") -+ return False -+ """ -+ TODO: Check kerberos database -+ """ -+ return True -+ -+def isKrbUser(uid): -+ return kerberosLdapControl().isKerberosUser(uid) -+ -+def addKrbAttr(uid,password): -+ return kerberosLdapControl().addKerberosAttr(uid,password) -+ -+def delKrbAttr(uid,password): -+ return kerberosLdapControl().delKerberosAttr(uid,password) -+ -+def changePassword(uid,password): -+ return kerberosLdapControl().changePassword(uid, password) -+ -+class KerberosConfig(PluginConfig): -+ def __init__(self,name, conffile = None): -+ PluginConfig.__init__(self,name, conffile = None) -+ self.setDefault() -+ self.readConfig() -+ -+ def readConfig(self): -+ PluginConfig.readConf(self) -+ self.realm = self.get("kerberos", "realm") -+ -+class kerberosLdapControl(mmc.plugins.base.ldapUserGroupControl): -+ -+ def __init__(self, conffile = None, conffilebase = None): -+ mmc.plugins.base.ldapUserGroupControl.__init__(self, conffilebase) -+ self.configKerberos = KerberosConfig("kerberos", conffile) -+ self.realm = self.configKerberos.realm -+ -+ def delKerberosAttr(self,uid,password): -+ # If the password has been encoded in the XML-RPC stream, decode it -+ if isinstance(password, xmlrpclib.Binary): -+ password = str(password) -+ dn = 'uid=' + uid + ',' + self.baseUsersDN -+ s = self.l.search_s(dn, ldap.SCOPE_BASE) -+ c, attr = s[0] -+ old = {} -+ new = {} -+ for key in attr.keys(): old[key.lower()] = attr[key] -+ new = copy.deepcopy(old) -+ # remove krb attributes -+ new.pop('krb5kdcflags') -+ new.pop('krb5principalname') -+ new.pop('krb5keyversionnumber') -+ try: new.pop('krb5key') -+ except KeyError: pass -+ newobjclasses = () -+ for s in new.pop('objectclass'): -+ if s[0:4] == 'krb5': pass -+ else: newobjclasses = newobjclasses + (s,) -+ new['objectclass'] = newobjclasses -+ modlist = ldap.modlist.modifyModlist(old, new) -+ #logger = logging.getLogger() -+ #logger.debug(newobjclasses) -+ #logger.debug(modlist) -+ self.l.modify_s(dn, modlist) -+ mmc.plugins.base.ldapUserGroupControl.changeUserPasswd(self,uid,password) -+ return True -+ -+ def addKerberosAttr(self,uid,password): -+ # If the password has been encoded in the XML-RPC stream, decode it -+ if isinstance(password, xmlrpclib.Binary): -+ password = str(password) -+ dn = 'uid=' + uid + ',' + self.baseUsersDN -+ s = self.l.search_s(dn, ldap.SCOPE_BASE) -+ c, attr = s[0] -+ old = {} -+ new = {} -+ for key in attr.keys(): old[key.lower()] = attr[key] -+ new = copy.deepcopy(old) -+ new['objectclass'] = new['objectclass'] + ['krb5Principal','krb5KDCEntry'] -+ new['userpassword'] = ['{K5Key}'] -+ new['krb5kdcflags'] = ['126'] -+ new['krb5keyversionnumber'] = ['0'] -+ new['krb5principalname'] = [uid+'@' +self.realm] -+ modlist = ldap.modlist.modifyModlist(old, new) -+ self.l.modify_s(dn, modlist) -+ self.l.passwd_s(dn, None, password) -+ return True -+ -+ def isKerberosUser(self,uid): -+ ret = False -+ if self.existUser(uid): ret = "krb5Principal" in self.getDetailedUser(uid)["objectClass"] -+ return ret -+ -+ def changePassword(self,uid,password): -+ # If the password has been encoded in the XML-RPC stream, decode it -+ if isinstance(password, xmlrpclib.Binary): -+ password = str(password) -+ dn = 'uid=' + uid + ',' + self.baseUsersDN -+ self.l.modify_s(dn, [(ldap.MOD_REPLACE,'userPassWord','{K5KEY}')]) -+ self.l.passwd_s(dn, None, password) -+ return True -+ -+ -diff -Naur mmc-core-3.0.0.orig/agent/setup.py mmc-core-3.0.0/agent/setup.py ---- mmc-core-3.0.0.orig/agent/setup.py 2010-05-01 12:06:18.104618663 +0000 -+++ mmc-core-3.0.0/agent/setup.py 2010-05-01 12:08:13.270868725 +0000 -@@ -33,5 +33,6 @@ - maintainer = "Cedric Delfosse", - maintainer_email = "cdelfosse@mandriva.com", - packages = ["mmc", "mmc.support", "mmc.plugins", "mmc.plugins.base", -- "mmc.plugins.ppolicy", "mmc.core", "mmc.core.audit"], -+ "mmc.plugins.ppolicy", "mmc.core", "mmc.core.audit", -+ "mmc.plugins.kerberos"], - ) -diff -Naur mmc-core-3.0.0.orig/conf/plugins/kerberos.ini mmc-core-3.0.0/conf/plugins/kerberos.ini ---- mmc-core-3.0.0.orig/conf/plugins/kerberos.ini 1970-01-01 00:00:00.000000000 +0000 -+++ mmc-core-3.0.0/conf/plugins/kerberos.ini 2010-05-01 12:06:38.209871794 +0000 -@@ -0,0 +1,5 @@ -+[main] -+disable = 0 -+ -+[kerberos] -+realm = EXAMPLE.COM diff --git a/app-admin/mmc-core/files/mmc-core-3.0.1-install-target-1.patch b/app-admin/mmc-core/files/mmc-core-3.0.1-install-target-1.patch deleted file mode 100644 index 4426cc8..0000000 --- a/app-admin/mmc-core/files/mmc-core-3.0.1-install-target-1.patch +++ /dev/null @@ -1,83 +0,0 @@ -Submitted By: Mario Fetka (mario dot fetka at gmail dot com) -Date: 2011-01-21 -Initial Package Version: 3.0.1 -Origin: me -Upstream Status: unknown -Description: split install target - -diff -Naur mmc-core-3.0.1.orig/agent/Makefile mmc-core-3.0.1/agent/Makefile ---- mmc-core-3.0.1.orig/agent/Makefile 2011-01-21 15:34:54.000000000 +0000 -+++ mmc-core-3.0.1/agent/Makefile 2011-01-21 15:50:08.000000000 +0000 -@@ -56,37 +56,55 @@ - @echo "Nothing to do" - - # Install everything --install: -+install: install_py install_lib_backup install_sbin install_bin install_cfg - @# Install directories - @echo "" - @echo "Move old configuration files to $(DESTDIR)$(ETCDIR)$(BACKUP)" - -[ -d $(DESTDIR)$(ETCDIR) ] && mv -f $(DESTDIR)$(ETCDIR) $(DESTDIR)$(ETCDIR)$(BACKUP) -+ -+install_nopy: install_lib_backup install_sbin install_bin install_cfg -+ @# Install directories - @echo "" -- @echo "Creating directories..." -- $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(SBINDIR) -- $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(BINDIR) -- $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(LIBDIR) -- $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(LIBDIRBACKUP) -- $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(ETCDIR) -- $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(PYTHON_PREFIX) -+ # @echo "Move old configuration files to $(DESTDIR)$(ETCDIR)$(BACKUP)" -+ # -[ -d $(DESTDIR)$(ETCDIR) ] && mv -f $(DESTDIR)$(ETCDIR) $(DESTDIR)$(ETCDIR)$(BACKUP) - -+install_py: -+ @echo "" -+ @echo "Creating python directories..." -+ $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(PYTHON_PREFIX) - @echo "" - @echo "Install python code in $(DESTDIR)$(PYTHON_PREFIX)" - $(PYTHON) setup.py install --no-compile --prefix $(DESTDIR)$(PYTHON_PREFIX) - -+install_lib_backup: -+ @echo "" -+ @echo "Creating lib backup directories..." -+ $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(LIBDIRBACKUP) - @echo "" - @echo "Install LIBDIRBACKUP in $(DESTDIR)$(LIBDIRBACKUP)" - - $(INSTALL) -m 755 -o $(OWNER) -g $(OGROUP) $(LIBFILESBACKUP) $(DESTDIR)$(LIBDIRBACKUP) - -+install_sbin: -+ @echo "" -+ @echo "Creating sbin directories..." -+ $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(SBINDIR) - @echo "" - @echo "Install SBINFILES in $(DESTDIR)$(SBINDIR)" - $(INSTALL) -m 755 -o $(OWNER) -g $(OGROUP) $(SBINFILES) $(DESTDIR)$(SBINDIR) - -+install_bin: -+ @echo "" -+ @echo "Creating bin directories..." -+ $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(BINDIR) - @echo "" - @echo "Install BINFILES in $(DESTDIR)$(BINDIR)" - $(INSTALL) -m 755 -o $(OWNER) -g $(OGROUP) $(BINFILES) $(DESTDIR)$(BINDIR) - -+install_cfg: -+ @echo "" -+ @echo "Creating config directories..." -+ $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(ETCDIR) - @echo "" - @echo "Install CONFILES in $(DESTDIR)$(ETCDIR)" - $(INSTALL) -d -m 755 -o $(OWNER) -g $(OGROUP) $(DESTDIR)$(ETCDIR)/agent -@@ -99,7 +117,7 @@ - $(INSTALL) -m 755 -o $(OWNER) -g $(OGROUP) init.d/mmc-agent $(DESTDIR)$(INITDIR) - - ifndef NOCHECKPASSWORD -- $(MAKE) -C openldap-check-password install CC=$(CC) INSTALL=$(INSTALL) -+ $(MAKE) -C openldap-check-password install CC=$(CC) INSTALL=$(INSTALL) DESTDIR=$(DESTDIR) - endif - - include common.mk diff --git a/app-admin/mmc-core/mmc-core-3.0.0.ebuild b/app-admin/mmc-core/mmc-core-3.0.0.ebuild deleted file mode 100644 index ae3e939..0000000 --- a/app-admin/mmc-core/mmc-core-3.0.0.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -SUPPORT_PYTHON_ABIS="1" - -inherit eutils distutils - -MY_P="${P/_p/-}" -MY_PV="${PV/_p*/}" - -DESCRIPTION="The MMC Agent and its Core Python plugins." -HOMEPAGE="http://mds.mandriva.org/" -SRC_URI="http://mds.mandriva.org/pub/mmc-core/sources//${PV}/${P}.tar.gz" - -LICENSE="GPL-2" -KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" -IUSE="" - -SLOT="0" - -RDEPEND=">=dev-python/twisted-web-0.7.0 - >=dev-python/python-ldap-2.2.1 - !app-admin/mmc-agent" - -DEPEND="sys-apps/lsb-release" - -S="${WORKDIR}/${PN}-${MY_PV}/agent" - -src_prepare() { - epatch "${FILESDIR}"/${PN}-3.0.0-install-target-1.patch - epatch "${FILESDIR}"/${PN}-3.0.0-kerberos-1.patch - distutils_src_prepare -} - -# from marienz's setuptools.eclass: -src_install() { - emake install_nopy PREFIX=/usr DESTDIR=${D} NOCHECKPASSWORD="1" - distutils_src_install - newinitd "${FILESDIR}"/mmc-agent.initd mmc-agent - keepdir /var/log/mmc -} - -pkg_postinst() { - elog "To disable some plugin in your mmc environments, you have to set" - elog "disable to 1 in /etc/mmc/plugins/*.ini" - elog "(one config file per service)" - elog "You can't disable the base plugin." -} diff --git a/app-admin/mmc-core/mmc-core-3.0.1.ebuild b/app-admin/mmc-core/mmc-core-3.0.1.ebuild deleted file mode 100644 index 2b48115..0000000 --- a/app-admin/mmc-core/mmc-core-3.0.1.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" -SUPPORT_PYTHON_ABIS="1" - -inherit eutils distutils - -MY_P="${P/_p/-}" -MY_PV="${PV/_p*/}" - -DESCRIPTION="The MMC Agent and its Core Python plugins." -HOMEPAGE="http://mds.mandriva.org/" -SRC_URI="http://mds.mandriva.org/pub/mmc-core/sources//${PV}/${P}.tar.gz" - -LICENSE="GPL-2" -KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" -IUSE="" - -SLOT="0" - -RDEPEND=">=dev-python/twisted-web-0.7.0 - >=dev-python/python-ldap-2.2.1 - !app-admin/mmc-agent" - -DEPEND="sys-apps/lsb-release" - -S="${WORKDIR}/${PN}-${MY_PV}/agent" - -src_prepare() { - epatch "${FILESDIR}"/${PN}-3.0.1-install-target-1.patch - epatch "${FILESDIR}"/${PN}-3.0.0-kerberos-1.patch - distutils_src_prepare -} - -# from marienz's setuptools.eclass: -src_install() { - emake install_nopy PREFIX=/usr DESTDIR=${D} NOCHECKPASSWORD="1" - distutils_src_install - newinitd "${FILESDIR}"/mmc-agent.initd mmc-agent - keepdir /var/log/mmc -} - -pkg_postinst() { - elog "To disable some plugin in your mmc environments, you have to set" - elog "disable to 1 in /etc/mmc/plugins/*.ini" - elog "(one config file per service)" - elog "You can't disable the base plugin." -} diff --git a/app-admin/mmc-web-core/ChangeLog b/app-admin/mmc-web-core/ChangeLog deleted file mode 100644 index 9825a0a..0000000 --- a/app-admin/mmc-web-core/ChangeLog +++ /dev/null @@ -1,65 +0,0 @@ -# ChangeLog for app-admin/mmc-web-base -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: $ - - 01 May 2010; Mario Fetka - mmc-web-core-3.0.0.ebuild, +metadata.xml: - add block on old packages - - 18 Feb 2010; Mario Fetka - mmc-web-base-2.3.2.ebuild, mmc-web-base-2.3.2-r1.ebuild, - mmc-web-base-2.3.2-r2.ebuild, mmc-web-base-2.3.2_p642.ebuild: - add arm keyword - - 29 Jan 2010; Mario Fetka - mmc-web-base-2.3.2_p642.ebuild, - +files/mmc-web-base-2.3.2-bulkimport-1.patch: - add bulkimport - - 05 Dec 2009; Mario Fetka - +mmc-web-base-2.3.2_p642.ebuild, +files/mmc-web-base-2.3.2-gentoo-3.patch: - use special pulse2 version - -*mmc-web-base-2.3.2-r2 (03 Sep 2009) - - 03 Sep 2009; Mario Fetka - +mmc-web-base-2.3.2-r2.ebuild: - add missing dependencies - -* mmc-web-base-2.3.2-r1 (17 Apr 2009) - - 17 Apr 2009; Mario Fetka mmc-web-base-2.3.2-r1: - EAPI2 and test cleanup - - 16 Apr 2009; Mario Fetka - mmc-web-base-2.3.2.ebuild: - add die to do* - - 08 Apr 2009; Mario Fetka - -mmc-web-base-2.3.1.ebuild, mmc-web-base-2.3.2.ebuild: - correct KEYWORDS - - 07 Apr 2009; Mario Fetka - -files/postinstall-en-2.3.txt: - delete not reqired files - - 13 Mar 2009; Mario Fetka - mmc-web-base-2.3.2.ebuild: - new dependencies on gettext - - 17 Feb 2009; Mario Fetka - +files/mmc-web-base-2.3.2-gentoo-2.patch, mmc-web-base-2.3.2.ebuild: - disbale php_flag - - 17 Feb 2009; Mario Fetka - mmc-web-base-2.3.2.ebuild: - move apache mmc.conf after php.conf - - 17 Feb 2009; Mario Fetka ChangeLog: - update to new system - - 17 Feb 2009; Mario Fetka - +files/mmc-web-base-2.3.2-gentoo-1.patch, +metadata.xml, - +mmc-web-base-2.3.2.ebuild: - New design for mmc web packages - diff --git a/app-admin/mmc-web-core/Manifest b/app-admin/mmc-web-core/Manifest deleted file mode 100644 index 8afc39b..0000000 --- a/app-admin/mmc-web-core/Manifest +++ /dev/null @@ -1,7 +0,0 @@ -AUX mmc-core-3.0.0-gentoo-1.patch 1140 RMD160 686bb0496e69528321eb74dca015440053968761 SHA1 cdc1e3f19463baa1b09b0c78e10d664d2f85de97 SHA256 15cd743bea160c7eeca5a777d5dc09f1ab39c5d236c0b98bd7ccf9fd63f79584 -DIST mmc-core-3.0.0.tar.gz 645109 RMD160 ca519b20ebf011ce78533ce0faec61dd48af35cf SHA1 927f4a8a1e335d97d3af86bb528c7c15960db8c3 SHA256 6aa9a8020ed352cb3c4f6e9c808802e1959fd6d6415d3b66e77453edc4ad9f49 -DIST mmc-core-3.0.1.tar.gz 655442 RMD160 deebc610b6bd628b8cdeb4b211da572fb450596c SHA1 9134edf1ec5f9ff6329432216b582afff01f749f SHA256 f983dcc2fdbf47171f3023435cc0f011938ab8288e424f4665bf885a743cbbb6 -EBUILD mmc-web-core-3.0.0.ebuild 1021 RMD160 cba2e9d9df6e252c6164326d0067618ab3efe139 SHA1 6cccf2293ff84f09541155722553ff9eae88772e SHA256 aa9e49fea9c6732f537eff72f262c361d434ec5d3146eb8027facf8e5007bec6 -EBUILD mmc-web-core-3.0.1.ebuild 1021 RMD160 cba2e9d9df6e252c6164326d0067618ab3efe139 SHA1 6cccf2293ff84f09541155722553ff9eae88772e SHA256 aa9e49fea9c6732f537eff72f262c361d434ec5d3146eb8027facf8e5007bec6 -MISC ChangeLog 2009 RMD160 e1d65eb41962f5e6f106b38e026e282807868606 SHA1 f43c7652bd0a80f41c01a7e2e339a73e9ece3e7a SHA256 543f3fbe77f0e9234521715b46b84ef7d818a90d552b7f2c11587c437899d003 -MISC metadata.xml 226 RMD160 bebcbe7a5e3d2be83c25e006192f71ebf45abb14 SHA1 ec2b713fc2363b8c51e9c164d0802eeb59d9d296 SHA256 a9d3f7df2362a9a7ddcbe05c5d97d726eeb4bab135b21643508149a08bf6a2b2 diff --git a/app-admin/mmc-web-core/files/mmc-core-3.0.0-gentoo-1.patch b/app-admin/mmc-web-core/files/mmc-core-3.0.0-gentoo-1.patch deleted file mode 100644 index 9dd5487..0000000 --- a/app-admin/mmc-web-core/files/mmc-core-3.0.0-gentoo-1.patch +++ /dev/null @@ -1,34 +0,0 @@ -Submitted By: Mario Fetka (mario dot fetka at gmail dot com) -Date: 2009-12-05 -Initial Package Version: 2.3.2 -Origin: me -Upstream Status: gentoo specific -Description: wrap mmc alias in define and disable php_flag - -diff -Naur mmc-web-base-2.3.2.orig/confs/apache/mmc.conf.tmpl mmc-web-base-2.3.2/confs/apache/mmc.conf.tmpl ---- mmc-core-3.0.0.orig/web/confs/apache/mmc.conf.tmpl 2009-12-05 06:59:51.263532054 +0000 -+++ mmc-web-base-3.0.0/web/confs/apache/mmc.conf.tmpl 2009-12-05 07:05:06.997531963 +0000 -@@ -1,11 +1,12 @@ --### Add an alias /mmc on www server root --Alias /mmc ###DATADIR### -- --### Allow access to lmc web directory to everyone -- -- AllowOverride None -- Order allow,deny -- allow from all -- php_flag short_open_tag on -- php_flag magic_quotes_gpc on -- -+ -+ ### Add an alias /mmc on www server root -+ Alias /mmc ###DATADIR### -+ ### Allow access to lmc web directory to everyone -+ -+ AllowOverride None -+ Order allow,deny -+ allow from all -+ ### php_flag short_open_tag on -+ ### php_flag magic_quotes_gpc on -+ -+ diff --git a/app-admin/mmc-web-core/metadata.xml b/app-admin/mmc-web-core/metadata.xml deleted file mode 100644 index 6589d3b..0000000 --- a/app-admin/mmc-web-core/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - -no-herd - - mario.fetka@gmail.com - - diff --git a/app-admin/mmc-web-core/mmc-web-core-3.0.0.ebuild b/app-admin/mmc-web-core/mmc-web-core-3.0.0.ebuild deleted file mode 100644 index 11e400d..0000000 --- a/app-admin/mmc-web-core/mmc-web-core-3.0.0.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -inherit eutils depend.apache depend.php - -MY_P="${P/_p/-}" -MY_PV="${PV/_p*/}" - -DESCRIPTION="Mandriva Directory Server - Identity and network services management made easy !" -HOMEPAGE="http://mds.mandriva.org/" -SRC_URI="http://mds.mandriva.org/pub/mmc-core/sources/${PV}/mmc-core-${PV}.tar.gz" - -LICENSE="GPL-2" -KEYWORDS="~amd64 ~arm ~x86 ~x86-fbsd" -IUSE="" -DEPEND="sys-apps/lsb-release - sys-devel/gettext" -RDEPEND=">=app-admin/mmc-core-${PV} - dev-lang/php[ldap,xmlrpc,nls] - virtual/cdrtools - !app-admin/mmc-web-base" -SLOT="0" - -need_php_httpd - -S="${WORKDIR}/mmc-core-${PV}/web" - -src_prepare() { - epatch "${FILESDIR}"/mmc-core-3.0.0-gentoo-1.patch -} - -src_install() { - emake DESTDIR="${D}" PREFIX=/usr HTTPDUSER=apache install || die "install failed" - insinto /etc/mmc - doins confs/mmc.ini || die "ini install failed" - - insinto /etc/apache2/modules.d - newins confs/apache/mmc.conf 90_mmc.conf -} diff --git a/app-admin/mmc-web-core/mmc-web-core-3.0.1.ebuild b/app-admin/mmc-web-core/mmc-web-core-3.0.1.ebuild deleted file mode 100644 index 11e400d..0000000 --- a/app-admin/mmc-web-core/mmc-web-core-3.0.1.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -inherit eutils depend.apache depend.php - -MY_P="${P/_p/-}" -MY_PV="${PV/_p*/}" - -DESCRIPTION="Mandriva Directory Server - Identity and network services management made easy !" -HOMEPAGE="http://mds.mandriva.org/" -SRC_URI="http://mds.mandriva.org/pub/mmc-core/sources/${PV}/mmc-core-${PV}.tar.gz" - -LICENSE="GPL-2" -KEYWORDS="~amd64 ~arm ~x86 ~x86-fbsd" -IUSE="" -DEPEND="sys-apps/lsb-release - sys-devel/gettext" -RDEPEND=">=app-admin/mmc-core-${PV} - dev-lang/php[ldap,xmlrpc,nls] - virtual/cdrtools - !app-admin/mmc-web-base" -SLOT="0" - -need_php_httpd - -S="${WORKDIR}/mmc-core-${PV}/web" - -src_prepare() { - epatch "${FILESDIR}"/mmc-core-3.0.0-gentoo-1.patch -} - -src_install() { - emake DESTDIR="${D}" PREFIX=/usr HTTPDUSER=apache install || die "install failed" - insinto /etc/mmc - doins confs/mmc.ini || die "ini install failed" - - insinto /etc/apache2/modules.d - newins confs/apache/mmc.conf 90_mmc.conf -}