Hello community,
here is the log from the commit of package transactional-update for
openSUSE:Factory checked in at 2018-11-19 23:33:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/transactional-update (Old)
and /work/SRC/openSUSE:Factory/.transactional-update.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "transactional-update"
Mon Nov 19 23:33:37 2018 rev:35 rq:650138 version:2.11
Changes:
--------
---
/work/SRC/openSUSE:Factory/transactional-update/transactional-update.changes
2018-10-23 20:42:44.140376197 +0200
+++
/work/SRC/openSUSE:Factory/.transactional-update.new/transactional-update.changes
2018-11-19 23:33:57.943053965 +0100
@@ -1,0 +2,18 @@
+Sat Nov 17 09:06:44 UTC 2018 - Jan Engelhardt <[email protected]>
+
+- Use noun phrase in summary.
+
+-------------------------------------------------------------------
+Mon Nov 12 14:27:24 UTC 2018 - [email protected]
+
+- Update to version 2.11
+ - Update man page to explain new /etc overlay handling
+ - Add special handling for migrating away from old overlay directory
+ - Read default update method for systemd service from config file
+- Add package "transactional-update-zypp-config" to prevent accidental
+ transactional-update uninstallation on transactional systems
+ (boo#1111319)
+- Use "up" for systemd service on non-rolling release distributions
+ (boo#1111321)
+
+-------------------------------------------------------------------
Old:
----
transactional-update-2.10.tar.xz
New:
----
transactional-update-2.11.tar.xz
transactional-update.check
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ transactional-update.spec ++++++
--- /var/tmp/diff_new_pack.jR12zS/_old 2018-11-19 23:34:00.679050803 +0100
+++ /var/tmp/diff_new_pack.jR12zS/_new 2018-11-19 23:34:00.683050798 +0100
@@ -12,20 +12,22 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: transactional-update
-Version: 2.10
+Version: 2.11
Release: 0
Summary: Transactional Updates with btrfs and snapshots
License: GPL-2.0-or-later
Group: System/Base
URL: https://github.com/openSUSE/transactional-update
Source: %{name}-%{version}.tar.xz
+Source1: transactional-update.check
BuildRequires: docbook-xsl-stylesheets
BuildRequires: fdupes
+BuildRequires: libzypp
BuildRequires: pkgconfig
BuildRequires: python-lxml
BuildRequires: rpm-devel
@@ -50,9 +52,15 @@
%build
%configure --with-doc --docdir=%{_docdir}/%{name}
make %{?_smp_mflags}
+# Use "up" for non-rolling releases
+%if %{defined sle_version} && %{undefined is_susecasp}
+sed -i 's/^UPDATE_METHOD=.*/UPDATE_METHOD=up/' etc/transactional-update.conf
+%endif
%install
%make_install
+mkdir -p %{buildroot}%{_sysconfdir}/zypp/systemCheck.d/
+install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/zypp/systemCheck.d/
%fdupes %{buildroot}%{_mandir}
%pre
@@ -94,4 +102,17 @@
%{_mandir}/man8/transactional-update.service.8%{?ext_man}
%exclude %{_docdir}/%{name}/*.html
+%package zypp-config
+Summary: zypper rule to prevent uninstallation of transactional-update
+Group: System/Base
+BuildArch: noarch
+Requires: transactional-update
+
+%description zypp-config
+Adds a zypper rule to prevent accidental uninstallation of
+transactional-update.
+
+%files zypp-config
+%config(noreplace) %{_sysconfdir}/zypp/systemCheck.d/transactional-update.check
+
%changelog
++++++ transactional-update-2.10.tar.xz -> transactional-update-2.11.tar.xz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-2.10/NEWS
new/transactional-update-2.11/NEWS
--- old/transactional-update-2.10/NEWS 2018-10-22 20:16:37.000000000 +0200
+++ new/transactional-update-2.11/NEWS 2018-11-13 15:13:20.000000000 +0100
@@ -2,6 +2,10 @@
Copyright (C) 2016, 2017, 2018 Thorsten Kukuk
+Version 2.11
+* Update man page to explain new /etc overlay handling
+* Add special handling for migrating away from old overlay directory
+
Version 2.10
* Introduce /etc overlays
* Each root file system snapshot now has a dedicated /etc overlay in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-2.10/configure
new/transactional-update-2.11/configure
--- old/transactional-update-2.10/configure 2018-10-22 20:19:27.000000000
+0200
+++ new/transactional-update-2.11/configure 2018-11-13 15:20:46.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 2.10.
+# Generated by GNU Autoconf 2.69 for transactional-update 2.11.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -576,8 +576,8 @@
# Identity of this package.
PACKAGE_NAME='transactional-update'
PACKAGE_TARNAME='transactional-update'
-PACKAGE_VERSION='2.10'
-PACKAGE_STRING='transactional-update 2.10'
+PACKAGE_VERSION='2.11'
+PACKAGE_STRING='transactional-update 2.11'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1249,7 +1249,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 2.10 to adapt to many kinds of
systems.
+\`configure' configures transactional-update 2.11 to adapt to many kinds of
systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1316,7 +1316,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of transactional-update 2.10:";;
+ short | recursive ) echo "Configuration of transactional-update 2.11:";;
esac
cat <<\_ACEOF
@@ -1421,7 +1421,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-transactional-update configure 2.10
+transactional-update configure 2.11
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1476,7 +1476,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 2.10, which was
+It was created by transactional-update $as_me 2.11, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2339,7 +2339,7 @@
# Define the identity of the package.
PACKAGE='transactional-update'
- VERSION='2.10'
+ VERSION='2.11'
cat >>confdefs.h <<_ACEOF
@@ -4650,7 +4650,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 2.10, which was
+This file was extended by transactional-update $as_me 2.11, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -4707,7 +4707,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 2.10
+transactional-update config.status 2.11
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-2.10/configure.ac
new/transactional-update-2.11/configure.ac
--- old/transactional-update-2.10/configure.ac 2018-10-22 20:16:37.000000000
+0200
+++ new/transactional-update-2.11/configure.ac 2018-11-13 15:20:27.000000000
+0100
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(transactional-update, 2.10)
+AC_INIT(transactional-update, 2.11)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([sbin/transactional-update.in])
AC_PREFIX_DEFAULT(/usr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-2.10/doc/Makefile.in
new/transactional-update-2.11/doc/Makefile.in
--- old/transactional-update-2.10/doc/Makefile.in 2018-10-22
20:19:26.000000000 +0200
+++ new/transactional-update-2.11/doc/Makefile.in 2018-11-13
15:20:46.000000000 +0100
@@ -329,8 +329,8 @@
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-@ENABLE_REGENERATE_MAN_FALSE@install-data-local:
@ENABLE_REGENERATE_MAN_FALSE@uninstall-local:
+@ENABLE_REGENERATE_MAN_FALSE@install-data-local:
clean: clean-am
clean-am: clean-generic mostlyclean-am
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/etc/transactional-update.conf
new/transactional-update-2.11/etc/transactional-update.conf
--- old/transactional-update-2.10/etc/transactional-update.conf 2018-09-27
20:06:17.000000000 +0200
+++ new/transactional-update-2.11/etc/transactional-update.conf 2018-11-12
17:34:02.000000000 +0100
@@ -5,6 +5,10 @@
# Valid values: auto salt rebootmgr systemd kexec
#REBOOT_METHOD=auto
+# zypper update method
+# Valid values: dup up
+UPDATE_METHOD=dup
+
# Import new repository GPG keys automatically
# Valid values: 0 1
#ZYPPER_AUTO_IMPORT_KEYS=0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-2.10/man/transactional-update.8
new/transactional-update-2.11/man/transactional-update.8
--- old/transactional-update-2.10/man/transactional-update.8 2018-10-05
17:12:03.000000000 +0200
+++ new/transactional-update-2.11/man/transactional-update.8 2018-11-13
15:19:44.000000000 +0100
@@ -2,12 +2,12 @@
.\" Title: transactional-update
.\" Author: Thorsten Kukuk <[email protected]>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\" Date: 10/05/2018
+.\" Date: 11/13/2018
.\" Manual: transactional-update
.\" Source: transactional-update
.\" Language: English
.\"
-.TH "TRANSACTIONAL\-UPDAT" "8" "10/05/2018" "transactional-update"
"transactional-update"
+.TH "TRANSACTIONAL\-UPDAT" "8" "11/13/2018" "transactional-update"
"transactional-update"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -41,26 +41,27 @@
.SH "DESCRIPTION"
.PP
\fBtransactional\-update\fR
-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 needs to be rebooted\&.
+updates the system in a transactional way; this means updates are atomic, so
either the patches are fully applied or nothing is changed\&. The update does
not influence the running system and it can be rolled back\&. To activate the
changes, the system needs to be rebooted\&.
.PP
To achieve this
\fBtransactional\-update\fR
-is using Btrfs\*(Aq snapshot mechanism\&. Before modifying any files \-
similar to
-\fBsnapper-zypp-plugin\fR(8)
-\- a pair of pre / post snapshots of the current system is created using
-\fBsnapper\fR(8)\&. The "pre" snapshot will back up the current state of the
system before the update and will not be modified any further, while the "post"
snapshot will be used to perform the update\&.
-.PP
-If no errors occured the "post" snapshot will be set as the new default
snapshot\&. In case of errors both snapshots will be deleted again\&.
-.PP
-On a
-\fIread\-only system\fR
-the contents of the
+is using Btrfs\*(Aq snapshot mechanism\&. Updates will be performed in a new
snapshot of the root file system\&. The snapshot is created with
+\fBsnapper\fR(8), for the update
+\fBzypper\fR(8)
+is called with the
+\fB\-R\fR
+option pointing to the new snapshot\&. If no errors occured the snapshot will
be set as the new default snapshot and set as read\-only\&. In case of errors
the snapshot will be deleted again\&.
+.PP
+On
+\fIread\-only systems\fR
+each snapshot will have a corresponding
/etc
-overlay file system will be synchronized into both snapshots; packages will
thus be able to modify the production configuration files (e\&.g\&. via
fillup\-templates)\&. Due to the read\-only file system the only difference
between the "pre" snapshot and the snapshot of the currently running system
will be the contents of the
+overlay located in
+/var/lib/overlay\&. As configuration files may be modified after a snapshot
was created and before a reboot is performed (e\&.g\&. via configuration
management software) the overlay file system will use multiple lower layers,
i\&.e\&. changes in older layers will be visible in newer snapshots, but not
vice versa\&. To keep the number of layers at a minimum and the amount of data
stored in the overlays low the
/etc
-directory\&. On reboot all files of the
-/etc
-overlay will be purged (except if modified after snapshot creation), as those
files are part of the snapshot\*(Aqs lower layer now\&.
+state of the oldest still available snapshot is synchronized into the new root
file system; unused overlays will be removed at a later time (see the
+\fBcleanup\fR
+option)\&.
.if n \{\
.sp
.\}
@@ -73,27 +74,25 @@
\fBWarning\fR
.ps -1
.br
-.PP
-The following situations currently cannot be detected reliably when clearing
the /etc overlay:
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-If a file or directory has been created since the last reboot and is then
removed or renamed
-\fIafter\fR
-taking the snapshot, the file / directory may reappear after reboot and has to
be deleted again\&.
-.RE
+
+If a file was changed both in the new snapshot (e\&.g\&. if a package
installed a
+new version of the configuration file or used fillup\-templates) and in the
+currently running system after creation of the new snapshot (e\&.g\&. if the
+administrator or configuration management software changed a file) only the
+version of the new snapshot will be visible\&. When rebooting into the new
+snapshot for the first time
+transactional\-update\-etc\-cleaner\&.service will print a
+warning about such conflicts to the system log file\&.
.sp .5v
.RE
.PP
-Note that on a
-\fIread\-write system\fR
-all changes made to the running root filesystem after snapshot creation are
lost after the next reboot\&. For this reason, after an successfull update, the
system should be rebooted as fast as possible\&.
+Older transactional\-update versions were using a single
+/etc
+overlay for all snapshots; a migration mechanism is in place, the directory
will also be removed if no snapshot is using it any more\&.
+.PP
+On
+\fIread\-write systems\fR
+please be aware that all changes done to the running root filesystem after
snapshot creation are lost after the next reboot\&. For this reason the system
should be rebooted as fast as possible after an successfull update\&.
.PP
For easier maintenance of big clusters,
\fBtransactional\-update\fR
@@ -115,6 +114,11 @@
\fBtransactional\-update\fR
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
\fBsnapper\fR(8)\&.
+.sp
+Also removes all unreferenced (and thus unused)
+/etc
+overlay directories in
+/var/lib/overlay\&.
.RE
.PP
\fBgrub\&.cfg\fR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/man/transactional-update.8.html
new/transactional-update-2.11/man/transactional-update.8.html
--- old/transactional-update-2.10/man/transactional-update.8.html
2018-10-05 17:12:04.000000000 +0200
+++ new/transactional-update-2.11/man/transactional-update.8.html
2018-11-13 15:19:44.000000000 +0100
@@ -15,51 +15,55 @@
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
2.7</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
+ </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
2.10</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> [<em
class="replaceable"><code>options</code></em>...] [<em
class="replaceable"><code>general-command</code></em>...] [<em
class="replaceable"><code>package-command</code></em>
[<em class="replaceable"><code>command-argument</code></em>...]
]</p></div><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> [<em
class="replaceable"><code>options</code></em>...] <em
class="replaceable"><code>standalone-command</code></em>
</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
+in a transactional way; this means updates are atomic, so either the patches
+are fully applied or nothing is changed. The update does not influence the
running system and it can be rolled back. To activate the changes, the system
needs to be rebooted.
</p><p>
To achieve this <span
class="command"><strong>transactional-update</strong></span> is using Btrfs'
-snapshot mechanism.
-Before modifying any files - similar to
-<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="http://snapper.io/manpages/snapper-zypp-plugin.html"><span
class="citerefentry"><span
class="refentrytitle">snapper-zypp-plugin</span>(8)</span></a>
-- a pair of pre / post snapshots of the current system is created using
-<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="http://snapper.io/manpages/snapper.html"><span class="citerefentry"><span
class="refentrytitle">snapper</span>(8)</span></a>.
-The "pre" snapshot will back up the current state of the system before the
-update and will not be modified any further, while the "post" snapshot will be
-used to perform the update.
+snapshot mechanism. Updates will be performed in a new snapshot of the root
+file system. The snapshot is created with
+<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="http://snapper.io/manpages/snapper.html"><span class="citerefentry"><span
class="refentrytitle">snapper</span>(8)</span></a>,
+for the update
+<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="https://en.opensuse.org/SDB:Zypper_manual_(plain)"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
+is called with the <code class="option">-R</code> option pointing to the new
snapshot.
+If no errors occured the snapshot will be set as the new default snapshot and
+set as read-only. In case of errors the snapshot will be deleted again.
</p><p>
-If no errors occured the "post" snapshot will be set as the new default
-snapshot. In case of errors both snapshots will be deleted again.
+On <span class="emphasis"><em>read-only systems</em></span> each snapshot will
have a
+corresponding /etc overlay located in
+/var/lib/overlay. As configuration files
+may be modified after a snapshot was created and before a reboot is performed
+(e.g. via configuration management software) the overlay file system will use
+multiple lower layers, i.e. changes in older layers will be visible in newer
+snapshots, but not vice versa. To keep the number of layers at a minimum and
the
+amount of data stored in the overlays low the
+/etc state of the oldest still available
+snapshot is synchronized into the new root file system; unused overlays will be
+removed at a later time (see the <code class="option">cleanup</code> option).
+</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3
class="title">Warning</h3>
+If a file was changed both in the new snapshot (e.g. if a package installed a
+new version of the configuration file or used fillup-templates) and in the
+currently running system after creation of the new snapshot (e.g. if the
+administrator or configuration management software changed a file) only the
+version of the new snapshot will be visible. When rebooting into the new
+snapshot for the first time
+transactional-update-etc-cleaner.service will print a
+warning about such conflicts to the system log file.
+</div><p>
+Older transactional-update versions were using a single
+/etc overlay for all snapshots; a
+migration mechanism is in place, the directory will also be removed if no
+snapshot is using it any more.
</p><p>
-On a <span class="emphasis"><em>read-only system</em></span> the contents of
the
-/etc overlay file system will be
-synchronized into both snapshots; packages will thus be able to modify the
-production configuration files (e.g. via fillup-templates). Due to the
-read-only file system the only difference between the "pre" snapshot and the
-snapshot of the currently running system will be the contents of the
-/etc directory. On reboot all files
-of the /etc overlay will be purged
-(except if modified after snapshot creation), as those files are part of the
-snapshot's lower layer now.
-</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3
class="title">Warning</h3><p>
-The following situations currently cannot be detected reliably when clearing
-the /etc overlay:
-</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type:
disc; "><li class="listitem"><p>
-If a file or directory has been created since the last reboot and is then
-removed or renamed <span class="emphasis"><em>after</em></span> taking the
snapshot, the
-file / directory may reappear after reboot and has to be deleted again.
-</p></li></ul></div><p>
-</p></div><p>
-Note that on a <span class="emphasis"><em>read-write system</em></span> all
changes made to the
-running root filesystem after snapshot creation are lost after the next
-reboot. For this reason, after an successfull update, the system should be
-rebooted as fast as possible.
+On <span class="emphasis"><em>read-write systems</em></span> please be aware
that all changes
+done to the running root filesystem after snapshot creation are lost after the
+next reboot. For this reason the system should be rebooted as fast as possible
+after an successfull update.
</p><p>For easier maintenance of big clusters,
<span class="command"><strong>transactional-update</strong></span> is run by
<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.timer</span>(5)</span></a>
@@ -77,6 +81,10 @@
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><p>
+ Also removes all unreferenced (and thus unused)
+ /etc overlay directories in
+ /var/lib/overlay.
</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
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"><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 /boot/grub2/grub.cfg
@@ -100,7 +108,7 @@
snapshot as chroot environment for testing and debugging.
</p></dd></dl></div></div><div class="refsect2"><a
name="pkg_commands"></a><h3 id="Package Commands">Package Commands<a
class="headerlink" title="Permalink to this headline"
href="#Package%20Commands">¶</a></h3><p>
Package Commands will invoke
- <a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common" href="zypper.8.html"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
+ <a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="https://en.opensuse.org/SDB:Zypper_manual_(plain)"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
to perform actions on the RPM packages. Only one Package Command can be used
at the same time. Can be combined with any number of
<a class="link" href="#general_commands" title="General Commands">General
Commands</a>.
@@ -139,7 +147,7 @@
<em class="replaceable"><code>command</code></em> and
<em class="replaceable"><code>arguments</code></em>. The arguments are
typically one
or more package names, but can be any
- <a href="zypper.8.html"><span class="citerefentry"><span
class="refentrytitle">zypper</span>(8)</span></a>
+ <a href="https://en.opensuse.org/SDB:Zypper_manual_(plain)"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
parameter for the given command including options. The following
commands are supported:
</p><div class="variablelist"><dl class="variablelist"><dt
id="install"><span class="term"><code class="option">install</code>,
</span><span class="term"><code class="option">in</code></span><a
class="headerlink" title="Permalink to this term"
href="#install">¶</a></dt><dd><p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/man/transactional-update.8.xml
new/transactional-update-2.11/man/transactional-update.8.xml
--- old/transactional-update-2.10/man/transactional-update.8.xml
2018-09-27 20:07:29.000000000 +0200
+++ new/transactional-update-2.11/man/transactional-update.8.xml
2018-11-13 12:02:13.000000000 +0100
@@ -72,58 +72,56 @@
<refsect1 id='description'><title>DESCRIPTION</title>
<para><command>transactional-update</command> 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
+in a transactional way; this means updates are atomic, so either the patches
+are fully applied or nothing is changed. The update does not influence the
running system and it can be rolled back. To activate the changes, the system
needs to be rebooted.
</para>
<para>
To achieve this <command>transactional-update</command> is using Btrfs'
-snapshot mechanism.
-Before modifying any files - similar to
-<citerefentry
project='snapper'><refentrytitle>snapper-zypp-plugin</refentrytitle><manvolnum>8</manvolnum></citerefentry>
-- a pair of pre / post snapshots of the current system is created using
-<citerefentry
project='snapper'><refentrytitle>snapper</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
-The "pre" snapshot will back up the current state of the system before the
-update and will not be modified any further, while the "post" snapshot will be
-used to perform the update.
-</para>
-<para>
-If no errors occured the "post" snapshot will be set as the new default
-snapshot. In case of errors both snapshots will be deleted again.
-</para>
-<para>
-On a <emphasis>read-only system</emphasis> the contents of the
-<filename class='directory'>/etc</filename> overlay file system will be
-synchronized into both snapshots; packages will thus be able to modify the
-production configuration files (e.g. via fillup-templates). Due to the
-read-only file system the only difference between the "pre" snapshot and the
-snapshot of the currently running system will be the contents of the
-<filename class='directory'>/etc</filename> directory. On reboot all files
-of the <filename class='directory'>/etc</filename> overlay will be purged
-(except if modified after snapshot creation), as those files are part of the
-snapshot's lower layer now.
+snapshot mechanism. Updates will be performed in a new snapshot of the root
+file system. The snapshot is created with
+<citerefentry
project='snapper'><refentrytitle>snapper</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+for the update
+<citerefentry
project='zypper'><refentrytitle>zypper</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+is called with the <option>-R</option> option pointing to the new snapshot.
+If no errors occured the snapshot will be set as the new default snapshot and
+set as read-only. In case of errors the snapshot will be deleted again.
+</para>
+<para>
+On <emphasis>read-only systems</emphasis> each snapshot will have a
+corresponding <filename class='directory'>/etc</filename> overlay located in
+<filename class='directory'>/var/lib/overlay</filename>. As configuration files
+may be modified after a snapshot was created and before a reboot is performed
+(e.g. via configuration management software) the overlay file system will use
+multiple lower layers, i.e. changes in older layers will be visible in newer
+snapshots, but not vice versa. To keep the number of layers at a minimum and
the
+amount of data stored in the overlays low the
+<filename class='directory'>/etc</filename> state of the oldest still available
+snapshot is synchronized into the new root file system; unused overlays will be
+removed at a later time (see the <option>cleanup</option> option).
</para>
<warning>
+If a file was changed both in the new snapshot (e.g. if a package installed a
+new version of the configuration file or used fillup-templates) and in the
+currently running system after creation of the new snapshot (e.g. if the
+administrator or configuration management software changed a file) only the
+version of the new snapshot will be visible. When rebooting into the new
+snapshot for the first time
+<filename>transactional-update-etc-cleaner.service</filename> will print a
+warning about such conflicts to the system log file.
+</warning>
<para>
-The following situations currently cannot be detected reliably when clearing
-the /etc overlay:
-<itemizedlist>
-<listitem>
-<para>
-If a file or directory has been created since the last reboot and is then
-removed or renamed <emphasis>after</emphasis> taking the snapshot, the
-file / directory may reappear after reboot and has to be deleted again.
-</para>
-</listitem>
-</itemizedlist>
+Older transactional-update versions were using a single
+<filename class='directory'>/etc</filename> overlay for all snapshots; a
+migration mechanism is in place, the directory will also be removed if no
+snapshot is using it any more.
</para>
-</warning>
<para>
-Note that on a <emphasis>read-write system</emphasis> all changes made to the
-running root filesystem after snapshot creation are lost after the next
-reboot. For this reason, after an successfull update, the system should be
-rebooted as fast as possible.
+On <emphasis>read-write systems</emphasis> please be aware that all changes
+done to the running root filesystem after snapshot creation are lost after the
+next reboot. For this reason the system should be rebooted as fast as possible
+after an successfull update.
</para>
<para>For easier maintenance of big clusters,
<command>transactional-update</command> is run by
@@ -153,6 +151,11 @@
by snapper. See the section about cleanup algorithms in
<citerefentry
project='snapper'><refentrytitle>snapper</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
</para>
+ <para>
+ Also removes all unreferenced (and thus unused)
+ <filename class='directory'>/etc</filename> overlay directories in
+ <filename class='directory'>/var/lib/overlay</filename>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -218,7 +221,7 @@
<refsect2 id='pkg_commands'><title>Package Commands</title>
<para>
Package Commands will invoke
-
<citerefentry><refentrytitle>zypper</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ <citerefentry
project='zypper'><refentrytitle>zypper</refentrytitle><manvolnum>8</manvolnum></citerefentry>
to perform actions on the RPM packages. Only one Package Command can be used
at the same time. Can be combined with any number of
<link linkend='general_commands'>General Commands</link>.
@@ -293,7 +296,7 @@
<replaceable>command</replaceable> and
<replaceable>arguments</replaceable>. The arguments are typically one
or more package names, but can be any
-
<citerefentry><refentrytitle>zypper</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ <citerefentry
project='zypper'><refentrytitle>zypper</refentrytitle><manvolnum>8</manvolnum></citerefentry>
parameter for the given command including options. The following
commands are supported:
</para>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/man/transactional-update.conf.5
new/transactional-update-2.11/man/transactional-update.conf.5
--- old/transactional-update-2.10/man/transactional-update.conf.5
2018-10-05 17:12:03.000000000 +0200
+++ new/transactional-update-2.11/man/transactional-update.conf.5
2018-11-12 18:31:23.000000000 +0100
@@ -2,12 +2,12 @@
.\" Title: transactional-update.conf
.\" Author: Ignaz Forster <[email protected]>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\" Date: 10/05/2018
+.\" Date: 11/12/2018
.\" Manual: transactional-update.conf
.\" Source: transactional-update
.\" Language: English
.\"
-.TH "TRANSACTIONAL\-UPDAT" "5" "10/05/2018" "transactional-update"
"transactional-update.conf"
+.TH "TRANSACTIONAL\-UPDAT" "5" "11/12/2018" "transactional-update"
"transactional-update.conf"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -94,6 +94,28 @@
.RE
.RE
.PP
+\fIUPDATE_METHOD\fR
+.RS 4
+Specify the zypper update method to use\&. This value is used for
+\fBtransactional-update.service\fR(8)\&.
+.PP
+dup
+.RS 4
+Uses
+zypper dup
+for updating the system; use this on rolling release distributions like
openSUSE Tumbleweed, openSUSE Kubic or the SUSE CaaS Platform\&.
+.sp
+This is the default value\&.
+.RE
+.PP
+up
+.RS 4
+Uses
+zypper up
+for updating the system; use this for regular releases like openSUSE Leap or
SUSE Linux Enterprise Server / Desktop\&.
+.RE
+.RE
+.PP
\fIZYPPER_AUTO_IMPORT_KEYS\fR
.RS 4
If set to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/man/transactional-update.conf.5.html
new/transactional-update-2.11/man/transactional-update.conf.5.html
--- old/transactional-update-2.10/man/transactional-update.conf.5.html
2018-10-05 17:12:04.000000000 +0200
+++ new/transactional-update-2.11/man/transactional-update.conf.5.html
2018-11-12 18:31:23.000000000 +0100
@@ -15,7 +15,7 @@
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink,
dt:hover > a.headerlink {
visibility: visible;
}
- </style><a 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
2.7</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.conf.5"></a><div class="titlepage"></div><div
class="refnamediv"><h2>Name</h2><p>transactional-update.conf —
transactional-update configuration file</p></div><div
class="refsynopsisdiv"><h2>Synopsis</h2><p>/etc/transactional-update.conf</p></div><div
class="refsect1"><a name="id-1.5"></a><h2 id="Description">Description<a
class="headerlink" title="Permalink to this headline"
href="#Description">¶</a></h2><p>This configuration file controls and defines
the behaviour of
+ </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
2.10</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.conf.5"></a><div class="titlepage"></div><div
class="refnamediv"><h2>Name</h2><p>transactional-update.conf —
transactional-update configuration file</p></div><div
class="refsynopsisdiv"><h2>Synopsis</h2><p>/etc/transactional-update.conf</p></div><div
class="refsect1"><a name="id-1.5"></a><h2 id="Description">Description<a
class="headerlink" title="Permalink to this headline"
href="#Description">¶</a></h2><p>This configuration file controls and defines
the behaviour of
<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common" href="transactional-update.8.html"><span
class="citerefentry"><span
class="refentrytitle">transactional-update</span>(8)</span></a>.</p><p>The
transactional-update.conf file uses shell
style assignments, e.g. <code class="code">PARAMETER=value</code>.</p><p>A
reference file (also used for reading the default values) can be
found in
@@ -42,6 +42,19 @@
Will use kexec to reboot the system; this will skip hardware
initialization and thus boot faster than
"<code class="literal">systemd</code>".
+ </p></dd></dl></div></dd><dt id="UPDATE_METHOD"><span
class="term"><code class="varname">UPDATE_METHOD</code></span><a
class="headerlink" title="Permalink to this term"
href="#UPDATE_METHOD">¶</a></dt><dd
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"><p>
+ Specify the zypper update method to use. This value is used for
+ <a href="transactional-update.service.8.html"><span
class="citerefentry"><span
class="refentrytitle">transactional-update.service</span>(8)</span></a>.
+ </p><div class="variablelist"><dl class="variablelist"><dt
id="dup"><span class="term">"<code class="literal">dup</code>"</span><a
class="headerlink" title="Permalink to this term" href="#dup">¶</a></dt><dd><p>
+ Uses "<code class="literal">zypper dup</code>" for updating
the system;
+ use this on rolling release distributions like openSUSE
+ Tumbleweed, openSUSE Kubic or the SUSE CaaS Platform.
+ </p><p>
+ This is the default value.
+ </p></dd><dt id="up"><span class="term">"<code
class="literal">up</code>"</span><a class="headerlink" title="Permalink to this
term" href="#up">¶</a></dt><dd><p>
+ Uses "<code class="literal">zypper up</code>" for updating
the system;
+ use this for regular releases like openSUSE Leap or SUSE
+ Linux Enterprise Server / Desktop.
</p></dd></dl></div></dd><dt
id="ZYPPER_AUTO_IMPORT_KEYS"><span class="term"><code
class="varname">ZYPPER_AUTO_IMPORT_KEYS</code></span><a class="headerlink"
title="Permalink to this term" href="#ZYPPER_AUTO_IMPORT_KEYS">¶</a></dt><dd
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"><p>
If set to "<code class="literal">1</code>" GPG keys will be
imported
automatically for new repositories. If set to "<code
class="literal">0</code>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/man/transactional-update.conf.5.xml
new/transactional-update-2.11/man/transactional-update.conf.5.xml
--- old/transactional-update-2.10/man/transactional-update.conf.5.xml
2018-09-27 20:06:17.000000000 +0200
+++ new/transactional-update-2.11/man/transactional-update.conf.5.xml
2018-11-12 18:31:19.000000000 +0100
@@ -140,6 +140,41 @@
</varlistentry>
<varlistentry>
+ <term><varname>UPDATE_METHOD</varname></term>
+ <listitem>
+ <para>
+ Specify the zypper update method to use. This value is used for
+
<citerefentry><refentrytitle>transactional-update.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><literal>dup</literal></term>
+ <listitem>
+ <para>
+ Uses <literal>zypper dup</literal> for updating the system;
+ use this on rolling release distributions like openSUSE
+ Tumbleweed, openSUSE Kubic or the SUSE CaaS Platform.
+ </para>
+ <para>
+ This is the default value.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>up</literal></term>
+ <listitem>
+ <para>
+ Uses <literal>zypper up</literal> for updating the system;
+ use this for regular releases like openSUSE Leap or SUSE
+ Linux Enterprise Server / Desktop.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><varname>ZYPPER_AUTO_IMPORT_KEYS</varname></term>
<listitem>
<para>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/man/transactional-update.index.html
new/transactional-update-2.11/man/transactional-update.index.html
--- old/transactional-update-2.10/man/transactional-update.index.html
2018-10-05 17:12:04.000000000 +0200
+++ new/transactional-update-2.11/man/transactional-update.index.html
2018-11-13 15:19:45.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 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
2.7</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.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
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common" 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
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="transactional-update.conf.5.html"><span class="citerefentry"><span
class="refentrytitle">transactional-update.conf</span>(5)</span></a> --
transactional-update configuration file<br><a
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
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
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="transactional-update.timer.8.html"><span class="citerefentry"><span
class="refentrytitle">transactional-update.timer</span>(8)</span></a> -- Apply
updates to the system in an atomic way via transactional
updates.<br></p></div><div class="refsect1"><a name="id-1.5"></a><p><a
name="counts"></a>This index contains 4 entries, referring to 2 individual
manual pages.</p></div></div></body></html>
+ </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
2.10</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.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
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common" 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
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="transactional-update.conf.5.html"><span class="citerefentry"><span
class="refentrytitle">transactional-update.conf</span>(5)</span></a> --
transactional-update configuration file<br><a
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
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
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="transactional-update.timer.8.html"><span class="citerefentry"><span
class="refentrytitle">transactional-update.timer</span>(8)</span></a> -- Apply
updates to the system in an atomic way via transactional
updates.<br></p></div><div class="refsect1"><a name="id-1.5"></a><p><a
name="counts"></a>This index contains 4 entries, referring to 2 individual
manual pages.</p></div></div></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/man/transactional-update.service.8.html
new/transactional-update-2.11/man/transactional-update.service.8.html
--- old/transactional-update-2.10/man/transactional-update.service.8.html
2018-10-05 17:12:04.000000000 +0200
+++ new/transactional-update-2.11/man/transactional-update.service.8.html
2018-11-13 15:19:44.000000000 +0100
@@ -15,51 +15,55 @@
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
2.7</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
+ </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
2.10</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> [<em
class="replaceable"><code>options</code></em>...] [<em
class="replaceable"><code>general-command</code></em>...] [<em
class="replaceable"><code>package-command</code></em>
[<em class="replaceable"><code>command-argument</code></em>...]
]</p></div><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> [<em
class="replaceable"><code>options</code></em>...] <em
class="replaceable"><code>standalone-command</code></em>
</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
+in a transactional way; this means updates are atomic, so either the patches
+are fully applied or nothing is changed. The update does not influence the
running system and it can be rolled back. To activate the changes, the system
needs to be rebooted.
</p><p>
To achieve this <span
class="command"><strong>transactional-update</strong></span> is using Btrfs'
-snapshot mechanism.
-Before modifying any files - similar to
-<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="http://snapper.io/manpages/snapper-zypp-plugin.html"><span
class="citerefentry"><span
class="refentrytitle">snapper-zypp-plugin</span>(8)</span></a>
-- a pair of pre / post snapshots of the current system is created using
-<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="http://snapper.io/manpages/snapper.html"><span class="citerefentry"><span
class="refentrytitle">snapper</span>(8)</span></a>.
-The "pre" snapshot will back up the current state of the system before the
-update and will not be modified any further, while the "post" snapshot will be
-used to perform the update.
+snapshot mechanism. Updates will be performed in a new snapshot of the root
+file system. The snapshot is created with
+<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="http://snapper.io/manpages/snapper.html"><span class="citerefentry"><span
class="refentrytitle">snapper</span>(8)</span></a>,
+for the update
+<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="https://en.opensuse.org/SDB:Zypper_manual_(plain)"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
+is called with the <code class="option">-R</code> option pointing to the new
snapshot.
+If no errors occured the snapshot will be set as the new default snapshot and
+set as read-only. In case of errors the snapshot will be deleted again.
</p><p>
-If no errors occured the "post" snapshot will be set as the new default
-snapshot. In case of errors both snapshots will be deleted again.
+On <span class="emphasis"><em>read-only systems</em></span> each snapshot will
have a
+corresponding /etc overlay located in
+/var/lib/overlay. As configuration files
+may be modified after a snapshot was created and before a reboot is performed
+(e.g. via configuration management software) the overlay file system will use
+multiple lower layers, i.e. changes in older layers will be visible in newer
+snapshots, but not vice versa. To keep the number of layers at a minimum and
the
+amount of data stored in the overlays low the
+/etc state of the oldest still available
+snapshot is synchronized into the new root file system; unused overlays will be
+removed at a later time (see the <code class="option">cleanup</code> option).
+</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3
class="title">Warning</h3>
+If a file was changed both in the new snapshot (e.g. if a package installed a
+new version of the configuration file or used fillup-templates) and in the
+currently running system after creation of the new snapshot (e.g. if the
+administrator or configuration management software changed a file) only the
+version of the new snapshot will be visible. When rebooting into the new
+snapshot for the first time
+transactional-update-etc-cleaner.service will print a
+warning about such conflicts to the system log file.
+</div><p>
+Older transactional-update versions were using a single
+/etc overlay for all snapshots; a
+migration mechanism is in place, the directory will also be removed if no
+snapshot is using it any more.
</p><p>
-On a <span class="emphasis"><em>read-only system</em></span> the contents of
the
-/etc overlay file system will be
-synchronized into both snapshots; packages will thus be able to modify the
-production configuration files (e.g. via fillup-templates). Due to the
-read-only file system the only difference between the "pre" snapshot and the
-snapshot of the currently running system will be the contents of the
-/etc directory. On reboot all files
-of the /etc overlay will be purged
-(except if modified after snapshot creation), as those files are part of the
-snapshot's lower layer now.
-</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3
class="title">Warning</h3><p>
-The following situations currently cannot be detected reliably when clearing
-the /etc overlay:
-</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type:
disc; "><li class="listitem"><p>
-If a file or directory has been created since the last reboot and is then
-removed or renamed <span class="emphasis"><em>after</em></span> taking the
snapshot, the
-file / directory may reappear after reboot and has to be deleted again.
-</p></li></ul></div><p>
-</p></div><p>
-Note that on a <span class="emphasis"><em>read-write system</em></span> all
changes made to the
-running root filesystem after snapshot creation are lost after the next
-reboot. For this reason, after an successfull update, the system should be
-rebooted as fast as possible.
+On <span class="emphasis"><em>read-write systems</em></span> please be aware
that all changes
+done to the running root filesystem after snapshot creation are lost after the
+next reboot. For this reason the system should be rebooted as fast as possible
+after an successfull update.
</p><p>For easier maintenance of big clusters,
<span class="command"><strong>transactional-update</strong></span> is run by
<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.timer</span>(5)</span></a>
@@ -77,6 +81,10 @@
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><p>
+ Also removes all unreferenced (and thus unused)
+ /etc overlay directories in
+ /var/lib/overlay.
</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
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"><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 /boot/grub2/grub.cfg
@@ -100,7 +108,7 @@
snapshot as chroot environment for testing and debugging.
</p></dd></dl></div></div><div class="refsect2"><a
name="pkg_commands"></a><h3 id="Package Commands">Package Commands<a
class="headerlink" title="Permalink to this headline"
href="#Package%20Commands">¶</a></h3><p>
Package Commands will invoke
- <a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common" href="zypper.8.html"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
+ <a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="https://en.opensuse.org/SDB:Zypper_manual_(plain)"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
to perform actions on the RPM packages. Only one Package Command can be used
at the same time. Can be combined with any number of
<a class="link" href="#general_commands" title="General Commands">General
Commands</a>.
@@ -139,7 +147,7 @@
<em class="replaceable"><code>command</code></em> and
<em class="replaceable"><code>arguments</code></em>. The arguments are
typically one
or more package names, but can be any
- <a href="zypper.8.html"><span class="citerefentry"><span
class="refentrytitle">zypper</span>(8)</span></a>
+ <a href="https://en.opensuse.org/SDB:Zypper_manual_(plain)"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
parameter for the given command including options. The following
commands are supported:
</p><div class="variablelist"><dl class="variablelist"><dt
id="install"><span class="term"><code class="option">install</code>,
</span><span class="term"><code class="option">in</code></span><a
class="headerlink" title="Permalink to this term"
href="#install">¶</a></dt><dd><p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/man/transactional-update.timer.8.html
new/transactional-update-2.11/man/transactional-update.timer.8.html
--- old/transactional-update-2.10/man/transactional-update.timer.8.html
2018-10-05 17:12:04.000000000 +0200
+++ new/transactional-update-2.11/man/transactional-update.timer.8.html
2018-11-13 15:19:44.000000000 +0100
@@ -15,51 +15,55 @@
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
2.7</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
+ </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
2.10</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> [<em
class="replaceable"><code>options</code></em>...] [<em
class="replaceable"><code>general-command</code></em>...] [<em
class="replaceable"><code>package-command</code></em>
[<em class="replaceable"><code>command-argument</code></em>...]
]</p></div><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> [<em
class="replaceable"><code>options</code></em>...] <em
class="replaceable"><code>standalone-command</code></em>
</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
+in a transactional way; this means updates are atomic, so either the patches
+are fully applied or nothing is changed. The update does not influence the
running system and it can be rolled back. To activate the changes, the system
needs to be rebooted.
</p><p>
To achieve this <span
class="command"><strong>transactional-update</strong></span> is using Btrfs'
-snapshot mechanism.
-Before modifying any files - similar to
-<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="http://snapper.io/manpages/snapper-zypp-plugin.html"><span
class="citerefentry"><span
class="refentrytitle">snapper-zypp-plugin</span>(8)</span></a>
-- a pair of pre / post snapshots of the current system is created using
-<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="http://snapper.io/manpages/snapper.html"><span class="citerefentry"><span
class="refentrytitle">snapper</span>(8)</span></a>.
-The "pre" snapshot will back up the current state of the system before the
-update and will not be modified any further, while the "post" snapshot will be
-used to perform the update.
+snapshot mechanism. Updates will be performed in a new snapshot of the root
+file system. The snapshot is created with
+<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="http://snapper.io/manpages/snapper.html"><span class="citerefentry"><span
class="refentrytitle">snapper</span>(8)</span></a>,
+for the update
+<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="https://en.opensuse.org/SDB:Zypper_manual_(plain)"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
+is called with the <code class="option">-R</code> option pointing to the new
snapshot.
+If no errors occured the snapshot will be set as the new default snapshot and
+set as read-only. In case of errors the snapshot will be deleted again.
</p><p>
-If no errors occured the "post" snapshot will be set as the new default
-snapshot. In case of errors both snapshots will be deleted again.
+On <span class="emphasis"><em>read-only systems</em></span> each snapshot will
have a
+corresponding /etc overlay located in
+/var/lib/overlay. As configuration files
+may be modified after a snapshot was created and before a reboot is performed
+(e.g. via configuration management software) the overlay file system will use
+multiple lower layers, i.e. changes in older layers will be visible in newer
+snapshots, but not vice versa. To keep the number of layers at a minimum and
the
+amount of data stored in the overlays low the
+/etc state of the oldest still available
+snapshot is synchronized into the new root file system; unused overlays will be
+removed at a later time (see the <code class="option">cleanup</code> option).
+</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3
class="title">Warning</h3>
+If a file was changed both in the new snapshot (e.g. if a package installed a
+new version of the configuration file or used fillup-templates) and in the
+currently running system after creation of the new snapshot (e.g. if the
+administrator or configuration management software changed a file) only the
+version of the new snapshot will be visible. When rebooting into the new
+snapshot for the first time
+transactional-update-etc-cleaner.service will print a
+warning about such conflicts to the system log file.
+</div><p>
+Older transactional-update versions were using a single
+/etc overlay for all snapshots; a
+migration mechanism is in place, the directory will also be removed if no
+snapshot is using it any more.
</p><p>
-On a <span class="emphasis"><em>read-only system</em></span> the contents of
the
-/etc overlay file system will be
-synchronized into both snapshots; packages will thus be able to modify the
-production configuration files (e.g. via fillup-templates). Due to the
-read-only file system the only difference between the "pre" snapshot and the
-snapshot of the currently running system will be the contents of the
-/etc directory. On reboot all files
-of the /etc overlay will be purged
-(except if modified after snapshot creation), as those files are part of the
-snapshot's lower layer now.
-</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3
class="title">Warning</h3><p>
-The following situations currently cannot be detected reliably when clearing
-the /etc overlay:
-</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type:
disc; "><li class="listitem"><p>
-If a file or directory has been created since the last reboot and is then
-removed or renamed <span class="emphasis"><em>after</em></span> taking the
snapshot, the
-file / directory may reappear after reboot and has to be deleted again.
-</p></li></ul></div><p>
-</p></div><p>
-Note that on a <span class="emphasis"><em>read-write system</em></span> all
changes made to the
-running root filesystem after snapshot creation are lost after the next
-reboot. For this reason, after an successfull update, the system should be
-rebooted as fast as possible.
+On <span class="emphasis"><em>read-write systems</em></span> please be aware
that all changes
+done to the running root filesystem after snapshot creation are lost after the
+next reboot. For this reason the system should be rebooted as fast as possible
+after an successfull update.
</p><p>For easier maintenance of big clusters,
<span class="command"><strong>transactional-update</strong></span> is run by
<a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.timer</span>(5)</span></a>
@@ -77,6 +81,10 @@
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><p>
+ Also removes all unreferenced (and thus unused)
+ /etc overlay directories in
+ /var/lib/overlay.
</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
xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"><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 /boot/grub2/grub.cfg
@@ -100,7 +108,7 @@
snapshot as chroot environment for testing and debugging.
</p></dd></dl></div></div><div class="refsect2"><a
name="pkg_commands"></a><h3 id="Package Commands">Package Commands<a
class="headerlink" title="Permalink to this headline"
href="#Package%20Commands">¶</a></h3><p>
Package Commands will invoke
- <a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common" href="zypper.8.html"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
+ <a xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0"
xmlns:exsl="http://exslt.org/common"
href="https://en.opensuse.org/SDB:Zypper_manual_(plain)"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
to perform actions on the RPM packages. Only one Package Command can be used
at the same time. Can be combined with any number of
<a class="link" href="#general_commands" title="General Commands">General
Commands</a>.
@@ -139,7 +147,7 @@
<em class="replaceable"><code>command</code></em> and
<em class="replaceable"><code>arguments</code></em>. The arguments are
typically one
or more package names, but can be any
- <a href="zypper.8.html"><span class="citerefentry"><span
class="refentrytitle">zypper</span>(8)</span></a>
+ <a href="https://en.opensuse.org/SDB:Zypper_manual_(plain)"><span
class="citerefentry"><span class="refentrytitle">zypper</span>(8)</span></a>
parameter for the given command including options. The following
commands are supported:
</p><div class="variablelist"><dl class="variablelist"><dt
id="install"><span class="term"><code class="option">install</code>,
</span><span class="term"><code class="option">in</code></span><a
class="headerlink" title="Permalink to this term"
href="#install">¶</a></dt><dd><p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/sbin/transactional-update.in
new/transactional-update-2.11/sbin/transactional-update.in
--- old/transactional-update-2.10/sbin/transactional-update.in 2018-10-22
20:15:50.000000000 +0200
+++ new/transactional-update-2.11/sbin/transactional-update.in 2018-11-13
17:35:03.000000000 +0100
@@ -421,8 +421,14 @@
lowerdir)
for lowerdir in `echo ${option#*=} | tr ':' ' '`; do
overlay_id=`echo "${lowerdir#/sysroot}" | sed -n
's#^/var/lib/overlay/\([[:digit:]]\+\)/etc$#\1#p'`
+
+ # Special handling for old overlay location
+ if [ "${lowerdir}" = "/var/lib/overlay/etc" ]; then
+ if [ "${fstab_lowerdirs[@]}" =
"${fstab_active_lowerdirs[@]}" ]; then
+ fstab_active_lowerdirs+=("${lowerdir}")
+ fi
# Add common directories and directories of existing
snapshots
- if [ -z "${overlay_id}" -o -e
"/.snapshots/${overlay_id}/snapshot" ]; then
+ elif [ -z "${overlay_id}" -o -e
"/.snapshots/${overlay_id}/snapshot" ]; then
if [ -n "${overlay_id}" ]; then
fstab_oldest_active_snapshot="/.snapshots/${overlay_id}/snapshot"
fstab_active_lowerdirs=("${fstab_lowerdirs[@]}")
@@ -808,7 +814,7 @@
fi
# Clean up old unused overlays
- for overlay in /var/lib/overlay/[0-9]*; do
+ for overlay in /var/lib/overlay/[0-9]* /var/lib/overlay; do
if ! grep -q "${overlay}/etc" /.snapshots/*/snapshot/etc/fstab.sys; then
log_info "Deleting unused overlay ${overlay}"
rm -rf "${overlay}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-2.10/systemd/Makefile.am
new/transactional-update-2.11/systemd/Makefile.am
--- old/transactional-update-2.10/systemd/Makefile.am 2018-06-15
13:38:30.000000000 +0200
+++ new/transactional-update-2.11/systemd/Makefile.am 2018-11-12
18:01:40.000000000 +0100
@@ -6,5 +6,13 @@
systemd_DATA = transactional-update.timer transactional-update.service \
create-dirs-from-rpmdb.service
+EXTRA_DIST = transactional-update.timer transactional-update.service.in \
+ create-dirs-from-rpmdb.service
+CLEANFILES = transactional-update.service
+
+do_subst = sed -e 's,[@]sysconfdir[@],$(sysconfdir),g' \
+ -e 's,[@]sbindir[@],$(sbindir),g' \
+ -e 's,[@]prefix[@],$(prefix),g'
-EXTRA_DIST = $(DATA)
+transactional-update.service: transactional-update.service.in Makefile
+ $(do_subst) < transactional-update.service.in >
transactional-update.service
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-2.10/systemd/Makefile.in
new/transactional-update-2.11/systemd/Makefile.in
--- old/transactional-update-2.10/systemd/Makefile.in 2018-10-22
20:19:26.000000000 +0200
+++ new/transactional-update-2.11/systemd/Makefile.in 2018-11-13
15:20:46.000000000 +0100
@@ -256,7 +256,14 @@
systemd_DATA = transactional-update.timer transactional-update.service \
create-dirs-from-rpmdb.service
-EXTRA_DIST = $(DATA)
+EXTRA_DIST = transactional-update.timer transactional-update.service.in \
+ create-dirs-from-rpmdb.service
+
+CLEANFILES = transactional-update.service
+do_subst = sed -e 's,[@]sysconfdir[@],$(sysconfdir),g' \
+ -e 's,[@]sbindir[@],$(sbindir),g' \
+ -e 's,[@]prefix[@],$(prefix),g'
+
all: all-am
.SUFFIXES:
@@ -376,6 +383,7 @@
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -467,6 +475,9 @@
.PRECIOUS: Makefile
+transactional-update.service: transactional-update.service.in Makefile
+ $(do_subst) < transactional-update.service.in >
transactional-update.service
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/systemd/transactional-update.service
new/transactional-update-2.11/systemd/transactional-update.service
--- old/transactional-update-2.10/systemd/transactional-update.service
2018-01-05 10:07:35.000000000 +0100
+++ new/transactional-update-2.11/systemd/transactional-update.service
1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-[Unit]
-Description=Update the system
-Documentation=man:transactional-update(8)
-ConditionACPower=true
-Wants=network.target
-After=network.target
-
-[Service]
-Type=oneshot
-ExecStart=/usr/sbin/transactional-update cleanup dup reboot
-IOSchedulingClass=best-effort
-IOSchedulingPriority=7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-2.10/systemd/transactional-update.service.in
new/transactional-update-2.11/systemd/transactional-update.service.in
--- old/transactional-update-2.10/systemd/transactional-update.service.in
1970-01-01 01:00:00.000000000 +0100
+++ new/transactional-update-2.11/systemd/transactional-update.service.in
2018-11-12 17:57:44.000000000 +0100
@@ -0,0 +1,15 @@
+[Unit]
+Description=Update the system
+Documentation=man:transactional-update(8)
+ConditionACPower=true
+Wants=network.target
+After=network.target
+
+[Service]
+Type=oneshot
+Environment=UPDATE_METHOD=dup
+EnvironmentFile=-@prefix@@sysconfdir@/transactional-update.conf
+EnvironmentFile=-@sysconfdir@/transactional-update.conf
+ExecStart=@sbindir@/transactional-update cleanup ${UPDATE_METHOD} reboot
+IOSchedulingClass=best-effort
+IOSchedulingPriority=7
++++++ transactional-update.check ++++++
requires:transactional-update