Hello community,

here is the log from the commit of package transactional-update for 
openSUSE:Factory checked in at 2018-02-01 21:29:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/transactional-update (Old)
 and      /work/SRC/openSUSE:Factory/.transactional-update.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "transactional-update"

Thu Feb  1 21:29:09 2018 rev:19 rq:571471 version:1.26

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/transactional-update/transactional-update.changes    
    2018-01-09 14:56:39.110074126 +0100
+++ 
/work/SRC/openSUSE:Factory/.transactional-update.new/transactional-update.changes
   2018-02-01 21:29:10.969651345 +0100
@@ -1,0 +2,13 @@
+Wed Jan 31 16:14:14 CET 2018 - [email protected]
+
+- Update to version 1.26
+  - Auto accept repo keys config option
+  - Detect broken snapshots after abort
+  - Ignore user deleted snapshots
+  - Include all error messages in main log file
+  - Add configuration file
+  - Correctly implement migration of major OS versions
+  - Default reboot strategy is configuration option
+  - Salt option is deprecated
+
+-------------------------------------------------------------------

Old:
----
  transactional-update-1.25.tar.bz2

New:
----
  transactional-update-1.26.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ transactional-update.spec ++++++
--- /var/tmp/diff_new_pack.pZLEAL/_old  2018-02-01 21:29:11.633620314 +0100
+++ /var/tmp/diff_new_pack.pZLEAL/_new  2018-02-01 21:29:11.633620314 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           transactional-update
-Version:        1.25
+Version:        1.26
 Release:        0
 Summary:        Transactional Updates with btrfs and snapshots
 License:        GPL-2.0+
@@ -64,11 +64,13 @@
 %files
 %defattr(-,root,root)
 %doc NEWS COPYING
+%config(noreplace) %{_sysconfdir}/transactional-update.conf
 %config(noreplace) %{_sysconfdir}/logrotate.d/transactional-update
 %{_unitdir}/transactional-update.service
 %{_unitdir}/transactional-update.timer
 %{_sbindir}/transactional-update
 %{_sbindir}/tu-rebuild-kdump-initrd
+%{_mandir}/man5/transactional-update.conf.5%{ext_man}
 %{_mandir}/man8/transactional-update.8%{ext_man}
 %{_mandir}/man8/transactional-update.timer.8%{ext_man}
 %{_mandir}/man8/transactional-update.service.8%{ext_man}

++++++ transactional-update-1.25.tar.bz2 -> transactional-update-1.26.tar.bz2 
++++++
++++ 1967 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/Makefile.am 
new/transactional-update-1.26/Makefile.am
--- old/transactional-update-1.25/Makefile.am   2017-11-28 13:13:48.000000000 
+0100
+++ new/transactional-update-1.26/Makefile.am   2018-01-22 13:01:43.000000000 
+0100
@@ -5,7 +5,7 @@
 #
 AUTOMAKE_OPTIONS = 1.6 foreign check-news dist-bzip2
 #
-SUBDIRS = sbin man systemd logrotate doc
+SUBDIRS = sbin man systemd logrotate doc etc
 
 CLEANFILES = *~
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/NEWS new/transactional-update-1.26/NEWS
--- old/transactional-update-1.25/NEWS  2018-01-08 16:05:59.000000000 +0100
+++ new/transactional-update-1.26/NEWS  2018-01-31 10:51:45.000000000 +0100
@@ -2,6 +2,16 @@
 
 Copyright (C) 2016, 2017, 2018 Thorsten Kukuk
 
+Version 1.26
+* Auto accept repo keys config option
+* Detect broken snapshots after abort
+* Ignore user deleted snapshots
+* Include all error messages in main log file
+* Add configuration file
+* Correctly implement migration of major OS versions
+* Default reboot strategy is configuration option
+* Salt option is deprecated
+
 Version 1.25
 * Add support for seperate /var partition
 * Preliminary SELinux support
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/configure.ac 
new/transactional-update-1.26/configure.ac
--- old/transactional-update-1.25/configure.ac  2018-01-08 16:03:59.000000000 
+0100
+++ new/transactional-update-1.26/configure.ac  2018-01-31 10:48:24.000000000 
+0100
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(transactional-update, 1.25)
+AC_INIT(transactional-update, 1.26)
 AM_INIT_AUTOMAKE
 AC_CONFIG_SRCDIR([sbin/transactional-update.in])
 AC_PREFIX_DEFAULT(/usr)
@@ -65,4 +65,5 @@
 fi
 
 AC_OUTPUT([Makefile sbin/Makefile man/Makefile systemd/Makefile \
-       logrotate/Makefile doc/Makefile sbin/transactional-update])
+       logrotate/Makefile doc/Makefile etc/Makefile \
+       sbin/transactional-update])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/doc/transactional-update.xml 
new/transactional-update-1.26/doc/transactional-update.xml
--- old/transactional-update-1.25/doc/transactional-update.xml  2017-12-19 
14:57:31.000000000 +0100
+++ new/transactional-update-1.26/doc/transactional-update.xml  2018-01-29 
17:23:19.000000000 +0100
@@ -136,7 +136,7 @@
 
   <chapter id="tu-howitworks">
     <title>How it works</title>
-    <section>
+    <section id="tu-howitworks-filesystem">
       <title>Filesystem</title>
       <para>
        For transactional updates the snapshot functionality of
@@ -154,7 +154,7 @@
        it provides snapshot functionality.
       </para>
     </section>
-    <section>
+    <section id="tu-howitworks-update">
       <title>Update</title>
       <mediaobject>
         <imageobject>
@@ -283,7 +283,7 @@
        </caption>
       </mediaobject>
     </section>
-    <section>
+    <section id="tu-howitworks-commands">
       <title>Commands used</title>
       <para>
        In the end, creating and updating snapshots are only a few commands:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/etc/Makefile.am 
new/transactional-update-1.26/etc/Makefile.am
--- old/transactional-update-1.25/etc/Makefile.am       1970-01-01 
01:00:00.000000000 +0100
+++ new/transactional-update-1.26/etc/Makefile.am       2018-01-22 
13:01:43.000000000 +0100
@@ -0,0 +1,7 @@
+#
+# Copyright (c) 2018 Ignaz Forster <[email protected]>
+#
+
+sysconf_DATA = transactional-update.conf
+
+EXTRA_DIST = $(DATA)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/etc/transactional-update.conf 
new/transactional-update-1.26/etc/transactional-update.conf
--- old/transactional-update-1.25/etc/transactional-update.conf 1970-01-01 
01:00:00.000000000 +0100
+++ new/transactional-update-1.26/etc/transactional-update.conf 2018-01-31 
10:47:28.000000000 +0100
@@ -0,0 +1,10 @@
+# Configuration file for transactional-update
+# See transactional-update.conf(5) for details
+
+# Reboot method
+# Valid values: auto salt rebootmgr systemd
+#REBOOT_METHOD=auto
+
+# Import new repository GPG keys automatically
+# Valid values: 0 1
+#ZYPPER_AUTO_IMPORT_KEYS=0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/Makefile.am 
new/transactional-update-1.26/man/Makefile.am
--- old/transactional-update-1.25/man/Makefile.am       2017-02-06 
14:46:40.000000000 +0100
+++ new/transactional-update-1.26/man/Makefile.am       2018-01-22 
13:01:43.000000000 +0100
@@ -10,12 +10,13 @@
        xml_helper.py transactional-update.index.xml
 
 man_MANS = transactional-update.8 transactional-update.service.8 \
-       transactional-update.timer.8
+       transactional-update.timer.8 transactional-update.conf.5
 
 noinst_DATA = transactional-update.8.html transactional-update.service.8.html \
-       transactional-update.timer.8.html transactional-update.index.html
+       transactional-update.timer.8.html transactional-update.conf.5.html \
+       transactional-update.index.html
 
-XMLS = transactional-update.8.xml
+XMLS = transactional-update.8.xml transactional-update.conf.5.xml
 
 XSLTPROC_FLAGS_HTML = \
         --nonet \
@@ -39,6 +40,10 @@
 transactional-update.8: transactional-update.8.xml
        $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir) --xinclude --nonet 
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
 
+transactional-update.service.8: transactional-update.8
+
+transactional-update.timer.8: transactional-update.8
+
 transactional-update.8.html: transactional-update.8.xml custom-html.xsl
        $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir) $(XSLTPROC_FLAGS_HTML) $<
 
@@ -51,4 +56,10 @@
 transactional-update.index.html: transactional-update.index.xml custom-html.xsl
        $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir) $(XSLTPROC_FLAGS_HTML) $<
 
