forked from semios/ports
@@ -0,0 +1,54 @@
|
||||
import os
|
||||
|
||||
from lib import arch, common, make, pkgcomposer
|
||||
|
||||
|
||||
def is_abslink(path):
|
||||
try:
|
||||
return os.readlink(path).startswith("/")
|
||||
except:
|
||||
return False
|
||||
|
||||
|
||||
def autolink_bin(composer: pkgcomposer.PkgComposer):
|
||||
if is_abslink("bin"):
|
||||
return
|
||||
for i in common.treedir("bin"):
|
||||
if i.is_file() and os.access(i.path, os.X_OK):
|
||||
make.link(f"bin/{i.name}", "/bin/" + i.name)
|
||||
|
||||
def autolink_lib(composer: pkgcomposer.PkgComposer):
|
||||
if is_abslink("lib"):
|
||||
return
|
||||
for i in common.treedir("lib"):
|
||||
if i.is_file():
|
||||
make.link(f"lib/{i.name}", "/lib/" + arch.get_target() + "/" + i.name)
|
||||
|
||||
def autolink_include(composer: pkgcomposer.PkgComposer):
|
||||
if is_abslink("include"):
|
||||
return
|
||||
for i in common.treedir("include"):
|
||||
if i.is_file():
|
||||
make.link(
|
||||
f"include/{i.name}",
|
||||
"/lib/" + arch.get_target() + "/include/" + i.name,
|
||||
)
|
||||
|
||||
|
||||
def autolink(composer: pkgcomposer.PkgComposer):
|
||||
os.chdir(composer.workdir + "/bundle/")
|
||||
|
||||
try:
|
||||
autolink_bin(composer)
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
autolink_lib(composer)
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
autolink_include(composer)
|
||||
except:
|
||||
pass
|
||||
Reference in New Issue
Block a user