From: msweet Date: Thu, 4 Jun 2015 18:00:31 +0000 (+0000) Subject: Fix build errors on Linux for new journald logging. X-Git-Tag: v2.2b1~270 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a990ad13c72db45073b5d73f4dba0d99074062e3;p=thirdparty%2Fcups.git Fix build errors on Linux for new journald logging. git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12691 a1ca3aef-8c08-0410-bb20-df032aa958be --- diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4 index 62190b876..adedefe3b 100644 --- a/config-scripts/cups-common.m4 +++ b/config-scripts/cups-common.m4 @@ -138,7 +138,6 @@ AC_CHECK_HEADER(sys/ioctl.h,AC_DEFINE(HAVE_SYS_IOCTL_H)) AC_CHECK_HEADER(sys/param.h,AC_DEFINE(HAVE_SYS_PARAM_H)) AC_CHECK_HEADER(sys/ucred.h,AC_DEFINE(HAVE_SYS_UCRED_H)) AC_CHECK_HEADER(asl.h,AC_DEFINE(HAVE_ASL_H)) -AC_CHECK_HEADER(systemd/sd-journal.h,AC_DEFINE(HAVE_SYSTEMD_SD_JOURNAL_H)) dnl Checks for iconv.h and iconv_open AC_CHECK_HEADER(iconv.h, diff --git a/config-scripts/cups-startup.m4 b/config-scripts/cups-startup.m4 index e6aaf6a40..8089d0859 100644 --- a/config-scripts/cups-startup.m4 +++ b/config-scripts/cups-startup.m4 @@ -56,11 +56,11 @@ if test x$enable_systemd != xno; then AC_MSG_ERROR(Need pkg-config to enable systemd support.) fi else - AC_MSG_CHECKING(for libsystemd) - if $PKGCONFIG --exists libsystemd; then + AC_MSG_CHECKING(for libsystemd-daemon) + if $PKGCONFIG --exists libsystemd-daemon; then AC_MSG_RESULT(yes) - ONDEMANDFLAGS=`$PKGCONFIG --cflags libsystemd` - ONDEMANDLIBS=`$PKGCONFIG --libs libsystemd` + ONDEMANDFLAGS=`$PKGCONFIG --cflags libsystemd-daemon` + ONDEMANDLIBS=`$PKGCONFIG --libs libsystemd-daemon` AC_DEFINE(HAVE_SYSTEMD) if test "x$SYSTEMD_DIR" = x; then SYSTEMD_DIR="`$PKGCONFIG --variable=systemdsystemunitdir systemd`" @@ -68,6 +68,15 @@ if test x$enable_systemd != xno; then else AC_MSG_RESULT(no) fi + AC_MSG_CHECKING(for libsystemd-journal) + if $PKGCONFIG --exists libsystemd-journal; then + AC_MSG_RESULT(yes) + ONDEMANDFLAGS="$ONDEMANDFLAGS `$PKGCONFIG --cflags libsystemd-journal`" + ONDEMANDLIBS="$ONDEMANDLIBS `$PKGCONFIG --libs libsystemd-journal`" + AC_CHECK_HEADER(systemd/sd-journal.h,AC_DEFINE(HAVE_SYSTEMD_SD_JOURNAL_H)) + else + AC_MSG_RESULT(no) + fi fi fi diff --git a/scheduler/log.c b/scheduler/log.c index ac229e380..cd4e3624f 100644 --- a/scheduler/log.c +++ b/scheduler/log.c @@ -632,7 +632,6 @@ cupsdLogJob(cupsd_job_t *job, /* I - Job */ #elif defined(HAVE_SYSTEMD_SD_JOURNAL_H) if (!strcmp(ErrorLog, "syslog")) { - char completed[32]; /* job-impressions-completed string */ static const char * const job_states[] = { /* job-state strings */ "Pending", @@ -811,8 +810,11 @@ cupsdLogMessage(int level, /* I - Log level */ } #elif defined(HAVE_SYSTEMD_SD_JOURNAL_H) - sd_journal_printv(log_levels[level], message, ap); - + if (!strcmp(ErrorLog, "syslog")) + { + sd_journal_printv(log_levels[level], message, ap); + return (1); + } #endif /* HAVE_ASL_H */ /* @@ -1069,7 +1071,6 @@ cupsdLogPage(cupsd_job_t *job, /* I - Job being printed */ #elif defined(HAVE_SYSTEMD_SD_JOURNAL_H) if (!strcmp(ErrorLog, "syslog")) { - char completed[32]; /* job-impressions-completed string */ static const char * const job_states[] = { /* job-state strings */ "Pending", @@ -1081,20 +1082,8 @@ cupsdLogPage(cupsd_job_t *job, /* I - Job being printed */ "Completed" }; - va_start(ap, message); - - do - { - va_copy(ap2, ap); - status = format_log_line(message, ap2); - va_end(ap2); - } - while (status == 0); - - va_end(ap); - - sd_journal_send("MESSAGE=%s", log_line, - "PRIORITY=%i", log_levels[level], + sd_journal_send("MESSAGE=%s", buffer, + "PRIORITY=%i", LOG_INFO, PWG_Event"=JobStateChanged", PWG_ServiceURI"=%s", job->printer->uri, PWG_JobID"=%d", job->id, @@ -1299,7 +1288,11 @@ cupsdLogRequest(cupsd_client_t *con, /* I - Request to log */ } #elif defined(HAVE_SYSTEMD_SD_JOURNAL_H) - sd_journal_print(LOG_INFO, "REQUEST %s - %s \"%s %s HTTP/%d.%d\" %d " CUPS_LLFMT " %s %s", con->http->hostname, con->username[0] != '\0' ? con->username : "-", states[con->operation], _httpEncodeURI(temp, con->uri, sizeof(temp)), con->http->version / 100, con->http->version % 100, code, CUPS_LLCAST con->bytes, con->request ? ippOpString(con->request->request.op.operation_id) : "-", con->response ? ippErrorString(con->response->request.status.status_code) : "-"); + if (!strcmp(ErrorLog, "syslog")) + { + sd_journal_print(LOG_INFO, "REQUEST %s - %s \"%s %s HTTP/%d.%d\" %d " CUPS_LLFMT " %s %s", con->http->hostname, con->username[0] != '\0' ? con->username : "-", states[con->operation], _httpEncodeURI(temp, con->uri, sizeof(temp)), con->http->version / 100, con->http->version % 100, code, CUPS_LLCAST con->bytes, con->request ? ippOpString(con->request->request.op.operation_id) : "-", con->response ? ippErrorString(con->response->request.status.status_code) : "-"); + return (1); + } #elif defined(HAVE_VSYSLOG) /* @@ -1393,7 +1386,11 @@ cupsdWriteErrorLog(int level, /* I - Log level */ } #elif defined(HAVE_SYSTEMD_SD_JOURNAL_H) - sd_journal_print(log_levels[level], "%s", message); + if (!strcmp(ErrorLog, "syslog")) + { + sd_journal_print(log_levels[level], "%s", message); + return (1); + } #elif defined(HAVE_VSYSLOG) /*