From cef1e506813912154f9fddeedcdf332e732751bf Mon Sep 17 00:00:00 2001 From: Dengke Du Date: Fri, 2 Dec 2016 16:08:57 +0800 Subject: archiver.bbclass: fix do_ar_recipe error for bonnie++ and libsigc++-2.0 When recipes name contains regular expression special characters, such as "++", in this case, the re.compile function in do_ar_recipe can't recognize it, so we should associate with re.escape to recognize the special characters in pattern. Signed-off-by: Dengke Du --- meta/classes/archiver.bbclass | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index fe8877bc75..7d89e449d3 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -359,8 +359,9 @@ python do_ar_recipe () { bbappend_files = d.getVar('BBINCLUDED', True).split() # If recipe name is aa, we need to match files like aa.bbappend and aa_1.1.bbappend # Files like aa1.bbappend or aa1_1.1.bbappend must be excluded. - bbappend_re = re.compile( r".*/%s_[^/]*\.bbappend$" %pn) - bbappend_re1 = re.compile( r".*/%s\.bbappend$" %pn) + # If the "pn" contains regular expression special characters, we should use re.escape to recognize it. + bbappend_re = re.compile( r".*/%s_[^/]*\.bbappend$" % re.escape(pn)) + bbappend_re1 = re.compile( r".*/%s\.bbappend$" % re.escape(pn)) for file in bbappend_files: if bbappend_re.match(file) or bbappend_re1.match(file): shutil.copy(file, outdir) -- cgit 1.2.3-korg