Hello community,

here is the log from the commit of package transactional-update for 
openSUSE:Factory checked in at 2017-03-02 19:43:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/transactional-update (Old)
 and      /work/SRC/openSUSE:Factory/.transactional-update.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "transactional-update"

Thu Mar  2 19:43:50 2017 rev:6 rq:461904 version:1.11

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/transactional-update/transactional-update.changes    
    2017-02-08 11:04:39.436825582 +0100
+++ 
/work/SRC/openSUSE:Factory/.transactional-update.new/transactional-update.changes
   2017-03-02 19:43:51.304284613 +0100
@@ -1,0 +2,13 @@
+Thu Mar  2 13:20:36 CET 2017 - [email protected]
+
+- Update to version 1.11
+  - use --no-allow-vendor-change with "zypper dup"
+  - update manual page
+
+-------------------------------------------------------------------
+Mon Feb 13 14:33:13 CET 2017 - [email protected]
+
+- Update to version 1.10
+  - implement and document rollback option
+
+-------------------------------------------------------------------
@@ -4 +17 @@
-- Release version 1.9
+- Update to version 1.9

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

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

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

Other differences:
------------------
++++++ transactional-update.spec ++++++
--- /var/tmp/diff_new_pack.oQZIY6/_old  2017-03-02 19:43:51.876203690 +0100
+++ /var/tmp/diff_new_pack.oQZIY6/_new  2017-03-02 19:43:51.880203124 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           transactional-update
-Version:        1.9
+Version:        1.11
 Release:        0
 Summary:        Transactional Updates with btrfs and snapshots
 License:        GPL-2.0+

++++++ transactional-update-1.9.tar.bz2 -> transactional-update-1.11.tar.bz2 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/transactional-update-1.9/NEWS 
new/transactional-update-1.11/NEWS
--- old/transactional-update-1.9/NEWS   2017-02-06 15:45:37.000000000 +0100
+++ new/transactional-update-1.11/NEWS  2017-03-02 13:16:47.000000000 +0100
@@ -2,6 +2,14 @@
 
 Copyright (C) 2016, 2017 Thorsten Kukuk
 
+Version 1.11
+* Use dup by default if called from systemd
+* Use --no-allow-vendor-change with "dup"
+* Update manual page
+
+Version 1.10
+* Implement rollback
+
 Version 1.9
 * Fix umounting of /sys
 * Update documentation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/transactional-update-1.9/configure 
new/transactional-update-1.11/configure
--- old/transactional-update-1.9/configure      2017-02-06 15:45:43.000000000 
+0100
+++ new/transactional-update-1.11/configure     2017-03-02 13:16:54.000000000 
+0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for transactional-update 1.9.
+# Generated by GNU Autoconf 2.69 for transactional-update 1.11.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -576,8 +576,8 @@
 # Identity of this package.
 PACKAGE_NAME='transactional-update'
 PACKAGE_TARNAME='transactional-update'
