Patches for outstanding annoyances
This commit is contained in:
parent
0ab588521d
commit
ef7b485f69
@ -0,0 +1,51 @@
|
|||||||
|
From 78bce4363bb349a64ed98ac307421698c8f8e06e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jan Pazdziora <jpazdziora@redhat.com>
|
||||||
|
Date: Fri, 13 Mar 2015 12:57:18 +0100
|
||||||
|
Subject: [PATCH] console-getty.service: don't start when /dev/console is
|
||||||
|
missing
|
||||||
|
|
||||||
|
Create minimal image which runs systemd
|
||||||
|
|
||||||
|
FROM rhel7.1
|
||||||
|
RUN yum install -y /usr/bin/ps
|
||||||
|
ENV container docker
|
||||||
|
CMD [ "/usr/sbin/init" ]
|
||||||
|
|
||||||
|
When you run the container without -t, the process
|
||||||
|
|
||||||
|
/sbin/agetty --noclear --keep-baud console 115200 38400 9600
|
||||||
|
|
||||||
|
is not happy and checking the journal in the container, there is a stream of
|
||||||
|
|
||||||
|
Mar 13 04:50:15 11bf07f59fff agetty[66]: /dev/console: No such file or directory
|
||||||
|
Mar 13 04:50:25 11bf07f59fff systemd[1]: console-getty.service holdoff time over, scheduling restart.
|
||||||
|
Mar 13 04:50:25 11bf07f59fff systemd[1]: Stopping Console Getty...
|
||||||
|
Mar 13 04:50:25 11bf07f59fff systemd[1]: Starting Console Getty...
|
||||||
|
Mar 13 04:50:25 11bf07f59fff systemd[1]: Started Console Getty.
|
||||||
|
Mar 13 04:50:25 11bf07f59fff agetty[67]: /dev/console: No such file or directory
|
||||||
|
Mar 13 04:50:35 11bf07f59fff systemd[1]: console-getty.service holdoff time over, scheduling restart.
|
||||||
|
Mar 13 04:50:35 11bf07f59fff systemd[1]: Stopping Console Getty...
|
||||||
|
Mar 13 04:50:35 11bf07f59fff systemd[1]: Starting Console Getty...
|
||||||
|
Mar 13 04:50:35 11bf07f59fff systemd[1]: Started Console Getty.
|
||||||
|
Mar 13 04:50:35 11bf07f59fff agetty[74]: /dev/console: No such file or directory
|
||||||
|
Mar 13 04:50:45 11bf07f59fff systemd[1]: console-getty.service holdoff time over, scheduling restart.
|
||||||
|
Mar 13 04:50:45 11bf07f59fff systemd[1]: Stopping Console Getty...
|
||||||
|
Mar 13 04:50:45 11bf07f59fff systemd[1]: Starting Console Getty...
|
||||||
|
|
||||||
|
(cherry picked from commit 1b41981d9a62443d566df6bcabc1b5024e9f5e4a)
|
||||||
|
---
|
||||||
|
units/console-getty.service.m4.in | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/units/console-getty.service.m4.in b/units/console-getty.service.m4.in
|
||||||
|
index 8ac51a471b..413d94094b 100644
|
||||||
|
--- a/units/console-getty.service.m4.in
|
||||||
|
+++ b/units/console-getty.service.m4.in
|
||||||
|
@@ -9,6 +9,7 @@
|
||||||
|
Description=Console Getty
|
||||||
|
Documentation=man:agetty(8)
|
||||||
|
After=systemd-user-sessions.service plymouth-quit-wait.service
|
||||||
|
+ConditionPathExists=/dev/console
|
||||||
|
m4_ifdef(`HAVE_SYSV_COMPAT',
|
||||||
|
After=rc-local.service
|
||||||
|
)m4_dnl
|
@ -0,0 +1,60 @@
|
|||||||
|
From 412dc90d0b48e3253786309eb563a8c1e79db22a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
|
||||||
|
Date: Tue, 17 Mar 2015 16:37:07 +0100
|
||||||
|
Subject: [PATCH] resolved: Do not add .busname dependencies, when compiling
|
||||||
|
without kdbus.
|
||||||
|
|
||||||
|
(cherry picked from commit defa8e675b2903ad53e093bb2847c7256f0779a5)
|
||||||
|
---
|
||||||
|
Makefile.am | 2 +-
|
||||||
|
units/.gitignore | 1 +
|
||||||
|
units/{systemd-resolved.service.in => systemd-resolved.service.m4.in} | 2 ++
|
||||||
|
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
rename units/{systemd-resolved.service.in => systemd-resolved.service.m4.in} (96%)
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index aadaad2b8d..78f77d7090 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -5459,7 +5459,7 @@ dist_dbussystemservice_DATA += \
|
||||||
|
src/resolve/org.freedesktop.resolve1.service
|
||||||
|
|
||||||
|
EXTRA_DIST += \
|
||||||
|
- units/systemd-resolved.service.in
|
||||||
|
+ units/systemd-resolved.service.m4.in
|
||||||
|
|
||||||
|
SYSTEM_UNIT_ALIASES += \
|
||||||
|
systemd-resolved.service dbus-org.freedesktop.resolve1.service
|
||||||
|
diff --git a/units/.gitignore b/units/.gitignore
|
||||||
|
index 6fdb629c3d..c59676c95b 100644
|
||||||
|
--- a/units/.gitignore
|
||||||
|
+++ b/units/.gitignore
|
||||||
|
@@ -55,6 +55,7 @@
|
||||||
|
/systemd-reboot.service
|
||||||
|
/systemd-remount-fs.service
|
||||||
|
/systemd-resolved.service
|
||||||
|
+/systemd-resolved.service.m4
|
||||||
|
/systemd-hibernate-resume@.service
|
||||||
|
/systemd-rfkill@.service
|
||||||
|
/systemd-shutdownd.service
|
||||||
|
diff --git a/units/systemd-resolved.service.in b/units/systemd-resolved.service.m4.in
|
||||||
|
similarity index 96%
|
||||||
|
rename from units/systemd-resolved.service.in
|
||||||
|
rename to units/systemd-resolved.service.m4.in
|
||||||
|
index b643da9a73..d133847d5e 100644
|
||||||
|
--- a/units/systemd-resolved.service.in
|
||||||
|
+++ b/units/systemd-resolved.service.m4.in
|
||||||
|
@@ -10,11 +10,13 @@ Description=Network Name Resolution
|
||||||
|
Documentation=man:systemd-resolved.service(8)
|
||||||
|
After=systemd-networkd.service network.service
|
||||||
|
|
||||||
|
+m4_ifdef(`ENABLE_KDBUS',
|
||||||
|
# On kdbus systems we pull in the busname explicitly, because it
|
||||||
|
# carries policy that allows the daemon to acquire its name.
|
||||||
|
Wants=org.freedesktop.resolve1.busname
|
||||||
|
After=org.freedesktop.resolve1.busname
|
||||||
|
|
||||||
|
+)m4_dnl
|
||||||
|
[Service]
|
||||||
|
Type=notify
|
||||||
|
Restart=always
|
178
0115-man-add-journal-remote.conf-5.patch
Normal file
178
0115-man-add-journal-remote.conf-5.patch
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
From b66b41c3b5c9567cafce132782bae32055d6a69a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Morgan <chmorgan@gmail.com>
|
||||||
|
Date: Sat, 21 Mar 2015 20:47:46 -0400
|
||||||
|
Subject: [PATCH] man: add journal-remote.conf(5)
|
||||||
|
|
||||||
|
(cherry picked from commit eaa5251d9167027275d8275862e23e0b7dc8866e)
|
||||||
|
---
|
||||||
|
Makefile-man.am | 7 +++
|
||||||
|
man/journal-remote.conf.xml | 114 +++++++++++++++++++++++++++++++++++++++++
|
||||||
|
man/systemd-journal-remote.xml | 1 +
|
||||||
|
3 files changed, 122 insertions(+)
|
||||||
|
create mode 100644 man/journal-remote.conf.xml
|
||||||
|
|
||||||
|
diff --git a/Makefile-man.am b/Makefile-man.am
|
||||||
|
index d0fb9aa1ae..28e1007c38 100644
|
||||||
|
--- a/Makefile-man.am
|
||||||
|
+++ b/Makefile-man.am
|
||||||
|
@@ -1330,14 +1330,20 @@ endif
|
||||||
|
|
||||||
|
if HAVE_MICROHTTPD
|
||||||
|
MANPAGES += \
|
||||||
|
+ man/journal-remote.conf.5 \
|
||||||
|
man/systemd-journal-gatewayd.service.8 \
|
||||||
|
man/systemd-journal-remote.8 \
|
||||||
|
man/systemd-journal-upload.8
|
||||||
|
MANPAGES_ALIAS += \
|
||||||
|
+ man/journal-remote.conf.d.5 \
|
||||||
|
man/systemd-journal-gatewayd.8 \
|
||||||
|
man/systemd-journal-gatewayd.socket.8
|
||||||
|
+man/journal-remote.conf.d.5: man/journal-remote.conf.5
|
||||||
|
man/systemd-journal-gatewayd.8: man/systemd-journal-gatewayd.service.8
|
||||||
|
man/systemd-journal-gatewayd.socket.8: man/systemd-journal-gatewayd.service.8
|
||||||
|
+man/journal-remote.conf.d.html: man/journal-remote.conf.html
|
||||||
|
+ $(html-alias)
|
||||||
|
+
|
||||||
|
man/systemd-journal-gatewayd.html: man/systemd-journal-gatewayd.service.html
|
||||||
|
$(html-alias)
|
||||||
|
|
||||||
|
@@ -1634,6 +1640,7 @@ EXTRA_DIST += \
|
||||||
|
man/hostname.xml \
|
||||||
|
man/hostnamectl.xml \
|
||||||
|
man/hwdb.xml \
|
||||||
|
+ man/journal-remote.conf.xml \
|
||||||
|
man/journalctl.xml \
|
||||||
|
man/journald.conf.xml \
|
||||||
|
man/kernel-command-line.xml \
|
||||||
|
diff --git a/man/journal-remote.conf.xml b/man/journal-remote.conf.xml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..a7b2227182
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/man/journal-remote.conf.xml
|
||||||
|
@@ -0,0 +1,114 @@
|
||||||
|
+<?xml version='1.0'?> <!--*-nxml-*-->
|
||||||
|
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||||
|
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||||
|
+
|
||||||
|
+<!--
|
||||||
|
+ This file is part of systemd.
|
||||||
|
+
|
||||||
|
+ Copyright 2015 Chris Morgan
|
||||||
|
+
|
||||||
|
+ systemd is free software; you can redistribute it and/or modify it
|
||||||
|
+ under the terms of the GNU Lesser General Public License as published by
|
||||||
|
+ the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
+ (at your option) any later version.
|
||||||
|
+
|
||||||
|
+ systemd is distributed in the hope that it will be useful, but
|
||||||
|
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
+ Lesser General Public License for more details.
|
||||||
|
+
|
||||||
|
+ You should have received a copy of the GNU Lesser General Public License
|
||||||
|
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
+-->
|
||||||
|
+
|
||||||
|
+<refentry id="journal-remote.conf" conditional='HAVE_MICROHTTPD'
|
||||||
|
+ xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
+ <refentryinfo>
|
||||||
|
+ <title>journal-remote.conf</title>
|
||||||
|
+ <productname>systemd</productname>
|
||||||
|
+
|
||||||
|
+ <authorgroup>
|
||||||
|
+ <author>
|
||||||
|
+ <contrib>Developer</contrib>
|
||||||
|
+ <firstname>Chris</firstname>
|
||||||
|
+ <surname>Morgan</surname>
|
||||||
|
+ <email>chmorgan@gmail.com</email>
|
||||||
|
+ </author>
|
||||||
|
+ </authorgroup>
|
||||||
|
+ </refentryinfo>
|
||||||
|
+
|
||||||
|
+ <refmeta>
|
||||||
|
+ <refentrytitle>journal-remote.conf</refentrytitle>
|
||||||
|
+ <manvolnum>5</manvolnum>
|
||||||
|
+ </refmeta>
|
||||||
|
+
|
||||||
|
+ <refnamediv>
|
||||||
|
+ <refname>journal-remote.conf</refname>
|
||||||
|
+ <refname>journal-remote.conf.d</refname>
|
||||||
|
+ <refpurpose>Journal remote service configuration files</refpurpose>
|
||||||
|
+ </refnamediv>
|
||||||
|
+
|
||||||
|
+ <refsynopsisdiv>
|
||||||
|
+ <para><filename>/etc/systemd/journal-remote.conf</filename></para>
|
||||||
|
+ <para><filename>/etc/systemd/journald.conf.d/*.conf</filename></para>
|
||||||
|
+ <para><filename>/run/systemd/journald.conf.d/*.conf</filename></para>
|
||||||
|
+ <para><filename>/usr/lib/systemd/journald.conf.d/*.conf</filename></para>
|
||||||
|
+ </refsynopsisdiv>
|
||||||
|
+
|
||||||
|
+ <refsect1>
|
||||||
|
+ <title>Description</title>
|
||||||
|
+
|
||||||
|
+ <para>These files configure various parameters of the systemd-remote-journal
|
||||||
|
+ application,
|
||||||
|
+ <citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||||||
|
+ </refsect1>
|
||||||
|
+
|
||||||
|
+ <xi:include href="standard-conf.xml" xpointer="main-conf" />
|
||||||
|
+
|
||||||
|
+ <refsect1>
|
||||||
|
+ <title>Options</title>
|
||||||
|
+
|
||||||
|
+ <para>All options are configured in the
|
||||||
|
+ <literal>[Remote]</literal> section:</para>
|
||||||
|
+
|
||||||
|
+ <variablelist>
|
||||||
|
+
|
||||||
|
+ <varlistentry>
|
||||||
|
+ <term><varname>SplitMode=</varname></term>
|
||||||
|
+
|
||||||
|
+ <listitem><para>One of <literal>host</literal> or <literal>none</literal>.
|
||||||
|
+ </para></listitem>
|
||||||
|
+ </varlistentry>
|
||||||
|
+
|
||||||
|
+ <varlistentry>
|
||||||
|
+ <term><varname>ServerKeyFile=</varname></term>
|
||||||
|
+
|
||||||
|
+ <listitem><para>SSL key in PEM format</para></listitem>
|
||||||
|
+ </varlistentry>
|
||||||
|
+
|
||||||
|
+ <varlistentry>
|
||||||
|
+ <term><varname>ServerCertificateFile=</varname></term>
|
||||||
|
+
|
||||||
|
+ <listitem><para>SSL CA certificate in PEM format.</para></listitem>
|
||||||
|
+ </varlistentry>
|
||||||
|
+
|
||||||
|
+ <varlistentry>
|
||||||
|
+ <term><varname>TrustedCertificateFile=</varname></term>
|
||||||
|
+
|
||||||
|
+ <listitem><para>SSL CA certificate.</para></listitem>
|
||||||
|
+ </varlistentry>
|
||||||
|
+
|
||||||
|
+ </variablelist>
|
||||||
|
+
|
||||||
|
+ </refsect1>
|
||||||
|
+
|
||||||
|
+ <refsect1>
|
||||||
|
+ <title>See Also</title>
|
||||||
|
+ <para>
|
||||||
|
+ <citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||||
|
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||||
|
+ <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||||
|
+ </para>
|
||||||
|
+ </refsect1>
|
||||||
|
+
|
||||||
|
+</refentry>
|
||||||
|
diff --git a/man/systemd-journal-remote.xml b/man/systemd-journal-remote.xml
|
||||||
|
index 2687662a14..d5bda635c4 100644
|
||||||
|
--- a/man/systemd-journal-remote.xml
|
||||||
|
+++ b/man/systemd-journal-remote.xml
|
||||||
|
@@ -310,6 +310,7 @@ systemd-journal-remote --url http://some.host:19531/
|
||||||
|
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||||
|
<citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||||
|
<citerefentry><refentrytitle>systemd-journal-gatewayd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||||
|
+ <citerefentry><refentrytitle>journal-remote.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
@ -0,0 +1,54 @@
|
|||||||
|
From 85967d7434a798b1d73429d87229cfaadfbf44b0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marcel Holtmann <marcel@holtmann.org>
|
||||||
|
Date: Tue, 31 Mar 2015 22:59:12 +0200
|
||||||
|
Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers
|
||||||
|
|
||||||
|
(cherry picked from commit c185834d77335d50ef0247c39d7e9dffc74707bd)
|
||||||
|
---
|
||||||
|
hwdb/20-bluetooth-vendor-product.hwdb | 36 +++++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 36 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/hwdb/20-bluetooth-vendor-product.hwdb b/hwdb/20-bluetooth-vendor-product.hwdb
|
||||||
|
index 4fd951a584..ff8862b9ea 100644
|
||||||
|
--- a/hwdb/20-bluetooth-vendor-product.hwdb
|
||||||
|
+++ b/hwdb/20-bluetooth-vendor-product.hwdb
|
||||||
|
@@ -1472,3 +1472,39 @@ bluetooth:v01E7*
|
||||||
|
|
||||||
|
bluetooth:v01E8*
|
||||||
|
ID_VENDOR_FROM_DATABASE=STIR
|
||||||
|
+
|
||||||
|
+bluetooth:v01E9*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=Sano, Inc
|
||||||
|
+
|
||||||
|
+bluetooth:v01EA*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=Advanced Application Design, Inc.
|
||||||
|
+
|
||||||
|
+bluetooth:v01EB*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=AutoMap LLC
|
||||||
|
+
|
||||||
|
+bluetooth:v01EC*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=Spreadtrum Communications Shanghai Ltd
|
||||||
|
+
|
||||||
|
+bluetooth:v01ED*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=CuteCircuit LTD
|
||||||
|
+
|
||||||
|
+bluetooth:v01EE*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=Valeo Service
|
||||||
|
+
|
||||||
|
+bluetooth:v01EF*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=Fullpower Technologies, Inc.
|
||||||
|
+
|
||||||
|
+bluetooth:v01F0*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=KloudNation
|
||||||
|
+
|
||||||
|
+bluetooth:v01F1*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=Zebra Technologies Corporation
|
||||||
|
+
|
||||||
|
+bluetooth:v01F2*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=Itron, Inc.
|
||||||
|
+
|
||||||
|
+bluetooth:v01F3*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=The University of Tokyo
|
||||||
|
+
|
||||||
|
+bluetooth:v01F4*
|
||||||
|
+ ID_VENDOR_FROM_DATABASE=UTC Fire and Security
|
@ -0,0 +1,29 @@
|
|||||||
|
From 76e5c9cfb1df3991f631cc7b593ab25a15f8d3eb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Nykryn <lnykryn@redhat.com>
|
||||||
|
Date: Mon, 30 Mar 2015 14:42:02 +0200
|
||||||
|
Subject: [PATCH] mount: don't run quotaon only for network filesystems
|
||||||
|
|
||||||
|
If you have for example ext4 on iscsi devices it is possible to setup
|
||||||
|
qoutas there. Unfortunately, because such fstab entry contains _netdev,
|
||||||
|
systemd will not add dependency to quotaon.service.
|
||||||
|
|
||||||
|
(cherry picked from commit 11041c8488e956924870379a9203d7f1cac3b038)
|
||||||
|
---
|
||||||
|
src/core/mount.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/mount.c b/src/core/mount.c
|
||||||
|
index 3ae0eb4621..3359220251 100644
|
||||||
|
--- a/src/core/mount.c
|
||||||
|
+++ b/src/core/mount.c
|
||||||
|
@@ -107,7 +107,9 @@ static bool mount_is_auto(const MountParameters *p) {
|
||||||
|
static bool needs_quota(const MountParameters *p) {
|
||||||
|
assert(p);
|
||||||
|
|
||||||
|
- if (mount_is_network(p))
|
||||||
|
+ /* Quotas are not enabled on network filesystems,
|
||||||
|
+ * but we them, for example, on storages connected via iscsi */
|
||||||
|
+ if (p->fstype && fstype_is_network(p->fstype))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (mount_is_bind(p))
|
23
0118-mount-fix-up-wording-in-the-comment.patch
Normal file
23
0118-mount-fix-up-wording-in-the-comment.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
From b9b1f41397212bb0a692454b75434b62a4ade1dc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Sekletar <msekleta@redhat.com>
|
||||||
|
Date: Wed, 1 Apr 2015 13:08:25 +0200
|
||||||
|
Subject: [PATCH] mount: fix up wording in the comment
|
||||||
|
|
||||||
|
(cherry picked from commit 340a1d2330ddc1dd18ad75bcdddf32f63c84b4a1)
|
||||||
|
---
|
||||||
|
src/core/mount.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/mount.c b/src/core/mount.c
|
||||||
|
index 3359220251..fd4fb6f1b2 100644
|
||||||
|
--- a/src/core/mount.c
|
||||||
|
+++ b/src/core/mount.c
|
||||||
|
@@ -108,7 +108,7 @@ static bool needs_quota(const MountParameters *p) {
|
||||||
|
assert(p);
|
||||||
|
|
||||||
|
/* Quotas are not enabled on network filesystems,
|
||||||
|
- * but we them, for example, on storages connected via iscsi */
|
||||||
|
+ * but we want them, for example, on storage connected via iscsi */
|
||||||
|
if (p->fstype && fstype_is_network(p->fstype))
|
||||||
|
return false;
|
||||||
|
|
25
0119-udev-net_id-fix-copy-paste-error.patch
Normal file
25
0119-udev-net_id-fix-copy-paste-error.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From e219205ca3accd36ce59ed19bb0e6d079311d505 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Gundersen <teg@jklm.no>
|
||||||
|
Date: Wed, 1 Apr 2015 16:41:41 +0200
|
||||||
|
Subject: [PATCH] udev: net_id - fix copy-paste error
|
||||||
|
|
||||||
|
In case pci_slot overflows we were truncating pci_path instead.
|
||||||
|
|
||||||
|
(cherry picked from commit 16f948cb208f1db9a1665f07ac9b22e416dc19d4)
|
||||||
|
---
|
||||||
|
src/udev/udev-builtin-net_id.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
|
||||||
|
index 37ff1b8008..71f3a5970f 100644
|
||||||
|
--- a/src/udev/udev-builtin-net_id.c
|
||||||
|
+++ b/src/udev/udev-builtin-net_id.c
|
||||||
|
@@ -248,7 +248,7 @@ static int dev_pci_slot(struct udev_device *dev, struct netnames *names) {
|
||||||
|
if (dev_port > 0)
|
||||||
|
l = strpcpyf(&s, l, "d%d", dev_port);
|
||||||
|
if (l == 0)
|
||||||
|
- names->pci_path[0] = '\0';
|
||||||
|
+ names->pci_slot[0] = '\0';
|
||||||
|
}
|
||||||
|
out:
|
||||||
|
udev_device_unref(pci);
|
28
0120-man-don-t-mention-journalctl-dev-sda.patch
Normal file
28
0120-man-don-t-mention-journalctl-dev-sda.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 4e19d468a0d5af50fcff6db4f67572689d28b706 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Thu, 2 Apr 2015 12:14:57 +0200
|
||||||
|
Subject: [PATCH] man: don't mention "journalctl /dev/sda"
|
||||||
|
|
||||||
|
It never worked, and nobody ever worked on it, hence don't mention it.
|
||||||
|
|
||||||
|
(cherry picked from commit c4f54721175bde35e2051d61d3d23285def9619d)
|
||||||
|
---
|
||||||
|
man/journalctl.xml | 5 -----
|
||||||
|
1 file changed, 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/man/journalctl.xml b/man/journalctl.xml
|
||||||
|
index 770cf9bb29..08de0ff068 100644
|
||||||
|
--- a/man/journalctl.xml
|
||||||
|
+++ b/man/journalctl.xml
|
||||||
|
@@ -817,11 +817,6 @@
|
||||||
|
|
||||||
|
<programlisting>journalctl /usr/bin/dbus-daemon</programlisting>
|
||||||
|
|
||||||
|
- <para>Show all logs of the kernel device node
|
||||||
|
- <filename noindex='true'>/dev/sda</filename>:</para>
|
||||||
|
-
|
||||||
|
- <programlisting>journalctl /dev/sda</programlisting>
|
||||||
|
-
|
||||||
|
<para>Show all kernel logs from previous boot:</para>
|
||||||
|
|
||||||
|
<programlisting>journalctl -k -b -1</programlisting>
|
@ -0,0 +1,43 @@
|
|||||||
|
From bf38766c3a48427673527e7ae8894aeca2e34ffe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Fri, 3 Apr 2015 14:27:16 +0200
|
||||||
|
Subject: [PATCH] units: move After=systemd-hwdb-update.service dependency from
|
||||||
|
udev to udev-trigger
|
||||||
|
|
||||||
|
Let's move the hwdb regeneration a bit later. Given that hwdb is
|
||||||
|
non-essential it should be OK to allow udev to run without it until we
|
||||||
|
do the full trigger.
|
||||||
|
|
||||||
|
http://lists.freedesktop.org/archives/systemd-devel/2015-April/030074.html
|
||||||
|
(cherry picked from commit d8f0930eec248c2f54c85aa5029e1b3775c8dc75)
|
||||||
|
---
|
||||||
|
units/systemd-udev-trigger.service.in | 2 +-
|
||||||
|
units/systemd-udevd.service.in | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/units/systemd-udev-trigger.service.in b/units/systemd-udev-trigger.service.in
|
||||||
|
index 0c33909cee..1e04d11fe3 100644
|
||||||
|
--- a/units/systemd-udev-trigger.service.in
|
||||||
|
+++ b/units/systemd-udev-trigger.service.in
|
||||||
|
@@ -10,7 +10,7 @@ Description=udev Coldplug all Devices
|
||||||
|
Documentation=man:udev(7) man:systemd-udevd.service(8)
|
||||||
|
DefaultDependencies=no
|
||||||
|
Wants=systemd-udevd.service
|
||||||
|
-After=systemd-udevd-kernel.socket systemd-udevd-control.socket
|
||||||
|
+After=systemd-udevd-kernel.socket systemd-udevd-control.socket systemd-hwdb-update.service
|
||||||
|
Before=sysinit.target
|
||||||
|
ConditionPathIsReadWrite=/sys
|
||||||
|
|
||||||
|
diff --git a/units/systemd-udevd.service.in b/units/systemd-udevd.service.in
|
||||||
|
index 2791f73ac3..a133044005 100644
|
||||||
|
--- a/units/systemd-udevd.service.in
|
||||||
|
+++ b/units/systemd-udevd.service.in
|
||||||
|
@@ -10,7 +10,7 @@ Description=udev Kernel Device Manager
|
||||||
|
Documentation=man:systemd-udevd.service(8) man:udev(7)
|
||||||
|
DefaultDependencies=no
|
||||||
|
Wants=systemd-udevd-control.socket systemd-udevd-kernel.socket
|
||||||
|
-After=systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-hwdb-update.service systemd-sysusers.service
|
||||||
|
+After=systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-sysusers.service
|
||||||
|
Before=sysinit.target
|
||||||
|
ConditionPathIsReadWrite=/sys
|
||||||
|
|
@ -0,0 +1,26 @@
|
|||||||
|
From 2f9c8a3cacc7f6743925c8f8eb7fdffd1558c688 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Fri, 3 Apr 2015 14:31:35 +0200
|
||||||
|
Subject: [PATCH] units: explicitly order systemd-user-sessions.service after
|
||||||
|
nss-user-lookup.target
|
||||||
|
|
||||||
|
We should not allow logins before NIS/LDAP users are available.
|
||||||
|
|
||||||
|
(cherry picked from commit efb3e19be9c568974b221990b9e84fb5304c5537)
|
||||||
|
---
|
||||||
|
units/systemd-user-sessions.service.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/units/systemd-user-sessions.service.in b/units/systemd-user-sessions.service.in
|
||||||
|
index 0869e73991..c09c05d4d5 100644
|
||||||
|
--- a/units/systemd-user-sessions.service.in
|
||||||
|
+++ b/units/systemd-user-sessions.service.in
|
||||||
|
@@ -8,7 +8,7 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Permit User Sessions
|
||||||
|
Documentation=man:systemd-user-sessions.service(8)
|
||||||
|
-After=remote-fs.target
|
||||||
|
+After=remote-fs.target nss-user-lookup.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
28
0123-zsh-completion-update-loginctl.patch
Normal file
28
0123-zsh-completion-update-loginctl.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 33783ab52be4b52be91b3565948a29fbfc1d0799 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ronny Chevalier <chevalier.ronny@gmail.com>
|
||||||
|
Date: Tue, 7 Apr 2015 19:35:13 +0200
|
||||||
|
Subject: [PATCH] zsh-completion: update loginctl
|
||||||
|
|
||||||
|
(cherry picked from commit 8470025541039f39391815b2ac93952003b7eee8)
|
||||||
|
---
|
||||||
|
shell-completion/zsh/_loginctl | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/shell-completion/zsh/_loginctl b/shell-completion/zsh/_loginctl
|
||||||
|
index 0de66e191f..bd33b66fae 100644
|
||||||
|
--- a/shell-completion/zsh/_loginctl
|
||||||
|
+++ b/shell-completion/zsh/_loginctl
|
||||||
|
@@ -102,10 +102,11 @@ _arguments -s \
|
||||||
|
'--kill-who=[Who to send signal to]:killwho:(main control all)' \
|
||||||
|
{-s+,--signal=}'[Which signal to send]:signal:_signals' \
|
||||||
|
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
|
||||||
|
- {-M+,--machine=}'[Operate on local container]:machine' \
|
||||||
|
- {-P,--privileged}'[Acquire privileges before execution]' \
|
||||||
|
+ {-M+,--machine=}'[Operate on local container]:machine:_sd_machines' \
|
||||||
|
{-l,--full}'[Do not ellipsize output]' \
|
||||||
|
'--no-pager[Do not pipe output into a pager]' \
|
||||||
|
'--no-legend[Do not show the headers and footers]' \
|
||||||
|
'--no-ask-password[Do not ask for system passwords]' \
|
||||||
|
+ {-n+,--lines=}'[Number of journal entries to show]' \
|
||||||
|
+ {-o+,--output=}'[Change journal output mode]:output modes:_sd_outputmodes' \
|
||||||
|
'*::loginctl command:_loginctl_command'
|
@ -0,0 +1,22 @@
|
|||||||
|
From 5fa78764c2405083d5023f56799e518e641abb2f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ronny Chevalier <chevalier.ronny@gmail.com>
|
||||||
|
Date: Tue, 7 Apr 2015 19:35:57 +0200
|
||||||
|
Subject: [PATCH] zsh-completion: add missing -M completion for journalctl
|
||||||
|
|
||||||
|
(cherry picked from commit b178d279d92fdf002b18dd2f06f2353af14d0a6e)
|
||||||
|
---
|
||||||
|
shell-completion/zsh/_journalctl | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/shell-completion/zsh/_journalctl b/shell-completion/zsh/_journalctl
|
||||||
|
index a469bbc9a7..863348e050 100644
|
||||||
|
--- a/shell-completion/zsh/_journalctl
|
||||||
|
+++ b/shell-completion/zsh/_journalctl
|
||||||
|
@@ -76,6 +76,7 @@ _arguments -s \
|
||||||
|
{-F,--field=}'[List all values a certain field takes]:Fields:_list_fields' \
|
||||||
|
'--system[Show system and kernel messages]' \
|
||||||
|
'--user[Show messages from user services]' \
|
||||||
|
+ {-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
|
||||||
|
{-D+,--directory=}'[Show journal files from directory]:directories:_directories' \
|
||||||
|
'--file=[Operate on specified journal files]:file:_files' \
|
||||||
|
'--root=[Operate on catalog hierarchy under specified directory]:directories:_directories' \
|
45
0125-zsh-completion-update-hostnamectl.patch
Normal file
45
0125-zsh-completion-update-hostnamectl.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From 8a4bf5dd52fe70734d566df3315927e41d27ac0e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ronny Chevalier <chevalier.ronny@gmail.com>
|
||||||
|
Date: Tue, 7 Apr 2015 20:14:28 +0200
|
||||||
|
Subject: [PATCH] zsh-completion: update hostnamectl
|
||||||
|
|
||||||
|
(cherry picked from commit d67b1f525f488e5dfc076972cccf2a6411257fb8)
|
||||||
|
---
|
||||||
|
shell-completion/zsh/_hostnamectl | 12 +++++++++++-
|
||||||
|
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/shell-completion/zsh/_hostnamectl b/shell-completion/zsh/_hostnamectl
|
||||||
|
index a7217a1999..7528e0649d 100644
|
||||||
|
--- a/shell-completion/zsh/_hostnamectl
|
||||||
|
+++ b/shell-completion/zsh/_hostnamectl
|
||||||
|
@@ -33,6 +33,14 @@ _hostnamectl_set-deployment() {
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
+_hostnamectl_set-location() {
|
||||||
|
+ if (( CURRENT <= 3 )); then
|
||||||
|
+ _message "new location"
|
||||||
|
+ else
|
||||||
|
+ _message "no more options"
|
||||||
|
+ fi
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
_hostnamectl_command() {
|
||||||
|
local -a _hostnamectl_cmds
|
||||||
|
_hostnamectl_cmds=(
|
||||||
|
@@ -40,7 +48,8 @@ _hostnamectl_command() {
|
||||||
|
"set-hostname:Set system hostname"
|
||||||
|
"set-icon-name:Set icon name for host"
|
||||||
|
"set-chassis:Set chassis type for host"
|
||||||
|
- "set-deployment:Set deployment environment"
|
||||||
|
+ "set-deployment:Set deployment environment for host"
|
||||||
|
+ "set-location:Set location for host"
|
||||||
|
)
|
||||||
|
if (( CURRENT == 1 )); then
|
||||||
|
_describe -t commands 'hostnamectl commands' _hostnamectl_cmds || compadd "$@"
|
||||||
|
@@ -67,4 +76,5 @@ _arguments -s \
|
||||||
|
'--pretty[Only set pretty hostname]' \
|
||||||
|
'--no-ask-password[Do not prompt for password]' \
|
||||||
|
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
|
||||||
|
+ {-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
|
||||||
|
'*::hostnamectl commands:_hostnamectl_command'
|
50
0126-shell-completion-systemctl-switch-root-verb.patch
Normal file
50
0126-shell-completion-systemctl-switch-root-verb.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From 51265c779c2c9ed84971405827595a41a10c5398 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||||
|
Date: Thu, 2 Apr 2015 22:54:35 -0400
|
||||||
|
Subject: [PATCH] shell-completion: systemctl switch-root verb
|
||||||
|
|
||||||
|
The completion is rudimentary (all files). I think this is OK since
|
||||||
|
this is used so rarely. But not having it proposed at all is annoying.
|
||||||
|
|
||||||
|
(cherry picked from commit 7b742b3130941b5c8d5e178b6694428fb3b61086)
|
||||||
|
---
|
||||||
|
shell-completion/bash/systemctl.in | 2 +-
|
||||||
|
shell-completion/zsh/_systemctl.in | 5 +++++
|
||||||
|
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/shell-completion/bash/systemctl.in b/shell-completion/bash/systemctl.in
|
||||||
|
index 8063316ec6..3d787cdb77 100644
|
||||||
|
--- a/shell-completion/bash/systemctl.in
|
||||||
|
+++ b/shell-completion/bash/systemctl.in
|
||||||
|
@@ -160,7 +160,7 @@ _systemctl () {
|
||||||
|
reboot rescue show-environment suspend get-default
|
||||||
|
is-system-running'
|
||||||
|
[NAME]='snapshot'
|
||||||
|
- [FILE]='link'
|
||||||
|
+ [FILE]='link switch-root'
|
||||||
|
[TARGETS]='set-default'
|
||||||
|
)
|
||||||
|
|
||||||
|
diff --git a/shell-completion/zsh/_systemctl.in b/shell-completion/zsh/_systemctl.in
|
||||||
|
index 7f2d5ac0fa..82edfd3d74 100644
|
||||||
|
--- a/shell-completion/zsh/_systemctl.in
|
||||||
|
+++ b/shell-completion/zsh/_systemctl.in
|
||||||
|
@@ -59,6 +59,7 @@
|
||||||
|
"reboot:Shut down and reboot the system"
|
||||||
|
"kexec:Shut down and reboot the system with kexec"
|
||||||
|
"exit:Ask for user instance termination"
|
||||||
|
+ "switch-root:Change root directory"
|
||||||
|
)
|
||||||
|
|
||||||
|
if (( CURRENT == 1 )); then
|
||||||
|
@@ -297,6 +298,10 @@ done
|
||||||
|
_sd_unit_files
|
||||||
|
}
|
||||||
|
|
||||||
|
+(( $+functions[_systemctl_switch-root] )) || _systemctl_switch-root() {
|
||||||
|
+ _files
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
# no systemctl completion for:
|
||||||
|
# [STANDALONE]='daemon-reexec daemon-reload default
|
||||||
|
# emergency exit halt kexec list-jobs list-units
|
26
0127-core-automount-beef-up-error-message.patch
Normal file
26
0127-core-automount-beef-up-error-message.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From 7a6c9117eca12a1a59f1323ba7407e7b6dedfa66 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||||
|
Date: Thu, 2 Apr 2015 22:58:39 -0400
|
||||||
|
Subject: [PATCH] core/automount: beef up error message
|
||||||
|
|
||||||
|
This should not happen... but when it does more information is nice.
|
||||||
|
|
||||||
|
(cherry picked from commit 50b03c8ea1248f2d35a9042a3fa959adc0ceb819)
|
||||||
|
---
|
||||||
|
src/core/automount.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/automount.c b/src/core/automount.c
|
||||||
|
index e4c79415d1..b391f6198e 100644
|
||||||
|
--- a/src/core/automount.c
|
||||||
|
+++ b/src/core/automount.c
|
||||||
|
@@ -734,7 +734,8 @@ static int automount_dispatch_io(sd_event_source *s, int fd, uint32_t events, vo
|
||||||
|
assert(fd == a->pipe_fd);
|
||||||
|
|
||||||
|
if (events != EPOLLIN) {
|
||||||
|
- log_unit_error(UNIT(a)->id, "Got invalid poll event on pipe.");
|
||||||
|
+ log_unit_error(UNIT(a)->id, "%s: got invalid poll event %"PRIu32" on pipe (fd=%d)",
|
||||||
|
+ UNIT(a)->id, events, fd);
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
25
0128-man-remove-fs-from-rootfsflags.patch
Normal file
25
0128-man-remove-fs-from-rootfsflags.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From d0d6d8081f89fd03cc2bdb4068239928e36db73c Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||||
|
Date: Fri, 3 Apr 2015 08:28:21 -0400
|
||||||
|
Subject: [PATCH] man: remove 'fs' from 'rootfsflags'
|
||||||
|
|
||||||
|
rootfsflags does not appear anywhere else.
|
||||||
|
|
||||||
|
(cherry picked from commit d6a12e7ca3a17ce0224fd6c95d827e4f97fe2c9a)
|
||||||
|
---
|
||||||
|
man/kernel-command-line.xml | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/man/kernel-command-line.xml b/man/kernel-command-line.xml
|
||||||
|
index 919bd13745..eb73727027 100644
|
||||||
|
--- a/man/kernel-command-line.xml
|
||||||
|
+++ b/man/kernel-command-line.xml
|
||||||
|
@@ -295,7 +295,7 @@
|
||||||
|
<varlistentry>
|
||||||
|
<term><varname>root=</varname></term>
|
||||||
|
<term><varname>rootfstype=</varname></term>
|
||||||
|
- <term><varname>rootfsflags=</varname></term>
|
||||||
|
+ <term><varname>rootflags=</varname></term>
|
||||||
|
<term><varname>ro</varname></term>
|
||||||
|
<term><varname>rw</varname></term>
|
||||||
|
|
53
0129-shared-fix-memleak.patch
Normal file
53
0129-shared-fix-memleak.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
From 7b0a1d188bf80e77d833f1c624a9a9f467f3af25 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ronny Chevalier <chevalier.ronny@gmail.com>
|
||||||
|
Date: Fri, 10 Apr 2015 15:44:02 +0200
|
||||||
|
Subject: [PATCH] shared: fix memleak
|
||||||
|
|
||||||
|
path was used for 2 purposes but it was not freed before being reused.
|
||||||
|
|
||||||
|
(cherry picked from commit 0d67448869bd881fd6aea57de6da98800395cf1f)
|
||||||
|
---
|
||||||
|
src/shared/install.c | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/shared/install.c b/src/shared/install.c
|
||||||
|
index 92b8d6e8ef..efd489ec08 100644
|
||||||
|
--- a/src/shared/install.c
|
||||||
|
+++ b/src/shared/install.c
|
||||||
|
@@ -515,7 +515,7 @@ static int find_symlinks_in_scope(
|
||||||
|
UnitFileState *state) {
|
||||||
|
|
||||||
|
int r;
|
||||||
|
- _cleanup_free_ char *path = NULL;
|
||||||
|
+ _cleanup_free_ char *normal_path = NULL, *runtime_path = NULL;
|
||||||
|
bool same_name_link_runtime = false, same_name_link = false;
|
||||||
|
|
||||||
|
assert(scope >= 0);
|
||||||
|
@@ -523,11 +523,11 @@ static int find_symlinks_in_scope(
|
||||||
|
assert(name);
|
||||||
|
|
||||||
|
/* First look in runtime config path */
|
||||||
|
- r = get_config_path(scope, true, root_dir, &path);
|
||||||
|
+ r = get_config_path(scope, true, root_dir, &normal_path);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
- r = find_symlinks(name, path, &same_name_link_runtime);
|
||||||
|
+ r = find_symlinks(name, normal_path, &same_name_link_runtime);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
else if (r > 0) {
|
||||||
|
@@ -536,11 +536,11 @@ static int find_symlinks_in_scope(
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Then look in the normal config path */
|
||||||
|
- r = get_config_path(scope, false, root_dir, &path);
|
||||||
|
+ r = get_config_path(scope, false, root_dir, &runtime_path);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
- r = find_symlinks(name, path, &same_name_link);
|
||||||
|
+ r = find_symlinks(name, runtime_path, &same_name_link);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
else if (r > 0) {
|
52
0130-udev-restore-udevadm-settle-timeout.patch
Normal file
52
0130-udev-restore-udevadm-settle-timeout.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
From 6ee163ccd848bc0283a4895dddd55f3a71626d6a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nir Soffer <nirsof@gmail.com>
|
||||||
|
Date: Wed, 8 Apr 2015 04:04:16 +0300
|
||||||
|
Subject: [PATCH] udev: restore udevadm settle timeout
|
||||||
|
|
||||||
|
Commit 9ea28c55a2 (udev: remove seqnum API and all assumptions about
|
||||||
|
seqnums) introduced a regresion, ignoring the timeout option when
|
||||||
|
waiting until the event queue is empty.
|
||||||
|
|
||||||
|
Previously, if the udev event queue was not empty when the timeout was
|
||||||
|
expired, udevadm settle was returning with exit code 1. To check if the
|
||||||
|
queue is empty, you could invoke udevadm settle with timeout=0. This
|
||||||
|
patch restores the previous behavior.
|
||||||
|
|
||||||
|
(David: fixed timeout==0 handling and dropped redundant assignment)
|
||||||
|
|
||||||
|
(cherry picked from commit 0736455b1186c9515e0f093e1e686e684d225787)
|
||||||
|
---
|
||||||
|
src/udev/udevadm-settle.c | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/udev/udevadm-settle.c b/src/udev/udevadm-settle.c
|
||||||
|
index fff5de7a8b..e60c4623bd 100644
|
||||||
|
--- a/src/udev/udevadm-settle.c
|
||||||
|
+++ b/src/udev/udevadm-settle.c
|
||||||
|
@@ -56,6 +56,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) {
|
||||||
|
{ "quiet", no_argument, NULL, 'q' }, /* removed */
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
+ usec_t deadline;
|
||||||
|
const char *exists = NULL;
|
||||||
|
unsigned int timeout = 120;
|
||||||
|
struct pollfd pfd[1] = { {.fd = -1}, };
|
||||||
|
@@ -105,6 +106,8 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) {
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ deadline = now(CLOCK_MONOTONIC) + timeout * USEC_PER_SEC;
|
||||||
|
+
|
||||||
|
/* guarantee that the udev daemon isn't pre-processing */
|
||||||
|
if (getuid() == 0) {
|
||||||
|
struct udev_ctrl *uctrl;
|
||||||
|
@@ -146,6 +149,9 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (timeout > 0 && now(CLOCK_MONOTONIC) >= deadline)
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
/* wake up when queue is empty */
|
||||||
|
if (poll(pfd, 1, MSEC_PER_SEC) > 0 && pfd[0].revents & POLLIN)
|
||||||
|
udev_queue_flush(queue);
|
30
0131-hwdb-add-Samsung-ATIV-Book-6-8.patch
Normal file
30
0131-hwdb-add-Samsung-ATIV-Book-6-8.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From cc2497363c22f32a4e38ca048f546a651ec45655 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gavin Li <git@thegavinli.com>
|
||||||
|
Date: Tue, 7 Apr 2015 03:30:10 -0700
|
||||||
|
Subject: [PATCH] hwdb: add Samsung ATIV Book 6 / 8
|
||||||
|
|
||||||
|
This adds support for the keyboard illumination keys and fixes
|
||||||
|
Fn+F1.
|
||||||
|
|
||||||
|
(cherry picked from commit af97ebf2dd8a2ec0d46f2924e35a63a55523c133)
|
||||||
|
---
|
||||||
|
hwdb/60-keyboard.hwdb | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb
|
||||||
|
index 88906655ef..9f99ca8cac 100644
|
||||||
|
--- a/hwdb/60-keyboard.hwdb
|
||||||
|
+++ b/hwdb/60-keyboard.hwdb
|
||||||
|
@@ -1009,6 +1009,12 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*7[34]0U3E*:pvr*
|
||||||
|
KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer
|
||||||
|
KEYBOARD_KEY_d5=!wlan # Fn+F12 wlan/airplane switch
|
||||||
|
|
||||||
|
+# ATIV Book 6 / 8
|
||||||
|
+evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*[68][78]0Z*:pvr*
|
||||||
|
+ KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
|
||||||
|
+ KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up
|
||||||
|
+ KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down
|
||||||
|
+
|
||||||
|
# SQ1US
|
||||||
|
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pnSQ1US:pvr*
|
||||||
|
KEYBOARD_KEY_d4=menu
|
@ -0,0 +1,67 @@
|
|||||||
|
From bb9b6abb1a73cadcd1ce48a83376183163f7ecd6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Drake <drake@endlessm.com>
|
||||||
|
Date: Mon, 6 Apr 2015 16:03:43 -0600
|
||||||
|
Subject: [PATCH] udevd: fix synchronization with settle when handling inotify
|
||||||
|
events
|
||||||
|
|
||||||
|
udev uses inotify to implement a scheme where when the user closes
|
||||||
|
a writable device node, a change uevent is forcefully generated.
|
||||||
|
In the case of block devices, it actually requests a partition rescan.
|
||||||
|
|
||||||
|
This currently can't be synchronized with "udevadm settle", i.e. this
|
||||||
|
is not reliable in a script:
|
||||||
|
|
||||||
|
sfdisk --change-id /dev/sda 1 81
|
||||||
|
udevadm settle
|
||||||
|
mount /dev/sda1 /foo
|
||||||
|
|
||||||
|
The settle call doesn't synchronize there, so at the same time we try
|
||||||
|
to mount the device, udevd is busy removing the partition device nodes and
|
||||||
|
readding them again. The mount call often happens in that moment where the
|
||||||
|
partition node has been removed but not readded yet.
|
||||||
|
|
||||||
|
This exact issue was fixed long ago:
|
||||||
|
http://git.kernel.org/cgit/linux/hotplug/udev.git/commit/?id=bb38678e3ccc02bcd970ccde3d8166a40edf92d3
|
||||||
|
|
||||||
|
but that fix is no longer valid now that sequence numbers are no longer
|
||||||
|
used.
|
||||||
|
|
||||||
|
Fix this by forcing another mainloop iteration after handling inotify events
|
||||||
|
before unblocking settle. If the inotify event caused us to generate a
|
||||||
|
"change" event, we'll pick that up in the following loop iteration, before
|
||||||
|
we reach the end of the loop where we respond to settle's control message,
|
||||||
|
unblocking it.
|
||||||
|
|
||||||
|
(cherry picked from commit 07ba8037bf2a2d6a683fa107ee6f2b9545fca23e)
|
||||||
|
---
|
||||||
|
src/udev/udevd.c | 15 ++++++++++++++-
|
||||||
|
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
|
||||||
|
index e98c1fd6da..87a3f69e90 100644
|
||||||
|
--- a/src/udev/udevd.c
|
||||||
|
+++ b/src/udev/udevd.c
|
||||||
|
@@ -1502,9 +1502,22 @@ int main(int argc, char *argv[]) {
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/* device node watch */
|
||||||
|
- if (is_inotify)
|
||||||
|
+ if (is_inotify) {
|
||||||
|
handle_inotify(udev);
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * settle might be waiting on us to determine the queue
|
||||||
|
+ * state. If we just handled an inotify event, we might have
|
||||||
|
+ * generated a "change" event, but we won't have queued up
|
||||||
|
+ * the resultant uevent yet.
|
||||||
|
+ *
|
||||||
|
+ * Before we go ahead and potentially tell settle that the
|
||||||
|
+ * queue is empty, lets loop one more time to update the
|
||||||
|
+ * queue state again before deciding.
|
||||||
|
+ */
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* tell settle that we are busy or idle, this needs to be before the
|
||||||
|
* PING handling
|
||||||
|
*/
|
@ -0,0 +1,39 @@
|
|||||||
|
From 9aa4f0e0a69e610ca38ed34692e42be330cb7041 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
|
||||||
|
Date: Wed, 25 Mar 2015 17:00:09 +0000
|
||||||
|
Subject: [PATCH] python-systemd: fix is_socket_inet to cope with ports
|
||||||
|
|
||||||
|
Just a couple of trivial oversights.
|
||||||
|
|
||||||
|
(cherry picked from commit 9f1a574d50c1ffd19f18805cc8a3a433c4f2da37)
|
||||||
|
---
|
||||||
|
src/python-systemd/_daemon.c | 2 +-
|
||||||
|
src/python-systemd/daemon.py | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/python-systemd/_daemon.c b/src/python-systemd/_daemon.c
|
||||||
|
index 65cfec7ce8..7c5f1b2bb6 100644
|
||||||
|
--- a/src/python-systemd/_daemon.c
|
||||||
|
+++ b/src/python-systemd/_daemon.c
|
||||||
|
@@ -225,7 +225,7 @@ static PyObject* is_socket_inet(PyObject *self, PyObject *args) {
|
||||||
|
&fd, &family, &type, &listening, &port))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
- if (port < 0 || port > INT16_MAX) {
|
||||||
|
+ if (port < 0 || port > UINT16_MAX) {
|
||||||
|
set_error(-EINVAL, NULL, "port must fit into uint16_t");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
diff --git a/src/python-systemd/daemon.py b/src/python-systemd/daemon.py
|
||||||
|
index 1c386bb6fc..82011ca606 100644
|
||||||
|
--- a/src/python-systemd/daemon.py
|
||||||
|
+++ b/src/python-systemd/daemon.py
|
||||||
|
@@ -26,7 +26,7 @@ def is_socket(fileobj, family=_AF_UNSPEC, type=0, listening=-1):
|
||||||
|
|
||||||
|
def is_socket_inet(fileobj, family=_AF_UNSPEC, type=0, listening=-1, port=0):
|
||||||
|
fd = _convert_fileobj(fileobj)
|
||||||
|
- return _is_socket_inet(fd, family, type, listening)
|
||||||
|
+ return _is_socket_inet(fd, family, type, listening, port)
|
||||||
|
|
||||||
|
def is_socket_unix(fileobj, type=0, listening=-1, path=None):
|
||||||
|
fd = _convert_fileobj(fileobj)
|
33
0134-man-fix-examples-indentation-in-tmpfiles.d-5.patch
Normal file
33
0134-man-fix-examples-indentation-in-tmpfiles.d-5.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From 1625df2abbb82af7a0b2c02291e8379f00bdb8c4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Mon, 13 Apr 2015 15:23:07 +0200
|
||||||
|
Subject: [PATCH] man: fix examples indentation in tmpfiles.d(5)
|
||||||
|
|
||||||
|
(cherry picked from commit bd1100898d63e9e2d8f6327b6895454f9abd5bd0)
|
||||||
|
---
|
||||||
|
man/tmpfiles.d.xml | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml
|
||||||
|
index 4bd0fcf751..9b4e11c1b9 100644
|
||||||
|
--- a/man/tmpfiles.d.xml
|
||||||
|
+++ b/man/tmpfiles.d.xml
|
||||||
|
@@ -504,15 +504,15 @@
|
||||||
|
boot with specific modes and ownership.</para>
|
||||||
|
|
||||||
|
<programlisting>d /run/screens 1777 root root 10d
|
||||||
|
- d /run/uscreens 0755 root root 10d12h
|
||||||
|
- t /run/screen - - - - user.name="John Smith" security.SMACK64=screen</programlisting>
|
||||||
|
+d /run/uscreens 0755 root root 10d12h
|
||||||
|
+t /run/screen - - - - user.name="John Smith" security.SMACK64=screen</programlisting>
|
||||||
|
</example>
|
||||||
|
<example>
|
||||||
|
<title>/etc/tmpfiles.d/abrt.conf example</title>
|
||||||
|
<para><command>abrt</command> needs a directory created at boot with specific mode and ownership and its content should be preserved.</para>
|
||||||
|
|
||||||
|
<programlisting>d /var/tmp/abrt 0755 abrt abrt
|
||||||
|
- x /var/tmp/abrt/*</programlisting>
|
||||||
|
+x /var/tmp/abrt/*</programlisting>
|
||||||
|
</example>
|
||||||
|
</refsect1>
|
||||||
|
|
@ -0,0 +1,43 @@
|
|||||||
|
From 8bdb345984f8a00ff866c1b4198888a9eef03395 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||||
|
Date: Tue, 14 Apr 2015 20:47:20 -0500
|
||||||
|
Subject: [PATCH] systemctl: avoid bumping NOFILE rlimit unless needed
|
||||||
|
|
||||||
|
We actually only use the journal when showing status. Move setrlimit call
|
||||||
|
so it is only called for status.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1184712
|
||||||
|
(cherry picked from commit 40acc203c043fd419f3c045dc6f116c3a28411d8)
|
||||||
|
---
|
||||||
|
src/systemctl/systemctl.c | 11 ++++++-----
|
||||||
|
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
|
||||||
|
index 4ec0cff21d..089c25f83f 100644
|
||||||
|
--- a/src/systemctl/systemctl.c
|
||||||
|
+++ b/src/systemctl/systemctl.c
|
||||||
|
@@ -4449,6 +4449,12 @@ static int show(sd_bus *bus, char **args) {
|
||||||
|
if (show_properties)
|
||||||
|
pager_open_if_enabled();
|
||||||
|
|
||||||
|
+ if (show_status)
|
||||||
|
+ /* Increase max number of open files to 16K if we can, we
|
||||||
|
+ * might needs this when browsing journal files, which might
|
||||||
|
+ * be split up into many files. */
|
||||||
|
+ setrlimit_closest(RLIMIT_NOFILE, &RLIMIT_MAKE_CONST(16384));
|
||||||
|
+
|
||||||
|
/* If no argument is specified inspect the manager itself */
|
||||||
|
|
||||||
|
if (show_properties && strv_length(args) <= 1)
|
||||||
|
@@ -7207,11 +7213,6 @@ found:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* Increase max number of open files to 16K if we can, we
|
||||||
|
- * might needs this when browsing journal files, which might
|
||||||
|
- * be split up into many files. */
|
||||||
|
- setrlimit_closest(RLIMIT_NOFILE, &RLIMIT_MAKE_CONST(16384));
|
||||||
|
-
|
||||||
|
return verb->dispatch(bus, argv + optind);
|
||||||
|
}
|
||||||
|
|
23
0136-exit-status-Fix-NOTINSSTALLED-typo.patch
Normal file
23
0136-exit-status-Fix-NOTINSSTALLED-typo.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
From 25a7f022e7e2e004f12757b7e73d7b7aecfe8926 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Pitt <martin.pitt@ubuntu.com>
|
||||||
|
Date: Sat, 18 Apr 2015 22:38:13 +0100
|
||||||
|
Subject: [PATCH] exit-status: Fix "NOTINSSTALLED" typo
|
||||||
|
|
||||||
|
(cherry picked from commit 9f8f87e375175536a972feab79c2ff8901c47f8e)
|
||||||
|
---
|
||||||
|
src/shared/exit-status.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/shared/exit-status.c b/src/shared/exit-status.c
|
||||||
|
index 5c73b4d3c0..90c83a47a8 100644
|
||||||
|
--- a/src/shared/exit-status.c
|
||||||
|
+++ b/src/shared/exit-status.c
|
||||||
|
@@ -167,7 +167,7 @@ const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level) {
|
||||||
|
return "NOPERMISSION";
|
||||||
|
|
||||||
|
case EXIT_NOTINSTALLED:
|
||||||
|
- return "NOTINSSTALLED";
|
||||||
|
+ return "NOTINSTALLED";
|
||||||
|
|
||||||
|
case EXIT_NOTCONFIGURED:
|
||||||
|
return "NOTCONFIGURED";
|
@ -0,0 +1,37 @@
|
|||||||
|
From 8d89839589bf8d8498ee21f4257242d38df9b7e0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nir Soffer <nirsof@gmail.com>
|
||||||
|
Date: Sun, 19 Apr 2015 03:41:26 +0300
|
||||||
|
Subject: [PATCH] udev: settle should return immediately when timeout is 0
|
||||||
|
|
||||||
|
udevadm manual says:
|
||||||
|
|
||||||
|
A value of 0 will check if the queue is empty and always return
|
||||||
|
immediately.
|
||||||
|
|
||||||
|
However, currently we ignore the deadline if the value is 0, and wait
|
||||||
|
without any limit.
|
||||||
|
|
||||||
|
Zero timeout behaved according to the documentation until commit
|
||||||
|
ead7c62ab7 (udevadm: settle - kill alarm()). Looking at this patch, it
|
||||||
|
seems that the behavior change was unintended.
|
||||||
|
|
||||||
|
This patch restores the documented behavior.
|
||||||
|
|
||||||
|
(cherry picked from commit bf23b9f86f6807c3029a6a46e1999ae0c87ca22a)
|
||||||
|
---
|
||||||
|
src/udev/udevadm-settle.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/udev/udevadm-settle.c b/src/udev/udevadm-settle.c
|
||||||
|
index e60c4623bd..40e3e28b1e 100644
|
||||||
|
--- a/src/udev/udevadm-settle.c
|
||||||
|
+++ b/src/udev/udevadm-settle.c
|
||||||
|
@@ -149,7 +149,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (timeout > 0 && now(CLOCK_MONOTONIC) >= deadline)
|
||||||
|
+ if (now(CLOCK_MONOTONIC) >= deadline)
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* wake up when queue is empty */
|
32
0138-importd-add-CAP_DAC_OVERRIDE-capability.patch
Normal file
32
0138-importd-add-CAP_DAC_OVERRIDE-capability.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
From 989f43ac4c07d47147facd62d3703d3d97b50e01 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||||
|
Date: Mon, 13 Apr 2015 19:46:59 +0200
|
||||||
|
Subject: [PATCH] importd: add CAP_DAC_OVERRIDE capability
|
||||||
|
|
||||||
|
Fedora's filesystem package ships /usr/bin (and other directories) which are
|
||||||
|
not writable by its owner. machinectl pull-dkr (and possibly others) are not
|
||||||
|
able to extract those:
|
||||||
|
|
||||||
|
14182 mkdirat(3, "usr", 0700) = 0
|
||||||
|
14182 mkdirat(3, "usr/bin", 0500) = 0
|
||||||
|
14182 openat(3, "usr/bin/[", O_WRONLY|O_CREAT|O_EXCL|O_NOCTTY|O_NONBLOCK|O_CLOEXEC, 0700) = -1 EACCES (Permission denied)
|
||||||
|
...
|
||||||
|
|
||||||
|
(cherry picked from commit 15d7b51724cc9775f03f2af4d3eec7f48f39f7de)
|
||||||
|
---
|
||||||
|
units/systemd-importd.service.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/units/systemd-importd.service.in b/units/systemd-importd.service.in
|
||||||
|
index 26759ea0fb..45e98fd320 100644
|
||||||
|
--- a/units/systemd-importd.service.in
|
||||||
|
+++ b/units/systemd-importd.service.in
|
||||||
|
@@ -12,7 +12,7 @@ Documentation=man:systemd-importd.service(8)
|
||||||
|
[Service]
|
||||||
|
ExecStart=@rootlibexecdir@/systemd-importd
|
||||||
|
BusName=org.freedesktop.import1
|
||||||
|
-CapabilityBoundingSet=CAP_CHOWN CAP_FOWNER CAP_FSETID CAP_MKNOD CAP_SETFCAP CAP_SYS_ADMIN CAP_SETPCAP
|
||||||
|
+CapabilityBoundingSet=CAP_CHOWN CAP_FOWNER CAP_FSETID CAP_MKNOD CAP_SETFCAP CAP_SYS_ADMIN CAP_SETPCAP CAP_DAC_OVERRIDE
|
||||||
|
NoNewPrivileges=yes
|
||||||
|
WatchdogSec=1min
|
||||||
|
PrivateTmp=yes
|
@ -0,0 +1,24 @@
|
|||||||
|
From 7abbe742f656e171effea73821c38c29565bcab2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Tue, 21 Apr 2015 17:26:56 +0200
|
||||||
|
Subject: [PATCH] tmpfiles: there's no systemd-forbid-user-logins.service
|
||||||
|
service
|
||||||
|
|
||||||
|
(cherry picked from commit 451d691ae110a600497348d9f6288bc84efb8642)
|
||||||
|
---
|
||||||
|
tmpfiles.d/systemd-nologin.conf | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tmpfiles.d/systemd-nologin.conf b/tmpfiles.d/systemd-nologin.conf
|
||||||
|
index d61232b534..a30a8da604 100644
|
||||||
|
--- a/tmpfiles.d/systemd-nologin.conf
|
||||||
|
+++ b/tmpfiles.d/systemd-nologin.conf
|
||||||
|
@@ -5,7 +5,7 @@
|
||||||
|
# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
-# See tmpfiles.d(5) and systemd-forbid-user-logins.service(5).
|
||||||
|
+# See tmpfiles.d(5), systemd-user-session.service(5) and pam_nologin(8).
|
||||||
|
# This file has special suffix so it is not run by mistake.
|
||||||
|
|
||||||
|
F! /run/nologin 0644 - - - "System is booting up. See pam_nologin(8)"
|
46
0140-kmod-setup-load-ip_tables-kmod-at-boot.patch
Normal file
46
0140-kmod-setup-load-ip_tables-kmod-at-boot.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
From 08a2ba2c6981ec9fef16639d1bed16a40406f0d0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Wed, 22 Apr 2015 13:50:56 +0200
|
||||||
|
Subject: [PATCH] kmod-setup: load ip_tables kmod at boot
|
||||||
|
|
||||||
|
The module is currently no auto-loadable (and this is unlikely to change
|
||||||
|
anytime soon, given it's API is via getsockopt/setsockopt). It is needed
|
||||||
|
by networkd and nspawn currently.
|
||||||
|
|
||||||
|
Users who really don't like the module to be loaded have the option to
|
||||||
|
blacklist it still, or not compile it at all. But for all others this
|
||||||
|
should make things work out-of-the-box.
|
||||||
|
|
||||||
|
(cherry picked from commit 1d3087978a8ee23107cb64aa55ca97aefe9531e2)
|
||||||
|
---
|
||||||
|
src/core/kmod-setup.c | 11 +++++++----
|
||||||
|
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
|
||||||
|
index c0a05b97aa..97f3b9b34a 100644
|
||||||
|
--- a/src/core/kmod-setup.c
|
||||||
|
+++ b/src/core/kmod-setup.c
|
||||||
|
@@ -63,16 +63,19 @@ int kmod_setup(void) {
|
||||||
|
bool (*condition_fn)(void);
|
||||||
|
} kmod_table[] = {
|
||||||
|
/* auto-loading on use doesn't work before udev is up */
|
||||||
|
- { "autofs4", "/sys/class/misc/autofs", true, NULL },
|
||||||
|
+ { "autofs4", "/sys/class/misc/autofs", true, NULL },
|
||||||
|
|
||||||
|
/* early configure of ::1 on the loopback device */
|
||||||
|
- { "ipv6", "/sys/module/ipv6", true, NULL },
|
||||||
|
+ { "ipv6", "/sys/module/ipv6", true, NULL },
|
||||||
|
|
||||||
|
/* this should never be a module */
|
||||||
|
- { "unix", "/proc/net/unix", true, NULL },
|
||||||
|
+ { "unix", "/proc/net/unix", true, NULL },
|
||||||
|
|
||||||
|
/* IPC is needed before we bring up any other services */
|
||||||
|
- { "kdbus", "/sys/fs/kdbus", false, cmdline_check_kdbus },
|
||||||
|
+ { "kdbus", "/sys/fs/kdbus", false, cmdline_check_kdbus },
|
||||||
|
+
|
||||||
|
+ /* netfilter is needed by networkd, nspawn among others, and cannot be autoloaded */
|
||||||
|
+ { "ip_tables", "/proc/net/ip_tables_names", false, NULL },
|
||||||
|
};
|
||||||
|
struct kmod_ctx *ctx = NULL;
|
||||||
|
unsigned int i;
|
29
0141-udev-Fix-ping-timeout-when-settle-timeout-is-0.patch
Normal file
29
0141-udev-Fix-ping-timeout-when-settle-timeout-is-0.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From a8d917c7e49e3111aaf7bd80cd1b8731c4ea81ed Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nir Soffer <nirsof@gmail.com>
|
||||||
|
Date: Sun, 19 Apr 2015 02:49:47 +0300
|
||||||
|
Subject: [PATCH] udev: Fix ping timeout when settle timeout is 0
|
||||||
|
|
||||||
|
When running udevadm settle --timeout=0, the ping always times out, and
|
||||||
|
udevadm will return 0 without checking the queue state.
|
||||||
|
|
||||||
|
(David: Use a reasonable timeout to still get the barrier provided by
|
||||||
|
ctrl-ping)
|
||||||
|
|
||||||
|
(cherry picked from commit 7375b3c4871861f100860ea4c2848e66b60e6ca4)
|
||||||
|
---
|
||||||
|
src/udev/udevadm-settle.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/udev/udevadm-settle.c b/src/udev/udevadm-settle.c
|
||||||
|
index 40e3e28b1e..33597bc209 100644
|
||||||
|
--- a/src/udev/udevadm-settle.c
|
||||||
|
+++ b/src/udev/udevadm-settle.c
|
||||||
|
@@ -114,7 +114,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) {
|
||||||
|
|
||||||
|
uctrl = udev_ctrl_new(udev);
|
||||||
|
if (uctrl != NULL) {
|
||||||
|
- if (udev_ctrl_send_ping(uctrl, timeout) < 0) {
|
||||||
|
+ if (udev_ctrl_send_ping(uctrl, MAX(5U, timeout)) < 0) {
|
||||||
|
log_debug("no connection to daemon");
|
||||||
|
udev_ctrl_unref(uctrl);
|
||||||
|
return EXIT_SUCCESS;
|
78
0142-util-Fix-assertion-in-split-on-missing.patch
Normal file
78
0142-util-Fix-assertion-in-split-on-missing.patch
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
From e7a90c1117e4d37be191a6567b405d7908a30434 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Pitt <martin.pitt@ubuntu.com>
|
||||||
|
Date: Wed, 22 Apr 2015 23:09:43 +0100
|
||||||
|
Subject: [PATCH] util: Fix assertion in split() on missing '
|
||||||
|
|
||||||
|
When parsing a unit with a trailing slash after an escaped line break, like
|
||||||
|
|
||||||
|
ExecStart=/bin/echo 'foo \
|
||||||
|
bar'
|
||||||
|
|
||||||
|
the split() function (through config_parse()) asserted and crashed pid 1:
|
||||||
|
|
||||||
|
Assertion 'current[*l + 1] == quotechars[0]' failed at ../src/shared/util.c:583, function split(). Aborting.
|
||||||
|
|
||||||
|
Fix this by returning an error in this case ("trailing garbage").
|
||||||
|
|
||||||
|
Add corresponding test case. Also fix the missing "unit" argument of
|
||||||
|
config_parse_exec() in the comment.
|
||||||
|
|
||||||
|
https://launchpad.net/bugs/1447243
|
||||||
|
(cherry picked from commit 470dca63cd2b1579f45f72b6b9777494abeff105)
|
||||||
|
---
|
||||||
|
src/shared/util.c | 3 +--
|
||||||
|
src/test/test-unit-file.c | 15 +++++++++++++++
|
||||||
|
2 files changed, 16 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/shared/util.c b/src/shared/util.c
|
||||||
|
index 1e1bf944f2..649344d88f 100644
|
||||||
|
--- a/src/shared/util.c
|
||||||
|
+++ b/src/shared/util.c
|
||||||
|
@@ -571,13 +571,12 @@ const char* split(const char **state, size_t *l, const char *separator, bool quo
|
||||||
|
char quotechars[2] = {*current, '\0'};
|
||||||
|
|
||||||
|
*l = strcspn_escaped(current + 1, quotechars);
|
||||||
|
- if (current[*l + 1] == '\0' ||
|
||||||
|
+ if (current[*l + 1] == '\0' || current[*l + 1] != quotechars[0] ||
|
||||||
|
(current[*l + 2] && !strchr(separator, current[*l + 2]))) {
|
||||||
|
/* right quote missing or garbage at the end */
|
||||||
|
*state = current;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
- assert(current[*l + 1] == quotechars[0]);
|
||||||
|
*state = current++ + *l + 2;
|
||||||
|
} else if (quoted) {
|
||||||
|
*l = strcspn_escaped(current, separator);
|
||||||
|
diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c
|
||||||
|
index e517f571d6..9f3e3a227e 100644
|
||||||
|
--- a/src/test/test-unit-file.c
|
||||||
|
+++ b/src/test/test-unit-file.c
|
||||||
|
@@ -92,6 +92,7 @@ static void check_execcommand(ExecCommand *c,
|
||||||
|
|
||||||
|
static void test_config_parse_exec(void) {
|
||||||
|
/* int config_parse_exec(
|
||||||
|
+ const char *unit,
|
||||||
|
const char *filename,
|
||||||
|
unsigned line,
|
||||||
|
const char *section,
|
||||||
|
@@ -303,6 +304,20 @@ static void test_config_parse_exec(void) {
|
||||||
|
assert_se(r == 0);
|
||||||
|
assert_se(c1->command_next == NULL);
|
||||||
|
|
||||||
|
+ log_info("/* missing ending ' */");
|
||||||
|
+ r = config_parse_exec(NULL, "fake", 4, "section", 1,
|
||||||
|
+ "LValue", 0, "/path 'foo",
|
||||||
|
+ &c, NULL);
|
||||||
|
+ assert_se(r == 0);
|
||||||
|
+ assert_se(c1->command_next == NULL);
|
||||||
|
+
|
||||||
|
+ log_info("/* missing ending ' with trailing backslash */");
|
||||||
|
+ r = config_parse_exec(NULL, "fake", 4, "section", 1,
|
||||||
|
+ "LValue", 0, "/path 'foo\\",
|
||||||
|
+ &c, NULL);
|
||||||
|
+ assert_se(r == 0);
|
||||||
|
+ assert_se(c1->command_next == NULL);
|
||||||
|
+
|
||||||
|
exec_command_free_list(c);
|
||||||
|
}
|
||||||
|
|
32
0143-hwdb-add-HP-X1000-DPI-info.patch
Normal file
32
0143-hwdb-add-HP-X1000-DPI-info.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
From 327176ac36892d068e821a1c496ca0862024f02b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Date: Thu, 23 Apr 2015 10:44:30 +1000
|
||||||
|
Subject: [PATCH] hwdb: add HP X1000 DPI info
|
||||||
|
|
||||||
|
Device name is PixArt, but it's sold as a HP brand.
|
||||||
|
|
||||||
|
https://bugs.freedesktop.org/show_bug.cgi?id=90142
|
||||||
|
(cherry picked from commit e8043cd5fe283ff3023f98c15a2f09328805efab)
|
||||||
|
---
|
||||||
|
hwdb/70-mouse.hwdb | 8 ++++++++
|
||||||
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/hwdb/70-mouse.hwdb b/hwdb/70-mouse.hwdb
|
||||||
|
index 93ee4d9fa6..6f06e17091 100644
|
||||||
|
--- a/hwdb/70-mouse.hwdb
|
||||||
|
+++ b/hwdb/70-mouse.hwdb
|
||||||
|
@@ -125,6 +125,14 @@ mouse:usb:v0461p4d16:name:USB Optical Mouse:
|
||||||
|
MOUSE_DPI=500@125
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
+# HP
|
||||||
|
+##########################################
|
||||||
|
+
|
||||||
|
+# HP X1000
|
||||||
|
+mouse:usb:v093ap2510:name:PixArt USB Optical Mouse:
|
||||||
|
+ MOUSE_DPI=1000@125
|
||||||
|
+
|
||||||
|
+##########################################
|
||||||
|
# Lenovo
|
||||||
|
##########################################
|
||||||
|
|
@ -0,0 +1,34 @@
|
|||||||
|
From 0e1b8518cc0409b268bdede1ae4b424c8544ed20 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Fri, 24 Apr 2015 16:12:28 +0200
|
||||||
|
Subject: [PATCH] units: set KillMode=mixed for our daemons that fork worker
|
||||||
|
processes
|
||||||
|
|
||||||
|
The daemons should really have the time to kill the workers first,
|
||||||
|
before systemd does it, hence use KillMode=mixed for these daemons.
|
||||||
|
|
||||||
|
https://bugs.freedesktop.org/show_bug.cgi?id=90051
|
||||||
|
(cherry picked from commit 658f26b828fdd7007cfe82d794f610525b21cb99)
|
||||||
|
---
|
||||||
|
units/systemd-importd.service.in | 1 +
|
||||||
|
units/systemd-udevd.service.in | 1 +
|
||||||
|
2 files changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/units/systemd-importd.service.in b/units/systemd-importd.service.in
|
||||||
|
index 45e98fd320..6359e5cdd9 100644
|
||||||
|
--- a/units/systemd-importd.service.in
|
||||||
|
+++ b/units/systemd-importd.service.in
|
||||||
|
@@ -18,3 +18,4 @@ WatchdogSec=1min
|
||||||
|
PrivateTmp=yes
|
||||||
|
ProtectSystem=full
|
||||||
|
ProtectHome=yes
|
||||||
|
+KillMode=mixed
|
||||||
|
diff --git a/units/systemd-udevd.service.in b/units/systemd-udevd.service.in
|
||||||
|
index a133044005..32f04d901a 100644
|
||||||
|
--- a/units/systemd-udevd.service.in
|
||||||
|
+++ b/units/systemd-udevd.service.in
|
||||||
|
@@ -22,3 +22,4 @@ Restart=always
|
||||||
|
RestartSec=0
|
||||||
|
ExecStart=@rootlibexecdir@/systemd-udevd
|
||||||
|
MountFlags=slave
|
||||||
|
+KillMode=mixed
|
@ -0,0 +1,38 @@
|
|||||||
|
From 10303903dc22ad1711df58556e7057ce59471b2e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Fri, 24 Apr 2015 17:28:06 +0200
|
||||||
|
Subject: [PATCH] unit: don't add automatic dependencies on device units if
|
||||||
|
they aren't supported
|
||||||
|
|
||||||
|
http://lists.freedesktop.org/archives/systemd-devel/2015-April/031187.html
|
||||||
|
(cherry picked from commit 47bc12e1ba35d38edda737dae232088d6d3ae688)
|
||||||
|
---
|
||||||
|
src/core/unit.c | 10 +++++++---
|
||||||
|
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/unit.c b/src/core/unit.c
|
||||||
|
index 565455bd63..b9e1f13eaf 100644
|
||||||
|
--- a/src/core/unit.c
|
||||||
|
+++ b/src/core/unit.c
|
||||||
|
@@ -2830,14 +2830,18 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) {
|
||||||
|
|
||||||
|
assert(u);
|
||||||
|
|
||||||
|
- if (!what)
|
||||||
|
- return 0;
|
||||||
|
-
|
||||||
|
/* Adds in links to the device node that this unit is based on */
|
||||||
|
+ if (isempty(what))
|
||||||
|
+ return 0;
|
||||||
|
|
||||||
|
if (!is_device_path(what))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
+ /* When device units aren't supported (such as in a
|
||||||
|
+ * container), don't create dependencies on them. */
|
||||||
|
+ if (unit_vtable[UNIT_DEVICE]->supported && !unit_vtable[UNIT_DEVICE]->supported(u->manager))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
e = unit_name_from_path(what, ".device");
|
||||||
|
if (!e)
|
||||||
|
return -ENOMEM;
|
@ -0,0 +1,35 @@
|
|||||||
|
From 6cd7b4cf78462c45c2d255a9fbee3fbb5fb015e5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Mon, 27 Apr 2015 17:25:57 +0200
|
||||||
|
Subject: [PATCH] update-done: ignore nanosecond file timestamp components,
|
||||||
|
they are not reliable
|
||||||
|
|
||||||
|
https://bugs.freedesktop.org/show_bug.cgi?id=90192
|
||||||
|
(cherry picked from commit 329c542585cd92cb905990e3bf59eda16fd88cfb)
|
||||||
|
---
|
||||||
|
src/update-done/update-done.c | 12 +++++++++---
|
||||||
|
1 file changed, 9 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/update-done/update-done.c b/src/update-done/update-done.c
|
||||||
|
index 561963e5eb..cb5cd6f4ab 100644
|
||||||
|
--- a/src/update-done/update-done.c
|
||||||
|
+++ b/src/update-done/update-done.c
|
||||||
|
@@ -36,9 +36,15 @@ static int apply_timestamp(const char *path, struct timespec *ts) {
|
||||||
|
assert(ts);
|
||||||
|
|
||||||
|
if (stat(path, &st) >= 0) {
|
||||||
|
- /* Is the timestamp file already newer than the OS? If so, there's nothing to do. */
|
||||||
|
- if (st.st_mtim.tv_sec > ts->tv_sec ||
|
||||||
|
- (st.st_mtim.tv_sec == ts->tv_sec && st.st_mtim.tv_nsec >= ts->tv_nsec))
|
||||||
|
+ /* Is the timestamp file already newer than the OS? If
|
||||||
|
+ * so, there's nothing to do. We ignore the nanosecond
|
||||||
|
+ * component of the timestamp, since some file systems
|
||||||
|
+ * do not support any better accuracy than 1s and we
|
||||||
|
+ * have no way to identify the accuracy
|
||||||
|
+ * available. Most notably ext4 on small disks (where
|
||||||
|
+ * 128 byte inodes are used) does not support better
|
||||||
|
+ * accuracy than 1s. */
|
||||||
|
+ if (st.st_mtim.tv_sec > ts->tv_sec)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
/* It is older? Then let's update it */
|
116
0147-sd-daemon-simplify-sd_pid_notify_with_fds.patch
Normal file
116
0147-sd-daemon-simplify-sd_pid_notify_with_fds.patch
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
From ed66f51061f2ce4d31838739c51f11276f97aaaf Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||||
|
Date: Fri, 13 Mar 2015 21:22:05 -0500
|
||||||
|
Subject: [PATCH] sd-daemon: simplify sd_pid_notify_with_fds
|
||||||
|
|
||||||
|
Coverity was complaining that CMSG_NXTHDR is used without
|
||||||
|
checking the return value. In this case it cannot fail, but
|
||||||
|
it is a good excuse to simplify the function a bit.
|
||||||
|
|
||||||
|
CID #1261726.
|
||||||
|
|
||||||
|
(cherry picked from commit 64144440a5d2d94482f882b992fd2a4e0dca7a05)
|
||||||
|
|
||||||
|
http://lists.freedesktop.org/archives/systemd-devel/2015-April/031348.html
|
||||||
|
---
|
||||||
|
src/libsystemd/sd-daemon/sd-daemon.c | 61 ++++++++++++++++--------------------
|
||||||
|
1 file changed, 27 insertions(+), 34 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/libsystemd/sd-daemon/sd-daemon.c b/src/libsystemd/sd-daemon/sd-daemon.c
|
||||||
|
index 22a3a5347a..1474321c95 100644
|
||||||
|
--- a/src/libsystemd/sd-daemon/sd-daemon.c
|
||||||
|
+++ b/src/libsystemd/sd-daemon/sd-daemon.c
|
||||||
|
@@ -352,12 +352,10 @@ _public_ int sd_pid_notify_with_fds(pid_t pid, int unset_environment, const char
|
||||||
|
.msg_iovlen = 1,
|
||||||
|
.msg_name = &sockaddr,
|
||||||
|
};
|
||||||
|
- struct cmsghdr *control;
|
||||||
|
_cleanup_close_ int fd = -1;
|
||||||
|
struct cmsghdr *cmsg = NULL;
|
||||||
|
const char *e;
|
||||||
|
- size_t controllen_without_ucred = 0;
|
||||||
|
- bool try_without_ucred = false;
|
||||||
|
+ bool have_pid;
|
||||||
|
int r;
|
||||||
|
|
||||||
|
if (!state) {
|
||||||
|
@@ -396,42 +394,37 @@ _public_ int sd_pid_notify_with_fds(pid_t pid, int unset_environment, const char
|
||||||
|
if (msghdr.msg_namelen > sizeof(struct sockaddr_un))
|
||||||
|
msghdr.msg_namelen = sizeof(struct sockaddr_un);
|
||||||
|
|
||||||
|
- control = alloca(CMSG_SPACE(sizeof(struct ucred)) + CMSG_SPACE(sizeof(int) * n_fds));
|
||||||
|
+ have_pid = pid != 0 && pid != getpid();
|
||||||
|
|
||||||
|
- if (n_fds > 0) {
|
||||||
|
- msghdr.msg_control = control;
|
||||||
|
- msghdr.msg_controllen = CMSG_LEN(sizeof(int) * n_fds);
|
||||||
|
+ if (n_fds > 0 || have_pid) {
|
||||||
|
+ msghdr.msg_controllen = CMSG_SPACE(sizeof(int) * n_fds) +
|
||||||
|
+ CMSG_SPACE(sizeof(struct ucred) * have_pid);
|
||||||
|
+ msghdr.msg_control = alloca(msghdr.msg_controllen);
|
||||||
|
|
||||||
|
cmsg = CMSG_FIRSTHDR(&msghdr);
|
||||||
|
- cmsg->cmsg_level = SOL_SOCKET;
|
||||||
|
- cmsg->cmsg_type = SCM_RIGHTS;
|
||||||
|
- cmsg->cmsg_len = CMSG_LEN(sizeof(int) * n_fds);
|
||||||
|
+ if (n_fds > 0) {
|
||||||
|
+ cmsg->cmsg_level = SOL_SOCKET;
|
||||||
|
+ cmsg->cmsg_type = SCM_RIGHTS;
|
||||||
|
+ cmsg->cmsg_len = CMSG_LEN(sizeof(int) * n_fds);
|
||||||
|
|
||||||
|
- memcpy(CMSG_DATA(cmsg), fds, sizeof(int) * n_fds);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (pid != 0 && pid != getpid()) {
|
||||||
|
- struct ucred *ucred;
|
||||||
|
-
|
||||||
|
- try_without_ucred = true;
|
||||||
|
- controllen_without_ucred = msghdr.msg_controllen;
|
||||||
|
+ memcpy(CMSG_DATA(cmsg), fds, sizeof(int) * n_fds);
|
||||||
|
|
||||||
|
- msghdr.msg_control = control;
|
||||||
|
- msghdr.msg_controllen += CMSG_LEN(sizeof(struct ucred));
|
||||||
|
+ if (have_pid)
|
||||||
|
+ assert_se(cmsg = CMSG_NXTHDR(&msghdr, cmsg));
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- if (cmsg)
|
||||||
|
- cmsg = CMSG_NXTHDR(&msghdr, cmsg);
|
||||||
|
- else
|
||||||
|
- cmsg = CMSG_FIRSTHDR(&msghdr);
|
||||||
|
+ if (have_pid) {
|
||||||
|
+ struct ucred *ucred;
|
||||||
|
|
||||||
|
- cmsg->cmsg_level = SOL_SOCKET;
|
||||||
|
- cmsg->cmsg_type = SCM_CREDENTIALS;
|
||||||
|
- cmsg->cmsg_len = CMSG_LEN(sizeof(struct ucred));
|
||||||
|
+ cmsg->cmsg_level = SOL_SOCKET;
|
||||||
|
+ cmsg->cmsg_type = SCM_CREDENTIALS;
|
||||||
|
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct ucred));
|
||||||
|
|
||||||
|
- ucred = (struct ucred*) CMSG_DATA(cmsg);
|
||||||
|
- ucred->pid = pid;
|
||||||
|
- ucred->uid = getuid();
|
||||||
|
- ucred->gid = getgid();
|
||||||
|
+ ucred = (struct ucred*) CMSG_DATA(cmsg);
|
||||||
|
+ ucred->pid = pid;
|
||||||
|
+ ucred->uid = getuid();
|
||||||
|
+ ucred->gid = getgid();
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* First try with fake ucred data, as requested */
|
||||||
|
@@ -441,10 +434,10 @@ _public_ int sd_pid_notify_with_fds(pid_t pid, int unset_environment, const char
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If that failed, try with our own ucred instead */
|
||||||
|
- if (try_without_ucred) {
|
||||||
|
- if (controllen_without_ucred <= 0)
|
||||||
|
+ if (have_pid) {
|
||||||
|
+ msghdr.msg_controllen -= CMSG_SPACE(sizeof(struct ucred));
|
||||||
|
+ if (msghdr.msg_controllen == 0)
|
||||||
|
msghdr.msg_control = NULL;
|
||||||
|
- msghdr.msg_controllen = controllen_without_ucred;
|
||||||
|
|
||||||
|
if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) >= 0) {
|
||||||
|
r = 1;
|
41
systemd.spec
41
systemd.spec
@ -16,7 +16,7 @@
|
|||||||
Name: systemd
|
Name: systemd
|
||||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||||
Version: 219
|
Version: 219
|
||||||
Release: 12%{?gitcommit:.git%{gitcommit}}%{?dist}
|
Release: 13%{?gitcommit:.git%{gitcommit}}%{?dist}
|
||||||
# For a breakdown of the licensing, see README
|
# For a breakdown of the licensing, see README
|
||||||
License: LGPLv2+ and MIT and GPLv2+
|
License: LGPLv2+ and MIT and GPLv2+
|
||||||
Summary: A System and Service Manager
|
Summary: A System and Service Manager
|
||||||
@ -153,6 +153,41 @@ Patch0109: 0109-timedated-fix-enable-disable-reversal.patch
|
|||||||
Patch0110: 0110-core-make-SELinux-enable-disable-check-symmetric.patch
|
Patch0110: 0110-core-make-SELinux-enable-disable-check-symmetric.patch
|
||||||
Patch0111: 0111-shared-add-path_compare-an-ordering-path-comparison.patch
|
Patch0111: 0111-shared-add-path_compare-an-ordering-path-comparison.patch
|
||||||
Patch0112: 0112-core-namespace-fix-path-sorting.patch
|
Patch0112: 0112-core-namespace-fix-path-sorting.patch
|
||||||
|
Patch0113: 0113-console-getty.service-don-t-start-when-dev-console-i.patch
|
||||||
|
Patch0114: 0114-resolved-Do-not-add-.busname-dependencies-when-compi.patch
|
||||||
|
Patch0115: 0115-man-add-journal-remote.conf-5.patch
|
||||||
|
Patch0116: 0116-hwdb-Update-database-of-Bluetooth-company-identifier.patch
|
||||||
|
Patch0117: 0117-mount-don-t-run-quotaon-only-for-network-filesystems.patch
|
||||||
|
Patch0118: 0118-mount-fix-up-wording-in-the-comment.patch
|
||||||
|
Patch0119: 0119-udev-net_id-fix-copy-paste-error.patch
|
||||||
|
Patch0120: 0120-man-don-t-mention-journalctl-dev-sda.patch
|
||||||
|
Patch0121: 0121-units-move-After-systemd-hwdb-update.service-depende.patch
|
||||||
|
Patch0122: 0122-units-explicitly-order-systemd-user-sessions.service.patch
|
||||||
|
Patch0123: 0123-zsh-completion-update-loginctl.patch
|
||||||
|
Patch0124: 0124-zsh-completion-add-missing-M-completion-for-journalc.patch
|
||||||
|
Patch0125: 0125-zsh-completion-update-hostnamectl.patch
|
||||||
|
Patch0126: 0126-shell-completion-systemctl-switch-root-verb.patch
|
||||||
|
Patch0127: 0127-core-automount-beef-up-error-message.patch
|
||||||
|
Patch0128: 0128-man-remove-fs-from-rootfsflags.patch
|
||||||
|
Patch0129: 0129-shared-fix-memleak.patch
|
||||||
|
Patch0130: 0130-udev-restore-udevadm-settle-timeout.patch
|
||||||
|
Patch0131: 0131-hwdb-add-Samsung-ATIV-Book-6-8.patch
|
||||||
|
Patch0132: 0132-udevd-fix-synchronization-with-settle-when-handling-.patch
|
||||||
|
Patch0133: 0133-python-systemd-fix-is_socket_inet-to-cope-with-ports.patch
|
||||||
|
Patch0134: 0134-man-fix-examples-indentation-in-tmpfiles.d-5.patch
|
||||||
|
Patch0135: 0135-systemctl-avoid-bumping-NOFILE-rlimit-unless-needed.patch
|
||||||
|
Patch0136: 0136-exit-status-Fix-NOTINSSTALLED-typo.patch
|
||||||
|
Patch0137: 0137-udev-settle-should-return-immediately-when-timeout-i.patch
|
||||||
|
Patch0138: 0138-importd-add-CAP_DAC_OVERRIDE-capability.patch
|
||||||
|
Patch0139: 0139-tmpfiles-there-s-no-systemd-forbid-user-logins.servi.patch
|
||||||
|
Patch0140: 0140-kmod-setup-load-ip_tables-kmod-at-boot.patch
|
||||||
|
Patch0141: 0141-udev-Fix-ping-timeout-when-settle-timeout-is-0.patch
|
||||||
|
Patch0142: 0142-util-Fix-assertion-in-split-on-missing.patch
|
||||||
|
Patch0143: 0143-hwdb-add-HP-X1000-DPI-info.patch
|
||||||
|
Patch0144: 0144-units-set-KillMode-mixed-for-our-daemons-that-fork-w.patch
|
||||||
|
Patch0145: 0145-unit-don-t-add-automatic-dependencies-on-device-unit.patch
|
||||||
|
Patch0146: 0146-update-done-ignore-nanosecond-file-timestamp-compone.patch
|
||||||
|
Patch0147: 0147-sd-daemon-simplify-sd_pid_notify_with_fds.patch
|
||||||
|
|
||||||
|
|
||||||
# kernel-install patch for grubby, drop if grubby is obsolete
|
# kernel-install patch for grubby, drop if grubby is obsolete
|
||||||
@ -994,6 +1029,10 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
|
|||||||
/usr/lib/firewalld/services/*
|
/usr/lib/firewalld/services/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Apr 29 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 219-13
|
||||||
|
- Patches for some outstanding annoyances
|
||||||
|
- Small keyboard hwdb updates
|
||||||
|
|
||||||
* Wed Apr 8 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 219-12
|
* Wed Apr 8 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 219-12
|
||||||
- Tighten requirements between subpackages (#1207381).
|
- Tighten requirements between subpackages (#1207381).
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user