push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
Search $PATH for the shutdown binary instead of hard-coding /sbin/shutdown,
which isn't valid on NixOS (and a compatibility link on most other modern
distros anyway).
--- a/include/pathnames.h
+++ b/include/pathnames.h
@@ -50,8 +50,8 @@
#ifndef _PATH_LOGIN
# define _PATH_LOGIN "/bin/login"
#endif
-#define _PATH_SHUTDOWN "/sbin/shutdown"
-#define _PATH_POWEROFF "/sbin/poweroff"
+#define _PATH_SHUTDOWN "shutdown"
+#define _PATH_POWEROFF "poweroff"
#define _PATH_TERMCOLORS_DIRNAME "terminal-colors.d"
#define _PATH_TERMCOLORS_DIR "/etc/" _PATH_TERMCOLORS_DIRNAME
--- a/sys-utils/rtcwake.c
+++ b/sys-utils/rtcwake.c
@@ -587,29 +587,29 @@ int main(int argc, char **argv)
char *arg[5];
int i = 0;
- if (!access(_PATH_SHUTDOWN, X_OK)) {
- arg[i++] = _PATH_SHUTDOWN;
- arg[i++] = "-h";
- arg[i++] = "-P";
- arg[i++] = "now";
- arg[i] = NULL;
- } else if (!access(_PATH_POWEROFF, X_OK)) {
- arg[i++] = _PATH_POWEROFF;
- arg[i] = NULL;
- } else {
- arg[i] = NULL;
- }
+ arg[i++] = _PATH_SHUTDOWN;
+ arg[i++] = "-h";
+ arg[i++] = "-P";
+ arg[i++] = "now";
+ arg[i] = NULL;
- if (arg[0]) {
- if (ctl.verbose)
- printf(_("suspend mode: off; executing %s\n"),
- arg[0]);
- if (!ctl.dryrun) {
- execv(arg[0], arg);
+ if (ctl.verbose)
+ printf(_("suspend mode: off; executing %s\n"),
+ arg[0]);
+
+ if (!ctl.dryrun) {
+ execvp(arg[0], arg);
+ if (ctl.verbose) {
warn(_("failed to execute %s"), arg[0]);
- rc = EX_EXEC_ENOENT;
+ // Reuse translations.
+ printf(_("suspend mode: off; executing %s\n"),
+ _PATH_POWEROFF);
}
- } else {
+
+ i = 0;
+ arg[i++] = _PATH_POWEROFF;
+ arg[i] = NULL;
+ execvp(arg[0], arg);
/* Failed to find shutdown command */
warn(_("failed to find shutdown command"));
rc = EX_EXEC_ENOENT;