mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-23 19:31:34 +02:00
[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
This commit is contained in:
parent
8b9ba93e94
commit
8faa8431db
40
include/version.mk
Normal file
40
include/version.mk
Normal file
@ -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' \
|
@ -8,9 +8,10 @@
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/version.mk
|
||||
|
||||
PKG_NAME:=base-files
|
||||
PKG_RELEASE:=104
|
||||
PKG_RELEASE:=105
|
||||
|
||||
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
|
||||
PKG_BUILD_DEPENDS:=opkg/host
|
||||
@ -453,7 +454,11 @@ define Package/base-files/install
|
||||
cut -d ':' -f 1-2 $(1)/etc/passwd > $(1)/etc/shadow; \
|
||||
$(SED) 's/$$$$/:0:0:99999:7:::/' $(1)/etc/shadow
|
||||
|
||||
$(SED) 's,$$$$R,$(REVISION),g' $(1)/etc/banner
|
||||
$(VERSION_SED) \
|
||||
$(1)/etc/banner \
|
||||
$(1)/etc/openwrt_version \
|
||||
$(1)/etc/openwrt_release
|
||||
|
||||
mkdir -p $(1)/CONTROL
|
||||
mkdir -p $(1)/dev
|
||||
mkdir -p $(1)/etc/crontabs
|
||||
|
@ -3,7 +3,7 @@
|
||||
| - || _ | -__| || | | || _|| _|
|
||||
|_______|| __|_____|__|__||________||__| |____|
|
||||
|__| W I R E L E S S F R E E D O M
|
||||
ATTITUDE ADJUSTMENT (bleeding edge, $R) ----------
|
||||
ATTITUDE ADJUSTMENT (%C, %R) ----------
|
||||
* 1/4 oz Vodka Pour all ingredients into mixing
|
||||
* 1/4 oz Gin tin with ice, strain into glass.
|
||||
* 1/4 oz Amaretto
|
||||
|
6
package/base-files/files/etc/openwrt_release
Normal file
6
package/base-files/files/etc/openwrt_release
Normal file
@ -0,0 +1,6 @@
|
||||
DISTRIB_ID="%D"
|
||||
DISTRIB_RELEASE="%C"
|
||||
DISTRIB_REVISION="%R"
|
||||
DISTRIB_CODENAME="%n"
|
||||
DISTRIB_TARGET="%S"
|
||||
DISTRIB_DESCRIPTION="%D %N %V"
|
1
package/base-files/files/etc/openwrt_version
Normal file
1
package/base-files/files/etc/openwrt_version
Normal file
@ -0,0 +1 @@
|
||||
%V
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
# Copyright (C) 2006-2012 OpenWrt.org
|
||||
# Copyright (C) 2010 Vertical Communications
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
@ -130,3 +130,56 @@ menuconfig INITOPT
|
||||
suppressed during preinit. This is the default behaviour in
|
||||
previous versions of OpenWRT. Removing this does nothing if
|
||||
stderr is suppressed during preinit (which is the default).
|
||||
|
||||
|
||||
menuconfig VERSIONOPT
|
||||
bool "Version configuration options" if IMAGEOPT
|
||||
default n
|
||||
help
|
||||
These options allow to override the version information embedded in
|
||||
the /etc/openwrt_version, /etc/openwrt_release, /etc/banner and
|
||||
/etc/opkg.conf files. Usually there is no need to set these, but
|
||||
they're useful for release builds or custom OpenWrt redistributions
|
||||
that should carry custom version tags.
|
||||
|
||||
config VERSION_DIST
|
||||
string
|
||||
prompt "Release distribution" if VERSIONOPT
|
||||
default "OpenWrt"
|
||||
help
|
||||
This is the name of the release distribution.
|
||||
If unspecified, it defaults to OpenWrt.
|
||||
|
||||
config VERSION_NICK
|
||||
string
|
||||
prompt "Release version nickname" if VERSIONOPT
|
||||
help
|
||||
This is the release codename embedded in the image.
|
||||
If unspecified, it defaults to the name of source branch.
|
||||
|
||||
config VERSION_NUMBER
|
||||
string
|
||||
prompt "Release version number" if VERSIONOPT
|
||||
help
|
||||
This is the release version number embedded in the image.
|
||||
If unspecified, it defaults to the svn or git-svn revision
|
||||
of the build tree.
|
||||
|
||||
config VERSION_REPO
|
||||
string
|
||||
prompt "Release repository" if VERSIONOPT
|
||||
default "http://downloads.openwrt.org/snapshots/trunk/%T/packages"
|
||||
help
|
||||
This is the repository address embedded in the image, it defaults
|
||||
to the trunk snapshot repo; the url may contain the following placeholders:
|
||||
%R .. Revision number
|
||||
%V .. Release version or revision number, uppercase
|
||||
%v .. Release version or revision number, lowercase
|
||||
%C .. Release version or "Bleeding Edge", uppercase
|
||||
%c .. Release version or "bleeding_edge", lowercase
|
||||
%N .. Release name, uppercase
|
||||
%n .. Release name, lowercase
|
||||
%D .. Distribution name or "OpenWrt", uppercase
|
||||
%d .. Distribution name or "openwrt", lowercase
|
||||
%T .. Target name
|
||||
%S .. Target/Subtarget name
|
||||
|
@ -1,11 +1,12 @@
|
||||
#
|
||||
# Copyright (C) 2006-2011 OpenWrt.org
|
||||
# Copyright (C) 2006-2012 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/version.mk
|
||||
|
||||
PKG_NAME:=opkg
|
||||
PKG_REV:=618
|
||||
@ -69,7 +70,7 @@ define Package/opkg/install
|
||||
$(INSTALL_DIR) $(1)/bin
|
||||
$(INSTALL_DIR) $(1)/etc
|
||||
$(INSTALL_DATA) ./files/opkg.conf $(1)/etc/
|
||||
$(SED) 's,$$$$S,$(PKGARCH),g' $(1)/etc/opkg.conf
|
||||
$(VERSION_SED) $(1)/etc/opkg.conf
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/opkg-cl $(1)/bin/opkg
|
||||
endef
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
src/gz snapshots http://downloads.openwrt.org/snapshots/trunk/$S/packages
|
||||
src/gz %n %U
|
||||
dest root /
|
||||
dest ram /tmp
|
||||
lists_dir ext /var/opkg-lists
|
||||
|
Loading…
Reference in New Issue
Block a user