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