Imported Upstream version 3.1.0
[debian/amanda] / config / amanda / dumpers.m4
index 9c455c6032670001cb8df5ea0ea6ed9b2bae7260..d1b15e7a64579eecc96b3ff28bbf23de91d08812 100644 (file)
@@ -36,20 +36,25 @@ AC_DEFUN([AMANDA_PROG_GNUTAR],
     if test "x$GNUTAR" = "xno"; then
        GNUTAR=
     else
+       OLD_GNUTAR=$GNUTAR
        for gnutar_name in gtar gnutar tar; do
            AC_PATH_PROGS(GNUTAR, $gnutar_name, , $LOCSYSPATH)
            if test -n "$GNUTAR"; then
-             case "`\"$GNUTAR\" --version 2>&1`" in
+             case `"$GNUTAR" --version 2>&1` in
               *GNU*tar* | *Free*paxutils* )
                            # OK, it is GNU tar
                            break
                            ;;
               *)
-                           # warning..
-                           AMANDA_MSG_WARN([$GNUTAR is not GNU tar, so it will not be used.])
-                           # reset the cache for GNUTAR so AC_PATH_PROGS will search again
-                           GNUTAR=''
-                           unset ac_cv_path_GNUTAR
+                           if test -n "$OLD_GNUTAR"; then
+                                   AMANDA_MSG_WARN([$GNUTAR is not GNU tar, it will be used.])
+                           else 
+                                   # warning..
+                                   AMANDA_MSG_WARN([$GNUTAR is not GNU tar, so it will not be used.])
+                                   # reset the cache for GNUTAR so AC_PATH_PROGS will search again
+                                   GNUTAR=''
+                                   unset ac_cv_path_GNUTAR
+                           fi
                            ;;
              esac
            fi
@@ -64,6 +69,72 @@ AC_DEFUN([AMANDA_PROG_GNUTAR],
     AC_SUBST(GNUTAR)
 ])
 
