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