From f25251d1fd7fa3444cb20ab88f65633921c726f3 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 18 Nov 2017 19:23:58 +0000 Subject: app-admin/calamares : version bump --- ...alamares-3.1.1-luks-fstab-write-devmapper.patch | 30 ----- .../files/calamares-3.1.1-openrc-dmcrypt-cfg.patch | 80 ----------- .../files/calamares-3.1.8-kpmcore-3.2.patch | 146 +++++++++++++++++++++ .../files/calamares-3.1.8-openrc-dmcrypt-cfg.patch | 80 +++++++++++ 4 files changed, 226 insertions(+), 110 deletions(-) delete mode 100644 app-admin/calamares/files/calamares-3.1.1-luks-fstab-write-devmapper.patch delete mode 100644 app-admin/calamares/files/calamares-3.1.1-openrc-dmcrypt-cfg.patch create mode 100644 app-admin/calamares/files/calamares-3.1.8-kpmcore-3.2.patch create mode 100644 app-admin/calamares/files/calamares-3.1.8-openrc-dmcrypt-cfg.patch (limited to 'app-admin/calamares/files') diff --git a/app-admin/calamares/files/calamares-3.1.1-luks-fstab-write-devmapper.patch b/app-admin/calamares/files/calamares-3.1.1-luks-fstab-write-devmapper.patch deleted file mode 100644 index 6b6845d8..00000000 --- a/app-admin/calamares/files/calamares-3.1.1-luks-fstab-write-devmapper.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -Nur a/src/modules/fstab/main.py b/src/modules/fstab/main.py ---- a/src/modules/fstab/main.py 2016-11-25 17:38:49.000000000 +0000 -+++ b/src/modules/fstab/main.py 2017-06-02 15:46:38.124863165 +0100 -@@ -257,12 +257,20 @@ - check=check, - ) - -- return dict(device="UUID=" + partition["uuid"], -- mount_point=mount_point or "swap", -- fs=filesystem, -- options=options, -- check=check, -- ) -+ if "luksMapperName" in partition: -+ return dict(device="/dev/mapper/" + partition["luksMapperName"], -+ mount_point=mount_point or "swap", -+ fs=filesystem, -+ options=options, -+ check=check, -+ ) -+ else: -+ return dict(device="UUID=" + partition["uuid"], -+ mount_point=mount_point or "swap", -+ fs=filesystem, -+ options=options, -+ check=check, -+ ) - - def print_fstab_line(self, dct, file=None): - """ Prints line to '/etc/fstab' file. """ diff --git a/app-admin/calamares/files/calamares-3.1.1-openrc-dmcrypt-cfg.patch b/app-admin/calamares/files/calamares-3.1.1-openrc-dmcrypt-cfg.patch deleted file mode 100644 index d39e3fab..00000000 --- a/app-admin/calamares/files/calamares-3.1.1-openrc-dmcrypt-cfg.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff -Nur a/src/modules/openrcdmcryptcfg/main.py b/src/modules/openrcdmcryptcfg/main.py ---- a/src/modules/openrcdmcryptcfg/main.py 1970-01-01 01:00:00.000000000 +0100 -+++ b/src/modules/openrcdmcryptcfg/main.py 2017-08-22 19:23:32.660085460 +0100 -@@ -0,0 +1,61 @@ -+#!/usr/bin/env python3 -+# -*- coding: utf-8 -*- -+# -+# === This file is part of Calamares - === -+# -+# Copyright 2017, Ghiunhan Mamut -+# -+# Calamares is free software: you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation, either version 3 of the License, or -+# (at your option) any later version. -+# -+# Calamares is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with Calamares. If not, see . -+ -+import libcalamares -+import os.path -+ -+ -+def write_dmcrypt_conf(partitions, root_mount_point, dmcrypt_conf_path): -+ crypto_target = "" -+ crypto_source = "" -+ -+ for partition in partitions: -+ if partition["mountPoint"] == "/home" and not "luksMapperName" in partition: -+ pass -+ -+ elif partition["mountPoint"] == "/home" and "luksMapperName" in partition: -+ crypto_target = partition["luksMapperName"] -+ crypto_source = "/dev/disk/by-uuid/{!s}".format(partition["uuid"]) -+ with open(os.path.join(root_mount_point, dmcrypt_conf_path), 'a+') as dmcrypt_file: -+ dmcrypt_file.write("\ntarget=" + crypto_target) -+ dmcrypt_file.write("\nsource=" + crypto_source) -+ dmcrypt_file.write("\nkey=/crypto_keyfile.bin") -+ dmcrypt_file.write("\n") -+ dmcrypt_file.close() -+ -+ elif not partition["mountPoint"] == "/home" in partition: -+ pass -+ -+ return None -+ -+ -+def run(): -+ """ -+ This module configures the OpenRC dmcrypt service for an encrypted /home partition. -+ :return: -+ """ -+ -+ root_mount_point = libcalamares.globalstorage.value("rootMountPoint") -+ dmcrypt_conf_path = libcalamares.job.configuration["configFilePath"] -+ partitions = libcalamares.globalstorage.value("partitions") -+ -+ dmcrypt_conf_path = dmcrypt_conf_path.lstrip('/') -+ -+ return write_dmcrypt_conf(partitions, root_mount_point, dmcrypt_conf_path) -diff -Nur a/src/modules/openrcdmcryptcfg/module.desc b/src/modules/openrcdmcryptcfg/module.desc ---- a/src/modules/openrcdmcryptcfg/module.desc 1970-01-01 01:00:00.000000000 +0100 -+++ b/src/modules/openrcdmcryptcfg/module.desc 2017-08-22 13:11:15.198714035 +0100 -@@ -0,0 +1,5 @@ -+--- -+type: "job" -+name: "openrcdmcryptcfg" -+interface: "python" -+script: "main.py" -diff -Nur a/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf b/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf ---- a/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf 1970-01-01 01:00:00.000000000 +0100 -+++ b/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf 2017-08-22 13:11:15.198714035 +0100 -@@ -0,0 +1,2 @@ -+--- -+configFilePath: /etc/conf.d/dmcrypt diff --git a/app-admin/calamares/files/calamares-3.1.8-kpmcore-3.2.patch b/app-admin/calamares/files/calamares-3.1.8-kpmcore-3.2.patch new file mode 100644 index 00000000..07e506ec --- /dev/null +++ b/app-admin/calamares/files/calamares-3.1.8-kpmcore-3.2.patch @@ -0,0 +1,146 @@ +diff -Naur calamares-3.1.8/src/modules/partition/CMakeLists.txt calamares-3.1.8-p/src/modules/partition/CMakeLists.txt +--- calamares-3.1.8/src/modules/partition/CMakeLists.txt 2017-11-14 16:18:58.000000000 +0100 ++++ calamares-3.1.8-p/src/modules/partition/CMakeLists.txt 2017-11-18 13:16:38.335840619 +0100 +@@ -5,14 +5,10 @@ + include(GenerateExportHeader) + find_package( KF5 REQUIRED CoreAddons ) + +-# These are needed because KPMcore links publicly against ConfigCore, I18n, IconThemes, KIOCore and Service +-find_package( KF5 REQUIRED Config I18n IconThemes KIO Service ) ++find_package( Qt5 REQUIRED DBus ) ++find_package( KF5 REQUIRED Config I18n WidgetsAddons Service ) + +-find_package( KPMcore 3.1.50 QUIET ) +-if ( KPMcore_FOUND ) +- add_definitions(-DWITH_KPMCORE22) +-endif() +-find_package( KPMcore 3.0.3 QUIET ) ++find_package( KPMcore 3.2 QUIET ) + # 3.0.3 and newer has fixes for NVMe support; allow 3.0.2, but warn + # about it .. needs to use a different feature name because it otherwise + # gets reported as KPMcore (the package). +@@ -25,15 +21,6 @@ + add_feature_info( KPMcoreNVMe KPMcore_FOUND "Older KPMcore with no NVMe support" ) + endif() + +-find_library( atasmart_LIB atasmart ) +-find_library( blkid_LIB blkid ) +-if( NOT atasmart_LIB ) +- message( WARNING "atasmart library not found." ) +-endif() +-if( NOT blkid_LIB ) +- message( WARNING "blkid library not found." ) +-endif() +- + + include_directories( ${KPMCORE_INCLUDE_DIR} ) + include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) +diff -Naur calamares-3.1.8/src/modules/partition/core/KPMHelpers.cpp calamares-3.1.8-p/src/modules/partition/core/KPMHelpers.cpp +--- calamares-3.1.8/src/modules/partition/core/KPMHelpers.cpp 2017-11-14 16:18:58.000000000 +0100 ++++ calamares-3.1.8-p/src/modules/partition/core/KPMHelpers.cpp 2017-11-18 13:11:35.255540490 +0100 +@@ -116,9 +116,7 @@ + PartitionTable::Flags flags ) + { + FileSystem* fs = FileSystemFactory::create( fsType, firstSector, lastSector +-#ifdef WITH_KPMCORE22 + ,device.logicalSize() +-#endif + ); + return new Partition( + parent, +@@ -153,9 +151,7 @@ + FileSystemFactory::create( FileSystem::Luks, + firstSector, + lastSector +-#ifdef WITH_KPMCORE22 + ,device.logicalSize() +-#endif + ) ); + if ( !fs ) + { +@@ -186,9 +182,7 @@ + partition->fileSystem().type(), + partition->firstSector(), + partition->lastSector() +-#ifdef WITH_KPMCORE22 + ,device->logicalSize() +-#endif + ); + return new Partition( partition->parent(), + *device, +diff -Naur calamares-3.1.8/src/modules/partition/jobs/FillGlobalStorageJob.cpp calamares-3.1.8-p/src/modules/partition/jobs/FillGlobalStorageJob.cpp +--- calamares-3.1.8/src/modules/partition/jobs/FillGlobalStorageJob.cpp 2017-11-14 16:18:58.000000000 +0100 ++++ calamares-3.1.8-p/src/modules/partition/jobs/FillGlobalStorageJob.cpp 2017-11-18 13:11:35.256540518 +0100 +@@ -77,50 +77,6 @@ + return uuid; + } + +-// TODO: this will be available from KPMCore soon +-static const char* filesystem_labels[] = { +- "unknown", +- "extended", +- +- "ext2", +- "ext3", +- "ext4", +- "linuxswap", +- "fat16", +- "fat32", +- "ntfs", +- "reiser", +- "reiser4", +- "xfs", +- "jfs", +- "hfs", +- "hfsplus", +- "ufs", +- "unformatted", +- "btrfs", +- "hpfs", +- "luks", +- "ocfs2", +- "zfs", +- "exfat", +- "nilfs2", +- "lvm2 pv", +- "f2fs", +- "udf", +- "iso9660", +-}; +- +-Q_STATIC_ASSERT_X((sizeof(filesystem_labels) / sizeof(char *)) >= FileSystem::__lastType, "Mismatch in filesystem labels"); +- +-static QString +-untranslatedTypeName(FileSystem::Type t) +-{ +- +- Q_ASSERT( t >= 0 ); +- Q_ASSERT( t <= FileSystem::__lastType ); +- +- return QLatin1String(filesystem_labels[t]); +-} + + static QVariant + mapForPartition( Partition* partition, const QString& uuid ) +@@ -129,7 +85,7 @@ + map[ "device" ] = partition->partitionPath(); + map[ "mountPoint" ] = PartitionInfo::mountPoint( partition ); + map[ "fsName" ] = partition->fileSystem().name(); +- map[ "fs" ] = untranslatedTypeName( partition->fileSystem().type() ); ++ map[ "fs" ] = partition->fileSystem().name( { QStringLiteral("C") } ); // Untranslated + if ( partition->fileSystem().type() == FileSystem::Luks && + dynamic_cast< FS::luks& >( partition->fileSystem() ).innerFS() ) + map[ "fs" ] = dynamic_cast< FS::luks& >( partition->fileSystem() ).innerFS()->name(); +diff -Naur calamares-3.1.8/src/modules/partition/tests/PartitionJobTests.cpp calamares-3.1.8-p/src/modules/partition/tests/PartitionJobTests.cpp +--- calamares-3.1.8/src/modules/partition/tests/PartitionJobTests.cpp 2017-11-14 16:18:58.000000000 +0100 ++++ calamares-3.1.8-p/src/modules/partition/tests/PartitionJobTests.cpp 2017-11-18 13:11:35.255540490 +0100 +@@ -219,9 +219,7 @@ + else + lastSector = freeSpacePartition->lastSector(); + FileSystem* fs = FileSystemFactory::create( type, firstSector, lastSector +-#ifdef WITH_KPMCORE22 + ,m_device->logicalSize() +-#endif + ); + + Partition* partition = new Partition( diff --git a/app-admin/calamares/files/calamares-3.1.8-openrc-dmcrypt-cfg.patch b/app-admin/calamares/files/calamares-3.1.8-openrc-dmcrypt-cfg.patch new file mode 100644 index 00000000..d39e3fab --- /dev/null +++ b/app-admin/calamares/files/calamares-3.1.8-openrc-dmcrypt-cfg.patch @@ -0,0 +1,80 @@ +diff -Nur a/src/modules/openrcdmcryptcfg/main.py b/src/modules/openrcdmcryptcfg/main.py +--- a/src/modules/openrcdmcryptcfg/main.py 1970-01-01 01:00:00.000000000 +0100 ++++ b/src/modules/openrcdmcryptcfg/main.py 2017-08-22 19:23:32.660085460 +0100 +@@ -0,0 +1,61 @@ ++#!/usr/bin/env python3 ++# -*- coding: utf-8 -*- ++# ++# === This file is part of Calamares - === ++# ++# Copyright 2017, Ghiunhan Mamut ++# ++# Calamares is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 3 of the License, or ++# (at your option) any later version. ++# ++# Calamares is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with Calamares. If not, see . ++ ++import libcalamares ++import os.path ++ ++ ++def write_dmcrypt_conf(partitions, root_mount_point, dmcrypt_conf_path): ++ crypto_target = "" ++ crypto_source = "" ++ ++ for partition in partitions: ++ if partition["mountPoint"] == "/home" and not "luksMapperName" in partition: ++ pass ++ ++ elif partition["mountPoint"] == "/home" and "luksMapperName" in partition: ++ crypto_target = partition["luksMapperName"] ++ crypto_source = "/dev/disk/by-uuid/{!s}".format(partition["uuid"]) ++ with open(os.path.join(root_mount_point, dmcrypt_conf_path), 'a+') as dmcrypt_file: ++ dmcrypt_file.write("\ntarget=" + crypto_target) ++ dmcrypt_file.write("\nsource=" + crypto_source) ++ dmcrypt_file.write("\nkey=/crypto_keyfile.bin") ++ dmcrypt_file.write("\n") ++ dmcrypt_file.close() ++ ++ elif not partition["mountPoint"] == "/home" in partition: ++ pass ++ ++ return None ++ ++ ++def run(): ++ """ ++ This module configures the OpenRC dmcrypt service for an encrypted /home partition. ++ :return: ++ """ ++ ++ root_mount_point = libcalamares.globalstorage.value("rootMountPoint") ++ dmcrypt_conf_path = libcalamares.job.configuration["configFilePath"] ++ partitions = libcalamares.globalstorage.value("partitions") ++ ++ dmcrypt_conf_path = dmcrypt_conf_path.lstrip('/') ++ ++ return write_dmcrypt_conf(partitions, root_mount_point, dmcrypt_conf_path) +diff -Nur a/src/modules/openrcdmcryptcfg/module.desc b/src/modules/openrcdmcryptcfg/module.desc +--- a/src/modules/openrcdmcryptcfg/module.desc 1970-01-01 01:00:00.000000000 +0100 ++++ b/src/modules/openrcdmcryptcfg/module.desc 2017-08-22 13:11:15.198714035 +0100 +@@ -0,0 +1,5 @@ ++--- ++type: "job" ++name: "openrcdmcryptcfg" ++interface: "python" ++script: "main.py" +diff -Nur a/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf b/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf +--- a/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf 1970-01-01 01:00:00.000000000 +0100 ++++ b/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf 2017-08-22 13:11:15.198714035 +0100 +@@ -0,0 +1,2 @@ ++--- ++configFilePath: /etc/conf.d/dmcrypt -- cgit v1.2.3