summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2022-08-22 18:33:29 +0200
committerChristian Poessinger <christian@poessinger.com>2022-08-22 18:33:29 +0200
commitcd39df21a0984e65cd4d898ae25cd595549c064b (patch)
treedefc1134c2d3ef68813a1765658c213d23e80941
parent31c3bc2f115c591f6e2be499a0a69c6cdf250134 (diff)
downloadvyos-build-cd39df21a0984e65cd4d898ae25cd595549c064b.tar.gz
vyos-build-cd39df21a0984e65cd4d898ae25cd595549c064b.zip
podman: T4637: add custom build
-rw-r--r--packages/podman/.gitignore1
-rw-r--r--packages/podman/Jenkinsfile30
-rwxr-xr-xpackages/podman/build.sh36
3 files changed, 67 insertions, 0 deletions
diff --git a/packages/podman/.gitignore b/packages/podman/.gitignore
new file mode 100644
index 00000000..1055abad
--- /dev/null
+++ b/packages/podman/.gitignore
@@ -0,0 +1 @@
+podman/
diff --git a/packages/podman/Jenkinsfile b/packages/podman/Jenkinsfile
new file mode 100644
index 00000000..874dba0e
--- /dev/null
+++ b/packages/podman/Jenkinsfile
@@ -0,0 +1,30 @@
+// 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@current')_
+
+def pkgList = [
+ ['name': 'podman',
+ 'scmCommit': 'v4.2.0',
+ 'scmUrl': 'https://github.com/containers/podman',
+ 'buildCmd': 'cd ..; ./build.sh'],
+]
+
+// Start package build using library function from https://github.com/vyos/vyos-build
+buildPackage('podman', pkgList, null, true, "**/packages/podman/*")
diff --git a/packages/podman/build.sh b/packages/podman/build.sh
new file mode 100755
index 00000000..54ba7ca4
--- /dev/null
+++ b/packages/podman/build.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+CWD=$(pwd)
+set -e
+
+SRC=podman
+
+if [ ! -d ${SRC} ]; then
+ echo "${SRC} directory does not exists, please 'git clone'"
+ exit 1
+fi
+
+# Setup Go
+export PATH=/opt/go/bin:$PATH
+
+# Build Debian package
+cd ${SRC}
+version="$(git describe --tags | tr _ .)"
+echo "I: Build Debian $SRC Package"
+make
+
+install -m 0755 -d tmp/usr/bin
+install -m 0755 -d tmp/lib/systemd/system
+install -m 0755 bin/* tmp/usr/bin/
+install -m 0644 contrib/systemd/system/* tmp/lib/systemd/system
+
+rm *.deb
+fpm --input-type dir --output-type deb --name podman \
+ --maintainer "VyOS Package Maintainers <maintainers@vyos.net>" \
+ --description "engine to run OCI-based containers in Pods" \
+ --depends "libgpgme11,conmon (>= 2.0.18~), containernetworking-plugins (>= 0.8.7), golang-github-containers-common, crun, iptables" \
+ --architecture $(dpkg-architecture -qDEB_HOST_ARCH) \
+ --version $(git describe --tags | cut -c 2-) \
+ --url "https://github.com/containers/podman" \
+ --deb-compression gz -C tmp
+
+mv *.deb ..