app-emulation/lxd: add version 0.14
authorAlex Brandt <alunduil@gentoo.org>
Sun, 9 Aug 2015 20:47:22 +0000 (15:47 -0500)
committerAlex Brandt <alunduil@gentoo.org>
Sun, 9 Aug 2015 20:48:04 +0000 (15:48 -0500)
Submitted by Erik Mackdanz.

Package-Manager: portage-2.2.20

app-emulation/lxd/Manifest
app-emulation/lxd/files/lxd-0.14-nc-binary-name.patch [new file with mode: 0644]
app-emulation/lxd/files/lxd.initd
app-emulation/lxd/lxd-0.14.ebuild [new file with mode: 0644]

index fe7eddb1046eb54f050ed3c25b158950dbd86086..79b174919d7c60d11d40b0a499015f8c9fa7b490 100644 (file)
@@ -1 +1,2 @@
 DIST lxd-0.13.tar.bz2 3336161 SHA256 4228979ea9a856647f75f0230f58cc577c111a287f148787af766ab36c55f756 SHA512 12cd865ef63702674342df23ebb298b6ba39f0d44e9bfe91c643820be06ff30910145388a4daa2d63fbcb53c236e3cd4eb84e3e0bc617c85247322b0024c4920 WHIRLPOOL 82e788e9b35429df308d498955bd0cab06eb7d1a09c0a20bddad78490900b2cb78a44da9970db149ebfda546250a1d5aa2204e5f6f98b81a228310bfee3003a7
