portupgrade.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/bin/sh
  2. all_jails=`jls jid`
  3. #all_jails="php git synapse epee next mariadb pg15"
  4. DO_CLEAN=""
  5. DO_DIST=""
  6. do_snap()
  7. {
  8. zfs snap -r zroot/JAILS/master@up || exit 0
  9. }
  10. do_all_jails(){
  11. echo '---------------------------------------'
  12. echo ":: Host ::"
  13. echo
  14. pkg upgrade
  15. echo
  16. echo Cleaning host
  17. echo
  18. [ -n "${DO_CLEAN}" ] && pkg ${DO_CLEAN}
  19. [ -n "${DO_DIST}" ] && pkg ${DO_DIST}
  20. echo '---------------------------------------'
  21. for j in ${all_jails}
  22. do
  23. echo
  24. echo '---------------------------------------'
  25. echo ":: jail `jls -j ${j} name` [ ${j} ] ::"
  26. echo ''
  27. pkg -j ${j} upgrade
  28. echo
  29. echo Cleaning
  30. echo
  31. [ -n "${DO_CLEAN}" ] && pkg -j ${j} ${DO_CLEAN}
  32. echo
  33. echo Cleanup distfiles
  34. echo
  35. [ -n "${DO_DIST}" ] && pkg -j ${j} ${DO_DIST}
  36. echo '---------------------------------------'
  37. done
  38. }
  39. echo
  40. read -r -p "Would you like to clean up (autoremove) ports ? [Y/n] " yn
  41. echo
  42. case "${yn}" in
  43. [Yy][eE][sS]|[yY])
  44. DO_CLEAN="autoremove"
  45. ;;
  46. *)
  47. ;;
  48. esac
  49. echo
  50. read -r -p "Would you like to remove distfiles ? [Y/n] " yn
  51. echo
  52. case "${yn}" in
  53. [Yy][eE][sS]|[yY])
  54. DO_DIST="clean -a -y"
  55. ;;
  56. *)
  57. ;;
  58. esac
  59. zfs list -H -t snap -r zroot/JAILS/master@up || do_snap
  60. do_all_jails