BUILD-INFO.txt doesn't allow to robustly specify catch-all rules
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linaro-license-protection |
Confirmed
|
High
|
Unassigned |
Bug Description
BUILD-INFO.txt currently doesn't define order in which Files-Pattern sections are processed (uses Python dictionary to store data), with many problematic entailments:
1. Order of processing is essentially random, and may change from invocation to invocation. This alone can be considered security issue.
2. Order doesn't match specified in the file, which will likely be confusing for user.
3. Such behavior doesn't allow to specify robust catch-all rules in the end (like "open for all the rest" or "restricted for all the rest"), again security issue.
We hit last point with issue at hand lp:1112620: if we had well-defined order, fix to allow lava-build-info files would be:
==========
Files-Pattern: lava-build-info
License-Type: open
Files-Pattern: *
License-Type: protected
OpenID-
==========
That would be natural, intuitive, familiar from work with other software, reliable.
With the current BUILD-INFO.txt format implementation, with requires mutually exclusive pattern it's almost impossible to get 100% coverage of any possible files:
==========
Files-Pattern: lava-build-info
License-Type: open
Files-Pattern: [0-9]*, [A-Z]*, [a-k]*, [m-z]*, l[b-z]*, la[a-uw-z]*, ... (long list of crazy patterns goes on)
License-Type: protected
OpenID-
==========
Changed in linaro-license-protection: | |
importance: | Undecided → High |
Changed in linaro-license-protection: | |
status: | New → Confirmed |