File: check.sh

package info (click to toggle)
mysql-8.0 8.0.43-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,904 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,184; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,196; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (32 lines) | stat: -rwxr-xr-x 834 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh -u

# Copyright (c) 2020 Yubico AB. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
# SPDX-License-Identifier: BSD-2-Clause

sort_by_id() {
	awk '{ printf "%d\n", $3 }' | sort -Cnu
}

if ! grep '^vendor' "$1" | sort_by_id; then
	echo unsorted vendor section 1>&2
	exit 1
fi

VENDORS=$(grep '^vendor' "$1" | awk '{ print $2 }')
PRODUCTS=$(grep '^product' "$1" | awk '{ print $2 }' | uniq)

if [ "${VENDORS}" != "${PRODUCTS}" ]; then
	echo vendors: "$(echo "${VENDORS}" | tr '\n' ',')" 1>&2
	echo products: "$(echo "${PRODUCTS}" | tr '\n' ',')" 1>&2
	echo vendors and products in different order 1>&2
	exit 2
fi

for v in ${VENDORS}; do
	if ! grep "^product ${v}" "$1" | sort_by_id; then
		echo "${v}": unsorted product section 1>&2
		exit 3
	fi
done