]> code.ossystems Code Review - openembedded-core.git/commitdiff
gzip: Add 1.3.12(GPLv2) as new recipe
authorZhai Edwin <edwin.zhai@intel.com>
Mon, 16 Aug 2010 06:31:15 +0000 (14:31 +0800)
committerRichard Purdie <rpurdie@linux.intel.com>
Thu, 19 Aug 2010 12:09:50 +0000 (13:09 +0100)
Remove AC_USE_SYSTEM_EXTENSIONS to fix autoconf error, and rename a function to
avoid duplicated defination between gblic and gunlib

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
meta/packages/gzip/gzip-1.3.12/dup-def-fix.patch [new file with mode: 0644]
meta/packages/gzip/gzip-1.3.12/m4-extensions-fix.patch [new file with mode: 0644]
meta/packages/gzip/gzip_1.3.12.bb [new file with mode: 0644]

diff --git a/meta/packages/gzip/gzip-1.3.12/dup-def-fix.patch b/meta/packages/gzip/gzip-1.3.12/dup-def-fix.patch
new file mode 100644 (file)
index 0000000..8308865
--- /dev/null
@@ -0,0 +1,45 @@
+gzip uses gnulib, whose header conflict with glibc. This patch rename some function to avoid conflict.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+Index: gzip-1.3.12/gzip.c
+===================================================================
+--- gzip-1.3.12.orig/gzip.c    2010-08-13 10:29:38.000000000 +0800
++++ gzip-1.3.12/gzip.c 2010-08-13 10:29:44.000000000 +0800
+@@ -1637,7 +1637,7 @@
+       }
+       }
+-    if (futimens (ofd, ofname, timespec) != 0)
++    if (futimens_gnulib (ofd, ofname, timespec) != 0)
+       {
+       int e = errno;
+       WARN ((stderr, "%s: ", program_name));
+Index: gzip-1.3.12/lib/utimens.c
+===================================================================
+--- gzip-1.3.12.orig/lib/utimens.c     2010-08-13 10:33:47.000000000 +0800
++++ gzip-1.3.12/lib/utimens.c  2010-08-13 10:34:02.000000000 +0800
+@@ -75,7 +75,7 @@
+    Return 0 on success, -1 (setting errno) on failure.  */
+ int
+-futimens (int fd ATTRIBUTE_UNUSED,
++futimens_gnulib (int fd ATTRIBUTE_UNUSED,
+         char const *file, struct timespec const timespec[2])
+ {
+   /* Some Linux-based NFS clients are buggy, and mishandle time stamps
+@@ -185,5 +185,5 @@
+ int
+ utimens (char const *file, struct timespec const timespec[2])
+ {
+-  return futimens (-1, file, timespec);
++  return futimens_gnulib (-1, file, timespec);
+ }
+Index: gzip-1.3.12/lib/utimens.h
+===================================================================
+--- gzip-1.3.12.orig/lib/utimens.h     2010-08-13 10:14:57.000000000 +0800
++++ gzip-1.3.12/lib/utimens.h  2010-08-13 10:21:45.000000000 +0800
+@@ -1,3 +1,3 @@
+ #include <time.h>
+-int futimens (int, char const *, struct timespec const [2]);
++int futimens_gnulib (int, char const *, struct timespec const [2]);
+ int utimens (char const *, struct timespec const [2]);
diff --git a/meta/packages/gzip/gzip-1.3.12/m4-extensions-fix.patch b/meta/packages/gzip/gzip-1.3.12/m4-extensions-fix.patch
new file mode 100644 (file)
index 0000000..9273772
--- /dev/null
@@ -0,0 +1,53 @@
+remove AC_USE_SYSTEM_EXTENSIONS to fix the autoconf error "AC_REQUIRE: circular
+dependency of AC_GNU_SOURCE"
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+Index: gzip-1.3.12/m4/extensions.m4
+===================================================================
+--- gzip-1.3.12.orig/m4/extensions.m4  2010-08-16 14:18:16.000000000 +0800
++++ gzip-1.3.12/m4/extensions.m4       2010-08-16 14:21:54.000000000 +0800
+@@ -12,44 +12,6 @@
+ # enough in this area it's likely we'll need to redefine
+ # AC_USE_SYSTEM_EXTENSIONS for quite some time.
+-# AC_USE_SYSTEM_EXTENSIONS
+-# ------------------------
+-# Enable extensions on systems that normally disable them,
+-# typically due to standards-conformance issues.
+-AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS],
+-[
+-  AC_BEFORE([$0], [AC_COMPILE_IFELSE])
+-  AC_BEFORE([$0], [AC_RUN_IFELSE])
+-
+-  AC_REQUIRE([AC_GNU_SOURCE])
+-  AC_REQUIRE([AC_AIX])
+-  AC_REQUIRE([AC_MINIX])
+-
+-  AH_VERBATIM([__EXTENSIONS__],
+-[/* Enable extensions on Solaris.  */
+-#ifndef __EXTENSIONS__
+-# undef __EXTENSIONS__
+-#endif
+-#ifndef _POSIX_PTHREAD_SEMANTICS
+-# undef _POSIX_PTHREAD_SEMANTICS
+-#endif
+-#ifndef _TANDEM_SOURCE
+-# undef _TANDEM_SOURCE
+-#endif])
+-  AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
+-    [ac_cv_safe_to_define___extensions__],
+-    [AC_COMPILE_IFELSE(
+-       [AC_LANG_PROGRAM([
+-#       define __EXTENSIONS__ 1
+-        AC_INCLUDES_DEFAULT])],
+-       [ac_cv_safe_to_define___extensions__=yes],
+-       [ac_cv_safe_to_define___extensions__=no])])
+-  test $ac_cv_safe_to_define___extensions__ = yes &&
+-    AC_DEFINE([__EXTENSIONS__])
+-  AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
+-  AC_DEFINE([_TANDEM_SOURCE])
+-])
+-
+ # gl_USE_SYSTEM_EXTENSIONS
+ # ------------------------
+ # Enable extensions on systems that normally disable them,
diff --git a/meta/packages/gzip/gzip_1.3.12.bb b/meta/packages/gzip/gzip_1.3.12.bb
new file mode 100644 (file)
index 0000000..c111e2e
--- /dev/null
@@ -0,0 +1,39 @@
+DESCRIPTION = "Standard GNU compressor"
+HOMEPAGE = "http://www.gnu.org/software/gzip"
+SECTION = "base"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+                    file://gzip.h;endline=22;md5=c0934ad1900d927f86556153d4c76d23 \
+                    file://lzw.h;endline=19;md5=c273e09a02edd9801cc74d39683049e9 "
+
+SRC_URI = "${GNU_MIRROR}/gzip/gzip-${PV}.tar.gz \
+           file://m4-extensions-fix.patch;patch=1 \
+           file://dup-def-fix.patch;patch=1"
+
+PR = "r0"
+
+inherit autotools
+
+do_install () {
+       autotools_do_install
+       # move files into /bin (FHS)
+       install -d ${D}${base_bindir}
+       mv ${D}${bindir}/gunzip ${D}${base_bindir}/gunzip.${PN}
+       mv ${D}${bindir}/gzip ${D}${base_bindir}/gzip.${PN}
+       mv ${D}${bindir}/zcat ${D}${base_bindir}/zcat.${PN}
+}
+
+pkg_postinst_${PN} () {
+       update-alternatives --install ${base_bindir}/gunzip gunzip gunzip.${PN} 100
+       update-alternatives --install ${base_bindir}/gzip gzip gzip.${PN} 100
+       update-alternatives --install ${base_bindir}/zcat zcat zcat.${PN} 100
+}
+
+pkg_prerm_${PN} () {
+       update-alternatives --remove gunzip gunzip.${PN}
+       update-alternatives --remove gzip gzip.${PN}
+       update-alternatives --remove zcat zcat.${PN}
+}
+
+BBCLASSEXTEND = "native"