summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD80
1 files changed, 80 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..29914cef54de
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,80 @@
+# Maintainer: Joan Bruguera Micó <joanbrugueram@gmail.com>
+pkgname=sysbox-ce-git
+pkgver=r1500.4c3c20b
+miscfiles_pkgver=0.4.1
+pkgrel=1
+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.debian-buster_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=('bd96866b52821338a859586f5e5bbf6954d56181e9ef77ab0fb9d05127e9bf97'
+ '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: Operation without userns-remap')
+
+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/{}" \; )
+}