+DIST lxd-0.14.tar.bz2 2526939 SHA256 c0c51ac5b3d30c7906323eba965011073b412a3c354ce095e46f14df4298c46c SHA512 d3f9eb38cdf71add270c895c1583dab85b0e0dba0d956900628b519881b41582113d6c25d37b9522493de069ad6a43b197ae895aefeb83391337273a4b60953e WHIRLPOOL 2b9c6931b81df7e60b13e35bfcd5272a46fb29377e11f6326616f55bf6c583db7be82d41273369518e9b9e434bee3b30f989b6816cd8dbdd40cc2cc1effac7b4
diff --git a/app-emulation/lxd/files/lxd-0.14-nc-binary-name.patch b/app-emulation/lxd/files/lxd-0.14-nc-binary-name.patch
new file mode 100644 (file)
index 0000000..40e1224
--- /dev/null
@@ -0,0 +1,11 @@
+--- lxd/migration/rsync.go.orig        2015-07-11 09:33:18.012425011 -0500
++++ lxd/migration/rsync.go     2015-07-11 09:33:34.881423857 -0500
+@@ -84,7 +84,7 @@
+        * command (i.e. the command to run on --server). However, we're
+        * hardcoding that at the other end, so we can just ignore it.
+        */
+-      rsyncCmd := fmt.Sprintf("sh -c \"nc -U %s\"", f.Name())
++      rsyncCmd := fmt.Sprintf("sh -c \"nc.openbsd -U %s\"", f.Name())
+       cmd := exec.Command("rsync", "-arvPz", "--devices", "--partial", path, "localhost:/tmp/foo", "-e", rsyncCmd)
+       if err := cmd.Start(); err != nil {
+               return nil, nil, err
index fa72002fcc9a01130e4bad404008c08ebdfaf848..2c50c78e609b752506fb50d0ade01daff92a4d51 100644 (file)
@@ -1,7 +1,7 @@
 #!/sbin/runscript
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Id$
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/lxd/files/lxd.initd,v 1.1 2015/07/19 20:36:34 alunduil Exp $
 
 DAEMON=/usr/sbin/lxd
 PIDFILE=/run/lxd.pid
diff --git a/app-emulation/lxd/lxd-0.14.ebuild b/app-emulation/lxd/lxd-0.14.ebuild
new file mode 100644 (file)
index 0000000..7ba3a8e
--- /dev/null
@@ -0,0 +1,137 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/lxd/lxd-0.13.ebuild,v 1.1 2015/07/19 20:36:34 alunduil Exp $
+
+EAPI=5
+
+DESCRIPTION="Fast, dense and secure container management"
+HOMEPAGE="https://linuxcontainers.org/lxd/introduction/"
+EGO_PN_PARENT="github.com/lxc"
+EGO_PN="${EGO_PN_PARENT}/lxd"
+SRC_URI="http://961db08fe45d5f5dd062-b8a7a040508aea6d369676e49b80719d.r29.cf2.rackcdn.com/${P}.tar.bz2"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+PLOCALES="de fr ja"
+IUSE="nls test +image"
+
+# IUSE and PLOCALES must be defined before l10n inherited
+inherit bash-completion-r1 eutils golang-build l10n systemd user vcs-snapshot
+
+DEPEND="
+       dev-go/go-crypto
+       >=dev-lang/go-1.4.2:=
+       dev-libs/protobuf
+       dev-vcs/git
+       nls? ( sys-devel/gettext )
+       test? (
+               app-misc/jq
+               dev-db/sqlite
+               net-misc/curl
+               sys-devel/gettext
+       )
+"
+
+RDEPEND="
+       app-admin/cgmanager
+       app-arch/xz-utils
+       app-emulation/lxc[cgmanager]
+       net-analyzer/openbsd-netcat
+       net-misc/bridge-utils
+       virtual/acl
+       image? (
+               app-crypt/gnupg
+               >=dev-lang/python-3.2
+       )
+"
+
+# KNOWN ISSUES:
+# - Translations may not work.  I've been unsuccessful in forcing
+#   localized output.  Anyway, upstream (Canonical) doesn't install the
+#   message files.
+
+src_prepare() {
+       cd "${S}/src/${EGO_PN}"
+
+       # Upstream requires the openbsd flavor of netcat (with -U), but
+       # Gentoo installs that with a renamed binary
+       epatch "${FILESDIR}/${P}-nc-binary-name.patch"
+
+       # Warn on unhandled locale changes
+       l10n_find_plocales_changes po "" .po
+}
+
+src_compile() {
+       golang-build_src_compile
+
+       cd "${S}/src/${EGO_PN}"
+
+       # Build binaries
+       GOPATH="${S}" emake
+
+       use nls && emake build-mo
+}
+
+src_test() {
+       # Go native tests should succeed
+       golang-build_src_test
+}
+
+src_install() {
+       # Installs all src,pkg to /usr/lib/go-gentoo
+       golang-build_src_install
+
+       cd "${S}"
+
+       dobin bin/fuidshift
+       dobin bin/lxc
+
+       dosbin bin/lxd
+
+       cd "src/${EGO_PN}"
+
+       use image && dobin scripts/lxd-images
+
+       if use nls; then
+               for lingua in ${PLOCALES}; do
+                       if use linguas_${lingua}; then
+                               domo po/${lingua}.mo
+                       fi
+               done
+       fi
+
+       newinitd "${FILESDIR}"/lxd.initd lxd
+       newconfd "${FILESDIR}"/lxd.confd lxd
+
+       systemd_dounit "${FILESDIR}"/lxd.service
+
+       newbashcomp config/bash/lxc.in lxc
+
+       dodoc AUTHORS CONTRIBUTING.md README.md
+
+       docinto specs
+       dodoc specs/*
+}
+
+pkg_config() {
+       if brctl show lxcbr0 2>&1 | grep "No such device" >/dev/null; then
+               brctl addbr lxcbr0
+       fi
+}
+
+pkg_postinst() {
+       # The control socket will be owned by (and writeable by) this group.
+       enewgroup lxd
+
+       # Ubuntu also defines an lxd user but it appears unused (the daemon
+       # must run as root)
+
+       # precedent: sys-libs/timezone-data
+       pkg_config
+
+       einfo
+       einfo "To interact with the service as a non-root user, add yourself to the"
+       einfo "lxd group.  This requires you to log out and log in again."
+       einfo
+}