]> code.ossystems Code Review - openembedded-core.git/commitdiff
sstate.bbclass: update the timestamps after install
authorRobert Yang <liezhi.yang@windriver.com>
Thu, 4 Sep 2014 06:12:06 +0000 (23:12 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 29 Sep 2014 11:11:49 +0000 (12:11 +0100)
Update the sstate file's timestamps after it is installed, it will be
very useful for removing the old sstate file, especially, it's not easy
to remove when use the shared SSTATE_DIR, we can easily remove them with
this change, for example:

$ find state-cache -type f -ctime +10 -exec rm -f {} \;

Will remove the sstate file which isn't used by recent 10 days.

We can use the -atime, but it is not always available, for example,
when mounted with "-o noatime".

The touch is a very light weight action, and the
scripts/sstate-cache-management.sh also requires this.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/sstate.bbclass

index 72ac882dbbf71572f0e5ef82c55241fc6ec5486e..9160e7f6dad0f43d0bcab67b9ecea72959ac3dc0 100644 (file)
@@ -624,6 +624,8 @@ sstate_unpack_package () {
        mkdir -p ${SSTATE_INSTDIR}
        cd ${SSTATE_INSTDIR}
        tar -xmvzf ${SSTATE_PKG}
+       # Use "! -w ||" to return true for read only files
+       [ ! -w ${SSTATE_PKG} ] || touch --no-dereference ${SSTATE_PKG}
 }
 
 BB_HASHCHECK_FUNCTION = "sstate_checkhashes"