From 3360528ed1615dff05dddca99d26fc67fa54e77b Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Sat, 20 May 2006 12:05:46 +0000 Subject: base.bbclass: add support for 'min/max' date for patches - SRC_URI = "file//something.patch;patch=1;mindate=20050312;maxdate=20060302 means that patch should be applied if SRCDATE > 20050312 and SRCDATE < 20060302 --- classes/base.bbclass | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'classes/base.bbclass') diff --git a/classes/base.bbclass b/classes/base.bbclass index 5f0e0d2fce..683b9e0d2a 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -475,6 +475,34 @@ python base_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 = bb.data.getVar('DATE', d, 1) + + 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 srcdate == "now": + srcdate = bb.data.getVar('DATE', d, 1) + + if (maxdate < srcdate) or (mindate > srcdate): + if (maxdate < srcdate): + bb.note("Patch '%s' is outdated" % pname) + + if (mindate > srcdate): + bb.note("Patch '%s' is predated" % pname) + + continue + bb.note("Applying patch '%s'" % pname) bb.data.setVar("do_patchcmd", bb.data.getVar("PATCHCMD", d, 1) % (pnum, pname, unpacked), d) bb.data.setVarFlag("do_patchcmd", "func", 1, d) -- cgit v1.2.3