From: Mark Wielaard Date: Fri, 19 Feb 2021 22:49:10 +0000 (+0100) Subject: Use pkglibexec as vglibdir. X-Git-Tag: VALGRIND_3_17_0~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9d1cd0db3a806ee0b2e91f59261d6caf791ffee;p=thirdparty%2Fvalgrind.git Use pkglibexec as vglibdir. vglibdir is the directory from where valgrind loads its internal tool executables and vgpreloads. Currently vglibdir is pkglibdir, so those internal tools are intermingeled with normal executables and libraries that the user might use directly. Make vglibdir equal to pkglibexecdir so the internal tools get installed and loaded from libexec and don't get get stored under lib. This leaves just the static archives and the mpiwrapper libraries that the user would link/load themselves under pkglibdir. This seems more in line with the FHS lib/libexec standard and makes it slightly easier to combine the tools from a multilib target (say the memcheck-amd64-linux and memcheck-x86-linux tools) because they would be installed under the same directory, while the pkglibdir can differ depending on arch/target (lib/lib64). https://bugs.kde.org/show_bug.cgi?id=433323 --- diff --git a/Makefile.all.am b/Makefile.all.am index 91912e0285..bcd29165da 100644 --- a/Makefile.all.am +++ b/Makefile.all.am @@ -50,20 +50,20 @@ inplace-noinst_DSYMS: build-noinst_DSYMS done # This is used by coregrind/Makefile.am and by /Makefile.am for doing -# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/. +# "make install". It copies $(noinst_PROGRAMS) into $prefix/libexec/valgrind/. # It needs to be depended on by an 'install-exec-local' rule. install-noinst_PROGRAMS: $(noinst_PROGRAMS) - $(mkinstalldirs) $(DESTDIR)$(pkglibdir); \ + $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir); \ for f in $(noinst_PROGRAMS); do \ - $(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \ + $(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibexecdir); \ done # This is used by coregrind/Makefile.am and by /Makefile.am for doing -# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/. +# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/libexec/valgrind/. # It needs to be depended on by an 'uninstall-local' rule. uninstall-noinst_PROGRAMS: for f in $(noinst_PROGRAMS); do \ - rm -f $(DESTDIR)$(pkglibdir)/$$f; \ + rm -f $(DESTDIR)$(pkglibexecdir)/$$f; \ done # Similar to install-noinst_PROGRAMS. @@ -71,15 +71,15 @@ uninstall-noinst_PROGRAMS: # directories. XXX: not sure whether the resulting permissions will be # correct when using 'cp -R'... install-noinst_DSYMS: build-noinst_DSYMS - $(mkinstalldirs) $(DESTDIR)$(pkglibdir); \ + $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir); \ for f in $(noinst_DSYMS); do \ - cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \ + cp -R $$f.dSYM $(DESTDIR)$(pkglibexecdir); \ done # Similar to uninstall-noinst_PROGRAMS. uninstall-noinst_DSYMS: for f in $(noinst_DSYMS); do \ - rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \ + rm -f $(DESTDIR)$(pkglibexecdir)/$$f.dSYM; \ done # This needs to be depended on by a 'clean-local' rule. diff --git a/Makefile.am b/Makefile.am index f10517edca..f8c3fc58d7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -56,7 +56,7 @@ DEFAULT_SUPP_FILES = @DEFAULT_SUPP@ # default.supp, as it is built from the base .supp files at compile-time. dist_noinst_DATA = $(SUPP_FILES) -vglibdir = $(pkglibdir) +vglibdir = $(pkglibexecdir) vglib_DATA = default.supp pkgconfigdir = $(libdir)/pkgconfig diff --git a/NEWS b/NEWS index adcb852486..a013067867 100644 --- a/NEWS +++ b/NEWS @@ -43,6 +43,11 @@ support for X86/macOS 10.13, AMD64/macOS 10.13 and nanoMIPS/Linux. * ==================== TOOL CHANGES ==================== +All the tools and their vgpreload libraries are now installed under +libexec because they cannot be executed directly and should be run +through the valgrind executable. This should be an internal, not user +visible, change, but might impact valgrind packagers. + * DHAT: - DHAT has been extended, with two new modes of operation. The new @@ -133,6 +138,7 @@ where XXXXXX is the bug number as listed below. 432809 VEX should support REX.W + POPF 432861 PPC modsw and modsd give incorrect results for 1 mod 12 432215 Add debuginfod functionality +433323 Use pkglibexecdir as vglibdir 433500 DRD regtest faulures when libstdc++ and libgcc debuginfo are installed n-i-bz helgrind: If hg_cli__realloc fails, return NULL. diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am index be097f44f5..65d2c705ad 100644 --- a/coregrind/Makefile.am +++ b/coregrind/Makefile.am @@ -11,12 +11,12 @@ include $(top_srcdir)/Makefile.all.am AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ += \ -I$(top_srcdir)/coregrind \ - -DVG_LIBDIR="\"$(pkglibdir)"\" \ + -DVG_LIBDIR="\"$(pkglibexecdir)"\" \ -DVG_PLATFORM="\"@VGCONF_ARCH_PRI@-@VGCONF_OS@\"" if VGCONF_HAVE_PLATFORM_SEC AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ += \ -I$(top_srcdir)/coregrind \ - -DVG_LIBDIR="\"$(pkglibdir)"\" \ + -DVG_LIBDIR="\"$(pkglibexecdir)"\" \ -DVG_PLATFORM="\"@VGCONF_ARCH_SEC@-@VGCONF_OS@\"" endif @@ -745,7 +745,7 @@ GDBSERVER_XML_FILES = \ m_gdbserver/mips64-fpu.xml # so as to make sure these get copied into the install tree -vglibdir = $(pkglibdir) +vglibdir = $(pkglibexecdir) vglib_DATA = $(GDBSERVER_XML_FILES) # so as to make sure these get copied into the tarball diff --git a/mpi/Makefile.am b/mpi/Makefile.am index 7ad9a25538..471fee02a9 100644 --- a/mpi/Makefile.am +++ b/mpi/Makefile.am @@ -18,16 +18,18 @@ EXTRA_DIST = \ # libmpiwrap-.so #---------------------------------------------------------------------------- -noinst_PROGRAMS = +# These are really real libraries, so they should go to libdir, not libexec. +mpidir = $(pkglibdir) +mpi_PROGRAMS = if BUILD_MPIWRAP_PRI -noinst_PROGRAMS += libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so +mpi_PROGRAMS += libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so endif if BUILD_MPIWRAP_SEC -noinst_PROGRAMS += libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so +mpi_PROGRAMS += libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so endif if VGCONF_OS_IS_DARWIN -noinst_DSYMS = $(noinst_PROGRAMS) +mpi_DSYMS = $(mpi_PROGRAMS) endif