Hello community, here is the log from the commit of package systemd for openSUSE:Factory checked in at 2017-05-17 10:45:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/systemd (Old) and /work/SRC/openSUSE:Factory/.systemd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "systemd" Wed May 17 10:45:36 2017 rev:254 rq:492807 version:232 Changes: -------- --- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2017-04-24 09:47:21.068115003 +0200 +++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2017-05-17 10:45:40.356104287 +0200 @@ -1,0 +2,80 @@ +Tue May 2 16:17:08 UTC 2017 - fbui@suse.com + +- Ship /var/log/README + + Unfortunately it's not possible to also ship /etc/init.d/README + because of rpm "sanity" checks that prevent executable in + /etc/init.d + +------------------------------------------------------------------- +Tue May 2 14:33:58 UTC 2017 - fbui@suse.com + +- Drop systemd-{journalctl,loginctl} legacy symlinks. + +------------------------------------------------------------------- +Tue May 2 13:55:31 UTC 2017 - fbui@suse.com + +- Drop %preun section + + Currently the only use of this section is to remove the symlinks + enabling systemd services on package removal. Those symlinks were + initially installed by the systemd package installation but could + have been overriden by the sysadmin later. If so the symlinks + shouldn't be uninstalled. + + Also in a near futur disabling services will install a symlink to + /dev/null. + +------------------------------------------------------------------- +Tue May 2 13:40:12 UTC 2017 - fbui@suse.com + +- Import commit 9e33c2ae69fbb705e8ad143536e419a231e93020 + + 04ef0eab8 importd: support SUSE style checksums supplementary (#5800) + fb601ad9a importd: support SUSE style checksums (#5206) (fate#322054) + b76b27c76 hwdb: fix warning "atkbd serio0: Unknown key pressed" (#5772) (boo#1010220) + cb0d991f6 loginctl: fix typo causing ignoring multiple session IDs (#5732) + +------------------------------------------------------------------- +Tue May 2 13:37:44 UTC 2017 - fbui@suse.com + +- Make use of %systemd_postun() + +------------------------------------------------------------------- +Tue May 2 13:28:17 UTC 2017 - fbui@suse.com + +- Restart a couple of systemd services on package update + + Those services (most notably journald) should support restarting + these days. However logind still doesn't but that should be fixed + pretty soon, well I hope :) + +------------------------------------------------------------------- +Tue May 2 13:13:25 UTC 2017 - fbui@suse.com + +- Don't buildrequire pam-config, it's not used at this step. + + Also drop the use of it in %postun as it can't realistically + happen... + +------------------------------------------------------------------- +Thu Apr 20 09:26:21 UTC 2017 - fbui@suse.com + +- Don't call /sbin/ldconfig in %post of the main package + + systemd main package doesn't ship any shared libs so there's no + point in calling ldconfig in %post/%postun + +------------------------------------------------------------------- +Thu Apr 20 09:20:03 UTC 2017 - fbui@suse.com + +- Silent %tmpfiles_create in %post (bsc#1034938) + + Due to bsc#1024740, we stopped generating /etc/machine-id during + systemd package installation making the specifier '%m' unavailable + in the tmpfiles.d configuration files at this time. + + Make it simple for now and silent %tmpfiles_create, after all that's + how the macro was implemented originally. + +------------------------------------------------------------------- systemd.changes: same change ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ systemd-mini.spec ++++++ --- /var/tmp/diff_new_pack.EsfVRy/_old 2017-05-17 10:45:41.739909626 +0200 +++ /var/tmp/diff_new_pack.EsfVRy/_new 2017-05-17 10:45:41.743909063 +0200 @@ -76,7 +76,6 @@ BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: pam-config >= 0.79-5 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -117,7 +116,6 @@ Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools @@ -523,11 +521,9 @@ # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf -# remove README file for now +# Remove README file in init.d as (SUSE) rpm requires executable files +# in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -%if 0%{?bootstrap} -rm -f %{buildroot}%{_localstatedir}/log/README -%endif # journal-upload is built if libcurl is installed which can happen # when importd is enabled (whereas journal_remote is not). @@ -537,13 +533,7 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* %endif -# legacy links -for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f -%if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 -%endif -done +# legacy link ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal @@ -661,12 +651,11 @@ %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif -ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create +%tmpfiles_create 2>/dev/null # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -744,29 +733,12 @@ fi %postun -ldconfig -if [ $1 -ge 1 ]; then - systemctl daemon-reload || : - # Avoid restarting logind [bnc#934901] until fixed upstream - #systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : -fi -%if ! 0%{?bootstrap} -if [ $1 -eq 0 ]; then - pam-config -d --systemd || : -fi -%endif - -%preun -if [ $1 -eq 0 ]; then - systemctl disable remote-fs.target || : - systemctl disable getty@.service || : - systemctl disable systemd-networkd.service || : - systemctl disable systemd-networkd-wait-online.service || : - systemctl disable systemd-timesyncd.service || : - systemctl disable systemd-resolved.service || : - - rm -f /etc/systemd/system/default.target -fi >/dev/null +%systemd_postun +# Avoid restarting logind until fixed upstream (issue #1163) +%systemd_postun_with_restart systemd-journald.service +%systemd_postun_with_restart systemd-networkd.service +%systemd_postun_with_restart systemd-timesyncd.service +%systemd_postun_with_restart systemd-resolved.service %pretrans -n udev%{?mini} -p <lua> if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then @@ -899,11 +871,9 @@ %{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run -%{_bindir}/systemd-journalctl %{_bindir}/journalctl %{_bindir}/systemd-ask-password %{_bindir}/loginctl -%{_bindir}/systemd-loginctl %{_bindir}/systemd-inhibit %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles @@ -1122,6 +1092,7 @@ %{_mandir}/man8/systemd-u[ps]* %endif %{_docdir}/systemd + %{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_prefix}/lib/udev/rules.d/71-seat.rules %{_prefix}/lib/udev/rules.d/73-seat-late.rules @@ -1241,9 +1212,7 @@ %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} -%{_localstatedir}/log/README -%endif +%doc %{_localstatedir}/log/README %files -n nss-myhostname %defattr(-, root, root) ++++++ systemd.spec ++++++ --- /var/tmp/diff_new_pack.EsfVRy/_old 2017-05-17 10:45:41.767905687 +0200 +++ /var/tmp/diff_new_pack.EsfVRy/_new 2017-05-17 10:45:41.771905124 +0200 @@ -74,7 +74,6 @@ BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: pam-config >= 0.79-5 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -115,7 +114,6 @@ Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools @@ -521,11 +519,9 @@ # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf -# remove README file for now +# Remove README file in init.d as (SUSE) rpm requires executable files +# in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -%if 0%{?bootstrap} -rm -f %{buildroot}%{_localstatedir}/log/README -%endif # journal-upload is built if libcurl is installed which can happen # when importd is enabled (whereas journal_remote is not). @@ -535,13 +531,7 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* %endif -# legacy links -for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f -%if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 -%endif -done +# legacy link ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal @@ -659,12 +649,11 @@ %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif -ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create +%tmpfiles_create 2>/dev/null # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -742,29 +731,12 @@ fi %postun -ldconfig -if [ $1 -ge 1 ]; then - systemctl daemon-reload || : - # Avoid restarting logind [bnc#934901] until fixed upstream - #systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : -fi -%if ! 0%{?bootstrap} -if [ $1 -eq 0 ]; then - pam-config -d --systemd || : -fi -%endif - -%preun -if [ $1 -eq 0 ]; then - systemctl disable remote-fs.target || : - systemctl disable getty@.service || : - systemctl disable systemd-networkd.service || : - systemctl disable systemd-networkd-wait-online.service || : - systemctl disable systemd-timesyncd.service || : - systemctl disable systemd-resolved.service || : - - rm -f /etc/systemd/system/default.target -fi >/dev/null +%systemd_postun +# Avoid restarting logind until fixed upstream (issue #1163) +%systemd_postun_with_restart systemd-journald.service +%systemd_postun_with_restart systemd-networkd.service +%systemd_postun_with_restart systemd-timesyncd.service +%systemd_postun_with_restart systemd-resolved.service %pretrans -n udev%{?mini} -p <lua> if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then @@ -897,11 +869,9 @@ %{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run -%{_bindir}/systemd-journalctl %{_bindir}/journalctl %{_bindir}/systemd-ask-password %{_bindir}/loginctl -%{_bindir}/systemd-loginctl %{_bindir}/systemd-inhibit %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles @@ -1120,6 +1090,7 @@ %{_mandir}/man8/systemd-u[ps]* %endif %{_docdir}/systemd + %{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_prefix}/lib/udev/rules.d/71-seat.rules %{_prefix}/lib/udev/rules.d/73-seat-late.rules @@ -1239,9 +1210,7 @@ %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} -%{_localstatedir}/log/README -%endif +%doc %{_localstatedir}/log/README %files -n nss-myhostname %defattr(-, root, root) ++++++ systemd-232.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/hwdb/60-keyboard.hwdb new/systemd-232/hwdb/60-keyboard.hwdb --- old/systemd-232/hwdb/60-keyboard.hwdb 2017-04-10 12:06:11.000000000 +0200 +++ new/systemd-232/hwdb/60-keyboard.hwdb 2017-05-02 15:40:39.000000000 +0200 @@ -262,6 +262,10 @@ KEYBOARD_KEY_88=! # wireless switch KEYBOARD_KEY_9e=!f21 +# Dell Latitude E7* +evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*E7*:pvr* + KEYBOARD_KEY_88=unknown # Fn-PrtScr rfkill - handled in HW + # Dell XPS evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* KEYBOARD_KEY_8c=!unknown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/man/machinectl.xml new/systemd-232/man/machinectl.xml --- old/systemd-232/man/machinectl.xml 2017-04-10 12:06:11.000000000 +0200 +++ new/systemd-232/man/machinectl.xml 2017-05-02 15:40:39.000000000 +0200 @@ -705,19 +705,22 @@ is automatically derived from the last component of the URL, with its suffix removed.</para> - <para>The image is verified before it is made available, - unless <option>--verify=no</option> is specified. Verification - is done via SHA256SUMS and SHA256SUMS.gpg files that need to - be made available on the same web server, under the same URL - as the <filename>.tar</filename> file, but with the last - component (the filename) of the URL replaced. With - <option>--verify=checksum</option>, only the SHA256 checksum - for the file is verified, based on the - <filename>SHA256SUMS</filename> file. With - <option>--verify=signature</option>, the SHA256SUMS file is - first verified with detached GPG signature file - <filename>SHA256SUMS.gpg</filename>. The public key for this - verification step needs to be available in + <para>The image is verified before it is made available, unless + <option>--verify=no</option> is specified. + Verification is done either via an inline signed file with the name + of the image and the suffix <filename>.sha256</filename> or via + separate <filename>SHA256SUMS</filename> and + <filename>SHA256SUMS.gpg</filename> files. + The signature files need to be made available on the same web + server, under the same URL as the <filename>.tar</filename> file. + With <option>--verify=checksum</option>, only the SHA256 checksum + for the file is verified, based on the <filename>.sha256</filename> + suffixed file or the<filename>SHA256SUMS</filename> file. + With <option>--verify=signature</option>, the sha checksum file is + first verified with the inline signature in the + <filename>.sha256</filename> file or the detached GPG signature file + <filename>SHA256SUMS.gpg</filename>. + The public key for this verification step needs to be available in <filename>/usr/lib/systemd/import-pubring.gpg</filename> or <filename>/etc/systemd/import-pubring.gpg</filename>.</para> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/import/pull-common.c new/systemd-232/src/import/pull-common.c --- old/systemd-232/src/import/pull-common.c 2017-04-10 12:06:11.000000000 +0200 +++ new/systemd-232/src/import/pull-common.c 2017-05-02 15:40:39.000000000 +0200 @@ -272,6 +272,7 @@ _cleanup_(pull_job_unrefp) PullJob *checksum_job = NULL, *signature_job = NULL; int r; + const char *chksums = NULL; assert(ret_checksum_job); assert(ret_signature_job); @@ -281,10 +282,16 @@ assert(glue); if (verify != IMPORT_VERIFY_NO) { - _cleanup_free_ char *checksum_url = NULL; + _cleanup_free_ char *checksum_url = NULL, *fn = NULL; - /* Queue job for the SHA256SUMS file for the image */ - r = import_url_change_last_component(url, "SHA256SUMS", &checksum_url); + /* Queue jobs for the checksum file for the image. */ + r = import_url_last_component(url, &fn); + if (r < 0) + return r; + + chksums = strjoina(fn, ".sha256"); + + r = import_url_change_last_component(url, chksums, &checksum_url); if (r < 0) return r; @@ -365,6 +372,15 @@ line, strlen(line)); + if (!p) { + line = strjoina(main_job->checksum, " ", fn, "\n"); + + p = memmem(checksum_job->payload, + checksum_job->payload_size, + line, + strlen(line)); + } + if (!p || (p != (char*) checksum_job->payload && p[-1] != '\n')) { log_error("DOWNLOAD INVALID: Checksum did not check out, payload has been tampered with."); return -EBADMSG; @@ -411,6 +427,9 @@ if (!signature_job) return 0; + if (checksum_job->style == VERIFICATION_PER_FILE) + signature_job = checksum_job; + assert(signature_job->state == PULL_JOB_DONE); if (!signature_job->payload || signature_job->payload_size <= 0) { @@ -502,9 +521,11 @@ cmd[k++] = "--keyring=" VENDOR_KEYRING_PATH; cmd[k++] = "--verify"; - cmd[k++] = sig_file_path; - cmd[k++] = "-"; - cmd[k++] = NULL; + if (checksum_job->style == VERIFICATION_PER_DIRECTORY) { + cmd[k++] = sig_file_path; + cmd[k++] = "-"; + cmd[k++] = NULL; + } stdio_unset_cloexec(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/import/pull-job.c new/systemd-232/src/import/pull-job.c --- old/systemd-232/src/import/pull-job.c 2017-04-10 12:06:11.000000000 +0200 +++ new/systemd-232/src/import/pull-job.c 2017-05-02 15:40:39.000000000 +0200 @@ -22,9 +22,11 @@ #include "alloc-util.h" #include "fd-util.h" #include "hexdecoct.h" +#include "import-util.h" #include "io-util.h" #include "machine-pool.h" #include "parse-util.h" +#include "pull-common.h" #include "pull-job.h" #include "string-util.h" #include "strv.h" @@ -73,6 +75,31 @@ j->on_finished(j); } +static int pull_job_restart(PullJob *j) { + int r; + char *chksum_url = NULL; + + r = import_url_change_last_component(j->url, "SHA256SUMS", &chksum_url); + if (r < 0) + return r; + + free(j->url); + j->url = chksum_url; + j->state = PULL_JOB_INIT; + j->payload = mfree(j->payload); + j->payload_size = 0; + j->payload_allocated = 0; + j->written_compressed = 0; + j->written_uncompressed = 0; + j->written_since_last_grow = 0; + + r = pull_job_begin(j); + if (r < 0) + return r; + + return 0; +} + void pull_job_curl_on_finished(CurlGlue *g, CURL *curl, CURLcode result) { PullJob *j = NULL; CURLcode code; @@ -102,6 +129,26 @@ r = 0; goto finish; } else if (status >= 300) { + if (status == 404 && j->style == VERIFICATION_PER_FILE) { + + /* retry pull job with SHA256SUMS file */ + r = pull_job_restart(j); + if (r < 0) + goto finish; + + code = curl_easy_getinfo(j->curl, CURLINFO_RESPONSE_CODE, &status); + if (code != CURLE_OK) { + log_error("Failed to retrieve response code: %s", curl_easy_strerror(code)); + r = -EIO; + goto finish; + } + + if (status == 0) { + j->style = VERIFICATION_PER_DIRECTORY; + return; + } + } + log_error("HTTP request to %s failed with code %li.", j->url, status); r = -EIO; goto finish; @@ -528,6 +575,7 @@ j->content_length = (uint64_t) -1; j->start_usec = now(CLOCK_MONOTONIC); j->compressed_max = j->uncompressed_max = 8LLU * 1024LLU * 1024LLU * 1024LLU; /* 8GB */ + j->style = VERIFICATION_STYLE_UNSET; j->url = strdup(url); if (!j->url) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/import/pull-job.h new/systemd-232/src/import/pull-job.h --- old/systemd-232/src/import/pull-job.h 2017-04-10 12:06:11.000000000 +0200 +++ new/systemd-232/src/import/pull-job.h 2017-05-02 15:40:39.000000000 +0200 @@ -42,6 +42,12 @@ _PULL_JOB_STATE_INVALID = -1, } PullJobState; +typedef enum VerificationStyle { + VERIFICATION_STYLE_UNSET, + VERIFICATION_PER_FILE, /* SuSE-style ".sha256" files with inline signature */ + VERIFICATION_PER_DIRECTORY, /* Ubuntu-style SHA256SUM files with detach SHA256SUM.gpg signatures */ +} VerificationStyle; + #define PULL_JOB_IS_COMPLETE(j) (IN_SET((j)->state, PULL_JOB_DONE, PULL_JOB_FAILED)) struct PullJob { @@ -94,6 +100,8 @@ bool grow_machine_directory; uint64_t written_since_last_grow; + + VerificationStyle style; }; int pull_job_new(PullJob **job, const char *url, CurlGlue *glue, void *userdata); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/import/pull-raw.c new/systemd-232/src/import/pull-raw.c --- old/systemd-232/src/import/pull-raw.c 2017-04-10 12:06:11.000000000 +0200 +++ new/systemd-232/src/import/pull-raw.c 2017-05-02 15:40:39.000000000 +0200 @@ -391,11 +391,9 @@ if (j == i->settings_job) { if (j->error != 0) log_info_errno(j->error, "Settings file could not be retrieved, proceeding without."); - } else if (j->error != 0) { + } else if (j->error != 0 && j != i->signature_job) { if (j == i->checksum_job) log_error_errno(j->error, "Failed to retrieve SHA256 checksum, cannot verify. (Try --verify=no?)"); - else if (j == i->signature_job) - log_error_errno(j->error, "Failed to retrieve signature file, cannot verify. (Try --verify=no?)"); else log_error_errno(j->error, "Failed to retrieve image file. (Wrong URL?)"); @@ -413,6 +411,13 @@ if (!raw_pull_is_done(i)) return; + if (i->checksum_job->style == VERIFICATION_PER_DIRECTORY && i->signature_job->error != 0) { + log_error_errno(j->error, "Failed to retrieve signature file, cannot verify. (Try --verify=no?)"); + + r = i->signature_job->error; + goto finish; + } + if (i->settings_job) i->settings_job->disk_fd = safe_close(i->settings_job->disk_fd); @@ -631,6 +636,7 @@ if (i->checksum_job) { i->checksum_job->on_progress = raw_pull_job_on_progress; + i->checksum_job->style = VERIFICATION_PER_FILE; r = pull_job_begin(i->checksum_job); if (r < 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/import/pull-tar.c new/systemd-232/src/import/pull-tar.c --- old/systemd-232/src/import/pull-tar.c 2017-04-10 12:06:11.000000000 +0200 +++ new/systemd-232/src/import/pull-tar.c 2017-05-02 15:40:39.000000000 +0200 @@ -288,11 +288,9 @@ if (j == i->settings_job) { if (j->error != 0) log_info_errno(j->error, "Settings file could not be retrieved, proceeding without."); - } else if (j->error != 0) { + } else if (j->error != 0 && j != i->signature_job) { if (j == i->checksum_job) log_error_errno(j->error, "Failed to retrieve SHA256 checksum, cannot verify. (Try --verify=no?)"); - else if (j == i->signature_job) - log_error_errno(j->error, "Failed to retrieve signature file, cannot verify. (Try --verify=no?)"); else log_error_errno(j->error, "Failed to retrieve image file. (Wrong URL?)"); @@ -307,6 +305,13 @@ if (!tar_pull_is_done(i)) return; + if (i->checksum_job->style == VERIFICATION_PER_DIRECTORY && i->signature_job->error != 0) { + log_error_errno(j->error, "Failed to retrieve signature file, cannot verify. (Try --verify=no?)"); + + r = i->signature_job->error; + goto finish; + } + i->tar_job->disk_fd = safe_close(i->tar_job->disk_fd); if (i->settings_job) i->settings_job->disk_fd = safe_close(i->settings_job->disk_fd); @@ -543,6 +548,7 @@ if (i->checksum_job) { i->checksum_job->on_progress = tar_pull_job_on_progress; + i->checksum_job->style = VERIFICATION_PER_FILE; r = pull_job_begin(i->checksum_job); if (r < 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/login/loginctl.c new/systemd-232/src/login/loginctl.c --- old/systemd-232/src/login/loginctl.c 2017-04-10 12:06:11.000000000 +0200 +++ new/systemd-232/src/login/loginctl.c 2017-05-02 15:40:39.000000000 +0200 @@ -945,7 +945,7 @@ _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_free_ char *path = NULL; - r = get_session_path(bus, argv[1], &error, &path); + r = get_session_path(bus, argv[i], &error, &path); if (r < 0) { log_error("Failed to get session path: %s", bus_error_message(&error, r)); return r;