[oe] [meta-oe][PATCH V2] makedumpfile: add makedumpfile 1.6.0

mingli.yu at windriver.com mingli.yu at windriver.com
Fri Jul 22 02:55:02 UTC 2016


* Add makedumpfile 1.6.0
* 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

Signed-off-by: Mingli Yu <mingli.yu at windriver.com>
---
 ...0001-makedumpfile-replace-hardcode-CFLAGS.patch | 134 +++++++++++++++++++++
 .../makedumpfile/makedumpfile_1.6.0.bb             |  53 ++++++++
 2 files changed, 187 insertions(+)
 create mode 100644 meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
 create mode 100644 meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb

diff --git a/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch b/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
new file mode 100644
index 0000000..d599a91
--- /dev/null
+++ b/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
@@ -0,0 +1,134 @@
+From 3c2f4ff583a156a7ed2fa0cc002a413c391d063d Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu at windriver.com>
+Date: Thu, 21 Jul 2016 18:06:21 +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.yu at windriver.com>
+---
+ Makefile | 46 +++++++++++++++++++++++-----------------------
+ 1 file changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 7dde3e4..c5286ac 100644
+--- a/Makefile
++++ b/Makefile
+@@ -8,13 +8,6 @@ ifeq ($(strip $CC),)
+ CC	= gcc
+ endif
+ 
+-CFLAGS = -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
+-	  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \
+-	  -DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(DATE)"'
+-CFLAGS_ARCH	= -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
+-		    -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+-# 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
+@@ -22,29 +15,36 @@ ifeq ($(strip($TARGET)),)
+ TARGET := $(HOST_ARCH)
+ 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/)
++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/_powerpc_/_powerpc32_/)
+ 
+ CROSS :=
+ ifneq ($(TARGET), $(HOST_ARCH))
+ CROSS := -U__$(HOST_ARCH)__
+ endif
+ 
+-CFLAGS += -D__$(ARCH)__ $(CROSS)
+-CFLAGS_ARCH += -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
+ OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART))
+@@ -54,17 +54,17 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
+ 
+ LIBS = -ldw -lbz2 -lebl -ldl -lelf -lz
+ ifneq ($(LINKTYPE), dynamic)
+-LIBS := -static $(LIBS)
++LIBS := $(LIBS)
+ endif
+ 
+ ifeq ($(USELZO), on)
+ LIBS := -llzo2 $(LIBS)
+-CFLAGS += -DUSELZO
++CFLAGS_COMMON += -DUSELZO
+ endif
+ 
+ ifeq ($(USESNAPPY), on)
+ LIBS := -lsnappy $(LIBS)
+-CFLAGS += -DUSESNAPPY
++CFLAGS_COMMON += -DUSESNAPPY
+ endif
+ 
+ LIBS := -lpthread $(LIBS)
+@@ -72,14 +72,14 @@ LIBS := -lpthread $(LIBS)
+ 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)
+ 	echo .TH MAKEDUMPFILE 8 \"$(DATE)\" \"makedumpfile v$(VERSION)\" \"Linux System Administrator\'s Manual\" > temp.8
+ 	grep -v "^.TH MAKEDUMPFILE 8" $(VPATH)makedumpfile.8 >> temp.8
+ 	mv temp.8 makedumpfile.8
+@@ -90,7 +90,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
+ 	gzip -c ./makedumpfile.conf.5 > ./makedumpfile.conf.5.gz
+ 
+ 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.gz makedumpfile.conf.5.gz
+-- 
+2.8.1
+
diff --git a/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb b/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb
new file mode 100644
index 0000000..be859a2
--- /dev/null
+++ b/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb
@@ -0,0 +1,53 @@
+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 = "http://makedumpfile.sourceforge.net"
+
+DEPENDS = "bzip2 zlib elfutils"
+RDEPENDS_${PN}-tools = "perl ${PN}"
+
+# arm would compile but has never been tested upstream.  mips would not compile.
+#
+COMPATIBLE_HOST = "(x86_64|i.86|powerpc).*-linux"
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*.pl"
+
+SRC_URI = "\
+	${SOURCEFORGE_MIRROR}/makedumpfile/${BPN}-${PV}.tar.gz \
+	file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
+	"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+LICENSE = "GPLv2.0"
+
+SRC_URI[md5sum] = "041c5c6de2c3066600e4ca646c2397d6"
+SRC_URI[sha256sum] = "e3147abc52df2ceac1e9affef45bf37e2f2e1d9979bc94a761ee11e4044072ac"
+
+SECTION = "base"
+
+# If we do not specify TARGET, makedumpfile will build for the host but use the
+# target gcc.
+#
+EXTRA_OEMAKE = "\
+	LINKTYPE=static \
+	TARGET=${TARGET_ARCH} \
+	"
+
+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}/usr/share/man/man8
+	install -m 644 ${S}/makedumpfile.8.gz ${D}/usr/share/man/man8
+
+	mkdir -p ${D}/usr/share/man/man5
+	install -m 644 ${S}/makedumpfile.conf.5.gz ${D}/usr/share/man/man5
+
+	mkdir -p ${D}/etc/
+	install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample
+}
-- 
2.8.1




More information about the Openembedded-devel mailing list