# Maintainer: Joan Bruguera Micó pkgname=sysbox-ce-git pkgver=r1530.cf2cfe0 miscfiles_pkgver=0.5.0 pkgrel=3 pkgdesc="Container runtime with VM-like isolation (run Systemd, Docker, K8s in containers)" url="https://github.com/nestybox/sysbox" arch=('x86_64') license=('Apache') source=("https://downloads.nestybox.com/sysbox/releases/v${miscfiles_pkgver}/sysbox-ce_${miscfiles_pkgver}-0.linux_amd64.deb" "git+https://github.com/nestybox/sysbox.git" "git+https://github.com/nestybox/dockerfiles.git" "git+https://github.com/nestybox/sysbox-fs.git" "git+https://github.com/nestybox/fuse.git" "git+https://github.com/nestybox/sysbox-ipc.git" "git+https://github.com/nestybox/sysbox-libs.git" "git+https://github.com/nestybox/libseccomp.git" "git+https://github.com/nestybox/libseccomp-golang.git" "git+https://github.com/nestybox/sysbox-mgr.git" "git+https://github.com/nestybox/sysbox-runc.git") sha256sums=('eeacd9ae0e08ee5e5637e3b93e4f0cf78f20f9590ef2e7ab08347700682422f0' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP') install=install.sh provides=('sysbox-ce') conflicts=('sysbox-ce') depends=('rsync' 'fuse2') makedepends=('git' 'go' 'protobuf' 'protobuf-go') # Those next makedepends are not *actually* needed but the build process tries to launch them anyway makedepends+=('lsb-release' 'inetutils') optdepends=('shiftfs: For uid-mapping on very old kernels without idmapped-mounts') pkgver() { cd sysbox printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" } prepare() { # Hook up submodules git -C sysbox submodule init git -C sysbox config submodule.sysbox-dockerfiles.url "$srcdir/dockerfiles" git -C sysbox config submodule.sysbox-fs.url "$srcdir/sysbox-fs" git -C sysbox config submodule.sysbox-ipc.url "$srcdir/sysbox-ipc" git -C sysbox config submodule.sysbox-libs.url "$srcdir/sysbox-libs" git -C sysbox config submodule.sysbox-mgr.url "$srcdir/sysbox-mgr" git -C sysbox config submodule.sysbox-runc.url "$srcdir/sysbox-runc" git -C sysbox submodule update git -C sysbox/sysbox-fs submodule init git -C sysbox/sysbox-fs config submodule.bazil.url "$srcdir/fuse" git -C sysbox/sysbox-fs submodule update git -C sysbox/sysbox-libs submodule init git -C sysbox/sysbox-libs config submodule.libseccomp.url "$srcdir/libseccomp" git -C sysbox/sysbox-libs config submodule.libseccomp-golang.url "$srcdir/libseccomp-golang" git -C sysbox/sysbox-libs submodule update # Get some non-binary files from the Debian package as they don't seem to be uploaded anywhere else mkdir -p data tar xf data.tar.xz -C data } build() { export CGO_CPPFLAGS="${CPPFLAGS}" export CGO_CFLAGS="${CFLAGS}" export CGO_CXXFLAGS="${CXXFLAGS}" export CGO_LDFLAGS="${LDFLAGS}" export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" make -C sysbox sysbox-local } package() { make -C sysbox DESTDIR="${pkgdir}/usr/bin" install cd "data" (cd usr/lib/modules-load.d && find . -type f -exec install -Dm644 "{}" "${pkgdir}/usr/lib/modules-load.d/{}" \; ) (cd lib/sysctl.d && find . -type f -exec install -Dm644 "{}" "${pkgdir}/usr/lib/sysctl.d/{}" \; ) (cd lib/systemd && find . -type f -exec install -Dm644 "{}" "${pkgdir}/usr/lib/systemd/{}" \; ) (cd usr/share/doc && find . -type f -exec install -Dm644 "{}" "${pkgdir}/usr/share/doc/{}" \; ) }