From 735e138382c2876c181edd09e6bf9bb76225be6d Mon Sep 17 00:00:00 2001 From: Nicolas Schneider Date: Tue, 1 Jan 2019 21:01:32 +0100 Subject: fix meson configure exception when install_umask is not an int --- mesonbuild/coredata.py | 2 +- mesonbuild/mconf.py | 2 +- mesonbuild/minstall.py | 4 ++-- 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 -- cgit v1.1