]> git.pld-linux.org Git - packages/mdadm.git/blob - mdadm.spec
9250ee4985ae3969803f5705c83c4f69aeff1646
[packages/mdadm.git] / mdadm.spec
1 #
2 # Conditional build:
3 %bcond_without  initrd          # don't build initrd version
4 %bcond_without  uClibc          # link initrd version with static glibc instead of uClibc
5 #
6 Summary:        Tool for creating and maintaining software RAID devices
7 Summary(pl.UTF-8):      Narzędzie do tworzenia i obsługi programowych macierzy RAID
8 Name:           mdadm
9 Version:        2.6
10 Release:        1
11 License:        GPL
12 Group:          Base
13 Source0:        http://www.kernel.org/pub/linux/utils/raid/mdadm/%{name}-%{version}.tar.bz2
14 # Source0-md5:  e5d87884da6f80a68d94cff5a5bebd82
15 Source1:        %{name}.init
16 Source2:        %{name}.sysconfig
17 Patch0:         %{name}-degraded.patch
18 Patch1:         %{name}-fix.patch
19 URL:            http://www.kernel.org/pub/linux/utils/raid/mdadm/
20 BuildRequires:  groff
21 BuildRequires:  rpmbuild(macros) >= 1.213
22 %if %{with initrd}
23 %{!?with_uClibc:BuildRequires:  glibc-static}
24 %if %{with uClibc}
25 %ifarch ppc
26 BuildRequires:  uClibc-static >= 2:0.9.29
27 %else
28 BuildRequires:  uClibc-static
29 %endif
30 %endif
31 Requires:       %{name}-initrd = %{epoch}:%{version}-%{release}
32 %endif
33 Requires(post,preun):   /sbin/chkconfig
34 Requires:       /sbin/chkconfig
35 Obsoletes:      mdctl
36 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37
38 %define         _sbindir                /sbin
39
40 %description
41 This package includes tool you need to set up and maintain a software
42 RAID device under Linux. It's thought as an alternative to raidtools
43 package.
44
45 %description -l pl.UTF-8
46 Pakiet ten zawiera narzędzie potrzebne do tworzenia i obsługi
47 programowych macierzy RAID. Program ten jest pomyślany jako
48 alternatywa dla pakietu raidtools.
49
50 %package initrd
51 Summary:        Tool for maintaining software RAID devices - initrd version
52 Summary(pl.UTF-8):      Narzędzie do obsługi programowych macierzy RAID, wersja dla initrd
53 Group:          Base
54
55 %description initrd
56 Tool for maintaining software RAID devices - statically linked for
57 initrd.
58
59 %description initrd -l pl.UTF-8
60 Narzędzie do zarządzania programowymi macierzami RAID - statycznie
61 skonsolidowane na potrzeby initrd.
62
63 %prep
64 %setup -q
65 %patch0 -p1
66 %patch1 -p1
67
68 %build
69 %if %{with initrd}
70 %if %{with uClibc}
71 %{__make} mdadm.uclibc \
72         UCLIBC_GCC="%{_target_cpu}-uclibc-gcc %{rpmcflags} %{rpmldflags} -static"
73 mv -f mdadm.uclibc initrd-mdadm
74 %{__make} clean
75 %{_target_cpu}-uclibc-gcc -DMDASSEMBLE %{rpmcflags} %{rpmldflags} \
76         -DHAVE_STDINT_H -o sha1.o -c sha1.c
77 %{_target_cpu}-uclibc-gcc -DUCLIBC -DMDASSEMBLE %{rpmcflags} %{rpmldflags} \
78         -static -o initrd-mdassemble mdassemble.c Assemble.c Manage.c config.c dlink.c \
79         util.c super0.c super1.c sha1.o
80 %else
81 %{__make} mdadm.static \
82         CC="%{__cc}" \
83         CFLAGS="%{rpmcflags} -D_GNU_SOURCE" \
84         LDFLAGS="%{rpmldflags}"
85 mv -f mdadm.static initrd-mdadm
86 %{__make} clean
87 %{__cc} -DMDASSEMBLE %{rpmcflags} %{rpmldflags} -DHAVE_STDINT_H \
88         -o sha1.o -c sha1.c
89 %{__cc} -DMDASSEMBLE %{rpmcflags} %{rpmldflags} -static \
90         -o initrd-mdassemble mdassemble.c Assemble.c Manage.c config.c dlink.c \
91         util.c super0.c super1.c sha1.o
92 %endif
93 %{__make} clean
94 %endif
95
96 %{__make} \
97         CC="%{__cc}" \
98         CFLAGS="%{rpmcflags} -D_GNU_SOURCE" \
99         LDFLAGS="%{rpmldflags}" \
100         SYSCONFDIR="%{_sysconfdir}"
101
102 %install
103 rm -rf $RPM_BUILD_ROOT
104 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8},/etc/{rc.d/init.d,sysconfig}}
105
106 %if %{with initrd}
107 install initrd-mdadm $RPM_BUILD_ROOT%{_sbindir}
108 install initrd-mdassemble $RPM_BUILD_ROOT%{_sbindir}
109 ln -s initrd-mdadm $RPM_BUILD_ROOT%{_sbindir}/initrd-mdctl
110 %endif
111
112 install mdadm $RPM_BUILD_ROOT%{_sbindir}
113
114 install *.5 $RPM_BUILD_ROOT%{_mandir}/man5
115 install *.8 $RPM_BUILD_ROOT%{_mandir}/man8
116
117 install mdadm.conf-example $RPM_BUILD_ROOT%{_sysconfdir}/mdadm.conf
118
119 ln -s mdadm $RPM_BUILD_ROOT%{_sbindir}/mdctl
120
121 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
122 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
123
124 %clean
125 rm -rf $RPM_BUILD_ROOT
126
127 %post
128 /sbin/chkconfig --add %{name}
129 if [ -f /var/lock/subsys/mdadm ]; then
130         /etc/rc.d/init.d/mdadm restart 1>&2
131 else
132         echo "Run \"/etc/rc.d/init.d/mdadm start\" to start RAID monitoring."
133 fi
134
135 %preun
136 if [ "$1" = "0" ]; then
137         if [ -f /var/lock/subsys/mdadm ]; then
138                 /etc/rc.d/init.d/mdadm stop 1>&2
139         fi
140         /sbin/chkconfig --del mdadm
141 fi
142
143 %files
144 %defattr(644,root,root,755)
145 %doc ANNOUNCE* ChangeLog TODO
146 %attr(755,root,root) %{_sbindir}/*
147 %attr(640,root,root) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/mdadm.conf
148 %{_mandir}/man?/*
149 %attr(754,root,root) /etc/rc.d/init.d/%{name}
150 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
151 %if %{with initrd}
152 %exclude %{_sbindir}/initrd-*
153
154 %files initrd
155 %defattr(644,root,root,755)
156 %attr(755,root,root) %{_sbindir}/initrd-*
157 %endif
This page took 0.028648 seconds and 2 git commands to generate.