0

I have a recipe that requires downloading a file with a + in the file name. It fetches and unpacks the file to a path matching the file name, as one would expect, but then attempts to work out of a directory without the +... extension. For example:

# in the xsd recipe
SRC_URI="http://www.codesynthesis.com/download/xsd/3.3/xsd-3.3.0-2+dep.tar.bz2"

Then bitbake xsd results in the following two directories:

xsd-3.3.0-2       (aka, ${S} according to bitbake)
xsd-3.3.0-2+dep   (where the files actually are)

So far I've attempted to change the S variable after the unpack task occurs:

do_unpack_append () {
    S=${S}+dep
}

This results in an error that the line in the function cannot be parsed.

Does anyone know of a way around this problem?

Thomas
  • 439
  • 4
  • 21

1 Answers1

0

After a great deal of searching, the trick was to update the S variable from within the recipe (i.e., not a task function):

S .= "+dep"

After a -c cleanall, BitBake fetched, decompressed, and then began working out of the corrected source path.

Thomas
  • 439
  • 4
  • 21