+transactional-update.conf.5: transactional-update.conf.5.xml
+       $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir) --xinclude --nonet 
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+transactional-update.conf.5.html: transactional-update.conf.5.xml 
custom-html.xsl
+       $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir) $(XSLTPROC_FLAGS_HTML) $<
+
 endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/transactional-update.8 
new/transactional-update-1.26/man/transactional-update.8
--- old/transactional-update-1.25/man/transactional-update.8    2017-11-28 
14:05:50.000000000 +0100
+++ new/transactional-update-1.26/man/transactional-update.8    2018-01-29 
17:23:24.000000000 +0100
@@ -2,12 +2,12 @@
 .\"     Title: transactional-update
 .\"    Author: Thorsten Kukuk <[email protected]>
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 11/28/2017
+.\"      Date: 01/29/2018
 .\"    Manual: transactional-update
 .\"    Source: transactional-update
 .\"  Language: English
 .\"
-.TH "TRANSACTIONAL\-UPDAT" "8" "11/28/2017" "transactional-update" 
"transactional-update"
+.TH "TRANSACTIONAL\-UPDAT" "8" "01/29/2018" "transactional-update" 
"transactional-update"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -200,6 +200,7 @@
 \fBlibnss_usrfiles\fR\&. This prevents that the new accounts are hidden by 
local modifications by the system administrator\&.
 .SH "SEE ALSO"
 .PP
+\fBtransactional-update.conf\fR(5),
 \fBsystemd.timer\fR(5),
 \fBsystemd.time\fR(7)
 .SH "AUTHOR"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/transactional-update.8.html 
new/transactional-update-1.26/man/transactional-update.8.html
--- old/transactional-update-1.25/man/transactional-update.8.html       
2017-11-28 14:05:51.000000000 +0100
+++ new/transactional-update-1.26/man/transactional-update.8.html       
2018-01-29 17:23:24.000000000 +0100
@@ -15,7 +15,7 @@
     h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, 
dt:hover > a.headerlink {
       visibility: visible;
     }
-  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.23</span><hr><div 
class="refentry"><a name="transactional-update.8"></a><div 
class="titlepage"></div><div class="refnamediv"><a 
name="name"></a><h2>Name</h2><p>transactional-update, 
transactional-update.service, transactional-update.timer — Apply updates to the 
system in an atomic way via transactional
+  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.25</span><hr><div 
class="refentry"><a name="transactional-update.8"></a><div 
class="titlepage"></div><div class="refnamediv"><a 
name="name"></a><h2>Name</h2><p>transactional-update, 
transactional-update.service, transactional-update.timer — Apply updates to the 
system in an atomic way via transactional
     updates.</p></div><div class="refsynopsisdiv"><a 
name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code 
class="command">transactional-update</code>  [--help] [--version]</p></div><div 
class="cmdsynopsis"><p><code class="command">transactional-update</code>  
[cleanup] [ up  |   dup  |   patch  |   bootloader  |   initrd ] [kdump] 
[reboot]</p></div><div class="cmdsynopsis"><p><code 
class="command">transactional-update</code>  [cleanup] [reboot]  pkg    install 
 |   remove  |   update    &lt;RPM&gt;...&lt;RPM&gt; </p></div><div 
class="cmdsynopsis"><p><code class="command">transactional-update</code>   
migration </p></div><div class="cmdsynopsis"><p><code 
class="command">transactional-update</code>   rollback  
[number]</p></div><p><code 
class="filename">transactional-update.service</code></p><p><code 
class="filename">transactional-update.timer</code></p></div><div 
class="refsect1"><a name="description"></a><h2 id="DESCRIPTION">DESCRIPTION<a 
class="headerlink" title="Permalink to this headline" 
href="#DESCRIPTION">¶</a></h2><p><span 
class="command"><strong>transactional-update</strong></span> updates the system
 in a transactional way, which means: it is atomic, so either the patches are
 fully applied or nothing is changed. The update does not influence your
@@ -127,5 +127,6 @@
   copied into <code class="filename">/usr/etc</code> and can be accessed by 
tools like
   <span class="command"><strong>libnss_usrfiles</strong></span>. This prevents 
that the new accounts are
   hidden by local modifications by the system administrator.
-</p></div><div class="refsect1"><a name="see_also"></a><h2 id="SEE ALSO">SEE 
ALSO<a class="headerlink" title="Permalink to this headline" 
href="#SEE%20ALSO">¶</a></h2><p><a 
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html";><span
 class="citerefentry"><span 
class="refentrytitle">systemd.timer</span>(5)</span></a>,
+</p></div><div class="refsect1"><a name="see_also"></a><h2 id="SEE ALSO">SEE 
ALSO<a class="headerlink" title="Permalink to this headline" 
href="#SEE%20ALSO">¶</a></h2><p><a 
href="transactional-update.conf.5.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update.conf</span>(5)</span></a>,
+<a 
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html";><span
 class="citerefentry"><span 
class="refentrytitle">systemd.timer</span>(5)</span></a>,
 <a 
href="https://www.freedesktop.org/software/systemd/man/systemd.time.html";><span 
class="citerefentry"><span 
class="refentrytitle">systemd.time</span>(7)</span></a></p></div></div></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/transactional-update.8.xml 
new/transactional-update-1.26/man/transactional-update.8.xml
--- old/transactional-update-1.25/man/transactional-update.8.xml        
2017-11-28 14:04:07.000000000 +0100
+++ new/transactional-update-1.26/man/transactional-update.8.xml        
2018-01-22 13:01:43.000000000 +0100
@@ -335,7 +335,8 @@
 </refsect1>
 
 <refsect1 id='see_also'><title>SEE ALSO</title>
-<para><citerefentry 
project='systemd'><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<para><citerefentry><refentrytitle>transactional-update.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry 
project='systemd'><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
 <citerefentry 
project='systemd'><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry></para>
 </refsect1>
 </refentry>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/transactional-update.conf.5 
