diff options
Diffstat (limited to 'compare_mandata.py')
-rw-r--r-- | compare_mandata.py | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/compare_mandata.py b/compare_mandata.py deleted file mode 100644 index 08d4c6b..0000000 --- a/compare_mandata.py +++ /dev/null @@ -1,83 +0,0 @@ -'''Check whether the manpage extensions and directories list hardcoded in brp-compress -are the same as the lists stored in pyproject_save_files.py. -There is an open issue for RPM to provide them both as macros: -https://github.com/rpm-software-management/rpm/issues/1865 -Once that happens, this script can be removed. -''' - -import argparse -import re -import sys - -from pathlib import PosixPath - -from pyproject_buildrequires import print_err -from pyproject_save_files import prepend_mandirs, MANPAGE_EXTENSIONS - - - -def read_brp_compress(filename): - - contents = filename.read_text() - # To avoid duplicity of the manpage extensions which are listed a few times - # in the source file, they are stored in set and then retyped to a sorted list - manpage_exts = sorted( - set(re.findall(r'\(?(\w+)\\+\)?\$?', contents)) - ) - - # Get rid of ${PREFIX} when extracting the manpage directories - mandirs = [ - entry.replace('.${PREFIX}', '/PREFIX') - for entry in contents.split() - if entry.startswith('.${PREFIX}') - ] - - return manpage_exts, sorted(mandirs) - - -def compare_mandirs(brp_compress_mandirs): - ''' - Check whether each of brp-compress mandirs entry is present in the list - stored in pyproject_save_files.py - ''' - - pyp_save_files_mandirs = sorted(prepend_mandirs(prefix='/PREFIX')) - if brp_compress_mandirs == pyp_save_files_mandirs: - return True - else: - print_err('Mandir lists don\'t match, update the list in pyproject_save_files.py') - print_err('brp-compress list:', brp_compress_mandirs) - print_err('pyproject_save_files list:', pyp_save_files_mandirs) - return False - - -def compare_manpage_extensions(brp_compress_manpage_exts): - ''' - Check whether each of brp-compress manpage extension is present in the list - stored in pyproject_save_files.py - ''' - - if brp_compress_manpage_exts == sorted(MANPAGE_EXTENSIONS): - return True - else: - print_err('Manpage extension lists don\'t match, update the list in pyproject_save_files.py') - print_err('brp-compress list:', brp_compress_manpage_exts) - print_err('pyproject_save_files list:', sorted(MANPAGE_EXTENSIONS)) - return False - - -def main(args): - src_manpage_exts, src_mandirs = read_brp_compress(args.filename) - extension_check_successful = compare_manpage_extensions(src_manpage_exts) - mandir_check_successful = compare_mandirs(src_mandirs) - if extension_check_successful and mandir_check_successful: - sys.exit(0) - else: - sys.exit(1) - - -if __name__ == '__main__': - parser = argparse.ArgumentParser() - parser.add_argument('-f', '--filename', type=PosixPath, required=True, - help='Provide location of brp-compress file') - main(parser.parse_args()) |