start-stop-daemon: update to 20200811, sync with upstream

This commit is contained in:
Steffen Nurpmeso 2020-08-11 15:49:50 +00:00 committed by Juergen Daubert
parent 295c95f491
commit 361139d84e
4 changed files with 50 additions and 32 deletions

View File

@ -1,8 +1,8 @@
untrusted comment: verify with /etc/ports/core.pub
RWRJc1FUaeVeqojKcxHezTRN2pg696qEuLdrzcK6jg+RHdOphMR4SD6iO2YLgU+yDev3JJ75i6gfJwDGR6XtCmDUm2s4CMqBiQ0=
SHA256 (Pkgfile) = d797de1ea9510f18a9e967d0327773de95b0ca79833c5f1bfb35f0b46786c20f
RWRJc1FUaeVeqtzIP5R7BRVnVyT9uoMyWkuSFh2vdov+LPYO9KSxLhQHpmcK+9iXsCBkqyJP9SfsG936QWlEj3XT9JGve77O+Qc=
SHA256 (Pkgfile) = d512505d65536c5810b0339c88617b37626363be627a41c35775abb788911db8
SHA256 (.footprint) = a24924dba386364cd2326ad6abefd3be01927f37f8f2175b3f56845fc88bfb79
SHA256 (start-stop-daemon.c) = 1edfa71d4b8d579d5db72edaa803ef1854d7e3dd9b58ac000df6bc6c4e7c6320
SHA256 (start-stop-daemon.c) = 880baaaf05be96a9b1c56cd9e41dbce0624f059209535569a6a3ae9dcb91a1e2
SHA256 (start-stop-daemon.8) = 6920da66e820b7d210514660756b566f4a36c791178ed26e67fbdaf7315408fa
SHA256 (crux-patch.diff) = d5fd19777861182f00d0471ce2122c603bb2ebdf014a4f1b422878883c53dd49
SHA256 (crux-patch.diff) = 1a02209ee0683cd789577417dbeb3299a5cd72a908af5bd5b3ec743c0629dcc2
SHA256 (makefile) = 7ce6e34d7473e965a55ccabf195468cf53f0c49a6d344bc41cd545b2ff8a5485

View File

