freebsd-nq/contrib/libfido2/udev/check.sh
Ed Maste 0afa8e065e Import libfido2 at 'contrib/libfido2/'
git-subtree-dir: contrib/libfido2
git-subtree-mainline: d586c978b9
git-subtree-split: a58dee945a
2021-10-06 21:29:18 -04:00

32 lines
794 B
Bash
Executable File

#!/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