[meta-oe] Library to aid multi-part form data parsing

Submitted by Asmitha Karunanithi on Feb. 4, 2020, 9:21 a.m. | Patch ID: 169722

Details

Message ID 20200204092126.19209-1-asmithakarun@gmail.com
State Changes Requested
Commit 3e87be423d57faf67900b404e63d135c3f474060
Headers show

Commit Message

Asmitha Karunanithi Feb. 4, 2020, 9:21 a.m.
From: asmitha <asmithakarun@gmail.com>

Mimetic library helps parsing the multi-part form data. This library
can be used for scenarios that includes multi-part form data file uploads
to the BMC.

The patch file (config.patch) includes:
i) addition of a compilation flag - "no-narrowing" since this has been
treated as warning in earlier versions of c++ and now with the higher
versions, this is treated as errors.
ii) the test directory is removed as there were errors (relocation errors)
since the shared object files of libc++ and libc were not taken from the
sysroot path but from the system's library path where the required
version of the .so is not present.

Signed-off-by: asmitha <asmithakarun@gmail.com>
---
 .../libmimetic/libmimetic/config.patch        | 25 +++++++++++++++++++
 .../libmimetic/libmimetic_0.9.8.bb            | 19 ++++++++++++++
 2 files changed, 44 insertions(+)
 create mode 100644 meta-oe/recipes-support/libmimetic/libmimetic/config.patch
 create mode 100644 meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb

Patch hide | download patch | download mbox

diff --git a/meta-oe/recipes-support/libmimetic/libmimetic/config.patch b/meta-oe/recipes-support/libmimetic/libmimetic/config.patch
new file mode 100644
index 000000000..52bf7b450
--- /dev/null
+++ b/meta-oe/recipes-support/libmimetic/libmimetic/config.patch
@@ -0,0 +1,25 @@ 
+diff --git a/Makefile.am b/Makefile.am
+index 634bd4c..c7cbae7 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,6 +1,6 @@
+ MAINTAINERCLEANFILES = Makefile Makefile.in config.cache
+ EXTRA_DIST=LICENSE m4
+-SUBDIRS = mimetic doc examples test win32
++SUBDIRS = mimetic doc examples win32
+ INCLUDES=-I$(top_srcdir)
+ ACLOCAL_AMFLAGS=-I m4
+
+diff --git a/configure.in b/configure.in
+index 5e8f3d4..af1018e 100644
+--- a/configure.in
++++ b/configure.in
+@@ -30,7 +30,7 @@ debug_enabled=false
+ dnl CFLAGS and CXXFLAGS default to -O2 -g
+
+ dnl CXXFLAGS="$CXXFLAGS -DNDEBUG -fno-exceptions"
+-CXXFLAGS="$CXXFLAGS -DNDEBUG"
++CXXFLAGS="$CXXFLAGS -DNDEBUG -Wno-narrowing"
+
+ AC_ARG_ENABLE(debug,
+   [  --enable-debug[=LEVEL]  enables debug symbols [default=2]],
diff --git a/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb b/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
new file mode 100644
index 000000000..a0a704188
--- /dev/null
+++ b/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
@@ -0,0 +1,19 @@ 
+# Released under the MIT license.
+
+SUMMARY = "Mimetic Library for multi-part parsing"
+DESCRIPTION = "Email library (MIME) written in C++ designed to be easy to use and integrate but yet fast and efficient."
+AUTHOR = "Stefano Barbato <stefano@codesink.org>"
+HOMEPAGE = "http://www.codesink.org/mimetic_mime_library.html"
+BUGTRACKER = "https://github.com/LadislavSopko/mimetic/issues"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b49da7df0ca479ef01ff7f2d799eabee"
+
+SRCREV = "50486af99b4f9b35522d7b3de40b6ce107505279"
+SRC_URI += "git://github.com/LadislavSopko/mimetic/ \
+            file://config.patch \
+           "
+
+S = "${WORKDIR}/git"
+
+inherit autotools

Comments

Peter Kjellerstedt Feb. 4, 2020, 5:04 p.m.
> -----Original Message-----
> From: openembedded-devel-bounces@lists.openembedded.org <openembedded-
> devel-bounces@lists.openembedded.org> On Behalf Of Asmitha Karunanithi
> Sent: den 4 februari 2020 10:21
> To: openembedded-devel@lists.openembedded.org
> Subject: [oe] [meta-oe][PATCH] Library to aid multi-part form data parsing

The commit subject should be prefixed by the name of the recipe, i.e.:

libmimetic: Add library to aid multi-part form data parsing

> From: asmitha <asmithakarun@gmail.com>
> 
> Mimetic library helps parsing the multi-part form data. This library
> can be used for scenarios that includes multi-part form data file uploads
> to the BMC.

What is BMC?

> The patch file (config.patch) includes:
> i) addition of a compilation flag - "no-narrowing" since this has been
> treated as warning in earlier versions of c++ and now with the higher
> versions, this is treated as errors.
> ii) the test directory is removed as there were errors (relocation errors)
> since the shared object files of libc++ and libc were not taken from the
> sysroot path but from the system's library path where the required
> version of the .so is not present.
> 
> Signed-off-by: asmitha <asmithakarun@gmail.com>
> ---
>  .../libmimetic/libmimetic/config.patch        | 25 +++++++++++++++++++
>  .../libmimetic/libmimetic_0.9.8.bb            | 19 ++++++++++++++
>  2 files changed, 44 insertions(+)
>  create mode 100644 meta-oe/recipes-support/libmimetic/libmimetic/config.patch
>  create mode 100644 meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
> 
> diff --git a/meta-oe/recipes-support/libmimetic/libmimetic/config.patch b/meta-oe/recipes-support/libmimetic/libmimetic/config.patch

