Accepting request 592039 from home:fbui:systemd:Factory

- Import commit 14b3e00c3ccb8c1c82c8a2e99a9534750880a09e
  e0a8285e2 pid1: when creating service directories, don't chown existing files (#8181) (boo#1085971)
  fb25886b1 Fix format-truncation compile failure by typecasting USB IDs (#8250) (bsc#1084638)
  5a6e9c92e sysusers: make sure to reset errno before calling fget*ent()
  c2e1ee488 sysusers: also add support for NIS entries in /etc/shadow
  51cb94fa1 sysusers: do not append entries after the NIS ones (bsc#1085062 bsc#1045092)
  783f3d368 basic/macros: rename noreturn into _noreturn_ (#8456)
- Drop 0001-basic-macros-rename-noreturn-into-_noreturn_.patch
  It's been merged in the git repo.

- Rename the tarball
  So it's clear that it contains some additional patches on top of the
  upstream version. Use the commit hash in the name so the exact
  version can easily be identified.
  Provide _service file which can be used to retrieve the tarball from
  the git repo (with "osc service disabledrun").

- Split systemd-coredump sub-package off (bsc#1083849)

- Don't ship machines.target in systemd-container but in systemd main package
  machines.target is supposed to be a standard target for
  starting/stopping all containers. systemd-nspawn is the main user of
  it but other container managers could also make use of it.

- Build a mini variant of systemd-container
  So we don't have to manually track and remove all files that should
  be shipped by systemd-container in the case of a bootstrap build.

- Run migrate-sysconfig-i18n.sh also during package installation (bsc#1086164)
  This is needed when we upgrade from SLE11.

OBS-URL: https://build.opensuse.org/request/show/592039
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1023
This commit is contained in:
Franck Bui 2018-03-28 13:00:43 +00:00 committed by Git OBS Bridge
parent c3a3edd8e6
commit b88a203c9a
8 changed files with 255 additions and 260 deletions

View File

@ -1,201 +0,0 @@
From 24051a17e8df0976b41180a6d50275e7edf3e461 Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Wed, 14 Mar 2018 18:00:24 +0100
Subject: [PATCH 1/1] basic/macros: rename noreturn into _noreturn_
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
"noreturn" is reserved and can be used in other header files we include:
[ 16s] In file included from /usr/include/gcrypt.h:30:0,
[ 16s] from ../src/journal/journal-file.h:26,
[ 16s] from ../src/journal/journal-vacuum.c:31:
[ 16s] /usr/include/gpg-error.h:1544:46: error: expected , or ; before ) token
[ 16s] void gpgrt_log_bug (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2);
Here we include grcrypt.h (which in turns include gpg-error.h) *after* we
"noreturn" was defined in macro.h.
---
src/basic/log.c | 4 ++--
src/basic/log.h | 4 ++--
src/basic/macro.h | 19 +++++++++----------
src/basic/process-util.c | 2 +-
src/basic/process-util.h | 2 +-
src/core/main.c | 4 ++--
src/journal/test-journal-interleaving.c | 2 +-
src/shared/pager.c | 2 +-
src/udev/collect/collect.c | 2 +-
9 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/src/basic/log.c b/src/basic/log.c
index 7a7f2cbec..16a2431c5 100644
--- a/src/basic/log.c
+++ b/src/basic/log.c
@@ -814,7 +814,7 @@ static void log_assert(
log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer);
}
-noreturn void log_assert_failed_realm(
+_noreturn_ void log_assert_failed_realm(
LogRealm realm,
const char *text,
const char *file,
@@ -826,7 +826,7 @@ noreturn void log_assert_failed_realm(
abort();
}
-noreturn void log_assert_failed_unreachable_realm(
+_noreturn_ void log_assert_failed_unreachable_realm(
LogRealm realm,
const char *text,
const char *file,
diff --git a/src/basic/log.h b/src/basic/log.h
index efcf0f1bf..314be128a 100644
--- a/src/basic/log.h
+++ b/src/basic/log.h
@@ -186,7 +186,7 @@ int log_dump_internal(
char *buffer);
/* Logging for various assertions */
-noreturn void log_assert_failed_realm(
+_noreturn_ void log_assert_failed_realm(
LogRealm realm,
const char *text,
const char *file,
@@ -195,7 +195,7 @@ noreturn void log_assert_failed_realm(
#define log_assert_failed(text, ...) \
log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__)
-noreturn void log_assert_failed_unreachable_realm(
+_noreturn_ void log_assert_failed_unreachable_realm(
LogRealm realm,
const char *text,
const char *file,
diff --git a/src/basic/macro.h b/src/basic/macro.h
index 95be63a20..d8a6432f6 100644
--- a/src/basic/macro.h
+++ b/src/basic/macro.h
@@ -53,6 +53,15 @@
#else
#define _fallthrough_
#endif
+/* Define C11 noreturn without <stdnoreturn.h> and even on older gcc
+ * compiler versions */
+#ifndef noreturn
+#if __STDC_VERSION__ >= 201112L
+#define _noreturn_ _Noreturn
+#else
+#define _noreturn_ __attribute__((noreturn))
+#endif
+#endif
/* Temporarily disable some warnings */
#define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \
@@ -414,16 +423,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) {
#endif
#endif
-/* Define C11 noreturn without <stdnoreturn.h> and even on older gcc
- * compiler versions */
-#ifndef noreturn
-#if __STDC_VERSION__ >= 201112L
-#define noreturn _Noreturn
-#else
-#define noreturn __attribute__((noreturn))
-#endif
-#endif
-
#define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \
static inline void func##p(type *p) { \
if (*p) \
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
index aa9846db5..e6120af5b 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
@@ -987,7 +987,7 @@ bool is_main_thread(void) {
return cached > 0;
}
-noreturn void freeze(void) {
+_noreturn_ void freeze(void) {
log_close();
diff --git a/src/basic/process-util.h b/src/basic/process-util.h
index 93029e36e..5170adec7 100644
--- a/src/basic/process-util.h
+++ b/src/basic/process-util.h
@@ -91,7 +91,7 @@ int pid_from_same_root_fs(pid_t pid);
bool is_main_thread(void);
-noreturn void freeze(void);
+_noreturn_ void freeze(void);
bool oom_score_adjust_is_valid(int oa);
diff --git a/src/core/main.c b/src/core/main.c
index 076846a41..4b2d14923 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -141,7 +141,7 @@ static uint64_t arg_default_tasks_max = UINT64_MAX;
static sd_id128_t arg_machine_id = {};
static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE;
-noreturn static void freeze_or_reboot(void) {
+_noreturn_ static void freeze_or_reboot(void) {
if (arg_crash_reboot) {
log_notice("Rebooting in 10s...");
@@ -156,7 +156,7 @@ noreturn static void freeze_or_reboot(void) {
freeze();
}
-noreturn static void crash(int sig) {
+_noreturn_ static void crash(int sig) {
struct sigaction sa;
pid_t pid;
diff --git a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c
index 5a88b2774..d87bdbdd3 100644
--- a/src/journal/test-journal-interleaving.c
+++ b/src/journal/test-journal-interleaving.c
@@ -37,7 +37,7 @@
static bool arg_keep = false;
-noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) {
+_noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) {
log_internal(LOG_CRIT, error, file, line, func,
"'%s' failed at %s:%u (%s): %m", text, file, line, func);
abort();
diff --git a/src/shared/pager.c b/src/shared/pager.c
index 75db3c985..681af9c40 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -47,7 +47,7 @@ static int stored_stderr = -1;
static bool stdout_redirected = false;
static bool stderr_redirected = false;
-noreturn static void pager_fallback(void) {
+_noreturn_ static void pager_fallback(void) {
int r;
r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0);
diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c
index 2821640e9..c8fa47b3d 100644
--- a/src/udev/collect/collect.c
+++ b/src/udev/collect/collect.c
@@ -58,7 +58,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node)
return container_of(node, struct _mate, node);
}
-noreturn static void sig_alrm(int signo)
+_noreturn_ static void sig_alrm(int signo)
{
exit(4);
}
--
2.16.2

16
_service Normal file
View File

@ -0,0 +1,16 @@
<!-- See https://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService -->
<!-- for more details on the syntax -->
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/openSUSE/systemd.git</param>
<param name="filename">systemd</param>
<param name="versionformat">@PARENT_TAG@+suse.@TAG_OFFSET@.g%h</param>
<param name="revision">openSUSE-Factory</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*systemd-v237+suse.*.tar</param>
<param name="compression">xz</param>
</service>
</services>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b420f2ff5841266d03c6691bd8adb705b2c46c391c33610923a23444232633f4
size 4630076

View File

@ -1,3 +1,60 @@
-------------------------------------------------------------------
Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com
- Import commit 14b3e00c3ccb8c1c82c8a2e99a9534750880a09e
e0a8285e2 pid1: when creating service directories, don't chown existing files (#8181) (boo#1085971)
fb25886b1 Fix format-truncation compile failure by typecasting USB IDs (#8250) (bsc#1084638)
5a6e9c92e sysusers: make sure to reset errno before calling fget*ent()
c2e1ee488 sysusers: also add support for NIS entries in /etc/shadow
51cb94fa1 sysusers: do not append entries after the NIS ones (bsc#1085062 bsc#1045092)
783f3d368 basic/macros: rename noreturn into _noreturn_ (#8456)
- Drop 0001-basic-macros-rename-noreturn-into-_noreturn_.patch
It's been merged in the git repo.
-------------------------------------------------------------------
Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com
- Rename the tarball
So it's clear that it contains some additional patches on top of the
upstream version. Use the commit hash in the name so the exact
version can easily be identified.
Provide _service file which can be used to retrieve the tarball from
the git repo (with "osc service disabledrun").
-------------------------------------------------------------------
Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com
- Split systemd-coredump sub-package off (bsc#1083849)
-------------------------------------------------------------------
Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com
- Don't ship machines.target in systemd-container but in systemd main package
machines.target is supposed to be a standard target for
starting/stopping all containers. systemd-nspawn is the main user of
it but other container managers could also make use of it.
-------------------------------------------------------------------
Sun Mar 25 11:04:04 UTC 2018 - fbui@suse.com
- Build a mini variant of systemd-container
So we don't have to manually track and remove all files that should
be shipped by systemd-container in the case of a bootstrap build.
-------------------------------------------------------------------
Thu Mar 22 17:09:36 UTC 2018 - fbui@suse.com
- Run migrate-sysconfig-i18n.sh also during package installation (bsc#1086164)
This is needed when we upgrade from SLE11.
-------------------------------------------------------------------
Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com

View File

@ -26,6 +26,7 @@
##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! #####
%define mini -mini
%define min_kernel_version 4.5
%define suse_version +suse.52.g14b3e00c3
%bcond_with gnuefi
%if 0%{?bootstrap}
@ -138,7 +139,7 @@ Obsoletes: systemd-analyze < 201
Provides: systemd-analyze = %{version}
Obsoletes: pm-utils <= 1.4.1
Obsoletes: suspend <= 1.0
Source0: systemd-%{version}.tar.xz
Source0: systemd-v%{version}%{suse_version}.tar.xz
Source1: %{name}-rpmlintrc
Source2: systemd-user
Source3: systemd-sysv-convert
@ -162,7 +163,6 @@ Source1002: 99-wakeup-from-idle.rules
# broken in upstream and need an urgent fix. Even in this case, the
# patches are temporary and should be removed as soon as a fix is
# merged by upstream.
Patch1: 0001-basic-macros-rename-noreturn-into-_noreturn_.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -296,15 +296,34 @@ Conflicts: libudev-devel
This package contains the development files for the library libudev, a
dynamic library, which provides access to udev device information.
%package container
%package coredump%{mini}
Summary: Systemd tools for coredump management
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
Provides: systemd:%{_bindir}/coredumpctl
%if 0%{?bootstrap}
Conflicts: systemd-coredump
%endif
%description coredump%{mini}
Systemd tools to store and manage coredumps.
This package contains systemd-coredump, coredumpctl.
%package container%{?mini}
Summary: Systemd tools for container management
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
Provides: systemd:%{_bindir}/systemd-nspawn
%if 0%{?bootstrap}
Conflicts: systemd-container
%endif
%description container
%description container%{?mini}
Systemd tools to spawn and manage containers and virtual machines.
This package contains systemd-nspawn, machinectl, systemd-machined,
@ -420,8 +439,8 @@ Conflicts: systemd-bash-completion
Some systemd commands offer bash completion, but it is an optional dependency.
%prep
%setup -q -n systemd-%{version}
%autopatch -p1
%setup -q -n systemd-v%{version}%{suse_version}
# %autopatch -p1
%build
opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org)
@ -478,9 +497,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org)
mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib}
%else
rm %{buildroot}%{_libdir}/libnss_systemd.so*
rm %{buildroot}%{_bindir}/systemd-nspawn
rm %{buildroot}%{_unitdir}/systemd-nspawn@.service
rm %{buildroot}%{_tmpfilesdir}/systemd-nspawn.conf
%endif
# FIXME: these symlinks should die.
@ -724,16 +740,15 @@ done
# This includes all hacks needed when upgrading from SysV.
%{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || :
if [ $1 -gt 1 ]; then
# Migrate i18n setting stuff thout could be previously
# configured in /etc/sysconfig but now is defined only in the
# systemd official places (/etc/locale.conf,
# /etc/vconsole.conf, etc...). This is done only once.
test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || {
%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh &&
touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || :
}
fi
# Migrate i18n settings that could be previously configured in
# /etc/sysconfig but now is defined only in the systemd official
# places (/etc/locale.conf, /etc/vconsole.conf, etc...). This is done
# only once usually during package updates but might be also needed
# during installations when we upgrade from a distro using SysV init.
test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || {
%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh &&
touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || :
}
%postun
%systemd_postun
@ -789,8 +804,7 @@ systemctl daemon-reload || :
%postun -n libudev%{?mini}1 -p /sbin/ldconfig
%postun -n libsystemd0%{?mini} -p /sbin/ldconfig
%if ! 0%{?bootstrap}
%post container
%post container%{?mini}
%tmpfiles_create systemd-nspawn.conf
if [ $1 -gt 1 ]; then
# Convert /var/lib/machines subvolume to make it suitable for
@ -811,6 +825,7 @@ if [ $1 -gt 1 ]; then
%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || :
fi
%if ! 0%{?bootstrap}
%post logger
%tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/
if [ "$1" -eq 1 ]; then
@ -876,7 +891,6 @@ fi
%{_bindir}/localectl
%{_bindir}/systemctl
%{_bindir}/systemd-analyze
%{_bindir}/coredumpctl
%{_bindir}/systemd-delta
%{_bindir}/systemd-escape
%{_bindir}/systemd-firstboot
@ -919,19 +933,22 @@ fi
%exclude %{_prefix}/lib/systemd/systemd-journal-remote
%exclude %{_prefix}/lib/systemd/systemd-journal-upload
%endif
%exclude %{_prefix}/lib/systemd/systemd-coredump
%exclude %{_prefix}/lib/systemd/systemd-sysv*
%exclude %{_prefix}/lib/systemd/systemd-udevd
%exclude %{_unitdir}/systemd-udev*.*
%exclude %{_unitdir}/*.target.wants/systemd-udev*.*
%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service
%exclude %{_unitdir}/systemd-nspawn@.service
%exclude %{_unitdir}/systemd-coredump*
%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket
%if %{with machined}
%exclude %{_prefix}/lib/systemd/systemd-machined
%exclude %{_unitdir}/systemd-machined.service
%exclude %{_unitdir}/dbus-org.freedesktop.machine1.service
%exclude %{_unitdir}/var-lib-machines.mount
%exclude %{_unitdir}/machine.slice
%exclude %{_unitdir}/machines.target*
%exclude %{_unitdir}/machines.target.wants
%exclude %{_unitdir}/*.target.wants/var-lib-machines.mount
%endif
%if %{with importd}
@ -1006,7 +1023,6 @@ fi
%dir %{_sysctldir}
%dir %{_sysconfdir}/sysctl.d
%{_sysctldir}/50-coredump.conf
%dir %{_sysconfdir}/X11/xinit
%dir %{_sysconfdir}/X11/xinit/xinitrc.d
@ -1022,7 +1038,6 @@ fi
%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
%config(noreplace) %{_sysconfdir}/pam.d/systemd-user
%config(noreplace) %{_sysconfdir}/systemd/coredump.conf
%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf
%config(noreplace) %{_sysconfdir}/systemd/system.conf
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
@ -1111,6 +1126,9 @@ fi
%{_mandir}/man8/systemd-journald*
%{_mandir}/man8/systemd-u[ps]*
%{_mandir}/man8/30-systemd-environment-d-generator.*
%exclude %{_mandir}/man1/coredumpctl*
%exclude %{_mandir}/man5/coredump.conf*
%exclude %{_mandir}/man8/systemd-coredump*
%exclude %{_mandir}/man*/*nspawn*
%if %{with machined}
%exclude %{_mandir}/man*/machinectl*
@ -1129,7 +1147,6 @@ fi
%dir %{_localstatedir}/lib/systemd
%dir %{_localstatedir}/lib/systemd/sysv-convert
%dir %{_localstatedir}/lib/systemd/migrated
%dir %{_localstatedir}/lib/systemd/coredump
%dir %{_localstatedir}/lib/systemd/catalog
%ghost %{_localstatedir}/lib/systemd/catalog/database
%ghost %{_localstatedir}/lib/systemd/backlight
@ -1239,8 +1256,21 @@ fi
%{_mandir}/man3/*udev*.3*
%endif
%files coredump%{?mini}
%defattr(-,root,root)
%{_bindir}/coredumpctl
%{_unitdir}/systemd-coredump*
%{_unitdir}/sockets.target.wants/systemd-coredump.socket
%{_sysctldir}/50-coredump.conf
%config(noreplace) %{_sysconfdir}/systemd/coredump.conf
%dir %{_localstatedir}/lib/systemd/coredump
%if ! 0%{?bootstrap}
%files container
%{_mandir}/man1/coredumpctl*
%{_mandir}/man5/coredump.conf*
%{_mandir}/man8/systemd-coredump*
%endif
%files container%{?mini}
%defattr(-,root,root)
%{_bindir}/systemd-nspawn
%{_unitdir}/systemd-nspawn@.service
@ -1252,7 +1282,7 @@ fi
%{_unitdir}/dbus-org.freedesktop.machine1.service
%{_unitdir}/var-lib-machines.mount
%{_unitdir}/machine.slice
%{_unitdir}/machines.target*
%{_unitdir}/machines.target.wants
%{_unitdir}/*.target.wants/var-lib-machines.mount
%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh
%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf
@ -1269,6 +1299,7 @@ fi
%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service
%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy
%endif
%if ! 0%{?bootstrap}
%{_mandir}/man*/*nspawn*
%if %{with machined}
%{_mandir}/man*/machinectl*
@ -1277,7 +1308,9 @@ fi
%if %{with importd}
%{_mandir}/man*/systemd-importd*
%endif
%endif
%if ! 0%{?bootstrap}
%files logger
%defattr(-,root,root)
%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cbca10a39e2efa0479fe5d81fb983e08ac4e9655b85e382d8247683a3151834f
size 4627336

View File

@ -1,3 +1,60 @@
-------------------------------------------------------------------
Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com
- Import commit 14b3e00c3ccb8c1c82c8a2e99a9534750880a09e
e0a8285e2 pid1: when creating service directories, don't chown existing files (#8181) (boo#1085971)
fb25886b1 Fix format-truncation compile failure by typecasting USB IDs (#8250) (bsc#1084638)
5a6e9c92e sysusers: make sure to reset errno before calling fget*ent()
c2e1ee488 sysusers: also add support for NIS entries in /etc/shadow
51cb94fa1 sysusers: do not append entries after the NIS ones (bsc#1085062 bsc#1045092)
783f3d368 basic/macros: rename noreturn into _noreturn_ (#8456)
- Drop 0001-basic-macros-rename-noreturn-into-_noreturn_.patch
It's been merged in the git repo.
-------------------------------------------------------------------
Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com
- Rename the tarball
So it's clear that it contains some additional patches on top of the
upstream version. Use the commit hash in the name so the exact
version can easily be identified.
Provide _service file which can be used to retrieve the tarball from
the git repo (with "osc service disabledrun").
-------------------------------------------------------------------
Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com
- Split systemd-coredump sub-package off (bsc#1083849)
-------------------------------------------------------------------
Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com
- Don't ship machines.target in systemd-container but in systemd main package
machines.target is supposed to be a standard target for
starting/stopping all containers. systemd-nspawn is the main user of
it but other container managers could also make use of it.
-------------------------------------------------------------------
Sun Mar 25 11:04:04 UTC 2018 - fbui@suse.com
- Build a mini variant of systemd-container
So we don't have to manually track and remove all files that should
be shipped by systemd-container in the case of a bootstrap build.
-------------------------------------------------------------------
Thu Mar 22 17:09:36 UTC 2018 - fbui@suse.com
- Run migrate-sysconfig-i18n.sh also during package installation (bsc#1086164)
This is needed when we upgrade from SLE11.
-------------------------------------------------------------------
Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com

View File

@ -24,6 +24,7 @@
%define bootstrap 0
%define mini %nil
%define min_kernel_version 4.5
%define suse_version +suse.52.g14b3e00c3
%bcond_with gnuefi
%if 0%{?bootstrap}
@ -136,7 +137,7 @@ Obsoletes: systemd-analyze < 201
Provides: systemd-analyze = %{version}
Obsoletes: pm-utils <= 1.4.1
Obsoletes: suspend <= 1.0
Source0: systemd-%{version}.tar.xz
Source0: systemd-v%{version}%{suse_version}.tar.xz
Source1: %{name}-rpmlintrc
Source2: systemd-user
Source3: systemd-sysv-convert
@ -160,7 +161,6 @@ Source1002: 99-wakeup-from-idle.rules
# broken in upstream and need an urgent fix. Even in this case, the
# patches are temporary and should be removed as soon as a fix is
# merged by upstream.
Patch1: 0001-basic-macros-rename-noreturn-into-_noreturn_.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -294,15 +294,34 @@ Conflicts: libudev-devel
This package contains the development files for the library libudev, a
dynamic library, which provides access to udev device information.
%package container
%package coredump%{mini}
Summary: Systemd tools for coredump management
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
Provides: systemd:%{_bindir}/coredumpctl
%if 0%{?bootstrap}
Conflicts: systemd-coredump
%endif
%description coredump%{mini}
Systemd tools to store and manage coredumps.
This package contains systemd-coredump, coredumpctl.
%package container%{?mini}
Summary: Systemd tools for container management
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
Provides: systemd:%{_bindir}/systemd-nspawn
%if 0%{?bootstrap}
Conflicts: systemd-container
%endif
%description container
%description container%{?mini}
Systemd tools to spawn and manage containers and virtual machines.
This package contains systemd-nspawn, machinectl, systemd-machined,
@ -418,8 +437,8 @@ Conflicts: systemd-bash-completion
Some systemd commands offer bash completion, but it is an optional dependency.
%prep
%setup -q -n systemd-%{version}
%autopatch -p1
%setup -q -n systemd-v%{version}%{suse_version}
# %autopatch -p1
%build
opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org)
@ -476,9 +495,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org)
mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib}
%else
rm %{buildroot}%{_libdir}/libnss_systemd.so*
rm %{buildroot}%{_bindir}/systemd-nspawn
rm %{buildroot}%{_unitdir}/systemd-nspawn@.service
rm %{buildroot}%{_tmpfilesdir}/systemd-nspawn.conf
%endif
# FIXME: these symlinks should die.
@ -722,16 +738,15 @@ done
# This includes all hacks needed when upgrading from SysV.
%{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || :
if [ $1 -gt 1 ]; then
# Migrate i18n setting stuff thout could be previously
# configured in /etc/sysconfig but now is defined only in the
# systemd official places (/etc/locale.conf,
# /etc/vconsole.conf, etc...). This is done only once.
test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || {
%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh &&
touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || :
}
fi
# Migrate i18n settings that could be previously configured in
# /etc/sysconfig but now is defined only in the systemd official
# places (/etc/locale.conf, /etc/vconsole.conf, etc...). This is done
# only once usually during package updates but might be also needed
# during installations when we upgrade from a distro using SysV init.
test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || {
%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh &&
touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || :
}
%postun
%systemd_postun
@ -787,8 +802,7 @@ systemctl daemon-reload || :
%postun -n libudev%{?mini}1 -p /sbin/ldconfig
%postun -n libsystemd0%{?mini} -p /sbin/ldconfig
%if ! 0%{?bootstrap}
%post container
%post container%{?mini}
%tmpfiles_create systemd-nspawn.conf
if [ $1 -gt 1 ]; then
# Convert /var/lib/machines subvolume to make it suitable for
@ -809,6 +823,7 @@ if [ $1 -gt 1 ]; then
%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || :
fi
%if ! 0%{?bootstrap}
%post logger
%tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/
if [ "$1" -eq 1 ]; then
@ -874,7 +889,6 @@ fi
%{_bindir}/localectl
%{_bindir}/systemctl
%{_bindir}/systemd-analyze
%{_bindir}/coredumpctl
%{_bindir}/systemd-delta
%{_bindir}/systemd-escape
%{_bindir}/systemd-firstboot
@ -917,19 +931,22 @@ fi
%exclude %{_prefix}/lib/systemd/systemd-journal-remote
%exclude %{_prefix}/lib/systemd/systemd-journal-upload
%endif
%exclude %{_prefix}/lib/systemd/systemd-coredump
%exclude %{_prefix}/lib/systemd/systemd-sysv*
%exclude %{_prefix}/lib/systemd/systemd-udevd
%exclude %{_unitdir}/systemd-udev*.*
%exclude %{_unitdir}/*.target.wants/systemd-udev*.*
%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service
%exclude %{_unitdir}/systemd-nspawn@.service
%exclude %{_unitdir}/systemd-coredump*
%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket
%if %{with machined}
%exclude %{_prefix}/lib/systemd/systemd-machined
%exclude %{_unitdir}/systemd-machined.service
%exclude %{_unitdir}/dbus-org.freedesktop.machine1.service
%exclude %{_unitdir}/var-lib-machines.mount
%exclude %{_unitdir}/machine.slice
%exclude %{_unitdir}/machines.target*
%exclude %{_unitdir}/machines.target.wants
%exclude %{_unitdir}/*.target.wants/var-lib-machines.mount
%endif
%if %{with importd}
@ -1004,7 +1021,6 @@ fi
%dir %{_sysctldir}
%dir %{_sysconfdir}/sysctl.d
%{_sysctldir}/50-coredump.conf
%dir %{_sysconfdir}/X11/xinit
%dir %{_sysconfdir}/X11/xinit/xinitrc.d
@ -1020,7 +1036,6 @@ fi
%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
%config(noreplace) %{_sysconfdir}/pam.d/systemd-user
%config(noreplace) %{_sysconfdir}/systemd/coredump.conf
%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf
%config(noreplace) %{_sysconfdir}/systemd/system.conf
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
@ -1109,6 +1124,9 @@ fi
%{_mandir}/man8/systemd-journald*
%{_mandir}/man8/systemd-u[ps]*
%{_mandir}/man8/30-systemd-environment-d-generator.*
%exclude %{_mandir}/man1/coredumpctl*
%exclude %{_mandir}/man5/coredump.conf*
%exclude %{_mandir}/man8/systemd-coredump*
%exclude %{_mandir}/man*/*nspawn*
%if %{with machined}
%exclude %{_mandir}/man*/machinectl*
@ -1127,7 +1145,6 @@ fi
%dir %{_localstatedir}/lib/systemd
%dir %{_localstatedir}/lib/systemd/sysv-convert
%dir %{_localstatedir}/lib/systemd/migrated
%dir %{_localstatedir}/lib/systemd/coredump
%dir %{_localstatedir}/lib/systemd/catalog
%ghost %{_localstatedir}/lib/systemd/catalog/database
%ghost %{_localstatedir}/lib/systemd/backlight
@ -1237,8 +1254,21 @@ fi
%{_mandir}/man3/*udev*.3*
%endif
%files coredump%{?mini}
%defattr(-,root,root)
%{_bindir}/coredumpctl
%{_unitdir}/systemd-coredump*
%{_unitdir}/sockets.target.wants/systemd-coredump.socket
%{_sysctldir}/50-coredump.conf
%config(noreplace) %{_sysconfdir}/systemd/coredump.conf
%dir %{_localstatedir}/lib/systemd/coredump
%if ! 0%{?bootstrap}
%files container
%{_mandir}/man1/coredumpctl*
%{_mandir}/man5/coredump.conf*
%{_mandir}/man8/systemd-coredump*
%endif
%files container%{?mini}
%defattr(-,root,root)
%{_bindir}/systemd-nspawn
%{_unitdir}/systemd-nspawn@.service
@ -1250,7 +1280,7 @@ fi
%{_unitdir}/dbus-org.freedesktop.machine1.service
%{_unitdir}/var-lib-machines.mount
%{_unitdir}/machine.slice
%{_unitdir}/machines.target*
%{_unitdir}/machines.target.wants
%{_unitdir}/*.target.wants/var-lib-machines.mount
%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh
%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf
@ -1267,6 +1297,7 @@ fi
%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service
%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy
%endif
%if ! 0%{?bootstrap}
%{_mandir}/man*/*nspawn*
%if %{with machined}
%{_mandir}/man*/machinectl*
@ -1275,7 +1306,9 @@ fi
%if %{with importd}
%{_mandir}/man*/systemd-importd*
%endif
%endif
%if ! 0%{?bootstrap}
%files logger
%defattr(-,root,root)
%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/