mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
ynl: make the tooling check the license
The (only recently documented) expectation is that all specs
are under a certain license, but we don't actually enforce it.
What's worse we then go ahead and assume the license was right,
outputting the expected license into generated files.
Fixes: 37d9df224d
("ynl: re-license uniformly under GPL-2.0 OR BSD-3-Clause")
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -274,6 +274,7 @@ class SpecFamily(SpecElement):
|
||||
|
||||
Attributes:
|
||||
proto protocol type (e.g. genetlink)
|
||||
license spec license (loaded from an SPDX tag on the spec)
|
||||
|
||||
attr_sets dict of attribute sets
|
||||
msgs dict of all messages (index by name)
|
||||
@@ -283,6 +284,13 @@ class SpecFamily(SpecElement):
|
||||
"""
|
||||
def __init__(self, spec_path, schema_path=None):
|
||||
with open(spec_path, "r") as stream:
|
||||
prefix = '# SPDX-License-Identifier: '
|
||||
first = stream.readline().strip()
|
||||
if not first.startswith(prefix):
|
||||
raise Exception('SPDX license tag required in the spec')
|
||||
self.license = first[len(prefix):]
|
||||
|
||||
stream.seek(0)
|
||||
spec = yaml.safe_load(stream)
|
||||
|
||||
self._resolution_list = []
|
||||
|
Reference in New Issue
Block a user