git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC PATCH] Makefile: add deprecation message for strip target

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Nov 23, 2021, 13:00 UTC
Message-ID
<211123.86a6hvuikj.gmgdl@evledraar.gmail.com>
In-Reply-To
<20211123122934.639428-1-bagasdotme@gmail.com>
On Tue, Nov 23 2021, Bagas Sanjaya wrote:
Show 27 quoted lines
> Now that $INSTALL_STRIP variable can be defined since 3231f41009 (make:
> add INSTALL_STRIP option variable, 2021-09-05), deprecate 'strip' target
> to encourage users to move to $INSTALL_STRIP. The target will eventually
> be removed in Git 2.35+1.
>
> Only deprecation message is printed.
>
> Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
> ---
>  Makefile | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 12be39ac49..ee83860f7d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2159,6 +2159,8 @@ please_set_SHELL_PATH_to_a_more_modern_shell:
>  shell_compatibility_test: please_set_SHELL_PATH_to_a_more_modern_shell
>  
>  strip: $(PROGRAMS) git$X
> +	@echo "The 'strip' target is deprecated, define INSTALL_STRIP if you want to"
> +	@echo "install Git with stripped binaries."
>  	$(STRIP) $(STRIP_OPTS) $^
>  
>  ### Flags affecting all rules
>
> base-commit: cd3e606211bb1cf8bc57f7d76bab98cc17a150bc
This is a better way to do this:
diff --git a/Makefile b/Makefile
index 12be39ac497..fd4736dff2f 100644
--- a/Makefile
+++ b/Makefile
@@ -2159,6 +2159,8 @@ please_set_SHELL_PATH_to_a_more_modern_shell:
 shell_compatibility_test: please_set_SHELL_PATH_to_a_more_modern_shell
 
 strip: $(PROGRAMS) git$X
+       $(warning The 'strip' target is deprecated, define INSTALL_STRIP if you want to \
+install stripped binaries)
        $(STRIP) $(STRIP_OPTS) $^
 
 ### Flags affecting all rules

I.e. GNU make has a built-in way to do this which emits the line number.

The message also needs to be reworded, now it's telling me "do xyz to
..." do what I just did successfully? It should say something like

    you just did X, but doing that via Y will soon be deprecated, do Z instead
    to accomplish X"

See also:

    git log -p -G'\$\((warning|error)' -- Makefile

For some recent-ish ways of doing phase-in deprecation.

Personally I think just starting with $(error) would be fine here. If
someone needs to adjust their build system anyway they can just adjust
it the first time around, it's not like a missing feature in git itself
where the carpet is rudely swept from under you. You'll still be able to
build, you just need to tweak your recipe.

The real value of $(warning) (or the same with @echo) is IMO something
like 6cdccfce1e0 (i18n: make GETTEXT_POISON a runtime option,
2018-11-08), i.e. to give someone a hint that something works
differently now (although I'd probably just make that $(error) if I was
doing it now, with the same rationale).
Previous: Bagas Sanjaya
Message 2 of 2 in “Makefile: add deprecation message for strip target”
  1. Makefile: add deprecation message for strip targetBagas Sanjaya, Nov 23, 2021
  2. Ævar Arnfjörð BjarmasonNov 23, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.