Use libglnx
Starting down the path of not using libgsystem. The main win here will be code sharing between ostree/rpm-ostree as well as going down the path of not using GFile * for local files.
This commit is contained in:
parent
ef53e0100b
commit
965a304a17
|
|
@ -1,6 +1,7 @@
|
||||||
# Standard C/Automake goo
|
# Standard C/Automake goo
|
||||||
.deps
|
.deps
|
||||||
.libs
|
.libs
|
||||||
|
.dirstamp
|
||||||
*.typelib
|
*.typelib
|
||||||
*.la
|
*.la
|
||||||
*.lo
|
*.lo
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "libglnx"]
|
||||||
|
path = libglnx
|
||||||
|
url = https://git.gnome.org/browse/libglnx
|
||||||
|
|
@ -106,10 +106,10 @@ libostree_1_la_SOURCES += \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/libotutil -I$(srcdir)/src/libostree \
|
libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/libglnx -I$(srcdir)/src/libotutil -I$(srcdir)/src/libostree \
|
||||||
$(OT_INTERNAL_GIO_UNIX_CFLAGS) $(OT_DEP_LZMA_CFLAGS)
|
$(OT_INTERNAL_GIO_UNIX_CFLAGS) $(OT_DEP_LZMA_CFLAGS)
|
||||||
libostree_1_la_LDFLAGS = -version-number 1:0:0 -Bsymbolic-functions -export-symbols-regex '^ostree_'
|
libostree_1_la_LDFLAGS = -version-number 1:0:0 -Bsymbolic-functions -export-symbols-regex '^ostree_'
|
||||||
libostree_1_la_LIBADD = libotutil.la libostree-kernel-args.la $(OT_INTERNAL_GIO_UNIX_LIBS) $(OT_DEP_LZMA_LIBS)
|
libostree_1_la_LIBADD = libotutil.la libglnx.la libostree-kernel-args.la $(OT_INTERNAL_GIO_UNIX_LIBS) $(OT_DEP_LZMA_LIBS)
|
||||||
|
|
||||||
if USE_LIBARCHIVE
|
if USE_LIBARCHIVE
|
||||||
libostree_1_la_CFLAGS += $(OT_DEP_LIBARCHIVE_CFLAGS)
|
libostree_1_la_CFLAGS += $(OT_DEP_LIBARCHIVE_CFLAGS)
|
||||||
|
|
|
||||||
|
|
@ -75,9 +75,9 @@ ostree_SOURCES += \
|
||||||
|
|
||||||
ostree_bin_shared_cflags = $(AM_CFLAGS) -I$(srcdir)/src/libotutil -I$(srcdir)/src/libostree -I$(srcdir)/src/ostree \
|
ostree_bin_shared_cflags = $(AM_CFLAGS) -I$(srcdir)/src/libotutil -I$(srcdir)/src/libostree -I$(srcdir)/src/ostree \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
ostree_bin_shared_ldadd = libotutil.la libostree-kernel-args.la libostree-1.la
|
ostree_bin_shared_ldadd = libglnx.la libotutil.la libostree-kernel-args.la libostree-1.la
|
||||||
|
|
||||||
ostree_CFLAGS = $(ostree_bin_shared_cflags) $(OT_INTERNAL_GIO_UNIX_CFLAGS)
|
ostree_CFLAGS = $(ostree_bin_shared_cflags) $(OT_INTERNAL_GIO_UNIX_CFLAGS) -I$(srcdir)/libglnx
|
||||||
ostree_LDADD = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_GIO_UNIX_LIBS)
|
ostree_LDADD = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_GIO_UNIX_LIBS)
|
||||||
|
|
||||||
if USE_LIBSOUP
|
if USE_LIBSOUP
|
||||||
|
|
|
||||||
|
|
@ -41,5 +41,5 @@ libotutil_la_SOURCES = \
|
||||||
src/libotutil/otutil.c \
|
src/libotutil/otutil.c \
|
||||||
src/libotutil/otutil.h \
|
src/libotutil/otutil.h \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
libotutil_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/libotutil -DLOCALEDIR=\"$(datadir)/locale\" $(OT_INTERNAL_GIO_UNIX_CFLAGS)
|
libotutil_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/libglnx -I$(srcdir)/src/libotutil -DLOCALEDIR=\"$(datadir)/locale\" $(OT_INTERNAL_GIO_UNIX_CFLAGS)
|
||||||
libotutil_la_LIBADD = $(OT_INTERNAL_GIO_UNIX_LIBS)
|
libotutil_la_LIBADD = $(OT_INTERNAL_GIO_UNIX_LIBS)
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,12 @@ GIRS =
|
||||||
TYPELIBS = $(GIRS:.gir=.typelib)
|
TYPELIBS = $(GIRS:.gir=.typelib)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
libglnx_srcpath := $(srcdir)/libglnx
|
||||||
|
libglnx_cflags := $(OT_DEP_GIO_UNIX_CFLAGS) "-I$(libglnx_srcpath)"
|
||||||
|
libglnx_libs := $(OT_DEP_GIO_UNIX_LIBS)
|
||||||
|
include libglnx/Makefile-libglnx.am.inc
|
||||||
|
noinst_LTLIBRARIES += libglnx.la
|
||||||
|
|
||||||
include Makefile-otutil.am
|
include Makefile-otutil.am
|
||||||
include Makefile-libostree.am
|
include Makefile-libostree.am
|
||||||
include Makefile-ostree.am
|
include Makefile-ostree.am
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,13 @@ else
|
||||||
gtkdocize || exit $?
|
gtkdocize || exit $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
cd $olddir
|
||||||
|
if ! test -f libglnx/README.md; then
|
||||||
|
git submodule update --init
|
||||||
|
fi
|
||||||
|
# Workaround automake bug with subdir-objects and computed paths
|
||||||
|
sed -e 's,$(libglnx_srcpath),'${srcdir}/libglnx, < libglnx/Makefile-libglnx.am >libglnx/Makefile-libglnx.am.inc
|
||||||
|
|
||||||
autoreconf --force --install --verbose
|
autoreconf --force --install --verbose
|
||||||
|
|
||||||
cd $olddir
|
|
||||||
test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
|
test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 20b507de5c14df8da678d48f9028fe61340c390d
|
||||||
|
|
@ -31,6 +31,7 @@
|
||||||
#include "ostree-chain-input-stream.h"
|
#include "ostree-chain-input-stream.h"
|
||||||
#include "otutil.h"
|
#include "otutil.h"
|
||||||
#include "libgsystem.h"
|
#include "libgsystem.h"
|
||||||
|
#include "libglnx.h"
|
||||||
|
|
||||||
#define ALIGN_VALUE(this, boundary) \
|
#define ALIGN_VALUE(this, boundary) \
|
||||||
(( ((unsigned long)(this)) + (((unsigned long)(boundary)) -1)) & (~(((unsigned long)(boundary))-1)))
|
(( ((unsigned long)(this)) + (((unsigned long)(boundary)) -1)) & (~(((unsigned long)(boundary))-1)))
|
||||||
|
|
@ -209,7 +210,7 @@ file_header_new (GFileInfo *file_info,
|
||||||
guint32 mode;
|
guint32 mode;
|
||||||
const char *symlink_target;
|
const char *symlink_target;
|
||||||
GVariant *ret;
|
GVariant *ret;
|
||||||
gs_unref_variant GVariant *tmp_xattrs = NULL;
|
g_autoptr(GVariant) tmp_xattrs = NULL;
|
||||||
|
|
||||||
uid = g_file_info_get_attribute_uint32 (file_info, "unix::uid");
|
uid = g_file_info_get_attribute_uint32 (file_info, "unix::uid");
|
||||||
gid = g_file_info_get_attribute_uint32 (file_info, "unix::gid");
|
gid = g_file_info_get_attribute_uint32 (file_info, "unix::gid");
|
||||||
|
|
|
||||||
|
|
@ -133,7 +133,7 @@ ot_util_variant_map (GFile *src,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
gboolean ret = FALSE;
|
gboolean ret = FALSE;
|
||||||
gs_unref_variant GVariant *ret_variant = NULL;
|
g_autoptr(GVariant) ret_variant = NULL;
|
||||||
GMappedFile *mfile = NULL;
|
GMappedFile *mfile = NULL;
|
||||||
|
|
||||||
mfile = gs_file_map_noatime (src, NULL, error);
|
mfile = gs_file_map_noatime (src, NULL, error);
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
#include <libgsystem.h>
|
#include <libgsystem.h>
|
||||||
#include <string.h> /* Yeah...let's just do that here. */
|
#include <string.h> /* Yeah...let's just do that here. */
|
||||||
#include <gsystem-local-alloc.h>
|
#include <gsystem-local-alloc.h>
|
||||||
|
#include <libglnx.h>
|
||||||
|
|
||||||
#define ot_gobject_refz(o) (o ? g_object_ref (o) : o)
|
#define ot_gobject_refz(o) (o ? g_object_ref (o) : o)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ ot_admin_require_booted_deployment_or_osname (OstreeSysroot *sysroot,
|
||||||
char *
|
char *
|
||||||
ot_admin_checksum_version (GVariant *checksum)
|
ot_admin_checksum_version (GVariant *checksum)
|
||||||
{
|
{
|
||||||
gs_unref_variant GVariant *metadata = NULL;
|
g_autoptr(GVariant) metadata = NULL;
|
||||||
const char *ret = NULL;
|
const char *ret = NULL;
|
||||||
|
|
||||||
metadata = g_variant_get_child_value (checksum, 0);
|
metadata = g_variant_get_child_value (checksum, 0);
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,8 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include <libglnx.h>
|
||||||
|
|
||||||
#include "ostree.h"
|
#include "ostree.h"
|
||||||
#include "ot-main.h"
|
#include "ot-main.h"
|
||||||
#include "otutil.h"
|
#include "otutil.h"
|
||||||
|
|
@ -230,7 +232,7 @@ ostree_option_context_parse (GOptionContext *context,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
gs_unref_object OstreeRepo *repo = NULL;
|
glnx_unref_object OstreeRepo *repo = NULL;
|
||||||
gboolean success = FALSE;
|
gboolean success = FALSE;
|
||||||
|
|
||||||
/* Entries are listed in --help output in the order added. We add the
|
/* Entries are listed in --help output in the order added. We add the
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue