diff options
-rw-r--r-- | Makefile.am | 29 | ||||
-rw-r--r-- | Makefile.in | 137 | ||||
-rw-r--r-- | initscript/stap-server.in | 21 | ||||
-rwxr-xr-x | stap-authorize-server-cert | 4 | ||||
-rwxr-xr-x | stap-authorize-signing-cert | 4 | ||||
-rwxr-xr-x | stap-client | 22 | ||||
-rwxr-xr-x | stap-env | 1 | ||||
-rwxr-xr-x | stap-find-or-start-server | 6 | ||||
-rwxr-xr-x | stap-find-servers | 2 | ||||
-rwxr-xr-x | stap-gen-cert | 2 | ||||
-rwxr-xr-x | stap-server | 4 | ||||
-rw-r--r-- | stap-server-connect.c | 2 | ||||
-rwxr-xr-x | stap-serverd | 12 | ||||
-rwxr-xr-x | stap-start-server | 9 | ||||
-rw-r--r-- | systemtap.spec | 33 | ||||
-rw-r--r-- | testsuite/lib/systemtap.exp | 6 |
16 files changed, 164 insertions, 130 deletions
diff --git a/Makefile.am b/Makefile.am index f1418d6c..5f02c4e5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,6 +24,8 @@ man/stapprobes.tcp.3stap man/stapprobes.udp.3stap bin_PROGRAMS = staprun bin_SCRIPTS = stap-report +pkglibexec_PROGRAMS = stapio +pkglibexec_SCRIPTS = stap-env oldinclude_HEADERS = includes/sys/sdt.h if BUILD_TRANSLATOR @@ -33,15 +35,16 @@ bin_SCRIPTS += dtrace if HAVE_NSS man_MANS += stap-authorize-signing-cert.8 -bin_PROGRAMS += stap-sign-module -bin_SCRIPTS += stap-env stap-gen-cert stap-authorize-cert stap-authorize-signing-cert +bin_SCRIPTS += stap-authorize-signing-cert +pkglibexec_PROGRAMS += stap-sign-module +pkglibexec_SCRIPTS += stap-gen-cert stap-authorize-cert if BUILD_SERVER man_MANS += stap-client.8 stap-server.8 stap-authorize-server-cert.8 -bin_PROGRAMS += stap-client-connect stap-server-connect -bin_SCRIPTS += stap-client stap-serverd stap-server stap-find-servers \ - stap-start-server stap-find-or-start-server stap-stop-server \ - stap-authorize-server-cert +pkglibexec_PROGRAMS += stap-client-connect stap-server-connect +bin_SCRIPTS += stap-client stap-authorize-server-cert +pkglibexec_SCRIPTS += stap-serverd stap-server stap-find-servers \ + stap-start-server stap-find-or-start-server stap-stop-server endif endif @@ -113,9 +116,12 @@ install-exec-local: install-scripts PHONIES += install-scripts # scripts must be installed before this rule is run -install-scripts: install-binSCRIPTS +install-scripts: install-binSCRIPTS install-pkglibexecSCRIPTS for f in $(bin_SCRIPTS); do \ - sed -i -e "/INSTALL-HOOK/d;s,exec_prefix=.*,exec_prefix=$(exec_prefix)/bin/,;s,sysconfdir=.*,sysconfdir=$(sysconfdir)," $(DESTDIR)$(bindir)/$$f; \ + sed -i -e "s,\$${PKGLIBEXECDIR},$(pkglibexecdir)/," $(DESTDIR)$(bindir)/$$f; \ + done + for f in $(pkglibexec_SCRIPTS); do \ + sed -i -e "/INSTALL-HOOK/d;s,exec_prefix=.*,exec_prefix=$(exec_prefix)/bin/,;s,sysconfdir=.*,sysconfdir=$(sysconfdir),;s,pkglibexecdir=.*,pkglibexecdir=$(pkglibexecdir)/,;s,\$${PKGLIBEXECDIR},$(pkglibexecdir)/," $(DESTDIR)$(pkglibexecdir)/$$f; \ done endif endif @@ -178,8 +184,7 @@ install-exec-hook: # make install, and have "sudo stap ...." or "sudo staprun ...." work later. -pkglibexec_PROGRAMS = stapio -CLEANFILES += $(pkglibexec_PROGRAMS) +CLEANFILES += $(pkglibexec_PROGRAMS) $(pkglibexec_SCRIPTS) if BUILD_TRANSLATOR if HAVE_NSS @@ -304,7 +309,7 @@ DIST_SUBDIRS = testsuite $(SUBDIRS) check-local: SRCDIR=`cd $(srcdir); pwd`; \ PWD=`pwd`; \ - $(MAKE) -C testsuite check SYSTEMTAP_RUNTIME=$$SRCDIR/runtime SYSTEMTAP_TAPSET=$$SRCDIR/tapset LD_LIBRARY_PATH=$$PWD/lib-elfutils:$$PWD/lib-elfutils/systemtap SYSTEMTAP_PATH=$$PWD SYSTEMTAP_INCLUDES=$$PWD/includes RUNTESTFLAGS="$(RUNTESTFLAGS)"; + $(MAKE) -C testsuite check SYSTEMTAP_RUNTIME=$$SRCDIR/runtime SYSTEMTAP_TAPSET=$$SRCDIR/tapset LD_LIBRARY_PATH=$$PWD/lib-elfutils:$$PWD/lib-elfutils/systemtap SYSTEMTAP_PATH=$$PWD SYSTEMTAP_INCLUDES=$$PWD/includes RUNTESTFLAGS="$(RUNTESTFLAGS)" PKGLIBDIR="$(pkglibexecdir)"; installcheck: if test \! -e $(DESTDIR)$(bindir)/stap; then \ @@ -315,7 +320,7 @@ installcheck: echo "$(DESTDIR)$(bindir)/stap is not recent, run make install"; \ exit -1; \ fi; - $(MAKE) -C testsuite installcheck RUNTESTFLAGS="$(RUNTESTFLAGS)" + $(MAKE) -C testsuite installcheck RUNTESTFLAGS="$(RUNTESTFLAGS)" PKGLIBDIR="$(pkglibexecdir)" # Any extra flags, such as: diff --git a/Makefile.in b/Makefile.in index 380ae06d..2d1fe5df 100644 --- a/Makefile.in +++ b/Makefile.in @@ -34,34 +34,34 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -bin_PROGRAMS = staprun$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \ - $(am__EXEEXT_3) +bin_PROGRAMS = staprun$(EXEEXT) $(am__EXEEXT_1) +pkglibexec_PROGRAMS = stapio$(EXEEXT) $(am__EXEEXT_2) $(am__EXEEXT_3) @BUILD_TRANSLATOR_TRUE@am__append_1 = stap @BUILD_TRANSLATOR_TRUE@am__append_2 = stap.1 @BUILD_TRANSLATOR_TRUE@am__append_3 = dtrace @BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_4 = stap-authorize-signing-cert.8 -@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_5 = stap-sign-module -@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_6 = stap-env stap-gen-cert stap-authorize-cert stap-authorize-signing-cert -@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_7 = stap-client.8 stap-server.8 stap-authorize-server-cert.8 -@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_8 = stap-client-connect stap-server-connect -@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_9 = stap-client stap-serverd stap-server stap-find-servers \ -@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ stap-start-server stap-find-or-start-server stap-stop-server \ -@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ stap-authorize-server-cert +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_5 = stap-authorize-signing-cert +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_6 = stap-sign-module +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_7 = stap-gen-cert stap-authorize-cert +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_8 = stap-client.8 stap-server.8 stap-authorize-server-cert.8 +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_9 = stap-client-connect stap-server-connect +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_10 = stap-client stap-authorize-server-cert +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_11 = stap-serverd stap-server stap-find-servers \ +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ stap-start-server stap-find-or-start-server stap-stop-server @BUILD_TRANSLATOR_FALSE@stap_DEPENDENCIES = -@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_10 = install-scripts -@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_11 = -Iinclude-elfutils -@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_12 = -Llib-elfutils -Wl,-rpath-link,lib-elfutils \ +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_12 = install-scripts +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_13 = -Iinclude-elfutils +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_14 = -Llib-elfutils -Wl,-rpath-link,lib-elfutils \ @BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ -Wl,--enable-new-dtags,-rpath,$(pkglibdir) -@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_13 = stamp-elfutils -@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_14 = stamp-elfutils -@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_15 = lib-elfutils/libdw.so -@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_16 = install-elfutils -@HAVE_NSS_TRUE@am__append_17 = runtime/staprun/modverify.c nsscommon.c -@HAVE_NSS_TRUE@am__append_18 = $(nss_CFLAGS) $(nspr_CFLAGS) -@HAVE_NSS_TRUE@am__append_19 = -lnss3 -lnspr4 -pkglibexec_PROGRAMS = stapio$(EXEEXT) +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_15 = stamp-elfutils +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_16 = stamp-elfutils +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_17 = lib-elfutils/libdw.so +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_18 = install-elfutils +@HAVE_NSS_TRUE@am__append_19 = runtime/staprun/modverify.c nsscommon.c +@HAVE_NSS_TRUE@am__append_20 = $(nss_CFLAGS) $(nspr_CFLAGS) +@HAVE_NSS_TRUE@am__append_21 = -lnss3 -lnspr4 @BUILD_TRANSLATOR_TRUE@noinst_PROGRAMS = loc2c-test$(EXEEXT) subdir = . DIST_COMMON = INSTALL NEWS README AUTHORS $(srcdir)/Makefile.in \ @@ -112,14 +112,14 @@ CONFIG_CLEAN_FILES = stap.1 stapprobes.3stap stapfuncs.3stap \ man/stapprobes.snmp.3stap initscript/systemtap \ initscript/stap-server run-stap run-staprun dtrace @BUILD_TRANSLATOR_TRUE@am__EXEEXT_1 = stap$(EXEEXT) +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \ + "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \ + "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ + "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(oldincludedir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) @BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__EXEEXT_2 = stap-sign-module$(EXEEXT) @BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__EXEEXT_3 = stap-client-connect$(EXEEXT) \ @BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ stap-server-connect$(EXEEXT) -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \ - "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \ - "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man8dir)" \ - "$(DESTDIR)$(oldincludedir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) pkglibexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(pkglibexec_PROGRAMS) @BUILD_TRANSLATOR_TRUE@am_loc2c_test_OBJECTS = \ @@ -194,7 +194,8 @@ staprun_DEPENDENCIES = $(am__DEPENDENCIES_1) staprun_LINK = $(CCLD) $(staprun_CFLAGS) $(CFLAGS) $(staprun_LDFLAGS) \ $(LDFLAGS) -o $@ binSCRIPT_INSTALL = $(INSTALL_SCRIPT) -SCRIPTS = $(bin_SCRIPTS) +pkglibexecSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) $(pkglibexec_SCRIPTS) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -368,9 +369,10 @@ man_MANS = stapprobes.3stap stapfuncs.3stap stapvars.3stap \ man/stapprobes.scsi.3stap man/stapprobes.signal.3stap \ man/stapprobes.socket.3stap man/stapprobes.tcp.3stap \ man/stapprobes.udp.3stap $(am__append_2) $(am__append_4) \ - $(am__append_7) -bin_SCRIPTS = stap-report $(am__append_3) $(am__append_6) \ - $(am__append_9) + $(am__append_8) +bin_SCRIPTS = stap-report $(am__append_3) $(am__append_5) \ + $(am__append_10) +pkglibexec_SCRIPTS = stap-env $(am__append_7) $(am__append_11) oldinclude_HEADERS = includes/sys/sdt.h @BUILD_TRANSLATOR_TRUE@stap_SOURCES = main.cxx \ @BUILD_TRANSLATOR_TRUE@ parse.cxx staptree.cxx elaborate.cxx translate.cxx \ @@ -382,7 +384,7 @@ oldinclude_HEADERS = includes/sys/sdt.h @BUILD_TRANSLATOR_TRUE@ setupdwfl.cxx @BUILD_TRANSLATOR_TRUE@stap_LDADD = @stap_LIBS@ @sqlite3_LIBS@ @rpm_LIBS@ -@BUILD_TRANSLATOR_TRUE@stap_DEPENDENCIES = $(am__append_15) +@BUILD_TRANSLATOR_TRUE@stap_DEPENDENCIES = $(am__append_17) # Arrange for git_version.h to be regenerated at every "make". # Code fragment is based upon RadeonHD.am. @@ -392,27 +394,31 @@ oldinclude_HEADERS = includes/sys/sdt.h # of foo-bar.c if it is newer than the foo-bar.o file. Using noinst_foo_SOURCES # instead of foo_SOURCES prevents shipping git_version.h in dist tarballs, # which may cause false GIT_FOO readings. -BUILT_SOURCES = git_version.stamp $(am__append_13) -CLEANFILES = git_version.h $(am__append_14) $(pkglibexec_PROGRAMS) +BUILT_SOURCES = git_version.stamp $(am__append_15) + +# Why the "id -u" condition? This way, an unprivileged user can run +# make install, and have "sudo stap ...." or "sudo staprun ...." work later. +CLEANFILES = git_version.h $(am__append_16) $(pkglibexec_PROGRAMS) \ + $(pkglibexec_SCRIPTS) GIT_VERSION_CMD = $(SHELL) $(top_srcdir)/git_version.sh -PHONIES = $(am__append_10) $(am__append_16) dist-gzip +PHONIES = $(am__append_12) $(am__append_18) dist-gzip @BUILD_TRANSLATOR_TRUE@stap_CFLAGS = $(AM_CFLAGS) @PIECFLAGS@ -D_FILE_OFFSET_BITS=64 @BUILD_TRANSLATOR_TRUE@stap_CXXFLAGS = $(AM_CXXFLAGS) @PIECXXFLAGS@ -@BUILD_TRANSLATOR_TRUE@stap_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_11) +@BUILD_TRANSLATOR_TRUE@stap_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_13) @BUILD_TRANSLATOR_TRUE@stap_LDFLAGS = $(AM_LDFLAGS) @PIELDFLAGS@ \ -@BUILD_TRANSLATOR_TRUE@ $(am__append_12) +@BUILD_TRANSLATOR_TRUE@ $(am__append_14) @BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@stap_client_connect_LDFLAGS = $(AM_LDFLAGS) @BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@stap_server_connect_LDFLAGS = $(AM_LDFLAGS) @BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@stap_sign_module_LDFLAGS = $(AM_LDFLAGS) staprun_SOURCES = runtime/staprun/staprun.c \ runtime/staprun/staprun_funcs.c runtime/staprun/ctl.c \ - runtime/staprun/common.c $(am__append_17) + runtime/staprun/common.c $(am__append_19) staprun_CPPFLAGS = $(AM_CPPFLAGS) staprun_CFLAGS = $(AM_CFLAGS) @PIECFLAGS@ -DSINGLE_THREADED \ -fno-strict-aliasing -fno-builtin-strftime \ - -D_FILE_OFFSET_BITS=64 $(am__append_18) + -D_FILE_OFFSET_BITS=64 $(am__append_20) staprun_LDFLAGS = $(AM_LDFLAGS) @PIELDFLAGS@ -staprun_LDADD = $(am__append_19) +staprun_LDADD = $(am__append_21) stapio_SOURCES = runtime/staprun/stapio.c \ runtime/staprun/mainloop.c runtime/staprun/common.c \ runtime/staprun/ctl.c \ @@ -653,6 +659,25 @@ uninstall-binSCRIPTS: echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \ done +install-pkglibexecSCRIPTS: $(pkglibexec_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(pkglibexecdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibexecdir)" + @list='$(pkglibexec_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(pkglibexecSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibexecdir)/$$f'"; \ + $(pkglibexecSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibexecdir)/$$f"; \ + else :; fi; \ + done + +uninstall-pkglibexecSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(pkglibexec_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(pkglibexecdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkglibexecdir)/$$f"; \ + done mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -1654,7 +1679,7 @@ all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS) $(HEADERS) config.h \ all-local installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(oldincludedir)"; do \ + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(oldincludedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) @@ -1713,7 +1738,8 @@ install-data-am: install-data-local install-man \ install-dvi: install-dvi-recursive install-exec-am: install-binPROGRAMS install-binSCRIPTS \ - install-exec-local install-pkglibexecPROGRAMS + install-exec-local install-pkglibexecPROGRAMS \ + install-pkglibexecSCRIPTS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook @@ -1750,7 +1776,7 @@ ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ uninstall-local uninstall-man uninstall-oldincludeHEADERS \ - uninstall-pkglibexecPROGRAMS + uninstall-pkglibexecPROGRAMS uninstall-pkglibexecSCRIPTS uninstall-man: uninstall-man1 uninstall-man3 uninstall-man8 @@ -1770,14 +1796,16 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man8 install-html install-html-am install-info install-info-am \ install-man install-man1 install-man3 install-man8 \ install-oldincludeHEADERS install-pdf install-pdf-am \ - install-pkglibexecPROGRAMS install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ - ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-binSCRIPTS uninstall-local \ - uninstall-man uninstall-man1 uninstall-man3 uninstall-man8 \ - uninstall-oldincludeHEADERS uninstall-pkglibexecPROGRAMS + install-pkglibexecPROGRAMS install-pkglibexecSCRIPTS \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-binSCRIPTS uninstall-local uninstall-man \ + uninstall-man1 uninstall-man3 uninstall-man8 \ + uninstall-oldincludeHEADERS uninstall-pkglibexecPROGRAMS \ + uninstall-pkglibexecSCRIPTS git_version.stamp: @if test -f "$(srcdir)/git_version.h"; then \ @@ -1806,9 +1834,12 @@ cscope: @BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@install-exec-local: install-scripts # scripts must be installed before this rule is run -@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@install-scripts: install-binSCRIPTS +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@install-scripts: install-binSCRIPTS install-pkglibexecSCRIPTS @BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ for f in $(bin_SCRIPTS); do \ -@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ sed -i -e "/INSTALL-HOOK/d;s,exec_prefix=.*,exec_prefix=$(exec_prefix)/bin/,;s,sysconfdir=.*,sysconfdir=$(sysconfdir)," $(DESTDIR)$(bindir)/$$f; \ +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ sed -i -e "s,\$${PKGLIBEXECDIR},$(pkglibexecdir)/," $(DESTDIR)$(bindir)/$$f; \ +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ done +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ for f in $(pkglibexec_SCRIPTS); do \ +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ sed -i -e "/INSTALL-HOOK/d;s,exec_prefix=.*,exec_prefix=$(exec_prefix)/bin/,;s,sysconfdir=.*,sysconfdir=$(sysconfdir),;s,pkglibexecdir=.*,pkglibexecdir=$(pkglibexecdir)/,;s,\$${PKGLIBEXECDIR},$(pkglibexecdir)/," $(DESTDIR)$(pkglibexecdir)/$$f; \ @BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ done @BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@stamp-elfutils: config.status @BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ $(MAKE) $(AM_MAKEFLAGS) -C build-elfutils all bin_PROGRAMS= @@ -1908,7 +1939,7 @@ uninstall-local: check-local: SRCDIR=`cd $(srcdir); pwd`; \ PWD=`pwd`; \ - $(MAKE) -C testsuite check SYSTEMTAP_RUNTIME=$$SRCDIR/runtime SYSTEMTAP_TAPSET=$$SRCDIR/tapset LD_LIBRARY_PATH=$$PWD/lib-elfutils:$$PWD/lib-elfutils/systemtap SYSTEMTAP_PATH=$$PWD SYSTEMTAP_INCLUDES=$$PWD/includes RUNTESTFLAGS="$(RUNTESTFLAGS)"; + $(MAKE) -C testsuite check SYSTEMTAP_RUNTIME=$$SRCDIR/runtime SYSTEMTAP_TAPSET=$$SRCDIR/tapset LD_LIBRARY_PATH=$$PWD/lib-elfutils:$$PWD/lib-elfutils/systemtap SYSTEMTAP_PATH=$$PWD SYSTEMTAP_INCLUDES=$$PWD/includes RUNTESTFLAGS="$(RUNTESTFLAGS)" PKGLIBDIR="$(pkglibexecdir)"; installcheck: if test \! -e $(DESTDIR)$(bindir)/stap; then \ @@ -1919,7 +1950,7 @@ installcheck: echo "$(DESTDIR)$(bindir)/stap is not recent, run make install"; \ exit -1; \ fi; - $(MAKE) -C testsuite installcheck RUNTESTFLAGS="$(RUNTESTFLAGS)" + $(MAKE) -C testsuite installcheck RUNTESTFLAGS="$(RUNTESTFLAGS)" PKGLIBDIR="$(pkglibexecdir)" .PHONY: $(PHONIES) diff --git a/initscript/stap-server.in b/initscript/stap-server.in index 07595ec6..7b951d15 100644 --- a/initscript/stap-server.in +++ b/initscript/stap-server.in @@ -8,26 +8,23 @@ # config: /etc/sysconfig/stap-server # config: /etc/stap-server/conf.d -BINDIR=@bindir@ - -# Source function library. . /etc/rc.d/init.d/functions # Systemtap function library -. $BINDIR/stap-env +. @libexecdir@/systemtap/stap-env prog=stap-server # Commands -STAP_START_SERVER=$BINDIR/stap-start-server -STAP_STOP_SERVER=$BINDIR/stap-stop-server +STAP_START_SERVER=@libexecdir@/systemtap/stap-start-server +STAP_STOP_SERVER=@libexecdir@/systemtap/stap-stop-server UNAME=/bin/uname # Default Global Configuration -CONFIG_FILE=/etc/sysconfig/stap-server -CONFIG_PATH=/etc/stap-server/conf.d -STAT_PATH=/var/run/stap-server -LOG_FILE=/var/log/stap-server.log +CONFIG_FILE=@sysconfdir@/sysconfig/stap-server +CONFIG_PATH=@sysconfdir@/stap-server/conf.d +STAT_PATH=@localstatedir@/run/stap-server +LOG_FILE=@localstatedir@/log/stap-server.log STAP_USER=stap-server # Default option settings @@ -71,7 +68,7 @@ echo_usage () { echo $"nickname. When -n is specified, a currently running server with the" echo $"given nickname will be searched for. If no currently running server" echo $"with the given nickname is found, a server configuration with the" - echo $"given nickname will be searched for in /etc/stap-server/conf.d/*.conf." + echo $"given nickname will be searched for in @sysconfdir@/stap-server/conf.d/*.conf." echo $"If a server configuration for the given nickname is found, the -a, -r," echo $"-I, -R, -B and -u options for that server will be used as if they were" echo $"specified on the command line. If no configuration with the given" @@ -93,7 +90,7 @@ echo_usage () { echo $"command line. If no servers are specified on the command line, the" echo $"behavior is as follows:" echo $"" - echo $" start: Start the servers configured in /etc/stap-server/conf.d/*.conf." + echo $" start: Start the servers configured in @sysconfdir@/stap-server/conf.d/*.conf." echo $" If none are configured, start a server for the kernel release" echo $" and architecture of the host platform." echo $"" diff --git a/stap-authorize-server-cert b/stap-authorize-server-cert index 13fb9c9f..33607b56 100755 --- a/stap-authorize-server-cert +++ b/stap-authorize-server-cert @@ -11,7 +11,7 @@ # later version. # Initialize the environment -. `dirname $0`/stap-env +. ${PKGLIBEXECDIR}stap-env certfile=$1 certdb=$2 @@ -27,4 +27,4 @@ if test "X$certdb" = "X"; then certdb=$stap_ssl_db/client fi -${stap_exec_prefix}stap-authorize-cert $certfile $certdb +${stap_pkglibexecdir}stap-authorize-cert $certfile $certdb diff --git a/stap-authorize-signing-cert b/stap-authorize-signing-cert index 22da27c4..b6e5a98f 100755 --- a/stap-authorize-signing-cert +++ b/stap-authorize-signing-cert @@ -11,7 +11,7 @@ # later version. # Initialize the environment -. `dirname $0`/stap-env +. ${PKGLIBEXECDIR}stap-env certfile=$1 certdb=$2 @@ -27,4 +27,4 @@ if test "X$certdb" = "X"; then certdb=$stap_signing_db fi -${stap_exec_prefix}stap-authorize-cert $certfile $certdb +${stap_pkglibexecdir}stap-authorize-cert $certfile $certdb diff --git a/stap-client b/stap-client index 189742cb..fa11fef0 100755 --- a/stap-client +++ b/stap-client @@ -22,7 +22,7 @@ trap 'interrupt' SIGINT trap 'ignore_signal' SIGHUP SIGPIPE # Initialize the environment -. `dirname $0`/stap-env +. ${PKGLIBEXECDIR}stap-env #----------------------------------------------------------------------------- # Helper functions. @@ -634,22 +634,22 @@ function find_and_connect_to_server { fi fi - if test `${stap_exec_prefix}stap-find-servers $find_all | grep $address | wc -l` = "0"; then + if test `${stap_pkglibexecdir}stap-find-servers $find_all | grep $address | wc -l` = "0"; then warning "No server is available on $server" 2>> $tmpdir_client/connect continue fi - ssl_db=`${stap_exec_prefix}stap-find-servers $find_all | grep $address | choose_server` + ssl_db=`${stap_pkglibexecdir}stap-find-servers $find_all | grep $address | choose_server` test "X$ssl_db" != "X" && return done else # No servers specified. Find available servers and choose one of them. # Remember which ssl certificate database was used to authenticate the chosen # server. - ssl_db=`${stap_exec_prefix}stap-find-servers $find_all | choose_server` + ssl_db=`${stap_pkglibexecdir}stap-find-servers $find_all | choose_server` test "X$ssl_db" != "X" && return - num_servers=`${stap_exec_prefix}stap-find-servers $find_all | wc -l` + num_servers=`${stap_pkglibexecdir}stap-find-servers $find_all | wc -l` fi if test $num_servers = 0; then @@ -723,8 +723,8 @@ function send_receive { do # Send the request and receive the response using stap-client-connect echo "Attempting connection with $server:$port using certificate database in '$db'" >> $tmpdir_client/connect - ${stap_exec_prefix}stap-client-connect -i $zip_client -o $zip_server -d $db -p $port -h $server >> $tmpdir_client/connect 2>&1 & - wait '%${stap_exec_prefix}stap-client-connect' + ${stap_pkglibexecdir}stap-client-connect -i $zip_client -o $zip_server -d $db -p $port -h $server >> $tmpdir_client/connect 2>&1 & + wait '%${stap_pkglibexecdir}stap-client-connect' test $? = 0 && echo $db && return sleep 1 done @@ -734,8 +734,8 @@ function send_receive { do # Send the request and receive the response using stap-client-connect echo "Attempting connection with $server:$port using certificate database in '$db'" >> $tmpdir_client/connect - ${stap_exec_prefix}stap-client-connect -i $zip_client -o $zip_server -d $db -p $port -h $server >> $tmpdir_client/connect 2>&1 & - wait '%${stap_exec_prefix}stap-client-connect' + ${stap_pkglibexecdir}stap-client-connect -i $zip_client -o $zip_server -d $db -p $port -h $server >> $tmpdir_client/connect 2>&1 & + wait '%${stap_pkglibexecdir}stap-client-connect' test $? = 0 && echo $db && return sleep 1 done @@ -1066,7 +1066,7 @@ function terminate { kill -s SIGTERM '%?staprun' 2>/dev/null # Kill any stap-client-connect job - kill -s SIGTERM '%${stap_exec_prefix}stap-client-connect' 2>/dev/null + kill -s SIGTERM '%${stap_pkglibexecdir}stap-client-connect' 2>/dev/null exit 1 } @@ -1077,7 +1077,7 @@ function terminate { function interrupt { # Kill any stap-client-connect job # SIGINT won't do it. - kill -s SIGTERM '%${stap_exec_prefix}stap-client-connect' 2>/dev/null + kill -s SIGTERM '%${stap_pkglibexecdir}stap-client-connect' 2>/dev/null # If staprun was not running, then exit. cleanup @@ -17,6 +17,7 @@ # INSTALL-HOOK time. stap_exec_prefix= stap_sysconfdir=`pwd`/net +stap_pkglibexecdir= # General configuration stap_tmpdir_prefix_client=stap.client diff --git a/stap-find-or-start-server b/stap-find-or-start-server index a93b21fe..a9a4cde0 100755 --- a/stap-find-or-start-server +++ b/stap-find-or-start-server @@ -18,13 +18,13 @@ # Otherwise, it echoes -1 # Initialize the environment -. `dirname $0`/stap-env +. ${PKGLIBEXECDIR}stap-env # Is there a server available? -${stap_exec_prefix}stap-find-servers >/dev/null 2>&1 && echo 0 && exit 0 +${stap_pkglibexecdir}stap-find-servers >/dev/null 2>&1 && echo 0 && exit 0 # No server available, try to start one. -pid=`${stap_exec_prefix}stap-start-server "$@"` +pid=`${stap_pkglibexecdir}stap-start-server "$@"` if test $? = 0; then echo $pid exit 0 diff --git a/stap-find-servers b/stap-find-servers index 91bb0ea8..7df4c9a5 100755 --- a/stap-find-servers +++ b/stap-find-servers @@ -13,7 +13,7 @@ # network. Information about each server found is printed to stdout. # Initialize the environment -. `dirname $0`/stap-env +. ${PKGLIBEXECDIR}stap-env #----------------------------------------------------------------------------- # Helper functions. diff --git a/stap-gen-cert b/stap-gen-cert index ffd7f6f1..4f2650cd 100755 --- a/stap-gen-cert +++ b/stap-gen-cert @@ -11,7 +11,7 @@ # later version. # Initialize the environment -. `dirname $0`/stap-env +. ${PKGLIBEXECDIR}stap-env # Obtain the certificate database directory name. serverdb=$1 diff --git a/stap-server b/stap-server index 9e30a121..d1731895 100755 --- a/stap-server +++ b/stap-server @@ -17,7 +17,7 @@ trap 'terminate' SIGTERM SIGINT # Initialize the environment -. `dirname $0`/stap-env +. ${PKGLIBEXECDIR}stap-env #----------------------------------------------------------------------------- # Helper functions. @@ -432,7 +432,7 @@ function create_response { if test $unprivileged = 1 -a $p_phase -ge 4 -a $stap_rc = 0; then modname=$tmpdir_stap/`grep -m1 '^.*\.ko$' stdout` if test "X$modname" != "X"; then - ${stap_exec_prefix}stap-sign-module $modname $ssl_db + ${stap_pkglibexecdir}stap-sign-module $modname $ssl_db fi fi fi diff --git a/stap-server-connect.c b/stap-server-connect.c index f70810a4..e063fd91 100644 --- a/stap-server-connect.c +++ b/stap-server-connect.c @@ -468,7 +468,7 @@ handle_connection(PRFileDesc *tcpSocket) #endif /* Call the stap-server script. */ - stap_server_prefix = getenv("SYSTEMTAP_SERVER_SCRIPTS") ?: BINDIR; + stap_server_prefix = getenv("SYSTEMTAP_SERVER_SCRIPTS") ?: PKGLIBDIR; cmdline = PORT_Alloc(strlen (stap_server_prefix) + sizeof ("/stap-server") + 1 + sizeof (requestFileName) + 1 + sizeof (responseDirName) + 1 + diff --git a/stap-serverd b/stap-serverd index d8eb1962..f3df884d 100755 --- a/stap-serverd +++ b/stap-serverd @@ -17,7 +17,7 @@ trap 'terminate' SIGTERM SIGINT # Initialize the environment -. `dirname $0`/stap-env +. ${PKGLIBEXECDIR}stap-env #----------------------------------------------------------------------------- # Helper functions. @@ -61,7 +61,7 @@ function initialization { # If no certificate/key database has been specified, then find/create # a local one. if ! test -f $ssl_db/$stap_certfile; then - ${stap_exec_prefix}stap-gen-cert $ssl_db >> $logfile 2>&1 || exit 1 + ${stap_pkglibexecdir}stap-gen-cert $ssl_db >> $logfile 2>&1 || exit 1 # Now add the server's certificate to the client's database, # making it a trusted peer. Do this only if the client has been installed. if test -f `which ${stap_exec_prefix}stap-client 2>/dev/null` -a \ @@ -341,11 +341,11 @@ function advertise_presence { function listen { # The stap-server-connect program will listen forever # accepting requests. - ${stap_exec_prefix}stap-server-connect \ + ${stap_pkglibexecdir}stap-server-connect \ -p $port -n $nss_cert -d $ssl_db -w $nss_pw \ -s "$stap_options" \ >> $logfile 2>&1 & - wait '%${stap_exec_prefix}stap-server-connect' >> $logfile 2>&1 + wait '%${stap_pkglibexecdir}stap-server-connect' >> $logfile 2>&1 } # function: warning [ MESSAGE ] @@ -377,8 +377,8 @@ function terminate { wait '%avahi-publish-service' >> $logfile 2>&1 # Kill any running 'stap-server-connect' job. - kill -s SIGTERM '%${stap_exec_prefix}stap-server-connect' >> $logfile 2>&1 - wait '%${stap_exec_prefix}stap-server-connect' >> $logfile 2>&1 + kill -s SIGTERM '%${stap_pkglibexecdir}stap-server-connect' >> $logfile 2>&1 + wait '%${stap_pkglibexecdir}stap-server-connect' >> $logfile 2>&1 exit } diff --git a/stap-start-server b/stap-start-server index ab78fc09..1225902d 100755 --- a/stap-start-server +++ b/stap-start-server @@ -13,11 +13,12 @@ # process id, if successful. # Initialize the environment -. `dirname $0`/stap-env +. ${PKGLIBEXECDIR}stap-env + startup_timeout=20 # start the server -${stap_exec_prefix}stap-serverd "$@" </dev/null >/dev/null 2>&1 & +${stap_pkglibexecdir}stap-serverd "$@" </dev/null >/dev/null 2>&1 & server_pid=$! # Make sure the server is started @@ -56,7 +57,7 @@ done echo -n "Unable to start a systemtap server: " >&2 if test $server_started = 0; then - echo "${stap_exec_prefix}stap-serverd did not start" >&2 + echo "${stap_pkglibexecdir}stap-serverd did not start" >&2 elif test $avahi_advertising = 0; then echo "avahi is not advertising the server" >&2 elif test $server_listening = 0; then @@ -64,6 +65,6 @@ elif test $server_listening = 0; then fi # If the server partially started, then kill it. -test $server_started = 1 && ${stap_exec_prefix}stap-stop-server $server_pid +test $server_started = 1 && ${stap_pkglibexecdir}stap-stop-server $server_pid exit 1 # server did not start diff --git a/systemtap.spec b/systemtap.spec index 25ab905b..6a9a17bd 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -316,7 +316,7 @@ test -e /usr/share/systemtap/runtime/uprobes || mkdir -p /usr/share/systemtap/ru chgrp stap-server /usr/share/systemtap/runtime/uprobes chmod 775 /usr/share/systemtap/runtime/uprobes # As stap-server, generate the certificate used for signing and for ssl. -runuser -s /bin/sh - stap-server -c %{_bindir}/stap-gen-cert >/dev/null +runuser -s /bin/sh - stap-server -c %{_libexecdir}/%{name}/stap-gen-cert >/dev/null # Authorize the certificate as a trusted ssl peer and as a trusted signer # local host. %{_bindir}/stap-authorize-server-cert %{_localstatedir}/lib/stap-server/.systemtap/ssl/server/stap.cert @@ -406,10 +406,10 @@ exit 0 %defattr(-,root,root) %attr(4111,root,root) %{_bindir}/staprun %{_bindir}/stap-report -%{_bindir}/stap-env -%{_bindir}/stap-authorize-cert %{_bindir}/stap-authorize-signing-cert -%{_libexecdir}/%{name} +%{_libexecdir}/%{name}/stapio +%{_libexecdir}/%{name}/stap-env +%{_libexecdir}/%{name}/stap-authorize-cert %{_mandir}/man8/staprun.8* %{_mandir}/man8/stap-authorize-signing-cert.8* @@ -422,29 +422,26 @@ exit 0 %files client %defattr(-,root,root) %{_bindir}/stap-client -%{_bindir}/stap-find-servers %{_bindir}/stap-authorize-server-cert -%{_bindir}/stap-client-connect +%{_libexecdir}/%{name}/stap-find-servers +%{_libexecdir}/%{name}/stap-client-connect %{_mandir}/man8/stap-client.8* %{_mandir}/man8/stap-authorize-server-cert.8* %files server %defattr(-,root,root) -%{_bindir}/stap-server -%{_bindir}/stap-serverd -%{_bindir}/stap-start-server -%{_bindir}/stap-find-servers -%{_bindir}/stap-find-or-start-server -%{_bindir}/stap-stop-server -%{_bindir}/stap-gen-cert -%{_bindir}/stap-authorize-cert %{_bindir}/stap-authorize-server-cert -%{_bindir}/stap-authorize-signing-cert -%{_bindir}/stap-server-connect -%{_bindir}/stap-sign-module +%{_libexecdir}/%{name}/stap-server +%{_libexecdir}/%{name}/stap-serverd +%{_libexecdir}/%{name}/stap-start-server +%{_libexecdir}/%{name}/stap-find-servers +%{_libexecdir}/%{name}/stap-find-or-start-server +%{_libexecdir}/%{name}/stap-stop-server +%{_libexecdir}/%{name}/stap-gen-cert +%{_libexecdir}/%{name}/stap-server-connect +%{_libexecdir}/%{name}/stap-sign-module %{_mandir}/man8/stap-server.8* %{_mandir}/man8/stap-authorize-server-cert.8* -%{_mandir}/man8/stap-authorize-signing-cert.8* %{_sysconfdir}/rc.d/init.d/stap-server %dir %{_sysconfdir}/stap-server %dir %{_sysconfdir}/stap-server/conf.d diff --git a/testsuite/lib/systemtap.exp b/testsuite/lib/systemtap.exp index 13e6d1a2..34ac3b04 100644 --- a/testsuite/lib/systemtap.exp +++ b/testsuite/lib/systemtap.exp @@ -134,10 +134,13 @@ proc setup_server {} { # Server management scripts and data are installed if this is an # install test, otherwise there is some setup to do. + # Make sure the server management scripts and tools are on the $PATH. if {! [installtest_p]} then { - # Make sure the server management scripts and tools are on the $PATH. set env(PATH) "$srcdir/..:[exec pwd]/..:$env(PATH)" set env(SYSTEMTAP_SERVER_SCRIPTS) "$srcdir/.." + } else { + set env(PATH) "$env(PKGLIBDIR):$env(PATH)" + set env(SYSTEMTAP_SERVER_SCRIPTS) env(PKGLIBDIR) } # Try to find or start the server. @@ -155,7 +158,6 @@ proc setup_server {} { # The server does not call this instance of 'stap' if {[installtest_p]} then { exec /bin/cp -p [exec which stap-client] $net_path/stap - exec /bin/cp -p [exec which stap-env] $net_path/stap-env } else { exec /bin/cp -p $srcdir/../stap-client $net_path/stap exec /bin/cp -p $srcdir/../stap-env $net_path/stap-env |