]> code.ossystems Code Review - openembedded-core.git/commitdiff
patch.bbclass: Add support for maxrev and minrev
authorRichard Purdie <richard@openedhand.com>
Fri, 3 Aug 2007 14:29:07 +0000 (14:29 +0000)
committerRichard Purdie <richard@openedhand.com>
Fri, 3 Aug 2007 14:29:07 +0000 (14:29 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2350 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/classes/patch.bbclass

index 68a71754c824f6fffc3eb88b54a4b617e2d120eb..52630899167238bc668183191b6fc33060d26df6 100644 (file)
@@ -458,33 +458,35 @@ python patch_do_patch() {
                else:
                        pname = os.path.basename(unpacked)
 
-               if "mindate" in parm:
-                       mindate = parm["mindate"]
-               else:
-                       mindate = 0
-
-               if "maxdate" in parm:
-                       maxdate = parm["maxdate"]
-               else:
-                       maxdate = "20711226"
-
-               pn = bb.data.getVar('PN', d, 1)
-               srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, 1)
+                if "mindate" in parm or "maxdate" in parm:
+                       pn = bb.data.getVar('PN', d, 1)
+                       srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, 1)
+                       if not srcdate:
+                               srcdate = bb.data.getVar('SRCDATE', d, 1)
 
-               if not srcdate:
-                       srcdate = bb.data.getVar('SRCDATE', d, 1)
+                       if srcdate == "now":
+                               srcdate = bb.data.getVar('DATE', d, 1)
 
-               if srcdate == "now":
-                       srcdate = bb.data.getVar('DATE', d, 1)
-
-               if (maxdate < srcdate) or (mindate > srcdate):
-                       if (maxdate < srcdate):
+                       if "maxdate" in parm and parm["maxdate"] < srcdate:
                                bb.note("Patch '%s' is outdated" % pname)
+                               continue
 
-                       if (mindate > srcdate):
+                       if "mindate" in parm and parm["mindate"] > srcdate:
                                bb.note("Patch '%s' is predated" % pname)
+                               continue
 
-                       continue
+
+               if "minrev" in parm:
+                       srcrev = bb.data.getVar('SRCREV', d, 1)
+                       if srcrev and srcrev < parm["minrev"]:
+                               bb.note("Patch '%s' applies to later revisions" % pname)
+                               continue
+
+               if "maxrev" in parm:
+                       srcrev = bb.data.getVar('SRCREV', d, 1)         
+                       if srcrev and srcrev > parm["maxrev"]:
+                               bb.note("Patch '%s' applies to earlier revisions" % pname)
+                               continue
 
                bb.note("Applying patch '%s'" % pname)
                try: