Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

allow gitrev to be read from file #1934

Merged
merged 2 commits into from

3 participants

@wsnipex
Collaborator

needed for building outside of a git repo

for post frodo

@wsnipex
Collaborator

well, gitrev is just a text file that has the git revision of the build. Its a replacement for what the git log - that is used when configure is run from within a git repo - spits out. Its what the system info screen shows besides the build date.
It would be up to the user to fill it with the last git revision this source has.

This patch is probably only useful for packaging on linux, because e.g. launchpad only takes tarballs, you cannot build out of a git repo. That means that the Xbmc info screen shows buildate with revision Unknown. With this patch the packager could include this gitrev file to include that information and be in line with all other platforms that build from git dirs.

I'm not sure myself if this is necessary to be included in xbmc, up to you.

I agree that the filename could be more self explanatory, can change it if you agree with the idea of the PR.

@theuni
Owner

ping @wsnipex

If you use tools/tools/mk-release-source to create your tarballs, you'll get pre-bootstrapped/codegen's sources that also contain a VERSION file.

The first line is the git revision as it was given (it could be a tag, branch, HEAD~5, etc)
The second line is the real git hash for that commit.
For non-tagged revisions, they will be the same thing.

I think this is what you needed here? If you change this to use VERSION (i used that filename because it's relatively common to indicate the version of the tarball), I believe you should be all set.

@wsnipex
Collaborator

@theuni great :) I adjusted this to use the VERSION file. the cut command trims the revision to 16 chars, which would allow the exact same revision format as like building out of git (e.g. 20121215-abcdefg). What do you think?

@wsnipex
Collaborator

@theuni I updated to use awk. I'd like to keep it generic enough to work also with VERSION files that contain only one line or more then two, so we always use the last line from the file.

@theuni
Owner

@wsnipex mind simplifying a bit for readability?

awk 'END{print substr($1,1,16)}' VERSION

After that, I'd say we should get this in for Frodo, since it's harmless and will help us package it better

@wsnipex
Collaborator

this is much cleaner indeed :) updated

wsnipex added some commits
@wsnipex wsnipex configure: allow GIT_REV to be read from VERSION file
needed for building outside of a git repo
1704ff6
@wsnipex wsnipex release-source script needs bash
on some systems /bin/sh is a simplistic posix shell
4377a98
@davilla davilla merged commit 4af88e7 into xbmc:master
@wsnipex wsnipex deleted the wsnipex:gitrev branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Feb 2, 2013
  1. @wsnipex

    configure: allow GIT_REV to be read from VERSION file

    wsnipex authored
    needed for building outside of a git repo
  2. @wsnipex

    release-source script needs bash

    wsnipex authored
    on some systems /bin/sh is a simplistic posix shell
This page is out of date. Refresh to see the latest.
Showing with 7 additions and 2 deletions.
  1. +6 −1 configure.in
  2. +1 −1  tools/mk-release-source
View
7 configure.in
@@ -2160,7 +2160,12 @@ if test "$HAVE_GIT" = "yes"; then
GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}')
fi
if test "$GIT_REV" = ""; then
- GIT_REV="Unknown"
+ if test -f VERSION ; then
+ GIT_REV=$(awk 'END{print substr($1,1,16)}' VERSION)
+ if test -z $GIT_REV ; then GIT_REV="Unknown" ; fi
+ else
+ GIT_REV="Unknown"
+ fi
fi
if test "$host_vendor" = "apple"; then
echo "#define GIT_REV \"$GIT_REV\"" > git_revision.h
View
2  tools/mk-release-source
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
REVISION="${1}"
COMPRESS="gzip"
WORKDIR="xbmc-${REVISION}"
Something went wrong with that request. Please try again.