lib: Introduce versioned symbols
As rpm-ostree evolves, it keeps driving API additions to libostree. This creates a relatively tight coupling. However, if delivering via e.g. RPM, unless one manually remembers to increment the `Requires:` in the spec file, it's possible for the two to become desynchronized. RPM handles versioned symbols and will ensure a dependency if the application starts using a newer version. To implement this, switch to `-fvisibility=hidden`, along with an annotation in the header, and finally add a `.sym` file. This matches what other projects like systemd and libvirt do. Although rather than attempting to retroactively version symbols, glom them all onto the current one.
This commit is contained in:
1 parent
2badf36cfd
commit
16979cc5ed
19 files changed
+608
-13
No files matched your search
@@ -45,50 +45,62 @@ struct OstreeMutableTreeClass
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
GType ostree_mutable_tree_get_type (void) G_GNUC_CONST;
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
OstreeMutableTree *ostree_mutable_tree_new (void);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_mutable_tree_set_metadata_checksum (OstreeMutableTree *self,
|
||||
const char *checksum);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
const char *ostree_mutable_tree_get_metadata_checksum (OstreeMutableTree *self);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_mutable_tree_set_contents_checksum (OstreeMutableTree *self,
|
||||
const char *checksum);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
const char *ostree_mutable_tree_get_contents_checksum (OstreeMutableTree *self);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
gboolean ostree_mutable_tree_replace_file (OstreeMutableTree *self,
|
||||
const char *name,
|
||||
const char *checksum,
|
||||
GError **error);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
gboolean ostree_mutable_tree_ensure_dir (OstreeMutableTree *self,
|
||||
const char *name,
|
||||
OstreeMutableTree **out_subdir,
|
||||
GError **error);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
gboolean ostree_mutable_tree_lookup (OstreeMutableTree *self,
|
||||
const char *name,
|
||||
char **out_file_checksum,
|
||||
OstreeMutableTree **out_subdir,
|
||||
GError **error);
|
||||
|
||||
gboolean
|
||||
_OSTREE_PUBLIC gboolean
|
||||
ostree_mutable_tree_ensure_parent_dirs (OstreeMutableTree *self,
|
||||
GPtrArray *split_path,
|
||||
const char *metadata_checksum,
|
||||
OstreeMutableTree **out_parent,
|
||||
GError **error);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
gboolean ostree_mutable_tree_walk (OstreeMutableTree *self,
|
||||
GPtrArray *split_path,
|
||||
guint start,
|
||||
OstreeMutableTree **out_subdir,
|
||||
GError **error);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
GHashTable * ostree_mutable_tree_get_subdirs (OstreeMutableTree *self);
|
||||
_OSTREE_PUBLIC
|
||||
GHashTable * ostree_mutable_tree_get_files (OstreeMutableTree *self);
|
||||
|
||||
G_END_DECLS
|
||||
Reference in new issue
Block a user