diff --git a/configure.ac b/configure.ac
index 1dc273b..fac26a8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,240 +1,240 @@
 dnl
 dnl autoconf for Agents
 dnl
 dnl License: GNU General Public License (GPL)
 
 dnl ===============================================
 dnl Bootstrap 
 dnl ===============================================
 AC_PREREQ(2.63)
 
 dnl Suggested structure:
 dnl     information on the package
 dnl     checks for programs
 dnl     checks for libraries
 dnl     checks for header files
 dnl     checks for types
 dnl     checks for structures
 dnl     checks for compiler characteristics
 dnl     checks for library functions
 dnl     checks for system services
 
 AC_INIT([sbd], 
-	[1.3.1],
+	[1.4.0],
 	[lmb@suse.com])
 AC_CANONICAL_HOST
 AC_CONFIG_AUX_DIR(.)
 AC_CONFIG_HEADERS(config.h)
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([no])])
 AM_INIT_AUTOMAKE
 AM_PROG_CC_C_O
 
 PKG_CHECK_MODULES(glib, [glib-2.0])
 dnl PKG_CHECK_MODULES(libcoroipcc, [libcoroipcc])
 
 PKG_CHECK_MODULES(cmap, [libcmap], HAVE_cmap=1, HAVE_cmap=0)
 
 dnl pacemaker > 1.1.8
 PKG_CHECK_MODULES(pacemaker, [pacemaker, pacemaker-cib], HAVE_pacemaker=1, HAVE_pacemaker=0)
 
 dnl pacemaker <= 1.1.8
 PKG_CHECK_MODULES(pcmk, [pcmk, pcmk-cib], HAVE_pcmk=1, HAVE_pcmk=0)
 PKG_CHECK_MODULES(libqb, [libqb])
 
 CPPFLAGS="$CPPFLAGS -Werror"
 if test $HAVE_pacemaker = 0 -a $HAVE_pcmk = 0; then
     AC_MSG_ERROR(No package 'pacemaker' found)
 elif test $HAVE_pacemaker = 1; then
     CPPFLAGS="$CPPFLAGS $glib_CFLAGS $pacemaker_CFLAGS"
     if test $HAVE_cmap = 0; then
         AC_MSG_NOTICE(No package 'cmap' found)
     else
 	CPPFLAGS="$CPPFLAGS $cmap_CFLAGS"
     fi
 fi
 
 PKG_CHECK_MODULES(libxml, [libxml-2.0])
 CPPFLAGS="$CPPFLAGS $libxml_CFLAGS $libqb_CFLAGS"
 
 dnl     checks for libraries
 AC_CHECK_LIB(aio, io_setup, , missing="yes")
 AC_CHECK_LIB(qb, qb_ipcs_connection_auth_set, , missing="yes")
 AC_CHECK_LIB(cib, cib_new, , missing="yes")
 AC_CHECK_LIB(crmcommon, set_crm_log_level, , missing="yes")
 AC_CHECK_LIB(pe_status, pe_find_node, , missing="yes")
 AC_CHECK_LIB(pe_rules, test_rule, , missing="yes")
 AC_CHECK_LIB(crmcluster, crm_peer_init, , missing="yes")
 AC_CHECK_LIB(uuid, uuid_unparse, , missing="yes")
 AC_CHECK_LIB(cmap, cmap_initialize, , HAVE_cmap=0)
 
 dnl pacemaker >= 1.1.8
 AC_CHECK_HEADERS(pacemaker/crm/cluster.h)
 AC_CHECK_LIB(crmcommon, pcmk_strerror, , missing="yes")
 AC_CHECK_LIB(cib, cib_apply_patch_event, , missing="yes")
 
 dnl pacemaker-2.0 removed support for corosync 1 cluster layer
 AC_CHECK_DECLS([pcmk_cluster_classic_ais, pcmk_cluster_cman],,,
 	       [#include <pacemaker/crm/cluster.h>])
 
 dnl check for new pe-API
 AC_CHECK_FUNCS(pe_new_working_set)
 
 if test "$missing" = "yes"; then
    AC_MSG_ERROR([Missing required libraries or functions.])
 fi
 
 AC_PATH_PROGS(POD2MAN, pod2man, pod2man)
 
 AC_ARG_ENABLE([shared-disk],
 [  --enable-shared-disk Turn on functionality that requires shared disk
      [default=yes]])
 
 DISK=0
 if test "x${enable_shared_disk}" != xno ; then
    DISK=1
 fi
 
 AC_DEFINE_UNQUOTED(SUPPORT_SHARED_DISK, $DISK, Turn on functionality that requires shared disk)
 AM_CONDITIONAL(SUPPORT_SHARED_DISK, test "$DISK" = "1")
 
 if
 	test -e /proc/$$
 then
 	echo "/proc/{pid} is supported" 
 	AC_DEFINE_UNQUOTED(HAVE_PROC_PID, 1, Define to 1 if /proc/{pid} is supported.)
 fi
 
 AC_DEFINE_UNQUOTED(CHECK_TWO_NODE, $HAVE_cmap, Turn on checking for 2-node cluster)
 AM_CONDITIONAL(CHECK_TWO_NODE, test "$HAVE_cmap" = "1")
 
 CONFIGDIR=""
 AC_ARG_WITH(configdir,
     [  --with-configdir=DIR
        Directory for SBD configuration file [${CONFIGDIR}]],
     [ CONFIGDIR="$withval" ]
 )
 
 dnl **********************************************************************
 dnl Check for various argv[] replacing functions on various OSs
 dnl
 dnl Borrowed from Proftpd
 dnl Proftpd is Licenced under the terms of the GNU General Public Licence
 dnl and is available from http://www.proftpd.org/
 dnl
 
 AC_CHECK_FUNCS(setproctitle)
 AC_CHECK_HEADERS(libutil.h)
 AC_CHECK_LIB(util, setproctitle,
         [AC_DEFINE(HAVE_SETPROCTITLE,1,[ ])
                 ac_cv_func_setproctitle="yes" ; LIBS="$LIBS -lutil"])
 
 if test "$ac_cv_func_setproctitle" = "yes"; then
   pf_argv_set="PF_ARGV_NONE"
 fi
 
 if test "$pf_argv_set" = ""; then
   AC_CHECK_HEADERS(sys/pstat.h)
   if test "$ac_cv_header_pstat_h" = "yes"; then
     AC_CHECK_FUNCS(pstat)
 
     if test "$ac_cv_func_pstat" = "yes"; then
         pf_argv_set="PF_ARGV_PSTAT"
     else
         pf_argv_set="PF_ARGV_WRITEABLE"
     fi
   fi
 
   if test "$pf_argv_set" = ""; then
     AC_EGREP_HEADER([#define.*PS_STRINGS.*],sys/exec.h,
                         have_psstrings="yes",have_psstrings="no")
     if test "$have_psstrings" = "yes"; then
         pf_argv_set="PF_ARGV_PSSTRINGS"
     fi
   fi
 
   if test "$pf_argv_set" = ""; then
     AC_CACHE_CHECK(whether __progname and __progname_full are available,
                     pf_cv_var_progname,
                     AC_TRY_LINK([extern char *__progname, *__progname_full;],
                         [__progname = "foo"; __progname_full = "foo bar";],
                         pf_cv_var_progname="yes", pf_cv_var_progname="no"))
 
     if test "$pf_cv_var_progname" = "yes"; then
         AC_DEFINE(HAVE___PROGNAME,1,[ ])
     fi
 
     AC_CACHE_CHECK(which argv replacement method to use,
                     pf_cv_argv_type,
                     AC_EGREP_CPP(yes,[
 #if defined(__GNU_HURD__)
   yes
 #endif
   ],pf_cv_argv_type="new", pf_cv_argv_type="writeable"))
 
     if test "$pf_cv_argv_type" = "new"; then
         pf_argv_set="PF_ARGV_NEW"
     fi
 
     if test "$pf_argv_set" = ""; then
         pf_argv_set="PF_ARGV_WRITEABLE"
     fi
   fi
 fi
 AC_DEFINE_UNQUOTED(PF_ARGV_TYPE, $pf_argv_set,
         mechanism to pretty-print ps output: setproctitle-equivalent)
 
 dnl End of tests borrowed from Proftpd
 
 AC_MSG_NOTICE(Sanitizing prefix: ${prefix})
 case $prefix in
   NONE)
 	prefix=/usr
 	dnl Fix default variables - "prefix" variable if not specified
 	if test "$localstatedir" = "\${prefix}/var"; then
 		localstatedir="/var"
 	fi
 	if test "$sysconfdir" = "\${prefix}/etc"; then
 		sysconfdir="/etc"
 	fi
 	;;
 esac
 
 AC_MSG_NOTICE(Sanitizing exec_prefix: ${exec_prefix})
 case $exec_prefix in
   dnl For consistency with Heartbeat, map NONE->$prefix
   NONE)	  exec_prefix=$prefix;;
   prefix) exec_prefix=$prefix;;
 esac
 
 dnl Expand autoconf variables so that we dont end up with '${prefix}'
 dnl in #defines and python scripts
 dnl NOTE: Autoconf deliberately leaves them unexpanded to allow
 dnl    make exec_prefix=/foo install
 dnl No longer being able to do this seems like no great loss to me...
 
 eval prefix="`eval echo ${prefix}`"
 eval exec_prefix="`eval echo ${exec_prefix}`"
 eval bindir="`eval echo ${bindir}`"
 eval sbindir="`eval echo ${sbindir}`"
 eval libexecdir="`eval echo ${libexecdir}`"
 eval datadir="`eval echo ${datadir}`"
 eval sysconfdir="`eval echo ${sysconfdir}`"
 eval sharedstatedir="`eval echo ${sharedstatedir}`"
 eval localstatedir="`eval echo ${localstatedir}`"
 eval libdir="`eval echo ${libdir}`"
 eval includedir="`eval echo ${includedir}`"
 eval oldincludedir="`eval echo ${oldincludedir}`"
 eval infodir="`eval echo ${infodir}`"
 eval mandir="`eval echo ${mandir}`"
 
 if test x"${CONFIGDIR}" = x""; then
     CONFIGDIR="${sysconfdir}/sysconfig"
 fi
 AC_SUBST(CONFIGDIR)
 
 dnl The Makefiles and shell scripts we output
 AC_CONFIG_FILES([Makefile src/Makefile agent/Makefile man/Makefile agent/sbd src/sbd.service src/sbd_remote.service src/sbd.sh])
 
 dnl Now process the entire list of files added by previous 
 dnl  calls to AC_CONFIG_FILES()
 AC_OUTPUT()
