bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] announce-gen: Mention git commit in release announcement.


From: Bruno Haible
Subject: Re: [PATCH] announce-gen: Mention git commit in release announcement.
Date: Sun, 12 May 2024 21:50:49 +0200

Hi Simon,

> including the commit hash provide some additional information that may
> be useful further down the line

That is a bit weak as a rationale. There are many additional informations
that "may be useful" to include. Isn't this move part of a bigger plan of
yours, which is to decompose release tarballs [1][2][3]?

The problem I see with your patch is that it goes into a wrong direction.
In [1], I stated my objection: The release announcement is the wrong place
to add such information. You replied "It is better than nothing, though."
No, it's not better than nothing. It increases the future costs of moving
the ship into the right direction. The longer one has been sailing in the
wrong direction, the more costly it becomes to sail to the real goal.

More precisely, the release announcement is
  1) written for humans, not meant to be machine-readable,
  2) published on a different channel than tarballs.
Your real goal, which is — AFAIU — to allow distros to discard part
or all of the tarball and to redo the packaging work done by the release
manager in a different way, would be better served with a
  1) machine-readable file,
  2) somewhere in or in the vicinity of the tarball.

That is, it would be better if you design a new file format (*), containing

  vcs:
    type: git
    url: https://git.savannah.gnu.org/git/libidn.git
    commit: d0eb2b5a596f8bca26b0b2ccf0c70311b9819e6f
    label: v1.42
  build-tools:
    - gnulib
        type: git
        url: https://git.savannah.gnu.org/git/gnulib.git
        commit: aacceb6eff58eba91290d930ea9b8275699057cf
    - autoconf
        type: release
        distributor: gnu.org
        version: 2.71
    - automake
        type: release
        distributor: gnu.org
        version: 1.16.5
    - bison
        type: release
        distributor: gnu.org
        version: 3.8.2
    - m4
        type: release
        distributor: gnu.org
        version: 1.4.18
    - makeinfo
        type: release
        distributor: gnu.org
        version: 6.8
    - help2man
        type: release
        distributor: gnu.org
        version: 1.49.1
    - make
        type: release
        distributor: gnu.org
        version: 4.3
    - gzip
        type: release
        distributor: gnu.org
        version: 1.10
    - tar
        type: release
        distributor: gnu.org
        version: 1.34

Then call that file format the "metainfo" of the release, and either
  - include a .tarball-metainfo in the tarball itself. (Some packages
    already have a .tarball-version.)
or
  - formulate a convention that this file be available on the same ftp
    server, under the name PACKAGE.metainfo, next to PACKAGE.tar.gz.

(*) My example uses YAML syntax, but JSON or XML would be just as good.

> and turn that into this:
> 
> This release was built bootstrapped with the following tools
> using inetutils git commit 524d4b6934db12b9f43be410d2f201fdb40cfc97:
> 
>   Gnulib aacceb6eff
>   Autoconf 2.71
>   Automake 1.16.5
>   Bison 3.8.2
>   M4 1.4.18
>   Makeinfo 6.8
>   Help2man 1.49.1
>   Make 4.3
>   Gzip 1.10
>   Tar 1.34
> 
> Does this make sense?

As a naïve user, I would have two thoughts:

  * Why is he telling me a git commit this way? Has he not heard of
    "git tag" and "git push --tags"?

  * Why do you make my brain jump from the tools to the commit id and then
    back again to the tools?

In other words, if you really want to go this way — against the advice that
I gave you above —, better replace the two lines with:

  This release is based on the inetutils git, available at
    https://git.savannah.gnu.org/git/inetutils.git
  commit 524d4b6934db12b9f43be410d2f201fdb40cfc97, also labelled v1.42.
  The release tarball was built using the following tools:

Bruno

[1] https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00242.html
[2] https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00431.html
[3] https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00124.html






reply via email to

[Prev in Thread] Current Thread [Next in Thread]