There should be an Upstream-Status in the patch. You might as well 
regenerate the patch using git format-patch to keep a description 
with the patch why it is needed.

> new file mode 100644
> index 000000000..52bf7b450
> --- /dev/null
> +++ b/meta-oe/recipes-support/libmimetic/libmimetic/config.patch
> @@ -0,0 +1,25 @@
> +diff --git a/Makefile.am b/Makefile.am
> +index 634bd4c..c7cbae7 100644
> +--- a/Makefile.am
> ++++ b/Makefile.am
> +@@ -1,6 +1,6 @@
> + MAINTAINERCLEANFILES = Makefile Makefile.in config.cache
> + EXTRA_DIST=LICENSE m4
> +-SUBDIRS = mimetic doc examples test win32
> ++SUBDIRS = mimetic doc examples win32
> + INCLUDES=-I$(top_srcdir)
> + ACLOCAL_AMFLAGS=-I m4
> +
> +diff --git a/configure.in b/configure.in
> +index 5e8f3d4..af1018e 100644
> +--- a/configure.in
> ++++ b/configure.in
> +@@ -30,7 +30,7 @@ debug_enabled=false
> + dnl CFLAGS and CXXFLAGS default to -O2 -g
> +
> + dnl CXXFLAGS="$CXXFLAGS -DNDEBUG -fno-exceptions"
> +-CXXFLAGS="$CXXFLAGS -DNDEBUG"
> ++CXXFLAGS="$CXXFLAGS -DNDEBUG -Wno-narrowing"

Do this in the recipe instead. Just add:

CXXFLAGS += "-Wno-narrowing"

at the end of the recipe.