new/transactional-update-1.26/man/transactional-update.conf.5
--- old/transactional-update-1.25/man/transactional-update.conf.5       
1970-01-01 01:00:00.000000000 +0100
+++ new/transactional-update-1.26/man/transactional-update.conf.5       
2018-01-31 10:47:30.000000000 +0100
@@ -0,0 +1,98 @@
+'\" t
+.\"     Title: transactional-update.conf
+.\"    Author: Ignaz Forster <[email protected]>
+.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
+.\"      Date: 01/31/2018
+.\"    Manual: transactional-update.conf
+.\"    Source: transactional-update
+.\"  Language: English
+.\"
+.TH "TRANSACTIONAL\-UPDAT" "5" "01/31/2018" "transactional-update" 
"transactional-update.conf"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+transactional-update.conf \- transactional\-update configuration file
+.SH "SYNOPSIS"
+.PP
+/etc/transactional\-update\&.conf
+.SH "DESCRIPTION"
+.PP
+This configuration file controls and defines the behaviour of
+\fBtransactional-update\fR(8)\&.
+.PP
+The
+transactional\-update\&.conf
+file uses shell style assignments, e\&.g\&.
+PARAMETER=value\&.
+.SH "OPTIONS"
+.PP
+The following options are available in the
+transactional\-update
+section:
+.PP
+\fIREBOOT_METHOD\fR
+.RS 4
+Specify the reboot method to use\&.
+.PP
+auto
+.RS 4
+Uses
+rebootmgr
+if available and active; falls back to
+systemd
+otherwise\&.
+.sp
+This is the default value\&. If the option is invalid it will also be used as 
the fallback value\&.
+.RE
+.PP
+salt
+.RS 4
+Will create a Salt grain for signaling Velum to reboot the system\&.
+.RE
+.PP
+rebootmgr
+.RS 4
+\fBrebootmgrctl\fR(1)
+will be triggered to initiate a reboot\&.
+.RE
+.PP
+systemd
+.RS 4
+\fBsystemctl\fR(1)
+will be called to initiate a reboot\&.
+.RE
+.RE
+.PP
+\fIZYPPER_AUTO_IMPORT_KEYS\fR
+.RS 4
+If set to
+1
+GPG keys will be imported automatically for new repositories\&. If set to
+0
+updates will fail if a key is unknown\&. For security reasons this option is 
turned off (0) by default\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBtransactional-update\fR(8)
+.SH "AUTHOR"
+.PP
+\fBIgnaz Forster\fR <\&iforster@suse\&.com\&>
+.RS 4
+.RE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/transactional-update.conf.5.html 
new/transactional-update-1.26/man/transactional-update.conf.5.html
--- old/transactional-update-1.25/man/transactional-update.conf.5.html  
1970-01-01 01:00:00.000000000 +0100
+++ new/transactional-update-1.26/man/transactional-update.conf.5.html  
2018-01-31 10:47:30.000000000 +0100
@@ -0,0 +1,45 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; 
charset=UTF-8"><title>transactional-update.conf</title><meta name="generator" 
content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" 
text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
+    a.headerlink {
+      color: #c60f0f;
+      font-size: 0.8em;
+      padding: 0 4px 0 4px;
+      text-decoration: none;
+      visibility: hidden;
+    }
+
+    a.headerlink:hover {
+      background-color: #c60f0f;
+      color: white;
+    }
+
+    h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, 
dt:hover > a.headerlink {
+      visibility: visible;
+    }
+  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.25</span><hr><div 
class="refentry"><a name="transactional-update.conf.5"></a><div 
class="titlepage"></div><div 
class="refnamediv"><h2>Name</h2><p>transactional-update.conf — 
transactional-update configuration file</p></div><div 
class="refsynopsisdiv"><h2>Synopsis</h2><p><code 
class="filename">/etc/transactional-update.conf</code></p></div><div 
class="refsect1"><a name="id-1.5"></a><h2 id="Description">Description<a 
class="headerlink" title="Permalink to this headline" 
href="#Description">¶</a></h2><p>This configuration file controls and defines 
the behaviour of
+    <a href="transactional-update.8.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update</span>(8)</span></a>.</p><p>The 
transactional-update.conf file uses shell
+    style assignments, e.g. <code 
class="code">PARAMETER=value</code>.</p></div><div class="refsect1"><a 
name="id-1.6"></a><h2 id="Options">Options<a class="headerlink" 
title="Permalink to this headline" href="#Options">¶</a></h2><p>The following 
options are available in the
+      "<code class="literal">transactional-update</code>" section:
+    </p><div class="variablelist"><dl class="variablelist"><dt 
id="REBOOT_METHOD"><span class="term"><code 
class="varname">REBOOT_METHOD</code></span><a class="headerlink" 
title="Permalink to this term" href="#REBOOT_METHOD">¶</a></dt><dd><p>Specify 
the reboot method to use.</p><div class="variablelist"><dl 
class="variablelist"><dt id="auto"><span class="term">"<code 
class="literal">auto</code>"</span><a class="headerlink" title="Permalink to 
this term" href="#auto">¶</a></dt><dd><p>
+                  Uses "<code class="literal">rebootmgr</code>" if available 
and active;
+                  falls back to "<code class="literal">systemd</code>" 
otherwise.
+                </p><p>
+                  This is the default value. If the option is invalid it will
+                  also be used as the fallback value.
+                </p></dd><dt id="salt"><span class="term">"<code 
class="literal">salt</code>"</span><a class="headerlink" title="Permalink to 
this term" href="#salt">¶</a></dt><dd><p>
+                  Will create a Salt grain for signaling Velum to reboot the
+                  system.
+                </p></dd><dt id="rebootmgr"><span class="term">"<code 
class="literal">rebootmgr</code>"</span><a class="headerlink" title="Permalink 
to this term" href="#rebootmgr">¶</a></dt><dd><p>
+                   <span class="citerefentry"><span 
class="refentrytitle">rebootmgrctl</span>(1)</span>
+                   will be triggered to initiate a reboot.
+                </p></dd><dt id="systemd"><span class="term">"<code 
class="literal">systemd</code>"</span><a class="headerlink" title="Permalink to 
this term" href="#systemd">¶</a></dt><dd><p>
+                   <a 
href="https://www.freedesktop.org/software/systemd/man/systemctl.html";><span 
class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>
+                   will be called to initiate a reboot.
+                </p></dd></dl></div></dd><dt 
id="ZYPPER_AUTO_IMPORT_KEYS"><span class="term"><code 
class="varname">ZYPPER_AUTO_IMPORT_KEYS</code></span><a class="headerlink" 
title="Permalink to this term" href="#ZYPPER_AUTO_IMPORT_KEYS">¶</a></dt><dd><p>
+            If set to "<code class="literal">1</code>" GPG keys will be 
imported
+            automatically for new repositories. If set to "<code 
class="literal">0</code>"
+            updates will fail if a key is unknown.
+            For security reasons this option is turned off
+            ("<code class="literal">0</code>") by default.
+          </p></dd></dl></div></div><div class="refsect1"><a 
name="see_also"></a><h2 id="See Also">See Also<a class="headerlink" 
title="Permalink to this headline" href="#See%20Also">¶</a></h2><p>
+      <a href="transactional-update.8.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update</span>(8)</span></a>
+    </p></div></div></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/transactional-update.conf.5.xml 
new/transactional-update-1.26/man/transactional-update.conf.5.xml
--- old/transactional-update-1.25/man/transactional-update.conf.5.xml   
1970-01-01 01:00:00.000000000 +0100
+++ new/transactional-update-1.26/man/transactional-update.conf.5.xml   
2018-01-31 10:47:28.000000000 +0100
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
+
+<!--  \-*\- nroff \-*\- -->
+<!--  Copyright 2018 Ignaz Forster &lt;[email protected]&gt; -->
+
+<!--  This file is part of transactional-update. -->
+
+<!--  This program is free software; you can redistribute it and/or -->
+<!--  modify it under the terms of the GNU General Public License -->
+<!--  as published by the Free Software Foundation; either version 2 -->
+<!--  of the License, or (at your option) any later version. -->
+
+<!--  This program is distributed in the hope that it will be useful, -->
+<!--  but WITHOUT ANY WARRANTY; without even the implied warranty of -->
+<!--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -->
+<!--  GNU General Public License for more details. -->
+
+<!--  You should have received a copy of the GNU General Public License -->
+<!--  along with this program; if not, see <http://www.gnu.org/licenses/>. -->
+
+<refentry id="transactional-update.conf.5">
+  <refentryinfo>
+    <title>transactional-update.conf</title>
+    <productname>transactional-update</productname>
+
+    <authorgroup>
+      <author>
+        <contrib></contrib>
+        <firstname>Ignaz</firstname>
+        <surname>Forster</surname>
+        <email>[email protected]</email>
+      </author>
+    </authorgroup>
+  </refentryinfo>
+
+  <refmeta>
+    <refentrytitle>transactional-update.conf</refentrytitle>
+    <manvolnum>5</manvolnum>
+  </refmeta>
+
+  <refnamediv>
+    <refname>transactional-update.conf</refname>
+    <refpurpose>transactional-update configuration file</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv>
+    <para><filename>/etc/transactional-update.conf</filename></para>
+  </refsynopsisdiv>
+
+  <refsect1>
+    <title>Description</title>
+
+    <para>This configuration file controls and defines the behaviour of
+    <citerefentry>
+      <refentrytitle>transactional-update</refentrytitle>
+      <manvolnum>8</manvolnum>
+    </citerefentry>.</para>
+    <para>The <refname>transactional-update.conf</refname> file uses shell
+    style assignments, e.g. <code>PARAMETER=value</code>.</para>
+  </refsect1>
+
+  <refsect1>
+    <title>Options</title>
+
+    <para>The following options are available in the
+      <literal>transactional-update</literal> section:
+    </para>
+
+    <variablelist>
+      <varlistentry>
+        <term><varname>REBOOT_METHOD</varname></term>
+        <listitem>
+          <para>Specify the reboot method to use.</para>
+          <variablelist>
+            <varlistentry>
+              <term><literal>auto</literal></term>
+              <listitem>
+               <para>
+                  Uses <literal>rebootmgr</literal> if available and active;
+                  falls back to <literal>systemd</literal> otherwise.
+                </para>
+                <para>
+                  This is the default value. If the option is invalid it will
+                  also be used as the fallback value.
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term><literal>salt</literal></term>
+              <listitem>
+                <para>
+                  Will create a Salt grain for signaling Velum to reboot the
+                  system.
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term><literal>rebootmgr</literal></term>
+              <listitem>
+                <para>
+                   <citerefentry 
project='rebootmgr'><refentrytitle>rebootmgrctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                   will be triggered to initiate a reboot.
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term><literal>systemd</literal></term>
+              <listitem>
+                <para>
+                   <citerefentry 
project='systemd'><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                   will be called to initiate a reboot.
+                </para>
+              </listitem>
+            </varlistentry>
+          </variablelist>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><varname>ZYPPER_AUTO_IMPORT_KEYS</varname></term>
+        <listitem>
+          <para>
+            If set to <literal>1</literal> GPG keys will be imported
+            automatically for new repositories. If set to <literal>0</literal>
+            updates will fail if a key is unknown.
+            For security reasons this option is turned off
+            (<literal>0</literal>) by default.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1 id='see_also'>
+    <title>See Also</title>
+    <para>
+      
<citerefentry><refentrytitle>transactional-update</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+    </para>
+  </refsect1>
+
+</refentry>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/transactional-update.index.html 
new/transactional-update-1.26/man/transactional-update.index.html
--- old/transactional-update-1.25/man/transactional-update.index.html   
2017-11-28 14:06:24.000000000 +0100
+++ new/transactional-update-1.26/man/transactional-update.index.html   
2018-01-31 10:47:31.000000000 +0100
@@ -15,4 +15,4 @@
     h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, 
