util/ulockmgr_server.c: conditionally define closefrom (fix glibc-2.34+)
[platform/upstream/fuse.git] / packaging / fuse.spec
1 Name:           fuse
2 Summary:        User space File System
3 License:        GPL-2.0 and LGPL-2.1
4 Group:          System/Libraries
5 Version:        2.9.9
6 Release:        0
7 Source:         %{name}-%{version}.tar.gz
8 Source2:        fuse.rpmlintrc
9 Source98:       baselibs.conf
10 Source1001:     fuse.manifest
11 Url:            http://fuse.sourceforge.net
12 Requires:       util-linux >= 2.18
13 Requires:       which
14 BuildRequires:  pkgconfig
15 BuildRequires:  gettext
16 Supplements:    filesystem(fuse)
17
18 %description
19 With FUSE, a user space program can export a file system through the
20 kernel-default (Linux kernel).
21
22 User space file systems which are implemented using FUSE are provided
23 by the following packages:
24
25 - curlftpfs (mount FTP servers),
26
27 - encfs (layered file encryption),
28
29 - fuseiso (mount iso, img, bin, mdf and nrg CD-ROM images),
30
31 - fusepod (mount iPods),
32
33 - fusesmb (mount a fully browseable network neighborhood),
34
35 - gphotofs (mount gphoto-supported cameras),
36
37 - ntfs-3g (mount NTFS volumes read-write),
38
39 - obexfs (mount of bluetooth devices),
40
41 - sshfs (mount over ssh),
42
43 - wdfs (mount of WebDAV shares)
44
45 This package contains the mount binaries for fuse (might not be needed
46 by some FUSE filesystems like ntfs-3g) and the documentation for FUSE.
47
48 After installing fuse-devel, administrators can compile and install
49 other user space file systems which can be found at
50 http://fuse.sourceforge.net/wiki
51
52 %package -n libulockmgr
53 Summary:        Library of FUSE, the User space File System for GNU/Linux and BSD
54 License:        LGPL-2.1
55
56 %description -n libulockmgr
57 With FUSE, a user space program can export a file system through the
58 kernel-default (Linux kernel).
59
60 %package -n libfuse
61 Summary:        Library of FUSE, the User space File System for GNU/Linux and BSD
62 License:        LGPL-2.1
63
64 %description -n libfuse
65 With FUSE, a user space program can export a file system through the
66 kernel-default (Linux kernel).
67
68 A FUSE file system which only needs libfuse is ntfs-3g, other FUSE
69 file systems might need the fuse package in addition to have fusermount
70 and /sbin/mount.fuse.
71
72 After installing fuse-devel, administrators can compile and install
73 other user space file systems which can be found at
74 http://fuse.sourceforge.net/wiki
75
76 %package devel
77 Summary:        Development package for FUSE (userspace filesystem) modules
78 License:        LGPL-2.1
79 Requires:       fuse = %{version}
80 Requires:       glibc-devel
81 Requires:       libfuse = %{version}
82 Requires:       libulockmgr = %{version}
83
84 %description devel
85 This package contains all include files, libraries and configuration
86 files needed to develop programs that use the fuse (FUSE) library to
87 implement kernel-default (Linux) file systems in user space.
88
89 With fuse-devel, administrators can compile and install other user
90 space file systems which can be found at
91 http://fuse.sourceforge.net/wiki
92
93 %prep
94 %setup -q
95 cp %{SOURCE1001} .
96
97 %build
98 export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing"
99 export MOUNT_FUSE_PATH=%{_sbindir}
100 autoreconf -fi
101 %configure --with-pic \
102     --with-pkgconfigdir=%{_libdir}/pkgconfig \
103     --enable-lib \
104     --disable-example \
105     --enable-static
106 make %{?_smp_mflags}
107
108 %install
109 %make_install
110 rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/init.d
111
112 %post -n libfuse -p /sbin/ldconfig
113
114 %postun -n libfuse -p /sbin/ldconfig
115
116 %post -n libulockmgr -p /sbin/ldconfig
117
118 %postun -n libulockmgr -p /sbin/ldconfig
119
120
121 %docs_package
122
123 %files
124 %manifest %{name}.manifest
125 %defattr(-,root,root)
126 %license COPYING*
127 %verify(not mode) %attr(4755,root,root) %{_bindir}/fusermount
128 %{_sbindir}/mount.fuse
129 %{_bindir}/ulockmgr_server
130 /etc/udev/rules.d/99-fuse.rules
131
132 %files -n libfuse
133 %manifest %{name}.manifest
134 %defattr(-,root,root)
135 %license COPYING.LIB
136 %{_libdir}/libfuse.so.2*
137
138 %files -n libulockmgr
139 %manifest %{name}.manifest
140 %defattr(-,root,root)
141 %license COPYING.LIB
142 %{_libdir}/libulockmgr.so.*
143
144 %files devel
145 %manifest %{name}.manifest
146 %defattr(-,root,root)
147 %license COPYING.LIB
148 %{_libdir}/libfuse.so
149 %{_libdir}/libulockmgr.so
150 %{_includedir}/fuse.h
151 %{_includedir}/fuse
152 %{_libdir}/pkgconfig/*.pc
153 %{_includedir}/ulockmgr.h