'captive-install' now requires ntfsprogs >= 1.8.0 to avoid its bugs.
[captive.git] / captive.spec.in
1 # $Id$
2 # rpm package description file for building
3 # Copyright (C) 2002-2003 Jan Kratochvil <project-captive@jankratochvil.net>
4
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; exactly version 2 of June 1991 is required
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
18
19 # Temporary cludge before full 'devel' package gets deployed
20 %define _unpackaged_files_terminate_build 0
21
22 Summary: Microsoft Windows platform filesystem access.
23 Name: @PACKAGE@
24 %define release 0
25 Version: @VERSION@
26 Release: %{release}
27 Group: System Environment/Base
28 Packager: Jan Kratochvil <project-captive@jankratochvil.net>
29 Source: http://www.jankratochvil.net/project/captive/dist/@PACKAGE@-@VERSION@.tar.gz
30 Copyright: GPL
31 BuildRoot: /var/tmp/@PACKAGE@-@VERSION@-%{release}-root
32 BuildRequires: ORBit2-devel
33 Requires: ORBit2
34 BuildRequires: openssl-devel
35 Requires: openssl
36 BuildRequires: gnome-vfs2-devel
37 Requires: gnome-vfs2
38 BuildRequires: libxml2-devel
39 Requires: libxml2
40 BuildRequires: popt
41 Requires: popt
42 BuildRequires: glib2-devel
43 Requires: glib2
44 BuildRequires: readline-devel
45 Requires: readline
46 BuildRequires: gcc >= 3.0
47
48 %description
49 Existing binary Microsoft Windows file system drivers were exploited
50 for accessing drives with possibly proprietary file system data structures.
51 Open file system API is provided to access these file system drivers.
52 Microsoft Windows system components required by these drivers
53 were analyzed and successfuly emulated in the GNU/Linux operating system.
54
55 The implementation allows applications running under the GNU/Linux operating
56 system to access NTFS drives. File system driver compatibility with VFAT,
57 ISO9660 and EXT2 is also provided.
58
59 %package lufs
60 Summary: LUFS module for Microsoft Windows platform filesystem access.
61 Group: System Environment/Base
62 Requires: captive = %{PACKAGE_VERSION}
63 BuildRequires: lufs >= 0.9.6-1captive
64 Requires: lufs >= 0.9.6-1captive
65
66 %description lufs
67 LUFS is a hybrid userspace filesystem framework.
68
69 Package provides LUFS filesystem module to access Microsoft Windows platform
70 filesystems such as NTFS. Use filesystem type 'captive-ntfs' for NTFS disks.
71
72 %package install
73 Summary: Instant installer for Microsoft Windows platform filesystem access.
74 Group: System Environment/Base
75 Requires: captive-lufs = %{PACKAGE_VERSION}
76 # Versions before 1.8.0 were too buggy
77 BuildRequires: ntfsprogs-devel >= 1.8.0
78 # 'PreReq' needed for Mandrake-9.1 otherwise '%preun install' fails
79 # during 'rpm -e ntfsprogs captive-install':
80 PreReq: ntfsprogs >= 1.8.0
81 Requires: ntfsprogs >= 1.8.0
82 Requires: ntfsprogs-gnomevfs
83 Requires: gnome-vfs-httpcaptive
84 BuildRequires: gnome-vfs2-devel
85 Requires: gnome-vfs2
86 BuildRequires: libgnomeui-devel
87 Requires: libgnomeui
88 BuildRequires: readline-devel
89 Requires: readline
90 BuildRequires: libxml2-devel >= 2.4.29
91 Requires: libxml2 >= 2.4.29
92
93 %description install
94 Package provides easy enough unattended installation of Microsoft Windows
95 platform filesystem access. Installer finds available NTFS partitions and
96 tries to acquire needed Microsoft Windows filesystem driver files.
97
98 You may need to run 'captive-install-acquire' to answer several questions.
99 NTFS disks will become mount(8)able at directories: /mnt/captive-VOLUME_NAME
100
101 #% %package devel
102 #% Summary: Microsoft Windows platform filesystem access development support.
103 #% Group: Development/System
104 #% Requires: surprise = %{PACKAGE_VERSION}
105 #% 
106 #% %description devel
107 #% Development package containing libraries for static linking together with
108 #% header files needed for any linking.
109 #% 
110 #% Microsoft Windows platform filesystem access.
111 #% TODO
112
113 %prep
114 %setup
115
116 %build
117 # Never disable debug for captive, see FAQ
118 #       "How to check valid input arguments? Invalid processing state assumptions?"
119 %configure \
120                 --enable-shared --disable-static \
121                 --with-readline \
122                 --disable-bug-replay \
123                 --enable-lufs \
124                 --enable-install-pkg \
125                 --enable-sandbox-setuid=@PACKAGE@ \
126                 --enable-sandbox-setgid=@PACKAGE@ \
127                 --enable-sandbox-chroot=%{_var}/lib/@PACKAGE@ \
128                 --enable-man-pages \
129                 --enable-sbin-mountdir=/sbin \
130                 --enable-sbin-mount-fs=ntfs:fastfat:cdfs:ext2fsd \
131                 --disable-gtk-doc
132 make
133
134 %install
135 make DESTDIR=$RPM_BUILD_ROOT install-strip
136
137 %clean
138 rm -rf $RPM_BUILD_ROOT
139
140 %post
141 /sbin/ldconfig
142 /usr/sbin/useradd -c "Captive Sandbox" -s /sbin/nologin -r -d %{_var}/lib/@PACKAGE@ captive 2>/dev/null || true
143
144 %postun
145 /sbin/ldconfig
146 # Remove stale sandbox chroot directories owned by 'captive.captive':
147 rm -rf %{_var}/lib/@PACKAGE@/sandbox-server-*
148
149 %files
150 %defattr(-,root,root)
151 %doc README NEWS AUTHORS TODO
152 %{_libdir}/lib@PACKAGE@-@VERSION@.so
153 %attr(644,root,root) %{_mandir}/man?/@PACKAGE@.*
154 %{_libdir}/gnome-vfs-2.0/modules/lib@PACKAGE@-gnomevfs-@VERSION@.so
155 %{_libdir}/gnome-vfs-2.0/modules/lib@PACKAGE@-gnomevfs.so
156 %{_bindir}/@PACKAGE@-cmdline
157 %attr(644,root,root) %{_mandir}/man?/@PACKAGE@-cmdline.*
158 %attr(4755,root,root) %{_sbindir}/@PACKAGE@-sandbox-server
159 %attr(644,root,root) %{_mandir}/man?/@PACKAGE@-sandbox-server.*
160 %config %{_sysconfdir}/gnome-vfs-2.0/modules/@PACKAGE@.conf
161 %{_datadir}/locale/*/LC_MESSAGES/@PACKAGE@.mo
162 %attr(755,root,root) %{_var}/lib/@PACKAGE@
163 %attr(1777,root,root) %{_var}/lib/@PACKAGE@/tmp
164 %attr(644,root,root) %{_var}/lib/@PACKAGE@/*.sys
165
166 %files lufs
167 %defattr(-,root,root)
168 %{_libdir}/liblufs-@PACKAGE@fs-@VERSION@.so
169 %{_libdir}/liblufs-@PACKAGE@fs.so
170 %attr(644,root,root) %{_mandir}/man?/lufs-@PACKAGE@fs.*
171 /sbin/mount.@PACKAGE@
172 /sbin/mount.@PACKAGE@-*
173 %attr(644,root,root) %{_mandir}/man?/mount.@PACKAGE@.*
174
175 %post install
176 %{_sbindir}/captive-install-fstab --add
177 %{_sbindir}/captive-install-acquire --text --scan-disks-quick
178
179 %preun install
180 %{_sbindir}/captive-install-fstab --remove
181
182 %files install
183 %defattr(-,root,root)
184 %config %{_sysconfdir}/w32-mod-id.captivemodid.xml
185 %{_sbindir}/captive-install-fstab
186 %attr(644,root,root) %{_mandir}/man?/captive-install-fstab.*
187 %{_sbindir}/captive-install-acquire
188 %attr(644,root,root) %{_mandir}/man?/captive-install-acquire.*
189
190 # %files devel
191 # %defattr(-,root,root)
192 # %doc ChangeLog
193 # /usr/include/@PACKAGE@
194 # /usr/share/aclocal/*
195 # %{_libdir}/gnome-vfs-2.0/modules/libcaptive-gnomevfs.la
196 # /usr/lib/*.a
197 # /usr/lib/*.la
198 # ###for --disable-shared/(--enable-static-link disable):
199 # /usr/lib/*[a-z].so