All of lore.kernel.org
 help / color / mirror / Atom feed
* Two patches for protobuf and criu
@ 2016-05-20  6:57 Zumeng Chen
  2016-05-20  6:57 ` [PATCH 1/2] criu: remove protobuf-2.6.1 and the related Zumeng Chen
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Zumeng Chen @ 2016-05-20  6:57 UTC (permalink / raw)
  To: bruce.ashfield; +Cc: meta-virtualization

Hi Bruce,

I wonder if these two patches are fit for meta-virtualization, please
help me to take a look, thanks a lot~

Cheers,
Zumeng



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] criu: remove protobuf-2.6.1 and the related
  2016-05-20  6:57 Two patches for protobuf and criu Zumeng Chen
@ 2016-05-20  6:57 ` Zumeng Chen
  2016-05-20  6:57 ` [PATCH 2/2] protobuf: add protobuf-2.5.0 into devtool Zumeng Chen
  2016-05-20 16:38 ` Two patches for protobuf and criu Bruce Ashfield
  2 siblings, 0 replies; 5+ messages in thread
From: Zumeng Chen @ 2016-05-20  6:57 UTC (permalink / raw)
  To: bruce.ashfield; +Cc: meta-virtualization

Since CRIU does not explicitly nominate the version of protobuf as 2.6.1, which
should not be included just here. And it seems protobuf-2.5.0 is doable or this
CRIU version based on a basic testing according to criu.org/Simple_loop as well,
so remove it from criu.

Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
---
 ...Remove-the-rules-which-depend-on-the-nati.patch | 46 ----------
 .../files/Omit-google-apputils-dependency.patch    | 25 ------
 recipes-containers/criu/files/disable_tests.patch  | 19 -----
 ...llow-running-python-scripts-from-anywhere.patch | 38 ---------
 recipes-containers/criu/files/run-ptest            | 32 -------
 recipes-containers/criu/protobuf-c_1.1.1.bb        | 28 -------
 recipes-containers/criu/protobuf-native_2.6.1.bb   | 21 -----
 recipes-containers/criu/protobuf_2.6.1.bb          | 97 ----------------------
 8 files changed, 306 deletions(-)
 delete mode 100644 recipes-containers/criu/files/0001-protobuf-c-Remove-the-rules-which-depend-on-the-nati.patch
 delete mode 100644 recipes-containers/criu/files/Omit-google-apputils-dependency.patch
 delete mode 100644 recipes-containers/criu/files/disable_tests.patch
 delete mode 100644 recipes-containers/criu/files/protobuf-allow-running-python-scripts-from-anywhere.patch
 delete mode 100755 recipes-containers/criu/files/run-ptest
 delete mode 100644 recipes-containers/criu/protobuf-c_1.1.1.bb
 delete mode 100644 recipes-containers/criu/protobuf-native_2.6.1.bb
 delete mode 100644 recipes-containers/criu/protobuf_2.6.1.bb

