aboutsummaryrefslogtreecommitdiffstats
path: root/main/lxc/APKBUILD
blob: 7b681ee34c4e01fc2aaac27a54e215287ba73893 (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
# 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.4
_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
	add_more_archs.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 \
		|| 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="d6140f9a02420bd944f548899550bdfa  lxc-2.0.4.tar.gz
79e90616b5049a472ccdcb5b1dcdd8b1  version.patch
8ffde5bd9bfec77d14a8013c780074ca  lxc.initd
032d70c80d3380353223776a5bfe4014  lxc.conf
e8fd932f3ec6d52d7b4c183fc58c0b24  download-template-tmpfs.patch
64baa87f8fad40667e634b81412f3830  add_more_archs.patch"
sha256sums="57d40234aeecf5b60fb29d563e5a09d6a04c89e1267eb22a6704388ac8573e7b  lxc-2.0.4.tar.gz
b6d85fb23940d2511b3951de56b2532843c0e03ec1613548366361cc0c1a46b9  version.patch
dc39d869a2a690f7dcc9186c2707ed6c7ae2cd5248a9c062f3cb0ce4de73295b  lxc.initd
06c02a9d21c5160a00c0a92fac222850b97c04f830307692007f264d9344c474  lxc.conf
8cb638f927d51f05884439e6db15092e902a9c59ef830cbdcb07d88f5cff11e1  download-template-tmpfs.patch
872e93155834e1ccf8861458aefc9765142da95bb09b05172dd3ebc4a755e038  add_more_archs.patch"
sha512sums="3f985bba5aaa8a70f0329316ea4f42ab135d58c47611154c62e103718212a4b2c5e4f25fd45c372424db1fbf40afdc8269ae98655fb3bc8e31085a5d948f702b  lxc-2.0.4.tar.gz
e2ffcbf55447291a8434a4f37255c3a6a119bc4116c75d205006aa2b070bf6be28535cf6107bead14bbf64bf9fa415346ab544bd1c15e1add7d1c6380e6b2def  version.patch
82c8cdae3cf39a00205bb38a87561ba5b603c046c2438bfd897fc5ee4a2d1d5fde0431cb471f51b2e92cb76f795832ea9cb2f7494e4d67e7131aae2a6d6c29b2  lxc.initd
5b83b0323e58bf00bd1e124c265729499cee97559b6fe18482962e3bed50d121b4c7a09f25cbce7b1e18d4234627bc4b4581ba2060e33cd022f105b4429cef01  lxc.conf
b3b8c47a8594cefff58cef74efe9e6bf0dd8422a40289c4398ea34e61d04dd3d95c567e880a4b123df42ffac3fae179b63b130b357eb6659f73f922f2908d971  download-template-tmpfs.patch
6c9cbb7dc39a95e2eaa1000e11f445425b0a2b70d3bcb646a6781c7c7ec089d06e3a81259f9edf0a781cb9cb92059a9c883164c1e1c748949a122267cab2d811  add_more_archs.patch"