All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH 0/1] Support to SRCREV_FORMAT for gitpkgv
@ 2011-09-03 23:05 Otavio Salvador
  2011-09-03 23:05 ` [meta-oe][PATCH 1/1] gitpkgv: add support SRCREV_FORMAT Otavio Salvador
  0 siblings, 1 reply; 2+ messages in thread
From: Otavio Salvador @ 2011-09-03 23:05 UTC (permalink / raw)
  To: openembedded-devel

The following changes since commit 22cede3ee0edeb203ebe42bfb805ee8b7d6dddfa:

  thunar-volman: Add udev to DEPENDS (2011-09-02 09:09:52 +0200)

are available in the git repository at:
  git://github.com/OSSystems/meta-oe master
  https://github.com/OSSystems/meta-oe/tree/master

Otavio Salvador (1):
  gitpkgv: add support SRCREV_FORMAT

 meta-oe/classes/gitpkgv.bbclass |   59 +++++++++++++++++++++++----------------
 1 files changed, 35 insertions(+), 24 deletions(-)

-- 
1.7.2.5




^ permalink raw reply	[flat|nested] 2+ messages in thread

* [meta-oe][PATCH 1/1] gitpkgv: add support SRCREV_FORMAT
  2011-09-03 23:05 [meta-oe][PATCH 0/1] Support to SRCREV_FORMAT for gitpkgv Otavio Salvador
@ 2011-09-03 23:05 ` Otavio Salvador
  0 siblings, 0 replies; 2+ messages in thread
From: Otavio Salvador @ 2011-09-03 23:05 UTC (permalink / raw)
  To: openembedded-devel

In case of multiple GIT repositories are used, SRCREV_FORMAT will be
respected while filling it with the proper GIT information to each
revision.

This new feature needed heavy changes in the code so basically it was
a rewrote version that keeps compatibility with previous usage.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 meta-oe/classes/gitpkgv.bbclass |   59 +++++++++++++++++++++++----------------
 1 files changed, 35 insertions(+), 24 deletions(-)

diff --git a/meta-oe/classes/gitpkgv.bbclass b/meta-oe/classes/gitpkgv.bbclass
index bedceb9..238b0d2 100644
--- a/meta-oe/classes/gitpkgv.bbclass
+++ b/meta-oe/classes/gitpkgv.bbclass
@@ -48,37 +48,48 @@ def gitpkgv_drop_tag_prefix(version):
         return version
 
 def get_git_pkgv(d, use_tags):
-	import os
-	import bb
+    import os
+    import bb
 
-	urls = bb.data.getVar('SRC_URI', d, 1).split()
+    src_uri = bb.data.getVar('SRC_URI', d, 1).split()
+    fetcher = bb.fetch2.Fetch(src_uri, d)
+    ud = fetcher.ud
 
-	for url in urls:
-		(type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d))
-		if type in ['git']:
+    #
+    # If SRCREV_FORMAT is set respect it for tags
+    #
+    format = bb.data.getVar('SRCREV_FORMAT', d, True)
+    if not format:
+        format = 'default'
 
-			gitsrcname = '%s%s' % (host, path.replace('/', '.'))
-			repodir = os.path.join(bb.data.expand('${GITDIR}', d), gitsrcname)
-			if not os.path.exists(repodir):
-				return None
+    found = False
+    for url in ud.values():
+        if url.type == 'git':
+            for name, rev in url.revisions.items():
+                if not os.path.exists(url.localpath):
+                    return None
 
-			rev = bb.fetch.get_srcrev(d).split('+')[1]
+                found = True
 
-			cwd = os.getcwd()
-			os.chdir(repodir)
+                cwd = os.getcwd()
+                os.chdir(url.localpath)
 
-			commits = bb.fetch.runfetchcmd("git rev-list %s -- 2> /dev/null | wc -l" % rev, d, quiet=True).strip()
+                commits = bb.fetch2.runfetchcmd("git rev-list %s -- 2> /dev/null | wc -l" % rev, d, quiet=True).strip()
 
-			if use_tags:
-				try:
-					ver = gitpkgv_drop_tag_prefix(bb.fetch.runfetchcmd("git describe %s 2>/dev/null" % rev, d, quiet=True).strip())
-				except Exception:
-					ver = "0.0-%s-g%s" % (commits, rev[:7])
-			else:
-				ver = "%s+%s" % (commits, rev[:7])
+                if use_tags:
+                    try:
+                        output = bb.fetch2.runfetchcmd("git describe %s 2>/dev/null" % rev, d, quiet=True).strip()
+                        ver = gitpkgv_drop_tag_prefix(output)
+                    except Exception:
+                        ver = "0.0-%s-g%s" % (commits, rev[:7])
+                else:
+                    ver = "%s+%s" % (commits, rev[:7])
 
-			os.chdir(cwd)
+                os.chdir(cwd)
 
-			return ver
+                format = format.replace(name, ver)
 
-	return "0+0"
+    if found:
+        return format
+
+    return '0+0'
-- 
1.7.2.5




^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-09-03 23:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-03 23:05 [meta-oe][PATCH 0/1] Support to SRCREV_FORMAT for gitpkgv Otavio Salvador
2011-09-03 23:05 ` [meta-oe][PATCH 1/1] gitpkgv: add support SRCREV_FORMAT Otavio Salvador

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.