diff --git a/debian/changelog b/debian/changelog index f59e446..eec460a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ calamares (3.2.59-0ubuntu1) UNRELEASED; urgency=medium * New upstream release, last in the 3.2 series. + * Remove the reverse-applicable tmpfs fix. -- Simon Quigley Tue, 31 May 2022 15:32:56 -0500 diff --git a/debian/patches/fstab.patch b/debian/patches/fstab.patch deleted file mode 100644 index 9079727..0000000 --- a/debian/patches/fstab.patch +++ /dev/null @@ -1,158 +0,0 @@ -From 63ee982d36584fd56c8ac096440406facfec2240 Mon Sep 17 00:00:00 2001 -From: abalfoort -Date: Fri, 20 May 2022 11:54:23 +0200 -Subject: [PATCH] [fstab] Configure tmp on tmpfs - -Adds a new option / configuration keys to `fstab.conf` to -configure how /tmp is created. The example shows how /tmp -is made *tmpfs* on an SSD, or on not-SSD, is just-a-directory. - -FIXES #1818 ---- - src/modules/fstab/fstab.conf | 23 +++++++++++++++++ - src/modules/fstab/fstab.schema.yaml | 20 ++++++++++++++- - src/modules/fstab/main.py | 38 ++++++++++++++++++++--------- - 3 files changed, 69 insertions(+), 12 deletions(-) - -diff --git a/src/modules/fstab/fstab.conf b/src/modules/fstab/fstab.conf -index 560aa0073e..80800c44be 100644 ---- a/src/modules/fstab/fstab.conf -+++ b/src/modules/fstab/fstab.conf -@@ -61,3 +61,26 @@ ssdExtraMountOptions: - crypttabOptions: luks - # For Debian and Debian-based distributions, change the above line to: - # crypttabOptions: luks,keyscript=/bin/cat -+ -+# Options for handling /tmp in /etc/fstab -+# Currently default (required) and ssd are supported -+# The corresponding string can contain the following variables: -+# tmpfs: true or tmpfs: false to either mount /tmp as tmpfs or not -+# options: "" -+# -+# Example: -+#tmpOptions: -+# default: -+# tmpfs: false -+# options: "" -+# ssd: -+# tmpfs: true -+# options: "defaults,noatime,mode=1777" -+# -+tmpOptions: -+ default: -+ tmpfs: false -+ options: "" -+ ssd: -+ tmpfs: true -+ options: "defaults,noatime,mode=1777" -diff --git a/src/modules/fstab/fstab.schema.yaml b/src/modules/fstab/fstab.schema.yaml -index 087e82cac3..f70d22c42c 100644 ---- a/src/modules/fstab/fstab.schema.yaml -+++ b/src/modules/fstab/fstab.schema.yaml -@@ -25,4 +25,22 @@ properties: - btrfs_swap: { type: string } - efiMountOptions: { type: string } - crypttabOptions: { type: string } --required: [ mountOptions ] -+ tmpOptions: -+ type: object -+ additionalProperties: false -+ properties: -+ default: -+ type: object -+ additionalProperties: false -+ properties: -+ tmpfs: { type: bool } -+ options: { type: string } -+ ssd: -+ type: object -+ additionalProperties: false -+ properties: -+ tmpfs: { type: bool } -+ options: { type: string } -+required: -+ - mountOptions -+ - tmpOptions: default -diff --git a/src/modules/fstab/main.py b/src/modules/fstab/main.py -index 45cac351be..914b766e8e 100755 ---- a/src/modules/fstab/main.py -+++ b/src/modules/fstab/main.py -@@ -106,14 +106,17 @@ class FstabGenerator(object): - :param root_mount_point: - :param mount_options: - :param ssd_extra_mount_options: -+ :param crypttab_options: -+ :param tmp_options: - """ - def __init__(self, partitions, root_mount_point, mount_options, -- ssd_extra_mount_options, crypttab_options): -+ ssd_extra_mount_options, crypttab_options, tmp_options): - self.partitions = partitions - self.root_mount_point = root_mount_point - self.mount_options = mount_options - self.ssd_extra_mount_options = ssd_extra_mount_options - self.crypttab_options = crypttab_options -+ self.tmp_options = tmp_options - self.ssd_disks = set() - self.root_is_ssd = False - -@@ -214,21 +217,32 @@ def generate_fstab(self): - mount_entry["subvol"] = s["subvolume"] - dct = self.generate_fstab_line_info(mount_entry) - if dct: -- self.print_fstab_line(dct, file=fstab_file) -+ self.print_fstab_line(dct, file=fstab_file) - elif partition["fs"] != "zfs": # zfs partitions don't need an entry in fstab - dct = self.generate_fstab_line_info(partition) - if dct: - self.print_fstab_line(dct, file=fstab_file) - - if self.root_is_ssd: -- # Mount /tmp on a tmpfs -- dct = dict(device="tmpfs", -- mount_point="/tmp", -- fs="tmpfs", -- options="defaults,noatime,mode=1777", -- check=0, -- ) -- self.print_fstab_line(dct, file=fstab_file) -+ # Old behavior was to mount /tmp as tmpfs -+ # New behavior is to use tmpOptions to decide -+ # if mounting /tmp as tmpfs and which options to use -+ ssd = self.tmp_options.get("ssd", {}) -+ if not ssd: -+ ssd = self.tmp_options.get("default", {}) -+ # Default to True to mimic old behavior -+ tmpfs = ssd.get("tmpfs", True) -+ -+ if tmpfs: -+ options = ssd.get("options", "defaults,noatime,mode=1777") -+ # Mount /tmp on a tmpfs -+ dct = dict(device="tmpfs", -+ mount_point="/tmp", -+ fs="tmpfs", -+ options=options, -+ check=0, -+ ) -+ self.print_fstab_line(dct, file=fstab_file) - - def generate_fstab_line_info(self, partition): - """ -@@ -411,6 +425,7 @@ def run(): - mount_options = conf.get("mountOptions", {}) - ssd_extra_mount_options = conf.get("ssdExtraMountOptions", {}) - crypttab_options = conf.get("crypttabOptions", "luks") -+ tmp_options = conf.get("tmpOptions", {}) - - # We rely on mount_options having a default; if there wasn't one, - # bail out with a meaningful error. -@@ -423,7 +438,8 @@ def run(): - root_mount_point, - mount_options, - ssd_extra_mount_options, -- crypttab_options) -+ crypttab_options, -+ tmp_options) - - if swap_choice is not None: - libcalamares.job.setprogress(0.2) diff --git a/debian/patches/series b/debian/patches/series index c47e449..683ca99 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,2 @@ 0001-replace-pkexec-by-sudo.patch apport-package-hook.patch -fstab.patch