[oe] [PATCH 07/16] grep-2.6.3: Add recipe.

Jan Paesmans jan.paesmans at gmail.com
Mon Jun 7 07:35:54 UTC 2010


Hi,
I was having problems with building grep both native and for target on
our build system.
Seems that there is a dependency missing on gettext. Adding gettext to
the inherit directive solves the build failure.

Regards,

Jan

On Fri, Jun 4, 2010 at 9:39 AM, Martin Jansa <martin.jansa at gmail.com> wrote:
> On Wed, Jun 2, 2010 at 10:34 PM, Khem Raj <raj.khem at gmail.com> wrote:
>> * Fix build for uclibc as well.
>>
>> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>
> Acked-by: Martin Jansa <Martin.Jansa at gmail.com>
>
>> ---
>>  recipes/grep/grep-2.6.3/uclibc-fix.patch |   50 ++++++++++++++++++++++++++++++
>>  recipes/grep/grep_2.6.3.bb               |   47 ++++++++++++++++++++++++++++
>>  2 files changed, 97 insertions(+), 0 deletions(-)
>>  create mode 100644 recipes/grep/grep-2.6.3/uclibc-fix.patch
>>  create mode 100644 recipes/grep/grep_2.6.3.bb
>>
>> diff --git a/recipes/grep/grep-2.6.3/uclibc-fix.patch b/recipes/grep/grep-2.6.3/uclibc-fix.patch
>> new file mode 100644
>> index 0000000..2e1c584
>> --- /dev/null
>> +++ b/recipes/grep/grep-2.6.3/uclibc-fix.patch
>> @@ -0,0 +1,50 @@
>> +Fix to use mempcpy instead of __mempcpy. This is needed for uclibc which
>> +doesn't define __mempcpy only mempcpy. Since both uclibc and glibc have
>> +mempcpy we'll just use that instead.
>> +
>> +Index: grep-2.6.3/lib/getopt.c
>> +===================================================================
>> +--- grep-2.6.3.orig/lib/getopt.c       2010-03-21 00:34:02.000000000 -0700
>> ++++ grep-2.6.3/lib/getopt.c    2010-05-22 21:37:11.352740539 -0700
>> +@@ -41,6 +41,10 @@
>> + # include <wchar.h>
>> + #endif
>> +
>> ++#ifdef __UCLIBC__
>> ++#define __mempcpy mempcpy
>> ++#endif
>> ++
>> + /* This version of `getopt' appears to the caller like standard Unix `getopt'
>> +    but it behaves differently for the user, since it allows the user
>> +    to intersperse the options with the other arguments.
>> +Index: grep-2.6.3/gnulib-tests/setenv.c
>> +===================================================================
>> +--- grep-2.6.3.orig/gnulib-tests/setenv.c      2010-05-22 21:37:53.655168151 -0700
>> ++++ grep-2.6.3/gnulib-tests/setenv.c   2010-05-22 21:38:42.792745476 -0700
>> +@@ -68,6 +68,10 @@ __libc_lock_define_initialized (static,
>> + # define tsearch __tsearch
>> + #endif
>> +
>> ++#ifdef __UCLIBC__
>> ++#define __mempcpy mempcpy
>> ++#endif
>> ++
>> + /* In the GNU C library implementation we try to be more clever and
>> +    allow arbitrarily many changes of the environment given that the used
>> +    values are from a small set.  Outside glibc this will eat up all
>> +Index: grep-2.6.3/lib/regexec.c
>> +===================================================================
>> +--- grep-2.6.3.orig/lib/regexec.c      2010-05-22 21:36:02.655154671 -0700
>> ++++ grep-2.6.3/lib/regexec.c   2010-05-22 21:37:26.212743273 -0700
>> +@@ -22,6 +22,11 @@
>> +
>> + #include "verify.h"
>> + #include "intprops.h"
>> ++
>> ++#ifdef __UCLIBC__
>> ++#define __mempcpy mempcpy
>> ++#endif
>> ++
>> + static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags,
>> +                                    Idx n) internal_function;
>> + static void match_ctx_clean (re_match_context_t *mctx) internal_function;
>> diff --git a/recipes/grep/grep_2.6.3.bb b/recipes/grep/grep_2.6.3.bb
>> new file mode 100644
>> index 0000000..c887ca0
>> --- /dev/null
>> +++ b/recipes/grep/grep_2.6.3.bb
>> @@ -0,0 +1,47 @@
>> +LICENSE = "GPL"
>> +SECTION = "console/utils"
>> +DESCRIPTION = "grep GNU utility"
>> +PR = "r0"
>> +
>> +SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz \
>> +           file://uclibc-fix.patch"
>> +
>> +inherit autotools
>> +
>> +EXTRA_OECONF = "--disable-perl-regexp --disable-ncurses"
>> +EXTRA_OECONF_virtclass-native = "--with-included-regex --disable-ncurses"
>> +
>> +do_configure () {
>> +       rm -f ${S}/m4/init.m4
>> +       autotools_do_configure
>> +}
>> +
>> +do_install () {
>> +       autotools_do_install
>> +       install -d ${D}${base_bindir}
>> +       mv ${D}${bindir}/grep ${D}${base_bindir}/grep.${PN}
>> +       mv ${D}${bindir}/egrep ${D}${base_bindir}/egrep.${PN}
>> +       mv ${D}${bindir}/fgrep ${D}${base_bindir}/fgrep.${PN}
>> +}
>> +
>> +do_install_virtclass-native () {
>> +       autotools_do_install
>> +}
>> +
>> +pkg_postinst_${PN} () {
>> +       update-alternatives --install ${base_bindir}/grep grep grep.${PN} 100
>> +       update-alternatives --install ${base_bindir}/egrep egrep egrep.${PN} 100
>> +       update-alternatives --install ${base_bindir}/fgrep fgrep fgrep.${PN} 100
>> +}
>> +
>> +pkg_prerm_${PN} () {
>> +       update-alternatives --remove grep grep.${PN}
>> +       update-alternatives --remove egrep egrep.${PN}
>> +       update-alternatives --remove fgrep fgrep.${PN}
>> +}
>> +
>> +BBCLASSEXTEND = "native"
>> +
>> +SRC_URI[md5sum] = "69a3bf508a3f14d12369e0e1c7a92763"
>> +SRC_URI[sha256sum] = "ba745e2ff297ab225bf870740d35593d402a1d92999cf0d7e56840f10218db7c"
>> +
>> --
>> 1.7.0.4
>>
>>
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>




More information about the Openembedded-devel mailing list