diff options
| author | Tobias Geerinckx-Rice <me@tobias.gr> | 2022-10-23 02:00:15 +0200 |
|---|---|---|
| committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2024-08-11 02:00:00 +0200 |
| commit | d73ca7ecb6e2dac91c13b8924ee6bed42c272980 (patch) | |
| tree | 064d806ae42bebaec4ec3fb37becfb2e2447e9d8 | |
| parent | f3b84be52dd8397abceb46219a15d5d78c982115 (diff) | |
services: Rename setuid-program-service-type.
* gnu/services.scm (setuid-program->activation-gexp): Rename this…
(privileged-program->activation-gexp): …to this.
Operate on a list of <privileged-program> records.
(privileged-program-service-type): New variable, renamed from
setuid-program-service-type. Rename the service-type accordingly.
(setuid-program-service-type): Redefine as an alias for the above.
| -rw-r--r-- | gnu/services.scm | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/gnu/services.scm b/gnu/services.scm index c472edda7ce..38692b36661 100644 --- a/gnu/services.scm +++ b/gnu/services.scm | |||
| @@ -46,6 +46,7 @@ | |||
| 46 | #:use-module (gnu packages base) | 46 | #:use-module (gnu packages base) |
| 47 | #:use-module (gnu packages bash) | 47 | #:use-module (gnu packages bash) |
| 48 | #:use-module (gnu packages hurd) | 48 | #:use-module (gnu packages hurd) |
| 49 | #:use-module (gnu system privilege) | ||
| 49 | #:use-module (gnu system setuid) | 50 | #:use-module (gnu system setuid) |
| 50 | #:use-module (srfi srfi-1) | 51 | #:use-module (srfi srfi-1) |
| 51 | #:use-module (srfi srfi-9) | 52 | #:use-module (srfi srfi-9) |
| @@ -120,7 +121,8 @@ | |||
| 120 | extra-special-file | 121 | extra-special-file |
| 121 | etc-service-type | 122 | etc-service-type |
| 122 | etc-directory | 123 | etc-directory |
| 123 | setuid-program-service-type | 124 | privileged-program-service-type |
| 125 | setuid-program-service-type ; deprecated | ||
| 124 | profile-service-type | 126 | profile-service-type |
| 125 | firmware-service-type | 127 | firmware-service-type |
| 126 | gc-root-service-type | 128 | gc-root-service-type |
| @@ -889,17 +891,17 @@ directory." | |||
| 889 | FILES must be a list of name/file-like object pairs." | 891 | FILES must be a list of name/file-like object pairs." |
| 890 | (service etc-service-type files)) | 892 | (service etc-service-type files)) |
| 891 | 893 | ||
| 892 | (define (setuid-program->activation-gexp programs) | 894 | (define (privileged-program->activation-gexp programs) |
| 893 | "Return an activation gexp for setuid-program from PROGRAMS." | 895 | "Return an activation gexp for privileged-program from PROGRAMS." |
| 894 | (let ((programs (map (lambda (program) | 896 | (let ((programs (map (lambda (program) |
| 895 | ;; FIXME This is really ugly, I didn't managed to use | 897 | ;; FIXME This is really ugly, I didn't managed to use |
| 896 | ;; "inherit" | 898 | ;; "inherit" |
| 897 | (let ((program-name (setuid-program-program program)) | 899 | (let ((program-name (privileged-program-program program)) |
| 898 | (setuid? (setuid-program-setuid? program)) | 900 | (setuid? (privileged-program-setuid? program)) |
| 899 | (setgid? (setuid-program-setgid? program)) | 901 | (setgid? (privileged-program-setgid? program)) |
| 900 | (user (setuid-program-user program)) | 902 | (user (privileged-program-user program)) |
| 901 | (group (setuid-program-group program)) ) | 903 | (group (privileged-program-group program)) ) |
| 902 | #~(setuid-program | 904 | #~(privileged-program |
| 903 | (setuid? #$setuid?) | 905 | (setuid? #$setuid?) |
| 904 | (setgid? #$setgid?) | 906 | (setgid? #$setgid?) |
| 905 | (user #$user) | 907 | (user #$user) |
| @@ -907,17 +909,17 @@ FILES must be a list of name/file-like object pairs." | |||
| 907 | (program #$program-name)))) | 909 | (program #$program-name)))) |
| 908 | programs))) | 910 | programs))) |
| 909 | (with-imported-modules (source-module-closure | 911 | (with-imported-modules (source-module-closure |
| 910 | '((gnu system setuid))) | 912 | '((gnu system privilege))) |
| 911 | #~(begin | 913 | #~(begin |
| 912 | (use-modules (gnu system setuid)) | 914 | (use-modules (gnu system privilege)) |
| 913 | 915 | ||
| 914 | (activate-privileged-programs (list #$@programs)))))) | 916 | (activate-privileged-programs (list #$@programs)))))) |
| 915 | 917 | ||
| 916 | (define setuid-program-service-type | 918 | (define privileged-program-service-type |
| 917 | (service-type (name 'setuid-program) | 919 | (service-type (name 'privileged-program) |
| 918 | (extensions | 920 | (extensions |
| 919 | (list (service-extension activation-service-type | 921 | (list (service-extension activation-service-type |
| 920 | setuid-program->activation-gexp))) | 922 | privileged-program->activation-gexp))) |
| 921 | (compose concatenate) | 923 | (compose concatenate) |
| 922 | (extend (lambda (config extensions) | 924 | (extend (lambda (config extensions) |
| 923 | (append config extensions))) | 925 | (append config extensions))) |
| @@ -929,6 +931,10 @@ The deprecated @file{/run/setuid-programs} directory is also populated with | |||
| 929 | symbolic links to their @file{/run/privileged/bin} counterpart. It will be | 931 | symbolic links to their @file{/run/privileged/bin} counterpart. It will be |
| 930 | removed in a future Guix release."))) | 932 | removed in a future Guix release."))) |
| 931 | 933 | ||
| 934 | (define setuid-program-service-type | ||
| 935 | ;; Deprecated alias to ease transition. Will be removed! | ||
| 936 | privileged-program-service-type) | ||
| 937 | |||
| 932 | (define (packages->profile-entry packages) | 938 | (define (packages->profile-entry packages) |
| 933 | "Return a system entry for the profile containing PACKAGES." | 939 | "Return a system entry for the profile containing PACKAGES." |
| 934 | ;; XXX: 'mlet' is needed here for one reason: to get the proper | 940 | ;; XXX: 'mlet' is needed here for one reason: to get the proper |
