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 &lt;[email protected]&gt;
+      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    &lt;RPM&gt;...&lt;RPM&gt; </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    &lt;RPM&gt;...&lt;RPM&gt; </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    &lt;RPM&gt;...&lt;RPM&gt; </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@


Reply via email to