]> git.pld-linux.org Git - packages/xfsprogs.git/blob - xfsprogs.spec
- WIP on building initrd, dietlibc version
[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.0.0
10 Release:        3.1
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:  ec734f935ec87ebb8be890d29380a3e6
15 Patch0:         %{name}-miscfix-v2.patch
16 Patch1:         %{name}-install-sh.patch
17 Patch2:         %{name}-sharedlibs.patch
18 Patch3:         %{name}-pl.po-update.patch
19 Patch4:         %{name}-dynamic_exe.patch
20 Patch5:         %{name}-LDFLAGS.patch
21 Patch6:         %{name}-diet.patch
22 URL:            http://oss.sgi.com/projects/xfs/
23 BuildRequires:  autoconf
24 BuildRequires:  automake
25 BuildRequires:  bash
26 BuildRequires:  gettext-devel
27 BuildRequires:  libtool
28 BuildRequires:  libuuid-devel
29 BuildRequires:  rpmbuild(macros) >= 1.402
30 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31
32 %define         _sbindir        /sbin
33 %define         _bindir         /usr/sbin
34 %define         _libdir         /%{_lib}
35 %define         _libexecdir     /usr/%{_lib}
36
37 %description
38 A set of commands to use the XFS filesystem, including mkfs.xfs.
39
40 XFS is a high performance journaling filesystem which originated on
41 the SGI IRIX platform. It is completely multi-threaded, can support
42 large files and large filesystems, extended attributes, variable block
43 sizes, is extent based, and makes extensive use of Btrees
44 (directories, extents, free space) to aid both performance and
45 scalability.
46
47 This implementation is on-disk compatible with the IRIX version of
48 XFS.
49
50 %description -l pl.UTF-8
51 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
52
53 XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
54 był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
55 obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
56 atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
57 B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
58
59 %package devel
60 Summary:        Header files and libraries to develop XFS software
61 Summary(pl.UTF-8):      Pliki nagłówkowe i biblioteki
62 Group:          Development/Libraries
63 Requires:       %{name} = %{version}-%{release}
64 Requires:       libuuid-devel
65
66 %description devel
67 Header files and libraries to develop software which operates on XFS
68 filesystems.
69
70 %description devel -l pl.UTF-8
71 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
72 operującego na systemie plików XFS.
73
74 %package static
75 Summary:        Static XFS software libraries
76 Summary(pl.UTF-8):      Biblioteki statyczne do XFS
77 Group:          Development/Libraries
78 Requires:       %{name}-devel = %{version}-%{release}
79
80 %description static
81 Static XFS software libraries.
82
83 %description static -l pl.UTF-8
84 Biblioteki statyczne do XFS.
85
86 %prep
87 %setup -q
88 %patch0 -p1
89 %patch1 -p1
90 %patch2 -p1
91 # currently obsolete until needed again
92 # %patch3 -p1
93 %patch4 -p1
94 %patch5 -p1
95 %patch6 -p1
96
97 rm -f include/{builddefs,platform_defs}.h
98
99 %build
100 %{__aclocal} -I m4
101
102 %if %{with initrd}
103 sed -i -e 's|^AC_PACKAGE_NEED_AIO_H|dnl AC_PACKAGE_NEED_AIO_H|' \
104         -e 's|^AC_PACKAGE_NEED_LIO_LISTIO|dnl AC_PACKAGE_NEED_LIO_LISTIO|' \
105         configure.in
106 sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in
107 sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
108
109 %{__autoconf}
110 %configure \
111         CC="diet %{__cc} -static" \
112         --disable-gettext \
113         --disable-readline \
114         --disable-shared \
115         --enable-static \
116         DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
117         OPTIMIZER="-Wno-deprecated-declarations -Os -D_BSD_SOURCE"
118
119 %{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk
120 %{__make} -j1 db growfs logprint mkfs mdrestore repair
121
122 sed -i -e 's|^dnl AC_PACKAGE_NEED_AIO_H|AC_PACKAGE_NEED_AIO_H|' \
123         -e 's|^dnl AC_PACKAGE_NEED_LIO_LISTIO|AC_PACKAGE_NEED_LIO_LISTIO|' \
124         configure.in
125 sed -i -e 's|# \(^LIBRT.*=.*\)|\1|' include/builddefs.in
126 sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
127
128 #{__make} clean
129 %endif
130
131 %{__autoconf}
132 %configure \
133         --enable-gettext \
134         --enable-readline \
135         DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
136         OPTIMIZER="%{rpmcflags}"
137
138 %{__make} -j1
139
140 %install
141 rm -rf $RPM_BUILD_ROOT
142
143 DIST_ROOT=$RPM_BUILD_ROOT
144 DIST_INSTALL=$(pwd)/install.manifest
145 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
146 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
147
148 %{__make} install \
149         DIST_MANIFEST="$DIST_INSTALL"
150 %{__make} install-dev \
151         DIST_MANIFEST="$DIST_INSTALL_DEV"
152
153 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libhandle.so.*.*.*) \
154          $RPM_BUILD_ROOT%{_libexecdir}/libhandle.so
155 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libdisk.so.*.*.*) \
156         $RPM_BUILD_ROOT%{_libexecdir}/libdisk.so
157 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxcmd.so.*.*.*) \
158         $RPM_BUILD_ROOT%{_libexecdir}/libxcmd.so
159 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxfs.so.*.*.*) \
160         $RPM_BUILD_ROOT%{_libexecdir}/libxfs.so
161 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxlog.so.*.*.*) \
162         $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so
163
164 %{__sed} -i -e "s|libdir='%{_libdir}'|libdir='%{_libexecdir}'|" \
165         $RPM_BUILD_ROOT%{_libexecdir}/lib{disk,handle,xcmd,xfs,xlog}.la
166 %{__sed} -i -e "s| %{_libdir}/libxfs.la | %{_libexecdir}/libxfs.la |" \
167         $RPM_BUILD_ROOT%{_libexecdir}/libxlog.la
168
169 %find_lang %{name}
170
171 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
172
173 # already in /usr
174 rm -f $RPM_BUILD_ROOT%{_libdir}/libdisk.{a,la,so}
175 rm -f $RPM_BUILD_ROOT%{_libdir}/libhandle.{a,la,so}
176 rm -f $RPM_BUILD_ROOT%{_libdir}/libxcmd.{a,la,so}
177 rm -f $RPM_BUILD_ROOT%{_libdir}/libxfs.{a,la,so}
178 rm -f $RPM_BUILD_ROOT%{_libdir}/libxlog.{a,la,so}
179
180 %clean
181 rm -rf $RPM_BUILD_ROOT
182
183 %post   -p /sbin/ldconfig
184 %postun -p /sbin/ldconfig
185
186 %files -f %{name}.lang
187 %defattr(644,root,root,755)
188 %doc README doc/{CHANGES,CREDITS}
189 %attr(755,root,root) %{_sbindir}/fsck.xfs
190 %attr(755,root,root) %{_sbindir}/mkfs.xfs
191 %attr(755,root,root) %{_sbindir}/xfs_repair
192 %attr(755,root,root) %{_bindir}/xfs_*
193 %attr(755,root,root) %{_libdir}/libdisk.so.*.*
194 %attr(755,root,root) %{_libdir}/libhandle.so.*.*
195 %attr(755,root,root) %{_libdir}/libxcmd.so.*.*
196 %attr(755,root,root) %{_libdir}/libxfs.so.*.*
197 %attr(755,root,root) %{_libdir}/libxlog.so.*.*
198 %attr(755,root,root) %ghost %{_libdir}/libdisk.so.0
199 %attr(755,root,root) %ghost %{_libdir}/libhandle.so.1
200 %attr(755,root,root) %ghost %{_libdir}/libxcmd.so.0
201 %attr(755,root,root) %ghost %{_libdir}/libxfs.so.0
202 %attr(755,root,root) %ghost %{_libdir}/libxlog.so.0
203 %{_mandir}/man5/xfs.5*
204 %{_mandir}/man8/fsck.xfs.8*
205 %{_mandir}/man8/mkfs.xfs.8*
206 %{_mandir}/man8/xfs_*.8*
207
208 %files devel
209 %defattr(644,root,root,755)
210 %attr(755,root,root) %{_libexecdir}/libdisk.so
211 %attr(755,root,root) %{_libexecdir}/libhandle.so
212 %attr(755,root,root) %{_libexecdir}/libxcmd.so
213 %attr(755,root,root) %{_libexecdir}/libxfs.so
214 %attr(755,root,root) %{_libexecdir}/libxlog.so
215 %{_libexecdir}/libdisk.la
216 %{_libexecdir}/libhandle.la
217 %{_libexecdir}/libxcmd.la
218 %{_libexecdir}/libxfs.la
219 %{_libexecdir}/libxlog.la
220 %{_includedir}/xfs
221 %{_mandir}/man3/*handle.3*
222 %{_mandir}/man3/xfsctl.3*
223
224 %files static
225 %defattr(644,root,root,755)
226 %{_libexecdir}/libdisk.a
227 %{_libexecdir}/libhandle.a
228 %{_libexecdir}/libxcmd.a
229 %{_libexecdir}/libxfs.a
230 %{_libexecdir}/libxlog.a
This page took 0.052328 seconds and 4 git commands to generate.