Compare commits

..

4 commits

Author SHA1 Message Date
Troy Dawson
6e3d5933f6 remove package.cfg per new epel-playground policy 2020-09-24 17:01:36 +00:00
Robert Scheck
42c0c77245 Merge remote branch 'origin/master' into epel8 2019-08-18 19:59:49 +02:00
Robert Scheck
49d4a09377 Merge remote branch 'origin/master' into epel8 2019-08-10 22:45:33 +02:00
Gwyn Ciesla
a0f4468e2f "Adding package.cfg file" 2019-08-09 07:45:31 -05:00
2 changed files with 127 additions and 53 deletions

View file

@ -1,24 +1,31 @@
Summary: Program for managing links into a DRBD shared partition
Name: drbdlinks
Version: 1.29
Release: 14%{?dist}
License: GPL-2.0-only
Release: 1%{?dist}
License: GPLv2
URL: https://www.tummy.com/software/drbdlinks/
Source0: https://github.com/linsomniac/%{name}/archive/release-%{version}/%{name}-%{version}.tar.gz
Source1: drbdlinks.logrotate
Source2: drbdlinksclean.service
Source3: drbdlinksclean-wrapper
%if 0%{?fedora} || 0%{?rhel} >= 8
Source1: drbdlinksclean
Source2: drbdlinks.logrotate
Source3: drbdlinksclean.service
Source4: drbdlinksclean-wrapper
%if 0%{?rhel} >= 8 || 0%{?fedora}
Requires: python3
BuildRequires: python3-devel
%else
Requires: python2
BuildRequires: python2
%endif
BuildRequires: make
BuildRequires: systemd-rpm-macros
%if 0%{?rhel} > 6 || 0%{?fedora}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
BuildRequires: systemd
%else
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
%endif
BuildArch: noarch
%{?systemd_requires}
%description
The drbdlinks program manages links into a DRBD partition which is shared
@ -33,6 +40,10 @@ existing files/directories and then make symbolic links into the DRBD
partition, "stop" does the reverse. By default, rename appends ".drbdlinks"
to the name, but this can be overridden.
An init script is included which runs "stop" before heartbeat starts, and
after heartbeat stops. This is done to try to ensure that when the shared
partition isn't mounted, the links are in their normal state.
%prep
%setup -q -n %{name}-release-%{version}
@ -40,19 +51,24 @@ to the name, but this can be overridden.
%install
install -D -p -m 755 %{name} $RPM_BUILD_ROOT%{_sbindir}/%{name}
%if 0%{?fedora} || 0%{?rhel} >= 8
%if 0%{?rhel} >= 8 || 0%{?fedora}
sed -e '1 s|^#!.*python|#!%{__python3}|g' -i $RPM_BUILD_ROOT%{_sbindir}/%{name}
%else
sed -e '1 s|^#!.*python|#!%{__python}|g' -i $RPM_BUILD_ROOT%{_sbindir}/%{name}
%endif
touch -c -r %{name} $RPM_BUILD_ROOT%{_sbindir}/%{name}
mkdir -p $RPM_BUILD_ROOT{%{_sysconfdir}/%{name}.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
install -D -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}/drbdlinksclean.service
install -D -p -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_libexecdir}/drbdlinksclean
%if 0%{?rhel} > 6 || 0%{?fedora}
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 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
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
@ -61,67 +77,46 @@ mv -f README.markdown README
make -C tests DRBDLINKS=$RPM_BUILD_ROOT%{_sbindir}/%{name}
%post
%if 0%{?rhel} > 6 || 0%{?fedora}
%systemd_post drbdlinksclean.service
%else
/sbin/chkconfig --add drbdlinksclean
%endif
%preun
%if 0%{?rhel} > 6 || 0%{?fedora}
%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}
%postun
%systemd_postun drbdlinksclean.service
%endif
%files
%license LICENSE
%doc README WHATSNEW
%if 0%{?rhel} > 6 || 0%{?fedora}
%{_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/
/usr/lib/ocf/resource.d/tummy/
%{_mandir}/man8/%{name}.8*
%{_localstatedir}/lib/%{name}/
%changelog
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.29-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Aug 14 2019 Robert Scheck <robert@fedoraproject.org> 1.29-1
- Upgrade to 1.29

79
drbdlinksclean Normal file
View file

@ -0,0 +1,79 @@
#!/bin/bash
#
# drbdlinksclean Clean up drbdlinks links on system boot or shutdown
#
# chkconfig: - 74 06
# description: Calls drbdlinks on initial system boot and shutdown to make \
# sure that any links set up by drbdlinks are cleaned up when \
# drbd is not running.
# config: /etc/drbdlinks.conf
### BEGIN INIT INFO
# Provides: drbdlinksclean
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Short-Description: Clean up drbdlinks links on system boot or shutdown
# Description: Calls drbdlinks on initial system boot and shutdown to make
# sure that any links set up by drbdlinks are cleaned up when
# drbd is not running.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
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
# See how we were called.
case "$1" in
start|stop|restart|force-reload)
echo -n "Cleaning up drbdlinks.conf links..."
# 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."
echo "No mountpoint found in /etc/drbdlinks.conf, skipping." | logger -t drbdlinksclean
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 -n "Cleaning up '${FILE##*/}' links..."
echo "Cleaning up '${FILE##*/}' links..." | logger -t drbdlinksclean
$drbdlinks --config-file "$FILE" stop || RETVAL=$?
fi
done
[ $RETVAL -eq 0 ] && echo_success || echo_failure
echo
;;
status)
$drbdlinks status
;;
*)
echo $"Usage: drbdlinksclean {start|stop|status|restart|force-reload}"
RETVAL=1
;;
esac
exit $RETVAL