summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrikto <hendrik.to@gmail.com>2021-01-31 16:08:48 +0100
committerJan Rybar <jrybar@redhat.com>2021-04-21 17:56:09 +0000
commitf986ebcb6c1fa7d37c52af35207eaf2d1214ac22 (patch)
tree79a92f9a0252a2159bd7db2984694de444ff15b6
parent6ac355e7073c6b7581ea6dac291edc2e15f13d39 (diff)
avoid calling external processes
Python already offers functions for chowning and chmodding files in its standard library. The os module is even already imported. This commit removes external process calls in favor of using these built-in Python functions.
-rw-r--r--meson_post_install.py15
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)