1) Use git repo instead of github archive tarball. 2) PMDK libraries can be installed in lib or lib64, depending on host building system. If host has /usr/local/lib64, libraries will be installed in lib64, otherwise they will be installed in lib. PMDK is only for 64-bit system, so use LIB_PREFIX=lib64 to force the install path to be lib64. 3) Use prefix instead of PREFIX to install. 4) Remove unneeded files in /usr/lib64/pmdk_debug. 5) Add "/usr/etc" and "/usr/share" to fix package QA issue. 6) Revise patches for version 1.6. Remove upstream accepted patches.
Signed-off-by: Yongxin Liu <yongxin....@windriver.com> --- ...malloc.cfg-Specify-the-host-when-building.patch | 4 +-- .../0002-Makefile-Don-t-install-the-docs.patch | 12 ++++---- .../0003-Makefile-Don-t-build-the-examples.patch | 14 ++++----- ...nually-implement-secure_getenv-if-require.patch | 30 -------------------- ...mempool-Remove-unused-__USE_UNIX98-define.patch | 30 -------------------- ...file.inc-Allow-extra-libs-to-be-specified.patch | 29 ------------------- .../pmdk/{pmdk_1.4.2.bb => pmdk_1.6.bb} | 33 ++++++---------------- 7 files changed, 24 insertions(+), 128 deletions(-) delete mode 100644 meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch delete mode 100644 meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch delete mode 100644 meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch rename meta-oe/recipes-extended/pmdk/{pmdk_1.4.2.bb => pmdk_1.6.bb} (57%) diff --git a/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch b/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch index 747538b0c..ca2a1f643 100644 --- a/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch +++ b/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch @@ -1,4 +1,4 @@ -From 2a22dc96c3bbb5c9bbcc008f58d4f5c64e3d19e6 Mon Sep 17 00:00:00 2001 +From 231eb4c75fbfaaf90bca7702bdaf55cf701a3527 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair.fran...@wdc.com> Date: Mon, 23 Jul 2018 11:23:39 -0700 Subject: [PATCH] jemalloc/jemalloc.cfg: Specify the host when building @@ -25,5 +25,5 @@ index 196129de6..79ebbab1c 100644 --disable-munmap +--host=${HOST_SYS} -- -2.17.1 +2.14.4 diff --git a/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch b/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch index bd1b97c24..82b96cf95 100644 --- a/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch +++ b/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch @@ -1,7 +1,7 @@ -From 460a96e390cb80278784cfe36629e280fe7ffef7 Mon Sep 17 00:00:00 2001 +From 3863d8bd71d6a5638cf984f8d8f9cccac0c7f2a4 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair.fran...@wdc.com> Date: Mon, 23 Jul 2018 11:31:17 -0700 -Subject: [PATCH 2/2] Makefile: Don't install the docs +Subject: [PATCH] Makefile: Don't install the docs Signed-off-by: Alistair Francis <alistair.fran...@wdc.com> Upstream-Status: Inappropriate [disable feature] @@ -10,17 +10,17 @@ Upstream-Status: Inappropriate [disable feature] 1 file changed, 1 deletion(-) diff --git a/Makefile b/Makefile -index 224a315f6..ce7f84afb 100644 +index 47a447f12..7c0f9848f 100644 --- a/Makefile +++ b/Makefile -@@ -144,7 +144,6 @@ rpm dpkg: pkg-clean source +@@ -148,7 +148,6 @@ rpm dpkg: pkg-clean install uninstall: $(MAKE) -C src $@ - $(MAKE) -C doc $@ .PHONY: all clean clobber test check cstyle check-license install uninstall\ - source rpm dpkg pkg-clean pcheck check-remote format doc $(SUBDIRS) + source rpm dpkg pkg-clean pcheck check-remote format doc require-rpmem\ -- -2.17.1 +2.14.4 diff --git a/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch b/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch index f75d94197..dbe9c45e1 100644 --- a/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch +++ b/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch @@ -1,6 +1,6 @@ -From a7f07dca2468ea226d2f07fc0105166e75cadaf8 Mon Sep 17 00:00:00 2001 +From ac24c78f5aa62ba43bb87b74301b659bcc506f11 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair.fran...@wdc.com> -Date: Thu, 6 Sep 2018 16:18:50 -0700 +Date: Thu, 18 Jul 2019 15:40:22 +0800 Subject: [PATCH] Makefile: Don't build the examples Signed-off-by: Alistair Francis <alistair.fran...@wdc.com> @@ -10,25 +10,25 @@ Upstream-Status: Inappropriate [disable feature] 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile -index 4b50dd8b5..e00501e31 100644 +index 773ab1387..58912f0ab 100644 --- a/src/Makefile +++ b/src/Makefile -@@ -38,13 +38,13 @@ include $(TOP)/src/version.inc +@@ -37,13 +37,13 @@ include $(TOP)/src/common.inc TARGETS = libpmem libvmem libpmemblk libpmemlog libpmemobj libpmempool\ - libpmemcto libvmmalloc tools + libvmmalloc tools -ALL_TARGETS = $(TARGETS) common librpmem examples benchmarks +ALL_TARGETS = $(TARGETS) common librpmem benchmarks SCOPE_DIRS = $(TARGETS) common librpmem rpmem_common DEBUG_RELEASE_TARGETS = common libpmem libvmem libpmemblk libpmemlog libpmemobj\ - libpmempool libvmmalloc librpmem libpmemcto + libpmempool libvmmalloc librpmem -RELEASE_TARGETS = tools examples benchmarks +RELEASE_TARGETS = tools benchmarks CLEAN_NO_JE_TARGETS = $(ALL_TARGETS) rpmem_common test CLEAN_TARGETS = $(CLEAN_NO_JE_TARGETS) jemalloc -- -2.17.1 +2.14.4 diff --git a/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch b/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch deleted file mode 100644 index 624f17bd4..000000000 --- a/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 33affa9ee97691efb73f439fcdba4adb8625a26a Mon Sep 17 00:00:00 2001 -From: Alistair Francis <alistair.fran...@wdc.com> -Date: Mon, 10 Sep 2018 12:59:48 -0700 -Subject: [PATCH] os_posix: Manually implement secure_getenv() if required - -Manually implement the secure_getenv() if we need to, this is required -if using musl. - -Signed-off-by: Alistair Francis <alistair.fran...@wdc.com> -Upstream-Status: Pending ---- - src/common/os_posix.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/common/os_posix.c b/src/common/os_posix.c -index 2d70a0a29..fb09b6ce0 100644 ---- a/src/common/os_posix.c -+++ b/src/common/os_posix.c -@@ -261,7 +261,7 @@ os_setenv(const char *name, const char *value, int overwrite) - /* - * secure_getenv -- provide GNU secure_getenv for FreeBSD - */ --#ifdef __FreeBSD__ -+#if defined(__FreeBSD__) || !HAVE___SECURE_GETENV - static char * - secure_getenv(const char *name) - { --- -2.17.1 - diff --git a/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch b/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch deleted file mode 100644 index 75c35f865..000000000 --- a/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 92e63699ea83074298971b0251f002562be4dbd3 Mon Sep 17 00:00:00 2001 -From: Alistair Francis <alistair.fran...@wdc.com> -Date: Mon, 10 Sep 2018 13:23:37 -0700 -Subject: [PATCH 2/3] pmempool: Remove unused __USE_UNIX98 define - -Remove the unused __USE_UNIX98 to fix musl build failures. - -Signed-off-by: Alistair Francis <alistair.fran...@wdc.com> -Upstream-Status: Pending ---- - src/tools/pmempool/info.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/src/tools/pmempool/info.c b/src/tools/pmempool/info.c -index b4010bf35..7b890a123 100644 ---- a/src/tools/pmempool/info.c -+++ b/src/tools/pmempool/info.c -@@ -45,9 +45,6 @@ - #include <inttypes.h> - #include <assert.h> - #include <sys/param.h> --#ifndef __FreeBSD__ --#define __USE_UNIX98 --#endif - #include <unistd.h> - #include <sys/mman.h> - --- -2.17.1 - diff --git a/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch b/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch deleted file mode 100644 index 2042fdb25..000000000 --- a/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch +++ /dev/null @@ -1,29 +0,0 @@ -From a88e806f9ce8cc071e81abad688643d53f393176 Mon Sep 17 00:00:00 2001 -From: Alistair Francis <alistair.fran...@wdc.com> -Date: Mon, 10 Sep 2018 14:18:38 -0700 -Subject: [PATCH 3/3] Makefile.inc: Allow extra libs to be specified - -Signed-off-by: Alistair Francis <alistair.fran...@wdc.com> -Upstream-Status: Pending ---- - src/Makefile.inc | 2 ++ - src/common.inc | 2 ++ - src/tools/Makefile.inc | 1 + - 3 files changed, 5 insertions(+) - -diff --git a/src/common.inc b/src/common.inc -index 032cb83ea..2d5c4bedf 100644 ---- a/src/common.inc -+++ b/src/common.inc -@@ -74,6 +74,8 @@ GCOV_CFLAGS=-fprofile-arcs -ftest-coverage --coverage - GCOV_LDFLAGS=-fprofile-arcs -ftest-coverage - GCOV_LIBS=-lgcov - -+LIBS += $(EXTRA_LIBS) -+ - osdep = $(1)_$(shell uname -s | tr "[:upper:]" "[:lower:]")$(2) - get_arch = $(shell $(CC) -dumpmachine | awk -F'[/-]' '{print $$1}') - --- -2.17.1 - diff --git a/meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb b/meta-oe/recipes-extended/pmdk/pmdk_1.6.bb similarity index 57% rename from meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb rename to meta-oe/recipes-extended/pmdk/pmdk_1.6.bb index 3da22a970..a5096fdad 100644 --- a/meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb +++ b/meta-oe/recipes-extended/pmdk/pmdk_1.6.bb @@ -9,18 +9,15 @@ DEPENDS = "ndctl" # Required to have the fts.h header for musl DEPENDS_append_libc-musl = " fts" -SRC_URI = "https://github.com/pmem/${BPN}/archive/${PV}.tar.gz \ +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/pmem/pmdk.git \ file://0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch \ file://0002-Makefile-Don-t-install-the-docs.patch \ file://0003-Makefile-Don-t-build-the-examples.patch \ - file://0005-pmempool-Remove-unused-__USE_UNIX98-define.patch \ - file://0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch \ " -SRC_URI_append_libc-musl = " file://0004-os_posix-Manually-implement-secure_getenv-if-require.patch" - -SRC_URI[md5sum] = "bde73bca9ef5b90911deb0fdcfb15ccf" -SRC_URI[sha256sum] = "df7e658e75d28cd80f6d2ff7b9fc9ae2885d52f8923fdbacecfd46215115fb4c" +SRCREV = "695e6eba28c53a69a0ef7bad3cc0f45c21ef3e00" inherit autotools-brokensep pkgconfig @@ -29,30 +26,16 @@ inherit autotools-brokensep pkgconfig # | If you meant to cross compile, use `--host'. # # Also fix #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp] -EXTRA_OEMAKE = "HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}'" +EXTRA_OEMAKE = "HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}' LIB_PREFIX=lib64" # Fix the missing fts libs when using musl EXTRA_OEMAKE_append_libc-musl = " EXTRA_LIBS='-lfts'" do_install() { - oe_runmake PREFIX=${prefix} DESTDIR=${D} install - - # Copy these into the standard directories - install -d ${D}${bindir}/ - mv ${D}/usr/local/bin/pmempool ${D}${bindir}/ - mv ${D}/usr/local/bin/daxio ${D}${bindir}/ - - install -d ${D}${libdir} - mv ${D}/usr/local/lib/*so* ${D}${libdir}/ - - install -d ${D}${libdir}/pkgconfig - mv ${D}/usr/local/lib/pkgconfig/*.pc ${D}${libdir}/pkgconfig/ - - install -d ${D}${includedir} - mv ${D}/usr/local/include/* ${D}${includedir}/ + oe_runmake prefix=${prefix} DESTDIR=${D} install # Remove uneeded files - rm -rf ${D}/usr/local/ + rm -rf ${D}/usr/lib64/pmdk_debug } # Include these by default otherwise the SDK is not very useful @@ -60,5 +43,7 @@ FILES_${PN} += "${bindir}/pmempool ${bindir}/daxio" FILES_${PN} += "${libdir}/*so*" FILES_${PN} += "${libdir}/pkgconfig/*.pc" FILES_${PN} += "${includedir}/libpmemobj++/* ${includedir}/libpmemobj/*" +FILES_${PN} += "/usr/etc" +FILES_${PN} += "/usr/share" COMPATIBLE_HOST='(x86_64).*' -- 2.14.4 -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel