瀏覽代碼

package/squashfs: add upstream patch to fix symlinks

Since version 4.5, squashfs-tools provides two additional utilities:
sqfstar and sqfscat. But their functionality is bundled within
mksquashfs and unsquashfs respectively, so that sqfstar is a symlink
to sqfstar, and sqfscat a symlink to unsquashfs.

Unfortunately, due to how the symlinks were created, they had a bogus
target when INSTALL_DIR was not empty, leading to things like this:

 ./usr/bin/sqfscat -> /home/peko/autobuild/instance-1/output-2/target/usr/bin/unsquashfs
 ./usr/bin/sqfstar -> /home/peko/autobuild/instance-1/output-2/target/usr/bin/mksquashfs

Not only they are wrong, but they also cause reproducible build
issues (this is how they were detected).

This commit backports an upstream patch that fixes this problem.

This is also fixing the squashfs-tools part of the reproducible build
issues at:

  http://autobuild.buildroot.net/results/00af5dca8c30b243af1e8cde3b02e264f7603442/diffoscope-results.txt

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Thomas Petazzoni 3 年之前
父節點
當前提交
f717bd22ab
共有 1 個文件被更改,包括 37 次插入0 次删除
  1. 37 0
      package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch

+ 37 - 0
package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch

@@ -0,0 +1,37 @@
+From f5c908e92d4c055859be2fddbda266d9e3bfd415 Mon Sep 17 00:00:00 2001
+From: Patrick McCarty <patrick.mccarty@intel.com>
+Date: Mon, 26 Jul 2021 11:38:43 -0700
+Subject: [PATCH] Avoid use of INSTALL_DIR for symlink targets
+
+In case INSTALL_DIR is overridden with a staged install location, using
+INSTALL_DIR for the symlink target path prefix will yield an incorrect location
+for the final installation.
+
+Because the symlink itself is already installed to INSTALL_DIR, simply removing
+the INSTALL_DIR prefix suffices as a fix.
+
+Note that using $DESTDIR/$INSTALL_DIR where appropriate can avoid this type of
+issue, but that can be considered a future enhancement.
+
+Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
+Upstream: f5c908e92d4c055859be2fddbda266d9e3bfd415
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+---
+ squashfs-tools/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile
+index f5a55f1..7262a2e 100755
+--- a/squashfs-tools/Makefile
++++ b/squashfs-tools/Makefile
+@@ -406,5 +406,5 @@ install: mksquashfs unsquashfs
+ 	mkdir -p $(INSTALL_DIR)
+ 	cp mksquashfs $(INSTALL_DIR)
+ 	cp unsquashfs $(INSTALL_DIR)
+-	ln -fs $(INSTALL_DIR)/unsquashfs $(INSTALL_DIR)/sqfscat
+-	ln -fs $(INSTALL_DIR)/mksquashfs $(INSTALL_DIR)/sqfstar
++	ln -fs unsquashfs $(INSTALL_DIR)/sqfscat
++	ln -fs mksquashfs $(INSTALL_DIR)/sqfstar
+-- 
+2.31.1
+