]> git.pld-linux.org Git - packages/sanlock.git/commitdiff
- updated to 3.2.4
authorJakub Bogusz <qboosh@pld-linux.org>
Thu, 10 Sep 2015 20:10:23 +0000 (22:10 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Thu, 10 Sep 2015 20:10:23 +0000 (22:10 +0200)
- updated init-pld patch

sanlock-init-pld.patch
sanlock.spec

index 470850ec320595a8dfcc20467b4ad07b0cf3b396..b8f20856331cc5f5b824f4b399f014b880017887 100644 (file)
  esac
 -exit $?
 +exit $retval
---- sanlock-2.5/init.d/wdmd.orig       2012-09-24 17:35:09.000000000 +0200
-+++ sanlock-2.5/init.d/wdmd    2012-09-30 10:51:00.684955942 +0200
-@@ -3,7 +3,7 @@
- # wdmd - watchdog multiplexing daemon
- #
- # chkconfig: 2345 97 03
--# description: starts and stops sanlock daemon
-+# description: starts and stops wdmd daemon
- #
-@@ -33,105 +33,92 @@
+--- sanlock-3.2.4/init.d/wdmd.orig     2015-09-10 17:23:16.258102320 +0200
++++ sanlock-3.2.4/init.d/wdmd  2015-09-10 17:31:02.341416003 +0200
+@@ -42,114 +42,105 @@
+       retval=$?
  
- watchdog_check() {
-       if [ ! -c /dev/watchdog ]; then
+       if [ $retval -ne 0 ]; then
 -              echo -n $"Loading the softdog kernel module: "
 +              show "Loading the softdog kernel module: "
                modprobe softdog && udevadm settle
--              [ -c /dev/watchdog ] && success || failure
--              echo
-+              [ -c /dev/watchdog ] && ok || fail
+               watchdog_probe
+               retval=$?
+               if [ $retval -ne 0 ]; then
+-                      failure; echo
++                      fail
+                       return 1
+               fi
+-              success; echo
++              ok
        fi
  }
  
  start() {
 +      # Check if the service is already running?
-+      if [ -f /var/lock/subsys/wdmd ]; then
++      if [ -f $lockfile ]; then
 +              msg_already_running "wdmd"
 +              return
 +      fi
 + 
        watchdog_check
  
--      [ -x $exec ] || exit 5
--
+       [ -x $exec ] || exit 5
 -      if [ ! -d /var/run/$prog ]; then
 -              install -d -g $WDMDGROUP -m 775 /var/run/$prog
 -              [ -x /sbin/restorecon ] && restorecon /var/run/$prog
  }
  
  stop() {
-+      if [ ! -f /var/lock/subsys/wdmd ]; then
++      if [ ! -f $lockfile ]; then
 +              msg_not_running "wdmd"
 +              return
 +      fi
        return $retval
  }
  
+-restart() {
+-      rh_status_q && stop
++condrestart() {
++      if [ ! -f $lockfile ]; then
++              msg_not_running "wdmd"
++              retval=$1
++              return $retval
++      fi
++      stop
+       start
+ }
+-reload() {
+-      restart
+-}
+-
+-rh_status() {
+-      status $prog
+-}
+-
+-rh_status_q() {
+-      rh_status >/dev/null 2>&1
+-}
+-
+ case "$1" in
+       start)
+-              rh_status_q && exit 0
+               $1
+               ;;
+       stop)
+-              rh_status_q || exit 0
+               $1
+               ;;
+       restart)
+-              $1
+-              ;;
+-      reload)
+-              rh_status_q || exit 7
+-              $1
++              stop
++              start
+               ;;
+       watchdog-check)
+               watchdog_check
+               ;;
+       force-reload)
+-              force_reload
++              condrestart 7
+               ;;
+       status)
+-              rh_status
++              status --pidfile $runfile wdmd
+               ;;
+       condrestart|try-restart)
+               rh_status_q || exit 0
+-              restart
++              condrestart 0
+               ;;
+       *)
+-              echo $"Usage $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+-              exit 2
++              msg_usage "$0 {start|stop|status|restart|condrestart|try-restart|force-reload}"
++              exit 3
+ esac
+-exit $?
++exit $retval
+--- sanlock-3.2.4/init.d/fence_sanlockd.orig   2015-06-19 18:26:03.000000000 +0200
++++ sanlock-3.2.4/init.d/fence_sanlockd        2015-09-10 20:58:46.917559578 +0200
+@@ -33,42 +33,35 @@
+ [ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+ start() {
+-      [ -x $exec ] || exit 5
+-
++      # Check if the service is already running?
++      if [ -f /var/lock/subsys/sanlock ]; then
++              msg_already_running "sanlock"
++              return
++      fi
++ 
+       # start wdmd and sanlock daemons if they aren't running
++      /etc/rc.d/init.d/wdmd status >/dev/null 2>&1 || /etc/rc.d/init.d/wdmd start
++      /etc/rc.d/init.d/sanlock status >/dev/null 2>&1 || /etc/rc.d/init.d/sanlock start
+-      service wdmd status > /dev/null 2>&1 || service wdmd start
+-
+-      service sanlock status > /dev/null 2>&1 || service sanlock start
+-
+-      [ ! -d /var/run/$prog ] && install -d -m 775 /var/run/$prog
+-
+-      [ ! -d /var/run/$agent ] && install -d -m 775 /var/run/$agent
+-
+-      [ -n "$(which restorecon)" ] && \
+-              [ -x "$(which restorecon)" ] && \
+-              restorecon /var/run/$prog
+-
+-      [ -n "$(which restorecon)" ] && \
+-              [ -x "$(which restorecon)" ] && \
+-              restorecon /var/run/$agent
+-
+-      echo -n $"Starting $prog: "
++      msg_starting "$prog"
+       daemon $prog $FENCESANLOCKDOPTS
+       retval=$?
+-      echo
+       [ $retval -eq 0 ] && touch $lockfile
+       return $retval
+ }
+ stop() {
++      if [ ! -f /var/lock/subsys/$prog ]; then
++              msg_not_running "$prog"
++              return
++      fi
+       agent_ps="$(ps ax -o pid,args | grep fence_sanlock | grep -v grep | grep -v fence_sanlockd)"
+       [ -n "$agent_ps" ] && {
+               agent_pid="$(echo $agent_ps | awk '{print $1}')"
+-              echo -n "cannot stop while $agent $agent_pid is running"
+-              failure; echo
+-              return 1
++              echo "Cannot stop while $agent $agent_pid is running" >&2
++              retval=1
++              return $retval
+       }
+       # Ideally, we'd like a general way to check if anything
+@@ -78,17 +71,17 @@
+       if [ -d /sys/kernel/dlm/ ]; then
+               count="$(ls -A /sys/kernel/dlm/ | wc -l)"
+               if [ $count -ne 0 ]; then
+-                      echo -n "cannot stop while dlm lockspaces exist"
+-                      failure; echo
+-                      return 1
++                      echo "Cannot stop while dlm lockspaces exist" >&2
++                      retval=1
++                      return $retval
+               fi
+       fi
+       if [ -d /sys/kernel/config/dlm/cluster ]; then
+               # this dir exists while dlm_controld is running
+-              echo -n "cannot stop while dlm is running"
+-              failure; echo
+-              return 1
++              echo "Cannot stop while dlm is running" >&2
++              retval=1
++              return $retval
+       fi
+       PID=$(pidofproc -p $runfile $prog)
+@@ -96,10 +89,8 @@
+       # We have to use SIGHUP to mean stop because sanlock
+       # uses SIGTERM to mean that the lockspace failed.
+-      echo -n $"Sending stop signal $prog ($PID): "
+       killproc -p $runfile $prog -HUP
+       retval=$?
+-      echo
+       if [ $retval -ne 0 ]; then
+               return $retval
+@@ -113,75 +104,65 @@
+               echo "" > $fifofile
+       fi
+-      echo -n $"Waiting for $prog ($PID) to stop:"
++      show "Waiting for %s (%s) to stop:" "$prog" "$PID"
+       timeout=10
+       while checkpid $PID; do
+               sleep 1
+               timeout=$((timeout - 1))
+               if [ "$timeout" -le 0 ]; then
+-                      failure; echo
++                      fail
+                       return 1
+               fi
+       done
+-      success; echo
++      ok
+       rm -f $lockfile
+       # stop wdmd and sanlock daemons if they are running
+-
+-      service sanlock status > /dev/null 2>&1 && service sanlock stop
+-
+-      service wdmd status > /dev/null 2>&1 && service wdmd stop
++      /etc/rc.d/init.d/sanlock status >/dev/null 2>&1 && /etc/rc.d/init.d/sanlock stop
++      /etc/rc.d/init.d/wdmd status >/dev/null 2>&1 && /etc/rc.d/init.d/wdmd stop
+       return $retval
+ }
 -restart() {
 -      rh_status_q && stop
 -      start
 -rh_status_q() {
 -      rh_status >/dev/null 2>&1
 +condrestart() {
-+      if [ ! -f /var/lock/subsys/wdmd ]; then
-+              msg_not_running "wdmd"
++      if [ ! -f /var/lock/subsys/$prog ]; then
++              msg_not_running "$prog"
 +              retval=$1
-+              return
++              return $retval
 +      fi
-+      stop
-+      start
++      stop && start
++      retval=$?
++      return $retval
  }
+-
++ 
  case "$1" in
        start)
 -              rh_status_q && exit 0
                ;;
        restart)
 -              $1
--              ;;
--      reload)
--              rh_status_q || exit 7
--              $1
-+              stop
-+              start
++              stop && start
+               ;;
+       reload)
+               rh_status_q || exit 7
+               $1
                ;;
        force-reload)
 -              force_reload
 +              condrestart 7
                ;;
