summaryrefslogtreecommitdiffstats
path: root/check_whence.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-17 09:25:04 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-17 09:25:04 +0000
commit194b98afa925b22adc181961eac47c99c2ddd001 (patch)
tree955ea1740548aa79bdab28d9c1d03898a6131f77 /check_whence.py
parentReleasing progress-linux version 20200122-4~progress7.99u1. (diff)
downloadfirmware-free-194b98afa925b22adc181961eac47c99c2ddd001.tar.xz
firmware-free-194b98afa925b22adc181961eac47c99c2ddd001.zip
Merging upstream version 20240610.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'check_whence.py')
-rwxr-xr-xcheck_whence.py60
1 files changed, 0 insertions, 60 deletions
diff --git a/check_whence.py b/check_whence.py
deleted file mode 100755
index 4adbfc3..0000000
--- a/check_whence.py
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/python
-
-import os, re, sys
-
-def list_whence():
- with open('WHENCE') as whence:
- for line in whence:
- match = re.match(r'(?:File|Source):\s*"(.*)"', line)
- if match:
- yield match.group(1)
- continue
- match = re.match(r'(?:File|Source):\s*(\S*)', line)
- if match:
- yield match.group(1)
- continue
- match = re.match(r'Licen[cs]e: (?:.*\bSee (.*) for details\.?|(\S*))\n',
- line)
- if match:
- if match.group(1):
- for name in re.split(r', | and ', match.group(1)):
- yield name
- continue
- if match.group(2):
- # Just one word - may or may not be a filename
- if not re.search(r'unknown|distributable', match.group(2),
- re.IGNORECASE):
- yield match.group(2)
- continue
-
-def list_git():
- with os.popen('git ls-files') as git_files:
- for line in git_files:
- yield line.rstrip('\n')
-
-def main():
- whence_list = list(list_whence())
- known_files = set(name for name in whence_list if not name.endswith('/')) | \
- set(['check_whence.py', 'configure', 'Makefile',
- 'README', 'copy-firmware.sh', 'WHENCE'])
- known_prefixes = set(name for name in whence_list if name.endswith('/'))
- git_files = set(list_git())
-
- for name in sorted(list(known_files - git_files)):
- sys.stderr.write('E: %s listed in WHENCE does not exist\n' % name)
-
- for name in sorted(list(git_files - known_files)):
- # Ignore subdirectory changelogs and GPG detached signatures
- if (name.endswith('/ChangeLog') or
- (name.endswith('.asc') and name[:-4] in known_files)):
- continue
-
- # Ignore unknown files in known directories
- for prefix in known_prefixes:
- if name.startswith(prefix):
- break
- else:
- sys.stderr.write('E: %s not listed in WHENCE\n' % name)
-
-if __name__ == '__main__':
- main()