[oe] [meta-networking][PATCH] drbd: Add recipe

Jagadeesh Krishnanjanappa jkrishnanjanappa at mvista.com
Tue Aug 8 03:43:13 UTC 2017


On Sat, Aug 5, 2017 at 9:33 PM, akuster808 <akuster808 at gmail.com> wrote:

>
>
> 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 ?
>

The drbd-utils recipe, which provides DRBD userland tools is already reside
in recipes-support directory. The intention was to place DRBD related
recipes under one common place, so I placed drbd recipe under
recipes-support.

I can send v2 to place it under recipes-kernel, if it is really needed.

Regards,
jagadeesh

>
> - armin
>
>
>> Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa at 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-suppor
>> t/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-supp
>> ort/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 <jkrishnanjanappa at 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] = "87f72d46db9bad926415b3ab9f5f1
>> 397de8c581d2e2ec1addbdd5ce2604e6123"
>> +inherit module
>> +
>> +EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'"
>> +
>> +do_install () {
>> +    oe_runmake install DESTDIR="${D}"
>> +}
>>
>
>



More information about the Openembedded-devel mailing list