From 289bb11a76b5ada26025b2352a184a563f5b85ff Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 21 Jul 2014 21:05:41 +0100 Subject: [PATCH] New package for RHEL 7.1 - Rebase to ntfs-3g 2014.2.15 resolves: rhbz#1100319 - Change the package so it works with supermin5. - Remove dependency on external FUSE. --- libguestfs-winsupport.spec | 151 ++++++++++++++++++++----------------- sources | 2 +- 2 files changed, 81 insertions(+), 72 deletions(-) diff --git a/libguestfs-winsupport.spec b/libguestfs-winsupport.spec index 7d67173..0afc5cd 100644 --- a/libguestfs-winsupport.spec +++ b/libguestfs-winsupport.spec @@ -1,36 +1,32 @@ %global debug_package %{nil} -%global ntfs_version 2013.1.13 +%global ntfs_version 2014.2.15 Name: libguestfs-winsupport -Version: 7.0 +Version: 7.1 Release: 2%{?dist} Summary: Add support for Windows guests to libguestfs +URL: http://www.ntfs-3g.org/ License: GPLv2+ ExclusiveArch: x86_64 # This package shouldn't be installed without installing the base # libguestfs package. -Requires: libguestfs >= 1:1.20.0 +Requires: libguestfs >= 1:1.27.19 -# Needs fuse-libs (RHBZ#599300). -Requires: fuse-libs +# Built for supermin 5. This will not work with older supermin. +BuildRequires: supermin5 +Requires: supermin5 # Source and patches for ntfs. Try to keep this in step with Fedora. Source0: http://tuxera.com/opensource/ntfs-3g_ntfsprogs-%{ntfs_version}.tgz Patch0: ntfs-3g_ntfsprogs-2011.10.9-RC-ntfsck-unsupported-return-0.patch -BuildRequires: fuse-devel -Requires: fuse - BuildRequires: libtool, libattr-devel BuildRequires: libconfig-devel, libgcrypt-devel, gnutls-devel, libuuid-devel -# Required by binaries in the supermin appliance. -Requires: libgcrypt, gnutls, p11-kit, libtasn1, zlib - %description This optional package adds support for Windows guests (NTFS) to the @@ -42,6 +38,9 @@ To enable Windows support, simply install this package. To disable Windows support, uninstall this package. +The package contains NTFS FUSE filesystem support from +ntfs-3g %{ntfs_3g_version}. + %prep %setup -q -n ntfs-3g_ntfsprogs-%{ntfs_version} @@ -53,42 +52,26 @@ CFLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64" %configure \ --disable-static \ --disable-ldconfig \ - --with-fuse=external \ --exec-prefix=/ \ --enable-crypto \ --enable-extras make %{?_smp_mflags} LIBTOOL=%{_bindir}/libtool -# Create a README file. -cat <<'EOF' > README -This optional package adds support for Windows guests (NTFS) to the -base libguestfs Red Hat Enterprise Linux (RHEL) package. This is -useful for examining Windows virtual machines running on RHEL, and for -performing V2V of Windows guests from another hypervisor to RHEL. - -The package contains NTFS FUSE filesystem support from -ntfs-3g %{ntfs_3g_version}. -EOF - %install -mkdir ntfs -export DESTDIR=$(pwd)/ntfs +make LIBTOOL=%{_bindir}/libtool DESTDIR=%{buildroot} install +rm -rf %{buildroot}%{_libdir}/*.la +rm -rf %{buildroot}%{_libdir}/*.a -#----- Standard package install rule, but installing into ntfs/ subdir. -make LIBTOOL=%{_bindir}/libtool install -rm -rf $DESTDIR%{_libdir}/*.la -rm -rf $DESTDIR%{_libdir}/*.a - -rm -rf $DESTDIR%{_sbindir}/mount.ntfs-3g -cp -a $DESTDIR%{_bindir}/ntfs-3g $DESTDIR%{_sbindir}/mount.ntfs-3g +rm -rf %{buildroot}/%{_sbindir}/mount.ntfs-3g +cp -a %{buildroot}/%{_bindir}/ntfs-3g %{buildroot}/%{_sbindir}/mount.ntfs-3g # Actually make some symlinks for simplicity... # ... since we're obsoleting ntfsprogs-fuse -pushd $DESTDIR%{_bindir} +pushd %{buildroot}/%{_bindir} ln -s ntfs-3g ntfsmount popd -pushd $DESTDIR%{_sbindir} +pushd %{buildroot}/%{_sbindir} ln -s mount.ntfs-3g mount.ntfs-fuse # And since there is no other package in Fedora that provides an ntfs # mount... @@ -96,54 +79,80 @@ ln -s mount.ntfs-3g mount.ntfs # Need this for fsck to find it ln -s ../bin/ntfsck fsck.ntfs popd -mv $DESTDIR/sbin/* $DESTDIR%{_sbindir} -rmdir $DESTDIR/sbin +mv %{buildroot}/sbin/* %{buildroot}/%{_sbindir} +rmdir %{buildroot}/sbin # We get this on our own, thanks. -rm -rf $DESTDIR%{_defaultdocdir}/%{name}/README +rm %{buildroot}%{_defaultdocdir}/ntfs-3g/README -#----- End of standard package install rule. +# Add this package to the libguestfs appliance. +mkdir -p %{buildroot}%{_libdir}/guestfs/supermin.d +echo libguestfs-winsupport > %{buildroot}%{_libdir}/guestfs/supermin.d/zz-winsupport -# Copy the files we need to a static supermin appliance. -rm -f files -echo . >> files -echo usr >> files -echo usr/bin >> files -echo usr/lib64 >> files -echo usr/sbin >> files -pushd ntfs -find | egrep '/s?bin/|/lib(64)/' >> ../files -cpio --quiet -o -H newc < ../files > ../ntfs.img -popd -# Supporting hostfiles. -cat <<'EOF' > ntfs.hostfiles -. -./usr -.%{_libdir} -.%{_libdir}/libfuse.so.* -.%{_libdir}/libgcrypt.so.* -.%{_libdir}/libgnutls.so.* -.%{_libdir}/libgpg-error.so.* -.%{_libdir}/libp11-kit.so.* -.%{_libdir}/libtasn1.so.* -.%{_libdir}/libz.so.* -./lib64 -./lib64/libfuse.so.* -EOF - -mkdir -p $RPM_BUILD_ROOT%{_libdir}/guestfs/supermin.d -install -m 0644 ntfs.img $RPM_BUILD_ROOT%{_libdir}/guestfs/supermin.d/ -install -m 0644 ntfs.hostfiles $RPM_BUILD_ROOT%{_libdir}/guestfs/supermin.d/ +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig %files -%doc COPYING README -%{_libdir}/guestfs/supermin.d/ntfs.img -%{_libdir}/guestfs/supermin.d/ntfs.hostfiles +%doc AUTHORS ChangeLog COPYING CREDITS NEWS README + +# From ntfs-3g package: +%{_sbindir}/mount.ntfs +%{_sbindir}/mount.ntfs-3g +%{_sbindir}/mount.ntfs-fuse +%{_sbindir}/mount.lowntfs-3g +%{_bindir}/ntfs-3g +%{_bindir}/ntfsmount +%{_bindir}/ntfs-3g.probe +%{_bindir}/ntfs-3g.secaudit +%{_bindir}/ntfs-3g.usermap +%{_bindir}/lowntfs-3g +%{_libdir}/libntfs-3g.so.* + +# From -devel subpackage: +%{_includedir}/ntfs-3g/ +%{_libdir}/libntfs-3g.so +%{_libdir}/pkgconfig/libntfs-3g.pc + +# From ntfsprogs package: +%{_bindir}/ntfscat +%{_bindir}/ntfscluster +%{_bindir}/ntfscmp +%{_bindir}/ntfsfix +%{_bindir}/ntfsinfo +%{_bindir}/ntfsls +%{_bindir}/ntfsck +%{_bindir}/ntfsdecrypt +%{_bindir}/ntfsdump_logfile +%{_bindir}/ntfsmftalloc +%{_bindir}/ntfsmove +%{_bindir}/ntfstruncate +%{_bindir}/ntfswipe +%{_sbindir}/fsck.ntfs +%{_sbindir}/mkfs.ntfs +%{_sbindir}/mkntfs +%{_sbindir}/ntfsclone +%{_sbindir}/ntfscp +%{_sbindir}/ntfslabel +%{_sbindir}/ntfsresize +%{_sbindir}/ntfsundelete + +# Documentation. +%{_mandir}/man8/*.8* + +# For libguestfs appliance: +%{_libdir}/guestfs/supermin.d/zz-winsupport %changelog +* Mon Jul 21 2014 Richard W.M. Jones - 7.1-2 +- New package for RHEL 7.1 +- Rebase to ntfs-3g 2014.2.15 + resolves: rhbz#1100319 +- Change the package so it works with supermin5. +- Remove dependency on external FUSE. + * Wed Apr 3 2013 Richard W.M. Jones - 7.0-2 - Resync against Rawhide package (ntfs-3g 2013.1.13). - Drop HAL file since HAL is dead. diff --git a/sources b/sources index e6d7a84..cc19fcf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2d6fb47ddf62b51733227126fe9227fe ntfs-3g_ntfsprogs-2013.1.13.tgz +f11d563816249d730a00498983485f3a ntfs-3g_ntfsprogs-2014.2.15.tgz