diff --git a/desktop/pisilinux/service-manager/actions.py b/desktop/pisilinux/service-manager/actions.py new file mode 100644 index 0000000000..c591c9e858 --- /dev/null +++ b/desktop/pisilinux/service-manager/actions.py @@ -0,0 +1,17 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pythonmodules +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +def build(): + pisitools.dosed("data/service-manager.desktop", "NotShowIn=KDE;", "") + shelltools.system("python setup.py build") + +def install(): + pythonmodules.install() + diff --git a/desktop/pisilinux/service-manager/files/flag-yellow.png b/desktop/pisilinux/service-manager/files/flag-yellow.png new file mode 100644 index 0000000000..1306f8eed6 Binary files /dev/null and b/desktop/pisilinux/service-manager/files/flag-yellow.png differ diff --git a/desktop/pisilinux/service-manager/files/pds.patch b/desktop/pisilinux/service-manager/files/pds.patch new file mode 100644 index 0000000000..a7f2305e02 --- /dev/null +++ b/desktop/pisilinux/service-manager/files/pds.patch @@ -0,0 +1,433 @@ +diff -Nuar service-manager-3.0.0.orig//setup.py service-manager-3.0.0/setup.py +--- service-manager-3.0.0.orig//setup.py 2011-03-21 11:09:29.708000015 +0200 ++++ service-manager-3.0.0/setup.py 2011-03-21 11:10:08.152000017 +0200 +@@ -26,6 +26,12 @@ + from distutils.command.install import install + + PROJECT = about.appName ++FOR_KDE_4=False ++ ++if 'kde4' in sys.argv: ++ sys.argv.remove('kde4') ++ FOR_KDE_4=True ++ print 'UI files will be created for KDE 4.. ' + + def makeDirs(directory): + if not os.path.exists(directory): +@@ -47,8 +53,14 @@ + + # Collect UI files + filelist = [] +- for filename in glob.glob1("ui", "*.ui"): +- os.system("pykde4uic -o ui/ui_%s.py ui/%s" % (filename.split(".")[0], filename)) ++ # UI files for kde4 ++ if FOR_KDE_4: ++ for filename in glob.glob1("ui", "*.ui"): ++ os.system("pykde4uic -o ui/ui_%s.py ui/%s" % (filename.split(".")[0], filename)) ++ #UI files for pure-qt ++ else : ++ for filename in glob.glob1("ui", "*.ui"): ++ os.system("pyuic4 -o ui/ui_%s.py ui/%s -g %s" % (filename.split(".")[0], filename, PROJECT)) + + # Collect headers for desktop files + for filename in glob.glob("data/*.desktop.in"): +@@ -104,8 +116,15 @@ + os.system("intltool-merge -d po %s %s" % (filename, filename[:-3])) + + print "Generating UIs..." +- for filename in glob.glob1("ui", "*.ui"): +- os.system("pykde4uic -o build/servicemanager/ui_%s.py ui/%s" % (filename.split(".")[0], filename)) ++ # Collect UI for kde4 ++ if FOR_KDE_4: ++ for filename in glob.glob1("ui", "*.ui"): ++ os.system("pykde4uic -o build/servicemanager/ui_%s.py ui/%s" % (filename.split(".")[0], filename)) ++ # Collect UI for pure-qt ++ else: ++ for filename in glob.glob1("ui", "*.ui"): ++ os.system("pyuic4 -o build/servicemanager/ui_%s.py ui/%s -g %s" % (filename.split(".")[0], filename, PROJECT)) ++ + + print "Generating RCs..." + for filename in glob.glob1("data", "*.qrc"): +@@ -128,9 +147,13 @@ + bin_dir = "/usr/bin" + + locale_dir = os.path.join(root_dir, "locale") +- apps_dir = os.path.join(root_dir, "applications/kde4") +- services_dir = os.path.join(root_dir, "kde4/services") +- project_dir = os.path.join(root_dir, "kde4/apps", PROJECT) ++ if FOR_KDE_4: ++ apps_dir = os.path.join(root_dir, "applications/kde4") ++ services_dir = os.path.join(root_dir, "kde4/services") ++ project_dir = os.path.join(root_dir, "kde4/apps", PROJECT) ++ else: ++ apps_dir = os.path.join(root_dir, "applications") ++ project_dir = os.path.join(root_dir, PROJECT) + + # Make directories + print "Making directories..." +@@ -138,13 +161,15 @@ + makeDirs(locale_dir) + makeDirs(apps_dir) + makeDirs(project_dir) +- makeDirs(services_dir) ++ if FOR_KDE_4: ++ makeDirs(services_dir) + + # Install desktop files + print "Installing desktop files..." + + shutil.copy("data/%s.desktop" % PROJECT, apps_dir) +- shutil.copy("data/kcm_%s.desktop" % PROJECT, services_dir) ++ if FOR_KDE_4: ++ shutil.copy("data/kcm_%s.desktop" % PROJECT, services_dir) + shutil.rmtree('build/data') + + # Install codes +@@ -192,14 +217,19 @@ + bin_dir = "/usr/bin" + + locale_dir = os.path.join(root_dir, "locale") +- apps_dir = os.path.join(root_dir, "applications/kde4") +- services_dir = os.path.join(root_dir, "kde4/services") +- project_dir = os.path.join(root_dir, "kde4/apps", PROJECT) ++ if FOR_KDE_4: ++ apps_dir = os.path.join(root_dir, "applications/kde4") ++ services_dir = os.path.join(root_dir, "kde4/services") ++ project_dir = os.path.join(root_dir, "kde4/apps", PROJECT) ++ else: ++ apps_dir = os.path.join(root_dir, "applications") ++ project_dir = os.path.join(root_dir, PROJECT) + + print 'Uninstalling ...' + remove(project_dir) + remove(apps_dir +"/%s.desktop" % PROJECT) +- remove(services_dir +"/kcm_%s.desktop" % PROJECT) ++ if FOR_KDE_4: ++ remove(services_dir +"/kcm_%s.desktop" % PROJECT) + for filename in glob.glob1('po', '*.po'): + lang = filename.rsplit(".", 1)[0] + remove(os.path.join(locale_dir, "%s/LC_MESSAGES" % lang, "%s.mo" % PROJECT)) +diff -Nuar service-manager-3.0.0.orig//src/servicemanager/about.py service-manager-3.0.0/src/servicemanager/about.py +--- service-manager-3.0.0.orig//src/servicemanager/about.py 2011-03-21 11:09:29.711000015 +0200 ++++ service-manager-3.0.0/src/servicemanager/about.py 2011-03-21 11:10:08.152000017 +0200 +@@ -11,29 +11,35 @@ + # Please read the COPYING file. + # + +-# PyKDE4 Stuff +-from PyKDE4.kdecore import KAboutData, ki18n, ki18nc +- +-PACKAGE = "Service Manager" ++# PDS Stuff ++import context as ctx + + # Application Data ++PACKAGE = "Service Manager" + appName = "service-manager" + modName = "servicemanager" +-programName = ki18n(PACKAGE) + version = "3.0.0" +-description = ki18n(PACKAGE) +-license = KAboutData.License_GPL +-copyright = ki18n("(c) 2009-2010 TUBITAK/UEKAE") +-text = ki18n(None) + homePage = "http://developer.pardus.org.tr/projects/service-manager" + bugEmail = "bugs@pardus.org.tr" ++icon = "flag-yellow" + catalog = appName +-aboutData = KAboutData(appName, catalog, programName, version, description, license, copyright, text, homePage, bugEmail) + +-# Authors +-aboutData.addAuthor(ki18n("Gökmen Göksel"), ki18n("Current Maintainer")) +-aboutData.addAuthor(ki18n("Bahadır Kandemir"), ki18n("COMAR Author")) +-aboutData.setTranslator(ki18nc("NAME OF TRANSLATORS", "Your names"), ki18nc("EMAIL OF TRANSLATORS", "Your emails")) ++if ctx.Pds.session == ctx.pds.Kde4: ++ ++ # PyKDE4 Stuff ++ from PyKDE4.kdecore import KAboutData, ki18n, ki18nc ++ ++ programName = ki18n(PACKAGE) ++ description = ki18n(PACKAGE) ++ license = KAboutData.License_GPL ++ copyright = ki18n("(c) 2009-2010 TUBITAK/UEKAE") ++ text = ki18n(None) ++ aboutData = KAboutData(appName, catalog, programName, version, description, license, copyright, text, homePage, bugEmail) ++ ++ # Authors ++ aboutData.addAuthor(ki18n("Gökmen Göksel"), ki18n("Current Maintainer")) ++ aboutData.addAuthor(ki18n("Bahadır Kandemir"), ki18n("COMAR Author")) ++ aboutData.setTranslator(ki18nc("NAME OF TRANSLATORS", "Your names"), ki18nc("EMAIL OF TRANSLATORS", "Your emails")) + +-# Use this if icon name is different than appName +-aboutData.setProgramIconName("flag-yellow") ++ # Use this if icon name is different than appName ++ aboutData.setProgramIconName(icon) +diff -Nuar service-manager-3.0.0.orig//src/servicemanager/base.py service-manager-3.0.0/src/servicemanager/base.py +--- service-manager-3.0.0.orig//src/servicemanager/base.py 2011-03-21 11:09:29.712000015 +0200 ++++ service-manager-3.0.0/src/servicemanager/base.py 2011-03-21 11:10:08.157000017 +0200 +@@ -20,16 +20,18 @@ + from PyQt4.QtGui import QMessageBox + from PyQt4.QtCore import * + +-# PyKDE4 Stuff +-from PyKDE4.kdeui import * +-from PyKDE4.kdecore import * +- + # Application Stuff + from servicemanager.backend import ServiceIface +-from servicemanager.about import aboutData + from servicemanager.ui_main import Ui_mainManager + from servicemanager.widgets import ServiceItemWidget, ServiceItem + ++# Pds vs KDE ++import servicemanager.context as ctx ++if ctx.Pds.session == ctx.pds.Kde4: ++ from PyKDE4.kdecore import i18n ++else: ++ from servicemanager.context import i18n ++ + class MainManager(QtGui.QWidget): + def __init__(self, parent, standAlone=True): + QtGui.QWidget.__init__(self, parent) +diff -Nuar service-manager-3.0.0.orig//src/servicemanager/context.py service-manager-3.0.0/src/servicemanager/context.py +--- service-manager-3.0.0.orig//src/servicemanager/context.py 1970-01-01 02:00:00.000000000 +0200 ++++ service-manager-3.0.0/src/servicemanager/context.py 2011-03-21 11:10:08.161000017 +0200 +@@ -0,0 +1,29 @@ ++#!/usr/bin/python ++# -*- coding: utf-8 -*- ++ ++import pds ++import traceback ++from time import time ++from pds.qiconloader import QIconLoader ++ ++Pds = pds.Pds('service-manager', debug = False) ++# Force to use Default Session for testing ++# Pds.session = pds.DefaultDe ++# print 'Current session is : %s %s' % (Pds.session.Name, Pds.session.Version) ++ ++i18n = Pds.i18n ++KIconLoader = QIconLoader(Pds, forceCache=True) ++KIcon = KIconLoader.icon ++ ++time_counter = 0 ++start_time = time() ++last_time = time() ++ ++def _time(): ++ global last_time, time_counter ++ trace = list(traceback.extract_stack()) ++ diff = time() - start_time ++ print ('%s ::: %s:%s' % (time_counter, trace[-2][0].split('/')[-1], trace[-2][1])), diff, diff - last_time ++ last_time = diff ++ time_counter += 1 ++ +diff -Nuar service-manager-3.0.0.orig//src/servicemanager/widgets.py service-manager-3.0.0/src/servicemanager/widgets.py +--- service-manager-3.0.0.orig//src/servicemanager/widgets.py 2011-03-21 11:09:29.712000015 +0200 ++++ service-manager-3.0.0/src/servicemanager/widgets.py 2011-03-21 11:10:08.163000017 +0200 +@@ -15,10 +15,13 @@ + from PyQt4 import QtGui + from PyQt4.QtCore import * + +-# KDE Stuff +-from PyKDE4 import kdeui +-from PyKDE4.kdecore import i18n +-from PyKDE4.kdecore import KGlobal ++# Pds vs KDE ++import servicemanager.context as ctx ++if ctx.Pds.session == ctx.pds.Kde4: ++ from PyKDE4.kdeui import KIcon ++ from PyKDE4.kdecore import i18n ++else: ++ from servicemanager.context import KIcon, i18n + + # Application Stuff + from servicemanager.ui_item import Ui_ServiceItemWidget +@@ -31,6 +34,7 @@ + # Python Stuff + import time + import textwrap ++import locale + + # Pisi Stuff + import pisi +@@ -60,10 +64,10 @@ + + self.toggleButtons() + +- self.ui.buttonStart.setIcon(kdeui.KIcon("media-playback-start")) +- self.ui.buttonStop.setIcon(kdeui.KIcon("media-playback-stop")) +- self.ui.buttonReload.setIcon(kdeui.KIcon("view-refresh")) +- self.ui.buttonInfo.setIcon(kdeui.KIcon("dialog-information")) ++ self.ui.buttonStart.setIcon(KIcon("media-playback-start")) ++ self.ui.buttonStop.setIcon(KIcon("media-playback-stop")) ++ self.ui.buttonReload.setIcon(KIcon("view-refresh")) ++ self.ui.buttonInfo.setIcon(KIcon("dialog-information")) + + self.toggled = False + self.root = parent +@@ -100,7 +104,7 @@ + self.ui.buttonStop.setEnabled(self.running) + self.ui.buttonReload.setEnabled(self.running) + +- self.ui.labelStatus.setPixmap(kdeui.KIcon(icon).pixmap(32, 32)) ++ self.ui.labelStatus.setPixmap(KIcon(icon).pixmap(32, 32)) + self.showStatus() + self.runningAtStart = False + if state in ('on', 'stopped'): +@@ -161,7 +165,7 @@ + try: + # TODO add a package map for known services + service = service.replace('_','-') +- lang = str(KGlobal.locale().language()) ++ lang = str(locale.getdefaultlocale()[0].split("_")[0]) + desc = pisi.api.info_name(service)[0].package.description + if desc.has_key(lang): + return unicode(desc[lang]) +@@ -178,7 +182,7 @@ + self.ui = Ui_InfoWidget() + self.ui.setupUi(self) + self.ui.buttonHide.clicked.connect(self.hideDescription) +- self.ui.buttonHide.setIcon(kdeui.KIcon("dialog-close")) ++ self.ui.buttonHide.setIcon(KIcon("dialog-close")) + + self._animation = 2 + self._duration = 500 +diff -Nuar service-manager-3.0.0.orig//src/service-manager.py service-manager-3.0.0/src/service-manager.py +--- service-manager-3.0.0.orig//src/service-manager.py 2011-03-21 11:09:29.712000015 +0200 ++++ service-manager-3.0.0/src/service-manager.py 2011-03-21 11:33:38.407000038 +0200 +@@ -13,46 +13,72 @@ + + # System + import sys +- + import dbus + ++# Pds Stuff ++import servicemanager.context as ctx ++ ++# Application Stuff ++import servicemanager.about as about ++ + # Qt Stuff + from PyQt4.QtCore import SIGNAL + +-# PyKDE4 Stuff +-from PyKDE4.kdeui import * +-from PyKDE4.kdecore import * +- +-def CreatePlugin(widget_parent, parent, component_data): +- from servicemanager.kcmodule import ServiceManager +- return ServiceManager(component_data, parent) ++# Enable plugin if session is Kde4 ++if ctx.Pds.session == ctx.pds.Kde4: ++ def CreatePlugin(widget_parent, parent, component_data): ++ from servicemanager.kcmodule import ServiceManager ++ return ServiceManager(component_data, parent) + + if __name__ == '__main__': + +- # Service Manager +- from servicemanager.standalone import ServiceManager +- +- # Application Stuff +- from servicemanager.about import aboutData +- +- # Set Command-line arguments +- KCmdLineArgs.init(sys.argv, aboutData) +- +- # Create a Kapplitcation instance +- app = KApplication() +- + # DBUS MainLoop + if not dbus.get_default_main_loop(): + from dbus.mainloop.qt import DBusQtMainLoop + DBusQtMainLoop(set_as_default = True) + +- # Create Main Widget +- mainWindow = ServiceManager(None, 'service-manager') +- mainWindow.show() ++ # Pds vs KDE ++ if ctx.Pds.session == ctx.pds.Kde4: ++ ++ # PyKDE4 Stuff ++ from PyKDE4.kdeui import * ++ from PyKDE4.kdecore import * ++ ++ # Application Stuff ++ from servicemanager.standalone import ServiceManager ++ from servicemanager.about import aboutData ++ ++ # Set Command-line arguments ++ KCmdLineArgs.init(sys.argv, aboutData) ++ ++ # Create a Kapplitcation instance ++ app = KApplication() ++ ++ # Create Main Widget ++ mainWindow = ServiceManager(None, aboutData.appName) ++ mainWindow.show() ++ ++ else: ++ ++ # Application Stuff ++ from servicemanager.base import MainManager ++ ++ # Pds Stuff ++ from pds.quniqueapp import QUniqueApplication ++ from servicemanager.context import KIcon, i18n ++ ++ # Create a QUniqueApllication instance ++ app = QUniqueApplication(sys.argv, catalog=about.appName) ++ ++ # Create Main Widget and make some settings ++ mainWindow = MainManager(None) ++ mainWindow.show() ++ mainWindow.resize(640, 480) ++ mainWindow.setWindowTitle(i18n(about.PACKAGE)) ++ mainWindow.setWindowIcon(KIcon(about.icon)) + + # Create connection for lastWindowClosed signal to quit app + app.connect(app, SIGNAL('lastWindowClosed()'), app.quit) + +- # Run the application ++ # Run the applications + app.exec_() +- +diff -Nuar service-manager-3.0.0.orig//ui/main.ui service-manager-3.0.0/ui/main.ui +--- service-manager-3.0.0.orig//ui/main.ui 2011-03-21 11:09:29.703000015 +0200 ++++ service-manager-3.0.0/ui/main.ui 2011-03-21 11:10:08.165000017 +0200 +@@ -17,16 +17,10 @@ + + + +- +- +- false +- +- ++ ++ + type service name to search... + +- +- true +- + + + +@@ -106,13 +100,6 @@ + + + +- +- +- KLineEdit +- QLineEdit +-
klineedit.h
+-
+-
+ + + diff --git a/desktop/pisilinux/service-manager/pspec.xml b/desktop/pisilinux/service-manager/pspec.xml new file mode 100644 index 0000000000..265c4df6ba --- /dev/null +++ b/desktop/pisilinux/service-manager/pspec.xml @@ -0,0 +1,50 @@ + + + + + service-manager + http://www.pisilinux.org + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + app:gui + System Service configuration GUI + This system service configuration software is developed for Pisi Linux. It provides managing system services. + https://github.com/PisiLinuxNew/service-manager/archive/3.1.0.tar.gz + + pisilinux-desktop-services + docutils + python-qt5-devel + + + + + service-manager + + python-qt5 + pisilinux-desktop-services + + + /usr/bin + /usr/share + /usr/share/locale + /usr/share/applications + + + + + + + + + 2016-06-03 + 3.1.0 + First release + Pisi Linux Admins + admins@pisilinux.org + + + diff --git a/desktop/pisilinux/service-manager/translations.xml b/desktop/pisilinux/service-manager/translations.xml new file mode 100644 index 0000000000..a54482cb76 --- /dev/null +++ b/desktop/pisilinux/service-manager/translations.xml @@ -0,0 +1,9 @@ + + + + service-manager + Servis yönetim arayüzü + Servis yöneticisi, Pisi Linux'da çalışan sunucu ve servislerin yönetilmesini sağlar + Le gestionnaire de Service est utilisé pour administrer les services lancés dans Pisi Linux. + +