diff options
author | Alex Brandt <alunduil@gentoo.org> | 2015-09-06 15:20:37 -0500 |
---|---|---|
committer | Alex Brandt <alunduil@gentoo.org> | 2015-09-06 15:26:45 -0500 |
commit | b952b4776ef9b2253cb91e43c77b51e624992827 (patch) | |
tree | 8af2e89b2e828e789b6b2458affd8e72d3ce776f /app-emulation/rkt | |
parent | add app-emulation/rkt[rkt_stage1_src] to profiles/features/selinux/package.us... (diff) | |
download | gentoo-b952b4776ef9b2253cb91e43c77b51e624992827.tar.gz gentoo-b952b4776ef9b2253cb91e43c77b51e624992827.tar.bz2 gentoo-b952b4776ef9b2253cb91e43c77b51e624992827.zip |
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
Diffstat (limited to 'app-emulation/rkt')
-rw-r--r-- | app-emulation/rkt/Manifest | 2 | ||||
-rw-r--r-- | app-emulation/rkt/metadata.xml | 24 | ||||
-rw-r--r-- | app-emulation/rkt/rkt-0.8.0.ebuild | 87 | ||||
-rw-r--r-- | app-emulation/rkt/rkt-9999.ebuild | 96 |
4 files changed, 209 insertions, 0 deletions
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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>mail@stefanjunker.de</email> + <name>Stefan Junker</name> + </maintainer> + <maintainer> + <email>alunduil@gentoo.org</email> + <name>Alex Brandt</name> + </maintainer> + <longdescription lang="en"> + 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. + </longdescription> + <use> + <flag name="actool">Install the actool for ACI manipulation</flag> + <flag name="rkt_stage1_coreos">Download and use a prebuilt stage1.aci from CoreOS</flag> + <flag name="rkt_stage1_src">Build the stage1.aci from source</flag> + <flag name="rkt_stage1_host">Assemble stage1.aci from host binaries</flag> + </use> +</pkgmetadata> 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 +} |