blob: 540694a346411747bb2aa75effed584d703f45a4 (
plain)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#!/bin/sh
set -e
CWD=$(pwd)
KERNEL_VAR_FILE=${CWD}/kernel-vars
. ${CWD}/common.sh
require_amd64 "Intel drivers"
if [ ! -f ${KERNEL_VAR_FILE} ]; then
echo "Kernel variable file '${KERNEL_VAR_FILE}' does not exist, run ./build_kernel.sh first"
exit 1
fi
. ${KERNEL_VAR_FILE}
if [ -z $KERNEL_DIR ]; then
echo "KERNEL_DIR not defined"
exit 1
fi
DRIVER_NAME=$1
cd ${CWD}/ethernet-linux-${DRIVER_NAME}
if [ -d .git ]; then
git clean --force -d -x
git reset --hard origin/main
fi
# See https://vyos.dev/T6155
# See https://vyos.dev/T6162
PATCH_DIR=${CWD}/patches/${DRIVER_NAME}
if [ -d $PATCH_DIR ]; then
for patch in $(ls ${PATCH_DIR})
do
echo "I: Apply patch: ${PATCH_DIR}/${patch}"
patch -p1 < ${PATCH_DIR}/${patch}
done
fi
PACKAGE_NAME=vyos-intel-${DRIVER_NAME}
PACKAGE_VERSION=$(debian_version "$(git describe | sed s/^v//)")
debmake -n -y -p ${PACKAGE_NAME} -u ${PACKAGE_VERSION} \
-e maintainers@vyos.net -f "VyOS Package Maintainers"
echo "misc:Depends=linux-image-${KERNEL_VERSION}${KERNEL_SUFFIX}" > debian/${PACKAGE_NAME}.substvars
cat << EOF > debian/control
Source: ${PACKAGE_NAME}
Section: kernel
Priority: optional
Maintainer: VyOS Package Maintainers <maintainers@vyos.net>
Build-Depends: debhelper-compat (= 13)
Standards-Version: 4.5.1
Rules-Requires-Root: no
Package: ${PACKAGE_NAME}
Architecture: any
Depends: \${misc:Depends}
Description: Vendor based driver for Intel ${DRIVER_NAME}
Out-of-tree Intel ${DRIVER_NAME} network driver kernel module.
EOF
cat << EOF > debian/rules
#!/usr/bin/make -f
export KERNEL_DIR := ${KERNEL_DIR}
PACKAGE_BUILD_DIR := debian/${PACKAGE_NAME}
KVER := ${KERNEL_VERSION}${KERNEL_SUFFIX}
%:
dh \$@
override_dh_clean:
dh_clean --exclude=debian/${PACKAGE_NAME}.substvars
override_dh_prep:
dh_prep --exclude=debian/${PACKAGE_NAME}.substvars
override_dh_auto_build:
@true
override_dh_auto_install:
make KSRC=\${KERNEL_DIR} BUILD_KERNEL=\${KVER} INSTALL_MOD_PATH=\$(CURDIR)/\${PACKAGE_BUILD_DIR} INSTALL_FW_PATH=\$(CURDIR)/\${PACKAGE_BUILD_DIR} -j \$(shell getconf _NPROCESSORS_ONLN) -C src install
find \${PACKAGE_BUILD_DIR} -name "modules.*" -delete
\${KERNEL_DIR}/../sign-modules.sh \${PACKAGE_BUILD_DIR}/lib
EOF
debuild
|