[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-29 Thread William Hubbs
commit: e50d51ed9fcf53e1b38000c291c1db1abc9f815c
Author: William Hubbs  gmail  com>
AuthorDate: Wed Nov 29 22:10:02 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Wed Nov 29 22:10:02 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=e50d51ed

Update ChangeLog

 ChangeLog | 21 +
 1 file changed, 21 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index fa0b5f55..4c2d51cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+commit 97a254f599db622d34a0c1bbd3057d1a7050a468
+Author: Doug Freed 
+Commit: William Hubbs 
+
+start-stop-daemon: properly handle missing pidfile
+
+X-Gentoo-Bug: 639218
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/639218
+
+commit 1d20aa10e65c24f5b2d78a1b0a4ab77de5395aab
+Author: William Hubbs 
+Commit: William Hubbs 
+
+version 0.34.11
+
+commit e92e81d9fec6e07d68692e29839b169cbda19505
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit bed1a4519295a86f7cc62a79604d73a8ae726103
 Author: William Hubbs 
 Commit: William Hubbs 



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-29 Thread William Hubbs
commit: 1d20aa10e65c24f5b2d78a1b0a4ab77de5395aab
Author: William Hubbs  gmail  com>
AuthorDate: Wed Nov 29 21:52:30 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Wed Nov 29 21:52:30 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=1d20aa10

version 0.34.11

 Makefile.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index bbb16636..ca1f6456 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -1,3 +1,3 @@
 NAME=  openrc
-VERSION=   0.34.10
+VERSION=   0.34.11
 PKG=   ${NAME}-${VERSION}



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-11-29 Thread William Hubbs
commit: 97a254f599db622d34a0c1bbd3057d1a7050a468
Author: Doug Freed  mtu  edu>
AuthorDate: Wed Nov 29 20:10:39 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Wed Nov 29 21:53:42 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=97a254f5

start-stop-daemon: properly handle missing pidfile

X-Gentoo-Bug: 639218
X-Gentoo-Bug-URL: https://bugs.gentoo.org/639218

 src/rc/start-stop-daemon.c | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c
index e98f8ba3..54b89b2a 100644
--- a/src/rc/start-stop-daemon.c
+++ b/src/rc/start-stop-daemon.c
@@ -657,8 +657,15 @@ int main(int argc, char **argv)
parse_schedule(applet, "0", sig);
else
parse_schedule(applet, NULL, sig);
+   if (pidfile) {
+   pid = get_pid(applet, pidfile);
+   if (pid == -1)
+   exit(EXIT_FAILURE);
+   } else {
+   pid = 0;
+   }
i = run_stop_schedule(applet, exec, (const char *const *)margv,
-   get_pid(applet, pidfile), uid, test, progress, false);
+   pid, uid, test, progress, false);
 
if (i < 0)
/* We failed to stop something */



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-27 Thread William Hubbs
commit: e92e81d9fec6e07d68692e29839b169cbda19505
Author: William Hubbs  gmail  com>
AuthorDate: Mon Nov 27 19:06:18 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Nov 27 19:06:18 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=e92e81d9

Update ChangeLog

 ChangeLog | 20 
 1 file changed, 20 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 06cf304f..fa0b5f55 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+commit bed1a4519295a86f7cc62a79604d73a8ae726103
+Author: William Hubbs 
+Commit: William Hubbs 
+
+fix FreeBSD build
+
+This is for #186.
+
+commit 34d9dbf1e305cad9ddde094dbc905e9024e94992
+Author: William Hubbs 
+Commit: William Hubbs 
+
+version 0.34.10
+
+commit 0287aa65884e30f81a92c58d911048b00c878034
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit 1732c70fb5e6d75c0d104662d06169978c00a5e8
 Author: Doug Freed 
 Commit: William Hubbs 



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-27 Thread William Hubbs
commit: 34d9dbf1e305cad9ddde094dbc905e9024e94992
Author: William Hubbs  gmail  com>
AuthorDate: Mon Nov 27 18:49:28 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Nov 27 18:49:28 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=34d9dbf1

version 0.34.10

 Makefile.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index 2bfc333e..bbb16636 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -1,3 +1,3 @@
 NAME=  openrc
-VERSION=   0.34.9
+VERSION=   0.34.10
 PKG=   ${NAME}-${VERSION}



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-11-27 Thread William Hubbs
commit: bed1a4519295a86f7cc62a79604d73a8ae726103
Author: William Hubbs  gmail  com>
AuthorDate: Mon Nov 27 17:09:43 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Nov 27 18:49:44 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=bed1a451

fix FreeBSD build

This is for #186.

 src/rc/supervise-daemon.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index f3f51ff0..06d0bdb3 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -159,7 +159,7 @@ static void cleanup(void)
free(changeuser);
 }
 
