diff options
author | Hendrikto <hendrik.to@gmail.com> | 2021-01-31 16:08:48 +0100 |
---|---|---|
committer | Jan Rybar <jrybar@redhat.com> | 2021-04-21 17:56:09 +0000 |
commit | f986ebcb6c1fa7d37c52af35207eaf2d1214ac22 (patch) | |
tree | 79a92f9a0252a2159bd7db2984694de444ff15b6 /meson_post_install.py | |
parent | 6ac355e7073c6b7581ea6dac291edc2e15f13d39 (diff) | |
download | polkit-f986ebcb6c1fa7d37c52af35207eaf2d1214ac22.tar.gz |
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.
Diffstat (limited to 'meson_post_install.py')
-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) |