Hello community, here is the log from the commit of package fsarchiver for openSUSE:Factory checked in at 2016-02-23 16:57:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fsarchiver (Old) and /work/SRC/openSUSE:Factory/.fsarchiver.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fsarchiver" Changes: -------- --- /work/SRC/openSUSE:Factory/fsarchiver/fsarchiver.changes 2016-01-12 16:12:58.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.fsarchiver.new/fsarchiver.changes 2016-02-23 16:59:44.000000000 +0100 @@ -1,0 +2,7 @@ +Sat Feb 13 23:13:17 UTC 2016 - lazy.k...@opensuse.org + +- Update to 0.6.22. + * Test support for extended attributes and ACLs instead of + checking mount options. + +------------------------------------------------------------------- Old: ---- fsarchiver-0.6.21.tar.gz New: ---- fsarchiver-0.6.22.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fsarchiver.spec ++++++ --- /var/tmp/diff_new_pack.duUPOR/_old 2016-02-23 16:59:45.000000000 +0100 +++ /var/tmp/diff_new_pack.duUPOR/_new 2016-02-23 16:59:45.000000000 +0100 @@ -17,7 +17,7 @@ Name: fsarchiver -Version: 0.6.21 +Version: 0.6.22 Release: 0 Summary: Filesystem Archiver License: GPL-2.0 ++++++ fsarchiver-0.6.21.tar.gz -> fsarchiver-0.6.22.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fsarchiver-0.6.21/ChangeLog new/fsarchiver-0.6.22/ChangeLog --- old/fsarchiver-0.6.21/ChangeLog 2016-01-07 20:13:57.000000000 +0100 +++ new/fsarchiver-0.6.22/ChangeLog 2016-02-13 17:17:51.000000000 +0100 @@ -1,5 +1,7 @@ fsarchiver: Filesystem Archiver for Linux [http://www.fsarchiver.org] ===================================================================== +* 0.6.22 (2016-02-13): + - Test support for extended attributes and ACLs instead of checking mount options * 0.6.21 (2016-01-07): - Removed duplicate types definitions in order to fix compilation errors - Attempt to unmount a device four times before failing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fsarchiver-0.6.21/configure new/fsarchiver-0.6.22/configure --- old/fsarchiver-0.6.21/configure 2016-01-07 20:20:05.000000000 +0100 +++ new/fsarchiver-0.6.22/configure 2016-02-13 17:19:46.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for fsarchiver 0.6.21. +# Generated by GNU Autoconf 2.69 for fsarchiver 0.6.22. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ # Identity of this package. PACKAGE_NAME='fsarchiver' PACKAGE_TARNAME='fsarchiver' -PACKAGE_VERSION='0.6.21' -PACKAGE_STRING='fsarchiver 0.6.21' +PACKAGE_VERSION='0.6.22' +PACKAGE_STRING='fsarchiver 0.6.22' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1314,7 +1314,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 fsarchiver 0.6.21 to adapt to many kinds of systems. +\`configure' configures fsarchiver 0.6.22 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1385,7 +1385,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of fsarchiver 0.6.21:";; + short | recursive ) echo "Configuration of fsarchiver 0.6.22:";; esac cat <<\_ACEOF @@ -1510,7 +1510,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -fsarchiver configure 0.6.21 +fsarchiver configure 0.6.22 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1875,7 +1875,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by fsarchiver $as_me 0.6.21, which was +It was created by fsarchiver $as_me 0.6.22, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2224,7 +2224,7 @@ -$as_echo "#define PACKAGE_RELDATE \"2016-01-07\"" >>confdefs.h +$as_echo "#define PACKAGE_RELDATE \"2016-02-13\"" >>confdefs.h $as_echo "#define PACKAGE_FILEFMT \"FsArCh_002\"" >>confdefs.h @@ -2236,7 +2236,7 @@ $as_echo "#define PACKAGE_VERSION_B 6" >>confdefs.h -$as_echo "#define PACKAGE_VERSION_C 21" >>confdefs.h +$as_echo "#define PACKAGE_VERSION_C 22" >>confdefs.h $as_echo "#define PACKAGE_VERSION_D 0" >>confdefs.h @@ -2867,7 +2867,7 @@ # Define the identity of the package. PACKAGE='fsarchiver' - VERSION='0.6.21' + VERSION='0.6.22' cat >>confdefs.h <<_ACEOF @@ -7167,7 +7167,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by fsarchiver $as_me 0.6.21, which was +This file was extended by fsarchiver $as_me 0.6.22, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7233,7 +7233,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -fsarchiver config.status 0.6.21 +fsarchiver config.status 0.6.22 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fsarchiver-0.6.21/configure.ac new/fsarchiver-0.6.22/configure.ac --- old/fsarchiver-0.6.21/configure.ac 2016-01-07 20:15:01.000000000 +0100 +++ new/fsarchiver-0.6.22/configure.ac 2016-02-13 17:19:36.000000000 +0100 @@ -3,12 +3,12 @@ AC_PREREQ(2.59) -AC_INIT([fsarchiver], 0.6.21) -AC_DEFINE([PACKAGE_RELDATE], "2016-01-07", [Define the date of the release]) +AC_INIT([fsarchiver], 0.6.22) +AC_DEFINE([PACKAGE_RELDATE], "2016-02-13", [Define the date of the release]) AC_DEFINE([PACKAGE_FILEFMT], "FsArCh_002", [Define the version of the file format]) AC_DEFINE([PACKAGE_VERSION_A], 0, [Major version number]) AC_DEFINE([PACKAGE_VERSION_B], 6, [Medium version number]) -AC_DEFINE([PACKAGE_VERSION_C], 21, [Minor version number]) +AC_DEFINE([PACKAGE_VERSION_C], 22, [Minor version number]) AC_DEFINE([PACKAGE_VERSION_D], 0, [Patch version number]) AC_CANONICAL_HOST([]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fsarchiver-0.6.21/distrib/rpm/fsarchiver.spec new/fsarchiver-0.6.22/distrib/rpm/fsarchiver.spec --- old/fsarchiver-0.6.21/distrib/rpm/fsarchiver.spec 2016-01-07 20:13:03.000000000 +0100 +++ new/fsarchiver-0.6.22/distrib/rpm/fsarchiver.spec 2016-02-13 17:19:36.000000000 +0100 @@ -1,12 +1,12 @@ Name: fsarchiver -Version: 0.6.21 +Version: 0.6.22 Release: 1%{?dist} Summary: Safe and flexible file-system backup/deployment tool Group: Applications/Archiving License: GPLv2 URL: http://www.fsarchiver.org -Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz +Source0: https://github.com/fdupoux/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: e2fsprogs-devel => 1.41.4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fsarchiver-0.6.21/src/filesys.c new/fsarchiver-0.6.22/src/filesys.c --- old/fsarchiver-0.6.21/src/filesys.c 2016-01-07 20:09:39.000000000 +0100 +++ new/fsarchiver-0.6.22/src/filesys.c 2016-01-10 11:07:13.000000000 +0100 @@ -44,15 +44,15 @@ cfilesys filesys[]= { - {"ext2", extfs_mount, extfs_umount, extfs_getinfo, ext2_mkfs, ext2_test, extfs_get_reqmntopt, false, false}, - {"ext3", extfs_mount, extfs_umount, extfs_getinfo, ext3_mkfs, ext3_test, extfs_get_reqmntopt, false, false}, - {"ext4", extfs_mount, extfs_umount, extfs_getinfo, ext4_mkfs, ext4_test, extfs_get_reqmntopt, false, false}, - {"reiserfs", reiserfs_mount, reiserfs_umount, reiserfs_getinfo, reiserfs_mkfs, reiserfs_test, reiserfs_get_reqmntopt, false, false}, - {"reiser4", reiser4_mount, reiser4_umount, reiser4_getinfo, reiser4_mkfs, reiser4_test, reiser4_get_reqmntopt, false, false}, - {"btrfs", btrfs_mount, btrfs_umount, btrfs_getinfo, btrfs_mkfs, btrfs_test, btrfs_get_reqmntopt, false, false}, - {"xfs", xfs_mount, xfs_umount, xfs_getinfo, xfs_mkfs, xfs_test, xfs_get_reqmntopt, false, false}, - {"jfs", jfs_mount, jfs_umount, jfs_getinfo, jfs_mkfs, jfs_test, jfs_get_reqmntopt, false, false}, - {"ntfs", ntfs_mount, ntfs_umount, ntfs_getinfo, ntfs_mkfs, ntfs_test, ntfs_get_reqmntopt, true, true}, + {"ext2", extfs_mount, extfs_umount, extfs_getinfo, ext2_mkfs, ext2_test, extfs_get_reqmntopt, true, true, false, false}, + {"ext3", extfs_mount, extfs_umount, extfs_getinfo, ext3_mkfs, ext3_test, extfs_get_reqmntopt, true, true, false, false}, + {"ext4", extfs_mount, extfs_umount, extfs_getinfo, ext4_mkfs, ext4_test, extfs_get_reqmntopt, true, true, false, false}, + {"reiserfs", reiserfs_mount, reiserfs_umount, reiserfs_getinfo, reiserfs_mkfs, reiserfs_test, reiserfs_get_reqmntopt, true, true, false, false}, + {"reiser4", reiser4_mount, reiser4_umount, reiser4_getinfo, reiser4_mkfs, reiser4_test, reiser4_get_reqmntopt, true, true, false, false}, + {"btrfs", btrfs_mount, btrfs_umount, btrfs_getinfo, btrfs_mkfs, btrfs_test, btrfs_get_reqmntopt, true, true, false, false}, + {"xfs", xfs_mount, xfs_umount, xfs_getinfo, xfs_mkfs, xfs_test, xfs_get_reqmntopt, true, true, false, false}, + {"jfs", jfs_mount, jfs_umount, jfs_getinfo, jfs_mkfs, jfs_test, jfs_get_reqmntopt, true, true, false, false}, + {"ntfs", ntfs_mount, ntfs_umount, ntfs_getinfo, ntfs_mkfs, ntfs_test, ntfs_get_reqmntopt, false, false, true, true}, {NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false}, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fsarchiver-0.6.21/src/filesys.h new/fsarchiver-0.6.22/src/filesys.h --- old/fsarchiver-0.6.21/src/filesys.h 2016-01-07 20:09:39.000000000 +0100 +++ new/fsarchiver-0.6.22/src/filesys.h 2016-01-10 11:07:13.000000000 +0100 @@ -35,6 +35,8 @@ int (*mkfs)(struct s_dico *d, char *partition, char *fsoptions); int (*test)(char *partition); int (*reqmntopt)(char *partition, struct s_strlist *reqopt, struct s_strlist *badopt); + bool support_for_xattr; + bool support_for_acls; bool winattr; bool savesymtargettype; // we have to know the type of the target to recreate a symlink on ntfs }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fsarchiver-0.6.21/src/fs_ext2.c new/fsarchiver-0.6.22/src/fs_ext2.c --- old/fsarchiver-0.6.21/src/fs_ext2.c 2016-01-07 20:09:39.000000000 +0100 +++ new/fsarchiver-0.6.22/src/fs_ext2.c 2016-01-15 09:35:45.000000000 +0100 @@ -502,29 +502,12 @@ int extfs_get_reqmntopt(char *partition, cstrlist *reqopt, cstrlist *badopt) { - blk_t use_superblock=0; - int use_blocksize=0; - u32 defmntoptmask; - ext2_filsys fs; - if (!reqopt || !badopt) return -1; - // check the "default mount options" - if (ext2fs_open(partition, EXT2_FLAG_JOURNAL_DEV_OK | EXT2_FLAG_SOFTSUPP_FEATURES, use_superblock, use_blocksize, unix_io_manager, &fs)!=0) - return -1; - - defmntoptmask=fs->super->s_default_mount_opts; - if (!(defmntoptmask&EXT2_DEFM_XATTR_USER)) - strlist_add(reqopt, "user_xattr"); - if (!(defmntoptmask&EXT2_DEFM_ACL)) - strlist_add(reqopt, "acl"); - strlist_add(badopt, "nouser_xattr"); strlist_add(badopt, "noacl"); - ext2fs_close(fs); - return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fsarchiver-0.6.21/src/fs_reiserfs.c new/fsarchiver-0.6.22/src/fs_reiserfs.c --- old/fsarchiver-0.6.21/src/fs_reiserfs.c 2016-01-07 20:09:39.000000000 +0100 +++ new/fsarchiver-0.6.22/src/fs_reiserfs.c 2016-01-10 11:07:13.000000000 +0100 @@ -180,8 +180,6 @@ if (!reqopt || !badopt) return -1; - strlist_add(reqopt, "user_xattr"); - strlist_add(reqopt, "acl"); strlist_add(badopt, "nouser_xattr"); strlist_add(badopt, "noacl"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fsarchiver-0.6.21/src/oper_save.c new/fsarchiver-0.6.22/src/oper_save.c --- old/fsarchiver-0.6.21/src/oper_save.c 2016-01-07 20:09:39.000000000 +0100 +++ new/fsarchiver-0.6.22/src/oper_save.c 2016-01-10 11:07:13.000000000 +0100 @@ -915,6 +915,7 @@ cstrlist curmntopt; int showwarningcount1=0; int showwarningcount2=0; + int errorattr=false; char temp[PATH_MAX]; char curmntdir[PATH_MAX]; char optbuf[128]; @@ -1036,7 +1037,41 @@ devinfo->fstype=tmptype; devinfo->mountedbyfsa=true; } - + + // Make sure support for extended attributes is enabled if this filesystem supports it + if (g_options.dontcheckmountopts==false) + { + errorattr=false; + + if (filesys[i].support_for_xattr==true) + { errno=0; + res=lgetxattr(devinfo->partmount, "user.fsa_test_xattr", temp, sizeof(temp)); + msgprintf(MSG_DEBUG1, "lgetxattr(\"%s\", \"user.fsa_test_attr\", buf, bufsize)=[%d] and errno=[%d]\n", devinfo->partmount, (int)res, (int)errno); + // errno should be set to ENOATTR if we are able to read extended attributes + if ((res!=0) && (errno==ENOTSUP)) + { errprintf("fsarchiver is unable to access extended attributes on device [%s].\n", devinfo->devpath); + errorattr=true; + } + } + + if (filesys[i].support_for_acls==true) + { errno=0; + res=lgetxattr(devinfo->partmount, "system.posix_acl_access", temp, sizeof(temp)); + msgprintf(MSG_DEBUG1, "lgetxattr(\"%s\", \"system.posix_acl_access\", buf, bufsize)=[%d] and errno=[%d]\n", devinfo->partmount, (int)res, (int)errno); + // errno should be set to ENOATTR if we are able to read ACLs + if ((res!=0) && (errno==ENOTSUP)) + { errprintf("fsarchiver is unable to access ACLs on device [%s].\n", devinfo->devpath); + errorattr=true; + } + } + + if (errorattr==true) + { errprintf("Cannot continue, you can use option '-a' to ignore " + "support for xattr and acl (they will not be preserved)\n"); + return -1; + } + } + // get space statistics if (statvfs64(devinfo->partmount, &statfsbuf)!=0) { errprintf("statvfs64(%s) failed\n", devinfo->partmount);