]> git.pld-linux.org Git - packages/xfsprogs.git/blob - xfsprogs.spec
- rel 2; simple wrapper for showing project quota id
[packages/xfsprogs.git] / xfsprogs.spec
1 #
2 # Conditional build:
3 %bcond_without  initrd          # don't build initrd version
4 %bcond_without  dietlibc        # link initrd version with static glibc instead of dietlibc
5 #
6 Summary:        Tools for the XFS filesystem
7 Summary(pl.UTF-8):      Narzędzia do systemu plików XFS
8 Name:           xfsprogs
9 Version:        3.1.6
10 Release:        2
11 License:        LGPL v2.1 (libhandle), GPL v2 (the rest)
12 Group:          Applications/System
13 Source0:        ftp://linux-xfs.sgi.com/projects/xfs/cmd_tars/%{name}-%{version}.tar.gz
14 # Source0-md5:  fbd2c1c5abed4b11047bea6ce53bc6e4
15 Source1:        xfs_lsprojid
16 Patch0:         %{name}-miscfix-v2.patch
17 Patch2:         %{name}-sharedlibs.patch
18 Patch3:         %{name}-pl.po-update.patch
19 Patch4:         %{name}-dynamic_exe.patch
20 Patch5:         %{name}-diet.patch
21 URL:            http://www.xfs.org/
22 BuildRequires:  autoconf
23 BuildRequires:  automake
24 BuildRequires:  bash
25 %if %{with initrd}
26         %if %{with dietlibc}
27 BuildRequires:  dietlibc-static >= 2:0.31-6
28 BuildRequires:  libuuid-dietlibc
29         %else
30 BuildRequires:  glibc-static
31 BuildRequires:  libuuid-static
32         %endif
33 %endif
34 BuildRequires:  gettext-devel
35 BuildRequires:  libblkid-devel
36 BuildRequires:  libtool
37 BuildRequires:  libuuid-devel
38 BuildRequires:  readline-devel
39 BuildRequires:  rpm >= 4.4.9-56
40 BuildRequires:  rpmbuild(macros) >= 1.402
41 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42
43 %if "%{pld_release}" == "ac"
44 # libtool in ac doesn't do the reordering of args properly
45 %define         filterout_ld -Wl,--as-needed
46 %endif
47
48 # libxlog uses symbols from binary that links to libxlog
49 # libxcmd uses ("program") symbol from binary that links to libxcmd
50 %define         skip_post_check_so      libxlog.so.0.0.0        libxcmd.so.0.0.0
51
52 %define         _sbindir        /sbin
53 %define         _bindir         /usr/sbin
54 %define         _libdir         /%{_lib}
55 %define         _libexecdir     /usr/%{_lib}
56 # for some reason known only to rpm there must be "\\|" not "\|" here
57 %define         dietarch        %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
58 %define         dietlibdir      %{_prefix}/lib/dietlibc/lib-%{dietarch}
59
60 %description
61 A set of commands to use the XFS filesystem, including mkfs.xfs.
62
63 XFS is a high performance journaling filesystem which originated on
64 the SGI IRIX platform. It is completely multi-threaded, can support
65 large files and large filesystems, extended attributes, variable block
66 sizes, is extent based, and makes extensive use of Btrees
67 (directories, extents, free space) to aid both performance and
68 scalability.
69
70 This implementation is on-disk compatible with the IRIX version of
71 XFS.
72
73 %description -l pl.UTF-8
74 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
75
76 XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
77 był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
78 obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
79 atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
80 B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
81
82 %package devel
83 Summary:        Header files and libraries to develop XFS software
84 Summary(pl.UTF-8):      Pliki nagłówkowe i biblioteki
85 Group:          Development/Libraries
86 Requires:       %{name} = %{version}-%{release}
87 Requires:       libuuid-devel
88
89 %description devel
90 Header files and libraries to develop software which operates on XFS
91 filesystems.
92
93 %description devel -l pl.UTF-8
94 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
95 operującego na systemie plików XFS.
96
97 %package static
98 Summary:        Static XFS software libraries
99 Summary(pl.UTF-8):      Biblioteki statyczne do XFS
100 Group:          Development/Libraries
101 Requires:       %{name}-devel = %{version}-%{release}
102
103 %description static
104 Static XFS software libraries.
105
106 %description static -l pl.UTF-8
107 Biblioteki statyczne do XFS.
108
109 %package initrd
110 Summary:        Tools for the XFS filesystem - initrd version
111 Summary(pl.UTF-8):      Narzędzia do systemu plików XFS - wersja dla initrd
112 Group:          Base
113
114 %description initrd
115 A set of commands to use the XFS filesystem, including mkfs.xfs
116  - initrd version.
117
118 %description initrd -l pl.UTF-8
119 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs
120  - wersja dla initrd.
121
122 %prep
123 %setup -q
124 %patch0 -p1
125 %patch2 -p1
126 %patch3 -p1
127 %patch4 -p1
128 %patch5 -p1
129
130 %build
131 %{__aclocal} -I m4
132
133 %if %{with initrd}
134 %if %{with dietlibc}
135 # dietlibc doesn't have aio.h (and xfsprogs does not need it really)
136 # dietlibc has needed librt stuff in libc/libpthread
137 sed -i -e 's|^AC_PACKAGE_NEED_AIO_H|dnl AC_PACKAGE_NEED_AIO_H|' \
138         -e 's|^AC_PACKAGE_NEED_LIO_LISTIO|dnl AC_PACKAGE_NEED_LIO_LISTIO|' \
139         configure.in
140 sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in
141 sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
142 %endif
143
144 %{__autoconf}
145 %configure \
146         %{?with_dietlibc:CC="diet %{__cc} -static"} \
147         --sbindir=%{_bindir} \
148         --disable-gettext \
149         --disable-readline \
150         DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
151         OPTIMIZER="%{rpmcflags} -Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED"
152
153 %{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk \
154         LIBUUID="%{dietlibdir}/libuuid.a" \
155         V=1
156 %{__make} -j1 db growfs logprint mkfs mdrestore repair \
157         LDFLAGS="%{rpmldflags} -all-static" \
158         LIBUUID="%{dietlibdir}/libuuid.a" \
159         V=1
160
161 mkdir -p initrd
162 mv -f db/xfs_db initrd/xfs_db
163 mv -f growfs/xfs_growfs initrd/xfs_growfs
164 mv -f logprint/xfs_logprint initrd/xfs_logprint
165 mv -f mkfs/mkfs.xfs initrd/mkfs.xfs
166 mv -f mdrestore/xfs_mdrestore initrd/xfs_mdrestore
167 mv -f repair/xfs_repair initrd/xfs_repair
168
169 %if %{with dietlibc}
170 sed -i -e 's|^dnl AC_PACKAGE_NEED_AIO_H|AC_PACKAGE_NEED_AIO_H|' \
171         -e 's|^dnl AC_PACKAGE_NEED_LIO_LISTIO|AC_PACKAGE_NEED_LIO_LISTIO|' \
172         configure.in
173 sed -i -e 's|^# \(LIBRT.*=.*\)|\1|' include/builddefs.in
174 sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
175 %endif
176
177 %{__make} clean
178 %endif
179
180 %{__autoconf}
181 %configure \
182         --sbindir=%{_bindir}\
183         --enable-gettext \
184         --enable-readline \
185         --enable-blkid \
186         DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
187         OPTIMIZER="%{rpmcflags}"
188
189 %{__make} -j1 \
190         V=1
191
192 %install
193 rm -rf $RPM_BUILD_ROOT
194 install -d $RPM_BUILD_ROOT{%{_libexecdir},/etc}
195
196 DIST_ROOT=$RPM_BUILD_ROOT
197 DIST_INSTALL=$(pwd)/install.manifest
198 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
199 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
200
201 %{__make} install \
202         DIST_MANIFEST="$DIST_INSTALL"
203 %{__make} install-dev \
204         DIST_MANIFEST="$DIST_INSTALL_DEV"
205
206 install %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/xfs_lsprojid
207
208 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libhandle.so.*.*.*) \
209          $RPM_BUILD_ROOT%{_libexecdir}/libhandle.so
210 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxcmd.so.*.*.*) \
211         $RPM_BUILD_ROOT%{_libexecdir}/libxcmd.so
212 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxfs.so.*.*.*) \
213         $RPM_BUILD_ROOT%{_libexecdir}/libxfs.so
214 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxlog.so.*.*.*) \
215         $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so
216
217 mv $RPM_BUILD_ROOT%{_libdir}/lib*.la $RPM_BUILD_ROOT%{_libexecdir}
218 mv $RPM_BUILD_ROOT%{_libdir}/lib*.a $RPM_BUILD_ROOT%{_libexecdir}
219
220 %{__sed} -i -e "s|libdir='%{_libdir}'|libdir='%{_libexecdir}'|" \
221         $RPM_BUILD_ROOT%{_libexecdir}/lib{handle,xcmd,xfs,xlog}.la
222 %{__sed} -i -e "s| %{_libdir}/libxfs.la | %{_libexecdir}/libxfs.la |" \
223         $RPM_BUILD_ROOT%{_libexecdir}/libxlog.la
224
225 %if %{with initrd}
226 install -d $RPM_BUILD_ROOT%{_libexecdir}/initrd
227 install initrd/* $RPM_BUILD_ROOT%{_libexecdir}/initrd
228 %endif
229
230 echo "#10:/mnt/ftp/roman"  >> $RPM_BUILD_ROOT/etc/projects
231 echo "#ftproman:10" >> $RPM_BUILD_ROOT/etc/projid
232
233 %find_lang %{name}
234
235 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
236
237 # already in /usr
238 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{handle,xcmd,xfs,xlog}.so
239
240 %clean
241 rm -rf $RPM_BUILD_ROOT
242
243 %post   -p /sbin/ldconfig
244 %postun -p /sbin/ldconfig
245
246 %files -f %{name}.lang
247 %defattr(644,root,root,755)
248 %doc README doc/{CHANGES,CREDITS}
249 %config(noreplace) %verify(not md5 mtime size) /etc/projects
250 %config(noreplace) %verify(not md5 mtime size) /etc/projid
251 %attr(755,root,root) %{_sbindir}/fsck.xfs
252 %attr(755,root,root) %{_sbindir}/mkfs.xfs
253 %attr(755,root,root) %{_sbindir}/xfs_repair
254 %attr(755,root,root) %{_bindir}/xfs_*
255 %attr(755,root,root) %{_libdir}/libhandle.so.*.*
256 %attr(755,root,root) %{_libdir}/libxcmd.so.*.*
257 %attr(755,root,root) %{_libdir}/libxfs.so.*.*
258 %attr(755,root,root) %{_libdir}/libxlog.so.*.*
259 %attr(755,root,root) %ghost %{_libdir}/libhandle.so.1
260 %attr(755,root,root) %ghost %{_libdir}/libxcmd.so.0
261 %attr(755,root,root) %ghost %{_libdir}/libxfs.so.0
262 %attr(755,root,root) %ghost %{_libdir}/libxlog.so.0
263 %{_mandir}/man5/projects.5*
264 %{_mandir}/man5/projid.5*
265 %{_mandir}/man5/xfs.5*
266 %{_mandir}/man8/fsck.xfs.8*
267 %{_mandir}/man8/mkfs.xfs.8*
268 %{_mandir}/man8/xfs_*.8*
269
270 %files devel
271 %defattr(644,root,root,755)
272 %attr(755,root,root) %{_libexecdir}/libhandle.so
273 %attr(755,root,root) %{_libexecdir}/libxcmd.so
274 %attr(755,root,root) %{_libexecdir}/libxfs.so
275 %attr(755,root,root) %{_libexecdir}/libxlog.so
276 %{_libexecdir}/libhandle.la
277 %{_libexecdir}/libxcmd.la
278 %{_libexecdir}/libxfs.la
279 %{_libexecdir}/libxlog.la
280 %{_includedir}/xfs
281 %{_mandir}/man3/*handle.3*
282 %{_mandir}/man3/xfsctl.3*
283
284 %files static
285 %defattr(644,root,root,755)
286 %{_libexecdir}/libhandle.a
287 %{_libexecdir}/libxcmd.a
288 %{_libexecdir}/libxfs.a
289 %{_libexecdir}/libxlog.a
290
291 %if %{with initrd}
292 %files initrd
293 %defattr(644,root,root,755)
294 %attr(755,root,root) %{_libexecdir}/initrd/mkfs.xfs
295 %attr(755,root,root) %{_libexecdir}/initrd/xfs_db
296 %attr(755,root,root) %{_libexecdir}/initrd/xfs_growfs
297 %attr(755,root,root) %{_libexecdir}/initrd/xfs_logprint
298 %attr(755,root,root) %{_libexecdir}/initrd/xfs_mdrestore
299 %attr(755,root,root) %{_libexecdir}/initrd/xfs_repair
300 %endif
This page took 0.09785 seconds and 4 git commands to generate.