Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=d324cf2453fb5e84e3df6aa064c7fbb4a393c720
commit d324cf2453fb5e84e3df6aa064c7fbb4a393c720 Author: Miklos Vajna <vmik...@frugalware.org> Date: Wed Dec 9 13:23:29 2009 +0100 scm.sh: improve _F_scm_tag handling for git - replace the last dot with a hyphen for git snapshots and rc releases diff --git a/source/devel-extra/git/FrugalBuild b/source/devel-extra/git/FrugalBuild index 727c94e..9c6ada5 100644 --- a/source/devel-extra/git/FrugalBuild +++ b/source/devel-extra/git/FrugalBuild @@ -37,7 +37,7 @@ subarchs=('i686 x86_64 ppc' 'i686 x86_64 ppc' 'i686 x86_64 ppc') if Fuse $USE_DEVEL; then _F_scm_type="git" _F_scm_url="git://git.kernel.org/pub/scm/git/git.git" - _F_scm_tag="v${pkgver//./-}" + _F_scm_tag="v$pkgver" Finclude scm fi diff --git a/source/include/kernel-version.sh b/source/include/kernel-version.sh index 932bcb5..8833044 100644 --- a/source/include/kernel-version.sh +++ b/source/include/kernel-version.sh @@ -15,6 +15,6 @@ # * _F_kernelver_rel: the kernel release # * _F_kernelver_stable: the number of the -stable patch to use (if any) ### -_F_kernelver_ver=2.6.32 -_F_kernelver_rel=1 -_F_kernelver_stable= +_F_kernelver_ver=${_F_kernelver_ver:-"2.6.32"} +_F_kernelver_rel=${_F_kernelver_ver:-"1"} +_F_kernelver_stable=${_F_kernelver_stable:-""} diff --git a/source/include/kernel.sh b/source/include/kernel.sh index 82b42a8..24d30e2 100644 --- a/source/include/kernel.sh +++ b/source/include/kernel.sh @@ -160,11 +160,7 @@ if Fuse $USE_DEVEL; then source=(config.i686 config.x86_64 config.ppc) signatures=('' '' '') [ -d $HOME/git/${_F_scm_url##*/} ] && _F_scm_git_cloneopts="--reference $HOME/git/${_F_scm_url##*/}" - if ! echo $pkgver |grep -q -- '\.g'; then - _F_scm_tag="v${pkgver//.rc/-rc}" - else - _F_scm_tag="v${pkgver//./-}" - fi + _F_scm_tag="v$pkgver" Finclude scm fi diff --git a/source/include/scm.sh b/source/include/scm.sh index 42ef582..54ae5c3 100644 --- a/source/include/scm.sh +++ b/source/include/scm.sh @@ -136,18 +136,31 @@ Funpack_scm() elif [ "$_F_scm_type" == "git" ]; then if [ -d $pkgname ]; then cd $pkgname - git pull && git checkout -f + if [ -n "$_F_scm_tag" ]; then + git fetch + else + git pull + fi + git checkout -f else git clone $_F_scm_git_cloneopts $_F_scm_url $pkgname || Fdie cd $pkgname fi if [ -n "$_F_scm_tag" ]; then - if [ -f .git/refs/remotes/origin/$_F_scm_tag ]; then + # 1.6.6.rc1.52.gff86bdd -> 1.6.6.rc1.52-gff86bdd + # 1.6.6.rc1 -> 1.6.6-rc1 + # 1.6.6 -> 1.6.6 + if echo $_F_scm_tag |grep -q -- '\(\.g\|\.rc\)'; then + _F_scm_tag2=$(echo $_F_scm_tag|sed 's/\(.*\)\.\([^.]\)/\1-\2/') + else + _F_scm_tag2=$_F_scm_tag + fi + if [ -f .git/refs/remotes/origin/$_F_scm_tag2 ]; then # this is a branch - git checkout origin/$_F_scm_tag || Fdie + git checkout origin/$_F_scm_tag2 || Fdie else # this is a tag or commit - git checkout $_F_scm_tag || Fdie + git checkout $_F_scm_tag2 || Fdie fi fi elif [ "$_F_scm_type" == "mercurial" ]; then _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git