summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2022-08-15 19:01:39 +0200
committerGitHub <noreply@github.com>2022-08-15 19:01:39 +0200
commitd7125c5a53980033415b9c0a7355b05bd0850a5e (patch)
treeaf74eb195c839ed8abf684a776eb672c04e7735b
parentef2d77a9e0f03cb5a3340560aff6af70f90fea17 (diff)
parent39958cb82fe454fa745221a16a4ccabbfd33498c (diff)
downloadvyos-build-d7125c5a53980033415b9c0a7355b05bd0850a5e.tar.gz
vyos-build-d7125c5a53980033415b9c0a7355b05bd0850a5e.zip
Merge pull request #255 from c-po/equuleus
MACsec: T4537: add custom build for hostap package
-rw-r--r--docker/Dockerfile14
-rw-r--r--packages/.gitignore6
-rw-r--r--packages/hostap/.gitignore2
-rw-r--r--packages/hostap/Jenkinsfile34
-rwxr-xr-xpackages/hostap/build.sh28
5 files changed, 84 insertions, 0 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 2a339720..51a7780f 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -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)
#
diff --git a/packages/.gitignore b/packages/.gitignore
new file mode 100644
index 00000000..b630fc5a
--- /dev/null
+++ b/packages/.gitignore
@@ -0,0 +1,6 @@
+*.udeb
+*.deb
+*.dsc
+*.buildinfo
+*.changes
+*.git
diff --git a/packages/hostap/.gitignore b/packages/hostap/.gitignore
new file mode 100644
index 00000000..d0133c0d
--- /dev/null
+++ b/packages/hostap/.gitignore
@@ -0,0 +1,2 @@
+hostap/
+wpa/
diff --git a/packages/hostap/Jenkinsfile b/packages/hostap/Jenkinsfile
new file mode 100644
index 00000000..4930803f
--- /dev/null
+++ b/packages/hostap/Jenkinsfile
@@ -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/*")
diff --git a/packages/hostap/build.sh b/packages/hostap/build.sh
new file mode 100755
index 00000000..90b3358c
--- /dev/null
+++ b/packages/hostap/build.sh
@@ -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