diff --git a/0001-network-create-default-ifcfg-also-for-missing-defaul.patch b/0001-network-create-default-ifcfg-also-for-missing-defaul.patch new file mode 100644 index 0000000..2dba7e2 --- /dev/null +++ b/0001-network-create-default-ifcfg-also-for-missing-defaul.patch @@ -0,0 +1,44 @@ +From 993e85f0a061c920f86905c5acfd91b4846c4de6 Mon Sep 17 00:00:00 2001 +From: Radek Vykydal +Date: Tue, 17 Oct 2017 16:17:18 +0200 +Subject: [PATCH] network: create default ifcfg also for missing default NM + connection (#1478141) + +In Fedora we create default ifcfg files by dumping default wired connections +created by NM. NM does not create such connections for InfiniBand devices and +consequently installer crashes in text mode because of missing ifcfg file for +the IB device. + +Create default ifcfg also when there is no NM default connection found for a +(in this BZ case InfiniBand) device. + +This would be needed also when RHEL (server) policy is applied to the installer +turning creating of default connections by NM off in general. With the patch, +if default NM connection is not found, default ifcfg file is created in the +same way as in rhel7-branch. +--- + pyanaconda/network.py | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/pyanaconda/network.py b/pyanaconda/network.py +index a5b993be8..d0b147ec6 100644 +--- a/pyanaconda/network.py ++++ b/pyanaconda/network.py +@@ -373,7 +373,13 @@ def dumpMissingDefaultIfcfgs(): + try: + uuid = nm.nm_device_setting_value(devname, "connection", "uuid") + except nm.SettingsNotFoundError: +- log.debug("no ifcfg file for %s", devname) ++ from pyanaconda.kickstart import AnacondaKSHandler ++ handler = AnacondaKSHandler() ++ # pylint: disable=E1101 ++ network_data = handler.NetworkData(onboot=False, ipv6="auto") ++ add_connection_for_ksdata(network_data, devname) ++ rv.append(devname) ++ log.debug("network: creating default ifcfg file for %s", devname) + continue + except nm.MultipleSettingsFoundError as e: + if not nm.nm_device_is_slave(devname): +-- +2.13.6 + diff --git a/0002-Mac-EFI-installs-need-grub2-tools-1503496.patch b/0002-Mac-EFI-installs-need-grub2-tools-1503496.patch new file mode 100644 index 0000000..c906669 --- /dev/null +++ b/0002-Mac-EFI-installs-need-grub2-tools-1503496.patch @@ -0,0 +1,40 @@ +From fb82d621d25c6cc0705962085897364d2a23718b Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Thu, 19 Oct 2017 11:00:47 -0700 +Subject: [PATCH] Mac EFI installs need grub2-tools (#1503496) + +For the UEFI 64-on-32 stuff, pjones changed the MacEFIGRUB class +to just define the `packages` attribute directly as a list of +two packages; previously, MacEFIGRUB inherited the list from a +parent class. As reported in #1503496, the two packages listed +(grub2-tools-efi and mactel-boot) aren't enough for bootloader +install to actually work. + +This changes things so MacEFIGRUB defines `_packages64`, like +Aarch64EFIGRUB, which should effectively cause it to include +those packages, plus the packages listed in the `GRUB2` class +and the `_packages_common` from the `EFIGRUB` class. I'm not +sure if that might be too many packages, but it's at least in +line with how another class does things and simple. The other +option would be just to extend the class's direct `packages` +list. +--- + pyanaconda/bootloader.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py +index 93838fd0a..1e86c9769 100644 +--- a/pyanaconda/bootloader.py ++++ b/pyanaconda/bootloader.py +@@ -1862,7 +1862,7 @@ class Aarch64EFIGRUB(EFIGRUB): + _efi_binary = "\\shimaa64.efi" + + class MacEFIGRUB(EFIGRUB): +- packages = [ "grub2-tools-efi", "mactel-boot" ] ++ _packages64 = [ "grub2-tools-efi", "mactel-boot" ] + def mactel_config(self): + if os.path.exists(iutil.getSysroot() + "/usr/libexec/mactel-boot-setup"): + rc = iutil.execInSysroot("/usr/libexec/mactel-boot-setup", []) +-- +2.13.6 + diff --git a/anaconda.spec b/anaconda.spec index ac059c1..ce91f73 100644 --- a/anaconda.spec +++ b/anaconda.spec @@ -3,7 +3,7 @@ Summary: Graphical system installer Name: anaconda Version: 27.20.4 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ and MIT Group: Applications/System URL: http://fedoraproject.org/wiki/Anaconda @@ -15,6 +15,12 @@ URL: http://fedoraproject.org/wiki/Anaconda # make dist Source0: %{name}-%{version}.tar.bz2 +# fix Infiniband +Patch1: 0001-network-create-default-ifcfg-also-for-missing-defaul.patch + +# fix Mac EFI +Patch2: 0002-Mac-EFI-installs-need-grub2-tools-1503496.patch + # Versions of required components (done so we make sure the buildrequires # match the requires versions of things). @@ -239,6 +245,8 @@ runtime on NFS/HTTP/FTP servers or local disks. %prep %setup -q +%patch1 -p1 +%patch2 -p1 %build %configure @@ -332,6 +340,10 @@ update-desktop-database &> /dev/null || : %{_prefix}/libexec/anaconda/dd_* %changelog +* Thu Oct 12 2017 Martin Kolman - 27.20.4-2 +- network: create default ifcfg also for missing default NM connection (#1478141) (rvykydal) +- Mac EFI installs need grub2-tools (#1503496) (adamw) + * Thu Oct 12 2017 Martin Kolman - 27.20.4-1 - Fix a translation check error (mkolman)