diff --git a/.gitignore b/.gitignore index fd80b69..b14f0e3 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ /calamares-2.4.2.tar.gz /calamares-2.4.3.tar.gz /calamares-2.4.4.tar.gz +/calamares-2.4.5.tar.gz diff --git a/calamares-2.4.4-bootloader-fix-vfat_correct_case.patch b/calamares-2.4.4-bootloader-fix-vfat_correct_case.patch deleted file mode 100644 index c7cd309..0000000 --- a/calamares-2.4.4-bootloader-fix-vfat_correct_case.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5f5b38d1480fbfe9a50ae63f72effc6dfeda05ac Mon Sep 17 00:00:00 2001 -Message-Id: <5f5b38d1480fbfe9a50ae63f72effc6dfeda05ac.1478364305.git.kevin.kofler@chello.at> -From: Kevin Kofler -Date: Sat, 5 Nov 2016 17:41:38 +0100 -Subject: [PATCH] [bootloader] Fix vfat_correct_case. - -If the directory already existed, vfat_correct_case was returning only -the last part rather than the full path as it is supposed to. ---- - src/modules/bootloader/main.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py -index e367eeb..c009443 100644 ---- a/src/modules/bootloader/main.py -+++ b/src/modules/bootloader/main.py -@@ -253,7 +253,7 @@ def install_grub(efi_directory, fw_type): - def vfat_correct_case(parent, name): - for candidate in os.listdir(parent): - if name.lower() == candidate.lower(): -- return candidate -+ return os.path.join(parent, candidate) - return os.path.join(parent, name) - - --- -2.7.4 - diff --git a/calamares-2.4.4-dracutlukscfg-no-unencrypted-keyfile.patch b/calamares-2.4.4-dracutlukscfg-no-unencrypted-keyfile.patch deleted file mode 100644 index 8681035..0000000 --- a/calamares-2.4.4-dracutlukscfg-no-unencrypted-keyfile.patch +++ /dev/null @@ -1,100 +0,0 @@ -From b3ecb8a981e0f09279a995aad9fd308e6217ff6c Mon Sep 17 00:00:00 2001 -Message-Id: -From: Kevin Kofler -Date: Sat, 19 Nov 2016 02:30:34 +0100 -Subject: [PATCH] [dracutlukscfg] Don't include keyfile in initramfs on - unencrypted /boot. - -This matches the fix in initcpiocfg and initramfscfg. ---- - src/modules/dracutlukscfg/DracutLuksCfgJob.cpp | 31 +++++++++++++++++++++++--- - src/modules/dracutlukscfg/DracutLuksCfgJob.h | 5 ++++- - 2 files changed, 32 insertions(+), 4 deletions(-) - -diff --git a/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp b/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp -index 273ff98..0b66ca6 100644 ---- a/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp -+++ b/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp -@@ -33,15 +33,23 @@ - const QString DracutLuksCfgJob::CONFIG_FILE = QStringLiteral( "/etc/dracut.conf.d/calamares-luks.conf" ); - - // static --const char *DracutLuksCfgJob::CONFIG_FILE_CONTENTS = -+const char *DracutLuksCfgJob::CONFIG_FILE_HEADER = - "# Configuration file automatically written by the Calamares system installer\n" - "# (This file is written once at install time and should be safe to edit.)\n" - "# Enables support for LUKS full disk encryption with single sign on from GRUB.\n" -- "\n" -+ "\n"; -+ -+// static -+const char *DracutLuksCfgJob::CONFIG_FILE_CRYPTTAB_KEYFILE_LINE = - "# force installing /etc/crypttab even if hostonly=\"no\", install the keyfile\n" - "install_items+=\" /etc/crypttab /crypto_keyfile.bin \"\n"; - - // static -+const char *DracutLuksCfgJob::CONFIG_FILE_CRYPTTAB_LINE = -+ "# force installing /etc/crypttab even if hostonly=\"no\"\n" -+ "install_items+=\" /etc/crypttab \"\n"; -+ -+// static - const QString DracutLuksCfgJob::CONFIG_FILE_SWAPLINE = QStringLiteral( "# enable automatic resume from swap\nadd_device+=\" /dev/disk/by-uuid/%1 \"\n" ); - - // static -@@ -76,6 +84,21 @@ DracutLuksCfgJob::isRootEncrypted() - } - - // static -+bool -+DracutLuksCfgJob::hasUnencryptedSeparateBoot() -+{ -+ const QVariantList partitions = DracutLuksCfgJob::partitions(); -+ for ( const QVariant &partition : partitions ) -+ { -+ QVariantMap partitionMap = partition.toMap(); -+ QString mountPoint = partitionMap.value( QStringLiteral( "mountPoint" ) ).toString(); -+ if ( mountPoint == QStringLiteral( "/boot" ) ) -+ return !partitionMap.contains( QStringLiteral( "luksMapperName" ) ); -+ } -+ return false; -+} -+ -+// static - QString - DracutLuksCfgJob::swapOuterUuid() - { -@@ -126,7 +149,9 @@ DracutLuksCfgJob::exec() - return Calamares::JobResult::error( tr( "Failed to open %1" ).arg( realConfigFilePath ) ); - } - QTextStream outStream( &configFile ); -- outStream << CONFIG_FILE_CONTENTS; -+ outStream << CONFIG_FILE_HEADER -+ << ( hasUnencryptedSeparateBoot() ? CONFIG_FILE_CRYPTTAB_LINE -+ : CONFIG_FILE_CRYPTTAB_KEYFILE_LINE ); - const QString swapOuterUuid = DracutLuksCfgJob::swapOuterUuid(); - if ( ! swapOuterUuid.isEmpty() ) - { -diff --git a/src/modules/dracutlukscfg/DracutLuksCfgJob.h b/src/modules/dracutlukscfg/DracutLuksCfgJob.h -index bfedb85..6d5eae8 100644 ---- a/src/modules/dracutlukscfg/DracutLuksCfgJob.h -+++ b/src/modules/dracutlukscfg/DracutLuksCfgJob.h -@@ -42,12 +42,15 @@ public: - - private: - static const QString CONFIG_FILE; -- static const char *CONFIG_FILE_CONTENTS; -+ static const char *CONFIG_FILE_HEADER; -+ static const char *CONFIG_FILE_CRYPTTAB_KEYFILE_LINE; -+ static const char *CONFIG_FILE_CRYPTTAB_LINE; - static const QString CONFIG_FILE_SWAPLINE; - - static QString rootMountPoint(); - static QVariantList partitions(); - static bool isRootEncrypted(); -+ static bool hasUnencryptedSeparateBoot(); - static QString swapOuterUuid(); - }; - --- -2.7.4 - diff --git a/calamares-2.4.4-fix-checkHasInternet.patch b/calamares-2.4.4-fix-checkHasInternet.patch deleted file mode 100644 index fc9068e..0000000 --- a/calamares-2.4.4-fix-checkHasInternet.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c0ebc91b15f49b353d02844f264e5d9fdcbb7550 Mon Sep 17 00:00:00 2001 -Message-Id: -From: Kevin Kofler -Date: Sat, 5 Nov 2016 20:34:13 +0100 -Subject: [PATCH] [welcome] Fix RequirementsChecker::checkHasInternet(). - -The NetworkManager property is called "State", not "state". The call -was always failing, and the method was always returning true as a -result. ---- - src/modules/welcome/checker/RequirementsChecker.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/modules/welcome/checker/RequirementsChecker.cpp b/src/modules/welcome/checker/RequirementsChecker.cpp -index a8207a8..f77847c 100644 ---- a/src/modules/welcome/checker/RequirementsChecker.cpp -+++ b/src/modules/welcome/checker/RequirementsChecker.cpp -@@ -347,7 +347,7 @@ RequirementsChecker::checkHasInternet() - QDBusConnection::systemBus(), 0 ); - - bool ok = false; -- int nmState = nmIntf.property( "state" ).toInt( &ok ); -+ int nmState = nmIntf.property( "State" ).toInt( &ok ); - - if ( !ok || !nmIntf.isValid() ) - { --- -2.7.4 - diff --git a/calamares-2.4.4-fix-uefi32-cal-403.patch b/calamares-2.4.4-fix-uefi32-cal-403.patch deleted file mode 100644 index e03ed04..0000000 --- a/calamares-2.4.4-fix-uefi32-cal-403.patch +++ /dev/null @@ -1,40 +0,0 @@ -From c7dd77c0f9b9bbc904dbe0e63055775bb92c7f0e Mon Sep 17 00:00:00 2001 -Message-Id: -From: Kevin Kofler -Date: Sun, 6 Nov 2016 03:38:34 +0100 -Subject: [PATCH] [bootloader] Fix UEFI firmware workaround for 32-bit UEFI. - -On 32-bit UEFI (note that the bitness of the firmware is what matters -here, not the bitness of the distribution), instead of copying -grubx64.efi to bootx64.efi, copy grubia32.efi to bootia32.efi. - -Patch by TeHMoroS from SparkyLinux. - -CAL-403 #close ---- - src/modules/bootloader/main.py | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py -index c009443..9feb02e 100644 ---- a/src/modules/bootloader/main.py -+++ b/src/modules/bootloader/main.py -@@ -231,9 +231,13 @@ def install_grub(efi_directory, fw_type): - check_target_env_call(["mkdir", "-p", efi_boot_directory]) - - # Workaround for some UEFI firmwares -+ efi_file_source = {"32": os.path.join(efi_directory_firmware, efi_bootloader_id, "grubia32.efi"), -+ "64": os.path.join(efi_directory_firmware, efi_bootloader_id, "grubx64.efi")} -+ efi_file_target = {"32": os.path.join(efi_boot_directory, "bootia32.efi"), -+ "64": os.path.join(efi_boot_directory, "bootx64.efi")} - check_target_env_call(["cp", -- os.path.join(efi_directory_firmware, efi_bootloader_id, "grubx64.efi"), -- os.path.join(efi_boot_directory, "bootx64.efi")]) -+ efi_file_source[efi_bitness], -+ efi_file_target[efi_bitness]]) - else: - print("Bootloader: grub (bios)") - boot_loader = libcalamares.globalstorage.value("bootLoader") --- -2.7.4 - diff --git a/calamares.spec b/calamares.spec index d4a0022..b2a4a5e 100644 --- a/calamares.spec +++ b/calamares.spec @@ -8,8 +8,8 @@ %endif Name: calamares -Version: 2.4.4 -Release: 5%{?snaphash:.%{snapdate}git%(echo %{snaphash} | cut -c -13)}%{?dist} +Version: 2.4.5 +Release: 1%{?snaphash:.%{snapdate}git%(echo %{snaphash} | cut -c -13)}%{?dist} Summary: Installer from a live CD/DVD/USB to disk License: GPLv3+ @@ -35,22 +35,6 @@ Patch0: calamares-2.4.4-default-settings.patch # use kdesu instead of pkexec (works around #1171779) Patch1: calamares-2.4.1-kdesu.patch -# fix UEFI installation failure in the bootloader module (bad vfat_correct_case) -# https://github.com/calamares/calamares/commit/5f5b38d1480fbfe9a50ae63f72effc6dfeda05ac -Patch100: calamares-2.4.4-bootloader-fix-vfat_correct_case.patch - -# fix the check for available Internet connection on startup -# https://github.com/calamares/calamares/commit/c0ebc91b15f49b353d02844f264e5d9fdcbb7550 -Patch101: calamares-2.4.4-fix-checkHasInternet.patch - -# fix UEFI firmware workaround for 32-bit UEFI (CAL-403, patch by TeHMoroS) -# https://github.com/calamares/calamares/commit/c7dd77c0f9b9bbc904dbe0e63055775bb92c7f0e -Patch102: calamares-2.4.4-fix-uefi32-cal-403.patch - -# [dracutlukscfg] Don't include keyfile in initramfs on unencrypted /boot. -# https://github.com/calamares/calamares/commit/b3ecb8a981e0f09279a995aad9fd308e6217ff6c -Patch103: calamares-2.4.4-dracutlukscfg-no-unencrypted-keyfile.patch - # Calamares is only supported where live images (and GRUB) are. (#1171380) # This list matches the livearches global from anaconda.spec ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le @@ -184,10 +168,6 @@ developing custom modules for Calamares. %prep %setup -q %{?snaphash:-n %{name}-%{snaphash}} -%patch100 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 %patch0 -p1 -b .default-settings # delete backup files so they don't get installed rm -f src/modules/*/*.conf.default-settings @@ -336,6 +316,10 @@ fi %changelog +* Tue Nov 29 2016 Kevin Kofler - 2.4.5-1 +- Update to 2.4.5 (bugfix release) +- Drop backported patches already included in 2.4.5 + * Sat Nov 19 2016 Kevin Kofler - 2.4.4-5 - dracutlukscfg module: Don't include keyfile in initramfs on unencrypted /boot diff --git a/sources b/sources index ed86df0..31b6ff2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d95c1ae841f2bbe32cd39c1836dc3576 calamares-2.4.4.tar.gz +ec4805b7322748d13d869e7f3e1b42f7 calamares-2.4.5.tar.gz