From 36536d0e682ae3afac7bcb63ee9bf66996d8cc90 Mon Sep 17 00:00:00 2001 From: Robert Scheck Date: Oct 29 2017 22:26:14 +0000 Subject: Merge remote branch 'origin/master' into el6 --- diff --git a/.gitignore b/.gitignore index 61e2dbf..b8cfb49 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/drbdlinks-1.??.tar.gz +/drbdlinks-*.tar.gz diff --git a/drbdlinks.spec b/drbdlinks.spec index 2cfce13..29ccc9d 100644 --- a/drbdlinks.spec +++ b/drbdlinks.spec @@ -1,18 +1,26 @@ -Summary: A program for managing links into a DRBD shared partition -Name: drbdlinks -Version: 1.26 -Release: 1%{?dist} -License: GPLv2 -Group: Applications/System -URL: http://www.tummy.com/Community/software/%{name}/ -Source0: ftp://ftp.tummy.com/pub/tummy/%{name}/%{name}-%{version}.tar.gz -Source1: drbdlinksclean -Source2: drbdlinks.logrotate -Requires: python -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/chkconfig -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Summary: Program for managing links into a DRBD shared partition +Name: drbdlinks +Version: 1.28 +Release: 1%{?dist} +License: GPLv2 +Group: Applications/System +URL: https://www.tummy.com/software/drbdlinks/ +Source0: https://github.com/linsomniac/%{name}/releases/download/release-%{version}/%{name}-%{version}.tar.gz +Source1: drbdlinksclean +Source2: drbdlinks.logrotate +Source3: drbdlinksclean.service +Source4: drbdlinksclean-wrapper +Requires: python +%if 0%{?rhel} > 6 || 0%{?fedora} > 23 +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +BuildRequires: systemd +%else +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/chkconfig +%endif +BuildArch: noarch %description The drbdlinks program manages links into a DRBD partition which is shared @@ -37,37 +45,56 @@ partition isn't mounted, the links are in their normal state. %build %install -rm -rf $RPM_BUILD_ROOT - install -D -p -m 755 %{name} $RPM_BUILD_ROOT%{_sbindir}/%{name} -mkdir -p $RPM_BUILD_ROOT{%{_sysconfdir}/ha.d/resource.d,/usr/lib/ocf/resource.d/tummy} +mkdir -p $RPM_BUILD_ROOT{%{_sysconfdir}/{%{name}.d,ha.d/resource.d},/usr/lib/ocf/resource.d/tummy} ln -s ../../..%{_sbindir}/%{name} $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/%{name} ln -s ../../../../..%{_sbindir}/%{name} $RPM_BUILD_ROOT/usr/lib/ocf/resource.d/tummy/%{name} install -D -p -m 644 %{name}.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf +%if 0%{?rhel} > 6 || 0%{?fedora} > 23 +install -D -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/drbdlinksclean.service +install -D -p -m 755 %{SOURCE4} $RPM_BUILD_ROOT%{_libexecdir}/drbdlinksclean +%else install -D -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/drbdlinksclean +%endif install -D -p -m 644 %{name}.8 $RPM_BUILD_ROOT%{_mandir}/man8/%{name}.8 install -D -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name} mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/configs-to-clean mv -f README.markdown README -%clean -rm -rf $RPM_BUILD_ROOT - %post +%if 0%{?rhel} > 6 || 0%{?fedora} > 23 +%systemd_post drbdlinksclean.service +%else /sbin/chkconfig --add drbdlinksclean +%endif %preun +%if 0%{?rhel} > 6 || 0%{?fedora} > 23 +%systemd_preun drbdlinksclean.service +%else if [ $1 -eq 0 ]; then /sbin/service drbdlinksclean stop > /dev/null 2>&1 || : /sbin/chkconfig --del drbdlinksclean fi +%endif + +%if 0%{?rhel} > 6 || 0%{?fedora} > 23 +%postun +%systemd_postun drbdlinksclean.service +%endif %files -%defattr(-,root,root,-) -%doc LICENSE README WHATSNEW +%license LICENSE +%doc README WHATSNEW +%if 0%{?rhel} > 6 || 0%{?fedora} > 23 +%{_unitdir}/drbdlinksclean.service +%{_libexecdir}/drbdlinksclean +%else %{_sysconfdir}/rc.d/init.d/drbdlinksclean +%endif %config(noreplace) %{_sysconfdir}/%{name}.conf +%dir %{_sysconfdir}/%{name}.d/ %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %{_sbindir}/%{name} %{_sysconfdir}/ha.d/ @@ -76,6 +103,30 @@ fi %{_localstatedir}/lib/%{name}/ %changelog +* Sun Oct 29 2017 Robert Scheck 1.28-1 +- Upgrade to 1.28 + +* Wed Jul 26 2017 Fedora Release Engineering - 1.27-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.27-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 1.27-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 26 2016 Robert Scheck 1.27-3 +- Provide native systemd service + +* Wed Jun 17 2015 Fedora Release Engineering - 1.27-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Sep 08 2014 Robert Scheck 1.27-1 +- Upgrade to 1.27 + +* Sat Jun 07 2014 Fedora Release Engineering - 1.26-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Sun Mar 02 2014 Robert Scheck 1.26-1 - Upgrade to 1.26 @@ -120,7 +171,7 @@ fi * Sun May 24 2009 Robert Scheck 1.18-1 - Upgrade to 1.18 -* Tue May 18 2009 Robert Scheck 1.17-1 +* Mon May 18 2009 Robert Scheck 1.17-1 - Upgrade to 1.17 * Sun May 17 2009 Robert Scheck 1.16-1 diff --git a/drbdlinksclean-wrapper b/drbdlinksclean-wrapper new file mode 100644 index 0000000..6e0ea9e --- /dev/null +++ b/drbdlinksclean-wrapper @@ -0,0 +1,39 @@ +#!/bin/bash + +RETVAL=0 +FOUNDFILE=0 +drbdlinks=/usr/sbin/drbdlinks + +[ -f /etc/drbdlinks.conf ] && FOUNDFILE=1 + +for FILE in /var/lib/drbdlinks/configs-to-clean/* /var/run/drbdlinks/configs-to-clean/*; do + if [ -f "$FILE" ]; then + FOUNDFILE=1 + break + fi +done + +if [ $FOUNDFILE -ne 1 ]; then + echo "No /etc/drbdlinks.conf file, aborting." + exit 1 +fi + +# Main drbdlinks.conf file +if [ -f /etc/drbdlinks.conf ]; then + if grep -q '^mountpoint(' /etc/drbdlinks.conf; then + $drbdlinks stop + RETVAL=$? + else + echo "No mountpoint found in /etc/drbdlinks.conf, skipping." + fi +fi + +# Clean up any supplemental config files +for FILE in /var/lib/drbdlinks/configs-to-clean/* /var/run/drbdlinks/configs-to-clean/*; do + if [ -f "$FILE" ]; then + echo "Cleaning up '${FILE##*/}' links..." + $drbdlinks --config-file "$FILE" stop || RETVAL=$? + fi +done + +exit $RETVAL diff --git a/drbdlinksclean.service b/drbdlinksclean.service new file mode 100644 index 0000000..ddd61a1 --- /dev/null +++ b/drbdlinksclean.service @@ -0,0 +1,14 @@ +[Unit] +Description=drbdlinks links clean up +After=syslog.target +Before=heartbeat.service openais.service corosync.service pacemaker.service +Documentation=man:drbdlinks(8) + +[Service] +Type=oneshot +ExecStart=/usr/libexec/drbdlinksclean +ExecStop=/usr/libexec/drbdlinksclean +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/sources b/sources index 2b76b4f..6565cdd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1583e54c87af41f17a5dbe57ea060855 drbdlinks-1.26.tar.gz +SHA512 (drbdlinks-1.28.tar.gz) = 766c18109f849ab67f75b2f4e501788ead38e48a4541c3a1eab8bc1d4ab1004264d13dbc4258cf74e9c802456472478fa1fbdd61fbe66b65a1bade4b26199f75