From c4695f192c985b8da19432381edb657653178669 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Thu, 16 Jun 2016 16:17:46 -0400 Subject: [PATCH] build: Rename SystemTap scripts to include the LT version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In a vague attempt at ensuring the .stp scripts can be closely associated with the .so files which they hard-code references to, rename the scripts so they include the LT version — so that they are the .so file name plus .stp. This does not fix the fact that our .stp scripts will not work on multiarch systems, as they are installed in an architecture-independent directory (/usr/share/systemtap/tapset). At the moment, it is recommended that any distribution who package the .stp files should install them in the architecture-specific subdirectories of this (for example, /usr/share/systemtap/tapset/x86-64). A better long-term solution for this is under discussion upstream: https://sourceware.org/bugzilla/show_bug.cgi?id=20264 https://bugzilla.gnome.org/show_bug.cgi?id=662802 --- docs/reference/glib/running.xml | 6 +++--- gio/Makefile.am | 11 +++++------ glib/Makefile.am | 9 ++++----- gobject/Makefile.am | 11 +++++------ 4 files changed, 17 insertions(+), 20 deletions(-) diff --git a/docs/reference/glib/running.xml b/docs/reference/glib/running.xml index c05820b24..f50c690a3 100644 --- a/docs/reference/glib/running.xml +++ b/docs/reference/glib/running.xml @@ -308,10 +308,10 @@ Which would print the contents of each widget in a list of widgets. SystemTap is a dynamic whole-system -analysis toolkit. GLib ships with a file glib.stp which defines a +analysis toolkit. GLib ships with a file libglib-2.0.so.*.stp which defines a set of probe points, which you can hook into with custom SystemTap scripts. -See the files glib.stp, gobject.stp -and gio.stp which +See the files libglib-2.0.so.*.stp, libgobject-2.0.so.*.stp +and libgio-2.0.so.*.stp which are in your shared SystemTap scripts directory. diff --git a/gio/Makefile.am b/gio/Makefile.am index ff8aed099..33a73fbd9 100644 --- a/gio/Makefile.am +++ b/gio/Makefile.am @@ -776,15 +776,14 @@ CLEANFILES += gio_probes.h gio_probes.h.tmp libgio_2_0_la_LIBADD += gio_probes.lo endif -tapset_in_files = gio.stp.in -EXTRA_DIST += $(tapset_in_files) +tapsetdir = @ABS_TAPSET_DIR@ +EXTRA_DIST += gio.stp.in if ENABLE_SYSTEMTAP -tapsetdir = @ABS_TAPSET_DIR@ -tapset_DATA = $(tapset_in_files:.stp.in=.stp) -CLEANFILES += $(tapset_in_files:.stp.in=.stp) +tapset_DATA = libgio-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp +CLEANFILES += $(tapset_DATA) -$(tapset_DATA): %.stp: %.stp.in Makefile +$(tapset_DATA): gio.stp.in Makefile $(AM_V_GEN)$(SED) \ -e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \ -e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \ diff --git a/glib/Makefile.am b/glib/Makefile.am index 953ea08b6..14d314119 100644 --- a/glib/Makefile.am +++ b/glib/Makefile.am @@ -374,15 +374,14 @@ CLEANFILES += glib_probes.h glib_probes.h.tmp libglib_2_0_la_LIBADD += glib_probes.lo endif -tapset_in_files = glib.stp.in tapsetdir = @ABS_TAPSET_DIR@ -EXTRA_DIST += $(tapset_in_files) +EXTRA_DIST += glib.stp.in if ENABLE_SYSTEMTAP -tapset_DATA = $(tapset_in_files:.stp.in=.stp) -CLEANFILES += $(tapset_in_files:.stp.in=.stp) +tapset_DATA = libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp +CLEANFILES += $(tapset_DATA) -$(tapset_DATA): %.stp: %.stp.in Makefile +$(tapset_DATA): glib.stp.in Makefile $(AM_V_GEN)$(SED) \ -e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \ -e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \ diff --git a/gobject/Makefile.am b/gobject/Makefile.am index ba9dcc8e6..04b8e1362 100644 --- a/gobject/Makefile.am +++ b/gobject/Makefile.am @@ -123,15 +123,14 @@ CLEANFILES += gobject_probes.h libgobject_2_0_la_LIBADD += gobject_probes.lo endif -tapset_in_files = gobject.stp.in -EXTRA_DIST += $(tapset_in_files) +tapsetdir = @ABS_TAPSET_DIR@ +EXTRA_DIST += gobject.stp.in if ENABLE_SYSTEMTAP -tapsetdir = @ABS_TAPSET_DIR@ -tapset_DATA = $(tapset_in_files:.stp.in=.stp) -CLEANFILES += $(tapset_in_files:.stp.in=.stp) +tapset_DATA = libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp +CLEANFILES += $(tapset_DATA) -$(tapset_DATA): %.stp: %.stp.in Makefile +$(tapset_DATA): gobject.stp.in Makefile $(AM_V_GEN)$(SED) \ -e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \ -e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \