3 %bcond_with initrd # don't build initrd version
4 %bcond_with dietlibc # link initrd version with static glibc instead of dietlibc
5 %bcond_without tests # don't perform "make test"
7 Summary: Tool for creating and maintaining software RAID devices
8 Summary(pl.UTF-8): Narzędzie do tworzenia i obsługi programowych macierzy RAID
14 Source0: https://www.kernel.org/pub/linux/utils/raid/mdadm/%{name}-%{version}.tar.xz
15 # Source0-md5: 7ca8b114710f98f53f20c5787b674a09
17 Source2: %{name}.sysconfig
19 Source4: %{name}-checkarray
20 URL: https://www.kernel.org/pub/linux/utils/raid/mdadm/
22 BuildRequires: rpmbuild(macros) >= 1.213
25 BuildRequires: dietlibc-static
27 BuildRequires: glibc-static
30 BuildRequires: rpmbuild(macros) >= 1.268
31 BuildRequires: tar >= 1:1.22
33 Requires(post,preun): /sbin/chkconfig
34 Requires: /sbin/chkconfig
35 Requires: rc-scripts >= 0.4.2.4-2
37 %{!?with_initrd:Obsoletes: mdadm-initrd < %{version}-%{release}}
39 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 %define _sbindir /sbin
44 This package includes tool you need to set up and maintain a software
45 RAID device under Linux. It's thought as an alternative to raidtools
48 %description -l pl.UTF-8
49 Pakiet ten zawiera narzędzie potrzebne do tworzenia i obsługi
50 programowych macierzy RAID. Program ten jest pomyślany jako
51 alternatywa dla pakietu raidtools.
54 Summary: Tool for maintaining software RAID devices - initrd version
55 Summary(pl.UTF-8): Narzędzie do obsługi programowych macierzy RAID, wersja dla initrd
57 Conflicts: geninitrd < 10000.10
60 Tool for maintaining software RAID devices - statically linked for
63 %description initrd -l pl.UTF-8
64 Narzędzie do zarządzania programowymi macierzami RAID - statycznie
65 skonsolidowane na potrzeby initrd.
74 CC="diet %{__cc} %{rpmcflags} %{rpmcppflags} %{rpmldflags} -Os -static" \
76 mv -f mdadm initrd-mdadm
78 diet %{__cc} -DUCLIBC -DMDASSEMBLE_AUTO -DMDASSEMBLE %{rpmcflags} %{rpmcppflags} %{rpmldflags} -Os -static \
79 -o initrd-mdassemble \
80 mdassemble.c Assemble.c Manage.c config.c policy.c dlink.c util.c lib.c \
81 super0.c super1.c super-ddf.c super-intel.c sha1.c crc32.c sg_io.c mdstat.c \
82 platform-intel.c probe_roms.c sysfs.c super-mbr.c super-gpt.c mdopen.c maps.c xmalloc.c
84 %{__make} mdadm.static \
86 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
87 LDFLAGS="%{rpmldflags}"
88 mv -f mdadm.static initrd-mdadm
90 %{__cc} -DMDASSEMBLE_AUTO -DMDASSEMBLE %{rpmcflags} %{rpmcppflags} %{rpmldflags} -DHAVE_STDINT_H -static \
91 -o initrd-mdassemble \
92 mdassemble.c Assemble.c Manage.c config.c policy.c dlink.c util.c lib.c \
93 super0.c super1.c super-ddf.c super-intel.c sha1.c crc32.c sg_io.c mdstat.c \
94 platform-intel.c probe_roms.c sysfs.c super-mbr.c super-gpt.c mdopen.c maps.c xmalloc.c
99 %{__make} mdassemble \
102 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
103 LDFLAGS="%{rpmldflags}" \
104 SYSCONFDIR="%{_sysconfdir}"
105 mv mdassemble regular-mdassemble
108 %{__make} all mdadm mdadm.8 \
110 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
111 LDFLAGS="%{rpmldflags}" \
112 SYSCONFDIR="%{_sysconfdir}"
114 %{?with_tests:%{__make} test}
117 rm -rf $RPM_BUILD_ROOT
118 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8},/etc/{rc.d/init.d,sysconfig,cron.d},/lib/udev/rules.d}
121 install -d $RPM_BUILD_ROOT%{_libdir}/initrd
122 install -p initrd-mdadm $RPM_BUILD_ROOT%{_libdir}/initrd/mdadm
123 install -p initrd-mdassemble $RPM_BUILD_ROOT%{_libdir}/initrd/mdassemble
124 ln -s mdadm $RPM_BUILD_ROOT%{_libdir}/initrd/mdctl
127 install -p regular-mdassemble $RPM_BUILD_ROOT%{_sbindir}/mdassemble
128 install -p mdadm $RPM_BUILD_ROOT%{_sbindir}
130 cp -p md*.5 $RPM_BUILD_ROOT%{_mandir}/man5
131 cp -p md*.8 $RPM_BUILD_ROOT%{_mandir}/man8
133 cp -p mdadm.conf-example $RPM_BUILD_ROOT%{_sysconfdir}/mdadm.conf
135 ln -s mdadm $RPM_BUILD_ROOT%{_sbindir}/mdctl
137 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
138 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
140 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/mdadm-checkarray
141 install -p %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/mdadm-checkarray
143 cp -p udev-md-raid-arrays.rules $RPM_BUILD_ROOT/lib/udev/rules.d/64-md-raid.rules
146 rm -rf $RPM_BUILD_ROOT
149 /sbin/chkconfig --add %{name}
150 %service mdadm restart "RAID monitoring"
153 if [ "$1" = "0" ]; then
155 /sbin/chkconfig --del mdadm
159 %defattr(644,root,root,755)
160 %doc ANNOUNCE* ChangeLog TODO
161 %attr(755,root,root) %{_sbindir}/mdadm
162 %attr(755,root,root) %{_sbindir}/mdadm-checkarray
163 %attr(755,root,root) %{_sbindir}/mdassemble
164 %attr(755,root,root) %{_sbindir}/mdctl
165 %attr(640,root,root) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/mdadm.conf
166 %{_mandir}/man5/mdadm.conf.5*
167 %{_mandir}/man8/mdadm.8*
168 %{_mandir}/man8/mdassemble.8*
169 %{_mandir}/man8/mdmon.8*
170 %attr(754,root,root) /etc/rc.d/init.d/%{name}
171 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
172 %config(noreplace) %attr(640,root,root) /etc/cron.d/mdadm-checkarray
173 /lib/udev/rules.d/64-md-raid.rules
177 %defattr(644,root,root,755)
178 %attr(755,root,root) %{_libdir}/initrd/mdadm
179 %attr(755,root,root) %{_libdir}/initrd/mdassemble
180 %attr(755,root,root) %{_libdir}/initrd/mdctl