annotate sbin/fpkg @ 169:cc4117f5f4bd

Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 17 Dec 2020 08:43:41 +0100
parents c85245833476
children 58ad548487c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
1 #!/bin/sh
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
2 # -*- indent-tabs-mode: nil; -*-
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
3 : 'A pkg frontend for common operations that also operates in all
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
4 running jails.
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
5
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
6 :Author: Franz Glasner
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
7 :Copyright: (c) 2019 Franz Glasner.
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
8 All rights reserved.
99
7a064049405f Use the "Full name" in the license section
Franz Glasner <fzglas.hg@dom66.de>
parents: 98
diff changeset
9 :License: BSD 3-Clause "New" or "Revised" License.
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
10 See LICENSE for details.
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
11 If you cannot find LICENSE see
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
12 <https://opensource.org/licenses/BSD-3-Clause>
93
c95726f83f84 Style: :Id: -> :ID:
Franz Glasner <fzglas.hg@dom66.de>
parents: 91
diff changeset
13 :ID: @(#)@@PKGORIGIN@@ $HGid$
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
14
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
15 '
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
16
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
17 VERSION="@@VERSION@@"
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
18
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
19 USAGE='
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
20 USAGE: fpkg [ OPTIONS] COMMAND [ COMMAND-OPTIONS ]
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
21
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
22 OPTIONS:
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
23
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
24 -V Print the program name and version number to stdout and exit
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
25
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
26 -h Print this help message to stdout and exit
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
27
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
28 COMMANDS:
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
29
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
30 audit
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
31
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
32 `pkg audit` on the local host and all running visible jails
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
33
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
34 update
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
35
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
36 `pkg update` on the local host and all running visible jails
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
37
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
38 upgrade
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
39
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
40 `pkg upgrade` on the local host and all running visible jails
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
41
129
4aeff9d5275d The command upgrade-check ist now check-upgrade and aliased to the old spelling also
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
42 check-upgrade
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
43 upgrade-check
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
44
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
45 `pkg upgrade -n` on the local host and all running visible jails
91
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
46
112
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
47 check-fast-track
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
48 Check packages installed from the LocalBSDPorts repository against
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
49 the repositories `FreeBSD` and `LocalBSDPorts` on the local host
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
50 and all visible jails
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
51
146
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
52 config <name>
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
53
168
c85245833476 FIX: Typo on help message
Franz Glasner <hg@dom66.de>
parents: 146
diff changeset
54 Retrieve the value of a given configuration opeion on the local host
146
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
55 and all running visible jails
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
56
169
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
57 uversion
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
58
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
59 Call `freebsd-version -u` on the local host and all running visible
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
60 jails
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
61
146
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
62 vv
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
63
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
64 `pkg -vv` on the local host and all running visible jails
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
65
91
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
66 ENVIRONMENT:
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
67
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
68 FPKG_AUDIT_FLAGS
91
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
69 Additional flags given to `pkg audit`
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
70 (Default: -Fr)
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
71
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
72 FPKG_UPDATE_FLAGS
91
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
73 Additional flags given to `pkg update`
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
74 (Default: empty)
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
75
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
76 FPKG_UPGRADE_FLAGS
91
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
77 Additional flags given to `pkg upgrade` and `pkg upgrade -n`
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
78 (Default: empty)
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
79
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
80 FPKG_SIGN
91
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
81 Marker for the begin of an output group (local host or jail)
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
82 (Default: "===> ")
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
83
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
84 FPKG_SKIPSIGN
98
0dd831416b0e Document `SKIPSIGN'
Franz Glasner <fzglas.hg@dom66.de>
parents: 97
diff changeset
85 Marker for the begin of a skipped output group
0dd831416b0e Document `SKIPSIGN'
Franz Glasner <fzglas.hg@dom66.de>
parents: 97
diff changeset
86 (Default: "----> ")
0dd831416b0e Document `SKIPSIGN'
Franz Glasner <fzglas.hg@dom66.de>
parents: 97
diff changeset
87
91
fffee187f1f7 Docu: effective environment variables
Franz Glasner <fzglas.hg@dom66.de>
parents: 90
diff changeset
88 All other environment variables that affect `pkg` are effective also.
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
89 '
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
90
109
0bd594fb56f8 Read the tools.conf configuration file where appropriate
Franz Glasner <fzglas.hg@dom66.de>
parents: 107
diff changeset
91 #
0bd594fb56f8 Read the tools.conf configuration file where appropriate
Franz Glasner <fzglas.hg@dom66.de>
parents: 107
diff changeset
92 # Configuration directory
0bd594fb56f8 Read the tools.conf configuration file where appropriate
Franz Glasner <fzglas.hg@dom66.de>
parents: 107
diff changeset
93 #
0bd594fb56f8 Read the tools.conf configuration file where appropriate
Franz Glasner <fzglas.hg@dom66.de>
parents: 107
diff changeset
94 : ${CONFIGDIR:=@@ETCDIR@@}
0bd594fb56f8 Read the tools.conf configuration file where appropriate
Franz Glasner <fzglas.hg@dom66.de>
parents: 107
diff changeset
95
131
993fecdf2a70 Rename etc/tools.conf to etc/pkgtools.conf.
Franz Glasner <fzglas.hg@dom66.de>
parents: 129
diff changeset
96 test -r "${CONFIGDIR}/pkgtools.conf" && . "${CONFIGDIR}/pkgtools.conf"
109
0bd594fb56f8 Read the tools.conf configuration file where appropriate
Franz Glasner <fzglas.hg@dom66.de>
parents: 107
diff changeset
97
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
98 : ${FPKG_AUDIT_FLAGS:=-Fr}
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
99 : ${FPKG_UPDATE_FLAGS:=}
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
100 : ${FPKG_UPGRADE_FLAGS:=}
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
101 : ${FPKG_SIGN:='===> '}
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
102 : ${FPKG_SKIPSIGN:='----> '}
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
103
112
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
104 #
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
105 # The official FreeBSD binary repository
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
106 #
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
107 : ${FREEBSD_REPO:=FreeBSD}
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
108
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
109 #
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
110 # Local repository with ports with default OPTIONS (i.e. unchanged)
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
111 # but newer than the packages in the "FreeBSD" repository.
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
112 # Some sort of a fast-track repository.
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
113 #
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
114 : ${LOCALBSDPORTS_REPO:=LocalBSDPorts}
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
115
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
116
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
117 has_same_userland_version() {
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
118 : 'Check whether the jail `_jail` has the same FreeBSD userland version
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
119 as the host the the current process runs.
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
120
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
121 Args:
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
122 _jail: the running jail to check for
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
123
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
124 Returns:
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
125 0 if the userland versions match, 1 otherwise
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
126
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
127 '
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
128 local _jail _host_version _jail_version
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
129
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
130 _jail="$1"
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
131
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
132 _host_version=$(/bin/freebsd-version -u) || exit 1
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
133 _jail_version=$(jexec -l "${_jail}" /bin/freebsd-version -u) || exit 1
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
134 if [ "${_host_version%%-*}" = "${_jail_version%%-*}" ]; then
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
135 return 0
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
136 fi
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
137 return 1
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
138 }
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
139
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
140
169
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
141 command_uversion() {
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
142 : ' Do a local `freebsd-version -u` and also for all running jails
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
143
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
144 '
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
145 echo "LOCALHOST: $(/bin/freebsd-version -u)"
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
146 for _jail in $(jls -N | awk '{if(NR>1)print $1}' | sort); do
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
147 echo "${_jail}: $(jexec -l "${_jail}" /bin/freebsd-version -u)"
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
148 done
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
149 }
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
150
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
151
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
152 command_audit() {
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
153 : 'Do a local `pkg audit -Fr` and also for all running jails
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
154
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
155 '
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
156 echo "${FPKG_SIGN}LOCALHOST"
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
157 pkg audit ${FPKG_AUDIT_FLAGS}
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
158 for _j in $(jls -N | awk '{if(NR>1)print $1}' | sort); do
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
159 echo ""
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
160 echo "${FPKG_SIGN}JAIL: ${_j}"
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
161 if has_same_userland_version "${_j}"; then
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
162 pkg -j "${_j}" audit ${FPKG_AUDIT_FLAGS}
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
163 else
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
164 echo "${FPKG_SKIPSIGN}SKIPPED because of different userland"
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
165 fi
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
166 done
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
167 }
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
168
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
169
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
170 command_update() {
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
171 : 'Do a local `pkg update` and also for all running jails
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
172
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
173 '
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
174 echo "${FPKG_SIGN}LOCALHOST"
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
175 pkg update ${FPKG_UPDATE_FLAGS}
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
176 for _j in $(jls -N | awk '{if(NR>1)print $1}' | sort); do
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
177 echo ""
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
178 echo "${FPKG_SIGN}JAIL: ${_j}"
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
179 if has_same_userland_version "${_j}"; then
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
180 pkg -j "${_j}" update ${FPKG_UPDATE_FLAGS}
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
181 else
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
182 echo "${FPKG_SKIPSIGN}SKIPPED because of different userland"
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
183 fi
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
184 done
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
185 }
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
186
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
187
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
188 command_upgrade() {
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
189 : 'Do a local `pkg upgrade` and also for all running jails
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
190
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
191 '
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
192 echo "${FPKG_SIGN}LOCALHOST"
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
193 pkg upgrade ${FPKG_UPGRADE_FLAGS}
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
194 for _j in $(jls -N | awk '{if(NR>1)print $1}' | sort); do
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
195 echo ""
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
196 echo "${FPKG_SIGN}JAIL: ${_j}"
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
197 if has_same_userland_version "${_j}"; then
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
198 pkg -j "${_j}" upgrade ${FPKG_UPGRADE_FLAGS}
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
199 else
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
200 echo "${FPKG_SKIPSIGN}SKIPPED because of different userland"
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
201 fi
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
202 done
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
203 }
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
204
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
205
129
4aeff9d5275d The command upgrade-check ist now check-upgrade and aliased to the old spelling also
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
206 command_check_upgrade() {
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
207 : 'Do a local `pkg upgrade -n` and also for all running jails
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
208
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
209 '
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
210 echo "${FPKG_SIGN}LOCALHOST"
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
211 pkg upgrade -n ${FPKG_UPGRADE_FLAGS}
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
212 for _j in $(jls -N | awk '{if(NR>1)print $1}' | sort); do
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
213 echo ""
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
214 echo "${FPKG_SIGN}JAIL: ${_j}"
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
215 if has_same_userland_version "${_j}"; then
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
216 pkg -j "${_j}" upgrade -n ${FPKG_UPGRADE_FLAGS}
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
217 else
107
f8642efe05a1 Renamed (environment/configuration) variables to have a FPKG_ prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 99
diff changeset
218 echo "${FPKG_SKIPSIGN}SKIPPED because of different userland"
95
e8c422379abb Do package checks only for jails with compatible (i.e. "equal") userland versions with the host
Franz Glasner <fzglas.hg@dom66.de>
parents: 93
diff changeset
219 fi
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
220 done
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
221 }
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
222
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
223
112
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
224 command_check_fasttrack() {
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
225 : 'Check the fast-track repository versions against the canonical
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
226 FreeBSD repository versions.
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
227
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
228 Input (Globals):
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
229 FREEBSD_REPO: the (canonical) FreeBSD repository name
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
230 LOCALBSDPORTS_REPO: the fast-track repository name
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
231
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
232 '
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
233 local _name local _repo _j
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
234
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
235 echo "${FPKG_SIGN}LOCALHOST"
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
236 pkg query '%n %R' |
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
237 while read _name _repo; do
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
238 if [ "${_repo}" = "${LOCALBSDPORTS_REPO}" ]; then
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
239 echo " ${_name}"
113
2d531cbd0feb Explicitely disable the automatic repo update (using "-U") in the fast-track check
Franz Glasner <fzglas.hg@dom66.de>
parents: 112
diff changeset
240 printf " %-15s : %s\n" "${LOCALBSDPORTS_REPO}" "$(pkg version -U -r ${LOCALBSDPORTS_REPO} -n ${_name} -v)"
2d531cbd0feb Explicitely disable the automatic repo update (using "-U") in the fast-track check
Franz Glasner <fzglas.hg@dom66.de>
parents: 112
diff changeset
241 printf " %-15s : %s\n" "${FREEBSD_REPO}" "$(pkg version -U -r ${FREEBSD_REPO} -n ${_name} -v)"
112
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
242 fi
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
243 done
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
244 for _j in $(jls -N | awk '{if(NR>1)print $1}' | sort); do
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
245 echo ""
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
246 echo "${FPKG_SIGN}JAIL: ${_j}"
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
247 if has_same_userland_version "${_j}"; then
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
248 pkg -j "${_j}" query '%n %R' |
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
249 while read _name _repo; do
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
250 if [ "${_repo}" = "${LOCALBSDPORTS_REPO}" ]; then
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
251 echo " ${_name}"
113
2d531cbd0feb Explicitely disable the automatic repo update (using "-U") in the fast-track check
Franz Glasner <fzglas.hg@dom66.de>
parents: 112
diff changeset
252 printf " %s-15s : %s\n" "${LOCALBSDPORTS_REPO}" "$(pkg -j ${_j} version -U -r ${LOCALBSDPORTS_REPO} -n ${_name} -v)"
2d531cbd0feb Explicitely disable the automatic repo update (using "-U") in the fast-track check
Franz Glasner <fzglas.hg@dom66.de>
parents: 112
diff changeset
253 printf " %-15s : %s\n" "${FREEBSD_REPO}" "$(pkg -j ${_j} version -U -r ${FREEBSD_REPO} -n ${_name} -v)"
112
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
254 fi
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
255 done
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
256 else
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
257 echo "${FPKG_SKIPSIGN}SKIPPED because of different userland"
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
258 fi
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
259 done
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
260 }
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
261
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
262
146
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
263 command_config() {
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
264 : 'The `pkg config name` command on the host and all running
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
265 compatible jails
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
266
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
267 Args:
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
268 _name: the configuration option to retrieve to
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
269
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
270 '
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
271 local _name
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
272
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
273 _name="$1"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
274
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
275 if [ -z "${_name}" ]; then
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
276 echo "Usage: fpkg config <name>" >&2
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
277 return 1
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
278 fi
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
279 echo "${FPKG_SIGN}LOCALHOST"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
280 pkg config "${_name}"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
281 for _j in $(jls -N | awk '{if(NR>1)print $1}' | sort); do
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
282 echo ""
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
283 echo "${FPKG_SIGN}JAIL: ${_j}"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
284 if has_same_userland_version "${_j}"; then
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
285 # This prints the value on the *host* also
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
286 #pkg -j "${_j}" config "${_name}"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
287 jexec "${_j}" pkg config "${_name}"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
288 else
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
289 echo "${FPKG_SKIPSIGN}SKIPPED because of different userland"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
290 fi
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
291 done
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
292 }
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
293
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
294
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
295 command_vv() {
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
296 : 'The `pkv -vv` command on the host and all running compatible jails
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
297
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
298 '
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
299 echo "${FPKG_SIGN}LOCALHOST"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
300 pkg -vv
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
301 for _j in $(jls -N | awk '{if(NR>1)print $1}' | sort); do
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
302 echo ""
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
303 echo "${FPKG_SIGN}JAIL: ${_j}"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
304 if has_same_userland_version "${_j}"; then
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
305 pkg -j "${_j}" -vv
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
306 else
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
307 echo "${FPKG_SKIPSIGN}SKIPPED because of different userland"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
308 fi
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
309 done
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
310 }
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
311
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
312
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
313 #
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
314 # Global option handling
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
315 #
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
316 while getopts "Vh" _opt ; do
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
317 case ${_opt} in
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
318 V)
144
6be3742d21f7 - FIX: Really print the version in check-ports
Franz Glasner <hg@dom66.de>
parents: 131
diff changeset
319 printf 'fpkg v%s (rv:%s)\n' "${VERSION}" '@@HGREVISION@@'
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
320 exit 0
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
321 ;;
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
322 h)
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
323 echo "${USAGE}"
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
324 exit 0
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
325 ;;
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
326 \?)
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
327 exit 2;
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
328 ;;
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
329 *)
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
330 echo "ERROR: option handling failed" >&2
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
331 exit 2
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
332 ;;
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
333 esac
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
334 done
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
335
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
336 #
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
337 # Reset the Shell's option handling system to prepare for handling
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
338 # command-local options.
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
339 #
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
340 shift $((OPTIND-1))
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
341 OPTIND=1
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
342
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
343 command="$1"
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
344 shift
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
345
90
aefad9391470 Extra error message if not command is given
Franz Glasner <fzglas.hg@dom66.de>
parents: 88
diff changeset
346 test -n "$command" || { echo "ERROR: no command given" >&2; exit 2; }
aefad9391470 Extra error message if not command is given
Franz Glasner <fzglas.hg@dom66.de>
parents: 88
diff changeset
347
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
348 case "${command}" in
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
349 audit)
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
350 command_audit "$@"
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
351 ;;
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
352 update)
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
353 command_update "$@"
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
354 ;;
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
355 upgrade)
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
356 command_upgrade "$@"
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
357 ;;
129
4aeff9d5275d The command upgrade-check ist now check-upgrade and aliased to the old spelling also
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
358 check-upgrade|check_upgrade|upgrade-check|upgrade_check)
4aeff9d5275d The command upgrade-check ist now check-upgrade and aliased to the old spelling also
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
359 command_check_upgrade "$@"
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
360 ;;
112
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
361 check-fast-track|check-fasttrack|check_fast_track|check_fasttrack)
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
362 command_check_fasttrack "$@"
0838fdca3a2b Implemented the check-fast-track command to check installed packages that are installed from LocalBSDPorts against FreeBSD and LocalBSDPorts
Franz Glasner <hg@dom66.de>
parents: 109
diff changeset
363 ;;
146
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
364 config)
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
365 command_config "$@"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
366 ;;
169
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
367 uversion)
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
368 command_uversion "$@"
cc4117f5f4bd Implemented an "uversion" command: get the userspace FreeBSD-version of the host and all runnings jails
Franz Glasner <fzglas.hg@dom66.de>
parents: 168
diff changeset
369 ;;
146
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
370 vv)
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
371 command_vv "$@"
0e140f349924 - Provide a "vv" command on the host and in all running compatible jails: pkg -vv
Franz Glasner <fzglas.hg@dom66.de>
parents: 144
diff changeset
372 ;;
88
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
373 *)
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
374 echo "ERROR: unknown command \`${command}'" >&2
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
375 exit 2;
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
376 ;;
76ddab9ab965 Add a tool for host and jail "pkg" management
Franz Glasner <hg@dom66.de>
parents:
diff changeset
377 esac