Old versions of augeas lack aug_load, aug_defvar, aug_node. Check for those calls.
authorRichard Jones <rjones@redhat.com>
Sun, 12 Apr 2009 23:51:56 +0000 (00:51 +0100)
committerRichard Jones <rjones@redhat.com>
Sun, 12 Apr 2009 23:51:56 +0000 (00:51 +0100)
configure.ac
daemon/augeas.c
daemon/configure.ac

index 4c9a593..3f8807f 100644 (file)
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-AC_INIT([libguestfs],[0.8.1])
+AC_INIT([libguestfs],[0.8.2])
 AM_INIT_AUTOMAKE
 
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE
 
 AC_CONFIG_MACRO_DIR([m4])
index 76b85d9..3595f8d 100644 (file)
@@ -90,6 +90,7 @@ do_aug_close (void)
 int
 do_aug_defvar (const char *name, const char *expr)
 {
 int
 do_aug_defvar (const char *name, const char *expr)
 {
+#ifdef HAVE_AUG_DEFVAR
   int r;
 
   NEED_AUG (-1);
   int r;
 
   NEED_AUG (-1);
@@ -100,11 +101,16 @@ do_aug_defvar (const char *name, const char *expr)
     return -1;
   }
   return r;
     return -1;
   }
   return r;
+#else
+  reply_with_error ("aug_defvar is not available");
+  return -1;
+#endif
 }
 
 guestfs_aug_defnode_ret *
 do_aug_defnode (const char *name, const char *expr, const char *val)
 {
 }
 
 guestfs_aug_defnode_ret *
 do_aug_defnode (const char *name, const char *expr, const char *val)
 {
+#ifdef HAVE_AUG_DEFNODE
   static guestfs_aug_defnode_ret r;
   int created;
 
   static guestfs_aug_defnode_ret r;
   int created;
 
@@ -117,6 +123,10 @@ do_aug_defnode (const char *name, const char *expr, const char *val)
   }
   r.created = created;
   return &r;
   }
   r.created = created;
   return &r;
+#else
+  reply_with_error ("aug_defvar is not available");
+  return NULL;
+#endif
 }
 
 char *
 }
 
 char *
@@ -267,6 +277,7 @@ do_aug_save (void)
 int
 do_aug_load (void)
 {
 int
 do_aug_load (void)
 {
+#ifdef HAVE_AUG_LOAD
   NEED_AUG (-1);
 
   if (aug_load (aug) == -1) {
   NEED_AUG (-1);
 
   if (aug_load (aug) == -1) {
@@ -275,6 +286,10 @@ do_aug_load (void)
   }
 
   return 0;
   }
 
   return 0;
+#else
+  reply_with_error ("aug_load is not available");
+  return -1;
+#endif
 }
 
 /* Simpler version of aug-match, which also sorts the output. */
 }
 
 /* Simpler version of aug-match, which also sorts the output. */
index 7ce03ab..8edcb2d 100644 (file)
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-AC_INIT([libguestfs-daemon],[0.7])
+AC_INIT([libguestfs-daemon],[0.8.2])
 AM_INIT_AUTOMAKE
 
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE
 
 AC_CONFIG_MACRO_DIR([m4])
@@ -42,6 +42,9 @@ AC_CHECK_LIB([augeas],[aug_match],,[
        AC_MSG_ERROR([Augeas library not found])
        ])
 
        AC_MSG_ERROR([Augeas library not found])
        ])
 
+dnl Check for functions not available in earlier versions of Augeas.
+AC_CHECK_FUNC([aug_load aug_defvar aug_defnode])
+
 dnl Check for XDR library.
 AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
        AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])
 dnl Check for XDR library.
 AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
        AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])