Add patch to neuter the annoying systemd behavior where stdout/stderr

is sent to the system logs

Signed-off-by: David Zeuthen <davidz@redhat.com>
This commit is contained in:
David Zeuthen 2011-10-18 13:29:14 -04:00
parent 3ea6658904
commit 97786661cf
2 changed files with 85 additions and 1 deletions

View File

@ -0,0 +1,77 @@
From 3811e51b81320a574bb31aa64b6af56340012527 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz@redhat.com>
Date: Tue, 18 Oct 2011 13:13:16 -0400
Subject: [PATCH] Add --no-debug option and use this for D-Bus activation
Signed-off-by: David Zeuthen <davidz@redhat.com>
---
data/org.freedesktop.PolicyKit1.service.in | 2 +-
src/polkitd/main.c | 27 ++++++++++++++++++++++++++-
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/data/org.freedesktop.PolicyKit1.service.in b/data/org.freedesktop.PolicyKit1.service.in
index 5a54ca1..b6cd02b 100644
--- a/data/org.freedesktop.PolicyKit1.service.in
+++ b/data/org.freedesktop.PolicyKit1.service.in
@@ -1,4 +1,4 @@
[D-BUS Service]
Name=org.freedesktop.PolicyKit1
-Exec=@libexecdir@/polkitd
+Exec=@libexecdir@/polkitd --no-debug
User=root
diff --git a/src/polkitd/main.c b/src/polkitd/main.c
index 33ea511..b21723f 100644
--- a/src/polkitd/main.c
+++ b/src/polkitd/main.c
@@ -22,6 +22,9 @@
#include "config.h"
#include <signal.h>
+
+#include <glib-unix.h>
+
#include <polkit/polkit.h>
#include <polkitbackend/polkitbackend.h>
@@ -33,8 +36,10 @@ static PolkitBackendAuthority *authority = NULL;
static gpointer registration_id = NULL;
static GMainLoop *loop = NULL;
static gboolean opt_replace = FALSE;
+static gboolean opt_no_debug = FALSE;
static GOptionEntry opt_entries[] = {
- {"replace", 0, 0, G_OPTION_ARG_NONE, &opt_replace, "Replace existing daemon", NULL},
+ {"replace", 'r', 0, G_OPTION_ARG_NONE, &opt_replace, "Replace existing daemon", NULL},
+ {"no-debug", 'n', 0, G_OPTION_ARG_NONE, &opt_no_debug, "Don't print debug information", NULL},
{NULL }
};
@@ -120,6 +125,26 @@ main (int argc,
goto out;
}
+ /* If --no-debug is requested don't clutter stdout/stderr etc.
+ */
+ if (opt_no_debug)
+ {
+ gint dev_null_fd;
+ dev_null_fd = open ("/dev/null", O_RDWR);
+ if (dev_null_fd >= 0)
+ {
+ dup2 (dev_null_fd, STDIN_FILENO);
+ dup2 (dev_null_fd, STDOUT_FILENO);
+ dup2 (dev_null_fd, STDERR_FILENO);
+ close (dev_null_fd);
+ }
+ else
+ {
+ g_warning ("Error opening /dev/null: %m");
+ }
+ }
+
+
loop = g_main_loop_new (NULL, FALSE);
sigint_id = _g_posix_signal_watch_add (SIGINT,
--
1.7.6.4

View File

@ -1,7 +1,7 @@
Summary: PolicyKit Authorization Framework Summary: PolicyKit Authorization Framework
Name: polkit Name: polkit
Version: 0.102 Version: 0.102
Release: 1%{?dist} Release: 2%{?dist}
License: LGPLv2+ License: LGPLv2+
URL: http://www.freedesktop.org/wiki/Software/PolicyKit URL: http://www.freedesktop.org/wiki/Software/PolicyKit
Source0: http://hal.freedesktop.org/releases/%{name}-%{version}.tar.gz Source0: http://hal.freedesktop.org/releases/%{name}-%{version}.tar.gz
@ -23,6 +23,8 @@ Provides: PolicyKit = 0.11
# sufficiently new polkit-gnome package # sufficiently new polkit-gnome package
Conflicts: polkit-gnome < 0.97 Conflicts: polkit-gnome < 0.97
Patch0: polkit-0.102-neuter-stdout-and-stderr.patch
%description %description
PolicyKit is a toolkit for defining and handling authorizations. PolicyKit is a toolkit for defining and handling authorizations.
It is used for allowing unprivileged processes to speak to privileged It is used for allowing unprivileged processes to speak to privileged
@ -65,6 +67,7 @@ without being interrupted by password dialogs
%prep %prep
%setup -q %setup -q
%patch0 -p1
%build %build
%configure --enable-gtk-doc \ %configure --enable-gtk-doc \
@ -172,6 +175,10 @@ EOF
%{_datadir}/gtk-doc %{_datadir}/gtk-doc
%changelog %changelog
* Tue Oct 18 2011 David Zeuthen <davidz@redhat.com> 0.102-2%{?dist}
- Add patch to neuter the annoying systemd behavior where stdout/stderr
is sent to the system logs
* Fri Aug 04 2011 David Zeuthen <davidz@redhat.com> 0.102-1 * Fri Aug 04 2011 David Zeuthen <davidz@redhat.com> 0.102-1
- Update to 0.102 release - Update to 0.102 release