X-Git-Url: https://git.bzium.org/embe/man-symlinker.git/blobdiff_plain/c53e09413b0bc737ee510ec5aa18a6ec7406957d..c010ee2581fa29514389af2201ec82f11f6ae2b3:/man-symlinker.py diff --git a/man-symlinker.py b/man-symlinker.py deleted file mode 100755 index b4ef047..0000000 --- a/man-symlinker.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python -# encoding: UTF-8 - -from __future__ import absolute_import, division - -import os -import re -import sys - -MAN_NAME_RE = re.compile(r'/man/(?:[^/]+/)?man([^/]+)/[^/]+.\1$') -MAX_LEN = 1024 -SO_RE = re.compile(r'^\.so\s+(.*)$') - -def process_file(name): - m = MAN_NAME_RE.search(name) - if not m: - return False - category = m.group(1) - dir_name = 'man' + category - with open(name, 'r') as f: - s = f.read(MAX_LEN+1) - if len(s) > MAX_LEN: - return False - s = s.strip() - if '\n' in s: - return False - m = SO_RE.search(s) - if not m: - return False - link = m.group(1) - if link.startswith('/') or link.count('/') > 1: - return False - if link.startswith(dir_name+'/'): - link = link[len(dir_name)+1:] - else: - link = '../' + link - os.unlink(name) - os.symlink(link, name) - print 'Converted {} into a symlink to {}'.format(name, link) - return True - -def main(args=[]): - try: - dashes = args.index('--') - except ValueError: - compressor = [] - all_files = args - else: - compressor = args[:dashes] - all_files = args[dashes+1:] - files = [] - for name in all_files: - if not process_file(name): - files.append(name) - if not compressor or not files: - return 0 - os.execvp(compressor[0], compressor + files) - return 1 - -if __name__ == '__main__': - sys.exit(main(sys.argv[1:]))