[PATCH 1/2] Move the software-specific error message out of the DetailedErrorDialog class.
by Chris Lumens
---
pyanaconda/ui/gui/spokes/lib/detailederror.glade | 6 ++----
pyanaconda/ui/gui/spokes/lib/detailederror.py | 4 ++++
pyanaconda/ui/gui/spokes/software.py | 7 ++++++-
3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/pyanaconda/ui/gui/spokes/lib/detailederror.glade b/pyanaconda/ui/gui/spokes/lib/detailederror.glade
index db9daf2..eb031b5 100644
--- a/pyanaconda/ui/gui/spokes/lib/detailederror.glade
+++ b/pyanaconda/ui/gui/spokes/lib/detailederror.glade
@@ -15,14 +15,12 @@
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
- <object class="GtkLabel" id="label2">
+ <object class="GtkLabel" id="detailedLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_bottom">18</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">The following software marked for installation has errors. This is likely caused by an error with
-your installation source. You can attempt to remove these packages from your installation,
-change your installation source, or quit the installer.</property>
+ <property name="label" translatable="yes">An unknown error occurred during installation. Details are below.</property>
</object>
<packing>
<property name="expand">False</property>
diff --git a/pyanaconda/ui/gui/spokes/lib/detailederror.py b/pyanaconda/ui/gui/spokes/lib/detailederror.py
index 2696f90..fd6a455 100644
--- a/pyanaconda/ui/gui/spokes/lib/detailederror.py
+++ b/pyanaconda/ui/gui/spokes/lib/detailederror.py
@@ -43,6 +43,7 @@ class DetailedErrorDialog(GUIObject):
def __init__(self, *args, **kwargs):
buttons = kwargs.pop("buttons", [])
+ label = kwargs.pop("label", None)
GUIObject.__init__(self, *args, **kwargs)
i = 1
@@ -50,6 +51,9 @@ class DetailedErrorDialog(GUIObject):
self.window.add_button(button, i)
i += 1
+ if label:
+ self.builder.get_object("detailedLabel").set_text(label)
+
def refresh(self, msg):
buf = self.builder.get_object("detailedTextBuffer")
buf.set_text(msg, -1)
diff --git a/pyanaconda/ui/gui/spokes/software.py b/pyanaconda/ui/gui/spokes/software.py
index 3aecad4..5e24f90 100644
--- a/pyanaconda/ui/gui/spokes/software.py
+++ b/pyanaconda/ui/gui/spokes/software.py
@@ -266,8 +266,13 @@ class SoftwareSelectionSpoke(NormalSpoke):
if not self._errorMsgs:
return
+ label = _("The following software marked for installation has errors. "
+ "This is likely caused by an error with\nyour installation source. "
+ "You can attempt to remove these packages from your installation.\n"
+ "change your installation source, or quit the installer.")
dialog = DetailedErrorDialog(self.data, buttons=[_("_Quit"), _("_Remove Packages"),
- _("_Modify Software Source")])
+ _("_Modify Software Source")],
+ label=label)
with enlightbox(self.window, dialog.window):
dialog.refresh(self._errorMsgs)
rc = dialog.run()
--
1.7.11.2
11 years, 8 months
[PATCH 1/2] Add a mountpoints property.
by Chris Lumens
This returns all the mountpoints for a given page as a list of strings.
---
pyanaconda/ui/gui/spokes/lib/accordion.py | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/pyanaconda/ui/gui/spokes/lib/accordion.py b/pyanaconda/ui/gui/spokes/lib/accordion.py
index 473ff04..f4d15c8 100644
--- a/pyanaconda/ui/gui/spokes/lib/accordion.py
+++ b/pyanaconda/ui/gui/spokes/lib/accordion.py
@@ -151,6 +151,10 @@ class Page(Gtk.Box):
return selector
+ @property
+ def mountpoints(self):
+ return [mem.props.mountpoint for mem in self._members]
+
def _mountpointType(self, mountpoint):
if not mountpoint:
# This catches things like swap.
@@ -226,3 +230,7 @@ class CreateNewPage(Page):
self._createBox.add(label)
self.add(self._createBox)
+
+ @property
+ def mountpoints(self):
+ return []
--
1.7.11.2
11 years, 8 months
[PATCH] enable fastestmirror yum plugin (#849797)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
---
pyanaconda/packaging/yumpayload.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py
index 28f728d..d794d6e 100644
--- a/pyanaconda/packaging/yumpayload.py
+++ b/pyanaconda/packaging/yumpayload.py
@@ -175,7 +175,7 @@ class YumPayload(PackagePayload):
# Set some configuration parameters that don't get set through a config
# file. yum will know what to do with these.
- self._yum.preconf.enabled_plugins = ["blacklist", "whiteout"]
+ self._yum.preconf.enabled_plugins = ["blacklist", "whiteout", "fastestmirror"]
self._yum.preconf.fn = "/tmp/anaconda-yum.conf"
self._yum.preconf.root = root
# set this now to the best default we've got ; we'll update it if/when
--
1.7.11.4
11 years, 8 months
[PATCH 1/2] livemedia-creator: update templates for grub2-efi support
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
---
share/live/config_files/x86/grub2-efi.cfg | 31 +++++++++++++++++++++++++++++++
share/live/efi.tmpl | 13 +++++++++----
share/live/x86.tmpl | 4 ++--
3 files changed, 42 insertions(+), 6 deletions(-)
create mode 100644 share/live/config_files/x86/grub2-efi.cfg
diff --git a/share/live/config_files/x86/grub2-efi.cfg b/share/live/config_files/x86/grub2-efi.cfg
new file mode 100644
index 0000000..f21d085
--- /dev/null
+++ b/share/live/config_files/x86/grub2-efi.cfg
@@ -0,0 +1,31 @@
+set default="0"
+
+function load_video {
+ insmod efi_gop
+ insmod efi_uga
+ insmod video_bochs
+ insmod video_cirrus
+ insmod all_video
+}
+
+load_video
+set gfxpayload=keep
+insmod gzio
+insmod part_gpt
+insmod ext2
+
+set timeout=5
+### END /etc/grub.d/00_header ###
+
+search --no-floppy --set=root -l '@ISOLABEL@'
+
+### BEGIN /etc/grub.d/10_linux ###
+menuentry '@PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os {
+ linuxefi @KERNELPATH@ @ROOT@
+ initrdefi @INITRDPATH@
+}
+menuentry 'Test this media & start @PRODUCT@' --class fedora --class gnu-linux --class gnu --class os {
+ linuxefi @KERNELPATH@ @ROOT@ quiet rd.live.check
+ initrdefi @INITRDPATH@
+}
+
diff --git a/share/live/efi.tmpl b/share/live/efi.tmpl
index 644f009..7664d90 100644
--- a/share/live/efi.tmpl
+++ b/share/live/efi.tmpl
@@ -1,4 +1,4 @@
-<%page args="configdir, KERNELDIR, efiarch"/>
+<%page args="configdir, KERNELDIR, efiarch, isolabel"/>
<%
EFIBOOTDIR="EFI/BOOT"
APPLE_EFI_ICON=inroot+"/usr/share/pixmaps/bootloader/fedora.icns"
@@ -6,7 +6,10 @@ APPLE_EFI_DISKNAME=inroot+"/usr/share/pixmaps/bootloader/fedora-media.vol"
%>
mkdir ${EFIBOOTDIR}
-install boot/efi/EFI/redhat/grub.efi ${EFIBOOTDIR}/BOOT${efiarch}.efi
+mkdir ${EFIBOOTDIR}/fonts/
+install boot/efi/EFI/fedora/shim.efi ${EFIBOOTDIR}/BOOT${efiarch}.efi
+install boot/efi/EFI/fedora/grub-cd.efi ${EFIBOOTDIR}/grubx64.efi
+install boot/efi/EFI/fedora/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/
install boot/grub/splash.xpm.gz ${EFIBOOTDIR}
## actually make the EFI images
@@ -19,7 +22,7 @@ ${make_efiboot("images/efiboot.img")}
<%def name="make_efiboot(img, include_kernel=False, disk=False, imgtype='default')">
<%
kdir = EFIBOOTDIR if include_kernel else KERNELDIR
- eficonf = "%s/BOOT%s.conf" % (EFIBOOTDIR, efiarch)
+ eficonf = "%s/grub.cfg" % (EFIBOOTDIR, )
args = "--label=ANACONDA"
if disk: args += " --disk"
if imgtype == "apple": args += ' --apple --icon=%s --diskname=%s --product="%s %s"' % (APPLE_EFI_ICON, APPLE_EFI_DISKNAME, product.name, product.version)
@@ -28,12 +31,14 @@ ${make_efiboot("images/efiboot.img")}
copy ${KERNELDIR}/vmlinuz ${EFIBOOTDIR}
copy ${KERNELDIR}/initrd.img ${EFIBOOTDIR}
%endif
- install ${configdir}/grub.conf ${eficonf}
+ install ${configdir}/grub2-efi.cfg ${eficonf}
replace @PRODUCT@ '${product.name}' ${eficonf}
replace @VERSION@ ${product.version} ${eficonf}
+ replace @KERNELNAME@ vmlinuz ${eficonf}
replace @KERNELPATH@ /${kdir}/vmlinuz ${eficonf}
replace @INITRDPATH@ /${kdir}/initrd.img ${eficonf}
replace @SPLASHPATH@ /EFI/BOOT/splash.xpm.gz ${eficonf}
+ replace @ISOLABEL@ '${isolabel}' ${eficonf}
%if disk:
## FIXME: using root= causes problems with product.img (see bug 811979)
replace @ROOT@ root=live:LABEL=ANACONDA ${eficonf}
diff --git a/share/live/x86.tmpl b/share/live/x86.tmpl
index 023c1af..107ed05 100644
--- a/share/live/x86.tmpl
+++ b/share/live/x86.tmpl
@@ -49,7 +49,7 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
## WHeeeeeeee, EFI.
## We could remove the basearch restriction someday..
<% efiargs=""; efigraft=""; efihybrid="" %>
-%if exists("boot/efi/EFI/redhat/grub.efi") and basearch != 'i386':
+%if exists("boot/efi/EFI/fedora/grub-cd.efi") and basearch != 'i386':
<%
efiarch = 'X64' if basearch=='x86_64' else 'IA32'
efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot)
@@ -61,7 +61,7 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
efigraft += " {0}={1}/{0}".format(img,outroot)
efihybrid = "--uefi --mac" if domacboot else "--uefi"
%>
- <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch=efiarch"/>
+ <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch=efiarch, isolabel=isolabel"/>
%endif
## make boot.iso
--
1.7.11.2
11 years, 8 months
[PATCH] use inst.stage2=hd:LABEL (#848641)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
The iso is able to autodetect the device and find stage2, but when they
are written to USB via dd it needs to know where to find the install
media.
---
share/efi.tmpl | 6 ++----
share/live/efi.tmpl | 4 ++--
share/live/sparc.tmpl | 2 +-
share/live/x86.tmpl | 2 +-
share/sparc.tmpl | 2 +-
share/x86.tmpl | 3 +--
6 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/share/efi.tmpl b/share/efi.tmpl
index aa430ec..550e9e3 100644
--- a/share/efi.tmpl
+++ b/share/efi.tmpl
@@ -40,11 +40,9 @@ ${make_efiboot("images/efiboot.img")}
replace @SPLASHPATH@ /EFI/BOOT/splash.xpm.gz ${eficonf}
replace @ISOLABEL@ '${isolabel}' ${eficonf}
%if disk:
- ## FIXME: using root= causes problems with product.img (see bug 811979)
- replace @ROOT@ root=live:LABEL=ANACONDA ${eficonf}
+ replace @ROOT@ inst.stage2=hd:LABEL=ANACONDA ${eficonf}
%else:
- ## anaconda can find CDROM devices automatically so no root= is needed
- replace @ROOT@ '' ${eficonf}
+ replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${eficonf}
%endif
%if efiarch == 'IA32':
copy ${eficonf} ${EFIBOOTDIR}/BOOT.conf
diff --git a/share/live/efi.tmpl b/share/live/efi.tmpl
index 7664d90..0daad49 100644
--- a/share/live/efi.tmpl
+++ b/share/live/efi.tmpl
@@ -41,9 +41,9 @@ ${make_efiboot("images/efiboot.img")}
replace @ISOLABEL@ '${isolabel}' ${eficonf}
%if disk:
## FIXME: using root= causes problems with product.img (see bug 811979)
- replace @ROOT@ root=live:LABEL=ANACONDA ${eficonf}
+ replace @ROOT@ inst.stage2:LABEL=ANACONDA ${eficonf}
%else:
- replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${eficonf}
+ replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${eficonf}
%endif
%if efiarch == 'IA32':
copy ${eficonf} ${EFIBOOTDIR}/BOOT.conf
diff --git a/share/live/sparc.tmpl b/share/live/sparc.tmpl
index 2452f80..1a66e2c 100644
--- a/share/live/sparc.tmpl
+++ b/share/live/sparc.tmpl
@@ -17,7 +17,7 @@ install ${configdir}/boot.msg ${BOOTDIR}
## configure bootloader
replace @VERSION@ ${product.version} ${BOOTDIR}/boot.msg
replace @PRODUCT@ '${product.name}' ${BOOTDIR}/boot.msg
-replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${BOOTDIR}/silo.conf
+replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/silo.conf
## install kernels
## FIXME: this will overwrite if there are multiple sparc kernels
diff --git a/share/live/x86.tmpl b/share/live/x86.tmpl
index 107ed05..490f18b 100644
--- a/share/live/x86.tmpl
+++ b/share/live/x86.tmpl
@@ -25,7 +25,7 @@ install boot/memtest* ${BOOTDIR}/memtest
## configure bootloader
replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
-replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg
+replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg
## install kernels
mkdir ${KERNELDIR}
diff --git a/share/sparc.tmpl b/share/sparc.tmpl
index 2452f80..1a66e2c 100644
--- a/share/sparc.tmpl
+++ b/share/sparc.tmpl
@@ -17,7 +17,7 @@ install ${configdir}/boot.msg ${BOOTDIR}
## configure bootloader
replace @VERSION@ ${product.version} ${BOOTDIR}/boot.msg
replace @PRODUCT@ '${product.name}' ${BOOTDIR}/boot.msg
-replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${BOOTDIR}/silo.conf
+replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/silo.conf
## install kernels
## FIXME: this will overwrite if there are multiple sparc kernels
diff --git a/share/x86.tmpl b/share/x86.tmpl
index 849eef8..490f18b 100644
--- a/share/x86.tmpl
+++ b/share/x86.tmpl
@@ -25,8 +25,7 @@ install boot/memtest* ${BOOTDIR}/memtest
## configure bootloader
replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
-## anaconda will find the CDROM automatically
-replace @ROOT@ '' ${BOOTDIR}/isolinux.cfg
+replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg
## install kernels
mkdir ${KERNELDIR}
--
1.7.11.4
11 years, 8 months
[PATCH] use wildcard for product path to efi binaries (#851196)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
Depending on the product the path to these may be /fedora/ or /redhat/
so just use whatever they were installed under.
---
share/efi.tmpl | 6 +++---
share/live/efi.tmpl | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/share/efi.tmpl b/share/efi.tmpl
index 550e9e3..fa8b558 100644
--- a/share/efi.tmpl
+++ b/share/efi.tmpl
@@ -7,9 +7,9 @@ APPLE_EFI_DISKNAME=inroot+"/usr/share/pixmaps/bootloader/fedora-media.vol"
mkdir ${EFIBOOTDIR}
mkdir ${EFIBOOTDIR}/fonts/
-install boot/efi/EFI/fedora/shim.efi ${EFIBOOTDIR}/BOOT${efiarch}.efi
-install boot/efi/EFI/fedora/grub-cd.efi ${EFIBOOTDIR}/grubx64.efi
-install boot/efi/EFI/fedora/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/
+install boot/efi/EFI/*/shim.efi ${EFIBOOTDIR}/BOOT${efiarch}.efi
+install boot/efi/EFI/*/grub-cd.efi ${EFIBOOTDIR}/grubx64.efi
+install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/
install boot/grub/splash.xpm.gz ${EFIBOOTDIR}
## actually make the EFI images
diff --git a/share/live/efi.tmpl b/share/live/efi.tmpl
index 0daad49..4f457b6 100644
--- a/share/live/efi.tmpl
+++ b/share/live/efi.tmpl
@@ -7,9 +7,9 @@ APPLE_EFI_DISKNAME=inroot+"/usr/share/pixmaps/bootloader/fedora-media.vol"
mkdir ${EFIBOOTDIR}
mkdir ${EFIBOOTDIR}/fonts/
-install boot/efi/EFI/fedora/shim.efi ${EFIBOOTDIR}/BOOT${efiarch}.efi
-install boot/efi/EFI/fedora/grub-cd.efi ${EFIBOOTDIR}/grubx64.efi
-install boot/efi/EFI/fedora/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/
+install boot/efi/EFI/*/shim.efi ${EFIBOOTDIR}/BOOT${efiarch}.efi
+install boot/efi/EFI/*/grub-cd.efi ${EFIBOOTDIR}/grubx64.efi
+install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/
install boot/grub/splash.xpm.gz ${EFIBOOTDIR}
## actually make the EFI images
--
1.7.11.4
11 years, 8 months
[PATCH] Mask the tmp.mount service to avoid tmpfs
by Jesse Keating
Anaconda runtime is already in memory, no need to use tmpfs here. In
fact use of tmpfs here will overwrite any updates content that was put
in place by dracut.
---
share/runtime-postinstall.tmpl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/share/runtime-postinstall.tmpl b/share/runtime-postinstall.tmpl
index 95be02b..837d06f 100644
--- a/share/runtime-postinstall.tmpl
+++ b/share/runtime-postinstall.tmpl
@@ -33,7 +33,7 @@ systemctl disable systemd-readahead-collect.service \
systemctl mask fedora-configure.service fedora-loadmodules.service \
fedora-storage-init.service fedora-storage-init-late.service \
fedora-autorelabel.service fedora-autorelabel-mark.service \
- fedora-wait-storage.service media.mount
+ fedora-wait-storage.service media.mount tmp.mount
## install some basic configuration files
append etc/resolv.conf ""
--
1.7.11.2
11 years, 8 months
Root password GUI spoke take 2
by Jesse Keating
Uses patch from Chris to effectively trap the user inside the spoke until they
get the password right. Now can hit back twice on a weak password to use
anyway. Also updates some of the strings for accuracy and fixes up the glade
file a bit.
-jlk
11 years, 8 months
[master] Patches for bugs causing firstboot crashes
by Vratislav Podzimek
Anaconda patch fixes the bug when firstboot crashes while trying to read
/etc/sysconfig/i18n file. I want to remove the whole language.py module, but for
now, let's use this quick simple patch to make firstboot work.
Firstboot patch makes firstboot use python-meh's text UI instead of the
graphical one that was causing crash by importing Gtk3.
--
1.7.11.2
11 years, 8 months