mirror of
https://git.proxmox.com/git/systemd
synced 2026-01-03 05:35:34 +00:00
37 lines
927 B
Bash
Executable File
37 lines
927 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
set -eu
|
|
set -o pipefail
|
|
|
|
cpp="$1"
|
|
filesystems_gperf="$2"
|
|
shift 2
|
|
|
|
includes=""
|
|
for i in "$@"; do
|
|
includes="$includes -include $i"
|
|
done
|
|
|
|
error=false
|
|
|
|
# shellcheck disable=SC2086
|
|
for fs in $($cpp -dM $includes - </dev/null | \
|
|
grep -E '_MAGIC' | \
|
|
grep -vE 'LINUX_MAGIC' | \
|
|
awk '/^#define[ \t]+[A-Z0-9_]+MAGIC[ \t]+/ { print $2; }'); do
|
|
if ! grep -E "\{.*$fs.*\}" "$filesystems_gperf" >/dev/null; then
|
|
# STACK_END_MAGIC doesn't refer to a filesystem
|
|
# mtd_inode was removed in 2015
|
|
# futexfs was removed in 2018
|
|
if [[ "$fs" =~ ^(STACK_END_MAGIC|MTD_INODE_FS_MAGIC|FUTEXFS_SUPER_MAGIC)$ ]]; then
|
|
continue
|
|
fi
|
|
echo "Filesystem found in kernel header but not in $(basename "$filesystems_gperf"): $fs";
|
|
error=true
|
|
fi
|
|
done
|
|
|
|
if $error; then
|
|
exit 1
|
|
fi
|