diff --git a/sbd.spec b/sbd.spec
index 3cbd277..03f2fab 100644
--- a/sbd.spec
+++ b/sbd.spec
@@ -1,145 +1,155 @@
 #
 # spec file for package sbd
 #
 # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
 # Copyright (c) 2013 Lars Marowsky-Bree
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
 # upon. The license for this file, and modifications and additions to the
 # file, is the same license as for the pristine package itself (unless the
 # license for the pristine package is not an Open Source License, in which
 # case the license is the MIT License). An "Open Source License" is a
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
-%global commit e102d9ed7559a14156d4b1d714b766725155ad14
+%global commit 2d595fdde4f62278b96db1b7fb79aae5e990bb0b
 %global shortcommit %(c=%{commit}; echo ${c:0:7})
 %global github_owner beekhof
 %global buildnum 1
 
 Name:           sbd
 Summary:        Storage-based death
 License:        GPLv2+
 Group:          System Environment/Daemons
-Version:        1.3.1
+Version:        1.4.0
 Release:        0.%{buildnum}.%{shortcommit}.git%{?dist}
 Url:            https://github.com/%{github_owner}/%{name}
 Source0:        https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  libuuid-devel
 BuildRequires:  glib2-devel
 BuildRequires:  libaio-devel
 BuildRequires:  corosynclib-devel
 BuildRequires:  pacemaker-libs-devel
 BuildRequires:  libtool
 BuildRequires:  libuuid-devel
 BuildRequires:  libxml2-devel
 BuildRequires:  pkgconfig
 BuildRequires:  make
 
 %if 0%{?rhel} > 0
 ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
 %endif
 
 %if %{defined systemd_requires}
 %systemd_requires
 %endif
 
 %description
 
 This package contains the storage-based death functionality.
 
 %prep
 ###########################################################
 # %setup -n sbd-%{version} -q
 %setup -q -n %{name}-%{commit}
 ###########################################################
 
 %build
 autoreconf -i
 export CFLAGS="$RPM_OPT_FLAGS -Wall -Werror"
 %configure
 make %{?_smp_mflags}
 ###########################################################
 
 %install
 ###########################################################
 
 make DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir} install
 rm -rf ${RPM_BUILD_ROOT}%{_libdir}/stonith
 
 install -D -m 0755 src/sbd.sh $RPM_BUILD_ROOT/usr/share/sbd/sbd.sh
 %if %{defined _unitdir}
 install -D -m 0644 src/sbd.service $RPM_BUILD_ROOT/%{_unitdir}/sbd.service
 install -D -m 0644 src/sbd_remote.service $RPM_BUILD_ROOT/%{_unitdir}/sbd_remote.service
 %endif
 
 mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
 install -m 644 src/sbd.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/sbd
 
 %clean
 rm -rf %{buildroot}
 
 %if %{defined _unitdir}
 %post
 %systemd_post sbd.service
 %systemd_post sbd_remote.service
 
 %preun
 %systemd_preun sbd.service
 %systemd_preun sbd_remote.service
 
 %postun
 %systemd_postun sbd.service
 %systemd_postun sbd_remote.service
 %endif
 
 %files
 ###########################################################
 %defattr(-,root,root)
 %config(noreplace) %{_sysconfdir}/sysconfig/sbd
 %{_sbindir}/sbd
 %{_datadir}/sbd
 %doc %{_mandir}/man8/sbd*
 %if %{defined _unitdir}
 %{_unitdir}/sbd.service
 %{_unitdir}/sbd_remote.service
 %endif
 %doc COPYING
 
 %changelog
