Let's say I have a simple recipe that only adds one script file:
LICENSE = "CLOSED"
SRC_URI += "file://test.sh"
S = "${WORKDIR}"
do_install () {
mkdir -p ${D}/usr/bin
cp -r test.sh ${D}/usr/bin
}
If I modify test.sh and re-run bitbake, it does nothing because it doesn't realize anything has changed. Is there any way to get the recipe to check if there are changes in SRC_URI files? And recompile if changes are found. SRC_URI[md5sum] is not supported for local files.
EDIT: My original question was a bit flawed, due to my somewhat unrealistic test setup. But it did show an interesting feature in bitbake.
I switched between two versions of test.sh, where I just added or removed one character. What happened was this:
- Run bitbake -> test-recipe is compiled
- Edit test.sh by adding one char
- Run bitbake -> test-recipe is compiled
- Edit test.sh by removing the char
- Run bitbake -> test-recipe is not compiled
- Edit test.sh by adding the same char as before
- Run bitbake -> test-recipe is not compiled
So if test.sh changes to a previous version, bitbake does not notice the change. There must be some sort of weird caching going on somewhere. What this means is that the recipe I used originally worked, but only if the changes to test.sh are new, actual changes and not the artificial ones I used to test the recipe.