contrib/extras: force uid/gid during tarball extractions
authorSimon Latapie <garf@videolan.org>
Fri, 11 Jan 2019 13:14:18 +0000 (14:14 +0100)
committerHugo Beauzée-Luyssen <hugo@beauzee.fr>
Mon, 14 Jan 2019 09:16:59 +0000 (10:16 +0100)
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.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
contrib/src/aom/rules.mak
contrib/src/directx/rules.mak
contrib/src/dshow/rules.mak
contrib/src/ffmpeg/rules.mak
contrib/src/lua/rules.mak
contrib/src/main.mak
contrib/src/x264/rules.mak
contrib/src/x265/rules.mak
extras/tools/tools.mak

index 2eec6b5..417ef73 100644 (file)
@@ -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
index 6bfba74..18fcce1 100644 (file)
@@ -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 $@
index f9ddb37..c8e3acf 100644 (file)
@@ -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 $@
index 88ab153..fa5cff1 100644 (file)
@@ -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
index 103898f..309b994 100644 (file)
@@ -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 -o -C $@-$(LUA_VERSION) --strip-components=1 -f $<
        (cd luac-$(LUA_VERSION) && patch -p1) < $(SRC)/lua/luac-32bits.patch
        mv luac-$(LUA_VERSION) luac
 
index 84205dc..4b3aee4 100644 (file)
@@ -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) <
index 7f96b00..352f556 100644 (file)
@@ -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)
 
index 01859b9..9b355f6 100644 (file)
@@ -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")
index 5bc11a5..63e5e62 100644 (file)
@@ -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 $<)))