Hello community,
here is the log from the commit of package transactional-update for openSUSE:Factory checked in at 2018-04-22 14:40:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/transactional-update (Old)
and /work/SRC/openSUSE:Factory/.transactional-update.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "transactional-update"
Sun Apr 22 14:40:24 2018 rev:25 rq:599342 version:1.29
Changes:
--------
--- /work/SRC/openSUSE:Factory/transactional-update/transactional-update.changes 2018-04-05 15:36:04.714532813 +0200
+++ /work/SRC/openSUSE:Factory/.transactional-update.new/transactional-update.changes 2018-04-22 14:40:26.123240052 +0200
@@ -1,0 +2,8 @@
+Fri Apr 20 15:57:21 CEST 2018 - kukuk@suse.de
+
+- Update to version 1.29
+ - Implement self-update
+ - Disable optical media on dup
+ - Ignore certain zypper return codes
+
+-------------------------------------------------------------------
Old:
----
transactional-update-1.28.tar.bz2
New:
----
transactional-update-1.29.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ transactional-update.spec ++++++
--- /var/tmp/diff_new_pack.ga5Ja8/_old 2018-04-22 14:40:26.779216316 +0200
+++ /var/tmp/diff_new_pack.ga5Ja8/_new 2018-04-22 14:40:26.783216171 +0200
@@ -17,7 +17,7 @@
Name: transactional-update
-Version: 1.28
+Version: 1.29
Release: 0
Summary: Transactional Updates with btrfs and snapshots
License: GPL-2.0-or-later
@@ -25,15 +25,13 @@
Url: https://github.com/thkukuk/transactional-update
Source: %{name}-%{version}.tar.bz2
BuildRequires: fdupes
+BuildRequires: gcc-c++
+BuildRequires: pkgconfig(libzypp)
Requires: logrotate
Requires: lsof
# psmisc is needed because of fuser
-Requires: perl-HTML-Parser
Requires: psmisc
-Conflicts: snapper-zypp-plugin
Recommends: rebootmgr
-BuildArch: noarch
-%{?systemd_requires}
%description
transactional-update is a tool to update a system in an atomic
@@ -70,6 +68,7 @@
%{_unitdir}/transactional-update.timer
%{_sbindir}/transactional-update
%{_sbindir}/tu-rebuild-kdump-initrd
+%{_sbindir}/transactional-update-helper
%dir %{_prefix}%{_sysconfdir}
%{_prefix}%{_sysconfdir}/transactional-update.conf
%{_mandir}/man5/transactional-update.conf.5%{ext_man}
++++++ transactional-update-1.28.tar.bz2 -> transactional-update-1.29.tar.bz2 ++++++
++++ 5093 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/transactional-update-1.28/NEWS new/transactional-update-1.29/NEWS
--- old/transactional-update-1.28/NEWS 2018-03-12 13:17:29.000000000 +0100
+++ new/transactional-update-1.29/NEWS 2018-04-20 15:55:53.000000000 +0200
@@ -2,6 +2,11 @@
Copyright (C) 2016, 2017, 2018 Thorsten Kukuk
+Version 1.29
+* Implement self-update
+* Disable optical media on dup
+* Ignore certain zypper return codes
+
Version 1.28
* Adjust for latest grub2 changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/transactional-update-1.28/configure.ac new/transactional-update-1.29/configure.ac
--- old/transactional-update-1.28/configure.ac 2018-03-12 13:17:10.000000000 +0100
+++ new/transactional-update-1.29/configure.ac 2018-04-20 15:55:00.000000000 +0200
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(transactional-update, 1.28)
+AC_INIT(transactional-update, 1.29)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([sbin/transactional-update.in])
AC_PREFIX_DEFAULT(/usr)
@@ -35,9 +35,17 @@
LOGROTATEDDIR=${sysconfdir}/logrotate.d
AC_SUBST(LOGROTATEDDIR)
+AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_LN_S
+AX_CHECK_COMPILE_FLAG([-std=c++11], [CXXFLAGS="$CXXFLAGS -std=c++11"])
+
+dnl
+dnl Check for libzypp
+dnl
+PKG_CHECK_MODULES(LIBZYPP, libzypp)
+
dnl
dnl Check for xsltproc
dnl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/transactional-update-1.28/man/transactional-update.8 new/transactional-update-1.29/man/transactional-update.8
--- old/transactional-update-1.28/man/transactional-update.8 2018-01-31 16:12:29.000000000 +0100
+++ new/transactional-update-1.29/man/transactional-update.8 2018-04-20 13:14:21.000000000 +0200
@@ -2,12 +2,12 @@
.\" Title: transactional-update
.\" Author: Thorsten Kukuk
.\" Generator: DocBook XSL Stylesheets v1.78.1 http://docbook.sf.net/
-.\" Date: 01/31/2018
+.\" Date: 04/20/2018
.\" Manual: transactional-update
.\" Source: transactional-update
.\" Language: English
.\"
-.TH "TRANSACTIONAL\-UPDAT" "8" "01/31/2018" "transactional-update" "transactional-update"
+.TH "TRANSACTIONAL\-UPDAT" "8" "04/20/2018" "transactional-update" "transactional-update"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -33,11 +33,11 @@
.HP \w'\fBtransactional\-update\fR\ 'u
\fBtransactional\-update\fR [\-\-help] [\-\-version]
.HP \w'\fBtransactional\-update\fR\ 'u
-\fBtransactional\-update\fR [cleanup] [up | dup | patch | bootloader | initrd] [kdump] [reboot]
+\fBtransactional\-update\fR [\-\-no\-selfupdate] [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>
+\fBtransactional\-update\fR [\-\-no\-selfupdate] [cleanup] [reboot] pkg install | remove | update <RPM>\&.\&.\&.<RPM>
.HP \w'\fBtransactional\-update\fR\ 'u
-\fBtransactional\-update\fR migration
+\fBtransactional\-update\fR [\-\-no\-selfupdate] migration
.HP \w'\fBtransactional\-update\fR\ 'u
\fBtransactional\-update\fR rollback [number]
.PP
@@ -161,6 +161,11 @@
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\-\-no\-selfupdate\fR
+.RS 4
+Skip checking for newer transactional\-update versions\&.
+.RE
+.PP
\fB\-\-help\fR
.RS 4
Display help and exit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/transactional-update-1.28/man/transactional-update.8.html new/transactional-update-1.29/man/transactional-update.8.html
--- old/transactional-update-1.28/man/transactional-update.8.html 2018-03-06 13:27:29.000000000 +0100
+++ new/transactional-update-1.29/man/transactional-update.8.html 2018-04-20 13:14:22.000000000 +0200
@@ -15,8 +15,8 @@
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
visibility: visible;
}
- </style><a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" href="transactional-update.index.html">Index </a><span xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" style="float:right">transactional-update 1.27</span><hr xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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>transactional-update.service</p><p>transactional-update.timer</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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" href="transactional-update.index.html">Index </a><span xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" style="float:right">transactional-update 1.28</span><hr xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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> [--no-selfupdate] [cleanup] [ up | dup | patch | bootloader | initrd ] [kdump] [reboot]</p></div><div class="cmdsynopsis"><p><code class="command">transactional-update</code> [--no-selfupdate] [cleanup] [reboot] pkg install | remove | update <RPM>...<RPM> </p></div><div class="cmdsynopsis"><p><code class="command">transactional-update</code> [--no-selfupdate] migration </p></div><div class="cmdsynopsis"><p><code class="command">transactional-update</code> rollback [number]</p></div><p>transactional-update.service</p><p>transactional-update.timer</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
@@ -101,7 +101,7 @@
<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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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>
+ </p></dd><dt id="--no-selfupdate"><span class="term"><code class="option">--no-selfupdate</code></span><a class="headerlink" title="Permalink to this term" href="#--no-selfupdate">¶</a></dt><dd xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><p>Skip checking for newer transactional-update versions.</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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/transactional-update-1.28/man/transactional-update.8.xml new/transactional-update-1.29/man/transactional-update.8.xml
--- old/transactional-update-1.28/man/transactional-update.8.xml 2018-01-22 13:01:43.000000000 +0100
+++ new/transactional-update-1.29/man/transactional-update.8.xml 2018-04-20 11:09:40.000000000 +0200
@@ -60,6 +60,7 @@
</cmdsynopsis>
<cmdsynopsis>
<command>transactional-update</command>
+ <arg choice='opt'>--no-selfupdate</arg>
<arg choice='opt'>cleanup</arg>
<group choice='opt'>
<arg choice='plain'>up</arg>
@@ -73,6 +74,7 @@
</cmdsynopsis>
<cmdsynopsis>
<command>transactional-update</command>
+ <arg choice='opt'>--no-selfupdate</arg>
<arg choice='opt'>cleanup</arg>
<arg choice='opt'>reboot</arg>
<arg choice='plain'>pkg</arg>
@@ -85,6 +87,7 @@
</cmdsynopsis>
<cmdsynopsis>
<command>transactional-update</command>
+ <arg choice='opt'>--no-selfupdate</arg>
<arg choice='plain'>migration</arg>
</cmdsynopsis>
<cmdsynopsis>
@@ -282,6 +285,12 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><option>--no-selfupdate</option></term>
+ <listitem>
+ <para>Skip checking for newer transactional-update versions.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><option>--help</option></term>
<listitem>
<para>Display help and exit</para>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/transactional-update-1.28/man/transactional-update.service.8.html new/transactional-update-1.29/man/transactional-update.service.8.html
--- old/transactional-update-1.28/man/transactional-update.service.8.html 2018-03-06 13:27:29.000000000 +0100
+++ new/transactional-update-1.29/man/transactional-update.service.8.html 2018-04-20 13:14:22.000000000 +0200
@@ -15,8 +15,8 @@
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
visibility: visible;
}
- </style><a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" href="transactional-update.index.html">Index </a><span xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" style="float:right">transactional-update 1.27</span><hr xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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>transactional-update.service</p><p>transactional-update.timer</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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" href="transactional-update.index.html">Index </a><span xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" style="float:right">transactional-update 1.28</span><hr xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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> [--no-selfupdate] [cleanup] [ up | dup | patch | bootloader | initrd ] [kdump] [reboot]</p></div><div class="cmdsynopsis"><p><code class="command">transactional-update</code> [--no-selfupdate] [cleanup] [reboot] pkg install | remove | update <RPM>...<RPM> </p></div><div class="cmdsynopsis"><p><code class="command">transactional-update</code> [--no-selfupdate] migration </p></div><div class="cmdsynopsis"><p><code class="command">transactional-update</code> rollback [number]</p></div><p>transactional-update.service</p><p>transactional-update.timer</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
@@ -101,7 +101,7 @@
<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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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>
+ </p></dd><dt id="--no-selfupdate"><span class="term"><code class="option">--no-selfupdate</code></span><a class="headerlink" title="Permalink to this term" href="#--no-selfupdate">¶</a></dt><dd xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><p>Skip checking for newer transactional-update versions.</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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/transactional-update-1.28/man/transactional-update.timer.8.html new/transactional-update-1.29/man/transactional-update.timer.8.html
--- old/transactional-update-1.28/man/transactional-update.timer.8.html 2018-03-06 13:27:29.000000000 +0100
+++ new/transactional-update-1.29/man/transactional-update.timer.8.html 2018-04-20 13:14:22.000000000 +0200
@@ -15,8 +15,8 @@
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
visibility: visible;
}
- </style><a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" href="transactional-update.index.html">Index </a><span xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" style="float:right">transactional-update 1.27</span><hr xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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>transactional-update.service</p><p>transactional-update.timer</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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" href="transactional-update.index.html">Index </a><span xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common" style="float:right">transactional-update 1.28</span><hr xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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> [--no-selfupdate] [cleanup] [ up | dup | patch | bootloader | initrd ] [kdump] [reboot]</p></div><div class="cmdsynopsis"><p><code class="command">transactional-update</code> [--no-selfupdate] [cleanup] [reboot] pkg install | remove | update <RPM>...<RPM> </p></div><div class="cmdsynopsis"><p><code class="command">transactional-update</code> [--no-selfupdate] migration </p></div><div class="cmdsynopsis"><p><code class="command">transactional-update</code> rollback [number]</p></div><p>transactional-update.service</p><p>transactional-update.timer</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
@@ -101,7 +101,7 @@
<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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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>
+ </p></dd><dt id="--no-selfupdate"><span class="term"><code class="option">--no-selfupdate</code></span><a class="headerlink" title="Permalink to this term" href="#--no-selfupdate">¶</a></dt><dd xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><p>Skip checking for newer transactional-update versions.</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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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 xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" xmlns:exsl="http://exslt.org/common"><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' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/transactional-update-1.28/sbin/Makefile.am new/transactional-update-1.29/sbin/Makefile.am
--- old/transactional-update-1.28/sbin/Makefile.am 2018-03-05 16:44:00.000000000 +0100
+++ new/transactional-update-1.29/sbin/Makefile.am 2018-04-20 15:48:00.000000000 +0200
@@ -3,6 +3,9 @@
#
sbin_SCRIPTS = transactional-update tu-rebuild-kdump-initrd
+sbin_PROGRAMS = transactional-update-helper
+transactional_update_helper_SOURCES = transactional-update-helper.cpp
+transactional_update_helper_LDADD = @LIBZYPP_LIBS@
CLEANFILES = transactional-update
EXTRA_DIST = transactional-update.in tu-rebuild-kdump-initrd
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/transactional-update-1.28/sbin/transactional-update-helper.cpp new/transactional-update-1.29/sbin/transactional-update-helper.cpp
--- old/transactional-update-1.28/sbin/transactional-update-helper.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/transactional-update-1.29/sbin/transactional-update-helper.cpp 2018-04-20 11:09:40.000000000 +0200
@@ -0,0 +1,67 @@
+/* transactional-update-helper - native helper scripts for transactional-update
+
+ Copyright (C) 2018 SUSE Linux GmbH
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see http://www.gnu.org/licenses/.
+*/
+
+#include <iostream>
+#include
+#include
+using namespace std;
+
+void usage(string command) {
+ cout << "Usage: " << command << " [disable-optical]" << endl;
+}
+
+int disable_optical() {
+ const zypp::Pathname &sysroot = "/";
+ zypp::RepoManager repoManager(sysroot);
+ zypp::RepoInfoList repos = repoManager.knownRepositories();
+
+ if (repos.empty()) {
+ cerr << "No repositories found in " << sysroot << endl;
+ return 2;
+ }
+
+ for_(it, repos.begin(), repos.end()) {
+ zypp::RepoInfo &repo(*it);
+ if (repo.url().schemeIsVolatile() && repo.enabled()) {
+ cout << "Disabling optical media repository " << repo.name() << "..." << endl;
+ repo.setEnabled(false);
+ try {
+ repoManager.modifyRepository(repo.alias(), repo);
+ } catch (const zypp::Exception &e) {
+ cerr << "Error while disabling repository '" << repo.name() << "': " << e << endl;
+ }
+ }
+ }
+ return 0;
+}
+
+int main(int argc, char** argv) {
+ if (argc == 1) {
+ usage(argv[0]);
+ return 1;
+ }
+
+ string command = argv[1];
+ if (command == "disable-optical") {
+ disable_optical();
+ } else {
+ usage(argv[0]);
+ }
+ return 0;
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/transactional-update-1.28/sbin/transactional-update.in new/transactional-update-1.29/sbin/transactional-update.in
--- old/transactional-update-1.28/sbin/transactional-update.in 2018-03-12 13:17:01.000000000 +0100
+++ new/transactional-update-1.29/sbin/transactional-update.in 2018-04-20 15:47:38.000000000 +0200
@@ -31,7 +31,9 @@
REBUILD_KDUMP_INITRD=0
DO_CLEANUP=0
DO_MIGRATION=0
+DO_DUP=0
DO_ROLLBACK=0
+DO_SELF_UPDATE=1
ROLLBACK_SNAPSHOT=0
REBOOT_AFTERWARDS=0
REBOOT_METHOD="auto"
@@ -41,6 +43,7 @@
SYSTEMCONFFILE="@prefix@@sysconfdir@/transactional-update.conf"
LOGFILE="/var/log/transactional-update.log"
STATE_FILE="/var/lib/misc/transactional-update.state"
+SELF_PATH="`dirname $0`"
PACKAGE_UPDATES=0
ZYPPER_AUTO_IMPORT_KEYS=0
HAS_SEPARATE_VAR=0
@@ -60,11 +63,28 @@
. ${CONFFILE}
fi
+self_update() {
+ if [ ${DO_SELF_UPDATE} == 0 ]; then
+ return
+ fi
+
+ echo "Checking for newer version."
+ if zypper info transactional-update | grep -q '^Status *: out-of-date'; then
+ echo "New version found - updating..."
+ export TA_UPDATE_TMPFILE="`mktemp -d /tmp/transactional-update.XXXXXXXXXX`"
+ cd "${TA_UPDATE_TMPFILE}"
+ zypper --pkg-cache-dir "${TA_UPDATE_TMPFILE}" download transactional-update
+ find . -name transactional-update*.rpm -exec rpm2cpio {} \; | cpio -idmv >/dev/null
+ rm -f "${LOCKFILE}"
+ exec "${TA_UPDATE_TMPFILE}/usr/sbin/transactional-update" $@
+ fi
+}
+
usage() {
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 [--no-selfupdate] [cleanup][up|dup|patch|initrd][kdump][reboot]"
+ echo " transactional-update [--no-selfupdate] [cleanup] [reboot] pkg install|remove|update PKG1..PKGN"
+ echo " transactional-update [--no-selfupdate] migration"
echo " transactional-update rollback [number]"
exit $1
}
@@ -271,7 +291,7 @@
fi
}
-ORIG_ARGS="$@"
+ORIG_ARGS=("$@")
# If no option is given, assume "up"
if [ $# -eq 0 ]; then
@@ -289,6 +309,7 @@
shift
;;
dup)
+ DO_DUP=1
ZYPPER_ARG="dup --no-allow-vendor-change"
shift
;;
@@ -368,6 +389,7 @@
;;
rollback)
DO_ROLLBACK=1
+ DO_SELF_UPDATE=0
shift
if [ $# -eq 1 ]; then
ROLLBACK_SNAPSHOT=$1
@@ -380,6 +402,10 @@
REBOOT_METHOD="salt"
shift
;;
+ --no-selfupdate)
+ DO_SELF_UPDATE=0
+ shift
+ ;;
-h|--help)
usage 0
;;
@@ -398,6 +424,12 @@
usage 1;
fi
+if [ -z "${TA_UPDATE_TMPFILE}" ]; then
+ self_update "${ORIG_ARGS[@]}"
+else
+ trap 'rm -rf "${TA_UPDATE_TMPFILE}" && unset TA_UPDATE_TMPFILE' EXIT
+fi
+
bashlock "/var/run/transactional-update.pid"
if [ $? -ne 0 ]; then
echo "Couldn't get lock, is another instance already running?"
@@ -410,7 +442,7 @@
fi
log_info "transactional-update @VERSION@ started"
-log_info "Options: $ORIG_ARGS"
+log_info "Options: ${ORIG_ARGS[@]}"
if [ "`stat -f -c %T /`" != "btrfs" ]; then
log_error "ERROR: not using btrfs as root file system!"
@@ -553,6 +585,10 @@
# Check if there are updates at all.
if [ -n "${ZYPPER_ARG}" -a -n "${ZYPPER_NONINTERACTIVE}" ]; then
+ if [ $DO_DUP -eq 1 ]; then
+ "${SELF_PATH}"/transactional-update-helper disable-optical
+ fi
+
TMPFILE=`mktemp /tmp/transactional-update.XXXXXXXXXX`
zypper --xml ${ZYPPER_ARG} ${ZYPPER_NONINTERACTIVE} --dry-run ${ZYPPER_ARG_PKGS} > ${TMPFILE}
if [ $? -ne 0 ]; then
@@ -707,7 +743,7 @@
VAR_CACHE_CLEANUP=1
fi
- # Create bind mount or else grub2 will fail
+ # Create bind mounts or else grub2 will fail
MOUNT_DIR=`mktemp -d`
mount -o rbind ${SNAPSHOT_DIR} ${MOUNT_DIR}
mount -o bind,ro /.snapshots ${MOUNT_DIR}/.snapshots
@@ -749,10 +785,7 @@
fi
fi
- if [ $RETVAL -ne 0 ]; then
- log_error "ERROR: zypper ${ZYPPER_ARG} on ${MOUNT_DIR} failed!"
- EXITCODE=1
- else
+ if [ $RETVAL -eq 0 -o $RETVAL -eq 102 -o $RETVAL -eq 103 -o \( $DO_DUP -eq 0 -a $RETVAL -eq 106 \) ]; then
copy_user_group_accounts
REBUILD_KDUMP_INITRD=1
# check if products are updated and we need to re-register
@@ -761,6 +794,9 @@
if [ $? -ne 0 ]; then
check_registration_on_next_reboot
fi
+ else
+ log_error "ERROR: zypper ${ZYPPER_ARG} on ${MOUNT_DIR} failed!"
+ EXITCODE=1
fi
fi