+* Mon Jan 14 2019 <klaus.wenninger@aon.at> - 1.4.0-0.1.2d595fdd.git
+- updated travis-CI (ppc64le-build, fedora29, remove need for
+  alectolytic-build-container)
+- make watchdog-device-query easier to be handled by an SELinux-policy
+- configurable delay value for SBD_DELAY_START
+- use pacemaker's new pe api with constructors/destructors
+- make timeout-action executed by sbd configurable
+- init script for sysv systems
+- version bump to v1.4.0 to denote Pacemaker 2.0.0 compatibility
+
 * Fri Jun 29 2018 <klaus.wenninger@aon.at> - 1.3.1-0.1.e102d9ed.git
 - removed unneeded python-devel build-requirement
 - changed legacy corosync-devel to corosynclib-devel
 
 * Fri Nov  3 2017 <klaus.wenninger@aon.at> - 1.3.1-0.1.a180176c.git
 - Add commands to test/query watchdogs
 - Allow 2-node-operation with a single shared-disk
 - Overhaul of the command-line options & config-file
 - Proper handling of off instead of reboot
 - Refactored disk-servant for more robust communication with parent
 - Fix config for Debian + configurable location of config
 - Fixes in sbd.sh - multiple SBD devices and others
 
 * Sun Mar 27 2016 <klaus.wenninger@aon.at> - 1.3.0-0.1.4ee36fa3.git
 - Changes since v1.2.0 like adding the possibility to have a
   watchdog-only setup without shared-block-devices
   legitimate a bump to v1.3.0.
 
 * Mon Oct 13 2014 <andrew@beekhof.net> - 1.2.1-0.4.3de531ed.git
 - Fixes for suitability to the el7 environment
 
 * Tue Sep 30 2014 <andrew@beekhof.net> - 1.2.1-0.3.8f912945.git
 - Only build on archs supported by the HA Add-on
 
 * Fri Aug 29 2014 <andrew@beekhof.net> - 1.2.1-0.2.8f912945.git
 - Remove some additional SUSE-isms
 
 * Fri Aug 29 2014 <andrew@beekhof.net> - 1.2.1-0.1.8f912945.git
 - Prepare for package review
   Resolves: rhbz#1134245