Hello community, here is the log from the commit of package systemd for openSUSE:Factory checked in at 2018-09-18 11:39:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/systemd (Old) and /work/SRC/openSUSE:Factory/.systemd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd" Tue Sep 18 11:39:40 2018 rev:285 rq:635765 version:237 Changes: -------- --- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2018-08-17 23:56:50.657777889 +0200 +++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2018-09-18 11:39:45.988141536 +0200 @@ -1,0 +2,24 @@ +Fri Sep 14 12:55:49 UTC 2018 - [email protected] + +- Enable or disable machines.target according to the presets (bsc#1107941) + +------------------------------------------------------------------- +Fri Sep 14 07:11:17 UTC 2018 - [email protected] + +- Import commit cc55f1ea9e1c1ccab5b9fb97e10e08830d02b282 + + 962b38aaf [email protected]: don't kill user manager at runlevel switch (bsc#1091677) + 3986c4d82 units: make sure [email protected] runs with dbus still up + 5e68aa0f2 Revert "udevd: increase maximum number of children" (bsc#1107617) + 099138fd9 fix race between daemon-reload and other commands (v237) (bsc#1105031) + +------------------------------------------------------------------- +Tue Sep 11 07:30:24 UTC 2018 - [email protected] + +- Import commit 6ac2232d88f4b64428511a4692a51bd00d610b32 + + 6247696db nspawn: always use mode 555 for /sys (bsc#1107640) + 72f558b57 cryptsetup: do not define arg_sector_size if libgcrypt is v1.x (#9990) + cfcd97cf2 cryptsetup: add support for sector-size= option (#9936) (fate#325634) + +------------------------------------------------------------------- systemd.changes: same change Old: ---- systemd-v237+suse.76.gbb5a925bc.tar.xz New: ---- systemd-v237+suse.85.gcc55f1ea9.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ systemd-mini.spec ++++++ --- /var/tmp/diff_new_pack.4QGly1/_old 2018-09-18 11:39:58.892127939 +0200 +++ /var/tmp/diff_new_pack.4QGly1/_new 2018-09-18 11:39:58.896127935 +0200 @@ -26,7 +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.76.gbb5a925bc +%define suse_version +suse.85.gcc55f1ea9 %bcond_with gnuefi %if 0%{?bootstrap} @@ -713,8 +713,9 @@ # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -%systemd_post remote-fs.target %systemd_post [email protected] +%systemd_post machines.target +%systemd_post remote-fs.target %systemd_post systemd-timesyncd.service %if %{with networkd} %systemd_post systemd-networkd.service ++++++ systemd.spec ++++++ --- /var/tmp/diff_new_pack.4QGly1/_old 2018-09-18 11:39:58.924127905 +0200 +++ /var/tmp/diff_new_pack.4QGly1/_new 2018-09-18 11:39:58.924127905 +0200 @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.76.gbb5a925bc +%define suse_version +suse.85.gcc55f1ea9 %bcond_with gnuefi %if 0%{?bootstrap} @@ -711,8 +711,9 @@ # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -%systemd_post remote-fs.target %systemd_post [email protected] +%systemd_post machines.target +%systemd_post remote-fs.target %systemd_post systemd-timesyncd.service %if %{with networkd} %systemd_post systemd-networkd.service ++++++ systemd-v237+suse.76.gbb5a925bc.tar.xz -> systemd-v237+suse.85.gcc55f1ea9.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-v237+suse.76.gbb5a925bc/man/crypttab.xml new/systemd-v237+suse.85.gcc55f1ea9/man/crypttab.xml --- old/systemd-v237+suse.76.gbb5a925bc/man/crypttab.xml 2018-08-08 15:22:34.000000000 +0200 +++ new/systemd-v237+suse.85.gcc55f1ea9/man/crypttab.xml 2018-09-14 09:09:22.000000000 +0200 @@ -284,6 +284,15 @@ </varlistentry> <varlistentry> + <term><option>sector-size=</option></term> + + <listitem><para>Specifies the sector size in bytes. See + <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry> + for possible values and the default value of this + option.</para></listitem> + </varlistentry> + + <varlistentry> <term><option>swap</option></term> <listitem><para>The encrypted block device will be used as a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-v237+suse.76.gbb5a925bc/meson.build new/systemd-v237+suse.85.gcc55f1ea9/meson.build --- old/systemd-v237+suse.76.gbb5a925bc/meson.build 2018-08-08 15:22:34.000000000 +0200 +++ new/systemd-v237+suse.85.gcc55f1ea9/meson.build 2018-09-14 09:09:22.000000000 +0200 @@ -945,11 +945,17 @@ version : '>= 1.6.0', required : want_libcryptsetup == 'true') have = libcryptsetup.found() + have_sector = cc.has_member( + 'struct crypt_params_plain', + 'sector_size', + prefix : '#include <libcryptsetup.h>') else have = false + have_sector = false libcryptsetup = [] endif conf.set10('HAVE_LIBCRYPTSETUP', have) +conf.set10('HAVE_LIBCRYPTSETUP_SECTOR_SIZE', have_sector) want_libcurl = get_option('libcurl') if want_libcurl != 'false' and not fuzzer_build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-v237+suse.76.gbb5a925bc/src/core/job.c new/systemd-v237+suse.85.gcc55f1ea9/src/core/job.c --- old/systemd-v237+suse.76.gbb5a925bc/src/core/job.c 2018-08-08 15:22:34.000000000 +0200 +++ new/systemd-v237+suse.85.gcc55f1ea9/src/core/job.c 2018-09-14 09:09:22.000000000 +0200 @@ -56,6 +56,7 @@ j->manager = unit->manager; j->unit = unit; j->type = _JOB_TYPE_INVALID; + j->reloaded = false; return j; } @@ -77,7 +78,7 @@ return j; } -void job_free(Job *j) { +void job_unlink(Job *j) { assert(j); assert(!j->installed); assert(!j->transaction_prev); @@ -85,16 +86,33 @@ assert(!j->subject_list); assert(!j->object_list); - if (j->in_run_queue) + if (j->in_run_queue) { LIST_REMOVE(run_queue, j->manager->run_queue, j); + j->in_run_queue = false; + } - if (j->in_dbus_queue) + if (j->in_dbus_queue) { LIST_REMOVE(dbus_queue, j->manager->dbus_job_queue, j); + j->in_dbus_queue = false; + } - if (j->in_gc_queue) + if (j->in_gc_queue) { LIST_REMOVE(gc_queue, j->manager->gc_job_queue, j); + j->in_gc_queue = false; + } - sd_event_source_unref(j->timer_event_source); + j->timer_event_source = sd_event_source_unref(j->timer_event_source); +} + +void job_free(Job *j) { + assert(j); + assert(!j->installed); + assert(!j->transaction_prev); + assert(!j->transaction_next); + assert(!j->subject_list); + assert(!j->object_list); + + job_unlink(j); sd_bus_track_unref(j->bus_track); strv_free(j->deserialized_clients); @@ -254,6 +272,7 @@ *pj = j; j->installed = true; + j->reloaded = true; if (j->state == JOB_RUNNING) j->unit->manager->n_running_jobs++; @@ -848,6 +867,19 @@ } } +static int job_save_pending_finished_job(Job *j) { + int r; + + assert(j); + + r = set_ensure_allocated(&j->manager->pending_finished_jobs, NULL); + if (r < 0) + return r; + + job_unlink(j); + return set_put(j->manager->pending_finished_jobs, j); +} + int job_finish_and_invalidate(Job *j, JobResult result, bool recursive, bool already) { Unit *u; Unit *other; @@ -887,7 +919,12 @@ j->manager->n_failed_jobs++; job_uninstall(j); - job_free(j); + /* Remember jobs started before the reload */ + if (MANAGER_IS_RELOADING(j->manager) && j->reloaded) { + if (job_save_pending_finished_job(j) < 0) + job_free(j); + } else + job_free(j); /* Fail depending jobs on failure */ if (result != JOB_DONE && recursive) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-v237+suse.76.gbb5a925bc/src/core/job.h new/systemd-v237+suse.85.gcc55f1ea9/src/core/job.h --- old/systemd-v237+suse.76.gbb5a925bc/src/core/job.h 2018-08-08 15:22:34.000000000 +0200 +++ new/systemd-v237+suse.85.gcc55f1ea9/src/core/job.h 2018-09-14 09:09:22.000000000 +0200 @@ -174,10 +174,12 @@ bool irreversible:1; bool in_gc_queue:1; bool ref_by_private_bus:1; + bool reloaded:1; }; Job* job_new(Unit *unit, JobType type); Job* job_new_raw(Unit *unit); +void job_unlink(Job *job); void job_free(Job *job); Job* job_install(Job *j); int job_install_deserialized(Job *j); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-v237+suse.76.gbb5a925bc/src/core/manager.c new/systemd-v237+suse.85.gcc55f1ea9/src/core/manager.c --- old/systemd-v237+suse.76.gbb5a925bc/src/core/manager.c 2018-08-08 15:22:34.000000000 +0200 +++ new/systemd-v237+suse.85.gcc55f1ea9/src/core/manager.c 2018-09-14 09:09:22.000000000 +0200 @@ -3047,6 +3047,17 @@ return r; } +static void manager_flush_finished_jobs(Manager *m) { + Job *j; + + while ((j = set_steal_first(m->pending_finished_jobs))) { + bus_job_send_removed_signal(j); + job_free(j); + } + + m->pending_finished_jobs = set_free(m->pending_finished_jobs); +} + int manager_reload(Manager *m) { int r, q; _cleanup_fclose_ FILE *f = NULL; @@ -3150,6 +3161,9 @@ assert(m->n_reloading > 0); m->n_reloading--; + if (!MANAGER_IS_RELOADING(m)) + manager_flush_finished_jobs(m); + m->send_reloading_done = true; return r; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-v237+suse.76.gbb5a925bc/src/core/manager.h new/systemd-v237+suse.85.gcc55f1ea9/src/core/manager.h --- old/systemd-v237+suse.76.gbb5a925bc/src/core/manager.h 2018-08-08 15:22:34.000000000 +0200 +++ new/systemd-v237+suse.85.gcc55f1ea9/src/core/manager.h 2018-09-14 09:09:22.000000000 +0200 @@ -306,6 +306,9 @@ /* non-zero if we are reloading or reexecuting, */ int n_reloading; + /* A set which contains all jobs that started before reload and finished + * during it */ + Set *pending_finished_jobs; unsigned n_installed_jobs; unsigned n_failed_jobs; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-v237+suse.76.gbb5a925bc/src/cryptsetup/cryptsetup.c new/systemd-v237+suse.85.gcc55f1ea9/src/cryptsetup/cryptsetup.c --- old/systemd-v237+suse.76.gbb5a925bc/src/cryptsetup/cryptsetup.c 2018-08-08 15:22:34.000000000 +0200 +++ new/systemd-v237+suse.85.gcc55f1ea9/src/cryptsetup/cryptsetup.c 2018-09-14 09:09:22.000000000 +0200 @@ -41,10 +41,16 @@ /* internal helper */ #define ANY_LUKS "LUKS" +/* as in src/cryptsetup.h */ +#define CRYPT_SECTOR_SIZE 512 +#define CRYPT_MAX_SECTOR_SIZE 4096 static const char *arg_type = NULL; /* ANY_LUKS, CRYPT_LUKS1, CRYPT_LUKS2, CRYPT_TCRYPT or CRYPT_PLAIN */ static char *arg_cipher = NULL; static unsigned arg_key_size = 0; +#if HAVE_LIBCRYPTSETUP_SECTOR_SIZE +static unsigned arg_sector_size = CRYPT_SECTOR_SIZE; +#endif static int arg_key_slot = CRYPT_ANY_SLOT; static unsigned arg_keyfile_size = 0; static uint64_t arg_keyfile_offset = 0; @@ -104,6 +110,29 @@ arg_key_size /= 8; + } else if ((val = startswith(option, "sector-size="))) { + +#if HAVE_LIBCRYPTSETUP_SECTOR_SIZE + r = safe_atou(val, &arg_sector_size); + if (r < 0) { + log_error_errno(r, "Failed to parse %s, ignoring: %m", option); + return 0; + } + + if (arg_sector_size % 2) { + log_error("sector-size= not a multiple of 2, ignoring."); + return 0; + } + + if (arg_sector_size < CRYPT_SECTOR_SIZE || arg_sector_size > CRYPT_MAX_SECTOR_SIZE) { + log_error("sector-size= is outside of %u and %u, ignoring.", CRYPT_SECTOR_SIZE, CRYPT_MAX_SECTOR_SIZE); + return 0; + } +#else + log_error("sector-size= is not supported, compiled with old libcryptsetup."); + return 0; +#endif + } else if ((val = startswith(option, "key-slot="))) { arg_type = ANY_LUKS; @@ -490,6 +519,9 @@ struct crypt_params_plain params = { .offset = arg_offset, .skip = arg_skip, +#if HAVE_LIBCRYPTSETUP_SECTOR_SIZE + .sector_size = arg_sector_size, +#endif }; const char *cipher, *cipher_mode; _cleanup_free_ char *truncated_cipher = NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-v237+suse.76.gbb5a925bc/src/nspawn/nspawn-mount.c new/systemd-v237+suse.85.gcc55f1ea9/src/nspawn/nspawn-mount.c --- old/systemd-v237+suse.76.gbb5a925bc/src/nspawn/nspawn-mount.c 2018-08-08 15:22:34.000000000 +0200 +++ new/systemd-v237+suse.85.gcc55f1ea9/src/nspawn/nspawn-mount.c 2018-09-14 09:09:22.000000000 +0200 @@ -550,7 +550,7 @@ /* outer child mounts */ { "tmpfs", "/tmp", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, MOUNT_FATAL }, - { "tmpfs", "/sys", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV, MOUNT_FATAL|MOUNT_APPLY_APIVFS_NETNS }, + { "tmpfs", "/sys", "tmpfs", "mode=555", MS_NOSUID|MS_NOEXEC|MS_NODEV, MOUNT_FATAL|MOUNT_APPLY_APIVFS_NETNS }, { "sysfs", "/sys", "sysfs", NULL, MS_RDONLY|MS_NOSUID|MS_NOEXEC|MS_NODEV, MOUNT_FATAL|MOUNT_APPLY_APIVFS_RO }, /* skipped if above was mounted */ { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, MOUNT_FATAL }, /* skipped if above was mounted */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-v237+suse.76.gbb5a925bc/src/udev/udevd.c new/systemd-v237+suse.85.gcc55f1ea9/src/udev/udevd.c --- old/systemd-v237+suse.76.gbb5a925bc/src/udev/udevd.c 2018-08-08 15:22:34.000000000 +0200 +++ new/systemd-v237+suse.85.gcc55f1ea9/src/udev/udevd.c 2018-09-14 09:09:22.000000000 +0200 @@ -1681,7 +1681,7 @@ arg_children_max = 8; if (sched_getaffinity(0, sizeof(cpu_set), &cpu_set) == 0) - arg_children_max += CPU_COUNT(&cpu_set) * 64; + arg_children_max += CPU_COUNT(&cpu_set) * 2; mem_limit = physical_memory() / (128LU*1024*1024); arg_children_max = MAX(10U, MIN(arg_children_max, mem_limit)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-v237+suse.76.gbb5a925bc/units/[email protected] new/systemd-v237+suse.85.gcc55f1ea9/units/[email protected] --- old/systemd-v237+suse.76.gbb5a925bc/units/[email protected] 2018-08-08 15:22:34.000000000 +0200 +++ new/systemd-v237+suse.85.gcc55f1ea9/units/[email protected] 2018-09-14 09:09:22.000000000 +0200 @@ -9,7 +9,8 @@ [Unit] Description=User Manager for UID %i -After=systemd-user-sessions.service +After=systemd-user-sessions.service dbus.service +IgnoreOnIsolate=yes [Service] User=%i
