diff options
author | Zac Medico <zmedico@gentoo.org> | 2017-01-08 14:22:57 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2017-01-08 14:29:22 -0800 |
commit | dcc047d7da26c1e39afdd1d92cf91030abf6046d (patch) | |
tree | 1647855b105ff48562504a529ffa497442d8556f /app-emulation | |
parent | 943576d9c7439a3c58423fed85ffb1b83ff15f9e (diff) | |
download | gentoo-dcc047d7da26c1e39afdd1d92cf91030abf6046d.tar.gz gentoo-dcc047d7da26c1e39afdd1d92cf91030abf6046d.tar.xz |
app-emulation/rkt: version bump to 1.22.0
Package-Manager: portage-2.3.3
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/rkt/Manifest | 1 | ||||
-rw-r--r-- | app-emulation/rkt/rkt-1.22.0.ebuild | 257 |
2 files changed, 258 insertions, 0 deletions
diff --git a/app-emulation/rkt/Manifest b/app-emulation/rkt/Manifest index fa3fd049b39..00cd107b894 100644 --- a/app-emulation/rkt/Manifest +++ b/app-emulation/rkt/Manifest @@ -2,5 +2,6 @@ DIST kvmtool-1cd6f516264ad2ad83fad3dc1264d6ff4bcd17b2.tar.gz 244571 SHA256 c72c0 DIST linux-4.8.6.tar.xz 91969848 SHA256 74744e00420856cfc8049fa3b3a55e57a116994226a498ef56801bc9492df36b SHA512 235acc394ce347d4131e86f6ff3f3fa9d552bf227c2483c25da7de99f3dc8fd20c4a04db0c8d59cdfa4fa9d98a5b102a5734f7b7704df6648c6efa5e8a7515ea WHIRLPOOL cb27d5654f7351ff32d057501c594f9b6e15fefe78c588b9e9cfedd88fbdb807ba7cfc1e238444d94f3d46168d6edc1bbb8e3966c2ca0f46c668dd4e9d60a01f DIST qemu-2.7.0.tar.bz2 26867760 SHA256 326e739506ba690daf69fc17bd3913a6c313d9928d743bd8eddb82f403f81e53 SHA512 654acaa7b3724a288e5d7e2a26ab780d9c9ed9f647fba00a906cbaffbe9d58fd666f2d962514aa2c5b391b4c53811ac3170d2eb51727f090bd19dfe45ca9a9db WHIRLPOOL dcb3e5f7da89dd8e14d636d7ebd476e076e0043880bb9ea3fb1c03cb4bcd4e5c7d3c4719da26c3ce521e3a3db5ae671e86f198ac1bc3474e774d75504fef8b8d DIST rkt-1.21.0.tar.gz 3334473 SHA256 63eed8da954c24c1f9010e7513ee6ac21ffeaf63a648f9d5a0f9e9d3eb92fde5 SHA512 2723aab1aadbe7be0f7ce9c7f4e000c76d8c34d167b1157a08de7fb2248e4b73a7fc765ead557db495bab803f5d5c8d09e1d9441301396e18fa49b21a8c4c7ae WHIRLPOOL 11b28be68dd246ddafb5455becc64ea1b185d1128747dc51103ab692c34cd9157423164c4847be9e9a39338cb5ad6e2db3e588545378179b51a0ce58a1be1935 +DIST rkt-1.22.0.tar.gz 3338862 SHA256 49fda935e0ec628889b0c6ba22277354dbf9b89b4c09429c10800a562bbf1b7c SHA512 2aa6c15a0994e1ba427b05694f6fa12446e2f336ff51593fc6d4776f77d0b798203a0ab97f4c12ada1226c934b4e1866d9a5545f48ae1938e79d696d236ad8c7 WHIRLPOOL 98c8761e47379a02b536b760f327dc65dabd3594d30fdc792326044fc0e825401cc49abf0b5ab6ce6d4bc6072f0008466da4f3d2a12cdad16908e8549c0fa88e DIST rkt-pxe-1235.0.0.img 243713684 SHA256 988e4ad8e044dd8bff54cb5e0a34a1ed25cf7bc8cc241f1a90e3fe7f1412f315 SHA512 b19821c63b7b53a1aad3b6e279189f9ceed1f5db1a691d12a70eb7340cceb4c3fd4f7f61a913d9482aec5ce28740b9ee777f86a1ce54f597f50341d701372542 WHIRLPOOL f3905ce3a2a55a027197a2d11ca541323fdfd560d186b4a2c39a8f45e19811067d5de4fbd3656935b12787e1dec79d118d7a01d52a8ef7abd0dad4f38a222b1c DIST systemd-231.tar.gz 4381464 SHA256 899733ad6c157cedbb89aec4efe3bc824dcfd65a1d6f6bebc7b043f7924e39b4 SHA512 199fa33a0494d1d15f7fe3c796fe14913ad386766571d4d3fbb1cb1c446e04f6d06a965213be4c594a7183e810fc2fd4804fe14f64f21b0a1278b717889811c6 WHIRLPOOL 7779291e9fb9873cb1773b8583cf6d4b7dec837363ea89c4a73c1e397a76752b66f8b57d8fc4d9cef768cc1855b5e325ad88a8a69eb5380aa924e0a6dead41b1 diff --git a/app-emulation/rkt/rkt-1.22.0.ebuild b/app-emulation/rkt/rkt-1.22.0.ebuild new file mode 100644 index 00000000000..7e401a48d7a --- /dev/null +++ b/app-emulation/rkt/rkt-1.22.0.ebuild @@ -0,0 +1,257 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit bash-completion-r1 autotools flag-o-matic systemd toolchain-funcs user + +KEYWORDS="~amd64" + +PXE_VERSION="1235.0.0" +PXE_SYSTEMD_VERSION="v231" +KVM_LINUX_VERSION="4.8.6" +KVMTOOL_VERSION="1cd6f516264ad2ad83fad3dc1264d6ff4bcd17b2" +QEMU_VERSION="v2.7.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_KVM="mirror://kernel/linux/kernel/v4.x/linux-${KVM_LINUX_VERSION}.tar.xz + ${PXE_URI} -> ${PXE_FILE} +" + +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_lkvm? ( + https://kernel.googlesource.com/pub/scm/linux/kernel/git/will/kvmtool/+archive/${KVMTOOL_VERSION}.tar.gz -> kvmtool-${KVMTOOL_VERSION}.tar.gz + ${SRC_URI_KVM} +) +rkt_stage1_kvm_qemu? ( + http://wiki.qemu-project.org/download/qemu-${QEMU_VERSION#v}.tar.bz2 + ${SRC_URI_KVM} +) +rkt_stage1_src? ( https://github.com/systemd/systemd/archive/${PXE_SYSTEMD_VERSION}.tar.gz -> systemd-${PXE_SYSTEMD_VERSION#v}.tar.gz )" + +DESCRIPTION="rkt is an App Container runtime for Linux" +HOMEPAGE="https://github.com/coreos/rkt" + +LICENSE="Apache-2.0" +SLOT="0" +# The rkt_stage1_kvm flag has been replaced by the rkt_stage1_kvm_lkvm and rkt_stage1_kvm_qemu flags +IUSE="doc examples +rkt_stage1_coreos +rkt_stage1_fly rkt_stage1_host rkt_stage1_kvm rkt_stage1_kvm_lkvm rkt_stage1_kvm_qemu rkt_stage1_src +actool systemd" +REQUIRED_USE="|| ( rkt_stage1_coreos rkt_stage1_fly rkt_stage1_host rkt_stage1_kvm_lkvm rkt_stage1_kvm_qemu rkt_stage1_src ) rkt_stage1_host? ( systemd ) !rkt_stage1_kvm" + +# Some tests fail. +# rkt_stage1_src needs to copy /bin/mount, which requires root privileges during src_compile +RESTRICT="test rkt_stage1_src? ( userpriv )" + +DEPEND=">=dev-lang/go-1.5 + app-arch/cpio + app-crypt/trousers + sys-fs/squashfs-tools + dev-perl/Capture-Tiny + rkt_stage1_src? ( >=sys-apps/util-linux-2.27 ) + rkt_stage1_kvm_qemu? ( + sys-apps/attr[static-libs(+)] + sys-libs/libcap[static-libs(+)] + sys-libs/zlib[static-libs(+)] + >=x11-libs/pixman-0.28.0[static-libs(+)] + )" + +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" + +pkg_setup() { + enewgroup rkt-admin + enewgroup rkt +} + +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() { + eapply_user + + # This patch breaks linux kernel cc-option checks when the + # compiler doesn't recognize the -no-pie option. + rm stage1/usr_from_kvm/kernel/patches/0002-for-debian-gcc.patch || die + + # avoid sdjournal include for bug 595874 + if ! use systemd; then + sed -e "s/^\\(LOCAL_DIST_SRC_FILTER := .*\\)'$/\\1|api_service'/" \ + -i rkt/rkt.mk || die + fi + + sed -e 's|^RKT_REQ_PROG(\[GIT\],.*|#\0|' -i configure.ac || die + + # 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 git fetch of qemu + sed -e 's~^include makelib/git.mk$~'\ +'ifneq ($(wildcard $(shell echo "$${WORKDIR}/qemu-'${QEMU_VERSION#v}'")),)\n\n'\ +'$(call forward-vars, get_qemu_sources, QEMU_SRCDIR)\n'\ +'get_qemu_sources: | $(QEMU_TMPDIR)\n'\ +'\tmv "$${WORKDIR}/qemu-'${QEMU_VERSION#v}'" "$(QEMU_SRCDIR)"\n\n'\ +'$(QEMU_CONF_STAMP): get_qemu_sources\n\n'\ +'else ifneq ($(wildcard $(QEMU_SRCDIR)),)\n\n'\ +'else\n'\ +'\t\0\n'\ +'endif~' \ + -e 's|QEMU_CONFIGURATION_OPTS :=|\0 --disable-bzip2 --disable-libssh2 --disable-opengl|' \ + -i stage1/usr_from_kvm/qemu.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 + + eautoreconf +} + +src_configure() { + local flavors hypervisors myeconfargs=( + --with-stage1-default-images-directory="/usr/share/rkt" + --with-stage1-default-location="${STAGE1_DEFAULT_LOCATION}" + ) + + use systemd || myeconfargs+=( --enable-sdjournal=no ) + + # 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_lkvm || use rkt_stage1_kvm_qemu; } && 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_lkvm || use rkt_stage1_kvm_qemu; then + myeconfargs+=( + --with-coreos-local-pxe-image-path="${DISTDIR}/${PXE_FILE}" + --with-coreos-local-pxe-image-systemd-version="${PXE_SYSTEMD_VERSION}" + ) + fi + + if use rkt_stage1_kvm_lkvm || use rkt_stage1_kvm_qemu; then + use rkt_stage1_kvm_lkvm && hypervisors+=",lkvm" + use rkt_stage1_kvm_qemu && hypervisors+=",qemu" + myeconfargs+=( --with-stage1-kvm-hypervisors="${hypervisors#,}" ) + 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 + + econf "${myeconfargs[@]}" +} + +src_compile() { + local arch=${ARCH} + case ${arch} in + amd64) arch=x86_64;; + esac + ARCH=${arch} emake V=3 + ARCH=${arch} emake V=3 bash-completion +} + +src_install() { + dodoc README.md + use doc && dodoc -r Documentation + use examples && dodoc -r examples + use actool && dobin "${S}/${BUILDDIR}/tools/actool" + + dobin "${S}/${BUILDDIR}/target/bin/rkt" + + insinto /usr/share/rkt + doins "${S}/${BUILDDIR}/target/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_lkvm; then + dosym stage1-kvm-lkvm.aci "${STAGE1_DEFAULT_LOCATION}" + elif use rkt_stage1_kvm_qemu; then + dosym stage1-kvm-qemu.aci "${STAGE1_DEFAULT_LOCATION}" + fi + + systemd_dounit "${S}"/dist/init/systemd/*.service \ + "${S}"/dist/init/systemd/*.timer \ + "${S}"/dist/init/systemd/*.socket + + insinto /usr/lib/tmpfiles.d + doins "${S}"/dist/init/systemd/tmpfiles.d/* + + newbashcomp "${S}"/dist/bash_completion/rkt.bash rkt + + keepdir /etc/${PN} + fowners :rkt-admin /etc/${PN} + fperms 2775 /etc/${PN} +} |