mirror of
https://github.com/EDCD/EDDN.git
synced 2025-06-09 20:02:21 +03:00
setup.py: Fix permissions on monitor/schemas after copy
In Python 2.7 shutil.copytree() *always* preserves the file mode. I don't want to rely on changing them in the source as that's fragile. So, write our own recursive function to fix them after the copy. Once we move to Python 3 we can use the copy_function argument, combined with the umask we already set.
This commit is contained in:
parent
e3053dc0b6
commit
79d835616e
36
setup.py
36
setup.py
@ -73,6 +73,21 @@ setup(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def open_file_perms_recursive(dirname):
|
||||||
|
"""Open up file perms on the given directory and its contents."""
|
||||||
|
print 'open_file_perms_recursive: %s' % ( dirname )
|
||||||
|
names = os.listdir(dirname)
|
||||||
|
for name in names:
|
||||||
|
n = '%s/%s' % ( dirname, name )
|
||||||
|
print 'open_file_perms_recursive: %s' % ( n )
|
||||||
|
if (os.path.isdir(n)):
|
||||||
|
os.chmod(n, 0755)
|
||||||
|
# Recurse
|
||||||
|
open_file_perms_recursive(n)
|
||||||
|
|
||||||
|
else:
|
||||||
|
os.chmod(n, 0644)
|
||||||
|
|
||||||
# Ensure the systemd-required start files are in place
|
# Ensure the systemd-required start files are in place
|
||||||
print """
|
print """
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
@ -151,7 +166,12 @@ try:
|
|||||||
shutil.rmtree('%s/monitor' % ( SHARE_EDDN_FILES ))
|
shutil.rmtree('%s/monitor' % ( SHARE_EDDN_FILES ))
|
||||||
except OSError:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
shutil.copytree('contrib/monitor', '%s/monitor' % ( SHARE_EDDN_FILES ))
|
shutil.copytree(
|
||||||
|
'contrib/monitor',
|
||||||
|
'%s/monitor' % ( SHARE_EDDN_FILES ),
|
||||||
|
# Not in Python 2.7
|
||||||
|
# copy_function=shutil.copyfile,
|
||||||
|
)
|
||||||
# And a copy of the schemas too
|
# And a copy of the schemas too
|
||||||
print """
|
print """
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
@ -161,7 +181,19 @@ try:
|
|||||||
shutil.rmtree('%s/schemas' % ( SHARE_EDDN_FILES ))
|
shutil.rmtree('%s/schemas' % ( SHARE_EDDN_FILES ))
|
||||||
except OSError:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
shutil.copytree('schemas', '%s/schemas' % ( SHARE_EDDN_FILES ))
|
shutil.copytree(
|
||||||
|
'schemas',
|
||||||
|
'%s/schemas' % ( SHARE_EDDN_FILES ),
|
||||||
|
# Not in Python 2.7
|
||||||
|
# copy_function=shutil.copyfile,
|
||||||
|
)
|
||||||
|
|
||||||
|
print """
|
||||||
|
******************************************************************************
|
||||||
|
Opening up permissions on monitor and schema files...
|
||||||
|
"""
|
||||||
|
os.chmod(SHARE_EDDN_FILES, 0755)
|
||||||
|
open_file_perms_recursive(SHARE_EDDN_FILES)
|
||||||
|
|
||||||
# You still need to make an override config file
|
# You still need to make an override config file
|
||||||
if not os.path.isfile('%s/config.json' % ( SHARE_EDDN_FILES )):
|
if not os.path.isfile('%s/config.json' % ( SHARE_EDDN_FILES )):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user