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 - [email protected]
+
+- 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 - [email protected]
+
+- Drop systemd-{journalctl,loginctl} legacy symlinks.
+
+-------------------------------------------------------------------
+Tue May  2 13:55:31 UTC 2017 - [email protected]
+
+- 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 - [email protected]
+
+- 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 - [email protected]
+
+- Make use of %systemd_postun()
+
+-------------------------------------------------------------------
+Tue May  2 13:28:17 UTC 2017 - [email protected]
+
+- 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 - [email protected]
+
+- 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 - [email protected]
+
+- 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 - [email protected]
+
+- 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 [email protected]   || :
-        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 [email protected]   || :
-        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;


Reply via email to