Hello community,
here is the log from the commit of package transactional-update for
openSUSE:Factory checked in at 2017-12-08 12:57:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/transactional-update (Old)
and /work/SRC/openSUSE:Factory/.transactional-update.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "transactional-update"
Fri Dec 8 12:57:31 2017 rev:17 rq:554705 version:1.24
Changes:
--------
---
/work/SRC/openSUSE:Factory/transactional-update/transactional-update.changes
2017-11-18 00:21:56.297705851 +0100
+++
/work/SRC/openSUSE:Factory/.transactional-update.new/transactional-update.changes
2017-12-08 12:57:45.276890763 +0100
@@ -1,0 +2,8 @@
+Tue Dec 5 19:38:47 UTC 2017 - [email protected]
+
+- Update to version 1.24
+ - Don't save unused snapshots if we may delete them again.
+ Partly fixes [bsc#1071038]
+ - Copy passwd, group and shadow to /usr/etc if modified
+
+-------------------------------------------------------------------
@@ -8,0 +17 @@
+ [bsc#1068933]
Old:
----
transactional-update-1.23.tar.bz2
New:
----
transactional-update-1.24.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ transactional-update.spec ++++++
--- /var/tmp/diff_new_pack.LSvsh5/_old 2017-12-08 12:57:47.864797300 +0100
+++ /var/tmp/diff_new_pack.LSvsh5/_new 2017-12-08 12:57:47.868797155 +0100
@@ -17,7 +17,7 @@
Name: transactional-update
-Version: 1.23
+Version: 1.24
Release: 0
Summary: Transactional Updates with btrfs and snapshots
License: GPL-2.0+
++++++ transactional-update-1.23.tar.bz2 -> transactional-update-1.24.tar.bz2
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/Makefile.am
new/transactional-update-1.24/Makefile.am
--- old/transactional-update-1.23/Makefile.am 2016-11-16 22:48:36.000000000
+0100
+++ new/transactional-update-1.24/Makefile.am 2017-11-24 10:44:53.000000000
+0100
@@ -5,7 +5,7 @@
#
AUTOMAKE_OPTIONS = 1.6 foreign check-news dist-bzip2
#
-SUBDIRS = sbin man systemd logrotate
+SUBDIRS = sbin man systemd logrotate doc
CLEANFILES = *~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/Makefile.in
new/transactional-update-1.24/Makefile.in
--- old/transactional-update-1.23/Makefile.in 2017-11-17 14:52:26.000000000
+0100
+++ new/transactional-update-1.24/Makefile.in 2017-12-05 20:36:55.000000000
+0100
@@ -194,6 +194,7 @@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+BROWSER = @BROWSER@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
@@ -278,7 +279,7 @@
#
AUTOMAKE_OPTIONS = 1.6 foreign check-news dist-bzip2
#
-SUBDIRS = sbin man systemd logrotate
+SUBDIRS = sbin man systemd logrotate doc
CLEANFILES = *~
M4_FILES = m4/jh_path_xml_catalog.m4
EXTRA_DIST = ChangeLog $(M4_FILES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/NEWS
new/transactional-update-1.24/NEWS
--- old/transactional-update-1.23/NEWS 2017-11-17 14:52:12.000000000 +0100
+++ new/transactional-update-1.24/NEWS 2017-12-05 20:36:52.000000000 +0100
@@ -2,6 +2,10 @@
Copyright (C) 2016, 2017 Thorsten Kukuk
+Version 1.24
+* Fix saving of unused snapshots too early
+* Copy passwd, group and shadow to /usr/etc if modified
+
Version 1.23
* Fix re-registration in rollback case
* Fix problems with updating the grub2 bootloader
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/configure
new/transactional-update-1.24/configure
--- old/transactional-update-1.23/configure 2017-11-17 14:52:27.000000000
+0100
+++ new/transactional-update-1.24/configure 2017-12-05 20:36:55.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.23.
+# Generated by GNU Autoconf 2.69 for transactional-update 1.24.
#
#
# 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.23'
-PACKAGE_STRING='transactional-update 1.23'
+PACKAGE_VERSION='1.24'
+PACKAGE_STRING='transactional-update 1.24'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -585,6 +585,7 @@
ac_default_prefix=/usr
ac_subst_vars='LTLIBOBJS
LIBOBJS
+BROWSER
ENABLE_REGENERATE_MAN_FALSE
ENABLE_REGENERATE_MAN_TRUE
XMLCATALOG
@@ -1211,7 +1212,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.23 to adapt to many kinds of
systems.
+\`configure' configures transactional-update 1.24 to adapt to many kinds of
systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1278,7 +1279,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of transactional-update 1.23:";;
+ short | recursive ) echo "Configuration of transactional-update 1.24:";;
esac
cat <<\_ACEOF
@@ -1358,7 +1359,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-transactional-update configure 1.23
+transactional-update configure 1.24
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1375,7 +1376,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.23, which was
+It was created by transactional-update $as_me 1.24, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2238,7 +2239,7 @@
# Define the identity of the package.
PACKAGE='transactional-update'
- VERSION='1.23'
+ VERSION='1.24'
cat >>confdefs.h <<_ACEOF
@@ -2540,7 +2541,95 @@
fi
-ac_config_files="$ac_config_files Makefile sbin/Makefile man/Makefile
systemd/Makefile logrotate/Makefile sbin/transactional-update"
+# Extract the first word of "w3m", so it can be a program name with args.
+set dummy w3m; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BROWSER+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $BROWSER in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_BROWSER="$BROWSER" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_BROWSER="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext"
>&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+BROWSER=$ac_cv_path_BROWSER
+if test -n "$BROWSER"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BROWSER" >&5
+$as_echo "$BROWSER" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test ! -z "$BROWSER"; then
+ BROWSER="$BROWSER -T text/html -dump"
+else
+ # Extract the first word of "links", so it can be a program name with
args.
+set dummy links; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BROWSER+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $BROWSER in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_BROWSER="$BROWSER" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_BROWSER="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext"
>&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+BROWSER=$ac_cv_path_BROWSER
+if test -n "$BROWSER"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BROWSER" >&5
+$as_echo "$BROWSER" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test ! -z "$BROWSER"; then
+ BROWSER="$BROWSER -no-numbering -no-references -dump"
+ fi
+fi
+
+ac_config_files="$ac_config_files Makefile sbin/Makefile man/Makefile
systemd/Makefile logrotate/Makefile doc/Makefile sbin/transactional-update"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -3097,7 +3186,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.23, which was
+This file was extended by transactional-update $as_me 1.24, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3150,7 +3239,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.23
+transactional-update config.status 1.24
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -3268,6 +3357,7 @@
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
"systemd/Makefile") CONFIG_FILES="$CONFIG_FILES systemd/Makefile" ;;
"logrotate/Makefile") CONFIG_FILES="$CONFIG_FILES logrotate/Makefile" ;;
+ "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"sbin/transactional-update") CONFIG_FILES="$CONFIG_FILES
sbin/transactional-update" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/configure.ac
new/transactional-update-1.24/configure.ac
--- old/transactional-update-1.23/configure.ac 2017-11-17 14:50:41.000000000
+0100
+++ new/transactional-update-1.24/configure.ac 2017-12-05 20:36:16.000000000
+0100
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(transactional-update, 1.23)
+AC_INIT(transactional-update, 1.24)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([sbin/transactional-update.in])
AC_PREFIX_DEFAULT(/usr)
@@ -54,5 +54,15 @@
[DocBook XSL Stylesheets], [], enable_man=no)
AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test x$enable_man != xno)
+AC_PATH_PROG([BROWSER], [w3m])
+if test ! -z "$BROWSER"; then
+ BROWSER="$BROWSER -T text/html -dump"
+else
+ AC_PATH_PROG([BROWSER], [links])
+ if test ! -z "$BROWSER"; then
+ BROWSER="$BROWSER -no-numbering -no-references -dump"
+ fi
+fi
+
AC_OUTPUT([Makefile sbin/Makefile man/Makefile systemd/Makefile \
- logrotate/Makefile sbin/transactional-update])
+ logrotate/Makefile doc/Makefile sbin/transactional-update])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/doc/Makefile.am
new/transactional-update-1.24/doc/Makefile.am
--- old/transactional-update-1.23/doc/Makefile.am 1970-01-01
01:00:00.000000000 +0100
+++ new/transactional-update-1.24/doc/Makefile.am 2017-11-25
10:10:27.000000000 +0100
@@ -0,0 +1,86 @@
+#
+# Copyright (c) 2017 Thorsten Kukuk <[email protected]>
+#
+
+CLEANFILES = transactional-update.fo *~
+
+EXTRA_DIST = $(XMLS)
+
+XMLS = transactional-update.xml
+#DEP_XMLS = $(shell ls $(top_srcdir)/doc/man/pam_*.xml)
+
+if ENABLE_REGENERATE_MAN
+MAINTAINERCLEANFILES = transactional-update.txt html/*.html
+
+all: transactional-update.txt html/transactional-update.html
+
+transactional-update.txt: $(XMLS) $(DEP_XMLS)
+ $(XMLLINT) --nonet --xinclude --postvalid --noent --noout $<
+ $(XSLTPROC) --stringparam generate.toc "book toc" \
+ --stringparam section.autolabel 1 \
+ --stringparam section.label.includes.component.label 1 \
+ --stringparam toc.max.depth 3 --xinclude --nonet \
+ http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl
$< | $(BROWSER) > $@
+
+html/transactional-update.html: $(XMLS) $(DEP_XMLS)
+ @test -d html || mkdir -p html
+ $(XMLLINT) --nonet --xinclude --postvalid --noent --noout $<
+ $(XSLTPROC) --stringparam base.dir html/ \
+ --stringparam root.filename transactional-update \
+ --stringparam use.id.as.filename 1 \
+ --stringparam chunk.section.depth 0 \
+ --stringparam chunk.first.sections 0 \
+ --stringparam section.autolabel 1 \
+ --stringparam section.label.includes.component.label 1 \
+ --stringparam toc.max.depth 3 --xinclude --nonet \
+ --stringparam chunker.output.encoding UTF-8 \
+ http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl $<
+
+distclean-local:
+ -rm -rf html transactional-update.txt
+
+endif
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(docdir)
+ $(mkinstalldirs) $(DESTDIR)$(pdfdir)
+ $(mkinstalldirs) $(DESTDIR)$(htmldir)
+ if test -f html/transactional-update.html; then \
+ $(install_sh_DATA) html/transactional-update.html html/tu-*.html \
+ $(DESTDIR)$(htmldir)/; \
+ elif test -f $(srcdir)/html/transactional-update.html; then \
+ $(install_sh_DATA) $(srcdir)/html/transactinal-update.html \
+ $(srcdir)/html/tu-*.html \
+ $(DESTDIR)$(htmldir)/; \
+ fi
+ if test -f transactional-update.txt; then \
+ $(install_sh_DATA) transactional-update.txt $(DESTDIR)$(docdir)/; \
+ elif test -f $(srcdir)/transactional-update.txt; then \
+ $(install_sh_DATA) $(srcdir)/transactional-update.txt \
+ $(DESTDIR)$(docdir)/; \
+ fi
+
+uninstall-local:
+ -rm $(DESTDIR)$(htmldir)/transactional-update.html
+ -rm $(DESTDIR)$(htmldir)/tu-*.html
+ -rm $(DESTDIR)$(docdir)/transactional-update.txt
+
+releasedocs: all
+ $(mkinstalldirs)
$(top_builddir)/transactional-update-$(VERSION)/doc/adg/html
+ if test -f html/Linux-PAM_ADG.html; then \
+ cp -ap html/Linux-PAM_ADG.html html/adg-*.html \
+ $(top_builddir)/Linux-PAM-$(VERSION)/doc/adg/html/; \
+ elif test -f $(srcdir)/html/Linux-PAM_ADG.html; then \
+ cp -ap $(srcdir)/html/Linux-PAM_ADG.html \
+ $(srcdir)/html/adg-*.html \
+ $(top_builddir)/Linux-PAM-$(VERSION)/doc/adg/html/; \
+ else exit 1; \
+ fi
+ if test -f Linux-PAM_ADG.txt; then \
+ cp -p Linux-PAM_ADG.txt \
+ $(top_builddir)/Linux-PAM-$(VERSION)/doc/adg/; \
+ elif test -f $(srcdir)/Linux-PAM_ADG.txt; then \
+ cp -p $(srcdir)/Linux-PAM_ADG.txt \
+ $(top_builddir)/Linux-PAM-$(VERSION)/doc/adg/; \
+ else exit 1; \
+ fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/doc/Makefile.in
new/transactional-update-1.24/doc/Makefile.in
--- old/transactional-update-1.23/doc/Makefile.in 1970-01-01
01:00:00.000000000 +0100
+++ new/transactional-update-1.24/doc/Makefile.in 2017-12-05
20:36:55.000000000 +0100
@@ -0,0 +1,463 @@
+# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# Copyright (c) 2017 Thorsten Kukuk <[email protected]>
+#
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/jh_path_xml_catalog.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BROWSER = @BROWSER@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISSUEDIR = @ISSUEDIR@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LOGROTATEDDIR = @LOGROTATEDDIR@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMDDIR = @SYSTEMDDIR@
+TMPFILESDIR = @TMPFILESDIR@
+UDEVRULESDIR = @UDEVRULESDIR@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XMLLINT = @XMLLINT@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+CLEANFILES = transactional-update.fo *~
+EXTRA_DIST = $(XMLS)
+XMLS = transactional-update.xml
+#DEP_XMLS = $(shell ls $(top_srcdir)/doc/man/pam_*.xml)
+@ENABLE_REGENERATE_MAN_TRUE@MAINTAINERCLEANFILES = transactional-update.txt
html/*.html
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
$(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
$(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure
$(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx
{} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx
{} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s
\
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s
\
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f
$(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+@ENABLE_REGENERATE_MAN_FALSE@distclean-local:
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+ ctags-am distclean distclean-generic distclean-local distdir \
+ dvi dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-local
+
+
+@ENABLE_REGENERATE_MAN_TRUE@all: transactional-update.txt
html/transactional-update.html
+
+@[email protected]: $(XMLS) $(DEP_XMLS)
+@ENABLE_REGENERATE_MAN_TRUE@ $(XMLLINT) --nonet --xinclude --postvalid
--noent --noout $<
+@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam generate.toc "book
toc" \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam section.autolabel 1 \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam
section.label.includes.component.label 1 \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam toc.max.depth 3 --xinclude
--nonet \
+@ENABLE_REGENERATE_MAN_TRUE@
http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl $< |
$(BROWSER) > $@
+
+@ENABLE_REGENERATE_MAN_TRUE@html/transactional-update.html: $(XMLS) $(DEP_XMLS)
+@ENABLE_REGENERATE_MAN_TRUE@ @test -d html || mkdir -p html
+@ENABLE_REGENERATE_MAN_TRUE@ $(XMLLINT) --nonet --xinclude --postvalid
--noent --noout $<
+@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam base.dir html/ \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam root.filename
transactional-update \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam use.id.as.filename 1 \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam chunk.section.depth 0 \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam chunk.first.sections 0 \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam section.autolabel 1 \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam
section.label.includes.component.label 1 \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam toc.max.depth 3 --xinclude
--nonet \
+@ENABLE_REGENERATE_MAN_TRUE@ --stringparam chunker.output.encoding UTF-8 \
+@ENABLE_REGENERATE_MAN_TRUE@
http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl $<
+
+@ENABLE_REGENERATE_MAN_TRUE@distclean-local:
+@ENABLE_REGENERATE_MAN_TRUE@ -rm -rf html transactional-update.txt
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(docdir)
+ $(mkinstalldirs) $(DESTDIR)$(pdfdir)
+ $(mkinstalldirs) $(DESTDIR)$(htmldir)
+ if test -f html/transactional-update.html; then \
+ $(install_sh_DATA) html/transactional-update.html html/tu-*.html \
+ $(DESTDIR)$(htmldir)/; \
+ elif test -f $(srcdir)/html/transactional-update.html; then \
+ $(install_sh_DATA) $(srcdir)/html/transactinal-update.html \
+ $(srcdir)/html/tu-*.html \
+ $(DESTDIR)$(htmldir)/; \
+ fi
+ if test -f transactional-update.txt; then \
+ $(install_sh_DATA) transactional-update.txt $(DESTDIR)$(docdir)/; \
+ elif test -f $(srcdir)/transactional-update.txt; then \
+ $(install_sh_DATA) $(srcdir)/transactional-update.txt \
+ $(DESTDIR)$(docdir)/; \
+ fi
+
+uninstall-local:
+ -rm $(DESTDIR)$(htmldir)/transactional-update.html
+ -rm $(DESTDIR)$(htmldir)/tu-*.html
+ -rm $(DESTDIR)$(docdir)/transactional-update.txt
+
+releasedocs: all
+ $(mkinstalldirs)
$(top_builddir)/transactional-update-$(VERSION)/doc/adg/html
+ if test -f html/Linux-PAM_ADG.html; then \
+ cp -ap html/Linux-PAM_ADG.html html/adg-*.html \
+ $(top_builddir)/Linux-PAM-$(VERSION)/doc/adg/html/; \
+ elif test -f $(srcdir)/html/Linux-PAM_ADG.html; then \
+ cp -ap $(srcdir)/html/Linux-PAM_ADG.html \
+ $(srcdir)/html/adg-*.html \
+ $(top_builddir)/Linux-PAM-$(VERSION)/doc/adg/html/; \
+ else exit 1; \
+ fi
+ if test -f Linux-PAM_ADG.txt; then \
+ cp -p Linux-PAM_ADG.txt \
+ $(top_builddir)/Linux-PAM-$(VERSION)/doc/adg/; \
+ elif test -f $(srcdir)/Linux-PAM_ADG.txt; then \
+ cp -p $(srcdir)/Linux-PAM_ADG.txt \
+ $(top_builddir)/Linux-PAM-$(VERSION)/doc/adg/; \
+ else exit 1; \
+ fi
+
+# 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.23/doc/transactional-update.xml
new/transactional-update-1.24/doc/transactional-update.xml
--- old/transactional-update-1.23/doc/transactional-update.xml 1970-01-01
01:00:00.000000000 +0100
+++ new/transactional-update-1.24/doc/transactional-update.xml 2017-11-24
14:21:36.000000000 +0100
@@ -0,0 +1,121 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<book id="tug">
+ <bookinfo>
+ <title>The Transactional Update Guide</title>
+ <authorgroup>
+ <author>
+ <firstname>Thorsten</firstname>
+ <surname>Kukuk</surname>
+ <email>[email protected]</email>
+ </author>
+ </authorgroup>
+ <releaseinfo>Version 0.1, 24. November 2017</releaseinfo>
+ <abstract>
+ <para>
+ This documentation describes how transactional update with btrfs
+ works, what an administrator needs to know about the system setup and
+ what a packager needs to know for his package.
+ </para>
+ </abstract>
+ </bookinfo>
+
+ <chapter id="tu-introduction">
+ <title>Introduction</title>
+ <section id="tu-introduction-description">
+ <title>Description</title>
+ <para>
+ <emphasis remap='B'>transactional-update</emphasis>
+ is an application that allows to apply intrusive updates to a running
+ system in an <emphasis>atomic</emphasis> way without influencing the
+ running system, taking the system down for a longer period or blocks
+ the boot process.
+ </para>
+ </section>
+
+ <section id="tu-introduction-definition">
+ <title>Definition</title>
+ <para>
+ A <emphasis>transactional update</emphasis> is a kind of update that:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ is atomic - the update does not influence your running system
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ can be rolled back - if the upgrade fails or if the newer software
+ version is not compatible with your infrastructure, you can
+ quickly restore the situation as it was before the upgrade.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ </chapter>
+
+ <chapter id="tu-howitworks">
+ <title>How it works</title>
+ <para>
+ Explain how transactional update works, use pictures from slides.
+ </para>
+ </chapter>
+
+ <chapter id="tu-setup">
+ <title> Setup of system </title>
+ <para>
+ Read-only root filesystem or Read-Write filesystem? Requirements for
+ RPMs, what is allowed and what not. Config files in /etc with
+ overlayfs. Special handling for passwd, shadow, group. Rollback. Strict
+ seperation from data and applications.
+ </para>
+ </chapter>
+
+ <chapter id='tu-porting'>
+ <title>Porting to other systems</title>
+ <para>
+ You need a CoW filesystem (or anything else with snapshots
+ and rollback), else this should work with every package manager.
+ </para>
+ </chapter>
+
+ <chapter id='tu-files'>
+ <title>Files</title>
+ <variablelist>
+ <varlistentry>
+ <term><filename>/usr/include/security/pam_appl.h</filename></term>
+ <listitem>
+ <para>
+ Header file with interfaces for
+ <emphasis remap='B'>Linux-PAM</emphasis> applications.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>/usr/include/security/pam_misc.h</filename></term>
+ <listitem>
+ <para>
+ Header file for useful library functions for making
+ applications easier to write.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </chapter>
+
+ <chapter id='tu-author'>
+ <title>Author/acknowledgments</title>
+ <para>
+ This document was written by Thorsten Kukuk <[email protected]>
+ with many contributions from ...
+ </para>
+ </chapter>
+
+ <chapter id='tu-copyright'>
+ <title>Copyright information for this document</title>
+ <para>
+ </para>
+ </chapter>
+</book>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/logrotate/Makefile.in
new/transactional-update-1.24/logrotate/Makefile.in
--- old/transactional-update-1.23/logrotate/Makefile.in 2017-11-17
14:52:26.000000000 +0100
+++ new/transactional-update-1.24/logrotate/Makefile.in 2017-12-05
20:36:55.000000000 +0100
@@ -147,6 +147,7 @@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+BROWSER = @BROWSER@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/man/Makefile.in
new/transactional-update-1.24/man/Makefile.in
--- old/transactional-update-1.23/man/Makefile.in 2017-11-17
14:52:26.000000000 +0100
+++ new/transactional-update-1.24/man/Makefile.in 2017-12-05
20:36:55.000000000 +0100
@@ -152,6 +152,7 @@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+BROWSER = @BROWSER@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/man/transactional-update.8
new/transactional-update-1.24/man/transactional-update.8
--- old/transactional-update-1.23/man/transactional-update.8 2017-11-17
14:43:02.000000000 +0100
+++ new/transactional-update-1.24/man/transactional-update.8 2017-12-05
20:25:57.000000000 +0100
@@ -2,12 +2,12 @@
.\" Title: transactional-update
.\" Author: Thorsten Kukuk <[email protected]>
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 11/17/2017
+.\" Date: 12/05/2017
.\" Manual: transactional-update
.\" Source: transactional-update
.\" Language: English
.\"
-.TH "TRANSACTIONAL\-UPDAT" "8" "11/17/2017" "transactional-update"
"transactional-update"
+.TH "TRANSACTIONAL\-UPDAT" "8" "12/05/2017" "transactional-update"
"transactional-update"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -181,6 +181,23 @@
If PTFs get installed or removed, and
\fBtransactional\-update\fR
is called again before the next reboot and updates packages, the changes to
the PTFs are lost and need to be redone with the next reboot\&. After
installing or removing PTFs, the system should be immeaditly rebooted\&.
+.SH "NOTES"
+.PP
+If
+/etc/default/grub
+was modified by an administrator, the modified version is copied into the new
snapshot\&.
+.PP
+If during the update process
+/etc/passwd,
+/etc/group
+or
+/etc/shadow
+are modified and
+/usr/etc
+exists, the modified files are copied into
+/usr/etc
+and can be accessed by tools like
+\fBlibnss_usrfiles\fR\&. This prevents that the new accounts are hidden by
local modifications by the system administrator\&.
.SH "SEE ALSO"
.PP
\fBsystemd.timer\fR(5),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.23/man/transactional-update.8.html
new/transactional-update-1.24/man/transactional-update.8.html
--- old/transactional-update-1.23/man/transactional-update.8.html
2017-11-17 14:43:02.000000000 +0100
+++ new/transactional-update-1.24/man/transactional-update.8.html
2017-12-05 20:25:57.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 href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.22</span><hr><div
class="refentry"><a name="transactional-update.8"></a><div
class="titlepage"></div><div class="refnamediv"><a
name="name"></a><h2>Name</h2><p>transactional-update,
transactional-update.service, transactional-update.timer — Apply updates to the
system in an atomic way via transactional
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.23</span><hr><div
class="refentry"><a name="transactional-update.8"></a><div
class="titlepage"></div><div class="refnamediv"><a
name="name"></a><h2>Name</h2><p>transactional-update,
transactional-update.service, transactional-update.timer — Apply updates to the
system in an atomic way via transactional
updates.</p></div><div class="refsynopsisdiv"><a
name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> [--help] [--version]</p></div><div
class="cmdsynopsis"><p><code class="command">transactional-update</code>
[cleanup] [ up | dup | patch | bootloader | initrd ] [kdump]
[reboot]</p></div><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> [cleanup] [reboot] pkg install
| remove | update <RPM>...<RPM> </p></div><div
class="cmdsynopsis"><p><code class="command">transactional-update</code>
migration </p></div><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> rollback
[number]</p></div><p><code
class="filename">transactional-update.service</code></p><p><code
class="filename">transactional-update.timer</code></p></div><div
class="refsect1"><a name="description"></a><h2 id="DESCRIPTION">DESCRIPTION<a
class="headerlink" title="Permalink to this headline"
href="#DESCRIPTION">¶</a></h2><p><span
class="command"><strong>transactional-update</strong></span> updates the system
in a transactional way, which means: it is atomic, so either the patches are
fully applied or nothing is changed. The update does not influence your
@@ -117,5 +117,15 @@
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="notes"></a><h2 id="NOTES">NOTES<a
class="headerlink" title="Permalink to this headline"
href="#NOTES">¶</a></h2><p>
+ If <code class="filename">/etc/default/grub</code> was modified by an
administrator,
+ the modified version is copied into the new snapshot.
+</p><p>
+ If during the update process <code class="filename">/etc/passwd</code>,
+ <code class="filename">/etc/group</code> or <code
class="filename">/etc/shadow</code> are
+ modified and <code class="filename">/usr/etc</code> exists, the modified
files are
+ copied into <code class="filename">/usr/etc</code> and can be accessed by
tools like
+ <span class="command"><strong>libnss_usrfiles</strong></span>. This prevents
that the new accounts are
+ hidden by local modifications by the system administrator.
</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.23/man/transactional-update.8.xml
new/transactional-update-1.24/man/transactional-update.8.xml
--- old/transactional-update-1.23/man/transactional-update.8.xml
2017-11-17 14:29:57.000000000 +0100
+++ new/transactional-update-1.24/man/transactional-update.8.xml
2017-12-04 13:59:04.000000000 +0100
@@ -319,6 +319,21 @@
</para>
</refsect1>
+<refsect1 id='notes'><title>NOTES</title>
+<para>
+ If <filename>/etc/default/grub</filename> was modified by an administrator,
+ the modified version is copied into the new snapshot.
+</para>
+<para>
+ If during the update process <filename>/etc/passwd</filename>,
+ <filename>/etc/group</filename> or <filename>/etc/shadow</filename> are
+ modified and <filename>/usr/etc</filename> exists, the modified files are
+ copied into <filename>/usr/etc</filename> and can be accessed by tools like
+ <command>libnss_usrfiles</command>. This prevents that the new accounts are
+ hidden by local modifications by the system administrator.
+</para>
+</refsect1>
+
<refsect1 id='see_also'><title>SEE ALSO</title>
<para><citerefentry
project='systemd'><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry
project='systemd'><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry></para>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.23/man/transactional-update.index.html
new/transactional-update-1.24/man/transactional-update.index.html
--- old/transactional-update-1.23/man/transactional-update.index.html
2017-11-17 14:43:02.000000000 +0100
+++ new/transactional-update-1.24/man/transactional-update.index.html
2017-12-05 20:25:57.000000000 +0100
@@ -15,4 +15,4 @@
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink,
dt:hover > a.headerlink {
visibility: visible;
}
- </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.22</span><hr><div
class="refentry"><a name="transactional-update.index"></a><div
class="titlepage"></div><div
class="refnamediv"><h2>Name</h2><p>transactional-update.index — List all
manpages from the transactional-update project</p></div><div
class="refsect1"><a name="id-1.4"></a><h2 id="T">T<a class="headerlink"
title="Permalink to this headline" href="#T">¶</a></h2><p><a
href="transactional-update.8.html"><span class="citerefentry"><span
class="refentrytitle">transactional-update</span>(8)</span></a> -- Apply
updates to the system in an atomic way via transactional updates.<br><a
href="transactional-update.service.8.html"><span class="citerefentry"><span
class="refentrytitle">transactional-update.service</span>(8)</span></a> --
Apply updates to the system in an atomic way via transactional updates.<br><a
href="transactional-update.timer.8.html"><span class="citerefentry"><span
class="refentrytitle">transactional-update.timer</span>(8)</span></a> -- Apply
updates to the system in an atomic way via transactional
updates.<br></p></div><div class="refsect1"><a name="id-1.5"></a><p><a
name="counts"></a>This index contains 3 entries, referring to 1 individual
manual pages.</p></div></div></body></html>
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.23</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.23/man/transactional-update.service.8.html
new/transactional-update-1.24/man/transactional-update.service.8.html
--- old/transactional-update-1.23/man/transactional-update.service.8.html
2017-11-17 14:43:02.000000000 +0100
+++ new/transactional-update-1.24/man/transactional-update.service.8.html
2017-12-05 20:25:57.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 href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.22</span><hr><div
class="refentry"><a name="transactional-update.8"></a><div
class="titlepage"></div><div class="refnamediv"><a
name="name"></a><h2>Name</h2><p>transactional-update,
transactional-update.service, transactional-update.timer — Apply updates to the
system in an atomic way via transactional
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.23</span><hr><div
class="refentry"><a name="transactional-update.8"></a><div
class="titlepage"></div><div class="refnamediv"><a
name="name"></a><h2>Name</h2><p>transactional-update,
transactional-update.service, transactional-update.timer — Apply updates to the
system in an atomic way via transactional
updates.</p></div><div class="refsynopsisdiv"><a
name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> [--help] [--version]</p></div><div
class="cmdsynopsis"><p><code class="command">transactional-update</code>
[cleanup] [ up | dup | patch | bootloader | initrd ] [kdump]
[reboot]</p></div><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> [cleanup] [reboot] pkg install
| remove | update <RPM>...<RPM> </p></div><div
class="cmdsynopsis"><p><code class="command">transactional-update</code>
migration </p></div><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> rollback
[number]</p></div><p><code
class="filename">transactional-update.service</code></p><p><code
class="filename">transactional-update.timer</code></p></div><div
class="refsect1"><a name="description"></a><h2 id="DESCRIPTION">DESCRIPTION<a
class="headerlink" title="Permalink to this headline"
href="#DESCRIPTION">¶</a></h2><p><span
class="command"><strong>transactional-update</strong></span> updates the system
in a transactional way, which means: it is atomic, so either the patches are
fully applied or nothing is changed. The update does not influence your
@@ -117,5 +117,15 @@
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="notes"></a><h2 id="NOTES">NOTES<a
class="headerlink" title="Permalink to this headline"
href="#NOTES">¶</a></h2><p>
+ If <code class="filename">/etc/default/grub</code> was modified by an
administrator,
+ the modified version is copied into the new snapshot.
+</p><p>
+ If during the update process <code class="filename">/etc/passwd</code>,
+ <code class="filename">/etc/group</code> or <code
class="filename">/etc/shadow</code> are
+ modified and <code class="filename">/usr/etc</code> exists, the modified
files are
+ copied into <code class="filename">/usr/etc</code> and can be accessed by
tools like
+ <span class="command"><strong>libnss_usrfiles</strong></span>. This prevents
that the new accounts are
+ hidden by local modifications by the system administrator.
</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.23/man/transactional-update.timer.8.html
new/transactional-update-1.24/man/transactional-update.timer.8.html
--- old/transactional-update-1.23/man/transactional-update.timer.8.html
2017-11-17 14:43:02.000000000 +0100
+++ new/transactional-update-1.24/man/transactional-update.timer.8.html
2017-12-05 20:25:57.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 href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.22</span><hr><div
class="refentry"><a name="transactional-update.8"></a><div
class="titlepage"></div><div class="refnamediv"><a
name="name"></a><h2>Name</h2><p>transactional-update,
transactional-update.service, transactional-update.timer — Apply updates to the
system in an atomic way via transactional
+ </style><a href="transactional-update.index.html">Index </a><span
style="float:right">transactional-update 1.23</span><hr><div
class="refentry"><a name="transactional-update.8"></a><div
class="titlepage"></div><div class="refnamediv"><a
name="name"></a><h2>Name</h2><p>transactional-update,
transactional-update.service, transactional-update.timer — Apply updates to the
system in an atomic way via transactional
updates.</p></div><div class="refsynopsisdiv"><a
name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> [--help] [--version]</p></div><div
class="cmdsynopsis"><p><code class="command">transactional-update</code>
[cleanup] [ up | dup | patch | bootloader | initrd ] [kdump]
[reboot]</p></div><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> [cleanup] [reboot] pkg install
| remove | update <RPM>...<RPM> </p></div><div
class="cmdsynopsis"><p><code class="command">transactional-update</code>
migration </p></div><div class="cmdsynopsis"><p><code
class="command">transactional-update</code> rollback
[number]</p></div><p><code
class="filename">transactional-update.service</code></p><p><code
class="filename">transactional-update.timer</code></p></div><div
class="refsect1"><a name="description"></a><h2 id="DESCRIPTION">DESCRIPTION<a
class="headerlink" title="Permalink to this headline"
href="#DESCRIPTION">¶</a></h2><p><span
class="command"><strong>transactional-update</strong></span> updates the system
in a transactional way, which means: it is atomic, so either the patches are
fully applied or nothing is changed. The update does not influence your
@@ -117,5 +117,15 @@
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="notes"></a><h2 id="NOTES">NOTES<a
class="headerlink" title="Permalink to this headline"
href="#NOTES">¶</a></h2><p>
+ If <code class="filename">/etc/default/grub</code> was modified by an
administrator,
+ the modified version is copied into the new snapshot.
+</p><p>
+ If during the update process <code class="filename">/etc/passwd</code>,
+ <code class="filename">/etc/group</code> or <code
class="filename">/etc/shadow</code> are
+ modified and <code class="filename">/usr/etc</code> exists, the modified
files are
+ copied into <code class="filename">/usr/etc</code> and can be accessed by
tools like
+ <span class="command"><strong>libnss_usrfiles</strong></span>. This prevents
that the new accounts are
+ hidden by local modifications by the system administrator.
</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.23/sbin/Makefile.in
new/transactional-update-1.24/sbin/Makefile.in
--- old/transactional-update-1.23/sbin/Makefile.in 2017-11-17
14:52:26.000000000 +0100
+++ new/transactional-update-1.24/sbin/Makefile.in 2017-12-05
20:36:55.000000000 +0100
@@ -148,6 +148,7 @@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+BROWSER = @BROWSER@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transactional-update-1.23/sbin/transactional-update.in
new/transactional-update-1.24/sbin/transactional-update.in
--- old/transactional-update-1.23/sbin/transactional-update.in 2017-11-17
14:45:58.000000000 +0100
+++ new/transactional-update-1.24/sbin/transactional-update.in 2017-12-05
20:23:00.000000000 +0100
@@ -125,6 +125,37 @@
fi
}
+# if the SHA256 sum of passwd, group or shadow has changed, copy the
+# files to /usr/etc as fallback source. Else, if the user did modify a
password,
+# the shadow copy of this files will hide this changes. Needs libnss_usrfiles
+# installed.
+calc_user_group_sha256sum () {
+ SHA256_passwd=`sha256sum ${MOUNT_DIR}/etc/passwd | awk '{ print $1 }'`
+ SHA256_group=`sha256sum ${MOUNT_DIR}/etc/group | awk '{ print $1 }'`
+ SHA256_shadow=`sha256sum ${MOUNT_DIR}/etc/shadow | awk '{ print $1 }'`
+}
+
+copy_user_group_accounts () {
+ # check if we have usr/etc (means libnss_usrfiles is installed.
+ # if not, don't copy modified passwd, group or shadow files.
+ test -d ${MOUNT_DIR}/usr/etc || return
+
+ NEWSUM=`sha256sum ${MOUNT_DIR}/etc/passwd | awk '{ print $1 }'`
+ if [ ${NEWSUM} != ${SHA256_passwd} ]; then
+ cp -a ${MOUNT_DIR}/etc/passwd ${MOUNT_DIR}/usr/etc/
+ fi
+
+ NEWSUM=`sha256sum ${MOUNT_DIR}/etc/group | awk '{ print $1 }'`
+ if [ ${NEWSUM} != ${SHA256_group} ]; then
+ cp -a ${MOUNT_DIR}/etc/group ${MOUNT_DIR}/usr/etc/
+ fi
+
+ NEWSUM=`sha256sum ${MOUNT_DIR}/etc/shadow | awk '{ print $1 }'`
+ if [ ${NEWSUM} != ${SHA256_shadow} ]; then
+ cp -a ${MOUNT_DIR}/etc/shadow ${MOUNT_DIR}/usr/etc/
+ fi
+}
+
# only called in error case
quit() {
if [ -n "${SNAPSHOT_ID}" ] ; then
@@ -476,11 +507,11 @@
quit 1;
fi
- # Save all snapshots we create for update. If transactional-update is
+ # Remember all snapshots we create for update. If transactional-update is
# run several times before a reboot, we need to cleanup the not used
- # snapshots. Else we would have a big disk space leak.
+ # snapshots. Else we would have a big disk space leak. But don't store it
+ # on disk yet, in error case we would delete the snapshot again.
UNUSED_SNAPSHOTS="${SNAPSHOT_ID} ${UNUSED_SNAPSHOTS}"
- save_state_file ${SNAPSHOT_ID}
# Check if installed with SLES12
touch ${SNAPSHOT_DIR}/var/tmp/update_snapshot.test
@@ -544,6 +575,9 @@
done
if [ -n "${ZYPPER_ARG}" ]; then
+
+ calc_user_group_sha256sum
+
log_info "Calling zypper ${ZYPPER_ARG}"
if [ -n "${ZYPPER_NONINTERACTIVE}" ]; then
env DISABLE_RESTART_ON_UPDATE=yes zypper -R ${MOUNT_DIR}
${ZYPPER_ARG} ${ZYPPER_NONINTERACTIVE} ${ZYPPER_ARG_PKGS} |& tee -a ${LOGFILE}
@@ -566,10 +600,12 @@
RETVAL=$?
fi
fi
+
if [ $RETVAL -ne 0 ]; then
log_error "ERROR: zypper ${ZYPPER_ARG} on ${MOUNT_DIR} failed!"
EXITCODE=1
else
+ copy_user_group_accounts
REBUILD_KDUMP_INITRD=1
fi
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transactional-update-1.23/systemd/Makefile.in
new/transactional-update-1.24/systemd/Makefile.in
--- old/transactional-update-1.23/systemd/Makefile.in 2017-11-17
14:52:26.000000000 +0100
+++ new/transactional-update-1.24/systemd/Makefile.in 2017-12-05
20:36:55.000000000 +0100
@@ -147,6 +147,7 @@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+BROWSER = @BROWSER@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@