If anybody remembers anything else we had to do after the split, please let me know. Other than that these are quite simple changes.
Vratislav Podzimek (1): Split out anaconda's user interfaces into separate packages (#1012509)
anaconda | 10 ++++++++++ anaconda.spec.in | 5 ----- configure.ac | 4 ---- pyanaconda/isys/Makefile.am | 2 +- pyanaconda/isys/isys.c | 26 -------------------------- pyanaconda/keyboard.py | 4 ++-- 6 files changed, 13 insertions(+), 38 deletions(-)
Ported changes from commits 7161c69c9c10e79a0f2a89db99b7edc120384c95 06f7e38bc9f9ba445e61fe6ec648d64b54a45af4 b62a760e8de18a5fee1daaac496bd4df6aff5f15 eb7ae0f9e51ce03653fa25ba0de26eef4c3bfa08 9fe0091c3fde28a06b4588276f7897cfab50f77a 9784e31511aa7db2da810357a5566b230004aa25 8df36acfb7ebdcf62e598e3d28f31b8d4d5103b8 a8255d924c1007931d63212c5a29dd355e35cbe2 b48980dd206ba61364f382ab74a5eb3ae7770fd2
from master.
Related: rhbz#999464 Signed-off-by: Vratislav Podzimek vpodzime@redhat.com --- anaconda | 10 ++++++++++ anaconda.spec.in | 5 ----- configure.ac | 4 ---- pyanaconda/isys/Makefile.am | 2 +- pyanaconda/isys/isys.c | 26 -------------------------- pyanaconda/keyboard.py | 4 ++-- 6 files changed, 13 insertions(+), 38 deletions(-)
diff --git a/anaconda b/anaconda index 0fa742f..8b2f736 100755 --- a/anaconda +++ b/anaconda @@ -489,6 +489,16 @@ def setupDisplay(anaconda, opts, addon_paths=None): if vncS.vncconnectport == "": vncS.vncconnectport = anaconda.ksdata.vnc.port
+ if anaconda.displayMode == "g": + try: + # pylint: disable-msg=W0612 + from pyanaconda.ui.gui import GraphicalUserInterface + except ImportError: + stdoutLog.warning("Graphical user interface not available, falling back to text mode") + anaconda.displayMode = "t" + flags.usevnc = 0 + flags.vncquestion = False + # disable VNC over text question when not enough memory is available if blivet.util.total_memory() < isys.MIN_GUI_RAM: stdoutLog.warning("Not asking for VNC because current memory (%d) < MIN_GUI_RAM (%d)", blivet.util.total_memory(), isys.MIN_GUI_RAM) diff --git a/anaconda.spec.in b/anaconda.spec.in index dff3c30..a9e4b0c 100644 --- a/anaconda.spec.in +++ b/anaconda.spec.in @@ -49,9 +49,6 @@ BuildRequires: gobject-introspection-devel BuildRequires: glade-devel BuildRequires: pygobject3 BuildRequires: intltool >= %{intltoolver} -BuildRequires: libX11-devel -BuildRequires: libXt-devel -BuildRequires: libXxf86misc-devel BuildRequires: libgnomekbd-devel BuildRequires: libnl-devel >= %{libnlver} BuildRequires: libxklavier-devel @@ -157,7 +154,6 @@ system.
%package gui Summary: Graphical user interface for the Anaconda installer -BuildArch: noarch Requires: anaconda-core = %{version}-%{release} Requires: anaconda-widgets = %{version}-%{release} Requires: python-meh-gui >= %{mehver} @@ -176,7 +172,6 @@ This package contains graphical user interface for the Anaconda installer.
%package tui Summary: Textual user interface for the Anaconda installer -BuildArch: noarch Requires: anaconda-core = %{version}-%{release}
%description tui diff --git a/configure.ac b/configure.ac index e6f9d2a..25eaf23 100644 --- a/configure.ac +++ b/configure.ac @@ -67,10 +67,6 @@ AC_SUBST(INTLTOOL_DESKTOP_RULE) AM_GNU_GETTEXT([external])
# Checks for libraries. -AC_CHECK_LIB([X11], [XGetWindowAttributes], - [AC_SUBST(X11_LIBS, [-lX11])], - [AC_MSG_FAILURE([*** libX11 not usable.])]) - AC_CHECK_LIB([audit], [audit_open], [AC_SUBST(AUDIT_LIBS, [-laudit])], [AC_MSG_FAILURE([*** libaudit not usable.])]) diff --git a/pyanaconda/isys/Makefile.am b/pyanaconda/isys/Makefile.am index 3f37d45..7ad53bf 100644 --- a/pyanaconda/isys/Makefile.am +++ b/pyanaconda/isys/Makefile.am @@ -27,7 +27,7 @@ ISYS_CFLAGS = -DVERSION='"$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)"' \ $(NETWORKMANAGER_CFLAGS) $(LIBNL_CFLAGS) $(LIBNM_GLIB_CFLAGS) \ $(SELINUX_CFLAGS) ISYS_LIBS = $(RESOLV_LIBS) $(ZLIB_LIBS) \ - $(DEVMAPPER_LIBS) $(X11_LIBS) $(SELINUX_LIBS) \ + $(DEVMAPPER_LIBS) $(SELINUX_LIBS) \ $(LIBNL_LIBS) $(LIBNM_GLIB_LIBS)
isysdir = $(pkgpyexecdir)/isys diff --git a/pyanaconda/isys/isys.c b/pyanaconda/isys/isys.c index 7848504..17e85da 100644 --- a/pyanaconda/isys/isys.c +++ b/pyanaconda/isys/isys.c @@ -58,10 +58,6 @@ #include <signal.h> #include <execinfo.h>
-#include <X11/Xlib.h> -#include <X11/XKBlib.h> -#include <X11/keysym.h> - #include "isys.h" #include "auditd.h" #include "log.h" @@ -79,7 +75,6 @@ static PyObject * printObject(PyObject * s, PyObject * args); static PyObject * py_bind_textdomain_codeset(PyObject * o, PyObject * args); static PyObject * doSegvHandler(PyObject *s, PyObject *args); static PyObject * doAuditDaemon(PyObject *s); -static PyObject * doIsCapsLockEnabled(PyObject * s, PyObject * args); static PyObject * doGetAnacondaVersion(PyObject * s, PyObject * args); static PyObject * doInitLog(PyObject * s); static PyObject * doTotalMemory(PyObject * s); @@ -93,7 +88,6 @@ static PyMethodDef isysModuleMethods[] = { { "bind_textdomain_codeset", (PyCFunction) py_bind_textdomain_codeset, METH_VARARGS, NULL}, { "handleSegv", (PyCFunction) doSegvHandler, METH_VARARGS, NULL }, { "auditdaemon", (PyCFunction) doAuditDaemon, METH_NOARGS, NULL }, - { "isCapsLockEnabled", (PyCFunction) doIsCapsLockEnabled, METH_VARARGS, NULL }, { "getAnacondaVersion", (PyCFunction) doGetAnacondaVersion, METH_VARARGS, NULL }, { "initLog", (PyCFunction) doInitLog, METH_VARARGS, NULL }, { "total_memory", (PyCFunction) doTotalMemory, METH_NOARGS, NULL }, @@ -230,26 +224,6 @@ static PyObject * doAuditDaemon(PyObject *s) { return Py_None; }
-static PyObject * doIsCapsLockEnabled(PyObject * s, PyObject * args) { - Display *d = NULL; - XkbStateRec state; - - if ((d = XOpenDisplay(NULL)) == NULL) { - PyErr_SetString(PyExc_RuntimeError, "XOpenDisplay failed"); - return NULL; - } - - memset(&state, 0, sizeof(state)); - XkbGetState(d, XkbUseCoreKbd, &state); - - if (XCloseDisplay(d)) { - PyErr_SetString(PyExc_RuntimeError, "XCloseDisplay failed"); - return NULL; - } - - return PyBool_FromLong(state.locked_mods & LockMask); -} - static PyObject * doGetAnacondaVersion(PyObject * s, PyObject * args) { return Py_BuildValue("s", VERSION); } diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py index aeab7f4..9c02a1d 100755 --- a/pyanaconda/keyboard.py +++ b/pyanaconda/keyboard.py @@ -47,7 +47,7 @@ from pyanaconda.safe_dbus import dbus_call_safe_sync, dbus_get_property_safe_syn from pyanaconda.safe_dbus import DBUS_SYSTEM_BUS_ADDR, DBusPropertyError from pyanaconda.constants import DEFAULT_VC_FONT
-from gi.repository import Xkl, Gio, GLib +from gi.repository import Gio, GLib
import logging log = logging.getLogger("anaconda") @@ -372,7 +372,7 @@ class XklWrapper(object): return XklWrapper._instance
def __init__(self): - from gi.repository import GdkX11 + from gi.repository import GdkX11, Xkl
#initialize Xkl-related stuff display = GdkX11.x11_get_default_xdisplay()
Ported changes from commits 7161c69c9c10e79a0f2a89db99b7edc120384c95 06f7e38bc9f9ba445e61fe6ec648d64b54a45af4 b62a760e8de18a5fee1daaac496bd4df6aff5f15 eb7ae0f9e51ce03653fa25ba0de26eef4c3bfa08 9fe0091c3fde28a06b4588276f7897cfab50f77a 9784e31511aa7db2da810357a5566b230004aa25 8df36acfb7ebdcf62e598e3d28f31b8d4d5103b8 a8255d924c1007931d63212c5a29dd355e35cbe2 b48980dd206ba61364f382ab74a5eb3ae7770fd2
from master.
Related: rhbz#999464 Signed-off-by: Vratislav Podzimek vpodzime@redhat.com --- anaconda | 10 +++++++ anaconda.spec.in | 71 +++++++++++++++++++++++++++++++++++---------- configure.ac | 4 --- data/liveinst/liveinst | 18 ++++++++++-- pyanaconda/isys/Makefile.am | 2 +- pyanaconda/isys/isys.c | 26 ----------------- pyanaconda/keyboard.py | 4 +-- 7 files changed, 84 insertions(+), 51 deletions(-)
diff --git a/anaconda b/anaconda index 0fa742f..8b2f736 100755 --- a/anaconda +++ b/anaconda @@ -489,6 +489,16 @@ def setupDisplay(anaconda, opts, addon_paths=None): if vncS.vncconnectport == "": vncS.vncconnectport = anaconda.ksdata.vnc.port
+ if anaconda.displayMode == "g": + try: + # pylint: disable-msg=W0612 + from pyanaconda.ui.gui import GraphicalUserInterface + except ImportError: + stdoutLog.warning("Graphical user interface not available, falling back to text mode") + anaconda.displayMode = "t" + flags.usevnc = 0 + flags.vncquestion = False + # disable VNC over text question when not enough memory is available if blivet.util.total_memory() < isys.MIN_GUI_RAM: stdoutLog.warning("Not asking for VNC because current memory (%d) < MIN_GUI_RAM (%d)", blivet.util.total_memory(), isys.MIN_GUI_RAM) diff --git a/anaconda.spec.in b/anaconda.spec.in index b192f50..a9e4b0c 100644 --- a/anaconda.spec.in +++ b/anaconda.spec.in @@ -18,7 +18,6 @@ Source0: %{name}-%{version}.tar.bz2 # Versions of required components (done so we make sure the buildrequires # match the requires versions of things). %define gettextver 0.11 -%define gconfversion 2.28.1 %define intltoolver 0.31.2-3 %define libnlver 1.0 %define pykickstartver 1.99.43.13 @@ -50,9 +49,6 @@ BuildRequires: gobject-introspection-devel BuildRequires: glade-devel BuildRequires: pygobject3 BuildRequires: intltool >= %{intltoolver} -BuildRequires: libX11-devel -BuildRequires: libXt-devel -BuildRequires: libXxf86misc-devel BuildRequires: libgnomekbd-devel BuildRequires: libnl-devel >= %{libnlver} BuildRequires: libxklavier-devel @@ -79,9 +75,16 @@ BuildRequires: desktop-file-utils BuildRequires: s390utils-devel %endif
-Requires: anaconda-widgets = %{version}-%{release} +Requires: anaconda-core = %{version}-%{release} +Requires: anaconda-gui = %{version}-%{release} +Requires: anaconda-tui = %{version}-%{release} + +%description +The anaconda package is a metapackage for the Anaconda installer. + +%package core +Summary: Core of the Anaconda installer Requires: python-blivet >= 0.18.36 -Requires: gnome-icon-theme-symbolic Requires: python-meh >= %{mehver} Requires: libreport-anaconda >= 2.0.21-1 Requires: libreport-rhel-anaconda-bugzilla >= 2.1.11-1 @@ -91,7 +94,6 @@ Requires: parted >= %{partedver} Requires: pyparted >= %{pypartedver} Requires: yum >= %{yumver} Requires: python-urlgrabber >= %{pythonurlgrabberver} -Requires: system-logos Requires: pykickstart >= %{pykickstartver} Requires: langtable-data >= %{langtablever} Requires: langtable-python >= %{langtablever} @@ -103,18 +105,13 @@ Requires: dbus-python Requires: python-pwquality Requires: python-IPy Requires: python-nss -Requires: tigervnc-server-minimal Requires: pytz -Requires: libxklavier -Requires: libgnomekbd Requires: realmd Requires: teamd Requires: keybinder3 %ifarch %livearches Requires: usermode -Requires: zenity %endif -Requires: GConf2 >= %{gconfversion} %ifarch s390 s390x Requires: openssh %endif @@ -122,7 +119,6 @@ Requires: isomd5sum >= %{isomd5sum} Requires: yum-utils >= %{yumutilsver} Requires: createrepo Requires: NetworkManager >= %{nmver} -Requires: nm-connection-editor Requires: dhclient Requires: kbd Requires: chrony @@ -141,6 +137,9 @@ Requires: hfsplus-tools %endif %endif
+# required because of the rescue mode and VNC question +Requires: anaconda-tui = %{version}-%{release} + Requires: python-coverage
Obsoletes: anaconda-images <= 10 @@ -149,10 +148,35 @@ Obsoletes: anaconda-runtime < %{version}-%{release} Provides: anaconda-runtime = %{version}-%{release} Obsoletes: booty <= 0.107-1
-%description -The anaconda package contains the program which was used to install your +%description core +The anaconda-core package contains the program which was used to install your system.
+%package gui +Summary: Graphical user interface for the Anaconda installer +Requires: anaconda-core = %{version}-%{release} +Requires: anaconda-widgets = %{version}-%{release} +Requires: python-meh-gui >= %{mehver} +Requires: gnome-icon-theme-symbolic +Requires: system-logos +Requires: tigervnc-server-minimal +Requires: libxklavier +Requires: libgnomekbd +Requires: nm-connection-editor +%ifarch %livearches +Requires: zenity +%endif + +%description gui +This package contains graphical user interface for the Anaconda installer. + +%package tui +Summary: Textual user interface for the Anaconda installer +Requires: anaconda-core = %{version}-%{release} + +%description tui +This package contains textual user interface for the Anaconda installer. + %package widgets Summary: A set of custom GTK+ widgets for use with anaconda Group: System Environment/Libraries @@ -217,16 +241,23 @@ update-desktop-database &> /dev/null || : update-desktop-database &> /dev/null || : %endif
-%files -f %{name}.lang +%files %doc COPYING + +%files core -f %{name}.lang %{_unitdir}/* %{_prefix}/lib/systemd/system-generators/* %{_bindir}/instperf %{_sbindir}/anaconda %{_sbindir}/handle-sshpw %{_datadir}/anaconda +%exclude %{_datadir}/anaconda/tzmapdata %{_prefix}/libexec/anaconda %{_libdir}/python*/site-packages/pyanaconda/* +%exclude %{_libdir}/python*/site-packages/pyanaconda/rescue.py +%exclude %{_libdir}/python*/site-packages/pyanaconda/text.py +%exclude %{_libdir}/python*/site-packages/pyanaconda/ui/gui/* +%exclude %{_libdir}/python*/site-packages/pyanaconda/ui/tui/* %{_bindir}/analog %{_bindir}/anaconda-cleanup %ifarch %livearches @@ -239,6 +270,14 @@ update-desktop-database &> /dev/null || : %{_datadir}/icons/hicolor/* %endif
+%files gui +%{_libdir}/python*/site-packages/pyanaconda/ui/gui/* + +%files tui +%{_libdir}/python*/site-packages/pyanaconda/rescue.py +%{_libdir}/python*/site-packages/pyanaconda/text.py +%{_libdir}/python*/site-packages/pyanaconda/ui/tui/* + %files widgets %{_libdir}/libAnacondaWidgets.so.* %{_libdir}/girepository*/AnacondaWidgets*typelib diff --git a/configure.ac b/configure.ac index e6f9d2a..25eaf23 100644 --- a/configure.ac +++ b/configure.ac @@ -67,10 +67,6 @@ AC_SUBST(INTLTOOL_DESKTOP_RULE) AM_GNU_GETTEXT([external])
# Checks for libraries. -AC_CHECK_LIB([X11], [XGetWindowAttributes], - [AC_SUBST(X11_LIBS, [-lX11])], - [AC_MSG_FAILURE([*** libX11 not usable.])]) - AC_CHECK_LIB([audit], [audit_open], [AC_SUBST(AUDIT_LIBS, [-laudit])], [AC_MSG_FAILURE([*** libaudit not usable.])]) diff --git a/data/liveinst/liveinst b/data/liveinst/liveinst index c5684e6..5660db1 100755 --- a/data/liveinst/liveinst +++ b/data/liveinst/liveinst @@ -47,7 +47,14 @@ if [ -z "$LIVE_BLOCK" ]; then fi
if [ $LIVE_INSTALL = 1 -a ! -b "$LIVE_BLOCK" ]; then - zenity --error --title="Not a Live image" --text "Can't do live image installation unless running from a live image" + title="Not a Live image" + text="Can't do live image installation unless running from a live image" + if which zenity &> /dev/null; then + zenity --error --title="$title" --text="$text" + else + echo "$title" >&2 + echo "$text" >&2 + fi exit 1 fi
@@ -112,7 +119,14 @@ anaconda-cleanup $ANACONDA $* # Set up the updates, if provided. if [ ! -z "$UPDATES" ]; then if [ -e /tmp/updates.img -o -e /tmp/updates ]; then - zenity --error --title="Updates already exist" --text "updates= was provided, but an updates image already exists. Please remove /tmp/updates.img and /tmp/updates and try again." + title="Updates already exist" + text="updates= was provided, but an updates image already exists. Please remove /tmp/updates.img and /tmp/updates and try again." + if which zenity &> /dev/null; then + zenity --error --title="$title" --text="$text" + else + echo "$title" >&2 + echo "$text" >&2 + fi exit 1 fi
diff --git a/pyanaconda/isys/Makefile.am b/pyanaconda/isys/Makefile.am index 3f37d45..7ad53bf 100644 --- a/pyanaconda/isys/Makefile.am +++ b/pyanaconda/isys/Makefile.am @@ -27,7 +27,7 @@ ISYS_CFLAGS = -DVERSION='"$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)"' \ $(NETWORKMANAGER_CFLAGS) $(LIBNL_CFLAGS) $(LIBNM_GLIB_CFLAGS) \ $(SELINUX_CFLAGS) ISYS_LIBS = $(RESOLV_LIBS) $(ZLIB_LIBS) \ - $(DEVMAPPER_LIBS) $(X11_LIBS) $(SELINUX_LIBS) \ + $(DEVMAPPER_LIBS) $(SELINUX_LIBS) \ $(LIBNL_LIBS) $(LIBNM_GLIB_LIBS)
isysdir = $(pkgpyexecdir)/isys diff --git a/pyanaconda/isys/isys.c b/pyanaconda/isys/isys.c index 7848504..17e85da 100644 --- a/pyanaconda/isys/isys.c +++ b/pyanaconda/isys/isys.c @@ -58,10 +58,6 @@ #include <signal.h> #include <execinfo.h>
-#include <X11/Xlib.h> -#include <X11/XKBlib.h> -#include <X11/keysym.h> - #include "isys.h" #include "auditd.h" #include "log.h" @@ -79,7 +75,6 @@ static PyObject * printObject(PyObject * s, PyObject * args); static PyObject * py_bind_textdomain_codeset(PyObject * o, PyObject * args); static PyObject * doSegvHandler(PyObject *s, PyObject *args); static PyObject * doAuditDaemon(PyObject *s); -static PyObject * doIsCapsLockEnabled(PyObject * s, PyObject * args); static PyObject * doGetAnacondaVersion(PyObject * s, PyObject * args); static PyObject * doInitLog(PyObject * s); static PyObject * doTotalMemory(PyObject * s); @@ -93,7 +88,6 @@ static PyMethodDef isysModuleMethods[] = { { "bind_textdomain_codeset", (PyCFunction) py_bind_textdomain_codeset, METH_VARARGS, NULL}, { "handleSegv", (PyCFunction) doSegvHandler, METH_VARARGS, NULL }, { "auditdaemon", (PyCFunction) doAuditDaemon, METH_NOARGS, NULL }, - { "isCapsLockEnabled", (PyCFunction) doIsCapsLockEnabled, METH_VARARGS, NULL }, { "getAnacondaVersion", (PyCFunction) doGetAnacondaVersion, METH_VARARGS, NULL }, { "initLog", (PyCFunction) doInitLog, METH_VARARGS, NULL }, { "total_memory", (PyCFunction) doTotalMemory, METH_NOARGS, NULL }, @@ -230,26 +224,6 @@ static PyObject * doAuditDaemon(PyObject *s) { return Py_None; }
-static PyObject * doIsCapsLockEnabled(PyObject * s, PyObject * args) { - Display *d = NULL; - XkbStateRec state; - - if ((d = XOpenDisplay(NULL)) == NULL) { - PyErr_SetString(PyExc_RuntimeError, "XOpenDisplay failed"); - return NULL; - } - - memset(&state, 0, sizeof(state)); - XkbGetState(d, XkbUseCoreKbd, &state); - - if (XCloseDisplay(d)) { - PyErr_SetString(PyExc_RuntimeError, "XCloseDisplay failed"); - return NULL; - } - - return PyBool_FromLong(state.locked_mods & LockMask); -} - static PyObject * doGetAnacondaVersion(PyObject * s, PyObject * args) { return Py_BuildValue("s", VERSION); } diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py index aeab7f4..9c02a1d 100755 --- a/pyanaconda/keyboard.py +++ b/pyanaconda/keyboard.py @@ -47,7 +47,7 @@ from pyanaconda.safe_dbus import dbus_call_safe_sync, dbus_get_property_safe_syn from pyanaconda.safe_dbus import DBUS_SYSTEM_BUS_ADDR, DBusPropertyError from pyanaconda.constants import DEFAULT_VC_FONT
-from gi.repository import Xkl, Gio, GLib +from gi.repository import Gio, GLib
import logging log = logging.getLogger("anaconda") @@ -372,7 +372,7 @@ class XklWrapper(object): return XklWrapper._instance
def __init__(self): - from gi.repository import GdkX11 + from gi.repository import GdkX11, Xkl
#initialize Xkl-related stuff display = GdkX11.x11_get_default_xdisplay()
Ported changes from commits 7161c69c9c10e79a0f2a89db99b7edc120384c95 06f7e38bc9f9ba445e61fe6ec648d64b54a45af4 b62a760e8de18a5fee1daaac496bd4df6aff5f15 eb7ae0f9e51ce03653fa25ba0de26eef4c3bfa08 9fe0091c3fde28a06b4588276f7897cfab50f77a 9784e31511aa7db2da810357a5566b230004aa25 8df36acfb7ebdcf62e598e3d28f31b8d4d5103b8 a8255d924c1007931d63212c5a29dd355e35cbe2 b48980dd206ba61364f382ab74a5eb3ae7770fd2
from master.
Related: rhbz#999464 Signed-off-by: Vratislav Podzimek vpodzime@redhat.com
I don't remember any other patches for this from master, though perhaps lorax or comps changes were also required to make sure anaconda gets pulled into the installation/live media?
- Chris
On Tue, 2014-09-02 at 15:54 -0400, Chris Lumens wrote:
Ported changes from commits 7161c69c9c10e79a0f2a89db99b7edc120384c95 06f7e38bc9f9ba445e61fe6ec648d64b54a45af4 b62a760e8de18a5fee1daaac496bd4df6aff5f15 eb7ae0f9e51ce03653fa25ba0de26eef4c3bfa08 9fe0091c3fde28a06b4588276f7897cfab50f77a 9784e31511aa7db2da810357a5566b230004aa25 8df36acfb7ebdcf62e598e3d28f31b8d4d5103b8 a8255d924c1007931d63212c5a29dd355e35cbe2 b48980dd206ba61364f382ab74a5eb3ae7770fd2
from master.
Related: rhbz#999464 Signed-off-by: Vratislav Podzimek vpodzime@redhat.com
I don't remember any other patches for this from master, though perhaps lorax or comps changes were also required to make sure anaconda gets pulled into the installation/live media?
I think that should be okay as with this change the 'anaconda' package becomes a meta-package pulling the core and UI subpackages in as a dependency. So 'yum install anaconda' should still result in the same.
Interactive exception handling and reporting generally doesn't require GUI so we should allow using python-meh without pulling in the whole graphical stack.
Related: rhbz#1012509 Signed-off-by: Vratislav Podzimek vpodzime@redhat.com --- python-meh.spec | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/python-meh.spec b/python-meh.spec index 4e29b98..32fd95b 100644 --- a/python-meh.spec +++ b/python-meh.spec @@ -21,14 +21,23 @@ BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, gettext, python-setuptools-devel, intltool BuildRequires: dbus-python, libreport-gtk >= %{libreportver}, libreport-cli >= %{libreportver} -Requires: python, dbus-python, pygobject3, gtk3 +Requires: python, dbus-python Requires: openssh-clients, rpm-python, yum -Requires: libreport-gtk >= %{libreportver}, libreport-cli >= %{libreportver} +Requires: libreport-cli >= %{libreportver}
%description The python-meh package is a python library for handling, saving, and reporting exceptions.
+%package gui +Summary: Graphical user interface for the python-meh library +Requires: python-meh = %{version}-%{release} +Requires: pygobject3, gtk3 +Requires: libreport-gtk >= %{libreportver} + +%description gui +The python-meh-gui package provides a GUI for the python-meh library. + %prep %setup -q
@@ -50,6 +59,10 @@ rm -rf %{buildroot} %defattr(-,root,root,-) %doc ChangeLog COPYING %{python_sitelib}/* +%exclude %{python_sitelib}/meh/ui/gui.py + +%files gui +%{python_sitelib}/meh/ui/gui.py %{_datadir}/python-meh
%changelog
On Wed, 2014-09-03 at 12:30 +0200, Vratislav Podzimek wrote:
Interactive exception handling and reporting generally doesn't require GUI so we should allow using python-meh without pulling in the whole graphical stack.
Related: rhbz#1012509 Signed-off-by: Vratislav Podzimek vpodzime@redhat.com
python-meh.spec | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/python-meh.spec b/python-meh.spec index 4e29b98..32fd95b 100644 --- a/python-meh.spec +++ b/python-meh.spec @@ -21,14 +21,23 @@ BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, gettext, python-setuptools-devel, intltool BuildRequires: dbus-python, libreport-gtk >= %{libreportver}, libreport-cli >= %{libreportver} -Requires: python, dbus-python, pygobject3, gtk3 +Requires: python, dbus-python Requires: openssh-clients, rpm-python, yum -Requires: libreport-gtk >= %{libreportver}, libreport-cli >= %{libreportver} +Requires: libreport-cli >= %{libreportver}
%description The python-meh package is a python library for handling, saving, and reporting exceptions.
+%package gui +Summary: Graphical user interface for the python-meh library +Requires: python-meh = %{version}-%{release} +Requires: pygobject3, gtk3 +Requires: libreport-gtk >= %{libreportver}
+%description gui +The python-meh-gui package provides a GUI for the python-meh library.
%prep %setup -q
@@ -50,6 +59,10 @@ rm -rf %{buildroot} %defattr(-,root,root,-) %doc ChangeLog COPYING %{python_sitelib}/* +%exclude %{python_sitelib}/meh/ui/gui.py
+%files gui +%{python_sitelib}/meh/ui/gui.py %{_datadir}/python-meh
%changelog
Looks good to me, ACK!
anaconda-patches@lists.fedorahosted.org