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

Reply via email to