Home | History | Annotate | Line # | Download | only in udev
      1 #!/bin/sh -u
      2 
      3 # Copyright (c) 2020-2024 Yubico AB. All rights reserved.
      4 # Use of this source code is governed by a BSD-style
      5 # license that can be found in the LICENSE file.
      6 # SPDX-License-Identifier: BSD-2-Clause
      7 
      8 sort_by_id() {
      9 	awk '{ printf "%s\n", $3 }' | xargs printf '%d\n' | sort -Cnu
     10 }
     11 
     12 if ! grep '^vendor' "$1" | sort_by_id; then
     13 	echo unsorted vendor section 1>&2
     14 	exit 1
     15 fi
     16 
     17 VENDORS=$(grep '^vendor' "$1" | awk '{ print $2 }')
     18 PRODUCTS=$(grep '^product' "$1" | awk '{ print $2 }' | uniq)
     19 
     20 if [ "${VENDORS}" != "${PRODUCTS}" ]; then
     21 	echo vendors: "$(echo "${VENDORS}" | tr '\n' ',')" 1>&2
     22 	echo products: "$(echo "${PRODUCTS}" | tr '\n' ',')" 1>&2
     23 	echo vendors and products in different order 1>&2
     24 	exit 2
     25 fi
     26 
     27 for v in ${VENDORS}; do
     28 	if ! grep "^product ${v}" "$1" | sort_by_id; then
     29 		echo "${v}": unsorted product section 1>&2
     30 		exit 3
     31 	fi
     32 done
     33