+Khem Raj and Wang My in CC Hi all, for context: Wang Mingyu has been maintaining the recipe in meta-openembedded. I proposed to her to add them as maintainer in poky per email, but have not heard back. Because of that, I wrote down my name instead. I am completely open to having someone else written down as the maintainer of makedumpfile in poky, in case it makes more sense.
Étienne On Mon, Oct 14, 2024 at 11:12 AM Etienne Cordonnier via lists.openembedded.org <ecordonnier=snap....@lists.openembedded.org> wrote: > From: Etienne Cordonnier <ecordonn...@snap.com> > > The kdump script from kexec-tools does not work without makedumpfile (see > https://urldefense.proofpoint.com/v2/url?u=https-3A__git.yoctoproject.org_poky_tree_meta_recipes-2Dkernel_kexec_kexec-2Dtools_kdump-23n14&d=DwIDAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=P-43Iy1a-1QaUUSrWN6DEeLWV4aG-XtwZpHqKi3mYSCthF8ucEUy5NbXbB1A1gBJ&s=pvS8H6faoTDdXL0OP37Fg3OC8xR0mhtz-148E4m1HIs&e= > ). > Thus, let's import makedumpfile from > meta-openembedded/meta-oe/recipes-kernel/makedumpfile and make kexec-tools > RDEPENDS on makedumpfile. > > makedumpfile is the utility which reads /proc/vmcore after a kernel panic > and creates a kdump file under /var/crash/. > > Signed-off-by: Etienne Cordonnier <ecordonn...@snap.com> > --- > meta/conf/distro/include/maintainers.inc | 1 + > .../kexec/kexec-tools_2.0.29.bb | 1 + > ...makedumpfile-replace-hardcode-CFLAGS.patch | 139 ++++++++++++++++++ > .../makedumpfile/makedumpfile_1.7.5.bb | 62 ++++++++ > 4 files changed, 203 insertions(+) > create mode 100644 > meta/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch > create mode 100644 meta/recipes-kernel/makedumpfile/makedumpfile_1.7.5.bb > > diff --git a/meta/conf/distro/include/maintainers.inc > b/meta/conf/distro/include/maintainers.inc > index b529786214..ad2544741f 100644 > --- a/meta/conf/distro/include/maintainers.inc > +++ b/meta/conf/distro/include/maintainers.inc > @@ -490,6 +490,7 @@ RECIPE_MAINTAINER:pn-m4-native = "Robert Yang < > liezhi.y...@windriver.com>" > RECIPE_MAINTAINER:pn-make = "Robert Yang <liezhi.y...@windriver.com>" > RECIPE_MAINTAINER:pn-makedepend = "Robert Yang <liezhi.y...@windriver.com > >" > RECIPE_MAINTAINER:pn-makedevs = "Chen Qi <qi.c...@windriver.com>" > +RECIPE_MAINTAINER:pn-makedumpfile = "Etienne Cordonnier < > ecordonn...@snap.com>" > RECIPE_MAINTAINER:pn-make-mod-scripts = "Bruce Ashfield < > bruce.ashfi...@gmail.com>" > RECIPE_MAINTAINER:pn-man-db = "Hongxu Jia <hongxu....@windriver.com>" > RECIPE_MAINTAINER:pn-man-pages = "Hongxu Jia <hongxu....@windriver.com>" > diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.29.bb > b/meta/recipes-kernel/kexec/kexec-tools_2.0.29.bb > index 2c2901f19e..be24d064bb 100644 > --- a/meta/recipes-kernel/kexec/kexec-tools_2.0.29.bb > +++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.29.bb > @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = > "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ > > > file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09 > \ > " > DEPENDS = "zlib xz" > +RDEPENDS:${PN} = "makedumpfile" > > SRC_URI = > "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \ > file://kdump \ > diff --git > a/meta/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch > b/meta/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch > new file mode 100644 > index 0000000000..96a996f616 > --- /dev/null > +++ > b/meta/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch > @@ -0,0 +1,139 @@ > +From 6d16911316cb576db0239f607e60918a222e4436 Mon Sep 17 00:00:00 2001 > +From: Mingli Yu <mingli...@windriver.com> > +Date: Sun, 24 Apr 2022 17:25:33 +0800 > +Subject: [PATCH] makedumpfile: replace hardcode CFLAGS > + > +* Create alias for target such as powerpc as powerpc32 > +* Remove hardcode CFLAGS > +* Add CFLAGS_COMMON to instead of CFLAGS so can flexibly > + customize CFLAGS and not hardcode the CFLAGS as previously > +* Forcibly to link dynamic library as the poky build > + system doesn't build static library by default > + > +Upstream-Status: Inappropriate [oe specific] > + > +Signed-off-by: Mingli Yu <mingli...@windriver.com> > + > +[2021-11-18] Patch updated to use CFLAGS_COMMON for zstd > +Signed-off-by: Fathi Boudra <fathi.bou...@linaro.org> > + > +Rebase to 1.7.1 > +Signed-off-by: Mingli Yu <mingli...@windriver.com> > +--- > + Makefile | 40 +++++++++++++++++++++------------------- > + 1 file changed, 21 insertions(+), 19 deletions(-) > + > +diff --git a/Makefile b/Makefile > +index 71d8548..22acdd5 100644 > +--- a/Makefile > ++++ b/Makefile > +@@ -8,12 +8,6 @@ ifeq ($(strip $CC),) > + CC = gcc > + endif > + > +-CFLAGS_BASE := $(CFLAGS) -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \ > +- -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE > +-CFLAGS := $(CFLAGS_BASE) -DVERSION='"$(VERSION)"' > -DRELEASE_DATE='"$(DATE)"' > +-CFLAGS_ARCH := $(CFLAGS_BASE) > +-# LDFLAGS = -L/usr/local/lib -I/usr/local/include > +- > + HOST_ARCH := $(shell uname -m) > + # Use TARGET as the target architecture if specified. > + # Defaults to uname -m > +@@ -24,26 +18,34 @@ endif > + ARCH := $(shell echo ${TARGET} | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ > \ > + -e s/arm.*/arm/ -e s/sa110/arm/ \ > + -e s/s390x/s390/ -e s/parisc64/parisc/ \ > +- -e s/ppc64/powerpc64/ -e s/ppc/powerpc32/) > ++ -e s/ppc64/powerpc64/ -e s/ppc/powerpc32/ \ > ++ -e s/_powerpc_/_powerpc32_/) > + > + CROSS := > + ifneq ($(TARGET), $(HOST_ARCH)) > + CROSS := -U__$(HOST_ARCH)__ > + endif > + > +-CFLAGS += -D__$(ARCH)__ $(CROSS) > + CFLAGS_ARCH += -D__$(ARCH)__ $(CROSS) > + > +-ifeq ($(ARCH), powerpc64) > +-CFLAGS += -m64 > ++ifeq ($(ARCH), __powerpc64__) > + CFLAGS_ARCH += -m64 > + endif > + > +-ifeq ($(ARCH), powerpc32) > +-CFLAGS += -m32 > ++ifeq ($(ARCH), __powerpc32__) > + CFLAGS_ARCH += -m32 > + endif > + > ++CFLAGS_ARCH += $(CFLAGS) \ > ++ -D_FILE_OFFSET_BITS=64 \ > ++ -D_LARGEFILE_SOURCE \ > ++ -D_LARGEFILE64_SOURCE > ++ > ++CFLAGS_COMMON = $(CFLAGS_ARCH) \ > ++ -DVERSION='"$(VERSION)"' \ > ++ -DRELEASE_DATE='"$(DATE)"' > ++ > ++ > + SRC_BASE = makedumpfile.c makedumpfile.h diskdump_mod.h sadump_mod.h > sadump_info.h > + SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c > sadump_info.c cache.c tools.c printk.c detect_cycle.c > + OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART)) > +@@ -52,12 +54,12 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH)) > + > + LIBS = -ldw -lbz2 -ldl -lelf -lz > + ifneq ($(LINKTYPE), dynamic) > +-LIBS := -static $(LIBS) -llzma > ++LIBS := $(LIBS) -llzma > + endif > + > + ifeq ($(USELZO), on) > + LIBS := -llzo2 $(LIBS) > +-CFLAGS += -DUSELZO > ++CFLAGS_COMMON += -DUSELZO > + endif > + > + ifeq ($(USESNAPPY), on) > +@@ -65,12 +67,12 @@ LIBS := -lsnappy $(LIBS) > + ifneq ($(LINKTYPE), dynamic) > + LIBS := $(LIBS) -lstdc++ > + endif > +-CFLAGS += -DUSESNAPPY > ++CFLAGS_COMMON += -DUSESNAPPY > + endif > + > + ifeq ($(USEZSTD), on) > + LIBS := -lzstd $(LIBS) > +-CFLAGS += -DUSEZSTD > ++CFLAGS_COMMON += -DUSEZSTD > + endif > + > + ifeq ($(DEBUG), on) > +@@ -104,14 +106,14 @@ LIBS := $(LIBS) $(call try-run,\ > + all: makedumpfile > + > + $(OBJ_PART): $(SRC_PART) > +- $(CC) $(CFLAGS) -c -o ./$@ $(VPATH)$(@:.o=.c) > ++ $(CC) $(CFLAGS_COMMON) -c -o ./$@ $(VPATH)$(@:.o=.c) > + > + $(OBJ_ARCH): $(SRC_ARCH) > + @mkdir -p $(@D) > + $(CC) $(CFLAGS_ARCH) -c -o ./$@ $(VPATH)$(@:.o=.c) > + > + makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH) > +- $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -o $@ > $< $(LIBS) > ++ $(CC) $(CFLAGS_COMMON) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) > -rdynamic -o $@ $< $(LIBS) > + @sed -e "s/@DATE@/$(DATE)/" \ > + -e "s/@VERSION@/$(VERSION)/" \ > + $(VPATH)makedumpfile.8.in > $(VPATH)makedumpfile.8 > +@@ -120,7 +122,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH) > + $(VPATH)makedumpfile.conf.5.in > $(VPATH)makedumpfile.conf.5 > + > + eppic_makedumpfile.so: extension_eppic.c > +- $(CC) $(CFLAGS) $(LDFLAGS) -shared -rdynamic -o $@ > extension_eppic.c -fPIC -leppic -ltinfo > ++ $(CC) $(CFLAGS_COMMON) $(LDFLAGS) -shared -rdynamic -o $@ > extension_eppic.c -fPIC -leppic -ltinfo > + > + clean: > + rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8 > makedumpfile.conf.5 > diff --git a/meta/recipes-kernel/makedumpfile/makedumpfile_1.7.5.bb > b/meta/recipes-kernel/makedumpfile/makedumpfile_1.7.5.bb > new file mode 100644 > index 0000000000..85b44c4941 > --- /dev/null > +++ b/meta/recipes-kernel/makedumpfile/makedumpfile_1.7.5.bb > @@ -0,0 +1,62 @@ > +SUMMARY = "VMcore extraction tool" > +DESCRIPTION = "\ > + This program is used to extract a subset of the memory available > either \ > + via /dev/mem or /proc/vmcore (for crashdumps). It is used to get > memory \ > + images without extra uneeded information (zero pages, userspace > programs, \ > + etc). \ > +" > +HOMEPAGE = "https://github.com/makedumpfile/makedumpfile" > + > +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" > +LICENSE = "GPL-2.0-only" > + > +SRCBRANCH ?= "master" > +SRCREV = "c266469347d49287be38059d45e7aaa454db9cb2" > + > +DEPENDS = "bzip2 zlib elfutils xz" > +RDEPENDS:${PN}-tools = "perl ${PN}" > + > +# mips/rv32 would not compile. > +COMPATIBLE_HOST:mipsarcho32 = "null" > +COMPATIBLE_HOST:riscv32 = "null" > + > +PACKAGES =+ "${PN}-tools" > +FILES:${PN}-tools = "${bindir}/*.pl" > + > +SRC_URI = "\ > + git:// > github.com/makedumpfile/makedumpfile;branch=${SRCBRANCH};protocol=https > <http://github.com/makedumpfile/makedumpfile;branch=$%7BSRCBRANCH%7D;protocol=https> > \ > + file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \ > +" > + > +S = "${WORKDIR}/git" > + > +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" > + > +SECTION = "base" > + > +# If we do not specify TARGET, makedumpfile will build for the host but > use the > +# target gcc. > +# > + > +MAKEDUMPFILE_TARGET ?= "${TARGET_ARCH}" > +MAKEDUMPFILE_TARGET:powerpc = "ppc" > + > +EXTRA_OEMAKE = "\ > + LINKTYPE=static \ > + TARGET=${MAKEDUMPFILE_TARGET} \ > + ${PACKAGECONFIG_CONFARGS} \ > +" > + > +PACKAGECONFIG ??= "" > +PACKAGECONFIG[lzo] = "USELZO=on,USELZO=off,lzo" > +PACKAGECONFIG[snappy] = "USESNAPPY=on,USESNAPPY=off,snappy" > +PACKAGECONFIG[zstd] = "USEZSTD=on,USEZSTD=off,zstd" > + > +do_install () { > + mkdir -p ${D}/usr/bin > + install -m 755 ${S}/makedumpfile ${D}/usr/bin > + install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin > + > + mkdir -p ${D}/etc/ > + install -m 644 ${S}/makedumpfile.conf > ${D}/etc/makedumpfile.conf.sample > +} > -- > 2.43.0 > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#205735): https://lists.openembedded.org/g/openembedded-core/message/205735 Mute This Topic: https://lists.openembedded.org/mt/108998255/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-