Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
annotate sbin/check-ports @ 745:a5918c859fe9
farray.sh: Implement falist_find() -- a variant of falist_contains() that also returns the found index proper
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Tue, 08 Oct 2024 17:55:23 +0200 |
| parents | 907cbedee676 |
| children | e2f262ec2bf4 |
| rev | line source |
|---|---|
|
0
08cf7bf119b7
Current version of a tool to check the versions of installed ports against the source ports tree and other binary repositories
Franz Glasner <hg@dom66.de>
parents:
diff
changeset
|
1 #!/bin/sh |
| 79 | 2 # -*- indent-tabs-mode: nil; -*- |
|
86
a3b9d4fe560e
Provide "module" doc-strings
Franz Glasner <fzglas.hg@dom66.de>
parents:
85
diff
changeset
|
3 : 'Check the version status of installed ports and compare them to |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
4 version in remote repositories and the local ports index. |
|
86
a3b9d4fe560e
Provide "module" doc-strings
Franz Glasner <fzglas.hg@dom66.de>
parents:
85
diff
changeset
|
5 |
|
a3b9d4fe560e
Provide "module" doc-strings
Franz Glasner <fzglas.hg@dom66.de>
parents:
85
diff
changeset
|
6 :Author: Franz Glasner |
|
438
9c3b1966ba91
Extend copyright to 2024
Franz Glasner <fzglas.hg@dom66.de>
parents:
386
diff
changeset
|
7 :Copyright: (c) 2017-2024 Franz Glasner. |
|
86
a3b9d4fe560e
Provide "module" doc-strings
Franz Glasner <fzglas.hg@dom66.de>
parents:
85
diff
changeset
|
8 All rights reserved. |
|
99
7a064049405f
Use the "Full name" in the license section
Franz Glasner <fzglas.hg@dom66.de>
parents:
94
diff
changeset
|
9 :License: BSD 3-Clause "New" or "Revised" License. |
|
86
a3b9d4fe560e
Provide "module" doc-strings
Franz Glasner <fzglas.hg@dom66.de>
parents:
85
diff
changeset
|
10 See LICENSE for details. |
|
a3b9d4fe560e
Provide "module" doc-strings
Franz Glasner <fzglas.hg@dom66.de>
parents:
85
diff
changeset
|
11 If you cannot find LICENSE see |
|
a3b9d4fe560e
Provide "module" doc-strings
Franz Glasner <fzglas.hg@dom66.de>
parents:
85
diff
changeset
|
12 <https://opensource.org/licenses/BSD-3-Clause> |
|
386
84d2735fe7f6
Simplified version tagging a lot: it is also faster now.
Franz Glasner <fzglas.hg@dom66.de>
parents:
361
diff
changeset
|
13 :ID: @(#)@@SIMPLEVERSIONTAG@@ |
|
86
a3b9d4fe560e
Provide "module" doc-strings
Franz Glasner <fzglas.hg@dom66.de>
parents:
85
diff
changeset
|
14 |
|
a3b9d4fe560e
Provide "module" doc-strings
Franz Glasner <fzglas.hg@dom66.de>
parents:
85
diff
changeset
|
15 ' |
|
0
08cf7bf119b7
Current version of a tool to check the versions of installed ports against the source ports tree and other binary repositories
Franz Glasner <hg@dom66.de>
parents:
diff
changeset
|
16 |
|
643
4f2257ea7d0a
shellcheck: disable SC2034: VERSION appears unused...
Franz Glasner <fzglas.hg@dom66.de>
parents:
438
diff
changeset
|
17 # shellcheck disable=SC2034 # VERSION appears unused |
|
130
54de2955bfa9
Put @@VERSION@@ and @@HGREVISION@@ in single quotes
Franz Glasner <fzglas.hg@dom66.de>
parents:
128
diff
changeset
|
18 VERSION='@@VERSION@@' |
|
17
089afc4908c0
Expand @@VERSION@@ with the package version also
Franz Glasner <hg@dom66.de>
parents:
16
diff
changeset
|
19 |
|
153
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
20 USAGE=' |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
21 USAGE: check-ports [options] [args...] |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
22 |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
23 Options: |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
24 |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
25 -V Print the program name and version number to stdout and exit |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
26 |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
27 -h Print this help message to stdout and exit |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
28 |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
29 -A Print for every package the status of all repositories |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
30 |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
31 -a Print the data of all repos that have the package |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
32 |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
33 -n Print the status of given packages in `args` in all details. |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
34 No other options are respected. |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
35 |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
36 -s Print the status of all packages that need some attention |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
37 |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
38 -v Print the title and repository of every installed package always |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
39 |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
40 Per Default (without any option) the status of every package is |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
41 printed with respect to repositories that have the package and have |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
42 differing versions. |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
43 ' |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
44 |
|
14
c0e2eb5613fe
Comment on the 3 repositories handled repositories
Franz Glasner <hg@dom66.de>
parents:
12
diff
changeset
|
45 # |
|
62
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
46 # Configuration directory |
|
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
47 # |
|
706
45051412d0b8
check-ports: modernized somewhat: quoting and "read -r"
Franz Glasner <fzglas.hg@dom66.de>
parents:
705
diff
changeset
|
48 : ${CONFIGDIR:="@@ETCDIR@@"} |
|
62
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
49 |
|
706
45051412d0b8
check-ports: modernized somewhat: quoting and "read -r"
Franz Glasner <fzglas.hg@dom66.de>
parents:
705
diff
changeset
|
50 |
|
45051412d0b8
check-ports: modernized somewhat: quoting and "read -r"
Franz Glasner <fzglas.hg@dom66.de>
parents:
705
diff
changeset
|
51 [ -r "${CONFIGDIR}/pkgtools.conf" ] && . "${CONFIGDIR}/pkgtools.conf" |
|
109
0bd594fb56f8
Read the tools.conf configuration file where appropriate
Franz Glasner <fzglas.hg@dom66.de>
parents:
108
diff
changeset
|
52 |
|
62
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
53 # |
|
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
54 # Mapping configuration: installed package name -> original package name |
|
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
55 # Note: This is independent of any repo |
|
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
56 # |
|
706
45051412d0b8
check-ports: modernized somewhat: quoting and "read -r"
Franz Glasner <fzglas.hg@dom66.de>
parents:
705
diff
changeset
|
57 : ${PACKAGE_MAPPING:="${CONFIGDIR}"/package-mapping.conf} |
|
62
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
58 |
|
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
59 # |
| 55 | 60 # Local repository with non-public packages and/or ports with changed |
| 61 # OPTIONS (i.e. not using the defaults) or forks of official packages with | |
| 136 | 62 # other package names. |
| 63 # This repo is strictly *local* to the host and/or jail. | |
|
14
c0e2eb5613fe
Comment on the 3 repositories handled repositories
Franz Glasner <hg@dom66.de>
parents:
12
diff
changeset
|
64 # |
| 1 | 65 : ${LOCAL_REPO:=LocalRepo} |
|
62
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
66 |
|
14
c0e2eb5613fe
Comment on the 3 repositories handled repositories
Franz Glasner <hg@dom66.de>
parents:
12
diff
changeset
|
67 # |
|
138
850ebdb132d1
Name a shared local repository: SharedLocalRepo
Franz Glasner <fzglas.hg@dom66.de>
parents:
137
diff
changeset
|
68 # Shared local repository with non-public packages and/or ports with |
|
850ebdb132d1
Name a shared local repository: SharedLocalRepo
Franz Glasner <fzglas.hg@dom66.de>
parents:
137
diff
changeset
|
69 # changed OPTIONS (i.e. not using the defaults). |
|
850ebdb132d1
Name a shared local repository: SharedLocalRepo
Franz Glasner <fzglas.hg@dom66.de>
parents:
137
diff
changeset
|
70 # Contrary to LOCAL_REPO this repository may be shared. |
|
850ebdb132d1
Name a shared local repository: SharedLocalRepo
Franz Glasner <fzglas.hg@dom66.de>
parents:
137
diff
changeset
|
71 # |
|
850ebdb132d1
Name a shared local repository: SharedLocalRepo
Franz Glasner <fzglas.hg@dom66.de>
parents:
137
diff
changeset
|
72 : ${SHARED_LOCAL_REPO:=SharedLocalRepo} |
|
850ebdb132d1
Name a shared local repository: SharedLocalRepo
Franz Glasner <fzglas.hg@dom66.de>
parents:
137
diff
changeset
|
73 |
|
850ebdb132d1
Name a shared local repository: SharedLocalRepo
Franz Glasner <fzglas.hg@dom66.de>
parents:
137
diff
changeset
|
74 # |
| 136 | 75 # (Shared) repository with ports with default OPTIONS (i.e. unchanged) |
|
15
532757223c28
Handle a "FreeBSDPorts" repository also.
Franz Glasner <hg@dom66.de>
parents:
14
diff
changeset
|
76 # but newer than the packages in the "FreeBSD" repository. |
| 136 | 77 # Can also contain non-FreeBSD *public* packages. |
| 78 # May be shared. | |
|
15
532757223c28
Handle a "FreeBSDPorts" repository also.
Franz Glasner <hg@dom66.de>
parents:
14
diff
changeset
|
79 # Some sort of a fast-track repository. |
|
532757223c28
Handle a "FreeBSDPorts" repository also.
Franz Glasner <hg@dom66.de>
parents:
14
diff
changeset
|
80 # |
|
23
242055572964
FIX: Variable naming
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
22
diff
changeset
|
81 : ${LOCALBSDPORTS_REPO:=LocalBSDPorts} |
| 59 | 82 |
|
15
532757223c28
Handle a "FreeBSDPorts" repository also.
Franz Glasner <hg@dom66.de>
parents:
14
diff
changeset
|
83 # |
|
14
c0e2eb5613fe
Comment on the 3 repositories handled repositories
Franz Glasner <hg@dom66.de>
parents:
12
diff
changeset
|
84 # The official FreeBSD binary repository |
|
c0e2eb5613fe
Comment on the 3 repositories handled repositories
Franz Glasner <hg@dom66.de>
parents:
12
diff
changeset
|
85 # |
| 1 | 86 : ${FREEBSD_REPO:=FreeBSD} |
| 59 | 87 |
|
14
c0e2eb5613fe
Comment on the 3 repositories handled repositories
Franz Glasner <hg@dom66.de>
parents:
12
diff
changeset
|
88 # |
|
c0e2eb5613fe
Comment on the 3 repositories handled repositories
Franz Glasner <hg@dom66.de>
parents:
12
diff
changeset
|
89 # Directly installed from ports |
|
c0e2eb5613fe
Comment on the 3 repositories handled repositories
Franz Glasner <hg@dom66.de>
parents:
12
diff
changeset
|
90 # |
| 1 | 91 : ${PORTS_DIRECT_INSTALLED_REPO:=unknown-repository} |
| 92 | |
|
64
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
93 # |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
94 # For the workaround of the bug in pkg rquery -I |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
95 # |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
96 : ${PORTSDIR:=/usr/ports} |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
97 |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
98 |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
99 test_exists_local_index() { |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
100 : 'Determine whether there exists a ports directory with an index |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
101 file. |
|
94
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
102 |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
103 Returns: |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
104 status 0 iff the local index exists |
|
94
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
105 ' |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
106 pkg version -I -n DUMMY >/dev/null 2>/dev/null |
|
8
208545b92d43
First working version: real useful output of packages differing from any repo
Franz Glasner <hg@dom66.de>
parents:
7
diff
changeset
|
107 } |
|
208545b92d43
First working version: real useful output of packages differing from any repo
Franz Glasner <hg@dom66.de>
parents:
7
diff
changeset
|
108 |
|
208545b92d43
First working version: real useful output of packages differing from any repo
Franz Glasner <hg@dom66.de>
parents:
7
diff
changeset
|
109 |
|
152
29e708b524e1
Renamed some ports index related functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
151
diff
changeset
|
110 get_ports_index_directory() { |
|
151
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
111 : 'Ask the packager configuration for the `INDEXDIR` and/or `PORTSDIR` |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
112 configuration value: either `INDEXDIR` or -- if `INDEXDIR` is empty -- |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
113 `PORTSDIR` is used. |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
114 |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
115 Output (stdout) |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
116 the directory where the index database file lives |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
117 |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
118 ' |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
119 local _dir |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
120 |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
121 _dir="$(pkg config INDEXDIR)" |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
122 if [ -z "${_dir}" ]; then |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
123 _dir="$(pkg config PORTSDIR)" |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
124 fi |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
125 printf '%s' "${_dir}" |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
126 } |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
127 |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
128 |
|
152
29e708b524e1
Renamed some ports index related functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
151
diff
changeset
|
129 get_ports_index_version() { |
|
94
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
130 : 'Determine for package `_package` the version of the package in the |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
131 local ports index. |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
132 |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
133 Args: |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
134 _package: the package name to search for |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
135 |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
136 Returns: |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
137 0 on success, 1 on errors or if the package is not in the local |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
138 ports index |
|
94
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
139 |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
140 Output (stdout): |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
141 the version number of `_package` in the local ports index |
|
94
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
142 |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
143 ' |
|
64
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
144 local _package _line _fqpn _n _lines |
|
151
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
145 local _indexdir _indexfile |
|
64
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
146 |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
147 _package="$1" |
|
63
0ae7697702b3
Handling of mapped packages is basically implemented.
Franz Glasner <hg@dom66.de>
parents:
62
diff
changeset
|
148 |
|
64
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
149 # _val=$(pkg rquery -I "${_package}" | cut -f 1 -d '|') |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
150 # _rv=$? |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
151 # immediate_index_version=${_val##*-} |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
152 # return ${_rv} |
|
63
0ae7697702b3
Handling of mapped packages is basically implemented.
Franz Glasner <hg@dom66.de>
parents:
62
diff
changeset
|
153 |
|
152
29e708b524e1
Renamed some ports index related functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
151
diff
changeset
|
154 _indexdir="$(get_ports_index_directory)" |
|
151
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
155 _indexfile="$(pkg config INDEXFILE)" |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
156 |
|
27b7454140be
Determine INDEXDIR and INDEXFILE dynamically from the packager configuration via "pkg config"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
157 if [ -r "${_indexdir}/${_indexfile}" ] ; then |
|
64
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
158 # |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
159 # Note: Direct piping does not set immediate_index_version at return correctly |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
160 # "_line" is set correctly and parsing works, but the return 0 seems to kill |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
161 # some of the previous effects. |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
162 # |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
163 # "grep" does a fast pre-selection, reading, parsing and comparing is done for |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
164 # exact matching. |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
165 # |
|
348
9b388927b12b
FIX: Use BREs with grep because is handles "+" characters in package names properly.
Franz Glasner <fzglas.hg@dom66.de>
parents:
153
diff
changeset
|
166 # Use BREs because a `+' char needs to be handled as an ordinary |
|
9b388927b12b
FIX: Use BREs with grep because is handles "+" characters in package names properly.
Franz Glasner <fzglas.hg@dom66.de>
parents:
153
diff
changeset
|
167 # character (e.g. for the "lucene++" package). |
|
9b388927b12b
FIX: Use BREs with grep because is handles "+" characters in package names properly.
Franz Glasner <fzglas.hg@dom66.de>
parents:
153
diff
changeset
|
168 # Note that `^' at the start of an RE is not an ordinary |
|
9b388927b12b
FIX: Use BREs with grep because is handles "+" characters in package names properly.
Franz Glasner <fzglas.hg@dom66.de>
parents:
153
diff
changeset
|
169 # character. See re_format(7). |
|
9b388927b12b
FIX: Use BREs with grep because is handles "+" characters in package names properly.
Franz Glasner <fzglas.hg@dom66.de>
parents:
153
diff
changeset
|
170 # |
|
9b388927b12b
FIX: Use BREs with grep because is handles "+" characters in package names properly.
Franz Glasner <fzglas.hg@dom66.de>
parents:
153
diff
changeset
|
171 _lines=$(/usr/bin/grep -G '^'"${_package}" "${_indexdir}/${_indexfile}") |
|
706
45051412d0b8
check-ports: modernized somewhat: quoting and "read -r"
Franz Glasner <fzglas.hg@dom66.de>
parents:
705
diff
changeset
|
172 while read -r _line ; do |
|
64
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
173 _fqpn="${_line%%|*}" |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
174 _n=${_fqpn%-*} |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
175 if [ "${_package}" = "${_n}" ] ; then |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
176 printf '%s' "${_fqpn##*-}" |
|
64
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
177 return 0 |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
178 fi |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
179 done <<EOF1334TGH1 |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
180 ${_lines} |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
181 EOF1334TGH1 |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
182 fi |
|
ffd5f575edd5
FIX: Work around the bug in "pkg rquery -i" not asking the port's INDEX file.
Franz Glasner <hg@dom66.de>
parents:
63
diff
changeset
|
183 return 1 |
|
63
0ae7697702b3
Handling of mapped packages is basically implemented.
Franz Glasner <hg@dom66.de>
parents:
62
diff
changeset
|
184 } |
|
0ae7697702b3
Handling of mapped packages is basically implemented.
Franz Glasner <hg@dom66.de>
parents:
62
diff
changeset
|
185 |
|
7
2712d249c371
Assert that the installed version number we get from "pkg query" is the same as the version in "pkg version"
Franz Glasner <hg@dom66.de>
parents:
6
diff
changeset
|
186 |
|
62
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
187 get_mapping() { |
|
101
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
188 : 'Determine whether a package `_package` is essentially the same as |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
189 another package. |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
190 |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
191 Args: |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
192 _package: the new name of the package |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
193 |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
194 Returns: |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
195 0 when a package mapping has been found, 1 otherwise |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
196 |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
197 Output (stdout): |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
198 the name of the package on which `_package` is based on |
|
101
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
199 |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
200 This command reads from the mapping database in in file |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
201 `/usr/local/etc/local-bsdtools/package-mapping.conf`. |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
202 Example:: |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
203 |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
204 # |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
205 # _package mapped_package_name |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
206 # |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
207 fmg-nextcloud-php71 nextcloud-php71 |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
208 fmg-nextcloud-twofactor_totp-php71 nextcloud-twofactor_totp-php71 |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
209 |
|
bf8f0aa3c698
Docu: get_mapping() is documented now
Franz Glasner <fzglas.hg@dom66.de>
parents:
100
diff
changeset
|
210 ' |
|
62
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
211 local _package _n _mapped |
|
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
212 |
|
736
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
213 local - |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
214 set -x |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
215 |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
216 _package="$1" |
|
62
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
217 |
|
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
218 if [ -r "${PACKAGE_MAPPING}" ] ; then |
|
736
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
219 while IFS=$' \t' read -r _n _mapped ; do |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
220 case "${_n}" in |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
221 '') |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
222 # empty line |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
223 continue;; |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
224 \#*) |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
225 # comment |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
226 continue;; |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
227 *) |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
228 if [ "${_n}" = "${_package}" ] ; then |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
229 printf '%s' "${_mapped}" |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
230 return 0 |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
231 fi |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
232 ;; |
|
b308d8e4c8ad
check-ports: explicitely allow comments and empty lines in package-mapping.conf
Franz Glasner <fzglas.hg@dom66.de>
parents:
708
diff
changeset
|
233 esac |
|
706
45051412d0b8
check-ports: modernized somewhat: quoting and "read -r"
Franz Glasner <fzglas.hg@dom66.de>
parents:
705
diff
changeset
|
234 done < "${PACKAGE_MAPPING}" |
|
62
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
235 fi |
|
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
236 return 1 |
|
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
237 } |
|
6c8ee1ef9ef2
First parts of checks of forked and/or renamed packages
Franz Glasner <fzglas.hg@dom66.de>
parents:
61
diff
changeset
|
238 |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
239 |
|
31
abe1659ff3c1
Refactor: a "print_title()" function which prints the title line (package and repo) if its not yet printed
Franz Glasner <hg@dom66.de>
parents:
24
diff
changeset
|
240 print_title() { |
|
94
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
241 : 'Print the output title line for a package |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
242 |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
243 Args: |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
244 _package: the package name |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
245 _version: the package version |
|
94
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
246 _repo: the repository name |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
247 |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
248 Input (Globals). |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
249 title_printed: a global that determines if the title really needs |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
250 to be printed. |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
251 |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
252 If it is an empty string the the title is |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
253 really printed and the variable is set to |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
254 "yes". |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
255 |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
256 Output (Globals): |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
257 title_printed: set to "yes" if the title has been printed |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
258 |
|
c9fb9e920a32
Docu: documented many functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
93
diff
changeset
|
259 ' |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
260 local _package _version _repo |
|
31
abe1659ff3c1
Refactor: a "print_title()" function which prints the title line (package and repo) if its not yet printed
Franz Glasner <hg@dom66.de>
parents:
24
diff
changeset
|
261 |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
262 _package="$1" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
263 _version="$2" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
264 _repo="$3" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
265 if [ -z "${title_printed}" ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
266 printf '%-36s %-17s (%s)\n' "${_package}" "${_version}" "${_repo}" |
|
32
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
267 title_printed=yes |
|
31
abe1659ff3c1
Refactor: a "print_title()" function which prints the title line (package and repo) if its not yet printed
Franz Glasner <hg@dom66.de>
parents:
24
diff
changeset
|
268 fi |
|
abe1659ff3c1
Refactor: a "print_title()" function which prints the title line (package and repo) if its not yet printed
Franz Glasner <hg@dom66.de>
parents:
24
diff
changeset
|
269 } |
|
abe1659ff3c1
Refactor: a "print_title()" function which prints the title line (package and repo) if its not yet printed
Franz Glasner <hg@dom66.de>
parents:
24
diff
changeset
|
270 |
|
abe1659ff3c1
Refactor: a "print_title()" function which prints the title line (package and repo) if its not yet printed
Franz Glasner <hg@dom66.de>
parents:
24
diff
changeset
|
271 |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
272 print_detail_item() { |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
273 : 'Print a detail item to stdout. |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
274 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
275 The description `_descr` will not be printed if the label `_label` |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
276 is ``?``. |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
277 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
278 Args: |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
279 _repo: the repository name |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
280 _version: the version number to print to |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
281 _label: the label (aka comparison character) to print to |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
282 _descr: the description to print to |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
283 _indent: (optional) extra indentation number (default 0) |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
284 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
285 Output (stdout): |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
286 the formatted detail line |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
287 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
288 ' |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
289 local _repo _version _label _descr _indent |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
290 local _real_descr |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
291 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
292 _repo="$1" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
293 _version="$2" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
294 _label="$3" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
295 _descr="$4" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
296 _indent="$5" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
297 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
298 if [ -z "${_indent}" ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
299 _indent="0" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
300 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
301 if [ "${_label}" = '?' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
302 _real_descr='' |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
303 else |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
304 _real_descr="${_descr}" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
305 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
306 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
307 printf '%-*s %-15s: %-17s %s %s\n' $((_indent)) '' "${_repo}" "${_version}" "${_label}" "${_real_descr}" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
308 } |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
309 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
310 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
311 check_ports() { |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
312 : 'Implementation of all command variants besides of `-n` |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
313 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
314 ' |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
315 local _ipackage _iversion _irepo _mapped_package_name _dummy |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
316 local _print_detail _local_index_exists |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
317 local _index_version _index_label _index_descr |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
318 local _remote_version_FreeBSD _remote_label_FreeBSD _remote_descr_FreeBSD |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
319 local _remote_version_LocalBSDPorts _remote_label_LocalBSDPorts _remote_descr_LocalBSDPorts |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
320 local _remote_version_SharedLocalRepo _remote_label_SharedLocalRepo _remote_descr_SharedLocalRepo |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
321 local _remote_version_LocalRepo _remote_label_LocalRepo _remote_descr_LocalRepo |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
322 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
323 if test_exists_local_index; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
324 _local_index_exists="1" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
325 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
326 pkg query '%n %v %R' | |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
327 while read -r _ipackage _iversion _irepo; do |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
328 title_printed="" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
329 _print_detail="" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
330 if [ -n "${_local_index_exists}" ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
331 read -r _dummy _index_label _index_descr <<EOF_INDEX |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
332 $(pkg version -U -I -n "${_ipackage}" -v) |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
333 EOF_INDEX |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
334 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
335 read -r _dummy _remote_label_FreeBSD _remote_descr_FreeBSD <<EOF_FreeBSD |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
336 $(pkg version -U -R -r "${FREEBSD_REPO}" -n "${_ipackage}" -v) |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
337 EOF_FreeBSD |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
338 read -r _dummy _remote_label_LocalBSDPorts _remote_descr_LocalBSDPorts <<EOF_LocalBSDPorts |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
339 $(pkg version -U -R -r "${LOCALBSDPORTS_REPO}" -n "${_ipackage}" -v) |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
340 EOF_LocalBSDPorts |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
341 read -r _remote_fpname_SharedLocalRepo _remote_label_SharedLocalRepo _remote_descr_SharedLocalRepo <<EOF_SharedLocalRepo |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
342 $(pkg version -U -R -r "${SHARED_LOCAL_REPO}" -n "${_ipackage}" -v) |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
343 EOF_SharedLocalRepo |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
344 read -r _remote_fpname_LocalRepo _remote_label_LocalRepo _remote_descr_LocalRepo <<EOF_LocalRepo |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
345 $(pkg version -U -R -r "${LOCAL_REPO}" -n "${_ipackage}" -v) |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
346 EOF_LocalRepo |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
347 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
348 if [ -n "${option_verbose}" ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
349 print_title "${_ipackage}" "${_iversion}" "${_irepo}" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
350 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
351 if get_mapping "${_ipackage}" >/dev/null; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
352 _print_detail="1" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
353 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
354 if [ -n "${option_alldata}" ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
355 _print_detail="1" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
356 else |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
357 if [ -n "${option_short}" ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
358 case "${_irepo}" in |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
359 "${FREEBSD_REPO}") |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
360 if [ -n "${_local_index_exists}" ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
361 if [ "${_index_label}" != '<' -a "${_index_label}" != '=' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
362 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
363 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
364 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
365 if [ "${_remote_label_FreeBSD}" != '=' -o "${_remote_label_SharedLocalRepo}" != '?' -o "${_remote_label_LocalRepo}" != '?' -o "${_remote_label_LocalBSDPorts}" != '?' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
366 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
367 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
368 ;; |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
369 "${LOCALBSDPORTS_REPO}") |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
370 if [ -n "${_local_index_exists}" ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
371 if [ "${_index_label}" != '=' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
372 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
373 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
374 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
375 if [ "${_remote_label_FreeBSD}" != '>' -o "${_remote_label_LocalRepo}" != '?' -o "${_remote_label_SharedLocalRepo}" != '?' -o "${_remote_label_LocalBSDPorts}" = '?' -o "${_remote_label_LocalBSDPorts}" = '<' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
376 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
377 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
378 ;; |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
379 "${SHARED_LOCAL_REPO}") |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
380 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
381 ;; |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
382 "${LOCAL_REPO}") |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
383 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
384 ;; |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
385 "${PORTS_DIRECT_INSTALLED_REPO}") |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
386 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
387 ;; |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
388 *) |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
389 echo "ERROR: unhandled repository: ${_irepo}" >&2 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
390 exit 1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
391 ;; |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
392 esac |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
393 else |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
394 if [ -n "${_local_index_exists}" ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
395 if [ "${_index_label}" != '?' -a "${_index_label}" != '=' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
396 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
397 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
398 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
399 if [ "${_remote_label_FreeBSD}" != '?' -a "${_remote_label_FreeBSD}" != '=' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
400 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
401 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
402 if [ "${_remote_label_LocalBSDPorts}" != '?' -a "${_remote_label_LocalBSDPorts}" != '=' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
403 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
404 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
405 if [ "${_remote_label_SharedLocalRepo}" != '?' -a "${_remote_label_SharedLocalRepo}" != '=' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
406 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
407 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
408 if [ "${_remote_label_LocalRepo}" != '?' -a "${_remote_label_LocalRepo}" != '=' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
409 _print_detail=1 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
410 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
411 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
412 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
413 if [ -n "${_print_detail}" ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
414 print_title "${_ipackage}" "${_iversion}" "${_irepo}" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
415 if [ -n "${_local_index_exists}" ]; then |
|
152
29e708b524e1
Renamed some ports index related functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
151
diff
changeset
|
416 _index_version="$(get_ports_index_version "${_ipackage}")" |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
417 print_detail_item "INDEX" "${_index_version}" "${_index_label}" "${_index_descr}" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
418 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
419 if [ -n "${option_alldata_FreeBSD}" -o "${_remote_label_FreeBSD}" != '?' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
420 _remote_version_FreeBSD="$(pkg rquery -U -r "${FREEBSD_REPO}" '%v' "${_ipackage}")" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
421 print_detail_item "${FREEBSD_REPO}" "${_remote_version_FreeBSD}" "${_remote_label_FreeBSD}" "${_remote_descr_FreeBSD}" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
422 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
423 if [ -n "${option_alldata_LocalBSDPorts}" -o "${_remote_label_LocalBSDPorts}" != '?' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
424 _remote_version_LocalBSDPorts="$(pkg rquery -U -r "${LOCALBSDPORTS_REPO}" '%v' "${_ipackage}")" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
425 print_detail_item "${LOCALBSDPORTS_REPO}" "${_remote_version_LocalBSDPorts}" "${_remote_label_LocalBSDPorts}" "${_remote_descr_LocalBSDPorts}" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
426 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
427 if [ -n "${option_alldata_SharedLocalRepo}" -o "${_remote_label_SharedLocalRepo}" != '?' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
428 _remote_version_SharedLocalRepo="$(pkg rquery -U -r "${SHARED_LOCAL_REPO}" '%v' "${_ipackage}")" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
429 print_detail_item "${SHARED_LOCAL_REPO}" "${_remote_version_SharedLocalRepo}" "${_remote_label_SharedLocalRepo}" "${_remote_descr_SharedLocalRepo}" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
430 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
431 if [ -n "${option_alldata_LocalRepo}" -o "${_remote_label_LocalRepo}" != '?' ]; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
432 _remote_version_LocalRepo="$(pkg rquery -U -r "${LOCAL_REPO}" '%v' "${_ipackage}")" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
433 print_detail_item "${LOCAL_REPO}" "${_remote_version_LocalRepo}" "${_remote_label_LocalRepo}" "${_remote_descr_LocalRepo}" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
434 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
435 _mapped_package_name="$(get_mapping "${_ipackage}")" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
436 if [ -n "${_mapped_package_name}" ] ; then |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
437 printf '%18s %s %s (%s)\n' "--------------->" "${_mapped_package_name}" "$(pkg rquery -U '%v' "${_mapped_package_name}")" "$(pkg rquery -U '%R' "${_mapped_package_name}")" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
438 if [ -n "${_local_index_exists}" ]; then |
|
152
29e708b524e1
Renamed some ports index related functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
151
diff
changeset
|
439 print_detail_item "INDEX" "$(get_ports_index_version "${_mapped_package_name}")" "" "" |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
440 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
441 print_detail_item "${FREEBSD_REPO}" "$(pkg rquery -U -r "${FREEBSD_REPO}" '%v' "${_mapped_package_name}")" "" "" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
442 print_detail_item "${LOCALBSDPORTS_REPO}" "$(pkg rquery -U -r "${LOCALBSDPORTS_REPO}" '%v' "${_mapped_package_name}")" "" "" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
443 print_detail_item "${SHARED_LOCAL_REPO}" "$(pkg rquery -U -r "${SHARED_LOCAL_REPO}" '%v' "${_mapped_package_name}")" "" "" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
444 print_detail_item "${LOCAL_REPO}" "$(pkg rquery -U -r "${LOCAL_REPO}" '%v' "${_mapped_package_name}")" "" "" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
445 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
446 fi |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
447 done |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
448 } |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
449 |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
450 |
|
153
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
451 check_given_packages() { |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
452 : 'Check the status of all given packages in the most detail possible |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
453 |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
454 Args: |
|
708
f19ae639e7ff
check-ports: FIX: Typo in docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
706
diff
changeset
|
455 $@: the name of packages to handle to |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
456 |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
457 ' |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
458 local _package _version _label _repo _descr _dummy |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
459 local _local_index_exists _mapped_package_name |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
460 |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
461 if test_exists_local_index; then |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
462 _local_index_exists="1" |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
463 fi |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
464 |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
465 while [ $# -gt 0 ]; do |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
466 _package="$1" |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
467 shift |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
468 read -r _version _repo <<EOF_INSTALLED |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
469 $(pkg query '%v %R' "${_package}") |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
470 EOF_INSTALLED |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
471 if [ -n "${_version}" ]; then |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
472 title_printed="" |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
473 print_title "${_package}" "${_version}" "${_repo}" |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
474 if [ -n "${_local_index_exists}" ]; then |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
475 read -r _dummy _label _descr <<EOF_INDEX |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
476 $(pkg version -U -I -n "${_package}" -v) |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
477 EOF_INDEX |
|
152
29e708b524e1
Renamed some ports index related functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
151
diff
changeset
|
478 _version="$(get_ports_index_version "${_package}")" |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
479 print_detail_item "INDEX" "${_version}" "${_label}" "${_descr}" |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
480 fi |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
481 for _repo in "${FREEBSD_REPO}" "${LOCALBSDPORTS_REPO}" "${SHARED_LOCAL_REPO}" "${LOCAL_REPO}"; do |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
482 read -r _dummy _label _descr <<EOF_REPO |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
483 $(pkg version -U -R -r "${_repo}" -n "${_package}" -v) |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
484 EOF_REPO |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
485 _version="$(pkg rquery -U -r "${_repo}" '%v' "${_package}")" |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
486 print_detail_item "${_repo}" "${_version}" "${_label}" "${_descr}" |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
487 done |
|
737
907cbedee676
check-ports: FIX: Typo in variable name.
Franz Glasner <fzglas.hg@dom66.de>
parents:
736
diff
changeset
|
488 _mapped_package_name="$(get_mapping "${_package}")" |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
489 if [ -n "${_mapped_package_name}" ] ; then |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
490 printf '%18s %s %s (%s)\n' "--------------->" "${_mapped_package_name}" "$(pkg rquery -U '%v' "${_mapped_package_name}")" "$(pkg rquery -U '%R' "${_mapped_package_name}")" |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
491 if [ -n "${_local_index_exists}" ]; then |
|
152
29e708b524e1
Renamed some ports index related functions
Franz Glasner <fzglas.hg@dom66.de>
parents:
151
diff
changeset
|
492 print_detail_item "INDEX" "$(get_ports_index_version "${_mapped_package_name}")" "" "" |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
493 fi |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
494 for _repo in "${FREEBSD_REPO}" "${LOCALBSDPORTS_REPO}" "${SHARED_LOCAL_REPO}" "${LOCAL_REPO}"; do |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
495 print_detail_item "${_repo}" "$(pkg rquery -U -r "${_repo}" '%v' "${_mapped_package_name}")" "" "" |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
496 done |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
497 fi |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
498 fi |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
499 done |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
500 } |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
501 |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
502 |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
503 option_alldata="" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
504 option_alldata_FreeBSD="" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
505 option_alldata_LocalBSDPorts="" |
|
705
7cb17eaac812
check-ports: FIX: Typo in variable name: "opeion_alldata_..." -> "option_alldata_..."
Franz Glasner <fzglas.hg@dom66.de>
parents:
643
diff
changeset
|
506 option_alldata_SharedLocalRepo="" |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
507 option_alldata_LocalRepo="" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
508 option_short="" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
509 option_verbose="" |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
510 option_packages="" |
|
9
6b77068e7ec8
Introduced option handling with getopts: implemented a "v" option (verbose)
Franz Glasner <hg@dom66.de>
parents:
8
diff
changeset
|
511 |
|
153
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
512 while getopts "VhAansv" _opt ; do |
|
10
f08b39dacb21
Implemented "-A" and "-a" options for printing info for all installed packages and/or with LocalRepo data
Franz Glasner <hg@dom66.de>
parents:
9
diff
changeset
|
513 case ${_opt} in |
|
81
124faa20ae80
Implemented a "-V" global option to print the program's name and version number to stdout
Franz Glasner <fzglas.hg@dom66.de>
parents:
79
diff
changeset
|
514 V) |
|
386
84d2735fe7f6
Simplified version tagging a lot: it is also faster now.
Franz Glasner <fzglas.hg@dom66.de>
parents:
361
diff
changeset
|
515 printf 'check-ports %s\n' '@@SIMPLEVERSIONSTR@@' |
|
81
124faa20ae80
Implemented a "-V" global option to print the program's name and version number to stdout
Franz Glasner <fzglas.hg@dom66.de>
parents:
79
diff
changeset
|
516 exit 0 |
|
124faa20ae80
Implemented a "-V" global option to print the program's name and version number to stdout
Franz Glasner <fzglas.hg@dom66.de>
parents:
79
diff
changeset
|
517 ;; |
|
153
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
518 h) |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
519 echo "${USAGE}" |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
520 exit 0 |
|
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
521 ;; |
|
32
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
522 A) |
| 135 | 523 # Print for every package the status of all repositories |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
524 option_alldata="1" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
525 option_alldata_FreeBSD="1" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
526 option_alldata_LocalBSDPorts="1" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
527 option_alldata_SharedLocalRepo="1" |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
528 option_alldata_LocalRepo="1" |
|
32
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
529 ;; |
|
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
530 a) |
| 135 | 531 # Print the data of all repos that have the package |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
532 option_alldata="1" |
|
32
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
533 ;; |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
534 n) |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
535 # |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
536 # Print status of given packages in all details. |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
537 # No other options are respected. |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
538 # |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
539 option_packages="1" |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
540 ;; |
|
34
36a10ff20355
Implemented a -s (short) flag that filters output if the repo is FreeBSD and only the local portstree INDEX has a newer version
Franz Glasner <hg@dom66.de>
parents:
33
diff
changeset
|
541 s) |
|
36a10ff20355
Implemented a -s (short) flag that filters output if the repo is FreeBSD and only the local portstree INDEX has a newer version
Franz Glasner <hg@dom66.de>
parents:
33
diff
changeset
|
542 # "short" output: if installed from FreeBSD repo: don't |
|
36a10ff20355
Implemented a -s (short) flag that filters output if the repo is FreeBSD and only the local portstree INDEX has a newer version
Franz Glasner <hg@dom66.de>
parents:
33
diff
changeset
|
543 # report if only the index is newer |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
544 option_short="1" |
|
34
36a10ff20355
Implemented a -s (short) flag that filters output if the repo is FreeBSD and only the local portstree INDEX has a newer version
Franz Glasner <hg@dom66.de>
parents:
33
diff
changeset
|
545 ;; |
|
32
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
546 v) |
| 135 | 547 # |
| 548 # Print all titles and repo of every installed package always. | |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
549 # The output of the other repo status nevertheless depends on the |
| 135 | 550 # other flag settings. |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
551 # |
|
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
552 option_verbose="1" |
|
32
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
553 ;; |
|
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
554 \?) |
|
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
555 exit 2 |
|
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
556 ;; |
|
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
557 *) |
|
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
558 echo "option handling failed" >&2 |
|
37f003c9f4e2
untabify and comments for options
Franz Glasner <hg@dom66.de>
parents:
31
diff
changeset
|
559 exit 2 |
| 42 | 560 ;; |
|
9
6b77068e7ec8
Introduced option handling with getopts: implemented a "v" option (verbose)
Franz Glasner <hg@dom66.de>
parents:
8
diff
changeset
|
561 esac |
|
12
fd56d1b7d822
Use extra flag for controlling the printing of the package title
Franz Glasner <hg@dom66.de>
parents:
11
diff
changeset
|
562 done |
|
9
6b77068e7ec8
Introduced option handling with getopts: implemented a "v" option (verbose)
Franz Glasner <hg@dom66.de>
parents:
8
diff
changeset
|
563 |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
564 # |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
565 # Reset the Shell's option handling system to prepare for handling |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
566 # command-local options. |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
567 # |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
568 shift $((OPTIND-1)) |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
569 OPTIND=1 |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
570 |
|
140
17b2f4fa9c1b
- Refactor: check-ports now deals with missing local index files
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
571 if [ -n "${option_short}" -a -n "${option_alldata}" ]; then |
|
34
36a10ff20355
Implemented a -s (short) flag that filters output if the repo is FreeBSD and only the local portstree INDEX has a newer version
Franz Glasner <hg@dom66.de>
parents:
33
diff
changeset
|
572 echo "the -s option cannot be combined with -A or -a" >&2 |
|
36a10ff20355
Implemented a -s (short) flag that filters output if the repo is FreeBSD and only the local portstree INDEX has a newer version
Franz Glasner <hg@dom66.de>
parents:
33
diff
changeset
|
573 exit 2 |
|
36a10ff20355
Implemented a -s (short) flag that filters output if the repo is FreeBSD and only the local portstree INDEX has a newer version
Franz Glasner <hg@dom66.de>
parents:
33
diff
changeset
|
574 fi |
|
36a10ff20355
Implemented a -s (short) flag that filters output if the repo is FreeBSD and only the local portstree INDEX has a newer version
Franz Glasner <hg@dom66.de>
parents:
33
diff
changeset
|
575 |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
576 if [ -n "${option_packages}" ]; then |
|
153
59a334dc9b53
Implement a usage message with the "-h" option
Franz Glasner <fzglas.hg@dom66.de>
parents:
152
diff
changeset
|
577 check_given_packages "$@" |
|
150
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
578 else |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
579 check_ports |
|
937c96ffe358
Implemented the "-n" option to check only given packages but in the most detail possible
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
580 fi |
