[1/2] lzo: add (from oe-core)

Message ID 20220524152411.1663373-1-ross.burton@arm.com
State Under Review
Headers show
Series [1/2] lzo: add (from oe-core) | expand

Commit Message

Ross Burton May 24, 2022, 3:24 p.m. UTC
lzo is being removed from oe-core, so add it here for people who still
want to use it.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 ...onfigdir-to-solve-the-undefine-error.patch | 27 +++++++
 ...Use-memcpy-instead-of-reinventing-it.patch | 70 +++++++++++++++++++
 meta-oe/recipes-support/lzo/lzo/run-ptest     | 33 +++++++++
 meta-oe/recipes-support/lzo/lzo_2.10.bb       | 35 ++++++++++
 4 files changed, 165 insertions(+)
 create mode 100644 meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch
 create mode 100644 meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
 create mode 100644 meta-oe/recipes-support/lzo/lzo/run-ptest
 create mode 100644 meta-oe/recipes-support/lzo/lzo_2.10.bb

Comments

Ross Burton May 24, 2022, 3:28 p.m. UTC | #1
Obviously, don’t merge this until the recipes are removed from oe-core.

Ross

> On 24 May 2022, at 16:24, Ross Burton via lists.openembedded.org <ross.burton=arm.com@lists.openembedded.org> wrote:
> 
> lzo is being removed from oe-core, so add it here for people who still
> want to use it.
> 
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
> ...onfigdir-to-solve-the-undefine-error.patch | 27 +++++++
> ...Use-memcpy-instead-of-reinventing-it.patch | 70 +++++++++++++++++++
> meta-oe/recipes-support/lzo/lzo/run-ptest     | 33 +++++++++
> meta-oe/recipes-support/lzo/lzo_2.10.bb       | 35 ++++++++++
> 4 files changed, 165 insertions(+)
> create mode 100644 meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch
> create mode 100644 meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
> create mode 100644 meta-oe/recipes-support/lzo/lzo/run-ptest
> create mode 100644 meta-oe/recipes-support/lzo/lzo_2.10.bb
> 
> diff --git a/meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch b/meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch
> new file mode 100644
> index 0000000000..5235a15dc9
> --- /dev/null
> +++ b/meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch
> @@ -0,0 +1,27 @@
> +From e730bfd7c2d3a4b5f3605878599cb9b20d31b1fd Mon Sep 17 00:00:00 2001
> +From: Fan Xin <fan.xin@jp.fujitsu.com>
> +Date: Fri, 2 Jun 2017 11:52:25 +0900
> +Subject: [PATCH] Add pkgconfigdir to solve the undefine error.
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
> +---
> + Makefile.am | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/Makefile.am b/Makefile.am
> +index e4d383b..c75023d 100644
> +--- a/Makefile.am
> ++++ b/Makefile.am
> +@@ -14,6 +14,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)
> + LDADD = src/liblzo2.la
> + lib_LTLIBRARIES =
> + noinst_PROGRAMS =
> ++pkgconfigdir = $(libdir)/pkgconfig
> + pkgconfig_DATA = lzo2.pc
> + 
> + 
> +-- 
> +1.9.1
> +
> diff --git a/meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch b/meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
> new file mode 100644
> index 0000000000..db3a70e803
> --- /dev/null
> +++ b/meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
> @@ -0,0 +1,70 @@
> +From: Simon McVittie <smcv@debian.org>
> +Date: Sun, 23 Nov 2014 22:50:33 +0000
> +Subject: Use memcpy() instead of reinventing it
> +
> +gcc inlines memcpy() with results as fast as handwritten code (at
> +least in my brief testing with lzop), and knows the alignment
> +constraints for our architectures.
> +
> +Change suggested by Julian Taylor.
> +
> +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757037
> +
> +Upstream-Status: Pending
> +Signed-off-by: Saul Wold <sgw@linux.intel.com>
> +---
> + minilzo/minilzo.c | 14 ++++++++++++++
> + src/lzo_func.h    | 14 ++++++++++++++
> + 2 files changed, 28 insertions(+)
> +
> +
> +diff --git a/minilzo/minilzo.c b/minilzo/minilzo.c
> +index ab2be5f..6913c2f 100644
> +--- a/minilzo/minilzo.c
> ++++ b/minilzo/minilzo.c
> +@@ -3523,6 +3523,20 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8)
> +     if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \
> +     LZO_BLOCK_END
> + 
> ++/* Debian-specific change: we know that our compiler inlines memcpy() with
> ++ * constant n to be as fast as handwritten code, and knows which architectures
> ++ * need things correctly aligned. */
> ++#undef LZO_MEMOPS_COPY1
> ++#undef LZO_MEMOPS_COPY2
> ++#undef LZO_MEMOPS_COPY4
> ++#undef LZO_MEMOPS_COPY8
> ++#undef LZO_MEMOPS_COPYN
> ++#define LZO_MEMOPS_COPY1(dd,ss) memcpy(dd, ss, 1)
> ++#define LZO_MEMOPS_COPY2(dd,ss) memcpy(dd, ss, 2)
> ++#define LZO_MEMOPS_COPY4(dd,ss) memcpy(dd, ss, 4)
> ++#define LZO_MEMOPS_COPY8(dd,ss) memcpy(dd, ss, 8)
> ++#define LZO_MEMOPS_COPYN(dd,ss,nn) memcpy(dd, ss, nn)
> ++
> + __lzo_static_forceinline lzo_uint16_t lzo_memops_get_le16(const lzo_voidp ss)
> + {
> +     lzo_uint16_t v;
> +diff --git a/src/lzo_func.h b/src/lzo_func.h
> +index dfaa676..1cc1b53 100644
> +--- a/src/lzo_func.h
> ++++ b/src/lzo_func.h
> +@@ -333,6 +333,20 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8)
> +     if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \
> +     LZO_BLOCK_END
> + 
> ++/* Debian-specific change: we know that our compiler inlines memcpy() with
> ++ * constant n to be as fast as handwritten code, and knows which architectures
> ++ * need things correctly aligned. */
> ++#undef LZO_MEMOPS_COPY1
> ++#undef LZO_MEMOPS_COPY2
> ++#undef LZO_MEMOPS_COPY4
> ++#undef LZO_MEMOPS_COPY8
> ++#undef LZO_MEMOPS_COPYN
> ++#define LZO_MEMOPS_COPY1(dd,ss) memcpy(dd, ss, 1)
> ++#define LZO_MEMOPS_COPY2(dd,ss) memcpy(dd, ss, 2)
> ++#define LZO_MEMOPS_COPY4(dd,ss) memcpy(dd, ss, 4)
> ++#define LZO_MEMOPS_COPY8(dd,ss) memcpy(dd, ss, 8)
> ++#define LZO_MEMOPS_COPYN(dd,ss,nn) memcpy(dd, ss, nn)
> ++
> + __lzo_static_forceinline lzo_uint16_t lzo_memops_get_le16(const lzo_voidp ss)
> + {
> +     lzo_uint16_t v;
> diff --git a/meta-oe/recipes-support/lzo/lzo/run-ptest b/meta-oe/recipes-support/lzo/lzo/run-ptest
> new file mode 100644
> index 0000000000..6acb89fc1f
> --- /dev/null
> +++ b/meta-oe/recipes-support/lzo/lzo/run-ptest
> @@ -0,0 +1,33 @@
> +#!/bin/sh
> +
> +./lzotest -mavail -n10 -q /etc/services
> +if [ $? -eq 0 ]; then
> +  echo 'PASS: lzotest'
> +else
> +  echo 'FAIL: lzotest'
> +fi
> +LZOTEST=./lzotest /bin/sh -e "./check.sh" "/etc"
> +./align
> +if [ $? -eq 0 ]; then
> +  echo 'PASS: align'
> +else
> +  echo 'FAIL: align'
> +fi
> +./chksum
> +if [ $? -eq 0 ]; then
> +  echo 'PASS: chksum'
> +else
> +  echo 'FAIL: chksum'
> +fi
> +./simple
> +if [ $? -eq 0 ]; then
> +  echo 'PASS: simple'
> +else
> +  echo 'FAIL: simple'
> +fi
> +./testmini
> +if [ $? -eq 0 ]; then
> +  echo 'PASS: testmini'
> +else
> +  echo 'FAIL: testmini'
> +fi
> diff --git a/meta-oe/recipes-support/lzo/lzo_2.10.bb b/meta-oe/recipes-support/lzo/lzo_2.10.bb
> new file mode 100644
> index 0000000000..195c2f2939
> --- /dev/null
> +++ b/meta-oe/recipes-support/lzo/lzo_2.10.bb
> @@ -0,0 +1,35 @@
> +SUMMARY = "Lossless data compression library"
> +DESCRIPTION = "A portable lossless data compression library written in \
> +ANSI C that offers pretty fast compression and *extremely* fast decompression. "
> +HOMEPAGE = "http://www.oberhumer.com/opensource/lzo/"
> +SECTION = "libs"
> +LICENSE = "GPL-2.0-or-later"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> +                    file://src/lzo_init.c;beginline=5;endline=25;md5=9ae697ca01829b0a383c5d2d163e0108"
> +
> +SRC_URI = "http://www.oberhumer.com/opensource/lzo/download/lzo-${PV}.tar.gz \
> +           file://0001-Use-memcpy-instead-of-reinventing-it.patch \
> +	   file://0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch \
> +           file://run-ptest \
> +           "
> +
> +SRC_URI[md5sum] = "39d3f3f9c55c87b1e5d6888e1420f4b5"
> +SRC_URI[sha256sum] = "c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072"
> +
> +inherit autotools ptest
> +
> +CVE_PRODUCT = "lzo oberhumer:lzo2"
> +
> +EXTRA_OECONF = "--enable-shared"
> +
> +do_install_ptest() {
> +	t=${D}${PTEST_PATH}
> +	cp ${S}/util/check.sh $t
> +	cp ${B}/minilzo/testmini $t
> +	for i in tests/align tests/chksum lzotest/lzotest examples/simple
> +		do cp ${B}/`dirname $i`/.libs/`basename $i` $t; \
> +	done
> +}
> +
> +
> +BBCLASSEXTEND = "native nativesdk"
> -- 
> 2.25.1
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#97253): https://lists.openembedded.org/g/openembedded-devel/message/97253
> Mute This Topic: https://lists.openembedded.org/mt/91313396/6875888
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ross.burton@arm.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj May 24, 2022, 3:34 p.m. UTC | #2
Thanks. I have seen the relevant patches in core.

On Tue, May 24, 2022 at 8:29 AM Ross Burton <ross.burton@arm.com> wrote:
>
> Obviously, don’t merge this until the recipes are removed from oe-core.
>
> Ross
>
> > On 24 May 2022, at 16:24, Ross Burton via lists.openembedded.org <ross.burton=arm.com@lists.openembedded.org> wrote:
> >
> > lzo is being removed from oe-core, so add it here for people who still
> > want to use it.
> >
> > Signed-off-by: Ross Burton <ross.burton@arm.com>
> > ---
> > ...onfigdir-to-solve-the-undefine-error.patch | 27 +++++++
> > ...Use-memcpy-instead-of-reinventing-it.patch | 70 +++++++++++++++++++
> > meta-oe/recipes-support/lzo/lzo/run-ptest     | 33 +++++++++
> > meta-oe/recipes-support/lzo/lzo_2.10.bb       | 35 ++++++++++
> > 4 files changed, 165 insertions(+)
> > create mode 100644 meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch
> > create mode 100644 meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
> > create mode 100644 meta-oe/recipes-support/lzo/lzo/run-ptest
> > create mode 100644 meta-oe/recipes-support/lzo/lzo_2.10.bb
> >
> > diff --git a/meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch b/meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch
> > new file mode 100644
> > index 0000000000..5235a15dc9
> > --- /dev/null
> > +++ b/meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch
> > @@ -0,0 +1,27 @@
> > +From e730bfd7c2d3a4b5f3605878599cb9b20d31b1fd Mon Sep 17 00:00:00 2001
> > +From: Fan Xin <fan.xin@jp.fujitsu.com>
> > +Date: Fri, 2 Jun 2017 11:52:25 +0900
> > +Subject: [PATCH] Add pkgconfigdir to solve the undefine error.
> > +
> > +Upstream-Status: Pending
> > +
> > +Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
> > +---
> > + Makefile.am | 1 +
> > + 1 file changed, 1 insertion(+)
> > +
> > +diff --git a/Makefile.am b/Makefile.am
> > +index e4d383b..c75023d 100644
> > +--- a/Makefile.am
> > ++++ b/Makefile.am
> > +@@ -14,6 +14,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)
> > + LDADD = src/liblzo2.la
> > + lib_LTLIBRARIES =
> > + noinst_PROGRAMS =
> > ++pkgconfigdir = $(libdir)/pkgconfig
> > + pkgconfig_DATA = lzo2.pc
> > +
> > +
> > +--
> > +1.9.1
> > +
> > diff --git a/meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch b/meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
> > new file mode 100644
> > index 0000000000..db3a70e803
> > --- /dev/null
> > +++ b/meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
> > @@ -0,0 +1,70 @@
> > +From: Simon McVittie <smcv@debian.org>
> > +Date: Sun, 23 Nov 2014 22:50:33 +0000
> > +Subject: Use memcpy() instead of reinventing it
> > +
> > +gcc inlines memcpy() with results as fast as handwritten code (at
> > +least in my brief testing with lzop), and knows the alignment
> > +constraints for our architectures.
> > +
> > +Change suggested by Julian Taylor.
> > +
> > +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757037
> > +
> > +Upstream-Status: Pending
> > +Signed-off-by: Saul Wold <sgw@linux.intel.com>
> > +---
> > + minilzo/minilzo.c | 14 ++++++++++++++
> > + src/lzo_func.h    | 14 ++++++++++++++
> > + 2 files changed, 28 insertions(+)
> > +
> > +
> > +diff --git a/minilzo/minilzo.c b/minilzo/minilzo.c
> > +index ab2be5f..6913c2f 100644
> > +--- a/minilzo/minilzo.c
> > ++++ b/minilzo/minilzo.c
> > +@@ -3523,6 +3523,20 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8)
> > +     if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \
> > +     LZO_BLOCK_END
> > +
> > ++/* Debian-specific change: we know that our compiler inlines memcpy() with
> > ++ * constant n to be as fast as handwritten code, and knows which architectures
> > ++ * need things correctly aligned. */
> > ++#undef LZO_MEMOPS_COPY1
> > ++#undef LZO_MEMOPS_COPY2
> > ++#undef LZO_MEMOPS_COPY4
> > ++#undef LZO_MEMOPS_COPY8
> > ++#undef LZO_MEMOPS_COPYN
> > ++#define LZO_MEMOPS_COPY1(dd,ss) memcpy(dd, ss, 1)
> > ++#define LZO_MEMOPS_COPY2(dd,ss) memcpy(dd, ss, 2)
> > ++#define LZO_MEMOPS_COPY4(dd,ss) memcpy(dd, ss, 4)
> > ++#define LZO_MEMOPS_COPY8(dd,ss) memcpy(dd, ss, 8)
> > ++#define LZO_MEMOPS_COPYN(dd,ss,nn) memcpy(dd, ss, nn)
> > ++
> > + __lzo_static_forceinline lzo_uint16_t lzo_memops_get_le16(const lzo_voidp ss)
> > + {
> > +     lzo_uint16_t v;
> > +diff --git a/src/lzo_func.h b/src/lzo_func.h
> > +index dfaa676..1cc1b53 100644
> > +--- a/src/lzo_func.h
> > ++++ b/src/lzo_func.h
> > +@@ -333,6 +333,20 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8)
> > +     if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \
> > +     LZO_BLOCK_END
> > +
> > ++/* Debian-specific change: we know that our compiler inlines memcpy() with
> > ++ * constant n to be as fast as handwritten code, and knows which architectures
> > ++ * need things correctly aligned. */
> > ++#undef LZO_MEMOPS_COPY1
> > ++#undef LZO_MEMOPS_COPY2
> > ++#undef LZO_MEMOPS_COPY4
> > ++#undef LZO_MEMOPS_COPY8
> > ++#undef LZO_MEMOPS_COPYN
> > ++#define LZO_MEMOPS_COPY1(dd,ss) memcpy(dd, ss, 1)
> > ++#define LZO_MEMOPS_COPY2(dd,ss) memcpy(dd, ss, 2)
> > ++#define LZO_MEMOPS_COPY4(dd,ss) memcpy(dd, ss, 4)
> > ++#define LZO_MEMOPS_COPY8(dd,ss) memcpy(dd, ss, 8)
> > ++#define LZO_MEMOPS_COPYN(dd,ss,nn) memcpy(dd, ss, nn)
> > ++
> > + __lzo_static_forceinline lzo_uint16_t lzo_memops_get_le16(const lzo_voidp ss)
> > + {
> > +     lzo_uint16_t v;
> > diff --git a/meta-oe/recipes-support/lzo/lzo/run-ptest b/meta-oe/recipes-support/lzo/lzo/run-ptest
> > new file mode 100644
> > index 0000000000..6acb89fc1f
> > --- /dev/null
> > +++ b/meta-oe/recipes-support/lzo/lzo/run-ptest
> > @@ -0,0 +1,33 @@
> > +#!/bin/sh
> > +
> > +./lzotest -mavail -n10 -q /etc/services
> > +if [ $? -eq 0 ]; then
> > +  echo 'PASS: lzotest'
> > +else
> > +  echo 'FAIL: lzotest'
> > +fi
> > +LZOTEST=./lzotest /bin/sh -e "./check.sh" "/etc"
> > +./align
> > +if [ $? -eq 0 ]; then
> > +  echo 'PASS: align'
> > +else
> > +  echo 'FAIL: align'
> > +fi
> > +./chksum
> > +if [ $? -eq 0 ]; then
> > +  echo 'PASS: chksum'
> > +else
> > +  echo 'FAIL: chksum'
> > +fi
> > +./simple
> > +if [ $? -eq 0 ]; then
> > +  echo 'PASS: simple'
> > +else
> > +  echo 'FAIL: simple'
> > +fi
> > +./testmini
> > +if [ $? -eq 0 ]; then
> > +  echo 'PASS: testmini'
> > +else
> > +  echo 'FAIL: testmini'
> > +fi
> > diff --git a/meta-oe/recipes-support/lzo/lzo_2.10.bb b/meta-oe/recipes-support/lzo/lzo_2.10.bb
> > new file mode 100644
> > index 0000000000..195c2f2939
> > --- /dev/null
> > +++ b/meta-oe/recipes-support/lzo/lzo_2.10.bb
> > @@ -0,0 +1,35 @@
> > +SUMMARY = "Lossless data compression library"
> > +DESCRIPTION = "A portable lossless data compression library written in \
> > +ANSI C that offers pretty fast compression and *extremely* fast decompression. "
> > +HOMEPAGE = "http://www.oberhumer.com/opensource/lzo/"
> > +SECTION = "libs"
> > +LICENSE = "GPL-2.0-or-later"
> > +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> > +                    file://src/lzo_init.c;beginline=5;endline=25;md5=9ae697ca01829b0a383c5d2d163e0108"
> > +
> > +SRC_URI = "http://www.oberhumer.com/opensource/lzo/download/lzo-${PV}.tar.gz \
> > +           file://0001-Use-memcpy-instead-of-reinventing-it.patch \
> > +        file://0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch \
> > +           file://run-ptest \
> > +           "
> > +
> > +SRC_URI[md5sum] = "39d3f3f9c55c87b1e5d6888e1420f4b5"
> > +SRC_URI[sha256sum] = "c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072"
> > +
> > +inherit autotools ptest
> > +
> > +CVE_PRODUCT = "lzo oberhumer:lzo2"
> > +
> > +EXTRA_OECONF = "--enable-shared"
> > +
> > +do_install_ptest() {
> > +     t=${D}${PTEST_PATH}
> > +     cp ${S}/util/check.sh $t
> > +     cp ${B}/minilzo/testmini $t
> > +     for i in tests/align tests/chksum lzotest/lzotest examples/simple
> > +             do cp ${B}/`dirname $i`/.libs/`basename $i` $t; \
> > +     done
> > +}
> > +
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> > --
> > 2.25.1
> >
> >
> >
> >
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#97255): https://lists.openembedded.org/g/openembedded-devel/message/97255
> Mute This Topic: https://lists.openembedded.org/mt/91313396/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>

Patch

diff --git a/meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch b/meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch
new file mode 100644
index 0000000000..5235a15dc9
--- /dev/null
+++ b/meta-oe/recipes-support/lzo/lzo/0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch
@@ -0,0 +1,27 @@ 
+From e730bfd7c2d3a4b5f3605878599cb9b20d31b1fd Mon Sep 17 00:00:00 2001
+From: Fan Xin <fan.xin@jp.fujitsu.com>
+Date: Fri, 2 Jun 2017 11:52:25 +0900
+Subject: [PATCH] Add pkgconfigdir to solve the undefine error.
+
+Upstream-Status: Pending
+
+Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index e4d383b..c75023d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -14,6 +14,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)
+ LDADD = src/liblzo2.la
+ lib_LTLIBRARIES =
+ noinst_PROGRAMS =
++pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = lzo2.pc
+ 
+ 
+-- 
+1.9.1
+
diff --git a/meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch b/meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
new file mode 100644
index 0000000000..db3a70e803
--- /dev/null
+++ b/meta-oe/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
@@ -0,0 +1,70 @@ 
+From: Simon McVittie <smcv@debian.org>
+Date: Sun, 23 Nov 2014 22:50:33 +0000
+Subject: Use memcpy() instead of reinventing it
+
+gcc inlines memcpy() with results as fast as handwritten code (at
+least in my brief testing with lzop), and knows the alignment
+constraints for our architectures.
+
+Change suggested by Julian Taylor.
+
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757037
+
+Upstream-Status: Pending
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+---
+ minilzo/minilzo.c | 14 ++++++++++++++
+ src/lzo_func.h    | 14 ++++++++++++++
+ 2 files changed, 28 insertions(+)
+
+
+diff --git a/minilzo/minilzo.c b/minilzo/minilzo.c
+index ab2be5f..6913c2f 100644
+--- a/minilzo/minilzo.c
++++ b/minilzo/minilzo.c
+@@ -3523,6 +3523,20 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8)
+     if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \
+     LZO_BLOCK_END
+ 
++/* Debian-specific change: we know that our compiler inlines memcpy() with
++ * constant n to be as fast as handwritten code, and knows which architectures
++ * need things correctly aligned. */
++#undef LZO_MEMOPS_COPY1
++#undef LZO_MEMOPS_COPY2
++#undef LZO_MEMOPS_COPY4
++#undef LZO_MEMOPS_COPY8
++#undef LZO_MEMOPS_COPYN
++#define LZO_MEMOPS_COPY1(dd,ss) memcpy(dd, ss, 1)
++#define LZO_MEMOPS_COPY2(dd,ss) memcpy(dd, ss, 2)
++#define LZO_MEMOPS_COPY4(dd,ss) memcpy(dd, ss, 4)
++#define LZO_MEMOPS_COPY8(dd,ss) memcpy(dd, ss, 8)
++#define LZO_MEMOPS_COPYN(dd,ss,nn) memcpy(dd, ss, nn)
++
+ __lzo_static_forceinline lzo_uint16_t lzo_memops_get_le16(const lzo_voidp ss)
+ {
+     lzo_uint16_t v;
+diff --git a/src/lzo_func.h b/src/lzo_func.h
+index dfaa676..1cc1b53 100644
+--- a/src/lzo_func.h
++++ b/src/lzo_func.h
+@@ -333,6 +333,20 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8)
+     if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \
+     LZO_BLOCK_END
+ 
++/* Debian-specific change: we know that our compiler inlines memcpy() with
++ * constant n to be as fast as handwritten code, and knows which architectures
++ * need things correctly aligned. */
++#undef LZO_MEMOPS_COPY1
++#undef LZO_MEMOPS_COPY2
++#undef LZO_MEMOPS_COPY4
++#undef LZO_MEMOPS_COPY8
++#undef LZO_MEMOPS_COPYN
++#define LZO_MEMOPS_COPY1(dd,ss) memcpy(dd, ss, 1)
++#define LZO_MEMOPS_COPY2(dd,ss) memcpy(dd, ss, 2)
++#define LZO_MEMOPS_COPY4(dd,ss) memcpy(dd, ss, 4)
++#define LZO_MEMOPS_COPY8(dd,ss) memcpy(dd, ss, 8)
++#define LZO_MEMOPS_COPYN(dd,ss,nn) memcpy(dd, ss, nn)
++
+ __lzo_static_forceinline lzo_uint16_t lzo_memops_get_le16(const lzo_voidp ss)
+ {
+     lzo_uint16_t v;
diff --git a/meta-oe/recipes-support/lzo/lzo/run-ptest b/meta-oe/recipes-support/lzo/lzo/run-ptest
new file mode 100644
index 0000000000..6acb89fc1f
--- /dev/null
+++ b/meta-oe/recipes-support/lzo/lzo/run-ptest
@@ -0,0 +1,33 @@ 
+#!/bin/sh
+
+./lzotest -mavail -n10 -q /etc/services
+if [ $? -eq 0 ]; then
+  echo 'PASS: lzotest'
+else
+  echo 'FAIL: lzotest'
+fi
+LZOTEST=./lzotest /bin/sh -e "./check.sh" "/etc"
+./align
+if [ $? -eq 0 ]; then
+  echo 'PASS: align'
+else
+  echo 'FAIL: align'
+fi
+./chksum
+if [ $? -eq 0 ]; then
+  echo 'PASS: chksum'
+else
+  echo 'FAIL: chksum'
+fi
+./simple
+if [ $? -eq 0 ]; then
+  echo 'PASS: simple'
+else
+  echo 'FAIL: simple'
+fi
+./testmini
+if [ $? -eq 0 ]; then
+  echo 'PASS: testmini'
+else
+  echo 'FAIL: testmini'
+fi
diff --git a/meta-oe/recipes-support/lzo/lzo_2.10.bb b/meta-oe/recipes-support/lzo/lzo_2.10.bb
new file mode 100644
index 0000000000..195c2f2939
--- /dev/null
+++ b/meta-oe/recipes-support/lzo/lzo_2.10.bb
@@ -0,0 +1,35 @@ 
+SUMMARY = "Lossless data compression library"
+DESCRIPTION = "A portable lossless data compression library written in \
+ANSI C that offers pretty fast compression and *extremely* fast decompression. "
+HOMEPAGE = "http://www.oberhumer.com/opensource/lzo/"
+SECTION = "libs"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://src/lzo_init.c;beginline=5;endline=25;md5=9ae697ca01829b0a383c5d2d163e0108"
+
+SRC_URI = "http://www.oberhumer.com/opensource/lzo/download/lzo-${PV}.tar.gz \
+           file://0001-Use-memcpy-instead-of-reinventing-it.patch \
+	   file://0001-Add-pkgconfigdir-to-solve-the-undefine-error.patch \
+           file://run-ptest \
+           "
+
+SRC_URI[md5sum] = "39d3f3f9c55c87b1e5d6888e1420f4b5"
+SRC_URI[sha256sum] = "c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072"
+
+inherit autotools ptest
+
+CVE_PRODUCT = "lzo oberhumer:lzo2"
+
+EXTRA_OECONF = "--enable-shared"
+
+do_install_ptest() {
+	t=${D}${PTEST_PATH}
+	cp ${S}/util/check.sh $t
+	cp ${B}/minilzo/testmini $t
+	for i in tests/align tests/chksum lzotest/lzotest examples/simple
+		do cp ${B}/`dirname $i`/.libs/`basename $i` $t; \
+	done
+}
+
+
+BBCLASSEXTEND = "native nativesdk"