From a9baaaba16124f847911eeceaff3dbf17f397aeb Mon Sep 17 00:00:00 2001 From: Christian Breunig Date: Mon, 22 Jul 2024 22:01:45 +0200 Subject: [PATCH] podman: T6598: add custom podman build for version 4.9.5 --- .../archives/trixie.list.chroot | 2 -- .../archives/trixie.pref.chroot | 15 --------- .../live/18-enable-disable_services.chroot | 3 -- packages/podman/.gitignore | 1 + packages/podman/Jenkinsfile | 31 +++++++++++++++++++ packages/podman/build.sh | 31 +++++++++++++++++++ 6 files changed, 63 insertions(+), 20 deletions(-) delete mode 100644 data/live-build-config/archives/trixie.list.chroot delete mode 100644 data/live-build-config/archives/trixie.pref.chroot create mode 100644 packages/podman/.gitignore create mode 100644 packages/podman/Jenkinsfile create mode 100755 packages/podman/build.sh diff --git a/data/live-build-config/archives/trixie.list.chroot b/data/live-build-config/archives/trixie.list.chroot deleted file mode 100644 index 1e6803c3dd..0000000000 --- a/data/live-build-config/archives/trixie.list.chroot +++ /dev/null @@ -1,2 +0,0 @@ -deb http://deb.debian.org/debian/ trixie main -deb http://deb.debian.org/debian/ trixie-updates main diff --git a/data/live-build-config/archives/trixie.pref.chroot b/data/live-build-config/archives/trixie.pref.chroot deleted file mode 100644 index d101608109..0000000000 --- a/data/live-build-config/archives/trixie.pref.chroot +++ /dev/null @@ -1,15 +0,0 @@ -Package: podman -Pin: version 4.9.4* -Pin-Priority: 900 - -Package: netavark -Pin: release n=trixie -Pin-Priority: 900 - -Package: libgpgme11t64 -Pin: release n=trixie -Pin-Priority: 900 - -Package: * -Pin: release n=trixie -Pin-Priority: -10 diff --git a/data/live-build-config/hooks/live/18-enable-disable_services.chroot b/data/live-build-config/hooks/live/18-enable-disable_services.chroot index 0732e5972b..26c7f09494 100755 --- a/data/live-build-config/hooks/live/18-enable-disable_services.chroot +++ b/data/live-build-config/hooks/live/18-enable-disable_services.chroot @@ -62,9 +62,6 @@ systemctl disable dnsdist.service systemctl disable haproxy.service systemctl disable owamp-server.service systemctl disable twamp-server.service -systemctl disable podman-auto-update.service -systemctl disable podman-auto-update.timer -systemctl disable podman-restart.service systemctl disable vyos-wan-load-balance.service systemctl disable nvmf-autoconnect.service systemctl disable dpkg-db-backup.timer diff --git a/packages/podman/.gitignore b/packages/podman/.gitignore new file mode 100644 index 0000000000..1055abad27 --- /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 0000000000..cc78756587 --- /dev/null +++ b/packages/podman/Jenkinsfile @@ -0,0 +1,31 @@ +// 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 . + +@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.9.5', + '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 0000000000..194a139a3e --- /dev/null +++ b/packages/podman/build.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +set -x + +SRC=podman +if [ ! -d $SRC ]; then + echo "source directory $SRC does not exist!" + exit 1 +fi + +sudo apt-get install -y libseccomp-dev libgpgme-dev + +cd $SRC + +echo "I: installing dependencies" +make install.tools +echo "I: building podman" +make podman-release + +tar xf podman-release-$(dpkg --print-architecture).tar.gz +# retrieve version number from podman archive folder: podman-v4.9.5/ +# remove leading podman string +VERSION=$(ls -d podman-v* | cut -c9-) + +fpm --input-type dir --output-type deb --name podman \ + --version $VERSION --deb-compression gz \ + --maintainer "VyOS Package Maintainers " \ + --description "Engine to run OCI-based containers in Pods" \ + --depends conmon --depends crun --depends netavark \ + --license "Apache License 2.0" -C podman-v$VERSION --package .. +