forked from pool/systemd
- Add tty1.patch: ensure passphrase are handled before starting
gettty on tty1. - Add inittab generator, creating default.target at startup based on /etc/inittab value. - No longer try to create /etc/systemd/system/default.target at initial package install (bnc#707418) - Fix configuration path used for systemd user manager. - Ensure pam-config output is no display in install script. - Remove buildrequires on vala, no longer needed. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=183
This commit is contained in:
parent
793b6d2515
commit
49c1b450dd
@ -0,0 +1,25 @@
|
|||||||
|
From 1cf32c016f97b2c99d7df06ce5d5b858f86c507a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Frederic Crozat <fcrozat@suse.com>
|
||||||
|
Date: Wed, 24 Aug 2011 13:39:06 +0200
|
||||||
|
Subject: [PATCH] path-lookup: monitor /etc/systemd/user for user manager
|
||||||
|
|
||||||
|
---
|
||||||
|
src/path-lookup.c | 2 +-
|
||||||
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/path-lookup.c b/src/path-lookup.c
|
||||||
|
index bed9175..5f5ad8c 100644
|
||||||
|
--- a/src/path-lookup.c
|
||||||
|
+++ b/src/path-lookup.c
|
||||||
|
@@ -209,7 +209,7 @@ int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as, bool personal
|
||||||
|
* the arrays in user_dirs() above! */
|
||||||
|
"/run/systemd/user",
|
||||||
|
USER_CONFIG_UNIT_PATH,
|
||||||
|
- "/etc/systemd/system",
|
||||||
|
+ "/etc/systemd/user",
|
||||||
|
"/usr/local/lib/systemd/user",
|
||||||
|
"/usr/local/share/systemd/user",
|
||||||
|
USER_DATA_UNIT_PATH,
|
||||||
|
--
|
||||||
|
1.7.3.4
|
||||||
|
|
@ -1,68 +0,0 @@
|
|||||||
From 148ded5c56d62dc358f566d322ea96dddfdd8faf Mon Sep 17 00:00:00 2001
|
|
||||||
From: Lennart Poettering <lennart@poettering.net>
|
|
||||||
Date: Mon, 4 Jul 2011 18:59:54 +0200
|
|
||||||
Subject: [PATCH 1/2] password-agent: make sure not to access unallocated memory
|
|
||||||
|
|
||||||
Tracked down by Frederic Crozat
|
|
||||||
---
|
|
||||||
src/tty-ask-password-agent.c | 14 ++++++++------
|
|
||||||
1 files changed, 8 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/tty-ask-password-agent.c b/src/tty-ask-password-agent.c
|
|
||||||
index d7e1eba..bee2f97 100644
|
|
||||||
--- a/src/tty-ask-password-agent.c
|
|
||||||
+++ b/src/tty-ask-password-agent.c
|
|
||||||
@@ -376,12 +376,14 @@ static int parse_password(const char *filename, char **wall) {
|
|
||||||
release_terminal();
|
|
||||||
}
|
|
||||||
|
|
||||||
- packet_length = 1+strlen(password)+1;
|
|
||||||
- if (!(packet = new(char, packet_length)))
|
|
||||||
- r = -ENOMEM;
|
|
||||||
- else {
|
|
||||||
- packet[0] = '+';
|
|
||||||
- strcpy(packet+1, password);
|
|
||||||
+ if (r >= 0) {
|
|
||||||
+ packet_length = 1+strlen(password)+1;
|
|
||||||
+ if (!(packet = new(char, packet_length)))
|
|
||||||
+ r = -ENOMEM;
|
|
||||||
+ else {
|
|
||||||
+ packet[0] = '+';
|
|
||||||
+ strcpy(packet+1, password);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
free(password);
|
|
||||||
--
|
|
||||||
1.7.3.4
|
|
||||||
|
|
||||||
|
|
||||||
From 722dad411964f71adc0a22a74609d35308c8ab9b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Lennart Poettering <lennart@poettering.net>
|
|
||||||
Date: Mon, 4 Jul 2011 19:06:32 +0200
|
|
||||||
Subject: [PATCH 2/2] password-agent: actually really don't access unallocated memory
|
|
||||||
|
|
||||||
Fix for 9726f9ff11fa7b94dceed2972cd2453a08b9ee6a
|
|
||||||
---
|
|
||||||
src/tty-ask-password-agent.c | 4 ++--
|
|
||||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/tty-ask-password-agent.c b/src/tty-ask-password-agent.c
|
|
||||||
index bee2f97..70d33ea 100644
|
|
||||||
--- a/src/tty-ask-password-agent.c
|
|
||||||
+++ b/src/tty-ask-password-agent.c
|
|
||||||
@@ -384,9 +384,9 @@ static int parse_password(const char *filename, char **wall) {
|
|
||||||
packet[0] = '+';
|
|
||||||
strcpy(packet+1, password);
|
|
||||||
}
|
|
||||||
- }
|
|
||||||
|
|
||||||
- free(password);
|
|
||||||
+ free(password);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
if (r == -ETIME || r == -ENOENT) {
|
|
||||||
--
|
|
||||||
1.7.3.4
|
|
||||||
|
|
@ -1,103 +0,0 @@
|
|||||||
From 06238c421548f9af6ebebd54eba99bba2a2049d4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Frederic Crozat <fcrozat@suse.com>
|
|
||||||
Date: Thu, 7 Jul 2011 14:56:30 +0200
|
|
||||||
Subject: [PATCH] units: add units for boot.local/halt.local on SUSE distributions.
|
|
||||||
|
|
||||||
---
|
|
||||||
Makefile.am | 19 +++++++++++++++++++
|
|
||||||
units/suse/halt-local.service | 20 ++++++++++++++++++++
|
|
||||||
units/suse/rc-local.service | 18 ++++++++++++++++++
|
|
||||||
3 files changed, 57 insertions(+), 0 deletions(-)
|
|
||||||
create mode 100644 units/suse/halt-local.service
|
|
||||||
create mode 100644 units/suse/rc-local.service
|
|
||||||
|
|
||||||
diff --git a/Makefile.am b/Makefile.am
|
|
||||||
index 78e5caf..d3265b0 100644
|
|
||||||
--- a/Makefile.am
|
|
||||||
+++ b/Makefile.am
|
|
||||||
@@ -436,6 +436,12 @@ dist_systemunit_DATA += \
|
|
||||||
units/frugalware/display-manager.service
|
|
||||||
endif
|
|
||||||
|
|
||||||
+if TARGET_SUSE
|
|
||||||
+dist_systemunit_DATA += \
|
|
||||||
+ units/suse/rc-local.service \
|
|
||||||
+ units/suse/halt-local.service
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
if HAVE_PLYMOUTH
|
|
||||||
dist_systemunit_DATA += \
|
|
||||||
units/plymouth-start.service \
|
|
||||||
@@ -1689,6 +1695,19 @@ if TARGET_DEBIAN_OR_UBUNTU
|
|
||||||
$(LN_S) multi-user.target runlevel5.target )
|
|
||||||
endif
|
|
||||||
|
|
||||||
+if TARGET_SUSE
|
|
||||||
+ $(MKDIR_P) -m 0755 $(DESTDIR)$(systemunitdir)/final.target.wants
|
|
||||||
+ ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
|
|
||||||
+ rm -f rc-local.service && \
|
|
||||||
+ $(LN_S) $(systemunitdir)/rc-local.service rc-local.service )
|
|
||||||
+ ( cd $(DESTDIR)$(systemunitdir) && \
|
|
||||||
+ rm -f local.service && \
|
|
||||||
+ $(LN_S) rc-local.service local.service )
|
|
||||||
+ ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \
|
|
||||||
+ rm -f halt-local.service && \
|
|
||||||
+ $(LN_S) $(systemunitdir)/halt-local.service halt-local.service )
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
if HAVE_SYSV_COMPAT
|
|
||||||
( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \
|
|
||||||
rm -f var-lock.mount && \
|
|
||||||
diff --git a/units/suse/halt-local.service b/units/suse/halt-local.service
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..68cacc6
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/units/suse/halt-local.service
|
|
||||||
@@ -0,0 +1,20 @@
|
|
||||||
+# This file is part of systemd.
|
|
||||||
+#
|
|
||||||
+# systemd is free software; you can redistribute it and/or modify it
|
|
||||||
+# under the terms of the GNU General Public License as published by
|
|
||||||
+# the Free Software Foundation; either version 2 of the License, or
|
|
||||||
+# (at your option) any later version.
|
|
||||||
+
|
|
||||||
+[Unit]
|
|
||||||
+Description=/etc/init.d/halt.local Compatibility
|
|
||||||
+ConditionPathExists=/etc/init.d/halt.local
|
|
||||||
+DefaultDependencies=no
|
|
||||||
+After=shutdown.target
|
|
||||||
+Before=final.target
|
|
||||||
+
|
|
||||||
+[Service]
|
|
||||||
+Type=oneshot
|
|
||||||
+ExecStart=/etc/init.d/halt.local
|
|
||||||
+TimeoutSec=0
|
|
||||||
+StandardOutput=tty
|
|
||||||
+RemainAfterExit=yes
|
|
||||||
diff --git a/units/suse/rc-local.service b/units/suse/rc-local.service
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..38884c5
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/units/suse/rc-local.service
|
|
||||||
@@ -0,0 +1,18 @@
|
|
||||||
+# This file is part of systemd.
|
|
||||||
+#
|
|
||||||
+# systemd is free software; you can redistribute it and/or modify it
|
|
||||||
+# under the terms of the GNU General Public License as published by
|
|
||||||
+# the Free Software Foundation; either version 2 of the License, or
|
|
||||||
+# (at your option) any later version.
|
|
||||||
+
|
|
||||||
+[Unit]
|
|
||||||
+Description=/etc/init.d/boot.local Compatibility
|
|
||||||
+ConditionPathExists=/etc/init.d/boot.local
|
|
||||||
+
|
|
||||||
+[Service]
|
|
||||||
+Type=oneshot
|
|
||||||
+ExecStart=/etc/init.d/boot.local
|
|
||||||
+TimeoutSec=0
|
|
||||||
+StandardOutput=tty
|
|
||||||
+RemainAfterExit=yes
|
|
||||||
+SysVStartPriority=99
|
|
||||||
--
|
|
||||||
1.7.3.4
|
|
||||||
|
|
8
systemd-inittab
Normal file
8
systemd-inittab
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Try to read default runlevel from the old inittab if it exists
|
||||||
|
runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
|
||||||
|
if [ -n "$runlevel" -a -e /lib/systemd/system/runlevel$runlevel.target ] ; then
|
||||||
|
/bin/ln -sf /lib/systemd/system/runlevel$runlevel.target $1/default.target 2>&1 && exit 0
|
||||||
|
fi
|
||||||
|
#failsafe
|
||||||
|
/bin/ln -sf /lib/systemd/system/graphical.target $1/default.target
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com
|
||||||
|
|
||||||
|
- Add tty1.patch: ensure passphrase are handled before starting
|
||||||
|
gettty on tty1.
|
||||||
|
- Add inittab generator, creating default.target at startup based
|
||||||
|
on /etc/inittab value.
|
||||||
|
- No longer try to create /etc/systemd/system/default.target at
|
||||||
|
initial package install (bnc#707418)
|
||||||
|
- Fix configuration path used for systemd user manager.
|
||||||
|
- Ensure pam-config output is no display in install script.
|
||||||
|
- Remove buildrequires on vala, no longer needed.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com
|
Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com
|
||||||
|
|
||||||
|
24
systemd.spec
24
systemd.spec
@ -36,7 +36,7 @@ BuildRequires: tcpd-devel
|
|||||||
BuildRequires: pam-devel
|
BuildRequires: pam-devel
|
||||||
BuildRequires: libcryptsetup-devel
|
BuildRequires: libcryptsetup-devel
|
||||||
BuildRequires: pkg-config
|
BuildRequires: pkg-config
|
||||||
BuildRequires: gtk2-devel libnotify-devel libxslt-devel vala
|
BuildRequires: gtk2-devel libnotify-devel libxslt-devel
|
||||||
BuildRequires: libselinux-devel libsepol-devel
|
BuildRequires: libselinux-devel libsepol-devel
|
||||||
BuildRequires: intltool
|
BuildRequires: intltool
|
||||||
Requires: udev >= 172
|
Requires: udev >= 172
|
||||||
@ -51,9 +51,12 @@ Source1: systemd-rpmlintrc
|
|||||||
Source2: localfs.service
|
Source2: localfs.service
|
||||||
Source3: systemd-sysv-convert
|
Source3: systemd-sysv-convert
|
||||||
Source4: macros.systemd
|
Source4: macros.systemd
|
||||||
|
Source5: systemd-inittab
|
||||||
Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch
|
Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch
|
||||||
# handle SUSE specific kbd settings
|
# handle SUSE specific kbd settings
|
||||||
Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch
|
Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch
|
||||||
|
# don't start getty on tty1 until all password request are done
|
||||||
|
Patch8: tty1.patch
|
||||||
|
|
||||||
# Upstream First - Policy:
|
# Upstream First - Policy:
|
||||||
# Never add any patches to this package without the upstream commit id
|
# Never add any patches to this package without the upstream commit id
|
||||||
@ -69,6 +72,8 @@ Patch4: systemd-cryptsetup-query.patch
|
|||||||
Patch5: fix-crash.patch
|
Patch5: fix-crash.patch
|
||||||
# PATCH-FIX-UPSTREAM fcrozat@suse.com bnc671673 -- fix kexec support
|
# PATCH-FIX-UPSTREAM fcrozat@suse.com bnc671673 -- fix kexec support
|
||||||
Patch7: 0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch
|
Patch7: 0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch
|
||||||
|
# PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't look for system manager configuration when running user manager
|
||||||
|
Patch9: 0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Systemd is a system and service manager, compatible with SysV and LSB
|
Systemd is a system and service manager, compatible with SysV and LSB
|
||||||
@ -135,6 +140,8 @@ Plymouth integration for systemd
|
|||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
|
%patch8 -p1
|
||||||
|
%patch9 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -fiv
|
autoreconf -fiv
|
||||||
@ -147,8 +154,6 @@ export V=1
|
|||||||
--docdir=%{_docdir}/systemd \
|
--docdir=%{_docdir}/systemd \
|
||||||
--with-rootdir= \
|
--with-rootdir= \
|
||||||
CFLAGS="%{optflags}"
|
CFLAGS="%{optflags}"
|
||||||
# rebuild due to libnotify 0.7 in factory
|
|
||||||
touch *.vala */*.vala
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -158,6 +163,7 @@ install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm
|
|||||||
find %{buildroot} -type f -name '*.la' -exec rm -f {} ';'
|
find %{buildroot} -type f -name '*.la' -exec rm -f {} ';'
|
||||||
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated}
|
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated}
|
||||||
install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert
|
install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert
|
||||||
|
install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators
|
||||||
ln -s ../bin/systemd %{buildroot}/sbin/init
|
ln -s ../bin/systemd %{buildroot}/sbin/init
|
||||||
ln -s ../bin/systemctl %{buildroot}/sbin/reboot
|
ln -s ../bin/systemctl %{buildroot}/sbin/reboot
|
||||||
ln -s ../bin/systemctl %{buildroot}/sbin/halt
|
ln -s ../bin/systemctl %{buildroot}/sbin/halt
|
||||||
@ -167,6 +173,7 @@ ln -s ../bin/systemctl %{buildroot}/sbin/telinit
|
|||||||
ln -s ../bin/systemctl %{buildroot}/sbin/runlevel
|
ln -s ../bin/systemctl %{buildroot}/sbin/runlevel
|
||||||
rm -rf %{buildroot}/etc/systemd/system/*.target.wants
|
rm -rf %{buildroot}/etc/systemd/system/*.target.wants
|
||||||
rm -f %{buildroot}/etc/systemd/system/default.target
|
rm -f %{buildroot}/etc/systemd/system/default.target
|
||||||
|
rm -f %{buildroot}/lib/systemd/system/default.target
|
||||||
%if !%{build_plymouth}
|
%if !%{build_plymouth}
|
||||||
rm -f %{buildroot}/lib/systemd/system/plymouth-*.service
|
rm -f %{buildroot}/lib/systemd/system/plymouth-*.service
|
||||||
rm -f %{buildroot}/lib/systemd/system/*.wants/plymouth-*.service
|
rm -f %{buildroot}/lib/systemd/system/*.wants/plymouth-*.service
|
||||||
@ -197,19 +204,14 @@ ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.se
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%post
|
%post
|
||||||
/usr/sbin/pam-config -a --systemd || :
|
/usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || :
|
||||||
|
/sbin/ldconfig
|
||||||
/bin/systemd-machine-id-setup >/dev/null 2>&1 || :
|
/bin/systemd-machine-id-setup >/dev/null 2>&1 || :
|
||||||
/bin/systemctl daemon-reexec >/dev/null 2>&1 || :
|
/bin/systemctl daemon-reexec >/dev/null 2>&1 || :
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
# Create default config in /etc at first install.
|
# Create default config in /etc at first install.
|
||||||
# Later package updates should not overwrite these settings.
|
# Later package updates should not overwrite these settings.
|
||||||
if [ "$1" -eq 1 ]; then
|
if [ "$1" -eq 1 ]; then
|
||||||
# Try to read default runlevel from the old inittab if it exists
|
|
||||||
runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
|
|
||||||
if [ -n "$runlevel" ] ; then
|
|
||||||
/bin/ln -sf /lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || :
|
|
||||||
fi
|
|
||||||
# Enable these services by default.
|
# Enable these services by default.
|
||||||
/bin/systemctl enable \
|
/bin/systemctl enable \
|
||||||
getty@.service \
|
getty@.service \
|
||||||
@ -224,7 +226,7 @@ if [ $1 -ge 1 ]; then
|
|||||||
/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
|
/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
|
||||||
fi
|
fi
|
||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
/usr/sbin/pam-config -d --systemd || :
|
/usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
|
Loading…
Reference in New Issue
Block a user