summaryrefslogtreecommitdiff
path: root/packages/linux-kernel/Jenkinsfile
blob: ba4a5a1c7d770bc3fdea13d55ae2fe3106e4ea9a (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
// 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': '20231211',
     '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/**")