summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/defaults.json2
-rw-r--r--docker/Dockerfile28
-rw-r--r--packages/podman/.gitignore1
-rw-r--r--packages/podman/Jenkinsfile30
-rwxr-xr-xpackages/podman/build.sh36
5 files changed, 91 insertions, 6 deletions
diff --git a/data/defaults.json b/data/defaults.json
index 08fb9d1d..42c6d623 100644
--- a/data/defaults.json
+++ b/data/defaults.json
@@ -5,7 +5,7 @@
"debian_distribution": "bullseye",
"vyos_mirror": "http://dev.packages.vyos.net/repositories/current",
"vyos_branch": "current",
- "kernel_version": "5.10.136",
+ "kernel_version": "5.10.137",
"kernel_flavor": "amd64-vyos",
"release_train": "sagitta",
"bootloaders": "syslinux,grub-efi",
diff --git a/docker/Dockerfile b/docker/Dockerfile
index eaed47ef..f1fac187 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -355,13 +355,10 @@ RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \
# Go required for validators and vyos-xe-guest-utilities
RUN GO_VERSION_INSTALL="1.18.3" ; \
- if [ "$ARCH" = "arm64v8" ] ; then \
- wget -O /tmp/go${GO_VERSION_INSTALL}.linux-arm64.tar.gz https://go.dev/dl/go${GO_VERSION_INSTALL}.linux-arm64.tar.gz ; \
- else \
- wget -O /tmp/go${GO_VERSION_INSTALL}.linux-amd64.tar.gz https://go.dev/dl/go${GO_VERSION_INSTALL}.linux-amd64.tar.gz ; \
- fi && \
+ wget -O /tmp/go${GO_VERSION_INSTALL}.linux-amd64.tar.gz https://go.dev/dl/go${GO_VERSION_INSTALL}.linux-$(dpkg-architecture -qDEB_HOST_ARCH).tar.gz ; \
tar -C /opt -xzf /tmp/go*.tar.gz && \
rm /tmp/go*.tar.gz
+RUN echo "export PATH=/opt/go/bin:$PATH" >> /etc/bash.bashrc
# Packages needed for ipaddrcheck
RUN apt-get update && apt-get install -y \
@@ -577,6 +574,27 @@ RUN apt-get update && apt-get install -y \
docbook-to-man \
docbook-utils
+# Packages needed for podman
+RUN apt-get update && sudo apt-get install -y \
+ btrfs-progs \
+ git \
+ iptables \
+ libassuan-dev \
+ libbtrfs-dev \
+ libc6-dev \
+ libdevmapper-dev \
+ libglib2.0-dev \
+ libgpgme-dev \
+ libgpg-error-dev \
+ libprotobuf-dev \
+ libprotobuf-c-dev \
+ libseccomp-dev \
+ libselinux1-dev \
+ libsystemd-dev \
+ pkg-config \
+ runc \
+ uidmap
+
#
# fpm: a command-line program designed to help you build packages (e.g. deb)
#
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 ..