[vlc-devel] [PATCH] contrib/extras: force uid/gid during tarball extractions
Steve Lhomme
robux4 at ycbcr.xyz
Sat Jan 12 08:23:28 CET 2019
OK for me, it works in msys2.
On 11/01/2019 14:14, Simon Latapie wrote:
> Under rare circonstances, tar will try to preserve uid/gid no matter what,
> and fail.
> This can happen for example when trying to build the contribs/extras as a
> privileged user inside a namespaced container.
> ---
> contrib/src/aom/rules.mak | 2 +-
> contrib/src/directx/rules.mak | 2 +-
> contrib/src/dshow/rules.mak | 2 +-
> contrib/src/ffmpeg/rules.mak | 2 +-
> contrib/src/lua/rules.mak | 2 +-
> contrib/src/main.mak | 6 +++---
> contrib/src/x264/rules.mak | 4 ++--
> contrib/src/x265/rules.mak | 2 +-
> extras/tools/tools.mak | 6 +++---
> 9 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/contrib/src/aom/rules.mak b/contrib/src/aom/rules.mak
> index 2eec6b5b27..417ef73efb 100644
> --- a/contrib/src/aom/rules.mak
> +++ b/contrib/src/aom/rules.mak
> @@ -18,7 +18,7 @@ $(TARBALLS)/aom-$(AOM_VERSION).tar.gz:
> aom: aom-$(AOM_VERSION).tar.gz .sum-aom
> rm -Rf $@-$(AOM_VERSION) $@
> mkdir -p $@-$(AOM_VERSION)
> - tar xvzf "$<" -C $@-$(AOM_VERSION)
> + tar xvzfo "$<" -C $@-$(AOM_VERSION)
> $(APPLY) $(SRC)/aom/aom-target-cpu.patch
> ifdef HAVE_WINSTORE
> $(APPLY) $(SRC)/aom/aom-pthreads-win32.patch
> diff --git a/contrib/src/directx/rules.mak b/contrib/src/directx/rules.mak
> index 6bfba74c72..18fcce14ff 100644
> --- a/contrib/src/directx/rules.mak
> +++ b/contrib/src/directx/rules.mak
> @@ -19,6 +19,6 @@ $(TARBALLS)/dxva2api.h:
>
> .directx: directx-oss.tar.bz2 dxva2api.h .sum-directx
> mkdir -p -- "$(PREFIX)/include"
> - tar xvjf $< -C "$(PREFIX)/include"
> + tar xvjfo $< -C "$(PREFIX)/include"
> $(CC) -E -include dxva2api.h - < /dev/null > /dev/null 2>&1 || cp $(TARBALLS)/dxva2api.h "$(PREFIX)/include/"
> touch $@
> diff --git a/contrib/src/dshow/rules.mak b/contrib/src/dshow/rules.mak
> index f9ddb37e22..c8e3acf059 100644
> --- a/contrib/src/dshow/rules.mak
> +++ b/contrib/src/dshow/rules.mak
> @@ -17,6 +17,6 @@ DSHOW_SOURCES := dshow-headers-oss.tar.bz2
>
> .dshow: $(DSHOW_SOURCES) .sum-dshow
> mkdir -p -- "$(PREFIX)/include"
> - tar xjf $< -C "$(PREFIX)/include" \
> + tar xjfo $< -C "$(PREFIX)/include" \
> --wildcards --no-anchored '*.h' --strip-components=1
> touch $@
> diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
> index 88ab1531d1..fa5cff1034 100644
> --- a/contrib/src/ffmpeg/rules.mak
> +++ b/contrib/src/ffmpeg/rules.mak
> @@ -239,7 +239,7 @@ $(TARBALLS)/ffmpeg-$(FFMPEG_BASENAME).tar.xz:
> ffmpeg: ffmpeg-$(FFMPEG_BASENAME).tar.xz .sum-ffmpeg
> rm -Rf $@ $@-$(FFMPEG_BASENAME)
> mkdir -p $@-$(FFMPEG_BASENAME)
> - tar xvJf "$<" --strip-components=1 -C $@-$(FFMPEG_BASENAME)
> + tar xvJfo "$<" --strip-components=1 -C $@-$(FFMPEG_BASENAME)
> ifdef USE_FFMPEG
> $(APPLY) $(SRC)/ffmpeg/armv7_fixup.patch
> $(APPLY) $(SRC)/ffmpeg/dxva_vc1_crash.patch
> diff --git a/contrib/src/lua/rules.mak b/contrib/src/lua/rules.mak
> index 103898f2bc..fe04b1631b 100644
> --- a/contrib/src/lua/rules.mak
> +++ b/contrib/src/lua/rules.mak
> @@ -98,7 +98,7 @@ luac: lua-$(LUA_VERSION).tar.gz .sum-luac
> # DO NOT use the same intermediate directory as the lua target
> rm -Rf -- $@-$(LUA_VERSION) $@
> mkdir -- $@-$(LUA_VERSION)
> - tar -x -v -z -C $@-$(LUA_VERSION) --strip-components=1 -f $<
> + tar -x -v -z -C -o $@-$(LUA_VERSION) --strip-components=1 -f $<
> (cd luac-$(LUA_VERSION) && patch -p1) < $(SRC)/lua/luac-32bits.patch
> mv luac-$(LUA_VERSION) luac
>
> diff --git a/contrib/src/main.mak b/contrib/src/main.mak
> index 84205dcf66..4b3aee45fb 100644
> --- a/contrib/src/main.mak
> +++ b/contrib/src/main.mak
> @@ -339,9 +339,9 @@ checksum = \
> "$(SRC)/$(patsubst .sum-%,%,$@)/$(2)SUMS"
> CHECK_SHA512 = $(call checksum,$(SHA512SUM),SHA512)
> UNPACK = $(RM) -R $@ \
> - $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar xvzf $(f)) \
> - $(foreach f,$(filter %.tar.bz2,$^), && tar xvjf $(f)) \
> - $(foreach f,$(filter %.tar.xz,$^), && tar xvJf $(f)) \
> + $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar xvzfo $(f)) \
> + $(foreach f,$(filter %.tar.bz2,$^), && tar xvjfo $(f)) \
> + $(foreach f,$(filter %.tar.xz,$^), && tar xvJfo $(f)) \
> $(foreach f,$(filter %.zip,$^), && unzip $(f))
> UNPACK_DIR = $(patsubst %.tar,%,$(basename $(notdir $<)))
> APPLY = (cd $(UNPACK_DIR) && patch -fp1) <
> diff --git a/contrib/src/x264/rules.mak b/contrib/src/x264/rules.mak
> index 7f96b0024d..352f556332 100644
> --- a/contrib/src/x264/rules.mak
> +++ b/contrib/src/x264/rules.mak
> @@ -86,14 +86,14 @@ $(TARBALLS)/$(X264_BASENAME):
> x264 x26410b: %: $(X264_BASENAME) .sum-%
> rm -Rf $*-git
> mkdir -p $*-git
> - tar xvjf "$<" --strip-components=1 -C $*-git
> + tar xvjfo "$<" --strip-components=1 -C $*-git
> $(UPDATE_AUTOCONFIG)
> mv $*-git $*
>
> x262: x262-git.tar.gz .sum-x262
> rm -Rf $@-git
> mkdir -p $@-git
> - tar xvzf "$<" --strip-components=1 -C $@-git
> + tar xvzfo "$<" --strip-components=1 -C $@-git
> $(UPDATE_AUTOCONFIG)
> $(MOVE)
>
> diff --git a/contrib/src/x265/rules.mak b/contrib/src/x265/rules.mak
> index 01859b99b3..9b355f6860 100644
> --- a/contrib/src/x265/rules.mak
> +++ b/contrib/src/x265/rules.mak
> @@ -25,7 +25,7 @@ $(TARBALLS)/x265-$(X265_VERSION).tar.bz2:
> x265: x265-$(X265_VERSION).tar.bz2 .sum-x265
> rm -Rf $@-$(X265_VERSION)
> mkdir -p $@-$(X265_VERSION)
> - tar xvjf "$<" --strip-components=1 -C $@-$(X265_VERSION)
> + tar xvjfo "$<" --strip-components=1 -C $@-$(X265_VERSION)
> $(APPLY) $(SRC)/x265/x265-ldl-linking.patch
> $(APPLY) $(SRC)/x265/x265-no-pdb-install.patch
> $(call pkg_static,"source/x265.pc.in")
> diff --git a/extras/tools/tools.mak b/extras/tools/tools.mak
> index 5bc11a548a..63e5e62668 100644
> --- a/extras/tools/tools.mak
> +++ b/extras/tools/tools.mak
> @@ -39,9 +39,9 @@ download_pkg = $(call download,$(VIDEOLAN)/$(2)/$(lastword $(subst /, ,$(@)))) |
> && grep $(@) SHA512SUMS| $(SHA512SUM)
>
> UNPACK = $(RM) -R $@ \
> - $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar xvzf $(f)) \
> - $(foreach f,$(filter %.tar.bz2,$^), && tar xvjf $(f)) \
> - $(foreach f,$(filter %.tar.xz,$^), && tar xvJf $(f)) \
> + $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar xvzfo $(f)) \
> + $(foreach f,$(filter %.tar.bz2,$^), && tar xvjfo $(f)) \
> + $(foreach f,$(filter %.tar.xz,$^), && tar xvJfo $(f)) \
> $(foreach f,$(filter %.zip,$^), && unzip $(f))
>
> UNPACK_DIR = $(patsubst %.tar,%,$(basename $(notdir $<)))
> --
> 2.11.0
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list