Make beastdocs package work properly with git.
authorU-SevenCorn\Stefan <Stefan@SevenCorn.(none)>
Thu, 14 Jan 2010 20:29:38 +0000 (21:29 +0100)
committerU-SevenCorn\Stefan <Stefan@SevenCorn.(none)>
Thu, 14 Jan 2010 20:29:38 +0000 (21:29 +0100)
buildutils.py
packages/apps/beast.py
packages/apps/beastdocs.py
winenv

index f68e9f7..4e16469 100644 (file)
@@ -29,20 +29,27 @@ def download_and_check (url, md5_hash):
     utils.die ("md5 hash of file " + filename_full + " does not match expected value\n"
              + "expected md5 hash: " + md5_hash + "\n" + "   local md5 hash: " + local_hash)
 
-def git_checkout (repo, project, branch):
+def git_checkout (repo, project_git, branch):
+  if project_git.endswith (".git"):
+    project = project_git[:-4]
+  else:
+    project = project_git
   bb_file_name = config.SRC_DIR.join (Path (project + "/.BEASTBUILD")).native()
   if not os.path.exists (bb_file_name + "_CLONE_OK"):
     os.chdir (config.SRC_DIR.native())
-    cmd = "git clone %s/%s" % (config.REPOSITORY[repo], project)
+    if repo.startswith ("http://"):
+      cmd = "git clone %s/%s" % (repo, project_git)
+    else:
+      cmd = "git clone %s/%s" % (config.REPOSITORY[repo], project_git)
     print cmd
     status = call_log (["sh", "-c", cmd ])
     if (status != 0):
-      utils.die ("cannot clone git repository %s project %s" % (repo, project))
+      utils.die ("cannot clone git repository %s project %s" % (repo, project_git))
     # create stamp file
     file = open (bb_file_name + "_CLONE_OK", "w")
     file.write ("stamp file needed by beastbuild")
     file.close()
-  if not os.path.exists (bb_file_name + "_CHECKOUT_OK"):
+  if not os.path.exists (bb_file_name + "_CHECKOUT_OK") and (branch != "master"):
     os.chdir (os.path.join (config.SRC_DIR.native(), project))
     cmd = "git checkout -b %s origin/%s" % (branch, branch)
     print cmd
index e8ff401..be09a52 100644 (file)
@@ -36,7 +36,7 @@ class Beast(Package):
     self.install_with_dist_image()
 
   def depends (self):
-    return [ 'libogg', 'libvorbis', 'libmad', 'libgnomecanvas', 'libtool', 'guile' ]
+    return [ 'libogg', 'libvorbis', 'libmad', 'libgnomecanvas', 'libtool', 'guile', 'beastdocs' ]
 
 def package():
   return Beast()
index b374046..0ba08c4 100644 (file)
@@ -8,7 +8,7 @@ class BeastDocs(Package):
     return "beastdocs"
 
   def download (self):
-    git_checkout ("http://space.twc.de/public/git", "beastdocs", "master")
+    git_checkout ("http://space.twc.de/public/git", "beastdocs.git", "master")
 
   def extract (self):
     pass
diff --git a/winenv b/winenv
index a86833f..1eee191 100644 (file)
--- a/winenv
+++ b/winenv
@@ -5,5 +5,7 @@ export PATH=/c/Python26:$PATH
 export PATH=$BEASTBUILD_PREFIX/mingw/bin:$PATH
 export PATH=$BEASTBUILD_PREFIX/msys/bin:$PATH
 export PATH=$BEASTBUILD_PREFIX/bin:$PATH
+export PATH=$PATH:/c/programme/git/libexec/git-core
+export PATH=$PATH:/c/programme/git/bin
 export CC="ccache gcc"
 export CXX="ccache g++"