Create manpages and binaries including the version
authorBastian Blank <waldi@debian.org>
Mon, 26 Sep 2011 12:53:12 +0000 (13:53 +0100)
committerSalvatore Bonaccorso <carnil@debian.org>
Sat, 6 Feb 2021 08:23:52 +0000 (08:23 +0000)
Forwarded: no

[bwh: Fix version insertion in perf man page cross-references and perf
man page title.  Install bash_completion script for perf with a
version-dependent name.  And do the same for trace.]

Gbp-Pq: Topic debian
Gbp-Pq: Name tools-perf-version.patch

tools/perf/Documentation/Makefile
tools/perf/Makefile.perf
tools/perf/util/Build
tools/perf/util/vdso.c

index 6e54979c2124e6d22a4ad501db8ded3673517cb7..db2cb7669da19a49b08a6a59f55951cb67b06c14 100644 (file)
@@ -195,14 +195,16 @@ ifdef missing_tools
        $(error "You need to install $(missing_tools) for man pages")
 endif
 
-do-install-man: man
+do-install-man: $(addprefix install-man-,$(_DOC_MAN1))
+
+install-man-perf.1: $(OUTPUT)perf.1
+       $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
+       sed -e 's/"PERF"/"PERF_$(VERSION)"/' -e 's/fBperf-/fBperf_$(VERSION)-/g' $^ > $(DESTDIR)$(man1dir)/perf_$(VERSION).1
+
+install-man-perf%.1: $(OUTPUT)perf%.1
        $(call QUIET_INSTALL, Documentation-man) \
                $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir); \
-#              $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir); \
-#              $(INSTALL) -d -m 755 $(DESTDIR)$(man7dir); \
-               $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(man1dir); \
-#              $(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir); \
-#              $(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)
+               sed -e 's/"PERF\\-/"PERF_$(VERSION)\\-/' -e 's/fBperf-/fBperf_$(VERSION)-/g' $^ > $(DESTDIR)$(man1dir)/perf_$(VERSION)$*.1
 
 install-man: check-man-tools man do-install-man
 
index 62f3deb1d3a8b7bcbef40d58ba01b10673a2c8a9..47d04765109525c9dbed334954c367a62a24fc43 100644 (file)
@@ -909,23 +909,23 @@ endif
 install-tools: all install-gtk
        $(call QUIET_INSTALL, binaries) \
                $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)'; \
-               $(INSTALL) $(OUTPUT)perf '$(DESTDIR_SQ)$(bindir_SQ)'; \
-               $(LN) '$(DESTDIR_SQ)$(bindir_SQ)/perf' '$(DESTDIR_SQ)$(bindir_SQ)/trace'
+               $(INSTALL) $(OUTPUT)perf '$(DESTDIR_SQ)$(bindir_SQ)/perf_$(VERSION)'; \
+               $(LN) '$(DESTDIR_SQ)$(bindir_SQ)/perf_$(VERSION)' '$(DESTDIR_SQ)$(bindir_SQ)/trace_$(VERSION)'
+       $(call QUIET_INSTALL, libexec) \
+               $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)'
 ifndef NO_PERF_READ_VDSO32
        $(call QUIET_INSTALL, perf-read-vdso32) \
-               $(INSTALL) $(OUTPUT)perf-read-vdso32 '$(DESTDIR_SQ)$(bindir_SQ)';
+               $(INSTALL) $(OUTPUT)perf-read-vdso32 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)';
 endif
 ifndef NO_PERF_READ_VDSOX32
        $(call QUIET_INSTALL, perf-read-vdsox32) \
-               $(INSTALL) $(OUTPUT)perf-read-vdsox32 '$(DESTDIR_SQ)$(bindir_SQ)';
+               $(INSTALL) $(OUTPUT)perf-read-vdsox32 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)';
 endif
 ifndef NO_JVMTI
        $(call QUIET_INSTALL, $(LIBJVMTI)) \
                $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(libdir_SQ)'; \
                $(INSTALL) $(OUTPUT)$(LIBJVMTI) '$(DESTDIR_SQ)$(libdir_SQ)';
 endif
-       $(call QUIET_INSTALL, libexec) \
-               $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)'
 ifndef NO_LIBBPF
        $(call QUIET_INSTALL, bpf-headers) \
                $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perf_include_instdir_SQ)/bpf'; \
@@ -963,7 +963,7 @@ ifndef NO_LIBPYTHON
 endif
        $(call QUIET_INSTALL, perf_completion-script) \
                $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d'; \
-               $(INSTALL) perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf'
+               $(INSTALL) perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf_$(VERSION)'
        $(call QUIET_INSTALL, perf-tip) \
                $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(tip_instdir_SQ)'; \
                $(INSTALL) Documentation/tips.txt -t '$(DESTDIR_SQ)$(tip_instdir_SQ)'
@@ -989,7 +989,7 @@ install-python_ext:
 
 # 'make install-doc' should call 'make -C Documentation install'
 $(INSTALL_DOC_TARGETS):
-       $(Q)$(MAKE) -C $(DOC_DIR) O=$(OUTPUT) $(@:-doc=) ASCIIDOC_EXTRA=$(ASCIIDOC_EXTRA)
+       $(Q)$(MAKE) -C $(DOC_DIR) O=$(OUTPUT) $(@:-doc=) ASCIIDOC_EXTRA=$(ASCIIDOC_EXTRA) VERSION=$(VERSION)
 
 ### Cleaning rules
 
index e2563d0154eb64d093e24cc55ab7bf83c30b460a..1b5125857a22a6c7f80bd8400cf1680ccc10a12b 100644 (file)
@@ -262,6 +262,7 @@ CFLAGS_hweight.o       += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ET
 CFLAGS_parse-events.o  += -Wno-redundant-decls
 CFLAGS_expr.o          += -Wno-redundant-decls
 CFLAGS_header.o        += -include $(OUTPUT)PERF-VERSION-FILE
+CFLAGS_vdso.o          += -DPERFEXECDIR='"$(perfexec_instdir_SQ)"'
 
 $(OUTPUT)util/kallsyms.o: ../lib/symbol/kallsyms.c FORCE
        $(call rule_mkdir)
index 3cc91ad048ea87a9b954711ffb2e901e754253c4..e7483388bb5d91118c14150181379e2264674200 100644 (file)
@@ -55,12 +55,12 @@ static struct vdso_info *vdso_info__new(void)
                .vdso32  = {
                        .temp_file_name = VDSO__TEMP_FILE_NAME,
                        .dso_name = DSO__NAME_VDSO32,
-                       .read_prog = "perf-read-vdso32",
+                       .read_prog = PERFEXECDIR "/perf-read-vdso32",
                },
                .vdsox32  = {
                        .temp_file_name = VDSO__TEMP_FILE_NAME,
                        .dso_name = DSO__NAME_VDSOX32,
-                       .read_prog = "perf-read-vdsox32",
+                       .read_prog = PERFEXECDIR "/perf-read-vdsox32",
                },
 #endif
        };