commit c55fc38ba5c204e97a99c568e95aec966e12b13e Author: MSVSphere Packaging Team Date: Tue Nov 26 17:03:54 2024 +0300 import libguestfs-winsupport-10.0-4.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fba294c --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/ntfs-3g-system-compression-1.0.tar.gz +SOURCES/ntfs-3g_ntfsprogs-2022.10.3.tgz diff --git a/.libguestfs-winsupport.metadata b/.libguestfs-winsupport.metadata new file mode 100644 index 0000000..917ec6a --- /dev/null +++ b/.libguestfs-winsupport.metadata @@ -0,0 +1,2 @@ +a0c3bb13ac09fe6ac0307fd7a7e9d577099987e9 SOURCES/ntfs-3g-system-compression-1.0.tar.gz +42f1a5899f394c5aa7a0bd0ba5e3a13b1ddd1a52 SOURCES/ntfs-3g_ntfsprogs-2022.10.3.tgz diff --git a/SOURCES/ntfs-3g-system-compression-fedora-c99.patch b/SOURCES/ntfs-3g-system-compression-fedora-c99.patch new file mode 100644 index 0000000..0cf03b6 --- /dev/null +++ b/SOURCES/ntfs-3g-system-compression-fedora-c99.patch @@ -0,0 +1,11 @@ +diff -rup a/configure.ac b/configure.ac +--- a/configure.ac 2017-05-25 23:39:39.000000000 -0400 ++++ b/configure.ac 2023-03-10 19:04:07.852099760 -0500 +@@ -21,6 +21,7 @@ AC_CHECK_HEADERS([errno.h \ + stddef.h \ + stdlib.h \ + string.h \ ++ time.h \ + sys/types.h]) + + PKG_CHECK_MODULES([LIBNTFS_3G], [libntfs-3g >= 2017.3.23], [], diff --git a/SOURCES/ntfs-3g_ntfsprogs-2011.10.9-RC-ntfsck-unsupported-return-0.patch b/SOURCES/ntfs-3g_ntfsprogs-2011.10.9-RC-ntfsck-unsupported-return-0.patch new file mode 100644 index 0000000..8fd39c6 --- /dev/null +++ b/SOURCES/ntfs-3g_ntfsprogs-2011.10.9-RC-ntfsck-unsupported-return-0.patch @@ -0,0 +1,16 @@ +diff -up ntfs-3g_ntfsprogs-2011.10.9-RC/ntfsprogs/ntfsck.c.OLD ntfs-3g_ntfsprogs-2011.10.9-RC/ntfsprogs/ntfsck.c +--- ntfs-3g_ntfsprogs-2011.10.9-RC/ntfsprogs/ntfsck.c.OLD 2011-10-11 10:24:02.381335115 -0400 ++++ ntfs-3g_ntfsprogs-2011.10.9-RC/ntfsprogs/ntfsck.c 2011-10-11 10:26:41.513559206 -0400 +@@ -877,7 +877,11 @@ int main(int argc, char **argv) + if (errors) + return 2; + if (unsupported) +- return 1; ++ ntfs_log_info("ntfsck was unable to run properly.\n"); ++ // If we return 1 here, we fail for ntfs services fscking on boot just because ++ // ntfsck isn't smart enough to handle 99% of cases. So, we just return 0. ++ // return 1; ++ return 0; + return 0; + } + diff --git a/SOURCES/zz-winsupport-deps b/SOURCES/zz-winsupport-deps new file mode 100644 index 0000000..7bb7def --- /dev/null +++ b/SOURCES/zz-winsupport-deps @@ -0,0 +1 @@ +fuse-libs diff --git a/SPECS/libguestfs-winsupport.spec b/SPECS/libguestfs-winsupport.spec new file mode 100644 index 0000000..44c7553 --- /dev/null +++ b/SPECS/libguestfs-winsupport.spec @@ -0,0 +1,272 @@ +%global ntfs_version 2022.10.3 +%global compression_version 1.0 + +# debuginfo makes no sense for this package, so disable it +%global debug_package %{nil} + +Name: libguestfs-winsupport +Version: 10.0 +Release: 4%{?dist} +Summary: Add support for Windows guests to virt-v2v and virt-p2v + +URL: https://www.tuxera.com/company/open-source/ +# and URL: https://github.com/ebiggers/ntfs-3g-system-compression +License: GPLv2+ + +# These should be the same as libguestfs.spec. +ExclusiveArch: %{kernel_arches} +%if 0%{?rhel} +# No qemu-kvm on POWER (RHBZ#1946532). +ExcludeArch: %{power64} +%endif + +# Source and patches for ntfs-3g and ntfs-3g-system-compression. +Source0: http://tuxera.com/opensource/ntfs-3g_ntfsprogs-%{ntfs_version}.tgz +Source1: https://github.com/ebiggers/ntfs-3g-system-compression/archive/v%{version}/ntfs-3g-system-compression-%{compression_version}.tar.gz + +Patch0: ntfs-3g_ntfsprogs-2011.10.9-RC-ntfsck-unsupported-return-0.patch +Patch1: ntfs-3g-system-compression-fedora-c99.patch + +# Extra dependencies which are not pulled in by other libguestfs +# components but are needed by any of the ntfs-3g binaries or library +# have to be listed in this file, AND added as Requires to this spec +# file. +Source2: zz-winsupport-deps + +# https://issues.redhat.com/browse/RHEL-46563 +Requires: fuse-libs + +BuildRequires: make +BuildRequires: gcc +BuildRequires: libtool, libattr-devel +BuildRequires: libconfig-devel, libgcrypt-devel, gnutls-devel, libuuid-devel +BuildRequires: autoconf, automake, libtool, fuse-devel + +# This package shouldn't be installed without installing the base +# libguestfs package. +Requires: libguestfs >= 1:1.45.6 + + +%description +This optional package adds support for Windows guests (NTFS) to the +virt-v2v and virt-p2v programs. + +This package also supports system compression ("Compact OS") using the +plugin from https://github.com/ebiggers/ntfs-3g-system-compression + + +%prep +%setup -q -n ntfs-3g_ntfsprogs-%{ntfs_version} +%setup -n ntfs-3g_ntfsprogs-%{ntfs_version} -T -D -a 1 +%patch0 -p1 -b .unsupported +pushd ntfs-3g-system-compression-%{compression_version} +%patch1 -p1 -b .c99 +popd + + +%build +CFLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64" +%configure \ + --disable-static \ + --disable-ldconfig \ + --with-fuse=external \ + --exec-prefix=/ \ + --enable-posix-acls \ + --enable-xattr-mappings \ + --enable-crypto \ + --enable-extras \ + --enable-quarantined +%make_build LIBTOOL=%{_bindir}/libtool + +# Build ntfs-3g-system-compression plugin. +pushd ntfs-3g-system-compression-%{compression_version} +autoreconf -i +# Trick the plugin into using the just-compiled ntfs-3g. +cp ../libntfs-3g/libntfs-3g.pc . +sed -i \ + -e 's,^libdir=.*,libdir=../libntfs-3g,' \ + -e 's,^includedir=.*,includedir=../include,' \ + libntfs-3g.pc +export PKG_CONFIG_PATH=. +%configure +%make_build +popd + + +%install +# Build it into a destdir which is not the final buildroot. +mkdir destdir +make LIBTOOL=%{_bindir}/libtool DESTDIR=$(pwd)/destdir 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 + +# Actually make some symlinks for simplicity... +# ... since we're obsoleting ntfsprogs-fuse +pushd destdir/%{_bindir} +ln -s ntfs-3g ntfsmount +popd +pushd destdir/%{_sbindir} +ln -s mount.ntfs-3g mount.ntfs-fuse +# And since there is no other package in Fedora that provides an ntfs +# mount... +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 + +# We get this on our own, thanks. +rm -r destdir/%{_defaultdocdir} + +# Remove development files. +rm -r destdir/%{_includedir} +rm -r destdir/%{_libdir}/pkgconfig + +# Install ntfs-3g-system-compression plugin in the same place. +pushd ntfs-3g-system-compression-%{compression_version} +%make_install DESTDIR=$(pwd)/../destdir +popd +rm -rf destdir/%{_libdir}/ntfs-3g/*.la + +# Take the destdir and put it into a tarball for the libguestfs appliance. +mkdir -p %{buildroot}%{_libdir}/guestfs/supermin.d +install -m 0444 %{SOURCE2} %{buildroot}%{_libdir}/guestfs/supermin.d/ +pushd destdir +tar zvcf %{buildroot}%{_libdir}/guestfs/supermin.d/zz-winsupport.tar.gz . +popd + + +%files +%doc AUTHORS ChangeLog COPYING CREDITS NEWS README +%{_libdir}/guestfs/supermin.d/zz-winsupport-deps +%{_libdir}/guestfs/supermin.d/zz-winsupport.tar.gz + + +%changelog +* Tue Jul 08 2024 Richard W.M. Jones - 10.0-4 +- Requires fuse-libs + resolves: RHEL-46563 +- Try to fix libvirt in the gating test. + +* Mon Apr 22 2024 Richard W.M. Jones - 10.0-2 +- Import package into CentOS Stream 10 +- Remove resolves refs to work around check-gitbz bug (RHELBLD-14966) +- Add gating tests +- Set ExclusiveArch/ExcludeArch to the same as for libguestfs + +* Thu Aug 31 2023 Richard W.M. Jones - 9.3-1 +- Rebase to ntfs-3g 2022.10.3 +- Fixes: CVE-2022-40284 +- resolves rhbz#2236376 + +* Mon Sep 26 2022 Richard W.M. Jones - 9.2-1 +- Rebase to ntfs-3g 2022.5.17 +- Fixes: CVE-2021-46790, CVE-2022-30783, CVE-2022-30784, CVE-2022-30785, + CVE-2022-30786, CVE-2022-30787, CVE-2022-30788, CVE-2022-30789 + resolves rhbz#2127235 rhbz#2127242 + (also 2127264 2127250 2127257) + +* Mon Sep 13 2021 Richard W.M. Jones - 9.0-1 +- Rebase to ntfs-3g 2021.8.22 + resolves rhbz#2002985 + +* Mon Aug 09 2021 Mohan Boddu - 8.2-4 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + related rhbz#1991688 + +* Wed Jun 02 2021 Richard W.M. Jones - 8.2-3 +- Add gating tests (for RHEL 9) + +* Fri Apr 16 2021 Mohan Boddu - 8.2-2 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. related rhbz#1947937 + +* Wed Jan 29 2020 Richard W.M. Jones - 8.2-1 +- Rebuild for RHEL AV 8.2. +- Include ntfs-3g-system-compression plugin. + resolves rhbz#1705234, rhbz#1796073 + +* Fri Jun 28 2019 Danilo de Paula - 8.0-4 +- Rebuild all virt packages to fix RHEL's upgrade path +- resolves rhbz#1695587 + (Ensure modular RPM upgrade path) + +* Wed Apr 10 2019 Richard W.M. Jones - 8.0-3 +- Fix for CVE-2019-9755 + (heap-based buffer overflow leads to local root privilege escalation) + resolves rhbz#1698503 + +* Mon Jul 16 2018 Richard W.M. Jones - 8.0-2 +- Fix for ntfsclone crash (RHBZ#1601146). + +* Wed Jul 11 2018 Richard W.M. Jones - 8.0-1 +- Rebase to 2017.3.23. +- Remove patches which are now upstream. +- Resynch with Fedora package. +- Enable all architectures for RHEL 8. + +* Wed Feb 22 2017 Richard W.M. Jones - 7.2-2 +- Fix for handling guest filenames with invalid or incomplete + multibyte or wide characters + resolves rhbz#1301593 + +* Tue Jul 07 2015 Richard W.M. Jones - 7.2-1 +- Rebase and rebuild for RHEL 7.2 + resolves rhbz#1240278 + +* Tue Jun 30 2015 Richard W.M. Jones - 7.1-6 +- Bump version and rebuild. + related rhbz#1221583 + +* Fri May 15 2015 Richard W.M. Jones - 7.1-5 +- Enable aarch64 architecture. + resolves rhbz#1221583 + +* Thu Aug 28 2014 Richard W.M. Jones - 7.1-4 +- Enable debuginfo support and stripping. + resolves rhbz#1100319 + +* Thu Aug 28 2014 Richard W.M. Jones - 7.1-3 +- Add patches from Fedora package which add fstrim support. + resolves rhbz#1100319 + +* 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. + resolves rhbz#819939 + +* Thu Dec 20 2012 Richard W.M. Jones - 7.0-1 +- New package for RHEL 7 + resolves rhbz#819939 +- Resync against Rawhide package. + +* Mon Mar 28 2011 Richard W.M. Jones - 1.0-7 +- Disable debuginfo package. + resolves RHBZ#691555. + +* Tue Mar 8 2011 Richard W.M. Jones - 1.0-6 +- Require libguestfs 1.7.17 (newer version in RHEL 6.1). +- Require febootstrap-supermin-helper instead of febootstrap + resolves RHBZ#670299. + +* Thu Jul 1 2010 Richard W.M. Jones - 1.0-5 +- Make sure intermediate lib* directories are created in hostfiles (RHBZ#603429) + +* Thu Jun 3 2010 Richard W.M. Jones - 1.0-4 +- Requires fuse-libs (RHBZ#599300). + +* Fri May 21 2010 Richard W.M. Jones - 1.0-3 +- ExclusiveArch x86_64. + +* Tue May 18 2010 Richard W.M. Jones - 1.0-2 +- Package Windows support for libguestfs.