[PATCH 11/13] Add automake files for TUI
Martin Sivak
msivak at redhat.com
Wed Aug 8 14:46:53 UTC 2012
Ah well.. Chris wrote it and I modified one line in it and copied it over :)
So I will gladly give the credit for the autotools stuff to him..
Martin
----- Original Message -----
> On Wed, 2012-08-08 at 10:52 +0200, Martin Sivak wrote:
> > ---
> > Makefile.am | 4 +-
> > configure.ac | 5 ++
> > pyanaconda/ui/Makefile.am | 2 +-
> > pyanaconda/ui/tui/Makefile.am | 24 +++++++
> > pyanaconda/ui/tui/hubs/Makefile.am | 24 +++++++
> > pyanaconda/ui/tui/simpleline/Makefile.am | 24 +++++++
> > pyanaconda/ui/tui/spokes/Makefile.am | 24 +++++++
> > pyanaconda/ui/tui/tools/Makefile.am | 18 +++++
> > pyanaconda/ui/tui/tools/run-hub.py | 1 -
> > pyanaconda/ui/tui/tools/run-spoke.py | 105
> > -----------------------------
> > pyanaconda/ui/tui/tools/run-text-hub.py | 1 +
> > pyanaconda/ui/tui/tools/run-text-spoke.py | 105
> > +++++++++++++++++++++++++++++
> > 12 files changed, 228 insertions(+), 109 deletions(-)
> > create mode 100644 pyanaconda/ui/tui/Makefile.am
> > create mode 100644 pyanaconda/ui/tui/hubs/Makefile.am
> > create mode 100644 pyanaconda/ui/tui/simpleline/Makefile.am
> > create mode 100644 pyanaconda/ui/tui/spokes/Makefile.am
> > create mode 100644 pyanaconda/ui/tui/tools/Makefile.am
> > delete mode 120000 pyanaconda/ui/tui/tools/run-hub.py
> > delete mode 100755 pyanaconda/ui/tui/tools/run-spoke.py
> > create mode 120000 pyanaconda/ui/tui/tools/run-text-hub.py
> > create mode 100755 pyanaconda/ui/tui/tools/run-text-spoke.py
> >
> > diff --git a/Makefile.am b/Makefile.am
> > index 9085d4e..84531c4 100644
> > --- a/Makefile.am
> > +++ b/Makefile.am
> > @@ -131,14 +131,14 @@ runtextspoke:
> > ANACONDA_INSTALL_CLASSES=${PWD}/pyanaconda/installclasses \
> > PYTHONPATH=.:pyanaconda/isys/.libs:widgets/python/:widgets/src/.libs/
> > \
> > LD_LIBRARY_PATH=widgets/src/.libs \
> > - pyanaconda/ui/tui/tools/run-spoke.py ${SPOKE_MODULE}
> > ${SPOKE_CLASS}
> > + pyanaconda/ui/tui/tools/run-text-spoke.py ${SPOKE_MODULE}
> > ${SPOKE_CLASS}
> >
> > runtexthub:
> > ANACONDA_DATA=${PWD}/data \
> > ANACONDA_INSTALL_CLASSES=${PWD}/pyanaconda/installclasses \
> > PYTHONPATH=.:pyanaconda/isys/.libs:widgets/python/:widgets/src/.libs/
> > \
> > LD_LIBRARY_PATH=widgets/src/.libs \
> > - pyanaconda/ui/tui/tools/run-hub.py ${HUB_MODULE} ${HUB_CLASS}
> > + pyanaconda/ui/tui/tools/run-text-hub.py ${HUB_MODULE}
> > ${HUB_CLASS}
> >
> >
> > runglade:
> > diff --git a/configure.ac b/configure.ac
> > index a7bc032..f10eed4 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -296,6 +296,11 @@ AC_CONFIG_FILES([Makefile
> > pyanaconda/ui/gui/spokes/lib/Makefile
> > pyanaconda/ui/gui/tools/Makefile
> > pyanaconda/ui/gui/Makefile
> > + pyanaconda/ui/tui/hubs/Makefile
> > + pyanaconda/ui/tui/simpleline/Makefile
> > + pyanaconda/ui/tui/spokes/Makefile
> > + pyanaconda/ui/tui/tools/Makefile
> > + pyanaconda/ui/tui/Makefile
> > tests/Makefile
> > tests/mock/Makefile
> > tests/kickstart_test/Makefile
> > diff --git a/pyanaconda/ui/Makefile.am b/pyanaconda/ui/Makefile.am
> > index 970fc82..cff34cc 100644
> > --- a/pyanaconda/ui/Makefile.am
> > +++ b/pyanaconda/ui/Makefile.am
> > @@ -15,7 +15,7 @@
> > #
> > # Author: Chris Lumens <clumens at redhat.com>
> >
> > -SUBDIRS = gui
> > +SUBDIRS = gui tui
> >
> > MAINTAINERCLEANFILES = Makefile.in
> >
> > diff --git a/pyanaconda/ui/tui/Makefile.am
> > b/pyanaconda/ui/tui/Makefile.am
> > new file mode 100644
> > index 0000000..9cc0ba1
> > --- /dev/null
> > +++ b/pyanaconda/ui/tui/Makefile.am
> > @@ -0,0 +1,24 @@
> > +# Copyright (C) 2011 Red Hat, Inc.
> > +#
> > +# This program is free software; you can redistribute it and/or
> > modify
> > +# it under the terms of the GNU Lesser General Public License as
> > published
> > +# by the Free Software Foundation; either version 2.1 of the
> > License, or
> > +# (at your option) any later version.
> > +#
> > +# This program 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 Lesser General Public License for more details.
> > +#
> > +# You should have received a copy of the GNU Lesser General Public
> > License
> > +# along with this program. If not, see
> > <http://www.gnu.org/licenses/>.
> > +#
> > +# Author: Chris Lumens <clumens at redhat.com>
> I believe you are the author of this file. ;)
>
> > +
> > +SUBDIRS = hubs spokes simpleline tools
> > +
> > +MAINTAINERCLEANFILES = Makefile.in
> > +
> > +pkgpyexecdir = $(pyexecdir)/py$(PACKAGE_NAME)
> > +tuidir = $(pkgpyexecdir)/ui/tui
> > +tui_PYTHON = *.py
> > diff --git a/pyanaconda/ui/tui/hubs/Makefile.am
> > b/pyanaconda/ui/tui/hubs/Makefile.am
> > new file mode 100644
> > index 0000000..f099b76
> > --- /dev/null
> > +++ b/pyanaconda/ui/tui/hubs/Makefile.am
> > @@ -0,0 +1,24 @@
> > +# Copyright (C) 2011 Red Hat, Inc.
> > +#
> > +# This program is free software; you can redistribute it and/or
> > modify
> > +# it under the terms of the GNU Lesser General Public License as
> > published
> > +# by the Free Software Foundation; either version 2.1 of the
> > License, or
> > +# (at your option) any later version.
> > +#
> > +# This program 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 Lesser General Public License for more details.
> > +#
> > +# You should have received a copy of the GNU Lesser General Public
> > License
> > +# along with this program. If not, see
> > <http://www.gnu.org/licenses/>.
> > +#
> > +# Author: Chris Lumens <clumens at redhat.com>
> > +
> > +SUBDIRS =
> > +
> > +MAINTAINERCLEANFILES = Makefile.in
> > +
> > +pkgpyexecdir = $(pyexecdir)/py$(PACKAGE_NAME)
> > +hubsdir = $(pkgpyexecdir)/ui/tui/hubs
> > +hubs_PYTHON = *.py
> > diff --git a/pyanaconda/ui/tui/simpleline/Makefile.am
> > b/pyanaconda/ui/tui/simpleline/Makefile.am
> > new file mode 100644
> > index 0000000..555931b
> > --- /dev/null
> > +++ b/pyanaconda/ui/tui/simpleline/Makefile.am
> > @@ -0,0 +1,24 @@
> > +# Copyright (C) 2011 Red Hat, Inc.
> > +#
> > +# This program is free software; you can redistribute it and/or
> > modify
> > +# it under the terms of the GNU Lesser General Public License as
> > published
> > +# by the Free Software Foundation; either version 2.1 of the
> > License, or
> > +# (at your option) any later version.
> > +#
> > +# This program 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 Lesser General Public License for more details.
> > +#
> > +# You should have received a copy of the GNU Lesser General Public
> > License
> > +# along with this program. If not, see
> > <http://www.gnu.org/licenses/>.
> > +#
> > +# Author: Chris Lumens <clumens at redhat.com>
> > +
> > +SUBDIRS =
> > +
> > +MAINTAINERCLEANFILES = Makefile.in
> > +
> > +pkgpyexecdir = $(pyexecdir)/py$(PACKAGE_NAME)
> > +simplelinedir = $(pkgpyexecdir)/ui/tui/simpleline
> > +simpleline_PYTHON = *.py
> > diff --git a/pyanaconda/ui/tui/spokes/Makefile.am
> > b/pyanaconda/ui/tui/spokes/Makefile.am
> > new file mode 100644
> > index 0000000..96cdff9
> > --- /dev/null
> > +++ b/pyanaconda/ui/tui/spokes/Makefile.am
> > @@ -0,0 +1,24 @@
> > +# Copyright (C) 2011 Red Hat, Inc.
> > +#
> > +# This program is free software; you can redistribute it and/or
> > modify
> > +# it under the terms of the GNU Lesser General Public License as
> > published
> > +# by the Free Software Foundation; either version 2.1 of the
> > License, or
> > +# (at your option) any later version.
> > +#
> > +# This program 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 Lesser General Public License for more details.
> > +#
> > +# You should have received a copy of the GNU Lesser General Public
> > License
> > +# along with this program. If not, see
> > <http://www.gnu.org/licenses/>.
> > +#
> > +# Author: Chris Lumens <clumens at redhat.com>
> > +
> > +SUBDIRS =
> > +
> > +MAINTAINERCLEANFILES = Makefile.in
> > +
> > +pkgpyexecdir = $(pyexecdir)/py$(PACKAGE_NAME)
> > +spokesdir = $(pkgpyexecdir)/ui/tui/spokes
> > +spokes_PYTHON = *.py
> > diff --git a/pyanaconda/ui/tui/tools/Makefile.am
> > b/pyanaconda/ui/tui/tools/Makefile.am
> > new file mode 100644
> > index 0000000..abd5472
> > --- /dev/null
> > +++ b/pyanaconda/ui/tui/tools/Makefile.am
> > @@ -0,0 +1,18 @@
> > +# Copyright (C) 2011 Red Hat, Inc.
> > +#
> > +# This program is free software; you can redistribute it and/or
> > modify
> > +# it under the terms of the GNU Lesser General Public License as
> > published
> > +# by the Free Software Foundation; either version 2.1 of the
> > License, or
> > +# (at your option) any later version.
> > +#
> > +# This program 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 Lesser General Public License for more details.
> > +#
> > +# You should have received a copy of the GNU Lesser General Public
> > License
> > +# along with this program. If not, see
> > <http://www.gnu.org/licenses/>.
> > +#
> > +# Author: Chris Lumens <clumens at redhat.com>
> > +
> > +EXTRA_DIST = run-text-hub.py run-text-spoke.py
> > diff --git a/pyanaconda/ui/tui/tools/run-hub.py
> > b/pyanaconda/ui/tui/tools/run-hub.py
> > deleted file mode 120000
> > index 4583bed..0000000
> > --- a/pyanaconda/ui/tui/tools/run-hub.py
> > +++ /dev/null
> > @@ -1 +0,0 @@
> > -run-spoke.py
> > \ No newline at end of file
> > diff --git a/pyanaconda/ui/tui/tools/run-spoke.py
> > b/pyanaconda/ui/tui/tools/run-spoke.py
> > deleted file mode 100755
> > index d5e9c57..0000000
> > --- a/pyanaconda/ui/tui/tools/run-spoke.py
> > +++ /dev/null
> > @@ -1,105 +0,0 @@
> > -#!/usr/bin/python
> > -
> > -import sys, os
> > -import os.path
> > -
> > -# Check command line arguments
> > -if len(sys.argv)<2:
> > - print "Usage: $0 <spoke module name> [<spoke widget class>]"
> > - sys.exit(1)
> > -
> > -# Logging always needs to be set up first thing, or there'll be
> > tracebacks.
> > -from pyanaconda import anaconda_log
> > -anaconda_log.init()
> > -
> > -from pyanaconda.installclass import DefaultInstall
> > -from pyanaconda.storage import Storage
> > -from pyanaconda.threads import initThreading
> > -from pyanaconda.packaging.yumpayload import YumPayload
> > -from pyanaconda.platform import getPlatform
> > -from pykickstart.version import makeVersion
> > -from pyanaconda.ui.tui.simpleline import App
> > -from pyanaconda.ui.tui import YesNoDialog
> > -
> > -# Don't worry with fcoe, iscsi, dasd, any of that crud.
> > -from pyanaconda.flags import flags
> > -flags.imageInstall = True
> > -flags.testing = True
> > -
> > -initThreading()
> > -
> > -# Figure out the part we are about to show: hub/spoke?
> > -# And get the name of the module which represents it
> > -if os.path.basename(sys.argv[0]) == "run-spoke.py":
> > - spokeModuleName = "pyanaconda.ui.tui.spokes.%s" % sys.argv[1]
> > - from pyanaconda.ui.common import Spoke
> > - spokeBaseClass = Spoke
> > - spokeText = "spoke"
> > - SpokeText = "Spoke"
> > -elif os.path.basename(sys.argv[0]) == "run-hub.py":
> > - spokeModuleName = "pyanaconda.ui.tui.hubs.%s" % sys.argv[1]
> > - from pyanaconda.ui.common import Hub
> > - spokeBaseClass = Hub
> > - spokeText = "hub"
> > - SpokeText = "Hub"
> > -else:
> > - print "You have to run this command as run-spoke.py or
> > run-hub.py."
> > - sys.exit(1)
> > -
> > -# Set default spoke class
> > -spokeClass = None
> > -spokeClassName = None
> > -
> > -# Load spoke specified on the command line
> > -# If the spoke module was specified, but the spoke class was not,
> > -# try to find it using class hierarchy
> > -try:
> > - spokeClassName = sys.argv[2]
> > - __import__(spokeModuleName, fromlist = [spokeClassName])
> > - spokeModule = sys.modules[spokeModuleName]
> > -except IndexError:
> > - __import__(spokeModuleName)
> > - spokeModule = sys.modules[spokeModuleName]
> > - for k,v in vars(spokeModule).iteritems():
> > - try:
> > - print k,v
> > - if issubclass(v, spokeBaseClass) and v !=
> > spokeBaseClass:
> > - spokeClassName = k
> > - spokeClass = v
> > - except TypeError:
> > - pass
> > -
> > -if not spokeClass:
> > - try:
> > - spokeClass = getattr(spokeModule, spokeClassName)
> > - except KeyError:
> > - print "%s %s could not be found in %s" % (SpokeText,
> > spokeClassName, spokeModuleName)
> > - sys.exit(1)
> > -
> > -
> > -print "Running %s %s from %s" % (spokeText, spokeClass,
> > spokeModule)
> > -
> > -platform = getPlatform()
> > -ksdata = makeVersion()
> > -storage = Storage(data=ksdata, platform=platform)
> > -storage.reset()
> > -instclass = DefaultInstall()
> > -app = App("TEST HARNESS", yes_or_no_question = YesNoDialog)
> > -
> > -payload = YumPayload(ksdata)
> > -payload.setup(storage)
> > -payload.install_log = sys.stdout
> > -
> > -spoke = spokeClass(app, ksdata, storage, payload, instclass)
> > -
> > -if not spoke.showable:
> > - print "This %s is not showable, but I'll continue anyway." %
> > spokeText
> > -
> > -app.schedule_screen(spoke)
> > -app.run()
> > -
> > -if hasattr(spoke, "status"):
> > - print "%s status:\n%s\n" % (SpokeText, spoke.status)
> > -if hasattr(spoke, "completed"):
> > - print "%s completed:\n%s\n" % (SpokeText, spoke.completed)
> > -print "%s kickstart fragment:\n%s" % (SpokeText, ksdata)
> > diff --git a/pyanaconda/ui/tui/tools/run-text-hub.py
> > b/pyanaconda/ui/tui/tools/run-text-hub.py
> > new file mode 120000
> > index 0000000..506993e
> > --- /dev/null
> > +++ b/pyanaconda/ui/tui/tools/run-text-hub.py
> > @@ -0,0 +1 @@
> > +run-text-spoke.py
> > \ No newline at end of file
> > diff --git a/pyanaconda/ui/tui/tools/run-text-spoke.py
> > b/pyanaconda/ui/tui/tools/run-text-spoke.py
> > new file mode 100755
> > index 0000000..d5e9c57
> > --- /dev/null
> > +++ b/pyanaconda/ui/tui/tools/run-text-spoke.py
> > @@ -0,0 +1,105 @@
> > +#!/usr/bin/python
> > +
> > +import sys, os
> > +import os.path
> > +
> > +# Check command line arguments
> > +if len(sys.argv)<2:
> > + print "Usage: $0 <spoke module name> [<spoke widget class>]"
> > + sys.exit(1)
> > +
> > +# Logging always needs to be set up first thing, or there'll be
> > tracebacks.
> > +from pyanaconda import anaconda_log
> > +anaconda_log.init()
> > +
> > +from pyanaconda.installclass import DefaultInstall
> > +from pyanaconda.storage import Storage
> > +from pyanaconda.threads import initThreading
> > +from pyanaconda.packaging.yumpayload import YumPayload
> > +from pyanaconda.platform import getPlatform
> > +from pykickstart.version import makeVersion
> > +from pyanaconda.ui.tui.simpleline import App
> > +from pyanaconda.ui.tui import YesNoDialog
> > +
> > +# Don't worry with fcoe, iscsi, dasd, any of that crud.
> > +from pyanaconda.flags import flags
> > +flags.imageInstall = True
> > +flags.testing = True
> > +
> > +initThreading()
> > +
> > +# Figure out the part we are about to show: hub/spoke?
> > +# And get the name of the module which represents it
> > +if os.path.basename(sys.argv[0]) == "run-spoke.py":
> > + spokeModuleName = "pyanaconda.ui.tui.spokes.%s" % sys.argv[1]
> > + from pyanaconda.ui.common import Spoke
> > + spokeBaseClass = Spoke
> > + spokeText = "spoke"
> > + SpokeText = "Spoke"
> > +elif os.path.basename(sys.argv[0]) == "run-hub.py":
> > + spokeModuleName = "pyanaconda.ui.tui.hubs.%s" % sys.argv[1]
> > + from pyanaconda.ui.common import Hub
> > + spokeBaseClass = Hub
> > + spokeText = "hub"
> > + SpokeText = "Hub"
> > +else:
> > + print "You have to run this command as run-spoke.py or
> > run-hub.py."
> > + sys.exit(1)
> > +
> > +# Set default spoke class
> > +spokeClass = None
> > +spokeClassName = None
> > +
> > +# Load spoke specified on the command line
> > +# If the spoke module was specified, but the spoke class was not,
> > +# try to find it using class hierarchy
> > +try:
> > + spokeClassName = sys.argv[2]
> > + __import__(spokeModuleName, fromlist = [spokeClassName])
> > + spokeModule = sys.modules[spokeModuleName]
> > +except IndexError:
> > + __import__(spokeModuleName)
> > + spokeModule = sys.modules[spokeModuleName]
> > + for k,v in vars(spokeModule).iteritems():
> > + try:
> > + print k,v
> > + if issubclass(v, spokeBaseClass) and v !=
> > spokeBaseClass:
> > + spokeClassName = k
> > + spokeClass = v
> > + except TypeError:
> > + pass
> > +
> > +if not spokeClass:
> > + try:
> > + spokeClass = getattr(spokeModule, spokeClassName)
> > + except KeyError:
> > + print "%s %s could not be found in %s" % (SpokeText,
> > spokeClassName, spokeModuleName)
> > + sys.exit(1)
> > +
> > +
> > +print "Running %s %s from %s" % (spokeText, spokeClass,
> > spokeModule)
> > +
> > +platform = getPlatform()
> > +ksdata = makeVersion()
> > +storage = Storage(data=ksdata, platform=platform)
> > +storage.reset()
> > +instclass = DefaultInstall()
> > +app = App("TEST HARNESS", yes_or_no_question = YesNoDialog)
> > +
> > +payload = YumPayload(ksdata)
> > +payload.setup(storage)
> > +payload.install_log = sys.stdout
> > +
> > +spoke = spokeClass(app, ksdata, storage, payload, instclass)
> > +
> > +if not spoke.showable:
> > + print "This %s is not showable, but I'll continue anyway." %
> > spokeText
> > +
> > +app.schedule_screen(spoke)
> > +app.run()
> > +
> > +if hasattr(spoke, "status"):
> > + print "%s status:\n%s\n" % (SpokeText, spoke.status)
> > +if hasattr(spoke, "completed"):
> > + print "%s completed:\n%s\n" % (SpokeText, spoke.completed)
> > +print "%s kickstart fragment:\n%s" % (SpokeText, ksdata)
>
>
> _______________________________________________
> anaconda-patches mailing list
> anaconda-patches at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches
>
More information about the anaconda-patches
mailing list