diff options
author | Asterios Dimitriou | 2018-08-15 20:54:58 +0300 |
---|---|---|
committer | Asterios Dimitriou | 2018-08-15 21:35:53 +0300 |
commit | 12c9cadac8d697a39a265f9103c13de294e2365a (patch) | |
tree | 14c4dc585a015996ae93ccb9ec5b21f7b2c4c3c0 | |
download | aur-12c9cadac8d697a39a265f9103c13de294e2365a.tar.gz |
version lxd 3.4
without dqlite package dependency
-rw-r--r-- | .SRCINFO | 30 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | PKGBUILD | 89 | ||||
-rw-r--r-- | lxd.install | 9 | ||||
-rw-r--r-- | lxd.service | 15 | ||||
-rw-r--r-- | lxd.socket | 12 |
6 files changed, 156 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..e27ff7871280 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,30 @@ +pkgbase = lxd-git + pkgdesc = Daemon based on liblxc offering a REST API to manage containers + pkgver = 3.4.r0.520cea20 + pkgrel = 1 + url = https://github.com/lxc/lxd + arch = x86_64 + license = APACHE + makedepends = go-pie + makedepends = git + makedepends = patchelf + depends = lxc + depends = squashfs-tools + depends = dnsmasq + depends = libuv + optdepends = lvm2: for lvm2 support + optdepends = thin-provisioning-tools: for thin provisioning support + optdepends = btrfs-progs: for btrfs storage driver support + optdepends = ceph: for ceph storage driver support + conflicts = lxd + conflicts = lxd-lts + options = !strip + options = !emptydirs + source = lxd.service + source = lxd.socket + md5sums = ad8ad313898fac0487fcf9a3b9b926ea + md5sums = 1fb28d8dfe82af71d0675c8e9a0a7293 + +pkgname = lxd-git + install = lxd.install + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..72e8ffc0db8a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +* diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..ce98ead504ad --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,89 @@ +# Maintainer: Asterios Dimitriou <asterios@pci.gr> +# based on lxd package https://aur.archlinux.org/packages/lxd/ +# Contributor: Maikel Wever <maikelwever@gmail.com> +# Contributor: Benjamin Asbach <archlinux-aur.lxd@impl.it> + +pkgname=lxd-git +_pkgname=lxd +pkgver=3.4.r0.520cea20 +pkgrel=1 +pkgdesc="Daemon based on liblxc offering a REST API to manage containers" +arch=('x86_64') +url="https://github.com/lxc/lxd" +license=('APACHE') +conflicts=('lxd' 'lxd-lts') +provides=('lxd') +depends=('lxc' 'squashfs-tools' 'dnsmasq' 'libuv') +makedepends=('go-pie' 'git' 'tcl' 'patchelf') +optdepends=( + 'lvm2: for lvm2 support' + 'thin-provisioning-tools: for thin provisioning support' + 'btrfs-progs: for btrfs storage driver support' + 'ceph: for ceph storage driver support' +) +options=('!strip' '!emptydirs') +source=( + "lxd.service" + "lxd.socket" +) +_lxd=github.com/lxc/lxd + +md5sums=('ad8ad313898fac0487fcf9a3b9b926ea' + '1fb28d8dfe82af71d0675c8e9a0a7293') + +prepare() { + export GOPATH="${srcdir}/go" + mkdir -p "${GOPATH}" + # download the go package along with all of its go dependencies + go get -d -v "${_lxd}/lxd" +} + +pkgver() { + cd "${GOPATH}/src/${_lxd}" + printf "%s" "$(git describe --long | sed 's/^lxd-//;s/\([^-]*-\)g/r\1/;s/-/./g')" +} + +build() { + cd "${GOPATH}/src/${_lxd}" + make deps + export CGO_CFLAGS="-I${GOPATH}/deps/sqlite/ -I${GOPATH}/deps/dqlite/include/" + export CGO_LDFLAGS="-L${GOPATH}/deps/sqlite/.libs/ -L${GOPATH}/deps/dqlite/.libs/" + export LD_LIBRARY_PATH="${GOPATH}/deps/sqlite/.libs/:${GOPATH}/deps/dqlite/.libs/" + make +} + +package() { + go_bin_dir="${srcdir}/go/bin" + go_deps_dir="${srcdir}/go/deps" + install=lxd.install + mkdir -p "${pkgdir}/usr/bin" + mkdir -p "${pkgdir}/usr/lib/lxd" + mkdir -p "${pkgdir}/usr/share/doc/lxd" + mkdir -p "${pkgdir}/usr/share/bash-completion/completions" + install -p -m755 "${go_bin_dir}/"* "${pkgdir}/usr/bin" + patchelf --set-rpath "/usr/lib/lxd" "${pkgdir}/usr/bin/lxd" + cp --no-dereference --preserve=timestamps \ + "${go_deps_dir}/sqlite/.libs/"libsqlite3.so* \ + "${go_deps_dir}/dqlite/.libs/"libdqlite.so* \ + "${pkgdir}/usr/lib/lxd" + patchelf --set-rpath "/usr/lib/lxd" "${pkgdir}/usr/lib/lxd/libdqlite.so" + + # Package license + install -Dm644 "${srcdir}/go/src/${_lxd}/COPYING" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENCE" + + # systemd files + install -D -m644 "${srcdir}/lxd.service" \ + "${pkgdir}/usr/lib/systemd/system/lxd.service" + install -D -m644 "${srcdir}/lxd.socket" \ + "${pkgdir}/usr/lib/systemd/system/lxd.socket" + + # documentation + install -D -m644 "${srcdir}/go/src/${_lxd}/doc/"* \ + "${pkgdir}/usr/share/doc/lxd/" + + # Bash completions + install -p -m644 "${srcdir}/go/src/${_lxd}/scripts/bash/lxd-client" \ + "${pkgdir}/usr/share/bash-completion/completions/lxd-client" +} + +# vim:set ts=2 sw=2 et: diff --git a/lxd.install b/lxd.install new file mode 100644 index 000000000000..c79411345338 --- /dev/null +++ b/lxd.install @@ -0,0 +1,9 @@ +post_install() { + getent group lxd || groupadd lxd + echo "LXD allows everyone in the lxd group to talk to LXD." + echo "" + echo "LXD needs sub{u,g}ids for root, so that it can create unprivileged containers." + echo "Execute the following to set the sub{u,g}ids:" + echo "'echo \"root:1000000:65536\" | sudo tee -a /etc/subuid /etc/subgid'" + echo "" +} diff --git a/lxd.service b/lxd.service new file mode 100644 index 000000000000..f038cc1fe143 --- /dev/null +++ b/lxd.service @@ -0,0 +1,15 @@ +[Unit] +Description=Daemon based on liblxc offering a REST API to manage containers. +After=network.target + +[Service] +Type=simple +ExecStart=/usr/bin/lxd --group lxd +ExecStop=/usr/bin/lxd shutdown +KillMode=process +LimitNOFILE=1048576 +LimitNPROC=infinity +TasksMax=infinity + +[Install] +WantedBy=multi-user.target diff --git a/lxd.socket b/lxd.socket new file mode 100644 index 000000000000..b6737f962753 --- /dev/null +++ b/lxd.socket @@ -0,0 +1,12 @@ +[Unit] +Description=LXD - unix socket +After=network.target + +[Socket] +ListenStream=/var/lib/lxd/unix.socket +SocketMode=0660 +SocketUser=root +SocketGroup=lxd + +[Install] +WantedBy=sockets.target |