Advertisement
cmaureir

Untitled

Sep 30th, 2021
1,096
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.97 KB | None | 0 0
  1. #!/usr/bin/env python
  2. import sys
  3. import os
  4.  
  5. # Take a sysroot directory and turn all the abolute symlinks and turn them into
  6. # relative ones such that the sysroot is usable within another system.
  7.  
  8. if len(sys.argv) != 2:
  9.     print("Usage is " + sys.argv[0] + "<directory>")
  10.     sys.exit(1)
  11.  
  12. topdir = sys.argv[1]
  13. topdir = os.path.abspath(topdir)
  14.  
  15. def handlelink(filep, subdir):
  16.     link = os.readlink(filep)
  17.     if link[0] != "/":
  18.         return
  19.     if link.startswith(topdir):
  20.         return
  21.     #print("Replacing %s with %s for %s" % (link, topdir+link, filep))
  22.     print("Replacing %s with %s for %s" % (link, os.path.relpath(topdir+link, subdir), filep))
  23.     os.unlink(filep)
  24.     os.symlink(os.path.relpath(topdir+link, subdir), filep)
  25.  
  26. for subdir, dirs, files in os.walk(topdir):
  27.     for f in files:
  28.         filep = os.path.join(subdir, f)
  29.         if os.path.islink(filep):
  30.             #print("Considering %s" % filep)
  31.             handlelink(filep, subdir)
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement