aboutsummaryrefslogtreecommitdiffstats
path: root/main/lxc/APKBUILD
blob: 4ed40c302f91b835c4bf5fd4ad8c62f31ea4c27a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
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 lua5.2-lxc:_lua52
	$pkgname-download:_download $pkgname-templates $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"
	arch="noarch"

	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"
	arch="noarch"
	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)"
	arch="noarch"
	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"