dt:hover > a.headerlink {
       visibility: visible;
     }
-  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.23</span><hr><div 
class="refentry"><a name="transactional-update.index"></a><div 
class="titlepage"></div><div 
class="refnamediv"><h2>Name</h2><p>transactional-update.index — List all 
manpages from the transactional-update project</p></div><div 
class="refsect1"><a name="id-1.4"></a><h2 id="T">T<a class="headerlink" 
title="Permalink to this headline" href="#T">¶</a></h2><p><a 
href="transactional-update.8.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update</span>(8)</span></a> -- Apply 
updates to the system in an atomic way via transactional updates.<br><a 
href="transactional-update.service.8.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update.service</span>(8)</span></a> -- 
Apply updates to the system in an atomic way via transactional updates.<br><a 
href="transactional-update.timer.8.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update.timer</span>(8)</span></a> -- Apply 
updates to the system in an atomic way via transactional 
updates.<br></p></div><div class="refsect1"><a name="id-1.5"></a><p><a 
name="counts"></a>This index contains 3 entries, referring to 1 individual 
manual pages.</p></div></div></body></html>
+  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.25</span><hr><div 
class="refentry"><a name="transactional-update.index"></a><div 
class="titlepage"></div><div 
class="refnamediv"><h2>Name</h2><p>transactional-update.index — List all 
manpages from the transactional-update project</p></div><div 
class="refsect1"><a name="id-1.4"></a><h2 id="T">T<a class="headerlink" 
title="Permalink to this headline" href="#T">¶</a></h2><p><a 
href="transactional-update.8.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update</span>(8)</span></a> -- Apply 
updates to the system in an atomic way via transactional updates.<br><a 
href="transactional-update.conf.5.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update.conf</span>(5)</span></a> -- 
transactional-update configuration file<br><a 
href="transactional-update.service.8.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update.service</span>(8)</span></a> -- 
Apply updates to the system in an atomic way via transactional updates.<br><a 
href="transactional-update.timer.8.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update.timer</span>(8)</span></a> -- Apply 
updates to the system in an atomic way via transactional 
updates.<br></p></div><div class="refsect1"><a name="id-1.5"></a><p><a 
name="counts"></a>This index contains 4 entries, referring to 2 individual 
manual pages.</p></div></div></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/transactional-update.index.xml 
new/transactional-update-1.26/man/transactional-update.index.xml
--- old/transactional-update-1.25/man/transactional-update.index.xml    
2017-11-28 14:06:24.000000000 +0100
+++ new/transactional-update-1.26/man/transactional-update.index.xml    
2018-01-31 10:47:30.000000000 +0100
@@ -14,6 +14,6 @@
     <refname>transactional-update.index</refname>
     <refpurpose>List all manpages from the transactional-update 
project</refpurpose>
   </refnamediv>
-<refsect1><title>T</title><para><citerefentry><refentrytitle>transactional-update</refentrytitle><manvolnum>8</manvolnum></citerefentry>
 -- Apply updates to the system in an atomic way via transactional 
updates.<sbr/><citerefentry><refentrytitle>transactional-update.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
 -- Apply updates to the system in an atomic way via transactional 
updates.<sbr/><citerefentry><refentrytitle>transactional-update.timer</refentrytitle><manvolnum>8</manvolnum></citerefentry>
 -- Apply updates to the system in an atomic way via transactional 
updates.<sbr/></para></refsect1><refsect1>
-    <para id="counts">This index contains 3 entries, referring to 1 individual 
manual pages.</para>
+<refsect1><title>T</title><para><citerefentry><refentrytitle>transactional-update</refentrytitle><manvolnum>8</manvolnum></citerefentry>
 -- Apply updates to the system in an atomic way via transactional 
updates.<sbr/><citerefentry><refentrytitle>transactional-update.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
 -- transactional-update configuration 
file<sbr/><citerefentry><refentrytitle>transactional-update.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
 -- Apply updates to the system in an atomic way via transactional 
updates.<sbr/><citerefentry><refentrytitle>transactional-update.timer</refentrytitle><manvolnum>8</manvolnum></citerefentry>
 -- Apply updates to the system in an atomic way via transactional 
updates.<sbr/></para></refsect1><refsect1>
+    <para id="counts">This index contains 4 entries, referring to 2 individual 
manual pages.</para>
   </refsect1></refentry>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/transactional-update.service.8.html 
new/transactional-update-1.26/man/transactional-update.service.8.html
--- old/transactional-update-1.25/man/transactional-update.service.8.html       
2017-11-28 14:05:51.000000000 +0100
+++ new/transactional-update-1.26/man/transactional-update.service.8.html       
2018-01-29 17:23:24.000000000 +0100
@@ -15,7 +15,7 @@
     h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, 
dt:hover > a.headerlink {
       visibility: visible;
     }
-  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.23</span><hr><div 
class="refentry"><a name="transactional-update.8"></a><div 
class="titlepage"></div><div class="refnamediv"><a 
name="name"></a><h2>Name</h2><p>transactional-update, 
transactional-update.service, transactional-update.timer — Apply updates to the 
system in an atomic way via transactional
+  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.25</span><hr><div 
class="refentry"><a name="transactional-update.8"></a><div 
class="titlepage"></div><div class="refnamediv"><a 
name="name"></a><h2>Name</h2><p>transactional-update, 
transactional-update.service, transactional-update.timer — Apply updates to the 
system in an atomic way via transactional
     updates.</p></div><div class="refsynopsisdiv"><a 
name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code 
class="command">transactional-update</code>  [--help] [--version]</p></div><div 
class="cmdsynopsis"><p><code class="command">transactional-update</code>  
[cleanup] [ up  |   dup  |   patch  |   bootloader  |   initrd ] [kdump] 
[reboot]</p></div><div class="cmdsynopsis"><p><code 
class="command">transactional-update</code>  [cleanup] [reboot]  pkg    install 
 |   remove  |   update    &lt;RPM&gt;...&lt;RPM&gt; </p></div><div 
class="cmdsynopsis"><p><code class="command">transactional-update</code>   
migration </p></div><div class="cmdsynopsis"><p><code 
class="command">transactional-update</code>   rollback  
[number]</p></div><p><code 
class="filename">transactional-update.service</code></p><p><code 
class="filename">transactional-update.timer</code></p></div><div 
class="refsect1"><a name="description"></a><h2 id="DESCRIPTION">DESCRIPTION<a 
class="headerlink" title="Permalink to this headline" 
href="#DESCRIPTION">¶</a></h2><p><span 
class="command"><strong>transactional-update</strong></span> updates the system
 in a transactional way, which means: it is atomic, so either the patches are
 fully applied or nothing is changed. The update does not influence your
@@ -127,5 +127,6 @@
   copied into <code class="filename">/usr/etc</code> and can be accessed by 
tools like
   <span class="command"><strong>libnss_usrfiles</strong></span>. This prevents 
that the new accounts are
   hidden by local modifications by the system administrator.
-</p></div><div class="refsect1"><a name="see_also"></a><h2 id="SEE ALSO">SEE 
ALSO<a class="headerlink" title="Permalink to this headline" 
href="#SEE%20ALSO">¶</a></h2><p><a 
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html";><span
 class="citerefentry"><span 
class="refentrytitle">systemd.timer</span>(5)</span></a>,
+</p></div><div class="refsect1"><a name="see_also"></a><h2 id="SEE ALSO">SEE 
ALSO<a class="headerlink" title="Permalink to this headline" 
href="#SEE%20ALSO">¶</a></h2><p><a 
href="transactional-update.conf.5.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update.conf</span>(5)</span></a>,
+<a 
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html";><span
 class="citerefentry"><span 
class="refentrytitle">systemd.timer</span>(5)</span></a>,
 <a 