--      status)
+       status)
 -              rh_status
-+      try-restart)
-+              condrestart 0
++              status --pidfile $runfile $prog
++              retval=$?
                ;;
--      condrestart|try-restart)
+       condrestart|try-restart)
 -              rh_status_q || exit 0
 -              restart
-+      status)
-+              status --pidfile $runfile wdmd
++              condrestart 0
                ;;
        *)
 -              echo $"Usage $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
-+              msg_usage "$0 {start|stop|status|restart|try-restart|force-reload}"
-               exit 2
+-              exit 2
++              msg_usage "$0 {start|stop|status|restart|condrestart|try-restart|force-reload}"
++              exit 3
  esac
--exit $?
-+exit $retval
+ exit $?
index 15f21737c65e837cd6a93d2c489044759048568e..f3acb90962db4f41e7301bdda2605bdb4cd6bdc3 100644 (file)
@@ -1,13 +1,14 @@
-# TODO: systemd support (there are init.d/*.service, but they refer to unknown /lib/systemd/systemd-sanlock)
 Summary:       Shared storage lock manager
 Summary(pl.UTF-8):     Zarządca blokad dla współdzielonego składowania danych
 Name:          sanlock
-Version:       2.6
-Release:       3
+Version:       3.2.4
+Release:       1
 License:       LGPL v2+ (libsanlock_client, libwdmd), GPL v2 (libsanlock, utilities)
 Group:         Networking
