fix btrfs in initramfs
authorIan Kelling <iank@fsf.org>
Tue, 3 Sep 2024 06:03:54 +0000 (02:03 -0400)
committerIan Kelling <iank@fsf.org>
Tue, 3 Sep 2024 06:03:54 +0000 (02:03 -0400)
fai/config/package_config/STANDARD
fai/config/scripts/IANK/11-iank

index 63b198f7b854bb818711aefccbb63faa4587058e..afbefab814527dd02e6642ab418f64f48d0531f9 100644 (file)
@@ -36,6 +36,7 @@ xz-utils
 lvm2
 keyutils
 cryptsetup
+btrfs-progs
 sudo
 bridge-utils
 netcat-openbsd
index 40f024b3cd380b213cd279a900234a601ebe6de1..a10a5bba10dcd8f53cd6a837ed51f87942c5bd0e 100755 (executable)
@@ -386,6 +386,19 @@ esac
 
 #### begin btrfs-progs
 
+# we want these files from the package:
+# /usr/share/initramfs-tools/hooks/btrfs
+# /usr/share/initramfs-tools/scripts/local-premount/btrfs
+# everything else, seems better to take from upstream package.
+for f in $(dpkg-query -L btrfs-progs | gr '/man/|^/s?bin/|^/usr/lib/udev') ; do
+  if [[ ! -f $f ]]; then
+    continue
+  fi
+  # use --no-rename so that I don't need to track whether this was the first
+  # btrfs-progs install.
+  $ROOTCMD dpkg-divert --no-rename --local --add $f
+done
+
 ## using dev version for bug fix temporarily. when done, set this to false,
 ## and we can stop copying it in fai-redep.
 static_ver=true
@@ -427,15 +440,19 @@ if [[ $ver != "$cur_ver" ]]; then
     if [[ $FAI_ROOT == / ]]; then
       cd $bp_dir
       make install
+      mv /usr/bin/{fsck,mkfs}.btfs /usr/sbin/
     else
       mkdir -p $target/tmp/bprogs
       mount -o bind $bp_dir $target/tmp/bprogs
       # pre-build. in t11:
       # ./autogen.sh && ./configure --disable-documentation --prefix=/usr && make
-      # in t12, we have the docs prerequisites, so enabled documentation
+      # in t12, we have the docs prerequisites, so enabled documentation.
+      # We won't have the latest docs in t11, i could install them from the t12
+      # build dir, but meh.
       $ROOTCMD bash -xe <<EOF
 cd /tmp/bprogs
 make install
+mv /usr/bin/{fsck,mkfs}.btfs /usr/sbin/
 EOF
     fi
   else
@@ -460,6 +477,7 @@ cd /tmp/${tarball%.tar.gz}
 ./configure --prefix=/usr
 make
 make install
+mv /usr/bin/{fsck,mkfs}.btfs /usr/sbin/
 EOF
     # If our desktop is HOST2, will we btrbk this latest bprogs to other
     # machines.