On cross-compile platform, automatic check of ustar is unreliable, so we specify explicitly tar path after check manually.
Signed-off-by: Wenlin Kang <[email protected]> --- .../fix-ustar-and-tar-path-check-issue.patch | 46 ++++++++++++++++++++++ meta/recipes-support/gnupg/gnupg_1.4.7.bb | 2 + 2 files changed, 48 insertions(+) create mode 100644 meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch new file mode 100644 index 0000000..fca8d64 --- /dev/null +++ b/meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch @@ -0,0 +1,46 @@ +Remove automatic detection of tar path and ustar format + +Remove automatic detection of tar path and ustar format, because they +are unreliable and inappropriate for cross-compile platform. + +Upstream status: Inappropriate [cross-compile platform specific] + +Signed-off-by: Wenlin Kang <[email protected]> + +diff -uarN gnupg-1.4.7-org/m4/tar-ustar.m4 gnupg-1.4.7/m4/tar-ustar.m4 +--- gnupg-1.4.7-org/m4/tar-ustar.m4 2016-12-19 11:06:58.621838069 +0800 ++++ gnupg-1.4.7/m4/tar-ustar.m4 2016-12-19 11:13:31.721840809 +0800 +@@ -15,22 +15,22 @@ + + if test x$_do_tar != xno ; then + +- if test x$_do_tar = x ; then +- AC_PATH_PROG(TAR,"tar") +- _mytar=$ac_cv_path_TAR +- fi +- + # Check if our tar is ustar format. If so, it's good. TODO: Add some + # code to check various options, etc, to try and create ustar + # format. + +- if test x$_mytar != x ; then +- AC_MSG_CHECKING([whether $_mytar speaks USTAR]) +- echo hithere > conftest.txt +- $_mytar -cf - conftest.txt | (dd skip=257 bs=1 count=5 2>/dev/null || cat) | grep ustar > /dev/null +- _tar_bad=$? +- rm conftest.txt ++ if test x$_do_tar != x ; then ++ AC_SUBST(TAR,$_do_tar) ++ AC_MSG_CHECKING([whether $_do_tar speaks USTAR]) ++ ++ # Here, we ignore the check code, because it isn't indeed applicable for ++ # cross-compile platform. ++ # Now our tar support ustar, so we say directly yes, but once the tar is changed, ++ # you should check whether it suppport ustar, and please reference the follow command: ++ # echo hithere > conftest.txt ++ # tar -cf - conftest.txt | (dd skip=257 bs=1 count=5 2>/dev/null || cat) | grep ustar > /dev/null + ++ _tar_bad=0 + if test x$_tar_bad = x0 ; then + AC_MSG_RESULT([yes]) + else diff --git a/meta/recipes-support/gnupg/gnupg_1.4.7.bb b/meta/recipes-support/gnupg/gnupg_1.4.7.bb index 6ccffd5..6ea6fe3 100644 --- a/meta/recipes-support/gnupg/gnupg_1.4.7.bb +++ b/meta/recipes-support/gnupg/gnupg_1.4.7.bb @@ -18,6 +18,7 @@ SRC_URI = "${GNUPG_MIRROR}/gnupg/gnupg-${PV}.tar.bz2 \ file://CVE-2013-4351.patch \ file://CVE-2013-4576.patch \ file://CVE-2013-4242.patch \ + file://fix-ustar-and-tar-path-check-issue.patch \ " SRC_URI[md5sum] = "b06a141cca5cd1a55bbdd25ab833303c" @@ -79,6 +80,7 @@ EXTRA_OECONF = "--disable-ldap \ --disable-selinux-support \ --with-readline=${STAGING_LIBDIR}/.. \ ac_cv_sys_symbol_underscore=no \ + --with-tar=${base_bindir}/tar \ " # Force gcc's traditional handling of inline to avoid issues with gcc 5 -- 1.9.1 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
