public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alex Brandt" <alunduil@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/lxd/files/, app-emulation/lxd/
Date: Sat,  5 Sep 2015 21:49:57 +0000 (UTC)	[thread overview]
Message-ID: <1441489717.dc04154e0238085235132f4e4346d8934482ff8a.alunduil@gentoo> (raw)

commit:     dc04154e0238085235132f4e4346d8934482ff8a
Author:     Alex Brandt <alunduil <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  5 21:48:37 2015 +0000
Commit:     Alex Brandt <alunduil <AT> gentoo <DOT> org>
CommitDate: Sat Sep  5 21:48:37 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc04154e

app-emulation/lxd: add version 0.16

submitted by Erik Mackdanz

Package-Manager: portage-2.2.20.1

 app-emulation/lxd/Manifest                         |   1 +
 app-emulation/lxd/files/lxd-0.16-dont-go-get.patch |  15 ++
 .../lxd/files/lxd-0.16-nc-binary-name.patch        |  11 ++
 app-emulation/lxd/files/lxd-0.16.confd             |  23 +++
 app-emulation/lxd/files/lxd-0.16.initd             |  32 ++++
 app-emulation/lxd/lxd-0.16.ebuild                  | 164 +++++++++++++++++++++
 app-emulation/lxd/metadata.xml                     |  10 ++
 7 files changed, 256 insertions(+)

diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest
index 79b1749..6254714 100644
--- a/app-emulation/lxd/Manifest
+++ b/app-emulation/lxd/Manifest
@@ -1,2 +1,3 @@
 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
+DIST lxd-0.16.tar.bz2 2660683 SHA256 bbe2b7542af34c93c7509e9638016a420bfc1daf1f1f45a33fa3d379ae10f14f SHA512 856e5ea1920ec3025cbd308a8e2ef656393a149111a38188f749e7d42a41032d762009d85316815c3f18ac0907fa9380758ca48666b13e900c9bbdf809d57f1c WHIRLPOOL f4bbea69073f2cc0dce65e39d88cdf1a0fadd4629b5b42bdee7ab385df459f78a2e36619c40ace687be124fb8d59c0da043cb1a8195630b2d0a051ab53297b89

diff --git a/app-emulation/lxd/files/lxd-0.16-dont-go-get.patch b/app-emulation/lxd/files/lxd-0.16-dont-go-get.patch
new file mode 100644
index 0000000..fbfcf13
--- /dev/null
+++ b/app-emulation/lxd/files/lxd-0.16-dont-go-get.patch
@@ -0,0 +1,15 @@
+--- Makefile.orig	2015-09-03 10:08:26.921410426 -0500
++++ Makefile	2015-09-03 10:08:52.193408698 -0500
+@@ -12,12 +12,10 @@
+ 
+ .PHONY: default
+ default:
+-	go get -t -v -d ./... || true
+ 	go install -v ./...
+ 
+ .PHONY: client
+ client:
+-	go get -t -v -d ./...
+ 	go install -v ./lxc
+ 
+ # This only needs to be done when migrate.proto is actually changed; since we

