Add GLUON_DEPRECATED flag
This new build flag is mandatory for now (it may default to 0 in a future Gluon version). It may be set to the following values: * 0 - Do not build any images for deprecated devices. * upgrade - Only build sysupgrade images for deprecated devices. * full - Build both sysupgrade and factory images for deprecated devices. "Other" images are handled like factory images, as they are also used for the initial installation of Gluon on a device.
This commit is contained in:
		
							parent
							
								
									071cf7b20f
								
							
						
					
					
						commit
						912490c026
					
				
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							| @ -22,6 +22,8 @@ include $(GLUON_SITEDIR)/site.mk | ||||
| 
 | ||||
| GLUON_RELEASE ?= $(error GLUON_RELEASE not set. GLUON_RELEASE can be set in site.mk or on the command line) | ||||
| 
 | ||||
| GLUON_DEPRECATED ?= $(error GLUON_DEPRECATED not set. Please consult the documentation) | ||||
| 
 | ||||
| # initialize (possibly already user set) directory variables
 | ||||
| GLUON_TMPDIR ?= tmp | ||||
| GLUON_OUTPUTDIR ?= output | ||||
| @ -41,7 +43,7 @@ GLUON_MULTIDOMAIN ?= 0 | ||||
| GLUON_WLAN_MESH ?= 11s | ||||
| GLUON_DEBUG ?= 0 | ||||
| 
 | ||||
| export GLUON_RELEASE GLUON_REGION GLUON_MULTIDOMAIN GLUON_WLAN_MESH GLUON_DEBUG GLUON_DEVICES \ | ||||
| export GLUON_RELEASE GLUON_REGION GLUON_MULTIDOMAIN GLUON_WLAN_MESH GLUON_DEBUG GLUON_DEPRECATED GLUON_DEVICES \ | ||||
| 	 GLUON_TARGETSDIR GLUON_PATCHESDIR GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR | ||||
| 
 | ||||
| show-release: | ||||
|  | ||||
| @ -59,3 +59,6 @@ GLUON_REGION ?= eu | ||||
| 
 | ||||
| # Languages to include
 | ||||
| GLUON_LANGS ?= en de | ||||
| 
 | ||||
| # Do not build images for deprecated devices
 | ||||
| GLUON_DEPRECATED ?= 0 | ||||
|  | ||||
| @ -53,3 +53,6 @@ GLUON_REGION ?= eu | ||||
| 
 | ||||
| # Languages to include
 | ||||
| GLUON_LANGS ?= en de | ||||
| 
 | ||||
| # Do not build images for deprecated devices
 | ||||
| GLUON_DEPRECATED ?= 0 | ||||
|  | ||||
| @ -161,6 +161,19 @@ GLUON_BRANCH | ||||
|   by default. For the ``make manifest`` command, GLUON_BRANCH defines the branch to | ||||
|   generate a manifest for. | ||||
| 
 | ||||
| GLUON_DEPRECATED | ||||
|   Controls whether images for deprecated devices should be built. The following | ||||
|   values are supported: | ||||
| 
 | ||||
|   - ``0``: Do not build any images for deprecated devices. | ||||
|   - ``upgrade``: Only build sysupgrade images for deprecated devices. | ||||
|   - ``full``: Build both sysupgrade and factory images for deprecated devices. | ||||
| 
 | ||||
|   Usually, devices are deprecated because their flash size is insufficient to | ||||
|   support future Gluon versions. The recommended setting is ``0`` for new sites, | ||||
|   and ``upgrade`` for existing configurations (where upgrades for existing | ||||
|   deployments of low-flash devices are required). | ||||
| 
 | ||||
| GLUON_LANGS | ||||
|   Space-separated list of languages to include for the config mode/advanced settings. Defaults to ``en``. | ||||
|   ``en`` should always be included, other supported languages are ``de`` and ``fr``. | ||||
|  | ||||
| @ -514,6 +514,19 @@ Build configuration | ||||
| The ``site.mk`` is a Makefile which defines various values | ||||
| involved in the build process of Gluon. | ||||
| 
 | ||||
| GLUON_DEPRECATED | ||||
|     Controls whether images for deprecated devices should be built. The following | ||||
|     values are supported: | ||||
| 
 | ||||
