8 fieldmap = ( "pkg", "src", "dest", "type", "mode", "uid", "gid", "major", "minor", "start", "inc", "count" )
9 for f in xrange(len(fieldmap)):
10 fields[fieldmap[f]] = None
15 splitline = line.split()
16 if not len(splitline):
20 for f in xrange(len(fieldmap)):
21 if splitline[f] == '-':
23 fields[fieldmap[f]] = splitline[f]
31 line = mfile.readline()
34 if line.startswith("#"):
36 fields = getfields(oe.data.expand(line, d))
39 manifest.append(fields)
42 def emit (func, manifest, d):
43 #str = "%s () {\n" % func
46 emittedline = emit_line(func, line, d)
49 str += emittedline + "\n"
53 def mangle (func, line):
57 if not os.path.isabs(src):
58 src = "${WORKDIR}/" + src
64 if dest.startswith("/"):
67 if func is "do_install":
70 elif func is "do_populate":
71 dest = "${WORKDIR}/install/" + line["pkg"] + "/" + dest
73 elif func is "do_stage":
75 varmap["${bindir}"] = "${STAGING_BINDIR}"
76 varmap["${libdir}"] = "${STAGING_LIBDIR}"
77 varmap["${includedir}"] = "${STAGING_INCDIR}"
78 varmap["${datadir}"] = "${STAGING_DIR}/share"
81 for key in varmap.keys():
82 if dest.startswith(key):
83 dest = varmap[key] + "/" + dest[len(key):]
95 def emit_line (func, line, d):
97 newline = copy.deepcopy(line)
103 type = newline["type"]
104 mode = newline["mode"]
106 dest = newline["dest"]
108 str = "install -d " + dest
110 str += "-m %s " % mode
116 str += "-m %s " % mode
117 str += src + " " + dest