Hello community, here is the log from the commit of package snapper for openSUSE:Factory checked in at 2013-07-18 17:34:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/snapper (Old) and /work/SRC/openSUSE:Factory/.snapper.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "snapper" Changes: -------- --- /work/SRC/openSUSE:Factory/snapper/snapper.changes 2013-07-01 16:00:21.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.snapper.new/snapper.changes 2013-07-18 18:08:35.000000000 +0200 @@ -1,0 +2,13 @@ +Tue Jul 09 14:00:16 CEST 2013 - [email protected] + +- added manpage describing snapper configs +- optimize timeline cleanup algorithm for only sporadic running + systems +- 0.1.5 + +------------------------------------------------------------------- +Mon Jul 08 16:18:10 CEST 2013 - [email protected] + +- document filters and use fnmatch with FNM_LEADING_DIR + +------------------------------------------------------------------- Old: ---- snapper-0.1.4.tar.bz2 New: ---- snapper-0.1.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ snapper.spec ++++++ --- /var/tmp/diff_new_pack.iSzPOD/_old 2013-07-18 18:08:36.000000000 +0200 +++ /var/tmp/diff_new_pack.iSzPOD/_new 2013-07-18 18:08:36.000000000 +0200 @@ -17,7 +17,7 @@ Name: snapper -Version: 0.1.4 +Version: 0.1.5 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: snapper-%{version}.tar.bz2 @@ -74,7 +74,7 @@ ./configure --libdir=%{_libdir} --prefix=%{prefix} --mandir=%{_mandir} \ --docdir=%{prefix}/share/doc/packages/snapper \ - --disable-silent-rules --disable-ext4 --enable-xattrs + --disable-silent-rules --disable-ext4 make %{?jobs:-j%jobs} %install ++++++ snapper-0.1.4.tar.bz2 -> snapper-0.1.5.tar.bz2 ++++++ ++++ 1776 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/LIBVERSION new/snapper-0.1.5/LIBVERSION --- old/snapper-0.1.4/LIBVERSION 2013-01-22 11:46:31.000000000 +0100 +++ new/snapper-0.1.5/LIBVERSION 2013-07-12 10:50:54.000000000 +0200 @@ -1 +1 @@ -2.0.0 +2.1.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/VERSION new/snapper-0.1.5/VERSION --- old/snapper-0.1.4/VERSION 2013-05-02 17:16:41.000000000 +0200 +++ new/snapper-0.1.5/VERSION 2013-07-12 10:50:54.000000000 +0200 @@ -1 +1 @@ -0.1.4 +0.1.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/client/cleanup.cc new/snapper-0.1.5/client/cleanup.cc --- old/snapper-0.1.4/client/cleanup.cc 2013-01-22 11:46:31.000000000 +0100 +++ new/snapper-0.1.5/client/cleanup.cc 2013-07-09 14:33:52.000000000 +0200 @@ -255,24 +255,31 @@ list<XSnapshots::const_iterator>::iterator it = tmp.begin(); while (it != tmp.end()) { + bool keep = false; + if (num_hourly < limit_hourly && is_first_hourly(it, tmp.end(), *it)) { ++num_hourly; - it = tmp.erase(it); + keep = true; } - else if (num_daily < limit_daily && is_first_daily(it, tmp.end(), *it)) + if (num_daily < limit_daily && is_first_daily(it, tmp.end(), *it)) { ++num_daily; - it = tmp.erase(it); + keep = true; } - else if (num_monthly < limit_monthly && is_first_monthly(it, tmp.end(), *it)) + if (num_monthly < limit_monthly && is_first_monthly(it, tmp.end(), *it)) { ++num_monthly; - it = tmp.erase(it); + keep = true; } - else if (num_yearly < limit_yearly && is_first_yearly(it, tmp.end(), *it)) + if (num_yearly < limit_yearly && is_first_yearly(it, tmp.end(), *it)) { ++num_yearly; + keep = true; + } + + if (keep) + { it = tmp.erase(it); } else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/configure.ac new/snapper-0.1.5/configure.ac --- old/snapper-0.1.4/configure.ac 2013-06-24 18:01:34.000000000 +0200 +++ new/snapper-0.1.5/configure.ac 2013-07-15 17:19:26.000000000 +0200 @@ -94,27 +94,28 @@ AC_ARG_ENABLE([zypp], AC_HELP_STRING([--disable-zypp],[Disable zypp plugin support]), [with_zypp=$enableval],[with_zypp=yes]) -AM_CONDITIONAL(HAVE_ZYPP, [test "$with_zypp" != "no"]) +AM_CONDITIONAL(HAVE_ZYPP, [test "x$with_zypp" = "xyes"]) AC_CHECK_LIB(btrfs, btrfs_read_and_process_send_stream) -AC_ARG_ENABLE([xattrs], AC_HELP_STRING([--enable-xattrs],[Enable extended attributes support]), - [with_xattrs=$enableval],[with_xattrs=no]) +AC_ARG_ENABLE([xattrs], AC_HELP_STRING([--disable-xattrs],[Disable extended attributes support]), + [with_xattrs=$enableval],[with_xattrs=yes]) +AM_CONDITIONAL(HAVE_XATTRS, [test "x$with_xattrs" = "xyes"]) -AM_CONDITIONAL(HAVE_XATTRS, [test "x$with_xattrs" != "xno"]) - -if test "x$with_xattrs" != "xno"; then +if test "x$with_xattrs" = "xyes"; then AC_DEFINE(ENABLE_XATTRS, 1, [Enable extended attributes support]) fi AC_ARG_ENABLE([pam], AC_HELP_STRING([--disable-pam],[Disable pam plugin support]), [with_pam=$enableval],[with_pam=yes]) -AM_CONDITIONAL(HAVE_PAM, [test "$with_pam" != "no"]) +AM_CONDITIONAL(HAVE_PAM, [test "x$with_pam" = "xyes"]) PKG_CHECK_MODULES(DBUS, dbus-1) AC_SUBST(VERSION) AC_SUBST(LIBVERSION_MAJOR) +AC_SUBST(LIBVERSION_MINOR) +AC_SUBST(LIBVERSION_PATCHLEVEL) AC_SUBST(LIBVERSION_INFO) AC_SUBST(docdir) AC_SUBST(fillupdir) @@ -122,6 +123,7 @@ AC_OUTPUT( Makefile snapper/Makefile + snapper/Version.h:snapper/Version.h.in examples/Makefile examples/c/Makefile examples/c++-lib/Makefile @@ -135,6 +137,7 @@ doc/Makefile doc/snapper.xml:doc/snapper.xml.in doc/snapperd.xml:doc/snapperd.xml.in + doc/snapper-configs.xml:doc/snapper-configs.xml.in doc/pam_snapper.xml:doc/pam_snapper.xml.in po/Makefile testsuite/Makefile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/doc/Makefile.am new/snapper-0.1.5/doc/Makefile.am --- old/snapper-0.1.4/doc/Makefile.am 2013-06-28 15:50:31.000000000 +0200 +++ new/snapper-0.1.5/doc/Makefile.am 2013-07-09 14:33:52.000000000 +0200 @@ -2,16 +2,19 @@ # Makefile.am for snapper/doc # -man_MANS = snapper.8 snapperd.8 +man_MANS = snapper.8 snapperd.8 snapper-configs.5 if HAVE_PAM man_MANS += pam_snapper.8 endif +.xml.5: .xml + $(XSLTPROC) --nonet manpages.xsl $< + .xml.8: .xml $(XSLTPROC) --nonet manpages.xsl $< -html: $(man_MANS:%.8=%.html) +html: $(man_MANS:%.5=%.html) $(man_MANS:%.8=%.html) .xml.html: .xml $(XSLTPROC) --nonet html.xsl $< > $@ @@ -19,5 +22,5 @@ EXTRA_DIST = dbus-protocol.txt manpages.xsl html.xsl clean-local: - rm -f *.8 *.html + rm -f *.{5,8} *.html diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/doc/manpages.xsl new/snapper-0.1.5/doc/manpages.xsl --- old/snapper-0.1.4/doc/manpages.xsl 2013-06-28 15:50:31.000000000 +0200 +++ new/snapper-0.1.5/doc/manpages.xsl 2013-07-11 14:50:52.000000000 +0200 @@ -1,4 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/> + <xsl:param name="man.justify">0</xsl:param> + <xsl:param name="man.output.quietly" select="1"></xsl:param> </xsl:stylesheet> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/doc/pam_snapper.xml.in new/snapper-0.1.5/doc/pam_snapper.xml.in --- old/snapper-0.1.4/doc/pam_snapper.xml.in 2013-06-14 10:30:54.000000000 +0200 +++ new/snapper-0.1.5/doc/pam_snapper.xml.in 2013-07-11 12:40:54.000000000 +0200 @@ -36,10 +36,10 @@ <refsect1 id='description'> <title>DESCRIPTION</title> - <para>Create a snapshot at every login of a User, thus he or she always have a save + <para>Create a snapshot at every login of a user, thus he or she always has a save starting point.</para> - <para>As many users do not logout for some time, it is a good idea, to + <para>As many users do not logout for some time, it is a good idea to enable snapper's time based snapshots in addition.</para> </refsect1> @@ -75,7 +75,7 @@ <varlistentry> <term><option>rootasroot</option></term> <listitem> - <para>Perform a snapshot using the snapper configuration "root", if + <para>Perform a snapshot using the snapper configuration "root" if the user "root" logs in. In other words: the homeprefix is not used in this case. As the snapper configuration "root" is used for the system (the root filesystem), this means that with every login of @@ -83,7 +83,7 @@ snapshotted. This can be useful to help administrators rolling back in case their activity / configuration changes have been accidentally wrong.</para> - <para>"rootasroot" and "ignoreroot" are mutual exclusive.</para> + <para>"rootasroot" and "ignoreroot" are mutually exclusive.</para> </listitem> </varlistentry> <varlistentry> @@ -91,7 +91,7 @@ <listitem> <para>No snapshot is taken, if the user "root" opens/closes a session.</para> - <para>"rootasroot" and "ignoreroot" are mutual exclusive.</para> + <para>"rootasroot" and "ignoreroot" are mutually exclusive.</para> </listitem> </varlistentry> <varlistentry> @@ -147,13 +147,17 @@ <orderedlist> <listitem> - <para>Create a btrfs subvolume for the new user, and a snapper + <para>Create a btrfs subvolume for the new user and a snapper configuration, e.g. using the tool - <command>/usr/lib/pam_snapper/pam_snapper_useradd.sh</command>.</para> + <filename>/usr/lib/pam_snapper/pam_snapper_useradd.sh</filename>.</para> </listitem> <listitem> - <para>Add the following line to <filename>/etc/pam.d/common-session</filename>:</para> - <para>"session optional pam_snapper.so"</para> + <para>Add the following line to + <filename>/etc/pam.d/common-session</filename>: + <programlisting> +session optional pam_snapper.so + </programlisting> + </para> </listitem> </orderedlist> </refsect2> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/doc/snapper-configs.xml.in new/snapper-0.1.5/doc/snapper-configs.xml.in --- old/snapper-0.1.4/doc/snapper-configs.xml.in 1970-01-01 01:00:00.000000000 +0100 +++ new/snapper-0.1.5/doc/snapper-configs.xml.in 2013-07-09 14:33:52.000000000 +0200 @@ -0,0 +1,219 @@ +<?xml version="1.0" encoding="utf-8"?> +<refentry id='snapper-configs5'> + + <refentryinfo> + <date>2013-07-09</date> + </refentryinfo> + + <refmeta> + <refentrytitle>snapper-configs</refentrytitle> + <manvolnum>5</manvolnum> + <refmiscinfo class='date'>2013-07-09</refmiscinfo> + <refmiscinfo class='version'>@VERSION@</refmiscinfo> + <refmiscinfo class='manual'>Filesystem Snapshot Management</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>snapper-configs</refname> + <refpurpose>Configuration files for snapper configs</refpurpose> + </refnamediv> + + <refsect1 id='description'> + <title>DESCRIPTION</title> + <para>Each file <filename>/etc/snapper/configs/*</filename> describes a + snapper config.</para> + </refsect1> + + <refsect1 id='variables'> + <title>VARIABLES</title> + + <para>The following is a list of variables that can be present in the + configuration file. Boolean values must be "yes" or + "no".</para> + + <variablelist> + <varlistentry> + + <term><option>SUBVOLUME=<replaceable>path</replaceable></option></term> + <listitem> + <para>Path of the subvolume or mount point.</para> + <para>There is no default value. The value must always be + specified.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>FSTYPE=<replaceable>value</replaceable></option></term> + <listitem> + <para>Filesystem type for the subvolume.</para> + <para>Default value is "btrfs" but it's recommended to + always specify the filesystem type.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>ALLOW_USERS=<replaceable>users</replaceable></option></term> + <listitem> + <para>List of users allowed to operate with the config. The user-names + must be separated by spaces. Spaces in usernames can be escaped with a + "\".</para> + <para>Default value is "" but "root" is always + implicitly included.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>ALLOW_GROUPS=<replaceable>groups</replaceable></option></term> + <listitem> + <para>List of groups allowed to operate with the config. The group-names + must be separated by spaces. Spaces in group-names can be escaped with a + "\".</para> + <para>Default value is "".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>BACKGROUND_COMPARISON=<replaceable>boolean</replaceable></option></term> + <listitem> + <para>Defines whether pre and post snapshots should be compared in + the background after creation.</para> + <para>Default value is "no".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>NUMBER_CLEANUP=<replaceable>boolean</replaceable></option></term> + <listitem> + <para>Defines whether the number cleanup algorithm should be run for + the config.</para> + <para>Default value is "no".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>NUMBER_MIN_AGE=<replaceable>seconds</replaceable></option></term> + <listitem> + <para>Minimal age for snapshots to be deleted by the number cleanup + algorithm.</para> + <para>Default value is "1800".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>NUMBER_LIMIT=<replaceable>number</replaceable></option></term> + <listitem> + <para>Defines how many snapshots the number cleanup algorithm should + keep. The youngest snapshots will be kept.</para> + <para>Default value is "100".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>TIMELINE_CREATE=<replaceable>boolean</replaceable></option></term> + <listitem> + <para>Defines whether hourly snapshots should be created.</para> + <para>Together with the timeline cleanup algorithm this will create + a collection of snapshots with more snapshots is the near past and + less snapshots in the far past.</para> + <para>Default value is "no".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>TIMELINE_CLEANUP=<replaceable>boolean</replaceable></option></term> + <listitem> + <para>Defines whether the timeline cleanup algorithm should be run for + the config.</para> + <para>Default value is "no".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>TIMELINE_MIN_AGE=<replaceable>seconds</replaceable></option></term> + <listitem> + <para>Minimal age for snapshots to be deleted by the timeline + cleanup algorithm.</para> + <para>Default value is "1800".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>TIMELINE_LIMIT_HOURLY=<replaceable>number</replaceable></option></term> + <listitem> + <para>Defines how many hourly snapshots the timeline cleanup + algorithm should keep. An hourly snapshots is the first snapshot in an + hour. The youngest hourly snapshots will be kept.</para> + <para>Default value is "10".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>TIMELINE_LIMIT_DAILY=<replaceable>number</replaceable></option></term> + <listitem> + <para>Defines how many daily snapshots the timeline cleanup + algorithm should keep. A daily snapshots is the first snapshot in a day. The + youngest daily snapshots will be kept.</para> + <para>Default value is "10".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>TIMELINE_LIMIT_MONTHLY=<replaceable>number</replaceable></option></term> + <listitem> + <para>Defines how many daily snapshots the timeline cleanup + algorithm should keep. A daily snapshots is the first snapshot in a day. The + youngest daily snapshots will be kept.</para> + <para>Default value is "10".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>TIMELINE_LIMIT_YEARLY=<replaceable>number</replaceable></option></term> + <listitem> + <para>Defines how many daily snapshots the timeline cleanup + algorithm should keep. A daily snapshots is the first snapshot in a day. The + youngest daily snapshots will be kept.</para> + <para>Default value is "10".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>EMPTY_PRE_POST_CLEANUP=<replaceable>boolean</replaceable></option></term> + <listitem> + <para>Defines whether the empty-pre-post cleanup algorithm should be + run for the config.</para> + <para>Default value is "no".</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>EMPTY_PRE_POST_MIN_AGE=<replaceable>seconds</replaceable></option></term> + <listitem> + <para>Minimal age for snapshots to be deleted by the empty-pre-post + cleanup algorithm.</para> + <para>Default value is "1800".</para> + </listitem> + </varlistentry> + + </variablelist> + </refsect1> + + <refsect1 id='homepage'> + <title>HOMEPAGE</title> + <para><ulink url='http://snapper.io/'>http://snapper.io/</ulink></para> + </refsect1> + + <refsect1 id='authors'> + <title>AUTHORS</title> + <para>Arvin Schnell <email>[email protected]</email></para> + </refsect1> + + <refsect1 id='see_also'> + <title>SEE ALSO</title> + <para> + <citerefentry><refentrytitle>snapper</refentrytitle><manvolnum>8</manvolnum></citerefentry>, + <citerefentry><refentrytitle>snapperd</refentrytitle><manvolnum>8</manvolnum></citerefentry> + </para> + </refsect1> + +</refentry> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/doc/snapper.xml.in new/snapper-0.1.5/doc/snapper.xml.in --- old/snapper-0.1.4/doc/snapper.xml.in 2013-06-13 11:00:57.000000000 +0200 +++ new/snapper-0.1.5/doc/snapper.xml.in 2013-07-09 14:33:52.000000000 +0200 @@ -49,9 +49,10 @@ <refsect2 id='configurations'> <title>Configurations</title> - <para>For each filesystem or subvolume that should be snapshotted by snapper a - configuration file is required. The complete setup can be done with the - create-config command.</para> + <para>For each filesystem or subvolume that should be snapshotted by + snapper, a configuration file is required, see + <citerefentry><refentrytitle>snapper-configs</refentrytitle><manvolnum>5</manvolnum></citerefentry>. The + setup can be done with the create-config command.</para> </refsect2> <refsect2 id='snapshots'> @@ -92,7 +93,7 @@ <refsect2 id='automatic_snapshot_creation'> <title>Automatic Snapshot Creation</title> - <para>Next to manual snapshot creation snapshots are also created automatically.</para> + <para>Next to manual snapshot creation, snapshots are also created automatically.</para> <itemizedlist> <listitem> <para>A cron-job creates hourly snapshots.</para> @@ -107,7 +108,7 @@ <refsect2 id='cleanup_algorithms'> <title>Cleanup Algorithms</title> - <para>Snapper provides several algorithms to cleanup old snapshots. The + <para>Snapper provides several algorithms to clean up old snapshots. The algorithms are executed in a daily cron-job. This can be configured in the corresponding configurations files along with parameters for every algorithm.</para> @@ -135,6 +136,25 @@ </glosslist> </refsect2> + <refsect2 id='filters'> + <title>Filters</title> + + <para>Some files keep state information of the system, + e.g. <filename>/etc/mtab</filename>. Such files should never be + reverted. To help users, snapper allows to ignore these files.</para> + + <para>Each line in all + files <filename>/etc/snapper/filters/*.txt</filename> specifies a + pattern. When snapper computes the difference between two snapshots it + ignores all files and directories matching any of those patterns by + using + <citerefentry><refentrytitle>fnmatch</refentrytitle><manvolnum>3</manvolnum></citerefentry> + with the flag FNM_LEADING_DIR.</para> + + <para>Note that filters do not exclude files or directories from being + snapshotted. For that, use subvolumes or mount points.</para> + </refsect2> + </refsect1> <refsect1 id='global_options'> @@ -178,7 +198,7 @@ <refsect1 id='commands'> <title>COMMANDS</title> - <para>snapper provides a number of <emphasis>commands</emphasis>. Each + <para>Snapper provides a number of <emphasis>commands</emphasis>. Each command accepts the options listed in the <link linkend='global_options'>GLOBAL OPTIONS</link> section. These options must be specified <emphasis>before</emphasis> the command name. In addition, @@ -216,7 +236,7 @@ <term><option>-f, --fstype</option> <replaceable>fstype</replaceable></term> <listitem> <para>Manually set filesystem type. Supported values are btrfs, ext4 and lvm. For - lvm snapper uses LVM thin-provisioned snapshots. The filesystem type on top of + lvm, snapper uses LVM thin-provisioned snapshots. The filesystem type on top of LVM must be provided in parentheses, e.g. lvm(xfs).</para> <para>Without this option snapper tries to detect the filesystem.</para> </listitem> @@ -291,7 +311,7 @@ <varlistentry> <term><option>-c, --cleanup-algorithm</option> <replaceable>cleanup-algorithm</replaceable></term> <listitem> - <para>Set the cleanup-algorithm for the snapshot.</para> + <para>Set the cleanup algorithm for the snapshot.</para> </listitem> </varlistentry> <varlistentry> @@ -326,7 +346,7 @@ <varlistentry> <term><option>-c, --cleanup-algorithm</option> <replaceable>cleanup-algorithm</replaceable></term> <listitem> - <para>Set the cleanup-algorithm for the snapshot.</para> + <para>Set the cleanup algorithm for the snapshot.</para> </listitem> </varlistentry> <varlistentry> @@ -441,7 +461,7 @@ <refsect1 id='permissions'> <title>PERMISSIONS</title> <para>Non-root users can be allowed to use a configuration by setting - ALLOW_USERS or ALLOW_GROUPS in the config file. For all operations to work the + ALLOW_USERS or ALLOW_GROUPS in the config file. For all operations to work, the user must also be able to read and access the <filename>.snapshots</filename> directory inside the subvolume. The <filename>.snapshots</filename> directory must be owned by root and must not be writable by anybody else.</para> @@ -469,9 +489,9 @@ </listitem> </varlistentry> <varlistentry> - <term><filename>/etc/snapper/filters</filename></term> + <term><filename>/etc/snapper/filters/*.txt</filename></term> <listitem> - <para>Directory containing filter files.</para> + <para>Filter files.</para> </listitem> </varlistentry> <varlistentry> @@ -486,11 +506,11 @@ <refsect1 id='notes'> <title>NOTES</title> <para>There is no mechanism to ensure consistency of the files while a - snapshot it made. E.g. the files of a database can be inconsistence while + snapshot it made. E.g. the files of a database can be inconsistent while the database is running.</para> <para>Consistency after undochange is not guaranteed. E.g. when the - creation of a user is undone there might still exist files from that + creation of a user is undone, there might still exist files from that user.</para> <para>Support for extended attributes is a compile-time option.</para> @@ -509,6 +529,7 @@ <refsect1 id='see_also'> <title>SEE ALSO</title> <para> + <citerefentry><refentrytitle>snapper-configs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>lvm</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>attr</refentrytitle><manvolnum>5</manvolnum></citerefentry> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/Compare.cc new/snapper-0.1.5/snapper/Compare.cc --- old/snapper-0.1.4/snapper/Compare.cc 2013-04-22 16:26:33.000000000 +0200 +++ new/snapper-0.1.5/snapper/Compare.cc 2013-07-15 17:19:26.000000000 +0200 @@ -20,6 +20,8 @@ */ +#include "config.h" + #include <string.h> #include <sys/types.h> #include <sys/stat.h> @@ -30,17 +32,12 @@ #include <algorithm> #include <boost/thread.hpp> -#include "config.h" #include "snapper/Log.h" #include "snapper/AppUtil.h" #include "snapper/File.h" #include "snapper/Compare.h" #include "snapper/Exception.h" - - -#ifdef ENABLE_XATTRS - #include "snapper/XAttributes.h" -#endif +#include "snapper/XAttributes.h" namespace snapper @@ -223,13 +220,13 @@ } #ifdef ENABLE_XATTRS - if (file1.xaSupported() && file2.xaSupported()) - { - if (!cmpFilesXattrs(file1, file2)) - { - status |= XATTRS; - } - } + if (file1.xaSupported() && file2.xaSupported()) + { + if (!cmpFilesXattrs(file1, file2)) + { + status |= XATTRS; + } + } #endif return status; @@ -470,8 +467,6 @@ } -#ifdef ENABLE_XATTRS - bool cmpFilesXattrs(const SFile& file1, const SFile& file2) { @@ -488,6 +483,4 @@ } } -#endif - } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/Compare.h new/snapper-0.1.5/snapper/Compare.h --- old/snapper-0.1.4/snapper/Compare.h 2013-04-16 17:01:36.000000000 +0200 +++ new/snapper-0.1.5/snapper/Compare.h 2013-07-15 17:19:26.000000000 +0200 @@ -48,10 +48,9 @@ void cmpDirs(const SDir& dir1, const SDir& dir2, cmpdirs_cb_t cb); -#ifdef ENABLE_XATTRS bool cmpFilesXattrs(const SFile&, const SFile&); -#endif + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/Comparison.cc new/snapper-0.1.5/snapper/Comparison.cc --- old/snapper-0.1.4/snapper/Comparison.cc 2013-04-16 17:01:36.000000000 +0200 +++ new/snapper-0.1.5/snapper/Comparison.cc 2013-07-15 17:19:26.000000000 +0200 @@ -20,13 +20,14 @@ */ +#include "config.h" + #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <string.h> #include <errno.h> -#include "config.h" #include "snapper/Comparison.h" #include "snapper/Snapper.h" #include "snapper/Log.h" @@ -259,7 +260,7 @@ return files.getUndoStatistic(); } -#ifdef ENABLE_XATTRS + XAUndoStatistic Comparison::getXAUndoStatistic() const { @@ -268,7 +269,6 @@ return files.getXAUndoStatistic(); } -#endif vector<UndoStep> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/Comparison.h new/snapper-0.1.5/snapper/Comparison.h --- old/snapper-0.1.4/snapper/Comparison.h 2013-04-16 17:01:36.000000000 +0200 +++ new/snapper-0.1.5/snapper/Comparison.h 2013-07-15 17:19:26.000000000 +0200 @@ -50,9 +50,7 @@ void umount() const; UndoStatistic getUndoStatistic() const; -#ifdef ENABLE_XATTRS XAUndoStatistic getXAUndoStatistic() const; -#endif vector<UndoStep> getUndoSteps() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/Exception.h new/snapper-0.1.5/snapper/Exception.h --- old/snapper-0.1.4/snapper/Exception.h 2013-04-16 17:01:36.000000000 +0200 +++ new/snapper-0.1.5/snapper/Exception.h 2013-07-15 17:19:26.000000000 +0200 @@ -75,13 +75,12 @@ const char* msg; }; -#ifdef ENABLE_XATTRS struct XAttributesException : public SnapperException { - explicit XAttributesException() throw() {} - virtual const char* what() const throw() { return "XAttributes error"; } + explicit XAttributesException() throw() {} + virtual const char* what() const throw() { return "XAttributes error"; } }; -#endif + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/File.cc new/snapper-0.1.5/snapper/File.cc --- old/snapper-0.1.4/snapper/File.cc 2013-04-18 15:46:39.000000000 +0200 +++ new/snapper-0.1.5/snapper/File.cc 2013-07-15 17:19:26.000000000 +0200 @@ -20,6 +20,8 @@ */ +#include "config.h" + #include <sys/stat.h> #include <sys/types.h> #include <string.h> @@ -29,7 +31,6 @@ #include <fcntl.h> #include <boost/algorithm/string.hpp> -#include "config.h" #include "snapper/File.h" #include "snapper/Snapper.h" #include "snapper/AppUtil.h" @@ -38,10 +39,8 @@ #include "snapper/SnapperDefines.h" #include "snapper/Compare.h" #include "snapper/Exception.h" +#include "snapper/XAttributes.h" -#ifdef ENABLE_XATTRS -#include <snapper/XAttributes.h> -#endif namespace snapper { @@ -79,7 +78,7 @@ bool operator()(const File& file) { for (vector<string>::const_iterator it = patterns.begin(); it != patterns.end(); ++it) - if (fnmatch(it->c_str(), file.getName().c_str(), 0) == 0) + if (fnmatch(it->c_str(), file.getName().c_str(), FNM_LEADING_DIR) == 0) return true; return false; } @@ -528,7 +527,7 @@ return true; } -#ifdef ENABLE_XATTRS + bool File::modifyXattributes() { @@ -593,7 +592,7 @@ return xs; } -#endif + bool File::doUndo() @@ -630,6 +629,7 @@ error = true; } #endif + pre_to_system_status = (unsigned int) -1; post_to_system_status = (unsigned int) -1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/File.h new/snapper-0.1.5/snapper/File.h --- old/snapper-0.1.4/snapper/File.h 2013-04-16 17:01:36.000000000 +0200 +++ new/snapper-0.1.5/snapper/File.h 2013-07-15 17:19:26.000000000 +0200 @@ -23,7 +23,7 @@ #ifndef SNAPPER_FILE_H #define SNAPPER_FILE_H -#include "config.h" + #include <sys/stat.h> #include <string> @@ -71,7 +71,7 @@ friend std::ostream& operator<<(std::ostream& s, const UndoStatistic& rs); }; -#ifdef ENABLE_XATTRS + struct XAUndoStatistic { XAUndoStatistic(): numCreate(0), numReplace(0), numDelete(0) {} @@ -82,7 +82,6 @@ friend XAUndoStatistic& operator+=(XAUndoStatistic&, const XAUndoStatistic&); }; -#endif struct UndoStep @@ -109,10 +108,8 @@ File(const FilePaths* file_paths, const string& name, unsigned int pre_to_post_status) : file_paths(file_paths), name(name), pre_to_post_status(pre_to_post_status), - pre_to_system_status(-1), post_to_system_status(-1), undo(false) -#ifdef ENABLE_XATTRS - ,xaCreated(0), xaDeleted(0), xaReplaced(0) -#endif + pre_to_system_status(-1), post_to_system_status(-1), undo(false), + xaCreated(0), xaDeleted(0), xaReplaced(0) {} const string& getName() const { return name; } @@ -133,9 +130,8 @@ friend std::ostream& operator<<(std::ostream& s, const File& file); -#ifdef ENABLE_XATTRS - XAUndoStatistic getXAUndoStatistic() const; -#endif + XAUndoStatistic getXAUndoStatistic() const; + private: bool createParentDirectories(const string& path) const; @@ -159,13 +155,12 @@ bool undo; -#ifdef ENABLE_XATTRS - bool modifyXattributes(); + bool modifyXattributes(); + + unsigned int xaCreated; + unsigned int xaDeleted; + unsigned int xaReplaced; - unsigned int xaCreated; - unsigned int xaDeleted; - unsigned int xaReplaced; -#endif }; @@ -202,9 +197,9 @@ vector<UndoStep> getUndoSteps() const; bool doUndoStep(const UndoStep& undo_step); -#ifdef ENABLE_XATTRS + XAUndoStatistic getXAUndoStatistic() const; -#endif + protected: void push_back(File file) { entries.push_back(file); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/FileUtils.cc new/snapper-0.1.5/snapper/FileUtils.cc --- old/snapper-0.1.4/snapper/FileUtils.cc 2013-05-31 17:41:33.000000000 +0200 +++ new/snapper-0.1.5/snapper/FileUtils.cc 2013-07-15 17:19:26.000000000 +0200 @@ -20,10 +20,13 @@ */ +#include "config.h" + #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/mount.h> +#include <sys/xattr.h> #include <fcntl.h> #include <stddef.h> #include <dirent.h> @@ -33,10 +36,6 @@ #include <assert.h> #include <algorithm> -#include "config.h" -#ifdef ENABLE_XATTRS - #include <sys/xattr.h> -#endif #include "snapper/FileUtils.h" #include "snapper/AppUtil.h" #include "snapper/Log.h" @@ -69,9 +68,7 @@ throw IOErrorException(); } -#ifdef ENABLE_XATTRS setXaStatus(); -#endif } @@ -97,9 +94,7 @@ throw IOErrorException(); } -#ifdef ENABLE_XATTRS xastatus = dir.xastatus; -#endif } @@ -113,9 +108,7 @@ throw IOErrorException(); } -#ifdef ENABLE_XATTRS xastatus = dir.xastatus; -#endif } @@ -132,9 +125,7 @@ throw IOErrorException(); } -#ifdef ENABLE_XATTRS xastatus = dir.xastatus; -#endif } return *this; @@ -399,8 +390,6 @@ } -#ifdef ENABLE_XATTRS - bool SDir::xaSupported() const { @@ -485,6 +474,7 @@ { xastatus = XA_UNKNOWN; +#ifdef ENABLE_XATTRS ssize_t ret = flistxattr(dirfd, NULL, 0); if (ret < 0) { @@ -503,9 +493,8 @@ { xastatus = XA_SUPPORTED; } - } - #endif + } bool @@ -599,8 +588,6 @@ } -#ifdef ENABLE_XATTRS - bool SFile::xaSupported() const { @@ -621,6 +608,4 @@ return dir.getxattr(SFile::name, name, value, size); } -#endif - } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/FileUtils.h new/snapper-0.1.5/snapper/FileUtils.h --- old/snapper-0.1.4/snapper/FileUtils.h 2013-04-22 16:36:33.000000000 +0200 +++ new/snapper-0.1.5/snapper/FileUtils.h 2013-07-15 17:19:26.000000000 +0200 @@ -23,7 +23,6 @@ #ifndef SNAPPER_FILE_UTILS_H #define SNAPPER_FILE_UTILS_H -#include "config.h" #include <string> #include <vector> @@ -36,13 +35,12 @@ using std::string; using std::vector; -#ifdef ENABLE_XATTRS + enum XaAttrsStatus { XA_UNKNOWN, XA_UNSUPPORTED, XA_SUPPORTED }; -#endif /* @@ -93,12 +91,10 @@ int mktemp(string& name) const; -#ifdef ENABLE_XATTRS bool xaSupported() const; ssize_t listxattr(const string& path, char* list, size_t size) const; ssize_t getxattr(const string& path, const char* name, void* value, size_t size) const; -#endif bool mount(const string& device, const string& mount_type, unsigned long mount_flags, const string& mount_data) const; @@ -106,10 +102,8 @@ private: -#ifdef ENABLE_XATTRS XaAttrsStatus xastatus; void setXaStatus(); -#endif const string base_path; const string path; @@ -133,12 +127,10 @@ int open(int flags) const; int readlink(string& buf) const; -#ifdef ENABLE_XATTRS bool xaSupported() const; ssize_t listxattr(char* list, size_t size) const; ssize_t getxattr(const char* name, void* value, size_t size) const; -#endif private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/Makefile.am new/snapper-0.1.5/snapper/Makefile.am --- old/snapper-0.1.4/snapper/Makefile.am 2013-06-21 16:06:44.000000000 +0200 +++ new/snapper-0.1.5/snapper/Makefile.am 2013-07-15 17:19:26.000000000 +0200 @@ -8,10 +8,6 @@ lib_LTLIBRARIES = libsnapper.la -if HAVE_XATTRS -TMP_XA = XAttributes.cc XAttributes.h -endif - libsnapper_la_SOURCES = \ Factory.cc Factory.h \ Snapper.cc Snapper.h \ @@ -23,6 +19,7 @@ Enum.cc Enum.h \ AppUtil.cc AppUtil.h \ FileUtils.cc FileUtils.h \ + XAttributes.cc XAttributes.h \ Log.cc Log.h \ Logger.cc Logger.h \ Compare.cc Compare.h \ @@ -33,6 +30,7 @@ SnapperTmpl.h \ SnapperTypes.h \ SnapperDefines.h \ + Version.h \ $(TMP_XA) @@ -58,6 +56,7 @@ pkgincludedir = $(includedir)/snapper pkginclude_HEADERS = \ + Version.h \ Factory.h \ Snapper.h \ Snapshot.h \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/Snapper.cc new/snapper-0.1.5/snapper/Snapper.cc --- old/snapper-0.1.4/snapper/Snapper.cc 2013-06-21 16:06:44.000000000 +0200 +++ new/snapper-0.1.5/snapper/Snapper.cc 2013-07-08 16:25:55.000000000 +0200 @@ -121,7 +121,8 @@ string line; while (asciifile.getline(line)) - ignore_patterns.push_back(line); + if (!line.empty()) + ignore_patterns.push_back(line); } catch (const FileNotFoundException& e) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/Version.h new/snapper-0.1.5/snapper/Version.h --- old/snapper-0.1.4/snapper/Version.h 1970-01-01 01:00:00.000000000 +0100 +++ new/snapper-0.1.5/snapper/Version.h 2013-07-15 17:20:07.000000000 +0200 @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2013 Novell, Inc. + * + * All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may + * find current contact information at www.novell.com. + */ + + +#ifndef SNAPPER_VERSION_H +#define SNAPPER_VERSION_H + + +#define LIBSNAPPER_MAJOR="2" +#define LIBSNAPPER_MINOR="1" +#define LIBSNAPPER_PATCHLEVEL="0" + +#define LIBSNAPPER_VERSION ( LIBSNAPPER_MAJOR * 10000 + \\ + LIBSNAPPER_MINOR * 100 + \\ + LIBSNAPPER_PATCHLEVEL ) + + +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/Version.h.in new/snapper-0.1.5/snapper/Version.h.in --- old/snapper-0.1.4/snapper/Version.h.in 1970-01-01 01:00:00.000000000 +0100 +++ new/snapper-0.1.5/snapper/Version.h.in 2013-07-15 14:55:55.000000000 +0200 @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2013 Novell, Inc. + * + * All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may + * find current contact information at www.novell.com. + */ + + +#ifndef SNAPPER_VERSION_H +#define SNAPPER_VERSION_H + + +#define LIBSNAPPER_MAJOR="@LIBVERSION_MAJOR@" +#define LIBSNAPPER_MINOR="@LIBVERSION_MINOR@" +#define LIBSNAPPER_PATCHLEVEL="@LIBVERSION_PATCHLEVEL@" + +#define LIBSNAPPER_VERSION ( LIBSNAPPER_MAJOR * 10000 + \\ + LIBSNAPPER_MINOR * 100 + \\ + LIBSNAPPER_PATCHLEVEL ) + + +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/XAttributes.cc new/snapper-0.1.5/snapper/XAttributes.cc --- old/snapper-0.1.4/snapper/XAttributes.cc 2013-04-26 12:23:09.000000000 +0200 +++ new/snapper-0.1.5/snapper/XAttributes.cc 2013-07-15 17:19:26.000000000 +0200 @@ -27,16 +27,14 @@ #include <fcntl.h> #include <unistd.h> #include <errno.h> - #include <iomanip> +#include <boost/scoped_array.hpp> #include "snapper/AppUtil.h" #include "snapper/Exception.h" #include "snapper/Log.h" #include "snapper/XAttributes.h" -#include <boost/scoped_array.hpp> - namespace snapper { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper/XAttributes.h new/snapper-0.1.5/snapper/XAttributes.h --- old/snapper-0.1.4/snapper/XAttributes.h 2013-04-22 16:26:33.000000000 +0200 +++ new/snapper-0.1.5/snapper/XAttributes.h 2013-07-15 17:19:26.000000000 +0200 @@ -23,7 +23,6 @@ #include <stdint.h> - #include <map> #include <vector> #include <string> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/snapper-0.1.4/snapper.spec.in new/snapper-0.1.5/snapper.spec.in --- old/snapper-0.1.4/snapper.spec.in 2013-06-21 16:06:44.000000000 +0200 +++ new/snapper-0.1.5/snapper.spec.in 2013-07-15 17:19:26.000000000 +0200 @@ -67,7 +67,7 @@ ./configure --libdir=%{_libdir} --prefix=%{prefix} --mandir=%{_mandir} \ --docdir=%{prefix}/share/doc/packages/snapper \ - --disable-silent-rules --disable-ext4 --enable-xattrs + --disable-silent-rules --disable-ext4 make %{?jobs:-j%jobs} %install -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