href="https://www.freedesktop.org/software/systemd/man/systemd.time.html";><span 
class="citerefentry"><span 
class="refentrytitle">systemd.time</span>(7)</span></a></p></div></div></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/man/transactional-update.timer.8.html 
new/transactional-update-1.26/man/transactional-update.timer.8.html
--- old/transactional-update-1.25/man/transactional-update.timer.8.html 
2017-11-28 14:05:51.000000000 +0100
+++ new/transactional-update-1.26/man/transactional-update.timer.8.html 
2018-01-29 17:23:24.000000000 +0100
@@ -15,7 +15,7 @@
     h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, 
dt:hover > a.headerlink {
       visibility: visible;
     }
-  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.23</span><hr><div 
class="refentry"><a name="transactional-update.8"></a><div 
class="titlepage"></div><div class="refnamediv"><a 
name="name"></a><h2>Name</h2><p>transactional-update, 
transactional-update.service, transactional-update.timer — Apply updates to the 
system in an atomic way via transactional
+  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.25</span><hr><div 
class="refentry"><a name="transactional-update.8"></a><div 
class="titlepage"></div><div class="refnamediv"><a 
name="name"></a><h2>Name</h2><p>transactional-update, 
transactional-update.service, transactional-update.timer — Apply updates to the 
system in an atomic way via transactional
     updates.</p></div><div class="refsynopsisdiv"><a 
name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code 
class="command">transactional-update</code>  [--help] [--version]</p></div><div 
class="cmdsynopsis"><p><code class="command">transactional-update</code>  
[cleanup] [ up  |   dup  |   patch  |   bootloader  |   initrd ] [kdump] 
[reboot]</p></div><div class="cmdsynopsis"><p><code 
class="command">transactional-update</code>  [cleanup] [reboot]  pkg    install 
 |   remove  |   update    &lt;RPM&gt;...&lt;RPM&gt; </p></div><div 
class="cmdsynopsis"><p><code class="command">transactional-update</code>   
migration </p></div><div class="cmdsynopsis"><p><code 
class="command">transactional-update</code>   rollback  
[number]</p></div><p><code 
class="filename">transactional-update.service</code></p><p><code 
class="filename">transactional-update.timer</code></p></div><div 
class="refsect1"><a name="description"></a><h2 id="DESCRIPTION">DESCRIPTION<a 
class="headerlink" title="Permalink to this headline" 
href="#DESCRIPTION">¶</a></h2><p><span 
class="command"><strong>transactional-update</strong></span> updates the system
 in a transactional way, which means: it is atomic, so either the patches are
 fully applied or nothing is changed. The update does not influence your
@@ -127,5 +127,6 @@
   copied into <code class="filename">/usr/etc</code> and can be accessed by 
tools like
   <span class="command"><strong>libnss_usrfiles</strong></span>. This prevents 
that the new accounts are
   hidden by local modifications by the system administrator.
-</p></div><div class="refsect1"><a name="see_also"></a><h2 id="SEE ALSO">SEE 
ALSO<a class="headerlink" title="Permalink to this headline" 
href="#SEE%20ALSO">¶</a></h2><p><a 
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html";><span
 class="citerefentry"><span 
class="refentrytitle">systemd.timer</span>(5)</span></a>,
+</p></div><div class="refsect1"><a name="see_also"></a><h2 id="SEE ALSO">SEE 
ALSO<a class="headerlink" title="Permalink to this headline" 
href="#SEE%20ALSO">¶</a></h2><p><a 
href="transactional-update.conf.5.html"><span class="citerefentry"><span 
class="refentrytitle">transactional-update.conf</span>(5)</span></a>,
+<a 
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html";><span
 class="citerefentry"><span 
class="refentrytitle">systemd.timer</span>(5)</span></a>,
 <a 
href="https://www.freedesktop.org/software/systemd/man/systemd.time.html";><span 
class="citerefentry"><span 
class="refentrytitle">systemd.time</span>(7)</span></a></p></div></div></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/transactional-update-1.25/sbin/transactional-update.in 
new/transactional-update-1.26/sbin/transactional-update.in
--- old/transactional-update-1.25/sbin/transactional-update.in  2018-01-08 
15:29:26.000000000 +0100
+++ new/transactional-update-1.26/sbin/transactional-update.in  2018-01-31 
10:47:28.000000000 +0100
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# update_snapshot - update a snapshot of the current system
+# transactional-update - apply updates to the system in an atomic way
 #
 # Author: Thorsten Kukuk <[email protected]>
 # Copyright (C) 2016, 2017, 2018 SUSE Linux GmbH
@@ -34,19 +34,27 @@
 DO_ROLLBACK=0
 ROLLBACK_SNAPSHOT=0
 REBOOT_AFTERWARDS=0
+REBOOT_METHOD="auto"
 RUN_SHELL=0
 USE_SALT_GRAINS=0
+CONFFILE="/etc/transactional-update.conf"
 LOGFILE="/var/log/transactional-update.log"
 STATE_FILE="/var/lib/misc/transactional-update.state"
 PACKAGE_UPDATES=0
-HAS_SEPERATE_VAR=0
+ZYPPER_AUTO_IMPORT_KEYS=0
+HAS_SEPARATE_VAR=0
 SNAPSHOT_ID=""
 SECOND_SNAPSHOT_ID=""
 KDUMP_SYSCONFIG="/etc/sysconfig/kdump"
-# Config files, which the user could have modified and which should
+# Config files which the user could have modified and which should
 # be copied to the snapshot.
 CONFIG_FILES_TO_COPY="/etc/default/grub"
 
+# Load config
+if [ -r ${CONFFILE} ]; then
+    . ${CONFFILE}
+fi
+
 usage() {
     echo "Usage: transactional-update --help|--version"
     echo "       transactional-update 
[cleanup][up|dup|patch|initrd][kdump][reboot]"
@@ -70,42 +78,42 @@
     echo "$@" 1>&2
 }
 
-function bashlock {
-     if [ "$#" -ne 1 ]; then
-        echo 'usage: bashlock [LOCKFILENAME]' 1>&2
-        return 2
-     fi
-     LOCKFILE="$1"
-
-     echo "$$" >"$LOCKFILE.$$"
-     if ! ln "$LOCKFILE.$$" "$LOCKFILE" 2>/dev/null; then
-        PID=`head -1 "$LOCKFILE"`
-        if [ -z "$PID" ]; then
-           rm -f "$LOCKFILE"
-        else
-           kill -0 "$PID" 2>/dev/null || rm -f "$LOCKFILE"
-        fi
+bashlock() {
+    if [ "$#" -ne 1 ]; then
+       echo 'Usage: bashlock [LOCKFILENAME]' 1>&2
+       return 2
+    fi
+    LOCKFILE="$1"
+
+    echo "$$" >"$LOCKFILE.$$"
+    if ! ln "$LOCKFILE.$$" "$LOCKFILE" 2>/dev/null; then
+       PID=`head -1 "$LOCKFILE"`
+       if [ -z "$PID" ]; then
+           rm -f "$LOCKFILE"
+       else
+          kill -0 "$PID" 2>/dev/null || rm -f "$LOCKFILE"
+       fi
 
-        if ! ln "$LOCKFILE.$$" "$LOCKFILE" 2>/dev/null; then
-           rm -f "$LOCKFILE.$$"
-           return 1
-        fi
-     fi
+       if ! ln "$LOCKFILE.$$" "$LOCKFILE" 2>/dev/null; then
+           rm -f "$LOCKFILE.$$"
+           return 1
+       fi
+    fi
 
-     rm -f "$LOCKFILE.$$"
-     trap 'rm -f "$LOCKFILE"' EXIT
+    rm -f "$LOCKFILE.$$"
+    trap 'rm -f "$LOCKFILE"' EXIT
 
-     return 0
-  }
+    return 0
+}
 
 save_state_file() {
     echo "LAST_WORKING_SNAPSHOTS=\"${LAST_WORKING_SNAPSHOTS}\"" > ${STATE_FILE}
     echo "UNUSED_SNAPSHOTS=\"${UNUSED_SNAPSHOTS}\"" >>  ${STATE_FILE}
 
-    if [ $1 -ne 0 -a ${HAS_SEPERATE_VAR} -eq 0 ]; then
-       # if /var/lib/misc is not a seperate partition/subvolume,
-       # copy it additional into the new snapshot. This will have else
-        # an outdated version from before taking the snapshot
+    if [ $1 -ne 0 -a ${HAS_SEPARATE_VAR} -eq 0 ]; then
+       # If /var/lib/misc is not a seperate partition / subvolume, copy the
+       # state file into the new snapshot as it will contain an outdated
+       # version from before taking the snapshot otherwise.
        grep -q var.lib.misc /proc/mounts
        if [ $? -ne 0 ]; then
            cp -a ${STATE_FILE} "/.snapshots/$1/snapshot${STATE_FILE}"
@@ -118,18 +126,17 @@
 
     test -f /usr/lib/systemd/system/kdump.service || return
     systemctl is-enabled --quiet kdump.service
-    if [ $? = 0 ]; then
+    if [ $? = 0 -a -x ${MOUNT_DIR}/usr/sbin/tu-rebuild-kdump-initrd ]; then
        if [ ${KDUMP_SYSCONFIG} -nt ${MOUNT_DIR}/${KDUMP_SYSCONFIG} ]; then
            cp -a ${KDUMP_SYSCONFIG} ${MOUNT_DIR}/${KDUMP_SYSCONFIG}
        fi
-       chroot ${MOUNT_DIR} /usr/sbin/tu-rebuild-kdump-initrd
+       chroot ${MOUNT_DIR} /usr/sbin/tu-rebuild-kdump-initrd |& tee -a 
${LOGFILE}
     fi
 }
 
