Sent from the wrong account so the mailinglist rejected it. Re-sending
for the mailinglist's posterity (apologies to Peter & Ping for the
double mail).

Jason
---
Now instead of four in the eights place /
you’ve got three, ‘Cause you added one /
(That is to say, eight) to the two, /
But you can’t take seven from three, /
So you look at the sixty-fours....

On 8/5/2015 5:20 PM, Jason Gerecke wrote:
> On 8/5/2015 4:06 PM, Peter Hutterer wrote:
>> On Mon, Aug 03, 2015 at 01:45:47PM -0700, Jason Gerecke wrote:
>>> One of the steps that must be completed prior to making a new release is
>>> bumping up the version number in configure.ac. This is an error-prone
>>> process which can be replaced by having configure.ac get the current
>>> version from our "git-version-gen" script. To make a release with this
>>> script in place, simply tag the final commit, run `./autogen.sh` to
>>> update the version numbers, run `make distcheck` to validate the build,
>>> perform any additional testing on the generated tarball, and finally use
>>> the "release.sh" script to push everything up to Sourceforge.
>>
>> heh, funny. for me it's the other way round, I only tag once distcheck etc.
>> all passes :) and adding the version number automatically runs autogen.
>>
>> the release.sh script comes from the xorg one which has seen a fair number
>> of changes since we forked it. it now checks for the top commit to have a
>> tag and (iirc) whether the version number was bumped too. may be worth
>> synching with the xorg one.
>>
>>
> I'll give the xorg one a peek and see what interesting changes have been
> made. Sanity checks like that would be a nice feature, and maybe we can
> do without this patch :)
> 
>>> Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
>>> ---
>>>  autogen.sh      |  2 +-
>>>  configure.ac    |  2 +-
>>>  git-version-gen | 32 ++++++++++++++++++++++++++++++++
>>>  3 files changed, 34 insertions(+), 2 deletions(-)
>>>  create mode 100755 git-version-gen
>>>
>>> diff --git a/autogen.sh b/autogen.sh
>>> index 354f254..ddde471 100755
>>> --- a/autogen.sh
>>> +++ b/autogen.sh
>>> @@ -6,7 +6,7 @@ test -z "$srcdir" && srcdir=.
>>>  ORIGDIR=`pwd`
>>>  cd $srcdir
>>>  
>>> -autoreconf -v --install || exit 1
>>> +autoreconf -v --install --force || exit 1
>>>  cd $ORIGDIR || exit $?
>>>  
>>>  $srcdir/configure "$@"
>>> diff --git a/configure.ac b/configure.ac
>>> index 6c8488e..b7b514e 100644
>>> --- a/configure.ac
>>> +++ b/configure.ac
>>> @@ -23,7 +23,7 @@
>>>  # Initialize Autoconf
>>>  AC_PREREQ([2.60])
>>>  AC_INIT([xf86-input-wacom],
>>> -        [0.30.0],
>>> +        m4_normalize(m4_esyscmd([./git-version-gen])),
>>
>> does this need to be added to EXTRA_DIST? also, will this work with
>> builddir != srcdir if you have the path in there?
>>
>> (if distcheck passes, then the answer is yes, so ignore this comment :)
>>
> 
> This doesn't need to be added to EXTRA_DIST since its only ever called
> by autoconf. The generated configure file will just have the generated
> version numbers sprinkled throughout.
> 
> As for builddir != srcdir, distcheck runs without issue :)
> 
>>>          [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
>>>          [xf86-input-wacom])
>>>  AC_CONFIG_MACRO_DIR([m4])
>>> diff --git a/git-version-gen b/git-version-gen
>>> new file mode 100755
>>> index 0000000..ca335e2
>>> --- /dev/null
>>> +++ b/git-version-gen
>>> @@ -0,0 +1,32 @@
>>> +#!/bin/sh
>>> +
>>> +DEF_VER=UNKNOWN
>>> +TAG_PREFIX="xf86-input-wacom-"
>>> +LF='
>>> +'
>>> +
>>> +# First see if we're in a git directory and try git-describe, then
>>> +# try the 'version' file if present (included in release tarballs),
>>> +# and finally the default.
>>> +if test -d ${GIT_DIR:-.git} -o -f .git &&
>>
>> you don't need this test, git describe will fail if it can't find a git
>> directory anyway
>>
>>> +   VN=$(git describe --match "${TAG_PREFIX}*" --abbrev=7 HEAD 2>/dev/null) 
>>> &&
>>> +   case "$VN" in
>>> +   *$LF*) (exit 1) ;;
>>> +   ${TAG_PREFIX}*)
>>> +           git update-index -q --refresh
>>> +           test -z "$(git diff-index --name-only HEAD --)" ||
>>> +           VN="$VN-dirty" ;;
>>> +   esac
>>
>> I did not know that you could put case/esac into a test condition. learned
>> something new there, thanks
>>
>>> +then
>>> +   VN=$(echo "$VN" | sed -e "s/${TAG_PREFIX}//");
>>> +   #VN=$(echo "$VN" | sed -e 's/-/./g');
>>
>> drop this line?
>>
>>> +elif test -f version
>>> +then
>>> +   VN=$(cat version) || VN="$DEF_VER"
>>
>> wait, what generates the "version" file? am I missing something here?
>>
>>> +else
>>> +   VN="$DEF_VER"
>>> +fi
>>> +
>>> +VN=$(expr "$VN" : v*'\(.*\)')
>>> +
>>> +echo $VN
>>
>> can we rename VN to VERSION? would be a lot more obvious to grasp and
>> characters are not at a premium anymore now that we have terabyte 
>> harddrives :)
>>
>> Cheers,
>>    Peter
>>
> Taking all the git-version-gen comments in one go, this script
> originally comes from [1] and is slightly modified for our use. I'd
> prefer to keep the changes to a minimum so that the script continues to
> resemble upstream as well as its sister version proposed for
> "input-wacom". The first and last comments are upstream decisions, and
> the third and fourth are brought over from input-wacom.
> 
> [1]: https://git.kernel.org/cgit/git/git.git/tree/GIT-VERSION-GEN?id=HEAD
> 
> Jason
> ---
> Now instead of four in the eights place /
> you’ve got three, ‘Cause you added one /
> (That is to say, eight) to the two, /
> But you can’t take seven from three, /
> So you look at the sixty-fours....
> 
>>> -- 
>>> 2.4.6
>>>
>>>

------------------------------------------------------------------------------
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to