[PATCH] Mark language search string translatable. (#955229)
by Samantha N. Bueno
---
pyanaconda/ui/gui/spokes/welcome.glade | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyanaconda/ui/gui/spokes/welcome.glade b/pyanaconda/ui/gui/spokes/welcome.glade
index f0a4602..4f79b7c 100644
--- a/pyanaconda/ui/gui/spokes/welcome.glade
+++ b/pyanaconda/ui/gui/spokes/welcome.glade
@@ -367,7 +367,7 @@
<property name="invisible_char">●</property>
<property name="invisible_char_set">True</property>
<property name="secondary_icon_name">edit-clear-symbolic</property>
- <property name="placeholder_text">Type here to search.</property>
+ <property name="placeholder_text" translatable="yes">Type here to search.</property>
<signal name="changed" handler="on_entry_changed" swapped="no"/>
<signal name="icon-release" handler="on_clear_icon_clicked" swapped="no"/>
</object>
--
1.7.11.7
10 years, 2 months
[anaconda][PATCH] Allow hubs and standalone spokes decide if it is possible to continue
by Vratislav Podzimek
Related: rhbz#965797
Signed-off-by: Vratislav Podzimek <vpodzime(a)redhat.com>
---
pyanaconda/ui/gui/hubs/__init__.py | 29 +++++++++++++++++++++++++++--
pyanaconda/ui/gui/spokes/__init__.py | 18 ++++++++++++++++--
2 files changed, 43 insertions(+), 4 deletions(-)
diff --git a/pyanaconda/ui/gui/hubs/__init__.py b/pyanaconda/ui/gui/hubs/__init__.py
index 37daf47..bb473b6 100644
--- a/pyanaconda/ui/gui/hubs/__init__.py
+++ b/pyanaconda/ui/gui/hubs/__init__.py
@@ -354,11 +354,36 @@ class Hub(GUIObject, common.Hub):
self._update_spoke_id = GLib.timeout_add_seconds(1, self._update_spokes)
- ### SIGNAL HANDLERS
+ @property
+ def continue_possible(self):
+ """
+ Indicates whether it is possible to continue to the next action (hub,
+ standalone spoke,...). When overridden, IT IS THE HUB'S RESPONSIBILITY
+ to inform user, where the problem is and how to fix it.
+
+ """
+
+ return True
+
+ ### SIGNAL HANDLING
+ def _checked_continue(self, cb):
+ """
+ Checks if continue is possible (from the hub's perspective and if yes,
+ runs the callback.
+
+ """
+
+ if self.continue_possible:
+ cb()
+
+ def _register_continue_event_cb(self, cb):
+ """Registers the callback for the continue event adding the check."""
+
+ self.continueButton.connect("clicked", lambda *args: self._checked_continue(cb))
def register_event_cb(self, event, cb):
if event == "continue" and hasattr(self, "continueButton"):
- self.continueButton.connect("clicked", lambda *args: cb())
+ self._register_continue_event_cb(cb)
elif event == "quit" and hasattr(self, "quitButton"):
self.quitButton.connect("clicked", lambda *args: cb())
diff --git a/pyanaconda/ui/gui/spokes/__init__.py b/pyanaconda/ui/gui/spokes/__init__.py
index c1a35b3..bb85e1e 100644
--- a/pyanaconda/ui/gui/spokes/__init__.py
+++ b/pyanaconda/ui/gui/spokes/__init__.py
@@ -63,9 +63,23 @@ class StandaloneSpoke(Spoke, common.StandaloneSpoke):
Spoke.__init__(self, data)
common.StandaloneSpoke.__init__(self, data, storage, payload, instclass)
+ @property
+ def continue_possible(self):
+ """
+ Indicates whether it is possible to continue to the next action (hub,
+ standalone spoke,...). When overridden, IT IS THE SPOKES'S
+ RESPONSIBILITY to inform user, where the problem is and how to fix it.
+
+ """
+
+ return True
+
+
+ ### SIGNAL HANDLING
def _on_continue_clicked(self, cb):
- self.apply()
- cb()
+ if self.continue_possible:
+ self.apply()
+ cb()
def register_event_cb(self, event, cb):
if event == "continue":
--
1.7.11.7
10 years, 3 months
[master/rhel7-branch] A bit controversial one for the MountpointSelectors' usage
by Vratislav Podzimek
The following patch fixes the bug #975838 by moving the focus changes handling
from the MountpointSelector widget to the Page and spoke it appears in,
respectively. The controversy lies in making the MountpointSelector's behaviour
relying on the widget it is placed into. The MounpointSelector widget per se no
longer handles focus changes correctly and it looks like being selected/chosen
even if it loses focus. However, this is what we want -- to keep it look like
that when user clicks to the right part of the screen to change parameters of
the mount point being chosen. And since I doubt anybody will reuse the
MountpointSelector as a standalone widget without the Page and the Accordion I
think this change could be done.
I've recorded a video preview [1] showing the functionality with this patch
applied.
[1] http://vpodzime.fedorapeople.org/MountpointSelector_focus.webm
Let me know if I should add more comments to some places.
Vratislav Podzimek (1):
Handle focus changes of MountpointSelectors from outside (#975838)
pyanaconda/ui/gui/spokes/custom.py | 2 ++
pyanaconda/ui/gui/spokes/lib/accordion.py | 6 ++++++
widgets/src/MountpointSelector.c | 31 ++++++++-----------------------
3 files changed, 16 insertions(+), 23 deletions(-)
--
1.7.11.7
10 years, 5 months
FBA EDEV/EAV support
by Samantha N. Bueno
These patches should get pulled into F19 branch. IBM has already tested
these fixes and verified correct/expected behavior.
10 years, 8 months
[master][PATCH] Threaded Koji lookup & downloads in makeupdates
by Martin Kolman
Ive converted the Koji lookups and RPM downloads to run in threads,
one thread per package. Each thread handles both the lookup and package download.
As urlgrabber turned out to be thread-unsafe, I've replaced it with good old urrllib
and got rid of the package download progress reporting.
As the downloads now run in parallel, they finish too quickly for any progress reporting
to be needed.
Martin Kolman (1):
Threaded Koji RPM lookups and downloads
scripts/makeupdates | 165 ++++++++++++++++++++++++++++++++++------------------
1 file changed, 108 insertions(+), 57 deletions(-)
--
1.8.3.1
10 years, 9 months
[PATCH] Fix issue where installation hangs in linuxrc.s390. (#949409)
by Samantha N. Bueno
Anaconda was not waiting for all device nodes to be created and the
requisite dasd driver to be loaded. This resulted in device detection
failing when attempting to process the cms conf file.
Patch supplied by Masahiro Matsuya <mmatsuya(a)redhat.com>.
Resolves: rhbz#949409
---
loader/linuxrc.s390 | 1 +
1 file changed, 1 insertion(+)
diff --git a/loader/linuxrc.s390 b/loader/linuxrc.s390
index c54ca93..95e9499 100644
--- a/loader/linuxrc.s390
+++ b/loader/linuxrc.s390
@@ -225,6 +225,7 @@ function readcmsfile() # $1=dasdport $2=filename
fi
# precondition: dasd_eckd_mod driver incl. dependencies loaded,
# dasd_mod must be loaded without setting any DASD online
+ udevadm settle
dev=$(canonicalize_devno $1)
numcpus=$(grep processors /proc/cpuinfo | cut -c19-)
if [ ${numcpus} -eq 1 ]; then
--
1.8.3.1
10 years, 9 months
[master/rhel7] Only move INSTALL_TREE when it is mounted (#888196)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
---
pyanaconda/packaging/yumpayload.py | 35 +++++++++++++++++++++++++----------
1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py
index fdcbfb6..c912f8a 100644
--- a/pyanaconda/packaging/yumpayload.py
+++ b/pyanaconda/packaging/yumpayload.py
@@ -658,7 +658,16 @@ reposdir=%s
url = "file://" + INSTALL_TREE
self.install_device = isodevice
elif method.method == "nfs":
- # See if dracut dealt with nfsiso
+ # There are several possible scenarios here:
+ # 1. dracut could have mounted both the nfs repo and an iso and used
+ # the stage2 from inside the iso to boot from.
+ # isodev and device will be set in this case.
+ # 2. dracut could have mounted the nfs repo and used a stage2 from
+ # the NFS mount w/o mounting the iso.
+ # isodev will be None and device will be the nfs: path
+ # 3. dracut did not mount the nfs (eg. stage2 came from elsewhere)
+ # isodev and device are both None
+ # 4. The repo may not contain an iso, in that case use it as is
if isodev:
options, host, path = iutil.parseNfsUrl('nfs:%s' % isodev)
# See if the dir holding the iso is what we want
@@ -693,17 +702,23 @@ reposdir=%s
image = findFirstIsoImage(path)
- # it appears there are ISO images in the dir, so assume they want to
- # install from one of them
+ # An image was found, mount it on INSTALL_TREE
if image:
- # move the mount to ISO_DIR
- # work around inability to move shared filesystems
- iutil.execWithRedirect("mount",
- ["--make-rprivate", "/"])
- iutil.execWithRedirect("mount",
- ["--move", INSTALL_TREE, ISO_DIR])
+ if path.startswith(INSTALL_TREE):
+ # move the INSTALL_TREE mount to ISO_DIR so we can
+ # mount the contents of the iso there.
+ # work around inability to move shared filesystems
+ iutil.execWithRedirect("mount",
+ ["--make-rprivate", "/"])
+ iutil.execWithRedirect("mount",
+ ["--move", INSTALL_TREE, ISO_DIR])
+ # The iso is now under ISO_DIR
+ path = ISO_DIR
+ elif path.endswith(".iso"):
+ path = os.path.dirname(path)
+
# mount the ISO on a loop
- image = os.path.normpath("%s/%s" % (ISO_DIR, image))
+ image = os.path.normpath("%s/%s" % (path, image))
mountImage(image, INSTALL_TREE)
url = "file://" + INSTALL_TREE
--
1.8.3.1
10 years, 9 months
[lorax] dracut renaming
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
Here's a patch from Harald to handle the renaming. I also added a new requires
so that people won't try to use this with an older version.
Harald Hoyer (1):
dracut-nohostonly and dracut-norescue got renamed for dracut >= 030
README.livemedia-creator | 3 ++-
docs/fedora-livemedia-ec2.ks | 2 +-
docs/fedora-livemedia.ks | 2 +-
lorax.spec | 1 +
share/runtime-cleanup.tmpl | 3 ++-
share/runtime-install.tmpl | 2 +-
src/sbin/livemedia-creator | 5 +++--
7 files changed, 11 insertions(+), 7 deletions(-)
--
1.8.3.1
10 years, 9 months
[master] Two more for the NTP/time code
by Vratislav Podzimek
PATCH 1/2 simply removes useless piece of code and glade file. PATCH 2/2 adds a
simple function to set system date and time with nice API.
Vratislav Podzimek (2):
Remove the useless, confusing and lying PoolsNote
Set system date and time with our own function
pyanaconda/isys/__init__.py | 33 +++++++++++++++++++++++++--
pyanaconda/ntp.py | 1 -
pyanaconda/ui/gui/spokes/datetime_spoke.glade | 14 ------------
pyanaconda/ui/gui/spokes/datetime_spoke.py | 12 ++--------
4 files changed, 33 insertions(+), 27 deletions(-)
--
1.7.11.7
10 years, 9 months
[PATCH master] Replace hostname with hostnamectl (#989584)
by Radek Vykydal
Based on patch by Jóhann B. Guðmundsson.
---
anaconda.spec.in | 1 -
pyanaconda/network.py | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/anaconda.spec.in b/anaconda.spec.in
index 39535bc..536da95 100644
--- a/anaconda.spec.in
+++ b/anaconda.spec.in
@@ -127,7 +127,6 @@ Requires: kbd
Requires: chrony
Requires: ntpdate
Requires: rsync
-Requires: hostname
%ifnarch s390 s390x
Requires: fcoe-utils >= %{fcoeutilsver}
%endif
diff --git a/pyanaconda/network.py b/pyanaconda/network.py
index 75ba6d1..6f14cc4 100644
--- a/pyanaconda/network.py
+++ b/pyanaconda/network.py
@@ -672,7 +672,7 @@ def set_hostname(hn):
return
log.info("setting installation environment hostname to %s" % hn)
- iutil.execWithRedirect("hostname", [hn])
+ iutil.execWithRedirect("hostnamectl", ["set-hostname", hn])
def write_hostname(rootpath, ksdata, overwrite=False):
cfgfile = os.path.normpath(rootpath + hostnameFile)
--
1.7.11.7
10 years, 9 months