From 171e486825625c75350416f07b3a65566584bd1b Mon Sep 17 00:00:00 2001 From: Cameron Baird Date: Thu, 8 Aug 2024 21:44:04 +0000 Subject: [PATCH 1/4] Drop disable-xattr dracut atch, introduce config to optionally enable it --- SPECS/dracut/0002-disable-xattr.patch | 31 --------------------------- SPECS/dracut/dracut.spec | 20 +++++++++++++++-- 2 files changed, 18 insertions(+), 33 deletions(-) delete mode 100644 SPECS/dracut/0002-disable-xattr.patch diff --git a/SPECS/dracut/0002-disable-xattr.patch b/SPECS/dracut/0002-disable-xattr.patch deleted file mode 100644 index e5545b71c28..00000000000 --- a/SPECS/dracut/0002-disable-xattr.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/dracut-init.sh b/dracut-init.sh -index 40b66f5..f72de3d 100755 ---- a/dracut-init.sh -+++ b/dracut-init.sh -@@ -19,11 +19,7 @@ - # - export LC_MESSAGES=C - --if [[ $EUID == "0" ]] && ! [[ $DRACUT_NO_XATTR ]]; then -- export DRACUT_CP="cp --reflink=auto --sparse=auto --preserve=mode,timestamps,xattr,links -dfr" --else -- export DRACUT_CP="cp --reflink=auto --sparse=auto --preserve=mode,timestamps,links -dfr" --fi -+export DRACUT_CP="cp --reflink=auto --sparse=auto --preserve=mode,timestamps,links -dfr" - - # is_func - # Check whether $1 is a function. -diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c -index 96b20e9..433ebf7 100644 ---- a/src/install/dracut-install.c -+++ b/src/install/dracut-install.c -@@ -329,8 +329,7 @@ static int cp(const char *src, const char *dst) - - normal_copy: - pid = fork(); -- const char *preservation = (geteuid() == 0 -- && no_xattr == false) ? "--preserve=mode,xattr,timestamps,ownership" : "--preserve=mode,timestamps,ownership"; -+ const char *preservation = "--preserve=mode,timestamps"; - if (pid == 0) { - execlp("cp", "cp", "--reflink=auto", "--sparse=auto", preservation, "-fL", src, dst, NULL); - _exit(errno == ENOENT ? 127 : 126); diff --git a/SPECS/dracut/dracut.spec b/SPECS/dracut/dracut.spec index 26d197d9b6c..227c47be3d8 100644 --- a/SPECS/dracut/dracut.spec +++ b/SPECS/dracut/dracut.spec @@ -4,7 +4,7 @@ Summary: dracut to create initramfs Name: dracut Version: 102 -Release: 3%{?dist} +Release: 4%{?dist} # The entire source code is GPLv2+ # except install/* which is LGPLv2+ License: GPLv2+ AND LGPLv2+ @@ -23,13 +23,13 @@ Source7: 00-hyperv.conf Source8: 00-virtio.conf Source9: 00-vrf.conf Source10: 00-xen.conf +Source11: 50-noxattr.conf # allow-liveos-overlay-no-user-confirmation-prompt.patch has been introduced by # the Mariner team to allow skipping the user confirmation prompt during boot # when the overlay of the liveos is backed by ram. This allows the machine to # boot without being blocked on user input in such a scenario. Patch: allow-liveos-overlay-no-user-confirmation-prompt.patch -Patch: 0002-disable-xattr.patch Patch: 0006-dracut.sh-validate-instmods-calls.patch Patch: 0011-Remove-reference-to-kernel-module-zlib-in-fips-module.patch Patch: 0012-fix-dracut-functions-avoid-awk-in-get_maj_min.patch @@ -96,6 +96,13 @@ Requires: %{name} = %{version}-%{release} %description megaraid This package contains dracut configuration needed to build an initramfs with MegaRAID driver support. +%package noxattr +Summary: dracut configuration needed to disable preserving of xattr file metadata +Requires: %{name} = %{version}-%{release} + +%description noxattr +This package contains dracut configuration needed to disable preserving of xattr file metadata. + %package tools Summary: dracut tools to build the local initramfs Requires: %{name} = %{version}-%{release} @@ -174,6 +181,7 @@ install -m 0644 %{SOURCE7} %{buildroot}%{_sysconfdir}/dracut.conf.d/00-hyperv.co install -m 0644 %{SOURCE8} %{buildroot}%{_sysconfdir}/dracut.conf.d/00-virtio.conf install -m 0644 %{SOURCE9} %{buildroot}%{_sysconfdir}/dracut.conf.d/00-vrf.conf install -m 0644 %{SOURCE10} %{buildroot}%{_sysconfdir}/dracut.conf.d/00-xen.conf +install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/dracut.conf.d/50-noxattr.conf mkdir -p %{buildroot}%{dracutlibdir}/modules.d/20overlayfs/ install -p -m 0755 %{SOURCE4} %{buildroot}%{dracutlibdir}/modules.d/20overlayfs/ @@ -251,6 +259,10 @@ ln -srv %{buildroot}%{_bindir}/%{name} %{buildroot}%{_sbindir}/%{name} %defattr(-,root,root,0755) %{_sysconfdir}/dracut.conf.d/50-megaraid.conf +%files noxattr +%defattr(-,root,root,0755) +%{_sysconfdir}/dracut.conf.d/50-noxattr.conf + %files tools %defattr(-,root,root,0755) @@ -276,6 +288,10 @@ ln -srv %{buildroot}%{_bindir}/%{name} %{buildroot}%{_sbindir}/%{name} %dir %{_sharedstatedir}/%{name}/overlay %changelog +* Mon Aug 19 2024 Cameron Baird - 102-4 +- Drop 0002-disable-xattr.patch +- Introduce dracut-noxattr subpackage to expose this behavior as an option + * Thu Aug 08 2024 Cameron Baird - 102-3 - Drop 0007-feat-dracut.sh-support-multiple-config-dirs.patch From 533e7ac3f6cfa94b9779d4dd80a38066b6307b99 Mon Sep 17 00:00:00 2001 From: Cameron Baird Date: Thu, 8 Aug 2024 21:58:09 +0000 Subject: [PATCH 2/4] commit 50-xattr.conf --- SPECS/dracut/50-noxattr.conf | 2 ++ SPECS/dracut/dracut.signatures.json | 1 + 2 files changed, 3 insertions(+) create mode 100644 SPECS/dracut/50-noxattr.conf diff --git a/SPECS/dracut/50-noxattr.conf b/SPECS/dracut/50-noxattr.conf new file mode 100644 index 00000000000..5df2b19e67f --- /dev/null +++ b/SPECS/dracut/50-noxattr.conf @@ -0,0 +1,2 @@ +# disable xattr +DRACUT_NO_XATTR=1 \ No newline at end of file diff --git a/SPECS/dracut/dracut.signatures.json b/SPECS/dracut/dracut.signatures.json index 5947ada7b70..f4193d6a6c4 100644 --- a/SPECS/dracut/dracut.signatures.json +++ b/SPECS/dracut/dracut.signatures.json @@ -5,6 +5,7 @@ "00-virtio.conf": "173e93feea30f328d4cda7d07f756446fe45830ad9a5ee99b007bed0579b9a64", "00-vrf.conf": "e2885a4b090d8ca3771e60ce6dcd8b849e28ce5002a5c7b71ff796a92deb2810", "00-xen.conf": "8b7a89b7716cb40a9c0d681caed6994d81ff4dfad4fe50cea15cd47b885dc5a6", + "50-noxattr.conf": "9e9a3bf35c5e8dc8cd2ceffc260d5b3cd93c18d2bdae4bb04d64418bbc4897ab", "dracut-102.tar.gz": "601b175cbf4d2ee902bb7bda3af8826ae2ca060c1af880f6da5a833413f4ec70", "lgpl-2.1.txt": "dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551", "megaraid.conf": "914824cdbe0c525b71efa05a75e453335b0068beb8bc28bef2a5866d74bf7dd4", From ff6e47cdd69a87aea1d4fce001c9ed6d0fb3e4ba Mon Sep 17 00:00:00 2001 From: Cameron Baird Date: Mon, 19 Aug 2024 16:25:44 +0000 Subject: [PATCH 3/4] Insert newline 50-noxattr.conf --- SPECS/dracut/50-noxattr.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SPECS/dracut/50-noxattr.conf b/SPECS/dracut/50-noxattr.conf index 5df2b19e67f..7cafbef14f5 100644 --- a/SPECS/dracut/50-noxattr.conf +++ b/SPECS/dracut/50-noxattr.conf @@ -1,2 +1,2 @@ # disable xattr -DRACUT_NO_XATTR=1 \ No newline at end of file +DRACUT_NO_XATTR=1 From 6a15e7d130caab0679e58c99c9ae9bdee6622aac Mon Sep 17 00:00:00 2001 From: Chris Co Date: Fri, 23 Aug 2024 17:33:56 -0700 Subject: [PATCH 4/4] fix: update 50-noxttr.conf signature hash Signed-off-by: Chris Co --- SPECS/dracut/dracut.signatures.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SPECS/dracut/dracut.signatures.json b/SPECS/dracut/dracut.signatures.json index f4193d6a6c4..9ea435fb927 100644 --- a/SPECS/dracut/dracut.signatures.json +++ b/SPECS/dracut/dracut.signatures.json @@ -5,7 +5,7 @@ "00-virtio.conf": "173e93feea30f328d4cda7d07f756446fe45830ad9a5ee99b007bed0579b9a64", "00-vrf.conf": "e2885a4b090d8ca3771e60ce6dcd8b849e28ce5002a5c7b71ff796a92deb2810", "00-xen.conf": "8b7a89b7716cb40a9c0d681caed6994d81ff4dfad4fe50cea15cd47b885dc5a6", - "50-noxattr.conf": "9e9a3bf35c5e8dc8cd2ceffc260d5b3cd93c18d2bdae4bb04d64418bbc4897ab", + "50-noxattr.conf": "61d95f05890ac6ee3355d0a386dd5645d82b7a4202d90305d997fd18c6d139dd", "dracut-102.tar.gz": "601b175cbf4d2ee902bb7bda3af8826ae2ca060c1af880f6da5a833413f4ec70", "lgpl-2.1.txt": "dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551", "megaraid.conf": "914824cdbe0c525b71efa05a75e453335b0068beb8bc28bef2a5866d74bf7dd4",