diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/packages/grep/grep-2.5.1a/uclibc-fix.patch | 53 | ||||
-rw-r--r-- | meta/packages/grep/grep_2.5.1a.bb | 40 |
2 files changed, 93 insertions, 0 deletions
diff --git a/meta/packages/grep/grep-2.5.1a/uclibc-fix.patch b/meta/packages/grep/grep-2.5.1a/uclibc-fix.patch new file mode 100644 index 0000000000..8fc7c4852f --- /dev/null +++ b/meta/packages/grep/grep-2.5.1a/uclibc-fix.patch @@ -0,0 +1,53 @@ +# 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. +# Patch source: OpenEmbedded + +Index: grep-2.5.1/intl/localealias.c +=================================================================== +--- grep-2.5.1.orig/intl/localealias.c 2002-03-14 00:39:06.000000000 +1100 ++++ grep-2.5.1/intl/localealias.c 2007-05-17 13:53:58.000000000 +1000 +@@ -65,7 +65,7 @@ + # define strcasecmp __strcasecmp + + # ifndef mempcpy +-# define mempcpy __mempcpy ++# error "mempcpy not detected" + # endif + # define HAVE_MEMPCPY 1 + # define HAVE___FSETLOCKING 1 +Index: grep-2.5.1/lib/getopt.c +=================================================================== +--- grep-2.5.1.orig/lib/getopt.c 2001-03-04 16:33:12.000000000 +1100 ++++ grep-2.5.1/lib/getopt.c 2007-05-17 13:51:44.000000000 +1000 +@@ -326,7 +326,7 @@ + nonoption_flags_len = nonoption_flags_max_len = 0; + else + { +- memset (__mempcpy (new_str, __getopt_nonoption_flags, ++ memset (mempcpy (new_str, __getopt_nonoption_flags, + nonoption_flags_max_len), + '\0', top + 1 - nonoption_flags_max_len); + nonoption_flags_max_len = top + 1; +@@ -437,7 +437,7 @@ + if (__getopt_nonoption_flags == NULL) + nonoption_flags_max_len = -1; + else +- memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), ++ memset (mempcpy (__getopt_nonoption_flags, orig_str, len), + '\0', nonoption_flags_max_len - len); + } + } +Index: grep-2.5.1/lib/regex.c +=================================================================== +--- grep-2.5.1.orig/lib/regex.c 2001-04-03 04:04:45.000000000 +1000 ++++ grep-2.5.1/lib/regex.c 2007-05-17 13:51:48.000000000 +1000 +@@ -7842,7 +7842,7 @@ + if (msg_size > errbuf_size) + { + #if defined HAVE_MEMPCPY || defined _LIBC +- *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; ++ *((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; + #else + memcpy (errbuf, msg, errbuf_size - 1); + errbuf[errbuf_size - 1] = 0; diff --git a/meta/packages/grep/grep_2.5.1a.bb b/meta/packages/grep/grep_2.5.1a.bb new file mode 100644 index 0000000000..d50d5a374e --- /dev/null +++ b/meta/packages/grep/grep_2.5.1a.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "grep GNU utility" +SECTION = "console/utils" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +PR = "r1" + +SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.bz2 \ + file://uclibc-fix.patch" + +SRC_URI[md5sum] = "52202fe462770fa6be1bb667bd6cf30c" +SRC_URI[sha256sum] = "38c8a2bb9223d1fb1b10bdd607cf44830afc92fd451ac4cd07619bf92bdd3132" + +inherit autotools gettext + +EXTRA_OECONF = "--disable-perl-regexp --disable-ncurses" + +do_configure_prepend () { + rm -f ${S}/m4/init.m4 +} + +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} +} + +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} +} |