Hello community,
here is the log from the commit of package transactional-update for
openSUSE:Factory checked in at 2017-11-18 00:21:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/transactional-update (Old)
and /work/SRC/openSUSE:Factory/.transactional-update.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "transactional-update"
Sat Nov 18 00:21:53 2017 rev:16 rq:542658 version:1.23
Changes:
--------
---
/work/SRC/openSUSE:Factory/transactional-update/transactional-update.changes
2017-11-08 15:13:51.565887367 +0100
+++
/work/SRC/openSUSE:Factory/.transactional-update.new/transactional-update.changes
2017-11-18 00:21:56.297705851 +0100
@@ -1,0 +2,9 @@
+Fri Nov 17 14:54:33 CET 2017 - [email protected]
+
+- Update to version 1.23
+ - Fix re-registration in rollback case
+ - Fix problems with updating the grub2 bootloader
+ - Add support for migration of products with SCC/SMT
+ - Re-add support to re-write bootloader
+
+-------------------------------------------------------------------
Old:
----
transactional-update-1.22.tar.bz2
New:
----
transactional-update-1.23.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ transactional-update.spec ++++++
--- /var/tmp/diff_new_pack.OKnL9K/_old 2017-11-18 00:21:58.085640753 +0100
+++ /var/tmp/diff_new_pack.OKnL9K/_new 2017-11-18 00:21:58.089640607 +0100
@@ -17,7 +17,7 @@
Name: transactional-update
-Version: 1.22
+Version: 1.23
Release: 0
Summary: Transactional Updates with btrfs and snapshots
License: GPL-2.0+
++++++ transactional-update-1.22.tar.bz2 -> transactional-update-1.23.tar.bz2
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.22/NEWS
new/transactional-update-1.23/NEWS
--- old/transactional-update-1.22/NEWS 2017-11-07 16:21:54.000000000 +0100
+++ new/transactional-update-1.23/NEWS 2017-11-17 14:52:12.000000000 +0100
@@ -2,6 +2,12 @@
Copyright (C) 2016, 2017 Thorsten Kukuk
+Version 1.23
+* Fix re-registration in rollback case
+* Fix problems with updating the grub2 bootloader
+* Add support for migration of products with SCC
+* Re-add support to re-write bootloader
+
Version 1.22
* Rewrite cleanup code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.22/configure
new/transactional-update-1.23/configure
--- old/transactional-update-1.22/configure 2017-11-07 16:22:13.000000000
+0100
+++ new/transactional-update-1.23/configure 2017-11-17 14:52:27.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.22.
+# Generated by GNU Autoconf 2.69 for transactional-update 1.23.
#
#
# 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.22'
-PACKAGE_STRING='transactional-update 1.22'
+PACKAGE_VERSION='1.23'
+PACKAGE_STRING='transactional-update 1.23'
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.22 to adapt to many kinds of
systems.
+\`configure' configures transactional-update 1.23 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.22:";;
+ short | recursive ) echo "Configuration of transactional-update 1.23:";;
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.22
+transactional-update configure 1.23
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.22, which was
+It was created by transactional-update $as_me 1.23, 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.22'
+ VERSION='1.23'
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.22, which was
+This file was extended by transactional-update $as_me 1.23, 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.22
+transactional-update config.status 1.23
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.22/configure.ac
new/transactional-update-1.23/configure.ac
--- old/transactional-update-1.22/configure.ac 2017-11-07 16:22:09.000000000
+0100
+++ new/transactional-update-1.23/configure.ac 2017-11-17 14:50:41.000000000
+0100
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(transactional-update, 1.22)
+AC_INIT(transactional-update, 1.23)
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.22/man/transactional-update.8
new/transactional-update-1.23/man/transactional-update.8
--- old/transactional-update-1.22/man/transactional-update.8 2017-07-03
13:14:51.000000000 +0200
+++ new/transactional-update-1.23/man/transactional-update.8 2017-11-17
14:43:02.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: 07/03/2017
+.\" Date: 11/17/2017
.\" Manual: transactional-update
.\" Source: transactional-update
.\" Language: English
.\"
-.TH "TRANSACTIONAL\-UPDAT" "8" "07/03/2017" "transactional-update"
"transactional-update"
+.TH "TRANSACTIONAL\-UPDAT" "8" "11/17/2017" "transactional-update"
"transactional-update"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -33,10 +33,12 @@
.HP \w'\fBtransactional\-update\fR\ 'u
\fBtransactional\-update\fR [\-\-help] [\-\-version]
.HP \w'\fBtransactional\-update\fR\ 'u
-\fBtransactional\-update\fR [cleanup] [up | dup | patch | initrd] [kdump]
[reboot]
+\fBtransactional\-update\fR [cleanup] [up | dup | patch | bootloader | initrd]
[kdump] [reboot]
.HP \w'\fBtransactional\-update\fR\ 'u
\fBtransactional\-update\fR [cleanup] [reboot] pkg install | remove | update
<RPM>\&.\&.\&.<RPM>
.HP \w'\fBtransactional\-update\fR\ 'u
+\fBtransactional\-update\fR migration
+.HP \w'\fBtransactional\-update\fR\ 'u
\fBtransactional\-update\fR rollback [number]
.PP
transactional\-update\&.service
@@ -62,16 +64,6 @@
for more informations\&.
.SH "OPTIONS"
.PP
-\fB\-\-help\fR
-.RS 4
-Display help and exit
-.RE
-.PP
-\fB\-\-version\fR
-.RS 4
-Output version information and exit
-.RE
-.PP
\fBcleanup\fR
.RS 4
If the current root filesystem is identical to the active root filesystem
(means after a reboot, before
@@ -80,18 +72,39 @@
\fBsnapper\fR(8)\&.
.RE
.PP
-\fBup\fR
+\fBdup\fR
.RS 4
If new updates are available, a new snapshot is created and
-\fBzypper up\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
-\fBdup\fR
+\fBgrub\&.cfg\fR
.RS 4
-If new updates are available, a new snapshot is created and
-\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\&.
+\fBgrub2-mkconfig\fR(8)
+is called to create a new
+/boot/grub2/grub\&.cfg
+configuration file for the bootloader\&.
+.RE
+.PP
+\fBbootloader\fR
+.RS 4
+A new snapshot is created, the bootloader configuration updated and the
boorloader newly written\&.
+.RE
+.PP
+\fBinitrd\fR
+.RS 4
+A new initrd is created in a snapshot\&.
+.RE
+.PP
+\fBkdump\fR
+.RS 4
+A new initrd for kdump is created in a snapshot\&.
+.RE
+.PP
+\fBmigration\fR
+.RS 4
+On systems which are registered against the SUSE Customer Center (SCC) or SMT,
a migration to a new version of the installed products can be made with this
option\&. This is done in an interactive mode\&.
.RE
.PP
\fBpatch\fR
@@ -116,24 +129,6 @@
Packages installed as RPMs can be updated\&.
.RE
.PP
-\fBgrub\&.cfg\fR
-.RS 4
-\fBgrub2-mkconfig\fR(8)
-is called to create a new
-/boot/grub2/grub\&.cfg
-configuration file for the bootloader\&.
-.RE
-.PP
-\fBinitrd\fR
-.RS 4
-A new initrd is created in a snapshot\&.
-.RE
-.PP
-\fBkdump\fR
-.RS 4
-A new initrd for kdump is created in a snapshot\&.
-.RE
-.PP
\fBreboot\fR
.RS 4
If a new snapshot with updates was created, the system should be rebooted\&.
This option will trigger the necessary reboot\&. If the
@@ -158,6 +153,23 @@
.RS 4
After all actions are done, before the snapshot with the changes is unmounted
and switched to read\-only, a shell is started in the new snapshot as chroot
environment for testing and debugging\&.
.RE
+.PP
+\fBup\fR
+.RS 4
+If new updates are available, a new snapshot is created and
+\fBzypper up\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
+\fB\-\-help\fR
+.RS 4
+Display help and exit
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Output version information and exit
+.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\&.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.22/man/transactional-update.8.html
new/transactional-update-1.23/man/transactional-update.8.html
--- old/transactional-update-1.22/man/transactional-update.8.html
2017-07-03 13:14:51.000000000 +0200
+++ new/transactional-update-1.23/man/transactional-update.8.html
2017-11-17 14:43:02.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.20</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 | initrd ] [kdump] [reboot]</p></div><div
class="cmdsynopsis"><p><code class="command">transactional-update</code>
[cleanup] [reboot] pkg install | remove | update
<RPM>...<RPM> </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
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.22</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 <RPM>...<RPM> </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
running system and it can be rolled back. To activate the changes, the system
@@ -36,23 +36,33 @@
<code
class="filename">/etc/systemd/system/transactional-update.timer.d/local.conf</code>.
See
<a
href="https://www.freedesktop.org/software/systemd/man/systemd.unit.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.unit</span>(5)</span></a>
for more informations.
-</p></div><div class="refsect1"><a name="options"></a><h2
id="OPTIONS">OPTIONS<a class="headerlink" title="Permalink to this headline"
href="#OPTIONS">¶</a></h2><div class="variablelist"><dl
class="variablelist"><dt id="--help"><span class="term"><code
class="option">--help</code></span><a class="headerlink" title="Permalink to
this term" href="#--help">¶</a></dt><dd><p>Display help and exit</p></dd><dt
id="--version"><span class="term"><code
class="option">--version</code></span><a class="headerlink" title="Permalink to
this term" href="#--version">¶</a></dt><dd><p>Output version information and
exit</p></dd><dt id="cleanup"><span class="term"><code
class="option">cleanup</code></span><a class="headerlink" title="Permalink to
this term" href="#cleanup">¶</a></dt><dd><p>If the current root filesystem is
identical to the active root
+</p></div><div class="refsect1"><a name="options"></a><h2
id="OPTIONS">OPTIONS<a class="headerlink" title="Permalink to this headline"
href="#OPTIONS">¶</a></h2><div class="variablelist"><dl
class="variablelist"><dt id="cleanup"><span class="term"><code
class="option">cleanup</code></span><a class="headerlink" title="Permalink to
this term" href="#cleanup">¶</a></dt><dd><p>If the current root filesystem is
identical to the active root
filesystem (means after a reboot, before
<span class="command"><strong>transactional-update</strong></span>
creates a new snapshot with
updates), all old snapshots without a cleanup algorithm get a cleanup
algorithm set. This is to make sure, that old snapshots will be deleted
by snapper. See the section about cleanup algorithms in
<a href="http://snapper.io/manpages/snapper.html"><span
class="citerefentry"><span class="refentrytitle">snapper</span>(8)</span></a>.
- </p></dd><dt id="up"><span class="term"><code
class="option">up</code></span><a class="headerlink" title="Permalink to this
term" href="#up">¶</a></dt><dd><p>
- If new updates are available, a new snapshot is created and
- <span class="command"><strong>zypper up</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="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
--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="grub.cfg"><span class="term"><code
class="option">grub.cfg</code></span><a class="headerlink" title="Permalink to
this term" href="#grub.cfg">¶</a></dt><dd><p>
+ <a href="https://www.linux.org/docs/man8/grub2-mkconfig.html"><span
class="citerefentry"><span
class="refentrytitle">grub2-mkconfig</span>(8)</span></a>
+ is called to create a new <code
class="filename">/boot/grub2/grub.cfg</code>
+ configuration file for the bootloader.
+ </p></dd><dt id="bootloader"><span class="term"><code
class="option">bootloader</code></span><a class="headerlink" title="Permalink
to this term" href="#bootloader">¶</a></dt><dd><p>
+ A new snapshot is created, the bootloader configuration updated and
+ the boorloader newly written.
+ </p></dd><dt id="initrd"><span class="term"><code
class="option">initrd</code></span><a class="headerlink" title="Permalink to
this term" href="#initrd">¶</a></dt><dd><p>
+ A new initrd is created in a snapshot.
+ </p></dd><dt id="kdump"><span class="term"><code
class="option">kdump</code></span><a class="headerlink" title="Permalink to
this term" href="#kdump">¶</a></dt><dd><p>
+ A new initrd for kdump is created in a snapshot.
+ </p></dd><dt id="migration"><span class="term"><code
class="option">migration</code></span><a class="headerlink" title="Permalink to
this term" href="#migration">¶</a></dt><dd><p>
+ On systems which are registered against the SUSE Customer Center (SCC)
+ or SMT, a migration to a new version of the installed products can be
+ made with this option. This is done in an interactive mode.
</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.
@@ -65,14 +75,6 @@
the system.
</p></dd><dt id="pkg update <RPM> ... <RPM>"><span
class="term"><code class="option">pkg update</code> <em
class="replaceable"><code><RPM> ... <RPM></code></em></span><a
class="headerlink" title="Permalink to this term"
href="#pkg%20update%20<RPM>%20...%20<RPM>">¶</a></dt><dd><p>
Packages installed as RPMs can be updated.
- </p></dd><dt id="grub.cfg"><span class="term"><code
class="option">grub.cfg</code></span><a class="headerlink" title="Permalink to
this term" href="#grub.cfg">¶</a></dt><dd><p>
- <a href="https://www.linux.org/docs/man8/grub2-mkconfig.html"><span
class="citerefentry"><span
class="refentrytitle">grub2-mkconfig</span>(8)</span></a>
- is called to create a new <code
class="filename">/boot/grub2/grub.cfg</code>
- configuration file for the bootloader.
- </p></dd><dt id="initrd"><span class="term"><code
class="option">initrd</code></span><a class="headerlink" title="Permalink to
this term" href="#initrd">¶</a></dt><dd><p>
- A new initrd is created in a snapshot.
- </p></dd><dt id="kdump"><span class="term"><code
class="option">kdump</code></span><a class="headerlink" title="Permalink to
this term" href="#kdump">¶</a></dt><dd><p>
- A new initrd for kdump is created in a snapshot.
</p></dd><dt id="reboot"><span class="term"><code
class="option">reboot</code></span><a class="headerlink" title="Permalink to
this term" href="#reboot">¶</a></dt><dd><p>
If a new snapshot with updates was created, the system should be
rebooted. This option will trigger the necessary reboot. If the
@@ -94,7 +96,12 @@
After all actions are done, before the snapshot with the changes is
unmounted and switched to read-only, a shell is started in the new
snapshot as chroot environment for testing and debugging.
- </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>
+ </p></dd><dt id="up"><span class="term"><code
class="option">up</code></span><a class="headerlink" title="Permalink to this
term" href="#up">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper up</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="--help"><span class="term"><code
class="option">--help</code></span><a class="headerlink" title="Permalink to
this term" href="#--help">¶</a></dt><dd><p>Display help and exit</p></dd><dt
id="--version"><span class="term"><code
class="option">--version</code></span><a class="headerlink" title="Permalink to
this term" href="#--version">¶</a></dt><dd><p>Output version information and
exit</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
itself can break or can break the system.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.22/man/transactional-update.8.xml
new/transactional-update-1.23/man/transactional-update.8.xml
--- old/transactional-update-1.22/man/transactional-update.8.xml
2017-07-03 13:13:25.000000000 +0200
+++ new/transactional-update-1.23/man/transactional-update.8.xml
2017-11-17 14:29:57.000000000 +0100
@@ -65,6 +65,7 @@
<arg choice='plain'>up</arg>
<arg choice='plain'>dup</arg>
<arg choice='plain'>patch</arg>
+ <arg choice='plain'>bootloader</arg>
<arg choice='plain'>initrd</arg>
</group>
<arg choice='opt'>kdump</arg>
@@ -84,6 +85,10 @@
</cmdsynopsis>
<cmdsynopsis>
<command>transactional-update</command>
+ <arg choice='plain'>migration</arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>transactional-update</command>
<arg choice='plain'>rollback</arg>
<arg choice='opt'>number</arg>
</cmdsynopsis>
@@ -121,18 +126,6 @@
<refsect1 id='options'><title>OPTIONS</title>
<variablelist remap='TP'>
<varlistentry>
- <term><option>--help</option></term>
- <listitem>
- <para>Display help and exit</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--version</option></term>
- <listitem>
- <para>Output version information and exit</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term><option>cleanup</option></term>
<listitem>
<para>If the current root filesystem is identical to the active root
@@ -146,87 +139,95 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><option>up</option></term>
+ <term><option>dup</option></term>
<listitem>
<para>
If new updates are available, a new snapshot is created and
- <command>zypper up</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>
<varlistentry>
- <term><option>dup</option></term>
+ <term><option>grub.cfg</option></term>
<listitem>
<para>
- If new updates are available, a new snapshot is created and
- <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.
+ <citerefentry
+
project='linux.org'><refentrytitle>grub2-mkconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ is called to create a new <filename>/boot/grub2/grub.cfg</filename>
+ configuration file for the bootloader.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>patch</option></term>
+ <term><option>bootloader</option></term>
<listitem>
<para>
- If new updates are available, a new snapshot is created and
- <command>zypper patch</command> is used to update the snapshot.
- Afterwards, the snapshot is activated and will be used as the new root
- filesystem during next boot.
+ A new snapshot is created, the bootloader configuration updated and
+ the boorloader newly written.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>pkg install</option> <replaceable><RPM> ...
<RPM></replaceable></term>
+ <term><option>initrd</option></term>
<listitem>
<para>
- A PTF or other packages in RPM format can be installed in the system.
+ A new initrd is created in a snapshot.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>pkg remove</option> <replaceable><RPM> ...
<RPM></replaceable></term>
+ <term><option>kdump</option></term>
<listitem>
<para>
- A PTF or other installed packages in RPM format can be removed from
- the system.
+ A new initrd for kdump is created in a snapshot.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>pkg update</option> <replaceable><RPM> ...
<RPM></replaceable></term>
+ <term><option>migration</option></term>
<listitem>
<para>
- Packages installed as RPMs can be updated.
+ On systems which are registered against the SUSE Customer Center (SCC)
+ or SMT, a migration to a new version of the installed products can be
+ made with this option. This is done in an interactive mode.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>grub.cfg</option></term>
+ <term><option>patch</option></term>
<listitem>
<para>
- <citerefentry
-
project='linux.org'><refentrytitle>grub2-mkconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry>
- is called to create a new <filename>/boot/grub2/grub.cfg</filename>
- configuration file for the bootloader.
+ If new updates are available, a new snapshot is created and
+ <command>zypper patch</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>
<varlistentry>
- <term><option>initrd</option></term>
+ <term><option>pkg install</option> <replaceable><RPM> ...
<RPM></replaceable></term>
<listitem>
<para>
- A new initrd is created in a snapshot.
+ A PTF or other packages in RPM format can be installed in the system.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>kdump</option></term>
+ <term><option>pkg remove</option> <replaceable><RPM> ...
<RPM></replaceable></term>
<listitem>
<para>
- A new initrd for kdump is created in a snapshot.
+ A PTF or other installed packages in RPM format can be removed from
+ the system.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>pkg update</option> <replaceable><RPM> ...
<RPM></replaceable></term>
+ <listitem>
+ <para>
+ Packages installed as RPMs can be updated.
</para>
</listitem>
</varlistentry>
@@ -269,6 +270,29 @@
</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>up</option></term>
+ <listitem>
+ <para>
+ If new updates are available, a new snapshot is created and
+ <command>zypper up</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>
+ <varlistentry>
+ <term><option>--help</option></term>
+ <listitem>
+ <para>Display help and exit</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--version</option></term>
+ <listitem>
+ <para>Output version information and exit</para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect1>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.22/man/transactional-update.index.html
new/transactional-update-1.23/man/transactional-update.index.html
--- old/transactional-update-1.22/man/transactional-update.index.html
2017-07-03 13:14:51.000000000 +0200
+++ new/transactional-update-1.23/man/transactional-update.index.html
2017-11-17 14:43:02.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.20</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.22</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.22/man/transactional-update.service.8.html
new/transactional-update-1.23/man/transactional-update.service.8.html
--- old/transactional-update-1.22/man/transactional-update.service.8.html
2017-07-03 13:14:51.000000000 +0200
+++ new/transactional-update-1.23/man/transactional-update.service.8.html
2017-11-17 14:43:02.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.20</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 | initrd ] [kdump] [reboot]</p></div><div
class="cmdsynopsis"><p><code class="command">transactional-update</code>
[cleanup] [reboot] pkg install | remove | update
<RPM>...<RPM> </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
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.22</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 <RPM>...<RPM> </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
running system and it can be rolled back. To activate the changes, the system
@@ -36,23 +36,33 @@
<code
class="filename">/etc/systemd/system/transactional-update.timer.d/local.conf</code>.
See
<a
href="https://www.freedesktop.org/software/systemd/man/systemd.unit.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.unit</span>(5)</span></a>
for more informations.
-</p></div><div class="refsect1"><a name="options"></a><h2
id="OPTIONS">OPTIONS<a class="headerlink" title="Permalink to this headline"
href="#OPTIONS">¶</a></h2><div class="variablelist"><dl
class="variablelist"><dt id="--help"><span class="term"><code
class="option">--help</code></span><a class="headerlink" title="Permalink to
this term" href="#--help">¶</a></dt><dd><p>Display help and exit</p></dd><dt
id="--version"><span class="term"><code
class="option">--version</code></span><a class="headerlink" title="Permalink to
this term" href="#--version">¶</a></dt><dd><p>Output version information and
exit</p></dd><dt id="cleanup"><span class="term"><code
class="option">cleanup</code></span><a class="headerlink" title="Permalink to
this term" href="#cleanup">¶</a></dt><dd><p>If the current root filesystem is
identical to the active root
+</p></div><div class="refsect1"><a name="options"></a><h2
id="OPTIONS">OPTIONS<a class="headerlink" title="Permalink to this headline"
href="#OPTIONS">¶</a></h2><div class="variablelist"><dl
class="variablelist"><dt id="cleanup"><span class="term"><code
class="option">cleanup</code></span><a class="headerlink" title="Permalink to
this term" href="#cleanup">¶</a></dt><dd><p>If the current root filesystem is
identical to the active root
filesystem (means after a reboot, before
<span class="command"><strong>transactional-update</strong></span>
creates a new snapshot with
updates), all old snapshots without a cleanup algorithm get a cleanup
algorithm set. This is to make sure, that old snapshots will be deleted
by snapper. See the section about cleanup algorithms in
<a href="http://snapper.io/manpages/snapper.html"><span
class="citerefentry"><span class="refentrytitle">snapper</span>(8)</span></a>.
- </p></dd><dt id="up"><span class="term"><code
class="option">up</code></span><a class="headerlink" title="Permalink to this
term" href="#up">¶</a></dt><dd><p>
- If new updates are available, a new snapshot is created and
- <span class="command"><strong>zypper up</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="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
--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="grub.cfg"><span class="term"><code
class="option">grub.cfg</code></span><a class="headerlink" title="Permalink to
this term" href="#grub.cfg">¶</a></dt><dd><p>
+ <a href="https://www.linux.org/docs/man8/grub2-mkconfig.html"><span
class="citerefentry"><span
class="refentrytitle">grub2-mkconfig</span>(8)</span></a>
+ is called to create a new <code
class="filename">/boot/grub2/grub.cfg</code>
+ configuration file for the bootloader.
+ </p></dd><dt id="bootloader"><span class="term"><code
class="option">bootloader</code></span><a class="headerlink" title="Permalink
to this term" href="#bootloader">¶</a></dt><dd><p>
+ A new snapshot is created, the bootloader configuration updated and
+ the boorloader newly written.
+ </p></dd><dt id="initrd"><span class="term"><code
class="option">initrd</code></span><a class="headerlink" title="Permalink to
this term" href="#initrd">¶</a></dt><dd><p>
+ A new initrd is created in a snapshot.
+ </p></dd><dt id="kdump"><span class="term"><code
class="option">kdump</code></span><a class="headerlink" title="Permalink to
this term" href="#kdump">¶</a></dt><dd><p>
+ A new initrd for kdump is created in a snapshot.
+ </p></dd><dt id="migration"><span class="term"><code
class="option">migration</code></span><a class="headerlink" title="Permalink to
this term" href="#migration">¶</a></dt><dd><p>
+ On systems which are registered against the SUSE Customer Center (SCC)
+ or SMT, a migration to a new version of the installed products can be
+ made with this option. This is done in an interactive mode.
</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.
@@ -65,14 +75,6 @@
the system.
</p></dd><dt id="pkg update <RPM> ... <RPM>"><span
class="term"><code class="option">pkg update</code> <em
class="replaceable"><code><RPM> ... <RPM></code></em></span><a
class="headerlink" title="Permalink to this term"
href="#pkg%20update%20<RPM>%20...%20<RPM>">¶</a></dt><dd><p>
Packages installed as RPMs can be updated.
- </p></dd><dt id="grub.cfg"><span class="term"><code
class="option">grub.cfg</code></span><a class="headerlink" title="Permalink to
this term" href="#grub.cfg">¶</a></dt><dd><p>
- <a href="https://www.linux.org/docs/man8/grub2-mkconfig.html"><span
class="citerefentry"><span
class="refentrytitle">grub2-mkconfig</span>(8)</span></a>
- is called to create a new <code
class="filename">/boot/grub2/grub.cfg</code>
- configuration file for the bootloader.
- </p></dd><dt id="initrd"><span class="term"><code
class="option">initrd</code></span><a class="headerlink" title="Permalink to
this term" href="#initrd">¶</a></dt><dd><p>
- A new initrd is created in a snapshot.
- </p></dd><dt id="kdump"><span class="term"><code
class="option">kdump</code></span><a class="headerlink" title="Permalink to
this term" href="#kdump">¶</a></dt><dd><p>
- A new initrd for kdump is created in a snapshot.
</p></dd><dt id="reboot"><span class="term"><code
class="option">reboot</code></span><a class="headerlink" title="Permalink to
this term" href="#reboot">¶</a></dt><dd><p>
If a new snapshot with updates was created, the system should be
rebooted. This option will trigger the necessary reboot. If the
@@ -94,7 +96,12 @@
After all actions are done, before the snapshot with the changes is
unmounted and switched to read-only, a shell is started in the new
snapshot as chroot environment for testing and debugging.
- </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>
+ </p></dd><dt id="up"><span class="term"><code
class="option">up</code></span><a class="headerlink" title="Permalink to this
term" href="#up">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper up</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="--help"><span class="term"><code
class="option">--help</code></span><a class="headerlink" title="Permalink to
this term" href="#--help">¶</a></dt><dd><p>Display help and exit</p></dd><dt
id="--version"><span class="term"><code
class="option">--version</code></span><a class="headerlink" title="Permalink to
this term" href="#--version">¶</a></dt><dd><p>Output version information and
exit</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
itself can break or can break the system.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.22/man/transactional-update.timer.8.html
new/transactional-update-1.23/man/transactional-update.timer.8.html
--- old/transactional-update-1.22/man/transactional-update.timer.8.html
2017-07-03 13:14:51.000000000 +0200
+++ new/transactional-update-1.23/man/transactional-update.timer.8.html
2017-11-17 14:43:02.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.20</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 | initrd ] [kdump] [reboot]</p></div><div
class="cmdsynopsis"><p><code class="command">transactional-update</code>
[cleanup] [reboot] pkg install | remove | update
<RPM>...<RPM> </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
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.22</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 <RPM>...<RPM> </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
running system and it can be rolled back. To activate the changes, the system
@@ -36,23 +36,33 @@
<code
class="filename">/etc/systemd/system/transactional-update.timer.d/local.conf</code>.
See
<a
href="https://www.freedesktop.org/software/systemd/man/systemd.unit.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.unit</span>(5)</span></a>
for more informations.
-</p></div><div class="refsect1"><a name="options"></a><h2
id="OPTIONS">OPTIONS<a class="headerlink" title="Permalink to this headline"
href="#OPTIONS">¶</a></h2><div class="variablelist"><dl
class="variablelist"><dt id="--help"><span class="term"><code
class="option">--help</code></span><a class="headerlink" title="Permalink to
this term" href="#--help">¶</a></dt><dd><p>Display help and exit</p></dd><dt
id="--version"><span class="term"><code
class="option">--version</code></span><a class="headerlink" title="Permalink to
this term" href="#--version">¶</a></dt><dd><p>Output version information and
exit</p></dd><dt id="cleanup"><span class="term"><code
class="option">cleanup</code></span><a class="headerlink" title="Permalink to
this term" href="#cleanup">¶</a></dt><dd><p>If the current root filesystem is
identical to the active root
+</p></div><div class="refsect1"><a name="options"></a><h2
id="OPTIONS">OPTIONS<a class="headerlink" title="Permalink to this headline"
href="#OPTIONS">¶</a></h2><div class="variablelist"><dl
class="variablelist"><dt id="cleanup"><span class="term"><code
class="option">cleanup</code></span><a class="headerlink" title="Permalink to
this term" href="#cleanup">¶</a></dt><dd><p>If the current root filesystem is
identical to the active root
filesystem (means after a reboot, before
<span class="command"><strong>transactional-update</strong></span>
creates a new snapshot with
updates), all old snapshots without a cleanup algorithm get a cleanup
algorithm set. This is to make sure, that old snapshots will be deleted
by snapper. See the section about cleanup algorithms in
<a href="http://snapper.io/manpages/snapper.html"><span
class="citerefentry"><span class="refentrytitle">snapper</span>(8)</span></a>.
- </p></dd><dt id="up"><span class="term"><code
class="option">up</code></span><a class="headerlink" title="Permalink to this
term" href="#up">¶</a></dt><dd><p>
- If new updates are available, a new snapshot is created and
- <span class="command"><strong>zypper up</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="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
--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="grub.cfg"><span class="term"><code
class="option">grub.cfg</code></span><a class="headerlink" title="Permalink to
this term" href="#grub.cfg">¶</a></dt><dd><p>
+ <a href="https://www.linux.org/docs/man8/grub2-mkconfig.html"><span
class="citerefentry"><span
class="refentrytitle">grub2-mkconfig</span>(8)</span></a>
+ is called to create a new <code
class="filename">/boot/grub2/grub.cfg</code>
+ configuration file for the bootloader.
+ </p></dd><dt id="bootloader"><span class="term"><code
class="option">bootloader</code></span><a class="headerlink" title="Permalink
to this term" href="#bootloader">¶</a></dt><dd><p>
+ A new snapshot is created, the bootloader configuration updated and
+ the boorloader newly written.
+ </p></dd><dt id="initrd"><span class="term"><code
class="option">initrd</code></span><a class="headerlink" title="Permalink to
this term" href="#initrd">¶</a></dt><dd><p>
+ A new initrd is created in a snapshot.
+ </p></dd><dt id="kdump"><span class="term"><code
class="option">kdump</code></span><a class="headerlink" title="Permalink to
this term" href="#kdump">¶</a></dt><dd><p>
+ A new initrd for kdump is created in a snapshot.
+ </p></dd><dt id="migration"><span class="term"><code
class="option">migration</code></span><a class="headerlink" title="Permalink to
this term" href="#migration">¶</a></dt><dd><p>
+ On systems which are registered against the SUSE Customer Center (SCC)
+ or SMT, a migration to a new version of the installed products can be
+ made with this option. This is done in an interactive mode.
</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.
@@ -65,14 +75,6 @@
the system.
</p></dd><dt id="pkg update <RPM> ... <RPM>"><span
class="term"><code class="option">pkg update</code> <em
class="replaceable"><code><RPM> ... <RPM></code></em></span><a
class="headerlink" title="Permalink to this term"
href="#pkg%20update%20<RPM>%20...%20<RPM>">¶</a></dt><dd><p>
Packages installed as RPMs can be updated.
- </p></dd><dt id="grub.cfg"><span class="term"><code
class="option">grub.cfg</code></span><a class="headerlink" title="Permalink to
this term" href="#grub.cfg">¶</a></dt><dd><p>
- <a href="https://www.linux.org/docs/man8/grub2-mkconfig.html"><span
class="citerefentry"><span
class="refentrytitle">grub2-mkconfig</span>(8)</span></a>
- is called to create a new <code
class="filename">/boot/grub2/grub.cfg</code>
- configuration file for the bootloader.
- </p></dd><dt id="initrd"><span class="term"><code
class="option">initrd</code></span><a class="headerlink" title="Permalink to
this term" href="#initrd">¶</a></dt><dd><p>
- A new initrd is created in a snapshot.
- </p></dd><dt id="kdump"><span class="term"><code
class="option">kdump</code></span><a class="headerlink" title="Permalink to
this term" href="#kdump">¶</a></dt><dd><p>
- A new initrd for kdump is created in a snapshot.
</p></dd><dt id="reboot"><span class="term"><code
class="option">reboot</code></span><a class="headerlink" title="Permalink to
this term" href="#reboot">¶</a></dt><dd><p>
If a new snapshot with updates was created, the system should be
rebooted. This option will trigger the necessary reboot. If the
@@ -94,7 +96,12 @@
After all actions are done, before the snapshot with the changes is
unmounted and switched to read-only, a shell is started in the new
snapshot as chroot environment for testing and debugging.
- </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>
+ </p></dd><dt id="up"><span class="term"><code
class="option">up</code></span><a class="headerlink" title="Permalink to this
term" href="#up">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper up</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="--help"><span class="term"><code
class="option">--help</code></span><a class="headerlink" title="Permalink to
this term" href="#--help">¶</a></dt><dd><p>Display help and exit</p></dd><dt
id="--version"><span class="term"><code
class="option">--version</code></span><a class="headerlink" title="Permalink to
this term" href="#--version">¶</a></dt><dd><p>Output version information and
exit</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
itself can break or can break the system.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.22/sbin/transactional-update.in
new/transactional-update-1.23/sbin/transactional-update.in
--- old/transactional-update-1.22/sbin/transactional-update.in 2017-11-07
13:11:47.000000000 +0100
+++ new/transactional-update-1.23/sbin/transactional-update.in 2017-11-17
14:45:58.000000000 +0100
@@ -25,10 +25,12 @@
ZYPPER_ARG=""
ZYPPER_NONINTERACTIVE="-y --auto-agree-with-product-licenses"
ZYPPER_ARG_PKGS=""
+REWRITE_BOOTLOADER=0
REWRITE_GRUB_CFG=0
REWRITE_INITRD=0
REBUILD_KDUMP_INITRD=0
DO_CLEANUP=0
+DO_MIGRATION=0
DO_ROLLBACK=0
ROLLBACK_SNAPSHOT=0
REBOOT_AFTERWARDS=0
@@ -48,6 +50,7 @@
echo "Usage: transactional-update --help|--version"
echo " transactional-update
[cleanup][up|dup|patch|initrd][kdump][reboot]"
echo " transactional-update [cleanup] [reboot] pkg
install|remove|update PKG1..PKGN"
+ echo " transactional-update migration"
echo " transactional-update rollback [number]"
exit $1
}
@@ -224,6 +227,17 @@
# Run installing PTFs interactive
ZYPPER_NONINTERACTIVE=""
;;
+ migration)
+ DO_MIGRATION=1
+ ZYPPER_NONINTERACTIVE=""
+ ZYPPER_ARG="migration"
+ shift
+ ;;
+ bootloader)
+ REWRITE_BOOTLOADER=1
+ REWRITE_GRUB_CFG=1
+ shift
+ ;;
grub.cfg)
REWRITE_GRUB_CFG=1
shift
@@ -332,6 +346,10 @@
log_error "ERROR: btrfs set-default $BTRFS_ID failed!"
exit 1
fi
+ # Create the trigger to re-register the system as new version after
next
+ # reboot.
+ test -d ${MOUNT_DIR}/var/lib/rollback || mkdir -p
${MOUNT_DIR}/var/lib/rollback
+ touch ${MOUNT_DIR}/var/lib/rollback/check-registration
fi
# Remove possible cleanup algo
snapper modify -c '' ${ROLLBACK_SNAPSHOT}
@@ -404,10 +422,10 @@
if [ -n "${ZYPPER_ARG}" -o ${REWRITE_GRUB_CFG} -eq 1 \
-o ${REWRITE_INITRD} -eq 1 -o ${REBUILD_KDUMP_INITRD} -eq 1 \
- -o ${RUN_SHELL} -eq 1 ]; then
+ -o ${RUN_SHELL} -eq 1 -o ${REWRITE_BOOTLOADER} -eq 1 ]; then
+ # Check if there are updates at all.
if [ -n "${ZYPPER_ARG}" -a -n "${ZYPPER_NONINTERACTIVE}" ]; then
- #check if there are updates at all
TMPFILE=`mktemp /tmp/transactional-update.XXXXXXXXXX`
zypper --xml ${ZYPPER_ARG} ${ZYPPER_NONINTERACTIVE} --dry-run
${ZYPPER_ARG_PKGS} > ${TMPFILE}
if [ $? -ne 0 ]; then
@@ -479,6 +497,11 @@
DIR_TO_MOUNT="${DIR_TO_MOUNT} etc/zypp"
fi
+ # Check which directories in /boot/grub2 needs to be mounted,
+ # else a version update of grub2 will not boot.
+ DIR_TO_MOUNT="${DIR_TO_MOUNT} `grep /boot/grub2/ /etc/fstab |grep subvol |
awk '{print $2}'`"
+
+
# Mount everything we need:
mount -t proc none ${SNAPSHOT_DIR}/proc
if [ $? -ne 0 ]; then
@@ -526,8 +549,22 @@
env DISABLE_RESTART_ON_UPDATE=yes zypper -R ${MOUNT_DIR}
${ZYPPER_ARG} ${ZYPPER_NONINTERACTIVE} ${ZYPPER_ARG_PKGS} |& tee -a ${LOGFILE}
RETVAL=${PIPESTATUS[0]}
else
- env DISABLE_RESTART_ON_UPDATE=yes zypper -R ${MOUNT_DIR}
${ZYPPER_ARG} ${ZYPPER_ARG_PKGS}
- RETVAL=$?
+ 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.
+ 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
+ # reboot.
+ test -d ${MOUNT_DIR}/var/lib/rollback || mkdir -p
${MOUNT_DIR}/var/lib/rollback
+ touch ${MOUNT_DIR}/var/lib/rollback/check-registration
+ fi
+ else
+ env DISABLE_RESTART_ON_UPDATE=yes zypper -R ${MOUNT_DIR}
${ZYPPER_ARG} ${ZYPPER_ARG_PKGS}
+ RETVAL=$?
+ fi
fi
if [ $RETVAL -ne 0 ]; then
log_error "ERROR: zypper ${ZYPPER_ARG} on ${MOUNT_DIR} failed!"
@@ -561,6 +598,15 @@
EXITCODE=1;
fi
fi
+
+ if [ ${REWRITE_BOOTLOADER} -eq 1 ]; then
+ log_info "Write new bootloader"
+ chroot ${MOUNT_DIR} /sbin/pbl --install
+ if [ $? -ne 0 ]; then
+ log_error "ERROR: /sbin/pbl --install failed!"
+ EXITCODE=1;
+ fi
+ fi
if [ ${RUN_SHELL} -eq 1 ]; then
echo "Chroot in snapshot ${SNAPSHOT_ID}, continue with 'exit'"