[OE-core] Is this a bug? Installed-but-not-packaged warning for a file which is in a package
Peter Seebach
peter.seebach at windriver.com
Wed Jan 23 20:43:20 UTC 2013
FILES_${PN} = "fascinating"
do_install() {
touch ${D}/fascinating
}
At least in our local copy of oe-core, this results in:
1. A package which contains a /fascinating file.
2. An installed-but-unpackaged warning for /fascinating.
This confused the heck out of me. I eventually figured it out: The "not
in seen" test is not aware of the possibility of differing path names.
In general, all path names in FILES_* are being written as absolute
paths by convention; in the actual code, this is silently corrected by
the addition of a leading period.
But an unqualified path works; it's treated as relative to the
sysroot/image/whatever, and it has the expected behavior. But then we
insert "fascinating" in seen, and check for "./fascinating" in the next
phase.
Possible solution:
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index b06cca5..9d50a61 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -981,6 +981,8 @@ python populate_packages () {
file.replace("//", "/")
if os.path.isabs(file):
file = '.' + file
+ if not file.startswith("./")
+ fle = './' + file
if not os.path.islink(file):
if os.path.isdir(file):
Before I send this as an actual patch and such: Is this behavior a bug?
If it is a bug, is this the right fix, or should we do something else,
like reject non-absolute paths?
Note that just adding a / to files that don't start with one doesn't
work; there appear to be at least *some* non-absolute paths in some
packages.
-s
--
Listen, get this. Nobody with a good compiler needs to be justified.
More information about the Openembedded-core
mailing list