-# if the SHA256 sum of passwd, group or shadow has changed, copy the
-# files to /usr/etc as fallback source. Else, if the user did modify a 
password,
-# the shadow copy of this files will hide this changes. Needs libnss_usrfiles
-# installed.
+# If the SHA256 sum of passwd, group or shadow has changed then copy the files
+# to /usr/etc. If libnss_usrfiles is installed those files will be taken into
+# account as a secondary source if an entry is not found in /etc.
 calc_user_group_sha256sum () {
     SHA256_passwd=`sha256sum ${MOUNT_DIR}/etc/passwd | awk '{ print $1 }'`
     SHA256_group=`sha256sum ${MOUNT_DIR}/etc/group | awk '{ print $1 }'`
@@ -137,8 +144,7 @@
 }
 
 copy_user_group_accounts () {
-    # check if we have usr/etc (means libnss_usrfiles is installed.
-    # if not, don't copy modified passwd, group or shadow files.
+    # Only copy files to usr/etc if libnss_usrfiles is installed.
     test -d ${MOUNT_DIR}/usr/etc || return
 
     NEWSUM=`sha256sum ${MOUNT_DIR}/etc/passwd | awk '{ print $1 }'`
@@ -157,7 +163,7 @@
     fi
 }
 
-# only called in error case
+# Only called in error case; reverts everything to previous state.
 quit() {
     if [ -n "${SNAPSHOT_ID}" ] ; then
        log_error "Removing snapshot #${SNAPSHOT_ID}..."
@@ -185,6 +191,50 @@
     exit $1
 }
 
+reboot_via_salt() {
+    log_info "transactional-update finished - created salt grains"
+    if [ -f /etc/salt/grains ]; then
+       grep -q tx_update_reboot_needed /etc/salt/grains
+       if [ $? -ne 0 ]; then
+           # Add variable to existing salt grains
+           echo "tx_update_reboot_needed: true" >> /etc/salt/grains
+       else
+           # modify variable in existing salt grains
+           sed -i -e 's|tx_update_reboot_needed:.*|tx_update_reboot_needed: 
true|g' /etc/salt/grains
+       fi
+    else
+       echo "tx_update_reboot_needed: true" > /etc/salt/grains
+    fi
+    # Reset tx_update_failed if exist
+    sed -i -e 's|tx_update_failed:.*|tx_update_failed: false|g' 
/etc/salt/grains
+    exit 0
+}
+
+reboot_via_rebootmgr() {
+    /usr/sbin/rebootmgrctl is-active --quiet
+    if [ $? -eq 0 ]; then
+       # rebootmgrctl is running
+       /usr/sbin/rebootmgrctl reboot
+       log_info "transactional-update finished - informed rebootmgr"
+       exit 0
+    fi
+}
+
+reboot_via_systemd() {
+    log_info "transactional-update finished - rebooting machine"
+    sync
+    systemctl reboot |& tee -a ${LOGFILE}
+    exit 0
+}
+
+reboot_autodetect() {
+    if [ -x /usr/sbin/rebootmgrctl ]; then
+       reboot_via_rebootmgr
+    fi
+    # If rebootmgr is inactive try systemd
+    reboot_via_systemd
+}
+
 add_unique_id() {
     local NEW_ID="$1"
 
@@ -198,14 +248,14 @@
 
 ORIG_ARGS="$@"
 
-# if no option is given, assume "up"
+# If no option is given, assume "up"
 if [ $# -eq 0 ]; then
     ZYPPER_ARG="up"
 fi
 
 while [ 1 ]; do
     if [ $# -eq 0 ]; then
-        break
+       break
     fi
 
     case "$1" in
@@ -219,8 +269,8 @@
            ;;
         up|patch)
            ZYPPER_ARG=$1
-            shift
-            ;;
+           shift
+           ;;
        ptf|pkg|package)
            shift
            if [ $# -eq 0 ]; then
@@ -256,20 +306,20 @@
                    shift
                fi
            done
-            # Run installing PTFs interactive
+            # Interactively run installing PTFs
             ZYPPER_NONINTERACTIVE=""
            ;;
        migration)
            DO_MIGRATION=1
            ZYPPER_NONINTERACTIVE=""
-           ZYPPER_ARG="migration"
+           ZYPPER_ARG="migration --no-snapshots"
            shift
            ;;
-        bootloader)
+       bootloader)
            REWRITE_BOOTLOADER=1
            REWRITE_GRUB_CFG=1
-            shift
-            ;;
+           shift
+           ;;
        grub.cfg)
            REWRITE_GRUB_CFG=1
            shift
@@ -302,19 +352,20 @@
        salt)
            REBOOT_AFTERWARDS=1
            USE_SALT_GRAINS=1
+           REBOOT_METHOD="salt"
            shift
            ;;
