generic-poky/bitbake/lib/bb/fetch2
Richard Purdie 97d44bf526 bitbake: cache/fetch2/siggen: Ensure we track include history for file checksums
Currently, if you reference a file url, its checksum is included in the
task hash, however if you change to a different file at a different
location, perhaps taking advantage of the FILESPATH functionality, the
system will not reparse the file in question and change its checksum to
match the new file.

To correctly handle this, the system not only needs to know if the
existing file still exists or not, but also check the existance
of every file it would have looked at when computing the original file.

We already do this in the bitbake parsing code for class inclusion. This
change uses the same technique to log the file list we looked at and
if files in these locations exist when they previously did not, to
invalidate and reparse the file.

Since data stored in the cache is flattened text, we have to use a string
form of the data and split on the ":" character which is ugly, but is
an internal detail we can improve later if a better method is found.

The cache version changes to trigger a reparse since the previous
cache data is now incompatible.

[YOCTO #7019]

(Bitbake rev: 6c0706a28d72c591f1b75b6e3f3b645859387c7e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:52:52 +00:00
..
__init__.py bitbake: cache/fetch2/siggen: Ensure we track include history for file checksums 2015-01-08 09:52:52 +00:00
bzr.py bitbake: fetch2: Correct a few calls to latest_revision() 2013-11-25 13:02:27 +00:00
clearcase.py bitbake: fetch2: Add module for ClearCase (ccrc://) 2014-07-21 19:24:29 +01:00
cvs.py bitbake: fetch2: Stop passing around the pointless url parameter 2013-11-22 12:03:02 +00:00
git.py bitbake: fetch/git: Add latest_versionstring method 2014-11-12 15:25:17 +00:00
gitannex.py bitbake: fetch2/gitannex: Fix function arguments to match bitbake master 2014-01-08 15:27:37 +00:00
gitsm.py bitbake: fetch2/gitsm: Documentation improvements for gitsm:// fetcher 2014-05-19 12:04:34 +01:00
hg.py bitbake: fetch2/hg: Fix username/password handling 2014-08-28 15:12:45 +01:00
local.py bitbake: wget: Add localpaths method which gives localpath with history 2015-01-08 09:52:52 +00:00
osc.py bitbake: fetch2: Stop passing around the pointless url parameter 2013-11-22 12:03:02 +00:00
perforce.py bitbake: fetch2/perforce: Use replace (1 line) instead of find (3 lines) 2014-09-23 20:21:12 +01:00
repo.py bitbake: fetch2: Stop passing around the pointless url parameter 2013-11-22 12:03:02 +00:00
sftp.py bitbake: fetch2: Stop passing around the pointless url parameter 2013-11-22 12:03:02 +00:00
ssh.py bitbake: fetch2: Stop passing around the pointless url parameter 2013-11-22 12:03:02 +00:00
svn.py bitbake: fetch2/svn: Add transportuser parameter 2014-07-04 09:28:36 +01:00
wget.py bitbake: fetch2/wget: Fix horrible temp file handling 2014-12-25 08:18:14 +00:00