X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fiw.git;a=blobdiff_plain;f=version.sh;h=9ef607d79cf34cebbd11111afa91a2a28de74b4d;hp=27e67999b4e8a33c702d83e7a8bd3f459a4fc2b7;hb=feea0ff28c8ca01d832b8dd36af2d196fbfee772;hpb=d8039f5eb6a7eb8c15983749248808d41acdeec7 diff --git a/version.sh b/version.sh index 27e6799..9ef607d 100755 --- a/version.sh +++ b/version.sh @@ -1,24 +1,41 @@ #!/bin/sh -VERSION="0.9.16" +VERSION="4.7" OUT="$1" -echo '#include "iw.h"' > "$OUT" +# get the absolute path for the OUT file +OUT_NAME=$(basename ${OUT}) +OUT_DIR=$(cd $(dirname ${OUT}); pwd) +OUT="${OUT_DIR}/${OUT_NAME}" -if head=`git rev-parse --verify HEAD 2>/dev/null`; then - git update-index --refresh --unmerged > /dev/null - descr=$(git describe) +# the version check should be under the source directory +# where this script is located, instead of the currect directory +# where this script is excuted. +SRC_DIR=$(dirname $0) +SRC_DIR=$(cd ${SRC_DIR}; pwd) +cd "${SRC_DIR}" - # on git builds check that the version number above - # is correct... - [ "${descr%%-*}" = "v$VERSION" ] || exit 2 +v="" +if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then + git update-index --refresh --unmerged > /dev/null + descr=$(git describe --match=v* 2>/dev/null) + if [ $? -eq 0 ]; then + # on git builds check that the version number above + # is correct... + if [ "${descr%%-*}" = "v$VERSION" ]; then + v="${descr#v}" + if git diff-index --name-only HEAD | read dummy ; then + v="$v"-dirty + fi + fi + fi +fi - v="${descr#v}" - if git diff-index --name-only HEAD | read dummy ; then - v="$v"-dirty - fi -else - v="$VERSION" +# set to the default version when failed to get the version +# information with git +if [ -z "${v}" ]; then + v="$VERSION" fi +echo '#include "iw.h"' > "$OUT" echo "const char iw_version[] = \"$v\";" >> "$OUT"