diff options
-rw-r--r-- | data/defaults.json | 2 | ||||
-rw-r--r-- | docker/Dockerfile | 28 | ||||
-rw-r--r-- | packages/podman/.gitignore | 1 | ||||
-rw-r--r-- | packages/podman/Jenkinsfile | 30 | ||||
-rwxr-xr-x | packages/podman/build.sh | 36 |
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 .. |