diff --git a/README.md b/README.md index 67c925a..32f8e6b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ```bash git clone git@gitlab.com:alliedmaldives/ops/podmanbuilder.git cd podmanbuilder -docker compose run --rm podman-builder /bin/bash -c 'bash /root/buildscript.sh' +./build.sh ``` - you should have the .deb file in a folder called 'build' diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..2da948f --- /dev/null +++ b/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash + + +docker compose -f ubuntu-docker-compose.yml\ + run --rm podman-builder \ + /bin/bash -c 'bash /root/pomanbin-build.sh' + +docker compose -f debian-docker-compose.yml\ + run --rm podman-builder \ + /bin/bash -c 'bash /root/podmandeb-build.sh' diff --git a/debian-docker-compose.yml b/debian-docker-compose.yml new file mode 100644 index 0000000..b126b0b --- /dev/null +++ b/debian-docker-compose.yml @@ -0,0 +1,11 @@ +version: '3.5' +services: +######################### + podman-builder: + hostname: podman-builder + image: debian + working_dir: /root/ + volumes: + - ./build:/root/build + - ./podmandeb-build.sh:/root/podmandeb-build.sh + command: bash /root/podmandeb-build.sh diff --git a/buildscript.sh b/podmandeb-build.sh similarity index 65% rename from buildscript.sh rename to podmandeb-build.sh index 0c33ae4..1f7156d 100644 --- a/buildscript.sh +++ b/podmandeb-build.sh @@ -4,42 +4,42 @@ cd /root/ apt update apt upgrade -y -apt-get install -y \ - btrfs-progs \ - crun \ - git \ - golang-go \ - go-md2man \ - 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 \ - uidmap - +#apt-get install -y \ +# btrfs-progs \ +# crun \ +# git \ +# golang-go \ +# go-md2man \ +# 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 \ +# uidmap +# apt install -y jq wget curl make - +# VERSION=$(curl -s https://api.github.com/repos/containers/podman/releases/latest | jq '.name' -r) export VERSION - -git clone https://github.com/containers/podman.git podman-$VERSION -cd podman-$VERSION -git checkout tags/$VERSION - -make ENABLE_BUILDTAGS="systemd" binaries +# +#git clone https://github.com/containers/podman.git podman-$VERSION +#cd podman-$VERSION +#git checkout tags/$VERSION +# +#make ENABLE_BUILDTAGS="systemd" binaries -cp -vr bin/ .. -cd .. +cp -vr build/ bin/ +#cd .. VERSION=$(echo $VERSION | sed s/v//) ## PREPARE to package into .deb @@ -93,12 +93,11 @@ WantedBy=sockets.target EOF -cp -v bin/podman podman-deb/usr/local/bin/ -cp -v bin/podman-remote podman-deb/usr/local/bin/ -cp -v bin/quadlet podman-deb/usr/local/bin/ -cp -v bin/rootlessport podman-deb/usr/local/bin/ +cp -v build/bin/podman podman-deb/usr/local/bin/ +cp -v build/bin/podman-remote podman-deb/usr/local/bin/ +cp -v build/bin/quadlet podman-deb/usr/local/bin/ +cp -v build/bin/rootlessport podman-deb/usr/local/bin/ # ofc the permission chmod 755 podman-deb/usr/local/bin/* - dpkg-deb --build podman-deb build diff --git a/pomanbin-build.sh b/pomanbin-build.sh new file mode 100644 index 0000000..1771212 --- /dev/null +++ b/pomanbin-build.sh @@ -0,0 +1,105 @@ +#!/bin/bash + +cd /root/ + +apt update +apt upgrade -y +apt-get install -y \ + btrfs-progs \ + crun \ + git \ + golang-go \ + go-md2man \ + 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 \ + uidmap + +apt install -y jq wget curl make + +VERSION=$(curl -s https://api.github.com/repos/containers/podman/releases/latest | jq '.name' -r) +export VERSION + +git clone https://github.com/containers/podman.git podman-$VERSION +cd podman-$VERSION +git checkout tags/$VERSION + +make ENABLE_BUILDTAGS="systemd" binaries + +cp -vr bin/ ../build + +#cp -vr bin/ .. +#cd .. +# +#VERSION=$(echo $VERSION | sed s/v//) +### PREPARE to package into .deb +#mkdir -p podman-deb/DEBIAN +#mkdir -p podman-deb/usr/local/bin +#mkdir -p podman-deb/usr/lib/systemd/system/ +# +#cat < podman-deb/DEBIAN/control +#Package: podman +#Version: $VERSION +#Section: base +#Priority: optional +#Architecture: amd64 +#Maintainer: Shiham Abdul Rahman +#Description: Podman container engine +# Podman is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System. +# +#EOF +# +#cat < podman-deb/usr/lib/systemd/system/podman.service +#[Unit] +#Description=Podman API Service +#Requires=podman.socket +#After=podman.socket +#Documentation=man:podman-system-service(1) +#StartLimitIntervalSec=0 +# +#[Service] +#Delegate=true +#Type=exec +#KillMode=process +#Environment=LOGGING="--log-level=info" +#ExecStart=/usr/bin/podman $LOGGING system service +# +#[Install] +#WantedBy=default.target +# +#EOF +# +#cat < podman-deb/usr/lib/systemd/system/podman.socket +#[Unit] +#Description=Podman API Socket +#Documentation=man:podman-system-service(1) +# +#[Socket] +#ListenStream=%t/podman/podman.sock +#SocketMode=0660 +# +#[Install] +#WantedBy=sockets.target +# +#EOF +# +#cp -v bin/podman podman-deb/usr/local/bin/ +#cp -v bin/podman-remote podman-deb/usr/local/bin/ +#cp -v bin/quadlet podman-deb/usr/local/bin/ +#cp -v bin/rootlessport podman-deb/usr/local/bin/ +# +## ofc the permission +#chmod 755 podman-deb/usr/local/bin/* +# +#dpkg-deb --build podman-deb build diff --git a/docker-compose.yml b/ubuntu-docker-compose.yml similarity index 65% rename from docker-compose.yml rename to ubuntu-docker-compose.yml index bb951ea..0d9af50 100644 --- a/docker-compose.yml +++ b/ubuntu-docker-compose.yml @@ -7,5 +7,5 @@ services: working_dir: /root/ volumes: - ./build:/root/build - - ./buildscript.sh:/root/buildscript.sh - command: bash /root/buildscript.sh + - ./pomanbin-build.sh:/root/pomanbin-build.sh + command: bash /root/pomanbin-build.sh