summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Sivak <msivak@redhat.com>2008-04-24 14:43:04 +0200
committerMartin Sivak <msivak@redhat.com>2008-04-24 14:43:04 +0200
commit4a5c1ae905ceb0599bdea7d113cfc659e9740832 (patch)
treed0acb55cb11a17b8de7f96b20292193df4160e75
parent5360b8d85da29276d641213577925799fcb35938 (diff)
downloadfirstaidkit-4a5c1ae905ceb0599bdea7d113cfc659e9740832.tar.gz
firstaidkit-4a5c1ae905ceb0599bdea7d113cfc659e9740832.tar.xz
firstaidkit-4a5c1ae905ceb0599bdea7d113cfc659e9740832.zip
Prepare gui for packaging and update the spec file
-rw-r--r--etc/firstaidkit/firstaidkit.conf23
-rwxr-xr-xfirstaidkit19
-rw-r--r--firstaidkit.spec58
-rw-r--r--frontend/frontend_gtk.py (renamed from frontend/main.py)0
-rw-r--r--pyfirstaidkit/configuration.py5
5 files changed, 73 insertions, 32 deletions
diff --git a/etc/firstaidkit/firstaidkit.conf b/etc/firstaidkit/firstaidkit.conf
index 72481a2..9b92f75 100644
--- a/etc/firstaidkit/firstaidkit.conf
+++ b/etc/firstaidkit/firstaidkit.conf
@@ -17,6 +17,16 @@
#root = /mnt/sysimage
#
+# frontend:
+# Where to look for the frontend modules
+#frontend = /usr/lib/firstaidkit/frontend
+
+#
+# configuration:
+# Where to look for configuration tidbits for plugins and other subparts
+#configuration = /etc/firstaidkit/
+
+#
# Operation:
#
[operation]
@@ -47,6 +57,11 @@
#verbose=
#
+# interactive:
+#
+#interactive=
+
+#
# Log:
#
[log]
@@ -73,10 +88,10 @@
# the default values should be enough.
# lib64:
#
-#lib64/firstaidkit-plugins = /usr/lib64/firstaidkit-plugins
-#lib64/firstaidkit-plugins/examples/plugin_examples = /usr/lib64/firstaidkit-plugins/examples/plugin_examples
+#lib64/firstaidkit-plugins = /usr/lib64/firstaidkit/plugins
+#lib64/firstaidkit-plugins/examples/plugin_examples = /usr/lib64/firstaidkit/plugins/examples/plugin_examples
#
#
# lib:
-#lib/firstaidkit-plugins/examples = /usr/lib/firstaidkit-plugins/examples
-#lib/firstaidkit-plugins/examples/plugin_examples = /usr/lib/firstaidkit-plugins/examples/plugin_examples
+#lib/firstaidkit-plugins/examples = /usr/lib/firstaidkit/plugins/examples
+#lib/firstaidkit-plugins/examples/plugin_examples = /usr/lib/firstaidkit/plugins/examples/plugin_examples
diff --git a/firstaidkit b/firstaidkit
index b55b0cb..1cb4ef9 100755
--- a/firstaidkit
+++ b/firstaidkit
@@ -28,13 +28,6 @@ class Flags:
main_help = False
gui_available = False
-try:
- import frontend.main
- MainWindow = frontend.main.MainWindow
- Flags.gui_available = True
-except:
- Flags.gui_available = False
-
class Output(Thread):
def __init__(self, queue, importance = logging.INFO, *args, **kwargs):
@@ -97,7 +90,7 @@ class Output(Thread):
class GuiOutput(Thread):
def __init__(self, cfg, tasker, importance = logging.INFO, *args, **kwargs):
Thread.__init__(self, *args, **kwargs)
- self.w = MainWindow(cfg, tasker, importance = importance, dir="frontend")
+ self.w = MainWindow(cfg, tasker, importance = importance, dir=cfg.system.frontend)
def run(self):
self.w.run()
@@ -219,6 +212,16 @@ if __name__=="__main__":
Config.write(sys.stdout)
sys.exit(0)
+ #Add the frontend path to sys.path
+ sys.path.insert(1, Config.system.frontend)
+
+ try:
+ import frontend_gtk
+ MainWindow = frontend_gtk.MainWindow
+ Flags.gui_available = True
+ except:
+ Flags.gui_available = False
+
# initialize log for plugin system.
initLogger(Config)
diff --git a/firstaidkit.spec b/firstaidkit.spec
index b87dac8..6bce577 100644
--- a/firstaidkit.spec
+++ b/firstaidkit.spec
@@ -44,6 +44,7 @@ Requires: %{name}-plugin-passwd
Requires: %{name}-plugin-xserver
Requires: %{name}-plugin-grub
Requires: %{name}-plugin-rpm
+Requires: %{name}-gui
%description plugin-all
@@ -102,6 +103,15 @@ Requires: rpm, rpm-python
This FirstAidKit plugin automates the tasks related to RPM problems.
For example: corrupted database or important system packages missing.
+%package gui
+Group: Applications/System
+Summary: FirstAidKit GUI
+Requires: %{name} = %{version}-%{release}
+Requires: pygtk2>=2.6
+
+%description gui
+This package contains the Gtk based FirstAidKit GUI
+
%prep
%setup -q
@@ -118,22 +128,27 @@ For example: corrupted database or important system packages missing.
%{__install} -d $RPM_BUILD_ROOT%{_mandir}/man1
%{__install} -p doc/fakplugin.1 doc/firstaidkit.1 $RPM_BUILD_ROOT%{_mandir}/man1
#examples
-%{__install} -d $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/examples
-%{__mv} -f plugins/plugin_examples $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/examples
+%{__install} -d $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/examples
+%{__mv} -f plugins/plugin_examples $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/examples
#configuration
%{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/firstaidkit
%{__install} -p etc/firstaidkit/firstaidkit.conf $RPM_BUILD_ROOT%{_sysconfdir}/firstaidkit
+#gui
+%{__install} -d $RPM_BUILD_ROOT%{_libdir}/firstaidkit/frontend
+%{__install} -p frontend/*.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit/frontend/
+%{__install} -p frontend/*.glade $RPM_BUILD_ROOT%{_libdir}/firstaidkit/frontend/
+%{__install} -p frontend/*.gladep $RPM_BUILD_ROOT%{_libdir}/firstaidkit/frontend/
#plugins
-%{__install} -d $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/plugin_undelete_partitions
-%{__cp} -f plugins/plugin_undelete_partitions/{*.py,_undelpart.so} $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/plugin_undelete_partitions/
-%{__cp} -f plugins/passwd.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/
-%{__cp} -f plugins/xserver.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/
-%{__install} -d $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/plugin_rpm
-%{__cp} -f plugins/plugin_rpm/*.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/plugin_rpm/
-%{__install} -d $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/plugin_rpm_lowlevel
-%{__cp} -f plugins/plugin_rpm_lowlevel/*.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/plugin_rpm_lowlevel/
-%{__cp} -f plugins/plugin_grub.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit-plugins/
+%{__install} -d $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/plugin_undelete_partitions
+%{__cp} -f plugins/plugin_undelete_partitions/{*.py,_undelpart.so} $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/plugin_undelete_partitions/
+%{__cp} -f plugins/passwd.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/
+%{__cp} -f plugins/xserver.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/
+%{__install} -d $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/plugin_rpm
+%{__cp} -f plugins/plugin_rpm/*.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/plugin_rpm/
+%{__install} -d $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/plugin_rpm_lowlevel
+%{__cp} -f plugins/plugin_rpm_lowlevel/*.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/plugin_rpm_lowlevel/
+%{__cp} -f plugins/plugin_grub.py $RPM_BUILD_ROOT%{_libdir}/firstaidkit/plugins/
%{__install} -p etc/firstaidkit/firstaidkit-plugin-grub $RPM_BUILD_ROOT%{_sysconfdir}/firstaidkit
@@ -150,28 +165,33 @@ For example: corrupted database or important system packages missing.
%{_sysconfdir}/firstaidkit/firstaidkit.conf
%attr(0644,root,root) %{_mandir}/man1/firstaidkit.1.gz
+%files gui
+%{_libdir}/firstaidkit/frontend/*.py
+%{_libdir}/firstaidkit/frontend/*.glade
+%{_libdir}/firstaidkit/frontend/*.gladep
+
%files devel
-%{_libdir}/firstaidkit-plugins/examples
+%{_libdir}/firstaidkit/plugins/examples
%attr(0644,root,root) %{_mandir}/man1/fakplugin.1.gz
%files plugin-all
%files plugin-undelete-partitions
-%{_libdir}/firstaidkit-plugins/plugin_undelete_partitions/*.py
-%{_libdir}/firstaidkit-plugins/plugin_undelete_partitions/*.so
+%{_libdir}/firstaidkit/plugins/plugin_undelete_partitions/*.py
+%{_libdir}/firstaidkit/plugins/plugin_undelete_partitions/*.so
%files plugin-passwd
-%{_libdir}/firstaidkit-plugins/passwd.py
+%{_libdir}/firstaidkit/plugins/passwd.py
%files plugin-xserver
-%{_libdir}/firstaidkit-plugins/xserver.py
+%{_libdir}/firstaidkit/plugins/xserver.py
%files plugin-rpm
-%{_libdir}/firstaidkit-plugins/plugin_rpm_lowlevel/*.py
-%{_libdir}/firstaidkit-plugins/plugin_rpm/*.py
+%{_libdir}/firstaidkit/plugins/plugin_rpm_lowlevel/*.py
+%{_libdir}/firstaidkit/plugins/plugin_rpm/*.py
%files plugin-grub
-%{_libdir}/firstaidkit-plugins/plugin_grub.py
+%{_libdir}/firstaidkit/plugins/plugin_grub.py
%{_sysconfdir}/firstaidkit/firstaidkit-plugin-grub
diff --git a/frontend/main.py b/frontend/frontend_gtk.py
index 2a2e7f4..2a2e7f4 100644
--- a/frontend/main.py
+++ b/frontend/frontend_gtk.py
diff --git a/pyfirstaidkit/configuration.py b/pyfirstaidkit/configuration.py
index 90b0b7d..9a4987b 100644
--- a/pyfirstaidkit/configuration.py
+++ b/pyfirstaidkit/configuration.py
@@ -51,12 +51,15 @@ def createDefaultConfig(config):
# Set the directory containing cfg bits for different services/packages
config.system.configuration = "/etc/firstaidkit"
+ # Frontend modules are in specified directory
+ config.system.frontend = "/usr/lib/firstaidkit/frontend"
+
#
# There will be 4 default places where FAK will look for plugins, these 4 names
# will be reserved in the configuration. lib{,64}-firstaidkit-{,examples}
#
config.add_section("paths")
- for dir in ["firstaidkit-plugins", "firstaidkit-plugins/examples"]:
+ for dir in ["firstaidkit/plugins", "firstaidkit/plugins/examples"]:
for root in [ "usr/lib64", "usr/lib"]:
if os.path.exists( "/%s/%s" % (root,dir)):
config.set( "paths", "%s/%s"%(dir[5:], root),"/%s/%s" %(root, dir) )