On 07/27/2017 12:31 PM, Jagadeesh Krishnanjanappa wrote:
DRBD is a block device which is designed to build high availability
clusters. This is done by mirroring a whole block device via (a dedicated)
network. You could see it as a "network RAID-1".

This recipe provides DRBD9 kernel modules drbd.ko and
drbd_transport_tcp.ko.

If this a kernel module, shouldn't it reside under recipes-kernel ?

- armin

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjana...@mvista.com>
---
  ...ck_existence_of_modules_before_installing.patch | 24 ++++++++++++++++++++++
  .../recipes-support/drbd/drbd_9.0.8-1.bb           | 22 ++++++++++++++++++++
  2 files changed, 46 insertions(+)
  create mode 100644 
meta-networking/recipes-support/drbd/drbd/check_existence_of_modules_before_installing.patch
  create mode 100644 meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb

diff --git 
a/meta-networking/recipes-support/drbd/drbd/check_existence_of_modules_before_installing.patch
 
b/meta-networking/recipes-support/drbd/drbd/check_existence_of_modules_before_installing.patch
new file mode 100644
index 0000000..6414f73
--- /dev/null
+++ 
b/meta-networking/recipes-support/drbd/drbd/check_existence_of_modules_before_installing.patch
@@ -0,0 +1,24 @@
+If CONFIG_BLK_DEV_DRBD kernel config is enabled, then DRBD
+does not build drbd.ko here. Under this circumstance do_install
+task is going to fail with a below error:
+-- snip --
+| install: cannot stat ‘drbd.ko’: No such file or directory
+| make[1]: *** [install] Error 1
+-- snip --
+
+So, check for kernel module existence before installing.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjana...@mvista.com>
+--- drbd-9.0.1-1/drbd/Makefile 2016-07-03 06:54:19.421538690 -0700
++++ drbd-9.0.1-1/drbd/Makefile_mod     2016-07-03 06:53:18.938801628 -0700
+@@ -158,7 +158,7 @@ else
+       fi
+       install -d $(DESTDIR)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR)
+       set -e ; for ko in $(MODOBJS); do \
+-              install -m 644 $$ko 
$(DESTDIR)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR); \
++              [ -e $$ko ] && install -m 644 $$ko 
$(DESTDIR)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR); \
+       done
+     ifeq ($(DESTDIR),/)
+       ifeq ($(shell uname -r),$(KERNELRELEASE))
diff --git a/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb 
b/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb
new file mode 100644
index 0000000..e943f24
--- /dev/null
+++ b/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Distributed block device driver for Linux"
+DESCRIPTION = "DRBD is a block device which is designed to build high \
+               availability clusters. This is done by mirroring a whole \
+               block device via (a dedicated) network. You could see \
+               it as a network raid-1."
+HOMEPAGE = "http://oss.linbit.com/drbd/";
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+DEPENDS = "virtual/kernel"
+
+SRC_URI = "http://www.linbit.com/downloads/drbd/9.0/drbd-${PV}.tar.gz \
+           file://check_existence_of_modules_before_installing.patch"
+
+SRC_URI[md5sum] = "c1dd58043f46e9926b579aa65d4ea980"
+SRC_URI[sha256sum] = 
"87f72d46db9bad926415b3ab9f5f1397de8c581d2e2ec1addbdd5ce2604e6123"
+inherit module
+
+EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'"
+
+do_install () {
+    oe_runmake install DESTDIR="${D}"
+}

--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to