32 lines
794 B
Bash
32 lines
794 B
Bash
|
#!/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.
|
||
|
|
||
|
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
|