-PACKAGE_VERSION='1.9'
-PACKAGE_STRING='transactional-update 1.9'
+PACKAGE_VERSION='1.11'
+PACKAGE_STRING='transactional-update 1.11'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1211,7 +1211,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures transactional-update 1.9 to adapt to many kinds of 
systems.
+\`configure' configures transactional-update 1.11 to adapt to many kinds of 
systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1278,7 +1278,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of transactional-update 1.9:";;
+     short | recursive ) echo "Configuration of transactional-update 1.11:";;
    esac
   cat <<\_ACEOF
 
@@ -1358,7 +1358,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-transactional-update configure 1.9
+transactional-update configure 1.11
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1375,7 +1375,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by transactional-update $as_me 1.9, which was
+It was created by transactional-update $as_me 1.11, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2238,7 +2238,7 @@
 
 # Define the identity of the package.
  PACKAGE='transactional-update'
- VERSION='1.9'
+ VERSION='1.11'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3097,7 +3097,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by transactional-update $as_me 1.9, which was
+This file was extended by transactional-update $as_me 1.11, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -3150,7 +3150,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-transactional-update config.status 1.9
+transactional-update config.status 1.11
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/transactional-update-1.9/configure.ac 
new/transactional-update-1.11/configure.ac
--- old/transactional-update-1.9/configure.ac   2017-02-06 15:44:46.000000000 
+0100
+++ new/transactional-update-1.11/configure.ac  2017-03-02 13:15:41.000000000 
+0100
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(transactional-update, 1.9)
+AC_INIT(transactional-update, 1.11)
 AM_INIT_AUTOMAKE
 AC_CONFIG_SRCDIR([sbin/transactional-update.in])
 AC_PREFIX_DEFAULT(/usr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/transactional-update-1.9/man/transactional-update.8 
new/transactional-update-1.11/man/transactional-update.8
--- old/transactional-update-1.9/man/transactional-update.8     2017-02-05 
11:35:16.000000000 +0100
+++ new/transactional-update-1.11/man/transactional-update.8    2017-03-02 
13:12:06.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: 02/05/2017
+.\"      Date: 03/02/2017
 .\"    Manual: transactional-update
 .\"    Source: transactional-update
 .\"  Language: English
 .\"
-.TH "TRANSACTIONAL\-UPDAT" "8" "02/05/2017" "transactional-update" 
"transactional-update"
+.TH "TRANSACTIONAL\-UPDAT" "8" "03/02/2017" "transactional-update" 
"transactional-update"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -35,7 +35,9 @@
 .HP \w'\fBtransactional\-update\fR\ 'u
 \fBtransactional\-update\fR [cleanup] [up | dup | patch | bootloader | initrd] 
[kdump] [reboot]
 .HP \w'\fBtransactional\-update\fR\ 'u
-\fBtransactional\-update\fR [cleanup] ptf install | remove  
<RPM>\&.\&.\&.<RPM> [reboot]
+\fBtransactional\-update\fR [cleanup] [reboot] ptf install | remove  
<RPM>\&.\&.\&.<RPM>
+.HP \w'\fBtransactional\-update\fR\ 'u
+\fBtransactional\-update\fR rollback [number]
 .PP
 transactional\-update\&.service
 .PP
@@ -88,7 +90,7 @@
 \fBdup\fR
 .RS 4
 If new updates are available, a new snapshot is created and
-\fBzypper dup\fR
+\fBzypper dup \-\-no\-allow\-vendor\-change\fR
 is used to update the snapshot\&. Afterwards, the snapshot is activated and 
will be used as the new root filesystem during next boot\&.
 .RE
 .PP
@@ -134,12 +136,23 @@
 \fBsystemctl reboot\fR
 is called\&.
 .RE
+.PP
+\fBrollback\fR [\fInumber\fR]
+.RS 4
+Sets the default subvolume\&. On systems with read\-write filesystem,
+\fBsnapper\fR(8)\fB rollback\fR
+is called\&. On a read\-only filesystem, without argument, the current system 
is made the new default root filesystem\&. Else the snapshot with
+\fBnumber\fR
+is made the new default root filesystem\&. On a read\-only filesystem, no 
additional snapshots are created\&.
+.RE
 .SH "IMPORTANT"
 .PP
 Only RPMs, which are fully part of the snapshot of the root filesystem, can be 
updated\&. If RPMs contains files outside of the snapshot, the update itself 
can break or can break the system\&.
 .PP
 Since all changes to the root filesystem will go lost after creating the 
snapshot for the update, the system should be rebooted as fast as possible 
after the update finished\&.
 .PP
+RPMs, where a license needs accepted for, cannot be updated\&.
+.PP
 If PTFs get installed or removed, and
 \fBtransactional\-update\fR
 is called again before the next reboot and updates packages, the changes to 
the PTFs are lost and need to be redone with the next reboot\&. After 
installing or removing PTFs, the system should be immeaditly rebooted\&.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/transactional-update-1.9/man/transactional-update.8.html 
new/transactional-update-1.11/man/transactional-update.8.html
--- old/transactional-update-1.9/man/transactional-update.8.html        
2017-02-06 14:46:46.000000000 +0100
+++ new/transactional-update-1.11/man/transactional-update.8.html       
2017-03-02 13:12:06.000000000 +0100
@@ -15,8 +15,8 @@
     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.8</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]  ptf    install  |   
remove    &lt;RPM&gt;...&lt;RPM&gt;  [reboot]</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
+  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.10</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]  ptf    install 
 |   remove    &lt;RPM&gt;...&lt;RPM&gt; </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
 running system and it can be rolled back. To activate the changes, the system
@@ -50,9 +50,9 @@
        filesystem during next boot.
       </p></dd><dt id="dup"><span class="term"><code 
class="option">dup</code></span><a class="headerlink" title="Permalink to this 
term" href="#dup">¶</a></dt><dd><p>
        If new updates are available, a new snapshot is created and
-       <span class="command"><strong>zypper dup</strong></span> is used to 
update the snapshot.
-       Afterwards, the snapshot is activated and will be used as the new root
-       filesystem during next boot.
+       <span class="command"><strong>zypper dup 
--no-allow-vendor-change</strong></span> is used to
+       update the snapshot. Afterwards, the snapshot is activated and will be
+       used as the new root filesystem during next boot.
       </p></dd><dt id="patch"><span class="term"><code 
class="option">patch</code></span><a class="headerlink" title="Permalink to 
this term" href="#patch">¶</a></dt><dd><p>
        If new updates are available, a new snapshot is created and
        <span class="command"><strong>zypper patch</strong></span> is used to 
update the snapshot.
@@ -76,6 +76,16 @@
        is running, <span 
class="command"><strong>transactional-update</strong></span> will tell the
        daemon to reboot the system according to the configured policies. Else
        <span class="command"><strong>systemctl reboot</strong></span> is 
called.
+      </p></dd><dt id="rollback
+    number"><span class="term"><code class="option">rollback</code>
+    [<span class="optional"><em 
class="replaceable"><code>number</code></em></span>]</span><a 
class="headerlink" title="Permalink to this term" 
href="#rollback%0A%20%20%20%20number">¶</a></dt><dd><p>
+       Sets the default subvolume. On systems with read-write filesystem,
+       <a href="http://snapper.io/manpages/snapper.html";><span 
class="citerefentry"><span class="refentrytitle">snapper</span>(8)</span></a>
+       <code class="option"> rollback</code> is called. On a read-only 
filesystem,
+       without argument, the current system is made the new default root
+       filesystem. Else the snapshot with <code class="option">number</code> 
is made the
+       new default root filesystem. On a read-only filesystem, no additional
+       snapshots are created.
       </p></dd></dl></div></div><div class="refsect1"><a 
name="important"></a><h2 id="IMPORTANT">IMPORTANT<a class="headerlink" 
title="Permalink to this headline" href="#IMPORTANT">¶</a></h2><p>
   Only RPMs, which are fully part of the snapshot of the root filesystem, can
   be updated. If RPMs contains files outside of the snapshot, the update
@@ -85,6 +95,8 @@
   snapshot for the update, the system should be rebooted as fast as possible
   after the update finished.
 </p><p>
+  RPMs, where a license needs accepted for, cannot be updated.
+</p><p>
   If PTFs get installed or removed, and
   <span class="command"><strong>transactional-update</strong></span> is called 
again before the next
   reboot and updates packages, the changes to the PTFs are lost and need to be
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/transactional-update-1.9/man/transactional-update.8.xml 
new/transactional-update-1.11/man/transactional-update.8.xml
--- old/transactional-update-1.9/man/transactional-update.8.xml 2017-02-05 
11:30:39.000000000 +0100
+++ new/transactional-update-1.11/man/transactional-update.8.xml        
2017-03-02 13:07:08.000000000 +0100
@@ -74,13 +74,18 @@
     <cmdsynopsis>
       <command>transactional-update</command>
       <arg choice='opt'>cleanup</arg>
+      <arg choice='opt'>reboot</arg>
       <arg choice='plain'>ptf</arg>
       <group choice='plain'>
        <arg choice='plain'>install</arg>
        <arg choice='plain'>remove</arg>
       </group>
       <arg choice='plain'>&lt;RPM&gt;...&lt;RPM&gt;</arg>
-      <arg choice='opt'>reboot</arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>transactional-update</command>
+      <arg choice='plain'>rollback</arg>
+      <arg choice='opt'>number</arg>
     </cmdsynopsis>
     <para><filename>transactional-update.service</filename></para>
     <para><filename>transactional-update.timer</filename></para>
@@ -156,9 +161,9 @@
     <listitem>
       <para>
        If new updates are available, a new snapshot is created and
-       <command>zypper dup</command> is used to update the snapshot.
-       Afterwards, the snapshot is activated and will be used as the new root
-       filesystem during next boot.
+       <command>zypper dup --no-allow-vendor-change</command> is used to
+       update the snapshot. Afterwards, the snapshot is activated and will be
+       used as the new root filesystem during next boot.
       </para>
     </listitem>
   </varlistentry>
@@ -227,6 +232,22 @@
       </para>
     </listitem>
   </varlistentry>
+  <varlistentry>
+    <term><option>rollback</option>
+    <optional><replaceable>number</replaceable></optional></term>
+    <listitem>
+      <para>
+       Sets the default subvolume. On systems with read-write filesystem,
+       <citerefentry
+           
project='snapper'><refentrytitle>snapper</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+       <option> rollback</option> is called. On a read-only filesystem,
+       without argument, the current system is made the new default root
+       filesystem. Else the snapshot with <option>number</option> is made the
+       new default root filesystem. On a read-only filesystem, no additional
+       snapshots are created.
+      </para>
+    </listitem>
+  </varlistentry>
 </variablelist>
 </refsect1>
 
@@ -242,6 +263,9 @@
   after the update finished.
 </para>
 <para>
+  RPMs, where a license needs accepted for, cannot be updated.
+</para>
+<para>
   If PTFs get installed or removed, and
   <command>transactional-update</command> is called again before the next
   reboot and updates packages, the changes to the PTFs are lost and need to be
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/transactional-update-1.9/man/transactional-update.index.html 
new/transactional-update-1.11/man/transactional-update.index.html
--- old/transactional-update-1.9/man/transactional-update.index.html    
2017-02-06 14:46:46.000000000 +0100
+++ new/transactional-update-1.11/man/transactional-update.index.html   
2017-03-02 13:12:06.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.8</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.10</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>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/transactional-update-1.9/man/transactional-update.service.8.html 
new/transactional-update-1.11/man/transactional-update.service.8.html
--- old/transactional-update-1.9/man/transactional-update.service.8.html        
2017-02-06 14:46:46.000000000 +0100
+++ new/transactional-update-1.11/man/transactional-update.service.8.html       
2017-03-02 13:12:06.000000000 +0100
@@ -15,8 +15,8 @@
     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.8</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]  ptf    install  |   
remove    &lt;RPM&gt;...&lt;RPM&gt;  [reboot]</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
+  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.10</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]  ptf    install 
 |   remove    &lt;RPM&gt;...&lt;RPM&gt; </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
 running system and it can be rolled back. To activate the changes, the system
@@ -50,9 +50,9 @@
        filesystem during next boot.
       </p></dd><dt id="dup"><span class="term"><code 
class="option">dup</code></span><a class="headerlink" title="Permalink to this 
term" href="#dup">¶</a></dt><dd><p>
        If new updates are available, a new snapshot is created and
-       <span class="command"><strong>zypper dup</strong></span> is used to 
update the snapshot.
-       Afterwards, the snapshot is activated and will be used as the new root
-       filesystem during next boot.
+       <span class="command"><strong>zypper dup 
--no-allow-vendor-change</strong></span> is used to
+       update the snapshot. Afterwards, the snapshot is activated and will be
+       used as the new root filesystem during next boot.
       </p></dd><dt id="patch"><span class="term"><code 
class="option">patch</code></span><a class="headerlink" title="Permalink to 
this term" href="#patch">¶</a></dt><dd><p>
        If new updates are available, a new snapshot is created and
        <span class="command"><strong>zypper patch</strong></span> is used to 
update the snapshot.
@@ -76,6 +76,16 @@
        is running, <span 
class="command"><strong>transactional-update</strong></span> will tell the
        daemon to reboot the system according to the configured policies. Else
        <span class="command"><strong>systemctl reboot</strong></span> is 
called.
+      </p></dd><dt id="rollback
+    number"><span class="term"><code class="option">rollback</code>
+    [<span class="optional"><em 
class="replaceable"><code>number</code></em></span>]</span><a 
class="headerlink" title="Permalink to this term" 
href="#rollback%0A%20%20%20%20number">¶</a></dt><dd><p>
+       Sets the default subvolume. On systems with read-write filesystem,
+       <a href="http://snapper.io/manpages/snapper.html";><span 
class="citerefentry"><span class="refentrytitle">snapper</span>(8)</span></a>
+       <code class="option"> rollback</code> is called. On a read-only 
filesystem,
+       without argument, the current system is made the new default root
+       filesystem. Else the snapshot with <code class="option">number</code> 
is made the
+       new default root filesystem. On a read-only filesystem, no additional
+       snapshots are created.
       </p></dd></dl></div></div><div class="refsect1"><a 
name="important"></a><h2 id="IMPORTANT">IMPORTANT<a class="headerlink" 
title="Permalink to this headline" href="#IMPORTANT">¶</a></h2><p>
   Only RPMs, which are fully part of the snapshot of the root filesystem, can
   be updated. If RPMs contains files outside of the snapshot, the update
@@ -85,6 +95,8 @@
   snapshot for the update, the system should be rebooted as fast as possible
   after the update finished.
 </p><p>
+  RPMs, where a license needs accepted for, cannot be updated.
+</p><p>
   If PTFs get installed or removed, and
   <span class="command"><strong>transactional-update</strong></span> is called 
again before the next
   reboot and updates packages, the changes to the PTFs are lost and need to be
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/transactional-update-1.9/man/transactional-update.timer.8.html 
new/transactional-update-1.11/man/transactional-update.timer.8.html
--- old/transactional-update-1.9/man/transactional-update.timer.8.html  
2017-02-06 14:46:46.000000000 +0100
+++ new/transactional-update-1.11/man/transactional-update.timer.8.html 
2017-03-02 13:12:06.000000000 +0100
@@ -15,8 +15,8 @@
     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.8</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]  ptf    install  |   
remove    &lt;RPM&gt;...&lt;RPM&gt;  [reboot]</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
+  </style><a href="transactional-update.index.html">Index </a><span 
style="float:right">transactional-update 1.10</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]  ptf    install 
 |   remove    &lt;RPM&gt;...&lt;RPM&gt; </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
 running system and it can be rolled back. To activate the changes, the system
@@ -50,9 +50,9 @@
        filesystem during next boot.
       </p></dd><dt id="dup"><span class="term"><code 
class="option">dup</code></span><a class="headerlink" title="Permalink to this 
term" href="#dup">¶</a></dt><dd><p>
        If new updates are available, a new snapshot is created and
-       <span class="command"><strong>zypper dup</strong></span> is used to 
update the snapshot.
-       Afterwards, the snapshot is activated and will be used as the new root
-       filesystem during next boot.
+       <span class="command"><strong>zypper dup 
--no-allow-vendor-change</strong></span> is used to
+       update the snapshot. Afterwards, the snapshot is activated and will be
+       used as the new root filesystem during next boot.
       </p></dd><dt id="patch"><span class="term"><code 
class="option">patch</code></span><a class="headerlink" title="Permalink to 
this term" href="#patch">¶</a></dt><dd><p>
        If new updates are available, a new snapshot is created and
        <span class="command"><strong>zypper patch</strong></span> is used to 
update the snapshot.
@@ -76,6 +76,16 @@
        is running, <span 
class="command"><strong>transactional-update</strong></span> will tell the
        daemon to reboot the system according to the configured policies. Else
        <span class="command"><strong>systemctl reboot</strong></span> is 
called.
+      </p></dd><dt id="rollback
+    number"><span class="term"><code class="option">rollback</code>
+    [<span class="optional"><em 
class="replaceable"><code>number</code></em></span>]</span><a 
class="headerlink" title="Permalink to this term" 
href="#rollback%0A%20%20%20%20number">¶</a></dt><dd><p>
+       Sets the default subvolume. On systems with read-write filesystem,
+       <a href="http://snapper.io/manpages/snapper.html";><span 
class="citerefentry"><span class="refentrytitle">snapper</span>(8)</span></a>
+       <code class="option"> rollback</code> is called. On a read-only 
filesystem,
+       without argument, the current system is made the new default root
+       filesystem. Else the snapshot with <code class="option">number</code> 
is made the
+       new default root filesystem. On a read-only filesystem, no additional
+       snapshots are created.
       </p></dd></dl></div></div><div class="refsect1"><a 
name="important"></a><h2 id="IMPORTANT">IMPORTANT<a class="headerlink" 
title="Permalink to this headline" href="#IMPORTANT">¶</a></h2><p>
   Only RPMs, which are fully part of the snapshot of the root filesystem, can
   be updated. If RPMs contains files outside of the snapshot, the update
@@ -85,6 +95,8 @@
   snapshot for the update, the system should be rebooted as fast as possible
   after the update finished.
 </p><p>
+  RPMs, where a license needs accepted for, cannot be updated.
+</p><p>
   If PTFs get installed or removed, and
   <span class="command"><strong>transactional-update</strong></span> is called 
again before the next
   reboot and updates packages, the changes to the PTFs are lost and need to be
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/transactional-update-1.9/sbin/transactional-update.in 
new/transactional-update-1.11/sbin/transactional-update.in
--- old/transactional-update-1.9/sbin/transactional-update.in   2017-02-06 
15:42:10.000000000 +0100
+++ new/transactional-update-1.11/sbin/transactional-update.in  2017-03-02 
12:52:33.000000000 +0100
@@ -30,6 +30,8 @@
 REWRITE_INITRD=0
 REBUILD_KDUMP_INITRD=0
 DO_CLEANUP=0
+DO_ROLLBACK=0
+ROLLBACK_SNAPSHOT=0
 REBOOT_AFTERWARDS=0
 LOGFILE="/var/log/transactional-update.log"
 STATE_FILE="/var/lib/misc/transactional-update.state"
@@ -42,6 +44,7 @@
     echo "Usage: transactional-update --help|--version"
     echo "       transactional-update 
[cleanup][up|dup|patch|bootloader|initrd][kdump][reboot]"
     echo "       transactional-update [cleanup] [reboot] ptf install|remove 
PKG1..PKGN"
+    echo "       transactional-update rollback [number]"
     exit $1
 }
 
@@ -105,7 +108,7 @@
 rebuild_kdump_initrd() {
     local MOUNT_DIR=$1
 
-    systemctl is-enabled kdump.service
+    systemctl is-enabled --quiet kdump.service
     if [ $? = 0 ]; then
        if [ ${KDUMP_SYSCONFIG} -nt ${MOUNT_DIR}/${KDUMP_SYSCONFIG} ]; then
            cp -a ${KDUMP_SYSCONFIG} ${MOUNT_DIR}/${KDUMP_SYSCONFIG}
@@ -144,7 +147,11 @@
            DO_CLEANUP=1
            shift
            ;;
-        up|dup|patch)
+       dup)
+           ZYPPER_ARG="dup --no-allow-vendor-change"
+           shift
+           ;;
+        up|patch)
            ZYPPER_ARG=$1
             shift
             ;;
@@ -204,6 +211,14 @@
            REBOOT_AFTERWARDS=1
            shift
            ;;
+       rollback)
+           DO_ROLLBACK=1
+           shift
+           if [ $# -eq 1 ]; then
+               ROLLBACK_SNAPSHOT=$1
+               shift
+           fi
+           ;;
         -h|--help)
             usage 0
             ;;
@@ -257,6 +272,35 @@
 DEFAULT_SNAPSHOT_ID=`btrfs subvolume get-default / | sed -e 
