From 107fa92b357ef99583683e6bd7ae7f2fce112407 Mon Sep 17 00:00:00 2001 From: Jan Rybar Date: Fri, 2 Aug 2019 15:14:56 +0200 Subject: [PATCH] pkttyagent: backport patch, get SIGTTOU in background job --- polkit-0.116-pkttyagent-sigttou-bg-job.patch | 30 ++++++++++++++++++++ polkit.spec | 7 ++++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 polkit-0.116-pkttyagent-sigttou-bg-job.patch diff --git a/polkit-0.116-pkttyagent-sigttou-bg-job.patch b/polkit-0.116-pkttyagent-sigttou-bg-job.patch new file mode 100644 index 0000000..4055c02 --- /dev/null +++ b/polkit-0.116-pkttyagent-sigttou-bg-job.patch @@ -0,0 +1,30 @@ +From 76aae4fce586b400f5fe08df31497db19d624609 Mon Sep 17 00:00:00 2001 +From: Jan Rybar +Date: Thu, 1 Aug 2019 06:46:10 +0000 +Subject: [PATCH] pkttyagent: process stopped by SIGTTOU if run in background + job + +--- + src/programs/pkttyagent.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/programs/pkttyagent.c b/src/programs/pkttyagent.c +index 3c8d502..13879a2 100644 +--- a/src/programs/pkttyagent.c ++++ b/src/programs/pkttyagent.c +@@ -264,6 +264,12 @@ main (int argc, char *argv[]) + + memset (&sa, 0, sizeof (sa)); + sa.sa_handler = &tty_handler; ++/* If tty_handler() resets terminal while pkttyagent is run in background job, ++ the process gets stopped by SIGTTOU. This impacts systemctl, hence it must ++ be blocked for a while and then the process gets killed anyway. ++ */ ++ sigemptyset(&sa.sa_mask); ++ sigaddset(&sa.sa_mask, SIGTTOU); + sigaction (SIGTERM, &sa, &savesigterm); + sigaction (SIGINT, &sa, &savesigint); + sigaction (SIGTSTP, &sa, &savesigtstp); +-- +2.20.1 + diff --git a/polkit.spec b/polkit.spec index b80b935..31d92ca 100644 --- a/polkit.spec +++ b/polkit.spec @@ -6,12 +6,14 @@ Summary: An authorization framework Name: polkit Version: 0.116 -Release: 2%{?dist} +Release: 3%{?dist} License: LGPLv2+ URL: http://www.freedesktop.org/wiki/Software/polkit Source0: http://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar.gz Source1: http://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar.gz.sign +Patch1: polkit-0.116-pkttyagent-sigttou-bg-job.patch + BuildRequires: gcc-c++ BuildRequires: glib2-devel >= 2.30.0 BuildRequires: expat-devel @@ -174,6 +176,9 @@ exit 0 %{_libdir}/girepository-1.0/*.typelib %changelog +* Fri Aug 02 2019 Jan Rybar - 0.116-3 +- pkttyagent: backport patch, get SIGTTOU in background job + * Fri Jul 26 2019 Fedora Release Engineering - 0.116-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild