^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) #!/bin/sh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) set -e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) if [ $# != 1 ]; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) echo "Usage: $0 <modules.order>" >& 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) exit 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) exit_code=0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) # Check uniqueness of module names
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) check_same_name_modules()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) for m in $(sed 's:.*/::' $1 | sort | uniq -d)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) echo "error: the following would cause module name conflict:" >&2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) sed -n "/\/$m/s:^: :p" modules.order >&2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) exit_code=1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) check_same_name_modules "$1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) exit $exit_code