diff options
author | Christian Breunig <christian@breunig.cc> | 2024-07-22 22:01:45 +0200 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2024-07-23 08:03:07 +0200 |
commit | a9baaaba16124f847911eeceaff3dbf17f397aeb (patch) | |
tree | b38232137d481e22e07f8554d02e1e37d46424c5 | |
parent | d07b978408143ed9cc13742258f6e9731714f95f (diff) | |
download | vyos-build-a9baaaba16124f847911eeceaff3dbf17f397aeb.tar.gz vyos-build-a9baaaba16124f847911eeceaff3dbf17f397aeb.zip |
podman: T6598: add custom podman build for version 4.9.5
-rw-r--r-- | data/live-build-config/archives/trixie.list.chroot | 2 | ||||
-rw-r--r-- | data/live-build-config/archives/trixie.pref.chroot | 15 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/18-enable-disable_services.chroot | 3 | ||||
-rw-r--r-- | packages/podman/.gitignore | 1 | ||||
-rw-r--r-- | packages/podman/Jenkinsfile | 31 | ||||
-rwxr-xr-x | packages/podman/build.sh | 31 |
6 files changed, 63 insertions, 20 deletions
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 1e6803c3..00000000 --- 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 d1016081..00000000 --- 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 0732e597..26c7f094 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 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..cc787565 --- /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 <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.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 00000000..194a139a --- /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 <maintainers@vyos.net>" \ + --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 .. + |