summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-12-21 16:39:56 +0100
committerFelix Fietkau <nbd@nbd.name>2016-12-22 16:42:20 +0100
commitffb0181a8731847ea0d02d6e158adf3d7d95c382 (patch)
treecb7194bddf4b8983598829102a4e239f28e1bc7f
parent24e58c3f72a94ebf659586eb876b06b59adb2bb2 (diff)
downloadmtk-20170518-ffb0181a8731847ea0d02d6e158adf3d7d95c382.zip
mtk-20170518-ffb0181a8731847ea0d02d6e158adf3d7d95c382.tar.gz
mtk-20170518-ffb0181a8731847ea0d02d6e158adf3d7d95c382.tar.bz2
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 <nbd@nbd.name>
-rw-r--r--include/download.mk6
-rw-r--r--include/host-build.mk3
-rw-r--r--include/package.mk3
-rw-r--r--rules.mk2
4 files changed, 12 insertions, 2 deletions
diff --git a/include/download.mk b/include/download.mk
index 63ded7e..09b929b 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 e11e3ed..f6ca3ff 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 f51232f..41401dd 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 41e0ef2..b1d9926 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)))))