# Contributor: Ɓukasz Jendrysik # Contributor: William Pitcock # Contributor: Jakub Jirutka # Maintainer: Natanael Copa pkgname=lxc pkgver=2.0.5 _pkgver=${pkgver/_rc/.rc} pkgrel=1 pkgdesc="Userspace interface for the Linux kernel containment features" url="https://linuxcontainers.org/lxc/" arch="all" license="GPL" depends="gzip" depends_dev="libcap-dev" makedepends="$depends_dev lvm2 util-linux automake autoconf libtool lua5.2-dev linux-headers bash tar docbook2x libseccomp-dev" options="suid" subpackages="$pkgname-dev $pkgname-doc $pkgname-lvm::noarch lua5.2-lxc:_lua52 $pkgname-download:_download:noarch $pkgname-templates::noarch $pkgname-libs" source="https://github.com/lxc/lxc/archive/lxc-$_pkgver.tar.gz version.patch lxc.initd lxc.conf download-template-tmpfs.patch alpine-template-mount-shm.patch alpine-template-keep-setfcap.patch " builddir="$srcdir/lxc-lxc-$_pkgver" _tmpldir="usr/share/lxc/templates" prepare() { default_prepare || return 1 ./autogen.sh } build() { cd "$builddir" LUA_VERSION=5.2 \ ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --disable-apparmor \ --enable-lua \ --with-lua-pc=lua5.2 \ --with-distro=alpine \ --disable-werror \ || return 1 make VERSION=$pkgver || return 1 } package() { cd "$builddir" make DESTDIR="$pkgdir" install || return 1 install -Dm755 "$srcdir"/lxc.initd "$pkgdir"/etc/init.d/lxc || return 1 install -d "$pkgdir"/var/lib/lxc # XXX: workaround for https://github.com/lxc/lxc/issues/1095. install -Dm644 "$srcdir"/lxc.conf "$pkgdir"/etc/lxc/lxc.conf || return 1 # Remove useless config for SysVinit. rm -r "$pkgdir"/etc/default } lvm() { pkgdesc="LVM support for LXC" depends="lvm2 util-linux lxc" mkdir "$subpkgdir" } _lua52() { pkgdesc="Lua 5.2 module for LXC" local dir; for dir in lib share; do mkdir -p "$subpkgdir"/usr/$dir || return 1 mv "$pkgdir"/usr/$dir/lua "$subpkgdir"/usr/$dir/ || return 1 done } _download() { pkgdesc="LXC container image downloader template" depends="$pkgname gnupg tar xz" mkdir -p "$subpkgdir"/$_tmpldir mv "$pkgdir"/$_tmpldir/lxc-download "$subpkgdir"/$_tmpldir/ } templates() { pkgdesc="Templates for LXC (except alpine and download)" depends="bash tar" mkdir -p "$subpkgdir"/$_tmpldir mv "$pkgdir"/$_tmpldir/* "$subpkgdir"/$_tmpldir/ || return 1 # Keep alpine template in the base package (doesn't need bash or GNU tar). mv "$subpkgdir"/$_tmpldir/lxc-alpine "$pkgdir"/$_tmpldir/ } dev() { default_dev || return 1 # fix abuild smartness mv "$subpkgdir"/usr/bin/lxc-config "$pkgdir"/usr/bin/ } md5sums="065cc7d4cc440156576ecd737c13568f lxc-2.0.5.tar.gz 79e90616b5049a472ccdcb5b1dcdd8b1 version.patch 8ffde5bd9bfec77d14a8013c780074ca lxc.initd 032d70c80d3380353223776a5bfe4014 lxc.conf e8fd932f3ec6d52d7b4c183fc58c0b24 download-template-tmpfs.patch 214082ef88454f810ace045a04f8a041 alpine-template-mount-shm.patch d3dd0f8bb55985f546b7e19095340643 alpine-template-keep-setfcap.patch" sha256sums="1f1c491b2ad5e74a85b8eb791ccac8128e6eaf5ddcc1323e9360997c030f7072 lxc-2.0.5.tar.gz b6d85fb23940d2511b3951de56b2532843c0e03ec1613548366361cc0c1a46b9 version.patch dc39d869a2a690f7dcc9186c2707ed6c7ae2cd5248a9c062f3cb0ce4de73295b lxc.initd 06c02a9d21c5160a00c0a92fac222850b97c04f830307692007f264d9344c474 lxc.conf 8cb638f927d51f05884439e6db15092e902a9c59ef830cbdcb07d88f5cff11e1 download-template-tmpfs.patch 3376e2facb877615908745c960626249888c10826c8086fc04ac3ee168772309 alpine-template-mount-shm.patch 8cd342e9cde7cf88a24a9f6edec4ddf1c396fbe93a9bb19a3a59f69c32a1086f alpine-template-keep-setfcap.patch" sha512sums="8e14036597fa3407c87fb92d13b40bbca9a646d27d817e0a9d20fe626625d6cf04a1df65b1a723391d41a311b9f4f3432b3213004892d64355fe0edc7858cb9f lxc-2.0.5.tar.gz e2ffcbf55447291a8434a4f37255c3a6a119bc4116c75d205006aa2b070bf6be28535cf6107bead14bbf64bf9fa415346ab544bd1c15e1add7d1c6380e6b2def version.patch 82c8cdae3cf39a00205bb38a87561ba5b603c046c2438bfd897fc5ee4a2d1d5fde0431cb471f51b2e92cb76f795832ea9cb2f7494e4d67e7131aae2a6d6c29b2 lxc.initd 5b83b0323e58bf00bd1e124c265729499cee97559b6fe18482962e3bed50d121b4c7a09f25cbce7b1e18d4234627bc4b4581ba2060e33cd022f105b4429cef01 lxc.conf b3b8c47a8594cefff58cef74efe9e6bf0dd8422a40289c4398ea34e61d04dd3d95c567e880a4b123df42ffac3fae179b63b130b357eb6659f73f922f2908d971 download-template-tmpfs.patch 9f81565c5812419f4b42e7cd9fe9f7c6082647df0b1ad3ae862049ea42afdcc9bac210ea5a5f192095b0b6951499669387dc6bf4a22809d75e976a4bf28c38f9 alpine-template-mount-shm.patch 965b21cb2e47e704ffe7ff9c3566a4710cdc5e6613bd3533a0a93d5b46ea42327f07eeb6420779cc14c632c7e2c8a487a1d0c000b2797c8c64553ef5a56fbb92 alpine-template-keep-setfcap.patch"