@ -3,12 +3,12 @@
# Maintainer: CRUX System Team, core-ports at crux dot nu
name=start-stop-daemon
version=20190310
release=2
version=20200811
release=1
source=(start-stop-daemon.c start-stop-daemon.8 crux-patch.diff makefile)
build () {
patch -p0 -i crux-patch.diff
patch -p1 -i crux-patch.diff
make
install -d $PKG/{sbin,usr/share/man/man8}
install -m 755 $name $PKG/sbin/

View File

@ -1,15 +1,17 @@
--- start-stop-daemon.8.orig 2020-08-11 09:18:30.855173650 +0000
+++ start-stop-daemon.8 2020-08-11 09:18:59.687682548 +0000
diff --git a/start-stop-daemon.8 b/start-stop-daemon.8
index 2a083f3..bbeb0f6 100644
--- a/start-stop-daemon.8
+++ b/start-stop-daemon.8
@@ -20,7 +20,7 @@
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see <https://www.gnu.org/licenses/>.
.
-.TH start\-stop\-daemon 8 "%RELEASE_DATE%" "%VERSION%" "dpkg suite"
+.TH start\-stop\-daemon 8 "2019-03-10" "CRUX 3.5" "dpkg suite"
+.TH start\-stop\-daemon 8 "2020-08-11" "CRUX 3.6" "dpkg suite"
.nh
.SH NAME
start\-stop\-daemon \- start and stop system daemon programs
@@ -269,33 +269,6 @@
@@ -269,33 +269,6 @@ reason. This is a last resort, and is only meant for programs that either
make no sense forking on their own, or where it's not feasible to add the
code for them to do this themselves.
.TP
@ -43,8 +45,10 @@
.BR \-C ", " \-\-no\-close
Do not close any file descriptor when forcing the daemon into the background
(since version 1.16.5).
--- start-stop-daemon.c.orig 2020-08-11 09:18:38.031635113 +0000
+++ start-stop-daemon.c 2020-08-11 09:20:15.932117049 +0000
diff --git a/start-stop-daemon.c b/start-stop-daemon.c
index 3947cc0..1e0e163 100644
--- a/start-stop-daemon.c
+++ b/start-stop-daemon.c
@@ -20,10 +20,36 @@
* Changes by Ian Jackson: added --retry (and associated rearrangements).
*/
@ -55,7 +59,7 @@
#include <dpkg/macros.h>
+#else
+# define VERSION "20190310"
+# define VERSION "20200811"
+# define CRUX "CRUX-Linux"
+
+# define WANT_SYSTEMD_NOTIFY 0 /* 1=yes */
@ -93,7 +97,7 @@
#define IOPRIO_CLASS_SHIFT 13
#define IOPRIO_PRIO_VALUE(class, prio) (((class) << IOPRIO_CLASS_SHIFT) | (prio))
#define IO_SCHED_PRIO_MIN 0
@@ -212,10 +242,12 @@
@@ -212,10 +242,12 @@ static int quietmode = 0;
static int exitnodo = 1;
static bool background = false;
static bool close_io = true;
@ -106,7 +110,7 @@
static bool mpidfile = false;
static bool rpidfile = false;
static int signal_nr = SIGTERM;
@@ -405,8 +437,7 @@
@@ -405,8 +437,7 @@ xstrndup(const char *str, size_t n)
static void
timespec_gettime(struct timespec *ts)
{
@ -116,7 +120,7 @@
if (clock_gettime(CLOCK_MONOTONIC, ts) < 0)
fatale("clock_gettime failed");
#else
@@ -548,6 +579,7 @@
@@ -548,6 +579,7 @@ wait_for_child(pid_t pid)
}
}
@ -124,7 +128,7 @@
static void
cleanup_socket_dir(void)
{
@@ -737,6 +769,7 @@
@@ -737,6 +769,7 @@ wait_for_notify(int fd)
}
}
}
@ -132,7 +136,7 @@
static void
write_pidfile(const char *filename, pid_t pid)
@@ -769,7 +802,9 @@
@@ -769,7 +802,9 @@ remove_pidfile(const char *filename)
static void
daemonize(void)
{
@ -142,7 +146,7 @@
pid_t pid;
sigset_t mask;
sigset_t oldmask;
@@ -783,8 +818,10 @@
@@ -783,8 +818,10 @@ daemonize(void)
if (sigprocmask(SIG_BLOCK, &mask, &oldmask) == -1)
fatale("cannot block SIGCHLD");
@ -153,7 +157,7 @@
pid = fork();
if (pid < 0)
@@ -795,6 +832,7 @@
@@ -795,6 +832,7 @@ daemonize(void)
* not suffer from race conditions on return. */
wait_for_child(pid);
@ -161,7 +165,7 @@
if (notify_await) {
/* Wait for a readiness notification from the second
* child, so that we can safely exit when the service
@@ -803,6 +841,7 @@
@@ -803,13 +841,16 @@ daemonize(void)
close(notify_fd);
cleanup_socket_dir();
}
@ -169,7 +173,16 @@
_exit(0);
}
@@ -901,8 +940,10 @@
/* Close the notification socket, even though it is close-on-exec. */
+#if WANT_SYSTEMD_NOTIFY
if (notify_await)
close(notify_fd);
+#endif
/* Create a new session. */
if (setsid() < 0)
@@ -905,8 +946,10 @@ usage(void)
" scheduler (default prio is 4)\n"
" -k, --umask <mask> change the umask to <mask> before starting\n"
" -b, --background force the process to detach\n"
@ -180,7 +193,7 @@
" -C, --no-close do not close any file descriptor\n"
" -m, --make-pidfile create the pidfile before starting\n"
" --remove-pidfile delete the pidfile after stopping\n"
@@ -947,9 +988,9 @@
@@ -951,9 +994,9 @@ usage(void)
static void
do_version(void)
{
@ -193,7 +206,7 @@
}
static void DPKG_ATTR_NORET
@@ -1274,8 +1315,10 @@
@@ -1278,8 +1321,10 @@ parse_options(int argc, char * const *argv)
{ "iosched", 1, NULL, 'I'},
{ "umask", 1, NULL, 'k'},
{ "background", 0, NULL, 'b'},
@ -204,7 +217,7 @@
{ "no-close", 0, NULL, 'C'},
{ "make-pidfile", 0, NULL, 'm'},
{ "remove-pidfile", 0, NULL, OPT_RM_PIDFILE},
@@ -1290,7 +1333,9 @@
@@ -1294,7 +1339,9 @@ parse_options(int argc, char * const *argv)
const char *schedule_str = NULL;
const char *proc_schedule_str = NULL;
const char *io_schedule_str = NULL;
@ -214,7 +227,7 @@
size_t changeuser_len;
int c;
@@ -1390,12 +1435,14 @@
@@ -1395,12 +1442,14 @@ parse_options(int argc, char * const *argv)
case 'b': /* --background */
background = true;
break;
@ -229,7 +242,7 @@
case 'C': /* --no-close */
close_io = false;
break;
@@ -1448,9 +1495,11 @@
@@ -1453,9 +1502,11 @@ parse_options(int argc, char * const *argv)
badusage("umask value must be a positive number");
}
@ -241,7 +254,7 @@
if (action == ACTION_NONE)
badusage("need one of --start or --stop or --status");
@@ -2298,7 +2347,8 @@
@@ -2303,7 +2354,8 @@ do_pidfile(const char *name)
if (match_mode == MATCH_PIDFILE &&
((st.st_uid != getuid() && st.st_uid != 0) ||

View File

@ -551,8 +551,8 @@ wait_for_child(pid_t pid)
static void
cleanup_socket_dir(void)
{
unlink(notify_socket);
rmdir(notify_sockdir);
(void)unlink(notify_socket);
(void)rmdir(notify_sockdir);
}
static char *
@ -593,7 +593,7 @@ set_socket_passcred(int fd)
#ifdef SO_PASSCRED
static const int enable = 1;
setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable));
(void)setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable));
#endif
}
@ -807,6 +807,10 @@ daemonize(void)
_exit(0);
}
/* Close the notification socket, even though it is close-on-exec. */
if (notify_await)
close(notify_fd);
/* Create a new session. */
if (setsid() < 0)
fatale("cannot set session ID");
@ -1359,6 +1363,7 @@ parse_options(int argc, char * const *argv)
execname = optarg;
break;
case 'c': /* --chuid <username>|<uid> */
free(changeuser);
/* We copy the string just in case we need the
* argument later. */
changeuser_len = strcspn(optarg, ":");