ostree-repo-libarchive.c: major refactor

- Make hardlink handling more generic. The previous strategy worked for
  tar archives, but not for cpio. It now works for both.
- Add support for SEL labeling (through the OstreeRepoCommitModifier)
- Add support for xattr_callback (through the OstreeRepoCommitModifier)
- Add support for filter (through the OstreeRepoCommitModifier)
- Add a use_ostree_convention option

Closes: #275
Approved by: cgwalters
This commit is contained in:
Jonathan Lebon authored and Colin Walters (automation) committed 2016-05-06 14:44:55 +00:00
1 parent 6724519080
commit b1d3dd151c
4 files changed
+767 -278

No files matched your search

-16
View File
@@ -36,22 +36,6 @@
#include <sys/xattr.h>
#include <glib/gprintf.h>
struct OstreeRepoCommitModifier {
volatile gint refcount;
OstreeRepoCommitModifierFlags flags;
OstreeRepoCommitFilter filter;
gpointer user_data;
GDestroyNotify destroy_notify;
OstreeRepoCommitModifierXattrCallback xattr_callback;
GDestroyNotify xattr_destroy;
gpointer xattr_user_data;
OstreeSePolicy *sepolicy;
GHashTable *devino_cache;
};
gboolean
_ostree_repo_ensure_loose_objdir_at (int dfd,
const char *loose_path,
File diff suppressed because it is too large. Load diff
+16
View File
@@ -40,6 +40,22 @@ typedef enum {
OSTREE_REPO_TEST_ERROR_PRE_COMMIT = (1 << 0)
} OstreeRepoTestErrorFlags;
struct OstreeRepoCommitModifier {
volatile gint refcount;
OstreeRepoCommitModifierFlags flags;
OstreeRepoCommitFilter filter;
gpointer user_data;
GDestroyNotify destroy_notify;
OstreeRepoCommitModifierXattrCallback xattr_callback;
GDestroyNotify xattr_destroy;
gpointer xattr_user_data;
OstreeSePolicy *sepolicy;
GHashTable *devino_cache;
};
/**
* OstreeRepo:
*
+3 -1
View File
@@ -582,7 +582,9 @@ gboolean ostree_repo_write_archive_to_mtree (OstreeRepo *
typedef struct {
guint ignore_unsupported_content : 1;
guint autocreate_parents : 1;
guint reserved : 30;
guint use_ostree_convention : 1;
guint callback_with_entry_pathname : 1;
guint reserved : 28;
guint unused_uint[8];
gpointer unused_ptrs[8];