From: Alex Brandt Date: Sun, 6 Sep 2015 20:20:37 +0000 (-0500) Subject: app-emulation/rkt: add version 0.8.0 and 9999 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b952b4776ef9b2253cb91e43c77b51e624992827;p=gentoo.git app-emulation/rkt: add version 0.8.0 and 9999 Provided by Stefan Junker (listed as maintainer) This commit does add a USE flag, rkt_stage1_src, to the selinux package.use.mask. This is required due to the systemd integration with selinux and rkt's dependence on systemd with this USE flag enabled. Package-Manager: portage-2.2.20.1 --- diff --git a/app-emulation/rkt/Manifest b/app-emulation/rkt/Manifest new file mode 100644 index 000000000000..d74b026c6ca6 --- /dev/null +++ b/app-emulation/rkt/Manifest @@ -0,0 +1,2 @@ +DIST rkt-0.8.0.tar.gz 1749853 SHA256 c9eb0126b8ff2f059d7cedaab17ca73dce256f342092c9bf4a7ae20661f2a5aa SHA512 4e2c27fb40cd3d27de062631105db3ea04ed902f48abb647a8e4de249478dd8a145ac0b77fd5b261cc680df1bcaa4067accb8a597def9b3963108e2c1f3d9d5a WHIRLPOOL f65ddd8908ec30cfefa06e60cd4d8cdb2099ab279b6350790eb3e436b88c792efe28cea53569f48d42f6eec682635a4212f16fea9d184e6baa97877a643e1106 +DIST rkt-pxe-738.1.0.img 151780780 SHA256 805a4c491281553c8927f3dd1a7bec50cca29209d0a7264870e7155d794ecbe6 SHA512 7774cc64dfa874f08f48cba0c15103e9eca86ffd87dcb24f765a9b56074e72f6862a663a4007a0a7dd296740ae91bf4edf7290fa35659b0b1572fe2f5dad3256 WHIRLPOOL 5973a6036d650c576bb0bd365c8c9ea35776501c1fd2baf1d7c00d06496fab35e9c796096ef89b095e7a922e2062dce6c0d1c85cd3101022e0aca84277d18cb9 diff --git a/app-emulation/rkt/metadata.xml b/app-emulation/rkt/metadata.xml new file mode 100644 index 000000000000..d01e2b47e81a --- /dev/null +++ b/app-emulation/rkt/metadata.xml @@ -0,0 +1,24 @@ + + + + + mail@stefanjunker.de + Stefan Junker + + + alunduil@gentoo.org + Alex Brandt + + + rkt is a new container runtime, designed for composability, security, + and speed. Today we are releasing a prototype version on GitHub to begin + gathering feedback from our community and explain why we are building + rkt. + + + Install the actool for ACI manipulation + Download and use a prebuilt stage1.aci from CoreOS + Build the stage1.aci from source + Assemble stage1.aci from host binaries + + diff --git a/app-emulation/rkt/rkt-0.8.0.ebuild b/app-emulation/rkt/rkt-0.8.0.ebuild new file mode 100644 index 000000000000..e1354ed5a2a8 --- /dev/null +++ b/app-emulation/rkt/rkt-0.8.0.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +AUTOTOOLS_AUTORECONF=yes +AUTOTOOLS_IN_SOURCE_BUILD=yes + +inherit autotools-utils flag-o-matic systemd toolchain-funcs + +KEYWORDS="~amd64" + +PXE_VERSION="738.1.0" +PXE_URI="http://alpha.release.core-os.net/amd64-usr/${PXE_VERSION}/coreos_production_pxe_image.cpio.gz" +PXE_FILE="${PN}-pxe-${PXE_VERSION}.img" + +SRC_URI="https://github.com/coreos/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz +rkt_stage1_coreos? ( $PXE_URI -> $PXE_FILE )" + +DESCRIPTION="A CLI for running app containers, and an implementation of the App +Container Spec." +HOMEPAGE="https://github.com/coreos/rkt" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="doc examples +rkt_stage1_coreos rkt_stage1_src +actool systemd" +REQUIRED_USE="^^ ( rkt_stage1_coreos rkt_stage1_src )" + +DEPEND=">=dev-lang/go-1.4.1 + app-arch/cpio + sys-fs/squashfs-tools + dev-perl/Capture-Tiny + rkt_stage1_src? ( + >=sys-apps/systemd-222 + app-shells/bash:0 + )" +RDEPEND="!app-emulation/rocket" + +BUILDDIR="build-${P}" + +src_configure() { + local myeconfargs=( + --with-stage1-image-path="/usr/share/rkt/stage1.aci" + ) + + if use rkt_stage1_src; then + myeconfargs+=( --with-stage1="src" ) + elif use rkt_stage1_coreos; then + myeconfargs+=( --with-stage1="coreos" ) + mkdir -p "${BUILDDIR}/tmp/usr_from_coreos/" || die + cp "${DISTDIR}/${PXE_FILE}" "${BUILDDIR}/tmp/usr_from_coreos/pxe.img" || die + fi + + # Go's 6l linker does not support PIE, disable so cgo binaries + # which use 6l+gcc for linking can be built correctly. + if gcc-specs-pie; then + append-ldflags -nopie + fi + + export CC=$(tc-getCC) + export CGO_ENABLED=1 + export CGO_CFLAGS="${CFLAGS}" + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + export BUILDDIR + + autotools-utils_src_configure +} + +src_install() { + dodoc README.md + use doc && dodoc -r Documentation + use examples && dodoc -r examples + use actool && dobin "${S}/${BUILDDIR}/bin/actool" + + dobin "${S}/${BUILDDIR}/bin/rkt" + + insinto /usr/share/rkt/ + doins "${S}/${BUILDDIR}/bin/stage1.aci" + + systemd_dounit "${S}"/dist/init/systemd/${PN}-gc.service + systemd_dounit "${S}"/dist/init/systemd/${PN}-gc.timer + systemd_dounit "${S}"/dist/init/systemd/${PN}-metadata.service + systemd_dounit "${S}"/dist/init/systemd/${PN}-metadata.socket +} diff --git a/app-emulation/rkt/rkt-9999.ebuild b/app-emulation/rkt/rkt-9999.ebuild new file mode 100644 index 000000000000..fcb665c9746c --- /dev/null +++ b/app-emulation/rkt/rkt-9999.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +AUTOTOOLS_AUTORECONF=yes +AUTOTOOLS_IN_SOURCE_BUILD=yes + +inherit autotools-utils flag-o-matic systemd toolchain-funcs +inherit git-r3 + +EGIT_REPO_URI="https://github.com/coreos/rkt.git" + +KEYWORDS="" +PXE_VERSION="738.1.0" +EGIT_BRANCH="master" + +PXE_URI="http://alpha.release.core-os.net/amd64-usr/${PXE_VERSION}/coreos_production_pxe_image.cpio.gz" +PXE_FILE="${PN}-pxe-${PXE_VERSION}.img" + +SRC_URI="rkt_stage1_coreos? ( $PXE_URI -> $PXE_FILE )" + +DESCRIPTION="A CLI for running app containers, and an implementation of the App +Container Spec." +HOMEPAGE="https://github.com/coreos/rkt" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="doc examples +rkt_stage1_coreos rkt_stage1_host rkt_stage1_src +actool systemd" +REQUIRED_USE="^^ ( rkt_stage1_coreos rkt_stage1_host rkt_stage1_src )" + +DEPEND=">=dev-lang/go-1.4.1 + app-arch/cpio + sys-fs/squashfs-tools + dev-perl/Capture-Tiny + rkt_stage1_src? ( + >=sys-apps/systemd-222 + app-shells/bash:0 + )" +RDEPEND="!app-emulation/rocket + rkt_stage1_host? ( + >=sys-apps/systemd-222 + app-shells/bash:0 + )" + +BUILDDIR="build-${P}" + +src_configure() { + local myeconfargs=( + --with-stage1-image-path="/usr/share/rkt/stage1.aci" + ) + + if use rkt_stage1_host; then + myeconfargs+=( --with-stage1="host" ) + elif use rkt_stage1_src; then + myeconfargs+=( --with-stage1="src" ) + elif use rkt_stage1_coreos; then + myeconfargs+=( --with-stage1="coreos" ) + mkdir -p "${BUILDDIR}/tmp/usr_from_coreos/" || die + cp "${DISTDIR}/${PXE_FILE}" "${BUILDDIR}/tmp/usr_from_coreos/pxe.img" || die + fi + + # Go's 6l linker does not support PIE, disable so cgo binaries + # which use 6l+gcc for linking can be built correctly. + if gcc-specs-pie; then + append-ldflags -nopie + fi + + export CC=$(tc-getCC) + export CGO_ENABLED=1 + export CGO_CFLAGS="${CFLAGS}" + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + export BUILDDIR + + autotools-utils_src_configure +} + +src_install() { + dodoc README.md + use doc && dodoc -r Documentation + use examples && dodoc -r examples + use actool && dobin "${S}/${BUILDDIR}/bin/actool" + + dobin "${S}/${BUILDDIR}/bin/rkt" + + insinto /usr/share/rkt/ + doins "${S}/${BUILDDIR}/bin/stage1.aci" + + systemd_dounit "${S}"/dist/init/systemd/${PN}-gc.service + systemd_dounit "${S}"/dist/init/systemd/${PN}-gc.timer + systemd_dounit "${S}"/dist/init/systemd/${PN}-metadata.service + systemd_dounit "${S}"/dist/init/systemd/${PN}-metadata.socket +}