Re: [OE-core] [PATCH] mdadm: fix do_package failed when changed local.conf but not cleaned
On 9/5/19 9:53 PM, Peter Kjellerstedt wrote: -Original Message- From: openembedded-core-boun...@lists.openembedded.org On Behalf Of changqing...@windriver.com Sent: den 5 september 2019 13:19 To: openembedded-core@lists.openembedded.org Subject: [OE-core] [PATCH] mdadm: fix do_package failed when changed local.conf but not cleaned From: Changqing Li reproduce steps: 1. add DISTRO_FEATURE_append = 'usrmerge' in local.conf 2. bitbake mdadm --success 3. remove DISTRO_FEATURE_append = 'usrmerge' from local.conf 4. bitbake mdadm -- failed when do_package it is not proper to change source Makefile during do_compile by sed, change to add patch for it. [YOCTO: #13493] Signed-off-by: Changqing Li --- .../mdadm/files/0001-mdadm-support-usrmerge.patch | 46 ++ meta/recipes-extended/mdadm/mdadm_4.1.bb | 7 ++-- 2 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-extended/mdadm/files/0001-mdadm- support-usrmerge.patch diff --git a/meta/recipes-extended/mdadm/files/0001-mdadm-support- usrmerge.patch b/meta/recipes-extended/mdadm/files/0001-mdadm-support- usrmerge.patch new file mode 100644 index 000..f1aa119 --- /dev/null +++ b/meta/recipes-extended/mdadm/files/0001-mdadm-support- usrmerge.patch @@ -0,0 +1,46 @@ +From 2c7ccea05d7cf9dde48d735faa511d1b06c14878 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 5 Sep 2019 18:03:11 +0800 +Subject: [PATCH] mdadm: support usrmerge + +Upstream-Status: Inappropriate[oe-specific] + +Signed-off-by: Changqing Li +--- + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 4839001..466e960 100644 +--- a/Makefile b/Makefile +@@ -88,7 +88,7 @@ MAP_PATH = $(MAP_DIR)/$(MAP_FILE) + MDMON_DIR = $(RUN_DIR) + # place for autoreplace cookies + FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots +-SYSTEMD_DIR=/lib/systemd/system ++SYSTEMD_DIR=${SYSTEMD_UNITDIR}/system + LIB_DIR=/usr/libexec/mdadm + + COROSYNC:=$(shell [ -f $(SYSROOT)/usr/include/corosync/cmap.h ] || echo -DNO_COROSYNC) +@@ -120,7 +120,7 @@ LDLIBS=-ldl + + INSTALL = /usr/bin/install + DESTDIR = +-BINDIR = /sbin ++BINDIR = ${BASE_SBINDIR} + MANDIR = /usr/share/man + MAN4DIR = $(MANDIR)/man4 + MAN5DIR = $(MANDIR)/man5 +@@ -128,7 +128,7 @@ MAN8DIR = $(MANDIR)/man8 + + UDEVDIR := $(shell $(PKG_CONFIG) --variable=udevdir udev 2>/dev/null) + ifndef UDEVDIR +- UDEVDIR = /lib/udev ++ UDEVDIR = ${NONARCH_BASE_LIBDIR}/udev + endif + + ifeq (,$(findstring s,$(MAKEFLAGS))) +-- +2.7.4 + diff --git a/meta/recipes-extended/mdadm/mdadm_4.1.bb b/meta/recipes- extended/mdadm/mdadm_4.1.bb index 74c94f6..efeb09d 100644 --- a/meta/recipes-extended/mdadm/mdadm_4.1.bb +++ b/meta/recipes-extended/mdadm/mdadm_4.1.bb @@ -22,6 +22,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ file://mdadm.init \ file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \ file://include_sysmacros.patch \ + ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-mdadm-support-usrmerge.patch','',d)} \ Since the patch will work regardless of whether usrmerge is enabled or not, I think it is better to always apply it. The same goes for the corresponding path for bootchart2. yes, I will send V2 as recommanded. " SRC_URI[md5sum] = "51bf3651bd73a06c413a2f964f299598" SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a" @@ -41,13 +42,13 @@ CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__' CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__' CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__' -EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}"' +EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" BASE_SBINDIR="${base_sbindir}" \ +NONARCH_BASE_LIBDIR="${nonarch_base_libdir}" \ +SYSTEMD_UNITDIR="${systemd_unitdir}"' DEBUG_OPTIMIZATION_append = " -Wno-error" do_compile() { - # Point to right sbindir - sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" -e "s;SYSTEMD_DIR=/lib/systemd/system;SYSTEMD_DIR=${systemd_unitdir}/system;" ${S}/Makefile oe_runmake SYSROOT="${STAGING_DIR_TARGET}" } -- 2.7.4 //Peter -- BRs Sandy(Li Changqing) -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] mdadm: fix do_package failed when changed local.conf but not cleaned
> -Original Message- > From: openembedded-core-boun...@lists.openembedded.org core-boun...@lists.openembedded.org> On Behalf Of > changqing...@windriver.com > Sent: den 5 september 2019 13:19 > To: openembedded-core@lists.openembedded.org > Subject: [OE-core] [PATCH] mdadm: fix do_package failed when changed > local.conf but not cleaned > > From: Changqing Li > > reproduce steps: > 1. add DISTRO_FEATURE_append = 'usrmerge' in local.conf > 2. bitbake mdadm --success > 3. remove DISTRO_FEATURE_append = 'usrmerge' from local.conf > 4. bitbake mdadm -- failed when do_package > > it is not proper to change source Makefile during do_compile by sed, > change to add patch for it. > > [YOCTO: #13493] > > Signed-off-by: Changqing Li > --- > .../mdadm/files/0001-mdadm-support-usrmerge.patch | 46 > ++ > meta/recipes-extended/mdadm/mdadm_4.1.bb | 7 ++-- > 2 files changed, 50 insertions(+), 3 deletions(-) > create mode 100644 meta/recipes-extended/mdadm/files/0001-mdadm- > support-usrmerge.patch > > diff --git a/meta/recipes-extended/mdadm/files/0001-mdadm-support- > usrmerge.patch b/meta/recipes-extended/mdadm/files/0001-mdadm-support- > usrmerge.patch > new file mode 100644 > index 000..f1aa119 > --- /dev/null > +++ b/meta/recipes-extended/mdadm/files/0001-mdadm-support- > usrmerge.patch > @@ -0,0 +1,46 @@ > +From 2c7ccea05d7cf9dde48d735faa511d1b06c14878 Mon Sep 17 00:00:00 2001 > +From: Changqing Li > +Date: Thu, 5 Sep 2019 18:03:11 +0800 > +Subject: [PATCH] mdadm: support usrmerge > + > +Upstream-Status: Inappropriate[oe-specific] > + > +Signed-off-by: Changqing Li > +--- > + Makefile | 6 +++--- > + 1 file changed, 3 insertions(+), 3 deletions(-) > + > +diff --git a/Makefile b/Makefile > +index 4839001..466e960 100644 > +--- a/Makefile > b/Makefile > +@@ -88,7 +88,7 @@ MAP_PATH = $(MAP_DIR)/$(MAP_FILE) > + MDMON_DIR = $(RUN_DIR) > + # place for autoreplace cookies > + FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots > +-SYSTEMD_DIR=/lib/systemd/system > ++SYSTEMD_DIR=${SYSTEMD_UNITDIR}/system > + LIB_DIR=/usr/libexec/mdadm > + > + COROSYNC:=$(shell [ -f $(SYSROOT)/usr/include/corosync/cmap.h ] || > echo -DNO_COROSYNC) > +@@ -120,7 +120,7 @@ LDLIBS=-ldl > + > + INSTALL = /usr/bin/install > + DESTDIR = > +-BINDIR = /sbin > ++BINDIR = ${BASE_SBINDIR} > + MANDIR = /usr/share/man > + MAN4DIR = $(MANDIR)/man4 > + MAN5DIR = $(MANDIR)/man5 > +@@ -128,7 +128,7 @@ MAN8DIR = $(MANDIR)/man8 > + > + UDEVDIR := $(shell $(PKG_CONFIG) --variable=udevdir udev 2>/dev/null) > + ifndef UDEVDIR > +- UDEVDIR = /lib/udev > ++ UDEVDIR = ${NONARCH_BASE_LIBDIR}/udev > + endif > + > + ifeq (,$(findstring s,$(MAKEFLAGS))) > +-- > +2.7.4 > + > diff --git a/meta/recipes-extended/mdadm/mdadm_4.1.bb b/meta/recipes- > extended/mdadm/mdadm_4.1.bb > index 74c94f6..efeb09d 100644 > --- a/meta/recipes-extended/mdadm/mdadm_4.1.bb > +++ b/meta/recipes-extended/mdadm/mdadm_4.1.bb > @@ -22,6 +22,7 @@ SRC_URI = > "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ > file://mdadm.init \ > > file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \ > file://include_sysmacros.patch \ > + > ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-mdadm-support-usrmerge.patch','',d)} > \ Since the patch will work regardless of whether usrmerge is enabled or not, I think it is better to always apply it. The same goes for the corresponding path for bootchart2. > " > SRC_URI[md5sum] = "51bf3651bd73a06c413a2f964f299598" > SRC_URI[sha256sum] = > "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a" > @@ -41,13 +42,13 @@ CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__' > CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__' > CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__' > > -EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}"' > +EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" > BASE_SBINDIR="${base_sbindir}" \ > +NONARCH_BASE_LIBDIR="${nonarch_base_libdir}" \ > +SYSTEMD_UNITDIR="${systemd_unitdir}"' > > DEBUG_OPTIMIZATION_append = " -Wno-error" > > do_compile() { > - # Point to right sbindir > - sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = > /lib;UDEVDIR = $nonarch_base_libdir;" -e > "s;SYSTEMD_DIR=/lib/systemd/system;SYSTEMD_DIR=${systemd_unitdir}/system;" > ${S}/Makefile > oe_runmake SYSROOT="${STAGING_DIR_TARGET}" > } > > -- > 2.7.4 //Peter -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] mdadm: fix do_package failed when changed local.conf but not cleaned
From: Changqing Li reproduce steps: 1. add DISTRO_FEATURE_append = 'usrmerge' in local.conf 2. bitbake mdadm --success 3. remove DISTRO_FEATURE_append = 'usrmerge' from local.conf 4. bitbake mdadm -- failed when do_package it is not proper to change source Makefile during do_compile by sed, change to add patch for it. [YOCTO: #13493] Signed-off-by: Changqing Li --- .../mdadm/files/0001-mdadm-support-usrmerge.patch | 46 ++ meta/recipes-extended/mdadm/mdadm_4.1.bb | 7 ++-- 2 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-extended/mdadm/files/0001-mdadm-support-usrmerge.patch diff --git a/meta/recipes-extended/mdadm/files/0001-mdadm-support-usrmerge.patch b/meta/recipes-extended/mdadm/files/0001-mdadm-support-usrmerge.patch new file mode 100644 index 000..f1aa119 --- /dev/null +++ b/meta/recipes-extended/mdadm/files/0001-mdadm-support-usrmerge.patch @@ -0,0 +1,46 @@ +From 2c7ccea05d7cf9dde48d735faa511d1b06c14878 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 5 Sep 2019 18:03:11 +0800 +Subject: [PATCH] mdadm: support usrmerge + +Upstream-Status: Inappropriate[oe-specific] + +Signed-off-by: Changqing Li +--- + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 4839001..466e960 100644 +--- a/Makefile b/Makefile +@@ -88,7 +88,7 @@ MAP_PATH = $(MAP_DIR)/$(MAP_FILE) + MDMON_DIR = $(RUN_DIR) + # place for autoreplace cookies + FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots +-SYSTEMD_DIR=/lib/systemd/system ++SYSTEMD_DIR=${SYSTEMD_UNITDIR}/system + LIB_DIR=/usr/libexec/mdadm + + COROSYNC:=$(shell [ -f $(SYSROOT)/usr/include/corosync/cmap.h ] || echo -DNO_COROSYNC) +@@ -120,7 +120,7 @@ LDLIBS=-ldl + + INSTALL = /usr/bin/install + DESTDIR = +-BINDIR = /sbin ++BINDIR = ${BASE_SBINDIR} + MANDIR = /usr/share/man + MAN4DIR = $(MANDIR)/man4 + MAN5DIR = $(MANDIR)/man5 +@@ -128,7 +128,7 @@ MAN8DIR = $(MANDIR)/man8 + + UDEVDIR := $(shell $(PKG_CONFIG) --variable=udevdir udev 2>/dev/null) + ifndef UDEVDIR +- UDEVDIR = /lib/udev ++ UDEVDIR = ${NONARCH_BASE_LIBDIR}/udev + endif + + ifeq (,$(findstring s,$(MAKEFLAGS))) +-- +2.7.4 + diff --git a/meta/recipes-extended/mdadm/mdadm_4.1.bb b/meta/recipes-extended/mdadm/mdadm_4.1.bb index 74c94f6..efeb09d 100644 --- a/meta/recipes-extended/mdadm/mdadm_4.1.bb +++ b/meta/recipes-extended/mdadm/mdadm_4.1.bb @@ -22,6 +22,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ file://mdadm.init \ file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \ file://include_sysmacros.patch \ + ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-mdadm-support-usrmerge.patch','',d)} \ " SRC_URI[md5sum] = "51bf3651bd73a06c413a2f964f299598" SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a" @@ -41,13 +42,13 @@ CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__' CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__' CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__' -EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}"' +EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" BASE_SBINDIR="${base_sbindir}" \ +NONARCH_BASE_LIBDIR="${nonarch_base_libdir}" \ +SYSTEMD_UNITDIR="${systemd_unitdir}"' DEBUG_OPTIMIZATION_append = " -Wno-error" do_compile() { - # Point to right sbindir - sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" -e "s;SYSTEMD_DIR=/lib/systemd/system;SYSTEMD_DIR=${systemd_unitdir}/system;" ${S}/Makefile oe_runmake SYSROOT="${STAGING_DIR_TARGET}" } -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core