wimlib only uses the extended attributes interface on Linux, where it
appears it is now safe to assume the functions are present in libc (see:
http://lists.nongnu.org/archive/html/acl-devel/2012-04/msg00001.html).
Note: the setfattr program from the "attr" package is still required to
run the NTFS-3G test script.
automatically be loaded if you try to mount a WIM image. For more
information see http://fuse.sourceforge.net/.
automatically be loaded if you try to mount a WIM image. For more
information see http://fuse.sourceforge.net/.
-* libattr (optional but recommended)
- Unless configured --without-fuse, wimlib also requires libattr. Almost
- all Linux distributions should include this; however, you may need to
- install the header files, which might be in a package named "attr-dev",
- "libattr1-dev", or similar.
-
* libntfs-3g (optional but recommended)
Unless configured --without-ntfs-3g, wimlib requires the library and
headers for libntfs-3g to be installed. The minimum required version is
* libntfs-3g (optional but recommended)
Unless configured --without-ntfs-3g, wimlib requires the library and
headers for libntfs-3g to be installed. The minimum required version is
--without-fuse
The --without-fuse option disables support for mounting WIM images.
--without-fuse
The --without-fuse option disables support for mounting WIM images.
- This removes dependencies on libfuse, librt, and libattr. The wimmount,
+ This removes dependencies on libfuse and librt. The wimmount,
wimmountrw, and wimunmount commands will not work.
The default is --with-fuse when building for Linux, and --without-fuse
wimmountrw, and wimunmount commands will not work.
The default is --with-fuse when building for Linux, and --without-fuse
arch=("i686" "x86_64")
url="https://wimlib.net"
license=("custom")
arch=("i686" "x86_64")
url="https://wimlib.net"
license=("custom")
-depends=("openssl" "fuse" "libxml2" "ntfs-3g" "attr")
+depends=("openssl" "fuse" "libxml2" "ntfs-3g")
+checkdepends=("attr")
optdepends=("cdrkit: for making ISO image of Windows PE"
"mtools: for making disk image of Windows PE"
"syslinux: for making disk image of Windows PE"
optdepends=("cdrkit: for making ISO image of Windows PE"
"mtools: for making disk image of Windows PE"
"syslinux: for making disk image of Windows PE"
# Header checks, most of which are only here to satisfy conditional includes
# made by the libntfs-3g headers.
AC_CHECK_HEADERS([alloca.h \
# Header checks, most of which are only here to satisfy conditional includes
# made by the libntfs-3g headers.
AC_CHECK_HEADERS([alloca.h \
byteswap.h \
endian.h \
errno.h \
byteswap.h \
endian.h \
errno.h \
sys/file.h \
sys/sysctl.h \
sys/times.h \
sys/file.h \
sys/sysctl.h \
sys/times.h \
versions of glibc include this library. Either install this library, or
configure --without-fuse to disable support for mounting WIM images.])])
versions of glibc include this library. Either install this library, or
configure --without-fuse to disable support for mounting WIM images.])])
- AC_CHECK_LIB([attr], [getxattr], [],
- [AC_MSG_ERROR([Cannot find libattr!
- wimlib needs this for the extended attribute functions, which are used
- in the code for mounting WIM images. Either install this library, or
- configure --without-fuse to disable support for mounting WIM images.])])
-
PKGCONFIG_PRIVATE_LIBS="$PKGCONFIG_PRIVATE_LIBS -lrt"
AC_SUBST([LIBRT_LIBS], [-lrt])
fi
PKGCONFIG_PRIVATE_LIBS="$PKGCONFIG_PRIVATE_LIBS -lrt"
AC_SUBST([LIBRT_LIBS], [-lrt])
fi
Maintainer: Eric Biggers <ebiggers3@gmail.com>
Build-Depends: debhelper (>= 8.9.7), autotools-dev, pkg-config,
libfuse-dev, libxml2-dev, libssl-dev,
Maintainer: Eric Biggers <ebiggers3@gmail.com>
Build-Depends: debhelper (>= 8.9.7), autotools-dev, pkg-config,
libfuse-dev, libxml2-dev, libssl-dev,
- ntfs-3g-dev (>= 2011.4.12), attr-dev, attr
+ ntfs-3g-dev (>= 2011.4.12), attr
Build-Depends-Indep: doxygen
Standards-Version: 3.9.3
Section: libs
Build-Depends-Indep: doxygen
Standards-Version: 3.9.3
Section: libs
Summary: Library to extract, create, modify, and mount WIM files
Group: System Environment/Libraries
Requires: fuse
Summary: Library to extract, create, modify, and mount WIM files
Group: System Environment/Libraries
Requires: fuse
-BuildRequires: libxml2-devel, fuse, fuse-devel, openssl-devel, libattr-devel
+BuildRequires: libxml2-devel, fuse, fuse-devel, openssl-devel, attr
BuildRequires: ntfs-3g-devel, ntfsprogs, libtool, pkgconfig
%description -n libwim15
wimlib is a C library for extracting, creating, modifying, and mounting WIM
BuildRequires: ntfs-3g-devel, ntfsprogs, libtool, pkgconfig
%description -n libwim15
wimlib is a C library for extracting, creating, modifying, and mounting WIM
#define FUSE_USE_VERSION 26
#define FUSE_USE_VERSION 26
-#include <sys/types.h> /* sometimes required before <attr/xattr.h> */
-
-#include <attr/xattr.h>
+#include <sys/types.h> /* sometimes required before <sys/xattr.h> */
+#include <sys/xattr.h>
#include <dirent.h>
#include <errno.h>
#include <fuse.h>
#include <dirent.h>
#include <errno.h>
#include <fuse.h>
# define O_NOFOLLOW 0 /* Security only... */
#endif
# define O_NOFOLLOW 0 /* Security only... */
#endif
+#ifndef ENOATTR
+# define ENOATTR ENODATA
+#endif
+
#define WIMFS_MQUEUE_NAME_LEN 32
#define WIMLIB_UNMOUNT_FLAG_SEND_PROGRESS 0x80000000
#define WIMFS_MQUEUE_NAME_LEN 32
#define WIMLIB_UNMOUNT_FLAG_SEND_PROGRESS 0x80000000
#include <unistd.h>
#include <stdbool.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdbool.h>
#include <sys/stat.h>
-#ifdef HAVE_ATTR_XATTR_H
-#include <attr/xattr.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_XATTR_H
+# include <sys/xattr.h>
#endif
#include <assert.h>
#endif
#include <assert.h>
+#ifndef ENOATTR
+# define ENOATTR ENODATA
+#endif
+
typedef uint64_t u64;
#if 0
typedef uint64_t u64;
#if 0
-#ifdef HAVE_ATTR_XATTR_H
/* Compares an extended attribute of the files. */
static void cmp_xattr(const char *file1, const char *file2,
const char *xattr_name, ssize_t max_size,
/* Compares an extended attribute of the files. */
static void cmp_xattr(const char *file1, const char *file2,
const char *xattr_name, ssize_t max_size,
+#endif /* HAVE_SYS_XATTR_H */
/* Compares special NTFS data of the files, as accessed through extended
* attributes. */
static void special_cmp(const char *file1, const char *file2)
{
/* Compares special NTFS data of the files, as accessed through extended
* attributes. */
static void special_cmp(const char *file1, const char *file2)
{
-#ifdef HAVE_ATTR_XATTR_H
cmp_xattr(file1, file2, "system.ntfs_acl", 0, false);
cmp_xattr(file1, file2, "system.ntfs_attrib", 0, false);
cmp_xattr(file1, file2, "system.ntfs_dos_name", 0, true);
cmp_xattr(file1, file2, "system.ntfs_acl", 0, false);
cmp_xattr(file1, file2, "system.ntfs_attrib", 0, false);
cmp_xattr(file1, file2, "system.ntfs_dos_name", 0, true);
#else
fprintf(stderr, "tree-cmp: Warning: cannot compare xattrs of `%s' and `%s'\n",
file1, file2);
#else
fprintf(stderr, "tree-cmp: Warning: cannot compare xattrs of `%s' and `%s'\n",
file1, file2);
- fprintf(stderr, " You need to install the attr development files for this.\n");
+ fprintf(stderr, " Extended attributes are not supported on this platform.\n");