diff options
| author | Armin Kuster <akuster808@gmail.com> | 2017-10-26 13:59:44 -0700 |
|---|---|---|
| committer | Armin Kuster <akuster808@gmail.com> | 2018-03-01 16:10:36 -0800 |
| commit | ffe82e171e98cfd67e0693dcca6e4e36e45879cd (patch) | |
| tree | 6c10ed8b8bcf78433fd1775c02a116d7b2e46f9c /meta-oe/recipes-security | |
| parent | 696e3927895d116ffd91ab1709ca69eb7c40fd6b (diff) | |
| download | meta-openembedded-ffe82e171e98cfd67e0693dcca6e4e36e45879cd.tar.gz | |
leveldb: move to recipes-security
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'meta-oe/recipes-security')
4 files changed, 151 insertions, 0 deletions
diff --git a/meta-oe/recipes-security/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch b/meta-oe/recipes-security/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch new file mode 100644 index 0000000000..3135d4d5ac --- /dev/null +++ b/meta-oe/recipes-security/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From c85978e77725ef233543370d24e23f853f449170 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Thu, 21 Sep 2017 17:47:02 -0700 | ||
| 4 | Subject: [PATCH] Makefile: Fix parallel build | ||
| 5 | |||
| 6 | Sometimes mkdir $(SHARED_OUTDIR)/db races with compiler which is | ||
| 7 | creating .o file in the same directory $(SHARED_OUTDIR)/db/db_bench.o | ||
| 8 | |||
| 9 | Fixes error like | ||
| 10 | |||
| 11 | | mkdir out-static | ||
| 12 | | mkdir out-shared/db | ||
| 13 | | Assembler messages: | ||
| 14 | | Fatal error: can't create out-shared/db/db_bench.o: No such file or directory | ||
| 15 | |||
| 16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 17 | --- | ||
| 18 | Upstream-Status: Submitted | ||
| 19 | |||
| 20 | Makefile | 4 ++-- | ||
| 21 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 22 | |||
| 23 | diff --git a/Makefile b/Makefile | ||
| 24 | index f7cc7d7..51a0bcd 100644 | ||
| 25 | --- a/Makefile | ||
| 26 | +++ b/Makefile | ||
| 27 | @@ -386,6 +386,7 @@ $(STATIC_OUTDIR)/write_batch_test:db/write_batch_test.cc $(STATIC_LIBOBJECTS) $( | ||
| 28 | $(STATIC_OUTDIR)/memenv_test:$(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) | ||
| 29 | $(XCRUN) $(CXX) $(LDFLAGS) $(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) -o $@ $(LIBS) | ||
| 30 | |||
| 31 | +$(SHARED_OUTDIR)/db/db_bench.o: | $(SHARED_OUTDIR)/db | ||
| 32 | $(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL) | ||
| 33 | $(XCRUN) $(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SHARED_OUTDIR)/db/db_bench.o $(TESTUTIL) $(SHARED_OUTDIR)/$(SHARED_LIB3) -o $@ $(LIBS) | ||
| 34 | |||
diff --git a/meta-oe/recipes-security/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch b/meta-oe/recipes-security/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch new file mode 100644 index 0000000000..8f93cb325b --- /dev/null +++ b/meta-oe/recipes-security/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | From 5fd0918df2bb30e8f3edb2ee895d178edbf26f40 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 4 Sep 2017 22:38:03 -0700 | ||
| 4 | Subject: [PATCH 1/2] build_detect_platform: Check for __SSE4_2__ | ||
| 5 | |||
| 6 | just using -msse4.2 is not enough, especially with clang | ||
| 7 | where it may accept -msse4.2 even during cross compiling | ||
| 8 | for say arm, however the difference is that builtin defines | ||
| 9 | wont be defined. | ||
| 10 | |||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | Upstream-Status: Pending | ||
| 14 | |||
| 15 | build_detect_platform | 4 ++-- | ||
| 16 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 17 | |||
| 18 | Index: git/build_detect_platform | ||
| 19 | =================================================================== | ||
| 20 | --- git.orig/build_detect_platform | ||
| 21 | +++ git/build_detect_platform | ||
| 22 | @@ -224,13 +224,13 @@ EOF | ||
| 23 | rm -f $CXXOUTPUT 2>/dev/null | ||
| 24 | |||
| 25 | # Test if gcc SSE 4.2 is supported | ||
| 26 | - $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -msse4.2 2>/dev/null <<EOF | ||
| 27 | + $CXX $CXXFLAGS -Werror -x c++ - -o $CXXOUTPUT -msse4.2 -dD -E 2>/dev/null <<EOF | ||
| 28 | int main() {} | ||
| 29 | EOF | ||
| 30 | + eval fgrep __SSE4_2__ $CXXOUTPUT >/dev/null 2>&1 | ||
| 31 | if [ "$?" = 0 ]; then | ||
| 32 | PLATFORM_SSEFLAGS="-msse4.2" | ||
| 33 | fi | ||
| 34 | - | ||
| 35 | rm -f $CXXOUTPUT 2>/dev/null | ||
| 36 | fi | ||
| 37 | |||
diff --git a/meta-oe/recipes-security/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch b/meta-oe/recipes-security/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch new file mode 100644 index 0000000000..fc708b23ad --- /dev/null +++ b/meta-oe/recipes-security/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | From 1ed8cec1fcf666904bb3ebd29fc85e235b72d122 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 4 Sep 2017 22:40:49 -0700 | ||
| 4 | Subject: [PATCH 2/2] makefile: build SHARED_MEMENVLIB | ||
| 5 | |||
| 6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 7 | --- | ||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | Makefile | 6 +++--- | ||
| 11 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/Makefile b/Makefile | ||
| 14 | index f7cc7d7..cb42278 100644 | ||
| 15 | --- a/Makefile | ||
| 16 | +++ b/Makefile | ||
| 17 | @@ -126,12 +126,12 @@ SHARED_VERSION_MINOR = 20 | ||
| 18 | SHARED_LIB1 = libleveldb.$(PLATFORM_SHARED_EXT) | ||
| 19 | SHARED_LIB2 = $(SHARED_LIB1).$(SHARED_VERSION_MAJOR) | ||
| 20 | SHARED_LIB3 = $(SHARED_LIB1).$(SHARED_VERSION_MAJOR).$(SHARED_VERSION_MINOR) | ||
| 21 | -SHARED_LIBS = $(SHARED_OUTDIR)/$(SHARED_LIB1) $(SHARED_OUTDIR)/$(SHARED_LIB2) $(SHARED_OUTDIR)/$(SHARED_LIB3) | ||
| 22 | +SHARED_LIBS = $(SHARED_OUTDIR)/$(SHARED_LIB1) $(SHARED_OUTDIR)/$(SHARED_LIB2) $(SHARED_OUTDIR)/$(SHARED_LIB3) $(SHARED_MEMENVLIB) | ||
| 23 | $(SHARED_OUTDIR)/$(SHARED_LIB1): $(SHARED_OUTDIR)/$(SHARED_LIB3) | ||
| 24 | ln -fs $(SHARED_LIB3) $(SHARED_OUTDIR)/$(SHARED_LIB1) | ||
| 25 | $(SHARED_OUTDIR)/$(SHARED_LIB2): $(SHARED_OUTDIR)/$(SHARED_LIB3) | ||
| 26 | ln -fs $(SHARED_LIB3) $(SHARED_OUTDIR)/$(SHARED_LIB2) | ||
| 27 | -SHARED_MEMENVLIB = $(SHARED_OUTDIR)/libmemenv.a | ||
| 28 | +SHARED_MEMENVLIB = $(SHARED_OUTDIR)/libmemenv.$(PLATFORM_SHARED_EXT).$(SHARED_VERSION_MAJOR).$(SHARED_VERSION_MINOR) | ||
| 29 | endif | ||
| 30 | |||
| 31 | $(SHARED_OUTDIR)/$(SHARED_LIB3): $(SHARED_LIBOBJECTS) | ||
| 32 | @@ -294,7 +294,7 @@ endif | ||
| 33 | |||
| 34 | $(SHARED_MEMENVLIB):$(SHARED_MEMENVOBJECTS) | ||
| 35 | rm -f $@ | ||
| 36 | - $(AR) -rs $@ $(SHARED_MEMENVOBJECTS) | ||
| 37 | + $(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$(basename $(notdir $(SHARED_MEMENVLIB))) $(SHARED_MEMENVOBJECTS) -o $(SHARED_MEMENVLIB) $(LIBS) | ||
| 38 | |||
| 39 | $(STATIC_OUTDIR)/db_bench:db/db_bench.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) | ||
| 40 | $(CXX) $(LDFLAGS) $(CXXFLAGS) db/db_bench.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) -o $@ $(LIBS) | ||
| 41 | -- | ||
| 42 | 2.14.1 | ||
| 43 | |||
diff --git a/meta-oe/recipes-security/leveldb/leveldb_git.bb b/meta-oe/recipes-security/leveldb/leveldb_git.bb new file mode 100644 index 0000000000..8fec89c6f1 --- /dev/null +++ b/meta-oe/recipes-security/leveldb/leveldb_git.bb | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | SUMMARY = "LevelDB is a fast key-value storage library" | ||
| 2 | DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values" | ||
| 3 | HOMEPAGE = "http://leveldb.googlecode.com" | ||
| 4 | LICENSE = "BSD-3-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d" | ||
| 6 | |||
| 7 | SRCREV = "a53934a3ae1244679f812d998a4f16f2c7f309a6" | ||
| 8 | PV = "1.20+git${SRCPV}" | ||
| 9 | |||
| 10 | SRC_URI = "git://github.com/google/${BPN}.git \ | ||
| 11 | file://0001-build_detect_platform-Check-for-__SSE4_2__.patch \ | ||
| 12 | file://0002-makefile-build-SHARED_MEMENVLIB.patch \ | ||
| 13 | file://0001-Makefile-Fix-parallel-build.patch \ | ||
| 14 | " | ||
| 15 | |||
| 16 | S = "${WORKDIR}/git" | ||
| 17 | |||
| 18 | inherit utils | ||
| 19 | |||
| 20 | do_compile() { | ||
| 21 | # do not use oe_runmake. oe_runmake pass to make compilation arguments and override | ||
| 22 | # leveldb makefile variable CFLAGS and broke leveldb build. | ||
| 23 | CFLAGS="${CFLAGS}" make ${PARALLEL_MAKE}|| die | ||
| 24 | } | ||
| 25 | |||
| 26 | do_install() { | ||
| 27 | install -d ${D}${libdir} ${D}${bindir} ${D}${includedir}/leveldb | ||
| 28 | oe_libinstall -C ${B}/out-shared libleveldb ${D}${libdir} | ||
| 29 | oe_libinstall -C ${S}/out-static libleveldb ${D}${libdir} | ||
| 30 | oe_libinstall -C ${S}/out-static libmemenv ${D}${libdir} | ||
| 31 | install -m 0755 ${B}/out-shared/db_bench ${D}${bindir} | ||
| 32 | install -m 0755 ${B}/out-static/*_test ${D}${bindir} | ||
| 33 | install -m 644 ${S}/include/leveldb/*.h ${D}${includedir}/leveldb/ | ||
| 34 | } | ||
| 35 | |||
| 36 | PACKAGES =+ "${PN}-ptest" | ||
| 37 | FILES_${PN}-ptest = "${bindir}" | ||
