mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
- all RAN code, CI code, configuration files, dockerfiles, in CSSL v1.0
- all deployment code (openshift, charts, ancillary files like shell
scripts), in MIT
- documentation in CC-BY-4.0
- exceptions might apply and are listed in NOTICE
- there is a new LICENSES folder with all licenses
- CONTRIBUTIONS.md has been updated accordingly
For automated changes based on OAI PL v1.1:
perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.{c,h,cpp}
perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.ts
perl -i~ -0pe 's/<!--.*Licensed to the OpenAirInterface.*openairinterface.org\n.*-->/<!-- SPDX-License-Identifier: LicenseRef-CSSL-1.0 -->/s' **/*.xml
The rest (cmake, files with missing license, cmake) manually.
56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
# SPDX-License-Identifier: LicenseRef-CSSL-1.0
|
|
|
|
import argparse
|
|
import re
|
|
import subprocess
|
|
import sys
|
|
|
|
AUTH_SERVICE = 'registry.docker.io'
|
|
AUTH_SCOPE = 'repository:oaisoftwarealliance/oai-enb:pull'
|
|
|
|
def main() -> None:
|
|
args = _parse_args()
|
|
|
|
cmd = 'curl -fsSL "https://auth.docker.io/token?service=' + AUTH_SERVICE + '&scope=' + AUTH_SCOPE + '" 2>/dev/null | jq --raw-output ".token"'
|
|
token = subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
|
token = str(token).strip()
|
|
cmd = 'curl -fsSL -H "Authorization: Bearer ' + token + '" "https://index.docker.io/v2/oaisoftwarealliance/oai-enb/tags/list" 2>/dev/null | jq .'
|
|
listOfTags = subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
|
|
|
foundTag = False
|
|
for tag in listOfTags.split('\n'):
|
|
if re.search('"' + args.start_tag + '"', tag) is not None:
|
|
foundTag = True
|
|
|
|
if not foundTag:
|
|
print (args.start_tag)
|
|
sys.exit(0)
|
|
|
|
proposedVariants = ['a', 'b', 'c', 'd']
|
|
for variant in proposedVariants:
|
|
foundTag = False
|
|
currentVariant = variant
|
|
for tag in listOfTags.split('\n'):
|
|
if re.search('"' + args.start_tag + variant + '"', tag) is not None:
|
|
foundTag = True
|
|
break
|
|
if not foundTag:
|
|
break
|
|
|
|
if not foundTag:
|
|
print (args.start_tag + currentVariant)
|
|
|
|
def _parse_args() -> argparse.Namespace:
|
|
parser = argparse.ArgumentParser(description='Provides an unique new image tag for DockerHub')
|
|
|
|
parser.add_argument(
|
|
'--start_tag', '-st',
|
|
action='store',
|
|
required=True,
|
|
help='Proposed Starting Tag',
|
|
)
|
|
return parser.parse_args()
|
|
|
|
if __name__ == '__main__':
|
|
main()
|