| ################################################################################ |
| # |
| # tar |
| # |
| ################################################################################ |
| |
| TAR_VERSION = 1.35 |
| TAR_SOURCE = tar-$(TAR_VERSION).tar.xz |
| TAR_SITE = $(BR2_GNU_MIRROR)/tar |
| TAR_LICENSE = GPL-3.0+ |
| TAR_LICENSE_FILES = COPYING |
| TAR_CPE_ID_VENDOR = gnu |
| TAR_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) |
| TAR_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) |
| # 0002-Fix-savannah-bug-#64441.patch |
| # 0003-tests-fix-LDADD.patch |
| TAR_AUTORECONF = YES |
| |
| # busybox installs in /bin, so we need tar to install as well in /bin |
| # so that we don't end up with two different tar |
| # |
| # --disable-year2038: tells the configure script to not abort if the |
| # system is not Y2038 compliant. tar will support year2038 if the |
| # system is compliant even with this option passed |
| TAR_CONF_OPTS = \ |
| --exec-prefix=/ \ |
| --disable-year2038 |
| |
| ifeq ($(BR2_PACKAGE_ACL),y) |
| TAR_DEPENDENCIES += acl |
| TAR_CONF_OPTS += --with-posix-acls |
| else |
| TAR_CONF_OPTS += --without-posix-acls |
| endif |
| |
| ifeq ($(BR2_PACKAGE_ATTR),y) |
| TAR_DEPENDENCIES += attr |
| TAR_CONF_OPTS += --with-xattrs |
| else |
| TAR_CONF_OPTS += --without-xattrs |
| endif |
| |
| $(eval $(autotools-package)) |
| |
| # 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) && \ |
| $(call suitable-extractor,$(HOST_TAR_SOURCE)) $(TAR_DL_DIR)/$(HOST_TAR_SOURCE) | cpio -i --preserve-modification-time |
| mv $(@D)/tar-$(HOST_TAR_VERSION)/* $(@D) |
| rmdir $(@D)/tar-$(HOST_TAR_VERSION) |
| endef |
| |
| HOST_TAR_CONF_OPTS = --without-selinux |
| |
| # we are built before ccache |
| HOST_TAR_CONF_ENV = \ |
| CC="$(HOSTCC_NOCCACHE)" \ |
| CXX="$(HOSTCXX_NOCCACHE)" |
| |
| # Patches 0002-Fix-savannah-bug-#64441.patch and |
| # 0003-tests-fix-LDADD.patch are patching Makefile.am, so they do |
| # require TAR_AUTORECONF = YES above. However, for the host-tar |
| # package we can't do this: we can't have host-tar depend on |
| # host-{autoconf,automake,libtool} as those in turn might depend on |
| # host-tar. Since the patches 0002 and 0003 are only related to |
| # linking against libiconv, which is only an issue for the target tar, |
| # we do not autoreconf, and touch the corresponding Makefile.in to |
| # prevent them from being re-generated. |
| HOST_TAR_AUTORECONF = NO |
| define HOST_TAR_NO_AUTORECONF |
| touch $(@D)/src/Makefile.in $(@D)/tests/Makefile.in |
| endef |
| HOST_TAR_POST_PATCH_HOOKS += HOST_TAR_NO_AUTORECONF |
| |
| $(eval $(host-autotools-package)) |