's|.*.snapshots/\(.*\)/snapshot|\1|g'`
 RO_ROOT=`btrfs property get / ro | sed -e 's|ro=||'`
 
+if [ ${DO_ROLLBACK} -eq 1 ]; then
+    if [ ${ROLLBACK_SNAPSHOT} -eq 0 ]; then
+       ROLLBACK_SNAPSHOT=${ORIG_SNAPSHOT_ID}
+    fi
+
+    echo "Rollback to snapshot ${ROLLBACK_SNAPSHOT} ..."
+
+    if [ ${RO_ROOT} == "true" ]; then
+       BTRFS_ID=`btrfs subvolume list / |grep 
/.snapshots/${ROLLBACK_SNAPSHOT}/snapshot | awk '{print $2}'`
+       if [ -z $BTRFS_ID ]; then
+           log_error "ERROR: couldn't determine btrfs subvolume ID"
+           exit 1
+       else
+           btrfs subvolume set-default $BTRFS_ID /.snapshots
+           if [ $? -ne 0 ]; then
+               log_error "ERROR: btrfs set-default $BTRFS_ID failed!"
+               exit 1
+           fi
+       fi
+       # Remove possible cleanup algo
+       snapper modify -c '' ${ROLLBACK_SNAPSHOT}
+    else
+       snapper rollback ${ROLLBACK_SNAPSHOT}
+    fi
+
+    echo "Please reboot to finish rollback!"
+    exit 0;
+fi
+
 #
 # Cleanup part: make sure old root filesystem will be removed after it is no 
longer active.
 #
@@ -309,7 +353,6 @@
        zypper --xml ${ZYPPER_NONINTERACTIVE} ${ZYPPER_ARG} --dry-run 
${ZYPPER_ARG_PKGS} > ${TMPFILE}
        if [ $? -ne 0 ]; then
            log_error "ERROR: zypper failed!"
-           cat ${TMPFILE} | tr '\n' 'XXX' | sed -e 
's|.*description>\(.*\)</description>.*|\1|g'| tr 'XXX' '\n' |& tee -a 
${LOGFILE}
            rm -f ${TMPFILE}
            quit 1
        fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/transactional-update-1.9/systemd/transactional-update.service 
new/transactional-update-1.11/systemd/transactional-update.service
--- old/transactional-update-1.9/systemd/transactional-update.service   
2017-02-01 18:00:19.000000000 +0100
+++ new/transactional-update-1.11/systemd/transactional-update.service  
2017-03-02 12:47:48.000000000 +0100
@@ -7,6 +7,6 @@
 
 [Service]
 Type=oneshot
-ExecStart=/usr/sbin/transactional-update cleanup up reboot
+ExecStart=/usr/sbin/transactional-update cleanup dup reboot
 IOSchedulingClass=best-effort
 IOSchedulingPriority=7


Reply via email to