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);


Reply via email to