From b88a203c9a1251a56dd9fbe2521efb946aa3cddb1cde4a416dd8e744f078bb56 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 28 Mar 2018 13:00:43 +0000 Subject: [PATCH 1/2] 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 --- ...cros-rename-noreturn-into-_noreturn_.patch | 201 ------------------ _service | 16 ++ systemd-237.tar.xz | 3 - systemd-mini.changes | 57 +++++ systemd-mini.spec | 89 +++++--- systemd-v237+suse.52.g14b3e00c3.tar.xz | 3 + systemd.changes | 57 +++++ systemd.spec | 89 +++++--- 8 files changed, 255 insertions(+), 260 deletions(-) delete mode 100644 0001-basic-macros-rename-noreturn-into-_noreturn_.patch create mode 100644 _service delete mode 100644 systemd-237.tar.xz create mode 100644 systemd-v237+suse.52.g14b3e00c3.tar.xz diff --git a/0001-basic-macros-rename-noreturn-into-_noreturn_.patch b/0001-basic-macros-rename-noreturn-into-_noreturn_.patch deleted file mode 100644 index 0aaaf258..00000000 --- a/0001-basic-macros-rename-noreturn-into-_noreturn_.patch +++ /dev/null @@ -1,201 +0,0 @@ -From 24051a17e8df0976b41180a6d50275e7edf3e461 Mon Sep 17 00:00:00 2001 -From: Franck Bui -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 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 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 - diff --git a/_service b/_service new file mode 100644 index 00000000..43a94db3 --- /dev/null +++ b/_service @@ -0,0 +1,16 @@ + + + + + + git + https://github.com/openSUSE/systemd.git + systemd + @PARENT_TAG@+suse.@TAG_OFFSET@.g%h + openSUSE-Factory + + + *systemd-v237+suse.*.tar + xz + + diff --git a/systemd-237.tar.xz b/systemd-237.tar.xz deleted file mode 100644 index 23ed3778..00000000 --- a/systemd-237.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b420f2ff5841266d03c6691bd8adb705b2c46c391c33610923a23444232633f4 -size 4630076 diff --git a/systemd-mini.changes b/systemd-mini.changes index 72f79cb8..03b67bb7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -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 diff --git a/systemd-mini.spec b/systemd-mini.spec index f25ca2ef..1b81f7cb 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -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/ diff --git a/systemd-v237+suse.52.g14b3e00c3.tar.xz b/systemd-v237+suse.52.g14b3e00c3.tar.xz new file mode 100644 index 00000000..d03f0d39 --- /dev/null +++ b/systemd-v237+suse.52.g14b3e00c3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbca10a39e2efa0479fe5d81fb983e08ac4e9655b85e382d8247683a3151834f +size 4627336 diff --git a/systemd.changes b/systemd.changes index 72f79cb8..03b67bb7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -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 diff --git a/systemd.spec b/systemd.spec index ad57f81d..d6d7c696 100644 --- a/systemd.spec +++ b/systemd.spec @@ -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/ From b58ab645fc796f1bb2197829da22aee8ca31b544f0eb5819addd29e9be369355 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 28 Mar 2018 15:27:54 +0000 Subject: [PATCH 2/2] Accepting request 592079 from home:fbui:systemd:Factory - Drop systemd-bash-completion sub-package Now we directly ship the completion scripts from the main package as we already do for zsh. I couldn't see any advantages in this split. - Be more accurate when specifiying the tools version we provide - Make sure rpm won't expand %autopatch even if it's commented - stat(1) as well as systemctl are not use in %post section of udev So remove stat(1) from the list of dep and move systemctl to the requirements of %postun since it's called from there. - Be more accurate when specifiying the tools version we provide - Make sure rpm won't expand %autopatch even if it's commented - stat(1) as well as systemctl are not use in %post section of udev So remove stat(1) from the list of dep and move systemctl to the requirements of %postun since it's called from there. OBS-URL: https://build.opensuse.org/request/show/592079 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1024 --- systemd-mini.changes | 26 ++++++++++++++++++++++++++ systemd-mini.spec | 39 +++++++++++---------------------------- systemd.changes | 26 ++++++++++++++++++++++++++ systemd.spec | 39 +++++++++++---------------------------- 4 files changed, 74 insertions(+), 56 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 03b67bb7..aecf2d57 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com + +- Drop systemd-bash-completion sub-package + + Now we directly ship the completion scripts from the main package as + we already do for zsh. I couldn't see any advantages in this split. + +------------------------------------------------------------------- +Wed Mar 28 15:12:26 UTC 2018 - fbui@suse.com + +- Be more accurate when specifiying the tools version we provide + +------------------------------------------------------------------- +Wed Mar 28 15:00:24 UTC 2018 - fbui@suse.com + +- Make sure rpm won't expand %autopatch even if it's commented + +------------------------------------------------------------------- +Wed Mar 28 14:55:36 UTC 2018 - fbui@suse.com + +- stat(1) as well as systemctl are not use in %post section of udev + + So remove stat(1) from the list of dep and move systemctl to the + requirements of %postun since it's called from there. + ------------------------------------------------------------------- Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 1b81f7cb..4389ae03 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -121,7 +121,6 @@ Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) -Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -136,7 +135,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} +Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -235,12 +234,10 @@ License: GPL-2.0-only Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware -Requires(pre): /usr/bin/stat Requires(post): sed -Requires(post): /usr/bin/systemctl - Requires(post): coreutils Requires(postun): coreutils +Requires(postun): /usr/bin/systemctl Requires(posttrans): suse-module-tools >= 12.4 Conflicts: systemd < 39 @@ -252,7 +249,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} +Provides: udev = %{version}-%{release} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -287,8 +284,8 @@ License: LGPL-2.1-or-later Group: Development/Libraries/Other Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %{version} -Conflicts: libudev1 = %{version} +Provides: libudev-devel = %{version}-%{release} +Conflicts: libudev1 = %{version}-%{release} Conflicts: libudev-devel %endif @@ -425,22 +422,9 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1-or-later -Group: System/Base -Requires: bash-completion -BuildArch: noarch -%if 0%{?bootstrap} -Conflicts: systemd-bash-completion -%endif - -%description bash-completion -Some systemd commands offer bash completion, but it is an optional dependency. - %prep %setup -q -n systemd-v%{version}%{suse_version} -# %autopatch -p1 +# %%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -1151,6 +1135,11 @@ fi %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed + +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/* + %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* @@ -1363,10 +1352,4 @@ fi %{_datadir}/systemd/gatewayd %endif -%files bash-completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* - %changelog diff --git a/systemd.changes b/systemd.changes index 03b67bb7..aecf2d57 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com + +- Drop systemd-bash-completion sub-package + + Now we directly ship the completion scripts from the main package as + we already do for zsh. I couldn't see any advantages in this split. + +------------------------------------------------------------------- +Wed Mar 28 15:12:26 UTC 2018 - fbui@suse.com + +- Be more accurate when specifiying the tools version we provide + +------------------------------------------------------------------- +Wed Mar 28 15:00:24 UTC 2018 - fbui@suse.com + +- Make sure rpm won't expand %autopatch even if it's commented + +------------------------------------------------------------------- +Wed Mar 28 14:55:36 UTC 2018 - fbui@suse.com + +- stat(1) as well as systemctl are not use in %post section of udev + + So remove stat(1) from the list of dep and move systemctl to the + requirements of %postun since it's called from there. + ------------------------------------------------------------------- Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index d6d7c696..d5f1d1c7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -119,7 +119,6 @@ Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) -Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -134,7 +133,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} +Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -233,12 +232,10 @@ License: GPL-2.0-only Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware -Requires(pre): /usr/bin/stat Requires(post): sed -Requires(post): /usr/bin/systemctl - Requires(post): coreutils Requires(postun): coreutils +Requires(postun): /usr/bin/systemctl Requires(posttrans): suse-module-tools >= 12.4 Conflicts: systemd < 39 @@ -250,7 +247,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} +Provides: udev = %{version}-%{release} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -285,8 +282,8 @@ License: LGPL-2.1-or-later Group: Development/Libraries/Other Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %{version} -Conflicts: libudev1 = %{version} +Provides: libudev-devel = %{version}-%{release} +Conflicts: libudev1 = %{version}-%{release} Conflicts: libudev-devel %endif @@ -423,22 +420,9 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1-or-later -Group: System/Base -Requires: bash-completion -BuildArch: noarch -%if 0%{?bootstrap} -Conflicts: systemd-bash-completion -%endif - -%description bash-completion -Some systemd commands offer bash completion, but it is an optional dependency. - %prep %setup -q -n systemd-v%{version}%{suse_version} -# %autopatch -p1 +# %%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -1149,6 +1133,11 @@ fi %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed + +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/* + %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* @@ -1361,10 +1350,4 @@ fi %{_datadir}/systemd/gatewayd %endif -%files bash-completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* - %changelog