Hello community,
here is the log from the commit of package transactional-update for
openSUSE:Factory checked in at 2017-02-02 15:44:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/transactional-update (Old)
and /work/SRC/openSUSE:Factory/.transactional-update.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "transactional-update"
Changes:
--------
---
/work/SRC/openSUSE:Factory/transactional-update/transactional-update.changes
2017-01-20 13:08:25.532942500 +0100
+++
/work/SRC/openSUSE:Factory/.transactional-update.new/transactional-update.changes
2017-02-03 20:03:50.904994713 +0100
@@ -1,0 +2,19 @@
+Wed Feb 1 14:50:37 CET 2017 - [email protected]
+
+- Update to version 1.8
+ - fix references in html docu
+ - build kdump initrd if we build standard initrd, too
+
+-------------------------------------------------------------------
+Mon Jan 30 11:20:26 CET 2017 - [email protected]
+
+- Update to version 1.7
+ - build html docu, too
+
+-------------------------------------------------------------------
+Sun Jan 29 13:27:08 UTC 2017 - [email protected]
+
+- Update to version 1.6
+ - Add support for kdump [bsc#1018098]
+
+-------------------------------------------------------------------
Old:
----
transactional-update-1.5.tar.bz2
New:
----
transactional-update-1.8.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ transactional-update.spec ++++++
--- /var/tmp/diff_new_pack.EJcp3e/_old 2017-02-03 20:03:51.604896198 +0100
+++ /var/tmp/diff_new_pack.EJcp3e/_new 2017-02-03 20:03:51.608895635 +0100
@@ -17,7 +17,7 @@
Name: transactional-update
-Version: 1.5
+Version: 1.8
Release: 0
Summary: Transactional Updates with btrfs and snapshots
License: GPL-2.0+
@@ -65,6 +65,7 @@
%{_unitdir}/transactional-update.service
%{_unitdir}/transactional-update.timer
%{_sbindir}/transactional-update
+%{_sbindir}/tu-rebuild-kdump-initrd
%{_mandir}/man8/transactional-update.8%{ext_man}
%{_mandir}/man8/transactional-update.timer.8%{ext_man}
%{_mandir}/man8/transactional-update.service.8%{ext_man}
++++++ transactional-update-1.5.tar.bz2 -> transactional-update-1.8.tar.bz2
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/Makefile.in
new/transactional-update-1.8/Makefile.in
--- old/transactional-update-1.5/Makefile.in 2017-01-19 10:23:42.000000000
+0100
+++ new/transactional-update-1.8/Makefile.in 2017-02-01 14:49:19.000000000
+0100
@@ -207,6 +207,7 @@
ISSUEDIR = @ISSUEDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LN_S = @LN_S@
LOGROTATEDDIR = @LOGROTATEDDIR@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/NEWS
new/transactional-update-1.8/NEWS
--- old/transactional-update-1.5/NEWS 2017-01-19 10:22:12.000000000 +0100
+++ new/transactional-update-1.8/NEWS 2017-02-01 14:49:14.000000000 +0100
@@ -2,6 +2,17 @@
Copyright (C) 2016, 2017 Thorsten Kukuk
+Version 1.8
+* Fix references in html pages
+* Build kdump initrd when building standard initrd, too
+
+Version 1.7
+* Disable interactive install mode for PTFs
+* Build html version of man pages, too
+
+Version 1.6
+* Add support for kdump
+
Version 1.5
* Install PTFs in interactive mode
* Make sure state file is in sync between snapshots
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/configure
new/transactional-update-1.8/configure
--- old/transactional-update-1.5/configure 2017-01-19 10:23:43.000000000
+0100
+++ new/transactional-update-1.8/configure 2017-02-01 14:49:19.000000000
+0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for transactional-update 1.5.
+# Generated by GNU Autoconf 2.69 for transactional-update 1.8.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -576,8 +576,8 @@
# Identity of this package.
PACKAGE_NAME='transactional-update'
PACKAGE_TARNAME='transactional-update'
-PACKAGE_VERSION='1.5'
-PACKAGE_STRING='transactional-update 1.5'
+PACKAGE_VERSION='1.8'
+PACKAGE_STRING='transactional-update 1.8'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -591,6 +591,7 @@
XML_CATALOG_FILE
XMLLINT
XSLTPROC
+LN_S
LOGROTATEDDIR
SYSTEMDDIR
UDEVRULESDIR
@@ -1210,7 +1211,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures transactional-update 1.5 to adapt to many kinds of
systems.
+\`configure' configures transactional-update 1.8 to adapt to many kinds of
systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1277,7 +1278,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of transactional-update 1.5:";;
+ short | recursive ) echo "Configuration of transactional-update 1.8:";;
esac
cat <<\_ACEOF
@@ -1357,7 +1358,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-transactional-update configure 1.5
+transactional-update configure 1.8
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1374,7 +1375,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by transactional-update $as_me 1.5, which was
+It was created by transactional-update $as_me 1.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2237,7 +2238,7 @@
# Define the identity of the package.
PACKAGE='transactional-update'
- VERSION='1.5'
+ VERSION='1.8'
cat >>confdefs.h <<_ACEOF
@@ -2323,6 +2324,17 @@
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
enable_man=yes
# Extract the first word of "xsltproc", so it can be a program name with args.
@@ -3085,7 +3097,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by transactional-update $as_me 1.5, which was
+This file was extended by transactional-update $as_me 1.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3138,7 +3150,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //;
s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-transactional-update config.status 1.5
+transactional-update config.status 1.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/configure.ac
new/transactional-update-1.8/configure.ac
--- old/transactional-update-1.5/configure.ac 2017-01-19 10:23:38.000000000
+0100
+++ new/transactional-update-1.8/configure.ac 2017-02-01 14:45:54.000000000
+0100
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(transactional-update, 1.5)
+AC_INIT(transactional-update, 1.8)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([sbin/transactional-update.in])
AC_PREFIX_DEFAULT(/usr)
@@ -36,6 +36,7 @@
AC_SUBST(LOGROTATEDDIR)
AC_PROG_INSTALL
+AC_PROG_LN_S
dnl
dnl Check for xsltproc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/logrotate/Makefile.in
new/transactional-update-1.8/logrotate/Makefile.in
--- old/transactional-update-1.5/logrotate/Makefile.in 2017-01-19
10:23:42.000000000 +0100
+++ new/transactional-update-1.8/logrotate/Makefile.in 2017-02-01
14:49:19.000000000 +0100
@@ -160,6 +160,7 @@
ISSUEDIR = @ISSUEDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LN_S = @LN_S@
LOGROTATEDDIR = @LOGROTATEDDIR@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/man/Makefile.am
new/transactional-update-1.8/man/Makefile.am
--- old/transactional-update-1.5/man/Makefile.am 2016-11-16
22:51:37.000000000 +0100
+++ new/transactional-update-1.8/man/Makefile.am 2017-01-30
09:57:04.000000000 +0100
@@ -1,20 +1,53 @@
#
-# Copyright (c) 2016 Thorsten Kukuk, Germany
+# Copyright (c) 2016, 2017 Thorsten Kukuk, Germany
#
# Author: Thorsten Kukuk <[email protected]>
#
-CLEANFILES = transactional-update.8 transactional-update.timer.8 \
- transactional-update.service.8
+CLEANFILES = $(MANS) $(DATA) transactional-update.index.xml
-EXTRA_DIST = $(MANS) $(XMLS)
+EXTRA_DIST = $(MANS) $(XMLS) $(DATA) custom-html.xsl make-man-index.py \
+ xml_helper.py transactional-update.index.xml
man_MANS = transactional-update.8 transactional-update.service.8 \
transactional-update.timer.8
+
+noinst_DATA = transactional-update.8.html transactional-update.service.8.html \
+ transactional-update.timer.8.html transactional-update.index.html
+
XMLS = transactional-update.8.xml
+XSLTPROC_FLAGS_HTML = \
+ --nonet \
+ --xinclude \
+ --stringparam man.authors.section.enabled 0 \
+ --stringparam man.copyright.section.enabled 0 \
+ --stringparam transactional-update.version $(VERSION) \
+ --stringparam chunker.output.encoding UTF-8 \
+ $(srcdir)/custom-html.xsl
+
+
if ENABLE_REGENERATE_MAN
+define html-alias
+ $(LN_S) -f $(notdir $<) $@
+endef
+
+transactional-update.index.xml: make-man-index.py $(XMLS)
+ python $(srcdir)/make-man-index.py $(srcdir)/$@ $(XMLS)
+
transactional-update.8: transactional-update.8.xml
- $(XMLLINT) --nonet --xinclude --postvalid --noout $<
$(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir) --xinclude --nonet
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+transactional-update.8.html: transactional-update.8.xml custom-html.xsl
+ $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir) $(XSLTPROC_FLAGS_HTML) $<
+
+transactional-update.service.8.html: transactional-update.8.html
+ $(html-alias)
+
+transactional-update.timer.8.html: transactional-update.8.html
+ $(html-alias)
+
+transactional-update.index.html: transactional-update.index.xml custom-html.xsl
+ $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir) $(XSLTPROC_FLAGS_HTML) $<
+
endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/man/Makefile.in
new/transactional-update-1.8/man/Makefile.in
--- old/transactional-update-1.5/man/Makefile.in 2017-01-19
10:23:43.000000000 +0100
+++ new/transactional-update-1.8/man/Makefile.in 2017-02-01
14:49:19.000000000 +0100
@@ -15,10 +15,11 @@
@SET_MAKE@
#
-# Copyright (c) 2016 Thorsten Kukuk, Germany
+# Copyright (c) 2016, 2017 Thorsten Kukuk, Germany
#
# Author: Thorsten Kukuk <[email protected]>
#
+
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -141,6 +142,7 @@
am__installdirs = "$(DESTDIR)$(man8dir)"
NROFF = nroff
MANS = $(man_MANS)
+DATA = $(noinst_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -163,6 +165,7 @@
ISSUEDIR = @ISSUEDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LN_S = @LN_S@
LOGROTATEDDIR = @LOGROTATEDDIR@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
@@ -225,14 +228,26 @@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-CLEANFILES = transactional-update.8 transactional-update.timer.8 \
- transactional-update.service.8
+CLEANFILES = $(MANS) $(DATA) transactional-update.index.xml
+EXTRA_DIST = $(MANS) $(XMLS) $(DATA) custom-html.xsl make-man-index.py \
+ xml_helper.py transactional-update.index.xml
-EXTRA_DIST = $(MANS) $(XMLS)
man_MANS = transactional-update.8 transactional-update.service.8 \
transactional-update.timer.8
+noinst_DATA = transactional-update.8.html transactional-update.service.8.html \
+ transactional-update.timer.8.html transactional-update.index.html
+
XMLS = transactional-update.8.xml
+XSLTPROC_FLAGS_HTML = \
+ --nonet \
+ --xinclude \
+ --stringparam man.authors.section.enabled 0 \
+ --stringparam man.copyright.section.enabled 0 \
+ --stringparam transactional-update.version $(VERSION) \
+ --stringparam chunker.output.encoding UTF-8 \
+ $(srcdir)/custom-html.xsl
+
all: all-am
.SUFFIXES:
@@ -348,7 +363,7 @@
done
check-am: all-am
check: check-am
-all-am: Makefile $(MANS)
+all-am: Makefile $(MANS) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(man8dir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
@@ -467,10 +482,28 @@
uninstall-man8
+@ENABLE_REGENERATE_MAN_TRUE@define html-alias
+@ENABLE_REGENERATE_MAN_TRUE@ $(LN_S) -f $(notdir $<) $@
+@ENABLE_REGENERATE_MAN_TRUE@endef
+
+@[email protected]: make-man-index.py
$(XMLS)
+@ENABLE_REGENERATE_MAN_TRUE@ python $(srcdir)/make-man-index.py $(srcdir)/$@
$(XMLS)
+
@[email protected]: transactional-update.8.xml
-@ENABLE_REGENERATE_MAN_TRUE@ $(XMLLINT) --nonet --xinclude --postvalid
--noout $<
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir)
--xinclude --nonet
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+@[email protected]:
transactional-update.8.xml custom-html.xsl
+@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir)
$(XSLTPROC_FLAGS_HTML) $<
+
+@[email protected]:
transactional-update.8.html
+@ENABLE_REGENERATE_MAN_TRUE@ $(html-alias)
+
+@[email protected]:
transactional-update.8.html
+@ENABLE_REGENERATE_MAN_TRUE@ $(html-alias)
+
+@[email protected]:
transactional-update.index.xml custom-html.xsl
+@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir)
$(XSLTPROC_FLAGS_HTML) $<
+
# 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-1.5/man/custom-html.xsl
new/transactional-update-1.8/man/custom-html.xsl
--- old/transactional-update-1.5/man/custom-html.xsl 1970-01-01
01:00:00.000000000 +0100
+++ new/transactional-update-1.8/man/custom-html.xsl 2017-01-30
09:49:02.000000000 +0100
@@ -0,0 +1,253 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+
+<!--
+ This file is based on the systemd custom-html.xsl file.
+
+ Copyright 2011 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<xsl:import
href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>
+<!--
+ - The docbook stylesheet injects empty anchor tags into generated HTML,
identified by an auto-generated ID.
+ - Ask the docbook stylesheet to generate reproducible output when generating
(these) ID values.
+ - This makes the output of this stylesheet reproducible across identical
invocations on the same input,
+ - which is an easy and significant win for achieving reproducible builds.
+ -
+ - It may be even better to strip the empty anchors from the document output
in addition to turning on consistent IDs,
+ - for this stylesheet contains its own custom ID logic (for generating
permalinks) already.
+ -->
+<xsl:param name="generate.consistent.ids" select="1"/>
+
+<!-- translate man page references to links to html pages -->
+<xsl:template match="citerefentry[not(@project)]">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:value-of select="refentrytitle"/>
+ <xsl:text>.</xsl:text>
+ <xsl:value-of select="manvolnum"/>
+ <xsl:text>.html</xsl:text>
+ </xsl:attribute>
+ <xsl:call-template name="inline.charseq"/>
+ </a>
+</xsl:template>
+
+<xsl:template match="citerefentry[@project='man-pages'] |
citerefentry[manvolnum='2'] | citerefentry[manvolnum='4']">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:text>http://man7.org/linux/man-pages/man</xsl:text>
+ <xsl:value-of select="manvolnum"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="refentrytitle"/>
+ <xsl:text>.</xsl:text>
+ <xsl:value-of select="manvolnum"/>
+ <xsl:text>.html</xsl:text>
+ </xsl:attribute>
+ <xsl:call-template name="inline.charseq"/>
+ </a>
+</xsl:template>
+
+<xsl:template match="citerefentry[@project='systemd']">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:text>https://www.freedesktop.org/software/systemd/man/</xsl:text>
+ <xsl:value-of select="refentrytitle"/>
+ <xsl:text>.html</xsl:text>
+ </xsl:attribute>
+ <xsl:call-template name="inline.charseq"/>
+ </a>
+</xsl:template>
+
+<xsl:template match="citerefentry[@project='snapper']">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:text>http://snapper.io/manpages/</xsl:text>
+ <xsl:value-of select="refentrytitle"/>
+ <xsl:text>.html</xsl:text>
+ </xsl:attribute>
+ <xsl:call-template name="inline.charseq"/>
+ </a>
+</xsl:template>
+
+
+<!--
+ - helper template to do conflict resolution between various headings with
the same inferred ID attribute/tag from the headerlink template
+ - this conflict resolution is necessary to prevent malformed HTML output
(multiple ID attributes with the same value)
+ - and it fixes xsltproc warnings during compilation of HTML man pages
+ -
+ - A simple top-to-bottom numbering scheme is implemented for nodes with the
same ID value to derive unique ID values for HTML output.
+ - It uses two parameters:
+ templateID the proposed ID string to use which must be checked for
conflicts
+ keyNode the context node which 'produced' the given templateID.
+ -
+ - Conflicts are detected solely based on keyNode, templateID is not taken
into account for that purpose.
+ -->
+<xsl:template name="generateID">
+ <!-- node which generatedID needs to assume as the 'source' of the ID -->
+ <xsl:param name="keyNode"/>
+ <!-- suggested value for generatedID output, a contextually meaningful ID
string -->
+ <xsl:param name="templateID"/>
+ <xsl:variable name="conflictSource"
select="preceding::refsect1/title|preceding::refsect1/info/title|
+
preceding::refsect2/title|preceding::refsect2/info/title|
+ preceding::varlistentry/term[1]"/>
+ <xsl:variable name="conflictCount" select="count($conflictSource[. =
$keyNode])"/>
+ <xsl:choose>
+ <!-- special case conflictCount = 0 to preserve compatibility with URLs
generated by previous versions of this XSL stylesheet where possible -->
+ <xsl:when test="$conflictCount = 0">
+ <xsl:value-of select="$templateID"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="concat($templateID, $conflictCount)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!--
+ - a helper template to abstract over the structure of generated subheading +
permalink HTML output
+ - It helps reduce tedious repetition and groups all actual markup output (as
opposed to URL/ID logic) in a single location.
+ -->
+<xsl:template name="permalink">
+ <xsl:param name="nodeType"/> <!-- local name of the element node to
generate, e.g. 'h2' for <h2></h2> -->
+ <xsl:param name="nodeContent"/> <!-- nodeset to apply further templates to
obtain the content of the subheading/term -->
+ <xsl:param name="linkTitle"/> <!-- value for title attribute of generated
permalink, e.g. 'this is a permalink' -->
+
+ <!-- parameters passed to generateID template, otherwise unused. -->
+ <xsl:param name="keyNode"/>
+ <xsl:param name="templateID"/>
+
+ <!--
+ - If stable URLs with fragment markers (references to the ID) turn out not
to be important:
+ - generatedID could simply take the value of generate-id(), and various
other helper templates may be dropped entirely.
+ - Alternatively, if xsltproc is patched to generate reproducible
generate-id() output, the same simplifications can be
+ - applied at the cost of breaking compatibility with URLs generated from
output of previous versions of this stylesheet.
+ -->
+ <xsl:variable name="generatedID">
+ <xsl:call-template name="generateID">
+ <xsl:with-param name="keyNode" select="$keyNode"/>
+ <xsl:with-param name="templateID" select="$templateID"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:element name="{$nodeType}">
+ <xsl:attribute name="id">
+ <xsl:value-of select="$generatedID"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="$nodeContent"/>
+ <a class="headerlink" title="{$linkTitle}" href="#{$generatedID}">¶</a>
+ </xsl:element>
+</xsl:template>
+
+<!-- simple wrapper around permalink to avoid repeating common info for each
level of subheading covered by the permalink logic (h2, h3) -->
+<xsl:template name="headerlink">
+ <xsl:param name="nodeType"/>
+ <xsl:call-template name="permalink">
+ <xsl:with-param name="nodeType" select="$nodeType"/>
+ <xsl:with-param name="linkTitle" select="'Permalink to this headline'"/>
+ <xsl:with-param name="nodeContent" select="node()"/>
+ <xsl:with-param name="keyNode" select="."/>
+ <!--
+ - To retain compatibility with IDs generated by previous versions of the
template, inline.charseq must be called.
+ - The purpose of that template is to generate markup (according to
docbook documentation its purpose is to mark/format something as plain text).
+ - The only reason to call this template is to get the auto-generated
text such as brackets ([]) before flattening it.
+ -->
+ <xsl:with-param name="templateID">
+ <xsl:call-template name="inline.charseq"/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="refsect1/title|refsect1/info/title">
+ <!-- the ID is output in the block.object call for refsect1 -->
+ <xsl:call-template name="headerlink">
+ <xsl:with-param name="nodeType" select="'h2'"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="refsect2/title|refsect2/info/title">
+ <xsl:call-template name="headerlink">
+ <xsl:with-param name="nodeType" select="'h3'"/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="varlistentry">
+ <xsl:call-template name="permalink">
+ <xsl:with-param name="nodeType" select="'dt'"/>
+ <xsl:with-param name="linkTitle" select="'Permalink to this term'"/>
+ <xsl:with-param name="nodeContent" select="term"/>
+ <xsl:with-param name="keyNode" select="term[1]"/>
+ <!--
+ - To retain compatibility with IDs generated by previous versions of the
template, inline.charseq must be called.
+ - The purpose of that template is to generate markup (according to
docbook documentation its purpose is to mark/format something as plain text).
+ - The only reason to call this template is to get the auto-generated
text such as brackets ([]) before flattening it.
+ -->
+ <xsl:with-param name="templateID">
+ <xsl:call-template name="inline.charseq">
+ <xsl:with-param name="content" select="term[1]"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ <dd>
+ <xsl:apply-templates select="listitem"/>
+ </dd>
+</xsl:template>
+
+
+<!-- add Index link at top of page -->
+<xsl:template name="user.header.content">
+ <style>
+ a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+ visibility: hidden;
+ }
+
+ a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+ }
+
+ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink,
dt:hover > a.headerlink {
+ visibility: visible;
+ }
+ </style>
+
+ <a>
+ <xsl:attribute name="href">
+ <xsl:text>transactional-update.index.html</xsl:text>
+ </xsl:attribute>
+ <xsl:text>Index </xsl:text>
+ </a>
+
+ <span style="float:right">
+ <xsl:text>transactional-update </xsl:text>
+ <xsl:value-of select="$transactional-update.version"/>
+ </span>
+ <hr/>
+</xsl:template>
+
+<xsl:template match="literal">
+ <xsl:text>"</xsl:text>
+ <xsl:call-template name="inline.monoseq"/>
+ <xsl:text>"</xsl:text>
+</xsl:template>
+
+<!-- Switch things to UTF-8, ISO-8859-1 is soo yesteryear -->
+<xsl:output method="html" encoding="UTF-8" indent="no"/>
+
+</xsl:stylesheet>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/man/make-man-index.py
new/transactional-update-1.8/man/make-man-index.py
--- old/transactional-update-1.5/man/make-man-index.py 1970-01-01
01:00:00.000000000 +0100
+++ new/transactional-update-1.8/man/make-man-index.py 2017-01-30
10:09:34.000000000 +0100
@@ -0,0 +1,123 @@
+# -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */
+#
+# The original file is part of systemd. This one was modified for
+# transactional-update
+#
+# Copyright 2012 Lennart Poettering
+# Copyright 2013 Zbigniew Jędrzejewski-Szmek
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+import collections
+import sys
+import re
+from xml_helper import *
+
+MDASH = ' — ' if sys.version_info.major >= 3 else ' -- '
+
+TEMPLATE = '''\
+<refentry id="transactional-update.index" conditional="HAVE_PYTHON">
+
+ <refentryinfo>
+ <title>transactional-update.index</title>
+ <productname>transactional-updater</productname>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>transactional-update.index</refentrytitle>
+ <manvolnum>7</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>transactional-update.index</refname>
+ <refpurpose>List all manpages from the transactional-update
project</refpurpose>
+ </refnamediv>
+</refentry>
+'''
+
+SUMMARY = '''\
+ <refsect1>
+ <para id='counts' />
+ </refsect1>
+'''
+
+COUNTS = '\
+This index contains {count} entries, referring to {pages} individual manual
pages.'
+
+
+def check_id(page, t):
+ id = t.getroot().get('id')
+ if not re.search('^' + id + '[.]', page):
+ raise ValueError("id='{}' is not the same as page name
'{}'".format(id, page))
+
+def make_index(pages):
+ index = collections.defaultdict(list)
+ for p in pages:
+ t = xml_parse(p)
+ check_id(p, t)
+ section = t.find('./refmeta/manvolnum').text
+ refname = t.find('./refnamediv/refname').text
+ purpose = ' '.join(t.find('./refnamediv/refpurpose').text.split())
+ for f in t.findall('./refnamediv/refname'):
+ infos = (f.text, section, purpose, refname)
+ index[f.text[0].upper()].append(infos)
+ return index
+
+def add_letter(template, letter, pages):
+ refsect1 = tree.SubElement(template, 'refsect1')
+ title = tree.SubElement(refsect1, 'title')
+ title.text = letter
+ para = tree.SubElement(refsect1, 'para')
+ for info in sorted(pages, key=lambda info: str.lower(info[0])):
+ refname, section, purpose, realname = info
+
+ b = tree.SubElement(para, 'citerefentry')
+ c = tree.SubElement(b, 'refentrytitle')
+ c.text = refname
+ d = tree.SubElement(b, 'manvolnum')
+ d.text = section
+
+ b.tail = MDASH + purpose # + ' (' + p + ')'
+
+ tree.SubElement(para, 'sbr')
+
+def add_summary(template, indexpages):
+ count = 0
+ pages = set()
+ for group in indexpages:
+ count += len(group)
+ for info in group:
+ refname, section, purpose, realname = info
+ pages.add((realname, section))
+
+ refsect1 = tree.fromstring(SUMMARY)
+ template.append(refsect1)
+
+ para = template.find(".//para[@id='counts']")
+ para.text = COUNTS.format(count=count, pages=len(pages))
+
+def make_page(*xml_files):
+ template = tree.fromstring(TEMPLATE)
+ index = make_index(xml_files)
+
+ for letter in sorted(index):
+ add_letter(template, letter, index[letter])
+
+ add_summary(template, index.values())
+
+ return template
+
+if __name__ == '__main__':
+ with open(sys.argv[1], 'wb') as f:
+ f.write(xml_print(make_page(*sys.argv[2:])))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/man/transactional-update.8
new/transactional-update-1.8/man/transactional-update.8
--- old/transactional-update-1.5/man/transactional-update.8 2016-12-19
10:14:55.000000000 +0100
+++ new/transactional-update-1.8/man/transactional-update.8 2017-01-30
10:21:16.000000000 +0100
@@ -1,13 +1,13 @@
'\" t
.\" Title: transactional-update
-.\" Author: [see the "AUTHOR" section]
+.\" Author: Thorsten Kukuk <[email protected]>
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 12/19/2016
+.\" Date: 01/30/2017
.\" Manual: transactional-update
.\" Source: transactional-update
.\" Language: English
.\"
-.TH "TRANSACTIONAL\-UPDAT" "8" "12/19/2016" "transactional-update"
"transactional-update"
+.TH "TRANSACTIONAL\-UPDAT" "8" "01/30/2017" "transactional-update"
"transactional-update"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -142,5 +142,6 @@
\fBsystemd.time\fR(7)
.SH "AUTHOR"
.PP
-\fBtransactional\-update\fR
-was written by Thorsten Kukuk <kukuk@suse\&.com>\&.
+\fBThorsten Kukuk\fR <\&kukuk@suse\&.com\&>
+.RS 4
+.RE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.5/man/transactional-update.8.html
new/transactional-update-1.8/man/transactional-update.8.html
--- old/transactional-update-1.5/man/transactional-update.8.html
1970-01-01 01:00:00.000000000 +0100
+++ new/transactional-update-1.8/man/transactional-update.8.html
2017-01-30 10:21:17.000000000 +0100
@@ -0,0 +1,92 @@
+<html><head><meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"><title>transactional-update</title><meta name="generator"
content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white"
text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
+ a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+ visibility: hidden;
+ }
+
+ a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+ }
+
+ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink,
dt:hover > a.headerlink {
+ visibility: visible;
+ }
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.7</span><hr><div class="refentry"><a
name="transactional-update.8"></a><div class="titlepage"></div><div
class="refnamediv"><a name="name"></a><h2>Name</h2><p>transactional-update,
transactional-update.service, transactional-update.timer — Apply updates to the
system in an atomic way via transactional
+ updates.</p></div><div class="refsynopsisdiv"><a
name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code
class="command">/usr/sbin/transactional-update</code> [--help]
[--version]</p></div><div class="cmdsynopsis"><p><code
class="command">/usr/sbin/transactional-update</code> [cleanup] [ up | dup
| patch | ptf | bootloader | initrd | [reboot]]</p></div><p><code
class="filename">transactional-update.service</code></p><p><code
class="filename">transactional-update.timer</code></p></div><div
class="refsect1"><a name="description"></a><h2 id="DESCRIPTION">DESCRIPTION<a
class="headerlink" title="Permalink to this headline"
href="#DESCRIPTION">¶</a></h2><p><span
class="command"><strong>transactional-update</strong></span> updates the system
+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.
+</p><p>
+ This is archived by creating at first a snapshot of the system. Afterwards,
+ this snapshot is updated with zypper. Only if there were updates and they
+ could be applied without error, the snapshot will be the default with the
+ next reboot.
+</p><p>Changes made to the running root filesystem after
+<span class="command"><strong>transactional-update</strong></span> was started
are lost after the next
+reboot. For this reason, after an successfull update, the system should be
+rebooted as fast as possible. </p><p>For easier maintenance of big clusters,
+<span class="command"><strong>transactional-update</strong></span> is regular
run by
+<a
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.timer</span>(5)</span></a>.
+The time, at which the command is run, can be modified by a configuration file
+<code
class="filename">/etc/systemd/system/transactional-update.timer.d/local.conf</code>.
See
+<a
href="https://www.freedesktop.org/software/systemd/man/systemd.unit.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.unit</span>(5)</span></a>
+for more informations.
+</p></div><div class="refsect1"><a name="options"></a><h2
id="OPTIONS">OPTIONS<a class="headerlink" title="Permalink to this headline"
href="#OPTIONS">¶</a></h2><div class="variablelist"><dl
class="variablelist"><dt id="--help"><span class="term"><code
class="option">--help</code></span><a class="headerlink" title="Permalink to
this term" href="#--help">¶</a></dt><dd><p>Display help and exit</p></dd><dt
id="--version"><span class="term"><code
class="option">--version</code></span><a class="headerlink" title="Permalink to
this term" href="#--version">¶</a></dt><dd><p>Output version information and
exit</p></dd><dt id="cleanup"><span class="term"><code
class="option">cleanup</code></span><a class="headerlink" title="Permalink to
this term" href="#cleanup">¶</a></dt><dd><p>If the current root filesystem is
identical to the active root
+ filesystem (means after a reboot, before
+ <span class="command"><strong>transactional-update</strong></span>
creates a new snapshot with
+ updates), all old snapshots without a cleanup algorithm get a cleanup
+ algorithm set. This is to make sure, that old snapshots will be deleted
+ by snapper. See the section about cleanup algorithms in
+ <a href="http://snapper.io/manpages/snapper.html"><span
class="citerefentry"><span class="refentrytitle">snapper</span>(8)</span></a>.
+ </p></dd><dt id="up"><span class="term"><code
class="option">up</code></span><a class="headerlink" title="Permalink to this
term" href="#up">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper up</strong></span> is used to
update the snapshot.
+ Afterwards, the snapshot is activated and will be used as the new root
+ filesystem during next boot.
+ </p></dd><dt id="dup"><span class="term"><code
class="option">dup</code></span><a class="headerlink" title="Permalink to this
term" href="#dup">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper dup</strong></span> is used to
update the snapshot.
+ Afterwards, the snapshot is activated and will be used as the new root
+ filesystem during next boot.
+ </p></dd><dt id="patch"><span class="term"><code
class="option">patch</code></span><a class="headerlink" title="Permalink to
this term" href="#patch">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper patch</strong></span> is used to
update the snapshot.
+ Afterwards, the snapshot is activated and will be used as the new root
+ filesystem during next boot.
+ </p></dd><dt id="ptf install <RPM> ... <RPM>"><span
class="term"><code class="option">ptf install</code> <em
class="replaceable"><code><RPM> ... <RPM></code></em></span><a
class="headerlink" title="Permalink to this term"
href="#ptf%20install%20<RPM>%20...%20<RPM>">¶</a></dt><dd><p>
+ A PTF consist of several RPMs can be installed in the system.
+ </p></dd><dt id="ptf remove <RPM> ... <RPM>"><span
class="term"><code class="option">ptf remove</code> <em
class="replaceable"><code><RPM> ... <RPM></code></em></span><a
class="headerlink" title="Permalink to this term"
href="#ptf%20remove%20<RPM>%20...%20<RPM>">¶</a></dt><dd><p>
+ A PTF consist of several RPMs can be removed from the system.
+ </p></dd><dt id="bootloader"><span class="term"><code
class="option">bootloader</code></span><a class="headerlink" title="Permalink
to this term" href="#bootloader">¶</a></dt><dd><p>
+ A new snapshot is created, the bootloader configuration updated and
+ the boorloader newly written.
+ </p></dd><dt id="initrd"><span class="term"><code
class="option">initrd</code></span><a class="headerlink" title="Permalink to
this term" href="#initrd">¶</a></dt><dd><p>
+ A new initrd is created in a new snapshot.
+ </p></dd><dt id="reboot"><span class="term"><code
class="option">reboot</code></span><a class="headerlink" title="Permalink to
this term" href="#reboot">¶</a></dt><dd><p>
+ If a new snapshot with updates was created, the system should be
+ rebooted. This option will trigger the necessary reboot. If the
+ <a href="rebootmgrd.8.html"><span class="citerefentry"><span
class="refentrytitle">rebootmgrd</span>(8)</span></a>
+ is running, <span
class="command"><strong>transactional-update</strong></span> will tell the
+ daemon to reboot the system according to the configured policies. Else
+ <span class="command"><strong>systemctl reboot</strong></span> is
called.
+ </p></dd></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.
+</p><p>
+ Since all changes to the root filesystem will go lost after creating the
+ snapshot for the update, the system should be rebooted as fast as possible
+ after the update finished.
+</p><p>
+ If PTFs get installed or removed, and
+ <span class="command"><strong>transactional-update</strong></span> is called
again before the next
+ reboot and updates packages, the changes to the PTFs are lost and need to be
+ redone with the next reboot. After installing or removing PTFs, the system
+ should be immeaditly rebooted.
+</p></div><div class="refsect1"><a name="see_also"></a><h2 id="SEE ALSO">SEE
ALSO<a class="headerlink" title="Permalink to this headline"
href="#SEE%20ALSO">¶</a></h2><p><a
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.timer</span>(5)</span></a>,
+<a
href="https://www.freedesktop.org/software/systemd/man/systemd.time.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.time</span>(7)</span></a></p></div></div></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.5/man/transactional-update.8.xml
new/transactional-update-1.8/man/transactional-update.8.xml
--- old/transactional-update-1.5/man/transactional-update.8.xml 2016-12-16
15:35:01.000000000 +0100
+++ new/transactional-update-1.8/man/transactional-update.8.xml 2017-01-30
09:45:22.000000000 +0100
@@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<!-- \-*\- nroff \-*\- -->
-<!-- Copyright 2016 Thorsten Kukuk <[email protected]> -->
+<!-- Copyright 2016, 2017 Thorsten Kukuk <[email protected]> -->
<!-- This file is part of transactional\-update. -->
@@ -22,7 +22,20 @@
<!-- write to the Free Software Foundation, Inc., 51 Franklin Street \- Suite
500, -->
<!-- Boston, MA 02111\-1307, USA. -->
-<refentry id='transactional-update8'>
+<refentry id='transactional-update.8'>
+ <refentryinfo>
+ <title>transactional-update</title>
+ <productname>transactional-update</productname>
+
+ <authorgroup>
+ <author>
+ <contrib></contrib>
+ <firstname>Thorsten</firstname>
+ <surname>Kukuk</surname>
+ <email>[email protected]</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
<refmeta>
<refentrytitle>transactional-update</refentrytitle>
@@ -81,10 +94,10 @@
rebooted as fast as possible. </para>
<para>For easier maintenance of big clusters,
<command>transactional-update</command> is regular run by
-<citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+<citerefentry
project='systemd'><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
The time, at which the command is run, can be modified by a configuration file
<filename>/etc/systemd/system/transactional-update.timer.d/local.conf</filename>.
See
-<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+<citerefentry
project='systemd'><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for more informations.
</para>
</refsect1>
@@ -112,7 +125,7 @@
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
-
<citerefentry><refentrytitle>snapper</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+ <citerefentry
project='snapper'><refentrytitle>snapper</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
</para>
</listitem>
</varlistentry>
@@ -219,15 +232,7 @@
</refsect1>
<refsect1 id='see_also'><title>SEE ALSO</title>
-<para><citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry></para>
+<para><citerefentry
project='systemd'><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry
project='systemd'><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry></para>
</refsect1>
-
- <refsect1 id='author'>
- <title>AUTHOR</title>
- <para>
- <command>transactional-update</command> was written by
- Thorsten Kukuk <[email protected]>.
- </para>
- </refsect1>
</refentry>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.5/man/transactional-update.index.html
new/transactional-update-1.8/man/transactional-update.index.html
--- old/transactional-update-1.5/man/transactional-update.index.html
1970-01-01 01:00:00.000000000 +0100
+++ new/transactional-update-1.8/man/transactional-update.index.html
2017-01-30 10:21:17.000000000 +0100
@@ -0,0 +1,18 @@
+<html><head><meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"><title>transactional-update.index</title><meta name="generator"
content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white"
text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
+ a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+ visibility: hidden;
+ }
+
+ a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+ }
+
+ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink,
dt:hover > a.headerlink {
+ visibility: visible;
+ }
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.7</span><hr><div class="refentry"><a
name="transactional-update.index"></a><div class="titlepage"></div><div
class="refnamediv"><h2>Name</h2><p>transactional-update.index — List all
manpages from the transactional-update project</p></div><div
class="refsect1"><a name="id-1.4"></a><h2 id="T">T<a class="headerlink"
title="Permalink to this headline" href="#T">¶</a></h2><p><a
href="transactional-update.8.html"><span class="citerefentry"><span
class="refentrytitle">transactional-update</span>(8)</span></a> -- Apply
updates to the system in an atomic way via transactional updates.<br><a
href="transactional-update.service.8.html"><span class="citerefentry"><span
class="refentrytitle">transactional-update.service</span>(8)</span></a> --
Apply updates to the system in an atomic way via transactional updates.<br><a
href="transactional-update.timer.8.html"><span class="citerefentry"><span
class="refentrytitle">transactional-update.timer</span>(8)</span></a> -- Apply
updates to the system in an atomic way via transactional
updates.<br></p></div><div class="refsect1"><a name="id-1.5"></a><p><a
name="counts"></a>This index contains 3 entries, referring to 1 individual
manual pages.</p></div></div></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.5/man/transactional-update.index.xml
new/transactional-update-1.8/man/transactional-update.index.xml
--- old/transactional-update-1.5/man/transactional-update.index.xml
1970-01-01 01:00:00.000000000 +0100
+++ new/transactional-update-1.8/man/transactional-update.index.xml
2017-01-30 10:21:17.000000000 +0100
@@ -0,0 +1,19 @@
+<refentry id="transactional-update.index" conditional="HAVE_PYTHON">
+
+ <refentryinfo>
+ <title>transactional-update.index</title>
+ <productname>transactional-updater</productname>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>transactional-update.index</refentrytitle>
+ <manvolnum>7</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>transactional-update.index</refname>
+ <refpurpose>List all manpages from the transactional-update
project</refpurpose>
+ </refnamediv>
+<refsect1><title>T</title><para><citerefentry><refentrytitle>transactional-update</refentrytitle><manvolnum>8</manvolnum></citerefentry>
-- Apply updates to the system in an atomic way via transactional
updates.<sbr/><citerefentry><refentrytitle>transactional-update.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
-- Apply updates to the system in an atomic way via transactional
updates.<sbr/><citerefentry><refentrytitle>transactional-update.timer</refentrytitle><manvolnum>8</manvolnum></citerefentry>
-- Apply updates to the system in an atomic way via transactional
updates.<sbr/></para></refsect1><refsect1>
+ <para id="counts">This index contains 3 entries, referring to 1 individual
manual pages.</para>
+ </refsect1></refentry>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.5/man/transactional-update.service.8.html
new/transactional-update-1.8/man/transactional-update.service.8.html
--- old/transactional-update-1.5/man/transactional-update.service.8.html
1970-01-01 01:00:00.000000000 +0100
+++ new/transactional-update-1.8/man/transactional-update.service.8.html
2017-01-30 10:21:17.000000000 +0100
@@ -0,0 +1,92 @@
+<html><head><meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"><title>transactional-update</title><meta name="generator"
content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white"
text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
+ a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+ visibility: hidden;
+ }
+
+ a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+ }
+
+ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink,
dt:hover > a.headerlink {
+ visibility: visible;
+ }
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.7</span><hr><div class="refentry"><a
name="transactional-update.8"></a><div class="titlepage"></div><div
class="refnamediv"><a name="name"></a><h2>Name</h2><p>transactional-update,
transactional-update.service, transactional-update.timer — Apply updates to the
system in an atomic way via transactional
+ updates.</p></div><div class="refsynopsisdiv"><a
name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code
class="command">/usr/sbin/transactional-update</code> [--help]
[--version]</p></div><div class="cmdsynopsis"><p><code
class="command">/usr/sbin/transactional-update</code> [cleanup] [ up | dup
| patch | ptf | bootloader | initrd | [reboot]]</p></div><p><code
class="filename">transactional-update.service</code></p><p><code
class="filename">transactional-update.timer</code></p></div><div
class="refsect1"><a name="description"></a><h2 id="DESCRIPTION">DESCRIPTION<a
class="headerlink" title="Permalink to this headline"
href="#DESCRIPTION">¶</a></h2><p><span
class="command"><strong>transactional-update</strong></span> updates the system
+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.
+</p><p>
+ This is archived by creating at first a snapshot of the system. Afterwards,
+ this snapshot is updated with zypper. Only if there were updates and they
+ could be applied without error, the snapshot will be the default with the
+ next reboot.
+</p><p>Changes made to the running root filesystem after
+<span class="command"><strong>transactional-update</strong></span> was started
are lost after the next
+reboot. For this reason, after an successfull update, the system should be
+rebooted as fast as possible. </p><p>For easier maintenance of big clusters,
+<span class="command"><strong>transactional-update</strong></span> is regular
run by
+<a
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.timer</span>(5)</span></a>.
+The time, at which the command is run, can be modified by a configuration file
+<code
class="filename">/etc/systemd/system/transactional-update.timer.d/local.conf</code>.
See
+<a
href="https://www.freedesktop.org/software/systemd/man/systemd.unit.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.unit</span>(5)</span></a>
+for more informations.
+</p></div><div class="refsect1"><a name="options"></a><h2
id="OPTIONS">OPTIONS<a class="headerlink" title="Permalink to this headline"
href="#OPTIONS">¶</a></h2><div class="variablelist"><dl
class="variablelist"><dt id="--help"><span class="term"><code
class="option">--help</code></span><a class="headerlink" title="Permalink to
this term" href="#--help">¶</a></dt><dd><p>Display help and exit</p></dd><dt
id="--version"><span class="term"><code
class="option">--version</code></span><a class="headerlink" title="Permalink to
this term" href="#--version">¶</a></dt><dd><p>Output version information and
exit</p></dd><dt id="cleanup"><span class="term"><code
class="option">cleanup</code></span><a class="headerlink" title="Permalink to
this term" href="#cleanup">¶</a></dt><dd><p>If the current root filesystem is
identical to the active root
+ filesystem (means after a reboot, before
+ <span class="command"><strong>transactional-update</strong></span>
creates a new snapshot with
+ updates), all old snapshots without a cleanup algorithm get a cleanup
+ algorithm set. This is to make sure, that old snapshots will be deleted
+ by snapper. See the section about cleanup algorithms in
+ <a href="http://snapper.io/manpages/snapper.html"><span
class="citerefentry"><span class="refentrytitle">snapper</span>(8)</span></a>.
+ </p></dd><dt id="up"><span class="term"><code
class="option">up</code></span><a class="headerlink" title="Permalink to this
term" href="#up">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper up</strong></span> is used to
update the snapshot.
+ Afterwards, the snapshot is activated and will be used as the new root
+ filesystem during next boot.
+ </p></dd><dt id="dup"><span class="term"><code
class="option">dup</code></span><a class="headerlink" title="Permalink to this
term" href="#dup">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper dup</strong></span> is used to
update the snapshot.
+ Afterwards, the snapshot is activated and will be used as the new root
+ filesystem during next boot.
+ </p></dd><dt id="patch"><span class="term"><code
class="option">patch</code></span><a class="headerlink" title="Permalink to
this term" href="#patch">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper patch</strong></span> is used to
update the snapshot.
+ Afterwards, the snapshot is activated and will be used as the new root
+ filesystem during next boot.
+ </p></dd><dt id="ptf install <RPM> ... <RPM>"><span
class="term"><code class="option">ptf install</code> <em
class="replaceable"><code><RPM> ... <RPM></code></em></span><a
class="headerlink" title="Permalink to this term"
href="#ptf%20install%20<RPM>%20...%20<RPM>">¶</a></dt><dd><p>
+ A PTF consist of several RPMs can be installed in the system.
+ </p></dd><dt id="ptf remove <RPM> ... <RPM>"><span
class="term"><code class="option">ptf remove</code> <em
class="replaceable"><code><RPM> ... <RPM></code></em></span><a
class="headerlink" title="Permalink to this term"
href="#ptf%20remove%20<RPM>%20...%20<RPM>">¶</a></dt><dd><p>
+ A PTF consist of several RPMs can be removed from the system.
+ </p></dd><dt id="bootloader"><span class="term"><code
class="option">bootloader</code></span><a class="headerlink" title="Permalink
to this term" href="#bootloader">¶</a></dt><dd><p>
+ A new snapshot is created, the bootloader configuration updated and
+ the boorloader newly written.
+ </p></dd><dt id="initrd"><span class="term"><code
class="option">initrd</code></span><a class="headerlink" title="Permalink to
this term" href="#initrd">¶</a></dt><dd><p>
+ A new initrd is created in a new snapshot.
+ </p></dd><dt id="reboot"><span class="term"><code
class="option">reboot</code></span><a class="headerlink" title="Permalink to
this term" href="#reboot">¶</a></dt><dd><p>
+ If a new snapshot with updates was created, the system should be
+ rebooted. This option will trigger the necessary reboot. If the
+ <a href="rebootmgrd.8.html"><span class="citerefentry"><span
class="refentrytitle">rebootmgrd</span>(8)</span></a>
+ is running, <span
class="command"><strong>transactional-update</strong></span> will tell the
+ daemon to reboot the system according to the configured policies. Else
+ <span class="command"><strong>systemctl reboot</strong></span> is
called.
+ </p></dd></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.
+</p><p>
+ Since all changes to the root filesystem will go lost after creating the
+ snapshot for the update, the system should be rebooted as fast as possible
+ after the update finished.
+</p><p>
+ If PTFs get installed or removed, and
+ <span class="command"><strong>transactional-update</strong></span> is called
again before the next
+ reboot and updates packages, the changes to the PTFs are lost and need to be
+ redone with the next reboot. After installing or removing PTFs, the system
+ should be immeaditly rebooted.
+</p></div><div class="refsect1"><a name="see_also"></a><h2 id="SEE ALSO">SEE
ALSO<a class="headerlink" title="Permalink to this headline"
href="#SEE%20ALSO">¶</a></h2><p><a
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.timer</span>(5)</span></a>,
+<a
href="https://www.freedesktop.org/software/systemd/man/systemd.time.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.time</span>(7)</span></a></p></div></div></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.5/man/transactional-update.timer.8.html
new/transactional-update-1.8/man/transactional-update.timer.8.html
--- old/transactional-update-1.5/man/transactional-update.timer.8.html
1970-01-01 01:00:00.000000000 +0100
+++ new/transactional-update-1.8/man/transactional-update.timer.8.html
2017-01-30 10:21:17.000000000 +0100
@@ -0,0 +1,92 @@
+<html><head><meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"><title>transactional-update</title><meta name="generator"
content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white"
text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
+ a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+ visibility: hidden;
+ }
+
+ a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+ }
+
+ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink,
dt:hover > a.headerlink {
+ visibility: visible;
+ }
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.7</span><hr><div class="refentry"><a
name="transactional-update.8"></a><div class="titlepage"></div><div
class="refnamediv"><a name="name"></a><h2>Name</h2><p>transactional-update,
transactional-update.service, transactional-update.timer — Apply updates to the
system in an atomic way via transactional
+ updates.</p></div><div class="refsynopsisdiv"><a
name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code
class="command">/usr/sbin/transactional-update</code> [--help]
[--version]</p></div><div class="cmdsynopsis"><p><code
class="command">/usr/sbin/transactional-update</code> [cleanup] [ up | dup
| patch | ptf | bootloader | initrd | [reboot]]</p></div><p><code
class="filename">transactional-update.service</code></p><p><code
class="filename">transactional-update.timer</code></p></div><div
class="refsect1"><a name="description"></a><h2 id="DESCRIPTION">DESCRIPTION<a
class="headerlink" title="Permalink to this headline"
href="#DESCRIPTION">¶</a></h2><p><span
class="command"><strong>transactional-update</strong></span> updates the system
+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.
+</p><p>
+ This is archived by creating at first a snapshot of the system. Afterwards,
+ this snapshot is updated with zypper. Only if there were updates and they
+ could be applied without error, the snapshot will be the default with the
+ next reboot.
+</p><p>Changes made to the running root filesystem after
+<span class="command"><strong>transactional-update</strong></span> was started
are lost after the next
+reboot. For this reason, after an successfull update, the system should be
+rebooted as fast as possible. </p><p>For easier maintenance of big clusters,
+<span class="command"><strong>transactional-update</strong></span> is regular
run by
+<a
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.timer</span>(5)</span></a>.
+The time, at which the command is run, can be modified by a configuration file
+<code
class="filename">/etc/systemd/system/transactional-update.timer.d/local.conf</code>.
See
+<a
href="https://www.freedesktop.org/software/systemd/man/systemd.unit.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.unit</span>(5)</span></a>
+for more informations.
+</p></div><div class="refsect1"><a name="options"></a><h2
id="OPTIONS">OPTIONS<a class="headerlink" title="Permalink to this headline"
href="#OPTIONS">¶</a></h2><div class="variablelist"><dl
class="variablelist"><dt id="--help"><span class="term"><code
class="option">--help</code></span><a class="headerlink" title="Permalink to
this term" href="#--help">¶</a></dt><dd><p>Display help and exit</p></dd><dt
id="--version"><span class="term"><code
class="option">--version</code></span><a class="headerlink" title="Permalink to
this term" href="#--version">¶</a></dt><dd><p>Output version information and
exit</p></dd><dt id="cleanup"><span class="term"><code
class="option">cleanup</code></span><a class="headerlink" title="Permalink to
this term" href="#cleanup">¶</a></dt><dd><p>If the current root filesystem is
identical to the active root
+ filesystem (means after a reboot, before
+ <span class="command"><strong>transactional-update</strong></span>
creates a new snapshot with
+ updates), all old snapshots without a cleanup algorithm get a cleanup
+ algorithm set. This is to make sure, that old snapshots will be deleted
+ by snapper. See the section about cleanup algorithms in
+ <a href="http://snapper.io/manpages/snapper.html"><span
class="citerefentry"><span class="refentrytitle">snapper</span>(8)</span></a>.
+ </p></dd><dt id="up"><span class="term"><code
class="option">up</code></span><a class="headerlink" title="Permalink to this
term" href="#up">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper up</strong></span> is used to
update the snapshot.
+ Afterwards, the snapshot is activated and will be used as the new root
+ filesystem during next boot.
+ </p></dd><dt id="dup"><span class="term"><code
class="option">dup</code></span><a class="headerlink" title="Permalink to this
term" href="#dup">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper dup</strong></span> is used to
update the snapshot.
+ Afterwards, the snapshot is activated and will be used as the new root
+ filesystem during next boot.
+ </p></dd><dt id="patch"><span class="term"><code
class="option">patch</code></span><a class="headerlink" title="Permalink to
this term" href="#patch">¶</a></dt><dd><p>
+ If new updates are available, a new snapshot is created and
+ <span class="command"><strong>zypper patch</strong></span> is used to
update the snapshot.
+ Afterwards, the snapshot is activated and will be used as the new root
+ filesystem during next boot.
+ </p></dd><dt id="ptf install <RPM> ... <RPM>"><span
class="term"><code class="option">ptf install</code> <em
class="replaceable"><code><RPM> ... <RPM></code></em></span><a
class="headerlink" title="Permalink to this term"
href="#ptf%20install%20<RPM>%20...%20<RPM>">¶</a></dt><dd><p>
+ A PTF consist of several RPMs can be installed in the system.
+ </p></dd><dt id="ptf remove <RPM> ... <RPM>"><span
class="term"><code class="option">ptf remove</code> <em
class="replaceable"><code><RPM> ... <RPM></code></em></span><a
class="headerlink" title="Permalink to this term"
href="#ptf%20remove%20<RPM>%20...%20<RPM>">¶</a></dt><dd><p>
+ A PTF consist of several RPMs can be removed from the system.
+ </p></dd><dt id="bootloader"><span class="term"><code
class="option">bootloader</code></span><a class="headerlink" title="Permalink
to this term" href="#bootloader">¶</a></dt><dd><p>
+ A new snapshot is created, the bootloader configuration updated and
+ the boorloader newly written.
+ </p></dd><dt id="initrd"><span class="term"><code
class="option">initrd</code></span><a class="headerlink" title="Permalink to
this term" href="#initrd">¶</a></dt><dd><p>
+ A new initrd is created in a new snapshot.
+ </p></dd><dt id="reboot"><span class="term"><code
class="option">reboot</code></span><a class="headerlink" title="Permalink to
this term" href="#reboot">¶</a></dt><dd><p>
+ If a new snapshot with updates was created, the system should be
+ rebooted. This option will trigger the necessary reboot. If the
+ <a href="rebootmgrd.8.html"><span class="citerefentry"><span
class="refentrytitle">rebootmgrd</span>(8)</span></a>
+ is running, <span
class="command"><strong>transactional-update</strong></span> will tell the
+ daemon to reboot the system according to the configured policies. Else
+ <span class="command"><strong>systemctl reboot</strong></span> is
called.
+ </p></dd></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.
+</p><p>
+ Since all changes to the root filesystem will go lost after creating the
+ snapshot for the update, the system should be rebooted as fast as possible
+ after the update finished.
+</p><p>
+ If PTFs get installed or removed, and
+ <span class="command"><strong>transactional-update</strong></span> is called
again before the next
+ reboot and updates packages, the changes to the PTFs are lost and need to be
+ redone with the next reboot. After installing or removing PTFs, the system
+ should be immeaditly rebooted.
+</p></div><div class="refsect1"><a name="see_also"></a><h2 id="SEE ALSO">SEE
ALSO<a class="headerlink" title="Permalink to this headline"
href="#SEE%20ALSO">¶</a></h2><p><a
href="https://www.freedesktop.org/software/systemd/man/systemd.timer.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.timer</span>(5)</span></a>,
+<a
href="https://www.freedesktop.org/software/systemd/man/systemd.time.html"><span
class="citerefentry"><span
class="refentrytitle">systemd.time</span>(7)</span></a></p></div></div></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/man/xml_helper.py
new/transactional-update-1.8/man/xml_helper.py
--- old/transactional-update-1.5/man/xml_helper.py 1970-01-01
01:00:00.000000000 +0100
+++ new/transactional-update-1.8/man/xml_helper.py 2016-10-26
09:44:38.000000000 +0200
@@ -0,0 +1,34 @@
+# -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */
+#
+# This file is part of systemd.
+#
+# Copyright 2012-2013 Zbigniew Jędrzejewski-Szmek
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+from lxml import etree as tree
+
+class CustomResolver(tree.Resolver):
+ def resolve(self, url, id, context):
+ if 'custom-entities.ent' in url:
+ return self.resolve_filename('man/custom-entities.ent', context)
+
+_parser = tree.XMLParser()
+_parser.resolvers.add(CustomResolver())
+def xml_parse(page):
+ doc = tree.parse(page, _parser)
+ doc.xinclude()
+ return doc
+def xml_print(xml):
+ return tree.tostring(xml, pretty_print=True, encoding='utf-8')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/sbin/Makefile.am
new/transactional-update-1.8/sbin/Makefile.am
--- old/transactional-update-1.5/sbin/Makefile.am 2016-11-14
13:07:39.000000000 +0100
+++ new/transactional-update-1.8/sbin/Makefile.am 2017-01-30
09:19:57.000000000 +0100
@@ -1,7 +1,7 @@
#
-# Copyright (c) 2016 Thorsten Kukuk <[email protected]>
+# Copyright (c) 2016, 2017 Thorsten Kukuk <[email protected]>
#
-sbin_SCRIPTS = transactional-update
+sbin_SCRIPTS = transactional-update tu-rebuild-kdump-initrd
-EXTRA_DIST = transactional-update.in
+EXTRA_DIST = transactional-update.in tu-rebuild-kdump-initrd
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/sbin/Makefile.in
new/transactional-update-1.8/sbin/Makefile.in
--- old/transactional-update-1.5/sbin/Makefile.in 2017-01-19
10:23:43.000000000 +0100
+++ new/transactional-update-1.8/sbin/Makefile.in 2017-02-01
14:49:19.000000000 +0100
@@ -15,7 +15,7 @@
@SET_MAKE@
#
-# Copyright (c) 2016 Thorsten Kukuk <[email protected]>
+# Copyright (c) 2016, 2017 Thorsten Kukuk <[email protected]>
#
VPATH = @srcdir@
@@ -161,6 +161,7 @@
ISSUEDIR = @ISSUEDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LN_S = @LN_S@
LOGROTATEDDIR = @LOGROTATEDDIR@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
@@ -223,8 +224,8 @@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-sbin_SCRIPTS = transactional-update
-EXTRA_DIST = transactional-update.in
+sbin_SCRIPTS = transactional-update tu-rebuild-kdump-initrd
+EXTRA_DIST = transactional-update.in tu-rebuild-kdump-initrd
all: all-am
.SUFFIXES:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.5/sbin/transactional-update.in
new/transactional-update-1.8/sbin/transactional-update.in
--- old/transactional-update-1.5/sbin/transactional-update.in 2017-01-19
13:12:06.000000000 +0100
+++ new/transactional-update-1.8/sbin/transactional-update.in 2017-01-30
15:57:40.000000000 +0100
@@ -3,7 +3,7 @@
# update_snapshot - update a snapshot of the current system
#
# Author: Thorsten Kukuk <[email protected]>
-# Copyright (C) 2016 SUSE Linux GmbH
+# Copyright (C) 2016, 2017 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
@@ -28,6 +28,7 @@
REWRITE_BOOTLOADER=0
REWRITE_GRUB_CFG=0
REWRITE_INITRD=0
+REBUILD_KDUMP_INITRD=0
DO_CLEANUP=0
REBOOT_AFTERWARDS=0
LOGFILE="/var/log/transactional-update.log"
@@ -35,10 +36,11 @@
PACKAGE_UPDATES=0
SNAPSHOT_ID=""
SECOND_SNAPSHOT_ID=""
+KDUMP_SYSCONFIG="/etc/sysconfig/kdump"
usage() {
echo "Usage: transactional-update --help|--version"
- echo " transactional-update
[cleanup][up|dup|patch|bootloader|initrd][reboot]"
+ echo " transactional-update
[cleanup][up|dup|patch|bootloader|initrd][kdump][reboot]"
echo " transactional-update [cleanup] [reboot] ptf install|remove
PKG1..PKGN"
exit $1
}
@@ -90,7 +92,7 @@
echo "UNUSED_SNAPSHOTS=\"${UNUSED_SNAPSHOTS}\"" >> ${STATE_FILE}
if [ $1 -ne 0 ]; then
- # if /var/lib/misc is not a seperate partition/subvolume,
+ # if /var/lib/misc is not a seperate partition/subvolume,
# copy it additional into the new snapshot. This will else
# an outdated version from before taking the snapshot
grep -q var.lib.misc /proc/mounts
@@ -100,6 +102,18 @@
fi
}
+rebuild_kdump_initrd() {
+ local MOUNT_DIR=$1
+
+ systemctl is-enabled kdump.service
+ if [ $? = 0 ]; then
+ if [ ${KDUMP_SYSCONFIG} -nt ${MOUNT_DIR}/${KDUMP_SYSCONFIG} ]; then
+ cp -a ${KDUMP_SYSCONFIG} ${MOUNT_DIR}/${KDUMP_SYSCONFIG}
+ fi
+ chroot ${MOUNT_DIR} /usr/sbin/tu-rebuild-kdump-initrd
+ fi
+}
+
quit() {
if [ -n "${SNAPSHOT_ID}" ] ; then
log_error "Removing snapshot #${SNAPSHOT_ID}..."
@@ -177,7 +191,7 @@
fi
done
# Run installing PTFs interactive
- ZYPPER_NONINTERACTIVE=""
+ #ZYPPER_NONINTERACTIVE=""
;;
bootloader)
REWRITE_BOOTLOADER=1
@@ -190,6 +204,11 @@
;;
initrd)
REWRITE_INITRD=1
+ REBUILD_KDUMP_INITRD=1
+ shift
+ ;;
+ kdump)
+ REBUILD_KDUMP_INITRD=1
shift
;;
reboot)
@@ -280,7 +299,9 @@
fi
fi
-if [ -n "${ZYPPER_ARG}" -o ${REWRITE_BOOTLOADER} -eq 1 -o ${REWRITE_GRUB_CFG}
-eq 1 -o ${REWRITE_INITRD} -eq 1 ]; then
+if [ -n "${ZYPPER_ARG}" -o ${REWRITE_BOOTLOADER} -eq 1 \
+ -o ${REWRITE_GRUB_CFG} -eq 1 -o ${REWRITE_INITRD} -eq 1 \
+ -o ${REBUILD_KDUMP_INITRD} -eq 1 ]; then
if [ -n "${ZYPPER_ARG}" ]; then
#check if there are updates at all
@@ -384,7 +405,9 @@
env DISABLE_RESTART_ON_UPDATE=yes zypper ${ZYPPER_NONINTERACTIVE} -R
${MOUNT_DIR} ${ZYPPER_ARG} ${ZYPPER_ARG_PKGS} |& tee -a ${LOGFILE}
if [ $? -ne 0 ]; then
log_error "ERROR: zypper ${ZYPPER_ARG} on $directory failed!"
- EXITCODE=1;
+ EXITCODE=1
+ else
+ REBUILD_KDUMP_INITRD=1
fi
fi
@@ -393,9 +416,17 @@
chroot ${MOUNT_DIR} /sbin/mkinitrd
if [ $? -ne 0 ]; then
log_error "ERROR: mkinitrd failed!"
- EXITCODE=1;
+ EXITCODE=1
+ else
+ REBUILD_KDUMP_INITRD=1
fi
fi
+
+ if [ ${REBUILD_KDUMP_INITRD} -eq 1 ]; then
+ log_info "Try to rebuild kdump initrd"
+ rebuild_kdump_initrd ${MOUNT_DIR}
+ fi
+
if [ ${REWRITE_GRUB_CFG} -eq 1 ]; then
log_info "Create a new grub2 config"
chroot ${MOUNT_DIR} /usr/sbin/grub2-mkconfig >
${MOUNT_DIR}/boot/grub2/grub.cfg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.5/sbin/tu-rebuild-kdump-initrd
new/transactional-update-1.8/sbin/tu-rebuild-kdump-initrd
--- old/transactional-update-1.5/sbin/tu-rebuild-kdump-initrd 1970-01-01
01:00:00.000000000 +0100
+++ new/transactional-update-1.8/sbin/tu-rebuild-kdump-initrd 2017-01-30
09:19:57.000000000 +0100
@@ -0,0 +1,54 @@
+#! /bin/bash
+#
+# Copyright Thorsten Kukuk <[email protected]>
+# Copyright Petr Tesarik <[email protected]>
+#
+# Based on load.sh --update from kdump package
+
+KDUMPTOOL=/usr/sbin/kdumptool
+
+EFI_SYSTAB=/sys/firmware/efi/systab
+FADUMP_ENABLED=/sys/kernel/fadump_enabled
+FADUMP_REGISTERED=/sys/kernel/fadump_registered
+
+#
+# Find the desired kernel and initrd
+function find_kernel()
+{
+ local output=$($KDUMPTOOL find_kernel)
+ test $? -eq 0 || return 1
+
+ kdump_kernel=$(echo "$output" | grep ^Kernel | cut -f 2)
+ kdump_initrd=$(echo "$output" | grep ^Initrd | cut -f 2)
+
+ return 0
+}
+
+#
+# Rebuild the kdump initramfs if necessary
+function rebuild_kdumprd()
+{
+ local output=$(mkdumprd -K "$kdump_kernel" -I "$kdump_initrd" 2>&1)
+ if [ $? -ne 0 ] ; then
+ echo "$output"
+ return 1
+ fi
+ if [ ! -e "$kdump_kernel" ]; then
+ echo "$kdump_kernel does not exist!"
+ return 1
+ fi
+ if [ ! -e "$kdump_initrd" ]; then
+ echo "$kdump_initrd does not exist!"
+ return 1
+ fi
+
+ return 0
+}
+
+############################################################
+# MAIN PROGRAM STARTS HERE
+#
+
+find_kernel || exit 6
+rebuild_kdumprd || exit 1
+exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.5/systemd/Makefile.in
new/transactional-update-1.8/systemd/Makefile.in
--- old/transactional-update-1.5/systemd/Makefile.in 2017-01-19
10:23:43.000000000 +0100
+++ new/transactional-update-1.8/systemd/Makefile.in 2017-02-01
14:49:19.000000000 +0100
@@ -160,6 +160,7 @@
ISSUEDIR = @ISSUEDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LN_S = @LN_S@
LOGROTATEDDIR = @LOGROTATEDDIR@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@