From ed79a9fa939fdba80eb004a79989153d51eeea88 Mon Sep 17 00:00:00 2001
From: Christian Breunig <christian@breunig.cc>
Date: Tue, 12 Mar 2024 16:38:39 +0100
Subject: radvd: T6118: add custom build support with recent source version

---
 packages/radvd/.gitignore  |  2 ++
 packages/radvd/Jenkinsfile | 30 ++++++++++++++++++++++++++++++
 packages/radvd/build.sh    | 29 +++++++++++++++++++++++++++++
 3 files changed, 61 insertions(+)
 create mode 100644 packages/radvd/.gitignore
 create mode 100644 packages/radvd/Jenkinsfile
 create mode 100755 packages/radvd/build.sh

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 ..
-- 
cgit v1.2.3