mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 00:11:51 +01:00 
			
		
		
		
	OEM_REVISION is 32-bit unsigned number. It should be increased only when changing software version. Therefore it should not depend on build time. Change calculation to use U-Boot version numbers and set this revision to date number. Prior this change OEM_REVISION was calculated from build date and stored in the same format. After this change macro U_BOOT_BUILD_DATE is not used in other files so remove it from global autogenerated files and also from Makefile. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			103 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. SPDX-License-Identifier: GPL-2.0+
 | |
| .. Copyright (c) 2013 The Chromium OS Authors.
 | |
| 
 | |
| Version information
 | |
| ===================
 | |
| 
 | |
| U-Boot releases are named by year and patch level, for example 2020.10 means the
 | |
| release that came out in October 2020. Release candidates are tagged every few
 | |
| weeks as the project heads to the next release. So 2020.10-rc1 was the first
 | |
| release candidate (RC), tagged soon after 2020.07 was released.
 | |
| 
 | |
| See https://www.denx.de/wiki/view/U-Boot/ReleaseCycle for full details.
 | |
| 
 | |
| Within the build system, various Makefile variables are created, making use of
 | |
| VERSION, PATCHLEVEL and EXTRAVERSION defined at the top of 'Makefile'. There is
 | |
| also SUBLEVEL available for downstream use. See also CONFIG_IDENT_STRING.
 | |
| 
 | |
| Some variables end up in a generated header file at
 | |
| include/generated/version_autogenerated.h and can be accessed from C source by
 | |
| including <version.h>
 | |
| 
 | |
| The following are available:
 | |
| 
 | |
|    UBOOTRELEASE (Makefile)
 | |
|       Full release version as a string. If this is not a tagged release, it also
 | |
|       includes the number of commits since the last tag as well as the the git
 | |
|       hash.  If there are uncommitted changes a '-dirty' suffix is added too.
 | |
| 
 | |
|       This is written by scripts/setlocalversion (maintained by Linux) to
 | |
|       include/config/uboot.release and ends up in the UBOOTRELEASE Makefile
 | |
|       variable.
 | |
| 
 | |
|       Examples::
 | |
| 
 | |
|          2020.10-rc3
 | |
|          2021.01-rc5-00248-g60dd854f3ba-dirty
 | |
| 
 | |
|    PLAIN_VERSION (string #define)
 | |
|       This is UBOOTRELEASE but available in C source.
 | |
| 
 | |
|       Examples::
 | |
| 
 | |
|          2020.10
 | |
|          2021.01-rc5-00248-g60dd854f3ba-dirty
 | |
| 
 | |
|    UBOOTVERSION (Makefile)
 | |
|       This holds just the first three components of UBOOTRELEASE (i.e. not the
 | |
|       git hash, etc.)
 | |
| 
 | |
|       Examples::
 | |
| 
 | |
|          2020.10
 | |
|          2021.01-rc5
 | |
| 
 | |
|    U_BOOT_VERSION (string #define)
 | |
|       "U-Boot " followed by UBOOTRELEASE, for example::
 | |
| 
 | |
|          U-Boot 2020.10
 | |
|          U-Boot 2021.01-rc5
 | |
| 
 | |
|       This is used as part of the banner string when U-Boot starts.
 | |
| 
 | |
|    U_BOOT_VERSION_NUM (integer #define)
 | |
|       Release year, e.g. 2021 for release 2021.01. Note
 | |
|       this is an integer, not a string.
 | |
| 
 | |
|    U_BOOT_VERSION_NUM_PATCH (integer #define)
 | |
|       Patch number, e.g. 1 for release 2020.01. Note
 | |
|       this is an integer, not a string.
 | |
| 
 | |
| Human readable U-Boot version string is available in header file
 | |
| include/version_string.h in following variable:
 | |
| 
 | |
|    version_string (const char[])
 | |
|       U_BOOT_VERSION followed by build-time information
 | |
|       and CONFIG_IDENT_STRING.
 | |
| 
 | |
|       Examples::
 | |
| 
 | |
|          U-Boot 2020.10 (Jan 06 2021 - 08:50:36 -0700)
 | |
|          U-Boot 2021.01-rc5-00248-g60dd854f3ba-dirty (Jan 06 2021 - 08:50:36 -0700) for spring
 | |
| 
 | |
| Build date/time is also included. See the generated file
 | |
| include/generated/timestamp_autogenerated.h for the available
 | |
| fields. For example::
 | |
| 
 | |
|    #define U_BOOT_DATE "Jan 06 2021"     (US format only)
 | |
|    #define U_BOOT_TIME "08:50:36"        (24-hour clock)
 | |
|    #define U_BOOT_TZ "-0700"             (Time zone in hours)
 | |
|    #define U_BOOT_EPOCH 1609948236
 | |
| 
 | |
| The Epoch is the number of seconds since midnight on 1/1/70. You can convert
 | |
| this to a time with::
 | |
| 
 | |
|    $ date -u -d @1609948236
 | |
|    Wed 06 Jan 2021 03:50:36 PM UTC
 | |
|    $ date -d 'Wed 06 Jan 2021 03:50:36 PM UTC' +%s
 | |
|    1609948236
 | |
| 
 | |
| Every time you build U-Boot this will update based on the time
 | |
| on your build machine. See 'Reproducible builds' if you want to
 | |
| avoid that.
 |