[Buildroot] [PATCH 1/1] package/makedumpfile: new package

Alexander Egorenkov egorenar-dev at posteo.net
Sat Aug 29 07:59:01 UTC 2020


Signed-off-by: Alexander Egorenkov <egorenar-dev at posteo.net>
---
 package/Config.in                             |  1 +
 .../0001-Cross-compilation-fixes.patch        | 13 +++++++
 package/makedumpfile/0002-gcc10-fixes.patch   | 35 +++++++++++++++++++
 package/makedumpfile/Config.in                | 11 ++++++
 package/makedumpfile/makedumpfile.hash        |  3 ++
 package/makedumpfile/makedumpfile.mk          | 23 ++++++++++++
 6 files changed, 86 insertions(+)
 create mode 100644 package/makedumpfile/0001-Cross-compilation-fixes.patch
 create mode 100644 package/makedumpfile/0002-gcc10-fixes.patch
 create mode 100644 package/makedumpfile/Config.in
 create mode 100644 package/makedumpfile/makedumpfile.hash
 create mode 100644 package/makedumpfile/makedumpfile.mk

diff --git a/package/Config.in b/package/Config.in
index d7e79f4795..10cb1f94d1 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2374,6 +2374,7 @@ menu "System tools"
 	source "package/kvmtool/Config.in"
 	source "package/libostree/Config.in"
 	source "package/lxc/Config.in"
+	source "package/makedumpfile/Config.in"
 	source "package/mender/Config.in"
 	source "package/mender-grubenv/Config.in"
 	source "package/mfoc/Config.in"
diff --git a/package/makedumpfile/0001-Cross-compilation-fixes.patch b/package/makedumpfile/0001-Cross-compilation-fixes.patch
new file mode 100644
index 0000000000..ebe495d89d
--- /dev/null
+++ b/package/makedumpfile/0001-Cross-compilation-fixes.patch
@@ -0,0 +1,13 @@
+Index: makedumpfile-1.6.7/Makefile
+===================================================================
+--- makedumpfile-1.6.7.orig/Makefile
++++ makedumpfile-1.6.7/Makefile
+@@ -8,7 +8,7 @@ ifeq ($(strip $CC),)
+ CC	= gcc
+ endif
+ 
+-CFLAGS_BASE := $(CFLAGS) -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
++CFLAGS_BASE := $(EXTRA_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)
diff --git a/package/makedumpfile/0002-gcc10-fixes.patch b/package/makedumpfile/0002-gcc10-fixes.patch
new file mode 100644
index 0000000000..10c4bf72c7
--- /dev/null
+++ b/package/makedumpfile/0002-gcc10-fixes.patch
@@ -0,0 +1,35 @@
+--- a/makedumpfile.h	2020-08-28 20:08:00.308241301 +0200
++++ b/makedumpfile.h	2020-08-28 20:08:10.484310117 +0200
+@@ -1262,7 +1262,9 @@
+ 	mdf_pfn_t		end_pfn;
+ 	off_t			offset_eraseinfo;
+ 	unsigned long		size_eraseinfo;
+-} splitting_info_t;
++};
++
++typedef struct splitting_info splitting_info_t;
+ 
+ struct parallel_info {
+ 	int			fd_memory;
+@@ -1275,7 +1277,9 @@
+ #ifdef USELZO
+ 	lzo_bytep		wrkmem;
+ #endif
+-} parallel_info_t;
++};
++
++typedef struct parallel_info parallel_info_t;
+ 
+ struct ppc64_vmemmap {
+ 	unsigned long		phys;
+@@ -2006,8 +2010,8 @@
+ };
+ 
+ #define CRASH_RESERVED_MEM_NR   8
+-struct memory_range crash_reserved_mem[CRASH_RESERVED_MEM_NR];
+-int crash_reserved_mem_nr;
++extern struct memory_range crash_reserved_mem[CRASH_RESERVED_MEM_NR];
++extern int crash_reserved_mem_nr;
+ 
+ unsigned long read_vmcoreinfo_symbol(char *str_symbol);
+ int readmem(int type_addr, unsigned long long addr, void *bufptr, size_t size);
diff --git a/package/makedumpfile/Config.in b/package/makedumpfile/Config.in
new file mode 100644
index 0000000000..6751282ea6
--- /dev/null
+++ b/package/makedumpfile/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_MAKEDUMPFILE
+	bool "makedumpfile"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_STATIC_LIBS # dlopen
+	select BR2_PACKAGE_ELFUTILS
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_BZIP2
+	select BR2_PACKAGE_LZO
+	select BR2_PACKAGE_XZ
+	help
+	  Makes a small dumpfile of kdump.
diff --git a/package/makedumpfile/makedumpfile.hash b/package/makedumpfile/makedumpfile.hash
new file mode 100644
index 0000000000..6cf882e3e5
--- /dev/null
+++ b/package/makedumpfile/makedumpfile.hash
@@ -0,0 +1,3 @@
+# Locally computed:
+sha256  e702fbdf62b4cd829a76e46f3e24eb3fc7501918b85ebdcd8baef4f53d6ee2c8  makedumpfile-1.6.7.tar.gz
+sha256  ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6  COPYING
diff --git a/package/makedumpfile/makedumpfile.mk b/package/makedumpfile/makedumpfile.mk
new file mode 100644
index 0000000000..b240944eaf
--- /dev/null
+++ b/package/makedumpfile/makedumpfile.mk
@@ -0,0 +1,23 @@
+################################################################################
+#
+# makedumpfile
+#
+################################################################################
+
+MAKEDUMPFILE_VERSION = 1.6.7
+MAKEDUMPFILE_SITE = https://github.com/makedumpfile/makedumpfile/releases/download/Released-$(subst .,-,$(MAKEDUMPFILE_VERSION))
+MAKEDUMPFILE_DEPENDENCIES = zlib xz lzo
+MAKEDUMPFILE_LICENSE = GPL-2.0
+MAKEDUMPFILE_LICENSE_FILES = COPYING
+
+define MAKEDUMPFILE_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC)" \
+		EXTRA_CFLAGS="$(TARGET_CFLAGS)" TARGET=$(BR2_ARCH) USELZO=on LINKTYPE=dynamic
+endef
+
+define MAKEDUMPFILE_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) install \
+		DESTDIR="$(TARGET_DIR)"
+endef
+
+$(eval $(generic-package))
-- 
2.28.0



More information about the buildroot mailing list