diff --git a/recipes-containers/criu/files/0001-protobuf-c-Remove-the-rules-which-depend-on-the-nati.patch b/recipes-containers/criu/files/0001-protobuf-c-Remove-the-rules-which-depend-on-the-nati.patch
deleted file mode 100644
index b6fbf01..0000000
--- a/recipes-containers/criu/files/0001-protobuf-c-Remove-the-rules-which-depend-on-the-nati.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 81bc5928cdc1b432656eb6590967306d8cf3ac9d Mon Sep 17 00:00:00 2001
-From: Jianchuan Wang <jianchuan.wang@windriver.com>
-Date: Tue, 4 Aug 2015 10:22:21 +0800
-Subject: [PATCH] protobuf-c: Remove the rules which depend on the native
- command
-
-Those rules are not for cross-compile since the command protoc-c/cxx-generate-packed-data
-need be executed to generate some local files in the compiling processing.
-
-Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
----
- Makefile.am | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 310aa09..0602e96 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -148,17 +148,18 @@ t_generated_code2_cxx_generate_packed_data_CXXFLAGS = \
- t_generated_code2_cxx_generate_packed_data_LDADD = \
- 	$(protobuf_LIBS)
- 
--t/test.pb-c.c t/test.pb-c.h: $(top_builddir)/protoc-c/protoc-c$(EXEEXT) $(top_srcdir)/t/test.proto
--	$(AM_V_GEN)$(top_builddir)/protoc-c/protoc-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test.proto
-+t/test.pb-c.c t/test.pb-c.h: $(top_srcdir)/t/test.proto
-+	$(AM_V_GEN)protoc-c -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test.proto
- 
--t/test-full.pb-c.c t/test-full.pb-c.h: $(top_builddir)/protoc-c/protoc-c$(EXEEXT) $(top_srcdir)/t/test-full.proto
--	$(AM_V_GEN)$(top_builddir)/protoc-c/protoc-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
-+t/test-full.pb-c.c t/test-full.pb-c.h: $(top_srcdir)/t/test-full.proto
-+	$(AM_V_GEN)protoc-c -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
- 
- t/test-full.pb.cc t/test-full.pb.h: @PROTOC@ $(top_srcdir)/t/test-full.proto
- 	$(AM_V_GEN)@PROTOC@ -I$(top_srcdir) --cpp_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
- 
--t/generated-code2/test-full-cxx-output.inc: t/generated-code2/cxx-generate-packed-data$(EXEEXT)
--	$(AM_V_GEN)$(top_builddir)/t/generated-code2/cxx-generate-packed-data$(EXEEXT) > $(top_builddir)/t/generated-code2/test-full-cxx-output.inc
-+t/generated-code2/test-full-cxx-output.inc: 
-+	mkdir -p $(top_builddir)/t/generated-code2
-+	$(AM_V_GEN)cxx-generate-packed-data > $(top_builddir)/t/generated-code2/test-full-cxx-output.inc
- 
- BUILT_SOURCES += \
- 	t/test.pb-c.c t/test.pb-c.h \
--- 
-1.9.1
-
diff --git a/recipes-containers/criu/files/Omit-google-apputils-dependency.patch b/recipes-containers/criu/files/Omit-google-apputils-dependency.patch
deleted file mode 100644
index ef60fc0..0000000
--- a/recipes-containers/criu/files/Omit-google-apputils-dependency.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f8b7c90f6da90b67bdd7d5301894c5c28bd9d076 Mon Sep 17 00:00:00 2001
-From: Jianchuan Wang <jianchuan.wang@windriver.com>
-Date: Mon, 10 Aug 2015 11:23:31 +0800
-Subject: [PATCH] Omit google-apputils dependency
-
-Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
----
- python/setup.py | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/python/setup.py b/python/setup.py
-index 2450a77..6f6bffb 100755
---- a/python/setup.py
-+++ b/python/setup.py
-@@ -189,7 +189,6 @@ if __name__ == '__main__':
-           'google.protobuf.text_format'],
-         cmdclass = { 'clean': clean, 'build_py': build_py },
-         install_requires = ['setuptools'],
--        setup_requires = ['google-apputils'],
-         ext_modules = ext_module_list,
-         url = 'https://developers.google.com/protocol-buffers/',
-         maintainer = maintainer_email,
--- 
-1.9.1
-
diff --git a/recipes-containers/criu/files/disable_tests.patch b/recipes-containers/criu/files/disable_tests.patch
deleted file mode 100644
index dac8942..0000000
--- a/recipes-containers/criu/files/disable_tests.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -Naur protobuf-c-0.15.old/src/Makefile.am protobuf-c-0.15/src/Makefile.am
---- protobuf-c-0.15.old/src/Makefile.am	2012-11-28 14:59:57.845251943 +0100
-+++ protobuf-c-0.15/src/Makefile.am	2012-11-28 15:00:23.549252632 +0100
-@@ -1,5 +1,5 @@
- if BUILD_PROTOC_C
--SUBDIRS = . test
-+
- bin_PROGRAMS = protoc-c
- protoc_c_SOURCES = \
- google/protobuf/compiler/c/c_service.cc \
-@@ -23,7 +23,7 @@
- lib_LTLIBRARIES = libprotobuf-c.la
- protobufcincludedir = $(includedir)/google/protobuf-c
- 
--EXTRA_DIST = CMakeLists.txt test/CMakeLists.txt
-+EXTRA_DIST = CMakeLists.txt 
- 
- libprotobuf_c_la_SOURCES = \
- google/protobuf-c/protobuf-c-dispatch.c \
diff --git a/recipes-containers/criu/files/protobuf-allow-running-python-scripts-from-anywhere.patch b/recipes-containers/criu/files/protobuf-allow-running-python-scripts-from-anywhere.patch
deleted file mode 100644
index 13d4e84..0000000
--- a/recipes-containers/criu/files/protobuf-allow-running-python-scripts-from-anywhere.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 46e331263eb92e47510e88478b255f226d30245c Mon Sep 17 00:00:00 2001
-From: Keith Holman <Keith.Holman@windriver.com>
-Date: Mon, 18 Aug 2014 15:19:35 -0400
-Subject: [PATCH] protobuf: allow running python scripts from anywhere
-
-The Makefile to generate the examples with Google Protocol Buffers
-generates some scripts for python.  However, these generated scripts
-only work if they are ran in the same directory as the source files.
-This fix generates scripts to execute from anywhere on the system.
-
-Signed-off-by: Keith Holman <Keith.Holman@windriver.com>
----
- examples/Makefile | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/examples/Makefile b/examples/Makefile
-index 8dc9083..a993d63 100644
---- a/examples/Makefile
-+++ b/examples/Makefile
-@@ -48,11 +48,13 @@ list_people_java: javac_middleman
- add_person_python: add_person.py protoc_middleman
- 	@echo "Writing shortcut script add_person_python..."
- 	@echo '#! /bin/sh' > add_person_python
--	@echo './add_person.py "$$@"' >> add_person_python
-+	@echo 'SCRIPT_DIR=$$(dirname $$0)' >> add_person_python
-+	@echo '$$SCRIPT_DIR/add_person.py "$$@"' >> add_person_python
- 	@chmod +x add_person_python
- 
- list_people_python: list_people.py protoc_middleman
- 	@echo "Writing shortcut script list_people_python..."
- 	@echo '#! /bin/sh' > list_people_python
--	@echo './list_people.py "$$@"' >> list_people_python
-+	@echo 'SCRIPT_DIR=$$(dirname $$0)' >> list_people_python
-+	@echo '$$SCRIPT_DIR/list_people.py "$$@"' >> list_people_python
- 	@chmod +x list_people_python
--- 
-1.9.3
-
diff --git a/recipes-containers/criu/files/run-ptest b/recipes-containers/criu/files/run-ptest
deleted file mode 100755
index a5a7b0f..0000000
--- a/recipes-containers/criu/files/run-ptest
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-TEST_FILE="/tmp/test.data"
-
-RETVAL=0
-# Test every writing test application
-for write_exe_full_path in ${DIR}/add_person_*; do
-	if [ -x "${write_exe_full_path}" ]; then
-		write_exe=`basename ${write_exe_full_path}`
-		echo "Generating new test file using ${write_exe}..."
-		${write_exe_full_path} "${TEST_FILE}"
-		RETVAL=$?
-
-		# Test every reading test application
-		for read_exe_full_path in ${DIR}/list_people_*; do
-			read_exe=`basename ${read_exe_full_path}`
-			echo "Test: Write with ${write_exe}; Read with ${read_exe}..."
-			if [ -x "${read_exe_full_path}" ]; then
-				${read_exe_full_path} "${TEST_FILE}"
-				RETVAL=$?
-			fi
-		done
-
-		# Cleanup...
-		if [ -e "${TEST_FILE}" ]; then
-			rm "${TEST_FILE}"
-		fi
-	fi
-done
-
-exit $RETVAL
-
diff --git a/recipes-containers/criu/protobuf-c_1.1.1.bb b/recipes-containers/criu/protobuf-c_1.1.1.bb
deleted file mode 100644
index 0d03ebe..0000000
--- a/recipes-containers/criu/protobuf-c_1.1.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "protobuf-c"
-DESCRIPTION = "This package provides a code generator and runtime libraries to use Protocol Buffers from pure C"
-HOMEPAGE = "http://code.google.com/p/protobuf-c/"
-SECTION = "console/tools"
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://protobuf-c/protobuf-c.c;endline=28;md5=0feb44cc63eacef97219b0174967492f"
-
-COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux"
-
-DEPENDS = "protobuf protobuf-c-native"
-
-SRC_URI[md5sum] = "41d437677ea16f9d3611d98841c4af3b"
-SRC_URI[sha256sum] = "09c5bb187b7a8e86bc0ff860f7df86370be9e8661cdb99c1072dcdab0763562c"
-SRC_URI = "https://github.com/protobuf-c/protobuf-c/releases/download/v1.1.1/protobuf-c-1.1.1.tar.gz "
-SRC_URI_append_class-target ="file://0001-protobuf-c-Remove-the-rules-which-depend-on-the-nati.patch"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_configure_prepend_class-target() {
-    export PKG_CONFIG_PATH="${STAGING_LIBDIR_NATIVE}/pkgconfig:${PKG_CONFIG_PATH}"
-}
-
-do_install_append_class-native() {
-    install -m 755 ${B}/t/generated-code2/cxx-generate-packed-data ${D}/${bindir}
-}
diff --git a/recipes-containers/criu/protobuf-native_2.6.1.bb b/recipes-containers/criu/protobuf-native_2.6.1.bb
deleted file mode 100644
index e88c9e7..0000000
--- a/recipes-containers/criu/protobuf-native_2.6.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "protobuf"
-DESCRIPTION = "Protocol Buffers are a way of encoding structured data in \
-an efficient yet extensible format. Google uses Protocol Buffers for \
-almost all of its internal RPC protocols and file formats."
-HOMEPAGE = "http://code.google.com/p/protobuf/"
-SECTION = "console/tools"
-LICENSE = "BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=af6809583bfde9a31595a58bb4a24514"
-
-PR = "r0"
-
-SRC_URI[md5sum] = "af05b2cca289f7b86eef2734a0cdc8b9"
-SRC_URI[sha256sum] = "2667b7cda4a6bc8a09e5463adf3b5984e08d94e72338277affa8594d8b6e5cd1"
-SRC_URI = "https://github.com/google/protobuf/archive/v2.6.1.tar.gz;downloadfilename=protobuf-2.6.1.tar.gz \
-	"
-
-EXTRA_OECONF += " --with-protoc=echo --disable-shared"
-
-inherit native autotools
-
diff --git a/recipes-containers/criu/protobuf_2.6.1.bb b/recipes-containers/criu/protobuf_2.6.1.bb
deleted file mode 100644
index 1b7ab20..0000000
--- a/recipes-containers/criu/protobuf_2.6.1.bb
+++ /dev/null
@@ -1,97 +0,0 @@
-SUMMARY = "protobuf"
-DESCRIPTION = "Protocol Buffers are a way of encoding structured data in \
-an efficient yet extensible format. Google uses Protocol Buffers for \
-almost all of its internal RPC protocols and file formats."
-HOMEPAGE = "http://code.google.com/p/protobuf/"
-SECTION = "console/tools"
-LICENSE = "BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=af6809583bfde9a31595a58bb4a24514"
-
-PR = "r0"
-EXCLUDE_FROM_WORLD = "1"
-
-SRC_URI[md5sum] = "af05b2cca289f7b86eef2734a0cdc8b9"
-SRC_URI[sha256sum] = "2667b7cda4a6bc8a09e5463adf3b5984e08d94e72338277affa8594d8b6e5cd1"
-SRC_URI = "https://github.com/google/protobuf/archive/v2.6.1.tar.gz;downloadfilename=protobuf-2.6.1.tar.gz\
-	file://protobuf-allow-running-python-scripts-from-anywhere.patch \
-	file://Omit-google-apputils-dependency.patch \
-	file://run-ptest"
-
-COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux"
-
-EXTRA_OECONF += " --with-protoc=${STAGING_BINDIR_NATIVE}/protoc"
-inherit autotools setuptools ptest
-
-DEPENDS += "protobuf-native"
-
-PYTHON_SRC_DIR="python"
-TEST_SRC_DIR="examples"
-LANG_SUPPORT="cpp python"
-
-do_compile() {
-	# Compile protoc compiler
-	base_do_compile
-}
-
-do_compile_ptest() {
-	# Modify makefile to use the cross-compiler
-	sed -e "s|c++|${CXX}|g" -i "${S}/${TEST_SRC_DIR}/Makefile"
-
-	mkdir -p "${B}/${TEST_SRC_DIR}"
-
-	# Add the location of the cross-compiled header and library files
-	# which haven't been installed yet.
-	cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
-	sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
-	sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
-	sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
-	export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
-
-	# Save the pkgcfg sysroot variable, and update it to nothing so
-	# that it doesn't append the sysroot to the beginning of paths.
-	# The header and library files aren't installed to the target
-	# system yet.  So the absolute paths were specified above.
-	save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR
-	export PKG_CONFIG_SYSROOT_DIR=
-
-	# Compile the tests
-	for lang in ${LANG_SUPPORT}; do
-		oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang}
-	done
-
-	# Restore the pkgconfig sysroot variable
-	export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir
-}
-
-do_install() {
-	local olddir=`pwd`
-
-	# Install protoc compiler
-	autotools_do_install
-
-	# Install header files
-	export PROTOC="${STAGING_BINDIR_NATIVE}/protoc"
-	cd "${S}/${PYTHON_SRC_DIR}"
-	distutils_do_install
-
-	cd "$olddir"
-}
-
-do_install_ptest() {
-	local olddir=`pwd`
-
-	cd "${S}/${TEST_SRC_DIR}"
-	install -d "${D}/${PTEST_PATH}"
-	for i in add_person* list_people*; do
-		if [ -x "$i" ]; then
-			install "$i" "${D}/${PTEST_PATH}"
-		fi
-	done
-	cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
-	
-	cd "$olddir"
-}
-
-BBCLASSEXTEND = "nativesdk"
-
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] protobuf: add protobuf-2.5.0 into devtool
  2016-05-20  6:57 Two patches for protobuf and criu Zumeng Chen
  2016-05-20  6:57 ` [PATCH 1/2] criu: remove protobuf-2.6.1 and the related Zumeng Chen
@ 2016-05-20  6:57 ` Zumeng Chen
  2016-05-20 16:38 ` Two patches for protobuf and criu Bruce Ashfield
  2 siblings, 0 replies; 5+ messages in thread
From: Zumeng Chen @ 2016-05-20  6:57 UTC (permalink / raw)
  To: bruce.ashfield; +Cc: meta-virtualization

Protocol Buffers(a.k.a., protobuf) are language-neutral, platform-neutral,
extensible mechanism for serializing structured data, so it is reasonable
to be a part of development tool recipe.

Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
---
 .../protobuf/files/disable_tests.patch             | 19 +++++
 ...llow-running-python-scripts-from-anywhere.patch | 38 +++++++++
 recipes-devtools/protobuf/files/run-ptest          | 32 ++++++++
 recipes-devtools/protobuf/protobuf-c_0.15.bb       | 20 +++++
 recipes-devtools/protobuf/protobuf-native_2.5.0.bb | 20 +++++
 recipes-devtools/protobuf/protobuf_2.5.0.bb        | 95 ++++++++++++++++++++++
 6 files changed, 224 insertions(+)
 create mode 100644 recipes-devtools/protobuf/files/disable_tests.patch
 create mode 100644 recipes-devtools/protobuf/files/protobuf-allow-running-python-scripts-from-anywhere.patch
 create mode 100755 recipes-devtools/protobuf/files/run-ptest
 create mode 100644 recipes-devtools/protobuf/protobuf-c_0.15.bb
 create mode 100644 recipes-devtools/protobuf/protobuf-native_2.5.0.bb
 create mode 100644 recipes-devtools/protobuf/protobuf_2.5.0.bb

diff --git a/recipes-devtools/protobuf/files/disable_tests.patch b/recipes-devtools/protobuf/files/disable_tests.patch
new file mode 100644
index 0000000..f5e71ca
--- /dev/null
+++ b/recipes-devtools/protobuf/files/disable_tests.patch
@@ -0,0 +1,19 @@
+diff -Naur protobuf-c-0.15.old/src/Makefile.am protobuf-c-0.15/src/Makefile.am
+--- protobuf-c-0.15.old/src/Makefile.am	2012-11-28 14:59:57.845251943 +0100
++++ protobuf-c-0.15/src/Makefile.am	2012-11-28 15:00:23.549252632 +0100
+@@ -1,5 +1,5 @@
+ if BUILD_PROTOC_C
+-SUBDIRS = . test
++
+ bin_PROGRAMS = protoc-c
+ protoc_c_SOURCES = \
+ google/protobuf/compiler/c/c_service.cc \
+@@ -23,7 +23,7 @@
+ lib_LTLIBRARIES = libprotobuf-c.la
+ protobufcincludedir = $(includedir)/google/protobuf-c
+
+-EXTRA_DIST = CMakeLists.txt test/CMakeLists.txt
++EXTRA_DIST = CMakeLists.txt
+
+ libprotobuf_c_la_SOURCES = \
+ google/protobuf-c/protobuf-c-dispatch.c \
diff --git a/recipes-devtools/protobuf/files/protobuf-allow-running-python-scripts-from-anywhere.patch b/recipes-devtools/protobuf/files/protobuf-allow-running-python-scripts-from-anywhere.patch
new file mode 100644
index 0000000..8b29342
--- /dev/null
+++ b/recipes-devtools/protobuf/files/protobuf-allow-running-python-scripts-from-anywhere.patch
@@ -0,0 +1,38 @@
+From 46e331263eb92e47510e88478b255f226d30245c Mon Sep 17 00:00:00 2001
+From: Keith Holman <Keith.Holman@windriver.com>
+Date: Mon, 18 Aug 2014 15:19:35 -0400
+Subject: [PATCH] protobuf: allow running python scripts from anywhere
+
+The Makefile to generate the examples with Google Protocol Buffers
+generates some scripts for python.  However, these generated scripts
+only work if they are ran in the same directory as the source files.
+This fix generates scripts to execute from anywhere on the system.
+
+Signed-off-by: Keith Holman <Keith.Holman@windriver.com>
+---
+ examples/Makefile | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/examples/Makefile b/examples/Makefile
+index 8dc9083..a993d63 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -48,11 +48,13 @@ list_people_java: javac_middleman
+ add_person_python: add_person.py protoc_middleman
+ 	@echo "Writing shortcut script add_person_python..."
+ 	@echo '#! /bin/sh' > add_person_python
+-	@echo './add_person.py "$$@"' >> add_person_python
++	@echo 'SCRIPT_DIR=$$(dirname $$0)' >> add_person_python
++	@echo '$$SCRIPT_DIR/add_person.py "$$@"' >> add_person_python
+ 	@chmod +x add_person_python
+
+ list_people_python: list_people.py protoc_middleman
+ 	@echo "Writing shortcut script list_people_python..."
+ 	@echo '#! /bin/sh' > list_people_python
+-	@echo './list_people.py "$$@"' >> list_people_python
++	@echo 'SCRIPT_DIR=$$(dirname $$0)' >> list_people_python
++	@echo '$$SCRIPT_DIR/list_people.py "$$@"' >> list_people_python
+ 	@chmod +x list_people_python
+--
+1.9.3
+
diff --git a/recipes-devtools/protobuf/files/run-ptest b/recipes-devtools/protobuf/files/run-ptest
new file mode 100755
index 0000000..a5a7b0f
--- /dev/null
+++ b/recipes-devtools/protobuf/files/run-ptest
@@ -0,0 +1,32 @@
+#!/bin/bash
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+TEST_FILE="/tmp/test.data"
+
+RETVAL=0
+# Test every writing test application
+for write_exe_full_path in ${DIR}/add_person_*; do
+	if [ -x "${write_exe_full_path}" ]; then
+		write_exe=`basename ${write_exe_full_path}`
+		echo "Generating new test file using ${write_exe}..."
+		${write_exe_full_path} "${TEST_FILE}"
+		RETVAL=$?
+
+		# Test every reading test application
+		for read_exe_full_path in ${DIR}/list_people_*; do
+			read_exe=`basename ${read_exe_full_path}`
+			echo "Test: Write with ${write_exe}; Read with ${read_exe}..."
+			if [ -x "${read_exe_full_path}" ]; then
+				${read_exe_full_path} "${TEST_FILE}"
+				RETVAL=$?
+			fi
+		done
+
+		# Cleanup...
+		if [ -e "${TEST_FILE}" ]; then
+			rm "${TEST_FILE}"
+		fi
+	fi
+done
+
+exit $RETVAL
+
diff --git a/recipes-devtools/protobuf/protobuf-c_0.15.bb b/recipes-devtools/protobuf/protobuf-c_0.15.bb
new file mode 100644
index 0000000..91dcb3b
--- /dev/null
+++ b/recipes-devtools/protobuf/protobuf-c_0.15.bb
@@ -0,0 +1,20 @@
+SUMMARY = "protobuf-c"
+DESCRIPTION = "This package provides a code generator and runtime libraries to use Protocol Buffers from pure C"
+HOMEPAGE = "http://code.google.com/p/protobuf-c/"
+SECTION = "console/tools"
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://src/google/protobuf-c/protobuf-c.c;endline=33;md5=333140fae7cf8a38dc5f980ddb63704b"
+
+PR = "r0"
+
+DEPENDS = "protobuf"
+
+SRC_URI[md5sum] = "73ff0c8df50d2eee75269ad8f8c07dc8"
+SRC_URI[sha256sum] = "8fcb538e13a5431c46168fc8f2e6ad2574e2db9b684c0c72b066e24f010a0036"
+SRC_URI = "http://protobuf-c.googlecode.com/files/protobuf-c-${PV}.tar.gz \
+	file://disable_tests.patch"
+
+inherit autotools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-devtools/protobuf/protobuf-native_2.5.0.bb b/recipes-devtools/protobuf/protobuf-native_2.5.0.bb
new file mode 100644
index 0000000..61b18a7
--- /dev/null
+++ b/recipes-devtools/protobuf/protobuf-native_2.5.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "protobuf"
+DESCRIPTION = "Protocol Buffers are a way of encoding structured data in \
+an efficient yet extensible format. Google uses Protocol Buffers for \
+almost all of its internal RPC protocols and file formats."
+HOMEPAGE = "http://code.google.com/p/protobuf/"
+SECTION = "console/tools"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=af6809583bfde9a31595a58bb4a24514"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "b751f772bdeb2812a2a8e7202bf1dae8"
+SRC_URI[sha256sum] = "c55aa3dc538e6fd5eaf732f4eb6b98bdcb7cedb5b91d3b5bdcf29c98c293f58e"
+SRC_URI = "http://protobuf.googlecode.com/files/protobuf-${PV}.tar.gz \
+	"
+
+EXTRA_OECONF += " --with-protoc=echo --disable-shared"
+
+inherit native autotools
diff --git a/recipes-devtools/protobuf/protobuf_2.5.0.bb b/recipes-devtools/protobuf/protobuf_2.5.0.bb
new file mode 100644
index 0000000..e1c7254
--- /dev/null
+++ b/recipes-devtools/protobuf/protobuf_2.5.0.bb
@@ -0,0 +1,95 @@
+SUMMARY = "protobuf"
+DESCRIPTION = "Protocol Buffers are a way of encoding structured data in \
+an efficient yet extensible format. Google uses Protocol Buffers for \
+almost all of its internal RPC protocols and file formats."
+HOMEPAGE = "http://code.google.com/p/protobuf/"
+SECTION = "console/tools"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=af6809583bfde9a31595a58bb4a24514"
+
+PR = "r0"
+EXCLUDE_FROM_WORLD = "1"
+
+SRC_URI[md5sum] = "b751f772bdeb2812a2a8e7202bf1dae8"
+SRC_URI[sha256sum] = "c55aa3dc538e6fd5eaf732f4eb6b98bdcb7cedb5b91d3b5bdcf29c98c293f58e"
+SRC_URI = "http://protobuf.googlecode.com/files/protobuf-${PV}.tar.gz \
+	file://protobuf-allow-running-python-scripts-from-anywhere.patch \
+	file://run-ptest"
+
+
+EXTRA_OECONF += " --with-protoc=${STAGING_BINDIR_NATIVE}/protoc"
+inherit autotools setuptools ptest
+
+DEPENDS += "protobuf-native"
+
+PYTHON_SRC_DIR="python"
+TEST_SRC_DIR="examples"
+LANG_SUPPORT="python"
+
+do_compile() {
+	# Compile protoc compiler
+	base_do_compile
+}
+
+do_compile_ptest() {
+	# Modify makefile to use the cross-compiler
+	sed -e "s|c++|${CXX}|g" -i "${S}/${TEST_SRC_DIR}/Makefile"
+
+	mkdir -p "${B}/${TEST_SRC_DIR}"
+
+	# Add the location of the cross-compiled header and library files
+	# which haven't been installed yet.
+	cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
+	sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+	sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+	sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+	export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
+
+	# Save the pkgcfg sysroot variable, and update it to nothing so
+	# that it doesn't append the sysroot to the beginning of paths.
+	# The header and library files aren't installed to the target
+	# system yet.  So the absolute paths were specified above.
+	save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR
+	export PKG_CONFIG_SYSROOT_DIR=
+
+	# Compile the tests
+	for lang in ${LANG_SUPPORT}; do
+		oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang}
+	done
+
+	# Restore the pkgconfig sysroot variable
+	export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir
+}
+
+do_install() {
+	local olddir=`pwd`
+
+	# Install protoc compiler
+	autotools_do_install
+
+	# Install header files
+	export PROTOC="${STAGING_BINDIR_NATIVE}/protoc"
+	cd "${S}/${PYTHON_SRC_DIR}"
+	distutils_do_install
+
+	cd "$olddir"
+}
+
+do_install_ptest() {
+	local olddir=`pwd`
+
+	cd "${S}/${TEST_SRC_DIR}"
+	install -d "${D}/${PTEST_PATH}"
+	for i in add_person* list_people*; do
+		if [ -x "$i" ]; then
+			install "$i" "${D}/${PTEST_PATH}"
+		fi
+	done
+	cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
+
+	cd "$olddir"
+}
+
+BBCLASSEXTEND = "nativesdk"
+
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: Two patches for protobuf and criu
  2016-05-20  6:57 Two patches for protobuf and criu Zumeng Chen
  2016-05-20  6:57 ` [PATCH 1/2] criu: remove protobuf-2.6.1 and the related Zumeng Chen
  2016-05-20  6:57 ` [PATCH 2/2] protobuf: add protobuf-2.5.0 into devtool Zumeng Chen
@ 2016-05-20 16:38 ` Bruce Ashfield
  2016-05-23  1:11   ` Zumeng Chen
  2 siblings, 1 reply; 5+ messages in thread
From: Bruce Ashfield @ 2016-05-20 16:38 UTC (permalink / raw)
  To: Zumeng Chen; +Cc: meta-virtualization

[-- Attachment #1: Type: text/plain, Size: 886 bytes --]

On Fri, May 20, 2016 at 2:57 AM, Zumeng Chen <zumeng.chen@windriver.com>
wrote:

> Hi Bruce,
>
> I wonder if these two patches are fit for meta-virtualization, please
> help me to take a look, thanks a lot~
>

I've merged both patches to master.

I'm in the process of trying to drop protobuf* from meta-virtualization
since it is now being
updated in meta-oe. But meta-oe is at 2.6.1 which won't serve the needs of
meta-virt .. so
the dropping of the same version in meta-oe (2.6.1) and the re-introduction
of 2.5.x makes
sense.

Bruce


>
> Cheers,
> Zumeng
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"

[-- Attachment #2: Type: text/html, Size: 1731 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Two patches for protobuf and criu
  2016-05-20 16:38 ` Two patches for protobuf and criu Bruce Ashfield
