repo: Fix build without libsoup
authorMatthew Barnes <mbarnes@redhat.com>
Mon, 21 Sep 2015 20:11:40 +0000 (16:11 -0400)
committerMatthew Barnes <mbarnes@redhat.com>
Mon, 21 Sep 2015 20:31:02 +0000 (16:31 -0400)
Had a rare situation where I had no libsoup development files, so I
took the opportunity to fix the build errors.  Ugly, but works now.

Would be nice if libsoup could be a hard dependency since we rarely
ever test a configuration without it.

src/libostree/ostree-repo-private.h
src/libostree/ostree-repo.c

index cf6b803452870d958721558366975eacd90a6122..8f86fec45ca3e345af764eff85d93a1da5ee8166 100644 (file)
 #pragma once
 
 #include "ostree-repo.h"
+
+#ifdef HAVE_LIBSOUP
 #include "ostree-fetcher.h"
+#endif
 
 G_BEGIN_DECLS
 
@@ -204,10 +207,12 @@ _ostree_repo_get_remote_option_inherit (OstreeRepo  *self,
                                         char       **out_value,
                                         GError     **error);
 
+#ifdef HAVE_LIBSOUP
 OstreeFetcher *
 _ostree_repo_remote_new_fetcher (OstreeRepo  *self,
                                  const char  *remote_name,
                                  GError     **error);
+#endif
 
 OstreeGpgVerifyResult *
 _ostree_repo_gpg_verify_with_metadata (OstreeRepo          *self,
index 8d2fa93abce47c153cda69285eb7a9c641e61c07..43dcb2b48019b3fd8d18fe9e171d68c9cd4b6615 100644 (file)
 #include "ostree-repo-file-enumerator.h"
 #include "ostree-gpg-verifier.h"
 #include "ostree-repo-static-delta-private.h"
+
+#ifdef HAVE_LIBSOUP
 #include "ostree-metalink.h"
+#endif
 
 #include <locale.h>
 #include <glib/gstdio.h>
@@ -394,6 +397,7 @@ out:
   return ret;
 }
 
+#ifdef HAVE_LIBSOUP
 OstreeFetcher *
 _ostree_repo_remote_new_fetcher (OstreeRepo  *self,
                                  const char  *remote_name,
@@ -494,6 +498,7 @@ out:
 
   return fetcher;
 }
+#endif
 
 static void
 ostree_repo_finalize (GObject *object)
@@ -1670,6 +1675,7 @@ out:
   return ret;
 }
 
+#ifdef HAVE_LIBSOUP
 static gboolean
 _ostree_preload_metadata_file (OstreeRepo    *self,
                                OstreeFetcher *fetcher,
@@ -1798,6 +1804,7 @@ repo_remote_fetch_summary (OstreeRepo    *self,
     soup_uri_free (base_uri);
   return ret;
 }
+#endif
 
 /**
  * ostree_repo_remote_fetch_summary:
@@ -1830,6 +1837,7 @@ ostree_repo_remote_fetch_summary (OstreeRepo    *self,
                                   GCancellable  *cancellable,
                                   GError       **error)
 {
+#ifdef HAVE_LIBSOUP
   g_autofree char *metalink_url_string = NULL;
   g_autoptr(GBytes) summary = NULL;
   g_autoptr(GBytes) signatures = NULL;
@@ -1898,6 +1906,11 @@ ostree_repo_remote_fetch_summary (OstreeRepo    *self,
 
 out:
   return ret;
+#else
+  g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
+                       "This version of ostree was built without libsoup, and cannot fetch over HTTP");
+  return FALSE;
+#endif
 }
 
 static gboolean