From 62d2bc18a1bb81d41344dffc0856369da42b21e9 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 8 Jul 2025 08:15:53 +0000 Subject: [PATCH] btrfs-progs: Fix incorrectly installed shared objects Please see the comment in the LFS file. This patch prevents the filesystem-cleanup script from removing libbtrfs*.so.*. Reported-by: Stefan Schantl Signed-off-by: Michael Tremer --- config/rootfiles/common/btrfs-progs | 2 -- config/rootfiles/core/197/filelists/btrfs-progs | 1 + config/rootfiles/core/197/update.sh | 3 +++ lfs/btrfs-progs | 10 ++++++++++ 4 files changed, 14 insertions(+), 2 deletions(-) create mode 120000 config/rootfiles/core/197/filelists/btrfs-progs diff --git a/config/rootfiles/common/btrfs-progs b/config/rootfiles/common/btrfs-progs index 829e29ce6c..5d1763865e 100644 --- a/config/rootfiles/common/btrfs-progs +++ b/config/rootfiles/common/btrfs-progs @@ -23,11 +23,9 @@ usr/bin/mkfs.btrfs #usr/lib/libbtrfs.a #usr/lib/libbtrfs.so usr/lib/libbtrfs.so.0 -usr/lib/libbtrfs.so.0.1 usr/lib/libbtrfs.so.0.1.4 #usr/lib/libbtrfsutil.a #usr/lib/libbtrfsutil.so usr/lib/libbtrfsutil.so.1 -usr/lib/libbtrfsutil.so.1.3 usr/lib/libbtrfsutil.so.1.3.2 #usr/lib/pkgconfig/libbtrfsutil.pc diff --git a/config/rootfiles/core/197/filelists/btrfs-progs b/config/rootfiles/core/197/filelists/btrfs-progs new file mode 120000 index 0000000000..d7a2f6f524 --- /dev/null +++ b/config/rootfiles/core/197/filelists/btrfs-progs @@ -0,0 +1 @@ +../../../common/btrfs-progs \ No newline at end of file diff --git a/config/rootfiles/core/197/update.sh b/config/rootfiles/core/197/update.sh index c4a11a2765..bc6284b9be 100644 --- a/config/rootfiles/core/197/update.sh +++ b/config/rootfiles/core/197/update.sh @@ -34,6 +34,9 @@ done # Stop services # Remove files +rm -vf \ + /usr/lib/libbtrfs.so.0.? \ + /usr/lib/libbtrfsutil.so.1.? # Extract files extract_files diff --git a/lfs/btrfs-progs b/lfs/btrfs-progs index cbeb179f3e..a37e3d205c 100644 --- a/lfs/btrfs-progs +++ b/lfs/btrfs-progs @@ -83,5 +83,15 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) --disable-python cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install + + # This package has an odd way to install its libraries. Instead of + # just having libbtrfs.so.0 which links to libbtrfs.so.0.1.4, there + # is an extra file called libbtrfs.so.0.1 and likewise for libbtrfsutil. + # This confuses our filesystem-cleanup script and is unnecessary. + # Therefore we remove the superfluous symlinks. + rm -vf \ + /usr/lib/libbtrfs.so.0.? \ + /usr/lib/libbtrfsutil.so.1.? + @rm -rf $(DIR_APP) @$(POSTBUILD) -- 2.47.3