Use unit files with systemd. (thanks to johannbg)
Add sub-package sysvinit for SysV init script. Resolves: bz713573
This commit is contained in:
parent
b979607a1c
commit
d00f539784
1
mdadm.conf
Normal file
1
mdadm.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
D /var/run/mdadm 0710 root root -
|
75
mdadm.spec
75
mdadm.spec
@ -1,13 +1,16 @@
|
|||||||
Summary: The mdadm program controls Linux md devices (software RAID arrays)
|
Summary: The mdadm program controls Linux md devices (software RAID arrays)
|
||||||
Name: mdadm
|
Name: mdadm
|
||||||
Version: 3.2.2
|
Version: 3.2.2
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}.tar.bz2
|
Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}.tar.bz2
|
||||||
Source1: mdmonitor.init
|
Source1: mdmonitor.init
|
||||||
Source2: raid-check
|
Source2: raid-check
|
||||||
Source3: mdadm.rules
|
Source3: mdadm.rules
|
||||||
Source4: mdadm-raid-check-sysconfig
|
Source4: mdadm-raid-check-sysconfig
|
||||||
Source5: mdadm-cron
|
Source5: mdadm-cron
|
||||||
|
Source6: mdmonitor.service
|
||||||
|
Source7: mdmonitor-takeover.service
|
||||||
|
Source8: mdadm.conf
|
||||||
Patch0: mdadm-3.2.2-man.patch
|
Patch0: mdadm-3.2.2-man.patch
|
||||||
Patch1: mdadm-3.2.1-version.patch
|
Patch1: mdadm-3.2.1-version.patch
|
||||||
Patch2: mdadm-3.2.2-fixbuild.patch
|
Patch2: mdadm-3.2.2-fixbuild.patch
|
||||||
@ -18,10 +21,11 @@ License: GPLv2+
|
|||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
Obsoletes: mdctl,raidtools
|
Obsoletes: mdctl,raidtools
|
||||||
Requires(post): /sbin/service, /sbin/chkconfig
|
BuildRequires: systemd-units
|
||||||
Requires(preun): /sbin/service, /sbin/chkconfig
|
Requires(post): systemd-units systemd-sysv chkconfig coreutils
|
||||||
Requires(postun): /sbin/service
|
Requires(preun): systemd-units
|
||||||
Requires: udev
|
Requires(postun): systemd-units coreutils
|
||||||
|
Requires: udev initscripts
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The mdadm program is used to create, manage, and monitor Linux MD (software
|
The mdadm program is used to create, manage, and monitor Linux MD (software
|
||||||
@ -30,6 +34,18 @@ package. However, mdadm is a single program, and it can perform
|
|||||||
almost all functions without a configuration file, though a configuration
|
almost all functions without a configuration file, though a configuration
|
||||||
file can be used to help with some common tasks.
|
file can be used to help with some common tasks.
|
||||||
|
|
||||||
|
%package sysvinit
|
||||||
|
Group: System Environment/Base
|
||||||
|
Summary: SysV init script for mdadm
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Requires(post): /sbin/service
|
||||||
|
Requires(preun): /sbin/service
|
||||||
|
Requires(postun): /sbin/service
|
||||||
|
|
||||||
|
%description sysvinit
|
||||||
|
SysV style init script for mdadm. It needs to be installed only if systemd
|
||||||
|
is not used as the system init process.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1 -b .man
|
%patch0 -p1 -b .man
|
||||||
@ -51,38 +67,69 @@ install -Dp -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/raid-check
|
|||||||
install -Dp -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/cron.d/raid-check
|
install -Dp -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/cron.d/raid-check
|
||||||
mkdir -p -m 700 %{buildroot}/var/run/mdadm
|
mkdir -p -m 700 %{buildroot}/var/run/mdadm
|
||||||
|
|
||||||
|
# systemd
|
||||||
|
mkdir -p %{buildroot}%{_unitdir}
|
||||||
|
install -m644 %{SOURCE6} %{buildroot}%{_unitdir}
|
||||||
|
install -m644 %{SOURCE7} %{buildroot}%{_unitdir}
|
||||||
|
|
||||||
|
# tmpfile
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d
|
||||||
|
install -m 0644 %{SOURCE8} %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf
|
||||||
|
mkdir -p %{buildroot}%{_localstatedir}/run/
|
||||||
|
install -d -m 0710 %{buildroot}%{_localstatedir}/run/%{name}/
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
%post
|
%post
|
||||||
if [ "$1" = 1 ]; then
|
if [ $1 -eq 1 ] ; then
|
||||||
/sbin/chkconfig --add mdmonitor
|
/bin/systemctl enable mdmonitor.service mdmonitor-takeover.service >/dev/null 2>&1 || :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
if [ "$1" = 0 ]; then
|
if [ $1 = 0 ]; then
|
||||||
service mdmonitor stop > /dev/null 2>&1 ||:
|
/bin/systemctl --no-reload mdmonitor.service > /dev/null 2>&1 || :
|
||||||
/sbin/chkconfig --del mdmonitor
|
/bin/systemctl stop mdmonitor.service > /dev/null 2>&1 || :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
if [ "$1" -ge "1" ]; then
|
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||||
service mdmonitor condrestart > /dev/null 2>&1
|
if [ $1 -ge 1 ] ; then
|
||||||
|
/bin/systemctl try-restart mdmonitor.service >/dev/null 2>&1 || :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
%triggerun -- %{name} < 3.2.2-3
|
||||||
|
%{_bindir}/systemd-sysv-convert --save mdmonitor >/dev/null 2>&1 || :
|
||||||
|
/bin/systemctl --no-reload enable mdmonitor.service mdmonitor-takeover.service >/dev/null 2>&1 || :
|
||||||
|
/sbin/chkconfig --del mdmonitor >/dev/null 2>&1 || :
|
||||||
|
/bin/systemctl try-restart mdmonitor.service >/dev/null 2>&1 || :
|
||||||
|
|
||||||
|
%triggerpostun -n %{name}-sysvinit -- %{name} < 3.2.2-3
|
||||||
|
/sbin/chkconfig --add mdmonitor >/dev/null 2>&1 || :
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc TODO ChangeLog mdadm.conf-example COPYING misc/*
|
%doc TODO ChangeLog mdadm.conf-example COPYING misc/*
|
||||||
/lib/udev/rules.d/*
|
/lib/udev/rules.d/*
|
||||||
/sbin/*
|
/sbin/*
|
||||||
%{_sbindir}/raid-check
|
%{_sbindir}/raid-check
|
||||||
%{_initrddir}/*
|
%{_unitdir}/mdmonitor.service
|
||||||
|
%{_unitdir}/mdmonitor-takeover.service
|
||||||
%{_mandir}/man*/md*
|
%{_mandir}/man*/md*
|
||||||
%config(noreplace) %{_sysconfdir}/cron.d/*
|
%config(noreplace) %{_sysconfdir}/cron.d/*
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/*
|
%config(noreplace) %{_sysconfdir}/sysconfig/*
|
||||||
%ghost %attr(0700,root,root) %dir /var/run/mdadm
|
%dir %{_localstatedir}/run/%{name}/
|
||||||
|
%config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf
|
||||||
|
|
||||||
|
%files sysvinit
|
||||||
|
%{_initrddir}/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 07 2011 Milan Broz <mbroz@redhat.com> - 3.2.2-3
|
||||||
|
- Use unit files with systemd. (johannbg)
|
||||||
|
- Add sub-package sysvinit for SysV init script.
|
||||||
|
- Resolves: bz713573
|
||||||
|
|
||||||
* Wed Jul 06 2011 Milan Broz <mbroz@redhat.com> - 3.2.2-2
|
* Wed Jul 06 2011 Milan Broz <mbroz@redhat.com> - 3.2.2-2
|
||||||
- Fix build on PPC.
|
- Fix build on PPC.
|
||||||
- Resolves: bz719380
|
- Resolves: bz719380
|
||||||
|
11
mdmonitor-takeover.service
Normal file
11
mdmonitor-takeover.service
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Software RAID Monitor Takeover
|
||||||
|
After=syslog.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/sbin/mdmon --takeover --all
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
13
mdmonitor.service
Normal file
13
mdmonitor.service
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Software RAID monitoring and management
|
||||||
|
After=syslog.target
|
||||||
|
ConditionPathExists=/etc/mdadm.conf
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
PIDFile=/var/run/mdadm/mdadm.pid
|
||||||
|
EnvironmentFile=-/etc/sysconfig/mdmonitor
|
||||||
|
ExecStart=/sbin/mdadm --monitor --scan -f --pid-file=/var/run/mdadm/mdadm.pid
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user