1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
|
%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: 9.3
Release: 1%{?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+
# This package shouldn't be installed without installing the base
# libguestfs package.
Requires: libguestfs >= 1:1.45.6
# 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
BuildRequires: make
BuildRequires: gcc
BuildRequires: libtool, libattr-devel
BuildRequires: libconfig-devel, libgcrypt-devel, gnutls-devel, libuuid-devel
BuildRequires: autoconf, automake, libtool, fuse-devel
%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
%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
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.tar.gz
%changelog
* Thu Aug 31 2023 Richard W.M. Jones <rjones@redhat.com> - 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 <rjones@redhat.com> - 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 <rjones@redhat.com> - 9.0-1
- Rebase to ntfs-3g 2021.8.22
resolves: rhbz#2002985
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 8.2-4
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed Jun 02 2021 Richard W.M. Jones <rjones@redhat.com> - 8.2-3
- Add gating tests (for RHEL 9)
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 8.2-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 29 2020 Richard W.M. Jones <rjones@redhat.com> - 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 <ddepaula@redhat.com> - 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 <rjones@redhat.com> - 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 <rjones@redhat.com> - 8.0-2
- Fix for ntfsclone crash (RHBZ#1601146).
* Wed Jul 11 2018 Richard W.M. Jones <rjones@redhat.com> - 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 <rjones@redhat.com> - 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 <rjones@redhat.com> - 7.2-1
- Rebase and rebuild for RHEL 7.2
resolves: rhbz#1240278
* Tue Jun 30 2015 Richard W.M. Jones <rjones@redhat.com> - 7.1-6
- Bump version and rebuild.
related: rhbz#1221583
* Fri May 15 2015 Richard W.M. Jones <rjones@redhat.com> - 7.1-5
- Enable aarch64 architecture.
resolves: rhbz#1221583
* Thu Aug 28 2014 Richard W.M. Jones <rjones@redhat.com> - 7.1-4
- Enable debuginfo support and stripping.
resolves: rhbz#1100319
* Thu Aug 28 2014 Richard W.M. Jones <rjones@redhat.com> - 7.1-3
- Add patches from Fedora package which add fstrim support.
resolves: rhbz#1100319
* Mon Jul 21 2014 Richard W.M. Jones <rjones@redhat.com> - 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 <rjones@redhat.com> - 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 <rjones@redhat.com> - 7.0-1
- New package for RHEL 7
resolves: rhbz#819939
- Resync against Rawhide package.
* Mon Mar 28 2011 Richard W.M. Jones <rjones@redhat.com> - 1.0-7
- Disable debuginfo package.
resolves: RHBZ#691555.
* Tue Mar 8 2011 Richard W.M. Jones <rjones@redhat.com> - 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 <rjones@redhat.com> - 1.0-5
- Make sure intermediate lib* directories are created in hostfiles (RHBZ#603429)
* Thu Jun 3 2010 Richard W.M. Jones <rjones@redhat.com> - 1.0-4
- Requires fuse-libs (RHBZ#599300).
* Fri May 21 2010 Richard W.M. Jones <rjones@redhat.com> - 1.0-3
- ExclusiveArch x86_64.
* Tue May 18 2010 Richard W.M. Jones <rjones@redhat.com> - 1.0-2
- Package Windows support for libguestfs.
|