-static void re_exec(void)
+static void re_exec_supervisor(void)
 {
syslog(LOG_WARNING, "Re-executing for %s", svcname);
execlp("supervise-daemon", "supervise-daemon", svcname, "--reexec",
@@ -180,7 +180,7 @@ static void handle_signal(int sig)
/* Restore errno */
errno = serrno;
if (! exiting)
-   re_exec();
+   re_exec_supervisor();
 }
 
 static char * expand_home(const char *home, const char *path)
@@ -435,7 +435,9 @@ static void supervisor(char *exec, char **argv)
signal_setup_restart(SIGUSR1, handle_signal);
signal_setup_restart(SIGUSR2, handle_signal);
signal_setup_restart(SIGBUS, handle_signal);
+#ifdef SIGPOLL
signal_setup_restart(SIGPOLL, handle_signal);
+#endif
signal_setup_restart(SIGPROF, handle_signal);
signal_setup_restart(SIGSYS, handle_signal);
signal_setup_restart(SIGTRAP, handle_signal);
@@ -446,7 +448,9 @@ static void supervisor(char *exec, char **argv)
signal_setup_restart(SIGEMT, handle_signal);
 #endif
signal_setup_restart(SIGIO, handle_signal);
+#ifdef SIGPWR
signal_setup_restart(SIGPWR, handle_signal);
+#endif
 #ifdef SIGUNUSED
signal_setup_restart(SIGUNUSED, handle_signal);
 #endif



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-20 Thread William Hubbs
commit: 0287aa65884e30f81a92c58d911048b00c878034
Author: William Hubbs  gmail  com>
AuthorDate: Mon Nov 20 18:38:14 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Nov 20 18:38:14 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=0287aa65

Update ChangeLog

 ChangeLog | 31 +++
 1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a9f02bb3..06cf304f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+commit 1732c70fb5e6d75c0d104662d06169978c00a5e8
+Author: Doug Freed 
+Commit: William Hubbs 
+
+rc-schedules: if given nothing to look for, stop
+
+This avoids trying to kill everything.
+
+X-Gentoo-Bug: 631958
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=631958
+
+commit 263dde90c28ccd5abb1a60b6ba1f5f8be508164a
+Author: William Hubbs 
+Commit: William Hubbs 
+
+version 0.34.9
+
+commit 422795e2ceb723601e648f4f5cde55141c7e02f4
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit 00ad99a29223e1567752191e748822710e1042e6
 Author: William Hubbs 
 Commit: William Hubbs 
@@ -1638,11 +1661,3 @@ Commit: William Hubbs 
 
 The openntmpfiles package is designed so that it can be used on systems
 independently of whether openrc is used.
-
-commit 6414c3bc394f86a5d6a5f02c934469e21bbbc923
-Author: Jason Zaman 
-Commit: William Hubbs 
-
-selinux: fix SIGSEGV with invalid contexts
-
-Fixes: https://github.com/openrc/openrc/issues/104



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-11-20 Thread William Hubbs
commit: 1732c70fb5e6d75c0d104662d06169978c00a5e8
Author: Doug Freed  mtu  edu>
AuthorDate: Sun Nov 19 16:05:30 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Nov 20 17:55:46 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=1732c70f

rc-schedules: if given nothing to look for, stop

This avoids trying to kill everything.

X-Gentoo-Bug: 631958
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=631958

 src/rc/rc-schedules.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/rc/rc-schedules.c b/src/rc/rc-schedules.c
index d60c2822..8f36f073 100644
--- a/src/rc/rc-schedules.c
+++ b/src/rc/rc-schedules.c
@@ -307,6 +307,9 @@ int run_stop_schedule(const char *applet,
const char *const *p;
bool progressed = false;
 
+   if (!(pid > 0 || exec || uid || (argv && *argv)))
+   return 0;
+
if (exec)
einfov("Will stop %s", exec);
if (pid > 0)



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-20 Thread William Hubbs
commit: 263dde90c28ccd5abb1a60b6ba1f5f8be508164a
Author: William Hubbs  gmail  com>
AuthorDate: Mon Nov 20 17:52:10 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Nov 20 17:52:10 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=263dde90

version 0.34.9

 Makefile.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index 29062753..2bfc333e 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -1,3 +1,3 @@
 NAME=  openrc
-VERSION=   0.34.8
+VERSION=   0.34.9
 PKG=   ${NAME}-${VERSION}



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-16 Thread William Hubbs
commit: 422795e2ceb723601e648f4f5cde55141c7e02f4
Author: William Hubbs  gmail  com>
AuthorDate: Thu Nov 16 22:34:44 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Nov 16 22:34:44 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=422795e2

Update ChangeLog

 ChangeLog | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index dedcf3fd..a9f02bb3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+commit 00ad99a29223e1567752191e748822710e1042e6
+Author: William Hubbs 
+Commit: William Hubbs 
+
+s6 supervisor fixes
+
+Add the ability to force-kill a service if it does not go down
+successfully. Also, adjust the default wait time for an s6 service to go
+down to 60 seconds.
+
+commit f026c2c541f43eadbaed51b93379fdf56e1f1d0a
+Author: William Hubbs 
+Commit: William Hubbs 
+
+version 0.34.8
+
+commit 4d20309ffeb5f0211957bbbc5c875dab434b5079
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit 65439ba023195786e71316f6638b52603e102f60
 Author: William Hubbs 
 Commit: William Hubbs 



[gentoo-commits] proj/openrc:0.34.x commit in: sh/, /, man/

2017-11-16 Thread William Hubbs
commit: 00ad99a29223e1567752191e748822710e1042e6
Author: William Hubbs  gmail  com>
AuthorDate: Thu Nov 16 21:35:35 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Nov 16 22:03:08 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=00ad99a2

s6 supervisor fixes

Add the ability to force-kill a service if it does not go down
successfully. Also, adjust the default wait time for an s6 service to go
down to 60 seconds.

 man/openrc-run.8 |  5 -
 s6-guide.md  |  4 
 sh/s6.sh | 20 +++-
 3 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/man/openrc-run.8 b/man/openrc-run.8
index 471f63e5..3f4f7e81 100644
--- a/man/openrc-run.8
+++ b/man/openrc-run.8
@@ -111,9 +111,12 @@ The path to the s6 service directory if you are monitoring 
this service
 with S6. The default is /var/svc.d/${RC_SVCNAME}.
 .It Ar s6_svwait_options_start
 The options to pass to s6-svwait when starting the service via s6.
+.It Ar s6_force_kill
+Should we force-kill this service if s6_service_timeout_stop expires
+but the service doesn't go down during shutdown? The default is yes.
 .It Ar s6_service_timeout_stop
 The amount of time, in milliseconds, s6-svc should wait for the service
-to go down when stopping the service. The default is 1.
+to go down when stopping the service. The default is 6.
 .It Ar start_stop_daemon_args
 List of arguments passed to start-stop-daemon when starting the daemon.
 .It Ar command

diff --git a/s6-guide.md b/s6-guide.md
index 52262b3c..bcc3ac28 100644
--- a/s6-guide.md
+++ b/s6-guide.md
@@ -39,6 +39,10 @@ s6_service_path - the path to the s6 service directory. The 
default is
 s6_svwait_options_start - the options to pass to s6-svwait when starting
 the service. If this is not set, s6-svwait will not be called.
 
+s6_force_kill - Should we try to force kill this service if the
+s6_service_timeout_stop timeout expires when shutting down this service?
+The default is yes.
+
 s6_service_timeout_stop - the amount of time, in milliseconds, s6-svc
 should wait for a service to go down when stopping.
 

diff --git a/sh/s6.sh b/sh/s6.sh
index d1b9c103..33c478ad 100644
--- a/sh/s6.sh
+++ b/sh/s6.sh
@@ -12,6 +12,20 @@
 
 [ -z "${s6_service_path}" ] && s6_service_path="/var/svc.d/${RC_SVCNAME}"
 
+_s6_force_kill() {
+   local pid
+   s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}"
+   pid="${3%)}"
+   [ -z "${pid}" ] && return 0
+   if kill -0 "${pid}" 2> /dev/null; then
+   ewarn "Sending DOWN & KILL for ${RC_SVCNAME}"
+   s6-svc -dk "${s6_service_link}"
+   sleep 1
+   kill -0 "${pid}" 2>/dev/null && return 1
+   fi
+   return 0
+}
+
 s6_start()
 {
if [ ! -d "${s6_service_path}" ]; then
@@ -41,7 +55,11 @@ s6_stop()
  fi
s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}"
ebegin "Stopping ${name:-$RC_SVCNAME}"
-   s6-svc -wD -d -T ${s6_service_timeout_stop:-1} "${s6_service_link}"
+   s6-svc -d -wD -T ${s6_service_timeout_stop:-6} "${s6_service_link}"
+   set -- $(s6-svstat "${s6_service_link}")
+   [ "$1" = "up" ] && 
+   yesno "${s6_force_kill:-yes}" &&
+   _s6_force_kill "$@"
set -- $(s6-svstat "${s6_service_link}")
[ "$1" = "down" ]
eend $? "Failed to stop ${name:-$RC_SVCNAME}"



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-16 Thread William Hubbs
commit: f026c2c541f43eadbaed51b93379fdf56e1f1d0a
Author: William Hubbs  gmail  com>
AuthorDate: Thu Nov 16 22:03:03 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Nov 16 22:03:03 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=f026c2c5

version 0.34.8

 Makefile.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index 0421f4dc..29062753 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -1,3 +1,3 @@
 NAME=  openrc
-VERSION=   0.34.7
+VERSION=   0.34.8
 PKG=   ${NAME}-${VERSION}



[gentoo-commits] proj/openrc:0.34.x commit in: src/librc/

2017-11-13 Thread William Hubbs
commit: 65439ba023195786e71316f6638b52603e102f60
Author: William Hubbs  gmail  com>
AuthorDate: Mon Nov 13 22:54:57 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Nov 13 23:47:56 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=65439ba0

rc_find_pids: namespace fix

Ignore namespaces if there are errors reading either the pid namespace
for the current process or the process we aare testing.

This fixes https://github.com/openrc/openrc/issues/180.

 src/librc/librc-daemon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/librc/librc-daemon.c b/src/librc/librc-daemon.c
index 916cc142..a40150a6 100644
--- a/src/librc/librc-daemon.c
+++ b/src/librc/librc-daemon.c
@@ -155,7 +155,7 @@ rc_find_pids(const char *exec, const char *const *argv, 
uid_t uid, pid_t pid)
if (rc <= 0)
proc_ns[0] = '\0';
}
-   if (strcmp(my_ns, proc_ns))
+   if (strlen(my_ns) && strlen (proc_ns) && strcmp(my_ns, proc_ns))
continue;
if (uid) {
snprintf(buffer, sizeof(buffer), "/proc/%d", p);



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-13 Thread William Hubbs
commit: 4d20309ffeb5f0211957bbbc5c875dab434b5079
Author: William Hubbs  gmail  com>
AuthorDate: Mon Nov 13 23:54:52 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Nov 13 23:54:52 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=4d20309f

Update ChangeLog

 ChangeLog | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index ec1142d8..dedcf3fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+commit 65439ba023195786e71316f6638b52603e102f60
+Author: William Hubbs 
+Commit: William Hubbs 
+
+rc_find_pids: namespace fix
+
+Ignore namespaces if there are errors reading either the pid namespace
+for the current process or the process we aare testing.
+
+This fixes https://github.com/openrc/openrc/issues/180.
+
+commit 86162f3f47c393fc173de0458eeeb322c0bb61f2
+Author: William Hubbs 
+Commit: William Hubbs 
+
+version 0.34.7
+
+commit b98e83ee9195eb052fafebc440515f0b2d055a91
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit d59197fafef164fe7319f9d87f544a8cc8e25044
 Author: William Hubbs 
 Commit: William Hubbs 



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-13 Thread William Hubbs
commit: 86162f3f47c393fc173de0458eeeb322c0bb61f2
Author: William Hubbs  gmail  com>
AuthorDate: Mon Nov 13 23:35:02 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Nov 13 23:35:02 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=86162f3f

version 0.34.7

 Makefile.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index 8fc131d3..0421f4dc 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -1,3 +1,3 @@
 NAME=  openrc
-VERSION=   0.34.6
+VERSION=   0.34.7
 PKG=   ${NAME}-${VERSION}



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-07 Thread William Hubbs
commit: b98e83ee9195eb052fafebc440515f0b2d055a91
Author: William Hubbs  gmail  com>
AuthorDate: Tue Nov  7 22:01:08 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Tue Nov  7 22:01:08 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=b98e83ee

Update ChangeLog

 ChangeLog | 61 +
 1 file changed, 21 insertions(+), 40 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a8ec51db..ec1142d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+commit d59197fafef164fe7319f9d87f544a8cc8e25044
+Author: William Hubbs 
+Commit: William Hubbs 
+
+start-stop-daemon: do not use do_stop to verify whether a daemon is running
+
+X-Gentoo-Bug: 636574
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=636574
+
+commit b66c86c9ee6d34d0a9d77140b8e7612709ba19d1
+Author: William Hubbs 
+Commit: William Hubbs 
+
+version 0.34.6
+
+commit f7eb236f6fd8c10af211c6667940e8e1650c12da
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit 1936d73eb1aecf31029d53e75e6bb14e307f8e1c
 Author: William Hubbs 
 Commit: William Hubbs 
@@ -1580,43 +1601,3 @@ Commit: William Hubbs 
 selinux: fix SIGSEGV with invalid contexts
 
 Fixes: https://github.com/openrc/openrc/issues/104
-
-commit 4f9bd7e4db185ce6debbebb5242344d8ffadc3ae
-Author: William Hubbs 
-Commit: William Hubbs 
-
-init.d/loopback.in: drop the route to the loopback interface on Linux
-
-This is related to #103.
-
-commit bf539f2196290864ce5c5fd0d679b74ee016e2da
-Author: William Hubbs 
-Commit: William Hubbs 
-
-init.d/mount-ro: do not remount /usr read only if it is premounted
-
-X-Gentoo-Bug: 573760
-X-Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=573760
-
-commit 20b60ea904612669dfb744beffcd8e7e447f69ef
-Author: William Hubbs 
-Commit: William Hubbs 
-
-conf.d/net-online: clarify comment about interfaces setting
-
-This setting refers to all interfaces that support ethernet
-
-commit f53c8baef3a6215077c00901759cbbcbe8f10e9b
-Author: William Hubbs 
-Commit: William Hubbs 
-
-init.d/net-online: remove interfaces and timeout from local declarations
-
-X-Gentoo-Bug:  598621
-X-Gentoo-Bug-URL:  https://bugs.gentoo.org/show_bug.cgi?id=598621
-
-commit be06cd250e12e63b8eb704bb2508e06fb9791251
-Author: William Hubbs 
-Commit: William Hubbs 
-
-src/rc/rc: do not try to start services if fork fails



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-11-07 Thread William Hubbs
commit: d59197fafef164fe7319f9d87f544a8cc8e25044
Author: William Hubbs  gmail  com>
AuthorDate: Tue Nov  7 21:30:21 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Tue Nov  7 21:38:11 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=d59197fa

start-stop-daemon: do not use do_stop to verify whether a daemon is running

X-Gentoo-Bug: 636574
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=636574

 src/rc/start-stop-daemon.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c
index dab8b3b1..e98f8ba3 100644
--- a/src/rc/start-stop-daemon.c
+++ b/src/rc/start-stop-daemon.c
@@ -279,6 +279,7 @@ int main(int argc, char **argv)
int stdout_fd;
int stderr_fd;
pid_t pid, spid;
+   RC_PIDLIST *pids;
int i;
char *svcname = getenv("RC_SVCNAME");
RC_STRINGLIST *env_list;
@@ -683,10 +684,14 @@ int main(int argc, char **argv)
else
pid = 0;
 
-   if (do_stop(applet, exec, (const char * const *)margv, pid, uid,
-   0, test, false) > 0)
+   if (pid)
+   pids = rc_find_pids(NULL, NULL, 0, pid);
+   else
+   pids = rc_find_pids(exec, (const char * const *) argv, uid, 0);
+   if (pids)
eerrorx("%s: %s is already running", applet, exec);
 
+   free(pids);
if (test) {
if (rc_yesno(getenv("EINFO_QUIET")))
exit (EXIT_SUCCESS);



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-07 Thread William Hubbs
commit: f7eb236f6fd8c10af211c6667940e8e1650c12da
Author: William Hubbs  gmail  com>
AuthorDate: Mon Oct 30 23:23:40 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Oct 30 23:23:40 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=f7eb236f

Update ChangeLog

 ChangeLog | 18 ++
 1 file changed, 18 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index f0434048..a8ec51db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+commit 1936d73eb1aecf31029d53e75e6bb14e307f8e1c
+Author: William Hubbs 
+Commit: William Hubbs 
+
+fix issue with --reexec call
+
+commit 58872fc090af5047547bc561a5e58c50be0fc235
+Author: William Hubbs 
+Commit: William Hubbs 
+
+version 0.34.5
+
+commit fc35eb90cab625966ca718a80dd0d38dfffe05b8
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit b18be3f970eba04589977438faaa726b5c3a6cd2
 Author: William Hubbs 
 Commit: William Hubbs 



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-11-07 Thread William Hubbs
commit: 1936d73eb1aecf31029d53e75e6bb14e307f8e1c
Author: William Hubbs  gmail  com>
AuthorDate: Mon Oct 30 23:21:39 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Oct 30 23:23:11 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=1936d73e

fix issue with --reexec call

 src/rc/supervise-daemon.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index 3989cbc7..f3f51ff0 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -162,7 +162,8 @@ static void cleanup(void)
 static void re_exec(void)
 {
syslog(LOG_WARNING, "Re-executing for %s", svcname);
-   execlp("supervise-daemon", "supervise-daemon", "--reexec", (char *) 
NULL);
+   execlp("supervise-daemon", "supervise-daemon", svcname, "--reexec",
+   (char *) NULL);
syslog(LOG_ERR, "Unable to execute supervise-daemon: %s",
strerror(errno));
exit(EXIT_FAILURE);



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-07 Thread William Hubbs
commit: b66c86c9ee6d34d0a9d77140b8e7612709ba19d1
Author: William Hubbs  gmail  com>
AuthorDate: Tue Nov  7 21:37:43 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Tue Nov  7 21:37:43 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=b66c86c9

version 0.34.6

 Makefile.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index 66475805..8fc131d3 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -1,3 +1,3 @@
 NAME=  openrc
-VERSION=   0.34.5
+VERSION=   0.34.6
 PKG=   ${NAME}-${VERSION}



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-11-07 Thread William Hubbs
commit: 58872fc090af5047547bc561a5e58c50be0fc235
Author: William Hubbs  gmail  com>
AuthorDate: Mon Oct 30 23:23:00 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Mon Oct 30 23:23:00 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=58872fc0

version 0.34.5

 Makefile.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index 842bf12f..66475805 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -1,3 +1,3 @@
 NAME=  openrc
-VERSION=   0.34.4
+VERSION=   0.34.5
 PKG=   ${NAME}-${VERSION}



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-10-27 Thread William Hubbs
commit: bcfcf50562a081088248f693dfab62d3eab04efa
Author: William Hubbs  gmail  com>
AuthorDate: Fri Oct 27 15:46:46 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Fri Oct 27 15:46:46 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=bcfcf505

version 0.34.4

 Makefile.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index 05bf8260..842bf12f 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -1,3 +1,3 @@
 NAME=  openrc
-VERSION=   0.34.3
+VERSION=   0.34.4
 PKG=   ${NAME}-${VERSION}



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-10-27 Thread William Hubbs
commit: 93e159ae8541b82fd5e1843f60dce135e2eb5517
Author: William Hubbs  gmail  com>
AuthorDate: Fri Oct 27 20:32:26 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Fri Oct 27 20:32:26 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=93e159ae

log as supervise-daemon not the service

 src/rc/supervise-daemon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index 3c3d7c7e..bf27ad18 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -561,7 +561,7 @@ int main(int argc, char **argv)
applet = basename_c(argv[0]);
atexit(cleanup);
svcname = getenv("RC_SVCNAME");
-   openlog(svcname, LOG_PID, LOG_DAEMON);
+   openlog(applet, LOG_PID, LOG_DAEMON);
 
if ((tmp = getenv("SSD_NICELEVEL")))
if (sscanf(tmp, "%d", ) != 1)



[gentoo-commits] proj/openrc:0.34.x commit in: sh/, src/rc/

2017-10-27 Thread William Hubbs
commit: b18be3f970eba04589977438faaa726b5c3a6cd2
Author: William Hubbs  gmail  com>
AuthorDate: Sat Oct 28 00:22:09 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Sat Oct 28 00:25:40 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=b18be3f9

supervise-daemon: use RC_SVCNAME as the first argument to the daemon

This makes ps show which service the supervisor is monitoring.

 sh/supervise-daemon.sh|  4 ++--
 src/rc/supervise-daemon.c | 24 
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/sh/supervise-daemon.sh b/sh/supervise-daemon.sh
index e5d8d461..f6e599d5 100644
--- a/sh/supervise-daemon.sh
+++ b/sh/supervise-daemon.sh
@@ -22,7 +22,7 @@ supervise_start()
# The eval call is necessary for cases like:
# command_args="this \"is a\" test"
# to work properly.
-   eval supervise-daemon --start \
+   eval supervise-daemon "${RC_SVCNAME}" --start \
${retry:+--retry} $retry \
${chroot:+--chroot} $chroot \
${pidfile:+--pidfile} $pidfile \
@@ -49,7 +49,7 @@ supervise_stop()
pidfile="${startpidfile:-$pidfile}"
[ -n "$pidfile" ] || return 0
ebegin "Stopping ${name:-$RC_SVCNAME}"
-   supervise-daemon --stop \
+   supervise-daemon "${RC_SVCNAME}" --stop \
${pidfile:+--pidfile} $chroot$pidfile \
${stopsig:+--signal} $stopsig
 

diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index 1d0c3407..3989cbc7 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -561,8 +561,13 @@ int main(int argc, char **argv)
applet = basename_c(argv[0]);
atexit(cleanup);
svcname = getenv("RC_SVCNAME");
+   if (!svcname)
+   eerrorx("%s: The RC_SVCNAME environment variable is not set", 
applet);
openlog(applet, LOG_PID, LOG_DAEMON);
 
+   if (argc >= 1 && svcname && strcmp(argv[1], svcname))
+   eerrorx("%s: the first argument must be %s", applet, svcname);
+
if ((tmp = getenv("SSD_NICELEVEL")))
if (sscanf(tmp, "%d", ) != 1)
eerror("%s: invalid nice level `%s' (SSD_NICELEVEL)",
@@ -583,6 +588,17 @@ int main(int argc, char **argv)
}
}
 
+   *cmdline = '\0';
+   c = argv;
+   while (c && *c) {
+   strcat(cmdline, *c);
+   strcat(cmdline, " ");
+   c++;
+   }
+   if (svcname) {
+   argc--;
+   argv++;
+   }
while ((opt = getopt_long(argc, argv, getoptstring, longopts,
(int *) 0)) != -1)
switch (opt) {
@@ -721,14 +737,6 @@ int main(int argc, char **argv)
 
if (!pidfile && !reexec)
eerrorx("%s: --pidfile must be specified", applet);
-
-   *cmdline = '\0';
-   c = argv;
-   while (c && *c) {
-   strcat(cmdline, *c);
-   strcat(cmdline, " ");
-   c++;
-   }
endpwent();
argc -= optind;
argv += optind;



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-10-27 Thread William Hubbs
commit: fc35eb90cab625966ca718a80dd0d38dfffe05b8
Author: William Hubbs  gmail  com>
AuthorDate: Sat Oct 28 00:28:31 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Sat Oct 28 00:28:31 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=fc35eb90

Update ChangeLog

 ChangeLog | 32 
 1 file changed, 32 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index b9fb8b78..f0434048 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,35 @@
+commit b18be3f970eba04589977438faaa726b5c3a6cd2
+Author: William Hubbs 
+Commit: William Hubbs 
+
+supervise-daemon: use RC_SVCNAME as the first argument to the daemon
+
+This makes ps show which service the supervisor is monitoring.
+
+commit 027438f7759dbbc19ac1bedeff3f502c891e4d4e
+Author: William Hubbs 
+Commit: William Hubbs 
+
+supervise-daemon: fix logging for reexec and the child command line
+
+commit 93e159ae8541b82fd5e1843f60dce135e2eb5517
+Author: William Hubbs 
+Commit: William Hubbs 
+
+log as supervise-daemon not the service
+
+commit bcfcf50562a081088248f693dfab62d3eab04efa
+Author: William Hubbs 
+Commit: William Hubbs 
+
+version 0.34.4
+
+commit d0097cc10f8701de1b6a5665c54abf909e897233
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit eecf868e3c4a763b08cd4b3803f4839e8e710413
 Author: William Hubbs 
 Commit: William Hubbs 



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-10-27 Thread William Hubbs
commit: 027438f7759dbbc19ac1bedeff3f502c891e4d4e
Author: William Hubbs  gmail  com>
AuthorDate: Fri Oct 27 22:34:29 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Fri Oct 27 22:36:56 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=027438f7

supervise-daemon: fix logging for reexec and the child command line

 src/rc/supervise-daemon.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index bf27ad18..1d0c3407 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -161,7 +161,7 @@ static void cleanup(void)
 
 static void re_exec(void)
 {
-   syslog(LOG_WARNING, "Re-executing supervise-daemon");
+   syslog(LOG_WARNING, "Re-executing for %s", svcname);
execlp("supervise-daemon", "supervise-daemon", "--reexec", (char *) 
NULL);
syslog(LOG_ERR, "Unable to execute supervise-daemon: %s",
strerror(errno));
@@ -402,7 +402,7 @@ static void child_process(char *exec, char **argv)
strcat(cmdline, " ");
c++;
}
-   syslog(LOG_INFO, "Running command line: %s", cmdline);
+   syslog(LOG_INFO, "Child command line: %s", cmdline);
execvp(exec, argv);
 
 #ifdef HAVE_PAM



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-10-26 Thread William Hubbs
commit: eecf868e3c4a763b08cd4b3803f4839e8e710413
Author: William Hubbs  gmail  com>
AuthorDate: Thu Oct 26 19:15:40 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 19:15:40 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=eecf868e

supervise-daemon: clarify a log message

 src/rc/supervise-daemon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index abb4a59e..3c3d7c7e 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -826,7 +826,7 @@ int main(int argc, char **argv)
parse_schedule(applet, NULL, sig);
 
einfov("Detaching to start `%s'", exec);
-   syslog(LOG_INFO, "Running command line: %s", cmdline);
+   syslog(LOG_INFO, "Supervisor command line: %s", cmdline);
 
/* Remove existing pidfile */
if (pidfile)



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-10-26 Thread William Hubbs
commit: d0097cc10f8701de1b6a5665c54abf909e897233
Author: William Hubbs  gmail  com>
AuthorDate: Thu Oct 26 19:16:36 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 19:16:36 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=d0097cc1

Update ChangeLog

 ChangeLog | 12 
 1 file changed, 12 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 4749750a..b9fb8b78 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+commit eecf868e3c4a763b08cd4b3803f4839e8e710413
+Author: William Hubbs 
+Commit: William Hubbs 
+
+supervise-daemon: clarify a log message
+
+commit a5cd486a7fbb5acf8e8f3085500fd86c23dd8641
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit 6e6b4ac5fa935eb8052d293f2b8378e0395572e1
 Author: William Hubbs 
 Commit: William Hubbs 



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-10-26 Thread William Hubbs
commit: a5cd486a7fbb5acf8e8f3085500fd86c23dd8641
Author: William Hubbs  gmail  com>
AuthorDate: Thu Oct 26 19:03:55 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 19:03:55 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=a5cd486a

Update ChangeLog

 ChangeLog | 65 +++
 1 file changed, 65 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 0cbe56be..4749750a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,68 @@
+commit 6e6b4ac5fa935eb8052d293f2b8378e0395572e1
+Author: William Hubbs 
+Commit: William Hubbs 
+
+supervise-daemon: log the command line we run to spawn the child process
+
+commit 558ff4d5fb90b751ebc2852ea907873af2c236fa
+Author: William Hubbs 
+Commit: William Hubbs 
+
+supervise-daemon: log with the service name instead of "supervise-daemon"
+
+commit 490f855aef581a720c6c0be0d8407fe6d279f9f5
+Author: William Hubbs 
+Commit: William Hubbs 
+
+implement "unsupervised" status
+
+The unsupervised status is to be used when a supervisor of a supervised
+service dies but leaves the service daemon itself running.
+
+commit d1491e201d3ad364e25a55b29ff8035775a6acac
+Author: William Hubbs 
+Commit: William Hubbs 
+
+supervise-daemon: remove child_pid from saved options during shutdown
+
+This allows us to detect when the supervisor dies unexpectedly because
+in that case child_pid will still exist.
+
+commit 3231af937590b1c00af1a459009472a371aeb04a
+Author: William Hubbs 
+Commit: William Hubbs 
+
+rc_service_value_set: remove the option if NULL is the value
+
+This allows the equivalent of "unsetting" a value for a service.
+
+commit a5758e7aeffbeb9766ba3055a3fc347f0ccd3d35
+Author: William Hubbs 
+Commit: William Hubbs 
+
+supervise-daemon.sh: fix status function with no namespaces
+
+commit 61a9393ce12fda412bdca4002ac71e7df82384df
+Author: Patrick McLean 
+Commit: William Hubbs 
+
+cgroups_cleanup: clean up shutdown signaling
+
+- do not sleep for the full 90 seconds if processes are dead
+- re-arrange the order of signals we attempt to send to the processes
+
+commit 161d22cb074ecef7003e19682d72a8ee61c14490
+Author: William Hubbs 
+Commit: William Hubbs 
+
+version 0.34.3
+
+commit 3a96ca1c966c3cc44a2e0e51b383ab47d078bcc1
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit 934530914bd507476b428d3f6572bbb1c5bbfd16
 Author: William Hubbs 
 Commit: William Hubbs 



[gentoo-commits] proj/openrc:0.34.x commit in: sh/

2017-10-26 Thread William Hubbs
commit: 61a9393ce12fda412bdca4002ac71e7df82384df
Author: Patrick McLean  gentoo  org>
AuthorDate: Thu Oct 26 02:19:15 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 18:18:16 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=61a9393c

cgroups_cleanup: clean up shutdown signaling

- do not sleep for the full 90 seconds if processes are dead
- re-arrange the order of signals we attempt to send to the processes

 sh/rc-cgroup.sh.in | 14 ++
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/sh/rc-cgroup.sh.in b/sh/rc-cgroup.sh.in
index d48957ac..5bc7db54 100644
--- a/sh/rc-cgroup.sh.in
+++ b/sh/rc-cgroup.sh.in
@@ -203,15 +203,21 @@ cgroup_cleanup()
 {
cgroup_running || return 0
ebegin "starting cgroups cleanup"
-   local pids
+   local pids loops=0
pids="$(cgroup_get_pids)"
if [ -n "${pids}" ]; then
-   kill -s "${stopsig:-TERM}" ${pids} 2> /dev/null
kill -s CONT ${pids} 2> /dev/null
+   kill -s "${stopsig:-TERM}" ${pids} 2> /dev/null
yesno "${rc_send_sighup:-no}" &&
kill -s HUP ${pids} 2> /dev/null
-   sleep "${rc_timeout_stopsec:-90}"
-   yesno "${rc_send_sigkill:-yes}" &&
+   kill -s "${stopsig:-TERM}" ${pids} 2> /dev/null
+   while [ -n "$(cgroup_get_pids)" ] &&
+   [ "${loops}" -lt "${rc_timeout_stopsec:-90}" ]; do
+   loops=$((loops+1))
+   sleep 1
+   done
+   pids="$(cgroup_get_pids)"
+   [ -n "${pids}" ] && yesno "${rc_send_sigkill:-yes}" &&
kill -s KILL ${pids} 2> /dev/null
fi
cgroup2_remove



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/, sh/

2017-10-26 Thread William Hubbs
commit: 490f855aef581a720c6c0be0d8407fe6d279f9f5
Author: William Hubbs  gmail  com>
AuthorDate: Thu Oct 26 18:11:12 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 18:18:16 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=490f855a

implement "unsupervised" status

The unsupervised status is to be used when a supervisor of a supervised
service dies but leaves the service daemon itself running.

 sh/supervise-daemon.sh | 21 +
 src/rc/rc-status.c | 11 ++-
 2 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/sh/supervise-daemon.sh b/sh/supervise-daemon.sh
index d2cfe932..e5d8d461 100644
--- a/sh/supervise-daemon.sh
+++ b/sh/supervise-daemon.sh
@@ -58,22 +58,11 @@ supervise_stop()
 
 _check_supervised()
 {
-   [ "$RC_UNAME" != Linux ] && return 0
-   local child_pid="$(service_get_value "child_pid")"
-   local pid="$(cat ${pidfile})"
-   if [ -n "${child_pid}" ]; then
-   if ! [ -e "/proc/${pid}" ] && [ -e "/proc/${child_pid}" ]; then
-   if [ -e "/proc/self/ns/pid" ] && [ -e 
"/proc/${child_pid}/ns/pid" ]; then
-   local n1 n2
-   n1=$(readlink "/proc/self/ns/pid")
-   n2=$(readlink "/proc/${child_pid}/ns/pid")
-   if [ "${n1}" = "${n2}" ]; then
-   return 1
-   fi
-   else
-   return 1
-   fi
-   fi
+   local child_pid start_time
+   child_pid="$(service_get_value "child_pid")"
+   start_time="$(service_get_value "start_time")"
+   if [ -n "${child_pid}" ] && [ -n "${start_time}" ]; then
+   return 1
fi
return 0
 }

diff --git a/src/rc/rc-status.c b/src/rc/rc-status.c
index 9a094d47..d29f876a 100644
--- a/src/rc/rc-status.c
+++ b/src/rc/rc-status.c
@@ -128,6 +128,8 @@ print_service(const char *service)
 {
char status[60];
char uptime [40];
+   char *child_pid = NULL;
+   char *start_time = NULL;
int cols =  printf(" %s", service);
const char *c = ecolor(ECOLOR_GOOD);
RC_SERVICE state = rc_service_state(service);
@@ -147,7 +149,14 @@ print_service(const char *service)
rc_service_daemons_crashed(service) &&
errno != EACCES)
{
-   snprintf(status, sizeof(status), " crashed ");
+   child_pid = rc_service_value_get(service, "child_pid");
+   start_time = rc_service_value_get(service, 
"start_time");
+   if (start_time && child_pid)
+   snprintf(status, sizeof(status), " unsupervised 
");
+   else
+   snprintf(status, sizeof(status), " crashed ");
+   free(child_pid);
+   free(start_time);
} else {
get_uptime(service, uptime, 40);
snprintf(status, sizeof(status), " started %s", uptime);



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-10-26 Thread William Hubbs
commit: 6e6b4ac5fa935eb8052d293f2b8378e0395572e1
Author: William Hubbs  gmail  com>
AuthorDate: Thu Oct 26 18:57:04 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 19:01:07 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=6e6b4ac5

supervise-daemon: log the command line we run to spawn the child process

 src/rc/supervise-daemon.c | 9 +
 1 file changed, 9 insertions(+)

diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index 6c3c55bf..abb4a59e 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -556,6 +556,7 @@ int main(int argc, char **argv)
int child_argc = 0;
char **child_argv = NULL;
char *str = NULL;
+   char cmdline[PATH_MAX];
 
applet = basename_c(argv[0]);
atexit(cleanup);
@@ -721,6 +722,13 @@ int main(int argc, char **argv)
if (!pidfile && !reexec)
eerrorx("%s: --pidfile must be specified", applet);
 
+   *cmdline = '\0';
+   c = argv;
+   while (c && *c) {
+   strcat(cmdline, *c);
+   strcat(cmdline, " ");
+   c++;
+   }
endpwent();
argc -= optind;
argv += optind;
@@ -818,6 +826,7 @@ int main(int argc, char **argv)
parse_schedule(applet, NULL, sig);
 
einfov("Detaching to start `%s'", exec);
+   syslog(LOG_INFO, "Running command line: %s", cmdline);
 
/* Remove existing pidfile */
if (pidfile)



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-10-26 Thread William Hubbs
commit: d1491e201d3ad364e25a55b29ff8035775a6acac
Author: William Hubbs  gmail  com>
AuthorDate: Thu Oct 26 17:58:59 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 18:18:16 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=d1491e20

supervise-daemon: remove child_pid from saved options during shutdown

This allows us to detect when the supervisor dies unexpectedly because
in that case child_pid will still exist.

 src/rc/supervise-daemon.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index 998a01bc..b232e215 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -523,6 +523,7 @@ static void supervisor(char *exec, char **argv)
rc_service_daemon_set(svcname, exec, (const char *const *)argv,
pidfile, false);
rc_service_mark(svcname, RC_SERVICE_STOPPED);
+   rc_service_value_set(svcname, "child_pid", NULL);
}
exit(EXIT_SUCCESS);
 }



[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/

2017-10-26 Thread William Hubbs
commit: 558ff4d5fb90b751ebc2852ea907873af2c236fa
Author: William Hubbs  gmail  com>
AuthorDate: Thu Oct 26 18:36:41 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 19:01:07 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=558ff4d5

supervise-daemon: log with the service name instead of "supervise-daemon"

 src/rc/supervise-daemon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index b232e215..6c3c55bf 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -420,7 +420,6 @@ static void supervisor(char *exec, char **argv)
time_t respawn_now= 0;
time_t first_spawn= 0;
 
-   openlog(applet, LOG_PID, LOG_DAEMON);
 #ifndef RC_DEBUG
signal_setup_restart(SIGHUP, handle_signal);
signal_setup_restart(SIGINT, handle_signal);
@@ -561,6 +560,7 @@ int main(int argc, char **argv)
applet = basename_c(argv[0]);
atexit(cleanup);
svcname = getenv("RC_SVCNAME");
+   openlog(svcname, LOG_PID, LOG_DAEMON);
 
if ((tmp = getenv("SSD_NICELEVEL")))
if (sscanf(tmp, "%d", ) != 1)



[gentoo-commits] proj/openrc:0.34.x commit in: src/librc/

2017-10-26 Thread William Hubbs
commit: 3231af937590b1c00af1a459009472a371aeb04a
Author: William Hubbs  gmail  com>
AuthorDate: Thu Oct 26 17:54:37 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 18:18:16 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=3231af93

rc_service_value_set: remove the option if NULL is the value

This allows the equivalent of "unsetting" a value for a service.

 src/librc/librc.c | 13 -
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/librc/librc.c b/src/librc/librc.c
index 84c76b5a..ee65b00a 100644
--- a/src/librc/librc.c
+++ b/src/librc/librc.c
@@ -894,12 +894,15 @@ rc_service_value_set(const char *service, const char 
*option,
return false;
 
snprintf(p, sizeof(file) - (p - file), "/%s", option);
-   if (!(fp = fopen(file, "w")))
-   return false;
-   if (value)
+   if (value) {
+   if (!(fp = fopen(file, "w")))
+   return false;
fprintf(fp, "%s", value);
-   fclose(fp);
-   return true;
+   fclose(fp);
+   } else {
+   unlink(file);
+   }
+   return true;
 }
 librc_hidden_def(rc_service_value_set)
 



[gentoo-commits] proj/openrc:0.34.x commit in: sh/

2017-10-26 Thread William Hubbs
commit: a5758e7aeffbeb9766ba3055a3fc347f0ccd3d35
Author: William Hubbs  gmail  com>
AuthorDate: Thu Oct 26 02:20:15 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 18:18:16 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=a5758e7a

supervise-daemon.sh: fix status function with no namespaces

 sh/supervise-daemon.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sh/supervise-daemon.sh b/sh/supervise-daemon.sh
index bccfd06a..d2cfe932 100644
--- a/sh/supervise-daemon.sh
+++ b/sh/supervise-daemon.sh
@@ -70,6 +70,8 @@ _check_supervised()
if [ "${n1}" = "${n2}" ]; then
return 1
fi
+   else
+   return 1
fi
fi
fi



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-10-26 Thread William Hubbs
commit: 161d22cb074ecef7003e19682d72a8ee61c14490
Author: William Hubbs  gmail  com>
AuthorDate: Thu Oct 26 18:17:54 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Thu Oct 26 18:17:54 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=161d22cb

version 0.34.3

 Makefile.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.inc b/Makefile.inc
index 041daef0..05bf8260 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -1,3 +1,3 @@
 NAME=  openrc
-VERSION=   0.34.2
+VERSION=   0.34.3
 PKG=   ${NAME}-${VERSION}



[gentoo-commits] proj/openrc:0.34.x commit in: /

2017-10-25 Thread William Hubbs
commit: 3a96ca1c966c3cc44a2e0e51b383ab47d078bcc1
Author: William Hubbs  gmail  com>
AuthorDate: Wed Oct 25 20:15:53 2017 +
Commit: William Hubbs  gentoo  org>
CommitDate: Wed Oct 25 20:15:53 2017 +
URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=3a96ca1c

Update ChangeLog

 ChangeLog | 39 ---
 1 file changed, 24 insertions(+), 15 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ea893f4d..0cbe56be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+commit 934530914bd507476b428d3f6572bbb1c5bbfd16
+Author: William Hubbs 
+Commit: William Hubbs 
+
+add "unsupervised" status and return code 64 to supervise-daemon status 
function
+
+This is to be used if the service is being supervised and the
+supervisor is somehow killed.
+
+Currently, this is very linux specific, but I will expand to other
+platforms, patches are welcome.
+
+commit b717625cd27950c3f00b5345bc1cee9700e79498
+Author: William Hubbs 
+Commit: William Hubbs 
+
+version 0.34.2
+
+commit b47539613431521e5e99bc388e6a9d8eb0e48801
+Author: William Hubbs 
+Commit: William Hubbs 
+
+Update ChangeLog
+
 commit e7b1d898ca7896d6443ba1e5167eb6bcf3f92929
 Author: William Hubbs 
 Commit: William Hubbs 
@@ -1469,18 +1493,3 @@ Author: William Hubbs 
 Commit: William Hubbs 
 
 src/rc/rc: do not try to start services if fork fails
-
-commit 003657c973ea338a19f2b7294190af9d76cf5cea
-Author: Robin H. Johnson 
-Commit: William Hubbs 
-
-init.d/loopback: drop scope on loopback
-
-Busybox does not support the 'scope' argument on 'ip address add' or 'ip
-route add', this is documented in BUSYBOX.md, but is no longer actually
-needed, as the kernel does get it right without manual specification,
-and the ifconfig variant already relies on the kernel to get it right.
-This is part of #103.
-
-X-Gentoo-Bug: 487208
-X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=487208