Summary: Tool for creating and maintaining software RAID devices
Summary(pl.UTF-8): Narzędzie do tworzenia i obsługi programowych macierzy RAID
Name: mdadm
-Version: 3.4
+Version: 4.2
Release: 1
License: GPL v2+
Group: Base
Source0: https://www.kernel.org/pub/linux/utils/raid/mdadm/%{name}-%{version}.tar.xz
-# Source0-md5: 04b8b21f637540350f8517c7e68d3c63
+# Source0-md5: a304eb0a978ca81045620d06547050a6
Source1: %{name}.init
Source2: %{name}.sysconfig
Source3: %{name}.cron
Source4: %{name}-checkarray
Patch0: %{name}-udev-rules-paths.patch
URL: https://www.kernel.org/pub/linux/utils/raid/mdadm/
+BuildRequires: dlm-devel
BuildRequires: groff
-BuildRequires: rpmbuild(macros) >= 1.213
+BuildRequires: rpmbuild(macros) >= 1.671
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
%if %{with initrd}
%if %{with dietlibc}
BuildRequires: dietlibc-static
BuildRequires: glibc-static
%endif
%endif
-BuildRequires: rpmbuild(macros) >= 1.268
-BuildRequires: tar >= 1:1.22
-BuildRequires: xz
Requires(post,preun): /sbin/chkconfig
Requires: /sbin/chkconfig
Requires: rc-scripts >= 0.4.2.4-2
-Suggests: crondaemon
+Suggests: cronjobs
%{!?with_initrd:Obsoletes: mdadm-initrd < %{version}-%{release}}
Obsoletes: mdctl
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%prep
%setup -q
-%patch0 -p0
+%patch0 -p1
%build
%if %{with initrd}
%{__make} mdadm \
CC="diet %{__cc} %{rpmcflags} %{rpmcppflags} %{rpmldflags} -Os -static" \
CWFLAGS="-Wall"
-mv -f mdadm initrd-mdadm
-%{__make} clean
-diet %{__cc} -DUCLIBC -DMDASSEMBLE_AUTO -DMDASSEMBLE %{rpmcflags} %{rpmcppflags} %{rpmldflags} -Os -static \
- -o initrd-mdassemble \
- mdassemble.c Assemble.c Manage.c config.c policy.c dlink.c util.c lib.c \
- super0.c super1.c super-ddf.c super-intel.c sha1.c crc32.c sg_io.c mdstat.c \
- platform-intel.c probe_roms.c sysfs.c super-mbr.c super-gpt.c mdopen.c maps.c xmalloc.c
+%{__mv} mdadm initrd-mdadm
%else
%{__make} mdadm.static \
CC="%{__cc}" \
CFLAGS="%{rpmcflags} %{rpmcppflags}" \
LDFLAGS="%{rpmldflags}"
-mv -f mdadm.static initrd-mdadm
-%{__make} clean
-%{__cc} -DMDASSEMBLE_AUTO -DMDASSEMBLE %{rpmcflags} %{rpmcppflags} %{rpmldflags} -DHAVE_STDINT_H -static \
- -o initrd-mdassemble \
- mdassemble.c Assemble.c Manage.c config.c policy.c dlink.c util.c lib.c \
- super0.c super1.c super-ddf.c super-intel.c sha1.c crc32.c sg_io.c mdstat.c \
- platform-intel.c probe_roms.c sysfs.c super-mbr.c super-gpt.c mdopen.c maps.c xmalloc.c
+%{__mv} mdadm.static initrd-mdadm
%endif
%{__make} clean
%endif
-%{__make} mdassemble \
- MDASSEMBLE_AUTO=1 \
- CC="%{__cc}" \
- CFLAGS="%{rpmcflags} %{rpmcppflags}" \
- LDFLAGS="%{rpmldflags}" \
- SYSCONFDIR="%{_sysconfdir}"
-mv mdassemble regular-mdassemble
-%{__make} clean
-
%{__make} all mdadm mdadm.8 \
CC="%{__cc}" \
CFLAGS="%{rpmcflags} %{rpmcppflags}" \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8},/etc/{rc.d/init.d,sysconfig,cron.d},/lib/udev/rules.d}
+install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8}} \
+ $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,cron.d}
+
+%{__make} install install-udev \
+ DESTDIR=$RPM_BUILD_ROOT
%if %{with initrd}
install -d $RPM_BUILD_ROOT%{_libdir}/initrd
install -p initrd-mdadm $RPM_BUILD_ROOT%{_libdir}/initrd/mdadm
-install -p initrd-mdassemble $RPM_BUILD_ROOT%{_libdir}/initrd/mdassemble
ln -s mdadm $RPM_BUILD_ROOT%{_libdir}/initrd/mdctl
%endif
-install -p regular-mdassemble $RPM_BUILD_ROOT%{_sbindir}/mdassemble
-install -p mdadm $RPM_BUILD_ROOT%{_sbindir}
-
-cp -p md*.5 $RPM_BUILD_ROOT%{_mandir}/man5
-cp -p md*.8 $RPM_BUILD_ROOT%{_mandir}/man8
-
cp -p mdadm.conf-example $RPM_BUILD_ROOT%{_sysconfdir}/mdadm.conf
ln -s mdadm $RPM_BUILD_ROOT%{_sbindir}/mdctl
cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/mdadm-checkarray
install -p %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/mdadm-checkarray
-cp -p udev-md-raid-arrays.rules $RPM_BUILD_ROOT/lib/udev/rules.d/64-md-raid.rules
-
%clean
rm -rf $RPM_BUILD_ROOT
/sbin/chkconfig --del mdadm
fi
+%postun
+/sbin/ldconfig
+
%files
%defattr(644,root,root,755)
%doc ANNOUNCE* ChangeLog TODO
%attr(755,root,root) %{_sbindir}/mdadm
%attr(755,root,root) %{_sbindir}/mdadm-checkarray
-%attr(755,root,root) %{_sbindir}/mdassemble
%attr(755,root,root) %{_sbindir}/mdctl
+%attr(755,root,root) %{_sbindir}/mdmon
+/lib/udev/rules.d/01-md-raid-creating.rules
+/lib/udev/rules.d/63-md-raid-arrays.rules
+/lib/udev/rules.d/64-md-raid-assembly.rules
+/lib/udev/rules.d/69-md-clustered-confirm-device.rules
%attr(640,root,root) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/mdadm.conf
+%{_mandir}/man4/md.4*
%{_mandir}/man5/mdadm.conf.5*
%{_mandir}/man8/mdadm.8*
-%{_mandir}/man8/mdassemble.8*
%{_mandir}/man8/mdmon.8*
%attr(754,root,root) /etc/rc.d/init.d/%{name}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
%config(noreplace) %attr(640,root,root) /etc/cron.d/mdadm-checkarray
-/lib/udev/rules.d/64-md-raid.rules
%if %{with initrd}
%files initrd
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/initrd/mdadm
-%attr(755,root,root) %{_libdir}/initrd/mdassemble
%attr(755,root,root) %{_libdir}/initrd/mdctl
%endif