diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index 9114a37..250f1b1 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -1,23 +1,22 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 -DIST lxd-3.14.tar.gz 26141949 BLAKE2B 69004501012c9a873eef77a60df7e5dba25c692224d27b02cd2d2b27533012e71bd7562cb64a17920234746e8be2819bb773365c01422c0b776dd2b7c36b69fe SHA512 3d2d4e61298fc9fde49defad776a398fcccf7639485e810173c9c7f7d939c354a9ad8112a4a631b0850f6eb54435012d289236ff61839416caf95434eb23c8ff DIST lxd-3.16.tar.gz 24863601 BLAKE2B 0087c00d86ea3f623ea31bc008176e4232bb432f5c431c288f5c5ff3e1658abe4e310509088ddc6b23d8db68f8e93997522b8a5c0b19fd243abee13e11d3deb9 SHA512 11c6c5c49ceb23c31979829937e1baad340b8920481ef5b89b2b6d0b6b05967ec1f446f8b0330c11008f6fecea077eed0858af7fe802c50b52148757584fdfb9 -----BEGIN PGP SIGNATURE----- -iQKTBAEBCAB9FiEEcg3s4uUa4XE72XWQvF3CmYqtKyEFAl15G9NfFIAAAAAALgAo +iQKTBAEBCAB9FiEEcg3s4uUa4XE72XWQvF3CmYqtKyEFAl15G/lfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDcy MERFQ0UyRTUxQUUxNzEzQkQ5NzU5MEJDNURDMjk5OEFBRDJCMjEACgkQvF3CmYqt -KyEvxg/8CbcLZ5nbLlcTkSBsQg7uciMJgxV23JK1wT5PIjwkpSwSCtTfle6j67bv -nxvBT3UoD7z8LEy2Y1Ok3olmyjADkV9d88VkTp63hfWwbpk7PF40krJJ7kW6+7LJ -m/J0f6JklMsKcX5nlFwLpBhCb6DU5TH/5SZEQAPB3u6VXtXvLT/qkltVmp6l9se3 -k0+4T3JQb5PkTyZ/HwOZ90tqXo6Eie+gsISF1TcGCPOM3KfcsqpPamm2mW/UeUyB -CiDfjZE+I0LcUno4EKSfkm90rFIOP+4fII4h0xmB0Tabz5rXtSLIyudZk1+Td1SB -ypmCRh1PuduwxWx3W7G5Q+H7yS+w2B//WO7lT9OGGY9Kkmj871meFBh7zgFtR3+F -9f3zr4hiK05pooeA1zN+syY3rkeUn5Uuh3D7ZUfRnLXsp3any0s9DTX0dQ5ozVkj -CUpxqXxkYQZKORPTeZIbbael4n8EvuJr9tEDyZIKcQOPVEizIyIDgvzx3W/Mz58H -CcDF28Yoo1Y4XsJHmu2Rxx+lB3RIZPKM96WCLAEfnJYK93HBMGDOpRDKUaYhRvK9 -iYsdw6nZMWUYLr4+9oMRiLZlv9p2PMLREv4YP6s3szJqa69IiV4AN3W5J+/nZUUR -m7RYIag+fWs5BROaPhHbfeuc9kr3/RG82kOeqDE+6QpxRqk9eWw= -=a5tJ +KyFEig/+K356Ua6SrgHuSN9TlzEPrZkEtf1oGQxOGKQx4Qs0Chos4/YI528xVEE8 +AUeAUda0mR3U5Bl3E1PoZBkxP6yU5w1LPdJ4M/bC8ejBbZuHmixoxxTShKOJt4ph +2lyTjx4/jbE0PKeW9WdfJQOTJcqz/wtfeFmHQ1kJHqeHz1XIY1+HGa4w8OsxqAhR +bn3/fuU3Wpls46p75e0ZaDMhbSAPOthaHtd/HwK2hvg5SmVX5RUiynfuJjvyZlMk +nyn1pXmcE/FCXvj6FLAk07JiluN2NA1CkwaAYDwhT2LSJOEpKNGHYHPlZ/gnWbKp +aQBdYsitTO/U5krlH9a9UNKDS4HsN5BQ16RyxonNjn7iLbIvOZ7XjJE1b58sHD0s +8xSnk2yxFdahObUolWAgpUd00zonv2fk6q/thtuG9e2V8fRZPcUQj7mK26rRrMAC +ZeTgZPzf379QNhHv/Ffh9e49YkVqLEm5aW2pVQHUWS1St7OD9dw7HXIWUGm1nEq7 +OAUnJvG935YDZGv9kt9qK1W63EK+J/9k7U6lq+OI+Znh41hzdWyycA85ibQLYEAc +86vOj/ZxdrW1s859cu0lye1d5kgMFgVZ9JUQtk8er84UA8U+aQ6+A+bF3FG+4TpH +9ZJdT470pnGeYa0YxnZwA47yXuawPy24UJK6pA5jj6zbphHqDVg= +=jo9w -----END PGP SIGNATURE----- diff --git a/app-emulation/lxd/lxd-3.14-r1.ebuild b/app-emulation/lxd/lxd-3.14-r1.ebuild deleted file mode 100644 index bb082db..0000000 --- a/app-emulation/lxd/lxd-3.14-r1.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" - -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64" - -IUSE="+daemon +ipv6 +dnsmasq nls test tools" - -inherit autotools bash-completion-r1 linux-info systemd user - -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" - -DEPEND=" - dev-lang/tcl - >=dev-lang/go-1.9.4 - dev-libs/libuv - dev-libs/protobuf - nls? ( sys-devel/gettext ) - test? ( - app-misc/jq - net-misc/curl - sys-devel/gettext - ) -" - -RDEPEND=" - daemon? ( - app-arch/xz-utils - >=app-emulation/lxc-2.0.7[seccomp] - dev-libs/libuv - dev-libs/lzo - dev-util/xdelta:3 - dnsmasq? ( - net-dns/dnsmasq[dhcp,ipv6?] - ) - net-libs/libnfnetlink - net-libs/libnsl:0= - net-misc/rsync[xattr] - sys-apps/iproute2[ipv6?] - sys-fs/fuse - sys-fs/lxcfs - sys-fs/squashfs-tools - virtual/acl - ) -" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE_IPV4 - ~NF_NAT_MASQUERADE_IPV6 - ~VXLAN -" - -ERROR_BRIDGE="BRIDGE: needed for network commands" -ERROR_DUMMY="DUMMY: needed for network commands" -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_IPV6="IPV6: needed for network commands" -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_MACVLAN="MACVLAN: needed for network commands" -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" -ERROR_NET_IPIP="NET_IPIP: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" -ERROR_VXLAN="VXLAN: needed for network commands" - -EGO_PN="github.com/lxc/lxd" - -src_prepare() { - eapply_user - eapply "${FILESDIR}/de-translation-newline-1.patch" - - cd "${S}/dist/dqlite" || die "Can't cd to dqlite dir" - eautoreconf -} - -src_configure() { - export GOPATH="${S}/dist" - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" - econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd" - - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" - PKG_CONFIG_PATH="${GOPATH}/sqlite/" econf --libdir=${EPREFIX}/usr/lib/lxd -} - -src_compile() { - export GOPATH="${S}/dist" - - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" - emake - - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" - emake CFLAGS="-I${GOPATH}/sqlite" LDFLAGS="-L${GOPATH}/sqlite" - - # We don't use the Makefile here because it builds targets with the - # assumption that `pwd` is in a deep gopath namespace, which we're not. - # It's simpler to manually call "go install" than patching the Makefile. - cd "${S}" - go install -v -x ${EGO_PN}/lxc || die "Failed to build the client" - - if use daemon; then - - # LXD depends on a patched, bundled sqlite with replication - # capabilities. - export CGO_CFLAGS="-I${GOPATH}/sqlite/ -I${GOPATH}/dqlite/include/" - export CGO_LDFLAGS="-L${GOPATH}/sqlite/.libs/ -L${GOPATH}/dqlite/.libs/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" - export LD_LIBRARY_PATH="${GOPATH}/sqlite/.libs/:${GOPATH}/dqlite/.libs/" - - go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" - fi - - if use tools; then - go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift" - go install -v -x ${EGO_PN}/lxc-to-lxd || die "Failed to build lxc-to-lxd" - go install -v -x ${EGO_PN}/lxd-benchmark || die "Failed to build lxd-benchmark" - go install -v -x ${EGO_PN}/lxd-p2c || die "Failed to build lxd-p2c" - fi - - use nls && emake build-mo -} - -src_test() { - if use daemon; then - export GOPATH="${S}/dist" - # This is mostly a copy/paste from the Makefile's "check" rule, but - # patching the Makefile to work in a non "fully-qualified" go namespace - # was more complicated than this modest copy/paste. - # Also: sorry, for now a network connection is needed to run tests. - # Will properly bundle test dependencies later. - go get -v -x github.com/rogpeppe/godeps - go get -v -x github.com/remyoudompheng/go-misc/deadcode - go get -v -x github.com/golang/lint/golint - go test -v ${EGO_PN}/lxd - else - einfo "No tests to run for client-only builds" - fi -} - -src_install() { - local bindir="dist/bin" - dobin ${bindir}/lxc - if use daemon; then - - export GOPATH="${S}/dist" - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" - emake DESTDIR="${D}" install - - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" - emake DESTDIR="${D}" install - - # Must only install libs - rm "${D}/usr/bin/sqlite3" || die "Can't remove custom sqlite3 binary" - rm -r "${D}/usr/include" || die "Can't remove include directory" - - cd "${S}" || die "Can't cd to \${S}" - dosbin ${bindir}/lxd - fi - - if use tools; then - dobin ${bindir}/fuidshift - dobin ${bindir}/lxc-to-lxd - dobin ${bindir}/lxd-benchmark - dobin ${bindir}/lxd-p2c - fi - - if use nls; then - domo po/*.mo - fi - - if use daemon; then - newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd lxd - - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service - fi - - newbashcomp scripts/bash/lxd-client lxc - - dodoc AUTHORS doc/* -} - -pkg_postinst() { - elog - elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," - elog "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) - - elog - elog "Though not strictly required, some features are enabled at run-time" - elog "when the relevant helper programs are detected:" - elog "- sys-apps/apparmor" - elog "- sys-fs/btrfs-progs" - elog "- sys-fs/lvm2" - elog "- sys-fs/zfs" - elog "- sys-process/criu" - elog - elog "Since these features can't be disabled at build-time they are" - elog "not USE-conditional." - elog - elog "Be sure to add your local user to the lxd group." - elog - elog "Networks with bridge.mode=fan are unsupported due to requiring" - elog "a patched kernel and iproute2." -} - -# TODO: -# - man page, I don't see cobra generating it -# - maybe implement LXD_CLUSTER_UPDATE per -# https://discuss.linuxcontainers.org/t/lxd-3-5-has-been-released/2656 -# EM I'm not convinced it's a good design.