diff options
Diffstat (limited to 'scripts/sstate-cache-management.sh')
| -rwxr-xr-x | scripts/sstate-cache-management.sh | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/scripts/sstate-cache-management.sh b/scripts/sstate-cache-management.sh index f1706a2229..d39671f7c6 100755 --- a/scripts/sstate-cache-management.sh +++ b/scripts/sstate-cache-management.sh | |||
| @@ -114,7 +114,7 @@ echo_error () { | |||
| 114 | # * Add .done/.siginfo to the remove list | 114 | # * Add .done/.siginfo to the remove list |
| 115 | # * Add destination of symlink to the remove list | 115 | # * Add destination of symlink to the remove list |
| 116 | # | 116 | # |
| 117 | # $1: output file, others: sstate cache file (.tgz) | 117 | # $1: output file, others: sstate cache file (.tar.zst) |
| 118 | gen_rmlist (){ | 118 | gen_rmlist (){ |
| 119 | local rmlist_file="$1" | 119 | local rmlist_file="$1" |
| 120 | shift | 120 | shift |
| @@ -131,13 +131,13 @@ gen_rmlist (){ | |||
| 131 | dest="`readlink -e $i`" | 131 | dest="`readlink -e $i`" |
| 132 | if [ -n "$dest" ]; then | 132 | if [ -n "$dest" ]; then |
| 133 | echo $dest >> $rmlist_file | 133 | echo $dest >> $rmlist_file |
| 134 | # Remove the .siginfo when .tgz is removed | 134 | # Remove the .siginfo when .tar.zst is removed |
| 135 | if [ -f "$dest.siginfo" ]; then | 135 | if [ -f "$dest.siginfo" ]; then |
| 136 | echo $dest.siginfo >> $rmlist_file | 136 | echo $dest.siginfo >> $rmlist_file |
| 137 | fi | 137 | fi |
| 138 | fi | 138 | fi |
| 139 | fi | 139 | fi |
| 140 | # Add the ".tgz.done" and ".siginfo.done" (may exist in the future) | 140 | # Add the ".tar.zst.done" and ".siginfo.done" (may exist in the future) |
| 141 | base_fn="${i##/*/}" | 141 | base_fn="${i##/*/}" |
| 142 | t_fn="$base_fn.done" | 142 | t_fn="$base_fn.done" |
| 143 | s_fn="$base_fn.siginfo.done" | 143 | s_fn="$base_fn.siginfo.done" |
| @@ -188,10 +188,10 @@ remove_duplicated () { | |||
| 188 | total_files=`find $cache_dir -name 'sstate*' | wc -l` | 188 | total_files=`find $cache_dir -name 'sstate*' | wc -l` |
| 189 | # Save all the sstate files in a file | 189 | # Save all the sstate files in a file |
| 190 | sstate_files_list=`mktemp` || exit 1 | 190 | sstate_files_list=`mktemp` || exit 1 |
| 191 | find $cache_dir -name 'sstate:*:*:*:*:*:*:*.tgz*' >$sstate_files_list | 191 | find $cache_dir -iname 'sstate:*:*:*:*:*:*:*.tar.zst*' >$sstate_files_list |
| 192 | 192 | ||
| 193 | echo "Figuring out the suffixes in the sstate cache dir ... " | 193 | echo "Figuring out the suffixes in the sstate cache dir ... " |
| 194 | sstate_suffixes="`sed 's%.*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^_]*_\([^:]*\)\.tgz.*%\1%g' $sstate_files_list | sort -u`" | 194 | sstate_suffixes="`sed 's%.*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^_]*_\([^:]*\)\.tar\.zst.*%\1%g' $sstate_files_list | sort -u`" |
| 195 | echo "Done" | 195 | echo "Done" |
| 196 | echo "The following suffixes have been found in the cache dir:" | 196 | echo "The following suffixes have been found in the cache dir:" |
| 197 | echo $sstate_suffixes | 197 | echo $sstate_suffixes |
| @@ -200,10 +200,10 @@ remove_duplicated () { | |||
| 200 | # Using this SSTATE_PKGSPEC definition it's 6th colon separated field | 200 | # Using this SSTATE_PKGSPEC definition it's 6th colon separated field |
| 201 | # SSTATE_PKGSPEC = "sstate:${PN}:${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}:${PV}:${PR}:${SSTATE_PKGARCH}:${SSTATE_VERSION}:" | 201 | # SSTATE_PKGSPEC = "sstate:${PN}:${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}:${PV}:${PR}:${SSTATE_PKGARCH}:${SSTATE_VERSION}:" |
| 202 | for arch in $all_archs; do | 202 | for arch in $all_archs; do |
| 203 | grep -q ".*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:$arch:[^:]*:[^:]*\.tgz$" $sstate_files_list | 203 | grep -q ".*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:$arch:[^:]*:[^:]*\.tar\.zst$" $sstate_files_list |
| 204 | [ $? -eq 0 ] && ava_archs="$ava_archs $arch" | 204 | [ $? -eq 0 ] && ava_archs="$ava_archs $arch" |
| 205 | # ${builder_arch}_$arch used by toolchain sstate | 205 | # ${builder_arch}_$arch used by toolchain sstate |
| 206 | grep -q ".*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:${builder_arch}_$arch:[^:]*:[^:]*\.tgz$" $sstate_files_list | 206 | grep -q ".*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:${builder_arch}_$arch:[^:]*:[^:]*\.tar\.zst$" $sstate_files_list |
| 207 | [ $? -eq 0 ] && ava_archs="$ava_archs ${builder_arch}_$arch" | 207 | [ $? -eq 0 ] && ava_archs="$ava_archs ${builder_arch}_$arch" |
| 208 | done | 208 | done |
| 209 | echo "Done" | 209 | echo "Done" |
| @@ -219,13 +219,13 @@ remove_duplicated () { | |||
| 219 | continue | 219 | continue |
| 220 | fi | 220 | fi |
| 221 | # Total number of files including .siginfo and .done files | 221 | # Total number of files including .siginfo and .done files |
| 222 | total_files_suffix=`grep ".*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:_]*_$suffix\.tgz.*" $sstate_files_list | wc -l 2>/dev/null` | 222 | total_files_suffix=`grep ".*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:_]*_$suffix\.tar\.zst.*" $sstate_files_list | wc -l 2>/dev/null` |
| 223 | total_tgz_suffix=`grep ".*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:_]*_$suffix\.tgz$" $sstate_files_list | wc -l 2>/dev/null` | 223 | total_archive_suffix=`grep ".*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:_]*_$suffix\.tar\.zst$" $sstate_files_list | wc -l 2>/dev/null` |
| 224 | # Save the file list to a file, some suffix's file may not exist | 224 | # Save the file list to a file, some suffix's file may not exist |
| 225 | grep ".*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:_]*_$suffix\.tgz.*" $sstate_files_list >$list_suffix 2>/dev/null | 225 | grep ".*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:_]*_$suffix\.tar\.zst.*" $sstate_files_list >$list_suffix 2>/dev/null |
| 226 | local deleted_tgz=0 | 226 | local deleted_archives=0 |
| 227 | local deleted_files=0 | 227 | local deleted_files=0 |
| 228 | for ext in tgz tgz.siginfo tgz.done; do | 228 | for ext in tar.zst tar.zst.siginfo tar.zst.done; do |
| 229 | echo "Figuring out the sstate:xxx_$suffix.$ext ... " | 229 | echo "Figuring out the sstate:xxx_$suffix.$ext ... " |
| 230 | # Uniq BPNs | 230 | # Uniq BPNs |
| 231 | file_names=`for arch in $ava_archs ""; do | 231 | file_names=`for arch in $ava_archs ""; do |
| @@ -268,19 +268,19 @@ remove_duplicated () { | |||
| 268 | done | 268 | done |
| 269 | done | 269 | done |
| 270 | done | 270 | done |
| 271 | deleted_tgz=`cat $rm_list.* 2>/dev/null | grep ".tgz$" | wc -l` | 271 | deleted_archives=`cat $rm_list.* 2>/dev/null | grep "\.tar\.zst$" | wc -l` |
| 272 | deleted_files=`cat $rm_list.* 2>/dev/null | wc -l` | 272 | deleted_files=`cat $rm_list.* 2>/dev/null | wc -l` |
| 273 | [ "$deleted_files" -gt 0 -a $debug -gt 0 ] && cat $rm_list.* | 273 | [ "$deleted_files" -gt 0 -a $debug -gt 0 ] && cat $rm_list.* |
| 274 | echo "($deleted_tgz out of $total_tgz_suffix .tgz files for $suffix suffix will be removed or $deleted_files out of $total_files_suffix when counting also .siginfo and .done files)" | 274 | echo "($deleted_archives out of $total_archives_suffix .tar.zst files for $suffix suffix will be removed or $deleted_files out of $total_files_suffix when counting also .siginfo and .done files)" |
| 275 | let total_deleted=$total_deleted+$deleted_files | 275 | let total_deleted=$total_deleted+$deleted_files |
| 276 | done | 276 | done |
| 277 | deleted_tgz=0 | 277 | deleted_archives=0 |
| 278 | rm_old_list=$remove_listdir/sstate-old-filenames | 278 | rm_old_list=$remove_listdir/sstate-old-filenames |
| 279 | find $cache_dir -name 'sstate-*.tgz' >$rm_old_list | 279 | find $cache_dir -name 'sstate-*.tar.zst' >$rm_old_list |
| 280 | [ -s "$rm_old_list" ] && deleted_tgz=`cat $rm_old_list | grep ".tgz$" | wc -l` | 280 | [ -s "$rm_old_list" ] && deleted_archives=`cat $rm_old_list | grep "\.tar\.zst$" | wc -l` |
| 281 | [ -s "$rm_old_list" ] && deleted_files=`cat $rm_old_list | wc -l` | 281 | [ -s "$rm_old_list" ] && deleted_files=`cat $rm_old_list | wc -l` |
| 282 | [ -s "$rm_old_list" -a $debug -gt 0 ] && cat $rm_old_list | 282 | [ -s "$rm_old_list" -a $debug -gt 0 ] && cat $rm_old_list |
| 283 | echo "($deleted_tgz .tgz files with old sstate-* filenames will be removed or $deleted_files when counting also .siginfo and .done files)" | 283 | echo "($deleted_archives or .tar.zst files with old sstate-* filenames will be removed or $deleted_files when counting also .siginfo and .done files)" |
| 284 | let total_deleted=$total_deleted+$deleted_files | 284 | let total_deleted=$total_deleted+$deleted_files |
| 285 | 285 | ||
| 286 | rm -f $list_suffix | 286 | rm -f $list_suffix |
| @@ -289,7 +289,7 @@ remove_duplicated () { | |||
| 289 | read_confirm | 289 | read_confirm |
| 290 | if [ "$confirm" = "y" -o "$confirm" = "Y" ]; then | 290 | if [ "$confirm" = "y" -o "$confirm" = "Y" ]; then |
| 291 | for list in `ls $remove_listdir/`; do | 291 | for list in `ls $remove_listdir/`; do |
| 292 | echo "Removing $list.tgz (`cat $remove_listdir/$list | wc -w` files) ... " | 292 | echo "Removing $list.tar.zst archive (`cat $remove_listdir/$list | wc -w` files) ... " |
| 293 | # Remove them one by one to avoid the argument list too long error | 293 | # Remove them one by one to avoid the argument list too long error |
| 294 | for i in `cat $remove_listdir/$list`; do | 294 | for i in `cat $remove_listdir/$list`; do |
| 295 | rm -f $verbose $i | 295 | rm -f $verbose $i |
| @@ -322,7 +322,7 @@ rm_by_stamps (){ | |||
| 322 | find $cache_dir -type f -name 'sstate*' | sort -u -o $cache_list | 322 | find $cache_dir -type f -name 'sstate*' | sort -u -o $cache_list |
| 323 | 323 | ||
| 324 | echo "Figuring out the suffixes in the sstate cache dir ... " | 324 | echo "Figuring out the suffixes in the sstate cache dir ... " |
| 325 | local sstate_suffixes="`sed 's%.*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^_]*_\([^:]*\)\.tgz.*%\1%g' $cache_list | sort -u`" | 325 | local sstate_suffixes="`sed 's%.*/sstate:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^_]*_\([^:]*\)\.tar\.zst.*%\1%g' $cache_list | sort -u`" |
| 326 | echo "Done" | 326 | echo "Done" |
| 327 | echo "The following suffixes have been found in the cache dir:" | 327 | echo "The following suffixes have been found in the cache dir:" |
| 328 | echo $sstate_suffixes | 328 | echo $sstate_suffixes |