-Source0:       https://fedorahosted.org/releases/s/a/sanlock/%{name}-%{version}.tar.gz
-# Source0-md5: c488b1914e0996246e3572a359093d7d
+# older releases: https://fedorahosted.org/releases/s/a/sanlock/%{name}-%{version}.tar.gz
+#Source0Download: https://git.fedorahosted.org/cgit/sanlock.git/
+Source0:       https://git.fedorahosted.org/cgit/sanlock.git/snapshot/%{name}-%{version}.tar.xz
+# Source0-md5: 567ab7aa5863ab56770c6f12ca4e41a3
 Patch0:                %{name}-link.patch
 Patch1:                %{name}-init-pld.patch
 URL:           https://fedorahosted.org/sanlock/
@@ -17,6 +18,8 @@ BuildRequires:        libblkid-devel
 BuildRequires: libuuid-devel
 BuildRequires: python-devel
 BuildRequires: rpmbuild(macros) >= 1.228
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
 Requires(post,preun):  /sbin/chkconfig
 Requires(postun):      /usr/sbin/groupdel
 Requires(postun):      /usr/sbin/userdel
@@ -35,6 +38,39 @@ Shared storage lock manager.
 %description -l pl.UTF-8
 Zarządca blokad dla współdzielonego składowania danych.
 
