2020-09-21 16:48:37 -10:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
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")
SVN-Revision: 31262
2012-04-12 17:31:16 +00:00
|
|
|
#
|
2015-01-23 13:09:54 +00:00
|
|
|
# Copyright (C) 2012-2015 OpenWrt.org
|
2016-04-13 00:31:15 +02:00
|
|
|
# Copyright (C) 2016 LEDE Project
|
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")
SVN-Revision: 31262
2012-04-12 17:31:16 +00:00
|
|
|
|
2012-04-13 10:47:45 +00:00
|
|
|
# Substituted by SDK, do not remove
|
|
|
|
# REVISION:=x
|
2016-10-21 12:21:40 +02:00
|
|
|
# SOURCE_DATE_EPOCH:=x
|
build: lock versions for special APK packages
The three packages base-files, libc and kernel are special, the former
can't be upgraded in place since it's content are modified on startup,
the latter two are virtual packages only used as constraints for the
package manager.
Historically base-files was "locked" via a special OPKG function, the
latter two were hidden from the package index and thereby never picked
as possible upgrade.
Time moved forward and we now have APK and tools like OWUT. The latter
compares available packages with installed packages and generates user
readable output, requiring versions for libc and kernel, too. At the
same time, APK uses a different looking mechanism, which is set during
installation instead of part of the package metadata.
In short, this patch adds version constraints to the three packages,
allowing them to be part of the package index.
Fixes: #17774
Fixes: #17775
Fixes: efahl/owut#31
Signed-off-by: Paul Spooren <mail@aparcar.org>
2025-02-01 23:01:58 +00:00
|
|
|
# BASE_FILES_VERSION:=x
|
|
|
|
# KERNEL_VERSION:=x
|
|
|
|
# LIBC_VERSION:=x
|
2012-04-13 10:47:45 +00:00
|
|
|
|
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")
SVN-Revision: 31262
2012-04-12 17:31:16 +00:00
|
|
|
PKG_CONFIG_DEPENDS += \
|
2017-11-02 08:21:57 +01:00
|
|
|
CONFIG_VERSION_HOME_URL \
|
2016-05-18 09:07:30 -04:00
|
|
|
CONFIG_VERSION_BUG_URL \
|
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")
SVN-Revision: 31262
2012-04-12 17:31:16 +00:00
|
|
|
CONFIG_VERSION_NUMBER \
|
2016-12-01 17:40:43 +01:00
|
|
|
CONFIG_VERSION_CODE \
|
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")
SVN-Revision: 31262
2012-04-12 17:31:16 +00:00
|
|
|
CONFIG_VERSION_REPO \
|
2014-07-29 13:30:12 +00:00
|
|
|
CONFIG_VERSION_DIST \
|
|
|
|
CONFIG_VERSION_MANUFACTURER \
|
2015-10-05 10:28:53 +00:00
|
|
|
CONFIG_VERSION_MANUFACTURER_URL \
|
2014-07-29 13:30:12 +00:00
|
|
|
CONFIG_VERSION_PRODUCT \
|
2016-05-18 09:07:30 -04:00
|
|
|
CONFIG_VERSION_SUPPORT_URL \
|
2025-01-29 19:09:54 +00:00
|
|
|
CONFIG_VERSION_FIRMWARE_URL \
|
2014-07-29 13:30:12 +00:00
|
|
|
CONFIG_VERSION_HWREV \
|
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")
SVN-Revision: 31262
2012-04-12 17:31:16 +00:00
|
|
|
|
2016-05-26 15:23:41 +02:00
|
|
|
sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1))))
|
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
|
2016-12-02 22:11:40 +01:00
|
|
|
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),SNAPSHOT)
|
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")
SVN-Revision: 31262
2012-04-12 17:31:16 +00:00
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_CODE))
|
2016-12-01 17:40:43 +01:00
|
|
|
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),$(REVISION))
|
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")
SVN-Revision: 31262
2012-04-12 17:31:16 +00:00
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO))
|
2020-08-27 11:47:08 -10:00
|
|
|
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.openwrt.org/snapshots)
|
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")
SVN-Revision: 31262
2012-04-12 17:31:16 +00:00
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST))
|
2017-11-07 09:45:51 +01:00
|
|
|
VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt)
|
2016-05-26 15:23:41 +02:00
|
|
|
VERSION_DIST_SANITIZED:=$(call sanitize,$(VERSION_DIST))
|
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")
SVN-Revision: 31262
2012-04-12 17:31:16 +00:00
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
VERSION_MANUFACTURER:=$(call qstrip,$(CONFIG_VERSION_MANUFACTURER))
|
2017-11-07 09:45:51 +01:00
|
|
|
VERSION_MANUFACTURER:=$(if $(VERSION_MANUFACTURER),$(VERSION_MANUFACTURER),OpenWrt)
|
2014-07-29 13:30:12 +00:00
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
VERSION_MANUFACTURER_URL:=$(call qstrip,$(CONFIG_VERSION_MANUFACTURER_URL))
|
2019-06-11 01:49:30 +02:00
|
|
|
VERSION_MANUFACTURER_URL:=$(if $(VERSION_MANUFACTURER_URL),$(VERSION_MANUFACTURER_URL),https://openwrt.org/)
|
2015-10-05 10:28:53 +00:00
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
VERSION_BUG_URL:=$(call qstrip,$(CONFIG_VERSION_BUG_URL))
|
2019-06-11 01:49:30 +02:00
|
|
|
VERSION_BUG_URL:=$(if $(VERSION_BUG_URL),$(VERSION_BUG_URL),https://bugs.openwrt.org/)
|
2016-05-18 09:07:30 -04:00
|
|
|
|
2017-11-02 08:21:57 +01:00
|
|
|
VERSION_HOME_URL:=$(call qstrip,$(CONFIG_VERSION_HOME_URL))
|
2019-06-11 01:49:30 +02:00
|
|
|
VERSION_HOME_URL:=$(if $(VERSION_HOME_URL),$(VERSION_HOME_URL),https://openwrt.org/)
|
2017-11-02 08:21:57 +01:00
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
VERSION_SUPPORT_URL:=$(call qstrip,$(CONFIG_VERSION_SUPPORT_URL))
|
2019-06-11 01:49:30 +02:00
|
|
|
VERSION_SUPPORT_URL:=$(if $(VERSION_SUPPORT_URL),$(VERSION_SUPPORT_URL),https://forum.openwrt.org/)
|
2016-05-18 09:07:30 -04:00
|
|
|
|
2025-01-29 19:09:54 +00:00
|
|
|
VERSION_FIRMWARE_URL:=$(call qstrip,$(CONFIG_VERSION_FIRMWARE_URL))
|
|
|
|
VERSION_FIRMWARE_URL:=$(if $(VERSION_FIRMWARE_URL),$(VERSION_FIRMWARE_URL),https://downloads.openwrt.org/)
|
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
VERSION_PRODUCT:=$(call qstrip,$(CONFIG_VERSION_PRODUCT))
|
2014-07-29 13:30:12 +00:00
|
|
|
VERSION_PRODUCT:=$(if $(VERSION_PRODUCT),$(VERSION_PRODUCT),Generic)
|
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
VERSION_HWREV:=$(call qstrip,$(CONFIG_VERSION_HWREV))
|
2014-07-29 13:30:12 +00:00
|
|
|
VERSION_HWREV:=$(if $(VERSION_HWREV),$(VERSION_HWREV),v0)
|
2014-01-31 15:48:42 +00:00
|
|
|
|
|
|
|
define taint2sym
|
|
|
|
$(CONFIG_$(firstword $(subst :, ,$(subst +,,$(subst -,,$(1))))))
|
|
|
|
endef
|
|
|
|
|
|
|
|
define taint2name
|
|
|
|
$(lastword $(subst :, ,$(1)))
|
|
|
|
endef
|
|
|
|
|
|
|
|
VERSION_TAINT_SPECS := \
|
2015-03-16 11:51:54 +00:00
|
|
|
-ALL_KMODS:no-all \
|
2014-01-31 15:48:42 +00:00
|
|
|
-IPV6:no-ipv6 \
|
2015-03-12 19:50:57 +00:00
|
|
|
+USE_GLIBC:glibc \
|
2014-01-31 15:48:42 +00:00
|
|
|
+USE_MKLIBS:mklibs \
|
|
|
|
+BUSYBOX_CUSTOM:busybox \
|
2015-02-09 12:10:07 +00:00
|
|
|
+OVERRIDE_PKGS:override \
|
2014-01-31 15:48:42 +00:00
|
|
|
|
|
|
|
VERSION_TAINTS := $(strip $(foreach taint,$(VERSION_TAINT_SPECS), \
|
|
|
|
$(if $(findstring +,$(taint)), \
|
|
|
|
$(if $(call taint2sym,$(taint)),$(call taint2name,$(taint))), \
|
|
|
|
$(if $(call taint2sym,$(taint)),,$(call taint2name,$(taint))) \
|
|
|
|
)))
|
|
|
|
|
|
|
|
PKG_CONFIG_DEPENDS += $(foreach taint,$(VERSION_TAINT_SPECS),$(call taint2sym,$(taint)))
|
|
|
|
|
2018-01-24 16:52:53 -07:00
|
|
|
# escape commas, backslashes, squotes, and ampersands for sed
|
|
|
|
define sed_escape
|
|
|
|
$(subst &,\&,$(subst $(comma),\$(comma),$(subst ','\'',$(subst \,\\,$(1)))))
|
|
|
|
endef
|
|
|
|
#'
|
|
|
|
|
2018-01-24 17:33:21 -07:00
|
|
|
VERSION_SED_SCRIPT:=$(SED) 's,%U,$(call sed_escape,$(VERSION_REPO)),g' \
|
2018-01-24 16:52:53 -07:00
|
|
|
-e 's,%V,$(call sed_escape,$(VERSION_NUMBER)),g' \
|
|
|
|
-e 's,%v,\L$(call sed_escape,$(subst $(space),_,$(VERSION_NUMBER))),g' \
|
|
|
|
-e 's,%C,$(call sed_escape,$(VERSION_CODE)),g' \
|
|
|
|
-e 's,%c,\L$(call sed_escape,$(subst $(space),_,$(VERSION_CODE))),g' \
|
|
|
|
-e 's,%D,$(call sed_escape,$(VERSION_DIST)),g' \
|
|
|
|
-e 's,%d,\L$(call sed_escape,$(subst $(space),_,$(VERSION_DIST))),g' \
|
|
|
|
-e 's,%R,$(call sed_escape,$(REVISION)),g' \
|
|
|
|
-e 's,%T,$(call sed_escape,$(BOARD)),g' \
|
2024-04-08 08:05:29 +02:00
|
|
|
-e 's,%S,$(call sed_escape,$(BOARD)/$(SUBTARGET)),g' \
|
2018-01-24 16:52:53 -07:00
|
|
|
-e 's,%A,$(call sed_escape,$(ARCH_PACKAGES)),g' \
|
|
|
|
-e 's,%t,$(call sed_escape,$(VERSION_TAINTS)),g' \
|
|
|
|
-e 's,%M,$(call sed_escape,$(VERSION_MANUFACTURER)),g' \
|
|
|
|
-e 's,%m,$(call sed_escape,$(VERSION_MANUFACTURER_URL)),g' \
|
|
|
|
-e 's,%b,$(call sed_escape,$(VERSION_BUG_URL)),g' \
|
2018-08-02 09:10:15 +08:00
|
|
|
-e 's,%u,$(call sed_escape,$(VERSION_HOME_URL)),g' \
|
2018-01-24 16:52:53 -07:00
|
|
|
-e 's,%s,$(call sed_escape,$(VERSION_SUPPORT_URL)),g' \
|
2025-01-29 19:09:54 +00:00
|
|
|
-e 's,%f,$(call sed_escape,$(VERSION_FIRMWARE_URL)),g' \
|
2018-01-24 16:52:53 -07:00
|
|
|
-e 's,%P,$(call sed_escape,$(VERSION_PRODUCT)),g' \
|
2022-10-20 10:02:45 +02:00
|
|
|
-e 's,%h,$(call sed_escape,$(VERSION_HWREV)),g' \
|
|
|
|
-e 's,%B,$(call sed_escape,$(SOURCE_DATE_EPOCH)),g'
|