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
@@ -29,7 +29,8 @@ typedef struct {
|
||||
gboolean (* ostree_static_delta_dump) (OstreeRepo *repo, const char *delta_id, GCancellable *cancellable, GError **error);
|
||||
} OstreeCmdPrivateVTable;
|
||||
|
||||
const OstreeCmdPrivateVTable *
|
||||
/* Note this not really "public", we just export the symbol, but not the header */
|
||||
_OSTREE_PUBLIC const OstreeCmdPrivateVTable *
|
||||
ostree_cmd__private__ (void);
|
||||
|
||||
G_END_DECLS
|
||||
Reference in new issue
Block a user