summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-03-12 16:38:39 +0100
committerChristian Breunig <christian@breunig.cc>2024-03-12 16:38:39 +0100
commited79a9fa939fdba80eb004a79989153d51eeea88 (patch)
tree0bad1eb9e7491d1fbf9bcada72245b536fc1f9f2
parent330ee19eeb56b68ea666e3586d18f91164143d9f (diff)
downloadvyos-build-ed79a9fa939fdba80eb004a79989153d51eeea88.tar.gz
vyos-build-ed79a9fa939fdba80eb004a79989153d51eeea88.zip
radvd: T6118: add custom build support with recent source version
-rw-r--r--packages/radvd/.gitignore2
-rw-r--r--packages/radvd/Jenkinsfile30
-rwxr-xr-xpackages/radvd/build.sh29
3 files changed, 61 insertions, 0 deletions
diff --git a/packages/radvd/.gitignore b/packages/radvd/.gitignore
new file mode 100644
index 00000000..142acc2d
--- /dev/null
+++ b/packages/radvd/.gitignore
@@ -0,0 +1,2 @@
+radvd/
+*.deb
diff --git a/packages/radvd/Jenkinsfile b/packages/radvd/Jenkinsfile
new file mode 100644
index 00000000..410cc9a2
--- /dev/null
+++ b/packages/radvd/Jenkinsfile
@@ -0,0 +1,30 @@
+// Copyright (C) 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 = [
+ ['name': 'radvd',
+ 'scmCommit': 'f2de4764559',
+ 'scmUrl': 'https://github.com/radvd-project/radvd',
+ 'buildCmd': 'cd...; ./build.sh'],
+]
+
+// Start package build using library function from https://github.com/vyos/vyos-build
+buildPackage('radvd', pkgList, null, true, "**/packages/radvd/**")
diff --git a/packages/radvd/build.sh b/packages/radvd/build.sh
new file mode 100755
index 00000000..36057e27
--- /dev/null
+++ b/packages/radvd/build.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+SRC=radvd
+if [ ! -d $SRC ]; then
+ echo "source directory $SRC does not exist!"
+ echo "$ git clone https://github.com/radvd-project/radvd"
+ exit 1
+fi
+cd $SRC
+
+INSTALL_DIR=debian
+if [ -d $INSTALL_DIR ]; then
+ rm -rf $INSTALL_DIR
+fi
+
+./autogen.sh
+./configure
+make
+
+install --directory debian/lib/systemd/system debian/usr/sbin
+install --mode 0644 radvd.service debian/lib/systemd/system
+install --strip --mode 0755 radvd debian/usr/sbin
+
+# Version' field value 'v0.14-20-g613277f': version number does not start with digit
+# "cut" first character from version string
+fpm --input-type dir --output-type deb --name radvd \
+ --version $(git describe --always | cut -c2- | tr _ -) --deb-compression gz \
+ --maintainer "VyOS Package Maintainers <maintainers@vyos.net>" \
+ --description "RADVD router advertisement daemon" \
+ --license "RADVD" -C $INSTALL_DIR --package ..