[Buildroot] [PATCH] package/squashfs: add upstream patch to fix symlinks

Yann E. MORIN yann.morin.1998 at free.fr
Tue Dec 28 21:58:03 UTC 2021


Thomas, All,

On 2021-12-28 10:12 +0100, Thomas Petazzoni spake thusly:
> 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 at bootlin.com>

Applied to master, thanks.

400. Neat.

Regards,
Yann E. MORIN.

> ---
>  ...e-of-INSTALL_DIR-for-symlink-targets.patch | 37 +++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
> 
> diff --git a/package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch b/package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
> new file mode 100644
> index 0000000000..997719e63a
> --- /dev/null
> +++ b/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 at 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 at intel.com>
> +Upstream: f5c908e92d4c055859be2fddbda266d9e3bfd415
> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni at 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
> +
> -- 
> 2.31.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list