Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/squashfs: add upstream patch to fix symlinks
@ 2021-12-28  9:12 Thomas Petazzoni
  2021-12-28 21:58 ` Yann E. MORIN
  0 siblings, 1 reply; 2+ messages in thread
From: Thomas Petazzoni @ 2021-12-28  9:12 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni

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>
---
 ...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@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
+
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Buildroot] [PATCH] package/squashfs: add upstream patch to fix symlinks
  2021-12-28  9:12 [Buildroot] [PATCH] package/squashfs: add upstream patch to fix symlinks Thomas Petazzoni
@ 2021-12-28 21:58 ` Yann E. MORIN
  0 siblings, 0 replies; 2+ messages in thread
From: Yann E. MORIN @ 2021-12-28 21:58 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: buildroot

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@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@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
> +
> -- 
> 2.31.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@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.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-12-28 21:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-28  9:12 [Buildroot] [PATCH] package/squashfs: add upstream patch to fix symlinks Thomas Petazzoni
2021-12-28 21:58 ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox