(root)/
fontconfig-2.14.2/
conf.d/
link_confs.py
       1  #!/usr/bin/env python3
       2  
       3  import os
       4  import sys
       5  import argparse
       6  import platform
       7  from pathlib import PurePath
       8  
       9  if __name__=='__main__':
      10      parser = argparse.ArgumentParser()
      11      parser.add_argument('availpath')
      12      parser.add_argument('confpath')
      13      parser.add_argument('links', nargs='+')
      14      args = parser.parse_args()
      15  
      16      if os.path.isabs(args.confpath):
      17          destdir = os.environ.get('DESTDIR')
      18          if destdir:
      19              # c:\destdir + c:\prefix must produce c:\destdir\prefix
      20              confpath = str(PurePath(destdir, *PurePath(args.confpath).parts[1:]))
      21          else:
      22              confpath = args.confpath
      23      else:
      24          confpath = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], args.confpath)
      25  
      26      if not os.path.exists(confpath):
      27          os.makedirs(confpath)
      28  
      29      for link in args.links:
      30          src = os.path.join(args.availpath, link)
      31          dst = os.path.join(confpath, link)
      32          try:
      33              os.remove(dst)
      34          except FileNotFoundError:
      35              pass
      36          try:
      37              os.symlink(src, dst)
      38          except NotImplementedError:
      39              # Not supported on this version of Windows
      40              break
      41          except OSError as e:
      42              # Symlink privileges are not available
      43              if platform.system().lower() == 'windows' and e.winerror == 1314:
      44                  break
      45              raise