[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