Re: [PATCH v2 08/10] make-setup-generated: optionally add GIT metadata

Alex Bennée <[email protected]> Fri, 10 Oct 2025 14:48:10 +0100
Newsgroups dev.linux.lists.virtio-comment
Message-ID <[email protected]>
"Michael S. Tsirkin" <[email protected]> writes:

> On Fri, Oct 10, 2025 at 02:10:25PM +0100, Alex Bennée wrote:
>> "Michael S. Tsirkin" <[email protected]> writes:
>> 
>> > On Fri, Oct 10, 2025 at 12:20:08PM +0100, Alex Bennée wrote:
>> <snip>
>> >> Signed-off-by: Alex Bennée <[email protected]>
>> >> Message-ID: <[email protected]>
>> >
>> > Pls avoid Message-ID trailers in patches you post. It's really
>> > confusing.
>> 
>> That was added by b4 - I can add a .b4-config to stop that happening
>> accidentally. I see the git history has Links instead, e.g.:
>> 
>>  Link: https://lore.kernel.org/r/[email protected]
>> 
>> is that OK?
>
> No, please don't add links for no point. Add a link if you are
> linking to some relevant discussion.
>
> When maintainers apply patches they can have b4 add
> message id in b4 am/shazam command. It's not the default though
> and that is maintainer flow not contributor flow.

It turned out I had:

[am]
        messageid = true

in my global config. I've dropped that and made it local for repos now.

>
>
> Parav started adding these links automatically with -l, I personally
> prefer -i so that links have meaning. Not worth my time
> fighting about though.
>
>
>> >
>> >> ---
>> >>  make-setup-generated.sh | 32 ++++++++++++++++++++++++++++----
>> >>  makeall.sh              |  4 ++--
>> >>  makehtml.sh             |  2 +-
>> >>  makepdf.sh              |  2 +-
>> >>  4 files changed, 32 insertions(+), 8 deletions(-)
>> >> 
>> >> diff --git a/make-setup-generated.sh b/make-setup-generated.sh
>> >> index 2c5c7f8..8d33ac5 100755
>> >> --- a/make-setup-generated.sh
>> >> +++ b/make-setup-generated.sh
>> >> @@ -1,16 +1,31 @@
>> >>  #! /bin/sh
>> >> +#
>> >> +# Generate version and metadata preamble for the document
>> >> +#
>> >>  
>> >>  DATESTR=${DATESTR:-`cat REVISION-DATE 2>/dev/null`}
>> >> -if [ x"$DATESTR" = x ]; then
>> >> -    ISODATE=`git show --format=format:'%cd' --date=iso | head -n 1`
>> >> -    DATESTR=`date -d "$DATE" +'%d %B %Y'`
>> >> +
>> >> +# If a second argument is passed we extract what we can from git
>> >> +# metadata (closest lightweight tag) and local tree status. This
>> >> +# allows locally generated copies to be tagged appropriately.
>> >> +#
>> >> +# The formal build process skips this.
>> >> +if ! test -z "$2"; then
>> >> +    TAG=$(git describe --dirty --tags)
>> >> +    # base date on now
>> >> +    DATESTR=$(date +'%d %B %Y')
>> >> +    COMMIT=$(git rev-parse --short HEAD)
>> >> +
>> >> +    # Finally check if we have un-committed changes in the tree
>> >> +    if ! git diff-index --quiet HEAD -- ; then
>> >> +        COMMIT="$COMMIT with local changes"
>> >> +    fi
>> >>  fi
>> >>  
>> >>  case "$1" in
>> >>      *-wd*)
>> >>  	STAGE=wd
>> >>  	STAGENAME="Working Draft"
>> >> -	WORKINGDRAFT=`basename "$1" | sed 's/.*-wd//'`
>> >>  	;;
>> >>      *-os*)
>> >>  	STAGE=os
>> >
>> > This is used in the generated latex:
>> > make-setup-generated.sh:\newcommand{\virtioworkingdraft}{$WORKINGDRAFT}
>> >
>> > Are you sure output for a wd is unaffected?
>> > We still need to be able to generate these for the TC process.
>> >
>> >
>> >> @@ -41,6 +56,15 @@ esac
>> >>  
>> >>  VERSION=`echo "$1"| sed -e 's/virtio-v//' -e 's/-.*//'`
>> >>  
>> >> +#
>> >> +# Finally if we are building a local draft copy append the commit
>> >> +# details to the end of the working draft
>> >> +#
>> >> +if ! test -z "$COMMIT" ; then
>> >> +    STAGEEXTRATITLE="$STAGEEXTRATITLE (@ git $COMMIT)"
>> >> +fi
>> >> +
>> >> +
>> >>  #Prepend OASIS unless already there
>> >>  case "$STAGENAME" in
>> >>  	OASIS*)
>> >> diff --git a/makeall.sh b/makeall.sh
>> >> index 37e6c34..5f5d5dc 100755
>> >> --- a/makeall.sh
>> >> +++ b/makeall.sh
>> >> @@ -3,8 +3,8 @@
>> >>  export SPECDOC=${SPECDOC:-`cat REVISION`}
>> >>  export DATESTR=${DATESTR:-`cat REVISION-DATE`}
>> >>  ./makezip.sh
>> >> -./makehtml.sh
>> >> -./makepdf.sh
>> >> +./makehtml.sh $1
>> >> +./makepdf.sh $1
>> >>  zip $SPECDOC.zip $SPECDOC.pdf
>> >>  echo Generated file $SPECDOC.zip
>> >>  echo To change output file name, set SPECDOC environment variable
>> >> diff --git a/makehtml.sh b/makehtml.sh
>> >> index 45b7080..cf1a8d7 100755
>> >> --- a/makehtml.sh
>> >> +++ b/makehtml.sh
>> >> @@ -1,7 +1,7 @@
>> >>  #!/bin/sh
>> >>  
>> >>  SPECDOC=${SPECDOC:-`cat REVISION`}
>> >> -./make-setup-generated.sh "$SPECDOC"
>> >> +./make-setup-generated.sh "$SPECDOC" $1
>> >>  
>> >>  cp virtio-html.tex $SPECDOC.tex
>> >>  
>> >> diff --git a/makepdf.sh b/makepdf.sh
>> >> index 9cae903..bdfb8e5 100755
>> >> --- a/makepdf.sh
>> >> +++ b/makepdf.sh
>> >> @@ -1,7 +1,7 @@
>> >>  #!/bin/sh
>> >>  
>> >>  SPECDOC=${SPECDOC:-`cat REVISION`}
>> >> -./make-setup-generated.sh "$SPECDOC"
>> >> +./make-setup-generated.sh "$SPECDOC" $1
>> >>  
>> >>  rm $SPECDOC.aux $SPECDOC.pdf $SPECDOC.out
>> >>  xelatex --jobname $SPECDOC virtio.tex
>> >> -- 
>> >> 2.47.3
>> >> 
>> 
>> -- 
>> Alex Bennée
>> Virtualisation Tech Lead @ Linaro

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro