From 1eae4c45c9d04314c927c8ac6323133414020ba3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 14 Jul 2011 23:49:37 +0200 Subject: [PATCH] libs: add symbol versioning for the benefit of RPM --- Makefile.am | 6 ++++-- libsystemd-daemon.pc.in | 13 +++++++------ src/libsystemd-daemon.sym | 27 +++++++++++++++++++++++++++ src/libsystemd-login.sym | 24 ++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 8 deletions(-) create mode 100644 src/libsystemd-daemon.sym create mode 100644 src/libsystemd-login.sym diff --git a/Makefile.am b/Makefile.am index 767baf7c..fc59b57c 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 2b6b9d67..8bb3a74c 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 00000000..f4402389 --- /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 00000000..708ef6ff --- /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: + *; +}; -- 2.39.5