summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/rkt/Manifest3
-rw-r--r--app-emulation/rkt/rkt-1.3.0.ebuild189
2 files changed, 192 insertions, 0 deletions
diff --git a/app-emulation/rkt/Manifest b/app-emulation/rkt/Manifest
index 7703448b56ac..e1072f1f16a7 100644
--- a/app-emulation/rkt/Manifest
+++ b/app-emulation/rkt/Manifest
@@ -3,6 +3,9 @@ DIST linux-4.3.1.tar.xz 86900452 SHA256 11faaff6e7546038b868f524cdf42a5a1b67be9f
DIST rkt-0.8.0.tar.gz 1749853 SHA256 c9eb0126b8ff2f059d7cedaab17ca73dce256f342092c9bf4a7ae20661f2a5aa SHA512 4e2c27fb40cd3d27de062631105db3ea04ed902f48abb647a8e4de249478dd8a145ac0b77fd5b261cc680df1bcaa4067accb8a597def9b3963108e2c1f3d9d5a WHIRLPOOL f65ddd8908ec30cfefa06e60cd4d8cdb2099ab279b6350790eb3e436b88c792efe28cea53569f48d42f6eec682635a4212f16fea9d184e6baa97877a643e1106
DIST rkt-1.0.0.tar.gz 2414183 SHA256 7e30b03fa51a34db095484c4b111c526e49bead4e33232e1b239090503d7ac97 SHA512 f176532486b68ebc15aae17cfcf31e0f97ce3afc96bfed1c4f918da41350ef21c170712cb071a8720f39ee757b7b9ba1e66730d6e12acb9753446b929801c4ff WHIRLPOOL b2fc3082693b474584292a6ec943a685826364632dc346b18233bf9b9d2feaf14981f4a7fcbd9e79b98c2466b2f24be9b57f6345c89aeea5d075cdbeee26aba5
DIST rkt-1.1.0.tar.gz 2426666 SHA256 df93dffc1deff470a5bebaa2610a07df8f48e69f660c81de0a31de13d7f7bfa5 SHA512 ef444843f411cd2d1fcd02f606bf5d0971eb314d708d1d54d07af9e3d69e1d74a7812456fd7cc46372ca6e42cfd5ac6af6b7b67e22890396f58d8982c0af1373 WHIRLPOOL 0579f5efd28d473ab4a0874d7218268a2a1143118b9f3e39670a683f05c7fb3b1b952aee75f0c923d76bc457c4d933c3c9b329f99960fa0a95cde2573225288b
+DIST rkt-1.3.0.tar.gz 2450145 SHA256 0468c5b1079da8df65db9ebd0b712f64509acf6c8d6b34b780b6e787271d9b30 SHA512 f00500ddc1af85bc5ebe23b1a28e517e5f321f8c4c2434b71931b326cca5d4a10af4d54648a22634dc5039c7ca305539736b88a63b16fed1be897af0e22b64aa WHIRLPOOL 3f6c7ee950637ee16373ea43a23b1189c097d771748624be8a5794c734b0cb44b1b249cd424bcddf0ef5ec1761e08b8d53de71b5375ae35a9aa2ca7c3d4b91d6
DIST rkt-pxe-738.1.0.img 151780780 SHA256 805a4c491281553c8927f3dd1a7bec50cca29209d0a7264870e7155d794ecbe6 SHA512 7774cc64dfa874f08f48cba0c15103e9eca86ffd87dcb24f765a9b56074e72f6862a663a4007a0a7dd296740ae91bf4edf7290fa35659b0b1572fe2f5dad3256 WHIRLPOOL 5973a6036d650c576bb0bd365c8c9ea35776501c1fd2baf1d7c00d06496fab35e9c796096ef89b095e7a922e2062dce6c0d1c85cd3101022e0aca84277d18cb9
DIST rkt-pxe-794.1.0.img 185121072 SHA256 d513e27d2412d8fdaa2456786703346f10c24a62480d2036ca5c31b3d5a0df16 SHA512 f36324e9736bb0c533706c45d4146bed2efcb3ee2cb842c3624a62399835808c0df2aef56495a12b30f67c47fd84e93e34b10c57e4aa6d0450402d5e21c6f88c WHIRLPOOL 099851022b11aa29d004bbcef316a7cceeb5efa43f8069cdf1858888e7550f938fd9f9ec53eb63c313b5c1b93b0569f578a50fc5bae28b4d30c451a2ffd2adba
+DIST rkt-pxe-991.0.0.img 226115454 SHA256 33697d3d7c7458bbb160a5eb889ced34b001c35e22e10c86235042eb57ae51ed SHA512 1b785d8454381d47eb53062433bda5645650420b58821ac00119a92032ba4d669c974871eafe7e414ad349952974cfdf6812f85af69d3286b7bfe2fc2d04c52f WHIRLPOOL d9f103a0c5a78c8a4403a17e805872703cd5d4fe34e5395c381216538a15f58a7678c7d744ac8aa90ed4dd850a614ca52487cb50e5687c812488a3cdbdff2de0
DIST systemd-222.tar.gz 4015599 SHA256 b49f51f9855127987adc98aad3b6d608e4e53eaa029b629f2ea2089ce0234f34 SHA512 83f0acf0ca90c89c902c268af6eef4b61380a30380013cbe89c929357959f51682cd3961a6a4f772abc09d5ca09404ae290edf2c3253fab1b20dc2b5b3ecde47 WHIRLPOOL dd0151034de374b072e70448e7a9ff47693df0190e8a2a11488593400d3d7e53e0a91d86037d027c750584089e6c68e58c437647d608a72f8826f091e3253879
+DIST systemd-225.tar.gz 3878442 SHA256 b2f576bb3688e9315f2f49b98e141ac6f964567370e98ebd8fd7332a0a6f9701 SHA512 35b3946509c7b01660da4370d3c51ff0e6a537dadd9dbb0a039c4f7ed552fd4e02ebac6eb8a788f61f1e3ba99444238d959051dd004c174b027729a80368ac19 WHIRLPOOL 47cd3b5690dafdf3c0ef6a9767e947666b1853541f8aefd17eb5c07eee1477daf32f3b249b04327b1c56d8ec430745725383750b97755bb6cf594d354a7ffdf8
diff --git a/app-emulation/rkt/rkt-1.3.0.ebuild b/app-emulation/rkt/rkt-1.3.0.ebuild
new file mode 100644
index 000000000000..8074ce104b01
--- /dev/null
+++ b/app-emulation/rkt/rkt-1.3.0.ebuild
@@ -0,0 +1,189 @@
+# Copyright 1999-2016 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="991.0.0"
+PXE_SYSTEMD_VERSION="v225"
+KVM_LINUX_VERSION="4.3.1"
+KVMTOOL_VERSION="3c8aec9e2b5066412390559629dabeb7816ee8f2"
+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 )
+rkt_stage1_kvm? (
+ https://kernel.googlesource.com/pub/scm/linux/kernel/git/will/kvmtool/+archive/${KVMTOOL_VERSION}.tar.gz -> kvmtool-${KVMTOOL_VERSION}.tar.gz
+ mirror://kernel/linux/kernel/v4.x/linux-${KVM_LINUX_VERSION}.tar.xz
+ ${PXE_URI} -> ${PXE_FILE}
+)
+rkt_stage1_src? ( https://github.com/systemd/systemd/archive/${PXE_SYSTEMD_VERSION}.tar.gz -> systemd-${PXE_SYSTEMD_VERSION#v}.tar.gz )"
+
+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_fly rkt_stage1_host rkt_stage1_kvm rkt_stage1_src +actool systemd"
+REQUIRED_USE="|| ( rkt_stage1_coreos rkt_stage1_fly rkt_stage1_host rkt_stage1_kvm rkt_stage1_src ) rkt_stage1_host? ( systemd )"
+
+DEPEND=">=dev-lang/go-1.5
+ app-arch/cpio
+ app-crypt/trousers
+ sys-fs/squashfs-tools
+ dev-perl/Capture-Tiny"
+
+RDEPEND="!app-emulation/rocket
+ rkt_stage1_host? ( systemd? (
+ >=sys-apps/systemd-222
+ app-shells/bash:0
+ ) )"
+
+BUILDDIR="build-${P}"
+STAGE1_DEFAULT_LOCATION="/usr/share/rkt/stage1.aci"
+
+src_unpack() {
+ local x
+ for x in ${A}; do
+ case ${x} in
+ *.img|linux-*) continue ;;
+ kvmtool-*)
+ mkdir kvmtool || die
+ pushd kvmtool >/dev/null || die
+ unpack ${x}
+ popd >/dev/null || die
+ ;;
+ *)
+ unpack ${x}
+ esac
+ done
+}
+
+src_prepare() {
+ # disable git fetch of systemd
+ sed -e 's~^include makelib/git.mk$~'\
+'ifneq ($(wildcard $(RKT_STAGE1_SYSTEMD_SRC)),)\n\n'\
+'get_systemd_sources: | $(UFS_SYSTEMDDIR)\n'\
+'\tmv "$(RKT_STAGE1_SYSTEMD_SRC)" "$(UFS_SYSTEMD_SRCDIR)"\n\n'\
+'$(UFS_SYSTEMD_CONFIGURE): get_systemd_sources\n\n'\
+'else ifneq ($(wildcard $(UFS_SYSTEMD_SRCDIR)),)\n\n'\
+'else\n'\
+'\t\0\n'\
+'endif~' -i stage1/usr_from_src/usr_from_src.mk || die
+
+ # disable git fetch of kvmtool
+ sed -e 's~^include makelib/git.mk$~'\
+'ifneq ($(wildcard $(shell echo "$${WORKDIR}/kvmtool")),)\n\n'\
+'$(call forward-vars, get_lkvm_sources, LKVM_SRCDIR)\n'\
+'get_lkvm_sources: | $(LKVM_TMPDIR)\n'\
+'\tmv "$${WORKDIR}/kvmtool" "$(LKVM_SRCDIR)"\n\n'\
+'$(LKVM_PATCH_STAMP): get_lkvm_sources\n\n'\
+'else ifneq ($(wildcard $(LKVM_SRCDIR)),)\n\n'\
+'else\n'\
+'\t\0\n'\
+'endif~' -i stage1/usr_from_kvm/lkvm.mk || die
+
+ # disable fetch of kernel sources
+ sed -e 's|wget .*|ln -s "$${DISTDIR}/linux-'${KVM_LINUX_VERSION}'.tar.xz" "$@"|' \
+ -i stage1/usr_from_kvm/kernel.mk || die
+
+ if use rkt_stage1_host; then
+ # Make systemdUnitsPath consistent with host
+ sed -e 's|\(systemdUnitsPath := \).*|\1"'$(systemd_get_systemunitdir)'"|' \
+ -i stage1/init/init.go || die
+ fi
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local flavors myeconfargs=(
+ --with-stage1-default-images-directory="/usr/share/rkt"
+ --with-stage1-default-location="${STAGE1_DEFAULT_LOCATION}"
+ )
+
+ # enable flavors (first is default)
+ use rkt_stage1_host && flavors+=",host"
+ use rkt_stage1_src && flavors+=",src"
+ use rkt_stage1_coreos && flavors+=",coreos"
+ use rkt_stage1_fly && flavors+=",fly"
+ use rkt_stage1_kvm && flavors+=",kvm"
+ myeconfargs+=( --with-stage1-flavors="${flavors#,}" )
+
+ if use rkt_stage1_src; then
+ myeconfargs+=(
+ --with-stage1-systemd-version=${PXE_SYSTEMD_VERSION}
+ --with-stage1-systemd-src="${WORKDIR}/systemd-${PXE_SYSTEMD_VERSION#v}"
+ )
+ fi
+
+ if use rkt_stage1_coreos || use rkt_stage1_kvm; then
+ myeconfargs+=(
+ --with-coreos-local-pxe-image-path="${DISTDIR}/${PXE_FILE}"
+ --with-coreos-local-pxe-image-systemd-version="${PXE_SYSTEMD_VERSION}"
+ )
+ 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_compile() {
+ local arch=${ARCH}
+ case ${arch} in
+ amd64) arch=x86_64;;
+ esac
+ ARCH=${arch} autotools-utils_src_compile
+}
+
+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/"*.aci
+
+ # create symlink for default stage1 image path
+ if use rkt_stage1_host; then
+ dosym stage1-host.aci "${STAGE1_DEFAULT_LOCATION}"
+ elif use rkt_stage1_src; then
+ dosym stage1-src.aci "${STAGE1_DEFAULT_LOCATION}"
+ elif use rkt_stage1_coreos; then
+ dosym stage1-coreos.aci "${STAGE1_DEFAULT_LOCATION}"
+ elif use rkt_stage1_fly; then
+ dosym stage1-fly.aci "${STAGE1_DEFAULT_LOCATION}"
+ elif use rkt_stage1_kvm; then
+ dosym stage1-kvm.aci "${STAGE1_DEFAULT_LOCATION}"
+ fi
+
+ 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
+}