Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] support/download: Fix tarball generation - 2020.02.x branch patch
@ 2021-03-18  7:32 Jean-pierre Cartal
  2021-03-20 17:51 ` Yann E. MORIN
  2021-03-24 11:03 ` Peter Korsgaard
  0 siblings, 2 replies; 3+ messages in thread
From: Jean-pierre Cartal @ 2021-03-18  7:32 UTC (permalink / raw)
  To: buildroot

fix tarball generation with symlinks pointing to ./something

When a --transform expression is provided, it is by default also applied
to the target of a symlink.

When we create tarballs (from git or svn checkouts), we use a --transform
expression to replace the leading ./ with the package name and version.

This causes issues when a package contains symlinks that points to
./something, as the leading './' is also replaced.

Fix that by using the 'S' transformation scope flag, as described in the
tar manual:
  https://www.gnu.org/software/tar/manual/html_node/transform.html#transform

  In addition, several transformation scope flags are supported, that
  control to what files transformations apply. These are:

  ?r? Apply transformation to regular archive members.
  ?R? Do not apply transformation to regular archive members.
  ?s? Apply transformation to symbolic link targets.
  ?S? Do not apply transformation to symbolic link targets.
  ?h? Apply transformation to hard link targets.
  ?H? Do not apply transformation to hard link targets.

  Default is ?rsh? [...].

Fixes: #13616
Signed-off-by: Jean-pierre Cartal <jpcartal@free.fr>
---
 support/download/git | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/support/download/git b/support/download/git
index 15d8c66e05..1b0dc1b115 100755
--- a/support/download/git
+++ b/support/download/git
@@ -203,7 +203,7 @@ LC_ALL=C sort <"${output}.list" >"${output}.list.sorted"
 
 # Create GNU-format tarballs, since that's the format of the tarballs on
 # sources.buildroot.org and used in the *.hash files
-tar cf - --transform="s#^\./#${basename}/#" \
+tar cf - --transform="s#^\./#${basename}/#S" \
          --numeric-owner --owner=0 --group=0 --mtime="${date}" --format=gnu \
          -T "${output}.list.sorted" >"${output}.tar"
 gzip -6 -n <"${output}.tar" >"${output}"
-- 
2.30.2

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

end of thread, other threads:[~2021-03-24 11:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-18  7:32 [Buildroot] [PATCH 1/1] support/download: Fix tarball generation - 2020.02.x branch patch Jean-pierre Cartal
2021-03-20 17:51 ` Yann E. MORIN
2021-03-24 11:03 ` Peter Korsgaard

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