diff options
author | Jan Rybar <jrybar@redhat.com> | 2021-04-22 14:03:18 +0000 |
---|---|---|
committer | Jan Rybar <jrybar@redhat.com> | 2021-04-22 14:03:18 +0000 |
commit | cd18b017a57b1fbed0542d4f9719f979a98d3f35 (patch) | |
tree | 79a92f9a0252a2159bd7db2984694de444ff15b6 | |
parent | 6ac355e7073c6b7581ea6dac291edc2e15f13d39 (diff) | |
parent | f986ebcb6c1fa7d37c52af35207eaf2d1214ac22 (diff) | |
download | polkit-cd18b017a57b1fbed0542d4f9719f979a98d3f35.tar.gz |
Merge branch 'master' into 'master'
Avoid calling external processes
See merge request polkit/polkit!73
-rw-r--r-- | meson_post_install.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/meson_post_install.py b/meson_post_install.py index 784d491..0a0fccf 100644 --- a/meson_post_install.py +++ b/meson_post_install.py @@ -2,7 +2,7 @@ import getpass import os -import subprocess +import pwd import sys prefix = os.environ['MESON_INSTALL_DESTDIR_PREFIX'] @@ -12,9 +12,9 @@ pkgdatadir = os.path.join(prefix, sys.argv[2]) pkglibdir = os.path.join(prefix, sys.argv[3]) pkgsysconfdir = os.path.join(prefix, sys.argv[4]) -polkitd_user = sys.argv[5] +polkitd_uid = pwd.getpwnam(sys.argv[5]).pw_uid -subprocess.check_call(['chmod', '4755', os.path.join(bindir, 'pkexec')]) +os.chmod(os.path.join(bindir, 'pkexec'), 0o4775) dst_dirs = [ os.path.join(pkgsysconfdir, 'rules.d'), @@ -23,15 +23,14 @@ dst_dirs = [ for dst in dst_dirs: if not os.path.exists(dst): - os.makedirs(dst) - subprocess.check_call(['chmod', '700', dst]) + os.makedirs(dst, mode=0o700) if getpass.getuser() == "root": - subprocess.check_call(['chown', polkitd_user, dst]) + os.chown(dst, polkitd_uid, -1) # polkit-agent-helper-1 need to be setuid root because it's used to # authenticate not only the invoking user, but possibly also root # and/or other users. dst = os.path.join(pkglibdir, 'polkit-agent-helper-1') -subprocess.check_call(['chmod', '4755', dst]) +os.chmod(dst, 0o4755) if getpass.getuser() == "root": - subprocess.check_call(['chown', 'root', dst]) + os.chown(dst, 0, -1) |