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>
This commit is contained in:
Thomas Petazzoni 2021-12-28 10:12:17 +01:00 committed by Yann E. MORIN
parent b00c034fe5
commit f717bd22ab

View file

@ -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