Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package read-only-root-fs for 
openSUSE:Factory checked in at 2025-04-17 16:07:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/read-only-root-fs (Old)
 and      /work/SRC/openSUSE:Factory/.read-only-root-fs.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "read-only-root-fs"

Thu Apr 17 16:07:23 2025 rev:19 rq:1270255 version:1.0+git20240228.d85232a

Changes:
--------
--- /work/SRC/openSUSE:Factory/read-only-root-fs/read-only-root-fs.changes      
2025-04-15 20:47:22.149805815 +0200
+++ 
/work/SRC/openSUSE:Factory/.read-only-root-fs.new.30101/read-only-root-fs.changes
   2025-04-20 20:08:48.015208215 +0200
@@ -2,19 +1,0 @@
-Tue Apr 15 14:23:08 UTC 2025 - Fabian Vogt <fv...@suse.com>
-
-- Update to version 1.0+git20250415.7e7aea4:
-  * Add missing dependency on mountpoint
-
--------------------------------------------------------------------
-Tue Apr 15 13:03:01 UTC 2025 - Fabian Vogt <fv...@suse.com>
-
-- Add missing dependencies for %post
-
--------------------------------------------------------------------
-Mon Apr 14 13:26:18 UTC 2025 - fv...@suse.com
-
-- Update to version 1.0+git20250414.6ef7163:
-  * Add a note why we need to keep 10-read-only-root-fs.conf around
-  * Migrate from /etc overlays to subvolumes
-- Switch _service to use mode="manual"
-
--------------------------------------------------------------------

Old:
----
  read-only-root-fs-1.0+git20250415.7e7aea4.tar.xz

New:
----
  read-only-root-fs-1.0+git20240228.d85232a.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ read-only-root-fs.spec ++++++
--- /var/tmp/diff_new_pack.VZRp2S/_old  2025-04-20 20:08:48.679236123 +0200
+++ /var/tmp/diff_new_pack.VZRp2S/_new  2025-04-20 20:08:48.683236291 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package read-only-root-fs
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           read-only-root-fs
-Version:        1.0+git20250415.7e7aea4
+Version:        1.0+git20240228.d85232a
 Release:        0
 Summary:        Files and Scripts for a RO root fileystem
 License:        GPL-2.0-or-later
@@ -28,19 +28,17 @@
 BuildRequires:  dracut
 BuildRequires:  update-bootloader-rpm-macros
 Requires:       dracut
-Requires(post): /usr/bin/mv /usr/bin/rsync /usr/bin/gawk /usr/sbin/btrfs
+Requires(post): /usr/bin/mkdir /usr/bin/cat /usr/bin/sed
+Requires(post): gawk
 Requires(post): snapper
 # Required if system with new /etc/fstab entries is supposed to be updated
-Conflicts:      transactional-update < 5.0.0
-# Support for /etc as subvolume
-Conflicts:      combustion < 1.5
-Conflicts:      ignition < 2.21.0
+Conflicts:      transactional-update < 2.15
 BuildArch:      noarch
 %{update_bootloader_requires}
 
 %description
 Files, scripts and directories to run the system with a
-read-only root filesystem with nested writable %{_sysconfdir} BTRFS subvolume.
+read-only root filesystem with %{_sysconfdir} writeable via overlayfs.
 
 This package should never be installed in an already running
 system! It should only be selected by a system role for a
@@ -66,10 +64,12 @@
 
 %install
 cp -a etc usr %{buildroot}
+mkdir -p %{buildroot}%{_localstatedir}/lib/overlay/work-etc
 
 %post
-if [ "$1" = 1 -a "`findmnt -n -o FSTYPE -l /`" = "btrfs" ] ; then
-    %{_libexecdir}/setup-etc-subvol
+if [ "$1" = 1 ] ; then
+    %{_sbindir}/setup-fstab-for-overlayfs
+    mkdir -p %{_localstatedir}/lib/overlay/1/etc
 fi
 if [ ! -e /boot/writable -a "`findmnt -n -o FSTYPE -l /`" = "btrfs" ]; then
     %{_sbindir}/mksubvolume /boot/writable
@@ -90,10 +90,9 @@
 
 %files
 %license COPYING
-%{_libexecdir}/setup-etc-subvol
+%{_sbindir}/setup-fstab-for-overlayfs
+%{_localstatedir}/lib/overlay
 %{_prefix}/lib/dracut/dracut.conf.d/10-read-only-root-fs.conf