> +
> + AC_ARG_ENABLE(debug,
> +   [  --enable-debug[=LEVEL]  enables debug symbols [default=2]],
> diff --git a/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb b/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
> new file mode 100644
> index 000000000..a0a704188
> --- /dev/null
> +++ b/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
> @@ -0,0 +1,19 @@
> +# Released under the MIT license.
> +
> +SUMMARY = "Mimetic Library for multi-part parsing"
> +DESCRIPTION = "Email library (MIME) written in C++ designed to be easy to use and integrate but yet fast and efficient."
> +AUTHOR = "Stefano Barbato <stefano@codesink.org>"
> +HOMEPAGE = "http://www.codesink.org/mimetic_mime_library.html"
> +BUGTRACKER = "https://github.com/LadislavSopko/mimetic/issues"
> +
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=b49da7df0ca479ef01ff7f2d799eabee"
> +
> +SRCREV = "50486af99b4f9b35522d7b3de40b6ce107505279"
> +SRC_URI += "git://github.com/LadislavSopko/mimetic/ \
> +            file://config.patch \
> +           "
> +
> +S = "${WORKDIR}/git"
> +
> +inherit autotools
> --
> 2.21.0

//Peter
Khem Raj Feb. 5, 2020, 1:11 a.m.
it also fails on musl/aarch64

https://errors.yoctoproject.org/Errors/Details/385285/

On Tue, Feb 4, 2020 at 1:21 AM Asmitha Karunanithi
<asmithakarun@gmail.com> wrote:
>
> From: asmitha <asmithakarun@gmail.com>
>
> Mimetic library helps parsing the multi-part form data. This library
> can be used for scenarios that includes multi-part form data file uploads
> to the BMC.
>
> The patch file (config.patch) includes:
> i) addition of a compilation flag - "no-narrowing" since this has been
> treated as warning in earlier versions of c++ and now with the higher
> versions, this is treated as errors.
> ii) the test directory is removed as there were errors (relocation errors)
> since the shared object files of libc++ and libc were not taken from the
> sysroot path but from the system's library path where the required
> version of the .so is not present.
>
> Signed-off-by: asmitha <asmithakarun@gmail.com>
> ---
>  .../libmimetic/libmimetic/config.patch        | 25 +++++++++++++++++++
>  .../libmimetic/libmimetic_0.9.8.bb            | 19 ++++++++++++++
>  2 files changed, 44 insertions(+)
>  create mode 100644 meta-oe/recipes-support/libmimetic/libmimetic/config.patch
>  create mode 100644 meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
>
> diff --git a/meta-oe/recipes-support/libmimetic/libmimetic/config.patch b/meta-oe/recipes-support/libmimetic/libmimetic/config.patch
> new file mode 100644
> index 000000000..52bf7b450
> --- /dev/null
> +++ b/meta-oe/recipes-support/libmimetic/libmimetic/config.patch
> @@ -0,0 +1,25 @@
> +diff --git a/Makefile.am b/Makefile.am
> +index 634bd4c..c7cbae7 100644
> +--- a/Makefile.am
> ++++ b/Makefile.am
> +@@ -1,6 +1,6 @@
> + MAINTAINERCLEANFILES = Makefile Makefile.in config.cache
> + EXTRA_DIST=LICENSE m4
> +-SUBDIRS = mimetic doc examples test win32
> ++SUBDIRS = mimetic doc examples win32
> + INCLUDES=-I$(top_srcdir)
> + ACLOCAL_AMFLAGS=-I m4
> +
> +diff --git a/configure.in b/configure.in
> +index 5e8f3d4..af1018e 100644
> +--- a/configure.in
> ++++ b/configure.in
> +@@ -30,7 +30,7 @@ debug_enabled=false
> + dnl CFLAGS and CXXFLAGS default to -O2 -g
> +
> + dnl CXXFLAGS="$CXXFLAGS -DNDEBUG -fno-exceptions"
> +-CXXFLAGS="$CXXFLAGS -DNDEBUG"
> ++CXXFLAGS="$CXXFLAGS -DNDEBUG -Wno-narrowing"
> +
> + AC_ARG_ENABLE(debug,
> +   [  --enable-debug[=LEVEL]  enables debug symbols [default=2]],
> diff --git a/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb b/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
> new file mode 100644
> index 000000000..a0a704188
> --- /dev/null
> +++ b/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
> @@ -0,0 +1,19 @@
> +# Released under the MIT license.
> +
> +SUMMARY = "Mimetic Library for multi-part parsing"
> +DESCRIPTION = "Email library (MIME) written in C++ designed to be easy to use and integrate but yet fast and efficient."
> +AUTHOR = "Stefano Barbato <stefano@codesink.org>"
> +HOMEPAGE = "http://www.codesink.org/mimetic_mime_library.html"
> +BUGTRACKER = "https://github.com/LadislavSopko/mimetic/issues"
> +
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=b49da7df0ca479ef01ff7f2d799eabee"
> +
> +SRCREV = "50486af99b4f9b35522d7b3de40b6ce107505279"
> +SRC_URI += "git://github.com/LadislavSopko/mimetic/ \
> +            file://config.patch \
> +           "
> +
> +S = "${WORKDIR}/git"
> +
> +inherit autotools
> --
> 2.21.0
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel