[ostree] repo: Fix build without libsoup



commit 203d6ea65e4ac3fe46a59a9f9dee84cecb413504
Author: Matthew Barnes <mbarnes redhat com>
Date:   Mon Sep 21 16:11:40 2015 -0400

    repo: Fix build without libsoup
    
    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 |    5 +++++
 src/libostree/ostree-repo.c         |   13 +++++++++++++
 2 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/src/libostree/ostree-repo-private.h b/src/libostree/ostree-repo-private.h
index cf6b803..8f86fec 100644
--- a/src/libostree/ostree-repo-private.h
+++ b/src/libostree/ostree-repo-private.h
@@ -21,7 +21,10 @@
 #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,
diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c
index 8d2fa93..43dcb2b 100644
--- a/src/libostree/ostree-repo.c
+++ b/src/libostree/ostree-repo.c
@@ -34,7 +34,10 @@
 #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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]