From ffb0181a8731847ea0d02d6e158adf3d7d95c382 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 21 Dec 2016 16:39:56 +0100 Subject: [PATCH] build: add defaults for PKG_SOURCE, PKG_SOURCE_SUBDIR, PKG_VERSION This makes it easier to unify versioning of git based package downloads. PKG_SOURCE_DATE along with an 8-character abbreviation of the git hash is used as PKG_VERSION, PKG_RELEASE should be used like normal packages. Signed-off-by: Felix Fietkau --- include/download.mk | 6 ++++++ include/host-build.mk | 3 ++- include/package.mk | 3 ++- rules.mk | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/download.mk b/include/download.mk index 63ded7ebcd..09b929bd77 100644 --- a/include/download.mk +++ b/include/download.mk @@ -9,6 +9,12 @@ OPENWRT_GIT = http://git.openwrt.org LEDE_GIT = https://git.lede-project.org +ifdef PKG_SOURCE_VERSION +PKG_VERSION ?= $(if $(PKG_SOURCE_DATE),$(PKG_SOURCE_DATE)-)$(call version_abbrev,$(PKG_SOURCE_VERSION)) +PKG_SOURCE_SUBDIR ?= $(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE ?= $(PKG_SOURCE_SUBDIR).tar.xz +endif + DOWNLOAD_RDEP=$(STAMP_PREPARED) $(HOST_STAMP_PREPARED) # Try to guess the download method from the URL diff --git a/include/host-build.mk b/include/host-build.mk index e11e3edd09..f6ca3ff21e 100644 --- a/include/host-build.mk +++ b/include/host-build.mk @@ -5,6 +5,8 @@ # See /LICENSE for more information. # +include $(INCLUDE_DIR)/download.mk + HOST_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) HOST_INSTALL_DIR ?= $(HOST_BUILD_DIR)/host-install HOST_BUILD_PARALLEL ?= @@ -35,7 +37,6 @@ HOST_STAMP_INSTALLED:=$(HOST_BUILD_PREFIX)/stamp/.$(PKG_NAME)_installed override MAKEFLAGS= -include $(INCLUDE_DIR)/download.mk include $(INCLUDE_DIR)/quilt.mk include $(INCLUDE_DIR)/autotools.mk diff --git a/include/package.mk b/include/package.mk index f51232f503..41401ddefb 100644 --- a/include/package.mk +++ b/include/package.mk @@ -9,6 +9,8 @@ __package_mk:=1 all: $(if $(DUMP),dumpinfo,$(if $(CHECK),check,compile)) +include $(INCLUDE_DIR)/download.mk + PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install PKG_BUILD_PARALLEL ?= @@ -92,7 +94,6 @@ endif PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD_VARIANT),default).install -include $(INCLUDE_DIR)/download.mk include $(INCLUDE_DIR)/quilt.mk include $(INCLUDE_DIR)/package-defaults.mk include $(INCLUDE_DIR)/package-dumpinfo.mk diff --git a/rules.mk b/rules.mk index 41e0ef2343..b1d9926270 100644 --- a/rules.mk +++ b/rules.mk @@ -55,6 +55,8 @@ __tr_template = $(__tr_head)$$(1)$(__tr_tail) $(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper))) $(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower))) +version_abbrev = $(if $(if $(CHECK),,$(DUMP)),$(1),$(shell printf '%.8s' $(1))) + _SINGLE=export MAKEFLAGS=$(space); CFLAGS:= ARCH:=$(subst i486,i386,$(subst i586,i386,$(subst i686,i386,$(call qstrip,$(CONFIG_ARCH)))))