sstate-cache-management.sh: fix it for downloaded file
Fix it for the downloaded sstate cache file * The downloaded sstate cache file is in SSTATE_DIR, and there is a symlink points to it, the sstate cache file should not be removed if the corresponding symlink is kept, it would be removed when the symlink is removed (with -L option). * Fix a comment line. [YOCTO #2897] (From OE-Core rev: 12ed7e6bb215e70b119d5ce123e36e2fd380ff1e) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
59260f952f
commit
43a7c66113
|
@ -211,8 +211,25 @@ remove_duplicated () {
|
|||
for arch in $ava_archs; do
|
||||
grep -h "/$fn-$arch-" $list_suffix >>$fn_tmp
|
||||
done
|
||||
# Use the access time, also delete the .siginfo file
|
||||
# Use the modification time
|
||||
to_del=$(ls -t $(cat $fn_tmp) | sed -n '1!p')
|
||||
# The sstate file which is downloaded from the SSTATE_MIRROR is
|
||||
# put in SSTATE_DIR, and there is a symlink in SSTATE_DIR/??/ to
|
||||
# it, so filter it out from the remove list if it should not be
|
||||
# removed.
|
||||
to_keep=$(ls -t $(cat $fn_tmp) | sed -n '1p')
|
||||
for k in $to_keep; do
|
||||
if [ -L "$k" ]; then
|
||||
# The symlink's destination
|
||||
k_dest="`readlink -e $k`"
|
||||
# Maybe it is the one in cache_dir
|
||||
k_maybe="$cache_dir/${k##/*/}"
|
||||
# Remove it from the remove list if they are the same.
|
||||
if [ "$k_dest" = "$k_maybe" ]; then
|
||||
to_del="`echo $to_del | sed 's#'\"$k_maybe\"'##g'`"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
rm -f $fn_tmp
|
||||
gen_rmlist $rm_list "$to_del"
|
||||
done
|
||||
|
@ -221,6 +238,7 @@ remove_duplicated () {
|
|||
let total_deleted=$total_deleted+$deleted
|
||||
done
|
||||
rm -f $list_suffix
|
||||
rm -f $sstate_list
|
||||
if [ $total_deleted -gt 0 ]; then
|
||||
read_confirm
|
||||
if [ "$confirm" = "y" -o "$confirm" = "Y" ]; then
|
||||
|
|
Loading…
Reference in New Issue