diff --git a/app-emulation/lxd/files/lxd-0.16-nc-binary-name.patch b/app-emulation/lxd/files/lxd-0.16-nc-binary-name.patch
new file mode 100644
index 0000000..c81a3ed
--- /dev/null
+++ b/app-emulation/lxd/files/lxd-0.16-nc-binary-name.patch
@@ -0,0 +1,11 @@
+--- lxd/migration/rsync.go.orig	2015-08-21 12:05:15.098768663 -0500
++++ lxd/migration/rsync.go	2015-08-21 12:06:15.899764506 -0500
+@@ -73,7 +73,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", "-arvP", "--devices", "--partial", path, "localhost:/tmp/foo", "-e", rsyncCmd)
+ 	if err := cmd.Start(); err != nil {
+ 		return nil, nil, err

diff --git a/app-emulation/lxd/files/lxd-0.16.confd b/app-emulation/lxd/files/lxd-0.16.confd
new file mode 100644
index 0000000..c3e6e68
--- /dev/null
+++ b/app-emulation/lxd/files/lxd-0.16.confd
@@ -0,0 +1,23 @@
+LXD_OPTIONS=""
+
+# Group which owns the shared socket
+LXD_OPTIONS="${LXD_OPTIONS} --group lxd"
+
+
+
+# Enable cpu profiling into the specified file
+#LXD_OPTIONS="${LXD_OPTIONS} --cpuprofile ''"
+
+# Enable memory profiling into the specified file
+#LXD_OPTIONS="${LXD_OPTIONS} --memprofile ''"
+
+
+
+# Enables debug mode
+#LXD_OPTIONS="${LXD_OPTIONS} --debug"
+
+# For debugging, print a complete stack trace every n seconds
+#LXD_OPTIONS="${LXD_OPTIONS} --print-goroutines-every 5"
+
+# Enables verbose mode
+#LXD_OPTIONS="${LXD_OPTIONS} -v"

diff --git a/app-emulation/lxd/files/lxd-0.16.initd b/app-emulation/lxd/files/lxd-0.16.initd
new file mode 100644
index 0000000..2b75e51
--- /dev/null
+++ b/app-emulation/lxd/files/lxd-0.16.initd
@@ -0,0 +1,32 @@
+#!/sbin/runscript
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DAEMON=/usr/sbin/lxd
+PIDFILE=/run/lxd.pid
+
+depend() {
+    need cgmanager
+    need net
+}
+
+start() {
+    ebegin "Starting lxd server"
+
+    start-stop-daemon --start \
+		      --pidfile ${PIDFILE} \
+		      --exec ${DAEMON} \
+		      --background \
+		      --make-pidfile \
+		      -- \
+		      ${LXD_OPTIONS}
+
+    eend $?
+}
+
+stop() {
+    ebegin "Stopping lxd server"
+    start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE}
+    eend $?
+}

