diff options
author | Christian Poessinger <christian@poessinger.com> | 2022-08-22 18:33:29 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2022-08-22 18:33:29 +0200 |
commit | cd39df21a0984e65cd4d898ae25cd595549c064b (patch) | |
tree | defc1134c2d3ef68813a1765658c213d23e80941 | |
parent | 31c3bc2f115c591f6e2be499a0a69c6cdf250134 (diff) | |
download | vyos-build-cd39df21a0984e65cd4d898ae25cd595549c064b.tar.gz vyos-build-cd39df21a0984e65cd4d898ae25cd595549c064b.zip |
podman: T4637: add custom build
-rw-r--r-- | packages/podman/.gitignore | 1 | ||||
-rw-r--r-- | packages/podman/Jenkinsfile | 30 | ||||
-rwxr-xr-x | packages/podman/build.sh | 36 |
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 .. |