@ 2016-05-23  1:11   ` Zumeng Chen
  0 siblings, 0 replies; 5+ messages in thread
From: Zumeng Chen @ 2016-05-23  1:11 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: meta-virtualization

[-- Attachment #1: Type: text/plain, Size: 1163 bytes --]

On 2016年05月21日 00:38, Bruce Ashfield wrote:
>
>
> On Fri, May 20, 2016 at 2:57 AM, Zumeng Chen 
> <zumeng.chen@windriver.com <mailto:zumeng.chen@windriver.com>> wrote:
>
>     Hi Bruce,
>
>     I wonder if these two patches are fit for meta-virtualization, please
>     help me to take a look, thanks a lot~
>
>
> I've merged both patches to master.

Thanks a lot ~~

>
> I'm in the process of trying to drop protobuf* from 
> meta-virtualization since it is now being
> updated in meta-oe. But meta-oe is at 2.6.1 which won't serve the 
> needs of meta-virt .. so
> the dropping of the same version in meta-oe (2.6.1) and the 
> re-introduction of 2.5.x makes
> sense.

Agreed,

Cheers,
Zumeng
>
> Bruce
>
>
>     Cheers,
>     Zumeng
>
>     --
>     _______________________________________________
>     meta-virtualization mailing list
>     meta-virtualization@yoctoproject.org
>     <mailto:meta-virtualization@yoctoproject.org>
>     https://lists.yoctoproject.org/listinfo/meta-virtualization
>
>
>
>
> -- 
> "Thou shalt not follow the NULL pointer, for chaos and madness await 
> thee at its end"


[-- Attachment #2: Type: text/html, Size: 3722 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-05-23  1:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-20  6:57 Two patches for protobuf and criu Zumeng Chen
2016-05-20  6:57 ` [PATCH 1/2] criu: remove protobuf-2.6.1 and the related Zumeng Chen
2016-05-20  6:57 ` [PATCH 2/2] protobuf: add protobuf-2.5.0 into devtool Zumeng Chen
2016-05-20 16:38 ` Two patches for protobuf and criu Bruce Ashfield
2016-05-23  1:11   ` Zumeng Chen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.