Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
52
sources/poky/meta/lib/oeqa/utils/ftools.py
Normal file
52
sources/poky/meta/lib/oeqa/utils/ftools.py
Normal file
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright OpenEmbedded Contributors
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
import os
|
||||
import re
|
||||
import errno
|
||||
|
||||
def write_file(path, data):
|
||||
# In case data is None, return immediately
|
||||
if data is None:
|
||||
return
|
||||
wdata = data.rstrip() + "\n"
|
||||
with open(path, "w") as f:
|
||||
f.write(wdata)
|
||||
|
||||
def append_file(path, data):
|
||||
# In case data is None, return immediately
|
||||
if data is None:
|
||||
return
|
||||
wdata = data.rstrip() + "\n"
|
||||
with open(path, "a") as f:
|
||||
f.write(wdata)
|
||||
|
||||
def read_file(path):
|
||||
data = None
|
||||
with open(path) as f:
|
||||
data = f.read()
|
||||
return data
|
||||
|
||||
def remove_from_file(path, data):
|
||||
# In case data is None, return immediately
|
||||
if data is None:
|
||||
return
|
||||
try:
|
||||
rdata = read_file(path)
|
||||
except IOError as e:
|
||||
# if file does not exit, just quit, otherwise raise an exception
|
||||
if e.errno == errno.ENOENT:
|
||||
return
|
||||
else:
|
||||
raise
|
||||
|
||||
contents = rdata.strip().splitlines()
|
||||
for r in data.strip().splitlines():
|
||||
try:
|
||||
contents.remove(r)
|
||||
except ValueError:
|
||||
pass
|
||||
write_file(path, "\n".join(contents))
|
||||
Reference in New Issue
Block a user