build: Rename SystemTap scripts to include the LT version

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
This commit is contained in:
Philip Withnall 2016-06-16 16:17:46 -04:00
parent c9d661b431
commit c4695f192c
4 changed files with 17 additions and 20 deletions

View File

@ -308,10 +308,10 @@ Which would print the contents of each widget in a list of widgets.
<para> <para>
<ulink url="http://sourceware.org/systemtap/">SystemTap</ulink> is a dynamic whole-system <ulink url="http://sourceware.org/systemtap/">SystemTap</ulink> is a dynamic whole-system
analysis toolkit. GLib ships with a file <filename>glib.stp</filename> which defines a analysis toolkit. GLib ships with a file <filename>libglib-2.0.so.*.stp</filename> which defines a
set of probe points, which you can hook into with custom SystemTap scripts. set of probe points, which you can hook into with custom SystemTap scripts.
See the files <filename>glib.stp</filename>, <filename>gobject.stp</filename> See the files <filename>libglib-2.0.so.*.stp</filename>, <filename>libgobject-2.0.so.*.stp</filename>
and <filename>gio.stp</filename> which and <filename>libgio-2.0.so.*.stp</filename> which
are in your shared SystemTap scripts directory. are in your shared SystemTap scripts directory.
</para> </para>

View File

@ -776,15 +776,14 @@ CLEANFILES += gio_probes.h gio_probes.h.tmp
libgio_2_0_la_LIBADD += gio_probes.lo libgio_2_0_la_LIBADD += gio_probes.lo
endif endif
tapset_in_files = gio.stp.in tapsetdir = @ABS_TAPSET_DIR@
EXTRA_DIST += $(tapset_in_files) EXTRA_DIST += gio.stp.in
if ENABLE_SYSTEMTAP if ENABLE_SYSTEMTAP
tapsetdir = @ABS_TAPSET_DIR@ tapset_DATA = libgio-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp
tapset_DATA = $(tapset_in_files:.stp.in=.stp) CLEANFILES += $(tapset_DATA)
CLEANFILES += $(tapset_in_files:.stp.in=.stp)
$(tapset_DATA): %.stp: %.stp.in Makefile $(tapset_DATA): gio.stp.in Makefile
$(AM_V_GEN)$(SED) \ $(AM_V_GEN)$(SED) \
-e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \ -e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \
-e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \ -e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \

View File

@ -374,15 +374,14 @@ CLEANFILES += glib_probes.h glib_probes.h.tmp
libglib_2_0_la_LIBADD += glib_probes.lo libglib_2_0_la_LIBADD += glib_probes.lo
endif endif
tapset_in_files = glib.stp.in
tapsetdir = @ABS_TAPSET_DIR@ tapsetdir = @ABS_TAPSET_DIR@
EXTRA_DIST += $(tapset_in_files) EXTRA_DIST += glib.stp.in
if ENABLE_SYSTEMTAP if ENABLE_SYSTEMTAP
tapset_DATA = $(tapset_in_files:.stp.in=.stp) tapset_DATA = libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp
CLEANFILES += $(tapset_in_files:.stp.in=.stp) CLEANFILES += $(tapset_DATA)
$(tapset_DATA): %.stp: %.stp.in Makefile $(tapset_DATA): glib.stp.in Makefile
$(AM_V_GEN)$(SED) \ $(AM_V_GEN)$(SED) \
-e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \ -e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \
-e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \ -e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \

View File

@ -123,15 +123,14 @@ CLEANFILES += gobject_probes.h
libgobject_2_0_la_LIBADD += gobject_probes.lo libgobject_2_0_la_LIBADD += gobject_probes.lo
endif endif
tapset_in_files = gobject.stp.in tapsetdir = @ABS_TAPSET_DIR@
EXTRA_DIST += $(tapset_in_files) EXTRA_DIST += gobject.stp.in
if ENABLE_SYSTEMTAP if ENABLE_SYSTEMTAP
tapsetdir = @ABS_TAPSET_DIR@ tapset_DATA = libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp
tapset_DATA = $(tapset_in_files:.stp.in=.stp) CLEANFILES += $(tapset_DATA)
CLEANFILES += $(tapset_in_files:.stp.in=.stp)
$(tapset_DATA): %.stp: %.stp.in Makefile $(tapset_DATA): gobject.stp.in Makefile
$(AM_V_GEN)$(SED) \ $(AM_V_GEN)$(SED) \
-e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \ -e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \
-e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \ -e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \