aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schneider <nioncode+git@gmail.com>2019-01-01 21:01:32 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2019-01-06 22:35:04 +0200
commit735e138382c2876c181edd09e6bf9bb76225be6d (patch)
tree9c4b6a2f8eb6118a9643847054424db46b2a1e69
parent142cf1459fae41bb9cdfcc9dd445f61dc56db8c4 (diff)
downloadmeson-735e138382c2876c181edd09e6bf9bb76225be6d.zip
meson-735e138382c2876c181edd09e6bf9bb76225be6d.tar.gz
meson-735e138382c2876c181edd09e6bf9bb76225be6d.tar.bz2
fix meson configure exception when install_umask is not an int
-rw-r--r--mesonbuild/coredata.py2
-rw-r--r--mesonbuild/mconf.py2
-rw-r--r--mesonbuild/minstall.py4
3 files changed, 4 insertions, 4 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index b650f78..6262011 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -116,7 +116,7 @@ class UserUmaskOption(UserIntegerOption):
def validate_value(self, value):
if value is None or value == 'preserve':
- return None
+ return 'preserve'
return super().validate_value(value)
def toint(self, valuestring):
diff --git a/mesonbuild/mconf.py b/mesonbuild/mconf.py
index 28589da..1257fd3 100644
--- a/mesonbuild/mconf.py
+++ b/mesonbuild/mconf.py
@@ -106,7 +106,7 @@ class Conf:
v = o.value
c = o.choices
if isinstance(o, coredata.UserUmaskOption):
- v = format(v, '04o')
+ v = v if isinstance(v, str) else format(v, '04o')
arr.append({'name': k, 'descr': d, 'value': v, 'choices': c})
self.print_aligned(arr)
diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py
index 4cdd3c6..74a8497 100644
--- a/mesonbuild/minstall.py
+++ b/mesonbuild/minstall.py
@@ -106,7 +106,7 @@ def set_chmod(path, mode, dir_fd=None, follow_symlinks=True):
os.chmod(path, mode, dir_fd=dir_fd)
def sanitize_permissions(path, umask):
- if umask is None:
+ if umask == 'preserve':
return
new_perms = 0o777 if is_executable(path, follow_symlinks=False) else 0o666
new_perms &= ~umask
@@ -332,7 +332,7 @@ class Installer:
d.destdir = os.environ.get('DESTDIR', '')
d.fullprefix = destdir_join(d.destdir, d.prefix)
- if d.install_umask is not None:
+ if d.install_umask != 'preserve':
os.umask(d.install_umask)
self.did_install_something = False