mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-29 00:06:44 -04:00
installpanda: create intermediate directories with mode 0755 too
Fixes #541
This commit is contained in:
parent
3cc9e49469
commit
0b087ecf92
@ -155,25 +155,29 @@ def InstallPanda(destdir="", prefix="/usr", outputdir="built", libdir=GetLibDir(
|
||||
libdir = prefix + "/" + libdir
|
||||
|
||||
# Create the directory structure that we will be putting our files in.
|
||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/bin")
|
||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/include")
|
||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/include/panda3d")
|
||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/panda3d")
|
||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/mime-info")
|
||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/mime/packages")
|
||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/application-registry")
|
||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/applications")
|
||||
oscmd("mkdir -m 0755 -p "+destdir+libdir+"/panda3d")
|
||||
# Don't use os.makedirs or mkdir -p; neither properly set permissions for
|
||||
# created intermediate directories.
|
||||
MakeDirectory(destdir+prefix+"/bin", mode=0o755, recursive=True)
|
||||
MakeDirectory(destdir+prefix+"/include", mode=0o755)
|
||||
MakeDirectory(destdir+prefix+"/include/panda3d", mode=0o755)
|
||||
MakeDirectory(destdir+prefix+"/share", mode=0o755)
|
||||
MakeDirectory(destdir+prefix+"/share/panda3d", mode=0o755)
|
||||
MakeDirectory(destdir+prefix+"/share/mime-info", mode=0o755)
|
||||
MakeDirectory(destdir+prefix+"/share/mime", mode=0o755)
|
||||
MakeDirectory(destdir+prefix+"/share/mime/packages", mode=0o755)
|
||||
MakeDirectory(destdir+prefix+"/share/application-registry", mode=0o755)
|
||||
MakeDirectory(destdir+prefix+"/share/applications", mode=0o755)
|
||||
MakeDirectory(destdir+libdir+"/panda3d", mode=0o755, recursive=True)
|
||||
|
||||
for python_version in python_versions:
|
||||
oscmd("mkdir -m 0755 -p "+destdir+python_version["purelib"])
|
||||
oscmd("mkdir -m 0755 -p "+destdir+python_version["platlib"]+"/panda3d")
|
||||
MakeDirectory(destdir+python_version["purelib"], mode=0o755, recursive=True)
|
||||
MakeDirectory(destdir+python_version["platlib"]+"/panda3d", mode=0o755, recursive=True)
|
||||
|
||||
if (sys.platform.startswith("freebsd")):
|
||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/etc")
|
||||
oscmd("mkdir -m 0755 -p "+destdir+"/usr/local/libdata/ldconfig")
|
||||
MakeDirectory(destdir+prefix+"/etc", mode=0o755)
|
||||
MakeDirectory(destdir+"/usr/local/libdata/ldconfig", mode=0o755, recursive=True)
|
||||
else:
|
||||
oscmd("mkdir -m 0755 -p "+destdir+"/etc/ld.so.conf.d")
|
||||
MakeDirectory(destdir+"/etc/ld.so.conf.d", mode=0o755, recursive=True)
|
||||
|
||||
# Write the Config.prc file.
|
||||
Configrc = ReadFile(outputdir+"/etc/Config.prc")
|
||||
|
@ -1104,9 +1104,19 @@ def GetOptimizeOption(opts):
|
||||
##
|
||||
########################################################################
|
||||
|
||||
def MakeDirectory(path):
|
||||
if os.path.isdir(path): return 0
|
||||
os.mkdir(path)
|
||||
def MakeDirectory(path, mode=None, recursive=False):
|
||||
if os.path.isdir(path):
|
||||
return
|
||||
|
||||
if recursive:
|
||||
parent = os.path.dirname(path)
|
||||
if parent and not os.path.isdir(parent):
|
||||
MakeDirectory(parent, mode=mode, recursive=True)
|
||||
|
||||
if mode is not None:
|
||||
os.mkdir(path, mode)
|
||||
else:
|
||||
os.mkdir(path)
|
||||
|
||||
def ReadFile(wfile):
|
||||
try:
|
||||
|
Loading…
x
Reference in New Issue
Block a user