diff --git a/app-emulation/lxd/lxd-0.16.ebuild b/app-emulation/lxd/lxd-0.16.ebuild
new file mode 100644
index 0000000..cb20eba
--- /dev/null
+++ b/app-emulation/lxd/lxd-0.16.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="+criu +daemon +image +lvm nls test"
+
+# 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="
+	daemon? (
+		app-admin/cgmanager
+		app-arch/xz-utils
+		app-emulation/lxc[cgmanager]
+		net-analyzer/openbsd-netcat
+		net-misc/bridge-utils
+		virtual/acl
+		criu? (
+			sys-process/criu
+		)
+		image? (
+			app-crypt/gnupg
+			>=dev-lang/python-3.2
+		)
+		lvm? (
+			sys-fs/lvm2
+		)
+	)
+"
+
+# KNOWN ISSUES:
+# - Translations may not work.  I've been unsuccessful in forcing
+#   localized output.  Anyway, upstream (Canonical) doesn't install the
+#   message files.
+
+# TODO:
+# - since 0.15 gccgo is a supported compiler ('make gccgo').  It would
+#   be preferable for that support to go into the golang-build eclass not
+#   this package directly.
+
+src_prepare() {
+	cd "${S}/src/${EGO_PN}"
+
+	epatch "${FILESDIR}/${P}-dont-go-get.patch"
+
+	if use daemon; then
+		# Upstream requires the openbsd flavor of netcat (with -U), but
+		# Gentoo installs that with a renamed binary
+		epatch "${FILESDIR}/${P}-nc-binary-name.patch"
+	fi
+
+	# Warn on unhandled locale changes
+	l10n_find_plocales_changes po "" .po
+}
+
+src_compile() {
+	golang-build_src_compile
+
+	cd "${S}/src/${EGO_PN}"
+
+	if use daemon; then
+		# Build binaries
+		GOPATH="${S}:$(get_golibdir_gopath)" emake
+	else
+		# build client tool
+		GOPATH="${S}:$(get_golibdir_gopath)" emake client
+	fi
+
+	use nls && emake build-mo
+}
+
+src_test() {
+	if use daemon; then
+		# Go native tests should succeed
+		golang-build_src_test
+	fi
+}
+
+src_install() {
+	# Installs all src,pkg to /usr/lib/go-gentoo
+	golang-build_src_install
+
+	cd "${S}"
+	dobin bin/lxc
+	if use daemon; then
+		dobin bin/fuidshift
+
+		dosbin bin/lxd
+	fi
+
+	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
+
+	if use daemon; then
+		newinitd "${FILESDIR}"/${P}.initd lxd
+		newconfd "${FILESDIR}"/${P}.confd lxd
+
+		systemd_dounit "${FILESDIR}"/lxd.service
+	fi
+
+	newbashcomp config/bash/lxc.in lxc
+
+	dodoc AUTHORS CONTRIBUTING.md README.md
+
+	docinto specs
+	dodoc specs/*
+}
+
+pkg_postinst() {
+	einfo
+	einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
+	einfo "including a Quick Start."
+
+	# The messaging below only applies to daemon installs
+	use daemon || return 0
+
+	# 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)
+
+	if test -n "${REPLACING_VERSIONS}"; then
+		einfo
+		einfo "If you are upgrading from version 0.14 or older, note that the --tcp"
+		einfo "is no longer available in /etc/conf.d/lxd.  Instead, configure the"
+		einfo "listen address/port by setting the core.https_address profile option."
+	fi
+}

diff --git a/app-emulation/lxd/metadata.xml b/app-emulation/lxd/metadata.xml
index 3ee6854..c49dbec 100644
--- a/app-emulation/lxd/metadata.xml
+++ b/app-emulation/lxd/metadata.xml
@@ -19,8 +19,18 @@
 		<remote-id type="github">lxc/lxd</remote-id>
 	</upstream>
 	<use>
+		<flag name="criu">
+			Add support for live-migrateable containers
+		</flag>
+		<flag name="daemon">
+			Build the system daemon, not just the client tool
+		</flag>
 		<flag name="image">
 			Installs the lxd-images image-fetching script
 		</flag>
+		<flag name="lvm">
+			Allow using the Logical Volume Manager as pool
+			for disk image storage
+		</flag>
 	</use>
 </pkgmetadata>


             reply	other threads:[~2015-09-05 21:50 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-05 21:49 Alex Brandt [this message]
  -- strict thread matches above, loose matches on Subject: below --
2015-10-18  5:21 [gentoo-commits] repo/gentoo:master commit in: app-emulation/lxd/files/, app-emulation/lxd/ Erik Mackdanz
2015-10-18  5:26 Erik Mackdanz
2015-11-12 15:56 Erik Mackdanz
2015-11-27 18:05 Erik Mackdanz
2015-12-12  5:41 Erik Mackdanz
2016-01-25  0:07 Erik Mackdanz
2016-02-03 23:53 Erik Mackdanz
2016-02-19  3:12 Erik Mackdanz
2016-02-20 14:37 Erik Mackdanz
2016-02-28 18:03 Erik Mackdanz
2016-03-08  9:43 Erik Mackdanz
2016-04-14  3:46 Erik Mackdanz
2016-06-13 15:42 Erik Mackdanz
2016-07-12 23:54 Erik Mackdanz
2016-07-12 23:57 Erik Mackdanz
2016-09-15  3:13 Erik Mackdanz
2016-10-29  4:32 Erik Mackdanz
2017-01-03 14:04 Erik Mackdanz
2017-08-19 13:45 Patrice Clement
2017-09-24 11:18 Agostino Sarubbo
2017-09-24 11:18 Agostino Sarubbo
2018-04-08 20:05 Erik Mackdanz
2018-05-21  1:29 Erik Mackdanz
2018-07-03 12:23 Virgil Dupras
2018-10-13 22:47 Erik Mackdanz
2018-10-14  4:36 Erik Mackdanz
2019-09-09  2:58 Erik Mackdanz
2020-05-15  5:20 Joonas Niilola
2020-08-12 13:03 Joonas Niilola
2020-10-26  6:30 Joonas Niilola

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1441489717.dc04154e0238085235132f4e4346d8934482ff8a.alunduil@gentoo \
    --to=alunduil@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox