| #! /bin/bash |
| # bootstrap -- Use this script to create generated files from a VCS checkout |
| # |
| # Copyright 2008 Sony Corporation of America |
| # |
| # |
| # Permission is hereby granted, free of charge, to any person obtaining |
| # a copy of this Library and associated documentation files (the |
| # "Library"), to deal in the Library without restriction, including |
| # without limitation the rights to use, copy, modify, merge, publish, |
| # distribute, sublicense, and/or sell copies of the Library, and to |
| # permit persons to whom the Library is furnished to do so, subject to |
| # the following conditions: |
| # |
| # The above copyright notice and this permission notice shall be |
| # included in all copies or substantial portions of the Library. |
| # |
| # If you modify the Library, you may copy and distribute your modified |
| # version of the Library in object code or as an executable provided |
| # that you also do one of the following: |
| # |
| # Accompany the modified version of the Library with the complete |
| # corresponding machine-readable source code for the modified version |
| # of the Library; or, |
| # |
| # Accompany the modified version of the Library with a written offer |
| # for a complete machine-readable copy of the corresponding source |
| # code of the modified version of the Library. |
| # |
| # |
| # THE LIBRARY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
| # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
| # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
| # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
| # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
| # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
| # LIBRARY OR THE USE OR OTHER DEALINGS IN THE LIBRARY. |
| # |
| |
| version= |
| |
| if [ "$1" ]; then |
| version=$1 |
| elif head=$(git rev-parse --short --verify HEAD 2>/dev/null); then |
| |
| # If available, use the git commit revision for the package version. |
| |
| months="Jan:01 Feb:02 Mar:03 Apr:04 May:05 Jun:06 Jul:07 Aug:08 \ |
| Sep:09 Oct:10 Nov:11 Dec:12" |
| |
| # Add a date prefix for easy reading. |
| |
| date=$(git log --pretty=format:"%cD" -1 HEAD) |
| |
| # date='Fri, 2 Aug 2007 19:36:06 -0700' |
| |
| date=${date##*, } |
| date=${date% [0-9][0-9]:*} |
| day=${date%* [A-Z][a-z][a-z] *} |
| year=${date##* [A-Z][a-z][a-z] 20} |
| month=${date##${day} } |
| month=${month%% 20${year}} |
| month=${months##*${month}:} |
| month=${month%% *} |
| [ ! ${day#[0-9][0-9]} ] || day="0$day" |
| |
| version=$(printf '%s.%s.%s-%s%s' ${year} ${month} ${day} g ${head}) |
| |
| # Add a '-dirty' postfix for uncommitted changes. |
| |
| if git diff-index HEAD | read dummy; then |
| version=`printf '%s%s' ${version} -dirty` |
| fi |
| else |
| # Default to date and time. |
| |
| version="dev-$(date +%y.%m.%d-%H.%M.%S)" |
| fi |
| |
| set -x |
| |
| sed -e s,@version@,${version},g configure.ac.in > configure.ac |
| sed -e s,@version@,${version},g mars.spec.in > mars.spec |
| |
| ln -sf scripts/acinclude.m4 . |
| |
| aclocal |
| automake --foreign --add-missing --copy |
| autoconf |
| |
| pushd base > /dev/null && ./bootstrap ${version} && popd > /dev/null |
| pushd task > /dev/null && ./bootstrap ${version} && popd > /dev/null |