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
@@ -30,11 +30,15 @@ G_BEGIN_DECLS
|
||||
|
||||
typedef struct _OstreeDeployment OstreeDeployment;
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
GType ostree_deployment_get_type (void) G_GNUC_CONST;
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
guint ostree_deployment_hash (gconstpointer v);
|
||||
_OSTREE_PUBLIC
|
||||
gboolean ostree_deployment_equal (gconstpointer ap, gconstpointer bp);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
OstreeDeployment * ostree_deployment_new (int index,
|
||||
const char *osname,
|
||||
const char *csum,
|
||||
@@ -42,22 +46,36 @@ OstreeDeployment * ostree_deployment_new (int index,
|
||||
const char *bootcsum,
|
||||
int bootserial);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
int ostree_deployment_get_index (OstreeDeployment *self);
|
||||
_OSTREE_PUBLIC
|
||||
const char *ostree_deployment_get_osname (OstreeDeployment *self);
|
||||
_OSTREE_PUBLIC
|
||||
int ostree_deployment_get_deployserial (OstreeDeployment *self);
|
||||
_OSTREE_PUBLIC
|
||||
const char *ostree_deployment_get_csum (OstreeDeployment *self);
|
||||
_OSTREE_PUBLIC
|
||||
const char *ostree_deployment_get_bootcsum (OstreeDeployment *self);
|
||||
_OSTREE_PUBLIC
|
||||
int ostree_deployment_get_bootserial (OstreeDeployment *self);
|
||||
_OSTREE_PUBLIC
|
||||
OstreeBootconfigParser *ostree_deployment_get_bootconfig (OstreeDeployment *self);
|
||||
_OSTREE_PUBLIC
|
||||
GKeyFile *ostree_deployment_get_origin (OstreeDeployment *self);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_deployment_set_index (OstreeDeployment *self, int index);
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_deployment_set_bootserial (OstreeDeployment *self, int index);
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_deployment_set_bootconfig (OstreeDeployment *self, OstreeBootconfigParser *bootconfig);
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_deployment_set_origin (OstreeDeployment *self, GKeyFile *origin);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
OstreeDeployment *ostree_deployment_clone (OstreeDeployment *self);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
char *ostree_deployment_get_origin_relpath (OstreeDeployment *self);
|
||||
|
||||
G_END_DECLS
|
||||
Reference in new issue
Block a user