summaryrefslogtreecommitdiffstats
path: root/udev/check.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:23:06 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:23:06 +0000
commitcd13e2506379761d3464eae917eb1881876a7aa1 (patch)
tree54d32c05b0d6396408ff0d599d771fb9e7cdd60c /udev/check.sh
parentInitial commit. (diff)
downloadlibfido2-cd13e2506379761d3464eae917eb1881876a7aa1.tar.xz
libfido2-cd13e2506379761d3464eae917eb1881876a7aa1.zip
Adding upstream version 1.12.0.upstream/1.12.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rwxr-xr-xudev/check.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/udev/check.sh b/udev/check.sh
new file mode 100755
index 0000000..804a884
--- /dev/null
+++ b/udev/check.sh
@@ -0,0 +1,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