From ab8911fd0a8597b6db070099238490879a0f136d Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Wed, 17 Apr 2019 02:13:11 -0400 Subject: drbd: fix compile errors It fails to build drbd with errors: | LD [M] .../tmp/work/qemux86_64-poky-linux/drbd/9.0.17-1-r0/drbd-9.0.17-1/drbd/drbd.o | x86_64-poky-linux-ld.bfd: cannot find | .../tmp/work/qemux86_64-poky-linux/drbd/9.0.17-1-r0/drbd-9.0.17-1/drbd/drbd_bitmap.o: No such file or directory Backport patch from upstream to fix the issue. Signed-off-by: Kai Kang Signed-off-by: Khem Raj --- ...uild-fix-use-M-don-t-forget-addprefix-obj.patch | 79 ++++++++++++++++++++++ .../recipes-support/drbd/drbd_9.0.17-1.bb | 4 +- 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch diff --git a/meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch b/meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch new file mode 100644 index 0000000000..fbf94d5136 --- /dev/null +++ b/meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch @@ -0,0 +1,79 @@ +Upstream-Status: Backport [https://github.com/LINBIT/drbd-9.0/commit/46e8e3f] + +Backport patch to fix compile errors: + +| LD [M] /home/kkang/buildarea/Yocto/build/tmp/work/qemux86_64-poky-linux/drbd/9.0.17-1-r0/drbd-9.0.17-1/drbd/drbd.o +| x86_64-poky-linux-ld.bfd: cannot find .../tmp/work/qemux86_64-poky-linux/drbd/9.0.17-1-r0/drbd-9.0.17-1/drbd/drbd_bitmap.o: No such file or directory + +Signed-off-by: Kai Kang + +From 46e8e3fc31b651fb56ea38134dcf14382fc43000 Mon Sep 17 00:00:00 2001 +From: Lars Ellenberg +Date: Wed, 3 Apr 2019 10:57:46 +0200 +Subject: [PATCH] drbd: kbuild fix: use M=; don't forget addprefix $(obj) + +Kernel build started to warn about using SUBDIRS instead of M, +and we don't support "very old" kernels anymore anyways. + +Our list of dependencies for drbd_buildtag.c needs to depend on the +actual files $(obj)/*.o resulting from the build, +not on just the list of *.o names. + +This apparently also fixes a build failure in opensuse build service for +tumbleweed when using make-4.2.1-7.5 against kernel 5.0.5-something. +--- + drbd/Kbuild | 11 +++++------ + drbd/Makefile | 4 +--- + 2 files changed, 6 insertions(+), 9 deletions(-) + +diff --git a/drbd/Kbuild b/drbd/Kbuild +index 285f7a81..99228029 100644 +--- a/drbd/Kbuild ++++ b/drbd/Kbuild +@@ -1,4 +1,5 @@ +-obj-m := drbd.o drbd_transport_tcp.o ++obj-m += drbd.o drbd_transport_tcp.o ++# obj-$(CONFIG_BLK_DEV_DRBD) += drbd.o drbd_transport_tcp.o + + clean-files := compat.h $(wildcard .config.$(KERNELVERSION).timestamp) + +@@ -56,10 +57,8 @@ ifndef DISABLE_KREF_DEBUGGING_HERE + drbd-y += kref_debug.o drbd_kref_debug.o + endif + +-$(patsubst %,$(obj)/%,$(drbd-y)): $(obj)/compat.h +-$(patsubst %,$(obj)/%,drbd_transport_tcp.o): $(obj)/compat.h +- +-obj-$(CONFIG_BLK_DEV_DRBD) += drbd.o ++$(addprefix $(obj)/,$(drbd-y)): $(obj)/compat.h ++$(obj)/drbd_transport_tcp.o: $(obj)/compat.h + + # ====================================================================== + +@@ -124,7 +123,7 @@ endif + # and not in e.g. dash. I'm too lazy to fix it to be compatible. + SHELL=/bin/bash + +-$(obj)/drbd_buildtag.c: $(filter-out drbd_buildtag.o,$(drbd-y)) ++$(obj)/drbd_buildtag.c: $(addprefix $(obj)/,$(filter-out drbd_buildtag.o,$(drbd-y))) + @$(kecho) ' GEN $@ $(echo-why)' + @set -e; exec > $@.new; \ + echo -e "/* automatically generated. DO NOT EDIT. */"; \ +diff --git a/drbd/Makefile b/drbd/Makefile +index 5f768fc6..f9e8792a 100644 +--- a/drbd/Makefile ++++ b/drbd/Makefile +@@ -102,9 +102,7 @@ else + + kbuild: + @rm -f .drbd_kernelrelease* +- # previous to 2.6.6 (suse: 2.6.5-dunno), this should be: +- $(MAKE) -C $(KDIR) $(if $(O),O=$(O),) SUBDIRS=$(DRBDSRC) $(ARCH_UM) modules +-# $(MAKE) -C $(KDIR) M=$(DRBDSRC) $(ARCH_UM) modules ++ $(MAKE) -C $(KDIR) $(if $(O),O=$(O),) M=$(DRBDSRC) $(ARCH_UM) modules + -mv .drbd_kernelrelease.new .drbd_kernelrelease + @echo -n "Memorizing module configuration ... " + @config=$$( (for x in $(KDIR)/.config $(O)/.config ; do \ +-- +2.20.0 + diff --git a/meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb b/meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb index d6750ab2f6..1eada269cb 100644 --- a/meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb +++ b/meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb @@ -9,7 +9,9 @@ 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" + file://check_existence_of_modules_before_installing.patch \ + file://0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch \ + " SRC_URI[md5sum] = "ae8d5030760b2820a4b3e250447890a0" SRC_URI[sha256sum] = "86dd6cc0fdc8123056a3bb67a634cd7ba62a7b05b23caab9995cce7730891da8" -- cgit 1.2.3-korg