[pkg-java] r13088 - in trunk/commons-daemon/debian: . patches
Damien Raude-Morvan
drazzib at alioth.debian.org
Sun Nov 21 19:08:27 UTC 2010
Author: drazzib
Date: 2010-11-21 19:08:26 +0000 (Sun, 21 Nov 2010)
New Revision: 13088
Removed:
trunk/commons-daemon/debian/patches/jsvc_reopen_usr1.diff
trunk/commons-daemon/debian/patches/syslog.diff
Modified:
trunk/commons-daemon/debian/changelog
trunk/commons-daemon/debian/patches/hurd_support.diff
trunk/commons-daemon/debian/patches/libgcj_PR31700.diff
trunk/commons-daemon/debian/patches/series
Log:
* New upstream release.
- d/patches/syslog.diff: merged upstream.
- d/patches/jsvc_reopen_usr1.diff: merged upstream.
- d/patches/hurd_support.diff: use "gnu" instead of "hurd".
Modified: trunk/commons-daemon/debian/changelog
===================================================================
--- trunk/commons-daemon/debian/changelog 2010-11-21 18:48:30 UTC (rev 13087)
+++ trunk/commons-daemon/debian/changelog 2010-11-21 19:08:26 UTC (rev 13088)
@@ -1,5 +1,14 @@
-commons-daemon (1.0.3-2) unstable; urgency=low
+commons-daemon (1.0.4-1) unstable; urgency=low
+ * New upstream release.
+ - d/patches/syslog.diff: merged upstream.
+ - d/patches/jsvc_reopen_usr1.diff: merged upstream.
+ - d/patches/hurd_support.diff: use "gnu" instead of "hurd".
+
+ -- Damien Raude-Morvan <drazzib at debian.org> Sun, 21 Nov 2010 18:05:41 +0100
+
+commons-daemon (1.0.3-2) UNRELEASED; urgency=low
+
* d/patches/jsvc_reopen_usr1.diff:
Make jsvc reopen log files on SIGUSR1 (Closes: #460183).
Modified: trunk/commons-daemon/debian/patches/hurd_support.diff
===================================================================
--- trunk/commons-daemon/debian/patches/hurd_support.diff 2010-11-21 18:48:30 UTC (rev 13087)
+++ trunk/commons-daemon/debian/patches/hurd_support.diff 2010-11-21 19:08:26 UTC (rev 13088)
@@ -7,8 +7,8 @@
supported_os="kfreebsd-gnu"
LIBS="$LIBS -ldl -lpthread"
;;
-+ hurd*)
-+ CFLAGS="$CFLAGS -pthread"
++ gnu*)
++ CFLAGS="$CFLAGS -DOS_HURD -DDSO_DLFCN -pthread "
+ supported_os="hurd-gnu"
+ LIBS="$LIBS -ldl -lpthread"
+ ;;
Deleted: trunk/commons-daemon/debian/patches/jsvc_reopen_usr1.diff
===================================================================
--- trunk/commons-daemon/debian/patches/jsvc_reopen_usr1.diff 2010-11-21 18:48:30 UTC (rev 13087)
+++ trunk/commons-daemon/debian/patches/jsvc_reopen_usr1.diff 2010-11-21 19:08:26 UTC (rev 13088)
@@ -1,70 +0,0 @@
-Description: make jsvc reopen log files on SIGUSR1
- Used to handle logrotate.
-Bug: http://bugs.debian.org/460183
-Author: Damien Raude-Morvan <drazzib at debian.org>
-Last-Update: 2010-08-31
-Forwared: yes, https://issues.apache.org/jira/browse/DAEMON-95
-
---- a/src/native/unix/native/jsvc-unix.c
-+++ b/src/native/unix/native/jsvc-unix.c
-@@ -54,10 +54,14 @@
- pid_t logger_pid=0; /* the logger process pid */
- static bool stopping = false;
- static bool doreload = false;
-+static bool doreopen = false;
- static void (*handler_int) (int) = NULL;
-+static void (*handler_usr1) (int) = NULL;
- static void (*handler_hup) (int) = NULL;
- static void (*handler_trm) (int) = NULL;
-
-+static void set_output(char *outfile, char *errfile, bool redirectstdin,
-+ char *procname);
- static int run_controller(arg_data *args, home_data *data, uid_t uid,
- gid_t gid);
-
-@@ -119,6 +123,10 @@
- doreload = true;
- }
- break;
-+ case SIGUSR1:
-+ log_debug("Caught SIGUSR1: Reopening logs");
-+ doreopen = true;
-+ break;
- default:
- log_debug("Caught unknown signal %d", sig);
- break;
-@@ -359,6 +367,7 @@
- case SIGTERM:
- case SIGINT:
- case SIGHUP:
-+ case SIGUSR1:
- log_debug("Forwarding signal %d to process %d", sig, controlled);
- kill(controlled, sig);
- signal(sig, controller);
-@@ -693,6 +702,7 @@
-
- /* Install signal handlers */
- handler_hup = signal_set(SIGHUP, handler);
-+ handler_usr1 = signal_set(SIGUSR1, handler);
- handler_trm = signal_set(SIGTERM, handler);
- handler_int = signal_set(SIGINT, handler);
- controlled = getpid();
-@@ -707,6 +717,10 @@
- /* pause() is not threadsafe */
- sleep(60);
- #endif
-+ if(doreopen) {
-+ doreopen = false;
-+ set_output(args->outfile, args->errfile, args->redirectstdin, args->procname);
-+ }
- }
- remove_tmp_file(args);
- log_debug("Shutdown or reload requested: exiting");
-@@ -1028,6 +1042,7 @@
- SetTerm(cygwincontroller);
- #endif
- signal(SIGHUP, controller);
-+ signal(SIGUSR1, controller);
- signal(SIGTERM, controller);
- signal(SIGINT, controller);
-
Modified: trunk/commons-daemon/debian/patches/libgcj_PR31700.diff
===================================================================
--- trunk/commons-daemon/debian/patches/libgcj_PR31700.diff 2010-11-21 18:48:30 UTC (rev 13087)
+++ trunk/commons-daemon/debian/patches/libgcj_PR31700.diff 2010-11-21 19:08:26 UTC (rev 13088)
@@ -4,12 +4,12 @@
Last-Update: 2010-07-28
--- a/src/native/unix/native/java.c
+++ b/src/native/unix/native/java.c
-@@ -224,7 +224,7 @@
+@@ -227,7 +227,7 @@
return false;
}
#endif
- arg.ignoreUnrecognized = FALSE;
+ arg.ignoreUnrecognized = JNI_TRUE;
- arg.nOptions = args->onum;
- arg.nOptions++; /* Add abort code */
+ arg.nOptions = args->onum + 4; /* pid, ppid and abort */
opt = (JavaVMOption *) malloc(arg.nOptions * sizeof(JavaVMOption));
+ for (x = 0; x < args->onum; x++) {
Modified: trunk/commons-daemon/debian/patches/series
===================================================================
--- trunk/commons-daemon/debian/patches/series 2010-11-21 18:48:30 UTC (rev 13087)
+++ trunk/commons-daemon/debian/patches/series 2010-11-21 19:08:26 UTC (rev 13088)
@@ -5,5 +5,3 @@
hppa_support.diff
arm_support.diff
hurd_support.diff
-syslog.diff
-jsvc_reopen_usr1.diff
Deleted: trunk/commons-daemon/debian/patches/syslog.diff
===================================================================
--- trunk/commons-daemon/debian/patches/syslog.diff 2010-11-21 18:48:30 UTC (rev 13087)
+++ trunk/commons-daemon/debian/patches/syslog.diff 2010-11-21 19:08:26 UTC (rev 13088)
@@ -1,313 +0,0 @@
-Description: support for redirecting stdout to syslog
- Unclutter debug and error output by not
- including timestamp and PID. This is superfluous for syslog logging, and
- can be readily added by an external filter otherwise.
- Document SYSLOG usage
-Bug: http://bugs.debian.org/402878
-Author: Marcus Better <marcus at better.se>
-Last-Update: 2010-07-28
-Forwared: yes, https://issues.apache.org/jira/browse/DAEMON-80
---- a/src/native/unix/native/debug.c
-+++ b/src/native/unix/native/debug.c
-@@ -23,6 +23,12 @@
- /* Wether debug is enabled or not */
- bool log_debug_flag = false;
-
-+/* Wether SYSLOG logging (for stderr) is enable or not. */
-+bool log_stderr_syslog_flag;
-+
-+/* Wether SYSLOG logging (for stdout) is enable or not. */
-+bool log_stdout_syslog_flag;
-+
- /* The name of the jsvc binary. */
- char *log_prog = "jsvc";
-
-@@ -39,12 +45,13 @@
- if (fmt == NULL)
- return;
-
-- now = time(NULL);
-- nowtm = localtime(&now);
-- strftime(buff, sizeof(buff), "%d/%m/%Y %T", nowtm);
--
- va_start(ap, fmt);
-- fprintf(stderr, "%s %d %s debug: ", buff, getpid(), log_prog);
-+ if (log_stderr_syslog_flag != false) {
-+ now = time(NULL);
-+ nowtm = localtime(&now);
-+ strftime(buff, sizeof(buff), "%d/%m/%Y %T", nowtm);
-+ fprintf(stderr, "%s %d %s debug: ", buff, getpid(), log_prog);
-+ }
- vfprintf(stderr, fmt, ap);
- fprintf(stderr, "\n");
- fflush(stderr);
-@@ -62,12 +69,13 @@
- if (fmt == NULL)
- return;
-
-- now = time(NULL);
-- nowtm = localtime(&now);
-- strftime(buff, sizeof(buff), "%d/%m/%Y %T", nowtm);
--
- va_start(ap, fmt);
-- fprintf(stderr, "%s %d %s error: ", buff, getpid(), log_prog);
-+ if (log_stderr_syslog_flag != false) {
-+ now = time(NULL);
-+ nowtm = localtime(&now);
-+ strftime(buff, sizeof(buff), "%d/%m/%Y %T", nowtm);
-+ fprintf(stderr, "%s %d %s error: ", buff, getpid(), log_prog);
-+ }
- vfprintf(stderr, fmt, ap);
- fprintf(stderr, "\n");
- fflush(stderr);
---- a/src/native/unix/native/jsvc-unix.c
-+++ b/src/native/unix/native/jsvc-unix.c
-@@ -24,8 +24,11 @@
- #include <sys/wait.h>
- #include <fcntl.h>
- #include <stdio.h>
-+#include <string.h>
- #include <pwd.h>
- #include <grp.h>
-+#include <syslog.h>
-+#include <errno.h>
- #ifdef OS_LINUX
- #include <sys/prctl.h>
- #include <sys/syscall.h>
-@@ -48,12 +51,16 @@
- static mode_t envmask; /* mask to create the files */
-
- pid_t controlled = 0; /* the child process pid */
-+pid_t logger_pid=0; /* the logger process pid */
- static bool stopping = false;
- static bool doreload = false;
- static void (*handler_int) (int) = NULL;
- static void (*handler_hup) (int) = NULL;
- static void (*handler_trm) (int) = NULL;
-
-+static int run_controller(arg_data *args, home_data *data, uid_t uid,
-+ gid_t gid);
-+
- #ifdef OS_CYGWIN
- /*
- * File locking routine
-@@ -741,11 +748,63 @@
- return freopen(outfile, mode, stream);
- }
-
-+#define LOGBUF_SIZE 1024
-+
-+/* Read from file descriptors. Log to syslog. */
-+static int logger_child(int out_fd, int err_fd, char *procname)
-+{
-+ fd_set rfds;
-+ struct timeval tv;
-+ int retval, n;
-+ char buf[LOGBUF_SIZE];
-+
-+ if (out_fd > err_fd) {
-+ n = out_fd + 1;
-+ } else {
-+ n = err_fd + 1;
-+ }
-+
-+ openlog(procname, LOG_PID, LOG_DAEMON);
-+
-+ while (1) {
-+ FD_ZERO(&rfds);
-+ FD_SET(out_fd, &rfds);
-+ FD_SET(err_fd, &rfds);
-+ tv.tv_sec = 60;
-+ tv.tv_usec = 0;
-+ retval = select(n, &rfds, NULL, NULL, &tv);
-+ if (retval == -1)
-+ syslog(LOG_ERR, "select: %s", strerror(errno));
-+ else if (retval) {
-+ if (FD_ISSET(out_fd, &rfds)) {
-+ ssize_t n = read(out_fd, buf, LOGBUF_SIZE-1);
-+ if (n < 0) {
-+ syslog(LOG_ERR, "read: %s", strerror(errno));
-+ } else if (n > 0 && buf[0] != '\n') {
-+ buf[n] = 0;
-+ syslog(LOG_INFO, "%s", buf);
-+ }
-+ }
-+ if (FD_ISSET(err_fd, &rfds)) {
-+ ssize_t n = read(err_fd, buf, LOGBUF_SIZE-1);
-+ if (n < 0) {
-+ syslog(LOG_ERR, "read: %s", strerror(errno));
-+ } else if (n > 0 && buf[0] != '\n') {
-+ buf[n] = 0;
-+ syslog(LOG_ERR, "%s", buf);
-+ }
-+ }
-+ }
-+ }
-+}
-+
- /**
- * Redirect stdin, stdout, stderr.
- */
--static void set_output(char *outfile, char *errfile, bool redirectstdin)
-+static void set_output(char *outfile, char *errfile, bool redirectstdin, char *procname)
- {
-+ int out_pipe[2] = {0, 0}, err_pipe[2] = {0, 0}, fork_needed = 0;
-+
- if (redirectstdin == true) {
- freopen("/dev/null", "r", stdin);
- }
-@@ -760,11 +819,31 @@
- if (strcmp(outfile, "&2") == 0 && strcmp(errfile, "&1") == 0) {
- outfile = "/dev/null";
- }
-- if (strcmp(outfile, "&2") != 0) {
-+ if (strcmp(outfile, "SYSLOG") == 0) {
-+ freopen("/dev/null", "a", stdout);
-+ /* Send stdout to syslog through a logger process */
-+ if (pipe(out_pipe) == -1) {
-+ log_error("cannot create stdout pipe: %s",
-+ strerror(errno));
-+ } else {
-+ fork_needed = 1;
-+ log_stdout_syslog_flag = true;
-+ }
-+ } else if (strcmp(outfile, "&2") != 0) {
- loc_freopen(outfile, "a", stdout);
- }
-
-- if (strcmp(errfile, "&1") != 0) {
-+ if (strcmp(errfile, "SYSLOG") == 0) {
-+ freopen("/dev/null", "a", stderr);
-+ /* Send stderr to syslog through a logger process */
-+ if (pipe(err_pipe) == -1) {
-+ log_error("cannot create stderr pipe: %s",
-+ strerror(errno));
-+ } else {
-+ fork_needed = 1;
-+ log_stderr_syslog_flag = true;
-+ }
-+ } else if (strcmp(errfile, "&1") != 0) {
- loc_freopen(errfile, "a", stderr);
- }
- else {
-@@ -775,17 +854,43 @@
- close(1);
- dup(2);
- }
-+
-+ if (fork_needed) {
-+ pid_t pid = fork();
-+ if (pid == -1) {
-+ log_error("cannot create logger process: %s", strerror(errno));
-+ } else {
-+ if (pid) {
-+ logger_pid = pid;
-+ if (out_pipe[0] != 0) {
-+ close(out_pipe[0]);
-+ if (dup2(out_pipe[1], 1) == -1) {
-+ log_error("cannot redirect stdout to pipe for syslog: %s",
-+ strerror(errno));
-+ }
-+ }
-+ if (err_pipe[0] != 0) {
-+ close(err_pipe[0]);
-+ if (dup2(err_pipe[1], 2) == -1) {
-+ log_error("cannot redirect stderr to pipe for syslog: %s",
-+ strerror(errno));
-+ }
-+ }
-+ } else {
-+ exit(logger_child(out_pipe[0], err_pipe[0], procname));
-+ }
-+ }
-+ }
- }
-
- int main(int argc, char *argv[])
- {
- arg_data *args = NULL;
- home_data *data = NULL;
-- int status = 0;
- pid_t pid = 0;
- uid_t uid = 0;
- gid_t gid = 0;
-- time_t laststart;
-+ int res;
-
- /* Parse command line arguments */
- args = arguments(argc, argv);
-@@ -890,11 +995,27 @@
- }
-
- envmask = umask(0077);
-- set_output(args->outfile, args->errfile, args->redirectstdin);
-+ set_output(args->outfile, args->errfile, args->redirectstdin, args->procname);
-+
-+ res = run_controller(args, data, uid, gid);
-+ if (logger_pid != 0) {
-+ kill(logger_pid, SIGTERM);
-+ }
-+
-+ return res;
-+}
-+
-+static int run_controller(arg_data *args, home_data *data, uid_t uid,
-+ gid_t gid)
-+{
-+ pid_t pid=0;
-+
-
- /* We have to fork: this process will become the controller and the other
- will be the child */
- while ((pid = fork()) != -1) {
-+ time_t laststart;
-+ int status=0;
- /* We forked (again), if this is the child, we go on normally */
- if (pid == 0)
- exit(child(args, data, uid, gid));
-@@ -975,4 +1096,3 @@
- log_debug("Killing self with TERM signal");
- kill(controlled, SIGTERM);
- }
--
---- a/src/native/unix/man/jsvc.1.xml
-+++ b/src/native/unix/man/jsvc.1.xml
-@@ -146,15 +146,19 @@
- <varlistentry>
- <term><option>-outfile</option> /full/path/to/file</term>
- <listitem>
-- <para>Location for output from stdout (defaults to /dev/null). Use
-- the value '&2' to simulate '1>&2'</para>
-+ <para>Location for output from stdout (defaults to
-+ /dev/null). Use the value '&2' to simulate
-+ '1>&2', or 'SYSLOG' to send output to the system
-+ log.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-errfile</option> /full/path/to/file</term>
- <listitem>
-- <para>Location for output from stderr (defaults to /dev/null). Use
-- the value '&1' to simulate '2>&1'</para>
-+ <para>Location for output from stderr (defaults to
-+ /dev/null). Use the value '&1' to simulate
-+ '2>&1', or 'SYSLOG' to send output to the system
-+ log.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
---- a/src/native/unix/native/debug.h
-+++ b/src/native/unix/native/debug.h
-@@ -26,6 +26,12 @@
- */
- extern bool log_debug_flag;
-
-+/* Wether SYSLOG logging (for stderr) is enable or not. */
-+extern bool log_stderr_syslog_flag;
-+
-+/* Wether SYSLOG logging (for stdout) is enable or not. */
-+extern bool log_stdout_syslog_flag;
-+
- /**
- * The name of the jsvc binary.
- */
More information about the pkg-java-commits
mailing list