Merge pull request #255 from c-po/equuleus

MACsec: T4537: add custom build for hostap package
This commit is contained in:
Christian Poessinger 2022-08-15 19:01:39 +02:00 committed by GitHub
commit d7125c5a53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 84 additions and 0 deletions

View File

@ -582,6 +582,20 @@ RUN apt-get update && apt-get install -y \
libtommath-dev \
libz-dev
# Packages needed for hostapd (wpa_supplicant)
RUN apt-get update && apt-get install -y \
libdbus-1-dev \
libssl-dev \
libncurses5-dev \
libpcsclite-dev \
libnl-3-dev \
libnl-genl-3-dev \
libnl-route-3-dev \
libreadline-dev \
pkg-config \
docbook-to-man \
docbook-utils
#
# fpm: a command-line program designed to help you build packages (e.g. deb)
#

6
packages/.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
*.udeb
*.deb
*.dsc
*.buildinfo
*.changes
*.git

2
packages/hostap/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
hostap/
wpa/

34
packages/hostap/Jenkinsfile vendored Normal file
View File

@ -0,0 +1,34 @@
// Copyright (C) 2022 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@equuleus')_
def pkgList = [
['name': 'wpa',
'scmCommit': 'debian/2%2.10-7',
'scmUrl': 'https://salsa.debian.org/debian/wpa',
'buildCmd': '/bin/true'],
['name': 'hostap',
'scmCommit': 'b704dc72ef824dfdd96674b90179b274d1d38105',
'scmUrl': 'git://w1.fi/srv/git/hostap.git',
'buildCmd': 'cd ..; ./build.sh'],
]
// Start package build using library function from https://github.com/vyos/vyos-build
buildPackage('hostap', pkgList, null, "**/packages/hostap/*")

28
packages/hostap/build.sh Executable file
View File

@ -0,0 +1,28 @@
#!/bin/sh
CWD=$(pwd)
set -e
SRC=hostap
SRC_DEB=wpa
if [ ! -d ${SRC} ]; then
echo "${SRC} directory does not exists, please 'git clone'"
exit 1
fi
if [ ! -d ${SRC_DEB} ]; then
echo "${SRC_DEB} directory does not exists, please 'git clone'"
exit 1
fi
echo "I: Copy Debian build instructions"
cp -a ${SRC_DEB}/debian ${SRC}
rm -rf ${SRC}/debian/patches
# Build Debian package
cd ${SRC}
echo "I: Create new Debian Package version"
version="$(git describe --tags | tr _ .)"
dch -v ${version:7} "New version to support AES-GCM-256 for MACsec" -b
echo "I: Build Debian hostap Package"
dpkg-buildpackage -us -uc -tc -b -Ppkg.wpa.nogui -d