5f3c96c285
Move the revision info to the VERSION_CODE variable and default VERSION_NUMBER to CURRENT for master branch builds. Also introduce a new menuconfig option CONFIG_VERSION_CODE which allows users to override the revision value put into VERSION_CODE and adjust the template files used by the base-files package to accomodate for the changed semantics. While we're at it, also adjust the various URLs to match the current web site. After this commit, the relevent files will look like the examples given below: # cat /etc/openwrt_version r2398+1 # cat /etc/openwrt_release DISTRIB_ID='LEDE' DISTRIB_RELEASE='CURRENT' DISTRIB_REVISION='r2398+1' DISTRIB_CODENAME='reboot' DISTRIB_TARGET='x86/64' DISTRIB_DESCRIPTION='LEDE Reboot CURRENT r2398+1' DISTRIB_TAINTS='no-all override' # cat /usr/lib/os-release NAME="LEDE" VERSION="CURRENT, Reboot" ID="lede" ID_LIKE="lede openwrt" PRETTY_NAME="LEDE Reboot CURRENT" VERSION_ID="current" HOME_URL="http://lede-project.org/" BUG_URL="http://bugs.lede-project.org/" SUPPORT_URL="http://forum.lede-project.org/" BUILD_ID="r2398+1" LEDE_BOARD="x86/64" LEDE_TAINTS="no-all override" LEDE_DEVICE_MANUFACTURER="LEDE" LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/" LEDE_DEVICE_PRODUCT="Generic" LEDE_DEVICE_REVISION="v0" LEDE_RELEASE="LEDE Reboot CURRENT r2398+1" On a release branch, those files would look like: # cat /etc/openwrt_version r2399 # cat /etc/openwrt_release DISTRIB_ID='LEDE' DISTRIB_RELEASE='16.12-CURRENT' DISTRIB_REVISION='r2399' DISTRIB_CODENAME='test_release' DISTRIB_TARGET='x86/64' DISTRIB_DESCRIPTION='LEDE Test Release 16.12-CURRENT r2399' DISTRIB_TAINTS='no-all override' # cat /usr/lib/os-release NAME="LEDE" VERSION="16.12-CURRENT, Test Release" ID="lede" ID_LIKE="lede openwrt" PRETTY_NAME="LEDE Test Release 16.12-CURRENT" VERSION_ID="16.12-current" HOME_URL="http://lede-project.org/" BUG_URL="http://bugs.lede-project.org/" SUPPORT_URL="http://forum.lede-project.org/" BUILD_ID="r2399" LEDE_BOARD="x86/64" LEDE_TAINTS="no-all override" LEDE_DEVICE_MANUFACTURER="LEDE" LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/" LEDE_DEVICE_PRODUCT="Generic" LEDE_DEVICE_REVISION="v0" LEDE_RELEASE="LEDE Test Release 16.12-CURRENT r2399" On a release tag, those files would look like: # cat /etc/openwrt_version r2500 # cat /etc/openwrt_release DISTRIB_ID='LEDE' DISTRIB_RELEASE='17.02.1' DISTRIB_REVISION='r2500' DISTRIB_CODENAME='mighty_unicorn' DISTRIB_TARGET='x86/64' DISTRIB_DESCRIPTION='LEDE Mighty Unicorn 17.02.1 r2500' DISTRIB_TAINTS='no-all override' # cat /usr/lib/os-release NAME="LEDE" VERSION="17.02.1, Mighty Unicorn" ID="lede" ID_LIKE="lede openwrt" PRETTY_NAME="LEDE Mighty Unicorn 17.02.1" VERSION_ID="17.02.1" HOME_URL="http://lede-project.org/" BUG_URL="http://bugs.lede-project.org/" SUPPORT_URL="http://forum.lede-project.org/" BUILD_ID="r2500" LEDE_BOARD="x86/64" LEDE_TAINTS="no-all override" LEDE_DEVICE_MANUFACTURER="LEDE" LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/" LEDE_DEVICE_PRODUCT="Generic" LEDE_DEVICE_REVISION="v0" LEDE_RELEASE="LEDE Mighty Unicorn 17.02.1 r2500" Signed-off-by: Jo-Philipp Wich <jo@mein.io> Acked-by: Felix Fietkau <nbd@nbd.name>
324 lines
10 KiB
Text
324 lines
10 KiB
Text
# Copyright (C) 2006-2012 OpenWrt.org
|
|
# Copyright (C) 2010 Vertical Communications
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
menuconfig PREINITOPT
|
|
bool "Preinit configuration options" if IMAGEOPT
|
|
default n
|
|
help
|
|
These options are used to control the environment used to initialize
|
|
the system before running init (which typically mean /sbin/init which
|
|
switches to multiuser mode).
|
|
|
|
config TARGET_PREINIT_SUPPRESS_STDERR
|
|
bool "Suppress stderr messages during preinit" if PREINITOPT
|
|
default y
|
|
help
|
|
Sends stderr to null during preinit. This is the default behaviour
|
|
in previous versions of OpenWrt. This also prevents init process
|
|
itself from displaying stderr, however processes launched by init
|
|
in multiuser through inittab will use the current terminal (e.g.
|
|
the ash shell launched by inittab will display stderr). That's
|
|
the same behaviour as seen in previous version of OpenWrt.
|
|
|
|
config TARGET_PREINIT_DISABLE_FAILSAFE
|
|
bool
|
|
prompt "Disable failsafe" if PREINITOPT
|
|
default n
|
|
help
|
|
Disable failsafe mode. While it is very handy while
|
|
experimenting or developing it really ought to be
|
|
disabled in production environments as it is a major
|
|
security loophole.
|
|
|
|
config TARGET_PREINIT_TIMEOUT
|
|
int
|
|
prompt "Failsafe/Debug wait timeout" if PREINITOPT
|
|
default 2
|
|
help
|
|
How long to wait for failsafe mode to be entered or for
|
|
a debug option to be pressed before continuing with a
|
|
regular boot.
|
|
|
|
config TARGET_PREINIT_SHOW_NETMSG
|
|
bool
|
|
prompt "Show all preinit network messages" if PREINITOPT
|
|
default n
|
|
help
|
|
Show preinit all network messages (via netmsg broadcast), not only
|
|
the message indicating to press reset to enter failsafe. Note that
|
|
if the architecture doesn't define an interface, and there is no
|
|
'Preinit network interface' defined, then no messages will be
|
|
emitted, even if this is set.
|
|
|
|
config TARGET_PREINIT_SUPPRESS_FAILSAFE_NETMSG
|
|
bool
|
|
prompt "Suppress network message indicating failsafe" if ( PREINITOPT && !TARGET_PREINIT_SHOW_NETMSG && !TARGET_PREINIT_DISABLE_FAILSAFE )
|
|
default n
|
|
help
|
|
If "Show all preinit network messages" above is not set, then
|
|
setting this option suppresses the only message that would be
|
|
emitted otherwise, name the network message to enter failsafe
|
|
(via netmsg).
|
|
|
|
config TARGET_PREINIT_IFNAME
|
|
string
|
|
prompt "Preinit network interface" if PREINITOPT
|
|
default ""
|
|
help
|
|
Interface for sending preinit messages to network, and any other
|
|
default networking in failsafe or preinit. If empty
|
|
uses $ifname (if defined in /etc/preinit.arch).
|
|
|
|
config TARGET_PREINIT_IP
|
|
string
|
|
prompt "IP address for preinit network messages" if PREINITOPT
|
|
default "192.168.1.1"
|
|
help
|
|
IP address used to configure interface for preinit network
|
|
messages, including failsafe messages
|
|
|
|
config TARGET_PREINIT_NETMASK
|
|
string
|
|
prompt "Netmask for preinit network messages" if PREINITOPT
|
|
default "255.255.255.0"
|
|
help
|
|
Netmask used to configure interface for preinit network
|
|
messages, including failsafes messages
|
|
|
|
config TARGET_PREINIT_BROADCAST
|
|
string
|
|
prompt "Broadcast address for preinit network messages" if PREINITOPT
|
|
default "192.168.1.255"
|
|
help
|
|
Broadcast address to which to send preinit network messages, as
|
|
as failsafe messages
|
|
|
|
|
|
menuconfig INITOPT
|
|
bool "Init configuration options" if IMAGEOPT
|
|
default n
|
|
help
|
|
These option choose the command that will run as the 'init' command
|
|
(that is which is responsible for controlling the system once preinit
|
|
transfers control to it) as well as some options controlling its
|
|
behaviour. Normally init is /sbin/init.
|
|
|
|
config TARGET_INIT_PATH
|
|
string
|
|
prompt "PATH for regular boot" if INITOPT
|
|
default "/usr/sbin:/usr/bin:/sbin:/bin"
|
|
help
|
|
Default PATH used during normal operation
|
|
|
|
config TARGET_INIT_ENV
|
|
string
|
|
prompt "Environment variables to set when starting init (start with none)" if INITOPT
|
|
default ""
|
|
help
|
|
Should be a space seperated list of variable assignments. These
|
|
variables will be present in the environment. Spaces may not be
|
|
present (including through expansion) even in a quoted string
|
|
(env doesn't understanding quoting).
|
|
|
|
config TARGET_INIT_CMD
|
|
string
|
|
prompt "Init command" if INITOPT
|
|
default "/sbin/init"
|
|
help
|
|
The executable to run as the init process. Is 'exec'd by
|
|
preinit (which is the init that the kernel launches on boot).
|
|
|
|
config TARGET_INIT_SUPPRESS_STDERR
|
|
bool
|
|
prompt "Suppress stderr messages of init" if INITOPT
|
|
default y
|
|
help
|
|
Prevents showing stderr messages for init command if not already
|
|
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,
|
|
/etc/opkg.conf, and /etc/os-release 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.
|
|
|
|
if VERSIONOPT
|
|
|
|
config VERSION_DIST
|
|
string
|
|
prompt "Release distribution"
|
|
default "Lede"
|
|
help
|
|
This is the name of the release distribution.
|
|
If unspecified, it defaults to OpenWrt.
|
|
|
|
config VERSION_NICK
|
|
string
|
|
prompt "Release version nickname"
|
|
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"
|
|
help
|
|
This is the release version number embedded in the image.
|
|
If unspecified, it defaults to CURRENT for the master branch
|
|
or to ##.##-CURRENT on release branches.
|
|
|
|
config VERSION_CODE
|
|
string
|
|
prompt "Release version code"
|
|
help
|
|
This is the release version code embedded in the image.
|
|
If unspecified, it defaults to a revision number describing the
|
|
repository version of the source, e.g. the number of commits
|
|
since a branch point or a short Git commit ID.
|
|
|
|
config VERSION_REPO
|
|
string
|
|
prompt "Release repository"
|
|
default "http://downloads.lede-project.org/snapshots"
|
|
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 .. Repository revision ID
|
|
%V .. Configured release version number or "CURRENT", uppercase
|
|
%v .. Configured release version number or "current", lowercase
|
|
%C .. Configured release revision code or value of %R, uppercase
|
|
%c .. Configured release revision code or value of %R, lowercase
|
|
%N .. Release name, uppercase
|
|
%n .. Release name, lowercase
|
|
%D .. Distribution name or "Lede", uppercase
|
|
%d .. Distribution name or "lede", lowercase
|
|
%T .. Target name
|
|
%S .. Target/Subtarget name
|
|
%A .. Package architecture
|
|
%t .. Build taint flags, e.g. "no-all busybox"
|
|
%M .. Manufacturer name or "Lede"
|
|
%P .. Product name or "Generic"
|
|
%h .. Hardware revision or "v0"
|
|
|
|
config VERSION_MANUFACTURER
|
|
string
|
|
prompt "Manufacturer name"
|
|
help
|
|
This is the manufacturer name embedded in /etc/device_info
|
|
Useful for OEMs building OpenWrt based firmware
|
|
|
|
config VERSION_MANUFACTURER_URL
|
|
string
|
|
prompt "Manufacturer URL"
|
|
help
|
|
This is an URL to the manufacturer's website embedded in /etc/device_info
|
|
Useful for OEMs building OpenWrt based firmware
|
|
|
|
config VERSION_BUG_URL
|
|
string
|
|
prompt "Bug reporting URL"
|
|
help
|
|
This is an URL to provide users for providing bug reports
|
|
|
|
config VERSION_SUPPORT_URL
|
|
string
|
|
prompt "Support URL"
|
|
help
|
|
This an URL to provide users seeking support
|
|
|
|
config VERSION_PRODUCT
|
|
string
|
|
prompt "Product name"
|
|
help
|
|
This is the product name embedded in /etc/device_info
|
|
Useful for OEMs building OpenWrt based firmware
|
|
|
|
config VERSION_HWREV
|
|
string
|
|
prompt "Hardware revision"
|
|
help
|
|
This is the hardware revision string embedded in /etc/device_info
|
|
Useful for OEMs building OpenWrt based firmware
|
|
|
|
config VERSION_FILENAMES
|
|
bool
|
|
prompt "Version number in filenames"
|
|
default y
|
|
help
|
|
Enable this to include the version number in firmware image, SDK-
|
|
and Image Builder archive file names
|
|
endif
|
|
|
|
|
|
menuconfig PER_FEED_REPO
|
|
bool "Separate feed repositories" if IMAGEOPT
|
|
default y
|
|
help
|
|
If set, a separate repository is generated within bin/*/packages/
|
|
for the core packages and each enabled feed.
|
|
|
|
config PER_FEED_REPO_ADD_DISABLED
|
|
bool "Add available but not enabled feeds to opkg.conf"
|
|
default y
|
|
depends on PER_FEED_REPO
|
|
help
|
|
Add not installed or disabled feeds from feeds.conf to opkg.conf.
|
|
|
|
config PER_FEED_REPO_ADD_COMMENTED
|
|
bool "Comment out not enabled feeds"
|
|
default y
|
|
depends on PER_FEED_REPO && PER_FEED_REPO_ADD_DISABLED
|
|
help
|
|
Add not enabled feeds as commented out source lines to opkg.conf.
|
|
|
|
source "tmp/.config-feeds.in"
|
|
|
|
|
|
menuconfig SMIMEOPT
|
|
bool "Package signing options" if IMAGEOPT
|
|
default n
|
|
help
|
|
These options configure the signing key and certificate to
|
|
be used for signing and verifying packages.
|
|
|
|
config OPKGSMIME_CERT
|
|
string
|
|
prompt "Path to certificate (PEM certificate format)" if SMIMEOPT
|
|
help
|
|
Path to the certificate to use for signature verification
|
|
|
|
config OPKGSMIME_KEY
|
|
string
|
|
prompt "Path to signing key (PEM private key format)" if SMIMEOPT
|
|
help
|
|
Path to the key to use for signing packages
|
|
|
|
config OPKGSMIME_PASSPHRASE
|
|
bool
|
|
default y
|
|
prompt "Wait for a passphrase when signing packages?" if SMIMEOPT
|
|
help
|
|
If this value is set, then the build will pause and request a passphrase
|
|
from the command line when signing packages. This SHOULD NOT be used with
|
|
automatic builds. If this value is not set, a file can be specified from
|
|
which the passphrase will be read.
|
|
|
|
config OPKGSMIME_PASSFILE
|
|
string
|
|
prompt "Path to a file containing the passphrase" if SMIMEOPT
|
|
depends on !OPKGSMIME_PASSPHRASE
|
|
help
|
|
Path to a file containing the passphrase for the signing key.
|
|
If the signing key is not encrypted and does not require a passphrase,
|
|
this option may be left blank.
|