|     - ``0``: Do not build any images for deprecated devices. | ||||
|     - ``upgrade``: Only build sysupgrade images for deprecated devices. | ||||
|     - ``full``: Build both sysupgrade and factory images for deprecated devices. | ||||
| 
 | ||||
|     Usually, devices are deprecated because their flash size is insufficient to | ||||
|     support future Gluon versions. The recommended setting is ``0`` for new sites, | ||||
|     and ``upgrade`` for existing configurations (where upgrades for existing | ||||
|     deployments of low-flash devices are required). | ||||
| 
 | ||||
| GLUON_FEATURES | ||||
|     Defines a list of features to include. The feature list is used to generate | ||||
|     the default package set. | ||||
|  | ||||
| @ -8,6 +8,7 @@ envtrue = setmetatable({}, { | ||||
| assert(env.GLUON_SITEDIR) | ||||
| assert(env.GLUON_TARGETSDIR) | ||||
| assert(env.GLUON_RELEASE) | ||||
| assert(env.GLUON_DEPRECATED) | ||||
| 
 | ||||
| 
 | ||||
| site_code = assert(assert(dofile('scripts/site_config.lua')('site.conf')).site_code) | ||||
| @ -25,6 +26,7 @@ local default_options = { | ||||
| 	aliases = {}, | ||||
| 	manifest_aliases = {}, | ||||
| 	packages = {}, | ||||
| 	deprecated = false, | ||||
| 	broken = false, | ||||
| } | ||||
| 
 | ||||
| @ -39,6 +41,9 @@ local function want_device(dev, options) | ||||
| 	if options.broken and not envtrue.BROKEN then | ||||
| 		return false | ||||
| 	end | ||||
| 	if options.deprecated and env.GLUON_DEPRECATED == '0' then | ||||
| 		return false | ||||
| 	end | ||||
| 
 | ||||
| 	if (env.GLUON_DEVICES or '') == '' then | ||||
| 		return true | ||||
| @ -48,6 +53,8 @@ local function want_device(dev, options) | ||||
| 	return gluon_devices[dev] | ||||
| end | ||||
| 
 | ||||
| local full_deprecated = env.GLUON_DEPRECATED == 'full' | ||||
| 
 | ||||
| 
 | ||||
| local function merge(a, b) | ||||
| 	local ret = {} | ||||
| @ -148,18 +155,6 @@ function device(image, name, options) | ||||
| 		options = options, | ||||
| 	}) | ||||
| 
 | ||||
| 	if options.factory then | ||||
| 		add_image { | ||||
| 			image = image, | ||||
| 			name = name, | ||||
| 			subdir = 'factory', | ||||
| 			in_suffix = options.factory, | ||||
| 			out_suffix = '', | ||||
| 			extension = options.factory_ext, | ||||
| 			aliases = options.aliases, | ||||
| 			manifest_aliases = options.manifest_aliases, | ||||
| 		} | ||||
| 	end | ||||
| 	if options.sysupgrade then | ||||
| 		add_image { | ||||
| 			image = image, | ||||
| @ -172,6 +167,23 @@ function device(image, name, options) | ||||
| 			manifest_aliases = options.manifest_aliases, | ||||
| 		} | ||||
| 	end | ||||
| 
 | ||||
| 	if options.deprecated and not full_deprecated then | ||||
| 		return | ||||
| 	end | ||||
| 
 | ||||
| 	if options.factory then | ||||
| 		add_image { | ||||
| 			image = image, | ||||
| 			name = name, | ||||
| 			subdir = 'factory', | ||||
| 			in_suffix = options.factory, | ||||
| 			out_suffix = '', | ||||
| 			extension = options.factory_ext, | ||||
| 			aliases = options.aliases, | ||||
| 			manifest_aliases = options.manifest_aliases, | ||||
| 		} | ||||
| 	end | ||||
| 	for _, extra_image in ipairs(options.extra_images) do | ||||
| 		add_image { | ||||
| 			image = image, | ||||
| @ -193,6 +205,10 @@ function factory_image(image, name, ext, options) | ||||
| 		return | ||||
| 	end | ||||
| 
 | ||||
| 	if options.deprecated and not full_deprecated then | ||||
| 		return | ||||
| 	end | ||||
| 
 | ||||
| 	add_image { | ||||
| 		image = image, | ||||
| 		name = name, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user