summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-04-12 17:31:16 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-04-12 17:31:16 +0000
commit8faa8431db13084170e190da7a65fd2035505c90 (patch)
treec73f1424a6aeb3e7a0184f0412973c9739b0008e /include
parent8b9ba93e94a6c4ce55e882b035988f68efa0313d (diff)
[buildroot] include, base-files, opkg: introduce version configuration to override the embedded version info of generated images
- Introduce new Kconfig symbols VERSION_DIST, VERSION_NICK, VERSION_NUMBER and VERSION_REPO to specify distribution, release name, version and repository for a given build - Introduce include/version.mk to provide common helpers for packages dealing with versions - Make opkg use version.mk to populate the opkg.conf template - Make base-files use version.mk to populate /etc/openwrt_version, /etc/openwrt_release and /etc/banner The available placeholders are: %D .. Replace with $(CONFIG_VERSION_DIST), default to "OpenWrt" %d .. Like %D, but all characters made lowercase and spaces substituted with "_" (e.g. "openwrt") %N .. Replace with $(CONFIG_VERSION_NICK), default to the build tree release (e.g. "Attitude Adjustment") %n .. Like %N, but all characters made lowercase and spaces substituted with "_" (e.g. "attitude_adjustment") %V .. Replace with $(CONFIG_VERSION_NUMBER), default to the build tree release (e.g. "r31262") %v .. Like %V, but all characters made lowercase and spaces substituted with "_" %C .. Replace with $(CONFIG_VERSION_NUMBER), default to "Bleeding Edge" %c .. Like %C, but all characters made lowercase and spaces substituted with "_" (e.g. "bleeding_edge") %U .. Replace with $(CONFIG_VERSION_REPO), default to "http://downloads.openwrt.org/snapshots/trunk/%T/packages" %R .. Replace with the current build tree revision (e.g. "r31262" or "75488c4a05b8033cf69e91874a61852db7ba9c6c") %T .. Replace with the current target (e.g. "ar71xx") %S .. Replace with the current target/subtarget combo (e.g. "adm5120/router_le") git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31262 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'include')
-rw-r--r--include/version.mk40
1 files changed, 40 insertions, 0 deletions
diff --git a/include/version.mk b/include/version.mk
new file mode 100644
index 000000000..af25be02f
--- /dev/null
+++ b/include/version.mk
@@ -0,0 +1,40 @@
+#
+# Copyright (C) 2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+PKG_CONFIG_DEPENDS += \
+ CONFIG_VERSION_NUMBER \
+ CONFIG_VERSION_NICK \
+ CONFIG_VERSION_REPO \
+ CONFIG_VERSION_DIST
+
+VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
+VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),$(REVISION))
+
+VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
+VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),Bleeding Edge)
+
+VERSION_NICK:=$(call qstrip,$(CONFIG_VERSION_NICK))
+VERSION_NICK:=$(if $(VERSION_NICK),$(VERSION_NICK),$(RELEASE))
+
+VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO))
+VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),http://downloads.openwrt.org/snapshots/trunk/%T/packages)
+
+VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST))
+VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt)
+
+VERSION_SED:=$(SED) 's,%U,$(VERSION_REPO),g' \
+ -e 's,%V,$(VERSION_NUMBER),g' \
+ -e 's,%v,\L$(subst $(space),_,$(VERSION_NUMBER)),g' \
+ -e 's,%C,$(VERSION_CODE),g' \
+ -e 's,%c,\L$(subst $(space),_,$(VERSION_CODE)),g' \
+ -e 's,%N,$(VERSION_NICK),g' \
+ -e 's,%n,\L$(subst $(space),_,$(VERSION_NICK)),g' \
+ -e 's,%D,$(VERSION_DIST),g' \
+ -e 's,%d,\L$(subst $(space),_,$(VERSION_DIST)),g' \
+ -e 's,%R,$(REVISION),g' \
+ -e 's,%T,$(BOARD),g' \
+ -e 's,%S,$(BOARD)$(if $(SUBTARGET),/$(SUBTARGET)),g' \