debian: backport packaging improvements

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2022-07-19 10:15:42 +02:00
parent 7e8a639bcf
commit 47a343bc63
4 changed files with 36 additions and 28 deletions

View File

@ -33,9 +33,12 @@ BaseTools/Bin/Darwin-i386/Arm/RELEASE_XCODE32/CompilerIntrinsicsLib.lib
BaseTools/Source/Python/Eot/EfiCompressor.pyd BaseTools/Source/Python/Eot/EfiCompressor.pyd
BaseTools/Source/Python/Eot/LzmaCompressor.pyd BaseTools/Source/Python/Eot/LzmaCompressor.pyd
IntelFsp2Pkg/FspSecCore/Vtf0/Bin/ResetVec.ia32.raw IntelFsp2Pkg/FspSecCore/Vtf0/Bin/ResetVec.ia32.raw
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.raw UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.serial.raw
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.raw UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.raw
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.raw UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.port80.raw
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.raw UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw
UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.raw
UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.port80.raw
UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.serial.raw
UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw

View File

@ -2,17 +2,18 @@
# Use heuristics to identify new files that maybe binaries. # Use heuristics to identify new files that maybe binaries.
# Flagged files need to be manually inspected and either added to the # Flagged files need to be manually inspected and either added to the
# whitelist (because they are safe to redistribute), or to the blacklist # allow list (because they are safe to redistribute), or to the reject list
# (so that they'll be removed prior to orig.tar.xz generation). # (so that they'll be removed prior to orig.tar.xz generation).
import os import os
import re import re
import sys import sys
def nameOK(name): def nameOK(name):
OKPatterns = ['\.gitignore', 'AUTHORS', 'FILE.LST', 'Change[lL]og', OKPatterns = [r'\.gitignore', r'AUTHORS', r'FILE.LST', r'Change[lL]og',
'COPYING', 'configure', 'FAQ', '(GNU)?[Mm]akefile', r'COPYING', r'configure', r'FAQ', r'(GNU)?[Mm]akefile',
'INDEX', 'LICENSE', 'README', 'TODO' ] r'INDEX', r'LICENSE', r'README', r'TODO']
OKRegexs = map(re.compile, OKPatterns) OKRegexs = map(re.compile, OKPatterns)
for r in OKRegexs: for r in OKRegexs:
@ -20,40 +21,44 @@ def nameOK(name):
return True return True
return False return False
def extensionOK(name): def extensionOK(name):
OKExtensions = [ '1', '3', 'ASL', 'asi', 'asl', 'aslc', 'Asm', 'asm', OKExtensions = ['1', '3', 'ASL', 'asi', 'asl', 'aslc', 'Asm', 'asm',
'asm16', 'bat', 'bmp', 'c', 'CMM', 'cmm', 'cnf', 'cpp', 'asm16', 'bat', 'bmp', 'c', 'CMM', 'cmm', 'cnf', 'cpp',
'css', 'dec', 'decTest', 'dlg', 'dsc', 'docx', 'dsp', 'css', 'dec', 'decTest', 'dlg', 'dsc', 'docx', 'dsp',
'dsw', 'el', 'env', 'fdf', 'g', 'gif', 'H', 'h', 'hpp', 'dsw', 'el', 'env', 'fdf', 'g', 'gif', 'H', 'h', 'hpp',
'html', 'i', 'idf', 'in', 'inc', 'inf', 'info', 'ini', 'html', 'i', 'idf', 'in', 'inc', 'inf', 'info', 'ini',
'lds', 'log', 'lua', 'mak', 'makefile', 'md', 'nasm', 'lds', 'log', 'lua', 'mak', 'makefile', 'md', 'nasm',
'nasmb', 'nsh', 'patch', 'pbxuser', 'pbxproj', 'pdf', 'nasmb', 'nsh', 'patch', 'pbxuser', 'pbxproj', 'pdf',
'pem', 'pl', 'png', 'pod', 'ps', 'py', 'r', 'rtf', 'S', 'pem', 'pl', 'png', 'pod', 'ps', 'py', 'r', 'rtf', 'S',
's', 'sct', 'sh', 'sln', 't', 'template', 'txt', 'uni', 's', 'sct', 'sh', 'sln', 't', 'template', 'txt', 'uni',
'Vfr', 'vcproj', 'vfi', 'vfr', 'xml' ] 'Vfr', 'vcproj', 'vfi', 'vfr', 'xml']
ext = name.split('.')[-1] ext = name.split('.')[-1]
if ext in OKExtensions: if ext in OKExtensions:
return True return True
return False return False
if __name__ == '__main__': if __name__ == '__main__':
top = './' top = './'
for root, dirs, files in os.walk(top): for root, dirs, files in os.walk(top):
with open('./debian/binary-check.whitelist', 'r') as f: with open('./debian/binary-check.allow', 'r') as f:
whitelist = list(map(lambda s: s.strip(), f.readlines())) allowlist = list(map(lambda s: s.strip(), f.readlines()))
ret = 0 ret = 0
for name in files: for name in files:
relpath = os.path.join(root, name)[len(top):] relpath = os.path.join(root, name)[len(top):]
if relpath in whitelist: if relpath in allowlist:
continue continue
if nameOK(name): if nameOK(name):
continue continue
if extensionOK(name): if extensionOK(name):
continue continue
else: else:
sys.stdout.write("WARNING: Possible binary %s\n" % (os.path.join(root, name))) sys.stdout.write(
"WARNING: Possible binary %s\n" %
(os.path.join(root, name))
)
ret = -1 ret = -1
sys.exit(ret) sys.exit(ret)

View File

@ -4,9 +4,9 @@ import os
import sys import sys
if __name__ == '__main__': if __name__ == '__main__':
with open('./debian/binary-check.blacklist', 'r') as f: with open('./debian/binary-check.remove', 'r') as f:
blacklist = list(map(lambda s: s.strip(), f.readlines())) removelist = list(map(lambda s: s.strip(), f.readlines()))
for path in blacklist: for path in removelist:
sys.stdout.write("Removing %s\n" % (path)) sys.stdout.write("Removing %s\n" % (path))
os.unlink(path) os.unlink(path)