-%dir %{_prefix}/lib/dracut/modules.d/50writable-etc
-%{_prefix}/lib/dracut/modules.d/50writable-etc/*
 %{_prefix}/lib/systemd/system-preset/*
 %dir %{_prefix}/lib/systemd/system/systemd-udevd.service.d
 %{_prefix}/lib/systemd/system/systemd-udevd.service.d/etcmount.conf

++++++ _service ++++++
--- /var/tmp/diff_new_pack.VZRp2S/_old  2025-04-20 20:08:48.731238309 +0200
+++ /var/tmp/diff_new_pack.VZRp2S/_new  2025-04-20 20:08:48.735238477 +0200
@@ -1,15 +1,15 @@
 <services>
-  <service name="tar_scm" mode="manual">
+  <service name="tar_scm" mode="disabled">
     <param name="version">1.0</param>
     <param name="versionformat">1.0+git%cd.%h</param>
     <param name="url">https://github.com/openSUSE/read-only-root-fs.git</param>
     <param name="scm">git</param>
     <param name="changesgenerate">enable</param>
   </service>
-  <service name="recompress" mode="manual">
+  <service name="recompress" mode="disabled">
     <param name="compression">xz</param>
     <param name="file">*.tar</param>
   </service>
-  <service name="set_version" mode="manual"/>
+  <service name="set_version" mode="disabled"/>
 </services>
 

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.VZRp2S/_old  2025-04-20 20:08:48.755239318 +0200
+++ /var/tmp/diff_new_pack.VZRp2S/_new  2025-04-20 20:08:48.763239654 +0200
@@ -1,7 +1,7 @@
 <servicedata>
   <service name="tar_scm">
     <param name="url">https://github.com/openSUSE/read-only-root-fs.git</param>
-    <param 
name="changesrevision">7e7aea42996f68a4ade290aa0b1542d6ccb5f46d</param>
+    <param 
name="changesrevision">d85232a9c138eb6dc768c97ac3a5b2d80c16b7e6</param>
   </service>
 </servicedata>
 (No newline at EOF)

++++++ read-only-root-fs-1.0+git20250415.7e7aea4.tar.xz -> 
read-only-root-fs-1.0+git20240228.d85232a.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/lib/dracut/dracut.conf.d/10-read-only-root-fs.conf
 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/lib/dracut/dracut.conf.d/10-read-only-root-fs.conf
--- 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/lib/dracut/dracut.conf.d/10-read-only-root-fs.conf
        2025-04-15 16:19:23.000000000 +0200
+++ 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/lib/dracut/dracut.conf.d/10-read-only-root-fs.conf
        2024-02-28 14:01:51.000000000 +0100
@@ -1,3 +1,2 @@
-# Snapshots created by t-u < 5 still have an overlayfs on /etc
 add_dracutmodules+=" systemd-initrd "
 force_drivers+=" overlay "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/lib/dracut/modules.d/50writable-etc/module-setup.sh
 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/lib/dracut/modules.d/50writable-etc/module-setup.sh
--- 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/lib/dracut/modules.d/50writable-etc/module-setup.sh
       2025-04-15 16:19:23.000000000 +0200
+++ 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/lib/dracut/modules.d/50writable-etc/module-setup.sh
       1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-check() {
-    return 0
-}
-
-install() {
-    inst_multiple mountpoint
-
-    mkdir -p "${initdir}/$systemdsystemunitdir/initrd-parse-etc.service.d"
-    inst_simple "$moddir/writable-etc.conf" 
"$systemdsystemunitdir/initrd-parse-etc.service.d/writable-etc.conf"
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/lib/dracut/modules.d/50writable-etc/writable-etc.conf
 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/lib/dracut/modules.d/50writable-etc/writable-etc.conf
--- 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/lib/dracut/modules.d/50writable-etc/writable-etc.conf
     2025-04-15 16:19:23.000000000 +0200
+++ 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/lib/dracut/modules.d/50writable-etc/writable-etc.conf
     1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-[Service]
-# /etc is a subvolume of the read-only root file system, so also mounted
-# read-only. Mounting it read-write requires a two step process:
-# - Bind mount the subvolume to get a dedicated mount point
-# - Remount that bind mount as read-write
-# Unfortunately systemd does not support two lines for one mount point,
-# so the remount part is done manually here.
-ExecStart=/bin/sh -e -c 'if mountpoint -q /sysroot/etc; then mount -o 
remount,rw /sysroot/etc; fi'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/lib/systemd/system/systemd-remount-fs.service.d/writableagain.conf
 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/lib/systemd/system/systemd-remount-fs.service.d/writableagain.conf
--- 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/lib/systemd/system/systemd-remount-fs.service.d/writableagain.conf
        2025-04-15 16:19:23.000000000 +0200
+++ 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/lib/systemd/system/systemd-remount-fs.service.d/writableagain.conf
        2024-02-28 14:01:51.000000000 +0100
@@ -3,6 +3,3 @@
 # ro-remount of /, so that the filesystem is writable again as
 # quickly as possible (boo#1156421).
 ExecStart=/bin/sh -e -c 'if mountpoint -q /boot/writable; then mount -o 
remount,rw /boot/writable; fi'
-# Changing the read/write mode of a bind mount needs a second
-# fstab entry, but systemd doesn't support set by itself
-ExecStart=/bin/sh -e -c 'if mountpoint -q /etc; then mount -o remount,rw /etc; 
fi'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/libexec/setup-etc-subvol 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/libexec/setup-etc-subvol
--- old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/libexec/setup-etc-subvol  
2025-04-15 16:19:23.000000000 +0200
+++ new/read-only-root-fs-1.0+git20240228.d85232a/usr/libexec/setup-etc-subvol  
1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-#!/bin/sh -e
-#
-# Copyright (c) 2019-2025 SUSE Linux GmbH, Nuernberg, Germany
-#
-# Create nested /etc subvolume and add it to fstab.
-
-# Already there?
-if [ -e /etc/fstab ] && [ -n "$(awk '$2 == "/etc"' /etc/fstab)" ]; then
-       echo "ERROR: Conflicting /etc entry found - cannot create nested 
subvolume."
-       exit 1
-fi
-
-echo "Creating nested /etc subvolume..."
-mv /etc /etc.transactional-update
-btrfs subvolume create /etc
-rsync --quiet --archive --xattrs --acls /etc.transactional-update/ /etc
-rm -r /etc.transactional-update
-
-# Add entry for /etc
-echo "/etc /etc none bind,x-initrd.mount 0 0" >> /etc/fstab
-
-# Still expected by components such as Combustion
-gawk -i inplace '$2 == "/var" { $4 = $4",x-initrd.mount" } { print $0 }' 
/etc/fstab
-
-# Make the /root subvolume available during ignition runs (boo#1161264)
-gawk -i inplace '$2 == "/root" { $4 = $4",x-initrd.mount" } { print $0 }' 
/etc/fstab
-
-exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/sbin/setup-fstab-for-overlayfs
 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/sbin/setup-fstab-for-overlayfs
--- 
old/read-only-root-fs-1.0+git20250415.7e7aea4/usr/sbin/setup-fstab-for-overlayfs
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/read-only-root-fs-1.0+git20240228.d85232a/usr/sbin/setup-fstab-for-overlayfs
    2024-02-28 14:01:51.000000000 +0100
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# Copyright (c) 2019 SUSE Linux GmbH, Nuernberg, Germany
+#
+# Add mountpoint for the /etc overlay and workaround for /var to /etc/fstab
+#
+
+# Already there?
+if [ -e /etc/fstab ] && grep -qE '^overlay[[:space:]]+/etc[[:space:]]' 
/etc/fstab; then
+       exit 0 # Do nothing
+fi
+
+# Not a fresh installation?
+if [ -e /etc/fstab.sys ]; then
+       # Let transactional-update handle the migration - doing anything here 
would be pointless
+       # as it's only written into the overlay anyway and if for some reason 
transactional-update
+       # is too old, it would result in duplicate /etc entries.
+       exit 0
+fi
+
+# Add entry for /etc
+# Workaround for bsc#1121276 is to prefix paths in /etc/fstab options with 
/sysroot,
+# which also means duplicating the x-systemd.requires-mounts-for entry for 
/etc.
+cat << EOF >> /etc/fstab
+overlay /etc overlay 
defaults,lowerdir=/sysroot/etc,upperdir=/sysroot/var/lib/overlay/1/etc,workdir=/sysroot/var/lib/overlay/work-etc,x-systemd.requires-mounts-for=/var,x-systemd.requires-mounts-for=/sysroot/var,x-initrd.mount
 0 0
+EOF
+
+# Workaround for bsc#1121279
+gawk -i inplace '$2 == "/var" { $4 = $4",x-initrd.mount" } { print $0 }' 
/etc/fstab
+
+# Make the /root subvolume available during ignition runs (boo#1161264)
+gawk -i inplace '$2 == "/root" { $4 = $4",x-initrd.mount" } { print $0 }' 
/etc/fstab
+
+exit 0

Reply via email to