[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [RFC PATCH 7/8] make*: remove reliance on REVISION-DATE and use git
Rather than manually tweaking REVISION-DATE and loading it into
DATESTR move all the logic into make-setup-generated.sh. While we are
at it we can query git directly for the state of tree and use that to
fill in the meta-data.
Signed-off-by: Alex BennÃe <alex.bennee@linaro.org>
---
REVISION-DATE | 1 -
make-setup-generated.sh | 54 +++++++++++++++++++++++++++++------------
makeall.sh | 1 -
makediff.sh | 1 -
makediffall.sh | 1 -
makediffwithbase.sh | 1 -
maketex.sh | 1 -
makezip.sh | 2 --
8 files changed, 38 insertions(+), 24 deletions(-)
delete mode 100644 REVISION-DATE
diff --git a/REVISION-DATE b/REVISION-DATE
deleted file mode 100644
index 59c9d17..0000000
--- a/REVISION-DATE
+++ /dev/null
@@ -1 +0,0 @@
-11 April 2019
diff --git a/make-setup-generated.sh b/make-setup-generated.sh
index f15d148..2faea0b 100755
--- a/make-setup-generated.sh
+++ b/make-setup-generated.sh
@@ -1,39 +1,61 @@
#! /bin/sh
+#
+# Generate version and metadata preamble for the document
+#
-VERSION=1.1
-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'`
+# Currently this works of the closest lightweight tag but we can
+# update this when we start using proper signed and annotated tags.
+TAG=$(git describe 2> /dev/null)
+if [ x"$TAG" = x ]; then
+ # no tag on head
+ TAG=$(git describe --dirty --tags)
+ # base date on now
+ DATESTR=$(date +'%d %B %Y')
+ COMMIT=$(git rev-parse --short HEAD)
+else
+ # base date on tag
+ DATESTR=$(git log HEAD^..HEAD --format=format:"%cd" --date=format:"%d %B %Y")
+ COMMIT=""
+fi
+
+VERSION=$(cut -d'-' -f2 <<EOF
+$TAG
+EOF
+ )
+
+# Finally check if we have un-committed changes in the tree
+if git diff-index --quiet HEAD -- ; then
+ COMMIT="$COMMIT with local changes"
+fi
+
+if [ x"$COMMIT" = x ]; then
+ WORKINGDRAFT=""
+else
+ WORKINGDRAFT=" (@ git $COMMIT)"
fi
case "$1" in
*-wd*)
STAGE=wd
STAGENAME="Working Draft"
- WORKINGDRAFT=`basename "$1" | sed 's/.*-wd//'`
;;
*-os*)
STAGE=os
STAGENAME="OASIS Standard"
- WORKINGDRAFT=""
;;
*-csd*)
STAGE=csd
- WORKINGDRAFT=`basename "$1" | sed 's/.*-csd//'`
- STAGENAME="Committee Specification Draft $WORKINGDRAFT"
+ STAGENAME="Committee Specification Draft$WORKINGDRAFT"
;;
*-csprd*)
STAGE=csprd
- WORKINGDRAFT=`basename "$1" | sed 's/.*-csprd//'`
- STAGENAME="Committee Specification Draft $WORKINGDRAFT"
- STAGEEXTRATITLE=" / \newline Public Review Draft $WORKINGDRAFT"
- STAGEEXTRA=" / Public Review Draft $WORKINGDRAFT"
+ STAGENAME="Committee Specification Draft$WORKINGDRAFT"
+ STAGEEXTRATITLE=" / \newline Public Review Draft$WORKINGDRAFT"
+ STAGEEXTRA=" / Public Review Draft$WORKINGDRAFT"
;;
*-cs*)
STAGE=cs
- WORKINGDRAFT=`basename "$1" | sed 's/.*-cs//'`
- STAGENAME="Committee Specification $WORKINGDRAFT"
+ STAGENAME="Committee Specification$WORKINGDRAFT"
;;
*)
echo Unknown doc type >&2
@@ -54,7 +76,7 @@ cat > setup-generated.tex <<EOF
% define VIRTIO Working Draft number and date
\newcommand{\virtiorev}{$VERSION}
\newcommand{\virtioworkingdraftdate}{$DATESTR}
-\newcommand{\virtioworkingdraft}{$WORKINGDRAFT}
+\newcommand{\virtioworkingdraft}{$COMMIT}
\newcommand{\virtiodraftstage}{$STAGE}
\newcommand{\virtiodraftstageextra}{$STAGEEXTRA}
\newcommand{\virtiodraftstageextratitle}{$STAGEEXTRATITLE}
diff --git a/makeall.sh b/makeall.sh
index 37e6c34..1e25b82 100755
--- a/makeall.sh
+++ b/makeall.sh
@@ -1,7 +1,6 @@
#!/bin/sh
export SPECDOC=${SPECDOC:-`cat REVISION`}
-export DATESTR=${DATESTR:-`cat REVISION-DATE`}
./makezip.sh
./makehtml.sh
./makepdf.sh
diff --git a/makediff.sh b/makediff.sh
index ef538c5..03f6731 100755
--- a/makediff.sh
+++ b/makediff.sh
@@ -1,7 +1,6 @@
#force revision and date in environment
#this way they don't appear in the diff
export SPECDOC=${SPECDOC:-`cat REVISION`}
-export DATESTR=${DATESTR:-`cat REVISION-DATE`}
export FROMVERSION=${FROMVERSION:-`cat DIFFVERSION`}
#make pdf diff using latexpand and latexdiff-fast
diff --git a/makediffall.sh b/makediffall.sh
index caff23e..f1a3333 100755
--- a/makediffall.sh
+++ b/makediffall.sh
@@ -1,5 +1,4 @@
export SPECDOC=${SPECDOC:-`cat REVISION`}
-export DATESTR=${DATESTR:-`cat REVISION-DATE`}
export FROMVERSION=${FROMVERSION:-`cat DIFFVERSION`}
./makezip.sh
mv -f $SPECDOC.zip $SPECDOC-diff-from-${FROMVERSION}.pdf
diff --git a/makediffwithbase.sh b/makediffwithbase.sh
index 8cd3c7a..3916c83 100755
--- a/makediffwithbase.sh
+++ b/makediffwithbase.sh
@@ -1,5 +1,4 @@
export SPECDOC=${SPECDOC:-`cat REVISION`}
-export DATESTR=${DATESTR:-`cat REVISION-DATE`}
./makezip.sh
./makehtml.sh
./makepdf.sh
diff --git a/maketex.sh b/maketex.sh
index c3b458f..1fee32b 100755
--- a/maketex.sh
+++ b/maketex.sh
@@ -1,3 +1,2 @@
export SPECDOC=${SPECDOC:-`cat REVISION`}-tex
-export DATESTR=${DATESTR:-`cat REVISION-DATE`}
./makezip.sh
diff --git a/makezip.sh b/makezip.sh
index 806fa52..40b13cc 100755
--- a/makezip.sh
+++ b/makezip.sh
@@ -1,5 +1,4 @@
export SPECDOC=${SPECDOC:-`cat REVISION`}
-export DATESTR=${DATESTR:-`cat REVISION-DATE`}
rm -f $SPECDOC.zip
if test -d .git; then
git archive --format=zip --prefix=tex/ -o $SPECDOC.zip HEAD
@@ -15,6 +14,5 @@ zip $SPECDOC.zip listings/virtio_queue.h
rm -fr tmpfilesforzip
mkdir -p tmpfilesforzip/tex
echo "$SPECDOC" > tmpfilesforzip/tex/REVISION
-echo "$DATESTR" > tmpfilesforzip/tex/REVISION-DATE
cd tmpfilesforzip
zip ../$SPECDOC.zip tex/*
--
2.20.1
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]