+%package reset
+Summary:       Host reset daemon and client using sanlock
+Summary(pl.UTF-8):     Demon resetujący hosta oraz klient wykorzystujący sanlocka
+Group:         Daemons
+Requires(post,preun):  /sbin/chkconfig
+Requires:      %{name} = %{version}-%{release}
+
+%description reset
+This package contains the reset daemon and client. A cooperating host
+running the daemon can be reset by a host running the client, so long
+as both maintain access to a common sanlock lockspace.
+
+%description reset -l pl.UTF-8
+Ten pakiet zawiera demona oraz klienta resetującego. Współpracujący
+host z działającym demonem może być zresetowany przez host z
+działającym klientem tak długo, jak oba mają dostęp do wspólnej
+przestrzeni blokad sanlock.
+
+%package -n fence-sanlock
+Summary:       Fence agent using sanlock and wdmd
+Summary(pl.UTF-8):     Agent barier wykorzystujący sanlocka oraz wdmd
+Group:         Daemons
+Requires(post,preun):  /sbin/chkconfig
+Requires:      %{name} = %{version}-%{release}
+
+%description -n fence-sanlock
+This package contains the fence agent and daemon for using sanlock and
+wdmd as a cluster fence agent.
+
+%description -n fence-sanlock -l pl.UTF-8
+Ten pakiet zawiera agenta oraz demona barier do użytku z sanlockiem
+oraz wdmd jako agent barier w klastrze.
+
 %package libs
 Summary:       Sanlock libraries
 Summary(pl.UTF-8):     Biblioteki sanlock
@@ -89,6 +125,17 @@ LIB_ENTIRE_LDFLAGS="%{rpmldflags}" \
 %{__make} -C src \
        CC="%{__cc}"
 
+CFLAGS= \
+%{__make} -C fence_sanlock \
+       CC="%{__cc}" \
+       OPTIMIZE_FLAG="%{rpmcflags}"
+
+CFLAGS= \
+%{__make} -C reset \
+       CC="%{__cc}" \
+       LDFLAGS="%{rpmldflags}" \
+       OPTIMIZE_FLAG="%{rpmcflags}"
+
 %{__make} -C python
 
 %install
@@ -102,19 +149,36 @@ rm -rf $RPM_BUILD_ROOT
        DESTDIR=$RPM_BUILD_ROOT \
        LIBDIR=%{_libdir}
 
+%{__make} -C fence_sanlock install \
+       DESTDIR=$RPM_BUILD_ROOT \
+       LIBDIR=%{_libdir}
+
+%{__make} -C reset install \
+       DESTDIR=$RPM_BUILD_ROOT
+
 %{__make} -C python install \
        DESTDIR=$RPM_BUILD_ROOT
 
 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
 
-install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/var/run/{sanlock,wdmd}}
+install -d $RPM_BUILD_ROOT{%{systemdunitdir},/etc/rc.d/init.d}
+install init.d/fence_sanlockd $RPM_BUILD_ROOT/etc/rc.d/init.d
 install init.d/sanlock $RPM_BUILD_ROOT/etc/rc.d/init.d
 install init.d/wdmd $RPM_BUILD_ROOT/etc/rc.d/init.d
