forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: portage-2.3.0
- Loading branch information
Erik Mackdanz
committed
Sep 15, 2016
1 parent
b52d9b6
commit 621335b
Showing
5 changed files
with
256 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST lxd-2.0.3.tar.bz2 2349842 SHA256 fb8a56e08da776f5210970a12e61b2e7b751328b5628e6fbebde231952b907a9 SHA512 62ac76bee0ff151343d0686da9376ff16965af5de19b50055bad86461dc2dd8e06544ee39640537f8352ec03b584ed32cf70cce9c7c961285d9ea567c617330e WHIRLPOOL 60204498c0a104310ddb28e42ea8889830c2f0e8c830c683b51d5cdbc92380de7c7964961fc7a34b32c7cb4dccaa4222f017b0d8948f54d5044770c066141319 | ||
DIST lxd-2.1.tar.bz2 2260663 SHA256 6513d0576c8579668e480c4a663ffda9c3788b7d72338dbd443567a2da0d52d2 SHA512 4da46c256035253a7c0447cfc3f6887116b99f7bb4757b2b54dba436107a56dbab5973c654ea5c39760fac6b590ee9eb99ecc81b357b37a212990b25b9fa9ee9 WHIRLPOOL 90256881584a8b1d8ebe6d774a3d5614a634be06bbc0e0a51284ea842e590a21b8fc9b1eb228cca65b45306ed9750e10c81847663d2b6676ba192870aa8569a7 | ||
DIST lxd-2.2.tar.bz2 2234844 SHA256 c76b8698a9266afa5e4aec3ccaa283226cc52232e10ad376f02c4bcd000126b7 SHA512 272cd02f8533a18a51739fd2698f239cd57ae852fbf828d3dc53ed1253629808984720bde9173ae7df1f9e94389ab929b53893e7b57c2d0f6571744365c1c93a WHIRLPOOL d76c5ed9bedde8d51403a452bfc1f33bcb19d71fca79439c63f2b70bd58544ff0c05f4008f2603935dd1c63c4d0ea5c733775c723330de692fc5f6cd471d1529 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
--- /Makefile.orig 2016-07-11 23:34:40.299664675 +0000 | ||
+++ /Makefile 2016-07-11 23:37:00.816018727 +0000 | ||
@@ -12,19 +12,11 @@ | ||
|
||
.PHONY: default | ||
default: | ||
- # Must a few times due to go get race | ||
- -go get -t -v -d ./... | ||
- -go get -t -v -d ./... | ||
- -go get -t -v -d ./... | ||
go install -v $(DEBUG) ./... | ||
@echo "LXD built successfully" | ||
|
||
.PHONY: client | ||
client: | ||
- # Must a few times due to go get race | ||
- -go get -t -v -d ./... | ||
- -go get -t -v -d ./... | ||
- -go get -t -v -d ./... | ||
go install -v $(DEBUG) ./lxc | ||
@echo "LXD client built successfully" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Group which owns the shared socket | ||
LXD_OPTIONS+=" --group lxd" | ||
|
||
|
||
|
||
# Enable cpu profiling into the specified file | ||
#LXD_OPTIONS+=" --cpuprofile /tmp/lxc_cpu_profile" | ||
|
||
# Enable memory profiling into the specified file | ||
#LXD_OPTIONS+=" --memprofile /tmp/lxc_mem_profile" | ||
|
||
|
||
|
||
# Enables debug mode | ||
#LXD_OPTIONS+=" --debug" | ||
|
||
# For debugging, print a complete stack trace every n seconds | ||
#LXD_OPTIONS+=" --print-goroutines-every 5" | ||
|
||
# Enables verbose mode | ||
#LXD_OPTIONS+=" -v" | ||
|
||
# Logfile to log to | ||
#LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log" | ||
|
||
# Enables syslog logging | ||
#LXD_OPTIONS+=" --syslog" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#!/sbin/openrc-run | ||
# Copyright 1999-2016 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
DAEMON=/usr/sbin/lxd | ||
PIDFILE=/run/lxd.pid | ||
|
||
extra_commands="stopall" | ||
|
||
depend() { | ||
need net | ||
use lxcfs | ||
|
||
# remove with 2.0 release | ||
need cgmanager | ||
} | ||
|
||
start() { | ||
ebegin "Starting lxd server" | ||
|
||
start-stop-daemon --start \ | ||
--pidfile ${PIDFILE} \ | ||
--exec ${DAEMON} \ | ||
--background \ | ||
--make-pidfile \ | ||
-- \ | ||
${LXD_OPTIONS} | ||
|
||
eend $? | ||
} | ||
|
||
stop() { | ||
if [[ $RC_GOINGDOWN = YES ]] || [[ $RC_REBOOT = YES ]]; then | ||
stopall | ||
else | ||
ebegin "Stopping lxd service (but not containers)" | ||
start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE} | ||
eend $? | ||
fi | ||
} | ||
|
||
stopall() { | ||
ebegin "Stopping lxd service and containers" | ||
if "${DAEMON}" shutdown; then | ||
/etc/init.d/lxd zap | ||
rm -f ${PIDFILE} | ||
fi | ||
eend $? | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,156 @@ | ||
# Copyright 1999-2016 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=6 | ||
|
||
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" | ||
|
||
# The source is repackaged using a script at: | ||
# https://dev.gentoo.org/~stasibear/lxd_repackage.py | ||
# This is necessary because go's native package management assumes | ||
# that a build starts with checking out many git repositories, often | ||
# from HEAD. This provides no way to build the same code repeatably, | ||
# and anyway portage requires that fetching is only done from SRC_URI. | ||
# The only sane alternative I've seen is in the consul ebuild, which | ||
# is more transparent but raises other questions. | ||
SRC_URI="https://dev.gentoo.org/~stasibear/distfiles/${P}.tar.bz2" | ||
|
||
LICENSE="Apache-2.0" | ||
SLOT="0" | ||
KEYWORDS="~amd64" | ||
|
||
PLOCALES="de fr ja" | ||
IUSE="+daemon nls test" | ||
|
||
# IUSE and PLOCALES must be defined before l10n inherited | ||
inherit bash-completion-r1 golang-build l10n systemd user vcs-snapshot | ||
|
||
DEPEND=" | ||
dev-go/go-crypto | ||
dev-libs/protobuf | ||
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,seccomp] | ||
net-misc/rsync[xattr] | ||
sys-apps/iproute2 | ||
sys-fs/squashfs-tools | ||
virtual/acl | ||
) | ||
" | ||
|
||
PATCHES=("${FILESDIR}/${P}-dont-go-get.patch") | ||
|
||
# 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}" || die "Failed to change to deep src dir" | ||
|
||
default_src_prepare | ||
|
||
tmpgoroot="${T}/goroot" | ||
mkdir -p "$tmpgoroot" || die "Failed to create temporary GOROOT" | ||
cp -sR "$(get_golibdir_gopath)"/* "${tmpgoroot}" || die "Failed to copy files to temporary GOROOT" | ||
|
||
# Warn on unhandled locale changes | ||
l10n_find_plocales_changes po "" .po | ||
} | ||
|
||
src_compile() { | ||
golang-build_src_compile | ||
|
||
cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" | ||
|
||
tmpgoroot="${T}/goroot" | ||
if use daemon; then | ||
# Build binaries | ||
GOPATH="${S}:${tmpgoroot}" emake | ||
else | ||
# build client tool | ||
GOPATH="${S}:${tmpgoroot}" 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 | ||
use daemon && dosbin bin/lxd | ||
|
||
cd "src/${EGO_PN}" | ||
|
||
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/lxd-client lxc | ||
|
||
dodoc AUTHORS CONTRIBUTING.md README.md doc/* | ||
} | ||
|
||
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) | ||
|
||
einfo | ||
einfo "Though not strictly required, some features are enabled at run-time" | ||
einfo "when the relevant helper programs are detected:" | ||
einfo "- sys-apps/apparmor" | ||
einfo "- sys-fs/btrfs-progs" | ||
einfo "- sys-fs/lvm2" | ||
einfo "- sys-fs/lxcfs" | ||
einfo "- sys-fs/zfs" | ||
einfo "- sys-process/criu" | ||
einfo | ||
einfo "Since these features can't be disabled at build-time they are" | ||
einfo "not USE-conditional." | ||
} |