[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#815306: corosync: FTBFS on kfreebsd: configure: error: watchdog requires linux/watchdog.h



tags 815306 + patch
user debian-bsd@lists.debian.org
usertags 815306 + kfreebsd
thanks

Hi,

Andreas Beckmann wrote:
> corosync FTBFS on kfreebsd-i386, kfreebsd-amd64:
> https://buildd.debian.org/status/fetch.php?pkg=corosync&arch=kfreebsd-amd64&ver=2.3.5-3&stamp=1445527755
> https://buildd.debian.org/status/fetch.php?pkg=corosync&arch=kfreebsd-i386&ver=2.3.5-3&stamp=1445522632
> 
> checking linux/watchdog.h usability... no
> checking linux/watchdog.h presence... no
> checking for linux/watchdog.h... no
> configure: error: watchdog requires linux/watchdog.h

watchdog and systemd, should be enabled only when building on Linux.
That's quite easily to do.

But then I found that systemd unit files are not created(?) any more so
dh_install failed.  So I added an exclusion on non-Linux, but maybe
dh_install should not have been installing those files itself?

Then "rm debian/tmp/usr/share/corosync/corosync" and "-notifyd"
complained that those files did not exist, but they did exist in
"tmp/etc/init.d/" where dh_install complained they were not being
installed anywhere...  so I changed it to just "rm -f" all of those.

I didn't test to see if it caused regressions on linux, but the attached
patch has fixed the package build for me on kfreebsd-amd64, at least.
It probably could be better.

Thanks,
Regards,
-- 
Steven Chamberlain
steven@pyro.eu.org
--- corosync-2.3.5/debian/control.orig	2015-10-22 14:36:41.000000000 +0100
+++ corosync-2.3.5/debian/control	2016-02-21 03:33:09.847711088 +0000
@@ -21,7 +21,7 @@
  librdmacm-dev [linux-any],
  libsnmp-dev,
  libstatgrab-dev [linux-any],
- libsystemd-dev,
+ libsystemd-dev [linux-any],
  libxml2-dev,
  pkg-config,
  zlib1g-dev
--- corosync-2.3.5/debian/rules.orig	2015-10-22 14:36:41.000000000 +0100
+++ corosync-2.3.5/debian/rules	2016-02-21 03:51:31.792640939 +0000
@@ -16,6 +16,14 @@
 enable-monitoring=--enable-monitoring
 endif
 
+DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+ifeq (linux,${DEB_HOST_ARCH_OS})
+enable-watchdog=--enable-watchdog
+enable-systemd=--enable-systemd
+else
+exclude-systemd=-X/lib/systemd/
+endif
+
 %:
 	dh $@ --with autoreconf,systemd
 
@@ -25,11 +33,11 @@
 	    --enable-dbus \
 	    $(enable-rdma) \
 	    $(enable-monitoring) \
-	    --enable-watchdog \
+	    $(enable-watchdog) \
 	    --enable-augeas \
 	    --enable-snmp \
 	    --enable-xmlconf \
-	    --enable-systemd \
+	    $(enable-systemd) \
 	    --enable-upstart \
 	    --enable-qdevices \
 	    --disable-static
@@ -44,12 +52,14 @@
 	dh_auto_install
 	rm -v debian/tmp/usr/lib/*/lib*.la
 # we don't need the upstream SysV init scripts and license
-	rm debian/tmp/usr/share/corosync/corosync \
-	   debian/tmp/usr/share/corosync/corosync-notifyd \
-	   debian/tmp/usr/share/doc/corosync/LICENSE
+	rm -f debian/tmp/etc/init.d/corosync \
+	      debian/tmp/etc/init.d/corosync-notifyd \
+	      debian/tmp/usr/share/corosync/corosync \
+	      debian/tmp/usr/share/corosync/corosync-notifyd \
+	      debian/tmp/usr/share/doc/corosync/LICENSE
 
 override_dh_install:
-	dh_install --fail-missing --exclude=.md5
+	dh_install --fail-missing --exclude=.md5 $(exclude-systemd)
 
 override_dh_installchangelogs:
 	dh_installchangelogs ChangeLog

Attachment: signature.asc
Description: Digital signature


Reply to: