[PATCH] Filter out devices with no media from custom (#960794)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
---
pyanaconda/ui/gui/spokes/custom.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/ui/gui/spokes/custom.py b/pyanaconda/ui/gui/spokes/custom.py
index 97391b5..2d784d1 100644
--- a/pyanaconda/ui/gui/spokes/custom.py
+++ b/pyanaconda/ui/gui/spokes/custom.py
@@ -781,7 +781,8 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
@property
def unusedDevices(self):
unused_devices = [d for d in self.__storage.unusedDevices
- if d.disks and not d.partitioned and d.isleaf]
+ if d.disks and d.mediaPresent and
+ not d.partitioned and d.isleaf]
# add incomplete VGs and MDs
incomplete = [d for d in self.__storage.devicetree._devices
if not getattr(d, "complete", True)]
--
1.8.3.1
10 years, 9 months
[rhel6-branch] check size of ppc64.img
by David Cantrell
Check the size of ppc64.img in addition to initrd.img to see if it's greater
than 32M. This script is a minefield, so anything that looks redundant or
extra, I prefer to not change.
Related to 1006043. Another patch coming to reduce the size of ppc64.img once
feedback is received from IBM Australia.
--
David Cantrell <dcantrell(a)redhat.com>
Manager, Installer Engineering Team
Red Hat, Inc. | Westford, MA | EST5EDT
10 years, 9 months
[PATCH] Decode keyboard layout descriptions as UTF-8 (#1009278)
by David Shea
---
pyanaconda/keyboard.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py
index c51a4d4..03d988a 100644
--- a/pyanaconda/keyboard.py
+++ b/pyanaconda/keyboard.py
@@ -550,7 +550,7 @@ class XklWrapper(object):
# layout-variant description
xlated_lang = iso_(layout_info.lang)
return "%s (%s)" % (iutil.upcase_first_letter(xlated_lang.decode("utf-8")),
- Xkb_(layout_info.desc))
+ Xkb_(layout_info.desc).decode("utf-8"))
else:
return layout_info.desc
--
1.8.3.1
10 years, 9 months
[PATCH] anaconda-dracut: fix ks failure with hd:<dev>:some/path.ks
by Will Woods
When we try to grab the kickstart from disk, $tmpmnt will be something
like /run/install/tmpmnt1, and $path is the user-provided bit after the
second ':'.
If your path doesn't start with a / (say "myks.cfg"), we'd mount $dev
then do "cp /run/install/tmpmnt1myks.cfg /tmp/ks.cfg". Which fails.
Make sure there's a slash separating the path and the filename. Duh.
---
dracut/fetch-kickstart-disk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut/fetch-kickstart-disk b/dracut/fetch-kickstart-disk
index 3172049..d9ead33 100755
--- a/dracut/fetch-kickstart-disk
+++ b/dracut/fetch-kickstart-disk
@@ -18,7 +18,7 @@ if [ -n "$mnt" ]; then
else
tmpmnt="$(mkuniqdir /run/install tmpmnt)"
if mount -o ro $dev $tmpmnt; then
- cp $tmpmnt$path /tmp/ks.cfg
+ cp $tmpmnt/$path /tmp/ks.cfg
umount $tmpmnt
rmdir $tmpmnt
fi
--
1.8.3.1
10 years, 9 months
[PATCH] Add metalink support to yumpayload
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
Fedora has started using metalink in the default repo config. This
expands into a giant baseurl list. Anaconda was picking the first entry
and writing that to the repo config. This checks for metalink and if
present writes that instead, allowing mirror fallback to work.
---
pyanaconda/packaging/yumpayload.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py
index 6d7cb05..58c7a13 100644
--- a/pyanaconda/packaging/yumpayload.py
+++ b/pyanaconda/packaging/yumpayload.py
@@ -276,10 +276,12 @@ reposdir=%s
f.write("enabled=1\n")
if repo.mirrorlist:
f.write("mirrorlist=%s" % repo.mirrorlist)
+ elif repo.metalink:
+ f.write("metalink=%s" % repo.metalink)
elif repo.baseurl:
f.write("baseurl=%s\n" % repo.baseurl[0])
else:
- log.error("repo %s has no baseurl or mirrorlist", repo.id)
+ log.error("repo %s has no baseurl, mirrorlist or metalink", repo.id)
f.close()
os.unlink(cfg_path)
continue
--
1.8.3.1
10 years, 9 months
[master] Mirror the GUI if RTL language is chosen
by Vratislav Podzimek
For some languages (or more precisely scripts) the GUI should be mirrored to
reflect the reading direction. Gtk handles that automatically, but... (see the
patches).
Once Gtk provides a function to get default widget direction for current
language configuration [1], we will get rid of the hacky parts.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1008821
Vratislav Podzimek (2):
Mirror the GUI if an RTL language is chosen (#1008397)
Render the right arrow based on the widget direction (#1008397)
data/pixmaps/left-arrow-icon.png | Bin 0 -> 286 bytes
.../ui/gui/spokes/lib/lang_locale_handler.py | 9 ++++---
pyanaconda/ui/gui/spokes/welcome.py | 5 +++-
pyanaconda/ui/gui/utils.py | 29 +++++++++++++++++++++
widgets/src/MountpointSelector.c | 15 ++++++++++-
5 files changed, 53 insertions(+), 5 deletions(-)
create mode 100644 data/pixmaps/left-arrow-icon.png
--
1.7.11.7
10 years, 9 months
[lorax] [patch] tag fatal error as error
by J_Groves@DELL.com
Greetings,
I'm new to pungi/lorax, but this suggestion addresses confusion for us in a complex build. To pungi, we pass a -ver <splat>. <splat> got too long, and lorax complained "the volume id cannot be longer than 32 characters"
Due to other cruft in our build log that included variants of the word "error", we didn't immediately realize this log entry was important.
The following patch would address that confusion. (this is the only call to logger.fatal that I find in lorax)
Best regards,
John Groves
---
diff --git a/src/pylorax/__init__.py b/src/pylorax/__init__.py
index 37829da..e0ce0e0 100644
--- a/src/pylorax/__init__.py
+++ b/src/pylorax/__init__.py
@@ -230,7 +230,7 @@ class Lorax(BaseLoraxClass):
self.arch)
if len(isolabel) > 32:
- logger.fatal("the volume id cannot be longer than 32 characters")
+ logger.fatal("ERROR: the volume id cannot be longer than 32 characters")
sys.exit(1)
templatedir = self.conf.get("lorax", "sharedir")
10 years, 9 months
[PATCH] git commit check for ack flag on rhel branches
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
---
scripts/githooks/commit-msg | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/scripts/githooks/commit-msg b/scripts/githooks/commit-msg
index a360dbb..aa3a93e 100755
--- a/scripts/githooks/commit-msg
+++ b/scripts/githooks/commit-msg
@@ -15,18 +15,20 @@
# This example catches duplicate Signed-off-by lines.
test "" = "$(grep '^Signed-off-by: ' "$1" |
- sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
- echo >&2 Duplicate Signed-off-by lines.
- exit 1
+ sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
+ echo >&2 Duplicate Signed-off-by lines.
+ exit 1
}
# Make sure commits on RHEL branches reference RHEL bugs.
RETVAL=0
-git branch | grep ^* | cut -c3- | grep -q ^rhel
-if [ $? -eq 1 ]; then
+branch_name=$(git branch | grep ^* | cut -c3-)
+branch_pattern="^rhel([[:digit:]])-branch"
+if [[ ! "$branch_name" =~ $branch_pattern ]]; then
exit ${RETVAL}
fi
+RELEASE=${BASH_REMATCH[1]}
if [ -f "${HOME}/.rhbzauth" ]; then
. "${HOME}/.rhbzauth"
@@ -51,6 +53,16 @@ else
${bzcmd} login
fi
+bz_has_ack() {
+ bug=$1
+ flags=$(${bzcmd} query --bug_id=${bug} --outputformat="%{flags}")
+
+ ack_pattern="rhel-${RELEASE}\.[[:digit:]]+\.[[:digit:]]+\+"
+ if [[ ! "$flags" =~ $ack_pattern ]]; then
+ echo "*** BZ ${bug} is missing acks: ${flags}"
+ fi
+}
+
summary="$(head -n 1 ${1})"
for word in ${summary} ; do
echo "${word}" | grep -q -E "^.*(#[0-9]+).*"
@@ -61,6 +73,7 @@ for word in ${summary} ; do
echo "*** BZ ${bug} is not a RHEL bug." >&2
RETVAL=1
fi
+ bz_has_ack ${bug}
fi
done
@@ -75,6 +88,7 @@ if [ ${last} -gt 0 ]; then
echo "*** BZ ${bug} is not a RHEL bug." >&2
RETVAL=1
fi
+ bz_has_ack ${bug}
done
fi
--
1.8.3.1
10 years, 9 months
[rhel7-branch/master][PATCH] Search all disk types for install media (#1004726)
by David Shea
This way we allow USB-based install media as an installation source.
---
pyanaconda/image.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/image.py b/pyanaconda/image.py
index b3604ff..2c58488 100644
--- a/pyanaconda/image.py
+++ b/pyanaconda/image.py
@@ -189,7 +189,11 @@ def mountImage(isodir, tree):
def opticalInstallMedia(devicetree, mountpoint=INSTALL_TREE):
retval = None
- for dev in devicetree.getDevicesByType("cdrom"):
+ # Search for devices identified as cdrom along with any other
+ # device that has an iso9660 filesystem. This will catch USB media
+ # created from ISO images.
+ for dev in set(devicetree.getDevicesByType("cdrom") + \
+ [d for d in devicetree.devices if d.format.type == "iso9660"]):
devicetree.updateDeviceFormat(dev)
if not hasattr(dev.format, "mount"):
# no mountable media
--
1.8.3.1
10 years, 9 months
[master] Two ways how to fix the #1008788 blocker
by Vratislav Podzimek
My commit 5634449a1645343f3be340aa39faebdd5436ab35 causes that the TUI
ProgressHub is not scheduled/run because it provides no spokes and the result is
that the actual installation is skipped, because it is triggered by the hub.
There are two ways how to fix this issue:
1. always schedule the TUI ProgressHub
2. make ProgressHub a standalone spoke
I'm for 2. because the ProgressHub really is not a hub. It outputs a lot of text
to the standard output and thus it cannot provide any spokes as those would be
rolled off soon after the installation begins. However, 1. is much shorter and
probably less invasive.
--
1.7.11.7
10 years, 9 months