summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-07-14 23:49:37 +0200
committerLennart Poettering <lennart@poettering.net>2011-07-14 23:49:37 +0200
commit1eae4c45c9d04314c927c8ac6323133414020ba3 (patch)
tree161b4d1e0db37e0a31fb1a9d3361870776b96875
parent114a50f898a89bd7784c215ac5df95ec8c45a905 (diff)
libs: add symbol versioning for the benefit of RPM
-rw-r--r--Makefile.am6
-rw-r--r--libsystemd-daemon.pc.in13
-rw-r--r--src/libsystemd-daemon.sym27
-rw-r--r--src/libsystemd-login.sym24
4 files changed, 62 insertions, 8 deletions
diff --git a/Makefile.am b/Makefile.am
index 767baf7cd3..fc59b57c0f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1377,7 +1377,8 @@ libsystemd_daemon_la_CFLAGS = \
libsystemd_daemon_la_LDFLAGS = \
-shared \
- -version-info $(LIBSYSTEMD_DAEMON_CURRENT):$(LIBSYSTEMD_DAEMON_REVISION):$(LIBSYSTEMD_DAEMON_AGE)
+ -version-info $(LIBSYSTEMD_DAEMON_CURRENT):$(LIBSYSTEMD_DAEMON_REVISION):$(LIBSYSTEMD_DAEMON_AGE) \
+ -Wl,--version-script=$(top_srcdir)/src/libsystemd-daemon.sym
libsystemd_login_la_SOURCES = \
src/sd-login.c \
@@ -1389,7 +1390,8 @@ libsystemd_login_la_CFLAGS = \
libsystemd_login_la_LDFLAGS = \
-shared \
- -version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE)
+ -version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \
+ -Wl,--version-script=$(top_srcdir)/src/libsystemd-login.sym
libsystemd_login_la_LIBADD = \
libsystemd-basic.la
diff --git a/libsystemd-daemon.pc.in b/libsystemd-daemon.pc.in
index 2b6b9d6727..8bb3a74c87 100644
--- a/libsystemd-daemon.pc.in
+++ b/libsystemd-daemon.pc.in
@@ -1,9 +1,10 @@
-# This file is part of systemd.
-#
-# systemd is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
+# Permission is hereby granted, free of charge, to any person
+# obtaining a copy of this software and associated documentation files
+# (the "Software"), to deal in the Software without restriction,
+# including without limitation the rights to use, copy, modify, merge,
+# publish, distribute, sublicense, and/or sell copies of the Software,
+# and to permit persons to whom the Software is furnished to do so,
+# subject to the following conditions:
prefix=@prefix@
exec_prefix=@exec_prefix@
diff --git a/src/libsystemd-daemon.sym b/src/libsystemd-daemon.sym
new file mode 100644
index 0000000000..f440238931
--- /dev/null
+++ b/src/libsystemd-daemon.sym
@@ -0,0 +1,27 @@
+/***
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation files
+ (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+***/
+
+/* Original symbols from systemd v31 */
+
+LIBSYSTEMD_DAEMON_31 {
+global:
+ sd_booted;
+ sd_is_fifo;
+ sd_is_mq;
+ sd_is_socket;
+ sd_is_socket_inet;
+ sd_is_socket_unix;
+ sd_is_special;
+ sd_listen_fds;
+ sd_notify;
+ sd_notifyf;
+local:
+ *;
+};
diff --git a/src/libsystemd-login.sym b/src/libsystemd-login.sym
new file mode 100644
index 0000000000..708ef6ff25
--- /dev/null
+++ b/src/libsystemd-login.sym
@@ -0,0 +1,24 @@
+/***
+ This file is part of systemd.
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+***/
+
+/* Original symbols from systemd v31 */
+
+LIBSYSTEMD_LOGIN_31 {
+global:
+ sd_pid_get_session;
+ sd_seat_get_active;
+ sd_session_get_seat;
+ sd_session_get_uid;
+ sd_session_is_active;
+ sd_uid_get_state;
+ sd_uid_is_active_on_seat;
+ sd_uid_is_on_seat;
+local:
+ *;
+};