[PATCH] Remove another reference to log_picker.
by Chris Lumens
---
anaconda.spec.in | 1 -
1 file changed, 1 deletion(-)
diff --git a/anaconda.spec.in b/anaconda.spec.in
index 14c3b9d..af78298 100644
--- a/anaconda.spec.in
+++ b/anaconda.spec.in
@@ -223,7 +223,6 @@ update-desktop-database &> /dev/null || :
%{_datadir}/anaconda
%{_prefix}/libexec/anaconda
%{_libdir}/python*/site-packages/pyanaconda/*
-%{_libdir}/python*/site-packages/log_picker/*
%{_bindir}/analog
%{_bindir}/anaconda-cleanup
%ifarch %livearches
--
1.8.1.2
10 years, 7 months
[PATCH] Use assertIsInstance in the kickstart version test.
by Chris Lumens
This fixes up the case where anaconda doesn't subclass a pykickstart class,
but still needs to reference one - this case occurs due to initial-setup
using anaconda.
---
tests/kickstart_tests/version_test.py | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/tests/kickstart_tests/version_test.py b/tests/kickstart_tests/version_test.py
index 1e544b8..c3650f8 100644
--- a/tests/kickstart_tests/version_test.py
+++ b/tests/kickstart_tests/version_test.py
@@ -39,18 +39,14 @@ class BaseTestCase(unittest.TestCase):
class CommandVersionTestCase(BaseTestCase):
def commands_test(self):
for (commandName, commandObj) in self._commandMap.iteritems():
- baseClass = commandObj().__class__.__bases__[0]
pykickstartClass = self.handler.commands[commandName].__class__
- self.assertEqual(baseClass.__name__, pykickstartClass.__name__)
+ self.assertIsInstance(commandObj(), pykickstartClass)
# Do the same thing as CommandVersionTestCase, but for data objects.
class DataVersionTestCase(BaseTestCase):
def data_test(self):
for (dataName, dataObj) in self._dataMap.iteritems():
- baseClass = dataObj().__class__.__bases__[0]
-
# pykickstart does not expose data objects as a mapping the way
# it does command objects.
pykickstartClass = eval("self.handler.%s" % dataName)
-
- self.assertEqual(baseClass.__name__, pykickstartClass.__name__)
+ self.assertIsInstance(dataObj(), pykickstartClass)
--
1.8.1.2
10 years, 7 months
[Lorax master/rhel7 1/2] Add macboot option (#1012529)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
Add a macboot option to lorax and both macboot and nomacboot to lmc.
Related: rhbz#1012529
---
src/sbin/livemedia-creator | 7 ++++++-
src/sbin/lorax | 4 +++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/sbin/livemedia-creator b/src/sbin/livemedia-creator
index a0a994b..c2996c9 100755
--- a/src/sbin/livemedia-creator
+++ b/src/sbin/livemedia-creator
@@ -521,7 +521,7 @@ def make_livecd(opts, mount_dir, work_dir):
isolabel = isolabel[:32]
log.warn("Truncating isolabel to 32 chars: %s" % (isolabel,))
- tb = TreeBuilder(product=product, arch=arch,
+ tb = TreeBuilder(product=product, arch=arch, domacboot=opts.domacboot,
inroot=mount_dir, outroot=work_dir,
runtime=RUNTIME, isolabel=isolabel,
templatedir=joinpaths(opts.lorax_templates,"live/"))
@@ -772,6 +772,11 @@ if __name__ == '__main__':
help="Directory to copy the resulting images and iso into. "
"Defaults to the temporary working directory")
+ parser.add_argument( "--macboot", action="store_true", default=True,
+ dest="domacboot")
+ parser.add_argument( "--nomacboot", action="store_false",
+ dest="domacboot")
+
# Group of arguments for appliance creation
app_group = parser.add_argument_group("appliance arguments")
app_group.add_argument( "--app-name", default=None,
diff --git a/src/sbin/lorax b/src/sbin/lorax
index a571c0b..b137f48 100755
--- a/src/sbin/lorax
+++ b/src/sbin/lorax
@@ -123,8 +123,10 @@ def main(args):
help="build architecture", metavar="STRING")
optional.add_option("--volid", default=None,
help="volume id", metavar="STRING")
+ optional.add_option("--macboot", help="",
+ action="store_true", default=True, dest="domacboot")
optional.add_option("--nomacboot", help="",
- action="store_false", default=True, dest="domacboot")
+ action="store_false", dest="domacboot")
optional.add_option("--noupgrade", help="",
action="store_false", default=True, dest="doupgrade")
optional.add_option("--logfile", default="./lorax.log",
--
1.8.3.1
10 years, 7 months
[PATCH] Fix display of weak password warning (#1011850)
by David Shea
Only display the error message from libpwquality if one has been set.
---
pyanaconda/ui/gui/spokes/user.py | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/pyanaconda/ui/gui/spokes/user.py b/pyanaconda/ui/gui/spokes/user.py
index 39f7c42..aca7d95 100644
--- a/pyanaconda/ui/gui/spokes/user.py
+++ b/pyanaconda/ui/gui/spokes/user.py
@@ -548,8 +548,12 @@ class UserSpoke(FirstbootSpokeMixIn, NormalSpoke):
if self._waivePasswordClicks > 1:
return None
elif self._waivePasswordClicks == 1:
- return _("You have provided a weak password: %s. "
- " Press Done again to use anyway.") % self._pwq_error
+ if self._pwq_error:
+ return _("You have provided a weak password: %s. "
+ " Press Done again to use anyway.") % self._pwq_error
+ else:
+ return _("You have provided a weak password. "
+ " Press Done again to use anyway.")
else:
error = _("The password you have provided is weak")
if self._pwq_error:
--
1.8.3.1
10 years, 7 months
[PATCH] Turn spinner back on for configuration
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
Some tasks, like rebuilding the initrd, take long enough that the
spinner is helpful.
---
pyanaconda/ui/gui/hubs/progress.py | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/pyanaconda/ui/gui/hubs/progress.py b/pyanaconda/ui/gui/hubs/progress.py
index e89f7cf..e052ff6 100644
--- a/pyanaconda/ui/gui/hubs/progress.py
+++ b/pyanaconda/ui/gui/hubs/progress.py
@@ -68,6 +68,8 @@ class ProgressHub(Hub):
if reenable_ransom:
self._start_ransom_notes()
+ self._restart_spinner()
+
GLib.timeout_add(250, self._update_progress, self._configuration_done)
threadMgr.add(AnacondaThread(name=THREAD_CONFIGURATION, target=doConfiguration,
args=(self.storage, self.payload, self.data, self.instclass)))
@@ -269,6 +271,12 @@ class ProgressHub(Hub):
gtk_call_once(self._progressLabel.set_text, message)
@gtk_action_nowait
+ def _restart_spinner(self):
+ spinner = self.builder.get_object("progressSpinner")
+ spinner.show()
+ spinner.start()
+
+ @gtk_action_nowait
def _progress_bar_complete(self):
self._progressBar.set_fraction(1.0)
self._progressLabel.set_text(_("Complete!"))
--
1.8.3.1
10 years, 7 months
[PATCH] Fix the tui simpleline imports.
by David Shea
---
pyanaconda/ui/tui/__init__.py | 2 +-
pyanaconda/ui/tui/tuiobject.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/pyanaconda/ui/tui/__init__.py b/pyanaconda/ui/tui/__init__.py
index 9ce93a2..1b12fb9 100644
--- a/pyanaconda/ui/tui/__init__.py
+++ b/pyanaconda/ui/tui/__init__.py
@@ -23,7 +23,7 @@ from pyanaconda import ui
from pyanaconda.ui.communication import hubQ
from pyanaconda.flags import flags
from pyanaconda.threads import threadMgr
-import pyanaconda.ui.tui.simpleline as tui
+from pyanaconda.ui.tui import simpleline as tui
from pyanaconda.ui.tui.hubs.summary import SummaryHub
from pyanaconda.ui.tui.spokes import StandaloneSpoke
from pyanaconda.ui.tui.tuiobject import YesNoDialog, ErrorDialog
diff --git a/pyanaconda/ui/tui/tuiobject.py b/pyanaconda/ui/tui/tuiobject.py
index a6f06b9..ef1253d 100644
--- a/pyanaconda/ui/tui/tuiobject.py
+++ b/pyanaconda/ui/tui/tuiobject.py
@@ -21,7 +21,7 @@
from pyanaconda.i18n import _
from pyanaconda.ui import common
-import pyanaconda.ui.tui.simpleline as tui
+from pyanaconda.ui.tui import simpleline as tui
from pyanaconda.constants_text import INPUT_PROCESSED
class ErrorDialog(tui.UIScreen):
--
1.8.3.1
10 years, 7 months
[master/rhel7] Clean up some rpmdiff errors (#1012624)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
---
anaconda.spec.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/anaconda.spec.in b/anaconda.spec.in
index 73ba9a3..3ef9faa 100644
--- a/anaconda.spec.in
+++ b/anaconda.spec.in
@@ -85,7 +85,7 @@ Requires: gnome-icon-theme-symbolic
Requires: python-meh >= %{mehver}
Requires: libreport-anaconda >= 2.0.21-1
Requires: libselinux-python
-Requires: rpm-python >= %{rpmpythonver}
+Requires: rpm-python
Requires: parted >= %{partedver}
Requires: pyparted >= %{pypartedver}
Requires: yum >= %{yumver}
@@ -121,7 +121,6 @@ Requires: NetworkManager >= %{nmver}
Requires: nm-connection-editor
Requires: dhclient
Requires: anaconda-yum-plugins
-Requires: libselinux-python >= %{libselinuxver}
Requires: kbd
Requires: chrony
Requires: ntpdate
@@ -160,6 +159,7 @@ This package contains a set of custom GTK+ widgets used by the anaconda installe
Summary: Development files for anaconda-widgets
Group: Development/Libraries
Requires: glade
+Requires: anaconda-widgets = %{version}-%{release}
%description widgets-devel
This package contains libraries and header files needed for writing the anaconda
--
1.8.3.1
10 years, 7 months
[PATCH] Don't confuse users by misleading tooltip (#1011112)
by Vratislav Podzimek
If there is only one keyboard layout configured, the layout indicator shouldn't
tell users that clicking it will switch layouts.
Signed-off-by: Vratislav Podzimek <vpodzime(a)redhat.com>
---
widgets/src/LayoutIndicator.c | 27 ++++++++++++++++++++-------
1 file changed, 20 insertions(+), 7 deletions(-)
diff --git a/widgets/src/LayoutIndicator.c b/widgets/src/LayoutIndicator.c
index c76768d..d77812b 100644
--- a/widgets/src/LayoutIndicator.c
+++ b/widgets/src/LayoutIndicator.c
@@ -28,7 +28,9 @@
#include "LayoutIndicator.h"
#include "intl.h"
-#define TOOLTIP_FORMAT_STR _("Current layout: '%s'. Click to switch to the next layout")
+#define TOOLTIP_BASE_FORMAT_STR _("Current layout: '%s'. %s")
+#define MULTIPLE_LAYOUTS_TIP _("Click to switch to the next layout.")
+#define SINGLE_LAYOUT_TIP _("Add more layouts to enable switching.")
#define DEFAULT_LAYOUT "us"
#define DEFAULT_LABEL_MAX_CHAR_WIDTH 8
#define MARKUP_FORMAT_STR "<span fgcolor='black' weight='bold'>%s</span>"
@@ -72,6 +74,7 @@ static void anaconda_layout_indicator_realize(GtkWidget *widget, gpointer user_d
static void anaconda_layout_indicator_clicked(GtkWidget *widget, GdkEvent *event, gpointer user_data);
static void anaconda_layout_indicator_refresh_ui_elements(AnacondaLayoutIndicator *indicator);
static void anaconda_layout_indicator_refresh_layout(AnacondaLayoutIndicator *indicator);
+static void anaconda_layout_indicator_refresh_tooltip(AnacondaLayoutIndicator *indicator);
/* helper functions */
static gchar* get_current_layout(XklEngine *engine, XklConfigRec *conf_rec);
@@ -311,15 +314,12 @@ static void anaconda_layout_indicator_clicked(GtkWidget *widget, GdkEvent *event
static void anaconda_layout_indicator_refresh_ui_elements(AnacondaLayoutIndicator *self) {
gchar *markup;
- gchar *tooltip;
markup = g_markup_printf_escaped(MARKUP_FORMAT_STR, self->priv->layout);
gtk_label_set_markup(self->priv->layout_label, markup);
g_free(markup);
- tooltip = g_strdup_printf(TOOLTIP_FORMAT_STR, self->priv->layout);
- gtk_widget_set_tooltip_text(GTK_WIDGET(self), tooltip);
- g_free(tooltip);
+ anaconda_layout_indicator_refresh_tooltip(self);
}
static void anaconda_layout_indicator_refresh_layout(AnacondaLayoutIndicator *self) {
@@ -331,6 +331,20 @@ static void anaconda_layout_indicator_refresh_layout(AnacondaLayoutIndicator *se
anaconda_layout_indicator_refresh_ui_elements(self);
}
+static void anaconda_layout_indicator_refresh_tooltip(AnacondaLayoutIndicator *self) {
+ AnacondaLayoutIndicatorClass *klass = ANACONDA_LAYOUT_INDICATOR_GET_CLASS(self);
+ guint n_groups = xkl_engine_get_num_groups(klass->engine);
+ gchar *tooltip;
+
+ if (n_groups > 1)
+ tooltip = g_strdup_printf(TOOLTIP_BASE_FORMAT_STR, self->priv->layout, MULTIPLE_LAYOUTS_TIP);
+ else
+ tooltip = g_strdup_printf(TOOLTIP_BASE_FORMAT_STR, self->priv->layout, SINGLE_LAYOUT_TIP);
+
+ gtk_widget_set_tooltip_text(GTK_WIDGET(self), tooltip);
+ g_free(tooltip);
+}
+
/**
* get_current_layout:
*
@@ -457,6 +471,5 @@ void anaconda_layout_indicator_set_label_width(AnacondaLayoutIndicator *indicato
* Since: 1.0
*/
void anaconda_layout_indicator_retranslate(AnacondaLayoutIndicator *indicator) {
- gtk_widget_set_tooltip_text(GTK_WIDGET(indicator),
- g_strdup_printf(TOOLTIP_FORMAT_STR, indicator->priv->layout));
+ anaconda_layout_indicator_refresh_tooltip(indicator);
}
--
1.7.11.7
10 years, 7 months
[PATCH] If the full device path is given in repo=hd:, still select it in the UI (#980479).
by Chris Lumens
---
pyanaconda/ui/gui/spokes/source.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyanaconda/ui/gui/spokes/source.py b/pyanaconda/ui/gui/spokes/source.py
index 869bba2..20fb331 100644
--- a/pyanaconda/ui/gui/spokes/source.py
+++ b/pyanaconda/ui/gui/spokes/source.py
@@ -650,7 +650,7 @@ class SourceSpoke(NormalSpoke):
"label" : dev.format.label or dev.format.uuid or ""
}
store.append([dev, "%(model)s %(path)s (%(size)s MB) %(format)s %(label)s" % dev_info])
- if self.data.method.method == "harddrive" and dev.name == self.data.method.partition:
+ if self.data.method.method == "harddrive" and self.data.method.partition in [dev.path, dev.name]:
active = idx
added = True
idx += 1
--
1.8.1.2
10 years, 7 months
[rhel7-branch][PATCH] Add tmpfs support
by Martin Kolman
This makes it possible to create arbitrary tmpfs mounts
using the kickstart part command, for example:
part /tmp --fstype=tmpfs --size=700
part /foo --fstype=tmpfs --maxsize=500 --grow
And as --size only supports integers,
explicit size in % of RAM can be set like this:
part /bar --fstype=tmpfs --fsoptions="size=25%"
So far this works with kickstart,
custom partitioning seems to have some
issues with it and I'm investigating them.
Martin Kolman (1):
Add tmpfs support (#918621)
pyanaconda/kickstart.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
--
1.8.3.1
10 years, 7 months