+# SYNOPSIS
+#
+#   AMANDA_PROG_STAR
+#
+# OVERVIEW
+#
+#   Search for a 'star' binary, placing the result in the precious 
+#   variable STAR.  The discovered binary is tested to ensure it's really
+#   star.
+#
+#   Also handle --with-star
+#
+AC_DEFUN([AMANDA_PROG_STAR],
+[
+    AC_REQUIRE([AMANDA_INIT_PROGS])
+
+    # call with
+    AC_ARG_WITH(star,
+       AS_HELP_STRING([--with-star=PROG],
+                      [use PROG as 'star']),
+       [
+           # check withval
+           case "$withval" in
+               /*) STAR="$withval";;
+               y|ye|yes) :;;
+               n|no) STAR=no ;;
+               *)  AC_MSG_ERROR([*** You must supply a full pathname to --with-star]);;
+           esac
+           # done
+       ]
+    )
+
+    if test "x$STAR" = "xno"; then
+       STAR=
+    else
+       OLD_STAR=$STAR
+       AC_PATH_PROGS(STAR, star, , $LOCSYSPATH)
+       if test -n "$STAR"; then
+           case `"$STAR" --version 2>/dev/null` in
+            *star*)
+                   # OK, it is star
+                   break
+                   ;;
+            *)
+                   if test -n "$OLD_STAR"; then
+                       AMANDA_MSG_WARN([$STAR is not star, it will be used.])
+                   else
+                       # warning..
+                       AMANDA_MSG_WARN([$STAR is not star, so it will not be used.])
+                       # reset the cache for STAR so AC_PATH_PROGS will search again
+                       STAR=''
+                       unset ac_cv_path_STAR
+                   fi
+                   ;;
+           esac
+       fi
+    fi
+
+    if test "x$STAR" != "x"; then
+       # define unquoted
+       AC_DEFINE_UNQUOTED(STAR, "$STAR", [Location of the 'star' binary])
+    fi
+    AC_ARG_VAR(STAR, [Location of the 'star' binary])
+    AC_SUBST(STAR)
+])
+
 # SYNOPSIS
 #
 #   AMANDA_PROG_SAMBA_CLIENT
@@ -107,11 +178,11 @@ AC_DEFUN([AMANDA_PROG_SAMBA_CLIENT],
       AC_PATH_PROG(SAMBA_CLIENT,smbclient,,$LOCSYSPATH)
       smbversion=0
       if test ! -z "$SAMBA_CLIENT"; then
-        case "`\"$SAMBA_CLIENT\" '\\\\not.a.host.name\\notashare' -U nosuchuser -N -Tx /dev/null 2>&1`" in
+        case `"$SAMBA_CLIENT" '\\\\nosuchhost.amanda.org\\notashare' -U nosuchuser -N -Tx /dev/null 2>&1` in
         *"Unknown host"*)
                      smbversion=1
                      ;;
-        *"Connection to not.a.host.name failed"*)
+        *"Connection to nosuchhost.amanda.org failed"*)
                      smbversion=2
                      ;;
         *)
@@ -214,7 +285,8 @@ AC_DEFUN([AMANDA_PROG_XFSDUMP_XFSRESTORE],
 #   the binaries we search for depends on the target system.  If working
 #   binaries are found, DUMP and RESTORE are defined to their full paths.
 #
-#   DUMP_RETURNS is defined if the system's 'dump' returns 1 on success.
+#   DUMP_RETURNS_1 is defined and substituted if the system's 'dump'
+#   returns 1 on success.
 #
 #   HAVE_DUMP_ESTIMATE is defined to the dump flag which enables estimates.
 #
@@ -233,23 +305,25 @@ AC_DEFUN([AMANDA_PROG_DUMP_RESTORE],
     # a variable is set up here to specify the order of dump programs to
     # search for on the system.
     DUMP_PROGRAMS="ufsdump dump backup"
-    dump_returns_1=
-    case "$target" in
+    DUMP_RETURNS_1=
+    AIX_BACKUP=
+    case "$host" in
        *-dg-*)
            DUMP_PROGRAMS="dump "$DUMP_PROGRAMS
-           dump_returns_1=yes
+           DUMP_RETURNS_1=1
            ;;
       *-ibm-aix*)
            DUMP_PROGRAMS="backup "$DUMP_PROGRAMS
+           AIX_BACKUP=1
            AC_DEFINE(AIX_BACKUP,1,
                [Is DUMP the AIX program 'backup'?])
            ;;
       *-ultrix*)
-           dump_returns_1=yes
+           DUMP_RETURNS_1=1
            ;;
     esac
 
-    if test -n "$dump_returns_1"; then
+    if test -n "$DUMP_RETURNS_1"; then
       AC_DEFINE(DUMP_RETURNS_1,1,
        [Define this if this system's dump exits with 1 as a success code. ])
     fi
@@ -362,6 +436,9 @@ AC_DEFUN([AMANDA_PROG_DUMP_RESTORE],
            fi
        ])
     fi
+
+    AC_SUBST(AIX_BACKUP)
+    AC_SUBST(DUMP_RETURNS_1)
 ])
 
 # SYNOPSIS
@@ -371,13 +448,13 @@ AC_DEFUN([AMANDA_PROG_DUMP_RESTORE],
 # DESCRIPTION
 #
 #   Decide if the 'rundump' setuid-root wrapper should be used to invoke
-#   dump.  If so, USE_RUNDUMP is #defined.
+#   dump.  If so, USE_RUNDUMP is defined and substituted.
 #
 AC_DEFUN([AMANDA_CHECK_USE_RUNDUMP], [
     USE_RUNDUMP=no
 
     # some systems require rundump unconditionally
-    case "$target" in
+    case "$host" in
         *-ultrix*) USE_RUNDUMP=yes ;;
         *-dg-*) USE_RUNDUMP=yes ;;
     esac
@@ -392,7 +469,12 @@ AC_DEFUN([AMANDA_CHECK_USE_RUNDUMP], [
         ])
 
     if test x"$USE_RUNDUMP" = x"yes"; then
+       USE_RUNDUMP=1
         AC_DEFINE(USE_RUNDUMP,1,
             [Define to invoke rundump (setuid-root) instead of DUMP program directly. ])
+    else
+       USE_RUNDUMP=
     fi
+
+    AC_SUBST(USE_RUNDUMP)
 ])