-
-install -d $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
-cat >$RPM_BUILD_ROOT/usr/lib/tmpfiles.d/sanlock.conf <<EOF
+for serv in sanlock wdmd fence_sanlockd ; do
+       sed -e "s,/lib/systemd/systemd-${serv},/etc/rc.d/init.d/${serv}," init.d/${serv}.service >$RPM_BUILD_ROOT%{systemdunitdir}/${serv}.service
+done
+cp -p init.d/sanlk-resetd.service $RPM_BUILD_ROOT%{systemdunitdir}
+
+install -d $RPM_BUILD_ROOT/var/run/{sanlock,wdmd,fence_sanlock,fence_sanlockd}
+install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir}
+cat >$RPM_BUILD_ROOT%{systemdtmpfilesdir}/sanlock.conf <<EOF
 d /var/run/sanlock 0775 sanlock sanlock -
-d /var/run/wdmd 0755 root root -
+d /var/run/wdmd 0775 root sanlock -
+EOF
+cat >$RPM_BUILD_ROOT%{systemdtmpfilesdir}/fence_sanlock.conf <<EOF
+d /var/run/fence_sanlock 0755 root root -
+d /var/run/fence_sanlockd 0755 root root -
 EOF
 
 %clean
@@ -144,6 +208,19 @@ if [ "$1" = "0" ]; then
        %groupremove sanlock
 fi
 
+%post -n fence-sanlock
+/sbin/chkconfig --add fence_sanlock
+%service fence_sanlock restart
+if [ "$1" = "1" ]; then
+       ccs_update_schema >/dev/null 2>&1 || :
+fi
+
+%preun -n fence-sanlock
+if [ "$1" = "0" ]; then
+       %service -q fence_sanlock stop
+       /sbin/chkconfig --del fence_sanlock
+fi
+
 %post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
 
@@ -154,12 +231,34 @@ fi
 %attr(755,root,root) %{_sbindir}/wdmd
 %attr(754,root,root) /etc/rc.d/init.d/sanlock
 %attr(754,root,root) /etc/rc.d/init.d/wdmd
-/usr/lib/tmpfiles.d/sanlock.conf
+%{systemdunitdir}/sanlock.service
+%{systemdunitdir}/wdmd.service
+%{systemdtmpfilesdir}/sanlock.conf
 %attr(775,sanlock,sanlock) %dir /var/run/sanlock
-%dir /var/run/wdmd
+%attr(775,root,sanlock) %dir /var/run/wdmd
 %{_mandir}/man8/sanlock.8*
 %{_mandir}/man8/wdmd.8*
 
+%files reset
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/sanlk-reset
+%attr(755,root,root) %{_sbindir}/sanlk-resetd
+%{systemdunitdir}/sanlk-resetd.service
+%{_mandir}/man8/sanlk-reset.8*
+%{_mandir}/man8/sanlk-resetd.8*
+
+%files -n fence-sanlock
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/fence_sanlock
+%attr(755,root,root) %{_sbindir}/fence_sanlockd
+%attr(754,root,root) /etc/rc.d/init.d/fence_sanlockd
+%{systemdunitdir}/fence_sanlockd.service
+%{systemdtmpfilesdir}/fence_sanlock.conf
+%dir /var/run/fence_sanlock
+%dir /var/run/fence_sanlockd
+%{_mandir}/man8/fence_sanlock.8*
+%{_mandir}/man8/fence_sanlockd.8*
+
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libsanlock.so.*.*
@@ -176,8 +275,10 @@ fi
 %attr(755,root,root) %{_libdir}/libwdmd.so
 %{_includedir}/sanlock*.h
 %{_includedir}/wdmd.h
+%{_pkgconfigdir}/libsanlock.pc
+%{_pkgconfigdir}/libsanlock_client.pc
 
 %files -n python-sanlock
 %defattr(644,root,root,755)
 %attr(755,root,root) %{py_sitedir}/sanlock.so
-%{py_sitedir}/Sanlock-1.0-py*.egg-info
+%{py_sitedir}/sanlock_python-%{version}_-py*.egg-info
This page took 0.110898 seconds and 4 git commands to generate.