[OE-core] [PATCH] package_rpm.bbclass : escape "%" in files and directories name

Sébastien Mennetrier s.mennetrier at innotis.org
Tue Oct 29 16:09:09 UTC 2013


Fixes [YOCTO #5397]

The rpm process replace all the "%name" in the spec file by the name of
the package. So, if the package is composed of some files or directories
named "%name...", the rpm package process failed.

Replace all "%" present in files or directories names by "[%]"

Signed-off-by: Sébastien Mennetrier <s.mennetrier at innotis.org>
---
 meta/classes/package_rpm.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 36bad09..6c73e37 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -662,10 +662,13 @@ python write_specfile () {
     def walk_files(walkpath, target, conffiles):
         for rootpath, dirs, files in os.walk(walkpath):
             path = rootpath.replace(walkpath, "")
+            path = path.replace("%", "[%]")
             for dir in dirs:
+                dir = dir.replace("%", "[%]")
                 # All packages own the directories their files are in...
                 target.append('%dir "' + path + '/' + dir + '"')
             for file in files:
+                file = file.replace("%", "[%]")
                 if conffiles.count(path + '/' + file):
                     target.append('%config "' + path + '/' + file + '"')
                 else:
-- 
1.8.1.2




More information about the Openembedded-core mailing list