[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
[blivet:rhel7/master 0/5] Changes to the handling of filesystem labeling
by Anne Mulhern
The first three patches listed have all been reviewed and I've made all the
suggested changes, so I'm not including them with the email.
The fourth is probably non-controversial, but should be checked.
The fifth is possibly controversial, but short.
mulhern (5):
Changes to the handling of filesystem labeling (#1038590)
Remove fsConfigFromFile (#1038590)
More tests to check writing and reading labels (#1038590)
Restore ability to write an empty label where possible (#1038590)
Only allow label to be set if there is a labelling application
(#1038590)
blivet/formats/fs.py | 185 ++++++++++++++++------------
blivet/formats/fslabel.py | 264 ++++++++++++++++++++++++++++++++++++++++
tests/formats_test/misc_test.py | 189 +++++++++++++++++++++++++---
3 files changed, 541 insertions(+), 97 deletions(-)
create mode 100644 blivet/formats/fslabel.py
--
1.8.3.1
10 years, 3 months
[blivet] Use blivet's Size class for all size quantities
by David Lehman
This has been a long time coming. It resolves a whole array of issues
related to conversion between various units. Under the covers, using
Size means we are storing sizes as Decimals representing the number of
bytes. It also switches the size module's default from decimal to binary
since binary is what is actually used at the lower levels (sector size,
lvm extent size, md chunk size, &c). Using decimal makes it impossible
for things to have round-numbered sizes unless you intentionally ignore
or discard some precision, both of which have serious consequences.
This patch set also sigificantly reduces our usage of float. The
function blivet.devicelibs.lvm.clampSize was rewritten to not use any
float math.
10 years, 3 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
[blivet:rhel7/master 0/2] All about DeviceFormats
by Anne Mulhern
I keep coming back w/ this patch because there's a frequent problem where some
error like:
AttributeError: 'DeviceFormat' object has no attribute X
is encountered.
These patches don't fix any of these problems but will, I believe, make them
all slightly easier to address.
mulhern (2):
A few simple unit tests for some formats methods (#1043763)
Make get_device_format_class return None if class not found (#1043763)
blivet/__init__.py | 3 ++-
blivet/formats/__init__.py | 26 ++++++++++++--------------
tests/formats_test/__init__.py | 0
tests/formats_test/init_test.py | 35 +++++++++++++++++++++++++++++++++++
4 files changed, 49 insertions(+), 15 deletions(-)
create mode 100644 tests/formats_test/__init__.py
create mode 100644 tests/formats_test/init_test.py
--
1.8.3.1
10 years, 3 months
[blivet:rhel7/master 0/3] The title of the first patch says it all
by Anne Mulhern
I sent out a patch set previously for this. I'm not including the first patch
from that set
which was just a bunch of tests, because it hasn't changed at all.
The first patch from this set merges a bunch of patches from the previous set
because it got more ambitious and it was pointless to keep the changes separate.
The second patch is very small, and I hope non-controversial.
The third should be non-controversial as well, it's more tests.
All test pass on both rhel7 and master.
mulhern (3):
Changes to the handling of filesystem labeling (#1038590)
Remove fsConfigFromFile (#1038590)
More tests to check writing and reading labels (#1038590)
blivet/formats/fs.py | 167 +++++++++++++++++--------------
blivet/formats/fslabel.py | 216 ++++++++++++++++++++++++++++++++++++++++
tests/formats_test/misc_test.py | 157 +++++++++++++++++++++++++----
3 files changed, 445 insertions(+), 95 deletions(-)
create mode 100644 blivet/formats/fslabel.py
--
1.8.3.1
10 years, 3 months
[master/rhel7-branch] s390x/advanced storage GUI patches, take II
by Samantha N. Bueno
Re-post from last month with recommended edits. I wanted to post these
with the dasd patches, but I can't have nice things. Anyway, to
summarize again:
-- First adds functionality to the 'add zFCP' button in advanced
storage. Users can manually add zFCP devices with this, so it is no
longer necessary to specify them in the parm file.
-- Second gives life to the z-Panel in the advanced storage spoke. I
also added another columns I thought would be useful (device.name). All
issues I was running into previously are now fixed, thanks to clumens
and vpodzime's advice.
-- Third patch is very simple and fixes an issue where searching by LUN
in the advanced storage spoke failed.
A new/updated screencast is available here if anyone wants to see the
patches in action: http://sbueno.fedorapeople.org/s390x-gui-patches.webm
Again, I am willing to provide anyone (@redhat) with access to my s390x
guest as well.
The glade files will require a bit of fudging to make this apply to
master, but other than that I don't believe any significant editing will
be necessary.
The zFCP disk descriptions are still too wide and look awkward. That's
not going to be an easy fix, but I am looking into that.
Samantha
10 years, 3 months
[rhel7-branch/master][PATCH] Global screenshot support V2
by Martin Kolman
Turns out, the scrot dependency is not needed as you can do a full-screen screenshot
just by using GDK! Thanks goes to Ray Strode (halfline) for the hint. :)
So I'm posting this modified patch for RHEL7 & I guess we might just
revert the already committed global screenshot support on master and
replace it with this patch.
Martin Kolman (1):
Global screenshot support (#1025038)
anaconda.spec.in | 1 +
pyanaconda/ui/gui/__init__.py | 54 +++++++++++++++++++++++++------------------
2 files changed, 33 insertions(+), 22 deletions(-)
--
1.8.4.2
10 years, 3 months
[PATCH] Specify btrfs volumes by UUID in /etc/fstab
by Gene Czarcinski
This patch corrects support for the part or partition kickstart
command which refers to an existing BTRFS volume (not subvolume)
so that it will use the UUID for /etc/fstab rather than the pathname.
---
blivet/deviceaction.py | 4 +++-
blivet/devices.py | 19 +++++++++++++++++++
blivet/devicetree.py | 1 +
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/blivet/deviceaction.py b/blivet/deviceaction.py
index 275a6fe..b8a66f7 100644
--- a/blivet/deviceaction.py
+++ b/blivet/deviceaction.py
@@ -478,7 +478,9 @@ class ActionCreateFormat(DeviceAction):
# only do this if the format has a device known to udev
# (the format might not have a normal device at all)
if info:
- self.device.format.uuid = udev_device_get_uuid(info)
+ if self.device.format.type != "btrfs":
+ self.device.format.uuid = udev_device_get_uuid(info)
+
self.device.deviceLinks = udev_device_get_symlinks(info)
elif self.device.format.type != "tmpfs":
# udev lookup failing is a serious issue for anything other than tmpfs
diff --git a/blivet/devices.py b/blivet/devices.py
index 1af4e00..4cfd0b8 100644
--- a/blivet/devices.py
+++ b/blivet/devices.py
@@ -4340,6 +4340,13 @@ class BTRFSDevice(StorageDevice):
def path(self):
return self.parents[0].path
+ @property
+ def fstabSpec(self):
+ if self.format.volUUID:
+ spec = "UUID=%s" % self.format.volUUID
+ else:
+ spec = super(BTRFSDevice, self).fstabSpec
+ return spec
class BTRFSVolumeDevice(BTRFSDevice):
_type = "btrfs volume"
@@ -4502,6 +4509,14 @@ class BTRFSVolumeDevice(BTRFSDevice):
data=self.dataLevel,
metadata=self.metaDataLevel)
+ def _postCreate(self):
+ super(BTRFSVolumeDevice, self)._postCreate()
+ info = udev_get_block_device(self.sysfsPath)
+ if not info:
+ log.error("failed to get updated udev info for new btrfs volume")
+ else:
+ self.format.volUUID = udev_device_get_uuid(info)
+
def _destroy(self):
log_method_call(self, self.name, status=self.status)
for device in self.parents:
@@ -4553,6 +4568,10 @@ class BTRFSSubVolumeDevice(BTRFSDevice):
btrfs.create_subvolume(mountpoint, self.name)
self.volume._undo_temp_mount()
+ def _postCreate(self):
+ super(BTRFSSubVolumeDevice, self)._postCreate()
+ self.format.volUUID = self.volume.format.volUUID
+
def _destroy(self):
log_method_call(self, self.name, status=self.status)
self.volume._do_temp_mount(orig=True)
diff --git a/blivet/devicetree.py b/blivet/devicetree.py
index afb48e9..520bb7d 100644
--- a/blivet/devicetree.py
+++ b/blivet/devicetree.py
@@ -1610,6 +1610,7 @@ class DeviceTree(object):
raise DeviceTreeError("could not find parent for subvol")
fmt = getFormat("btrfs", device=btrfs_dev.path, exists=True,
+ volUUID=btrfs_dev.format.volUUID,
mountopts="subvol=%s" % vol_path)
subvol = BTRFSSubVolumeDevice(vol_path,
vol_id=vol_id,
--
1.8.4.2
10 years, 4 months
[PATCH] Move xhost handling to the xinit script (#1045280)
by David Shea
This way we can connect to the X server if the hostname changes before
liveinst starts.
---
data/liveinst/liveinst | 3 ---
data/liveinst/zz-liveinst.sh | 3 +++
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/data/liveinst/liveinst b/data/liveinst/liveinst
index 5660db1..99451ed 100755
--- a/data/liveinst/liveinst
+++ b/data/liveinst/liveinst
@@ -149,9 +149,6 @@ if [ ! -z "$UPDATES" ]; then
export PATH=/tmp/updates:$PATH
fi
-# Prevents breakage if the hostname is changed during the install
-xhost +si:localuser:root
-
if [ -x /usr/bin/udisks ]; then
/usr/bin/udisks --inhibit -- $ANACONDA $*
else
diff --git a/data/liveinst/zz-liveinst.sh b/data/liveinst/zz-liveinst.sh
index c141290..137a754 100755
--- a/data/liveinst/zz-liveinst.sh
+++ b/data/liveinst/zz-liveinst.sh
@@ -2,6 +2,9 @@
# Set up a launcher on the desktop for the live installer if we're on
# a live CD
+# Prevents breakage if the hostname is changed before or during the install
+[ -x /usr/bin/xhost ] && xhost +si:localuser:root > /dev/null 2>&1
+
# don't run on geode (olpc)
if [ `grep -c Geode /proc/cpuinfo` -eq 0 ]; then
if [ -b /dev/mapper/live-osimg-min ]; then
--
1.8.4.2
10 years, 4 months