s_pkgdiff.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/bash
  2. echo "This script MUST BE runned after s_sloccount.sh script!"
  3. read -p "Enter package name: " name
  4. echo "Package name is $name"
  5. read -p "Enter path for package source files (ex: /home/jon/$name): " dir_path
  6. year_s=2005
  7. year_e=2018
  8. pc_date=`date '+%Y%m%d%H%M'`
  9. cd $dir_path
  10. touch -f "$dir_path/pkgdiff_$pc_date.files"
  11. for year_dir in `seq $year_s $year_e`
  12. do
  13. cd $dir_path/$year_dir/03
  14. echo `pwd`
  15. archive_f=`ls -S | grep ".tar." | grep ".orig" | grep -v ".diff" | head -1`
  16. path_archive_f=`readlink -f $archive_f`
  17. source_dir=`ls --file-type -1 | grep "/" | awk -F '/' '{print $1}'`
  18. cd $dir_path/$year_dir/03/$source_dir
  19. source_dir_path=`pwd`
  20. sec_archive_f=`find $source_dir_path -print | grep -E 'tar.gz|tar.xz|tar.bz2' | grep -v ".diff"`
  21. path_sec_archive_f=`readlink -f $sec_archive_f`
  22. count_dir=`ls $dir_path/$year_dir/03/$source_dir | wc -l`
  23. if [[ $count_dir -lt 3 ]]; then
  24. echo $path_sec_archive_f >> $dir_path/pkgdiff_$pc_date.files
  25. else
  26. echo $path_archive_f >> $dir_path/pkgdiff_$pc_date.files
  27. fi
  28. cd ../
  29. cd $dir_path/$year_dir/07
  30. echo `pwd`
  31. archive_f=`ls -S | grep ".tar." | grep ".orig" | grep -v ".diff" | head -1`
  32. path_archive_f=`readlink -f $archive_f`
  33. source_dir=`ls --file-type -1 | grep "/" | awk -F '/' '{print $1}'`
  34. cd $dir_path/$year_dir/07/$source_dir
  35. source_dir_path=`pwd`
  36. sec_archive_f=`find $source_dir_path -print | grep -E 'tar.gz|tar.xz|tar.bz2' | grep -v ".diff"`
  37. path_sec_archive_f=`readlink -f $sec_archive_f`
  38. count_dir=`ls $dir_path/$year_dir/07/$source_dir | wc -l`
  39. if [[ $count_dir -lt 3 ]]; then
  40. echo $path_sec_archive_f >> $dir_path/pkgdiff_$pc_date.files
  41. else
  42. echo $path_archive_f >> $dir_path/pkgdiff_$pc_date.files
  43. fi
  44. cd ../
  45. cd $dir_path
  46. done
  47. chmod 444 pkgdiff_$pc_date.files
  48. for i in `seq 1 27`
  49. do
  50. mkdir report_$i
  51. j=$(( $i+1 ))
  52. var_pdif_1=`sed -n "$i"p pkgdiff_$pc_date.files`
  53. var_pdif_2=`sed -n "$j"p pkgdiff_$pc_date.files`
  54. if [[ ( -z $var_pdif_1 ) || ( -z $var_pdif_2 ) ]]; then
  55. cd report_$i
  56. echo "One or both pkgdiff variable are empty" > sources_files_comp.log
  57. else
  58. cd report_$i
  59. echo $var_pdif_1 >> sources_files_comp.log
  60. echo $var_pdif_2 >> sources_files_comp.log
  61. pkgdiff $var_pdif_1 $var_pdif_2
  62. fi
  63. cd $dir_path
  64. done