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