File: builder-entrypoint-coreos.sh

package info (click to toggle)
sysdig 0.35.0%2Brepack-1.1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,600 kB
  • sloc: cpp: 11,020; sh: 1,313; ansic: 999; makefile: 12
file content (41 lines) | stat: -rwxr-xr-x 1,166 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash

# required env vars:
# HASH
# HASH_ORIG
# KERNELDIR
# KERNEL_RELEASE
# OUTPUT
# DRIVER_DEVICE_NAME
# DRIVER_NAME
# DRIVER_VERSION

set -euo pipefail

ARCH=$(uname -m)

if [[ -f "${KERNELDIR}/scripts/gcc-plugins/stackleak_plugin.so" ]]; then
	echo "Rebuilding gcc plugins for ${KERNELDIR}"
	(cd "${KERNELDIR}" && make gcc-plugins)
fi

(cd $KERNELDIR && make modules_prepare)

echo Building $DRIVER_NAME-$DRIVER_VERSION-$ARCH-$KERNEL_RELEASE-$HASH.ko

mkdir -p /build/sysdig
cd /build/sysdig

cmake -DCMAKE_BUILD_TYPE=Release -DDRIVER_NAME=$DRIVER_NAME -DDRIVER_VERSION=$DRIVER_VERSION -DDRIVER_DEVICE_NAME=$DRIVER_DEVICE_NAME -DCREATE_TEST_TARGETS=OFF /build/probe/sysdig
make driver
strip -g driver/$DRIVER_NAME.ko

KO_VERSION=$(/sbin/modinfo driver/$DRIVER_NAME.ko | grep vermagic | tr -s " " | cut -d " " -f 2)
if [ "$KO_VERSION" != "$KERNEL_RELEASE" ]; then
	echo "Corrupted driver, KO_VERSION " $KO_VERSION ", KERNEL_RELEASE " $KERNEL_RELEASE
	exit 1
fi

cp driver/$DRIVER_NAME.ko $OUTPUT/$DRIVER_NAME-$DRIVER_VERSION-$ARCH-$KERNEL_RELEASE-$HASH.ko
cp driver/$DRIVER_NAME.ko $OUTPUT/$DRIVER_NAME-$DRIVER_VERSION-$ARCH-$KERNEL_RELEASE-$HASH_ORIG.ko