summaryrefslogtreecommitdiffstats
path: root/m4/tar-ustar.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/tar-ustar.m4')
-rw-r--r--m4/tar-ustar.m443
1 files changed, 43 insertions, 0 deletions
diff --git a/m4/tar-ustar.m4 b/m4/tar-ustar.m4
new file mode 100644
index 0000000..4ae9e63
--- /dev/null
+++ b/m4/tar-ustar.m4
@@ -0,0 +1,43 @@
+dnl Check for a tar program that speaks ustar format
+dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+dnl
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+AC_DEFUN([GNUPG_CHECK_USTAR],
+[
+ AC_ARG_WITH(tar,
+ AC_HELP_STRING([--with-tar=PATH],[look for a tar program in PATH]),
+ [_do_tar=$withval])
+
+ 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$_tar_bad = x0 ; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ fi
+
+ AM_CONDITIONAL(HAVE_USTAR, test x$_tar_bad = x0)
+])dnl