Skip to content

Commit 8bf3d21

Browse files
kernel_build.sh: Use getopts for argument parsing
Use getopts for argument parsing and add options to skip kabi and mrproper whenever needed. Signed-off-by: Shreeya Patel <[email protected]>
1 parent d97a2c1 commit 8bf3d21

File tree

1 file changed

+41
-14
lines changed

1 file changed

+41
-14
lines changed

kernel_build.sh

Lines changed: 41 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,59 @@
11
#!/bin/bash
2-
#set -x
3-
4-
if [ "$1" == "skipkabi" ]; then
5-
echo "kABI check will be skipped"
6-
fi
2+
set -e
3+
4+
SKIP_MRPROPER=0
5+
SKIP_KABI=0
6+
7+
print_help() {
8+
cat <<EOF
9+
Usage: $0 [OPTIONS]
10+
11+
Options:
12+
-m, --skip-mrproper Skip 'make mrproper'
13+
-k, --skip-kabi Skip kABI check
14+
-h, --help Show this help message
15+
EOF
16+
}
17+
18+
# Parse arguments
19+
while [ "$#" -gt 0 ]; do
20+
case "$1" in
21+
-m|--skip-mrproper) SKIP_MRPROPER=1 ;;
22+
-k|--skip-kabi) SKIP_KABI=1 ;;
23+
-h|--help) print_help; exit 0 ;;
24+
--) shift; break ;;
25+
-*)
26+
echo "Unknown option: $1"
27+
print_help
28+
exit 1
29+
;;
30+
*) break ;;
31+
esac
32+
shift
33+
done
734

835
pwd
936

1037
BRANCH=$(git branch | grep \* | cut -d ' ' -f2 | sed 's/[{}()]//g; s/\//_/g')
1138

1239
START=$(date +%s)
1340
START_MRPROPER=$(date +%s)
14-
if [ -e .config ]; then
41+
42+
if [ "$SKIP_MRPROPER" -ne 1 ]; then
43+
echo "Running make mrproper..."
1544
make mrproper | tee "/tmp/${BRANCH}_make_mrproper.log"
16-
if [ $? -ne 0 ]; then
45+
if [[ $? -ne 0 ]]; then
1746
echo "Error: make mrproper failed"
1847
echo "[TIMER]{MRPROPER} $(( $(date +%s) - $START_MRPROPER ))s"
1948
exit 1
2049
fi
2150
else
22-
echo "no .config file found, moving on"
51+
echo "Skipping make mrproper"
2352
fi
2453

2554
END_MRPROPER=$(date +%s)
2655
echo "[TIMER]{MRPROPER}: $(( $END_MRPROPER - $START_MRPROPER ))s"
2756

28-
2957
ARCH=$(uname -m)
3058
if [ "x86_64" == "${ARCH}" ] || [ "aarch64" == "${ARCH}" ]; then
3159
VERSION=$(uname -r | cut -d '-' -f1)
@@ -87,13 +115,12 @@ fi
87115
END_INSTALL=$(date +%s)
88116
echo "[TIMER]{INSTALL}: $(( $END_INSTALL - $START_INSTALL ))s"
89117

90-
echo "Checking kABI"
91-
# ../kernel-dist-git/SOURCES/check-kabi -k ../kernel-dist-git/SOURCES/Module.kabi_x86_64 -s Module.symvers || echo "kABI failed"
92-
if [ "$1" == "skipkabi" ]; then
93-
echo "kABI check skipped"
118+
# Run kABI check unless skipped
119+
if [ "$SKIP_KABI" -eq 1 ]; then
120+
echo "Skipping kABI check"
94121
else
95122
echo "Checking kABI"
96-
KABI_CHECK=$(../kernel-dist-git/SOURCES/check-kabi -k ../kernel-dist-git/SOURCES/Module.kabi_${ARCH} -s Module.symvers)
123+
../kernel-dist-git/SOURCES/check-kabi -k ../kernel-dist-git/SOURCES/Module.kabi_${ARCH} -s Module.symvers
97124
if [ $? -ne 0 ]; then
98125
echo "Error: kABI check failed"
99126
exit 1

0 commit comments

Comments
 (0)