]> git.pld-linux.org Git - packages/xfsprogs.git/blob - xfsprogs.spec
25ab3fa4fc3553b7f23ebcd4d3f555a2913469dd
[packages/xfsprogs.git] / xfsprogs.spec
1 #
2 # Conditional build:
3 %bcond_without  debug_asserts
4 %bcond_without  scrub
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:        6.7.0
10 Release:        1
11 License:        LGPL v2.1 (libhandle), GPL v2 (the rest)
12 Group:          Applications/System
13 Source0:        https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/%{name}-%{version}.tar.xz
14 # Source0-md5:  0bde7bc8b3d8cbbd01064f756f67911f
15 Source1:        xfs_lsprojid
16 Patch0:         %{name}-miscfix-v2.patch
17 Patch1:         %{name}-pl.po-update.patch
18 URL:            https://xfs.wiki.kernel.org/
19 # for <attr/attributes.h>
20 BuildRequires:  attr-devel
21 BuildRequires:  autoconf >= 2.69
22 BuildRequires:  automake
23 BuildRequires:  bash
24 BuildRequires:  device-mapper-devel
25 BuildRequires:  gettext-tools
26 BuildRequires:  glibc-static
27 BuildRequires:  inih-devel
28 BuildRequires:  libblkid-devel
29 # without .la file so that -static-libtool-libs won't take libedit.a
30 BuildRequires:  libedit-devel >= 3.1-1.20191231.1
31 BuildRequires:  libicu-devel
32 BuildRequires:  libtool
33 BuildRequires:  libuuid-devel
34 BuildRequires:  libuuid-static
35 BuildRequires:  pkgconfig
36 BuildRequires:  rpm >= 4.4.9-56
37 BuildRequires:  rpmbuild(macros) >= 1.402
38 %{?with_scrub:BuildRequires:    systemd-devel}
39 BuildRequires:  userspace-rcu-devel
40 BuildRequires:  userspace-rcu-static
41 BuildRequires:  sed >= 4.0
42 BuildRequires:  tar >= 1:1.22
43 BuildRequires:  xz
44 Obsoletes:      xfsprogs-initrd < 3.1.11-2
45 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46
47 %if "%{pld_release}" == "ac"
48 # libtool in ac doesn't do the reordering of args properly
49 %define         filterout_ld -Wl,--as-needed
50 %endif
51
52 %description
53 A set of commands to use the XFS filesystem, including mkfs.xfs.
54
55 XFS is a high performance journaling filesystem which originated on
56 the SGI IRIX platform. It is completely multi-threaded, can support
57 large files and large filesystems, extended attributes, variable block
58 sizes, is extent based, and makes extensive use of Btrees
59 (directories, extents, free space) to aid both performance and
60 scalability.
61
62 This implementation is on-disk compatible with the IRIX version of
63 XFS.
64
65 %description -l pl.UTF-8
66 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
67
68 XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
69 był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
70 obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
71 atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
72 B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
73
74 %package scrub
75 Summary:        xfs_scrub - XFS online check and repair feature (EXPERIMENTAL!)
76 Summary(pl.UTF-8):      xfs_scrub - sprawdzanie i naprawianie zamontowanego systemu plików XFS (EKSPERYMENTALNE!)
77 Group:          Applications/System
78 Requires:       %{name} = %{version}-%{release}
79 Requires:       systemd-units >= 38
80
81 %description scrub
82 xfs_scrub is an XFS online check and repair feature.
83
84 WARNING: EXPERIMENTAL, use at your own risk!
85
86 %description scrub -l pl.UTF-8
87 xfs_scrub służy do sprawdzania i naprawiania zamontowanego systmeu
88 plików XFS w locie.
89
90 UWAGA: EXPERIMENTALNE, użycie na własne ryzyko!
91
92 %package devel
93 Summary:        Header files and libraries to develop XFS software
94 Summary(pl.UTF-8):      Pliki nagłówkowe i biblioteki
95 Group:          Development/Libraries
96 Requires:       %{name} = %{version}-%{release}
97 Requires:       libuuid-devel
98 Requires:       linux-libc-headers
99
100 %description devel
101 Header files and libraries to develop software which operates on XFS
102 filesystems.
103
104 %description devel -l pl.UTF-8
105 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
106 operującego na systemie plików XFS.
107
108 %package static
109 Summary:        Static XFS software libraries
110 Summary(pl.UTF-8):      Biblioteki statyczne do XFS
111 Group:          Development/Libraries
112 Requires:       %{name}-devel = %{version}-%{release}
113
114 %description static
115 Static XFS software libraries.
116
117 %description static -l pl.UTF-8
118 Biblioteki statyczne do XFS.
119
120 %prep
121 %setup -q
122 %patch0 -p1
123 %patch1 -p1
124
125 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' scrub/xfs_scrub_all.in tools/xfsbuflock.py
126
127 %build
128 %{__aclocal} -I m4
129 %{__autoconf}
130 %configure \
131         DEBUG="%{?with_debug_asserts:-DDEBUG}%{!?with_debug_asserts:-DNDEBUG}" \
132         OPTIMIZER="%{rpmcflags}" \
133         --enable-editline \
134         --enable-gettext \
135         --enable-libicu \
136         --disable-lto \
137         %{?with_scrub:--enable-scrub=yes} \
138         --with-udev-rule-dir=/lib/udev/rules.d
139
140 %{__make} \
141         V=1
142
143 %install
144 rm -rf $RPM_BUILD_ROOT
145 install -d $RPM_BUILD_ROOT/etc/cron.d
146
147 DIST_ROOT=$RPM_BUILD_ROOT
148 DIST_INSTALL=$(pwd)/install.manifest
149 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
150 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
151
152 %{__make} install \
153         DIST_MANIFEST="$DIST_INSTALL"
154 %{__make} install-dev \
155         DIST_MANIFEST="$DIST_INSTALL_DEV"
156
157 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_sbindir}/xfs_lsprojid
158
159 # adjust symlink to point to actual library, not libhandle.so symlink, which we remove afterwards
160 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libhandle.so.*.*.*) \
161          $RPM_BUILD_ROOT%{_libdir}/libhandle.so
162 # adjust library path used at link time
163 %{__sed} -i -e "s|libdir='/%{_lib}'|libdir='%{_libdir}'|" \
164         $RPM_BUILD_ROOT%{_libdir}/libhandle.la
165 # already in /usr
166 %{__rm} $RPM_BUILD_ROOT/%{_lib}/libhandle.{so,la,a}
167
168 # install cron file
169 %if %{with scrub}
170 %{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{name}/xfs_scrub_all.cron,/etc/cron.d/xfs_scrub_all}
171 %else
172 %{__rm} $RPM_BUILD_ROOT/%{_datadir}/%{name}/xfs_scrub_all.cron
173 %endif
174
175 # (config file paths are specified in libfrog/projects.c)
176 echo "#10:/mnt/ftp/roman"  >> $RPM_BUILD_ROOT/etc/projects
177 echo "#ftproman:10" >> $RPM_BUILD_ROOT/etc/projid
178
179 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
180
181 %find_lang %{name}
182
183 %clean
184 rm -rf $RPM_BUILD_ROOT
185
186 %post   -p /sbin/ldconfig
187 %postun -p /sbin/ldconfig
188
189 %post scrub
190 %systemd_reload
191
192 %files -f %{name}.lang
193 %defattr(644,root,root,755)
194 %doc README doc/{CHANGES,CREDITS}
195 %config(noreplace) %verify(not md5 mtime size) /etc/projects
196 %config(noreplace) %verify(not md5 mtime size) /etc/projid
197 %attr(755,root,root) /sbin/fsck.xfs
198 %attr(755,root,root) /sbin/mkfs.xfs
199 %attr(755,root,root) /sbin/xfs_repair
200 %attr(755,root,root) %{_sbindir}/xfs_*
201 %if %{with scrub}
202 %exclude %{_sbindir}/xfs_scrub*
203 %endif
204 %attr(755,root,root) /%{_lib}/libhandle.so.*.*
205 %attr(755,root,root) %ghost /%{_lib}/libhandle.so.1
206 %{_datadir}/%{name}
207 %dir %{_libexecdir}/%{name}
208 %if %{with scrub}
209 %attr(755,root,root) %{_libexecdir}/%{name}/xfs_scrub_fail
210 %endif
211 %{_mandir}/man5/projects.5*
212 %{_mandir}/man5/projid.5*
213 %{_mandir}/man5/xfs.5*
214 %{_mandir}/man8/fsck.xfs.8*
215 %{_mandir}/man8/mkfs.xfs.8*
216 %{_mandir}/man8/xfs_*.8*
217 %if %{with scrub}
218 %exclude %{_mandir}/man8/xfs_scrub*.8*
219 %endif
220
221 %if %{with scrub}
222 %files scrub
223 %defattr(644,root,root,755)
224 %attr(755,root,root) %{_sbindir}/xfs_scrub
225 %attr(755,root,root) %{_sbindir}/xfs_scrub_all
226 /lib/udev/rules.d/64-xfs.rules
227 %{systemdunitdir}/xfs_scrub@.service
228 %{systemdunitdir}/xfs_scrub_all.service
229 %{systemdunitdir}/xfs_scrub_all.timer
230 %{systemdunitdir}/xfs_scrub_fail@.service
231 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/xfs_scrub_all
232 %{_mandir}/man8/xfs_scrub.8*
233 %{_mandir}/man8/xfs_scrub_all.8*
234 %endif
235
236 %files devel
237 %defattr(644,root,root,755)
238 %attr(755,root,root) %{_libdir}/libhandle.so
239 %{_libdir}/libhandle.la
240 %{_includedir}/xfs
241 %{_mandir}/man2/ioctl_xfs_ag_geometry.2*
242 %{_mandir}/man2/ioctl_xfs_bulkstat.2*
243 %{_mandir}/man2/ioctl_xfs_fsbulkstat.2*
244 %{_mandir}/man2/ioctl_xfs_fscounts.2*
245 %{_mandir}/man2/ioctl_xfs_fsgeometry.2*
246 %{_mandir}/man2/ioctl_xfs_fsgetxattr.2*
247 %{_mandir}/man2/ioctl_xfs_fsgetxattra.2*
248 %{_mandir}/man2/ioctl_xfs_fsinumbers.2*
249 %{_mandir}/man2/ioctl_xfs_fssetxattr.2*
250 %{_mandir}/man2/ioctl_xfs_getbmap.2*
251 %{_mandir}/man2/ioctl_xfs_getbmapa.2*
252 %{_mandir}/man2/ioctl_xfs_getbmapx.2*
253 %{_mandir}/man2/ioctl_xfs_getresblks.2*
254 %{_mandir}/man2/ioctl_xfs_goingdown.2*
255 %{_mandir}/man2/ioctl_xfs_inumbers.2*
256 %{_mandir}/man2/ioctl_xfs_scrub_metadata.2*
257 %{_mandir}/man2/ioctl_xfs_setresblks.2*
258 %{_mandir}/man3/*handle.3*
259 %{_mandir}/man3/xfsctl.3*
260
261 %files static
262 %defattr(644,root,root,755)
263 %{_libdir}/libhandle.a
This page took 0.120125 seconds and 2 git commands to generate.