mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-09 00:23:52 +02:00
runit: add chpst -C patch
This commit is contained in:
parent
ab0591185a
commit
583650f690
2 changed files with 80 additions and 1 deletions
77
srcpkgs/runit/patches/chpst-pwd.patch
Normal file
77
srcpkgs/runit/patches/chpst-pwd.patch
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
From 2b8000f1ebd07fd68ee0e3c32737d97bcd1687fb Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Andrew J. Hesford" <ajh@sideband.org>
|
||||||
|
Date: Mon, 14 Feb 2022 14:25:22 -0500
|
||||||
|
Subject: [PATCH] chpst: add -C to change working directory
|
||||||
|
|
||||||
|
---
|
||||||
|
man/chpst.8 | 8 ++++++++
|
||||||
|
src/chpst.c | 9 +++++++--
|
||||||
|
2 files changed, 15 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git runit-2.1.2/man/chpst.8 runit-2.1.2/man/chpst.8
|
||||||
|
index 43c0b8d..e0829b6 100644
|
||||||
|
--- runit-2.1.2/man/chpst.8
|
||||||
|
+++ runit-2.1.2/man/chpst.8
|
||||||
|
@@ -146,6 +146,14 @@ Change the root directory to
|
||||||
|
before starting
|
||||||
|
.IR prog .
|
||||||
|
.TP
|
||||||
|
+.B \-C \fIpwd
|
||||||
|
+chdir.
|
||||||
|
+Change the working directory to
|
||||||
|
+.I pwd
|
||||||
|
+before starting
|
||||||
|
+.IR prog .
|
||||||
|
+When combined with \-/, the working directory is changed after the chroot.
|
||||||
|
+.TP
|
||||||
|
.B \-n \fIinc
|
||||||
|
nice.
|
||||||
|
Add
|
||||||
|
diff --git runit-2.1.2/src/chpst.c runit-2.1.2/src/chpst.c
|
||||||
|
index 1cca5f4..d597b68 100644
|
||||||
|
--- runit-2.1.2/src/chpst.c
|
||||||
|
+++ runit-2.1.2/src/chpst.c
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
#include "openreadclose.h"
|
||||||
|
#include "direntry.h"
|
||||||
|
|
||||||
|
-#define USAGE_MAIN " [-vP012] [-u user[:group]] [-U user[:group]] [-b argv0] [-e dir] [-/ root] [-n nice] [-l|-L lock] [-m n] [-d n] [-o n] [-p n] [-f n] [-c n] prog"
|
||||||
|
+#define USAGE_MAIN " [-vP012] [-u user[:group]] [-U user[:group]] [-b argv0] [-e dir] [-/ root] [-C pwd] [-n nice] [-l|-L lock] [-m n] [-d n] [-o n] [-p n] [-f n] [-c n] prog"
|
||||||
|
#define FATAL "chpst: fatal: "
|
||||||
|
#define WARNING "chpst: warning: "
|
||||||
|
|
||||||
|
@@ -60,6 +60,7 @@ long limitt =-2;
|
||||||
|
long nicelvl =0;
|
||||||
|
const char *lock =0;
|
||||||
|
const char *root =0;
|
||||||
|
+const char *pwd =0;
|
||||||
|
unsigned int lockdelay;
|
||||||
|
|
||||||
|
void suidgid(char *user, unsigned int ext) {
|
||||||
|
@@ -286,7 +287,7 @@ int main(int argc, const char **argv) {
|
||||||
|
if (str_equal(progname, "setlock")) setlock(argc, argv);
|
||||||
|
if (str_equal(progname, "softlimit")) softlimit(argc, argv);
|
||||||
|
|
||||||
|
- while ((opt =getopt(argc, argv, "u:U:b:e:m:d:o:p:f:c:r:t:/:n:l:L:vP012V"))
|
||||||
|
+ while ((opt =getopt(argc, argv, "u:U:b:e:m:d:o:p:f:c:r:t:/:C:n:l:L:vP012V"))
|
||||||
|
!= opteof)
|
||||||
|
switch(opt) {
|
||||||
|
case 'u': set_user =(char*)optarg; break;
|
||||||
|
@@ -305,6 +306,7 @@ int main(int argc, const char **argv) {
|
||||||
|
case 'r': if (optarg[scan_ulong(optarg, &ul)]) usage(); limitr =ul; break;
|
||||||
|
case 't': if (optarg[scan_ulong(optarg, &ul)]) usage(); limitt =ul; break;
|
||||||
|
case '/': root =optarg; break;
|
||||||
|
+ case 'C': pwd =optarg; break;
|
||||||
|
case 'n':
|
||||||
|
switch (*optarg) {
|
||||||
|
case '-':
|
||||||
|
@@ -337,6 +339,9 @@ int main(int argc, const char **argv) {
|
||||||
|
if (chdir(root) == -1) fatal2("unable to change directory", root);
|
||||||
|
if (chroot(".") == -1) fatal("unable to change root directory");
|
||||||
|
}
|
||||||
|
+ if (pwd) {
|
||||||
|
+ if (chdir(pwd) == -1) fatal2("unable to change directory", pwd);
|
||||||
|
+ }
|
||||||
|
if (nicelvl) {
|
||||||
|
errno =0;
|
||||||
|
if (nice(nicelvl) == -1) if (errno) fatal("unable to set nice level");
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'runit'
|
# Template file for 'runit'
|
||||||
pkgname=runit
|
pkgname=runit
|
||||||
version=2.1.2
|
version=2.1.2
|
||||||
revision=14
|
revision=15
|
||||||
build_wrksrc="${pkgname}-${version}/src"
|
build_wrksrc="${pkgname}-${version}/src"
|
||||||
build_style="gnu-makefile"
|
build_style="gnu-makefile"
|
||||||
short_desc="UNIX init scheme with service supervision"
|
short_desc="UNIX init scheme with service supervision"
|
||||||
|
@ -11,6 +11,8 @@ homepage="http://smarden.org/runit/"
|
||||||
distfiles="http://smarden.org/runit/runit-$version.tar.gz"
|
distfiles="http://smarden.org/runit/runit-$version.tar.gz"
|
||||||
checksum=6fd0160cb0cf1207de4e66754b6d39750cff14bb0aa66ab49490992c0c47ba18
|
checksum=6fd0160cb0cf1207de4e66754b6d39750cff14bb0aa66ab49490992c0c47ba18
|
||||||
patch_args=-Np0
|
patch_args=-Np0
|
||||||
|
# FIXME: this is caused by some bonk tests that should be fixed in void-linux/runit at some point
|
||||||
|
make_check=no
|
||||||
|
|
||||||
build_options="static"
|
build_options="static"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue