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
|
// Copyright (C) 2020-2024 VyOS maintainers and contributors
//
// This program is free software; you can redistribute it and/or modify
// in order to easy exprort images built to "external" world
// it under the terms of the GNU General Public License version 2 or later as
// published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
@NonCPS
// Using a version specifier library, use 'current' branch. The underscore (_)
// is not a typo! You need this underscore if the line immediately after the
// @Library annotation is not an import statement!
@Library('vyos-build@current')_
def pkgList = [
// The Linux Kernel
['name': 'kernel',
'buildCmd': '''
# all scripts must be executed one level above ...
cd ..
# read the required Kernel version
KERNEL_VER=\$(cat ../../data/defaults.toml | tomlq -r .kernel_version)
gpg2 --locate-keys torvalds@kernel.org gregkh@kernel.org
curl -OL https://www.kernel.org/pub/linux/kernel/v6.x/linux-${KERNEL_VER}.tar.xz
curl -OL https://www.kernel.org/pub/linux/kernel/v6.x/linux-${KERNEL_VER}.tar.sign
xz -cd linux-${KERNEL_VER}.tar.xz | gpg2 --verify linux-${KERNEL_VER}.tar.sign -
if [ $? -ne 0 ]; then
exit 1
fi
# Unpack Kernel source
tar xf linux-${KERNEL_VER}.tar.xz
ln -s linux-${KERNEL_VER} linux
# ... Build Kernel
./build-kernel.sh
'''],
// Firmware
['name': 'linux-firmware', 'scmCommit': '20240610',
'scmUrl': 'https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git',
'buildCmd': 'cd ..; ./build-linux-firmware.sh'],
// Accel-PPP
['name': 'accel-ppp', 'scmCommit': '1.13.0',
'scmUrl': 'https://github.com/accel-ppp/accel-ppp.git',
'buildCmd': 'cd ..; pwd; ls -al; ./build-accel-ppp.sh'],
// Intel QAT
['name': 'qat', 'buildCmd': 'cd ..; ./build-intel-qat.sh'],
// Intel IXGBE
['name': 'ixgbe', 'buildCmd': 'cd ..; ./build-intel-ixgbe.sh'],
// Intel IXGBEVF
['name': 'ixgbevf', 'buildCmd': 'cd ..; ./build-intel-ixgbevf.sh'],
// Mellanox OFED
['name': 'ofed', 'buildCmd': 'cd ..; ./build-mellanox-ofed.sh'],
// Jool
['name': 'jool', 'buildCmd': 'cd ..; ./build-jool.py'],
// OpenVPN DCO
['name': 'ovpn-dco','scmCommit': 'v0.2.20231117',
'scmUrl': 'https://github.com/OpenVPN/ovpn-dco',
'buildCmd': 'cd ..; ./build-openvpn-dco.sh'],
// RTSP netfilter helper
['name': 'nat-rtsp', 'scmCommit': '475af0a',
'scmUrl': 'https://github.com/maru-sama/rtsp-linux.git',
'buildCmd': 'cd ..; ./build-nat-rtsp.sh'],
]
// Start package build using library function from https://github.com/vyos/vyos-build
buildPackage('Kernel', pkgList, null, true, "**/packages/linux-kernel/**")
|