summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Sivak <msivak@redhat.com>2013-03-05 09:34:51 +0100
committerMartin Sivak <msivak@redhat.com>2013-03-05 09:34:51 +0100
commitd4c6d44ba432ba873c489a25e493ca9c1b0c40f9 (patch)
treedc8090c7ead44fe32b0742582d80735c2787a9c0
parent572a7f65b8c752dcf4a14106896812949d358c6a (diff)
downloadfirstboot2-d4c6d44ba432ba873c489a25e493ca9c1b0c40f9.tar.gz
firstboot2-d4c6d44ba432ba873c489a25e493ca9c1b0c40f9.tar.xz
firstboot2-d4c6d44ba432ba873c489a25e493ca9c1b0c40f9.zip
Make the main script UI agnostic and fix typos, imports and paths
-rw-r--r--Makefile (renamed from initial_setup/Makefile)6
-rwxr-xr-xinitial-setup7
-rw-r--r--initial_setup/__main__.py67
-rw-r--r--initial_setup/gui/__init__.py1
-rw-r--r--initial_setup/gui/__main__.py41
-rw-r--r--initial_setup/gui/gui.py10
-rw-r--r--initial_setup/gui/hubs/__init__.py2
-rw-r--r--initial_setup/gui/hubs/initial_setup.py4
-rw-r--r--systemd/initial-setup-graphical.service2
-rw-r--r--systemd/initial-setup-text.service2
-rw-r--r--systemd/initial-setup-xserver.service17
11 files changed, 100 insertions, 59 deletions
diff --git a/initial_setup/Makefile b/Makefile
index 35a8d98..8738cc7 100644
--- a/initial_setup/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@
#
# Author: Martin Sivak <msivak@redhat.com>
-ANACONDA_PATH=${HOME}/Work/anaconda/master
+ANACONDA_PATH=${HOME}/Work/anaconda/msivak
# GUI TESTING
rungui:
@@ -31,13 +31,13 @@ rungui:
GI_TYPELIB_PATH=${ANACONDA_PATH}/widgets/src/ \
GLADE_CATALOG_SEARCH_PATH=${ANACONDA_PATH}/widgets/glade \
GLADE_MODULE_SEARCH_PATH=${ANACONDA_PATH}/widgets/src/.libs \
- python -m gui
+ ./initial-setup
runtui:
ANACONDA_DATA=${ANACONDA_PATH}/data \
ANACONDA_INSTALL_CLASSES=${ANACONDA_PATH}/pyanaconda/installclasses \
PYTHONPATH=.:${ANACONDA_PATH}:${ANACONDA_PATH}/pyanaconda/isys/.libs \
- python -m tui
+ DISPLAY= ./initial-setup
runglade:
ANACONDA_DATA=${ANACONDA_PATH}/data \
diff --git a/initial-setup b/initial-setup
index 980818b..3822c29 100755
--- a/initial-setup
+++ b/initial-setup
@@ -1,7 +1,2 @@
#!/bin/sh
-if [ "x$DISPLAY" != "x" ]; then
- python -m initial_setup.gui
-else
- python -m initial_setup.tui
-fi
-
+python -m initial_setup
diff --git a/initial_setup/__main__.py b/initial_setup/__main__.py
new file mode 100644
index 0000000..ec5bfba
--- /dev/null
+++ b/initial_setup/__main__.py
@@ -0,0 +1,67 @@
+#!/bin/python
+import os
+
+if "DISPLAY" in os.environ:
+ mode="gui"
+else:
+ mode="tui"
+
+if mode == "gui":
+ # We need this so we can tell GI to look for overrides objects
+ # also in anaconda source directories
+ import gi.overrides
+ for p in os.environ.get("ANACONDA_WIDGETS_OVERRIDES", "").split(":"):
+ gi.overrides.__path__.insert(0, p)
+
+# set the root path to / so the imported spokes
+# know where to apply their changes
+from pyanaconda.constants import ROOT_PATH
+ROOT_PATH = "/"
+
+from pyanaconda.addons import collect_addon_paths
+
+addon_paths = ["/usr/share/initial-setup/modules", "/usr/share/anaconda/addons"]
+addon_module_paths = collect_addon_paths(addon_paths)
+
+# Too bad anaconda does not have modularized logging
+from pyanaconda import anaconda_log
+anaconda_log.init()
+
+# Prepare new data object
+from pyanaconda import kickstart
+data = kickstart.AnacondaKSHandler(addon_module_paths["ks"])
+
+# Replace storage commands by Dummy objects
+# TODO
+
+# Read the installed kickstart
+parser = kickstart.AnacondaKSParser(data)
+parser.readKickstart("anaconda-ks.cfg")
+
+if mode == "gui":
+ # Import IS gui specifics
+ import gui
+
+ # Add addons to search paths
+ gui.InitialSetupGraphicalUserInterface.update_paths(addon_module_paths)
+
+ # Initialize the UI
+ ui = gui.InitialSetupGraphicalUserInterface(None, None, None)
+else:
+ # Import IS gui specifics
+ import tui
+
+ # Add addons to search paths
+ tui.InitialSetupTextUserInterface.update_paths(addon_module_paths)
+
+ # Initialize the UI
+ ui = gui.InitialSetupTextUserInterface(None, None, None)
+
+# Pass the data object to user inteface
+ui.setup(data)
+
+# Start the application
+ui.run()
+
+# Print the kickstart file
+print data
diff --git a/initial_setup/gui/__init__.py b/initial_setup/gui/__init__.py
index e69de29..19247f0 100644
--- a/initial_setup/gui/__init__.py
+++ b/initial_setup/gui/__init__.py
@@ -0,0 +1 @@
+from .gui import InitialSetupGraphicalUserInterface
diff --git a/initial_setup/gui/__main__.py b/initial_setup/gui/__main__.py
deleted file mode 100644
index af8c5e9..0000000
--- a/initial_setup/gui/__main__.py
+++ /dev/null
@@ -1,41 +0,0 @@
-import os
-
-# We need this so we can tell GI to look for overrides objects
-# also in anaconda source directories
-import gi.overrides
-for p in os.environ.get("ANACONDA_WIDGETS_OVERRIDES", "").split(":"):
- gi.overrides.__path__.insert(0, p)
-
-# set the root path to / so the imported spokes
-# know where to apply their changes
-from pyanaconda.constants import ROOT_PATH
-ROOT_PATH = "/"
-
-from pyanaconda.addons import collect_addon_paths
-
-addon_paths = ["/usr/share/initial-setup/modules", "/usr/share/anaconda/addons"]
-addon_module_paths = collect_addon_paths(addon_paths)
-
-# Too bad anaconda does not have modularized logging
-from pyanaconda import anaconda_log
-anaconda_log.init()
-
-# Prepare new data object
-from pyanaconda import kickstart
-data = kickstart.AnacondaKSHandler(addon_module_paths["ks"])
-
-# Import IS gui specifics
-import gui
-
-# Add addons to search paths
-gui.InitalSetupGraphicalUserInterface.update_paths(addon_module_paths)
-
-# Initialize the UI
-g = gui.InitalSetupGraphicalUserInterface(None, None, None)
-g.setup(data)
-
-# Start the application
-g.run()
-
-# Print the kickstart file
-print data
diff --git a/initial_setup/gui/gui.py b/initial_setup/gui/gui.py
index 13f93b7..24e5a27 100644
--- a/initial_setup/gui/gui.py
+++ b/initial_setup/gui/gui.py
@@ -1,6 +1,6 @@
from pyanaconda.ui.gui import QuitDialog, GUIObject, GraphicalUserInterface
#from .product import productName, productVersion
-from .hubs import InitalSetupMainHub
+from .hubs import InitialSetupMainHub
from pyanaconda.ui.gui.spokes import StandaloneSpoke
import pyanaconda.ui.gui.spokes
from pyanaconda.ui.common import collect, FirstbootSpokeMixIn
@@ -16,12 +16,12 @@ N_ = lambda t: t
productTitle = lambda: "Initial Setup of Fedora"
isFinal = lambda: False
-class InitalSetupQuitDialog(QuitDialog):
+class InitialSetupQuitDialog(QuitDialog):
MESSAGE = N_("Are you sure you want to quit the configuration process?\n"
"You might end up with unusable system if you do.")
@inject(Gdk, productTitle = productTitle, isFinal = isFinal)
-class InitalSetupGraphicalUserInterface(GraphicalUserInterface):
+class InitialSetupGraphicalUserInterface(GraphicalUserInterface):
"""This is the main Gtk based firstboot interface. It inherits from
anaconda to make the look & feel as similar as possible.
"""
@@ -32,10 +32,10 @@ class InitalSetupGraphicalUserInterface(GraphicalUserInterface):
def __init__(self, storage, payload, instclass):
GraphicalUserInterface.__init__(self, storage, payload, instclass,
productTitle, isFinal,
- quitDialog = InitalSetupQuitDialog)
+ quitDialog = InitialSetupQuitDialog)
def _list_hubs(self):
- return [InitalSetupMainHub]
+ return [InitialSetupMainHub]
basemask = "firstboot.gui"
basepath = os.path.dirname(__file__)
diff --git a/initial_setup/gui/hubs/__init__.py b/initial_setup/gui/hubs/__init__.py
index b6f577d..5d166d6 100644
--- a/initial_setup/gui/hubs/__init__.py
+++ b/initial_setup/gui/hubs/__init__.py
@@ -1 +1 @@
-from initial_setup import InitalSetupMainHub
+from .initial_setup import InitialSetupMainHub
diff --git a/initial_setup/gui/hubs/initial_setup.py b/initial_setup/gui/hubs/initial_setup.py
index a0f87db..f966782 100644
--- a/initial_setup/gui/hubs/initial_setup.py
+++ b/initial_setup/gui/hubs/initial_setup.py
@@ -3,6 +3,8 @@ from pyanaconda.ui.gui.spokes import Spoke
from pyanaconda.ui.common import collect
import os
+__all__ = ["InitialSetupMainHub"]
+
def collect_spokes(mask_paths):
"""Return a list of all spoke subclasses that should appear for a given
category. Look for them in files imported as module_path % basename(f)
@@ -23,7 +25,7 @@ def collect_spokes(mask_paths):
return spokes
-class InitalSetupMainHub(Hub):
+class InitialSetupMainHub(Hub):
uiFile = "initial_setup.glade"
builderObjects = ["summaryWindow"]
mainWidgetName = "summaryWindow"
diff --git a/systemd/initial-setup-graphical.service b/systemd/initial-setup-graphical.service
index b4526ad..da96359 100644
--- a/systemd/initial-setup-graphical.service
+++ b/systemd/initial-setup-graphical.service
@@ -1,5 +1,5 @@
[Unit]
-Description=Inital Setup configuration program
+Description=Initial Setup configuration program
After=livesys.service plymouth-quit.service
Before=display-manager.service getty@tty1.service
Conflicts=plymouth-quit.service initial-setup-text.service
diff --git a/systemd/initial-setup-text.service b/systemd/initial-setup-text.service
index 7dd9945..eca8a7b 100644
--- a/systemd/initial-setup-text.service
+++ b/systemd/initial-setup-text.service
@@ -1,5 +1,5 @@
[Unit]
-Description=Inital Setup configuration program (text mode)
+Description=Initial Setup configuration program (text mode)
After=livesys.service plymouth-quit.service
After=systemd-vconsole-setup.service
Before=display-manager.service getty@tty1.service
diff --git a/systemd/initial-setup-xserver.service b/systemd/initial-setup-xserver.service
new file mode 100644
index 0000000..3c485ce
--- /dev/null
+++ b/systemd/initial-setup-xserver.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Initial Setup Xserver service
+After=livesys.service plymouth-quit.service
+After=systemd-vconsole-setup.service
+Before=display-manager.service getty@tty1.service
+Conflicts=plymouth-quit.service
+
+[Service]
+Type=oneshot
+ExecStartPre=-/bin/plymouth quit
+ExecStart=xinit /bin/firstboot-windowmanager -- Xorg :9 -ac -nolisten tcp vt1
+ExecStartPost=
+TimeoutSec=0
+RemainAfterExit=yes
+SysVStartPriority=99
+
+[Install]