diff options
Diffstat (limited to 'package')
-rw-r--r-- | package/Makefile.package.in | 12 | ||||
-rw-r--r-- | package/tar/tar.mk | 13 |
2 files changed, 13 insertions, 12 deletions
diff --git a/package/Makefile.package.in b/package/Makefile.package.in index 1ace683c2..33461b4dc 100644 --- a/package/Makefile.package.in +++ b/package/Makefile.package.in @@ -299,18 +299,6 @@ define DOWNLOAD exit 1 endef -# Utility programs used to build packages -TAR ?= tar - -# Automatically detect tar --strip-path/components option -TAR_STRIP_COMPONENTS := \ - $(shell $(TAR) --help | grep strip-path > /dev/null ; \ - if test $$? = 0 ; then \ - echo '--strip-path' ; \ - else \ - echo '--strip-components' ; \ - fi) - # Needed for the foreach loops to loop over the list of hooks, so that # each hook call is properly separated by a newline. define sep diff --git a/package/tar/tar.mk b/package/tar/tar.mk index edbd9bdc7..9e856b53f 100644 --- a/package/tar/tar.mk +++ b/package/tar/tar.mk @@ -10,6 +10,19 @@ TAR_SITE = $(BR2_GNU_MIRROR)/tar # Prefer full-blown tar over buybox's version ifeq ($(BR2_PACKAGE_BUSYBOX),y) TAR_DEPENDENCIES += busybox +HOST_TAR_DEPENDENCIES = endif $(eval $(call AUTOTARGETS)) + +# host-tar: use cpio.gz instead of tar.gz to prevent chicken-egg problem +# of needing tar to build tar. +HOST_TAR_SOURCE = tar-$(TAR_VERSION).cpio.gz +define HOST_TAR_EXTRACT_CMDS + mkdir -p $(@D) + cd $(@D) && \ + $(INFLATE.gz) $(DL_DIR)/$(HOST_TAR_SOURCE) | cpio -i + mv $(@D)/tar-$(TAR_VERSION)/* $(@D) + rmdir $(@D)/tar-$(TAR_VERSION) +endef +$(eval $(call AUTOTARGETS,host)) |