openwrtv3/package/base-files/image-config.in
Jo-Philipp Wich 5f3c96c285 build: adjust version number handling
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>
2016-12-02 16:02:02 +01:00

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.