-        -h|--help)
-            usage 0
-            ;;
-        --version)
-            print_version
-            ;;
-        *)
-            if [ $# -ge 1 ]; then
-                usage 1;
-            fi
-            ;;
+       -h|--help)
+           usage 0
+           ;;
+       --version)
+           print_version
+           ;;
+       *)
+           if [ $# -ge 1 ]; then
+               usage 1;
+           fi
+           ;;
     esac
 done
 
@@ -324,11 +375,11 @@
 
 bashlock "/var/run/transactional-update.pid"
 if [ $? -ne 0 ]; then
-  echo "Couldn't get lock, another instance is already running?"
+  echo "Couldn't get lock, is another instance already running?"
   exit 1;
 fi
 
-# load old state file
+# Load old state file
 if [ -f ${STATE_FILE} ]; then
     . ${STATE_FILE}
 fi
@@ -337,22 +388,22 @@
 log_info "Options: $ORIG_ARGS"
 
 if [ "`stat -f -c %T /`" != "btrfs" ]; then
-  log_error "ERROR: no btrfs as root filesystem!"
+  log_error "ERROR: not using btrfs as root file system!"
   log_info "transactional-update finished"
   exit 1
 fi
 
 if [ ! -d /.snapshots ]; then
-  log_error "ERROR: no snapshots for root filesystem configured!"
+  log_error "ERROR: no snapshots for root file system configured!"
   log_info "transactional-update finished"
   exit 1
 fi
 
 grep -q "[[:space:]]/var[[:space:]]" /proc/mounts
 if [ $? -eq 0 ]; then
-    log_info "Seperate /var detected"
+    log_info "Separate /var detected."
     DIR_TO_MOUNT="${DIR_TO_MOUNT} /var/cache"
-    HAS_SEPERATE_VAR=1
+    HAS_SEPARATE_VAR=1
 else
     grep -q var.cache /proc/mounts
     if [ $? -ne 0 ]; then
@@ -360,6 +411,10 @@
     fi
 fi
 
+if [ ${ZYPPER_AUTO_IMPORT_KEYS} -eq 1 ]; then
+    ZYPPER_ARG="--gpg-auto-import-keys ${ZYPPER_ARG}"
+fi
+
 CURRENT_SNAPSHOT_ID=`grep subvol=/@/.snapshots/ /proc/mounts | grep "/ btrfs" 
| sed -e 's|.*.snapshots/\(.*\)/snapshot.*|\1|g'`
 DEFAULT_SNAPSHOT_ID=`btrfs subvolume get-default / | sed -e 
's|.*.snapshots/\(.*\)/snapshot|\1|g'`
 RO_ROOT=`btrfs property get / ro | sed -e 's|ro=||'`
@@ -372,7 +427,7 @@
        NEED_REBOOT_WARNING=0
     fi
 
-    echo "Rollback to snapshot ${ROLLBACK_SNAPSHOT} ..."
+    echo "Rollback to snapshot ${ROLLBACK_SNAPSHOT}..."
 
     if [ ${RO_ROOT} == "true" ]; then
        BTRFS_ID=`btrfs subvolume list / |grep 
/.snapshots/${ROLLBACK_SNAPSHOT}/snapshot | awk '{print $2}'`
@@ -403,23 +458,23 @@
 fi
 
 #
-# Cleanup part: make sure old root filesystem will be removed after it is no 
longer active.
+# Cleanup part: make sure old root file systems will be removed after they are 
no longer active.
 #
 if [ ${DO_CLEANUP} -eq 1 ]; then
-    # if there is a list of working snapshots, go through it and mark any 
snapshot for deletion, if it is
-    # not the current used one or the active one.
+    # If there is a list of working snapshots, go through it and mark any 
snapshot for deletion, if it is
+    # not the currently used one or the active one.
     if [ -n "${LAST_WORKING_SNAPSHOTS}" ]; then
        for snap in ${LAST_WORKING_SNAPSHOTS}; do
            if [ ${CURRENT_SNAPSHOT_ID} -ne ${snap} ]; then
-               log_info "Add cleanup algorithm to snapshot #${snap}"
+               log_info "Adding cleanup algorithm to snapshot #${snap}"
                snapper modify -c number ${snap} |& tee -a ${LOGFILE}
                if [ ${PIPESTATUS[0]} -ne 0 ]; then
                    log_error "ERROR: cannot set cleanup algorithm for snapshot 
#${snap}"
                fi
-               # if the old snapshot is read-write, we have already a 
mandatory snapshot and this one can deleted
-               # earlier. If not, mark is as important, so that it will not 
get deleted to fast.
+               # If the old snapshot is read-write, we have already a 
mandatory snapshot and this one can deleted
+               # earlier. If not, mark is as important, so that it will not 
get deleted too fast.
                if [ ${RO_ROOT} == "true" ]; then
-                   log_info "Add \"important=yes\" to snapshot #${snap}"
+                   log_info "Adding \"important=yes\" to snapshot #${snap}"
                    snapper modify -u "important=yes" ${snap} |& tee -a 
${LOGFILE}
                    if [ ${PIPESTATUS[0]} -ne 0 ]; then
                        log_error "ERROR: cannot set \"important=yes for 
snapshot\" #${snap}"
@@ -433,24 +488,33 @@
        save_state_file 0
     fi
 
-    # we try to cleanup always all snapshots. We only need to keep the current 
snapshot
-    # and the new default one.
+    # Check for aborted transactional-updates (due to power outtage, killed
+    # process, forced shutdown or similar uncommon conditions).
+    for snap in `snapper list | cut -f 2,8 -d \| | grep 
transactional-update-in-progress=yes | cut -f 1 -d \|`; do
+       UNUSED_SNAPSHOTS="${UNUSED_SNAPSHOTS} ${snap}"
+    done
+
+    # Always try to cleanup all snapshots; only the current snapshot and an
+    # eventual new default one needs to be kept.
     if [ -n "${UNUSED_SNAPSHOTS}" ]; then
        _new_unused=""
        for snap in ${UNUSED_SNAPSHOTS}; do
            # Don't mark our current in use snapshot for deletion
            if [ ${snap} -ne ${CURRENT_SNAPSHOT_ID} ] && \
                [ ${snap} -ne ${DEFAULT_SNAPSHOT_ID} ]; then
-               log_info "Mark not used snapshot #${snap} for deletion"
+               log_info "Mark unused snapshot #${snap} for deletion"
                snapper modify -c number ${snap} |& tee -a ${LOGFILE}
                if [ ${PIPESTATUS[0]} -ne 0 ]; then
                    log_error "ERROR: cannot set cleanup algorithm for snapshot 
#${snap}"
-                   # Keep the snapshot in the list
-                   _new_unused="${snap} ${_new_unused}"
+                   # Is the snapshot still available at all?
+                   if snapper list | cut -f 2 -d \| | grep -q ${snap}; then
+                       # Keep the snapshot in the list
+                       _new_unused="${snap} ${_new_unused}"
+                   fi
                fi
            elif [ ${snap} -ne ${CURRENT_SNAPSHOT_ID} ]; then
-               # We currently still need the snapshot, so keep it in the
-               # list. Else we will never clean it up later.
+               # This is the snapshot which is currently in use, so keep it in
+               # the list. We would probably never clean it up later otherwise.
                _new_unused="${snap} ${_new_unused}"
            fi
        done
@@ -468,7 +532,10 @@
        TMPFILE=`mktemp /tmp/transactional-update.XXXXXXXXXX`
        zypper --xml ${ZYPPER_ARG} ${ZYPPER_NONINTERACTIVE} --dry-run 
${ZYPPER_ARG_PKGS} > ${TMPFILE}
        if [ $? -ne 0 ]; then
-           log_error "ERROR: zypper failed! Logs could be found in ${TMPFILE}"
+           LOG_MESSAGES=`awk -v RS='<' -v FS='>' '{if ($1 ~ 
/^(message|description)/) print $2}' ${TMPFILE} | perl -MHTML::Entities -pe 
'decode_entities($_);'`
+           log_error "ERROR: Zypper failed with the following message(s):"
+           log_error "${LOG_MESSAGES}"
+            rm -f ${TMPFILE}
            quit 1
        fi
        PACKAGE_UPDATES=`grep "install-summary download-size" ${TMPFILE} | sed 
-e 's|.*install-summary download-size=\"\(.*\)\" space-usage-diff.*|\1|g'`
@@ -478,10 +545,10 @@
            log_info "zypper: nothing to update"
            log_info "transactional-update finished"
            if [ $USE_SALT_GRAINS -eq 1 ]; then
-               log_info "Update salt grains"
+               log_info "Updating salt grains"
                if [ -f /etc/salt/grains ]; then
-                   # Reset tx_update_failed if exist. Could have been set due 
to wrong
-                   # repository configuration or other temporary error before.
+                   # Reset tx_update_failed if it exists. Could have been set 
due to wrong
+                   # repository configuration or another temporary error 
before.
                    sed -i -e 's|tx_update_failed:.*|tx_update_failed: false|g' 
/etc/salt/grains
                fi
            fi
@@ -489,10 +556,10 @@
        fi
     fi
 
-    # If the current root filesystem is not read-only, we need to create a 
read-only copy for rollback.
-    # The rw subvolume is not shown in grub2.
+    # If the current root file system is not read-only, a read-only copy for 
rollback has to be created first.
+    # Hint: The rw subvolume is not shown in grub2.
     if [ ${RO_ROOT} == "false" ]; then
-       log_info "Create read-only snapshot of current read-write root 
filesystem (#${CURRENT_SNAPSHOT_ID})"
+       log_info "Creating read-only snapshot of current read-write root 
filesystem (#${CURRENT_SNAPSHOT_ID})"
        SECOND_SNAPSHOT_ID=`snapper create -p -c number -u "important=yes" -d 
"RO-Clone of #${CURRENT_SNAPSHOT_ID}"`
        if [ $? -ne 0 ]; then
            log_error "ERROR: snapper create failed!"
@@ -500,7 +567,7 @@
        fi
     fi
 
-    SNAPSHOT_ID=`snapper create -p -d "Snapshot Update"`
+    SNAPSHOT_ID=`snapper create -p -u "transactional-update-in-progress=yes" 
-d "Snapshot Update"`
     if [ $? -ne 0 ]; then
        log_error "ERROR: snapper create failed!"
        quit 1
@@ -516,19 +583,28 @@
     fi
 
     # Remember all snapshots we create for update. If transactional-update is
-    # run several times before a reboot, we need to cleanup the not used
-    # snapshots. Else we would have a big disk space leak. But don't store it
-    # on disk yet, in error case we would delete the snapshot again.
+    # run several times before a reboot, we need to clean up the unused
+    # snapshots, otherwise we would have a big disk space leak. But don't store
+    # it on disk yet, in error case we would delete the snapshot again.
     UNUSED_SNAPSHOTS="${SNAPSHOT_ID} ${UNUSED_SNAPSHOTS}"
 
     # Check if installed with SLES12
-    if [ ${HAS_SEPERATE_VAR} -eq 0 ]; then
+    if [ ${HAS_SEPARATE_VAR} -eq 0 ]; then
        touch ${SNAPSHOT_DIR}/var/tmp/update_snapshot.test
        if [ $? -ne 0 ]; then
            log_error "ERROR: System installation is too old!"
            quit 1;
        fi
        rm -f ${SNAPSHOT_DIR}/var/tmp/update_snapshot.test
+    else
+        # Check if the btrfs subvolumes were created correct
+        # or with broken storage-ng [bsc#1077240]
+        touch ${SNAPSHOT_DIR}/var/update_snapshot.test
+        if [ $? -ne 0 ]; then
+            log_error "ERROR: System installation is broken!"
+            quit 1;
+        fi
+        rm -f ${SNAPSHOT_DIR}/var/update_snapshot.test
     fi
 
     # On a read only system, make sure that /etc/zypp in the
@@ -541,8 +617,8 @@
        fi
     fi
 
-    # Check which directories in /boot/grub2 needs to be mounted,
-    # else a version update of grub2 will not boot.
+    # Check which directories in /boot/grub2 need to be mounted,
+    # otherwise grub2 will not boot after a version update.
     DIR_TO_MOUNT="${DIR_TO_MOUNT} `grep /boot/grub2/ /etc/fstab |grep subvol | 
awk '{print $2}'`"
 
 
@@ -579,12 +655,12 @@
     done
 
     # If we have a seperate /var, create some directories which we
-    # will delete later again.
-    if [ ${HAS_SEPERATE_VAR} -eq 1 ]; then
+    # will delete again later.
+    if [ ${HAS_SEPARATE_VAR} -eq 1 ]; then
        mkdir ${SNAPSHOT_DIR}/var/tmp
     fi
 
-    # check if we have /var/lib/rpm, else zypper will
+    # Check if we have /var/lib/rpm, otherwise zypper will
     # create a new rpm database [bsc#1074598]
     if [ ! -e ${SNAPSHOT_DIR}/var/lib/rpm -a \
        -e ${SNAPSHOT_DIR}/usr/lib/sysimage/rpm ]; then
@@ -599,11 +675,11 @@
        VAR_CACHE_CLEANUP=1
     fi
 
-    # Create bind mount, else grub2 will fail
+    # Create bind mount or else grub2 will fail
     MOUNT_DIR=`mktemp -d`
     mount -o rbind ${SNAPSHOT_DIR} ${MOUNT_DIR}
 
-    # for RPM pre/post sections to detect, that we run in a
+    # Set indicator for RPM pre/post sections to detect whether we run in a
     # transactional update
     export TRANSACTIONAL_UPDATE=true
 
@@ -626,8 +702,8 @@
            if [ ${DO_MIGRATION} -eq 1 ]; then
                chroot ${MOUNT_DIR} env DISABLE_RESTART_ON_UPDATE=yes zypper 
${ZYPPER_ARG} ${ZYPPER_ARG_PKGS}
                RETVAL=$?
-               # Reset registration until we reboot. Needed in both cases,
-               # if an error occured or if we had success.
+               # Reset registration until reboot. Needed in both cases,
+               # whether an error occured or whether we had success.
                test -x /usr/sbin/rollback-reset-registration && 
/usr/sbin/rollback-reset-registration
                if [ $RETVAL -eq 0 ]; then
                    # Create the trigger to re-register the system as new 
version after next
@@ -651,7 +727,7 @@
     fi
 
     if [ ${REWRITE_INITRD} -eq 1 ]; then
-       log_info "Create new initrd"
+       log_info "Creating new initrd"
        chroot ${MOUNT_DIR} /sbin/mkinitrd
        if [ $? -ne 0 ]; then
            log_error "ERROR: mkinitrd failed!"
@@ -662,12 +738,12 @@
     fi
 
     if [ ${REBUILD_KDUMP_INITRD} -eq 1 ]; then
-       log_info "Try to rebuild kdump initrd"
+       log_info "Trying to rebuild kdump initrd"
        rebuild_kdump_initrd ${MOUNT_DIR}
     fi
 
     if [ ${REWRITE_GRUB_CFG} -eq 1 ]; then
-       log_info "Create a new grub2 config"
+       log_info "Creating a new grub2 config"
        chroot ${MOUNT_DIR} /usr/sbin/grub2-mkconfig > 
${MOUNT_DIR}/boot/grub2/grub.cfg
        if [ $? -ne 0 ]; then
            log_error "ERROR: grub2-mkconfig failed!"
@@ -676,7 +752,7 @@
     fi
 
     if [ ${REWRITE_BOOTLOADER} -eq 1 ]; then
-       log_info "Write new bootloader"
+       log_info "Writing new bootloader"
        chroot ${MOUNT_DIR} /sbin/pbl --install
        if [ $? -ne 0 ]; then
            log_error "ERROR: /sbin/pbl --install failed!"
@@ -685,15 +761,15 @@
     fi
 
     if [ ${RUN_SHELL} -eq 1 ]; then
-       echo "Chroot in snapshot ${SNAPSHOT_ID}, continue with 'exit'"
+       echo "Opening chroot in snapshot ${SNAPSHOT_ID}, continue with 'exit'"
        env PS1="transactional update # " chroot ${MOUNT_DIR} bash
     fi
 
-    # unset variable
+    # Unset variable
     unset TRANSACTIONAL_UPDATE
 
     # Delete temporary data before unmounting everything:
-    if [ ${HAS_SEPERATE_VAR} -eq 1 ]; then
+    if [ ${HAS_SEPARATE_VAR} -eq 1 ]; then
        rm -rf ${SNAPSHOT_DIR}/var/tmp
     fi
 
@@ -718,8 +794,8 @@
     # Cleanup of temporary mount point
     rmdir ${MOUNT_DIR}
 
-    # cleanup other stuff
-    # cleanup cache directory
+    # Cleanup other stuff
+    # Cleanup cache directory
     if [ $VAR_CACHE_CLEANUP -eq 1 ]; then
        rm -rf ${SNAPSHOT_DIR}/var/cache/*
     fi
@@ -740,9 +816,11 @@
                log_error "ERROR: btrfs set-default $BTRFS_ID failed!"
                EXITCODE=1;
            else
-               # save the old snapshot, else it will go lost
+               # Save the old snapshot or else it will get lost.
                add_unique_id ${CURRENT_SNAPSHOT_ID}
                save_state_file ${SNAPSHOT_ID}
+               # Reset in-progress flag
+               snapper modify -u "transactional-update-in-progress=" 
${SNAPSHOT_ID}
            fi
        fi
     fi
@@ -761,37 +839,27 @@
 
 if [ ${EXITCODE} -eq 0 ]; then
     if [ $REBOOT_AFTERWARDS -eq 1 ]; then
-       if [ $USE_SALT_GRAINS -eq 1 ]; then
-           log_info "transactional-update finished - created salt grains"
-           if [ -f /etc/salt/grains ]; then
-               grep -q tx_update_reboot_needed /etc/salt/grains
-               if [ $? -ne 0 ]; then
-                   # Add variable to existing salt grains
-                   echo "tx_update_reboot_needed: true" >> /etc/salt/grains
-               else
-                   # modify variable in existing salt grains
-                   sed -i -e 
's|tx_update_reboot_needed:.*|tx_update_reboot_needed: true|g' /etc/salt/grains
-               fi
-           else
-               echo "tx_update_reboot_needed: true" > /etc/salt/grains
-           fi
-           # Reset tx_update_failed if exist
-           sed -i -e 's|tx_update_failed:.*|tx_update_failed: false|g' 
/etc/salt/grains
-           exit 0
-       else
-           if [ -x /usr/sbin/rebootmgrctl ]; then
-               /usr/sbin/rebootmgrctl is-active --quiet
-               if [ $? -eq 0 ]; then
-                   # rebootmgrctl is running
-                   /usr/sbin/rebootmgrctl reboot
-                   log_info "transactional-update finished - informed 
rebootmgr"
-                   exit 0
-               fi
-           fi
-           log_info "transactional-update finished - rebooting machine"
-           sync
-           systemctl reboot |& tee -a ${LOGFILE}
-       fi
+       case "$REBOOT_METHOD" in
+           auto)
+               reboot_autodetect
+               ;;
+           salt)
+               reboot_via_salt
+               ;;
+           rebootmgr)
+               reboot_via_rebootmgr
+               ;;
+           systemd)
+               reboot_via_systemd
+               ;;
+           *)
+               log_info "Unsupported reboot method, falling back to 'auto'; 
please"
+               log_info "check your configuration in ${CONFFILE}."
+               reboot_autodetect
+               ;;
+       esac
+       echo "The system couldn't be rebooted using method '{$REBOOT_METHOD}'. 
Please reboot the system"
+       echo "manually."
     elif [ $PACKAGE_UPDATES -gt 1 ]; then
        echo "Please reboot your machine to activate the changes and avoid data 
loss"
     fi


Reply via email to