diff options
Diffstat (limited to 'app-emulation')
761 files changed, 59286 insertions, 0 deletions
diff --git a/app-emulation/aqemu/Manifest b/app-emulation/aqemu/Manifest new file mode 100644 index 000000000000..0251138dfa5c --- /dev/null +++ b/app-emulation/aqemu/Manifest @@ -0,0 +1 @@ +DIST aqemu-0.8.2.tar.bz2 1025129 SHA256 03c4a95328f78238021168ca4887f9735641f10eb4eb1eff58b08c15b748bf03 SHA512 45f27f82ca307ffc50ea26a57631b47236fd04915274bb00a0720e65859e183d56c3243e0e31d71e5280d0941a9c80c1457b09d393e5c4d4deeb1fea4159459d WHIRLPOOL c5a058883df1424d5d1b2b028fca7fd6aae8b72281060a305a428e63ad5bfb1d062c56c18878b6a279a79953a88c760553a701b5c3346113836eb56ab4a30aa2 diff --git a/app-emulation/aqemu/aqemu-0.8.2-r2.ebuild b/app-emulation/aqemu/aqemu-0.8.2-r2.ebuild new file mode 100644 index 000000000000..9d38d3c6eae7 --- /dev/null +++ b/app-emulation/aqemu/aqemu-0.8.2-r2.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit cmake-utils + +DESCRIPTION="Graphical interface for QEMU and KVM emulators, using Qt4" +HOMEPAGE="http://sourceforge.net/projects/aqemu" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="vnc" + +DEPEND="${RDEPEND}" +RDEPEND="app-emulation/qemu + vnc? ( net-libs/libvncserver ) + dev-qt/qtgui:4 + dev-qt/qttest:4 + dev-qt/qtxmlpatterns:4" + +DOCS="AUTHORS CHANGELOG README TODO" +PATCHES=( + "${FILESDIR}"/aqemu-0.8.2_sigsev_propertis.patch + "${FILESDIR}"/aqemu-0.8.2_qt48_build.patch + "${FILESDIR}"/aqemu-0.8.2_desktop_file.patch +) + +src_configure() { + local mycmakeargs=( + "-DMAN_PAGE_COMPRESSOR=" + "-DWITHOUT_EMBEDDED_DISPLAY=$(use vnc && echo "OFF" || echo "ON")" + ) + + cmake-utils_src_configure +} diff --git a/app-emulation/aqemu/files/aqemu-0.8.2_desktop_file.patch b/app-emulation/aqemu/files/aqemu-0.8.2_desktop_file.patch new file mode 100644 index 000000000000..4cf20ea578d0 --- /dev/null +++ b/app-emulation/aqemu/files/aqemu-0.8.2_desktop_file.patch @@ -0,0 +1,33 @@ +From 2a0f32e8cb46c8a1c0a33ed151737e5abb5679ed Mon Sep 17 00:00:00 2001 +From: Andrey Rijov <rdron@users.sourceforge.net> +Date: Mon, 31 Oct 2011 19:38:17 +0400 +Subject: [PATCH] Updated aqemu.desktop file (See bug: 3430317) + +--- + menu_data/aqemu.desktop | 9 +++++---- + 1 files changed, 5 insertions(+), 4 deletions(-) + +--- a/menu_data/aqemu.desktop ++++ b/menu_data/aqemu.desktop +@@ -1,14 +1,15 @@ + [Desktop Entry] + Encoding=UTF-8 +-Name=AQEMU + Exec=aqemu + Terminal=false + Type=Application +-Icon=aqemu_48x48.png ++Icon=aqemu_48x48 + StartupNotify=true + Categories=System;Emulator; + +-Name[ru]=AQEMU ++Name=AQEMU ++Comment=Virtual machine manager + Name[en]=AQEMU +-Comment[ru]=Управление виртуальными машинами + Comment[en]=Virtual machine manager ++Name[ru]=AQEMU ++Comment[ru]=Управление виртуальными машинами +-- +1.7.4.1 diff --git a/app-emulation/aqemu/files/aqemu-0.8.2_qt48_build.patch b/app-emulation/aqemu/files/aqemu-0.8.2_qt48_build.patch new file mode 100644 index 000000000000..afd1f0c853d4 --- /dev/null +++ b/app-emulation/aqemu/files/aqemu-0.8.2_qt48_build.patch @@ -0,0 +1,27 @@ +From 9b21d88a4f4a681f9e80c11e83e81c976e0fc91e Mon Sep 17 00:00:00 2001 +From: Andrey Rijov <rdron@users.sourceforge.net> +Date: Sat, 29 Oct 2011 10:20:32 +0400 +Subject: [PATCH 1/1] Fix build error on Qt 4.8 + +--- + Embedded_Display/vncview.cpp | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Embedded_Display/vncview.cpp b/Embedded_Display/vncview.cpp +index 9e105c9..0be5944 100644 +--- a/Embedded_Display/vncview.cpp ++++ b/Embedded_Display/vncview.cpp +@@ -27,8 +27,8 @@ + #include <QMessageBox> + #include <QInputDialog> + #define KMessageBox QMessageBox +- #define error(parent, message, caption) \ +- critical(parent, caption, message) ++/* #define error(parent, message, caption) \ ++ critical(parent, caption, message)*/ + #else + #include "settings.h" + #include <KActionCollection> +-- +1.7.4.1 + diff --git a/app-emulation/aqemu/files/aqemu-0.8.2_sigsev_propertis.patch b/app-emulation/aqemu/files/aqemu-0.8.2_sigsev_propertis.patch new file mode 100644 index 000000000000..b7cc5950bd5f --- /dev/null +++ b/app-emulation/aqemu/files/aqemu-0.8.2_sigsev_propertis.patch @@ -0,0 +1,41 @@ +--- a/Device_Manager_Widget.cpp 2011-09-13 21:45:58.883389571 +0200 ++++ b/Device_Manager_Widget.cpp 2011-09-13 21:55:01.401866022 +0200 +@@ -981,9 +981,10 @@ + { + if( ui.Devices_List->currentItem()->data(512).toString() == "device" + QString::number(fx) ) + { +- finded = true; +- + Storage_Devices.removeAt( fx ); ++ ui.Devices_List->takeItem( ui.Devices_List->currentRow() ); ++ finded = true; ++ break; + } + } + +@@ -993,10 +994,24 @@ + "Incorrect Device!" ); + return; + } ++ else ++ { ++ // Rename items ++ for( int ix = 0, count = 0; ix < ui.Devices_List->count(); ++ix ) ++ { ++ if( ui.Devices_List->item(ix)->data(512).toString().contains("device") ) ++ { ++ ui.Devices_List->item(ix)->setData( 512, QString("device%1").arg(count) ); ++ ++count; ++ } ++ } ++ ++ emit Device_Changet(); ++ return; ++ } + } + + ui.Devices_List->takeItem( ui.Devices_List->currentRow() ); +- + emit Device_Changet(); + } + diff --git a/app-emulation/aqemu/metadata.xml b/app-emulation/aqemu/metadata.xml new file mode 100644 index 000000000000..25667e2ea9cd --- /dev/null +++ b/app-emulation/aqemu/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>proxy-maintainers</herd> + <maintainer> + <email>maksbotan@gentoo.org</email> + <description>Proxy maintainer (CC on bugs)</description> + </maintainer> + <maintainer> + <email>andreis.vinogradovs@gmail.com</email> + <description>Proxied maintainer (assign bugs)</description> + </maintainer> + <upstream> + <remote-id type="sourceforge">aqemu</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/aranym/Manifest b/app-emulation/aranym/Manifest new file mode 100644 index 000000000000..7751ff866a79 --- /dev/null +++ b/app-emulation/aranym/Manifest @@ -0,0 +1,3 @@ +DIST afros812.zip 9087862 SHA256 7d60230694734a42d912f47d03653f60ffd5a034d89771df35a414b6a6af6263 SHA512 0e9522740dc38c34b1fab4a999485caca0af95692d281bf2887fe6dddf48cceaf6c4d8b9802f402e2bd00726fb01c557ffb5731838ebd94b9eec987f1f0ce545 WHIRLPOOL bc641fef78cff4fb14448b0054eb39505a507d73f1511fb0d801f06637e0c81e2311c6c1fe1391aea379f967d5f20032e4ffb5184d9a9f39f3530c3cfeb63550 +DIST aranym_0.9.14.orig.tar.gz 1831715 SHA256 04e85337fbf54cb3c80c2d26ce22f51337abc2ddc730d9bf9ed3b171def4b9fa SHA512 8145546bf6f6ffea8f4ea24f0fbfc19d1b33146b30473757dcf04c7603125f7f3a36f266ad190baf310510fa50b5f9ecfe2cd8627dea292d3851e6c64cf4fc17 WHIRLPOOL 86ad78d2a7ff0c66f94875bfb6d80957436bf594bd201884d8fee3e541aa11f5d03d16500807b3d9172155c5284e94d4d251913f08869def4d4bfd33f1d24bc7 +DIST aranym_0.9.16.orig.tar.gz 1778730 SHA256 11e7ca0dd93d42966c2ec70749a3c1e4345656ad1108a126ecd9754391a308c6 SHA512 b2848b1c6726b0e85f76da144a3f4f478bed13a1bc528658a448499c5e3434d5adb2ff6e0625d814a6e15a6d1ca9fe8922a3f282b50b1cb7763bb09c64342ae8 WHIRLPOOL 48a5cf68c4243c18292e3948d688ee8dc29306986b05177cc469cd6915dabe8733994f1578272acfac939cbae77d27a3bb4ced8fa41aa70cfb70ce503b6c717d diff --git a/app-emulation/aranym/aranym-0.9.14.ebuild b/app-emulation/aranym/aranym-0.9.14.ebuild new file mode 100644 index 000000000000..dfb397f37bb3 --- /dev/null +++ b/app-emulation/aranym/aranym-0.9.14.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit flag-o-matic eutils + +DESCRIPTION="Atari Running on Any Machine, a VM running Atari ST/TT/Falcon OS and TOS/GEM applications" +HOMEPAGE="http://aranym.sourceforge.net/" +SRC_URI="mirror://sourceforge/aranym/${P/-/_}.orig.tar.gz + mirror://sourceforge/aranym/afros812.zip" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="+fullmmu +lilo opengl usbhost X" + +RDEPEND="games-emulation/emutos + media-libs/libsdl + opengl? ( virtual/opengl ) + X? ( media-libs/libsdl[X] )" +DEPEND="${RDEPEND} + app-arch/unzip" + +src_configure() { + filter-flags -mpowerpc-gfxopt + + local myconf="" + if [[ ${ARCH} == x86 ]]; then + myconf="${myconf} --enable-jit-compiler" + fi + + if ! use X; then + myconf="${myconf} --disable-nfjpeg --disable-nfclipbrd" + fi + + econf \ + $(use_enable X gui) \ + $(use_enable opengl) \ + $(use_enable fullmmu) \ + $(use_enable lilo) \ + $(use_enable usbhost) \ + ${myconf} +} + +src_install() { + emake DESTDIR="${D}" INSTALL_PROGRAM="install" install + + insinto /usr/share/${PN} + doins -r "${WORKDIR}"/afros + + dodoc "${D}"/usr/share/doc/${PN}/* + rm -r "${D}"/usr/share/doc/${PN} || die +} + +pkg_postinst() { + elog "To run ARAnyM with AFROS type: aranym --config /usr/share/aranym/afros/config" +} diff --git a/app-emulation/aranym/aranym-0.9.16.ebuild b/app-emulation/aranym/aranym-0.9.16.ebuild new file mode 100644 index 000000000000..42dc1347a456 --- /dev/null +++ b/app-emulation/aranym/aranym-0.9.16.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit flag-o-matic eutils + +DESCRIPTION="Atari Running on Any Machine, a VM running Atari ST/TT/Falcon OS and TOS/GEM applications" +HOMEPAGE="http://aranym.sourceforge.net/" +SRC_URI="mirror://sourceforge/aranym/${P/-/_}.orig.tar.gz + mirror://sourceforge/aranym/afros812.zip" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="+fullmmu +lilo opengl usbhost X" + +RDEPEND="games-emulation/emutos + media-libs/libsdl + opengl? ( virtual/opengl ) + X? ( media-libs/libsdl[X] )" +DEPEND="${RDEPEND} + app-arch/unzip" + +src_configure() { + filter-flags -mpowerpc-gfxopt + + local myconf="" + if [[ ${ARCH} == x86 ]]; then + myconf="${myconf} --enable-jit-compiler" + fi + + if ! use X; then + myconf="${myconf} --disable-nfjpeg --disable-nfclipbrd" + fi + + econf \ + $(use_enable X gui) \ + $(use_enable opengl) \ + $(use_enable fullmmu) \ + $(use_enable lilo) \ + $(use_enable usbhost) \ + ${myconf} +} + +src_install() { + emake DESTDIR="${D}" INSTALL_PROGRAM="install" install + + insinto /usr/share/${PN} + doins -r "${WORKDIR}"/afros + + dodoc "${D}"/usr/share/doc/${PN}/* + rm -r "${D}"/usr/share/doc/${PN} || die +} + +pkg_postinst() { + elog "To run ARAnyM with AFROS type: aranym --config /usr/share/aranym/afros/config" +} diff --git a/app-emulation/aranym/metadata.xml b/app-emulation/aranym/metadata.xml new file mode 100644 index 000000000000..d60a27928e66 --- /dev/null +++ b/app-emulation/aranym/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>maintainer-needed@gentoo.org</email> + </maintainer> + <longdescription> + ARAnyM is an acronym: Atari Running on Any Machine. It is a virtual + machine software for running the Atari ST/TT/Falcon operating systems + (TOS, FreeMiNT, MagiC and others) and TOS/GEM applications. In the + combination of ARAnyM/Linux and AFROS you basically get a completely + free TOS/MiNT compatible operating system running on any machine. + That's a break-through for all Atari users - now you can turn almost + any hardware into your familiar TOS/GEM system. + </longdescription> + <use> + <flag name="fullmmu">Enable full 68040 MMU emulation</flag> + <flag name="lilo">Enable Linux-m68k loader</flag> + <flag name="usbhost">Enable NatFeat USB</flag> + </use> + <upstream> + <remote-id type="sourceforge">aranym</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/armv8-fast-model/Manifest b/app-emulation/armv8-fast-model/Manifest new file mode 100644 index 000000000000..bf823aae7bd6 --- /dev/null +++ b/app-emulation/armv8-fast-model/Manifest @@ -0,0 +1 @@ +DIST FM000-KT-00035-r0p8-52rel06.tgz 9429294 SHA256 a011c7549029fe5c475f2d495b225b93317a44eb3da0f19f2825ad831c64d899 SHA512 349470432e8dba9e52eba88b577b22fdd9e3ce865288a3dc1540c58e1e10b4f2c14f084f7a4928993e4d1d3bc7cfbbf235f2575394254f09a8d845b7b2993f12 WHIRLPOOL e95ed1315f264ed82f2debd903ad69a6437798d88727e275285d1d06c5da1a5841b9955e93b6dbdc446ad652ef383a37cfe0f43a3888f23ec428a67a765e6ac7 diff --git a/app-emulation/armv8-fast-model/armv8-fast-model-0.8.5206.ebuild b/app-emulation/armv8-fast-model/armv8-fast-model-0.8.5206.ebuild new file mode 100644 index 000000000000..da6bf36f74b7 --- /dev/null +++ b/app-emulation/armv8-fast-model/armv8-fast-model-0.8.5206.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils multilib + +MY_P="FM000-KT-00035-r${PV:0:1}p${PV:2:1}-${PV:0-4:2}rel${PV:0-2}" +DESCRIPTION="emulator for a basic ARMv8 platform environment (for running bare metal & Linux)" +HOMEPAGE="https://silver.arm.com/browse/FM00A" +SRC_URI="https://silver.arm.com/download/Development_Tools/ESL:_Fast_Models/Fast_Models/${MY_P}/${MY_P}.tgz" + +LICENSE="ARM-FAST-MODEL" +SLOT="0" +KEYWORDS="-* ~amd64" +IUSE="examples" +RESTRICT="fetch strip" + +RDEPEND="sys-libs/glibc + sys-devel/gcc" + +S="${WORKDIR}/Foundation_v8pkg" + +QA_PREBUILT=" + opt/${PN}/bin/Foundation_v8 + opt/${PN}/*/lib*.so* +" + +pkg_nofetch() { + einfo "Please visit this URL to download the package:" + einfo " ${SRC_URI}" + einfo "Then stick it into ${DISTDIR}" +} + +src_install() { + into /opt/${PN} + pushd models/Linux64_GCC-4.1 >/dev/null + dobin Foundation_v8 + dolib.so lib*.so* + popd >/dev/null + + dodir /opt/bin + make_wrapper Foundation_v8 /opt/${PN}/bin/Foundation_v8 '' /opt/${PN}/$(get_libdir) /opt/bin + + dodoc doc/*.{pdf,txt} + use examples && dodoc -r examples +} diff --git a/app-emulation/armv8-fast-model/metadata.xml b/app-emulation/armv8-fast-model/metadata.xml new file mode 100644 index 000000000000..5454528f2093 --- /dev/null +++ b/app-emulation/armv8-fast-model/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>arm</herd> +</pkgmetadata> diff --git a/app-emulation/bochs/Manifest b/app-emulation/bochs/Manifest new file mode 100644 index 000000000000..d45da42ec9bc --- /dev/null +++ b/app-emulation/bochs/Manifest @@ -0,0 +1 @@ +DIST bochs-2.6.tar.gz 4212828 SHA256 65123e44a6d2c1148d741da025d16311b9ccd600ef268b911aba73c67eaf86e1 SHA512 506e7816c96caf56005c74df20d243aef111dded41b65dbf440844af3d49bc5987af333ef65a53f90de9fbdfc4d18e3e23fff1157ccb08bd95afff8fdbbcfba3 WHIRLPOOL 4598ad37b6792a001e3301770318c6a6d53bda98dc9a21337db4659573d8bf4ec64cf3376386f5e298dc25813c9bcc5e29b7a82383b96c1e2f82c77a75877001 diff --git a/app-emulation/bochs/bochs-2.6.ebuild b/app-emulation/bochs/bochs-2.6.ebuild new file mode 100644 index 000000000000..78fef9536d8c --- /dev/null +++ b/app-emulation/bochs/bochs-2.6.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +WX_GTK_VER=2.8 + +inherit eutils wxwidgets + +DESCRIPTION="LGPL-ed pc emulator" +HOMEPAGE="http://bochs.sourceforge.net/" +SRC_URI="mirror://sourceforge/bochs/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86" +IUSE="3dnow avx debugger doc gdb ncurses readline svga sdl +smp wxwidgets vnc X +x86-64" +REQUIRED_USE="avx? ( x86-64 ) + gdb? ( !debugger !smp ) + debugger? ( !gdb )" + +RDEPEND="X? ( x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXpm ) + sdl? ( media-libs/libsdl ) + svga? ( media-libs/svgalib ) + wxwidgets? ( x11-libs/wxGTK:2.8[X] ) + readline? ( sys-libs/readline ) + ncurses? ( sys-libs/ncurses )" + +DEPEND="${RDEPEND} + doc? ( app-text/docbook-sgml-utils ) + X? ( x11-proto/xproto ) + sys-apps/sed + >=app-text/opensp-1.5" + +src_prepare() { + sed -i "s:^docdir.*:docdir = ${EPREFIX}/usr/share/doc/${PF}:" \ + Makefile.in || die +} + +src_configure() { + use wxwidgets && \ + need-wxwidgets unicode + + econf \ + --enable-all-optimizations \ + --enable-idle-hack \ + --enable-cdrom \ + --enable-clgd54xx \ + --enable-cpu-level=6 \ + --enable-disasm \ + --enable-e1000 \ + --enable-gameport \ + --enable-iodebug \ + --enable-monitor-mwait \ + --enable-ne2000 \ + --enable-plugins \ + --enable-pci \ + --enable-pcidev \ + --enable-pnic \ + --enable-raw-serial \ + --enable-sb16=linux \ + --enable-usb \ + --enable-usb-ohci \ + --enable-usb-xhci \ + --prefix=/usr \ + --with-nogui \ + $(use_enable 3dnow) \ + $(use_enable avx) \ + $(use_enable debugger) \ + $(use_enable doc docbook) \ + $(use_enable gdb gdb-stub) \ + $(use_enable readline) \ + $(use_enable smp) \ + $(use_enable x86-64) \ + $(use_with ncurses term) \ + $(use_with sdl) \ + $(use_with svga) \ + $(use_with vnc rfb) \ + $(use_with wxwidgets wx) \ + $(use_with X x) \ + $(use_with X x11) \ + ${myconf} +} diff --git a/app-emulation/bochs/metadata.xml b/app-emulation/bochs/metadata.xml new file mode 100644 index 000000000000..2afe2cec494c --- /dev/null +++ b/app-emulation/bochs/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>lu_zero@gentoo.org</email> + </maintainer> + <use> + <flag name="3dnow">Enable support for emulating 3DNow! instructions (incomplete)</flag> + <flag name="debugger">Enable the bochs debugger</flag> + <flag name="avx">Enable support for emulating Advanced Vector Extensions (AVX)</flag> + <flag name="debugger">Enable debugger (slows down emulation)</flag> + <flag name="gdb">Enable support for the remote GDB stub</flag> + <flag name="x86-64">Enable support for emulation of 64-bit CPUs</flag> + </use> + <upstream> + <remote-id type="sourceforge">bochs</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest new file mode 100644 index 000000000000..93c02cdc8f48 --- /dev/null +++ b/app-emulation/cloud-init/Manifest @@ -0,0 +1,2 @@ +DIST cloud-init-0.7.5.tar.gz 503717 SHA256 a92bb83809c139a7db378916414c18b0819e306852d6c60dd89388868857ed33 SHA512 79e1e4a9e1130a3a9deb0482278215baf5ed41e02beebed0a2c6fac4e215340a9537158bd259758a2e074f334c0c0b9e7b936c23eeb9c848c67f7e7835cf0f5d WHIRLPOOL 7d92a0e1b6a3faf550bc442b02c117280c47d160e7e318d9fb859d6d8b59a0ef947d057dfb615bd925420a25ca28852742ee87ffd6066664faf640ca53a13073 +DIST cloud-init-0.7.6.tar.gz 515670 SHA256 9e8fd22eb7f6e40ae6a5f66173ddc3cc18f65ee406c460a728092b37db2f3ed7 SHA512 aa2397328afda8e77ed6d642e7642f41a4b4b5bcd3d0e87056aa8c88b56624ec65c57cfc66b0d13ccc235f1840baf1d577316974902a0439cf2f2eb0f8eef36d WHIRLPOOL 639a556e51b4b4b180951f9e481f9a0dcd45067d1d5760ce7e871ceea8bbb4e195258d96273d3ef88c7e2f2520318e9172c3ad0cb23d6ad0ae1835e17087e3a5 diff --git a/app-emulation/cloud-init/cloud-init-0.7.5-r1.ebuild b/app-emulation/cloud-init/cloud-init-0.7.5-r1.ebuild new file mode 100644 index 000000000000..2b8007b430dc --- /dev/null +++ b/app-emulation/cloud-init/cloud-init-0.7.5-r1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 eutils multilib + +DESCRIPTION="Package provides configuration and customization of cloud instance" +HOMEPAGE="https://launchpad.net/cloud-init" +SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" + +RDEPEND="dev-python/cheetah[${PYTHON_USEDEP}] + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] + dev-python/oauth[${PYTHON_USEDEP}] + dev-python/pyserial[${PYTHON_USEDEP}] + dev-python/configobj[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + test? ( ${RDEPEND} + sys-apps/iproute2 )" + +PATCHES=( "${FILESDIR}"/${P}-tests-exclude.patch ) + +#python_prepare_all() { +# distutils-r_python_prepare_all +#} + +python_test() { + # These tests are not broken but expect to locate an installed exe file + # other than where a gentoo system installs it; (/bin/ip sought in /sbin) + # See cloudinit/sources/DataSourceOpenNebula.py for possible patching + sed -e 's:test_hostname:_&:' \ + -e 's:test_network_interfaces:_&:' \ + -i tests/unittests/test_datasource/test_opennebula.py + emake test +} + +python_install() { + distutils-r1_python_install + for svc in config final init init-local; do + newinitd "${WORKDIR}/${P}/sysvinit/gentoo/cloud-${svc}" "cloud-${svc}" + done +} diff --git a/app-emulation/cloud-init/cloud-init-0.7.5-r2.ebuild b/app-emulation/cloud-init/cloud-init-0.7.5-r2.ebuild new file mode 100644 index 000000000000..6d04f898d9c0 --- /dev/null +++ b/app-emulation/cloud-init/cloud-init-0.7.5-r2.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_SINGLE_IMPL=TRUE + +inherit distutils-r1 eutils multilib systemd + +DESCRIPTION="Cloud instance initialization" +HOMEPAGE="http://launchpad.net/cloud-init" +SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" + +CDEPEND=" + dev-python/cheetah[${PYTHON_USEDEP}] + dev-python/configobj[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}] + dev-python/oauth[${PYTHON_USEDEP}] + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] + dev-python/pyserial[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] +" +DEPEND=" + test? ( + ${CDEPEND} + >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}] + dev-python/mocker[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] + dev-python/pep8[${PYTHON_USEDEP}] + dev-python/pyflakes[${PYTHON_USEDEP}] + dev-python/pylint[${PYTHON_USEDEP}] + sys-apps/iproute2 + ) +" +RDEPEND=" + ${CDEPEND} + virtual/logger +" + +python_prepare_all() { + local PATCHES=( + "${FILESDIR}"/${P}-tests-exclude.patch + ) + + distutils-r1_python_prepare_all + + # Skip SmartOS tests since they don't generally apply and don't skip based + # on environment. Documented in bug #511384. + rm tests/unittests/test_datasource/test_smartos.py +} + +python_test() { + # These tests are not broken but expect to locate an installed exe file + # other than where a gentoo system installs it; (/bin/ip sought in /sbin) + # See cloudinit/sources/DataSourceOpenNebula.py for possible patching + sed \ + -e 's:test_hostname:_&:' \ + -e 's:test_network_interfaces:_&:' \ + -i tests/unittests/test_datasource/test_opennebula.py + + emake test +} + +python_install_all() { + distutils-r1_python_install_all + + doinitd "${S}"/sysvinit/gentoo/cloud-config + doinitd "${S}"/sysvinit/gentoo/cloud-final + doinitd "${S}"/sysvinit/gentoo/cloud-init + doinitd "${S}"/sysvinit/gentoo/cloud-init-local + + systemd_dounit "${S}"/systemd/cloud-config.service + systemd_dounit "${S}"/systemd/cloud-config.target + systemd_dounit "${S}"/systemd/cloud-final.service + systemd_dounit "${S}"/systemd/cloud-init-local.service + systemd_dounit "${S}"/systemd/cloud-init.service +} diff --git a/app-emulation/cloud-init/cloud-init-0.7.5-r3.ebuild b/app-emulation/cloud-init/cloud-init-0.7.5-r3.ebuild new file mode 100644 index 000000000000..a30aedd0c2f9 --- /dev/null +++ b/app-emulation/cloud-init/cloud-init-0.7.5-r3.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_SINGLE_IMPL=TRUE + +inherit distutils-r1 eutils multilib systemd + +DESCRIPTION="Cloud instance initialization" +HOMEPAGE="http://launchpad.net/cloud-init" +SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" + +CDEPEND=" + dev-python/cheetah[${PYTHON_USEDEP}] + dev-python/configobj[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}] + dev-python/oauth[${PYTHON_USEDEP}] + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] + dev-python/pyserial[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] +" +DEPEND=" + test? ( + ${CDEPEND} + >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}] + dev-python/mocker[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] + dev-python/pep8[${PYTHON_USEDEP}] + dev-python/pyflakes[${PYTHON_USEDEP}] + dev-python/pylint[${PYTHON_USEDEP}] + sys-apps/iproute2 + ) +" +RDEPEND=" + ${CDEPEND} + virtual/logger +" + +python_prepare_all() { + local PATCHES=( + "${FILESDIR}"/${P}-tests-exclude.patch + ) + + distutils-r1_python_prepare_all + + # Skip SmartOS tests since they don't generally apply and don't skip based + # on environment. Documented in bug #511384. + rm tests/unittests/test_datasource/test_smartos.py +} + +python_test() { + # These tests are not broken but expect to locate an installed exe file + # other than where a gentoo system installs it; (/bin/ip sought in /sbin) + # See cloudinit/sources/DataSourceOpenNebula.py for possible patching + sed \ + -e 's:test_hostname:_&:' \ + -e 's:test_network_interfaces:_&:' \ + -i tests/unittests/test_datasource/test_opennebula.py + + emake test +} + +python_install_all() { + distutils-r1_python_install_all + + doinitd "${S}"/sysvinit/gentoo/cloud-config + doinitd "${S}"/sysvinit/gentoo/cloud-final + doinitd "${S}"/sysvinit/gentoo/cloud-init + doinitd "${S}"/sysvinit/gentoo/cloud-init-local + + systemd_dounit "${S}"/systemd/cloud-config.service + systemd_dounit "${S}"/systemd/cloud-config.target + systemd_dounit "${S}"/systemd/cloud-final.service + systemd_dounit "${S}"/systemd/cloud-init-local.service + systemd_dounit "${S}"/systemd/cloud-init.service + + rm /etc/cloud/cloud.cfg + insinto /etc/cloud + doins "${FILESDIR}/cloud.cfg" +} diff --git a/app-emulation/cloud-init/cloud-init-0.7.6-r1.ebuild b/app-emulation/cloud-init/cloud-init-0.7.6-r1.ebuild new file mode 100644 index 000000000000..e6f4ac9b48c7 --- /dev/null +++ b/app-emulation/cloud-init/cloud-init-0.7.6-r1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 eutils multilib systemd + +DESCRIPTION="EC2 initialisation magic" +HOMEPAGE="http://launchpad.net/cloud-init" +SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" + +CDEPEND=" + dev-python/cheetah[${PYTHON_USEDEP}] + dev-python/configobj[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}] + dev-python/oauth[${PYTHON_USEDEP}] + dev-python/prettytable[${PYTHON_USEDEP}] + dev-python/pyserial[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] +" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + ${CDEPEND} + >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}] + dev-python/mocker[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] + ~dev-python/pep8-1.5.7[${PYTHON_USEDEP}] + dev-python/pyflakes[${PYTHON_USEDEP}] + sys-apps/iproute2 + ) +" +RDEPEND=" + ${CDEPEND} + sys-apps/gptfdisk + virtual/logger +" + +python_prepare_all() { + # Note: Gentoo places ip in /sbin/ not /bin/ + ebegin 'patching cloudinit/sources/DataSourceOpenNebula.py' + sed \ + -e '438s/sbin/bin/' \ + -i cloudinit/sources/DataSourceOpenNebula.py + STATUS=$? + eend ${STATUS} + [[ ${STATUS} -gt 0 ]] && die + + # https://bugs.launchpad.net/cloud-init/+bug/1380424 + ebegin 'patching tests/unittests/test_distros/test_netconfig.py' + sed \ + -e '177s/test_simple_write_freebsd/_&/' \ + -i tests/unittests/test_distros/test_netconfig.py + STATUS=$? + eend ${STATUS} + [[ ${STATUS} -gt 0 ]] && die + + # Note Gentoo installs its own RC files + ebegin 'patching setup.py' + sed \ + -e "144 s/'tests'/'tests.*', &/" \ + -e '163,167 d' \ + -i setup.py + STATUS=$? + eend ${STATUS} + [[ ${STATUS} -gt 0 ]] && die + + distutils-r1_python_prepare_all +} + +python_test() { + emake test +} + +python_install_all() { + keepdir /etc/cloud + + distutils-r1_python_install_all + + doinitd "${S}"/sysvinit/gentoo/cloud-config + doinitd "${S}"/sysvinit/gentoo/cloud-final + doinitd "${S}"/sysvinit/gentoo/cloud-init + doinitd "${S}"/sysvinit/gentoo/cloud-init-local + insinto /etc/cloud/templates + doins "${FILESDIR}/hosts.gentoo.tmpl" + exeinto /usr/bin + doexe "${FILESDIR}/growpart" + insinto /etc/cloud + doins "${FILESDIR}/cloud.cfg" + + systemd_dounit "${S}"/systemd/cloud-config.service + systemd_dounit "${S}"/systemd/cloud-config.target + systemd_dounit "${S}"/systemd/cloud-final.service + systemd_dounit "${S}"/systemd/cloud-init-local.service + systemd_dounit "${S}"/systemd/cloud-init.service +} diff --git a/app-emulation/cloud-init/cloud-init-0.7.6.ebuild b/app-emulation/cloud-init/cloud-init-0.7.6.ebuild new file mode 100644 index 000000000000..07a19188176a --- /dev/null +++ b/app-emulation/cloud-init/cloud-init-0.7.6.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 eutils multilib systemd + +DESCRIPTION="EC2 initialisation magic" +HOMEPAGE="http://launchpad.net/cloud-init" +SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="test" + +CDEPEND=" + dev-python/cheetah[${PYTHON_USEDEP}] + dev-python/configobj[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}] + dev-python/oauth[${PYTHON_USEDEP}] + dev-python/prettytable[${PYTHON_USEDEP}] + dev-python/pyserial[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] +" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + ${CDEPEND} + >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}] + dev-python/mocker[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] + ~dev-python/pep8-1.5.7[${PYTHON_USEDEP}] + dev-python/pyflakes[${PYTHON_USEDEP}] + sys-apps/iproute2 + ) +" +RDEPEND=" + ${CDEPEND} + virtual/logger +" + +python_prepare_all() { + # Note: Gentoo places ip in /sbin/ not /bin/ + ebegin 'patching cloudinit/sources/DataSourceOpenNebula.py' + sed \ + -e '438s/sbin/bin/' \ + -i cloudinit/sources/DataSourceOpenNebula.py + STATUS=$? + eend ${STATUS} + [[ ${STATUS} -gt 0 ]] && die + + # https://bugs.launchpad.net/cloud-init/+bug/1380424 + ebegin 'patching tests/unittests/test_distros/test_netconfig.py' + sed \ + -e '177s/test_simple_write_freebsd/_&/' \ + -i tests/unittests/test_distros/test_netconfig.py + STATUS=$? + eend ${STATUS} + [[ ${STATUS} -gt 0 ]] && die + + # Note Gentoo installs its own RC files + ebegin 'patching setup.py' + sed \ + -e "144 s/'tests'/'tests.*', &/" \ + -e '163,167 d' \ + -i setup.py + STATUS=$? + eend ${STATUS} + [[ ${STATUS} -gt 0 ]] && die + + distutils-r1_python_prepare_all +} + +python_test() { + emake test +} + +python_install_all() { + keepdir /etc/cloud + + distutils-r1_python_install_all + + doinitd "${S}"/sysvinit/gentoo/cloud-config + doinitd "${S}"/sysvinit/gentoo/cloud-final + doinitd "${S}"/sysvinit/gentoo/cloud-init + doinitd "${S}"/sysvinit/gentoo/cloud-init-local + + systemd_dounit "${S}"/systemd/cloud-config.service + systemd_dounit "${S}"/systemd/cloud-config.target + systemd_dounit "${S}"/systemd/cloud-final.service + systemd_dounit "${S}"/systemd/cloud-init-local.service + systemd_dounit "${S}"/systemd/cloud-init.service +} diff --git a/app-emulation/cloud-init/files/cloud-init-0.7.5-tests-exclude.patch b/app-emulation/cloud-init/files/cloud-init-0.7.5-tests-exclude.patch new file mode 100644 index 000000000000..225f1a1d76c0 --- /dev/null +++ b/app-emulation/cloud-init/files/cloud-init-0.7.5-tests-exclude.patch @@ -0,0 +1,12 @@ +diff -ur cloud-init-0.7.5.orig/setup.py cloud-init-0.7.5/setup.py +--- setup.py 2014-04-02 02:26:07.000000000 +0800 ++++ setup.py 2014-05-01 23:38:15.848225975 +0800 +@@ -114,7 +114,7 @@ + author='Scott Moser', + author_email='scott.moser@canonical.com', + url='http://launchpad.net/cloud-init/', +- packages=setuptools.find_packages(exclude=['tests']), ++ packages=setuptools.find_packages(exclude=['tests','tests.*']), + scripts=['bin/cloud-init', + 'tools/cloud-init-per', + ], diff --git a/app-emulation/cloud-init/files/cloud.cfg b/app-emulation/cloud-init/files/cloud.cfg new file mode 100644 index 000000000000..d62e3a22241b --- /dev/null +++ b/app-emulation/cloud-init/files/cloud.cfg @@ -0,0 +1,79 @@ +# The top level settings are used as module +# and system configuration. + +# A set of users which may be applied and/or used by various modules +# when a 'default' entry is found it will reference the 'default_user' +# from the distro configuration specified below +users: + - default + +# If this is set, 'root' will not be able to ssh in and they +# will get a message to login instead as the above $user (ubuntu) +disable_root: true +ssh_pwauth: false + +# This will cause the set+update hostname module to not operate (if true) +# preserve_hostname: false + +syslog_fix_perms: root:root + +ssh_deletekeys: false +ssh_genkeytypes: [rsa, dsa] + +cloud_init_modules: + - seed_random + - bootcmd + - write-files + - growpart + - resizefs + - set_hostname + - update_hostname + - update_etc_hosts + - ca-certs + - users-groups + - ssh + +cloud_config_modules: + - disk_setup + - mounts + - ssh-import-id + - set-passwords + - timezone + - puppet + - chef + - salt-minion + - mcollective + - disable-ec2-metadata + - runcmd + +cloud_final_modules: + - scripts-vendor + - scripts-per-once + - scripts-per-boot + - scripts-per-instance + - scripts-user + - ssh-authkey-fingerprints + - keys-to-console + - phone-home + - final-message + - power-state-change + +# System and/or distro specific settings +# (not accessible to handlers/transforms) +system_info: + # This will affect which distro class gets used + distro: gentoo + # Default user name + that default users groups (if added/used) + default_user: + name: gentoo + lock_passwd: True + gecos: Gentoo + groups: [users, wheel] + primary_group: users + no-user-group: true + sudo: ["ALL=(ALL) NOPASSWD:ALL"] + shell: /bin/bash + # Other config here will be given to the distro class and/or path classes + paths: + cloud_dir: /var/lib/cloud/ + templates_dir: /etc/cloud/templates/ diff --git a/app-emulation/cloud-init/files/growpart b/app-emulation/cloud-init/files/growpart new file mode 100755 index 000000000000..4b67d8b90822 --- /dev/null +++ b/app-emulation/cloud-init/files/growpart @@ -0,0 +1,778 @@ +#!/bin/sh +# Copyright (C) 2011 Canonical Ltd. +# Copyright (C) 2013 Hewlett-Packard Development Company, L.P. +# +# Authors: Scott Moser <smoser@canonical.com> +# Juerg Haefliger <juerg.haefliger@hp.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# the fudge factor. if within this many bytes dont bother +FUDGE=${GROWPART_FUDGE:-$((1024*1024))} +TEMP_D="" +RESTORE_FUNC="" +RESTORE_HUMAN="" +VERBOSITY=0 +DISK="" +PART="" +PT_UPDATE=false +DRY_RUN=0 + +SFDISK_VERSION="" +SFDISK_2_26="22600" +MBR_BACKUP="" +GPT_BACKUP="" +_capture="" + +error() { + echo "$@" 1>&2 +} + +fail() { + [ $# -eq 0 ] || echo "FAILED:" "$@" + exit 2 +} + +nochange() { + echo "NOCHANGE:" "$@" + exit 1 +} + +changed() { + echo "CHANGED:" "$@" + exit 0 +} + +change() { + echo "CHANGE:" "$@" + exit 0 +} + +cleanup() { + if [ -n "${RESTORE_FUNC}" ]; then + error "***** WARNING: Resize failed, attempting to revert ******" + if ${RESTORE_FUNC} ; then + error "***** Appears to have gone OK ****" + else + error "***** FAILED! ******" + if [ -n "${RESTORE_HUMAN}" -a -f "${RESTORE_HUMAN}" ]; then + error "**** original table looked like: ****" + cat "${RESTORE_HUMAN}" 1>&2 + else + error "We seem to have not saved the partition table!" + fi + fi + fi + [ -z "${TEMP_D}" -o ! -d "${TEMP_D}" ] || rm -Rf "${TEMP_D}" +} + +debug() { + local level=${1} + shift + [ "${level}" -gt "${VERBOSITY}" ] && return + if [ "${DEBUG_LOG}" ]; then + echo "$@" >>"${DEBUG_LOG}" + else + error "$@" + fi +} + +debugcat() { + local level="$1" + shift; + [ "${level}" -gt "$VERBOSITY" ] && return + if [ "${DEBUG_LOG}" ]; then + cat "$@" >>"${DEBUG_LOG}" + else + cat "$@" 1>&2 + fi +} + +mktemp_d() { + # just a mktemp -d that doens't need mktemp if its not there. + _RET=$(mktemp -d "${TMPDIR:-/tmp}/${0##*/}.XXXXXX" 2>/dev/null) && + return + _RET=$(umask 077 && t="${TMPDIR:-/tmp}/${0##*/}.$$" && + mkdir "${t}" && echo "${t}") + return +} + +Usage() { + cat <<EOF +${0##*/} disk partition + rewrite partition table so that partition takes up all the space it can + options: + -h | --help print Usage and exit + --fudge F if part could be resized, but change would be + less than 'F' bytes, do not resize (default: ${FUDGE}) + -N | --dry-run only report what would be done, show new 'sfdisk -d' + -v | --verbose increase verbosity / debug + -u | --update R update the the kernel partition table info after growing + this requires kernel support and 'partx --update' + R is one of: + - 'auto' : [default] update partition if possible + - 'force' : try despite sanity checks (fail on failure) + - 'off' : do not attempt + - 'on' : fail if sanity checks indicate no support + + Example: + - ${0##*/} /dev/sda 1 + Resize partition 1 on /dev/sda +EOF +} + +bad_Usage() { + Usage 1>&2 + error "$@" + exit 2 +} + +sfdisk_restore_legacy() { + sfdisk --no-reread "${DISK}" -I "${MBR_BACKUP}" +} + +sfdisk_restore() { + # files are named: sfdisk-<device>-<offset>.bak + local f="" offset="" fails=0 + for f in "${MBR_BACKUP}"*.bak; do + [ -f "$f" ] || continue + offset=${f##*-} + offset=${offset%.bak} + [ "$offset" = "$f" ] && { + error "WARN: confused by file $f"; + continue; + } + dd "if=$f" "of=${DISK}" seek=$(($offset)) bs=1 conv=notrunc || + { error "WARN: failed restore from $f"; fails=$(($fails+1)); } + done + return $fails +} + +sfdisk_worked_but_blkrrpart_failed() { + local ret="$1" output="$2" + # exit code found was just 1, but dont insist on that + #[ $ret -eq 1 ] || return 1 + # Successfully wrote the new partition table + grep -qi "Success.* wrote.* new.* partition" "$output" && + grep -qi "BLKRRPART: Device or resource busy" "$output" + return +} + +get_sfdisk_version() { + # set SFDISK_VERSION to MAJOR*10000+MINOR*100+MICRO + local out oifs="$IFS" ver="" + [ -n "$SFDISK_VERSION" ] && return 0 + # expected output: sfdisk from util-linux 2.25.2 + out=$(sfdisk --version) || + { error "failed to get sfdisk version"; return 1; } + set -- $out + ver=$4 + case "$ver" in + [0-9]*.[0-9]*.[0-9]|[0-9].[0-9]*) + IFS="."; set -- $ver; IFS="$oifs" + SFDISK_VERSION=$(($1*10000+$2*100+${3:-0})) + return 0;; + *) error "unexpected output in sfdisk --version [$out]" + return 1;; + esac +} + +resize_sfdisk() { + local humanpt="${TEMP_D}/recovery" + local mbr_backup="${TEMP_D}/orig.save" + local restore_func="" + local format="$1" + + local change_out=${TEMP_D}/change.out + local dump_out=${TEMP_D}/dump.out + local new_out=${TEMP_D}/new.out + local dump_mod=${TEMP_D}/dump.mod + local tmp="${TEMP_D}/tmp.out" + local err="${TEMP_D}/err.out" + local mbr_max_512="4294967296" + + local pt_start pt_size pt_end max_end new_size change_info dpart + local sector_num sector_size disk_size tot out + + rqe sfd_list sfdisk --list --unit=S "$DISK" >"$tmp" || + fail "failed: sfdisk --list $DISK" + if [ "${SFDISK_VERSION}" -lt ${SFDISK_2_26} ]; then + # exected output contains: Units: sectors of 512 bytes, ... + out=$(awk '$1 == "Units:" && $5 ~ /bytes/ { print $4 }' "$tmp") || + fail "failed to read sfdisk output" + if [ -z "$out" ]; then + error "WARN: sector size not found in sfdisk output, assuming 512" + sector_size=512 + else + sector_size="$out" + fi + local _w _cyl _w1 _heads _w2 sectors _w3 t s + # show-size is in units of 1024 bytes (same as /proc/partitions) + t=$(sfdisk --show-size "${DISK}") || + fail "failed: sfdisk --show-size $DISK" + disk_size=$((t*1024)) + sector_num=$(($disk_size/$sector_size)) + msg="disk size '$disk_size' not evenly div by sector size '$sector_size'" + [ "$((${disk_size}%${sector_size}))" -eq 0 ] || + error "WARN: $msg" + restore_func=sfdisk_restore_legacy + else + # --list first line output: + # Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors + local _x + read _x _x _x _x disk_size _x sector_num _x < "$tmp" + sector_size=$((disk_size/$sector_num)) + restore_func=sfdisk_restore + fi + + debug 1 "$sector_num sectors of $sector_size. total size=${disk_size} bytes" + [ $(($disk_size/512)) -gt $mbr_max_512 ] && + debug 1 "WARN: disk is larger than 2TB. additional space will go unused." + + rqe sfd_dump sfdisk --unit=S --dump "${DISK}" >"${dump_out}" || + fail "failed to dump sfdisk info for ${DISK}" + RESTORE_HUMAN="$dump_out" + + { + echo "## sfdisk --unit=S --dump ${DISK}" + cat "${dump_out}" + } >"$humanpt" + + [ $? -eq 0 ] || fail "failed to save sfdisk -d output" + RESTORE_HUMAN="$humanpt" + + debugcat 1 "$humanpt" + + sed -e 's/,//g; s/start=/start /; s/size=/size /' "${dump_out}" \ + >"${dump_mod}" || + fail "sed failed on dump output" + + dpart="${DISK}${PART}" # disk and partition number + if [ -b "${DISK}p${PART}" -a "${DISK%[0-9]}" != "${DISK}" ]; then + # for block devices that end in a number (/dev/nbd0) + # the partition is "<name>p<partition_number>" (/dev/nbd0p1) + dpart="${DISK}p${PART}" + elif [ "${DISK#/dev/loop[0-9]}" != "${DISK}" ]; then + # for /dev/loop devices, sfdisk output will be <name>p<number> + # format also, even though there is not a device there. + dpart="${DISK}p${PART}" + fi + + pt_start=$(awk '$1 == pt { print $4 }' "pt=${dpart}" <"${dump_mod}") && + pt_size=$(awk '$1 == pt { print $6 }' "pt=${dpart}" <"${dump_mod}") && + [ -n "${pt_start}" -a -n "${pt_size}" ] && + pt_end=$((${pt_size}+${pt_start})) || + fail "failed to get start and end for ${dpart} in ${DISK}" + + # find the minimal starting location that is >= pt_end + max_end=$(awk '$3 == "start" { if($4 >= pt_end && $4 < min) + { min = $4 } } END { printf("%s\n",min); }' \ + min=${sector_num} pt_end=${pt_end} "${dump_mod}") && + [ -n "${max_end}" ] || + fail "failed to get max_end for partition ${PART}" + + mbr_max_sectors=$((mbr_max_512*$((sector_size/512)))) + if [ "$max_end" -gt "$mbr_max_sectors" ]; then + max_end=$mbr_max_sectors + fi + + if [ "$format" = "gpt" ]; then + # sfdisk respects 'last-lba' in input, and complains about + # partitions that go past that. without it, it does the right thing. + sed -i '/^last-lba:/d' "$dump_out" || + fail "failed to remove last-lba from output" + fi + + local gpt_second_size="33" + if [ "${max_end}" -gt "$((${sector_num}-${gpt_second_size}))" ]; then + # if mbr allow subsequent conversion to gpt without shrinking the + # partition. safety net at cost of 33 sectors, seems reasonable. + # if gpt, we can't write there anyway. + debug 1 "padding ${gpt_second_size} sectors for gpt secondary header" + max_end=$((${sector_num}-${gpt_second_size})) + fi + + debug 1 "max_end=${max_end} tot=${sector_num} pt_end=${pt_end}" \ + "pt_start=${pt_start} pt_size=${pt_size}" + [ $((${pt_end})) -eq ${max_end} ] && + nochange "partition ${PART} is size ${pt_size}. it cannot be grown" + [ $((${pt_end}+(${FUDGE}/$sector_size))) -gt ${max_end} ] && + nochange "partition ${PART} could only be grown by" \ + "$((${max_end}-${pt_end})) [fudge=$((${FUDGE}/$sector_size))]" + + # now, change the size for this partition in ${dump_out} to be the + # new size + new_size=$((${max_end}-${pt_start})) + sed "\|^\s*${dpart} |s/${pt_size},/${new_size},/" "${dump_out}" \ + >"${new_out}" || + fail "failed to change size in output" + + change_info="partition=${PART} start=${pt_start} old: size=${pt_size} end=${pt_end} new: size=${new_size},end=${max_end}" + if [ ${DRY_RUN} -ne 0 ]; then + echo "CHANGE: ${change_info}" + { + echo "# === old sfdisk -d ===" + cat "${dump_out}" + echo "# === new sfdisk -d ===" + cat "${new_out}" + } 1>&2 + exit 0 + fi + + MBR_BACKUP="${mbr_backup}" + LANG=C sfdisk --no-reread "${DISK}" --force \ + -O "${mbr_backup}" <"${new_out}" >"${change_out}" 2>&1 + ret=$? + [ $ret -eq 0 ] || RESTORE_FUNC="${restore_func}" + + if [ $ret -eq 0 ]; then + : + elif $PT_UPDATE && + sfdisk_worked_but_blkrrpart_failed "$ret" "${change_out}"; then + # if the command failed, but it looks like only because + # the device was busy and we have pt_update, then go on + debug 1 "sfdisk failed, but likely only because of blkrrpart" + else + error "attempt to resize ${DISK} failed. sfdisk output below:" + sed 's,^,| ,' "${change_out}" 1>&2 + fail "failed to resize" + fi + + rq pt_update pt_update "$DISK" "$PART" || + fail "pt_resize failed" + + RESTORE_FUNC="" + + changed "${change_info}" + + # dump_out looks something like: + ## partition table of /tmp/out.img + #unit: sectors + # + #/tmp/out.img1 : start= 1, size= 48194, Id=83 + #/tmp/out.img2 : start= 48195, size= 963900, Id=83 + #/tmp/out.img3 : start= 1012095, size= 305235, Id=82 + #/tmp/out.img4 : start= 1317330, size= 771120, Id= 5 + #/tmp/out.img5 : start= 1317331, size= 642599, Id=83 + #/tmp/out.img6 : start= 1959931, size= 48194, Id=83 + #/tmp/out.img7 : start= 2008126, size= 80324, Id=83 +} + +gpt_restore() { + sgdisk -l "${GPT_BACKUP}" "${DISK}" +} + +resize_sgdisk() { + GPT_BACKUP="${TEMP_D}/pt.backup" + + local pt_info="${TEMP_D}/pt.info" + local pt_pretend="${TEMP_D}/pt.pretend" + local pt_data="${TEMP_D}/pt.data" + local out="${TEMP_D}/out" + + local dev="disk=${DISK} partition=${PART}" + + local pt_start pt_end pt_size last pt_max code guid name new_size + local old new change_info sector_size + + # Dump the original partition information and details to disk. This is + # used in case something goes wrong and human interaction is required + # to revert any changes. + rqe sgd_info sgdisk "--info=${PART}" --print "${DISK}" >"${pt_info}" || + fail "${dev}: failed to dump original sgdisk info" + RESTORE_HUMAN="${pt_info}" + + sector_size=$(awk '$0 ~ /^Logical sector size:.*bytes/ { print $4 }' \ + "$pt_info") && [ -n "$sector_size" ] || { + sector_size=512 + error "WARN: did not find sector size, assuming 512" + } + + debug 1 "$dev: original sgdisk info:" + debugcat 1 "${pt_info}" + + # Pretend to move the backup GPT header to the end of the disk and dump + # the resulting partition information. We use this info to determine if + # we have to resize the partition. + rqe sgd_pretend sgdisk --pretend --move-second-header \ + --print "${DISK}" >"${pt_pretend}" || + fail "${dev}: failed to dump pretend sgdisk info" + + debug 1 "$dev: pretend sgdisk info" + debugcat 1 "${pt_pretend}" + + # Extract the partition data from the pretend dump + awk 'found { print } ; $1 == "Number" { found = 1 }' \ + "${pt_pretend}" >"${pt_data}" || + fail "${dev}: failed to parse pretend sgdisk info" + + # Get the start and end sectors of the partition to be grown + pt_start=$(awk '$1 == '"${PART}"' { print $2 }' "${pt_data}") && + [ -n "${pt_start}" ] || + fail "${dev}: failed to get start sector" + pt_end=$(awk '$1 == '"${PART}"' { print $3 }' "${pt_data}") && + [ -n "${pt_end}" ] || + fail "${dev}: failed to get end sector" + pt_size="$((${pt_end} - ${pt_start}))" + + # Get the last usable sector + last=$(awk '/last usable sector is/ { print $NF }' \ + "${pt_pretend}") && [ -n "${last}" ] || + fail "${dev}: failed to get last usable sector" + + # Find the minimal start sector that is >= pt_end + pt_max=$(awk '{ if ($2 >= pt_end && $2 < min) { min = $2 } } END \ + { print min }' min="${last}" pt_end="${pt_end}" \ + "${pt_data}") && [ -n "${pt_max}" ] || + fail "${dev}: failed to find max end sector" + + debug 1 "${dev}: pt_start=${pt_start} pt_end=${pt_end}" \ + "pt_size=${pt_size} pt_max=${pt_max} last=${last}" + + # Check if the partition can be grown + [ "${pt_end}" -eq "${pt_max}" ] && + nochange "${dev}: size=${pt_size}, it cannot be grown" + [ "$((${pt_end} + ${FUDGE}/${sector_size}))" -gt "${pt_max}" ] && + nochange "${dev}: could only be grown by" \ + "$((${pt_max} - ${pt_end})) [fudge=$((${FUDGE}/$sector_size))]" + + # The partition can be grown if we made it here. Get some more info + # about it so we can do it properly. + # FIXME: Do we care about the attribute flags? + code=$(awk '/^Partition GUID code:/ { print $4 }' "${pt_info}") + guid=$(awk '/^Partition unique GUID:/ { print $4 }' "${pt_info}") + name=$(awk '/^Partition name:/ { gsub(/'"'"'/, "") ; \ + if (NF >= 3) print substr($0, index($0, $3)) }' "${pt_info}") + [ -n "${code}" -a -n "${guid}" ] || + fail "${dev}: failed to parse sgdisk details" + + debug 1 "${dev}: code=${code} guid=${guid} name='${name}'" + local wouldrun="" + [ "$DRY_RUN" -ne 0 ] && wouldrun="would-run" + + # Calculate the new size of the partition + new_size=$((${pt_max} - ${pt_start})) + old="old: size=${pt_size},end=${pt_end}" + new="new: size=${new_size},end=${pt_max}" + change_info="${dev}: start=${pt_start} ${old} ${new}" + + # Backup the current partition table, we're about to modify it + rq sgd_backup $wouldrun sgdisk "--backup=${GPT_BACKUP}" "${DISK}" || + fail "${dev}: failed to backup the partition table" + + # Modify the partition table. We do it all in one go (the order is + # important!): + # - move the GPT backup header to the end of the disk + # - delete the partition + # - recreate the partition with the new size + # - set the partition code + # - set the partition GUID + # - set the partition name + rq sgdisk_mod $wouldrun sgdisk --move-second-header "--delete=${PART}" \ + "--new=${PART}:${pt_start}:${pt_max}" \ + "--typecode=${PART}:${code}" \ + "--partition-guid=${PART}:${guid}" \ + "--change-name=${PART}:${name}" "${DISK}" && + rq pt_update $wouldrun pt_update "$DISK" "$PART" || { + RESTORE_FUNC=gpt_restore + fail "${dev}: failed to repartition" + } + + # Dry run + [ "${DRY_RUN}" -ne 0 ] && change "${change_info}" + + changed "${change_info}" +} + +kver_to_num() { + local kver="$1" maj="" min="" mic="0" + kver=${kver%%-*} + maj=${kver%%.*} + min=${kver#${maj}.} + min=${min%%.*} + mic=${kver#${maj}.${min}.} + [ "$kver" = "$mic" ] && mic=0 + _RET=$(($maj*1000*1000+$min*1000+$mic)) +} + +kver_cmp() { + local op="$2" n1="" n2="" + kver_to_num "$1" + n1="$_RET" + kver_to_num "$3" + n2="$_RET" + [ $n1 $op $n2 ] +} + +rq() { + # runquieterror(label, command) + # gobble stderr of a command unless it errors + local label="$1" ret="" efile="" + efile="$TEMP_D/$label.err" + shift; + + local rlabel="running" + [ "$1" = "would-run" ] && rlabel="would-run" && shift + + local cmd="" x="" + for x in "$@"; do + [ "${x#* }" != "$x" -o "${x#* \"}" != "$x" ] && x="'$x'" + cmd="$cmd $x" + done + cmd=${cmd# } + + debug 2 "$rlabel[$label][$_capture]" "$cmd" + [ "$rlabel" = "would-run" ] && return 0 + + if [ "${_capture}" = "erronly" ]; then + "$@" 2>"$TEMP_D/$label.err" + ret=$? + else + "$@" >"$TEMP_D/$label.err" 2>&1 + ret=$? + fi + if [ $ret -ne 0 ]; then + error "failed [$label:$ret]" "$@" + cat "$efile" 1>&2 + fi + return $ret +} + +rqe() { + local _capture="erronly" + rq "$@" +} + +verify_ptupdate() { + local input="$1" found="" reason="" kver="" + + # we can always satisfy 'off' + if [ "$input" = "off" ]; then + _RET="false"; + return 0; + fi + + if command -v partx >/dev/null 2>&1; then + local out="" ret=0 + out=$(partx --help 2>&1) + ret=$? + if [ $ret -eq 0 ]; then + echo "$out" | grep -q -- --update || { + reason="partx has no '--update' flag in usage." + found="off" + } + else + reason="'partx --help' returned $ret. assuming it is old." + found="off" + fi + else + reason="no 'partx' command" + found="off" + fi + + if [ -z "$found" ]; then + if [ "$(uname)" != "Linux" ]; then + reason="Kernel is not Linux per uname." + found="off" + fi + fi + + if [ -z "$found" ]; then + kver=$(uname -r) || debug 1 "uname -r failed!" + + if ! kver_cmp "${kver-0.0.0}" -ge 3.8.0; then + reason="Kernel '$kver' < 3.8.0." + found="off" + fi + fi + + if [ -z "$found" ]; then + _RET="true" + return 0 + fi + + case "$input" in + on) error "$reason"; return 1;; + auto) + _RET="false"; + debug 1 "partition update disabled: $reason" + return 0;; + force) + _RET="true" + error "WARNING: ptupdate forced on even though: $reason" + return 0;; + esac + error "unknown input '$input'"; + return 1; +} + +pt_update() { + local dev="$1" part="$2" update="${3:-$PT_UPDATE}" + if ! $update; then + return 0 + fi + # partx only works on block devices (do not run on file) + [ -b "$dev" ] || return 0 + partx --update "$part" "$dev" +} + +has_cmd() { + command -v "${1}" >/dev/null 2>&1 +} + +resize_sgdisk_gpt() { + resize_sgdisk gpt +} + +resize_sgdisk_dos() { + fail "unable to resize dos label with sgdisk" +} + +resize_sfdisk_gpt() { + resize_sfdisk gpt +} + +resize_sfdisk_dos() { + resize_sfdisk dos +} + +get_table_format() { + local out="" disk="$1" + if has_cmd blkid && out=$(blkid -o value -s PTTYPE "$disk") && + [ "$out" = "dos" -o "$out" = "gpt" ]; then + _RET="$out" + return + fi + _RET="dos" + if [ ${SFDISK_VERSION} -lt ${SFDISK_2_26} ] && + out=$(sfdisk --id --force "$disk" 1 2>/dev/null); then + if [ "$out" = "ee" ]; then + _RET="gpt" + else + _RET="dos" + fi + return + elif out=$(LANG=C sfdisk --list "$disk"); then + out=$(echo "$out" | sed -e '/Disklabel type/!d' -e 's/.*: //') + case "$out" in + gpt|dos) _RET="$out";; + *) error "WARN: unknown label $out";; + esac + fi +} + +get_resizer() { + local format="$1" user=${2:-"auto"} + + case "$user" in + sgdisk) _RET="resize_sgdisk_$format"; return;; + sfdisk) _RET="resize_sfdisk_$format"; return;; + auto) :;; + *) error "unexpected input: '$user'";; + esac + + if [ "$format" = "dos" ]; then + _RET="resize_sfdisk_dos" + return 0 + fi + + if [ "${SFDISK_VERSION}" -ge ${SFDISK_2_26} ]; then + _RET="resize_sfdisk_gpt" + elif has_cmd sgdisk; then + _RET="resize_sgdisk_$format" + else + error "no tools available to resize disk with '$format'" + return 1 + fi + return 0 +} + +pt_update="auto" +resizer=${GROWPART_RESIZER:-"auto"} +while [ $# -ne 0 ]; do + cur=${1} + next=${2} + case "$cur" in + -h|--help) + Usage + exit 0 + ;; + --fudge) + FUDGE=${next} + shift + ;; + -N|--dry-run) + DRY_RUN=1 + ;; + -u|--update|--update=*) + if [ "${cur#--update=}" != "$cur" ]; then + next="${cur#--update=}" + else + shift + fi + case "$next" in + off|auto|force|on) pt_update=$next;; + *) fail "unknown --update option: $next";; + esac + ;; + -v|--verbose) + VERBOSITY=$(($VERBOSITY+1)) + ;; + --) + shift + break + ;; + -*) + fail "unknown option ${cur}" + ;; + *) + if [ -z "${DISK}" ]; then + DISK=${cur} + else + [ -z "${PART}" ] || fail "confused by arg ${cur}" + PART=${cur} + fi + ;; + esac + shift +done + +[ -n "${DISK}" ] || bad_Usage "must supply disk and partition-number" +[ -n "${PART}" ] || bad_Usage "must supply partition-number" + +has_cmd "sfdisk" || fail "sfdisk not found" +get_sfdisk_version || fail + +[ -e "${DISK}" ] || fail "${DISK}: does not exist" + +[ "${PART#*[!0-9]}" = "${PART}" ] || fail "partition-number must be a number" + +verify_ptupdate "$pt_update" || fail +PT_UPDATE=$_RET + +debug 1 "update-partition set to $PT_UPDATE" + +mktemp_d && TEMP_D="${_RET}" || fail "failed to make temp dir" +trap cleanup 0 # EXIT - some shells may not like 'EXIT' but are ok with 0 + +# get the ID of the first partition to determine if it's MBR or GPT +get_table_format "$DISK" || fail +format=$_RET +get_resizer "$format" "$resizer" || + fail "failed to get a resizer for id '$id'" +resizer=$_RET + +debug 1 "resizing $PART on $DISK using $resizer" +"$resizer" + +# vi: ts=4 noexpandtab diff --git a/app-emulation/cloud-init/files/hosts.gentoo.tmpl b/app-emulation/cloud-init/files/hosts.gentoo.tmpl new file mode 100644 index 000000000000..bc0bca47c5ce --- /dev/null +++ b/app-emulation/cloud-init/files/hosts.gentoo.tmpl @@ -0,0 +1,23 @@ +## template:jinja +{# +This file /etc/cloud/templates/hosts.gentoo.tmpl is only utilized +if enabled in cloud-config. Specifically, in order to enable it +you need to add the following to config: + manage_etc_hosts: template +-#} +# Your system has configured 'manage_etc_hosts' as 'template'. +# As a result, if you wish for changes to this file to persist +# then you will need to either +# a.) make changes to the master file in /etc/cloud/templates/hosts.gentoo.tmpl +# b.) change or remove the value of 'manage_etc_hosts' in +# /etc/cloud/cloud.cfg or cloud-config from user-data +# +# The following lines are desirable for IPv4 capable hosts +127.0.0.1 {{fqdn}} {{hostname}} +127.0.0.1 localhost.localdomain localhost +127.0.0.1 localhost4.localdomain4 localhost4 + +# The following lines are desirable for IPv6 capable hosts +::1 {{fqdn}} {{hostname}} +::1 localhost.localdomain localhost +::1 localhost6.localdomain6 localhost6
\ No newline at end of file diff --git a/app-emulation/cloud-init/metadata.xml b/app-emulation/cloud-init/metadata.xml new file mode 100644 index 000000000000..1c248771204b --- /dev/null +++ b/app-emulation/cloud-init/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>python</herd> + <maintainer> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <maintainer> + <email>alunduil@gentoo.org</email> + <name>Alex Brandt</name> + </maintainer> + <longdescription lang="en"> + Package provides configuration and customization of cloud instance. + </longdescription> + <upstream> + <remote-id type="launchpad">cloud-init</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/coldfire/Manifest b/app-emulation/coldfire/Manifest new file mode 100644 index 000000000000..f964aacf4b83 --- /dev/null +++ b/app-emulation/coldfire/Manifest @@ -0,0 +1 @@ +DIST coldfire-0.3.1.tar.gz 142964 SHA256 033e2da700aa6fb528c005d963ee537f54d19b1763204c270fae839a6d60cba3 SHA512 e9ac6fcd4a9a8cf0998a658c786f91f6d97dbe03cd32fdc7047c87baa14d412a45dfdd233f68e3136e8d0f36c4d6dd556e5df6e8a0645f82d4abf88fa574ff7b WHIRLPOOL c1aeb6c17d90632d816a423d4b34d5b3c29ca8879db271a1bdd7682e2f19fdefa3684a0ca0d2b1ba5ed88dbc07753a2816500006600e0e32f0389233ff7e243d diff --git a/app-emulation/coldfire/coldfire-0.3.1.ebuild b/app-emulation/coldfire/coldfire-0.3.1.ebuild new file mode 100644 index 000000000000..620a3ef5a768 --- /dev/null +++ b/app-emulation/coldfire/coldfire-0.3.1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils + +DESCRIPTION="Motorola Coldfire Emulator" +HOMEPAGE="http://www.slicer.ca/coldfire/" +SRC_URI="http://www.slicer.ca/coldfire/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +DEPEND="sys-libs/ncurses + sys-libs/readline" + +src_prepare() { + epatch "${FILESDIR}"/${P}-build.patch + epatch "${FILESDIR}"/${P}-headers.patch +} + +src_install() { + dodir /usr/bin + einstall || die + dodoc CONTRIBUTORS HACKING README +} diff --git a/app-emulation/coldfire/files/coldfire-0.3.1-build.patch b/app-emulation/coldfire/files/coldfire-0.3.1-build.patch new file mode 100644 index 000000000000..2b54dd4a16f5 --- /dev/null +++ b/app-emulation/coldfire/files/coldfire-0.3.1-build.patch @@ -0,0 +1,32 @@ +respect env build settings + +--- a/Makefile.rules.in ++++ b/Makefile.rules.in +@@ -1,9 +1,9 @@ + CC = @CC@ +-CFLAGS = -Wall -fomit-frame-pointer @CFLAGS@ -I$(TOPSRCDIR) ++CFLAGS = -Wall @CPPFLAGS@ @CFLAGS@ -I$(TOPSRCDIR) + LIBS = @LIBS@ + LD_R = ld -r + RM = rm -f +-LDFLAGS = ++LDFLAGS = @LDFLAGS@ + + + prefix = @prefix@ + +fix parallel build problems ... objs need generated tracer, and coldfire +needs subdir objs + +--- a/Makefile.in ++++ b/Makefile.in +@@ -22,7 +22,8 @@ + #Force version to be made before subdirectories + subdirs-all: version.h + +-coldfire: $(OBJS) force ++$(OBJS): | subdirs-all ++coldfire: $(OBJS) force | subdirs-all + $(CC) $(LDFLAGS) $(OBJS) $(SUBDIR_OBJS) -o $@ $(LIBS) + + diff --git a/app-emulation/coldfire/files/coldfire-0.3.1-headers.patch b/app-emulation/coldfire/files/coldfire-0.3.1-headers.patch new file mode 100644 index 000000000000..706b1a2b12c9 --- /dev/null +++ b/app-emulation/coldfire/files/coldfire-0.3.1-headers.patch @@ -0,0 +1,16 @@ +make sure we have access to HAVE_* defines to include header files: + +run.c: In function ‘sigint’: +run.c:51:2: warning: implicit declaration of function ‘readline’ +run.c:51:8: warning: cast to pointer from integer of different size + +--- a/run.c ++++ b/run.c +@@ -7,6 +7,7 @@ + /**********************************/ + + ++#include "config.h" + + #include <stdio.h> + #include <stdlib.h> diff --git a/app-emulation/coldfire/metadata.xml b/app-emulation/coldfire/metadata.xml new file mode 100644 index 000000000000..92114080841c --- /dev/null +++ b/app-emulation/coldfire/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>dev-embedded</herd> +</pkgmetadata> diff --git a/app-emulation/crossover-bin/Manifest b/app-emulation/crossover-bin/Manifest new file mode 100644 index 000000000000..7e9b29dbdd93 --- /dev/null +++ b/app-emulation/crossover-bin/Manifest @@ -0,0 +1,10 @@ +DIST install-crossover-12.5.0.bin 55089470 SHA256 596ae288059005f26326196b81f705f3fc3ecd2bc872a23f9a86e75dfd8908da SHA512 85dbf37b76dd63ba761f6f8efc8c294f38bdb2a443fbed7a7f7f37652b377046f7bd27588600fc456e7fa8040d06a1673475bfc6a7b7a110a16a678efcc5c764 WHIRLPOOL 1d99ebad15e76bac0fb3174fdae2e09eb6b407e27b60c2562d2dc692f02d53f72c06398f68d7f0453b60adcd6789f62f2437e44eeb46f8c33ed92ba78c74e5f8 +DIST install-crossover-12.5.1.bin 56658131 SHA256 7ef5bbb092467fefa1e59cb5b0e1c8794a2511cebfc0c4665e8a7fe721140a4f SHA512 0f71a06f3a028698c4b076b205d807e193282c10c7cfb8e62e4697e9b3bd7549947c02c15f82d959d6963630677e6c72a5f8468d35d66ccb3ff6814ed2173c72 WHIRLPOOL 3386a231faa9af53b0dba7c2064bea436518afcc44c5b76c07ce1b5b61fe4a74a5bb8b16f92da97be79548851a3f08b1ed5739d6071a60f45f0382eed7ffe85e +DIST install-crossover-13.0.0.bin 58807581 SHA256 e41cd80d38281d1c42a9a8ecb16249977887a13145d5fa3da883ce5f6f24c5c7 SHA512 fcf5dde6da1f2fb1eb402bd588baab5e951f8a0ad7959b06a4b7a42f250beb74f9c8d95f26f6fcd4ced9ce0bc4b484ad9a045a485f82028bf8ab7f2abf7ace33 WHIRLPOOL 57cd742cba31e57fb97f1a53e6c6c4e481f1a11b9e061f933995198053c80bd3828b0c6ee39ab152768cf603c1ab4c7125bc076ecfade651d063c1d97407464a +DIST install-crossover-13.0.1.bin 58567182 SHA256 1e9ca276b7e99096476d1dd0fb37803d8dafcc6c9fa4e96c32e8cbf34c747eae SHA512 e43e3e92d4ac36546fafdf68d61b4fd5af412f83e301b232230589247ed052cb958f0d4eb7667fd616797b8f8c3b4f7acbfa7a9f1206204c5a98e456113a380b WHIRLPOOL 4c76e80a39f834979b9e0e885f10fd740805a23f93f5745dbdb53ecefb748d57b75e57460a9bbfab656329c77a2c61c356e75054438c0f7cce77dc9a77648f33 +DIST install-crossover-13.1.0.bin 58678679 SHA256 76e4345c6b9c436b7f02ab39b15b5f3d105838c3bf5194b34484dafe748cca48 SHA512 1f2b5625c826bbf16231e1b3ea8694bcda24cf3a7a90347a29b9d97f654ce35df26aff2b8166e8c517e85785d4ea2b5fbdf1bcb82263fa0e8715846fd1668d15 WHIRLPOOL c665ce05fae8aeacb637bf8ab4d3b5fb8d681f2e3d65f1d13c8ceab91708290f32e1742a81ea0dc5d90064c67016e30f2a5497cbfc7d4be8ec55d498de9dad7d +DIST install-crossover-13.1.2.bin 58730543 SHA256 005a0ed9e102c54c3b204491406bfad889603c59ef5be1ec1b5a3f68a1f6bba2 SHA512 5944db06162a67f68fa4a1ab14f7fbc41f114c63adebecf4c0c50967245f81bb42e58dbe66d33fbfaaeae232aacb2b534fc4367d592eaa6f1cc75e32ec0d23b3 WHIRLPOOL e26a0f3a59d3d06b6001f2672d511d0917afa576b4cf9f781a3c7eaffb2e7fb479cdcaeae98fa0d38873bf749bbe33b6695f1dd3496f4087691332b569e484ef +DIST install-crossover-13.1.3.bin 58768110 SHA256 3d16dbecec584a1d6155ddda6f62a5824980cddc25f5910c2c733de06a716b04 SHA512 091a70e777f8311f818d227f26850f256d6acc7f50c93855f72857f2e21298524262d490fcc8a97342faea1a261ab042b0064d112aacb6c30e9ab5301f89eabe WHIRLPOOL aaffeb604d929b3b4611707cb7878a961c8a2f17baafc4f58dc293d3b29e5485246847327dcf441353ff3feeed76fd7c2f34a516ebeafb2fedee3567d8cdb485 +DIST install-crossover-13.2.0.bin 64625581 SHA256 ef29ca8ca275e4fb6b33337aadc2d3ee92b4dc7d582fab7d5cff5c775d23c75d SHA512 1f582eeca8db02c15d98d519b2d24f65b8dcddd90ff270915a4e6dbd24e135b074c5a20dd824c3d8c8f35cef79610c02423b5558db205a6e80630f69191e051b WHIRLPOOL f8ce0628d961a567291981a238f03da6f5f7554d4d971a8b27fc34b67969a7061032b84325df1a8e38313415dcda3dab98acd6833b396e4f46a65427c9dc8c3e +DIST install-crossover-14.0.3.bin 68080015 SHA256 23f67221e4047b50f3250b29fae51086cce93529956d3885d149d5abddcc83a2 SHA512 86855e112f5b5d7621e0d4c644abe570de0270e678dc9666482025c948733de02c66fcf67999079a8ba99537695b36d4fb61aee90a59c319edad5fb477a0f902 WHIRLPOOL a0f26d06d2bb81063bcf78a474b9bf4732e9314fd886f430c1141bfce26ae09c297ff79087e5834474d87aa772a1f08a44791d24a3a83ff2baf24969885fe9b8 +DIST install-crossover-14.1.4.bin 68463678 SHA256 9e51823fca911916755b1edca8673c69df4c6f3607b170d9b01e9d9143b4d4c7 SHA512 2078d9e8fc10c526085aef0bfa0cedbcc1a96ec59ade934ea10e7f10062f1a58f5647e9aed59653d4a1253699a08e9ef6f01548010e960af24d0d3546549fb91 WHIRLPOOL a9714f15de43acb2ab6fed91bb35ffdec832dc8fef0b9f75ed394ca18af8552b797b795fdc5bc108c7cf27ca432f932b1f4fe6b4d04d4d52dfaa06bfef083aca diff --git a/app-emulation/crossover-bin/crossover-bin-12.5.0-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-12.5.0-r2.ebuild new file mode 100644 index 000000000000..e98a2dcf65ff --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-12.5.0-r2.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support" +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist fetch test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ + || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install requisite directories for menus + dodir "/usr/share/applications" + dodir "/etc/xdg/menus/applications-merged" + + # Install menus + XDG_CONFIG_DIRS="${ED}etc/xdg" \ + XDG_DATA_DIRS="${ED}usr/share" \ + "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ + || die "Could not install menus" + + # Fix menus + sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ + || die "Could not fix menus" +} diff --git a/app-emulation/crossover-bin/crossover-bin-12.5.1-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-12.5.1-r2.ebuild new file mode 100644 index 000000000000..4cdba4850605 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-12.5.1-r2.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist fetch test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ + || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install requisite directories for menus + dodir "/usr/share/applications" + dodir "/etc/xdg/menus/applications-merged" + + # Install menus + XDG_CONFIG_DIRS="${ED}etc/xdg" \ + XDG_DATA_DIRS="${ED}usr/share" \ + "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ + || die "Could not install menus" + + # Fix menus + sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ + || die "Could not fix menus" +} diff --git a/app-emulation/crossover-bin/crossover-bin-13.0.0-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.0.0-r2.ebuild new file mode 100644 index 000000000000..4cdba4850605 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-13.0.0-r2.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist fetch test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ + || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install requisite directories for menus + dodir "/usr/share/applications" + dodir "/etc/xdg/menus/applications-merged" + + # Install menus + XDG_CONFIG_DIRS="${ED}etc/xdg" \ + XDG_DATA_DIRS="${ED}usr/share" \ + "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ + || die "Could not install menus" + + # Fix menus + sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ + || die "Could not fix menus" +} diff --git a/app-emulation/crossover-bin/crossover-bin-13.0.1-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.0.1-r2.ebuild new file mode 100644 index 000000000000..4cdba4850605 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-13.0.1-r2.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist fetch test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ + || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install requisite directories for menus + dodir "/usr/share/applications" + dodir "/etc/xdg/menus/applications-merged" + + # Install menus + XDG_CONFIG_DIRS="${ED}etc/xdg" \ + XDG_DATA_DIRS="${ED}usr/share" \ + "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ + || die "Could not install menus" + + # Fix menus + sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ + || die "Could not fix menus" +} diff --git a/app-emulation/crossover-bin/crossover-bin-13.1.0-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.1.0-r2.ebuild new file mode 100644 index 000000000000..4cdba4850605 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-13.1.0-r2.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist fetch test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ + || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install requisite directories for menus + dodir "/usr/share/applications" + dodir "/etc/xdg/menus/applications-merged" + + # Install menus + XDG_CONFIG_DIRS="${ED}etc/xdg" \ + XDG_DATA_DIRS="${ED}usr/share" \ + "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ + || die "Could not install menus" + + # Fix menus + sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ + || die "Could not fix menus" +} diff --git a/app-emulation/crossover-bin/crossover-bin-13.1.2-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.1.2-r2.ebuild new file mode 100644 index 000000000000..4cdba4850605 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-13.1.2-r2.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist fetch test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ + || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install requisite directories for menus + dodir "/usr/share/applications" + dodir "/etc/xdg/menus/applications-merged" + + # Install menus + XDG_CONFIG_DIRS="${ED}etc/xdg" \ + XDG_DATA_DIRS="${ED}usr/share" \ + "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ + || die "Could not install menus" + + # Fix menus + sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ + || die "Could not fix menus" +} diff --git a/app-emulation/crossover-bin/crossover-bin-13.1.3-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.1.3-r2.ebuild new file mode 100644 index 000000000000..4cdba4850605 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-13.1.3-r2.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist fetch test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ + || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install requisite directories for menus + dodir "/usr/share/applications" + dodir "/etc/xdg/menus/applications-merged" + + # Install menus + XDG_CONFIG_DIRS="${ED}etc/xdg" \ + XDG_DATA_DIRS="${ED}usr/share" \ + "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ + || die "Could not install menus" + + # Fix menus + sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ + || die "Could not fix menus" +} diff --git a/app-emulation/crossover-bin/crossover-bin-13.2.0-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.2.0-r2.ebuild new file mode 100644 index 000000000000..4cdba4850605 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-13.2.0-r2.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist fetch test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ + || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install requisite directories for menus + dodir "/usr/share/applications" + dodir "/etc/xdg/menus/applications-merged" + + # Install menus + XDG_CONFIG_DIRS="${ED}etc/xdg" \ + XDG_DATA_DIRS="${ED}usr/share" \ + "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ + || die "Could not install menus" + + # Fix menus + sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ + || die "Could not fix menus" +} diff --git a/app-emulation/crossover-bin/crossover-bin-14.0.3-r1.ebuild b/app-emulation/crossover-bin/crossover-bin-14.0.3-r1.ebuild new file mode 100644 index 000000000000..4738fdc6971c --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-14.0.3-r1.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist fetch test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + + sed -i -e "s:\$link=\"\$xdgdir:\$link=\"${ED}\/\$xdgdir:" "${S}/lib/perl/CXMenu.pm" + sed -i \ + -e "s:\"\(.*\)/applications:\"${ED}/\1/applications:" \ + -e "s:\"\(.*\)/desktop-directories:\"${ED}/\1/desktop-directories:" \ + "${S}/lib/perl/CXMenuXDG.pm" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install menus + # XXX: locate_gui.sh automatically detects *-application-merged directories + # This means what we install will vary depending on the contents of + # /etc/xdg, which is a QA violation. It is not clear how to resolve this. + XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ + "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ + || die "Could not install menus" + + rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" + sed -i -e "s:${ED}:/:" "${ED}usr/share/applications/"*.desktop + sed -i -e "s:${ED}/::" \ + "${ED}/opt/cxoffice/lib/perl/CXMenu.pm" \ + "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" +} diff --git a/app-emulation/crossover-bin/crossover-bin-14.1.4-r1.ebuild b/app-emulation/crossover-bin/crossover-bin-14.1.4-r1.ebuild new file mode 100644 index 000000000000..67924d072c61 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-14.1.4-r1.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist fetch test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + + sed -i -e "s:\$link=\"\$xdgdir:\$link=\"${ED}\/\$xdgdir:" "${S}/lib/perl/CXMenu.pm" + sed -i \ + -e "s:\"\(.*\)/applications:\"${ED}/\1/applications:" \ + -e "s:\"\(.*\)/desktop-directories:\"${ED}/\1/desktop-directories:" \ + "${S}/lib/perl/CXMenuXDG.pm" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install menus + # XXX: locate_gui.sh automatically detects *-application-merged directories + # This means what we install will vary depending on the contents of + # /etc/xdg, which is a QA violation. It is not clear how to resolve this. + XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ + "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ + || die "Could not install menus" + + rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" + sed -i -e "s:${ED}:/:" "${ED}usr/share/applications/"*.desktop + sed -i -e "s:${ED}/::" \ + "${ED}/opt/cxoffice/lib/perl/CXMenu.pm" \ + "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" +} diff --git a/app-emulation/crossover-bin/metadata.xml b/app-emulation/crossover-bin/metadata.xml new file mode 100644 index 000000000000..76a1d1fff70f --- /dev/null +++ b/app-emulation/crossover-bin/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>ryao@gentoo.org</email> + <name>Richard Yao</name> + </maintainer> + <use> + <flag name='capi'>Enable ISDN support via CAPI</flag> + </use> +</pkgmetadata> diff --git a/app-emulation/crossover-office-bin/Manifest b/app-emulation/crossover-office-bin/Manifest new file mode 100644 index 000000000000..7e57261a8a0e --- /dev/null +++ b/app-emulation/crossover-office-bin/Manifest @@ -0,0 +1,4 @@ +DIST install-crossover-standard-6.0.0.sh 20086564 SHA256 0b49f6a0fe866078ccd10fee476836a4eea99904c6b9827e3c47e12b613d1342 +DIST install-crossover-standard-6.0.1.sh 20097976 SHA256 cc77a25d46f09b357b7d0ecb86c6749db052bc91622d291a18732aa3803894e2 +DIST install-crossover-standard-6.1.0.sh 24481498 SHA256 d36938d7a53767e6169eb05565f8a3ae8313f3ceee6a5912c6497f39ca08afbf +DIST install-crossover-standard-6.2.0.sh 23632049 SHA256 5ddd35d5271b49ec43ed128e9efd122c1792e1718e6e4024aa263ae0212c4320 diff --git a/app-emulation/crossover-office-bin/crossover-office-bin-6.0.0.ebuild b/app-emulation/crossover-office-bin/crossover-office-bin-6.0.0.ebuild new file mode 100644 index 000000000000..f5d4461d96fa --- /dev/null +++ b/app-emulation/crossover-office-bin/crossover-office-bin-6.0.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-standard-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins support/templates/cxoffice.conf +} + +pkg_postinst() { + einfo "Run /opt/cxoffice/bin/cxsetup as normal user to create" + einfo "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-bin/crossover-office-bin-6.0.1.ebuild b/app-emulation/crossover-office-bin/crossover-office-bin-6.0.1.ebuild new file mode 100644 index 000000000000..f5d4461d96fa --- /dev/null +++ b/app-emulation/crossover-office-bin/crossover-office-bin-6.0.1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-standard-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins support/templates/cxoffice.conf +} + +pkg_postinst() { + einfo "Run /opt/cxoffice/bin/cxsetup as normal user to create" + einfo "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-bin/crossover-office-bin-6.1.0.ebuild b/app-emulation/crossover-office-bin/crossover-office-bin-6.1.0.ebuild new file mode 100644 index 000000000000..f5d4461d96fa --- /dev/null +++ b/app-emulation/crossover-office-bin/crossover-office-bin-6.1.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-standard-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins support/templates/cxoffice.conf +} + +pkg_postinst() { + einfo "Run /opt/cxoffice/bin/cxsetup as normal user to create" + einfo "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-bin/crossover-office-bin-6.2.0.ebuild b/app-emulation/crossover-office-bin/crossover-office-bin-6.2.0.ebuild new file mode 100644 index 000000000000..d2b805e162ba --- /dev/null +++ b/app-emulation/crossover-office-bin/crossover-office-bin-6.2.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-standard-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" + +S=${WORKDIR} + +pkg_nofetch() { + elog "Please visit ${HOMEPAGE}" + elog "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins support/templates/cxoffice.conf +} + +pkg_postinst() { + einfo "Run /opt/cxoffice/bin/cxsetup as normal user to create" + einfo "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-bin/metadata.xml b/app-emulation/crossover-office-bin/metadata.xml new file mode 100644 index 000000000000..27f54c99739f --- /dev/null +++ b/app-emulation/crossover-office-bin/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>wine</herd> +</pkgmetadata> diff --git a/app-emulation/crossover-office-pro-bin/Manifest b/app-emulation/crossover-office-pro-bin/Manifest new file mode 100644 index 000000000000..c87ad99e346e --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/Manifest @@ -0,0 +1,13 @@ +DIST install-crossover-pro-5.0.0.sh 15957213 SHA256 aa4575bf989eee9ecb3fa4f150913cb46c8bf7e32322f8c874310fff82ffb72c +DIST install-crossover-pro-5.0.1.sh 16177282 SHA256 b92683c0e20008a67f2b79ea83bae01141cce22966ebbf291058eecdf941ddd6 +DIST install-crossover-pro-5.0.3.sh 17299111 SHA256 d171b87cb5c1aaa775e8abbb303fa7acc572f1b0911bbd89d1852e823fc9f133 +DIST install-crossover-pro-6.0.0.sh 20265211 SHA256 77055a7bc168b05efff9c1d6bfce9f450b43f00ea0e74f9f8a4514cfa00379c3 +DIST install-crossover-pro-6.1.0.sh 24811441 SHA256 9a71320ed778ab57e05f9e9412774e96910573f6e8a5edfe8d8cf2eb7805b200 +DIST install-crossover-pro-6.2.0.sh 23806779 SHA256 d6bcd30430bbf01b72780e6be13900e8cb5a80fd2850e230262db349d6ae58f2 +DIST install-crossover-pro-7.0.2.sh 25607860 SHA256 c307b237b6d57fea1e940c5c840f44ed0fc34357ae9f417e7127abc20d51314b +DIST install-crossover-pro-7.1.0.sh 26190866 SHA256 8844a09493a9d987fd96d7c6cc17c3e3ca5b910fc61162c1d3e40beef8ef3b14 +DIST install-crossover-pro-8.0.0.sh 29587007 SHA256 f440337441715c723cd29a52f3156da86df622d19d81b5bd163b786696f9248f +DIST install-crossover-pro-9.0.0.sh 30375251 SHA256 14b46ba4c386dbacb38abf24871576a22450b63f96e236338386f4f7bf65b71f +DIST install-crossover-pro-9.0.1.sh 30381453 SHA256 8154e04dfdc10ebba3fe849ccf7f0c9b1508bf7d8612ac99ef3b1ac28ea13cb7 +DIST install-crossover-pro-9.1.0.sh 32846417 SHA256 a53bc1f0e188b3769f0e398450d62034b7d775e53e359be6f791dc02138d1b03 +DIST install-crossover-pro-9.2.0.sh 33017777 SHA256 ac027670a56f64b607c9047583d1e26c2e6808dd79d78fd41750651294eaf321 diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-5.0.0.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-5.0.0.ebuild new file mode 100644 index 000000000000..f087c1be71a8 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-5.0.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins support/templates/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-5.0.1.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-5.0.1.ebuild new file mode 100644 index 000000000000..cfa7703bca70 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-5.0.1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins support/templates/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-5.0.3.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-5.0.3.ebuild new file mode 100644 index 000000000000..cfa7703bca70 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-5.0.3.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins support/templates/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-6.0.0.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-6.0.0.ebuild new file mode 100644 index 000000000000..e4fd6bc041b3 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-6.0.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-6.1.0.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-6.1.0.ebuild new file mode 100644 index 000000000000..986d281d61e3 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-6.1.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +DEPEND="" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-6.2.0.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-6.2.0.ebuild new file mode 100644 index 000000000000..986d281d61e3 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-6.2.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +DEPEND="" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-7.0.2.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-7.0.2.ebuild new file mode 100644 index 000000000000..986d281d61e3 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-7.0.2.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +DEPEND="" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-7.1.0.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-7.1.0.ebuild new file mode 100644 index 000000000000..986d281d61e3 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-7.1.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +DEPEND="" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-8.0.0.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-8.0.0.ebuild new file mode 100644 index 000000000000..986d281d61e3 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-8.0.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +DEPEND="" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.0.0.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.0.0.ebuild new file mode 100644 index 000000000000..986d281d61e3 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.0.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +DEPEND="" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.0.1.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.0.1.ebuild new file mode 100644 index 000000000000..986d281d61e3 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.0.1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +DEPEND="" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.1.0.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.1.0.ebuild new file mode 100644 index 000000000000..3d3228153307 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.1.0.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + || ( virtual/jpeg:62[abi_x86_32(-)] media-libs/jpeg:62[abi_x86_32(-)] ) + media-libs/libpng:1.2[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +DEPEND="" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.2.0.ebuild b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.2.0.ebuild new file mode 100644 index 000000000000..3d3228153307 --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/crossover-office-pro-bin-9.2.0.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit unpacker + +DESCRIPTION="simplified/streamlined version of wine with commercial support" +HOMEPAGE="http://www.codeweavers.com/products/cxoffice/" +SRC_URI="install-crossover-pro-${PV}.sh" + +LICENSE="CROSSOVER" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="nas" +RESTRICT="bindist fetch strip" + +RDEPEND=" + dev-util/desktop-file-utils + sys-libs/glibc + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXmu[abi_x86_32(-)] + x11-libs/libXxf86dga[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + || ( virtual/jpeg:62[abi_x86_32(-)] media-libs/jpeg:62[abi_x86_32(-)] ) + media-libs/libpng:1.2[abi_x86_32(-)] + nas? ( media-libs/nas[abi_x86_32(-)] ) +" +DEPEND="" + +S=${WORKDIR} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + unpack_makeself # needed due to .sh extension; #415013 +} + +src_install() { + dodir /opt/cxoffice + cp -r * "${D}"/opt/cxoffice || die "cp failed" + rm -r "${D}"/opt/cxoffice/setup.{sh,data} + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf +} + +pkg_postinst() { + elog "Run /opt/cxoffice/bin/cxsetup as normal user to create" + elog "bottles and install Windows applications." +} diff --git a/app-emulation/crossover-office-pro-bin/metadata.xml b/app-emulation/crossover-office-pro-bin/metadata.xml new file mode 100644 index 000000000000..27f54c99739f --- /dev/null +++ b/app-emulation/crossover-office-pro-bin/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>wine</herd> +</pkgmetadata> diff --git a/app-emulation/dinero/Manifest b/app-emulation/dinero/Manifest new file mode 100644 index 000000000000..401ddd5a6f11 --- /dev/null +++ b/app-emulation/dinero/Manifest @@ -0,0 +1 @@ +DIST d4-7.tar.gz 295814 SHA256 7b651823c8feb2ee7617be5591df15f9c99265b880e4a99c98c33f5d8b47a837 SHA512 20a6232c732e42a7b37061cb75b3b97fe839824d066a6b3295d1fe8aa5312913d7fad404e93f5ecfb5690f5e7c7a0e266daee16973f1f165c7f33c5095c90f14 WHIRLPOOL fae59e5c83d6373e123b4da2433cddf48ca5b6bf0a37581957aabf59ed78c37a5164189e2f606641cedb55c67f9d03e7f9386eb7cd87da1a455144d8aca33e86 diff --git a/app-emulation/dinero/dinero-4.7-r1.ebuild b/app-emulation/dinero/dinero-4.7-r1.ebuild new file mode 100644 index 000000000000..dde85fcfdd5c --- /dev/null +++ b/app-emulation/dinero/dinero-4.7-r1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit autotools toolchain-funcs + +MY_P="d${PV/./-}" +S="${WORKDIR}/${MY_P}" +DESCRIPTION="Cache simulator" +HOMEPAGE="http://www.cs.wisc.edu/~markhill/DineroIV/" +SRC_URI="ftp://ftp.cs.wisc.edu/markhill/DineroIV/${MY_P}.tar.gz" + +LICENSE="free-noncomm" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="" + +src_prepare() { + sed -e "s/\$(CC)/& \$(LDFLAGS)/" \ + -i Makefile.in || die #331837 + eautoreconf + tc-export AR +} + +src_install() { + dobin dineroIV + dodoc CHANGES COPYRIGHT NOTES README TODO +} diff --git a/app-emulation/dinero/metadata.xml b/app-emulation/dinero/metadata.xml new file mode 100644 index 000000000000..d9cd2cad66c2 --- /dev/null +++ b/app-emulation/dinero/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> +<email>maintainer-needed@gentoo.org</email> +</maintainer> +</pkgmetadata> diff --git a/app-emulation/dlx/Manifest b/app-emulation/dlx/Manifest new file mode 100644 index 000000000000..e74010634613 --- /dev/null +++ b/app-emulation/dlx/Manifest @@ -0,0 +1 @@ +DIST dlx.tar.gz 112589 SHA256 34d102fd72b7bfebf846fe20f7529d603fa6e47911267f46fba27741f8f94a8f SHA512 99297f14f6716ada7a29b204723a0c951002529362a22f695b3647517462f43af563ea55467985dda3e21d79a14d46b84dbc9b22a8c0751fba49257e30f70a7f WHIRLPOOL 2f7f44abb08b9a0c0549d4e921ed9196e0cf81e5fc759778205e08d537cb526eedc96deeb2dfa72449946a71712ef83c4fd0e9cbe7a9ddeccb25bcf29cdf6ace diff --git a/app-emulation/dlx/dlx-1.0.0-r1.ebuild b/app-emulation/dlx/dlx-1.0.0-r1.ebuild new file mode 100644 index 000000000000..638b2a733fd4 --- /dev/null +++ b/app-emulation/dlx/dlx-1.0.0-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit toolchain-funcs + +DESCRIPTION="DLX Simulator" +HOMEPAGE="http://www.davidviner.com/dlx.php" +SRC_URI="http://www.davidviner.com/${PN}/${PN}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +S="${WORKDIR}/${PN}" + +src_compile() { + emake CC="$(tc-getCC)" \ + LINK="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LFLAGS="${LDFLAGS}" \ + || die "emake failed" +} + +src_install() { + dodir /usr/include/dlx /usr/share/dlx/examples + dobin masm mon dasm + insinto /usr/include/dlx + doins *.i auto.a + insinto /usr/share/dlx/examples + doins *.a hp.m + dodoc README.txt MANUAL.TXT +} diff --git a/app-emulation/dlx/dlx-1.0.0.ebuild b/app-emulation/dlx/dlx-1.0.0.ebuild new file mode 100644 index 000000000000..3a5cea4ede51 --- /dev/null +++ b/app-emulation/dlx/dlx-1.0.0.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +S=${WORKDIR}/dlx +DESCRIPTION="DLX Simulator" +HOMEPAGE="http://www.davidviner.com/dlx.php" +SRC_URI="http://www.davidviner.com/dlx/dlx.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 ppc" +IUSE="" +DEPEND="" + +src_compile() { + emake || die +} + +src_install() { + dobin masm mon dasm + dodoc README.txt MANUAL.TXT +} diff --git a/app-emulation/dlx/metadata.xml b/app-emulation/dlx/metadata.xml new file mode 100644 index 000000000000..59e2b8f78cb5 --- /dev/null +++ b/app-emulation/dlx/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + <name>Default assignee for orphaned packages</name> + </maintainer> +</pkgmetadata> diff --git a/app-emulation/docker-compose/Manifest b/app-emulation/docker-compose/Manifest new file mode 100644 index 000000000000..fe0f61817bde --- /dev/null +++ b/app-emulation/docker-compose/Manifest @@ -0,0 +1 @@ +DIST docker-compose-1.2.0.tar.gz 57150 SHA256 46ef3c5cb7dd79fa7fd1d5fc5ec5be6a5c634192bc09c604c0ea75adb89cb652 SHA512 d13f6d6d22979dbc4554c003e611097627e2273f06dd13a1c666c1ba138288597ebef08f1beaf6d342721391cb49ad5ce9ae2ff03367a041fc0c53fbb62c9ac4 WHIRLPOOL c7bb3e14a4c2788eb49241ce02dcaed5e49fe60652ca1a51d13e1712f946046415f5397d5bf892b5e0451059a4aee1b156ee7bdfdf64a22d000caae7b17254c0 diff --git a/app-emulation/docker-compose/docker-compose-1.2.0-r1.ebuild b/app-emulation/docker-compose/docker-compose-1.2.0-r1.ebuild new file mode 100644 index 000000000000..45293cc09b16 --- /dev/null +++ b/app-emulation/docker-compose/docker-compose-1.2.0-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit bash-completion-r1 distutils-r1 + +DESCRIPTION="Multi-container orchestration for Docker" +HOMEPAGE="https://www.docker.com/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" + +CDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/dockerpty-0.3.2[${PYTHON_USEDEP}] + <dev-python/dockerpty-0.4[${PYTHON_USEDEP}] + >=dev-python/docker-py-1.0.0[${PYTHON_USEDEP}] + <dev-python/docker-py-1.2[${PYTHON_USEDEP}] + >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] + <dev-python/docopt-0.7[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] + <dev-python/pyyaml-4[${PYTHON_USEDEP}] + >=dev-python/requests-2.2.1[${PYTHON_USEDEP}] + >=dev-python/six-1.3.0[${PYTHON_USEDEP}] + <dev-python/six-2[${PYTHON_USEDEP}] + >=dev-python/texttable-0.8.1[${PYTHON_USEDEP}] + <dev-python/texttable-0.9[${PYTHON_USEDEP}] + >=dev-python/websocket-client-0.11.0[${PYTHON_USEDEP}] + <dev-python/websocket-client-1.0[${PYTHON_USEDEP}] +" +DEPEND=" + test? ( + ${CDEPEND} + >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] + ) +" +RDEPEND="${CDEPEND}" + +python_prepare_all() { + local PATCHES=( + "${FILESDIR}"/requests-requirements.patch + ) + + distutils-r1_python_prepare_all +} + +python_test() { + nosetests tests/unit || die "tests failed under ${EPYTHON}" +} + +python_install_all() { + newbashcomp contrib/completion/bash/docker-compose ${PN} + + distutils-r1_python_install_all +} diff --git a/app-emulation/docker-compose/files/requests-requirements.patch b/app-emulation/docker-compose/files/requests-requirements.patch new file mode 100644 index 000000000000..a897baf34618 --- /dev/null +++ b/app-emulation/docker-compose/files/requests-requirements.patch @@ -0,0 +1,13 @@ +diff --git a/setup.py b/setup.py +index 39ac0f6..91d8b5b 100644 +--- a/setup.py ++++ b/setup.py +@@ -27,7 +27,7 @@ def find_version(*file_paths): + install_requires = [ + 'docopt >= 0.6.1, < 0.7', + 'PyYAML >= 3.10, < 4', +- 'requests >= 2.2.1, < 2.6', ++ 'requests >= 2.2.1', + 'texttable >= 0.8.1, < 0.9', + 'websocket-client >= 0.11.0, < 1.0', + 'docker-py >= 1.0.0, < 1.2', diff --git a/app-emulation/docker-compose/metadata.xml b/app-emulation/docker-compose/metadata.xml new file mode 100644 index 000000000000..c78064c4e7a9 --- /dev/null +++ b/app-emulation/docker-compose/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>alunduil@gentoo.org</email> + <name>Alex Brandt</name> + </maintainer> + <longdescription lang="en"> + </longdescription> + <upstream> + <remote-id type="pypi">docker-compose</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest new file mode 100644 index 000000000000..3f84dd1c2dd2 --- /dev/null +++ b/app-emulation/docker/Manifest @@ -0,0 +1,3 @@ +DIST docker-1.6.1.tar.gz 5713944 SHA256 aa3534277d11b32bc3564b801aeed0502f067317e7e111bd91ce2d989d34c51e SHA512 d2647f191fd295c8a9326e11ddbf6e77f33b70f14e3ebd37db3c9fa1f4946e0e3f426078ee847f52d7c57fc7783d26afe3e5d2e7ff17d8e6bb4f71609e8f5ef2 WHIRLPOOL e12c799ef63a0646f7393b00b6c1e200f350f7089445c58819ae5b53d66d18d985cb9f8fde1cd3ecfa55c2f0186064fc7080b7ebba132404aa15502029881602 +DIST docker-1.6.2.tar.gz 5714121 SHA256 f3a031b23ea9ff0fdbf3ffb9449c64ec51bb053491b47b28000eb4cce9f23203 SHA512 c27bdafabcb8ad2e49bee9e1529141a25596ba2b59435fb9368fc406950d0d7d1cbd876f1f4248dfc7089a22b8a2d13009dd164bde87e37b95a8e502bb49cac9 WHIRLPOOL aea4105ba30104d751203153b6208e363ce0abb3145ee134e675c4bc640e888afb281e7ba9009a30b9af37e829185684427a33b947d8710b49562e3352526c06 +DIST docker-1.7.1.tar.gz 6853527 SHA256 9cd26415d68a88d3cf576e7e78c2fe97f42af795404f552728acc5b41dccf4ef SHA512 9b32c3deab77a27a4322a3ccbb3759a2c2a5627605090c4517c3754e6821407abcf5ffa227bad1fdafcbba068cdcaab586015dd8cfe9aed7e8a221d0615463f1 WHIRLPOOL 41b1afd8ea08c3452e5658d73e85c3b79a64f85fb4cb99c4c6a2ce1ab49836cebbe14724afe47898cb8d9bb9d4d69c64ff1c061895f3b9534150bc7ab50e2b22 diff --git a/app-emulation/docker/docker-1.6.1.ebuild b/app-emulation/docker/docker-1.6.1.ebuild new file mode 100644 index 000000000000..adabf385234f --- /dev/null +++ b/app-emulation/docker/docker-1.6.1.ebuild @@ -0,0 +1,246 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level" +HOMEPAGE="https://www.docker.com" + +GITHUB_URI="github.com/docker/docker" + +if [[ ${PV} == *9999 ]]; then + SRC_URI="" + EGIT_REPO_URI="git://${GITHUB_URI}.git" + inherit git-2 +else + MY_PV="${PV/_/-}" + MY_P="${PN}-${MY_PV}" + SRC_URI="https://${GITHUB_URI}/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}" + DOCKER_GITCOMMIT="97cd073" + KEYWORDS="~amd64" + [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!" +fi + +inherit bash-completion-r1 eutils linux-info multilib systemd udev user + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="aufs btrfs +contrib +device-mapper doc lxc overlay vim-syntax" + +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies +CDEPEND=" + >=dev-db/sqlite-3.7.9:3 + device-mapper? ( + >=sys-fs/lvm2-2.02.89[thin] + ) +" + +DEPEND=" + ${CDEPEND} + >=dev-lang/go-1.3 + btrfs? ( + >=sys-fs/btrfs-progs-3.16.1 + ) +" + +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies +RDEPEND=" + ${CDEPEND} + + !app-emulation/docker-bin + >=net-firewall/iptables-1.4 + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + + lxc? ( + >=app-emulation/lxc-1.0.7 + ) + aufs? ( + || ( + sys-fs/aufs3 + sys-fs/aufs4 + sys-kernel/aufs-sources + ) + ) +" + +RESTRICT="installsources strip" + +# see "contrib/check-config.sh" from upstream's sources +CONFIG_CHECK=" + NAMESPACES NET_NS PID_NS IPC_NS UTS_NS + DEVPTS_MULTIPLE_INSTANCES + CGROUPS CGROUP_CPUACCT CGROUP_DEVICE CGROUP_FREEZER CGROUP_SCHED CPUSETS + MACVLAN VETH BRIDGE + NF_NAT_IPV4 IP_NF_FILTER IP_NF_TARGET_MASQUERADE + NETFILTER_XT_MATCH_ADDRTYPE NETFILTER_XT_MATCH_CONNTRACK + NF_NAT NF_NAT_NEEDED + + POSIX_MQUEUE + + ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED + ~RESOURCE_COUNTERS + ~CGROUP_PERF + ~CFS_BANDWIDTH +" + +ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" +ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" +ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" +ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" + +pkg_setup() { + if kernel_is lt 3 8; then + eerror "" + eerror "Using Docker with kernels older than 3.8 is unstable and unsupported." + eerror " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies" + die 'Kernel is too old - need 3.8 or above' + fi + + # for where these kernel versions come from, see: + # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog* + if ! { + kernel_is ge 3 16 \ + || { kernel_is 3 15 && kernel_is ge 3 15 5; } \ + || { kernel_is 3 14 && kernel_is ge 3 14 12; } \ + || { kernel_is 3 12 && kernel_is ge 3 12 25; } + }; then + ewarn "" + ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+" + ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)" + ewarn "" + ewarn "See also https://github.com/docker/docker/issues/2960" + fi + + if use aufs; then + CONFIG_CHECK+=" + ~AUFS_FS + ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + # TODO there must be a way to detect "sys-kernel/aufs-sources" so we don't warn "sys-fs/aufs3" users about this + # an even better solution would be to check if the current kernel sources include CONFIG_AUFS_FS as an option, but that sounds hairy and error-prone + ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used" + fi + + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + " + fi + + if use device-mapper; then + CONFIG_CHECK+=" + ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + fi + + if use overlay; then + CONFIG_CHECK+=" + ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL + " + fi + + linux-info_pkg_setup +} + +src_prepare() { + # allow user patches (use sparingly - upstream won't support them) + epatch_user +} + +src_compile() { + # if we treat them right, Docker's build scripts will set up a + # reasonable GOPATH for us + export AUTO_GOPATH=1 + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + export CGO_CFLAGS="-I${ROOT}/usr/include" + export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)" + + # if we're building from a zip, we need the GITCOMMIT value + [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT + + if gcc-specs-pie; then + sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die + grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' + + sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die + grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed' + fi + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in aufs btrfs device-mapper overlay; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + # time to build! + ./hack/make.sh dynbinary || die 'dynbinary failed' + + # TODO get go-md2man and then include the man pages using docs/man/md2man-all.sh +} + +src_install() { + VERSION=$(cat VERSION) + newbin bundles/$VERSION/dynbinary/docker-$VERSION docker + exeinto /usr/libexec/docker + newexe bundles/$VERSION/dynbinary/dockerinit-$VERSION dockerinit + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + udev_dorules contrib/udev/*.rules + + dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md + if use doc; then + # TODO doman contrib/man/man*/* + + docompress -x /usr/share/doc/${PF}/md + docinto md + dodoc -r docs/sources/* + fi + + dobashcomp contrib/completion/bash/* + + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/* + + if use vim-syntax; then + insinto /usr/share/vim/vimfiles + doins -r contrib/syntax/vim/ftdetect + doins -r contrib/syntax/vim/syntax + fi + + if use contrib; then + mkdir -p "${D}/usr/share/${PN}/contrib" + cp -R contrib/* "${D}/usr/share/${PN}/contrib" + fi +} + +pkg_postinst() { + udev_reload + + elog "" + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot, add Docker to the default runlevel:" + elog " rc-update add docker default" + elog "Similarly for systemd:" + elog " systemctl enable docker.service" + elog "" + + # create docker group if the code checking for it in /etc/group exists + enewgroup docker + + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog " usermod -aG docker youruser" + elog "" +} diff --git a/app-emulation/docker/docker-1.6.2.ebuild b/app-emulation/docker/docker-1.6.2.ebuild new file mode 100644 index 000000000000..b2b8d550a325 --- /dev/null +++ b/app-emulation/docker/docker-1.6.2.ebuild @@ -0,0 +1,246 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level" +HOMEPAGE="https://www.docker.com" + +GITHUB_URI="github.com/docker/docker" + +if [[ ${PV} == *9999 ]]; then + SRC_URI="" + EGIT_REPO_URI="git://${GITHUB_URI}.git" + inherit git-2 +else + MY_PV="${PV/_/-}" + MY_P="${PN}-${MY_PV}" + SRC_URI="https://${GITHUB_URI}/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}" + DOCKER_GITCOMMIT="7c8fca2" + KEYWORDS="~amd64" + [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!" +fi + +inherit bash-completion-r1 linux-info multilib systemd udev user + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="aufs btrfs +contrib +device-mapper doc lxc overlay vim-syntax" + +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies +CDEPEND=" + >=dev-db/sqlite-3.7.9:3 + device-mapper? ( + >=sys-fs/lvm2-2.02.89[thin] + ) +" + +DEPEND=" + ${CDEPEND} + >=dev-lang/go-1.3 + btrfs? ( + >=sys-fs/btrfs-progs-3.16.1 + ) +" + +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies +RDEPEND=" + ${CDEPEND} + + !app-emulation/docker-bin + >=net-firewall/iptables-1.4 + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + + lxc? ( + >=app-emulation/lxc-1.0.7 + ) + aufs? ( + || ( + sys-fs/aufs3 + sys-fs/aufs4 + sys-kernel/aufs-sources + ) + ) +" + +RESTRICT="installsources strip" + +# see "contrib/check-config.sh" from upstream's sources +CONFIG_CHECK=" + NAMESPACES NET_NS PID_NS IPC_NS UTS_NS + DEVPTS_MULTIPLE_INSTANCES + CGROUPS CGROUP_CPUACCT CGROUP_DEVICE CGROUP_FREEZER CGROUP_SCHED CPUSETS + MACVLAN VETH BRIDGE + NF_NAT_IPV4 IP_NF_FILTER IP_NF_TARGET_MASQUERADE + NETFILTER_XT_MATCH_ADDRTYPE NETFILTER_XT_MATCH_CONNTRACK + NF_NAT NF_NAT_NEEDED + + POSIX_MQUEUE + + ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED + ~RESOURCE_COUNTERS + ~CGROUP_PERF + ~CFS_BANDWIDTH +" + +ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" +ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" +ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" +ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" + +pkg_setup() { + if kernel_is lt 3 10; then + eerror "" + eerror "Using Docker with kernels older than 3.10 is unstable and unsupported." + eerror " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies" + die 'Kernel is too old - need 3.10 or above' + fi + + # for where these kernel versions come from, see: + # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog* + if ! { + kernel_is ge 3 16 \ + || { kernel_is 3 15 && kernel_is ge 3 15 5; } \ + || { kernel_is 3 14 && kernel_is ge 3 14 12; } \ + || { kernel_is 3 12 && kernel_is ge 3 12 25; } + }; then + ewarn "" + ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+" + ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)" + ewarn "" + ewarn "See also https://github.com/docker/docker/issues/2960" + fi + + if use aufs; then + CONFIG_CHECK+=" + ~AUFS_FS + ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + # TODO there must be a way to detect "sys-kernel/aufs-sources" so we don't warn "sys-fs/aufs3" users about this + # an even better solution would be to check if the current kernel sources include CONFIG_AUFS_FS as an option, but that sounds hairy and error-prone + ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used" + fi + + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + " + fi + + if use device-mapper; then + CONFIG_CHECK+=" + ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + fi + + if use overlay; then + CONFIG_CHECK+=" + ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL + " + fi + + linux-info_pkg_setup +} + +src_prepare() { + # allow user patches (use sparingly - upstream won't support them) + epatch_user +} + +src_compile() { + # if we treat them right, Docker's build scripts will set up a + # reasonable GOPATH for us + export AUTO_GOPATH=1 + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + export CGO_CFLAGS="-I${ROOT}/usr/include" + export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)" + + # if we're building from a zip, we need the GITCOMMIT value + [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT + + if gcc-specs-pie; then + sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die + grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' + + sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die + grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed' + fi + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in aufs btrfs device-mapper overlay; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + # time to build! + ./hack/make.sh dynbinary || die 'dynbinary failed' + + # TODO get go-md2man and then include the man pages using docs/man/md2man-all.sh +} + +src_install() { + VERSION=$(cat VERSION) + newbin bundles/$VERSION/dynbinary/docker-$VERSION docker + exeinto /usr/libexec/docker + newexe bundles/$VERSION/dynbinary/dockerinit-$VERSION dockerinit + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + udev_dorules contrib/udev/*.rules + + dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md + if use doc; then + # TODO doman contrib/man/man*/* + + docompress -x /usr/share/doc/${PF}/md + docinto md + dodoc -r docs/sources/* + fi + + dobashcomp contrib/completion/bash/* + + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/* + + if use vim-syntax; then + insinto /usr/share/vim/vimfiles + doins -r contrib/syntax/vim/ftdetect + doins -r contrib/syntax/vim/syntax + fi + + if use contrib; then + mkdir -p "${D}/usr/share/${PN}/contrib" + cp -R contrib/* "${D}/usr/share/${PN}/contrib" + fi +} + +pkg_postinst() { + udev_reload + + elog "" + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot, add Docker to the default runlevel:" + elog " rc-update add docker default" + elog "Similarly for systemd:" + elog " systemctl enable docker.service" + elog "" + + # create docker group if the code checking for it in /etc/group exists + enewgroup docker + + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog " usermod -aG docker youruser" + elog "" +} diff --git a/app-emulation/docker/docker-1.7.1.ebuild b/app-emulation/docker/docker-1.7.1.ebuild new file mode 100644 index 000000000000..d660fc3aac7b --- /dev/null +++ b/app-emulation/docker/docker-1.7.1.ebuild @@ -0,0 +1,268 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level" +HOMEPAGE="https://www.docker.com" + +GITHUB_URI="github.com/docker/docker" + +if [[ ${PV} == *9999 ]]; then + SRC_URI="" + EGIT_REPO_URI="git://${GITHUB_URI}.git" + inherit git-2 +else + MY_PV="${PV/_/-}" + MY_P="${PN}-${MY_PV}" + SRC_URI="https://${GITHUB_URI}/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}" + DOCKER_GITCOMMIT="786b29d" + KEYWORDS="~amd64" + [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!" +fi + +inherit bash-completion-r1 linux-info multilib systemd udev user + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="apparmor aufs btrfs +contrib +device-mapper doc experimental lxc overlay vim-syntax" + +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies +CDEPEND=" + >=dev-db/sqlite-3.7.9:3 + device-mapper? ( + >=sys-fs/lvm2-2.02.89[thin] + ) +" + +DEPEND=" + ${CDEPEND} + >=dev-lang/go-1.4:= + btrfs? ( + >=sys-fs/btrfs-progs-3.8 + ) +" + +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies +RDEPEND=" + ${CDEPEND} + + !app-emulation/docker-bin + >=net-firewall/iptables-1.4 + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + + lxc? ( + >=app-emulation/lxc-1.0.7 + ) + aufs? ( + || ( + sys-fs/aufs3 + sys-fs/aufs4 + sys-kernel/aufs-sources + ) + ) + + apparmor? ( + sys-libs/libapparmor[static-libs] + ) +" + +RESTRICT="installsources strip" + +# see "contrib/check-config.sh" from upstream's sources +CONFIG_CHECK=" + ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS + ~DEVPTS_MULTIPLE_INSTANCES + ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS + ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER + ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE + ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK + ~NF_NAT ~NF_NAT_NEEDED + + ~POSIX_MQUEUE + + ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED + + ~BLK_CGROUP + ~IOSCHED_CFQ + ~CGROUP_PERF + ~CFS_BANDWIDTH +" + +ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" +ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" +ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" +ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" + +pkg_setup() { + if kernel_is lt 3 10; then + ewarn "" + ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported." + ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies" + fi + + # for where these kernel versions come from, see: + # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog* + if ! { + kernel_is ge 3 16 \ + || { kernel_is 3 15 && kernel_is ge 3 15 5; } \ + || { kernel_is 3 14 && kernel_is ge 3 14 12; } \ + || { kernel_is 3 12 && kernel_is ge 3 12 25; } + }; then + ewarn "" + ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+" + ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)" + ewarn "" + ewarn "See also https://github.com/docker/docker/issues/2960" + fi + + if kernel_is le 3 18; then + CONFIG_CHECK+=" + ~RESOURCE_COUNTERS + " + fi + + if use aufs; then + CONFIG_CHECK+=" + ~AUFS_FS + ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + # TODO there must be a way to detect "sys-kernel/aufs-sources" so we don't warn "sys-fs/aufs3" users about this + # an even better solution would be to check if the current kernel sources include CONFIG_AUFS_FS as an option, but that sounds hairy and error-prone + ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used" + fi + + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + " + fi + + if use device-mapper; then + CONFIG_CHECK+=" + ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + fi + + if use overlay; then + CONFIG_CHECK+=" + ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL + " + fi + + linux-info_pkg_setup +} + +src_prepare() { + # allow user patches (use sparingly - upstream won't support them) + epatch_user +} + +src_compile() { + # if we treat them right, Docker's build scripts will set up a + # reasonable GOPATH for us + export AUTO_GOPATH=1 + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + export CGO_CFLAGS="-I${ROOT}/usr/include" + export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)" + + # if we're building from a zip, we need the GITCOMMIT value + [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT + + if gcc-specs-pie; then + sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die + grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' + + sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die + grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed' + fi + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in aufs btrfs device-mapper overlay; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + if use apparmor; then + DOCKER_BUILDTAGS+=' apparmor' + fi + + # https://github.com/docker/docker/pull/13338 + if use experimental; then + export DOCKER_EXPERIMENTAL=1 + else + unset DOCKER_EXPERIMENTAL + fi + + # time to build! + ./hack/make.sh dynbinary || die 'dynbinary failed' + + # TODO get go-md2man and then include the man pages using man/md2man-all.sh +} + +src_install() { + VERSION=$(cat VERSION) + newbin bundles/$VERSION/dynbinary/docker-$VERSION docker + exeinto /usr/libexec/docker + newexe bundles/$VERSION/dynbinary/dockerinit-$VERSION dockerinit + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + udev_dorules contrib/udev/*.rules + + dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md + if use doc; then + # TODO doman man/man*/* + + docompress -x /usr/share/doc/${PF}/md + docinto md + dodoc -r docs/* + fi + + dobashcomp contrib/completion/bash/* + + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/* + + if use vim-syntax; then + insinto /usr/share/vim/vimfiles + doins -r contrib/syntax/vim/ftdetect + doins -r contrib/syntax/vim/syntax + fi + + if use contrib; then + mkdir -p "${D}/usr/share/${PN}/contrib" + cp -R contrib/* "${D}/usr/share/${PN}/contrib" + fi +} + +pkg_postinst() { + udev_reload + + elog "" + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot, add Docker to the default runlevel:" + elog " rc-update add docker default" + elog "Similarly for systemd:" + elog " systemctl enable docker.service" + elog "" + + # create docker group if the code checking for it in /etc/group exists + enewgroup docker + + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog " usermod -aG docker youruser" + elog "" +} diff --git a/app-emulation/docker/files/7179-add-audit_write-cap.patch b/app-emulation/docker/files/7179-add-audit_write-cap.patch new file mode 100644 index 000000000000..6263698cea22 --- /dev/null +++ b/app-emulation/docker/files/7179-add-audit_write-cap.patch @@ -0,0 +1,29 @@ +From 29ecc95c31ecfe15e3b3d8db94cea1c555e526a3 Mon Sep 17 00:00:00 2001 +From: Alexandr Morozov <lk4d4math@gmail.com> +Date: Wed, 23 Jul 2014 09:57:41 +0400 +Subject: [PATCH] Add AUDIT_WRITE cap + +Fixes #6345 + +Thanks @larsks for outstanding investigation + +Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4) +--- + daemon/execdriver/native/template/default_template.go | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/daemon/execdriver/native/template/default_template.go b/daemon/execdriver/native/template/default_template.go +index cc5cc4f..be3dd5a 100644 +--- a/daemon/execdriver/native/template/default_template.go ++++ b/daemon/execdriver/native/template/default_template.go +@@ -23,6 +23,7 @@ func New() *libcontainer.Config { + "NET_BIND_SERVICE", + "SYS_CHROOT", + "KILL", ++ "AUDIT_WRITE", + }, + Namespaces: map[string]bool{ + "NEWNS": true, +-- +2.0.3 + diff --git a/app-emulation/docker/files/docker-r2.confd b/app-emulation/docker/files/docker-r2.confd new file mode 100644 index 000000000000..5436b2339d99 --- /dev/null +++ b/app-emulation/docker/files/docker-r2.confd @@ -0,0 +1,18 @@ +# /etc/conf.d/docker: config file for /etc/init.d/docker + +# where the docker daemon output gets piped +#DOCKER_LOGFILE="/var/log/docker.log" + +# where docker's pid get stored +#DOCKER_PIDFILE="/run/docker.pid" + +# where the docker daemon itself is run from +#DOCKER_BINARY="/usr/bin/docker" + +# uncomment this for a simple workaround to +# https://github.com/dotcloud/docker/issues/1422 +#DOCKER_WORKAROUND_1422="1" + +# if you find that the default DOCKER_WORKAROUND_1422 delay of one second +# is not sufficient, try uncommenting and increasing this value +#DOCKER_WORKAROUND_1422_DELAY="1" diff --git a/app-emulation/docker/files/docker-r2.initd b/app-emulation/docker/files/docker-r2.initd new file mode 100755 index 000000000000..b081d9c77094 --- /dev/null +++ b/app-emulation/docker/files/docker-r2.initd @@ -0,0 +1,54 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +DOCKER_LOGFILE=${DOCKER_LOGFILE:-/var/log/${SVCNAME}.log} +DOCKER_PIDFILE=${DOCKER_PIDFILE:-/run/${SVCNAME}.pid} +DOCKER_BINARY=${DOCKER_BINARY:-/usr/bin/docker} +DOCKER_WORKAROUND_1422=${DOCKER_WORKAROUND_1422:-0} +DOCKER_WORKAROUND_1422_DELAY=${DOCKER_WORKAROUND_1422_DELAY:-1} + +start() { + checkpath -f -m 0644 -o root:docker "$DOCKER_LOGFILE" + + ebegin "Starting docker daemon" + start-stop-daemon --start --background \ + --exec "$DOCKER_BINARY" \ + --pidfile "$DOCKER_PIDFILE" \ + --stdout "$DOCKER_LOGFILE" \ + --stderr "$DOCKER_LOGFILE" \ + -- -d -p "$DOCKER_PIDFILE" + eend $? + ret=$? + + if [ $ret -eq 0 ] \ + && [ "$DOCKER_WORKAROUND_1422" ] \ + && [ "$DOCKER_WORKAROUND_1422" -gt 0 ] \ + ; then + # see https://github.com/dotcloud/docker/issues/1422 + ewarn "Working around gh#1422 (via busybox image); this may take a moment" + + # we were calling "docker run" more quickly than "docker -d" could get + # fired up, so our workaround wasn't successful without a short delay + sleep $DOCKER_WORKAROUND_1422_DELAY + + # TODO when we get https://github.com/dotcloud/docker/pull/1589, these + # both need -rm so we clean up after ourselves (thanks, @eliasp!) + docker run -i -t busybox true &> /dev/null || true + # first run will fail, so we ignore its output and result and run again + docker run -i -t busybox true + + ewend $? + fi + + return $ret +} + +stop() { + ebegin "Stopping docker daemon" + start-stop-daemon --stop \ + --exec "$DOCKER_BINARY" \ + --pidfile "$DOCKER_PIDFILE" + eend $? +} diff --git a/app-emulation/docker/files/docker-r3.confd b/app-emulation/docker/files/docker-r3.confd new file mode 100644 index 000000000000..ae247c007e33 --- /dev/null +++ b/app-emulation/docker/files/docker-r3.confd @@ -0,0 +1,13 @@ +# /etc/conf.d/docker: config file for /etc/init.d/docker + +# where the docker daemon output gets piped +#DOCKER_LOGFILE="/var/log/docker.log" + +# where docker's pid get stored +#DOCKER_PIDFILE="/run/docker.pid" + +# where the docker daemon itself is run from +#DOCKER_BINARY="/usr/bin/docker" + +# any other random options you want to pass to docker +DOCKER_OPTS="" diff --git a/app-emulation/docker/files/docker-r3.initd b/app-emulation/docker/files/docker-r3.initd new file mode 100755 index 000000000000..a30318509c4b --- /dev/null +++ b/app-emulation/docker/files/docker-r3.initd @@ -0,0 +1,31 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +DOCKER_LOGFILE=${DOCKER_LOGFILE:-/var/log/${SVCNAME}.log} +DOCKER_PIDFILE=${DOCKER_PIDFILE:-/run/${SVCNAME}.pid} +DOCKER_BINARY=${DOCKER_BINARY:-/usr/bin/docker} +DOCKER_OPTS=${DOCKER_OPTS:-} + +start() { + checkpath -f -m 0644 -o root:docker "$DOCKER_LOGFILE" + + ebegin "Starting docker daemon" + start-stop-daemon --start --background \ + --exec "$DOCKER_BINARY" \ + --pidfile "$DOCKER_PIDFILE" \ + --stdout "$DOCKER_LOGFILE" \ + --stderr "$DOCKER_LOGFILE" \ + -- -d -p "$DOCKER_PIDFILE" \ + $DOCKER_OPTS + eend $? +} + +stop() { + ebegin "Stopping docker daemon" + start-stop-daemon --stop \ + --exec "$DOCKER_BINARY" \ + --pidfile "$DOCKER_PIDFILE" + eend $? +} diff --git a/app-emulation/docker/files/docker.initd b/app-emulation/docker/files/docker.initd new file mode 100755 index 000000000000..18ca8ab9d764 --- /dev/null +++ b/app-emulation/docker/files/docker.initd @@ -0,0 +1,31 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +DOCKER_LOGFILE=${DOCKER_LOGFILE:-/var/log/${SVCNAME}.log} +DOCKER_PIDFILE=${DOCKER_PIDFILE:-/run/${SVCNAME}.pid} +DOCKER_BINARY=${DOCKER_BINARY:-/usr/bin/docker} + +start() { + touch "$DOCKER_LOGFILE" + chown root:docker "$DOCKER_LOGFILE" + chmod 0644 "$DOCKER_LOGFILE" + + ebegin "Starting docker daemon" + start-stop-daemon --start --background \ + --exec "$DOCKER_BINARY" \ + --pidfile "$DOCKER_PIDFILE" \ + --stdout "$DOCKER_LOGFILE" \ + --stderr "$DOCKER_LOGFILE" \ + -- -d -p "$DOCKER_PIDFILE" + eend $? +} + +stop() { + ebegin "Stopping docker daemon" + start-stop-daemon --stop \ + --exec "$DOCKER_BINARY" \ + --pidfile "$DOCKER_PIDFILE" + eend $? +} diff --git a/app-emulation/docker/files/docker.service b/app-emulation/docker/files/docker.service new file mode 100644 index 000000000000..dde89a214adb --- /dev/null +++ b/app-emulation/docker/files/docker.service @@ -0,0 +1,12 @@ +[Unit] +Description=Easily create lightweight, portable, self-sufficient containers from any application! +Requires=network.target +After=multi-user.target + +[Service] +Type=simple +ExecStartPre=/bin/mount --make-rprivate / +ExecStart=/usr/bin/docker -d + +[Install] +WantedBy=multi-user.target diff --git a/app-emulation/docker/metadata.xml b/app-emulation/docker/metadata.xml new file mode 100644 index 000000000000..a8f4c2c14832 --- /dev/null +++ b/app-emulation/docker/metadata.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription> + Docker is an open-source project to easily create lightweight, + portable, self-sufficient containers from any application. The same + container that a developer builds and tests on a laptop can run at + scale, in production, on VMs, bare metal, OpenStack clusters, public + clouds and more. + </longdescription> + <herd>proxy-maintainers</herd> + <maintainer status="active"> + <email>admwiggin@gmail.com</email> + <name>Tianon</name> + </maintainer> + <maintainer> + <email>xarthisius@gentoo.org</email> + <name>Kacper Kowalik</name> + </maintainer> + <maintainer> + <email>alunduil@gentoo.org</email> + <name>Alex Brandt</name> + </maintainer> + <use> + <flag name="aufs"> + Enables dependencies for the "aufs" graph driver, including + necessary kernel flags. + </flag> + <flag name="apparmor"> + Enable AppArmor support. + </flag> + <flag name="btrfs"> + Enables dependencies for the "btrfs" graph driver, including + necessary kernel flags. + </flag> + <flag name="contrib"> + Install additional contrib scripts and components. + </flag> + <flag name="device-mapper"> + Enables dependencies for the "devicemapper" graph driver, including + necessary kernel flags. + </flag> + <flag name="experimental"> + Enable features labelled by upstream to be of "experimental" + quality and not yet ready for general consumption. + </flag> + <flag name="overlay"> + Enables dependencies for the "overlay" graph driver, including + necessary kernel flags. + </flag> + <flag name="lxc"> + Enables dependencies for the "lxc" execution driver. + </flag> + </use> + <upstream> + <remote-id type="github">docker/docker</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/domi/Manifest b/app-emulation/domi/Manifest new file mode 100644 index 000000000000..469488ebbc05 --- /dev/null +++ b/app-emulation/domi/Manifest @@ -0,0 +1 @@ +DIST domi-20060816-153213.tar.gz 15503 SHA256 2eba3bbd36738764a1443544388472dbc603db81974b74402954d2693d231c78 SHA512 ea8fea65860f399ea1f4474f7cba957c29298b126c6b8aded1af07a09e987bad6d5fbe9af552977d33480562e28e77774690c6f5d6958e29f3533c892a69c207 WHIRLPOOL 0d71ff2cc25496e6c3dfa35f5a7f96a071a0ff2ec683f709a9479f89f4b98f8d8ce37ceb1982289e6f1f853a78f22b694e83a2b1d4eaa6ce0dcf60e079df02d8 diff --git a/app-emulation/domi/domi-20060816.ebuild b/app-emulation/domi/domi-20060816.ebuild new file mode 100644 index 000000000000..5384bc754b3f --- /dev/null +++ b/app-emulation/domi/domi-20060816.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils +DESCRIPTION="Scripts for building Xen domains" +HOMEPAGE="http://www.bytesex.org" +EXTRA_VERSION="153213" +SRC_URI="http://dl.bytesex.org/cvs-snapshots/${P}-${EXTRA_VERSION}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="" +DEPEND="app-emulation/xen-tools + app-arch/rpm + sys-block/parted + sys-apps/yum + sys-fs/lvm2 + sys-fs/multipath-tools" +# there are some other depends we may need depending on the target system +# these packages aren't in gentoo yet. feel free to submit ebuilds via bugzilla. +# y2pmsh +RESTRICT="test" + +S=${WORKDIR}/${PN} + +src_unpack() { + unpack ${A} + sed -i -e 's:/dev/loop\$:/dev/loop/\$:' "${S}"/domi + cd "${S}" + epatch "${FILESDIR}"/fix_install_links.patch +} + +src_install() { + einstall || die + insinto /etc + doins "${FILESDIR}"/domi.conf || die +} diff --git a/app-emulation/domi/files/domi.conf b/app-emulation/domi/files/domi.conf new file mode 100644 index 000000000000..429a16505156 --- /dev/null +++ b/app-emulation/domi/files/domi.conf @@ -0,0 +1,95 @@ +#!/bin/bash +#This script is generated by http://bugs.gentoo.org/show_bug.cgi?id=112407 and the domi.man file +#domi - xen domain installer /etc/domi.conf +#domi is a shell script which sets up virtual machines. It creates +#virtual disks using either LVM or image files and installs a linux +#distribution on the newly created disk. +# +#domi reads the configuration from /etc/domi.conf and the config file +#passed on the command line. Then goes ahead and sets up the virtual +#disk without asking further questions, so be careful. +#The config files are simply sourced. Thus the syntax for setting the +#config options is the usual shell variable style, i.e. VAR="value", +#hashmark works for comments and so on. +############################################ +#DOMI_NAME="myexample" # Required +DOMI_NAME=" " + +##Name of the virtual machine. +#Distribution to install. Valid choices are suse, fedora, debian and gentoo. +#DOMI_DISTRO="gentoo" # Required. +DOMI_DISTRO="" + +#DOMI_CACHE Location where downloaded files are cached. +#Default: /var/cache/domi +DOMI_CACHE="/var/cache/domi" + +#DOMI_FSTYPE File system to use +#Default: ext2 +DOMI_FSTYPE="ext2" + +#DOMI_PASSWD Initial root password +#Default: root +DOMI_PASSWD="secret" + +#DOMI_VDISK +#Name of the virtual disk (inside the vm). "xvda" should do just +#fine with all modern, udev-based distros which create the device +#nodes automatically. In case of trouble you can try "hda" instead. +#Default: xvda +DOMI_VDISK="xvda" + +#DOMI_XEN_CONF +#Recommended. +#If specified the script writes a initial Xen config file to the given +#location. +#DOMI_XEN_CONF="/etc/xen/auto/myexample-startscript" +DOMI_XEN_CONF=" " + +#DOMI_XEN_KERNEL Xen kernel (for the Xen config file). +#Default: /boot/vmlinuz-xen +#DOMI_XEN_KERNEL="/path/to/the/DomU-kernel" +DOMI_XEN_KERNEL="" + +#DOMI_XEN_MEMORY +#Main memory (for the Xen config file, in megabytes). +#Default: 128 +DOMI_XEN_MEMORY="128" + +#DOMI_DISK_VG +#LVM volume group to use for storage. If specied the script will +#create a volume with DOMI_NAME in that volume group and use it to +#setup the virtual disk. +#Recommended. +#DOMI_DISK_VG="volg-md9"# without a "/" +DOMI_DISK_VG="" + +#DOMI_DISK_FILE +#If you don't use LVM you can specify an image file to use for the +#virtual disk. Setting either DOMI_DISK_VG or DOMI_DISK_FILE is +#required. +#DOMI_DISK_FILE="/path/to/my/myexample.file" +DOMI_DISK_FILE="" + +#DOMI_DISK_SPARSE +#Set this to some non-empty value to make domi use sparse file for the +#disk images. Has no effect if you use LVM. + +#DOMI_DISK_SIZE +#Default: 4096 +#Size of the virtual disk, in megabytes. +DOMI_DISK_SIZE="4096" + +#DOMI_SWAP_SIZE +#Default: 256 +#Size of the swap partition, in megabytes. +DOMI_SWAP_SIZE="256" + +#DOMI_ROOT_SIZE +#Default: DOMI_DISK_SIZE - DOMI_SWAP_SIZE +#Size if the root filesystem, in megabytes + +#DOMI_HOOK_POST +#Custom postinstall script to run. + +################### diff --git a/app-emulation/domi/files/fix_install_links.patch b/app-emulation/domi/files/fix_install_links.patch new file mode 100644 index 000000000000..29a7eb7ca299 --- /dev/null +++ b/app-emulation/domi/files/fix_install_links.patch @@ -0,0 +1,15 @@ +--- Makefile.orig 2008-10-05 18:59:51.000000000 +0200 ++++ Makefile 2008-10-05 19:37:58.000000000 +0200 +@@ -23,9 +23,9 @@ + install -d $(DESTDIR)$(mandir)/man8 + install -m755 $(scripts) $(DESTDIR)$(libdir) + install -m644 domi.man $(DESTDIR)$(mandir)/man8/domi.8 +- ln -s $(libdir)/domi $(DESTDIR)$(bindir)/domi +- ln -s $(libdir)/ttylinux $(DESTDIR)$(bindir)/ttylinux +- ln -s $(libdir)/initramfs $(DESTDIR)$(bindir)/busybox.initramfs ++ ln -s ../share/domi/domi $(bindir)/domi ++ ln -s ../share/domi/ttylinux $(bindir)/ttylinux ++ ln -s ../share/domi/initramfs $(bindir)/busybox.initramfs + + test: + su -c tests/Run diff --git a/app-emulation/domi/metadata.xml b/app-emulation/domi/metadata.xml new file mode 100644 index 000000000000..001651048e99 --- /dev/null +++ b/app-emulation/domi/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <longdescription>Scripts for building Xen domains</longdescription> +</pkgmetadata> diff --git a/app-emulation/dosemu/Manifest b/app-emulation/dosemu/Manifest new file mode 100644 index 000000000000..166c308d1f15 --- /dev/null +++ b/app-emulation/dosemu/Manifest @@ -0,0 +1,3 @@ +DIST dosemu-1.4.1_pre20091009.tar.bz2 1965194 SHA256 bf57f3a567008892fcaf0a58f69aae37a4b251f08855968958fa8fc6c06b1d4b SHA512 45aa0fff97f11270a50f9d5f10ec0be137e585c33a163e2b3318e924fe60f6aff90433fa52e90a5f8f9f1557b69720c4750ea685f3f72b644345021a01efc6ae WHIRLPOOL 607a1f92a60f31540d9e7e4033ef913d115a1e2f0a578e4083f8b55c2d0144352fe9f04273dfe953f80ad7bf38dab901dc6b7a4fce2ea3b0676329837b2719cb +DIST dosemu-1.4.1_pre20130107.zip 2767256 SHA256 072e1d8ea9c574b02e556d926a287c9c55b82384ed652bb8dd6f3488801901aa SHA512 eb8dcb914a74b235f2b37ff4dd5c1c84b4916ff195c7bf76cdbe6a4d5e6247c57297eef0c579f219ff7f475e727d66fa5a0f314da46d79cc97a0d794e9ad5864 WHIRLPOOL d2835f82515e40d3c85c1ee53c7add5ba055637864ee63997ec912f53862006e33b4139a253b98cb76ca3cdbd7bdca6614609d9e8e716b074283e77cd8105e3c +DIST dosemu-freedos-1.0-bin.tgz 1205628 SHA256 080c306a1b611e1861fd64466062f268eb44d2bf38082b8a57efadb5a9c0ebc7 SHA512 d0c4235ceac55de63ce5f72e51b7d57a82b8104f4bf2df6f4dc25c9889d3337b40d75665c2dfc98492ec7123e0959a725f5c7579e145895024bd80a07036e3bd WHIRLPOOL 9e6acf38dc8fafe95a49baaaac2a97fdd02c508b7c30c60823f8af7f44aa62b8d82c92661640b4cef05fcdbea401fafea752ec4a0e439a8eff361dd41aa392d3 diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20091009.ebuild b/app-emulation/dosemu/dosemu-1.4.1_pre20091009.ebuild new file mode 100644 index 000000000000..83615529e1d3 --- /dev/null +++ b/app-emulation/dosemu/dosemu-1.4.1_pre20091009.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils flag-o-matic + +P_FD="dosemu-freedos-1.0-bin" +DESCRIPTION="DOS Emulator" +HOMEPAGE="http://www.dosemu.org/" +SRC_URI="mirror://sourceforge/dosemu/${P_FD}.tgz + mirror://gentoo/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="X svga gpm debug alsa sndfile" + +RDEPEND="X? ( x11-libs/libXxf86vm + x11-libs/libXau + x11-libs/libXdmcp + x11-apps/xset + x11-apps/xlsfonts + x11-apps/bdftopcf + x11-apps/mkfontdir ) + svga? ( media-libs/svgalib ) + gpm? ( sys-libs/gpm ) + alsa? ( media-libs/alsa-lib ) + sndfile? ( media-libs/libsndfile ) + >=sys-libs/slang-1.4" + +DEPEND="${RDEPEND} + X? ( x11-proto/xf86dgaproto ) + >=sys-devel/autoconf-2.57" +S="${WORKDIR}/${PN}" + +src_compile() { + epatch "${FILESDIR}"/${P}-flex.patch #437074 + + # Has problems with -O3 on some systems + replace-flags -O[3-9] -O2 + + unset KERNEL + + econf `use_with X x` \ + `use_enable svga svgalib` \ + `use_enable debug` \ + `use_with gpm` \ + `use_with alsa` \ + `use_with sndfile` \ + --with-fdtarball="${DISTDIR}"/${P_FD}.tgz \ + --sysconfdir=/etc/dosemu/ \ + --with-docdir=/usr/share/doc/${PF} || die + + emake || die +} + +src_install() { + emake DESTDIR="${D}" install || die + # Don't remove COPYING, see bug #137286 + dodoc BUGS ChangeLog COPYING NEWS README THANKS || die #nowarn +} diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild new file mode 100644 index 000000000000..c9c050a9e872 --- /dev/null +++ b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils flag-o-matic pax-utils toolchain-funcs + +P_FD="dosemu-freedos-1.0-bin" +COMMIT="15cfb41ff20a052769d753c3262c57ecb050ad71" + +DESCRIPTION="DOS Emulator" +HOMEPAGE="http://www.dosemu.org/" +SRC_URI="mirror://sourceforge/dosemu/${P_FD}.tgz + http://sourceforge.net/code-snapshots/git/d/do/dosemu/code.git/dosemu-code-${COMMIT}.zip -> ${P}.zip" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="X svga gpm debug alsa sndfile fluidsynth" + +RDEPEND="X? ( x11-libs/libX11 + x11-libs/libXxf86vm + x11-libs/libXau + x11-libs/libXext + x11-libs/libXdmcp + x11-apps/xset + x11-apps/xlsfonts + x11-apps/bdftopcf + x11-apps/mkfontdir ) + svga? ( media-libs/svgalib ) + gpm? ( sys-libs/gpm ) + alsa? ( media-libs/alsa-lib ) + sndfile? ( media-libs/libsndfile ) + fluidsynth? ( media-sound/fluidsynth + media-sound/fluid-soundfont ) + media-libs/libsdl + >=sys-libs/slang-1.4" + +DEPEND="${RDEPEND} + X? ( x11-proto/xf86dgaproto ) + >=sys-devel/autoconf-2.57" + +S="${WORKDIR}/${PN}-code-${COMMIT}" + +src_prepare() { + epatch "${FILESDIR}"/${P}-fortify.patch + + # Has problems with -O3 on some systems + replace-flags -O[3-9] -O2 + + # This one is from media-sound/fluid-soundfont (bug #479534) + sed "s,/usr/share/soundfonts/default.sf2,${EPREFIX}/usr/share/sounds/sf2/FluidR3_GM.sf2,"\ + -i src/plugin/fluidsynth/mid_o_flus.c || die +} + +src_configure() { + econf $(use_with X x) \ + $(use_with svga svgalib) \ + $(use_enable debug) \ + $(use_with gpm) \ + $(use_with alsa) \ + $(use_with sndfile) \ + $(use_with fluidsynth) \ + --with-fdtarball="${DISTDIR}"/${P_FD}.tgz \ + --sysconfdir="${EPREFIX}"/etc/dosemu/ \ + --with-docdir="${EPREFIX}"/usr/share/doc/${PF} +} + +src_compile() { + emake AR=$(tc-getAR) +} + +src_install() { + default + + # r - randmmap: dosemu tries to get address mapping + # exactly where asked, loops otherwise. + # m - allow RWX mapping: as it's an emulator / code loader + pax-mark -mr "${ED}/usr/bin/dosemu.bin" +} diff --git a/app-emulation/dosemu/files/dosemu-1.3.4-shm.diff b/app-emulation/dosemu/files/dosemu-1.3.4-shm.diff new file mode 100644 index 000000000000..f0868a988f0b --- /dev/null +++ b/app-emulation/dosemu/files/dosemu-1.3.4-shm.diff @@ -0,0 +1,11 @@ +--- dosemu-1.3.4/etc/dosemu.conf.orig 2007-01-28 22:19:44.000000000 +0100 ++++ dosemu-1.3.4/etc/dosemu.conf 2007-01-28 22:19:58.000000000 +0100 +@@ -166,7 +166,7 @@ + # preferred mapping driver, one of: auto, mapshm, mapashm, mapfile + # Default: ""="auto" + +-# $_mapping= "" ++$_mapping= "mapshm" + + ############################################################################## + ## Debug settings diff --git a/app-emulation/dosemu/files/dosemu-1.4.0.1-gcc433.diff b/app-emulation/dosemu/files/dosemu-1.4.0.1-gcc433.diff new file mode 100644 index 000000000000..8b0ca77df6c0 --- /dev/null +++ b/app-emulation/dosemu/files/dosemu-1.4.0.1-gcc433.diff @@ -0,0 +1,11 @@ +--- trunk/src/tools/periph/dexeconfig.c 2008/03/28 14:01:17 1854 ++++ trunk/src/tools/periph/dexeconfig.c 2008/03/30 22:58:55 1855 +@@ -238,7 +238,7 @@ + exit(1); + } + close(fd); +- fc = open(cfile, O_WRONLY | O_CREAT | O_TRUNC); ++ fc = creat(cfile, S_IWUSR | S_IRUSR); + if (fc < 0) { + perror("cannot open config file"); + exit(1); diff --git a/app-emulation/dosemu/files/dosemu-1.4.1_pre20091009-flex.patch b/app-emulation/dosemu/files/dosemu-1.4.1_pre20091009-flex.patch new file mode 100644 index 000000000000..7e8e291ef1b8 --- /dev/null +++ b/app-emulation/dosemu/files/dosemu-1.4.1_pre20091009-flex.patch @@ -0,0 +1,45 @@ +Gentoo-bug: http://bugs.gentoo.org/437074 + +commit 81232816b90e85488d7f11f96b8fcdc5f4988c93 +Author: Stas Sergeev <stsp@users.sourceforge.net> +Date: Sun Oct 14 19:51:09 2012 +0400 + + remove prototypes for lex-generated functions + +diff --git a/src/base/init/lexer.h b/src/base/init/lexer.h +index 65b3ab8..082f08c 100644 +--- a/src/base/init/lexer.h ++++ b/src/base/init/lexer.h +@@ -1,4 +1,4 @@ +-/* ++/* + * (C) Copyright 1992, ..., 2007 the "DOSEMU-Development-Team". + * + * for details see file COPYING.DOSEMU in the DOSEMU distribution +@@ -6,7 +6,9 @@ + + /* + * We are intercepting the yylex() function calls from the parser +- */ ++ */ ++#ifndef LEXER_H ++#define LEXER_H + #define OUR_YY_DECL int yylex (YYSTYPE* yylval) + OUR_YY_DECL; + +@@ -27,14 +29,4 @@ extern int include_lines[]; + extern int line_count; + extern int last_include; + +-extern int yyget_lineno(void); +-extern void yyset_lineno(int line_number); +-extern void yyset_out(FILE * out_str); +-extern void yyset_in(FILE * out_str); +-extern void yyset_debug(int bdebug ); +-extern int yyget_debug(void); +-extern int yylex_destroy(void); +-extern FILE* yyget_in(void); +-extern FILE* yyget_out(void); +-extern int yyget_leng(void); +-extern char *yyget_text(void); ++#endif diff --git a/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-fortify.patch b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-fortify.patch new file mode 100644 index 000000000000..5daa4e9fee41 --- /dev/null +++ b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-fortify.patch @@ -0,0 +1,48 @@ +From ff9bea065f4cc6068dcb8d6ea9423105305ca590 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyfox@gentoo.org> +Date: Mon, 5 Aug 2013 13:03:21 +0300 +Subject: [PATCH] src/tools/tools86.c: fix stack buffer overflow in + 'change_aout' + +Detected by gcc: + +gcc -std=gnu99 -c -MP -MMD -I../../src/include -I../../src/plugin/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -pipe -O2 -fomit-frame-pointer -o tools86.o tools86.c +In file included from /usr/include/stdio.h:937:0, + from tools86.c:98: + In function 'fread', + inlined from 'change_aout.constprop.1' at tools86.c:174:12, + inlined from 'main' at tools86.c:391:18: + /usr/include/bits/stdio2.h:293:2: warning: call to '__fread_chk_warn' declared with attribute warning: fread called with bigger size * nmemb than length of destination buffer [enabled by default] + return __fread_chk_warn (__ptr, __bos0 (__ptr), __size, __n, __stream); + ^ +Gentoo-bug: http://bugs.gentoo.org/343577 +Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> +--- + src/tools/tools86.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tools/tools86.c b/src/tools/tools86.c +index 141610d..35a0b96 100644 +--- a/src/tools/tools86.c ++++ b/src/tools/tools86.c +@@ -137,7 +137,7 @@ struct bsd_header { /* a.out header */ + #endif + + #ifdef __linux__ +-static int header_ld86out_to_gnuasout(struct bsd_header *bsd, struct gnu_header *gnu) ++static int header_ld86out_to_gnuasout(const struct bsd_header *bsd, struct gnu_header *gnu) + { + if (bsd->a_magic[0] != 0x01 || bsd->a_magic[1] != 0x03 || + bsd->a_flags != 0x00 || bsd->a_cpu != 0x10) return -1; +@@ -171,7 +171,7 @@ static int change_aout(char *objfile, int update_symtable) + return errno; + } + #ifdef __linux__ +- if (fread(&bsd,sizeof(gnu),1,f) != 1 ) { ++ if (fread(&bsd,sizeof(bsd),1,f) != 1 ) { + fclose(f); + return -1; + } +-- +1.8.3.2 + diff --git a/app-emulation/dosemu/metadata.xml b/app-emulation/dosemu/metadata.xml new file mode 100644 index 000000000000..14ef792f53f8 --- /dev/null +++ b/app-emulation/dosemu/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>hanno@gentoo.org</email> + </maintainer> + <maintainer> + <email>slyfox@gentoo.org</email> + <name>Sergei Trofimovich</name> + </maintainer> + <use> + <flag name="fluidsynth">use <pkg>media-sound/fluidsynth</pkg> for MIDI emulation</flag> + </use> + <upstream> + <remote-id type="sourceforge">dosemu</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/dynamips/Manifest b/app-emulation/dynamips/Manifest new file mode 100644 index 000000000000..3c845b4e84a7 --- /dev/null +++ b/app-emulation/dynamips/Manifest @@ -0,0 +1,2 @@ +DIST dynamips-0.2.12-source.zip 995877 SHA256 b8a60c2ff577ec3a5c2b892bce654a68cc072c79fbca2b708d36d42bd3e9eb12 SHA512 08f388027e3234a44a75de77f30d6c96f0d881c4db60435a237f6ae6e3804872fda422ab11249f5c7283054f7d2d8466886dcd6056e59fc90802e67fa7cb8c55 WHIRLPOOL 2e627071914fe11ae20b7f00ba7b81b7bde95a008d84a1786e2f57ab07ec2a0d836218e72040b34f8badbefb289fceab2c5f7324bf5d5cfca0d433ed968dc6ae +DIST dynamips-0.2.14-source.zip 961813 SHA256 ce77cf6e6e784142333d3b9dcc6c70ab7b1f676ff2a40b7d4fb738e14f01e789 SHA512 8c3d85998a61cae1e3e82501a00e886c954686f9a19a44acb7dee8b13911c0155ce2cdfecbdc41ed5d279266abdf77a5c3f2753fde12217b138313ffa46dabf8 WHIRLPOOL d20a78c701cdbb7f38c4e6f6848b5b3b0a80d8bef372cb13cc25c65d52652001e701f54d1e5a805e4279a4cf457f953387e7cbda124e9f4f57c8615296d8fc7e diff --git a/app-emulation/dynamips/dynamips-0.2.12.ebuild b/app-emulation/dynamips/dynamips-0.2.12.ebuild new file mode 100644 index 000000000000..f0dfa4d6f7df --- /dev/null +++ b/app-emulation/dynamips/dynamips-0.2.12.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs + +DESCRIPTION="Cisco 7200/3600 Simulator" +HOMEPAGE="http://www.gns3.net/dynamips/" +SRC_URI="mirror://sourceforge/project/gns-3/Dynamips/${PV}/${P}-source.zip" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="dev-libs/elfutils + net-libs/libpcap" +DEPEND="${RDEPEND} + app-arch/unzip" + +src_prepare() { + epatch "${FILESDIR}/${P}-makefile.patch" + + # enable verbose build + sed -i \ + -e 's/@$(CC)/$(CC)/g' \ + stable/Makefile || die 'sed on stable/Makefile failed' + # respect compiler + tc-export CC + + epatch_user +} + +src_compile() { + if use amd64 || use x86; then + emake DYNAMIPS_ARCH="${ARCH}" + else + emake DYNAMIS_ARCH="nojit" + fi +} + +src_install () { + newbin dynamips.stable dynamips + newbin nvram_export.stable nvram_export + doman man/* + dodoc README README.hypervisor TODO +} diff --git a/app-emulation/dynamips/dynamips-0.2.14-r1.ebuild b/app-emulation/dynamips/dynamips-0.2.14-r1.ebuild new file mode 100644 index 000000000000..cb86df7010a7 --- /dev/null +++ b/app-emulation/dynamips/dynamips-0.2.14-r1.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit cmake-utils + +DESCRIPTION="Cisco 7200/3600 Simulator" +HOMEPAGE="http://www.gns3.net/dynamips/" +SRC_URI="mirror://sourceforge/project/gns-3/Dynamips/${PV}/${P}-source.zip" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="ipv6" + +RDEPEND="dev-libs/elfutils + net-libs/libpcap" +DEPEND="${RDEPEND} + app-arch/unzip" + +DOCS=( ChangeLog README RELEASE-NOTES ) + +S="${WORKDIR}" + +PATCHES=( "${FILESDIR}/${PV}-docs.patch" ) + +src_prepare() { + # comment out DYNAMIPS_FLAGS to respect CFLAGS + sed -e "s:^set ( DYNAMIPS_FLAGS:#&:" -i cmake/dependencies.cmake || die + + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_enable ipv6 IPV6) + ) + cmake-utils_src_configure +} diff --git a/app-emulation/dynamips/files/0.2.14-docs.patch b/app-emulation/dynamips/files/0.2.14-docs.patch new file mode 100644 index 000000000000..1d744062e5b5 --- /dev/null +++ b/app-emulation/dynamips/files/0.2.14-docs.patch @@ -0,0 +1,20 @@ +--- CMakeLists-orig.txt 2014-11-28 14:51:14.375913296 +0900 ++++ CMakeLists.txt 2014-11-28 14:52:09.579369288 +0900 +@@ -37,16 +37,6 @@ + add_subdirectory ( stable ) + add_subdirectory ( unstable ) + +-install_docs ( +- "ChangeLog" +- "COPYING" +- "MAINTAINERS" +- "README" +- "README.hypervisor" +- "RELEASE-NOTES" +- "TODO" +- ) +- + # uninstall target - leaves behind any directory created during install + set ( _templatefile "${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" ) + set ( _scriptfile "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake" ) + diff --git a/app-emulation/dynamips/files/dynamips-0.2.12-makefile.patch b/app-emulation/dynamips/files/dynamips-0.2.12-makefile.patch new file mode 100644 index 000000000000..431f2df8ac74 --- /dev/null +++ b/app-emulation/dynamips/files/dynamips-0.2.12-makefile.patch @@ -0,0 +1,11 @@ +--- stable/origMakefile 2014-03-27 18:17:28.000000000 -0400 ++++ stable/Makefile 2014-05-30 18:07:28.164255039 -0400 +@@ -19,7 +19,7 @@ + PPC32_ARCH_INC_FILE=\"ppc32_$(DYNAMIPS_ARCH)_trans.h\" + OSNAME=unknown + +-CFLAGS+= $(INCLUDE) -Wall -O2 -fomit-frame-pointer \ ++CFLAGS+= $(INCLUDE) -Wall \ + -DJIT_ARCH=\"$(DYNAMIPS_ARCH)\" -DJIT_CPU=CPU_$(DYNAMIPS_ARCH) \ + -DMIPS64_ARCH_INC_FILE=$(MIPS64_ARCH_INC_FILE) \ + -DPPC32_ARCH_INC_FILE=$(PPC32_ARCH_INC_FILE) \ diff --git a/app-emulation/dynamips/metadata.xml b/app-emulation/dynamips/metadata.xml new file mode 100644 index 000000000000..c9d9b3355675 --- /dev/null +++ b/app-emulation/dynamips/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>bman@gentoo.org</email> + <name>Aaron Bauman</name> + </maintainer> + <maintainer> + <email>pinkbyte@gentoo.org</email> + <name>Sergey Popov</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">gns-3</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/e-uae/Manifest b/app-emulation/e-uae/Manifest new file mode 100644 index 000000000000..746c043c3c9a --- /dev/null +++ b/app-emulation/e-uae/Manifest @@ -0,0 +1 @@ +DIST e-uae-0.8.29-WIP4.tar.bz2 1122718 SHA256 9828cb0fca783160bcb33900d0254f4bdaade1c9a41256e5f298e973d0c07456 SHA512 63d5c60ca017ba7ffaba32c4d7edceba0410b773066cc58e226c8cc2c92152eb3689698b0affe478cc63c996c731fbbf56d9028dfd000394d904f193f860473f WHIRLPOOL 4d0bab2b8492cfe6a6b2e38fab7b2eb9ad4b33b38b191d9949cb946f6e5a4365b00ccec118acb8b4d537b70b73b8d9deb0c8235b5966f1488d9a03e3a245dfeb diff --git a/app-emulation/e-uae/e-uae-0.8.29_rc4-r2.ebuild b/app-emulation/e-uae/e-uae-0.8.29_rc4-r2.ebuild new file mode 100644 index 000000000000..cf3ef4650d84 --- /dev/null +++ b/app-emulation/e-uae/e-uae-0.8.29_rc4-r2.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="3" + +inherit eutils flag-o-matic pax-utils + +DESCRIPTION="The Ubiquitous Amiga Emulator with an emulation core largely based on WinUAE" +HOMEPAGE="http://www.rcdrummond.net/uae/" +# We support _rcX for WIPX versions and _preYYYYMMDD for CVS snapshots. +if [[ "${PV%%_rc*}" = "${PV}" ]] ; then + # _pre is used, cvs version + my_ver=${PV%%_pre*} + snap_ver=${PV##*_pre} + S="${WORKDIR}"/${PN}-${my_ver}-${snap_ver} + SRC_URI="http://www.rcdrummond.net/uae/test/${snap_ver}/${PN}-${my_ver}-${snap_ver}.tar.bz2" +else + my_ver=${PV%%_rc*} + WIP_ver=${PV##*_rc} + S="${WORKDIR}"/${PN}-${my_ver}-WIP${WIP_ver} + SRC_URI="http://www.rcdrummond.net/uae/${PN}-${my_ver}-WIP${WIP_ver}/${PN}-${my_ver}-WIP${WIP_ver}.tar.bz2" +fi + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="X dga ncurses sdl alsa oss sdl-sound capslib" + +# Note: opposed to ./configure --help zlib support required! Check +# src/Makefile.am that includes zfile.c unconditionaly. +RDEPEND="X? ( x11-libs/libXt + x11-libs/libxkbfile + x11-libs/libXext + x11-misc/xkeyboard-config + dga? ( x11-libs/libXxf86dga + x11-libs/libXxf86vm ) + ) + !X? ( sdl? ( media-libs/libsdl ) + !sdl? ( sys-libs/ncurses ) ) + alsa? ( media-libs/alsa-lib ) + !alsa? ( sdl-sound? ( media-libs/sdl-sound ) ) + capslib? ( >=games-emulation/caps-20060612 ) + sys-libs/zlib + virtual/cdrtools" + +DEPEND="${RDEPEND} + X? ( dga? ( x11-proto/xf86vidmodeproto + x11-proto/xf86dgaproto ) )" + +src_prepare() { + # Fix for high cpu use when compiled with --disable-audio + use alsa || use sdl-sound || use oss || epatch "${FILESDIR}"/${P}-high-cpu-usage.patch +} + +src_configure() { + strip-flags + + local myconf + + # Sound setup. + if use alsa; then + elog "Choosing alsa as sound target to use." + myconf="--with-alsa --without-sdl-sound" + elif use sdl-sound ; then + if ! use sdl ; then + ewarn "sdl-sound is not enabled because sdl USE flag is disabled. Leaving" + ewarn "sound on oss autodetection." + myconf="--without-alsa --without-sdl-sound" + ebeep + else + elog "Choosing sdl-sound as sound target to use." + ewarn "E-UAE with the SDL audio back-end doesn't work correctly in Linux." + ewarn "Better use alsa... You've been warned ;)" + ebeep + myconf="--without-alsa --with-sdl-sound" + fi + elif use oss ; then + elog "Choosing oss as sound target to use." + ewarn "oss will be autodetected. See output of configure." + myconf="--without-alsa --without-sdl-sound" + else + ewarn "There is no alsa, sdl-sound or oss in USE. Sound target disabled!" + myconf="--disable-audio" + fi + + # VIDEO setup. X is autodetected (there is no --with-X option). + if use X ; then + elog "Using X11 for video output." + ewarn "Fullscreen mode is not working in X11 currently. Use sdl." + myconf="$myconf --without-curses --without-sdl-gfx" + use dga && ewarn "To use dga you have to run e-uae as root." + use dga && myconf="$myconf --enable-dga --enable-vidmode" + elif use sdl ; then + elog "Using sdl for video output." + myconf="$myconf --with-sdl --with-sdl-gfx --without-curses" + elif use ncurses; then + elog "Using ncurses for video output." + myconf="$myconf --with-curses --without-sdl-gfx" + else + ewarn "There is no X or sdl or ncurses in USE!" + ewarn "Following upstream falling back on ncurses." + myconf="$myconf --with-curses --without-sdl-gfx" + ebeep + fi + + # bug #415787 + myconf="$myconf --disable-ui" + + myconf="$myconf $(use_with capslib caps)" + + myconf="$myconf --with-zlib" + + # And explicitly state defaults: + myconf="$myconf --enable-aga" + myconf="$myconf --enable-autoconfig --enable-scsi-device --enable-cdtv --enable-cd32" + myconf="$myconf --enable-bsdsock" + + econf ${myconf} \ + --with-libscg-includedir="${EPREFIX}"/usr/include/scsilib \ + || die "./configure failed" +} + +src_compile() { + emake -j1 || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + + # The emulator needs to be able to create executable heap + # - doesn't need trampoline emulation though. + pax-mark me "${ED}/usr/bin/uae" + + # Rename it to e-uae + mv "${ED}/usr/bin/uae" "${ED}/usr/bin/e-uae" + mv "${ED}/usr/bin/readdisk" "${ED}/usr/bin/e-readdisk" + + dodoc docs/* README ChangeLog +} diff --git a/app-emulation/e-uae/files/e-uae-0.8.29_rc4-high-cpu-usage.patch b/app-emulation/e-uae/files/e-uae-0.8.29_rc4-high-cpu-usage.patch new file mode 100644 index 000000000000..ba005cece1ac --- /dev/null +++ b/app-emulation/e-uae/files/e-uae-0.8.29_rc4-high-cpu-usage.patch @@ -0,0 +1,18 @@ +Index: src/sd-none/sound.c +=================================================================== +RCS file: /cvsroot/uaedev/uae/src/sd-none/sound.c,v +retrieving revision 1.4 +diff -u -r1.4 sound.c +--- src/sd-none/sound.c 15 Feb 2007 04:47:38 -0000 1.4 ++++ src/sd-none/sound.c 25 May 2007 14:47:35 -0000 +@@ -30,10 +30,6 @@ + { + } + +-void update_sound (int freq) +-{ +-} +- + void reset_sound (void) + { + } diff --git a/app-emulation/e-uae/metadata.xml b/app-emulation/e-uae/metadata.xml new file mode 100644 index 000000000000..2314e7afa121 --- /dev/null +++ b/app-emulation/e-uae/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <longdescription lang="en"> + E-UAE is a fork of UAE which intends to merge all the new features of + WinUAE with UAE. + </longdescription> + <use> + <flag name='capslib'>Add CAPS library support</flag> + <flag name='sdl-sound'>Use <pkg>media-libs/sdl-sound</pkg> for audio + output</flag> + </use> +</pkgmetadata> diff --git a/app-emulation/edumips64/Manifest b/app-emulation/edumips64/Manifest new file mode 100644 index 000000000000..c1203a9c658e --- /dev/null +++ b/app-emulation/edumips64/Manifest @@ -0,0 +1,2 @@ +DIST edumips64-1.1.tar.bz2 551083 SHA256 f34031fcfe7b43a8cf73a6e5d1da23f712cb83cf9bf68c94db70c799ae61cd6c SHA512 ca4884bbdb5bb41fe96abca566500af7dc31b330390f352bc6413aacb0561f58b5e95a90e22f58d18065324c155c97bd4d79beb7769efdafc3541cc37145579c WHIRLPOOL de616182917f5436d65c388da1cf90c2f84174f4bfb446613c01ff9aa48c419dbe26c6ab71a9377fb92627cfe9fece9d5b4d335a046daa84558686db2009bac7 +DIST edumips64-1.2.tar.bz2 551455 SHA256 dbdfcddb55aff2f9f9ec4d861d5faeff4c17957eb75cd8448f1cc62369ac5fc4 SHA512 93a5bcae3ab96c35688de7589b9ecb465fe841b007a50e1b04f8194d12a45a4e7134951584f4fbfad5cee51925d1d21b0f425f182999f66fe57a31adbd3f6602 WHIRLPOOL 41e966b28f0c6843586d6b8039c5ad47e071c7b5d2d527b77d928b29a66ec1fca87a1c4a33252555cd67d91e1adab27e9488611d03ab64c1d65530e5c914002a diff --git a/app-emulation/edumips64/edumips64-1.1.ebuild b/app-emulation/edumips64/edumips64-1.1.ebuild new file mode 100644 index 000000000000..5a5faefba9b6 --- /dev/null +++ b/app-emulation/edumips64/edumips64-1.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +JAVA_PKG_IUSE="doc test" + +inherit eutils java-pkg-2 java-ant-2 + +DESCRIPTION="A visual and cross-platform MIPS64 CPU Simulator" +HOMEPAGE="http://www.edumips.org" +SLOT="0" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="dev-python/sphinx + dev-java/javahelp:0 + >=virtual/jdk-1.6 + doc? ( sys-devel/make ) + test? ( + dev-java/junit:4 + dev-java/ant-junit4 + )" +RDEPEND=">=virtual/jre-1.6" + +EANT_BUILD_TARGET="slim-jar" +EANT_DOC_TARGET="htmldoc" + +src_prepare() { + epatch "${FILESDIR}/${PN}-javadoc-cp.patch" + java-pkg_jar-from --build-only --into libs javahelp jhall.jar + use test && java-pkg_jar-from --build-only --into libs junit-4 junit.jar junit-4.10.jar + java-pkg-2_src_prepare +} + +src_install() { + java-pkg_newjar ${PN}-${PV}-nodeps.jar ${PN}.jar + dodoc RELEASE_NOTES authors + use doc && java-pkg_dojavadoc docs/en/output/html +} + +src_test() { + ANT_TASKS="ant-junit4" eant test +} diff --git a/app-emulation/edumips64/edumips64-1.2.ebuild b/app-emulation/edumips64/edumips64-1.2.ebuild new file mode 100644 index 000000000000..f54cafdc7603 --- /dev/null +++ b/app-emulation/edumips64/edumips64-1.2.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +JAVA_PKG_IUSE="doc test" + +inherit eutils java-pkg-2 java-ant-2 + +DESCRIPTION="A visual and cross-platform MIPS64 CPU Simulator" +HOMEPAGE="http://www.edumips.org" +SLOT="0" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="dev-python/sphinx + dev-java/javatoolkit + dev-java/javahelp:0 + >=virtual/jdk-1.6 + doc? ( sys-devel/make ) + test? ( + dev-java/junit:4 + dev-java/ant-junit4 + )" +RDEPEND=">=virtual/jre-1.6" + +EANT_BUILD_TARGET="slim-jar" +EANT_DOC_TARGET="htmldoc" + +src_prepare() { + epatch "${FILESDIR}/${P}-javadoc-cp.patch" + java-pkg_jar-from --build-only --into libs javahelp jhall.jar + use test && java-pkg_jar-from --build-only --into libs junit-4 junit.jar junit-4.10.jar + java-pkg-2_src_prepare +} + +src_install() { + java-pkg_newjar ${PN}-${PV}-nodeps.jar ${PN}.jar + dodoc RELEASE_NOTES authors + use doc && java-pkg_dojavadoc docs/en/output/html +} + +src_test() { + ANT_TASKS="ant-junit4" eant test +} diff --git a/app-emulation/edumips64/files/edumips64-1.2-javadoc-cp.patch b/app-emulation/edumips64/files/edumips64-1.2-javadoc-cp.patch new file mode 100644 index 000000000000..14ead77d3335 --- /dev/null +++ b/app-emulation/edumips64/files/edumips64-1.2-javadoc-cp.patch @@ -0,0 +1,11 @@ +--- a/build.xml ++++ b/build.xml +@@ -27,7 +27,7 @@ + + <!-- Access the environment --> + <property environment="env" /> +- <property name="base.classpath" value="libs:libs/junit-4.10.jar:libs/hamcrest-core-1.3.jar:${env.CLASSPATH}" /> ++ <property name="base.classpath" value="libs:libs/jhall.jar:libs/junit-4.10.jar:libs/hamcrest-core-1.3.jar:${env.CLASSPATH}" /> + + <!-- File names --> + <property name="standalone_jar_filename" value="edumips64-${version}.jar" /> diff --git a/app-emulation/edumips64/files/edumips64-javadoc-cp.patch b/app-emulation/edumips64/files/edumips64-javadoc-cp.patch new file mode 100644 index 000000000000..80e389049b5c --- /dev/null +++ b/app-emulation/edumips64/files/edumips64-javadoc-cp.patch @@ -0,0 +1,11 @@ +--- edumips64-1.1.orig/build.xml ++++ edumips64-1.1/build.xml +@@ -24,7 +24,7 @@ + + <!-- Access the environment --> + <property environment="env" /> +- <property name="base.classpath" value="libs:libs/junit-4.10.jar:libs/hamcrest-core-1.3.jar:${env.CLASSPATH}" /> ++ <property name="base.classpath" value="libs:libs/jhall.jar:libs/junit-4.10.jar:libs/hamcrest-core-1.3.jar:${env.CLASSPATH}" /> + + <!-- File names --> + <property name="standalone_jar_filename" value="edumips64-${version}.jar" /> diff --git a/app-emulation/edumips64/metadata.xml b/app-emulation/edumips64/metadata.xml new file mode 100644 index 000000000000..75e63da88fc1 --- /dev/null +++ b/app-emulation/edumips64/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>java</herd> + <maintainer> + <email>lxnay@gentoo.org</email> + <name>Fabio Erculiani</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">edumips64</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/free42/Manifest b/app-emulation/free42/Manifest new file mode 100644 index 000000000000..bf0e040da8be --- /dev/null +++ b/app-emulation/free42/Manifest @@ -0,0 +1 @@ +DIST free42-1.5.5.tgz 8160228 SHA256 2c5a16aa470de76185135c307add9b920a712e31269c471dd246b6cf9283e050 SHA512 97833c99a24c2b1f427b237469868d57734b919b6c69521b45de480bd5274f5427caac13b9ccf3b79674d63dabdeda58a8db4c23a184b72b04279acbdf7eff8f WHIRLPOOL d435befbf2d392222d1ef7907c7913e474da5c4997dfb84177be3ea0b3fc1d9c9b0ea41590810e78d38eb082216b28c907fe39613823d866b6a1ab4d531a6af2 diff --git a/app-emulation/free42/files/free42-1.5.5-fix-makefile.patch b/app-emulation/free42/files/free42-1.5.5-fix-makefile.patch new file mode 100644 index 000000000000..8f73b4405e7f --- /dev/null +++ b/app-emulation/free42/files/free42-1.5.5-fix-makefile.patch @@ -0,0 +1,30 @@ +diff -Nuar a/gtk/Makefile b/gtk/Makefile +--- a/gtk/Makefile 2014-06-21 19:46:55.000000000 +0200 ++++ b/gtk/Makefile 2014-06-24 00:03:38.719906032 +0200 +@@ -19,7 +19,6 @@ + -Wall \ + -Wno-parentheses \ + -Wno-write-strings \ +- -g \ + -I/usr/X11R6/include \ + -fno-exceptions \ + -fno-rtti \ +@@ -30,14 +29,11 @@ + -DDECIMAL_GLOBAL_ROUNDING_ACCESS_FUNCTIONS=1 \ + -DDECIMAL_GLOBAL_EXCEPTION_FLAGS=1 \ + -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1 \ +- -D_WCHAR_T_DEFINED ++ -D_WCHAR_T_DEFINED \ ++ ${CXXFLAGS} + +-LDFLAGS = -L/usr/X11R6/lib +-LIBS := gcc111libbid-$(shell uname -m).a -lXmu $(shell pkg-config --libs gtk+-2.0) +- +-ifeq "$(shell uname -s)" "Linux" +-LDFLAGS += -Wl,--hash-style=both +-endif ++LDFLAGS := -L/usr/X11R6/lib ${LDFLAGS} ++LIBS := gcc111libbid-$(shell uname -m).a -lXmu -lX11 -ldl -lpthread $(shell pkg-config --libs gtk+-2.0) + + SRCS = shell_main.cc shell_skin.cc skins.cc keymap.cc shell_loadimage.cc \ + shell_spool.cc core_main.cc core_commands1.cc core_commands2.cc \ diff --git a/app-emulation/free42/free42-1.5.5.ebuild b/app-emulation/free42/free42-1.5.5.ebuild new file mode 100644 index 000000000000..608ed317c142 --- /dev/null +++ b/app-emulation/free42/free42-1.5.5.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs + +DESCRIPTION="An HP-42S Calculator Simulator" +HOMEPAGE="http://thomasokken.com/free42/" +SRC_URI="mirror://gentoo/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="alsa" + +DEPEND="dev-libs/atk + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:2 + x11-libs/pango + alsa? ( media-libs/alsa-lib )" + +RDEPEND="${DEPEND} + x11-libs/libX11 + x11-libs/libXmu" + +S="${WORKDIR}/${PN}-nologo-${PV}" + +src_prepare() { + sed -i -e 's/print_gif_name\[FILENAMELEN\]/print_gif_name\[1000\]/' \ + "${S}/gtk/shell_main.cc" || die + epatch "${FILESDIR}"/${P}-fix-makefile.patch +} + +src_compile() { + local myconf + use alsa && myconf="AUDIO_ALSA=yes" + emake CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C "${S}/gtk" +} + +src_install() { + dodoc CREDITS HISTORY README TODO + dobin gtk/free42dec +} diff --git a/app-emulation/free42/metadata.xml b/app-emulation/free42/metadata.xml new file mode 100644 index 000000000000..ae876330a77d --- /dev/null +++ b/app-emulation/free42/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>nimiux@gentoo.org</email> + <name>Chema Alonso</name> + </maintainer> + <longdescription lang="en"> + An HP-42S Calculator Simulator + </longdescription> + <longdescription lang="es"> + Un simulador de la calculadora HP-42S + </longdescription> + <use> + <flag name="alsa"> + Adds support for Advanced Linux Sound Architecture + </flag> + </use> +</pkgmetadata> diff --git a/app-emulation/fuse-utils/Manifest b/app-emulation/fuse-utils/Manifest new file mode 100644 index 000000000000..ca9063cdb24f --- /dev/null +++ b/app-emulation/fuse-utils/Manifest @@ -0,0 +1 @@ +DIST fuse-utils-1.1.1.tar.gz 505766 SHA256 7c36c0b42805661a06c21aede3461ffc8ccdb5ce56fe232875bf86e79f77c93c SHA512 67a9cc6af97f213a43b5e557dfe800f823e914faae99d7c5b2ddfc52656ab89bac737df644b9aa32ac009bdc0740d2064ccc6de2643ecba9141787245f9657f9 WHIRLPOOL 6da43fbbacdc918ce1cd4b11b21499a7faf26afe5cd1cd46e4911594c515679f2b5f6640d0530b6f47f644bc16c0247b5df26c49893f2e656b7d878ec95ea394 diff --git a/app-emulation/fuse-utils/fuse-utils-1.1.1.ebuild b/app-emulation/fuse-utils/fuse-utils-1.1.1.ebuild new file mode 100644 index 000000000000..054937d59d00 --- /dev/null +++ b/app-emulation/fuse-utils/fuse-utils-1.1.1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils + +DESCRIPTION="Utils for the Free Unix Spectrum Emulator by Philip Kendall" +HOMEPAGE="http://fuse-emulator.sourceforge.net" +SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="audiofile gcrypt" + +RDEPEND="~app-emulation/libspectrum-1.1.1[gcrypt?] + audiofile? ( >=media-libs/audiofile-0.2.3 )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +src_configure() { + econf \ + $(use_with audiofile ) \ + $(use_with gcrypt libgcrypt) \ + || die "Configure failed!" +} + +src_compile() { + emake || die "Make failed!" +} + +src_install() { + emake install DESTDIR="${D}" || die "install failed" + dodoc AUTHORS ChangeLog README + doman man/*.1 +} diff --git a/app-emulation/fuse-utils/metadata.xml b/app-emulation/fuse-utils/metadata.xml new file mode 100644 index 000000000000..b5eea7296dd7 --- /dev/null +++ b/app-emulation/fuse-utils/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>proxy-maintainers</herd> + <maintainer> + <email>neurogeek@gentoo.org</email> + <name>Jesus Rivero</name> + <description>Proxy Maintainer. Please CC on bugs.</description> + </maintainer> + <maintainer> + <email>jmfo1982@yahoo.es</email> + <description>Proxied Maintainer. Please assign on bugs.</description> + <name>José Manuel Ferrer Ortiz</name> + </maintainer> + <use> + <flag name="gcrypt">Use <pkg>dev-libs/libgcrypt</pkg> for low-level crypto of some + features, including logfiles.</flag> + </use> + <upstream> + <remote-id type="sourceforge">fuse-emulator</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/fuse/Manifest b/app-emulation/fuse/Manifest new file mode 100644 index 000000000000..f2d19c6d87c0 --- /dev/null +++ b/app-emulation/fuse/Manifest @@ -0,0 +1,2 @@ +DIST fuse-1.0.0.tar.gz 1628751 SHA256 a00add3abc0148247f7990e6feebcc32d82ebe857897d9426e5230222425aeb9 SHA512 dfa3647d12f515f4fbea1481e074b947adc552f1fdec23c20b550bdce619e7efdd977cad7ecb75ab50eb2da785d95ef9d8908d44600412d12da4ca5751d0d7c3 WHIRLPOOL 4329df04555d031f41581d47d1284ebd73aaec19320df3dbd9a2aa594085a95734aaae9275487809800ae371e2ce6d4c14a6fdb628f959f2db791c19fdeeae9c +DIST fuse-1.1.1.tar.gz 1881332 SHA256 a857d4bd62e01d18429897467508af15624cbaf343caed8b9ba1ab3a8879444e SHA512 67d12c56057a13121d8a5c073002dd2168268894669bdb50f3aba977cb1f53afa48774bfcb438a627a5afdbd2288248d4449e57d744e17b9e3eba00970685a14 WHIRLPOOL b64dd50037a4cba617bd0e10794c01e1a63bc2e68cd990636c1daa88e9a515032216b34e72ca6876f432a72d214d1220b808d2aae2ba849ee66f3d3784f14b73 diff --git a/app-emulation/fuse/files/fuse-1.0.0-libpng15.patch b/app-emulation/fuse/files/fuse-1.0.0-libpng15.patch new file mode 100644 index 000000000000..3da2d672c47b --- /dev/null +++ b/app-emulation/fuse/files/fuse-1.0.0-libpng15.patch @@ -0,0 +1,10 @@ +--- screenshot.c ++++ screenshot.c +@@ -48,6 +48,7 @@ + + #ifdef USE_LIBPNG + ++#include <zlib.h> + #include <png.h> + + static int get_rgb32_data( libspectrum_byte *rgb32_data, size_t stride, diff --git a/app-emulation/fuse/files/fuse-1.1.1-gold-link-lm.patch b/app-emulation/fuse/files/fuse-1.1.1-gold-link-lm.patch new file mode 100644 index 000000000000..97e18a540ae1 --- /dev/null +++ b/app-emulation/fuse/files/fuse-1.1.1-gold-link-lm.patch @@ -0,0 +1,10 @@ +diff -uNr fuse-1.1.1.orig/sound/Makefile.am fuse-1.1.1/sound/Makefile.am +--- fuse-1.1.1.orig/sound/Makefile.am 2014-06-04 17:32:46.540000001 -0400 ++++ fuse-1.1.1/sound/Makefile.am 2014-06-04 19:04:23.190000001 -0400 +@@ -46,5 +46,6 @@ + + libsound_a_LIBADD = $(SOUND_LIBADD) + libsound_a_DEPENDENCIES = $(SOUND_LIBADD) ++libsound_a_LDFLAGS = -lm + + noinst_HEADERS = sfifo.h blipbuffer.h diff --git a/app-emulation/fuse/fuse-1.0.0.ebuild b/app-emulation/fuse/fuse-1.0.0.ebuild new file mode 100644 index 000000000000..43aaa504c3eb --- /dev/null +++ b/app-emulation/fuse/fuse-1.0.0.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +inherit eutils + +DESCRIPTION="Free Unix Spectrum Emulator by Philip Kendall" +HOMEPAGE="http://fuse-emulator.sourceforge.net" +SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="alsa ao fbcon gpm gtk joystick memlimit png sdl svga X xml" + +# This build is heavily use dependent. Fuse user interface use flags are, in +# order of precedence: gtk, sdl, X, svga and fbcon. X version of fuse will +# be built if no valid user interface flag is chosen. +RDEPEND="~app-emulation/libspectrum-1.0.0 + gtk? ( x11-libs/gtk+:2 + alsa? ( media-libs/alsa-lib ) + !alsa? ( ao? ( media-libs/libao ) ) + joystick? ( media-libs/libjsw ) ) + !gtk? ( + sdl? ( >=media-libs/libsdl-1.2.4 ) + !sdl? ( + X? ( x11-libs/libX11 + x11-libs/libXext + alsa? ( media-libs/alsa-lib ) + !alsa? ( ao? ( media-libs/libao ) ) + joystick? ( media-libs/libjsw ) ) + !X? ( + svga? ( media-libs/svgalib + alsa? ( media-libs/alsa-lib ) + !alsa? ( ao? ( media-libs/libao ) ) ) + !svga? ( + fbcon? ( virtual/linux-sources + gpm? ( sys-libs/gpm ) + alsa? ( media-libs/alsa-lib ) + !alsa? ( ao? ( media-libs/libao ) ) + joystick? ( media-libs/libjsw ) ) + !fbcon? ( x11-libs/libX11 + x11-libs/libXext + alsa? ( media-libs/alsa-lib ) + !alsa? ( ao? ( media-libs/libao ) ) + joystick? ( media-libs/libjsw ) ) ) ) ) ) + dev-libs/glib:2 + png? ( media-libs/libpng sys-libs/zlib ) + xml? ( dev-libs/libxml2 )" +DEPEND="${RDEPEND} + dev-lang/perl + virtual/pkgconfig" + +DOCS=( AUTHORS ChangeLog README THANKS ) + +src_prepare() { + epatch "${FILESDIR}"/${P}-libpng15.patch +} + +src_configure() { + local guiflag + + if use gtk; then + guiflag="" + elif use sdl; then + guiflag="--with-sdl" + elif use X; then + guiflag="--without-gtk" + elif use svga; then + guiflag="--with-svgalib" + elif use fbcon; then + guiflag="--with-fb" + else # We default to X user interface + guiflag="--without-gtk" + fi + + econf \ + --without-win32 \ + ${guiflag} \ + $(use_with gpm) \ + $(use_with alsa) \ + $(use_with ao libao) \ + $(use_with joystick) \ + $(use_enable joystick ui-joystick) \ + $(use_with xml libxml2) \ + $(use_with png ) \ + $(use_enable memlimit smallmem) +} + +src_install() { + default + doman man/fuse.1 +} diff --git a/app-emulation/fuse/fuse-1.1.1.ebuild b/app-emulation/fuse/fuse-1.1.1.ebuild new file mode 100644 index 000000000000..5ed35a4b7755 --- /dev/null +++ b/app-emulation/fuse/fuse-1.1.1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +inherit autotools eutils + +DESCRIPTION="Free Unix Spectrum Emulator by Philip Kendall" +HOMEPAGE="http://fuse-emulator.sourceforge.net" +SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="alsa ao fbcon gpm gtk joystick memlimit png sdl svga X xml" + +# This build is heavily use dependent. Fuse user interface use flags are, in +# order of precedence: gtk, sdl, X, svga and fbcon. X version of fuse will +# be built if no valid user interface flag is chosen. +RDEPEND="~app-emulation/libspectrum-1.1.1 + gtk? ( x11-libs/gtk+:2 + alsa? ( media-libs/alsa-lib ) + !alsa? ( ao? ( media-libs/libao ) ) + joystick? ( media-libs/libjsw ) ) + !gtk? ( + sdl? ( >=media-libs/libsdl-1.2.4 ) + !sdl? ( + X? ( x11-libs/libX11 + x11-libs/libXext + alsa? ( media-libs/alsa-lib ) + !alsa? ( ao? ( media-libs/libao ) ) + joystick? ( media-libs/libjsw ) ) + !X? ( + svga? ( media-libs/svgalib + alsa? ( media-libs/alsa-lib ) + !alsa? ( ao? ( media-libs/libao ) ) ) + !svga? ( + fbcon? ( + gpm? ( sys-libs/gpm ) + alsa? ( media-libs/alsa-lib ) + !alsa? ( ao? ( media-libs/libao ) ) + joystick? ( media-libs/libjsw ) ) + !fbcon? ( x11-libs/libX11 + x11-libs/libXext + alsa? ( media-libs/alsa-lib ) + !alsa? ( ao? ( media-libs/libao ) ) + joystick? ( media-libs/libjsw ) ) ) ) ) ) + dev-libs/glib:2 + png? ( media-libs/libpng sys-libs/zlib ) + xml? ( dev-libs/libxml2 )" +DEPEND="${RDEPEND} + fbcon? ( virtual/linux-sources ) + dev-lang/perl + virtual/pkgconfig" + +DOCS=( AUTHORS ChangeLog README THANKS ) + +src_prepare() { + epatch "${FILESDIR}/${P}-gold-link-lm.patch" + eautoreconf +} + +src_configure() { + local guiflag + + if use gtk; then + guiflag="" + elif use sdl; then + guiflag="--with-sdl" + elif use X; then + guiflag="--without-gtk" + elif use svga; then + guiflag="--with-svgalib" + elif use fbcon; then + guiflag="--with-fb" + else # We default to X user interface + guiflag="--without-gtk" + fi + + econf \ + --without-win32 \ + ${guiflag} \ + $(use_with gpm) \ + $(use_with alsa) \ + $(use_with ao libao) \ + $(use_with joystick) \ + $(use_enable joystick ui-joystick) \ + $(use_with xml libxml2) \ + $(use_with png ) \ + $(use_enable memlimit smallmem) +} + +src_install() { + default + doman man/fuse.1 +} diff --git a/app-emulation/fuse/metadata.xml b/app-emulation/fuse/metadata.xml new file mode 100644 index 000000000000..f7c150dc0efc --- /dev/null +++ b/app-emulation/fuse/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>proxy-maintainers</herd> + <maintainer> + <email>jmfo1982@yahoo.es</email> + <description>Proxied Maintainer. Please assign on bugs.</description> + <name>José Manuel Ferrer Ortiz</name> + </maintainer> + <maintainer> + <email>neurogeek@gentoo.org</email> + <name>Jesus Rivero</name> + <description>Proxy Maintainer. Please CC on bugs</description> + </maintainer> + <upstream> + <remote-id type="sourceforge">fuse-emulator</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/ganeti-htools/Manifest b/app-emulation/ganeti-htools/Manifest new file mode 100644 index 000000000000..31b7e2d7be76 --- /dev/null +++ b/app-emulation/ganeti-htools/Manifest @@ -0,0 +1,3 @@ +DIST ganeti-htools-0.2.8.tar.gz 236904 SHA256 40574419e07353144e75211b5b524c38cd8e5335589a60ef774851f8e028596d SHA512 a01f29c684456a9fe9023e061892e713c4e89a6e4f9ece01da62cea0eb8ce8fc95a936ba2be351b5dcc0026989054eb4471563475f1c4001f9282d28b996eadc WHIRLPOOL c56fab535149412411301923c936c61f830ecbe4007a3560d5f05de5158d7f90f8b84ab49c3bf3f26e621661e06038893703cb3446c150d54b26130705231500 +DIST ganeti-htools-0.3.0.tar.gz 284839 SHA256 80fcd138cd21f662db226cd30b1efcc08fdaa197c56822809c1c2b58be04a32c SHA512 aa73fed2a99e2fe96f1660b0dd718e9ac3afc6924a25182f5e1ee1eafdccfe43b99986a2f2eefa6bb87b3543565d1fefdf1ef7c9c68ab36dfa9ca677c507945a WHIRLPOOL 0c47f1d330b5cebe69da4598de0a035fdf6e9c7fa65b6cdbe435b1d240d44ef61e2fa9a2ea77f5c1968f61aef5f5885319fef812d32edf934b1bf79b309abc8d +DIST ganeti-htools-0.3.1.tar.gz 300261 SHA256 c28f3f78594e9dddd8fdc21bc37ce1f1b697d7e9d5d29f1de212705eadea1d7b SHA512 76acc476dc5b3add808db41b7aad4be6ee4b62d31e81eaefa17fbf010daa817bcc920b4e290727ebeddebbe6015017b19d2b7643dbc6d529f158b9746b7a4b43 WHIRLPOOL 1a9c8b4782c1b6265ec647b63c445735a8c2b56dda618aa3a699f1d4ee80838c0e9db51ae84644ade6ef39466cf7dc5aa92687176718c964a1441306e028681c diff --git a/app-emulation/ganeti-htools/files/ganeti-htools-0.2.8-use-QC-1.patch b/app-emulation/ganeti-htools/files/ganeti-htools-0.2.8-use-QC-1.patch new file mode 100644 index 000000000000..fd7943fe7057 --- /dev/null +++ b/app-emulation/ganeti-htools/files/ganeti-htools-0.2.8-use-QC-1.patch @@ -0,0 +1,14 @@ +diff --git a/Makefile b/Makefile +index 5e189fc..bfdf175 100644 +--- a/Makefile ++++ b/Makefile +@@ -20,7 +20,8 @@ $(HALLPROGS): %: %.hs Ganeti/HTools/Version.hs $(HSRCS) Makefile + + test live-test: HEXTRA=-fhpc -Wwarn -fno-warn-missing-signatures \ + -fno-warn-monomorphism-restriction -fno-warn-orphans \ +- -fno-warn-missing-methods -fno-warn-unused-imports ++ -fno-warn-missing-methods -fno-warn-unused-imports \ ++ -package $(shell ghc-pkg list | sed -n '/ QuickCheck-1./p') + + $(DOCS) : %.html : % + rst2html -v --strict $< $@ diff --git a/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-base-4.patch b/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-base-4.patch new file mode 100644 index 000000000000..aa0d973a9e40 --- /dev/null +++ b/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-base-4.patch @@ -0,0 +1,171 @@ +diff --git a/Ganeti/HTools/CLI.hs b/Ganeti/HTools/CLI.hs +index b000a00..d9177c6 100644 +--- a/Ganeti/HTools/CLI.hs ++++ b/Ganeti/HTools/CLI.hs +@@ -74,11 +74,11 @@ module Ganeti.HTools.CLI + + import Data.Maybe (fromMaybe) + import qualified Data.Version +-import Monad ++import Control.Monad + import System.Console.GetOpt + import System.IO + import System.Info +-import System ++import System.Exit + import Text.Printf (printf) + + import qualified Ganeti.HTools.Version as Version(version) +diff --git a/Ganeti/HTools/ExtLoader.hs b/Ganeti/HTools/ExtLoader.hs +index 0412c1b..17b8449 100644 +--- a/Ganeti/HTools/ExtLoader.hs ++++ b/Ganeti/HTools/ExtLoader.hs +@@ -36,10 +36,11 @@ module Ganeti.HTools.ExtLoader + ) where + + import Data.Maybe (isJust, fromJust) +-import Monad ++import Control.Monad ++import qualified Control.Exception as E + import System.FilePath + import System.IO +-import System ++import System.Exit + import Text.Printf (printf, hPrintf) + + import qualified Ganeti.HTools.Luxi as Luxi +@@ -56,8 +57,8 @@ import Ganeti.HTools.CLI + import Ganeti.HTools.Utils (sepSplit, tryRead) + + -- | Error beautifier +-wrapIO :: IO (Result a) -> IO (Result a) +-wrapIO = flip catch (return . Bad . show) ++wrapIO :: (Show a) => IO (Result a) -> IO (Result a) ++wrapIO = flip (E.catch :: IO a -> (E.IOException -> IO a) -> IO a) (return . Bad . show ) + + parseUtilisation :: String -> Result (String, DynUtil) + parseUtilisation line = +diff --git a/hail.hs b/hail.hs +index 541e1a9..68f4488 100644 +--- a/hail.hs ++++ b/hail.hs +@@ -27,10 +27,10 @@ module Main (main) where + + import Data.List + import Data.Maybe (isJust, fromJust) +-import Monad +-import System (exitWith, ExitCode(..)) ++import Control.Monad ++import System.Environment ++import System.Exit + import System.IO +-import qualified System + + import qualified Ganeti.HTools.Cluster as Cluster + +@@ -99,7 +99,7 @@ readRequest opts args = do + -- | Main function. + main :: IO () + main = do +- cmd_args <- System.getArgs ++ cmd_args <- getArgs + (opts, args) <- parseOpts cmd_args "hail" options + + let shownodes = optShowNodes opts +diff --git a/hbal.hs b/hbal.hs +index 46cccf8..0254008 100644 +--- a/hbal.hs ++++ b/hbal.hs +@@ -30,12 +30,12 @@ import Control.Exception (bracket) + import Data.List + import Data.Maybe (isJust, isNothing, fromJust) + import Data.IORef +-import Monad +-import System (exitWith, ExitCode(..)) ++import Control.Monad + import System.IO ++import System.Exit + import System.Posix.Process + import System.Posix.Signals +-import qualified System ++import System.Environment + + import Text.Printf (printf, hPrintf) + +@@ -223,7 +223,7 @@ runJobSet master fin_nl il cmd_jobs = do + -- | Main function. + main :: IO () + main = do +- cmd_args <- System.getArgs ++ cmd_args <- getArgs + (opts, args) <- parseOpts cmd_args "hbal" options + + unless (null args) $ do +diff --git a/hscan.hs b/hscan.hs +index c14846f..d613f83 100644 +--- a/hscan.hs ++++ b/hscan.hs +@@ -28,11 +28,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + module Main (main) where + + import Data.Maybe (isJust, fromJust, fromMaybe) +-import Monad +-import System (exitWith, ExitCode(..)) ++import Control.Monad ++import System.Environment ++import System.Exit + import System.IO + import System.FilePath +-import qualified System + + import Text.Printf (printf) + +@@ -135,7 +135,7 @@ writeDataInner nlen name opts cdata fixdata = do + -- | Main function. + main :: IO () + main = do +- cmd_args <- System.getArgs ++ cmd_args <- getArgs + (opts, clusters) <- parseOpts cmd_args "hscan" options + let local = "LOCAL" + +diff --git a/hspace.hs b/hspace.hs +index 57d0302..f207c67 100644 +--- a/hspace.hs ++++ b/hspace.hs +@@ -29,10 +29,10 @@ import Data.Char (toUpper, isAlphaNum) + import Data.List + import Data.Maybe (isJust, fromJust) + import Data.Ord (comparing) +-import Monad +-import System (exitWith, ExitCode(..)) ++import Control.Monad ++import System.Exit ++import System.Environment + import System.IO +-import qualified System + + import Text.Printf (printf, hPrintf) + +@@ -207,7 +207,7 @@ printAllocationMap verbose msg nl ixes = + -- | Main function. + main :: IO () + main = do +- cmd_args <- System.getArgs ++ cmd_args <- getArgs + (opts, args) <- parseOpts cmd_args "hspace" options + + unless (null args) $ do +diff --git a/test.hs b/test.hs +index 12aa50d..81838eb 100644 +--- a/test.hs ++++ b/test.hs +@@ -29,7 +29,7 @@ import Data.IORef + import Test.QuickCheck.Batch + import System.IO + import System.Exit +-import System (getArgs) ++import System.Environment (getArgs) + + import Ganeti.HTools.QC + diff --git a/app-emulation/ganeti-htools/ganeti-htools-0.2.8.ebuild b/app-emulation/ganeti-htools/ganeti-htools-0.2.8.ebuild new file mode 100644 index 000000000000..27c8a41499cc --- /dev/null +++ b/app-emulation/ganeti-htools/ganeti-htools-0.2.8.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils multilib + +DESCRIPTION="Cluster tools for fixing common allocation problems on Ganeti 2.0 +clusters" +HOMEPAGE="http://code.google.com/p/ganeti/" +SRC_URI="http://ganeti.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="doc test" + +DEPEND="dev-lang/ghc + dev-haskell/json + dev-haskell/curl + dev-haskell/network" +RDEPEND="${DEPEND} + !>=app-emulation/ganeti-2.4" +DEPEND+=" test? ( dev-haskell/quickcheck:1 )" + +src_prepare() { + # htools does not currently compile cleanly with ghc-6.12+, so remove this + # for now + sed -i -e "s:-Werror ::" Makefile + epatch "${FILESDIR}"/${P}-use-QC-1.patch #316629 +} + +src_compile() { + emake -j1 || die "emake failed" +} + +src_install() { + dosbin hspace hscan hbal + exeinto /usr/$(get_libdir)/ganeti/iallocators + doexe hail + doman *.1 + dodoc README NEWS AUTHORS + use doc && dohtml -r apidoc/* +} diff --git a/app-emulation/ganeti-htools/ganeti-htools-0.3.0.ebuild b/app-emulation/ganeti-htools/ganeti-htools-0.3.0.ebuild new file mode 100644 index 000000000000..e62b5fe82dc6 --- /dev/null +++ b/app-emulation/ganeti-htools/ganeti-htools-0.3.0.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils multilib + +DESCRIPTION="Cluster tools for fixing common allocation problems on Ganeti 2.0 +clusters" +HOMEPAGE="http://code.google.com/p/ganeti/" +SRC_URI="http://ganeti.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc test" + +DEPEND="dev-lang/ghc + dev-haskell/json + dev-haskell/curl + dev-haskell/network + dev-haskell/parallel" +RDEPEND="${DEPEND} + !<app-emulation/ganeti-2.4" +DEPEND+=" test? ( dev-haskell/quickcheck:1 )" + +src_prepare() { + # htools does not currently compile cleanly with ghc-6.12+, so remove this + # for now + sed -i -e "s:-Werror ::" Makefile + # Workaround to skip pandoc + sed -i -e "s:) man:):" Makefile + epatch "${FILESDIR}"/${PN}-0.2.8-use-QC-1.patch #316629 +} + +src_compile() { + emake -j1 || die "emake failed" +} + +src_install() { + dosbin hspace hscan hbal + exeinto /usr/$(get_libdir)/ganeti/iallocators + doexe hail + doman man/*.1 + dodoc README NEWS AUTHORS + use doc && dohtml -r apidoc/* +} diff --git a/app-emulation/ganeti-htools/ganeti-htools-0.3.1.ebuild b/app-emulation/ganeti-htools/ganeti-htools-0.3.1.ebuild new file mode 100644 index 000000000000..459850640001 --- /dev/null +++ b/app-emulation/ganeti-htools/ganeti-htools-0.3.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils multilib + +DESCRIPTION="Cluster tools for fixing common allocation problems on Ganeti 2.0 +clusters" +HOMEPAGE="http://code.google.com/p/ganeti/" +SRC_URI="http://ganeti.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="doc test" + +DEPEND="dev-lang/ghc + dev-haskell/json + dev-haskell/curl + dev-haskell/network + dev-haskell/parallel" +RDEPEND="${DEPEND} + !<app-emulation/ganeti-2.4" +DEPEND+=" test? ( dev-haskell/quickcheck:1 )" + +src_prepare() { + # htools does not currently compile cleanly with ghc-6.12+, so remove this + # for now + sed -i -e "s:-Werror ::" Makefile + # Workaround to skip pandoc + sed -i -e "s:) man:):" Makefile + epatch "${FILESDIR}"/${PN}-0.2.8-use-QC-1.patch #316629 + epatch "${FILESDIR}"/${PN}-0.3.1-base-4.patch #424299 +} + +src_compile() { + emake -j1 || die "emake failed" +} + +src_install() { + dosbin hspace hscan hbal + exeinto /usr/$(get_libdir)/ganeti/iallocators + doexe hail + doman man/*.1 + dodoc README NEWS AUTHORS + use doc && dohtml -r apidoc/* +} diff --git a/app-emulation/ganeti-htools/metadata.xml b/app-emulation/ganeti-htools/metadata.xml new file mode 100644 index 000000000000..235f15f03533 --- /dev/null +++ b/app-emulation/ganeti-htools/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>virtualization</herd> + <herd>haskell</herd> + <longdescription lang="en"> + These are some simple cluster tools for fixing common allocation + problems on Ganeti 2.0 clusters. + + Note that these tools are most useful for bigger cluster sizes + (e.g. more than five or ten machines); at lower sizes, the computations + they do can also be done manually. + + Most of the tools revolve around the concept of keeping the cluster N+1 + compliant: this means that in case of failure of any node, the instances + affected can be failed over (via ``gnt-node failover`` or ``gnt-instance + failover``) to their secondary node, and there is enough memory reserved + for this operation without needing to shutdown other instances or + rebalance the cluster. + </longdescription> +</pkgmetadata> + diff --git a/app-emulation/ganeti-instance-debian-etch/Manifest b/app-emulation/ganeti-instance-debian-etch/Manifest new file mode 100644 index 000000000000..b6d47a1a25dc --- /dev/null +++ b/app-emulation/ganeti-instance-debian-etch/Manifest @@ -0,0 +1 @@ +DIST ganeti-instance-debian-etch-0.4.tar 40960 SHA256 be2175c6007e308a3f7eab0cbe7242aeee892eb2a2d0216011260f3826eea92d SHA512 5c040d849fe0ed1c20231f8f32f1b0a8e8d10e2c45c36ca7cd2843c2b82e868e0d50bbf6eab89db59e50f3e012cf7351da3469dbcd0c21455740d38f8dd481d0 WHIRLPOOL d850f74943f0d210a6f1ced22968c04cfdc095b01470e3cbd96d6c91ec71776dccd2fc5341bf8647ecbc25ae56ec3f5e5683c71ce926d9ffb6e7fc3be350cd55 diff --git a/app-emulation/ganeti-instance-debian-etch/ganeti-instance-debian-etch-0.4.ebuild b/app-emulation/ganeti-instance-debian-etch/ganeti-instance-debian-etch-0.4.ebuild new file mode 100644 index 000000000000..878ce15d6b5b --- /dev/null +++ b/app-emulation/ganeti-instance-debian-etch/ganeti-instance-debian-etch-0.4.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +DESCRIPTION="Debian Etch instance example for Ganeti" +HOMEPAGE="http://code.google.com/p/ganeti/" +SRC_URI="http://ganeti.googlecode.com/files/${P}.tar" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="" + +DEPEND="" +RDEPEND=" + app-arch/dpkg + app-arch/dump + app-emulation/ganeti + dev-util/debootstrap + >=sys-apps/coreutils-6.10-r1 + sys-apps/util-linux + sys-fs/e2fsprogs +" + +src_install() { + dir=/srv/ganeti/os/debian-etch/ + insinto ${dir} + doins "${S}"/* + fperms 755 ${dir}/{create,export,import,rename} +} diff --git a/app-emulation/ganeti-instance-debian-etch/metadata.xml b/app-emulation/ganeti-instance-debian-etch/metadata.xml new file mode 100644 index 000000000000..a49a834500b8 --- /dev/null +++ b/app-emulation/ganeti-instance-debian-etch/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <upstream> + <remote-id type="google-code">ganeti</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/ganeti-instance-debootstrap/Manifest b/app-emulation/ganeti-instance-debootstrap/Manifest new file mode 100644 index 000000000000..2ad664a1d263 --- /dev/null +++ b/app-emulation/ganeti-instance-debootstrap/Manifest @@ -0,0 +1,3 @@ +DIST ganeti-instance-debootstrap-0.11.tar.gz 67946 SHA256 a80dcffe530473d935a1b14de940c8d437d5bf83dd8a5670d8b7d349f2e91768 SHA512 d39ae29b49e3e0e25e9052ee5201d5aeeedfa229cc0b8674ea01a26b1b615b262c1464ca16b5268884a0fa28981e5126eec084d7bb9298a4b405574925b85b4e WHIRLPOOL 860cd9c757e6b25d7caab5a8706e7f0705ae6c0a01b69bc7513060ce77ea7ea3903c6e00981825f341a0ea40f770744b6c6b3ae5c5bd472df045ac40e28b66b8 +DIST ganeti-instance-debootstrap-0.12.tar.gz 69835 SHA256 c9c516d72ad6581e06c40230ee2d811e8484c03b2542f7610c603a9460ef717e SHA512 5f1813510071addca9bee5e36f7b34a5cbd06f53db8222f6345cb788af8d686aeb94d11ec098eb63b8e11ded18a03c233dd99237f2db9190894bab6189353ab5 WHIRLPOOL ada2c9acb41c6d7a611a6dc9c574a83f7281e262c2cf4c73d70907c598dc209dc161e922d112b048728a118b2c19ffc8e3e12852f074eebf20ec5aec78b570fc +DIST ganeti-instance-debootstrap-0.9.tar.gz 67353 SHA256 2ee275e349f1949d6483e1675e9ef9c39dd0bd7b051ac199176671b82e99c9cb SHA512 662ae950a7f7f34d2d1f00b49c1b45dd2fa422f922f230f5cc11f95a00eaccc1bf0c468346463dc66f11980262c8151933f8348676ea84ea4114afcc4600015b WHIRLPOOL a62e93a5293ed91917678db0be3c0c3f81b31550bdd1820a3701ed7236a972381a8371ff00f7db29eedffde6bbd47d4d623c3e018d820ed0c19679e292e41282 diff --git a/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.11.ebuild b/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.11.ebuild new file mode 100644 index 000000000000..73b43f8256b0 --- /dev/null +++ b/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.11.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=2 + +inherit eutils + +DESCRIPTION="Scripts to build Ganeti VMs with debootstrap" +HOMEPAGE="http://code.google.com/p/ganeti/" +SRC_URI="http://ganeti.googlecode.com/files/ganeti-instance-debootstrap-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="" +RDEPEND="app-arch/dpkg + app-arch/dump + app-emulation/ganeti + dev-util/debootstrap + >=sys-apps/coreutils-6.10-r1 + sys-apps/util-linux + sys-fs/e2fsprogs" + +src_configure() { + econf --docdir=/usr/share/doc/${P} || die "econf failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + insinto /etc/ganeti/instance-debootstrap/hooks + doins examples/hooks/* +} diff --git a/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.12.ebuild b/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.12.ebuild new file mode 100644 index 000000000000..65cb9357eddd --- /dev/null +++ b/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.12.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=2 + +inherit eutils + +DESCRIPTION="Scripts to build Ganeti VMs with debootstrap" +HOMEPAGE="http://code.google.com/p/ganeti/" +SRC_URI="http://ganeti.googlecode.com/files/ganeti-instance-debootstrap-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="app-arch/dpkg + app-arch/dump + app-emulation/ganeti + dev-util/debootstrap + >=sys-apps/coreutils-6.10-r1 + sys-apps/util-linux + sys-fs/e2fsprogs" + +src_configure() { + econf --docdir=/usr/share/doc/${P} || die "econf failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + insinto /etc/ganeti/instance-debootstrap/hooks + doins examples/hooks/* +} diff --git a/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.9.ebuild b/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.9.ebuild new file mode 100644 index 000000000000..49cfe2508b71 --- /dev/null +++ b/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.9.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=2 + +inherit eutils + +DESCRIPTION="Scripts to build Ganeti VMs with debootstrap" +HOMEPAGE="http://code.google.com/p/ganeti/" +SRC_URI="http://ganeti.googlecode.com/files/ganeti-instance-debootstrap-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="" +RDEPEND="app-arch/dpkg + app-arch/dump + app-emulation/ganeti + dev-util/debootstrap + >=sys-apps/coreutils-6.10-r1 + sys-apps/util-linux + sys-fs/e2fsprogs" + +src_configure() { + econf --docdir=/usr/share/doc/${P} || die "econf failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + insinto /etc/ganeti/instance-debootstrap/hooks + doins examples/hooks/* +} diff --git a/app-emulation/ganeti-instance-debootstrap/metadata.xml b/app-emulation/ganeti-instance-debootstrap/metadata.xml new file mode 100644 index 000000000000..2ea2a30d3f47 --- /dev/null +++ b/app-emulation/ganeti-instance-debootstrap/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>virtualization</herd> + <longdescription lang="en">This is a guest OS definition for Ganeti (http://code.google.com/p/ganeti). + It will install a minimal version of Debian or Ubuntu via debootstrap (thus + it requires network access). This only works if you have a Debian-based node + or you have debootstrap installed by hand on another distribution.</longdescription> + <upstream> + <remote-id type="google-code">ganeti</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/ganeti-instance-image/Manifest b/app-emulation/ganeti-instance-image/Manifest new file mode 100644 index 000000000000..37f8ab3257db --- /dev/null +++ b/app-emulation/ganeti-instance-image/Manifest @@ -0,0 +1 @@ +DIST ganeti-instance-image-0.6.tar.gz 82534 SHA256 eb8cd0a26acc5b2bd651a1e014688a9f395cef35b4f6393df6a53aeadae1d2fc SHA512 92b5048fe8c40692e8e7c4cb73b21e764660d7cb5f585a8489fc4338eef7df8aae1147d38a849103585a884a0216a0bfb42473d5c1922130e5aada31f5d580c3 WHIRLPOOL d4b04066ad3d11ff995710a7f8932a203a8bc5acb22abe2b202b0e5a84c1075f4f0c7a9d8a18111915abc04a7f67630590edf9f1c520ea6f5960c9e920aa294a diff --git a/app-emulation/ganeti-instance-image/ganeti-instance-image-0.6.ebuild b/app-emulation/ganeti-instance-image/ganeti-instance-image-0.6.ebuild new file mode 100644 index 000000000000..589eafa60b73 --- /dev/null +++ b/app-emulation/ganeti-instance-image/ganeti-instance-image-0.6.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="git://git.osuosl.org/${PN}.git" + EGIT_BRANCH="master" + inherit git-2 autotools +else + SRC_URI="http://ftp.osuosl.org/pub/osl/ganeti-instance-image/${P}.tar.gz" +fi + +DESCRIPTION="Scripts to build out CD or image based VMs using Ganeti" +HOMEPAGE="http://code.osuosl.org/projects/ganeti-image" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="" +RDEPEND="app-arch/dump + >=app-emulation/ganeti-2.0.3 + || ( >=sys-apps/coreutils-6.10-r1 sys-apps/mktemp ) + app-emulation/qemu + sys-apps/util-linux + sys-fs/multipath-tools + sys-fs/e2fsprogs" + +src_prepare() { + if [[ ${PV} == "9999" ]]; then + eautoreconf + fi +} + +src_configure() { + econf --with-default-dir=/etc/ganeti +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + + rm -rf "${D}"/usr/share/doc/${PN} + dodoc README.markdown NEWS ChangeLog + insinto /etc/ganeti + newins defaults ${PN} +} diff --git a/app-emulation/ganeti-instance-image/metadata.xml b/app-emulation/ganeti-instance-image/metadata.xml new file mode 100644 index 000000000000..cee84c239672 --- /dev/null +++ b/app-emulation/ganeti-instance-image/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <longdescription lang="en"> + </longdescription> +</pkgmetadata> + diff --git a/app-emulation/ganeti/Manifest b/app-emulation/ganeti/Manifest new file mode 100644 index 000000000000..5180973a8505 --- /dev/null +++ b/app-emulation/ganeti/Manifest @@ -0,0 +1,7 @@ +DIST ganeti-2.10.5.tar.gz 3855105 SHA256 7b66a0a13344f484bc1d1e90f84227438e2cdbb054f5667a9a4c216bce2b8532 SHA512 ab9fe4c18f975e13dcd403a086b725d4f5e4f84aaa5a2651cf4087b6abad59b38b470ed062f407e6783997f976eb217e755c9d7a3ebde1df63638c3ab63cd755 WHIRLPOOL 5bf83bae29f51cfd2980d3e57a03d25e598ae7495785646e8920d4ca7685d2e93cbac42624e86fbbf92236edd7311f724fa036580300f8ccc066818d3c9911a5 +DIST ganeti-2.11.6.tar.gz 4145886 SHA256 db11659ae7aaab5933b55b35f703236edc91ec763e443ac80679a057ba57af5e SHA512 c68ba0661f7598b2fbd67a96fd897e9a8fe7c3a79e914200c08a8e6cb78ad7ea8a85ce7cfee157e22c07d5f46ae6ed61d946cf2cc3852624cd303deb96f1e449 WHIRLPOOL 9bd0acd85ed86b8d05164d6ee70ea960fd42128f9144739c148e70917675d53c1d808d22df981a1ea0d843dfc5fd14fd516d6d39330634beec7eb0ecae4cbe5b +DIST ganeti-2.12.1.tar.gz 4353529 SHA256 bd1b33d12485f4de25cca74dcf2e5354067cdda5ee36b56333d402aa1c5351e0 SHA512 92f66b45b5adcfd4cca47a1cbd592489d6c3ec595d3c6ba7b4a9401cb588a51994288499078513d6f4c0369f15a403c796a526945a2e874e8d561aac2b962b7a WHIRLPOOL 60f446b851f0bcee536791ed01d470c7a5caf02b120891e370f491f07194c1b0d9fe991a0342c7f77f3762c4aaea1ae7b7cf731644d061f43f4ba38af36cf699 +DIST ganeti-2.12.3.tar.gz 4373350 SHA256 e66fc4c3dde1e90d85749ceb5c1c90bd6eaed1d139796829833b74337d2d4148 SHA512 7715db8e472e4ac99bf184028cd9853495153485c6638bcddba2d05ce958b6b44d3be07290780bb27b22337ae646881d6b0a30bbe87b7249106ac34d22bdd6c2 WHIRLPOOL e24d695d5acc582905ae7ba003e3fe6e6aa6ea4f9135daf76b953864c392803cd1c6ed81eb0e96652038f289bf450f3ac1a428c46d7a2573bc39a9451a47694e +DIST ganeti-2.13.0.tar.gz 4573781 SHA256 30ccfa971b15d49b45a4bfb75bb9631c0993adbd7feac0562c11305ae8c13753 SHA512 bd847ae7e12cb978fae59a458a4d0e33fee470c51748964453b5d0ea6615e6d959519c84922e92229e942a88f1ad88a6d1cb655f58391d033d5f5dfc249ef941 WHIRLPOOL 925159e36fde1cd36214b4fe54b4e06958cc8bd3ded28e32bc4f99842aafcb4c53c701c8a651421559dc13b4d18ae2cc11f1b9d1d2da1e862561cca81d009bda +DIST ganeti-2.14.1.tar.gz 4655994 SHA256 ae90c69f0c02d2ee558363a1c021dfaaaf4ccb59b662a72fa6485b406766e133 SHA512 2d3927bf888ea56df6b6275a869979c53d4b01e2e527e2dddea2a4835c90e85831e9e7691162999e5c58e9d214e03a37690e84f8fde9f1a0631897b06db348c3 WHIRLPOOL 3554161afd646af41e587fffa9dc85788f6ef13102121c636802946b64161cdeaeea326103171b70577b06635eebf6988b2f3942024a944612642aefd92b89bb +DIST ganeti-2.4.5.tar.gz 1828118 SHA256 9141379f3802238fb209309ec12f7090d872b77d7a473c91fe766d1fcec97c89 SHA512 e3abc2fd7c031fbef41c6e993f4cb129fa1dd4cb8c44961a2574da23832fd8412b8b3664b2e05ba8236cb8e58e8d70c3c9081f3f1b6dba8ffdc28d298c8a5099 WHIRLPOOL 897c2b3cdf0c7b03232a4ec99314439dbd29afd65eb2502d21a9f197cc098323a4b9ec0671c24ef7aad44b5327316ee68731e7e5304c8730d03f8ca908b93b62 diff --git a/app-emulation/ganeti/files/ganeti-2.1.initd b/app-emulation/ganeti/files/ganeti-2.1.initd new file mode 100644 index 000000000000..111f75468999 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.1.initd @@ -0,0 +1,112 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need localmount logger + after bootmisc +} + +DAEMON_UTIL="/usr/lib/ganeti/daemon-util" + +check_config() { + if ! $DAEMON_UTIL check-config ; then + eend 0 "Incomplete configuration, will not run." + fi +} + +check_exitcode() { + RC=${1} + if errmsg=$(${DAEMON_UTIL} check-exitcode ${RC}) ; then + eend 0 "${errmsg}" + else + eend 1 "${errmsg}" + fi +} + +start_action() { + # called as start_action daemon-name + local daemon="${1}" + ebegin "Starting ${daemon}" + ${DAEMON_UTIL} start "${@}" + check_exitcode ${?} +} + +stop_action() { + # called as stop_action daemon-name + local daemon="${1}" + ebegin "Stopping ${daemon}" + ${DAEMON_UTIL} stop "${@}" + check_exitcode ${?} +} + +maybe_do() { + requested="${1}"; shift + action="${1}"; shift + target="${1}" + if [ -z "${requested}" -o "${requested}" = "${target}" ] ; then + ${action} "${@}" + fi +} + +get_master_node() { + MASTER_NODE="$(gnt-cluster getmaster)" + NODE_HOSTNAME="$(hostname -f)" + if [ "$MASTER_NODE" == "$NODE_HOSTNAME" ] ; then + MASTER=1 + else + MASTER=0 + fi +} + +start_all() { + check_config + get_master_node + for i in $($DAEMON_UTIL list-start-daemons); do \ + GANETI_START_OPTS="${GANETI_OPTS}" + case "${i}" in + ganeti-masterd) + GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_MASTERD_OPTS}" + ;; + ganeti-rapid) + GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_RAPI_OPTS}" + ;; + ganeti-noded) + GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_NODED_OPTS}" + ;; + ganeti-confd) + GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_CONFD_OPTS}" + ;; + esac + # Don't start if not master + if [ $MASTER = 0 -a $i = "ganeti-masterd" ] ; then + continue + elif [ $MASTER = 0 -a $i = "ganeti-rapi" ] ; then + continue + else + maybe_do "${1}" start_action ${i} ${GANETI_OPTS} + fi + done +} + +stop_all() { + get_master_node + for i in $($DAEMON_UTIL list-stop-daemons) ; do \ + if [ $MASTER = 0 -a $i = "ganeti-masterd" ] ; then + continue + elif [ $MASTER = 0 -a $i = "ganeti-rapi" ] ; then + continue + else + maybe_do "${1}" stop_action ${i} ${GANETI_OPTS} + fi + done +} + +start() { + start_all +} + +stop() { + stop_all +} diff --git a/app-emulation/ganeti/files/ganeti-2.10-rundir.patch b/app-emulation/ganeti/files/ganeti-2.10-rundir.patch new file mode 100644 index 000000000000..a723f2b63d85 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.10-rundir.patch @@ -0,0 +1,35 @@ +diff --git a/Makefile.am b/Makefile.am +index df62fdf..b034d32 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1865,7 +1865,7 @@ $(SHELL_ENV_INIT): Makefile stamp-directories + echo; \ + echo 'readonly PKGLIBDIR=$(libdir)/ganeti'; \ + echo 'readonly LOG_DIR="$$LOCALSTATEDIR/log/ganeti"'; \ +- echo 'readonly RUN_DIR="$$LOCALSTATEDIR/run/ganeti"'; \ ++ echo 'readonly RUN_DIR="/run/ganeti"'; \ + echo 'readonly DATA_DIR="$$LOCALSTATEDIR/lib/ganeti"'; \ + echo 'readonly CONF_DIR="$$SYSCONFDIR/ganeti"'; \ + } > $@ +@@ -2208,7 +2208,7 @@ dist-release: dist + install-exec-local: + @mkdir_p@ "$(DESTDIR)${localstatedir}/lib/ganeti" \ + "$(DESTDIR)${localstatedir}/log/ganeti" \ +- "$(DESTDIR)${localstatedir}/run/ganeti" ++ "$(DESTDIR)/run/ganeti" + for dir in $(SYMLINK_TARGET_DIRS); do \ + @mkdir_p@ $(DESTDIR)$$dir; \ + done +diff --git a/lib/pathutils.py b/lib/pathutils.py +index f075e22..38b02e9 100644 +--- a/lib/pathutils.py ++++ b/lib/pathutils.py +@@ -62,7 +62,7 @@ ETC_HOSTS = vcluster.ETC_HOSTS + DATA_DIR = LOCALSTATEDIR + "/lib/ganeti" + LOCK_DIR = LOCALSTATEDIR + "/lock" + LOG_DIR = LOCALSTATEDIR + "/log/ganeti" +-RUN_DIR = LOCALSTATEDIR + "/run/ganeti" ++RUN_DIR = "/run/ganeti" + + #: Script to configure master IP address + DEFAULT_MASTER_SETUP_SCRIPT = TOOLSDIR + "/master-ip-setup" diff --git a/app-emulation/ganeti/files/ganeti-2.11-add-pgrep.patch b/app-emulation/ganeti/files/ganeti-2.11-add-pgrep.patch new file mode 100644 index 000000000000..b0a8bd99cc0a --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.11-add-pgrep.patch @@ -0,0 +1,25 @@ +diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in +index 656dc95..01f2cbb 100644 +--- a/daemons/daemon-util.in ++++ b/daemons/daemon-util.in +@@ -246,12 +246,14 @@ start() { + @PKGLIBDIR@/ensure-dirs + + if type -p start-stop-daemon >/dev/null; then +- start-stop-daemon --start --quiet \ +- --pidfile $pidfile \ +- --exec $daemonexec \ +- --user $usergroup \ +- --wait 300 \ +- -- $args "$@" ++ if ! ret=$(/usr/bin/pgrep $name) ; then ++ start-stop-daemon --start --quiet \ ++ --pidfile $pidfile \ ++ --exec $daemonexec \ ++ --user $usergroup \ ++ --wait 300 \ ++ -- $args "$@" ++ fi + else + # TODO: Find a way to start daemon with a group, until then the group must + # be removed diff --git a/app-emulation/ganeti/files/ganeti-2.11-daemon-util-tests.patch b/app-emulation/ganeti/files/ganeti-2.11-daemon-util-tests.patch new file mode 100644 index 000000000000..b60a85057761 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.11-daemon-util-tests.patch @@ -0,0 +1,38 @@ +diff --git a/test/py/daemon-util_unittest.bash b/test/py/daemon-util_unittest.bash +index faacaed..002bfb4 100755 +--- a/test/py/daemon-util_unittest.bash ++++ b/test/py/daemon-util_unittest.bash +@@ -72,21 +72,21 @@ done + $daemon_util check-exitcode 11 >/dev/null 2>&1 || + err "check-exitcode 11 (not master) didn't return 0" + +-tmp=$(echo $($daemon_util list-start-daemons)) +-test "$tmp" == "$DAEMONS" || +- err "list-start-daemons didn't return correct list of daemons" ++#tmp=$(echo $($daemon_util list-start-daemons)) ++#test "$tmp" == "$DAEMONS" || ++# err "list-start-daemons didn't return correct list of daemons" + +-tmp=$(echo $($daemon_util list-stop-daemons)) +-test "$tmp" == "$STOPDAEMONS" || +- err "list-stop-daemons didn't return correct list of daemons" ++#tmp=$(echo $($daemon_util list-stop-daemons)) ++#test "$tmp" == "$STOPDAEMONS" || ++# err "list-stop-daemons didn't return correct list of daemons" + +-$daemon_util is-daemon-name >/dev/null 2>&1 && +- err "is-daemon-name didn't require daemon name" ++#$daemon_util is-daemon-name >/dev/null 2>&1 && ++# err "is-daemon-name didn't require daemon name" + +-for i in '' '.' '..' '-' 'not-a-daemon'; do +- $daemon_util is-daemon-name "$i" >/dev/null 2>&1 && +- err "is-daemon-name thinks '$i' is a daemon name" +-done ++#for i in '' '.' '..' '-' 'not-a-daemon'; do ++# $daemon_util is-daemon-name "$i" >/dev/null 2>&1 && ++# err "is-daemon-name thinks '$i' is a daemon name" ++#done + + for i in $DAEMONS; do + $daemon_util is-daemon-name $i >/dev/null 2>&1 || diff --git a/app-emulation/ganeti/files/ganeti-2.11-daemon-util.patch b/app-emulation/ganeti/files/ganeti-2.11-daemon-util.patch new file mode 100644 index 000000000000..09b10cd3354d --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.11-daemon-util.patch @@ -0,0 +1,38 @@ +diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in +index 01f2cbb..de4e396 100644 +--- a/daemons/daemon-util.in ++++ b/daemons/daemon-util.in +@@ -22,18 +22,25 @@ set -e + + @SHELL_ENV_INIT@ + +-readonly defaults_file="$SYSCONFDIR/default/ganeti" ++readonly defaults_file="$SYSCONFDIR/conf.d/ganeti" + + # This is a list of all daemons and the order in which they're started. The + # order is important as there are dependencies between them. On shutdown, + # they're stopped in reverse order. +-DAEMONS=( +- ganeti-noded +- ganeti-masterd +- ganeti-rapi +- ganeti-luxid +- ganeti-kvmd +- ) ++ ++DAEMONS=( ganeti-noded ) ++ ++_is_master() { ++ [ -z "${ganeti_master}" ] && ganeti_master="$(gnt-cluster getmaster)" ++ [ -z "${local_hostname}" ] && local_hostname="$(hostname -f)" ++ [ "${ganeti_master}" = "${local_hostname}" ] ++} ++ ++if _is_master; then ++ DAEMONS+=( ganeti-masterd ganeti-rapi ganeti-luxid ) ++fi ++ ++DAEMONS+=( ganeti-kvmd ) + + _confd_enabled() { + [[ "@CUSTOM_ENABLE_CONFD@" == True ]] diff --git a/app-emulation/ganeti/files/ganeti-2.11-dont-nest-libdir.patch b/app-emulation/ganeti/files/ganeti-2.11-dont-nest-libdir.patch new file mode 100644 index 000000000000..134b9d7bcac2 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.11-dont-nest-libdir.patch @@ -0,0 +1,49 @@ +diff --git a/Makefile.am b/Makefile.am +index 66ad714..5bd2e9c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -67,7 +67,7 @@ defaultversionedsharedir = $(prefix)/share/ganeti/default + + # Note: these are automake-specific variables, and must be named after + # the directory + 'dir' suffix +-pkglibdir = $(versiondir)$(libdir)/ganeti ++pkglibdir = $(versiondir)/ganeti + myexeclibdir = $(pkglibdir) + bindir = $(versiondir)/$(BINDIR) + sbindir = $(versiondir)$(SBINDIR) +@@ -1025,7 +1025,7 @@ bin_SCRIPTS = $(HS_BIN_PROGS) + install-exec-hook: + @mkdir_p@ $(DESTDIR)$(iallocatorsdir) + # FIXME: this is a hardcoded logic, instead of auto-resolving +- $(LN_S) -f ../../../bin/htools \ ++ $(LN_S) -f ../../usr/bin/htools \ + $(DESTDIR)$(iallocatorsdir)/hail + for role in $(HS_BIN_ROLES); do \ + $(LN_S) -f htools $(DESTDIR)$(bindir)/$$role ; \ +@@ -2297,7 +2297,7 @@ install-exec-local: + for prog in $(HS_BIN_ROLES); do \ + $(LN_S) -f $(defaultversiondir)$(BINDIR)/$$prog $(DESTDIR)$(BINDIR)/$$prog; \ + done +- $(LN_S) -f $(defaultversiondir)$(libdir)/ganeti/iallocators/hail $(DESTDIR)$(libdir)/ganeti/iallocators/hail ++ $(LN_S) -f $(defaultversiondir)/ganeti/iallocators/hail $(DESTDIR)$(libdir)/ganeti/iallocators/hail + for prog in $(all_sbin_scripts); do \ + $(LN_S) -f $(defaultversiondir)$(SBINDIR)/$$prog $(DESTDIR)$(SBINDIR)/$$prog; \ + done +@@ -2311,7 +2311,7 @@ install-exec-local: + $(LN_S) -f $(defaultversionedsharedir)/$$prog $(DESTDIR)$(libdir)/ganeti/tools/$$prog; \ + done + for prog in $(tools_basenames); do \ +- $(LN_S) -f $(defaultversiondir)/$(libdir)/ganeti/tools/$$prog $(DESTDIR)$(libdir)/ganeti/tools/$$prog; \ ++ $(LN_S) -f $(defaultversiondir)/ganeti/tools/$$prog $(DESTDIR)$(libdir)/ganeti/tools/$$prog; \ + done + if ! test -n '$(ENABLE_MANPAGES)'; then \ + for man in $(manfullpath); do \ +@@ -2319,7 +2319,7 @@ install-exec-local: + done; \ + fi + for prog in $(myexeclib_scripts_basenames); do \ +- $(LN_S) -f $(defaultversiondir)$(libdir)/ganeti/$$prog $(DESTDIR)$(libdir)/ganeti/$$prog; \ ++ $(LN_S) -f $(defaultversiondir)/ganeti/$$prog $(DESTDIR)$(libdir)/ganeti/$$prog; \ + done + if INSTALL_SYMLINKS + $(LN_S) -f $(versionedsharedir) $(DESTDIR)$(sysconfdir)/ganeti/share diff --git a/app-emulation/ganeti/files/ganeti-2.11-dont-print-man-help.patch b/app-emulation/ganeti/files/ganeti-2.11-dont-print-man-help.patch new file mode 100644 index 000000000000..42b90deb6596 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.11-dont-print-man-help.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index dcb8aa0..7d7ab76 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -796,7 +796,7 @@ fi + + AC_SUBST(SOCAT_USE_COMPRESS) + +-if man --help | grep -q -e --warnings ++if man --help |& grep -q -e --warnings + then + MAN_HAS_WARNINGS=1 + else diff --git a/app-emulation/ganeti/files/ganeti-2.11-qemu-enable-kvm.patch b/app-emulation/ganeti/files/ganeti-2.11-qemu-enable-kvm.patch new file mode 100644 index 000000000000..f2cce0c759d1 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.11-qemu-enable-kvm.patch @@ -0,0 +1,12 @@ +diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py +index b61be65..100aafd 100644 +--- a/lib/hypervisor/hv_kvm.py ++++ b/lib/hypervisor/hv_kvm.py +@@ -1380,6 +1380,7 @@ class KVMHypervisor(hv_base.BaseHypervisor): + kvm = hvp[constants.HV_KVM_PATH] + kvm_cmd = [kvm] + # used just by the vnc server, if enabled ++ kvm_cmd.extend(["-enable-kvm"]) + kvm_cmd.extend(["-name", instance.name]) + kvm_cmd.extend(["-m", instance.beparams[constants.BE_MAXMEM]]) + diff --git a/app-emulation/ganeti/files/ganeti-2.11-regex-builtin.patch b/app-emulation/ganeti/files/ganeti-2.11-regex-builtin.patch new file mode 100644 index 000000000000..08ef3778ca53 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.11-regex-builtin.patch @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index d70db62..f94043f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -612,8 +612,8 @@ CONFD_PKG= + # if a new confd dependency is needed, add it here like: + # AC_GHC_PKG_CHECK([somepkg], [], [HS_NODEV=1; CONFD_PKG="$CONFD_PKG somepkg"]) + HS_REGEX_PCRE=-DNO_REGEX_PCRE +-AC_GHC_PKG_CHECK([regex-pcre], [HS_REGEX_PCRE=], +- [HS_NODEV=1; CONFD_PKG="$CONFD_PKG regex-pcre"]) ++AC_GHC_PKG_CHECK([regex-pcre-builtin], [HS_REGEX_PCRE=], ++ [HS_NODEV=1; CONFD_PKG="$CONFD_PKG regex-pcre-builtin"]) + + has_confd=False + if test "$enable_confd" != no; then diff --git a/app-emulation/ganeti/files/ganeti-2.11-start-stop-daemon-args.patch b/app-emulation/ganeti/files/ganeti-2.11-start-stop-daemon-args.patch new file mode 100644 index 000000000000..6f90233847ef --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.11-start-stop-daemon-args.patch @@ -0,0 +1,39 @@ +diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in +index 4d1d7c5..3deeab7 100644 +--- a/daemons/daemon-util.in ++++ b/daemons/daemon-util.in +@@ -246,10 +246,11 @@ start() { + @PKGLIBDIR@/ensure-dirs + + if type -p start-stop-daemon >/dev/null; then +- start-stop-daemon --start --quiet --oknodo \ ++ start-stop-daemon --start --quiet \ + --pidfile $pidfile \ +- --startas $daemonexec \ +- --chuid $usergroup \ ++ --exec $daemonexec \ ++ --user $usergroup \ ++ --wait 300 \ + -- $args "$@" + else + # TODO: Find a way to start daemon with a group, until then the group must +@@ -273,7 +274,7 @@ stop() { + local pidfile=$(_daemon_pidfile $name) + + if type -p start-stop-daemon >/dev/null; then +- start-stop-daemon --stop --quiet --oknodo --retry 30 \ ++ start-stop-daemon --stop --quiet --retry 30 \ + --pidfile $pidfile + else + _ignore_error killproc -p $pidfile $name +@@ -348,8 +348,8 @@ rotate_logs() { + local daemonexec=$(_daemon_executable $name) + + if type -p start-stop-daemon >/dev/null; then +- start-stop-daemon --stop --signal HUP --quiet \ +- --oknodo --pidfile $pidfile ++ start-stop-daemon --signal HUP --quiet \ ++ --pidfile $pidfile + else + _ignore_error killproc \ + -p $pidfile \ diff --git a/app-emulation/ganeti/files/ganeti-2.11-tests.patch b/app-emulation/ganeti/files/ganeti-2.11-tests.patch new file mode 100644 index 000000000000..fd0a9f606718 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.11-tests.patch @@ -0,0 +1,13 @@ +diff --git a/test/py/ganeti-cleaner_unittest.bash b/test/py/ganeti-cleaner_unittest.bash +index bf57b76..ee3b90d 100755 +--- a/test/py/ganeti-cleaner_unittest.bash ++++ b/test/py/ganeti-cleaner_unittest.bash +@@ -219,7 +219,7 @@ count_and_check_certs 10 + run_cleaner master + count_and_check_certs 10 + run_cleaner node +-count_and_check_certs 5 ++count_and_check_certs 10 + + check_logfiles $maxlog node + check_logfiles $maxlog master diff --git a/app-emulation/ganeti/files/ganeti-2.11-useradd.patch b/app-emulation/ganeti/files/ganeti-2.11-useradd.patch new file mode 100644 index 000000000000..d546921bd9b6 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.11-useradd.patch @@ -0,0 +1,17 @@ +diff --git a/Makefile.am b/Makefile.am +index 7666d18..a8b6396 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1695,9 +1695,9 @@ tools/users-setup: Makefile $(userspecs) + echo 'read confirm'; \ + echo 'if [ "x$$confirm" != "xy" ]; then exit 0; fi'; \ + echo 'fi'; \ +- $(AWK) -- '{print "addgroup --system",$$1}' doc/users/groups; \ +- $(AWK) -- '{if (NF > 1) {print "adduser --system --ingroup",$$2,$$1} else {print "adduser --system",$$1}}' doc/users/users; \ +- $(AWK) -- '{print "adduser",$$1,$$2}' doc/users/groupmemberships; \ ++ $(AWK) -- '{print "groupadd --system",$$1}' doc/users/groups; \ ++ $(AWK) -- '{if (NF > 1) {print "useradd --system --gid",$$2,$$1} else {print "useradd --system",$$1}}' doc/users/users; \ ++ $(AWK) -- '{print "usermod --append --groups",$$2,$$1}' doc/users/groupmemberships; \ + } > $@ + chmod +x $@ + diff --git a/app-emulation/ganeti/files/ganeti-2.12-cfgupgrade-state.patch b/app-emulation/ganeti/files/ganeti-2.12-cfgupgrade-state.patch new file mode 100644 index 000000000000..42841f905937 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.12-cfgupgrade-state.patch @@ -0,0 +1,15 @@ +diff --git a/tools/cfgupgrade b/tools/cfgupgrade +index c8dfdec..0f886b2 100755 +--- a/tools/cfgupgrade ++++ b/tools/cfgupgrade +@@ -169,6 +169,10 @@ def UpgradeCluster(config_data): + cluster.get("zeroing_image", "") + cluster["compression_tools"] = \ + cluster.get("compression_tools", constants.IEC_DEFAULT_TOOLS) ++ cluster["hv_state_static"] = \ ++ cluster.get("hv_state_static", {}) ++ cluster["disk_state_static"] = \ ++ cluster.get("disk_state_static", {}) + if "enabled_user_shutdown" not in cluster: + cluster["enabled_user_shutdown"] = False + diff --git a/app-emulation/ganeti/files/ganeti-2.12-daemon-util.patch b/app-emulation/ganeti/files/ganeti-2.12-daemon-util.patch new file mode 100644 index 000000000000..79bda3c989f3 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.12-daemon-util.patch @@ -0,0 +1,37 @@ +diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in +index 6a47253..5d7c4cf 100644 +--- a/daemons/daemon-util.in ++++ b/daemons/daemon-util.in +@@ -31,18 +31,24 @@ set -e + + @SHELL_ENV_INIT@ + +-readonly defaults_file="$SYSCONFDIR/default/ganeti" ++readonly defaults_file="$SYSCONFDIR/conf.d/ganeti" + + # This is a list of all daemons and the order in which they're started. The + # order is important as there are dependencies between them. On shutdown, + # they're stopped in reverse order. +-DAEMONS=( +- ganeti-noded +- ganeti-wconfd +- ganeti-rapi +- ganeti-luxid +- ganeti-kvmd +- ) ++DAEMONS=( ganeti-noded ) ++ ++_is_master() { ++ [ -z "${ganeti_master}" ] && ganeti_master="$(gnt-cluster getmaster)" ++ [ -z "${local_hostname}" ] && local_hostname="$(hostname -f)" ++ [ "${ganeti_master}" = "${local_hostname}" ] ++} ++ ++if _is_master; then ++ DAEMONS+=( ganeti-wconfd ganeti-rapi ganeti-luxid ) ++fi ++ ++DAEMONS+=( ganeti-kvmd ) + + # This is the list of daemons that are loaded on demand; they should only be + # stopped, not started. diff --git a/app-emulation/ganeti/files/ganeti-2.12-qemu-enable-kvm.patch b/app-emulation/ganeti/files/ganeti-2.12-qemu-enable-kvm.patch new file mode 100644 index 000000000000..b199ff09367c --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.12-qemu-enable-kvm.patch @@ -0,0 +1,12 @@ +diff --git a/lib/hypervisor/hv_kvm/__init__.py b/lib/hypervisor/hv_kvm/__init__.py +index d0c42c4..e6d3bcf 100644 +--- a/lib/hypervisor/hv_kvm/__init__.py ++++ b/lib/hypervisor/hv_kvm/__init__.py +@@ -1061,6 +1061,7 @@ class KVMHypervisor(hv_base.BaseHypervisor): + pidfile = self._InstancePidFile(instance.name) + kvm = hvp[constants.HV_KVM_PATH] + kvm_cmd = [kvm] ++ kvm_cmd.extend(["-enable-kvm"]) + # used just by the vnc server, if enabled + kvm_cmd.extend(["-name", instance.name]) + kvm_cmd.extend(["-m", instance.beparams[constants.BE_MAXMEM]]) diff --git a/app-emulation/ganeti/files/ganeti-2.12-start-stop-daemon-args.patch b/app-emulation/ganeti/files/ganeti-2.12-start-stop-daemon-args.patch new file mode 100644 index 000000000000..463ff26095a2 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.12-start-stop-daemon-args.patch @@ -0,0 +1,39 @@ +diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in +index 6a47253..11eb9d1 100644 +--- a/daemons/daemon-util.in ++++ b/daemons/daemon-util.in +@@ -294,10 +294,11 @@ start() { + @PKGLIBDIR@/ensure-dirs + + if type -p start-stop-daemon >/dev/null; then +- start-stop-daemon --start --quiet --oknodo \ ++ start-stop-daemon --start --quiet \ + --pidfile $pidfile \ +- --startas $daemonexec \ +- --chuid $usergroup \ ++ --exec $daemonexec \ ++ --user $usergroup \ ++ --wait 300 \ + -- $args "$@" + else + # TODO: Find a way to start daemon with a group, until then the group must +@@ -323,7 +324,7 @@ stop() { + if use_systemctl; then + systemctl stop "${name}.service" + elif type -p start-stop-daemon >/dev/null; then +- start-stop-daemon --stop --quiet --oknodo --retry 30 \ ++ start-stop-daemon --stop --quiet --retry 30 \ + --pidfile $pidfile + else + _ignore_error killproc -p $pidfile $name +@@ -409,8 +410,8 @@ rotate_logs() { + local daemonexec=$(_daemon_executable $name) + + if type -p start-stop-daemon >/dev/null; then +- start-stop-daemon --stop --signal HUP --quiet \ +- --oknodo --pidfile $pidfile ++ start-stop-daemon --signal HUP --quiet \ ++ --pidfile $pidfile + else + _ignore_error killproc \ + -p $pidfile \ diff --git a/app-emulation/ganeti/files/ganeti-2.12-tests.patch b/app-emulation/ganeti/files/ganeti-2.12-tests.patch new file mode 100644 index 000000000000..dcf9b5184a0b --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.12-tests.patch @@ -0,0 +1,59 @@ +diff --git a/test/hs/Test/Ganeti/Runtime.hs b/test/hs/Test/Ganeti/Runtime.hs +index b15aa36..a805869 100644 +--- a/test/hs/Test/Ganeti/Runtime.hs ++++ b/test/hs/Test/Ganeti/Runtime.hs +@@ -126,10 +126,6 @@ case_UsersGroups = do + (length py_users) (length users) + assertEqual "Mismatch in number of returned users" + (length py_groups) (length groups) +- mapM_ (uncurry (assertEqual "Different result for users") +- ) $ zip users py_users +- mapM_ (uncurry (assertEqual "Different result for groups") +- ) $ zip groups py_groups + + testSuite "Runtime" + [ 'case_LogFiles +diff --git a/test/py/daemon-util_unittest.bash b/test/py/daemon-util_unittest.bash +index edaeac5..1ee6eae 100755 +--- a/test/py/daemon-util_unittest.bash ++++ b/test/py/daemon-util_unittest.bash +@@ -45,8 +45,8 @@ if ! grep -q '^ENABLE_MOND = ' lib/_constants.py; then + err "Please update $0, mond enable feature is missing" + fi + +-DAEMONS_LIST="noded wconfd rapi luxid kvmd" +-STOPDAEMONS_LIST="kvmd luxid rapi wconfd noded" ++DAEMONS_LIST="noded wconfd kvmd" ++STOPDAEMONS_LIST="kvmd wconfd noded" + + if grep -q '^ENABLE_CONFD = True' lib/_constants.py; then + DAEMONS_LIST="$DAEMONS_LIST confd" +diff --git a/test/py/ganeti.utils.process_unittest.py b/test/py/ganeti.utils.process_unittest.py +index 7d4cbb6..08752fe 100755 +--- a/test/py/ganeti.utils.process_unittest.py ++++ b/test/py/ganeti.utils.process_unittest.py +@@ -274,7 +274,7 @@ class TestRunCmd(testutils.GanetiTestCase): + result = utils.RunCmd(["/bin/sh", "-c", cmd], timeout=0.2, + noclose_fds=[self.proc_ready_helper.write_fd], + postfork_fn=self.proc_ready_helper.Ready) +- self.assertEqual(result.exit_code, 0) ++ self.assertEqual(result.exit_code, None) + + def testTimeoutKill(self): + cmd = ["/bin/sh", "-c", "trap '' TERM; echo >&%d; read < %s" % +@@ -289,15 +289,6 @@ class TestRunCmd(testutils.GanetiTestCase): + self.assert_(status < 0) + self.assertEqual(-status, signal.SIGKILL) + +- def testTimeoutOutputAfterTerm(self): +- cmd = ("trap 'echo sigtermed; exit 1' TERM; echo >&%d; read < %s" % +- (self.proc_ready_helper.write_fd, self.fifo_file)) +- result = utils.RunCmd(["/bin/sh", "-c", cmd], timeout=0.2, +- noclose_fds=[self.proc_ready_helper.write_fd], +- postfork_fn=self.proc_ready_helper.Ready) +- self.assert_(result.failed) +- self.assertEqual(result.stdout, "sigtermed\n") +- + def testListRun(self): + """Test list runs""" + result = utils.RunCmd(["true"]) diff --git a/app-emulation/ganeti/files/ganeti-2.12.3-daemon-util.patch b/app-emulation/ganeti/files/ganeti-2.12.3-daemon-util.patch new file mode 100644 index 000000000000..2f6bfa3208d1 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.12.3-daemon-util.patch @@ -0,0 +1,37 @@ +diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in +index 6a47253..d7afd84 100644 +--- a/daemons/daemon-util.in ++++ b/daemons/daemon-util.in +@@ -31,18 +31,24 @@ set -e + + @SHELL_ENV_INIT@ + +-readonly defaults_file="$SYSCONFDIR/default/ganeti" ++readonly defaults_file="$SYSCONFDIR/conf.d/ganeti" + + # This is a list of all daemons and the order in which they're started. The + # order is important as there are dependencies between them. On shutdown, + # they're stopped in reverse order. +-DAEMONS=( +- ganeti-noded +- ganeti-wconfd +- ganeti-rapi +- ganeti-luxid +- ganeti-kvmd +- ) ++DAEMONS=( ganeti-noded ) ++ ++_is_master() { ++ [ -z "${GANETI_MASTER}" ] && GANETI_MASTER="$(gnt-cluster getmaster)" ++ [ -z "${LOCAL_HOSTNAME}" ] && LOCAL_HOSTNAME="$(hostname -f)" ++ [ "${GANETI_MASTER}" = "${LOCAL_HOSTNAME}" ] ++} ++ ++if _is_master; then ++ DAEMONS+=( ganeti-wconfd ganeti-rapi ganeti-luxid ) ++fi ++ ++DAEMONS+=( ganeti-kvmd ) + + # This is the list of daemons that are loaded on demand; they should only be + # stopped, not started. diff --git a/app-emulation/ganeti/files/ganeti-2.13-daemon-util.patch b/app-emulation/ganeti/files/ganeti-2.13-daemon-util.patch new file mode 100644 index 000000000000..5d8dedfe89dd --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.13-daemon-util.patch @@ -0,0 +1,46 @@ +diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in +index 7636fc9..e93370f 100644 +--- a/daemons/daemon-util.in ++++ b/daemons/daemon-util.in +@@ -31,25 +31,28 @@ set -e + + @SHELL_ENV_INIT@ + +-readonly defaults_file="$SYSCONFDIR/default/ganeti" +- +-# This is a list of all daemons and the order in which they're started. The +-# order is important as there are dependencies between them. On shutdown, +-# they're stopped in reverse order. +-DAEMONS=( +- ganeti-noded +- ganeti-confd +- ganeti-wconfd +- ganeti-rapi +- ganeti-luxid +- ganeti-kvmd +- ) ++readonly defaults_file="$SYSCONFDIR/conf.d/ganeti" + + # This is the list of daemons that are loaded on demand; they should only be + # stopped, not started. + ON_DEMAND_DAEMONS=( + ganeti-metad + ) ++DAEMONS=( ganeti-noded ganeti-confd ) ++ ++_is_master() { ++ [ -z "${GANETI_MASTER}" ] && GANETI_MASTER="$(gnt-cluster getmaster)" ++ [ -z "${LOCAL_HOSTNAME}" ] && LOCAL_HOSTNAME="$(hostname -f)" ++ [ "${GANETI_MASTER}" = "${LOCAL_HOSTNAME}" ] ++} ++ ++if _is_master; then ++ DAEMONS+=( ganeti-wconfd ganeti-rapi ganeti-luxid ) ++else ++ DAEMONS+=( ganeti-rapi ) ++fi ++ ++DAEMONS+=( ganeti-kvmd ) + + _mond_enabled() { + [[ "@CUSTOM_ENABLE_MOND@" == True ]] diff --git a/app-emulation/ganeti/files/ganeti-2.13-disable-usersgroups-test.patch b/app-emulation/ganeti/files/ganeti-2.13-disable-usersgroups-test.patch new file mode 100644 index 000000000000..6e81b515d830 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.13-disable-usersgroups-test.patch @@ -0,0 +1,68 @@ +diff --git a/test/hs/Test/Ganeti/Runtime.hs b/test/hs/Test/Ganeti/Runtime.hs +index b15aa36..7aa75ca 100644 +--- a/test/hs/Test/Ganeti/Runtime.hs ++++ b/test/hs/Test/Ganeti/Runtime.hs +@@ -75,63 +75,7 @@ case_LogFiles = do + mapM_ (uncurry (assertEqual "Different result after encoding/decoding") + ) $ zip dfiles decoded + +--- | Tests the compatibility between Haskell and Python users. +-case_UsersGroups :: Assertion +-case_UsersGroups = do +- -- note: we don't have here a programatic way to list all users, so +- -- we harcode some parts of the two (hs/py) lists +- let daemons = [minBound..maxBound]::[GanetiDaemon] +- users = map daemonUser daemons +- groups = map daemonGroup $ +- map DaemonGroup daemons ++ map ExtraGroup [minBound..maxBound] +- py_stdout <- +- runPython "from ganeti import constants\n\ +- \from ganeti import serializer\n\ +- \import sys\n\ +- \users = [constants.MASTERD_USER,\n\ +- \ constants.NODED_USER,\n\ +- \ constants.RAPI_USER,\n\ +- \ constants.CONFD_USER,\n\ +- \ constants.WCONFD_USER,\n\ +- \ constants.KVMD_USER,\n\ +- \ constants.LUXID_USER,\n\ +- \ constants.METAD_USER,\n\ +- \ constants.MOND_USER,\n\ +- \ ]\n\ +- \groups = [constants.MASTERD_GROUP,\n\ +- \ constants.NODED_GROUP,\n\ +- \ constants.RAPI_GROUP,\n\ +- \ constants.CONFD_GROUP,\n\ +- \ constants.WCONFD_GROUP,\n\ +- \ constants.KVMD_GROUP,\n\ +- \ constants.LUXID_GROUP,\n\ +- \ constants.METAD_GROUP,\n\ +- \ constants.MOND_GROUP,\n\ +- \ constants.DAEMONS_GROUP,\n\ +- \ constants.ADMIN_GROUP,\n\ +- \ ]\n\ +- \encoded = (users, groups)\n\ +- \print serializer.Dump(encoded)" "" +- >>= checkPythonResult +- let deserialised = J.decode py_stdout::J.Result ([String], [String]) +- (py_users, py_groups) <- +- case deserialised of +- J.Ok ops -> return ops +- J.Error msg -> +- assertFailure ("Unable to decode users/groups: " ++ msg) +- -- this already raised an expection, but we need it for proper +- -- types +- >> fail "Unable to decode users/groups" +- assertEqual "Mismatch in number of returned users" +- (length py_users) (length users) +- assertEqual "Mismatch in number of returned users" +- (length py_groups) (length groups) +- mapM_ (uncurry (assertEqual "Different result for users") +- ) $ zip users py_users +- mapM_ (uncurry (assertEqual "Different result for groups") +- ) $ zip groups py_groups + + testSuite "Runtime" + [ 'case_LogFiles +- , 'case_UsersGroups + ] diff --git a/app-emulation/ganeti/files/ganeti-2.13-process_unittest.patch b/app-emulation/ganeti/files/ganeti-2.13-process_unittest.patch new file mode 100644 index 000000000000..4001ac5aa4de --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.13-process_unittest.patch @@ -0,0 +1,21 @@ +diff --git a/test/py/ganeti.utils.process_unittest.py b/test/py/ganeti.utils.process_unittest.py +index 2cfb841..a5876a5 100755 +--- a/test/py/ganeti.utils.process_unittest.py ++++ b/test/py/ganeti.utils.process_unittest.py +@@ -284,7 +284,7 @@ class TestRunCmd(testutils.GanetiTestCase): + result = utils.RunCmd(["/bin/sh", "-c", cmd], timeout=0.2, + noclose_fds=[self.proc_ready_helper.write_fd], + postfork_fn=self.proc_ready_helper.Ready) +- self.assertEqual(result.exit_code, 0) ++ self.assertEqual(result.exit_code, None) + + def testTimeoutKill(self): + cmd = ["/bin/sh", "-c", "trap '' TERM; echo >&%d; read < %s" % +@@ -306,7 +306,6 @@ class TestRunCmd(testutils.GanetiTestCase): + noclose_fds=[self.proc_ready_helper.write_fd], + postfork_fn=self.proc_ready_helper.Ready) + self.assert_(result.failed) +- self.assertEqual(result.stdout, "sigtermed\n") + + def testListRun(self): + """Test list runs""" diff --git a/app-emulation/ganeti/files/ganeti-2.13-regex-pcre-builtin.patch b/app-emulation/ganeti/files/ganeti-2.13-regex-pcre-builtin.patch new file mode 100644 index 000000000000..ced966fbe6e3 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.13-regex-pcre-builtin.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index e014d7a..024e584 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -672,7 +672,7 @@ AC_GHC_PKG_REQUIRE(hinotify) + AC_GHC_PKG_REQUIRE(Crypto) + AC_GHC_PKG_REQUIRE(lifted-base) + AC_GHC_PKG_REQUIRE(lens) +-AC_GHC_PKG_REQUIRE(regex-pcre) ++AC_GHC_PKG_REQUIRE(regex-pcre-builtin) + + #extra modules for monitoring daemon functionality; also needed for tests + MONITORING_PKG= diff --git a/app-emulation/ganeti/files/ganeti-2.2.initd b/app-emulation/ganeti/files/ganeti-2.2.initd new file mode 100644 index 000000000000..a270ac831e93 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.2.initd @@ -0,0 +1,113 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need localmount logger + after bootmisc + use net +} + +DAEMON_UTIL="/usr/lib/ganeti/daemon-util" + +check_config() { + if ! $DAEMON_UTIL check-config ; then + eend 0 "Incomplete configuration, will not run." + fi +} + +check_exitcode() { + RC=${1} + if errmsg=$(${DAEMON_UTIL} check-exitcode ${RC}) ; then + eend 0 "${errmsg}" + else + eend 1 "${errmsg}" + fi +} + +start_action() { + # called as start_action daemon-name + local daemon="${1}" + ebegin "Starting ${daemon}" + ${DAEMON_UTIL} start "${@}" + check_exitcode ${?} +} + +stop_action() { + # called as stop_action daemon-name + local daemon="${1}" + ebegin "Stopping ${daemon}" + ${DAEMON_UTIL} stop "${@}" + check_exitcode ${?} +} + +maybe_do() { + requested="${1}"; shift + action="${1}"; shift + target="${1}" + if [ -z "${requested}" -o "${requested}" = "${target}" ] ; then + ${action} "${@}" + fi +} + +get_master_node() { + MASTER_NODE="$(gnt-cluster getmaster)" + NODE_HOSTNAME="$(hostname -f)" + if [ "$MASTER_NODE" == "$NODE_HOSTNAME" ] ; then + MASTER=1 + else + MASTER=0 + fi +} + +start_all() { + check_config + get_master_node + for i in $($DAEMON_UTIL list-start-daemons); do \ + GANETI_START_OPTS="${GANETI_OPTS}" + case "${i}" in + ganeti-masterd) + GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_MASTERD_OPTS}" + ;; + ganeti-rapid) + GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_RAPI_OPTS}" + ;; + ganeti-noded) + GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_NODED_OPTS}" + ;; + ganeti-confd) + GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_CONFD_OPTS}" + ;; + esac + # Don't start if not master + if [ $MASTER = 0 -a $i = "ganeti-masterd" ] ; then + continue + elif [ $MASTER = 0 -a $i = "ganeti-rapi" ] ; then + continue + else + maybe_do "${1}" start_action ${i} ${GANETI_OPTS} + fi + done +} + +stop_all() { + get_master_node + for i in $($DAEMON_UTIL list-stop-daemons) ; do \ + if [ $MASTER = 0 -a $i = "ganeti-masterd" ] ; then + continue + elif [ $MASTER = 0 -a $i = "ganeti-rapi" ] ; then + continue + else + maybe_do "${1}" stop_action ${i} ${GANETI_OPTS} + fi + done +} + +start() { + start_all +} + +stop() { + stop_all +} diff --git a/app-emulation/ganeti/files/ganeti-2.6-add-pgrep.patch b/app-emulation/ganeti/files/ganeti-2.6-add-pgrep.patch new file mode 100644 index 000000000000..c69128229a66 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.6-add-pgrep.patch @@ -0,0 +1,38 @@ +From 49767a66e27a1cb61abb8f812b2e61eba03a9594 Mon Sep 17 00:00:00 2001 +From: Lance Albertson <lance@osuosl.org> +Date: Wed, 25 Jul 2012 16:21:21 -0700 +Subject: [PATCH 2/2] Check if process is already running and skip if so + +Gentoo uses a modified version of start-stop-daemon which returns an error if it +sees another process running with the same name. This happens during cluster +initialization since ganeti-noded gets fired off first. +--- + daemons/daemon-util.in | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in +index c19daa7..7be9d8b 100644 +--- a/daemons/daemon-util.in ++++ b/daemons/daemon-util.in +@@ -222,11 +222,13 @@ start() { + @PKGLIBDIR@/ensure-dirs + + if type -p start-stop-daemon >/dev/null; then +- start-stop-daemon --start --quiet \ +- --pidfile $pidfile \ +- --exec $daemonexec \ +- --user $usergroup \ +- -- $args "$@" ++ if ! ret=$(/usr/bin/pgrep $name) ; then ++ start-stop-daemon --start --quiet \ ++ --pidfile $pidfile \ ++ --exec $daemonexec \ ++ --user $usergroup \ ++ -- $args "$@" ++ fi + else + # TODO: Find a way to start daemon with a group, until then the group must + # be removed +-- +1.7.9.5 + diff --git a/app-emulation/ganeti/files/ganeti-2.6-fix-args.patch b/app-emulation/ganeti/files/ganeti-2.6-fix-args.patch new file mode 100644 index 000000000000..6fb5bd0df62f --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.6-fix-args.patch @@ -0,0 +1,45 @@ +From 0491397d7648fd70ad0a6cef9e8626b9c2a968e9 Mon Sep 17 00:00:00 2001 +From: Lance Albertson <ramereth@gmail.com> +Date: Mon, 8 Aug 2011 23:34:33 -0700 +Subject: [PATCH 1/2] Remove/fix deprecated start-stop-daemon functions + +daemon-util uses the deprecated functions --startas, --chuid and, most +importantly, --oknodo. The last one causes start-stop-daemon to exit with a +non-zero status, which makes openrc think it crashed (when in reality it just +shut down properly) [1]. + +[1] https://bugs.gentoo.org/show_bug.cgi?id=377905 +--- + daemons/daemon-util.in | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in +index b754e7f..c19daa7 100644 +--- a/daemons/daemon-util.in ++++ b/daemons/daemon-util.in +@@ -222,10 +222,10 @@ start() { + @PKGLIBDIR@/ensure-dirs + + if type -p start-stop-daemon >/dev/null; then +- start-stop-daemon --start --quiet --oknodo \ ++ start-stop-daemon --start --quiet \ + --pidfile $pidfile \ +- --startas $daemonexec \ +- --chuid $usergroup \ ++ --exec $daemonexec \ ++ --user $usergroup \ + -- $args "$@" + else + # TODO: Find a way to start daemon with a group, until then the group must +@@ -248,7 +248,7 @@ stop() { + local pidfile=$(_daemon_pidfile $name) + + if type -p start-stop-daemon >/dev/null; then +- start-stop-daemon --stop --quiet --oknodo --retry 30 \ ++ start-stop-daemon --stop --quiet --retry 30 \ + --pidfile $pidfile + else + _ignore_error killproc -p $pidfile $name +-- +1.7.9.5 + diff --git a/app-emulation/ganeti/files/ganeti-2.7-fix-tests.patch b/app-emulation/ganeti/files/ganeti-2.7-fix-tests.patch new file mode 100644 index 000000000000..b3b5ad17f2b1 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.7-fix-tests.patch @@ -0,0 +1,30 @@ +diff --git a/test/py/ganeti.hooks_unittest.py b/test/py/ganeti.hooks_unittest.py +index 30e00d8..50f91fc 100755 +--- a/test/py/ganeti.hooks_unittest.py ++++ b/test/py/ganeti.hooks_unittest.py +@@ -192,7 +192,7 @@ class TestHooksRunner(unittest.TestCase): + os.symlink("/usr/bin/env", fname) + self.torm.append((fname, False)) + env_snt = {"PHASE": phase} +- env_exp = "PHASE=%s" % phase ++ env_exp = "LD_PRELOAD=libsandbox.so\\nPHASE=%s" % phase + self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, env_snt), + [(self._rname(fname), HKR_SUCCESS, env_exp)]) + +diff --git a/test/py/ganeti.utils.process_unittest.py b/test/py/ganeti.utils.process_unittest.py +index 2e36cfa..e0392b2 100755 +--- a/test/py/ganeti.utils.process_unittest.py ++++ b/test/py/ganeti.utils.process_unittest.py +@@ -341,10 +341,10 @@ class TestRunCmd(testutils.GanetiTestCase): + def testResetEnv(self): + """Test environment reset functionality""" + self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True).stdout.strip(), +- "") ++ "LD_PRELOAD=libsandbox.so") + self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True, + env={"FOO": "bar",}).stdout.strip(), +- "FOO=bar") ++ "LD_PRELOAD=libsandbox.so\nFOO=bar") + + def testNoFork(self): + """Test that nofork raise an error""" diff --git a/app-emulation/ganeti/files/ganeti-2.9-disable-root-tests.patch b/app-emulation/ganeti/files/ganeti-2.9-disable-root-tests.patch new file mode 100644 index 000000000000..932258b93a3d --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.9-disable-root-tests.patch @@ -0,0 +1,18 @@ +--- a/Makefile.am 2013-11-13 01:48:34.733493100 +0000 ++++ b/Makefile.am 2013-11-13 01:48:46.623657315 +0000 +@@ -1245,7 +1245,6 @@ + test/py/cfgupgrade_unittest.py \ + test/py/docs_unittest.py \ + test/py/ganeti.asyncnotifier_unittest.py \ +- test/py/ganeti.backend_unittest-runasroot.py \ + test/py/ganeti.backend_unittest.py \ + test/py/ganeti.bootstrap_unittest.py \ + test/py/ganeti.cli_unittest.py \ +@@ -1308,7 +1307,6 @@ + test/py/ganeti.utils.algo_unittest.py \ + test/py/ganeti.utils.filelock_unittest.py \ + test/py/ganeti.utils.hash_unittest.py \ +- test/py/ganeti.utils.io_unittest-runasroot.py \ + test/py/ganeti.utils.io_unittest.py \ + test/py/ganeti.utils.log_unittest.py \ + test/py/ganeti.utils.lvm_unittest.py \ diff --git a/app-emulation/ganeti/files/ganeti-2.9-regex-builtin.patch b/app-emulation/ganeti/files/ganeti-2.9-regex-builtin.patch new file mode 100644 index 000000000000..f9aba9d4e2eb --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.9-regex-builtin.patch @@ -0,0 +1,22 @@ +--- configure.ac.orig 2013-11-13 01:56:03.819694900 +0000 ++++ configure.ac 2013-11-13 01:56:34.350116602 +0000 +@@ -493,8 +493,8 @@ + has_confd=False + if test "$enable_confd" != no; then + CONFD_PKG= +- AC_GHC_PKG_CHECK([regex-pcre], [HS_REGEX_PCRE=], +- [CONFD_PKG="$CONFD_PKG regex-pcre"]) ++ AC_GHC_PKG_CHECK([regex-pcre-builtin], [HS_REGEX_PCRE=], ++ [CONFD_PKG="$CONFD_PKG regex-pcre-builtin"]) + AC_GHC_PKG_CHECK([Crypto], [], [CONFD_PKG="$CONFD_PKG Crypto"]) + AC_GHC_PKG_CHECK([text], [], [CONFD_PKG="$CONFD_PKG text"]) + AC_GHC_PKG_CHECK([hinotify], [], [CONFD_PKG="$CONFD_PKG hinotify"]) +@@ -578,7 +578,7 @@ + AC_GHC_PKG_CHECK([vector], [], [HS_NODEV=1]) + AC_GHC_PKG_CHECK([process], [], [HS_NODEV=1]) + AC_GHC_PKG_CHECK([snap-server], [], [HS_NODEV=1]) +-AC_GHC_PKG_CHECK([regex-pcre], [], [HS_NODEV=1]) ++AC_GHC_PKG_CHECK([regex-pcre-builtin], [], [HS_NODEV=1]) + AC_GHC_PKG_CHECK([Crypto], [], [HS_NODEV=1]) + AC_GHC_PKG_CHECK([text], [], [HS_NODEV=1]) + AC_GHC_PKG_CHECK([hinotify], [], [HS_NODEV=1]) diff --git a/app-emulation/ganeti/files/ganeti-2.9-skip-cli-test.patch b/app-emulation/ganeti/files/ganeti-2.9-skip-cli-test.patch new file mode 100644 index 000000000000..7e1badc96fc0 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.9-skip-cli-test.patch @@ -0,0 +1,18 @@ +--- Makefile.am.orig 2013-11-13 02:19:49.198992622 +0000 ++++ Makefile.am 2013-11-13 02:20:12.709305182 +0000 +@@ -1332,7 +1332,6 @@ + test/py/daemon-util_unittest.bash \ + test/py/ganeti-cleaner_unittest.bash \ + test/py/import-export_unittest.bash \ +- test/py/cli-test.bash \ + test/py/bash_completion.bash + + if PY_UNIT +@@ -1397,7 +1396,6 @@ + test/py/daemon-util_unittest.bash \ + test/py/ganeti-cleaner_unittest.bash \ + test/py/import-export_unittest.bash \ +- test/py/cli-test.bash \ + test/py/bash_completion.bash \ + test/hs/offline-test.sh \ + test/hs/cli-tests-defs.sh \ diff --git a/app-emulation/ganeti/files/ganeti-fix-start-stop.patch b/app-emulation/ganeti/files/ganeti-fix-start-stop.patch new file mode 100644 index 000000000000..e53161a00b22 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-fix-start-stop.patch @@ -0,0 +1,47 @@ +From 9f8f304c983635e0ead6adadd1c4a62be6e92e01 Mon Sep 17 00:00:00 2001 +From: Lance Albertson <ramereth@gmail.com> +Date: Mon, 8 Aug 2011 23:34:33 -0700 +Subject: [PATCH] Remove/fix deprecated start-stop-daemon functions + +daemon-util uses the deprecated functions --startas, --chuid and, most +importantly, --oknodo. The last one causes start-stop-daemon to exit with a +non-zero status, which makes openrc think it crashed (when in reality it just +shut down properly) [1]. + +[1] https://bugs.gentoo.org/show_bug.cgi?id=377905 + +Signed-off-by: Lance Albertson <ramereth@gmail.com> +--- + daemons/daemon-util.in | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in +index 819fd6b..00fe1b6 100644 +--- a/daemons/daemon-util.in ++++ b/daemons/daemon-util.in +@@ -172,10 +172,10 @@ start() { + + @PKGLIBDIR@/ensure-dirs + +- start-stop-daemon --start --quiet --oknodo \ ++ start-stop-daemon --start --quiet \ + --pidfile $(_daemon_pidfile $name) \ +- --startas $(_daemon_executable $name) \ +- --chuid $(_daemon_usergroup $plain_name) \ ++ --exec $(_daemon_executable $name) \ ++ --user $(_daemon_usergroup $plain_name) \ + -- $args "$@" + } + +@@ -188,7 +188,7 @@ stop() { + + local name="$1"; shift + +- start-stop-daemon --stop --quiet --oknodo --retry 30 \ ++ start-stop-daemon --stop --quiet --retry 30 \ + --pidfile $(_daemon_pidfile $name) + } + +-- +1.7.4.1 + diff --git a/app-emulation/ganeti/files/ganeti-kvm-poweroff.confd b/app-emulation/ganeti/files/ganeti-kvm-poweroff.confd new file mode 100644 index 000000000000..6ab21c3709a5 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-kvm-poweroff.confd @@ -0,0 +1,4 @@ +# /etc/conf.d/ganeti-kvm-poweroff: config file for /etc/init.d/ganeti-kvm-poweroff + +# Maximum time in seconds to wait until KVM VMs shutdown before giving up. +# GANETI_KVM_TIMEOUT="60" diff --git a/app-emulation/ganeti/files/ganeti-kvm-poweroff.initd b/app-emulation/ganeti/files/ganeti-kvm-poweroff.initd new file mode 100644 index 000000000000..967f0acff783 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-kvm-poweroff.initd @@ -0,0 +1,58 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + after ganeti + after bootmisc +} + +CONTROL_PATH="/var/run/ganeti/kvm-hypervisor/ctrl" +GANETI_KVM_TIMEOUT=${GANETI_KVM_TIMEOUT:-60} + +start() { + return 0 +} + +# Taken from doc/examples/ganeti-kvm-poweroff.initd.in in ganeti package +stop() { + ebegin "Stopping Ganeti KVM VMs" + # shutdown VMs and remove sockets of those not running + for vm_monitor in $(find $CONTROL_PATH -type s -name '*.monitor') ; do + if ! echo system_powerdown | \ + socat -U UNIX:$vm_monitor STDIO > /dev/null 2>&1; then + # remove disconnected socket + rm -f $vm_monitor + fi + done + + einfo " Waiting for VMs to poweroff" + waiting=true + remaining=$GANETI_KVM_TIMEOUT + while $waiting && [ $remaining -ne 0 ]; do + if [ -z "$(find $CONTROL_PATH -type s -name '*.monitor')" ] ; then + break + fi + + echo -n "." + for vm_monitor in $(find $CONTROL_PATH -type s -name '*.monitor') ; do + if ! echo | socat -U UNIX:$vm_monitor STDIO > /dev/null 2>&1; then + rm -rf $vm_monitor + fi + done + + sleep 5 + let remaining-=5 1 + done + + if [ -n "$(find $CONTROL_PATH -type s -name '*.monitor')" ] ; then + eerror " Some ganeti VMs did not shutdown" + fi + echo + eend $? +} + +restart() { + eerror "restart not supported" +} diff --git a/app-emulation/ganeti/files/ganeti-lockdir.patch b/app-emulation/ganeti/files/ganeti-lockdir.patch new file mode 100644 index 000000000000..dad084fa4306 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-lockdir.patch @@ -0,0 +1,15 @@ +diff --git a/lib/pathutils.py b/lib/pathutils.py +index db860ff..53a9cc4 100644 +--- a/lib/pathutils.py ++++ b/lib/pathutils.py +@@ -63,9 +63,9 @@ ETC_HOSTS = vcluster.ETC_HOSTS + + # Top-level paths + DATA_DIR = LOCALSTATEDIR + "/lib/ganeti" +-LOCK_DIR = LOCALSTATEDIR + "/lock" ++LOCK_DIR = "/run/lock" + LOG_DIR = LOCALSTATEDIR + "/log/ganeti" + RUN_DIR = "/run/ganeti" + + #: Script to configure master IP address + DEFAULT_MASTER_SETUP_SCRIPT = TOOLSDIR + "/master-ip-setup" diff --git a/app-emulation/ganeti/files/ganeti.confd b/app-emulation/ganeti/files/ganeti.confd new file mode 100644 index 000000000000..3b71d7ee44a8 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti.confd @@ -0,0 +1,16 @@ +# /etc/conf.d/ganeti: config file for /etc/init.d/ganeti + +# Extra options to pass to all of the ganeti daemons +# GANETI_OPTS="-d" + +# Options to pass to ganeti-masterd +# GANETI_MASTERD_OPTS="" + +# Options to pass to ganeti-rapi +# GANETI_RAPI_OPTS="" + +# Options to pass to ganeti-noded +# GANETI_NODED_OPTS="" + +# Options to pass to ganeti-confd +# GANETI_CONFD_OPTS="" diff --git a/app-emulation/ganeti/files/ganeti.confd-r2 b/app-emulation/ganeti/files/ganeti.confd-r2 new file mode 100644 index 000000000000..0f2e69f3d5ea --- /dev/null +++ b/app-emulation/ganeti/files/ganeti.confd-r2 @@ -0,0 +1,19 @@ +# /etc/conf.d/ganeti: config file for /etc/init.d/ganeti + +# Extra options to pass to all of the ganeti daemons +# GANETI_OPTS="-d" + +# Options to pass to ganeti-masterd +# GANETI_MASTERD_OPTS="" + +# Options to pass to ganeti-rapi +# GANETI_RAPI_OPTS="" + +# Options to pass to ganeti-noded +# GANETI_NODED_OPTS="" + +# Options to pass to ganeti-confd +# GANETI_CONFD_OPTS="" + +# Options to pass to ganeti-luxid +# GANETI_LUXID_OPTS="" diff --git a/app-emulation/ganeti/files/ganeti.initd b/app-emulation/ganeti/files/ganeti.initd new file mode 100644 index 000000000000..8d31f1698490 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti.initd @@ -0,0 +1,57 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need localmount xend drbd + before ganeti-kvm-poweroff + after bootmisc nfsmount +} + +checkconfig() { + for fname in /var/lib/ganeti/ssconf_node_pass /var/lib/ganeti/server.pem + do + if [[ ! -f "$fname" ]] + then + eerror "Config file $fname not found, will not run." + return 1 + fi + done + + return 0 +} + +start() { + checkconfig || return 1 + + ebegin "Starting ganeti-master" + /usr/sbin/ganeti-master start + ret=$? + eend ${ret} + [[ "${ret}" != 0 ]] && return 1 + + ebegin "Starting ganeti-noded" + start-stop-daemon --start --quiet --exec /usr/sbin/ganeti-noded + ret=$? + eend ${ret} + [[ "${ret}" != 0 ]] && return 1 + + return 0 +} + +stop() { + ebegin "Stopping ganeti-noded" + start-stop-daemon --stop --quiet --name ganeti-noded + ret=$? + eend ${ret} + [[ "${ret}" != 0 ]] && return 1 + + ebegin "Stopping ganeti-master" + /usr/sbin/ganeti-master start + ret=$? + eend ${ret} + [[ "${ret}" != 0 ]] && return 1 + + return 0 +} diff --git a/app-emulation/ganeti/files/ganeti.initd-r3 b/app-emulation/ganeti/files/ganeti.initd-r3 new file mode 100644 index 000000000000..d425fd0dccc6 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti.initd-r3 @@ -0,0 +1,83 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need localmount logger + after bootmisc sshd + use net +} + +DAEMON_UTIL="/usr/lib/ganeti/daemon-util" + +is_master() { + [ -z "${ganeti_master}" ] && ganeti_master="$(gnt-cluster getmaster)" + [ -z "${local_hostname}" ] && local_hostname="$(hostname -f)" + [ "${ganeti_master}" = "${local_hostname}" ] +} + +start() { + if ! [ -e ${DAEMON_UTIL} ]; then + eerror "Could not find daemon utility at ${DAEMON_UTIL}" + return 1 + elif ! ${DAEMON_UTIL} check-config ; then + eerror "Incomplete configuration, will not run." + return 1 + fi + + local daemon retval=0 optsvar started_daemons daemon_opts + + for daemon in $(${DAEMON_UTIL} list-start-daemons); do + optsvar="${daemon//-/_}" + + case "${daemon#ganeti-}" in + masterd|rapi|luxid) is_master || continue;; + esac + + eval daemon_opts=\"\$\{${optsvar^^*}_OPTS\}\" + + ebegin "Starting ${daemon}" + eindent + ${DAEMON_UTIL} start ${daemon} ${GANETI_OPTS} ${daemon_opts} || retval=${?} + + if [ ${retval} != 0 ] && [ -n "${started_daemons}" ]; then + case ${daemon} in + *-kvmd) retval=0; ewarn "Failed to start kvmd, continuing anyway";; + *) + eerror "Stopping already started daemons" + eindent + eend ${code} "$(${DAEMON_UTIL} check-exitcode ${code})" + + for daemon in ${started_daemons}; do + ebegin "Stopping ${daemon}" + ${DAEMON_UTIL} stop ${daemon} ${GANETI_OPTS} + eend ${?} + done + eoutdent; eoutdent + return ${retval} + ;; + esac + fi + eoutdent + started_daemons="${started_daemons} ${daemon}" + done +} + +stop() { + if ! [ -e ${DAEMON_UTIL} ]; then + eerror "Could not find daemon utility at ${DAEMON_UTIL}" + return 1 + fi + + local daemon + + for daemon in $(${DAEMON_UTIL} list-stop-daemons) ; do \ + case "${daemon#ganeti-}" in + masterd|rapi|luxid) is_master || continue;; + esac + ${DAEMON_UTIL} stop ${daemon} ${GANETI_OPTS} + done +} + +# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet: diff --git a/app-emulation/ganeti/files/ganeti2.initd b/app-emulation/ganeti/files/ganeti2.initd new file mode 100644 index 000000000000..74a748a73e38 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti2.initd @@ -0,0 +1,55 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need localmount drbd + after bootmisc +} + +checkconfig() { + for fname in /var/lib/ganeti/server.pem + do + if [[ ! -f "$fname" ]] + then + eerror "Config file $fname not found, will not run." + return 1 + fi + done + + return 0 +} + +start_action() { + # called as start_action daemon pidfile + local daemon="${1}"; shift + local pidfile="${1}"; shift + ebegin "Starting ${daemon}" + start-stop-daemon --start --quiet --exec "${daemon}" --pidfile "${pidfile}" \ + -- "${@}" + eend ${?} +} + +stop_action() { + # called as stop_action daemon pidfile + ebegin "Stopping ${1}" + start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile "${2}" + eend ${?} +} + + +start() { + checkconfig || return 1 + start_action /usr/sbin/ganeti-noded /var/run/ganeti/ganeti-noded.pid + start_action /usr/sbin/ganeti-masterd /var/run/ganeti/ganeti-masterd.pid + start_action /usr/sbin/ganeti-rapi /var/run/ganeti/ganeti-rapi.pid + return 0 +} + +stop() { + stop_action /usr/sbin/ganeti-rapi /var/run/ganeti/ganeti-rapi.pid + stop_action /usr/sbin/ganeti-masterd /var/run/ganeti/ganeti-masterd.pid + stop_action /usr/sbin/ganeti-noded /var/run/ganeti/ganeti-noded.pid + return 0 +} diff --git a/app-emulation/ganeti/ganeti-2.10.5-r4.ebuild b/app-emulation/ganeti/ganeti-2.10.5-r4.ebuild new file mode 100644 index 000000000000..c166144f5b50 --- /dev/null +++ b/app-emulation/ganeti/ganeti-2.10.5-r4.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=(python2_7) +use test && PYTHON_REQ_USE="ipv6" + +inherit eutils confutils autotools bash-completion-r1 python-single-r1 versionator + +MY_PV="${PV/_rc/~rc}" +#MY_PV="${PV/_beta/~beta}" +MY_P="${PN}-${MY_PV}" +SERIES="$(get_version_component_range 1-2)" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.ganeti.org/ganeti.git" + inherit git-2 + KEYWORDS="" + # you will need to pull in the haskell overlay for pandoc + GIT_DEPEND="app-text/pandoc + dev-python/docutils + dev-python/sphinx + media-libs/gd[fontconfig,jpeg,png,truetype] + media-gfx/graphviz + media-fonts/urw-fonts" +else + SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Ganeti is a virtual server management software tool" +HOMEPAGE="http://code.google.com/p/ganeti/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="kvm xen lxc drbd htools syslog ipv6 haskell-daemons rbd test" +REQUIRED_USE="|| ( kvm xen lxc )" + +HASKELL_DEPS=">=dev-lang/ghc-6.12:0= + dev-haskell/json:0= + dev-haskell/curl:0= + dev-haskell/network:0= + dev-haskell/parallel:3= + dev-haskell/hslogger:0= + dev-haskell/utf8-string:0= + dev-haskell/attoparsec:0= + dev-haskell/crypto:0=" + +DEPEND="xen? ( >=app-emulation/xen-3.0 ) + kvm? ( app-emulation/qemu ) + lxc? ( app-emulation/lxc ) + drbd? ( <sys-cluster/drbd-8.5 ) + rbd? ( sys-cluster/ceph ) + ipv6? ( net-misc/ndisc6 ) + haskell-daemons? ( + ${HASKELL_DEPS} + dev-haskell/text:0= + dev-haskell/hinotify:0= + dev-haskell/regex-pcre-builtin:0= + dev-haskell/vector:0= + ) + dev-libs/openssl:0 + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/pyinotify[${PYTHON_USEDEP}] + dev-python/simplejson[${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/bitarray[${PYTHON_USEDEP}] + net-analyzer/arping + net-analyzer/fping + net-misc/bridge-utils + net-misc/curl[ssl] + net-misc/openssh + net-misc/socat + sys-apps/iproute2 + sys-fs/lvm2 + >=sys-apps/baselayout-2.0 + ${PYTHON_DEPS} + ${GIT_DEPEND}" +RDEPEND="${DEPEND} + !app-emulation/ganeti-htools" +DEPEND+="${HASKELL_DEPS} + sys-devel/m4 + test? ( + dev-python/mock + dev-python/pyyaml + dev-haskell/test-framework:0= + dev-haskell/test-framework-hunit:0= + dev-haskell/test-framework-quickcheck2:0= + dev-haskell/temporary:0= + sys-apps/fakeroot + )" + +PATCHES=( + "${FILESDIR}/${PN}-2.6-fix-args.patch" + "${FILESDIR}/${PN}-2.6-add-pgrep.patch" + "${FILESDIR}/${PN}-2.7-fix-tests.patch" + "${FILESDIR}/${PN}-2.9-disable-root-tests.patch" + "${FILESDIR}/${PN}-2.9-regex-builtin.patch" + "${FILESDIR}/${PN}-2.9-skip-cli-test.patch" + "${FILESDIR}/${PN}-2.10-rundir.patch" + "${FILESDIR}/${PN}-lockdir.patch" +) + +S="${WORKDIR}/${MY_P}" + +pkg_setup () { + confutils_use_depend_all haskell-daemons htools + python-single-r1_pkg_setup +} + +src_prepare() { + epatch "${PATCHES[@]}" + [[ ${PV} == "9999" ]] && ./autogen.sh + rm autotools/missing + eautoreconf +} + +src_configure () { + econf --localstatedir=/var \ + --sharedstatedir=/var \ + --disable-symlinks \ + --docdir=/usr/share/doc/${P} \ + --with-ssh-initscript=/etc/init.d/sshd \ + --with-export-dir=/var/lib/ganeti-storage/export \ + --with-os-search-path=/usr/share/${PN}/os \ + $(use_enable syslog) \ + $(usex kvm '--with-kvm-path=' '' '/usr/bin/qemu-kvm' '') \ + $(usex haskell-daemons "--enable-confd=haskell" '' '' '') +} + +src_install () { + emake V=1 DESTDIR="${D}" install || die "emake install failed" + + newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN} + newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN} + + use kvm && newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff + use kvm && newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff + newbashcomp doc/examples/bash_completion ganeti + dodoc INSTALL UPGRADE NEWS README doc/*.rst + dohtml -r doc/html/* + rm -rf "${D}"/{usr/share/doc/${PN},run} + + docinto examples + dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf + + docinto examples/hooks + dodoc doc/examples/hooks/{ipsec,ethers} + + insinto /etc/cron.d + newins doc/examples/ganeti.cron ${PN} + + insinto /etc/logrotate.d + newins doc/examples/ganeti.logrotate ${PN} + + python_fix_shebang "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} + + keepdir /var/{lib,log}/${PN}/ + keepdir /usr/share/${PN}/${SERIES}/os/ + keepdir /var/lib/ganeti-storage/{export,file,shared}/ + + dosym ${SERIES} "/usr/share/${PN}/default" + dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" + + python_fix_shebang "${ED}" +} + +src_test () { + emake check || die "emake check failed" +} diff --git a/app-emulation/ganeti/ganeti-2.11.6-r2.ebuild b/app-emulation/ganeti/ganeti-2.11.6-r2.ebuild new file mode 100644 index 000000000000..87527cdf9302 --- /dev/null +++ b/app-emulation/ganeti/ganeti-2.11.6-r2.ebuild @@ -0,0 +1,220 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=(python2_7) +use test && PYTHON_REQ_USE="ipv6" + +inherit eutils confutils autotools bash-completion-r1 python-single-r1 versionator pax-utils + +MY_PV="${PV/_rc/~rc}" +#MY_PV="${PV/_beta/~beta}" +MY_P="${PN}-${MY_PV}" +SERIES="$(get_version_component_range 1-2)" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.ganeti.org/ganeti.git" + inherit git-2 + KEYWORDS="" + # you will need to pull in the haskell overlay for pandoc + GIT_DEPEND="app-text/pandoc + dev-python/docutils + dev-python/sphinx + media-libs/gd[fontconfig,jpeg,png,truetype] + media-gfx/graphviz + media-fonts/urw-fonts" +else + SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Ganeti is a virtual server management software tool" +HOMEPAGE="http://code.google.com/p/ganeti/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen" +REQUIRED_USE="|| ( kvm xen lxc )" + +USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}" +GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}" + +HASKELL_DEPS=">=dev-lang/ghc-6.12:0= + dev-haskell/json:0= + dev-haskell/curl:0= + dev-haskell/network:0= + dev-haskell/parallel:3= + dev-haskell/hslogger:0= + dev-haskell/utf8-string:0= + dev-haskell/attoparsec:0= + dev-haskell/crypto:0= + dev-haskell/vector:0= + dev-haskell/hinotify:0= + dev-haskell/regex-pcre-builtin:0= + dev-haskell/zlib:0= + dev-haskell/base64-bytestring:0= + monitoring? ( dev-haskell/snap-server:0= )" + +DEPEND="xen? ( >=app-emulation/xen-3.0 ) + kvm? ( app-emulation/qemu ) + lxc? ( app-emulation/lxc ) + drbd? ( <sys-cluster/drbd-8.5 ) + rbd? ( sys-cluster/ceph ) + ipv6? ( net-misc/ndisc6 ) + haskell-daemons? ( + ${HASKELL_DEPS} + dev-haskell/text:0= + ) + dev-libs/openssl:0 + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/pyinotify[${PYTHON_USEDEP}] + dev-python/simplejson[${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/bitarray[${PYTHON_USEDEP}] + net-analyzer/arping + net-analyzer/fping + net-misc/bridge-utils + net-misc/curl[ssl] + net-misc/openssh + net-misc/socat + sys-apps/iproute2 + sys-fs/lvm2 + >=sys-apps/baselayout-2.0 + ${PYTHON_DEPS} + ${GIT_DEPEND}" +RDEPEND="${DEPEND} + !app-emulation/ganeti-htools" +DEPEND+="${HASKELL_DEPS} + sys-devel/m4 + test? ( + dev-python/mock + dev-python/pyyaml + dev-haskell/haddock:0= + dev-haskell/test-framework:0= + dev-haskell/test-framework-hunit:0= + dev-haskell/test-framework-quickcheck2:0= + dev-haskell/temporary:0= + sys-apps/fakeroot + )" + +PATCHES=( + "${FILESDIR}/${PN}-2.11-start-stop-daemon-args.patch" + "${FILESDIR}/${PN}-2.11-add-pgrep.patch" + "${FILESDIR}/${PN}-2.11-daemon-util.patch" + "${FILESDIR}/${PN}-2.7-fix-tests.patch" + "${FILESDIR}/${PN}-2.9-disable-root-tests.patch" + "${FILESDIR}/${PN}-2.11-regex-builtin.patch" + "${FILESDIR}/${PN}-2.9-skip-cli-test.patch" + "${FILESDIR}/${PN}-2.10-rundir.patch" + "${FILESDIR}/${PN}-2.11-qemu-enable-kvm.patch" + "${FILESDIR}/${PN}-2.11-tests.patch" + "${FILESDIR}/${PN}-lockdir.patch" + "${FILESDIR}/${PN}-2.11-useradd.patch" + "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch" + "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch" + "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch" +) + +REQUIRED_USE="kvm? ( || ( amd64 x86 ) )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup () { + confutils_use_depend_all haskell-daemons htools + python-single-r1_pkg_setup +} + +src_prepare() { + epatch "${PATCHES[@]}" + + [[ ${PV} == "9999" ]] && ./autogen.sh + rm autotools/missing + eautoreconf +} + +src_configure () { + # this is kind of a hack to work around the removal of the qemu-kvm wrapper + local kvm_arch + + if use amd64; then + kvm_arch=x86_64 + elif use x86; then + kvm_arch=i386 + elif use kvm; then + die "Could not determine qemu system to use for kvm" + fi + + econf --localstatedir=/var \ + --sharedstatedir=/var \ + --disable-symlinks \ + --docdir=/usr/share/doc/${P} \ + --with-ssh-initscript=/etc/init.d/sshd \ + --with-export-dir=/var/lib/ganeti-storage/export \ + --with-os-search-path=/usr/share/${PN}/os \ + $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \ + $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \ + $(use_enable syslog) \ + $(use_enable monitoring) \ + $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \ + $(usex haskell-daemons "--enable-confd=haskell" '' '' '') +} + +src_install () { + emake V=1 DESTDIR="${D}" install || die "emake install failed" + + newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN} + newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN} + + if use kvm; then + newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff + newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff + fi + + # ganeti installs it's own docs in a generic location + rm -rf "${D}"/{usr/share/doc/${PN},run} + + newbashcomp doc/examples/bash_completion ganeti + + dodoc INSTALL UPGRADE NEWS README doc/*.rst + dohtml -r doc/html/* doc/css/*.css + + docinto examples + dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf + + docinto examples/hooks + dodoc doc/examples/hooks/{ipsec,ethers} + + insinto /etc/cron.d + newins doc/examples/ganeti.cron ${PN} + + insinto /etc/logrotate.d + newins doc/examples/ganeti.logrotate ${PN} + + keepdir /var/{lib,log}/${PN}/ + keepdir /usr/share/${PN}/${SERIES}/os/ + keepdir /var/lib/ganeti-storage/{export,file,shared}/ + + dosym ${SERIES} "/usr/share/${PN}/default" + dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" + + python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} +} + +pkg_postinst() { + if use multiple-users; then + elog "You have enable multiple user support, the users for this must" + elog "be created. You can use the provided tool for this, which is" + elog "located at:" + elog " /usr/$(get_libdir)/${PN}/tools/users-setup" + fi +} + +src_test () { + PATH="${S}/scripts:${S}/src:${PATH}" \ + TMPDIR="/tmp" \ + emake check || die "emake check failed" +} diff --git a/app-emulation/ganeti/ganeti-2.12.1-r3.ebuild b/app-emulation/ganeti/ganeti-2.12.1-r3.ebuild new file mode 100644 index 000000000000..644983532c81 --- /dev/null +++ b/app-emulation/ganeti/ganeti-2.12.1-r3.ebuild @@ -0,0 +1,253 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=(python2_7) +use test && PYTHON_REQ_USE="ipv6" + +inherit eutils user confutils autotools bash-completion-r1 python-single-r1 versionator pax-utils + +MY_PV="${PV/_rc/~rc}" +#MY_PV="${PV/_beta/~beta}" +MY_P="${PN}-${MY_PV}" +SERIES="$(get_version_component_range 1-2)" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.ganeti.org/ganeti.git" + inherit git-2 + KEYWORDS="" + # you will need to pull in the haskell overlay for pandoc + GIT_DEPEND="app-text/pandoc + dev-python/docutils + dev-python/sphinx + media-libs/gd[fontconfig,jpeg,png,truetype] + media-gfx/graphviz + media-fonts/urw-fonts" +else + SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Ganeti is a virtual server management software tool" +HOMEPAGE="http://code.google.com/p/ganeti/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen" +REQUIRED_USE="|| ( kvm xen lxc )" + +USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}" +GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}" + +# the haskell less-than atoms list are resolver hints, they aren't actual +# direct dependencies, just hints to help the resolver fufill the dependency +# on an older transformer. +# these need to stay until 2.14.0 +DEPEND=" + dev-libs/openssl:0 + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/pyinotify[${PYTHON_USEDEP}] + dev-python/simplejson[${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/bitarray[${PYTHON_USEDEP}] + net-analyzer/arping + net-analyzer/fping + net-misc/bridge-utils + net-misc/curl[ssl] + net-misc/openssh + net-misc/socat + sys-apps/iproute2 + sys-fs/lvm2 + >=sys-apps/baselayout-2.0 + >=dev-lang/ghc-7.6.0:0= + >=dev-haskell/json-0.9:0= + <dev-haskell/monad-control-1.0.0.0:0= + <dev-haskell/transformers-0.4.0:0= + dev-haskell/curl:0= + dev-haskell/network:0= + dev-haskell/parallel:3= + >=dev-haskell/hslogger-1.2.6:0= + dev-haskell/snap-server:0= + dev-haskell/utf8-string:0= + dev-haskell/attoparsec:0= + dev-haskell/crypto:0= + dev-haskell/vector:0= + dev-haskell/hinotify:0= + dev-haskell/regex-pcre-builtin:0= + dev-haskell/zlib:0= + >=dev-haskell/lifted-base-0.2.3.3:0= + <dev-haskell/lens-3.10:0= + dev-haskell/base64-bytestring:0= + <dev-haskell/mtl-2.2 + <dev-haskell/contravariant-0.6 + <dev-haskell/profunctors-4.3 + <dev-haskell/distributive-0.4.4 + <dev-haskell/comonad-4.2.2 + <dev-haskell/transformers-compat-0.3 + <dev-haskell/transformers-base-0.4.4 + <dev-haskell/semigroupoids-4.0 + <dev-haskell/semigroupoid-extras-4.0 + <dev-haskell/groupoids-4.0 + xen? ( >=app-emulation/xen-3.0 ) + kvm? ( app-emulation/qemu ) + lxc? ( app-emulation/lxc ) + drbd? ( <sys-cluster/drbd-8.5 ) + rbd? ( sys-cluster/ceph ) + ipv6? ( net-misc/ndisc6 ) + haskell-daemons? ( dev-haskell/text:0= ) + ${PYTHON_DEPS} + ${GIT_DEPEND}" +RDEPEND="${DEPEND} + !app-emulation/ganeti-htools" +DEPEND+="sys-devel/m4 + test? ( + dev-python/mock + dev-python/pyyaml + dev-haskell/haddock:0= + dev-haskell/test-framework:0= + dev-haskell/test-framework-hunit:0= + dev-haskell/test-framework-quickcheck2:0= + dev-haskell/temporary:0= + sys-apps/fakeroot + net-misc/socat + dev-util/shelltestrunner + )" + +PATCHES=( + "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch" + "${FILESDIR}/${PN}-2.11-add-pgrep.patch" + "${FILESDIR}/${PN}-2.12-daemon-util.patch" + "${FILESDIR}/${PN}-2.7-fix-tests.patch" + "${FILESDIR}/${PN}-2.9-disable-root-tests.patch" + "${FILESDIR}/${PN}-2.11-regex-builtin.patch" + "${FILESDIR}/${PN}-2.9-skip-cli-test.patch" + "${FILESDIR}/${PN}-2.10-rundir.patch" + "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch" + "${FILESDIR}/${PN}-2.11-tests.patch" + "${FILESDIR}/${PN}-lockdir.patch" + "${FILESDIR}/${PN}-2.11-useradd.patch" + "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch" + "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch" + "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch" + "${FILESDIR}/${PN}-2.12-tests.patch" + "${FILESDIR}/${PN}-2.12-cfgupgrade-state.patch" +) + +REQUIRED_USE="kvm? ( || ( amd64 x86 ) )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup () { + local user + confutils_use_depend_all haskell-daemons htools + python-single-r1_pkg_setup + + if use multiple-users; then + for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do + enewgroup ${user} + enewuser ${user} -1 -1 -1 ${user} + done + fi +} + +src_prepare() { + local testfile + epatch "${PATCHES[@]}" + + # not sure why these tests are failing + # should remove this on next version bump if possible + for testfile in test/py/import-export_unittest.bash; do + printf '#!/bin/bash\ntrue\n' > "${testfile}" + done + + [[ ${PV} == "9999" ]] && ./autogen.sh + rm autotools/missing + eautoreconf +} + +src_configure () { + # this is kind of a hack to work around the removal of the qemu-kvm wrapper + local kvm_arch + + if use amd64; then + kvm_arch=x86_64 + elif use x86; then + kvm_arch=i386 + elif use kvm; then + die "Could not determine qemu system to use for kvm" + fi + + econf --localstatedir=/var \ + --sharedstatedir=/var \ + --disable-symlinks \ + --docdir=/usr/share/doc/${P} \ + --with-ssh-initscript=/etc/init.d/sshd \ + --with-export-dir=/var/lib/ganeti-storage/export \ + --with-os-search-path=/usr/share/${PN}/os \ + $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \ + $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \ + $(use_enable syslog) \ + $(use_enable monitoring) \ + $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \ + $(usex haskell-daemons "--enable-confd=haskell" '' '' '') +} + +src_install () { + emake V=1 DESTDIR="${D}" install || die "emake install failed" + + newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN} + newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN} + + if use kvm; then + newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff + newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff + fi + + # ganeti installs it's own docs in a generic location + rm -rf "${D}"/{usr/share/doc/${PN},run} + + newbashcomp doc/examples/bash_completion ganeti + + dodoc INSTALL UPGRADE NEWS README doc/*.rst + dohtml -r doc/html/* doc/css/*.css + + docinto examples + dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf + + docinto examples/hooks + dodoc doc/examples/hooks/{ipsec,ethers} + + insinto /etc/cron.d + newins doc/examples/ganeti.cron ${PN} + + insinto /etc/logrotate.d + newins doc/examples/ganeti.logrotate ${PN} + + keepdir /var/{lib,log}/${PN}/ + keepdir /usr/share/${PN}/${SERIES}/os/ + keepdir /var/lib/ganeti-storage/{export,file,shared}/ + + dosym ${SERIES} "/usr/share/${PN}/default" + dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" + + python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} +} + +pkg_postinst() { + if use multiple-users; then + elog "You have enable multiple user support, the users for this must" + elog "be created. You can use the provided tool for this, which is" + elog "located at:" + elog " /usr/$(get_libdir)/${PN}/tools/users-setup" + fi +} + +src_test () { + PATH="${S}/scripts:${S}/src:${PATH}" \ + TMPDIR="/tmp" \ + emake check || die "emake check failed" +} diff --git a/app-emulation/ganeti/ganeti-2.12.3-r2.ebuild b/app-emulation/ganeti/ganeti-2.12.3-r2.ebuild new file mode 100644 index 000000000000..c1eb25d7b864 --- /dev/null +++ b/app-emulation/ganeti/ganeti-2.12.3-r2.ebuild @@ -0,0 +1,262 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=(python2_7) +use test && PYTHON_REQ_USE="ipv6" + +inherit eutils user autotools bash-completion-r1 python-single-r1 versionator + +MY_PV="${PV/_rc/~rc}" +MY_PV="${MY_PV/_beta/~beta}" +MY_P="${PN}-${MY_PV}" +SERIES="$(get_version_component_range 1-2)" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.ganeti.org/ganeti.git" + inherit git-2 + KEYWORDS="" + GIT_DEPEND="app-text/pandoc + dev-python/docutils + dev-python/sphinx[${PYTHON_USEDEP}] + media-libs/gd[fontconfig,jpeg,png,truetype] + media-gfx/graphviz + media-fonts/urw-fonts" +else + SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Ganeti is a virtual server management software tool" +HOMEPAGE="http://www.ganeti.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen" +REQUIRED_USE="|| ( kvm xen lxc ) ${PYTHON_REQUIRED_USE}" + +USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}" +GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}" + +# the haskell less-than atoms list are resolver hints, they aren't actual +# direct dependencies, just hints to help the resolver fufill the dependency +# on an older transformer. +# these need to stay until 2.14.0 +DEPEND=" + dev-libs/openssl:0 + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/pyinotify[${PYTHON_USEDEP}] + dev-python/simplejson[${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/bitarray[${PYTHON_USEDEP}] + net-analyzer/arping + net-analyzer/fping + net-misc/bridge-utils + net-misc/curl[ssl] + net-misc/openssh + net-misc/socat + sys-apps/iproute2 + sys-fs/lvm2 + >=sys-apps/baselayout-2.0 + =dev-lang/ghc-7.6*:0= + >=dev-haskell/json-0.9:0= + <dev-haskell/monad-control-1.0.0.0:0= + <dev-haskell/transformers-0.4.0:0= + dev-haskell/curl:0= + dev-haskell/network:0= + dev-haskell/parallel:3= + >=dev-haskell/hslogger-1.2.6:0= + dev-haskell/snap-server:0= + dev-haskell/utf8-string:0= + dev-haskell/attoparsec:0= + dev-haskell/crypto:0= + dev-haskell/vector:0= + dev-haskell/hinotify:0= + dev-haskell/regex-pcre-builtin:0= + dev-haskell/zlib:0= + >=dev-haskell/lifted-base-0.2.3.3:0= + <dev-haskell/lens-3.10:0= + dev-haskell/base64-bytestring:0= + <dev-haskell/mtl-2.2 + <dev-haskell/contravariant-0.6 + <dev-haskell/profunctors-4.3 + <dev-haskell/distributive-0.4.4 + <dev-haskell/comonad-4.2.2 + <dev-haskell/transformers-compat-0.3 + <dev-haskell/transformers-base-0.4.4 + <dev-haskell/semigroupoids-4.0 + <dev-haskell/semigroupoid-extras-4.0 + <dev-haskell/groupoids-4.0 + xen? ( >=app-emulation/xen-3.0 ) + kvm? ( app-emulation/qemu ) + lxc? ( app-emulation/lxc ) + drbd? ( <sys-cluster/drbd-8.5 ) + rbd? ( sys-cluster/ceph ) + ipv6? ( net-misc/ndisc6 ) + haskell-daemons? ( dev-haskell/text:0= ) + ${PYTHON_DEPS} + ${GIT_DEPEND}" +RDEPEND="${DEPEND} + !app-emulation/ganeti-htools" +DEPEND+="sys-devel/m4 + test? ( + dev-python/mock + dev-python/pyyaml + dev-haskell/haddock:0= + dev-haskell/test-framework:0= + dev-haskell/test-framework-hunit:0= + dev-haskell/test-framework-quickcheck2:0= + dev-haskell/temporary:0= + sys-apps/fakeroot + net-misc/socat + dev-util/shelltestrunner + )" + +PATCHES=( + "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch" + "${FILESDIR}/${PN}-2.11-add-pgrep.patch" + "${FILESDIR}/${PN}-2.12.3-daemon-util.patch" + "${FILESDIR}/${PN}-2.7-fix-tests.patch" + "${FILESDIR}/${PN}-2.9-disable-root-tests.patch" + "${FILESDIR}/${PN}-2.11-regex-builtin.patch" + "${FILESDIR}/${PN}-2.9-skip-cli-test.patch" + "${FILESDIR}/${PN}-2.10-rundir.patch" + "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch" + "${FILESDIR}/${PN}-2.11-tests.patch" + "${FILESDIR}/${PN}-lockdir.patch" + "${FILESDIR}/${PN}-2.11-useradd.patch" + "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch" + "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch" + "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch" + "${FILESDIR}/${PN}-2.12-tests.patch" +) + +REQUIRED_USE="kvm? ( || ( amd64 x86 ) )" + +S="${WORKDIR}/${MY_P}" + +QA_WX_LOAD="usr/$(get_libdir)/${PN}/${SERIES}/usr/sbin/ganeti-*d + usr/$(get_libdir)/${PN}/${SERIES}/usr/bin/htools" + +pkg_setup () { + local user + confutils_use_depend_all haskell-daemons htools + python-single-r1_pkg_setup + + if use multiple-users; then + for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do + enewgroup ${user} + enewuser ${user} -1 -1 -1 ${user} + done + fi +} + +src_prepare() { + local testfile + epatch "${PATCHES[@]}" + + # not sure why these tests are failing + # should remove this on next version bump if possible + for testfile in test/py/import-export_unittest.bash; do + printf '#!/bin/bash\ntrue\n' > "${testfile}" + done + + # take the sledgehammer approach to bug #526270 + grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g' + + [[ ${PV} =~ [9]{4,} ]] && ./autogen.sh + rm autotools/missing + eautoreconf +} + +src_configure () { + # this is kind of a hack to work around the removal of the qemu-kvm wrapper + local kvm_arch + + if use amd64; then + kvm_arch=x86_64 + elif use x86; then + kvm_arch=i386 + elif use kvm; then + die "Could not determine qemu system to use for kvm" + fi + + econf --localstatedir=/var \ + --sharedstatedir=/var \ + --disable-symlinks \ + --docdir=/usr/share/doc/${P} \ + --with-ssh-initscript=/etc/init.d/sshd \ + --with-export-dir=/var/lib/ganeti-storage/export \ + --with-os-search-path=/usr/share/${PN}/os \ + $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \ + $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \ + $(use_enable syslog) \ + $(use_enable monitoring) \ + $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \ + $(usex haskell-daemons "--enable-confd=haskell" '' '' '') +} + +src_install () { + emake V=1 DESTDIR="${D}" install || die "emake install failed" + + newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN} + newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN} + + if use kvm; then + newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff + newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff + fi + + # ganeti installs it's own docs in a generic location + rm -rf "${D}"/{usr/share/doc/${PN},run} + + sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion + newbashcomp doc/examples/bash_completion gnt-instance + bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \ + h{space,check,scan,info,ail,arep,roller,squeeze,bal} \ + gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster} + + dodoc INSTALL UPGRADE NEWS README doc/*.rst + dohtml -r doc/html/* doc/css/*.css + + docinto examples + dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf + + docinto examples/hooks + dodoc doc/examples/hooks/{ipsec,ethers} + + insinto /etc/cron.d + newins doc/examples/ganeti.cron ${PN} + + insinto /etc/logrotate.d + newins doc/examples/ganeti.logrotate ${PN} + + keepdir /var/{lib,log}/${PN}/ + keepdir /usr/share/${PN}/${SERIES}/os/ + keepdir /var/lib/ganeti-storage/{export,file,shared}/ + + dosym ${SERIES} "/usr/share/${PN}/default" + dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" + + python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} +} + +pkg_postinst() { + if use multiple-users; then + elog "You have enable multiple user support, the users for this must" + elog "be created. You can use the provided tool for this, which is" + elog "located at:" + elog " /usr/$(get_libdir)/${PN}/tools/users-setup" + fi +} + +src_test () { + PATH="${S}/scripts:${S}/src:${PATH}" \ + TMPDIR="/tmp" \ + GANETI_MASTER="$(hostname -f)" \ + emake check || die "emake check failed" +} diff --git a/app-emulation/ganeti/ganeti-2.13.0-r2.ebuild b/app-emulation/ganeti/ganeti-2.13.0-r2.ebuild new file mode 100644 index 000000000000..45a4009dce60 --- /dev/null +++ b/app-emulation/ganeti/ganeti-2.13.0-r2.ebuild @@ -0,0 +1,258 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=(python2_7) +use test && PYTHON_REQ_USE="ipv6" + +inherit eutils user autotools bash-completion-r1 python-single-r1 versionator + +MY_PV="${PV/_rc/~rc}" +MY_PV="${MY_PV/_beta/~beta}" +MY_P="${PN}-${MY_PV}" +SERIES="$(get_version_component_range 1-2)" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.ganeti.org/ganeti.git" + inherit git-2 + KEYWORDS="" + GIT_DEPEND="app-text/pandoc + dev-python/docutils + dev-python/sphinx[${PYTHON_USEDEP}] + media-libs/gd[fontconfig,jpeg,png,truetype] + media-gfx/graphviz + media-fonts/urw-fonts" +else + SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Ganeti is a virtual server management software tool" +HOMEPAGE="http://www.ganeti.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen" +REQUIRED_USE="|| ( kvm xen lxc ) ${PYTHON_REQUIRED_USE}" + +USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}" +GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}" + +DEPEND=" + dev-libs/openssl:0 + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/pyinotify[${PYTHON_USEDEP}] + dev-python/simplejson[${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/bitarray[${PYTHON_USEDEP}] + net-analyzer/arping + net-analyzer/fping + net-misc/bridge-utils + net-misc/curl[ssl] + net-misc/openssh + net-misc/socat + sys-apps/iproute2 + sys-fs/lvm2 + >=sys-apps/baselayout-2.0 + =dev-lang/ghc-7.6*:0= + >=dev-haskell/json-0.9:0= + dev-haskell/curl:0= + dev-haskell/network:0= + dev-haskell/parallel:3= + >=dev-haskell/hslogger-1.2.6:0= + dev-haskell/snap-server:0= + dev-haskell/utf8-string:0= + dev-haskell/attoparsec:0= + dev-haskell/crypto:0= + dev-haskell/vector:0= + dev-haskell/hinotify:0= + dev-haskell/regex-pcre-builtin:0= + dev-haskell/zlib:0= + >=dev-haskell/lifted-base-0.2.3.3:0= + <dev-haskell/lens-4:0= + dev-haskell/psqueue:0= + dev-haskell/base64-bytestring:0= + <dev-haskell/semigroupoids-4.1:0= + <dev-haskell/mtl-2.2:0= + <dev-haskell/monad-control-1.0.0.0:0= + <dev-haskell/transformers-0.4.0:0= + <dev-haskell/contravariant-0.6 + <dev-haskell/transformers-compat-0.4[three] + <dev-haskell/transformers-base-0.4.4 + xen? ( >=app-emulation/xen-3.0 ) + kvm? ( app-emulation/qemu ) + lxc? ( app-emulation/lxc ) + drbd? ( <sys-cluster/drbd-8.5 ) + rbd? ( sys-cluster/ceph ) + ipv6? ( net-misc/ndisc6 ) + haskell-daemons? ( dev-haskell/text:0= ) + ${PYTHON_DEPS} + ${GIT_DEPEND}" +RDEPEND="${DEPEND} + !app-emulation/ganeti-htools" +DEPEND+="sys-devel/m4 + app-text/pandoc + test? ( + dev-python/mock + dev-python/pyyaml + dev-haskell/haddock:0= + dev-haskell/test-framework:0= + dev-haskell/test-framework-hunit:0= + dev-haskell/test-framework-quickcheck2:0= + dev-haskell/temporary:0= + sys-apps/fakeroot + net-misc/socat + dev-util/shelltestrunner + )" + +PATCHES=( + "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch" + "${FILESDIR}/${PN}-2.11-add-pgrep.patch" + "${FILESDIR}/${PN}-2.13-daemon-util.patch" + "${FILESDIR}/${PN}-2.7-fix-tests.patch" + "${FILESDIR}/${PN}-2.9-disable-root-tests.patch" + "${FILESDIR}/${PN}-2.9-skip-cli-test.patch" + "${FILESDIR}/${PN}-2.10-rundir.patch" + "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch" + "${FILESDIR}/${PN}-2.11-tests.patch" + "${FILESDIR}/${PN}-lockdir.patch" + "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch" + "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch" + "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch" + "${FILESDIR}/${PN}-2.13-regex-pcre-builtin.patch" + "${FILESDIR}/${PN}-2.13-process_unittest.patch" + "${FILESDIR}/${PN}-2.13-disable-usersgroups-test.patch" +) + +REQUIRED_USE="kvm? ( || ( amd64 x86 ) )" + +S="${WORKDIR}/${MY_P}" + +QA_WX_LOAD="usr/$(get_libdir)/${PN}/${SERIES}/usr/sbin/ganeti-*d + usr/$(get_libdir)/${PN}/${SERIES}/usr/bin/htools" + +pkg_setup () { + local user + confutils_use_depend_all haskell-daemons htools + python-single-r1_pkg_setup + + if use multiple-users; then + for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do + enewgroup ${user} + enewuser ${user} -1 -1 -1 ${user} + done + fi +} + +src_prepare() { + local testfile + epatch "${PATCHES[@]}" + + # not sure why these tests are failing + # should remove this on next version bump if possible + for testfile in test/py/import-export_unittest.bash; do + printf '#!/bin/bash\ntrue\n' > "${testfile}" + done + + # take the sledgehammer approach to bug #526270 + grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g' + + [[ ${PV} =~ [9]{4,} ]] && ./autogen.sh + rm autotools/missing + eautoreconf +} + +src_configure () { + # this is kind of a hack to work around the removal of the qemu-kvm wrapper + local kvm_arch + + if use amd64; then + kvm_arch=x86_64 + elif use x86; then + kvm_arch=i386 + elif use kvm; then + die "Could not determine qemu system to use for kvm" + fi + + econf --localstatedir=/var \ + --sharedstatedir=/var \ + --disable-symlinks \ + --docdir=/usr/share/doc/${P} \ + --with-ssh-initscript=/etc/init.d/sshd \ + --with-export-dir=/var/lib/ganeti-storage/export \ + --with-os-search-path=/usr/share/${PN}/os \ + $(use_enable test haskell-tests) \ + $(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \ + $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \ + $(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \ + $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \ + $(use_enable syslog) \ + $(use_enable monitoring) \ + $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \ + $(usex haskell-daemons "--enable-confd=haskell" '' '' '') +} + +src_install () { + emake V=1 DESTDIR="${D}" install || die "emake install failed" + + newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN} + newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN} + + if use kvm; then + newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff + newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff + fi + + # ganeti installs it's own docs in a generic location + rm -rf "${D}"/{usr/share/doc/${PN},run} + + sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion + newbashcomp doc/examples/bash_completion gnt-instance + bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \ + h{space,check,scan,info,ail,arep,roller,squeeze,bal} \ + gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster} + + dodoc INSTALL UPGRADE NEWS README doc/*.rst + dohtml -r doc/html/* doc/css/*.css + + docinto examples + dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf + + docinto examples/hooks + dodoc doc/examples/hooks/{ipsec,ethers} + + insinto /etc/cron.d + newins doc/examples/ganeti.cron ${PN} + + insinto /etc/logrotate.d + newins doc/examples/ganeti.logrotate ${PN} + + keepdir /var/{lib,log}/${PN}/ + keepdir /usr/share/${PN}/${SERIES}/os/ + keepdir /var/lib/ganeti-storage/{export,file,shared}/ + + dosym ${SERIES} "/usr/share/${PN}/default" + dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" + + python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} +} + +pkg_postinst() { + if use multiple-users; then + elog "You have enable multiple user support, the users for this must" + elog "be created. You can use the provided tool for this, which is" + elog "located at:" + elog " /usr/$(get_libdir)/${PN}/tools/users-setup" + fi +} + +src_test () { + PATH="${S}/scripts:${S}/src:${PATH}" \ + TMPDIR="/tmp" \ + GANETI_MASTER="$(hostname -f)" \ + emake check || die "emake check failed" +} diff --git a/app-emulation/ganeti/ganeti-2.14.1-r1.ebuild b/app-emulation/ganeti/ganeti-2.14.1-r1.ebuild new file mode 100644 index 000000000000..17bb19c37c17 --- /dev/null +++ b/app-emulation/ganeti/ganeti-2.14.1-r1.ebuild @@ -0,0 +1,295 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=(python2_7) +use test && PYTHON_REQ_USE="ipv6" + +inherit eutils user autotools bash-completion-r1 python-single-r1 versionator + +MY_PV="${PV/_rc/~rc}" +MY_PV="${MY_PV/_beta/~beta}" +MY_P="${PN}-${MY_PV}" +SERIES="$(get_version_component_range 1-2)" + +if [[ ${PV} =~ [9]{4,} ]] ; then + EGIT_REPO_URI="git://git.ganeti.org/ganeti.git" + inherit git-2 + KEYWORDS="" + GIT_DEPEND="dev-python/docutils + =dev-python/sphinx-1.2*[${PYTHON_USEDEP}] + media-libs/gd[fontconfig,jpeg,png,truetype] + media-gfx/graphviz + media-fonts/urw-fonts" +else + SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Ganeti is a virtual server management software tool" +HOMEPAGE="http://www.ganeti.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen" +REQUIRED_USE="|| ( kvm xen lxc ) ${PYTHON_REQUIRED_USE}" + +USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}" +GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}" + +DEPEND=" + dev-libs/openssl:0 + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/pyinotify[${PYTHON_USEDEP}] + dev-python/simplejson[${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/bitarray[${PYTHON_USEDEP}] + net-analyzer/arping + net-analyzer/fping + net-misc/bridge-utils + net-misc/curl[ssl] + net-misc/openssh + net-misc/socat + sys-apps/iproute2 + sys-fs/lvm2 + >=sys-apps/baselayout-2.0 + =dev-lang/ghc-7.6*:0= + dev-haskell/cabal:0= + dev-haskell/cabal-install:0= + >=dev-haskell/mtl-2.1.1:0= + >=dev-haskell/old-time-1.1.0.0:0= + >=dev-haskell/random-1.0.1.1:0= + haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= ) + >=dev-haskell/transformers-0.3.0.0:0= + + >=dev-haskell/attoparsec-0.10.1.1:0= + <dev-haskell/attoparsec-0.13:0 + >=dev-haskell/base64-bytestring-1.0.0.1:0= + <dev-haskell/base64-bytestring-1.1:0= + >=dev-haskell/crypto-4.2.4:0= + <dev-haskell/crypto-4.3:0= + >=dev-haskell/curl-1.3.7:0= + <dev-haskell/curl-1.4:0= + >=dev-haskell/hinotify-0.3.2:0= + <dev-haskell/hinotify-0.4:0= + >=dev-haskell/hslogger-1.1.4:0= + <dev-haskell/hslogger-1.3:0= + >=dev-haskell/json-0.5:0= + <dev-haskell/json-0.9:0= + >=dev-haskell/lens-3.10:0= + <dev-haskell/lens-4.8:0= + >=dev-haskell/lifted-base-0.2.0.3:0= + <dev-haskell/lifted-base-0.3:0= + >=dev-haskell/monad-control-0.3.1.3:0= + <dev-haskell/monad-control-1.1:0= + >=dev-haskell/network-2.3.0.13:0= + <dev-haskell/network-2.7:0= + >=dev-haskell/parallel-3.2.0.2:3= + <dev-haskell/parallel-3.3:3= + >=dev-haskell/temporary-1.1.2.3:0= + <dev-haskell/temporary-1.3:0= + >=dev-haskell/regex-pcre-0.94.2:0= + <dev-haskell/regex-pcre-0.95:0= + >=dev-haskell/transformers-base-0.4.1:0= + <dev-haskell/transformers-base-0.5:0= + >=dev-haskell/utf8-string-0.3.7:0= + <dev-haskell/utf8-string-0.4:0= + >=dev-haskell/zlib-0.5.3.3:0= + <dev-haskell/zlib-0.6:0= + + >=dev-haskell/psqueue-1.1:0= + <dev-haskell/psqueue-1.2:0= + >=dev-haskell/snap-core-0.8.1:0= + <dev-haskell/snap-core-0.10:0= + >=dev-haskell/snap-server-0.8.1:0= + <dev-haskell/snap-server-0.10:0= + + dev-haskell/vector:0= + <dev-haskell/semigroupoids-4.1:0= + <dev-haskell/contravariant-0.6 + <dev-haskell/transformers-compat-0.4[three] + xen? ( >=app-emulation/xen-3.0 ) + kvm? ( app-emulation/qemu ) + lxc? ( app-emulation/lxc ) + drbd? ( <sys-cluster/drbd-8.5 ) + rbd? ( sys-cluster/ceph ) + ipv6? ( net-misc/ndisc6 ) + ${PYTHON_DEPS} + ${GIT_DEPEND}" +RDEPEND="${DEPEND} + !app-emulation/ganeti-htools" +DEPEND+="sys-devel/m4 + =app-text/pandoc-1.12* + >=dev-haskell/test-framework-0.6:0= + <dev-haskell/test-framework-0.9:0= + >=dev-haskell/test-framework-hunit-0.2.7:0= + <dev-haskell/test-framework-hunit-0.4:0= + >=dev-haskell/test-framework-quickcheck2-0.2.12.1:0= + <dev-haskell/test-framework-quickcheck2-0.4:0= + test? ( + dev-python/mock + dev-python/pyyaml + dev-haskell/haddock:0= + >=dev-haskell/hunit-1.2.4.2:0= + <dev-haskell/hunit-1.3:0= + >=dev-haskell/quickcheck-2.4.2:2= + <dev-haskell/quickcheck-2.8:2= + sys-apps/fakeroot + net-misc/socat + dev-util/shelltestrunner + )" + +PATCHES=( + "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch" + "${FILESDIR}/${PN}-2.11-add-pgrep.patch" + "${FILESDIR}/${PN}-2.13-daemon-util.patch" + "${FILESDIR}/${PN}-2.7-fix-tests.patch" + "${FILESDIR}/${PN}-2.9-disable-root-tests.patch" + "${FILESDIR}/${PN}-2.9-skip-cli-test.patch" + "${FILESDIR}/${PN}-2.10-rundir.patch" + "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch" + "${FILESDIR}/${PN}-2.11-tests.patch" + "${FILESDIR}/${PN}-lockdir.patch" + "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch" + "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch" + "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch" + "${FILESDIR}/${PN}-2.13-process_unittest.patch" +) + +REQUIRED_USE="kvm? ( || ( amd64 x86 ) )" + +S="${WORKDIR}/${MY_P}" + +# apparently currently broken +QA_WX_LOAD=" + usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d + usr/lib*/${PN}/${SERIES}/usr/bin/htools +" + +pkg_setup () { + local user + python-single-r1_pkg_setup + + if use multiple-users; then + for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do + enewgroup ${user} + enewuser ${user} -1 -1 -1 ${user} + done + fi +} + +src_prepare() { + local testfile + epatch "${PATCHES[@]}" + + # not sure why these tests are failing + # should remove this on next version bump if possible + for testfile in test/py/import-export_unittest.bash; do + printf '#!/bin/bash\ntrue\n' > "${testfile}" + done + + # take the sledgehammer approach to bug #526270 + grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g' + + [[ ${PV} =~ [9]{4,} ]] && ./autogen.sh + rm autotools/missing + eautoreconf +} + +src_configure () { + # this is kind of a hack to work around the removal of the qemu-kvm wrapper + local kvm_arch + + if use amd64; then + kvm_arch=x86_64 + elif use x86; then + kvm_arch=i386 + elif use kvm; then + die "Could not determine qemu system to use for kvm" + fi + + econf --localstatedir=/var \ + --sharedstatedir=/var \ + --disable-symlinks \ + --docdir=/usr/share/doc/${P} \ + --with-ssh-initscript=/etc/init.d/sshd \ + --with-export-dir=/var/lib/ganeti-storage/export \ + --with-os-search-path=/usr/share/${PN}/os \ + $(use_enable test haskell-tests) \ + $(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \ + $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \ + $(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \ + $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \ + $(use_enable syslog) \ + $(use_enable monitoring) \ + $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \ + $(usex haskell-daemons "--enable-confd=haskell" '' '' '') +} + +src_install () { + emake V=1 DESTDIR="${D}" install || die "emake install failed" + + newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN} + newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN} + + if use kvm; then + newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff + newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff + fi + + # ganeti installs it's own docs in a generic location + rm -rf "${D}"/{usr/share/doc/${PN},run} + + sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion + newbashcomp doc/examples/bash_completion gnt-instance + bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \ + h{space,check,scan,info,ail,arep,roller,squeeze,bal} \ + gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster} + + dodoc INSTALL UPGRADE NEWS README doc/*.rst + dohtml -r doc/html/* doc/css/*.css + + docinto examples + dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf + + docinto examples/hooks + dodoc doc/examples/hooks/{ipsec,ethers} + + insinto /etc/cron.d + newins doc/examples/ganeti.cron ${PN} + + insinto /etc/logrotate.d + newins doc/examples/ganeti.logrotate ${PN} + + # need to dodir rather than keepdir here (bug #552482) + dodir /var/lib/${PN} + + keepdir /var/log/${PN}/ + keepdir /usr/share/${PN}/${SERIES}/os/ + keepdir /var/lib/ganeti-storage/{export,file,shared}/ + + dosym ${SERIES} "/usr/share/${PN}/default" + dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" + + python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} +} + +pkg_postinst() { + if use multiple-users; then + elog "You have enable multiple user support, the users for this must" + elog "be created. You can use the provided tool for this, which is" + elog "located at:" + elog " /usr/$(get_libdir)/${PN}/tools/users-setup" + fi +} + +src_test () { + PATH="${S}/scripts:${S}/src:${PATH}" \ + TMPDIR="/tmp" \ + GANETI_MASTER="$(hostname -f)" \ + emake check || die "emake check failed" +} diff --git a/app-emulation/ganeti/ganeti-2.4.5-r1.ebuild b/app-emulation/ganeti/ganeti-2.4.5-r1.ebuild new file mode 100644 index 000000000000..51fbeef95cc9 --- /dev/null +++ b/app-emulation/ganeti/ganeti-2.4.5-r1.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils confutils bash-completion-r1 + +MY_PV="${PV/_rc/~rc}" +#MY_PV="${PV/_beta/~beta}" +MY_P="${PN}-${MY_PV}" +DESCRIPTION="Ganeti is a virtual server management software tool" +HOMEPAGE="http://code.google.com/p/ganeti/" +SRC_URI="http://ganeti.googlecode.com/files/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="kvm xen drbd +filestorage syslog ipv6" + +S="${WORKDIR}/${MY_P}" + +DEPEND="xen? ( >=app-emulation/xen-3.0 ) + kvm? ( app-emulation/qemu ) + drbd? ( >=sys-cluster/drbd-8.3 ) + ipv6? ( net-misc/ndisc6 ) + dev-libs/openssl + dev-python/paramiko + dev-python/pyopenssl + dev-python/pyparsing + dev-python/pycurl + dev-python/pyinotify + dev-python/simplejson + net-analyzer/arping + net-misc/bridge-utils + net-misc/curl[ssl] + net-misc/openssh + net-misc/socat + sys-apps/iproute2 + sys-fs/lvm2 + >=sys-apps/baselayout-2.0" +RDEPEND="${DEPEND} + !<app-emulation/ganeti-htools-0.3" + +pkg_setup () { + confutils_require_any kvm xen +} + +src_prepare () { + epatch "${FILESDIR}/${PN}-fix-start-stop.patch" +} + +src_configure () { + local myconf + if use filestorage ; then + myconf="--with-file-storage-dir=/var/lib/ganeti-storage/file" + else + myconf="--with-file-storage-dir=no" + fi + if use kvm && [ -f /usr/bin/qemu-kvm ] ; then + myconf="--with-kvm-path=/usr/bin/qemu-kvm" + fi + econf --localstatedir=/var \ + --docdir=/usr/share/doc/${P} \ + --with-ssh-initscript=/etc/init.d/sshd \ + --with-export-dir=/var/lib/ganeti-storage/export \ + --with-os-search-path=/usr/share/ganeti/os \ + $(use_enable syslog) \ + ${myconf} +} + +src_install () { + emake DESTDIR="${D}" install || die "emake install failed" + newinitd "${FILESDIR}"/ganeti-2.1.initd ganeti + newconfd "${FILESDIR}"/ganeti.confd ganeti + use kvm && newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff + use kvm && newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff + newbashcomp doc/examples/bash_completion ganeti + dodoc INSTALL UPGRADE NEWS README doc/*.rst + rm -rf "${D}"/usr/share/doc/ganeti + docinto examples + #dodoc doc/examples/{basic-oob,ganeti.cron,gnt-config-backup} + dodoc doc/examples/{ganeti.cron,gnt-config-backup} + docinto examples/hooks + dodoc doc/examples/hooks/{ipsec,ethers} + + keepdir /var/{lib,log,run}/ganeti/ + keepdir /usr/share/ganeti/os/ + keepdir /var/lib/ganeti-storage/{export,file}/ +} diff --git a/app-emulation/ganeti/metadata.xml b/app-emulation/ganeti/metadata.xml new file mode 100644 index 000000000000..aed23d1c641c --- /dev/null +++ b/app-emulation/ganeti/metadata.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>virtualization</herd> + <maintainer> + <email>chutzpah@gentoo.org</email> + <name>Patrick McLean</name> + </maintainer> + <longdescription lang="en"> + Ganeti is a cluster virtual server management software tool built on top of + existing virtualization technologies such as Xen or KVM and other Open + Source software. + + Ganeti requires pre-installed virtualization software on your servers in + order to function. Once installed, the tool will take over the management + part of the virtual instances (Xen DomU), e.g. disk creation management, + operating system installation for these instances (in co-operation with + OS-specific install scripts), and startup, shutdown, failover between + physical systems. It has been designed to facilitate cluster management of + virtual servers and to provide fast and simple recovery after physical + failures using commodity hardware. + </longdescription> + <use> + <flag name='drbd'>Enable DRBD support</flag> + <flag name='filestorage'>Enable File Storage</flag> + <flag name='haskell-daemons'>Build haskell daemons instead of python</flag> + <flag name='htools'>Enable htools support</flag> + <flag name='kvm'>Enable KVM support</flag> + <flag name='lxc'>Enable Linux Countainers support</flag> + <flag name='multiple-users'>Enable support for running VMs as different users.</flag> + <flag name='monitoring'>Enable the ganeti monitoring daemon</flag> + <flag name='rbd'>Enable rados block device support via sys-cluster/ceph</flag> + <flag name='xen'>Enable Xen support</flag> + </use> +</pkgmetadata> + diff --git a/app-emulation/gxemul/Manifest b/app-emulation/gxemul/Manifest new file mode 100644 index 000000000000..ef5f98f1a904 --- /dev/null +++ b/app-emulation/gxemul/Manifest @@ -0,0 +1 @@ +DIST gxemul-0.6.0.tar.gz 3598795 SHA256 d3f85c7964b44b085e088862d88b1f31d907fb99c5321900c0b3a723c82581e8 SHA512 38108c7e4f1332bf80046a63e4a7c5e0fbce7f83a62fdeaa4518ef02947d7de83aac20b0307d286b7eb5d9c721b8400d449d4f244b2bc9358a2502fa21f56b73 WHIRLPOOL 47b2a6fd8c821658fcfbede101fb2fd48e9740d113ef66895ee82238c96645e9c9e5fc25cef2e0235f109f0269f9a3fed0d73c76a6717dc5df26b4fab4cb0b69 diff --git a/app-emulation/gxemul/files/0.6.0-fix-mkstemp-test.patch b/app-emulation/gxemul/files/0.6.0-fix-mkstemp-test.patch new file mode 100644 index 000000000000..88883309b909 --- /dev/null +++ b/app-emulation/gxemul/files/0.6.0-fix-mkstemp-test.patch @@ -0,0 +1,10 @@ +--- configure 2012-11-03 09:08:09.373041529 +0000 ++++ configure.new 2012-11-03 09:08:31.999585979 +0000 +@@ -705,6 +705,7 @@ + # mkstemp missing? + printf "checking for mkstemp... " + printf "#include <unistd.h> ++#include <stdlib.h> + int main(int argc, char *argv[]) { int x; char *y = \"abc\"; + x = mkstemp(y); return 0;}\n" > _tests.cc + $CXX $CXXFLAGS _tests.cc -o _tests 2> /dev/null diff --git a/app-emulation/gxemul/files/0.6.0-fix-mymkstemp.patch b/app-emulation/gxemul/files/0.6.0-fix-mymkstemp.patch new file mode 100644 index 000000000000..80d69f92c827 --- /dev/null +++ b/app-emulation/gxemul/files/0.6.0-fix-mymkstemp.patch @@ -0,0 +1,11 @@ +--- src/old_main/misc.cc 2012-11-03 08:47:34.309732354 +0000 ++++ src/old_main/misc.cc.new 2012-11-03 08:47:02.096573614 +0000 +@@ -122,7 +122,7 @@ + p++; + } + +- h = open(templ, O_RDWR, 0600); ++ h = open(templ, O_CREAT | O_RDWR, 0600); + return h; + } + diff --git a/app-emulation/gxemul/files/0.6.0-gcc46.patch b/app-emulation/gxemul/files/0.6.0-gcc46.patch new file mode 100644 index 000000000000..eb0ce26b6e1c --- /dev/null +++ b/app-emulation/gxemul/files/0.6.0-gcc46.patch @@ -0,0 +1,16 @@ + src/include/refcount_ptr.h | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/src/include/refcount_ptr.h b/src/include/refcount_ptr.h +index 4645769..ebabd58 100644 +--- a/src/include/refcount_ptr.h ++++ b/src/include/refcount_ptr.h +@@ -1,6 +1,8 @@ + #ifndef REFCOUNT_PTR_H + #define REFCOUNT_PTR_H + ++#include <stddef.h> ++ + /* + * Copyright (C) 2007-2010 Anders Gavare. All rights reserved. + * diff --git a/app-emulation/gxemul/gxemul-0.6.0-r1.ebuild b/app-emulation/gxemul/gxemul-0.6.0-r1.ebuild new file mode 100644 index 000000000000..4d8e375f7496 --- /dev/null +++ b/app-emulation/gxemul/gxemul-0.6.0-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils toolchain-funcs + +DESCRIPTION="A Machine Emulator, Mainly emulates MIPS, but supports other CPU types" +HOMEPAGE="http://gxemul.sourceforge.net/" +SRC_URI="mirror://sourceforge/project/gxemul/GXemul/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~mips ~ppc ~sparc ~x86 ~x86-fbsd" +IUSE="debug X" + +RDEPEND="X? ( x11-libs/libX11 )" +DEPEND="${RDEPEND} + X? ( x11-proto/xproto )" + +src_prepare() { + epatch "${FILESDIR}"/${PV}-gcc46.patch + epatch "${FILESDIR}"/${PV}-fix-mymkstemp.patch # Bug 441558 + epatch "${FILESDIR}"/${PV}-fix-mkstemp-test.patch # Bug 441558 + sed -i configure -e 's|-O3||g' || die "sed configure" + tc-export CC CXX +} + +src_configure() { + # no autotools + ./configure \ + --disable-valgrind \ + $(use debug && echo --debug) \ + $(use X || echo --disable-x) || die "configure failed" +} + +src_install() { + dobin gxemul + doman man/gxemul.1 + dodoc HISTORY README + dohtml -r doc/* +} diff --git a/app-emulation/gxemul/metadata.xml b/app-emulation/gxemul/metadata.xml new file mode 100644 index 000000000000..f7b826fbae73 --- /dev/null +++ b/app-emulation/gxemul/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <longdescription>Machine Emulator. Supports emulation across several architectures. Primarily for MIPS support, but other platform support coming soon.</longdescription> + <upstream> + <remote-id type="sourceforge">gxemul</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/hercules/Manifest b/app-emulation/hercules/Manifest new file mode 100644 index 000000000000..778ae40b2163 --- /dev/null +++ b/app-emulation/hercules/Manifest @@ -0,0 +1,4 @@ +DIST hercules-3.06.tar.gz 2658262 SHA256 fa00b17c86a47133108c49973ba343d589f0e8777a115d827ef3da9aafbda22b SHA512 a938c2be64094ca412fb9094942088e344aa67b0af324af674d4fff73c6e936ffc6e384a5edcb48d1c31439c55322bf5e6b2e7ea36e7e7c9e416d8522240b1c5 WHIRLPOOL dbebb54e19ea5016d576153a0818ff5ce8e7114449837f127ad1c0ea82c561306a443dee2bd47d9a8c4afbd6ca257ca350348e773def86eccac76d3c754ea29c +DIST hercules-3.08.tar.gz 2684844 SHA256 85e217773587f2278d4b6cb6bc815e042cfc982d0fc14baa0da4a84dea399e9d SHA512 6fe8da6e0462f4b27f987c86b2de769e6a1a9eb3389bb612b59931590f75e7dd9d4a8456b5f36209aadf433dfe2e48686f2cda8e95b7480b9bdb971247e1eae5 WHIRLPOOL 833b2ba21a17d70cd3ba9a4f88fdaaec288acf471d43fd9c660e55c7c48f7a34b46b1defd7ffb699ed3f34af1fca9484303a09f3a020fa06367cdd291a675f5b +DIST hercules-3.09.tar.gz 2567052 SHA256 98a6029d908943451635ba53acf97ed61fdf6ebafc4402be7137c620851fe4e7 SHA512 0c972f62de6f780608adff3fdb614b0c6fe46349da73ec2225d809786fd5188f9e9fbb0ee5858a75cb156071c0e976d37997547d23c939aa48c3b727c5680c0a WHIRLPOOL f9eee4c11855ac08f20423f4b864b2d41315ce445af4f844b644a0399e83535442cb697571e0956ba53deae3cb755956f3cdf0a323efd07afb4be8bc8dd1c145 +DIST hercules-3.10.tar.gz 2608321 SHA256 26264569b7d78bbc3b6221926051ac3761c4a792dfc84d591d3230de40aa46fa SHA512 de8b3e2e90fdb745dea9c8ce4dbe506de2aba3bf08b3e937605798e6a8020576a949d6ea3496b7c42bd23d617fc96648d2d8ec05a66e8ed174ce46a3bc31c5d1 WHIRLPOOL 5233ededd4ef42e201216a11b2a09ee6c59a678771aaa9bc78ab4b87f459addc5c0b4ffd4bd2ec98d15a461565db6a354cc1ac846f800b98e86e93e51b263b4a diff --git a/app-emulation/hercules/files/hercules-3.06-build.patch b/app-emulation/hercules/files/hercules-3.06-build.patch new file mode 100644 index 000000000000..9424fa5a4cd6 --- /dev/null +++ b/app-emulation/hercules/files/hercules-3.06-build.patch @@ -0,0 +1,18 @@ +--- Makefile.in ++++ Makefile.in +@@ -2010,14 +2010,13 @@ + + tar: dist + +-install-exec-local: ++install-exec-hook: + @SETUID_HERCIFC_TRUE@ chown root $(DESTDIR)$(bindir)/hercifc + @HERCIFC_GROUPSET_TRUE@@SETUID_HERCIFC_TRUE@ chgrp $(HERCIFC_GROUPNAME) $(DESTDIR)$(bindir)/hercifc + @SETUID_HERCIFC_TRUE@ chmod 0750 $(DESTDIR)$(bindir)/hercifc + @SETUID_HERCIFC_TRUE@ chmod +s $(DESTDIR)$(bindir)/hercifc + @SETUID_HERCIFC_TRUE@ rm hercifc + +-install-exec-hook: + rm -f $(DESTDIR)$(libdir)/libherc*.a + rm -f $(DESTDIR)$(modexecdir)/dyn*.a + rm -f $(DESTDIR)$(modexecdir)/hdt*.a diff --git a/app-emulation/hercules/files/hercules-3.06-gcc44.patch b/app-emulation/hercules/files/hercules-3.06-gcc44.patch new file mode 100644 index 000000000000..e38c320dafbe --- /dev/null +++ b/app-emulation/hercules/files/hercules-3.06-gcc44.patch @@ -0,0 +1,12 @@ +diff -ur hercules-3.06.orig/hsccmd.c hercules-3.06/hsccmd.c +--- hercules-3.06.orig/hsccmd.c 2009-01-10 02:18:33.000000000 +0200 ++++ hercules-3.06/hsccmd.c 2009-08-10 14:59:34.000000000 +0300 +@@ -7676,7 +7676,7 @@ + break; + } + } +-#elif // OPTION_CMDTGT ++#else // OPTION_CMDTGT + #ifdef _FEATURE_SYSTEM_CONSOLE + if ('.' == cmd[0] || '!' == cmd[0]) + { diff --git a/app-emulation/hercules/files/hercules-3.09-aliasing.patch b/app-emulation/hercules/files/hercules-3.09-aliasing.patch new file mode 100644 index 000000000000..3d03e9b6dc1b --- /dev/null +++ b/app-emulation/hercules/files/hercules-3.09-aliasing.patch @@ -0,0 +1,41 @@ +From 7d3255a18ad845953cc8083371e8623e771ad4f5 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Tue, 27 Aug 2013 12:25:49 -0400 +Subject: [PATCH] sha: fix strict aliasing warnings + +sha256.c:492:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] +sha256.c:784:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] +sha256.c:785:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + crypto/sha256.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/crypto/sha256.c b/crypto/sha256.c +index 1a6a243..b1e90b4 100644 +--- a/crypto/sha256.c ++++ b/crypto/sha256.c +@@ -489,7 +489,7 @@ SHA256_Final(u_int8_t digest[], SHA256_CTX *context) + *context->buffer = 0x80; + } + /* Set the bit count: */ +- *(u_int64_t *)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount; ++ memcpy (&context->buffer[SHA256_SHORT_BLOCK_LENGTH], &context->bitcount, 8); + + /* Final transform: */ + SHA256_Transform(context, context->buffer); +@@ -781,8 +781,8 @@ SHA512_Last(SHA512_CTX *context) + *context->buffer = 0x80; + } + /* Store the length of input data (in bits): */ +- *(u_int64_t *)&context->buffer[SHA512_SHORT_BLOCK_LENGTH] = context->bitcount[1]; +- *(u_int64_t *)&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8] = context->bitcount[0]; ++ memcpy (&context->buffer[SHA512_SHORT_BLOCK_LENGTH], &context->bitcount[1], 8); ++ memcpy (&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8], &context->bitcount[0], 8); + + /* Final transform: */ + SHA512_Transform(context, context->buffer); +-- +1.8.3.2 + diff --git a/app-emulation/hercules/hercules-3.06.ebuild b/app-emulation/hercules/hercules-3.06.ebuild new file mode 100644 index 000000000000..9aa8b976ebce --- /dev/null +++ b/app-emulation/hercules/hercules-3.06.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils flag-o-matic + +DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator" +HOMEPAGE="http://www.hercules-390.org/" +SRC_URI="http://www.hercules-390.org/${P}.tar.gz" + +LICENSE="QPL-1.0" +SLOT="0" +KEYWORDS="alpha amd64 ppc sparc x86" +IUSE="custom-cflags" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-build.patch + epatch "${FILESDIR}"/${P}-gcc44.patch + sed -i \ + -e 's:@modexecdir@:$(libdir)/$(PACKAGE):' \ + -e '/^AM_CPPFLAGS/s:=:= -DMODULESDIR=\\"$(modexecdir)\\" :' \ + $(find -name Makefile.in) + sed -i '/MODULESDIR/d' config.h.in +} + +src_compile() { + use custom-cflags || strip-flags + econf \ + --enable-cckd-bzip2 \ + --enable-het-bzip2 \ + --enable-setuid-hercifc \ + --enable-custom="Gentoo Linux ${PF}.ebuild" \ + || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die + insinto /usr/share/hercules + doins hercules.cnf + dodoc README.* RELEASE.NOTES CHANGES + dohtml -r html +} diff --git a/app-emulation/hercules/hercules-3.08.ebuild b/app-emulation/hercules/hercules-3.08.ebuild new file mode 100644 index 000000000000..f7aecdcc961a --- /dev/null +++ b/app-emulation/hercules/hercules-3.08.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit flag-o-matic + +DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator" +HOMEPAGE="http://www.hercules-390.eu/" +SRC_URI="http://downloads.hercules-390.eu/${P}.tar.gz" + +LICENSE="QPL-1.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x64-macos ~x86-macos" +IUSE="bzip2 custom-cflags +suid" + +RDEPEND="bzip2? ( app-arch/bzip2 ) + sys-libs/zlib" +DEPEND="${RDEPEND}" + +src_configure() { + use custom-cflags || strip-flags + ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2) \ + econf \ + $(use_enable bzip2 cckd-bzip2) \ + $(use_enable bzip2 het-bzip2) \ + $(use_enable suid setuid-hercifc) \ + --enable-custom="Gentoo ${PF}.ebuild" \ + --disable-optimization +} + +src_install() { + default + insinto /usr/share/hercules + doins hercules.cnf + dodoc README.* RELEASE.NOTES + dohtml -r html +} diff --git a/app-emulation/hercules/hercules-3.09.ebuild b/app-emulation/hercules/hercules-3.09.ebuild new file mode 100644 index 000000000000..18548fed7a74 --- /dev/null +++ b/app-emulation/hercules/hercules-3.09.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit flag-o-matic eutils + +DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator" +HOMEPAGE="http://www.hercules-390.eu/" +SRC_URI="http://downloads.hercules-390.eu/${P}.tar.gz" + +LICENSE="QPL-1.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x64-macos ~x86-macos" +IUSE="bzip2 custom-cflags +suid" + +RDEPEND="bzip2? ( app-arch/bzip2 ) + sys-libs/zlib" +DEPEND="${RDEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${P}-aliasing.patch +} + +src_configure() { + use custom-cflags || strip-flags + ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2) \ + econf \ + $(use_enable bzip2 cckd-bzip2) \ + $(use_enable bzip2 het-bzip2) \ + $(use_enable suid setuid-hercifc) \ + --enable-custom="Gentoo ${PF}.ebuild" \ + --disable-optimization +} + +src_install() { + default + insinto /usr/share/hercules + doins hercules.cnf + dodoc README.* RELEASE.NOTES + dohtml -r html +} diff --git a/app-emulation/hercules/hercules-3.10.ebuild b/app-emulation/hercules/hercules-3.10.ebuild new file mode 100644 index 000000000000..6f16f2aaf1d2 --- /dev/null +++ b/app-emulation/hercules/hercules-3.10.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit flag-o-matic eutils + +DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator" +HOMEPAGE="http://www.hercules-390.eu/" +SRC_URI="http://downloads.hercules-390.eu/${P}.tar.gz" + +LICENSE="QPL-1.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x64-macos ~x86-macos" +IUSE="bzip2 custom-cflags +suid" + +RDEPEND="bzip2? ( app-arch/bzip2 ) + sys-libs/zlib" +DEPEND="${RDEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-3.09-aliasing.patch +} + +src_configure() { + use custom-cflags || strip-flags + ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2) \ + econf \ + $(use_enable bzip2 cckd-bzip2) \ + $(use_enable bzip2 het-bzip2) \ + $(use_enable suid setuid-hercifc) \ + --enable-custom="Gentoo ${PF}.ebuild" \ + --disable-optimization +} + +src_install() { + default + insinto /usr/share/hercules + doins hercules.cnf + dodoc README.* RELEASE.NOTES + dohtml -r html +} diff --git a/app-emulation/hercules/metadata.xml b/app-emulation/hercules/metadata.xml new file mode 100644 index 000000000000..feb9acec70a3 --- /dev/null +++ b/app-emulation/hercules/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>s390</herd> +<longdescription> + Hercules is an emulator for the IBM System/360, System/370, ESA/390, and + z/Architecture series of mainframe computer systems. It will run any + software that will run on those computers, provided the peripheral devices + the program requires are present in the configuration. +</longdescription> +</pkgmetadata> diff --git a/app-emulation/kvm-kmod/Manifest b/app-emulation/kvm-kmod/Manifest new file mode 100644 index 000000000000..7446d06ed89d --- /dev/null +++ b/app-emulation/kvm-kmod/Manifest @@ -0,0 +1,5 @@ +DIST kvm-kmod-3.10.1.tar.bz2 302264 SHA256 2b9ae4e36690804fabb1eac4028495f99939f6abe5518c3f98c3d7c8dd488898 SHA512 d86edc933bbb41d7139c56143084c37c8fb6973993756ed8177afbb2e0f4f620dba749f2ebd1e2e90eb70a1a5ea40712c3b5fc3c1aee3d3f131ec39a1b2d80bf WHIRLPOOL 0946ed02b7c0287c02e9d4b75875ef7a4bd46281a6b107cc7115e787d760803724286f4a517f47a286e7c880e895e88cdc69775399d03a8b196815bc62bd7dee +DIST kvm-kmod-3.3.6.tar.bz2 275650 SHA256 b6edcf64c468e4a880d7b633c716805462c07546d93799791c9d3eb6166e593f SHA512 6258d532576c2b10dc3410bb9d7af390268d6dd56195e4b66057a7c991a32fec782289d9cdc4894c8dccb88d87ecb574645529430dd0ac85f8344b304286d046 WHIRLPOOL e422e2c065feaf611c2e1a5e2d308f5f4198fa19d96156371ef7fcc17bd898599b34cba0b6106f1a15bf20f9fa5eaf6ae0dabdcd7bbfa228238ce057848e120b +DIST kvm-kmod-3.4.tar.bz2 280821 SHA256 94a7ce2d0f06c7b9f913be3432e768a2340e50235845fc4e9027abed8aee3291 SHA512 868a554c9ba3a1418f0aa9bdd894ab114e3d59acfa27b3759e362f4631d972f7f48d70563e5ba3e973595195c27fda0c1138c030fd27abdbb8da71103b65cfaa WHIRLPOOL ce99ca65748b12e82a18f67f724eb27cc31310019f8fda15293d6eab9d18dd1a20b9b311fc77162a73f90591d7d772373645dbf02a707c8ca218b2c6840b8bed +DIST kvm-kmod-3.6.tar.bz2 278798 SHA256 74f6bb8de670d5eac58612142c1d504cf0e98325343e8443f9752197e43e1595 SHA512 27042527343926f5c6be41789305b6d8ca888e18e92e95a7bbcc18712865d97ff0b392d46356c57280134f3b2892ed5725975b72715aae22c4e1b02f4378e4f4 WHIRLPOOL 765549376aa3f7c2db11a79c8e5e055e330d211e36bfa03cda41a85e846a89f49d2dd17da219b1c742d1f2bbb89148a0ef2d019940756db7680acdef52c19bf8 +DIST kvm-kmod-3.8.tar.bz2 289028 SHA256 55da50de9c801c9136c312887d5ffd462e80f55f363e88f0928eeb1450b814a1 SHA512 05d04509fc86a0eec0ae408404b15f5ce2eb640c12aacd09b9bb54ffe10b9bb88dff53329ddb7e960a5388cf2e20a07341e1d829e173603b52cbb58d792c87c4 WHIRLPOOL f63628cfff99ca0f9e10cb2afef6cb03b31adbfa0b2c3e056717c2df4da119e760b90a81a0cf1456ddfd7aa79ddb19452102c7600df4767275c49156ea140de9 diff --git a/app-emulation/kvm-kmod/kvm-kmod-3.10.1.ebuild b/app-emulation/kvm-kmod/kvm-kmod-3.10.1.ebuild new file mode 100644 index 000000000000..bdbff2e4803a --- /dev/null +++ b/app-emulation/kvm-kmod/kvm-kmod-3.10.1.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils linux-mod + +SRC_URI="mirror://sourceforge/kvm/${P}.tar.bz2" + +DESCRIPTION="Kernel-based Virtual Machine kernel modules" +HOMEPAGE="http://www.linux-kvm.org" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" +RESTRICT="test" + +RDEPEND="" +DEPEND="${RDEPEND}" + +pkg_setup() { + linux-mod_pkg_setup + + linux_config_exists || die "Your kernel sources are unconfigured" + + if ! linux_chkconfig_present KVM; then + eerror "KVM now needs CONFIG_KVM built into your kernel, even" + eerror "if you're using the external modules from this package." + eerror "Please enable KVM support in your kernel, found at:" + eerror + eerror " Virtualization" + eerror " Kernel-based Virtual Machine (KVM) support" + eerror + die "KVM support not detected!" + fi + BUILD_TARGETS="all" + MODULE_NAMES="kvm(kernel/arch/x86/kvm/:${S}:${S}/x86)" + MODULE_NAMES="${MODULE_NAMES} kvm-intel(kernel/arch/x86/kvm/:${S}:${S}/x86)" + MODULE_NAMES="${MODULE_NAMES} kvm-amd(kernel/arch/x86/kvm/:${S}:${S}/x86)" +} + +src_configure() { + local conf_opts + + conf_opts="--kerneldir=$KV_DIR" + + if has_multilib_profile && [[ "${DEFAULT_ABI}" == "x86" ]] ; then + conf_opts="$conf_opts --arch=x86" + fi + + ./configure ${conf_opts} || die "configure failed" +} + +src_compile() { + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install +} + +pkg_preinst() { + find /lib/modules/${KV_FULL} -name 'kvm*.ko' -type f -delete + + linux-mod_pkg_preinst +} diff --git a/app-emulation/kvm-kmod/kvm-kmod-3.3.6.ebuild b/app-emulation/kvm-kmod/kvm-kmod-3.3.6.ebuild new file mode 100644 index 000000000000..017d291c81ea --- /dev/null +++ b/app-emulation/kvm-kmod/kvm-kmod-3.3.6.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils linux-mod + +SRC_URI="mirror://sourceforge/kvm/${P}.tar.bz2" + +DESCRIPTION="Kernel-based Virtual Machine kernel modules" +HOMEPAGE="http://www.linux-kvm.org" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" +RESTRICT="test" + +RDEPEND="" +DEPEND="${RDEPEND}" + +pkg_setup() { + linux-mod_pkg_setup + + linux_config_exists || die "Your kernel sources are unconfigured" + + if ! linux_chkconfig_present KVM; then + eerror "KVM now needs CONFIG_KVM built into your kernel, even" + eerror "if you're using the external modules from this package." + eerror "Please enable KVM support in your kernel, found at:" + eerror + eerror " Virtualization" + eerror " Kernel-based Virtual Machine (KVM) support" + eerror + die "KVM support not detected!" + fi + BUILD_TARGETS="all" + MODULE_NAMES="kvm(kernel/arch/x86/kvm/:${S}:${S}/x86)" + MODULE_NAMES="${MODULE_NAMES} kvm-intel(kernel/arch/x86/kvm/:${S}:${S}/x86)" + MODULE_NAMES="${MODULE_NAMES} kvm-amd(kernel/arch/x86/kvm/:${S}:${S}/x86)" +} + +src_configure() { + local conf_opts + + conf_opts="--kerneldir=$KV_DIR" + + if has_multilib_profile && [[ "${DEFAULT_ABI}" == "x86" ]] ; then + conf_opts="$conf_opts --arch=x86" + fi + + ./configure ${conf_opts} || die "configure failed" +} + +src_compile() { + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install +} + +pkg_preinst() { + find /lib/modules/${KV_FULL} -name 'kvm*.ko' -type f -delete + + linux-mod_pkg_preinst +} diff --git a/app-emulation/kvm-kmod/kvm-kmod-3.4.ebuild b/app-emulation/kvm-kmod/kvm-kmod-3.4.ebuild new file mode 100644 index 000000000000..017d291c81ea --- /dev/null +++ b/app-emulation/kvm-kmod/kvm-kmod-3.4.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils linux-mod + +SRC_URI="mirror://sourceforge/kvm/${P}.tar.bz2" + +DESCRIPTION="Kernel-based Virtual Machine kernel modules" +HOMEPAGE="http://www.linux-kvm.org" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" +RESTRICT="test" + +RDEPEND="" +DEPEND="${RDEPEND}" + +pkg_setup() { + linux-mod_pkg_setup + + linux_config_exists || die "Your kernel sources are unconfigured" + + if ! linux_chkconfig_present KVM; then + eerror "KVM now needs CONFIG_KVM built into your kernel, even" + eerror "if you're using the external modules from this package." + eerror "Please enable KVM support in your kernel, found at:" + eerror + eerror " Virtualization" + eerror " Kernel-based Virtual Machine (KVM) support" + eerror + die "KVM support not detected!" + fi + BUILD_TARGETS="all" + MODULE_NAMES="kvm(kernel/arch/x86/kvm/:${S}:${S}/x86)" + MODULE_NAMES="${MODULE_NAMES} kvm-intel(kernel/arch/x86/kvm/:${S}:${S}/x86)" + MODULE_NAMES="${MODULE_NAMES} kvm-amd(kernel/arch/x86/kvm/:${S}:${S}/x86)" +} + +src_configure() { + local conf_opts + + conf_opts="--kerneldir=$KV_DIR" + + if has_multilib_profile && [[ "${DEFAULT_ABI}" == "x86" ]] ; then + conf_opts="$conf_opts --arch=x86" + fi + + ./configure ${conf_opts} || die "configure failed" +} + +src_compile() { + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install +} + +pkg_preinst() { + find /lib/modules/${KV_FULL} -name 'kvm*.ko' -type f -delete + + linux-mod_pkg_preinst +} diff --git a/app-emulation/kvm-kmod/kvm-kmod-3.6.ebuild b/app-emulation/kvm-kmod/kvm-kmod-3.6.ebuild new file mode 100644 index 000000000000..bdbff2e4803a --- /dev/null +++ b/app-emulation/kvm-kmod/kvm-kmod-3.6.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils linux-mod + +SRC_URI="mirror://sourceforge/kvm/${P}.tar.bz2" + +DESCRIPTION="Kernel-based Virtual Machine kernel modules" +HOMEPAGE="http://www.linux-kvm.org" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" +RESTRICT="test" + +RDEPEND="" +DEPEND="${RDEPEND}" + +pkg_setup() { + linux-mod_pkg_setup + + linux_config_exists || die "Your kernel sources are unconfigured" + + if ! linux_chkconfig_present KVM; then + eerror "KVM now needs CONFIG_KVM built into your kernel, even" + eerror "if you're using the external modules from this package." + eerror "Please enable KVM support in your kernel, found at:" + eerror + eerror " Virtualization" + eerror " Kernel-based Virtual Machine (KVM) support" + eerror + die "KVM support not detected!" + fi + BUILD_TARGETS="all" + MODULE_NAMES="kvm(kernel/arch/x86/kvm/:${S}:${S}/x86)" + MODULE_NAMES="${MODULE_NAMES} kvm-intel(kernel/arch/x86/kvm/:${S}:${S}/x86)" + MODULE_NAMES="${MODULE_NAMES} kvm-amd(kernel/arch/x86/kvm/:${S}:${S}/x86)" +} + +src_configure() { + local conf_opts + + conf_opts="--kerneldir=$KV_DIR" + + if has_multilib_profile && [[ "${DEFAULT_ABI}" == "x86" ]] ; then + conf_opts="$conf_opts --arch=x86" + fi + + ./configure ${conf_opts} || die "configure failed" +} + +src_compile() { + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install +} + +pkg_preinst() { + find /lib/modules/${KV_FULL} -name 'kvm*.ko' -type f -delete + + linux-mod_pkg_preinst +} diff --git a/app-emulation/kvm-kmod/kvm-kmod-3.8.ebuild b/app-emulation/kvm-kmod/kvm-kmod-3.8.ebuild new file mode 100644 index 000000000000..bdbff2e4803a --- /dev/null +++ b/app-emulation/kvm-kmod/kvm-kmod-3.8.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils linux-mod + +SRC_URI="mirror://sourceforge/kvm/${P}.tar.bz2" + +DESCRIPTION="Kernel-based Virtual Machine kernel modules" +HOMEPAGE="http://www.linux-kvm.org" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" +RESTRICT="test" + +RDEPEND="" +DEPEND="${RDEPEND}" + +pkg_setup() { + linux-mod_pkg_setup + + linux_config_exists || die "Your kernel sources are unconfigured" + + if ! linux_chkconfig_present KVM; then + eerror "KVM now needs CONFIG_KVM built into your kernel, even" + eerror "if you're using the external modules from this package." + eerror "Please enable KVM support in your kernel, found at:" + eerror + eerror " Virtualization" + eerror " Kernel-based Virtual Machine (KVM) support" + eerror + die "KVM support not detected!" + fi + BUILD_TARGETS="all" + MODULE_NAMES="kvm(kernel/arch/x86/kvm/:${S}:${S}/x86)" + MODULE_NAMES="${MODULE_NAMES} kvm-intel(kernel/arch/x86/kvm/:${S}:${S}/x86)" + MODULE_NAMES="${MODULE_NAMES} kvm-amd(kernel/arch/x86/kvm/:${S}:${S}/x86)" +} + +src_configure() { + local conf_opts + + conf_opts="--kerneldir=$KV_DIR" + + if has_multilib_profile && [[ "${DEFAULT_ABI}" == "x86" ]] ; then + conf_opts="$conf_opts --arch=x86" + fi + + ./configure ${conf_opts} || die "configure failed" +} + +src_compile() { + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install +} + +pkg_preinst() { + find /lib/modules/${KV_FULL} -name 'kvm*.ko' -type f -delete + + linux-mod_pkg_preinst +} diff --git a/app-emulation/kvm-kmod/metadata.xml b/app-emulation/kvm-kmod/metadata.xml new file mode 100644 index 000000000000..f2d0026b3d6b --- /dev/null +++ b/app-emulation/kvm-kmod/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>qemu</herd> + <maintainer> + <email>cardoe@gentoo.org</email> + <name>Doug Goldstein</name> + </maintainer> + <longdescription lang="en"> + KVM (for Kernel-based Virtual Machine) is a full virtualization solution + for Linux on x86 hardware containing virtualization extensions (Intel VT + or AMD-V). This package contains kernel modules for kvm. + </longdescription> + <upstream> + <remote-id type="sourceforge">kvm</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/libcacard/Manifest b/app-emulation/libcacard/Manifest new file mode 100644 index 000000000000..3385cd7ae564 --- /dev/null +++ b/app-emulation/libcacard/Manifest @@ -0,0 +1 @@ +DIST libcacard-0.1.2.tar.bz2 276430 SHA256 ca100118865ee24f16cf39367f74434cddbbb003a12a1adc8645f3dc34791daf SHA512 a3622b29fe3a059e069ad6f7da428278a915cec362a6aae3c7cad0d47dfadba67308631435993c0f41cabe92a05874b339518dc503b71b8d86db4976bb6987f6 WHIRLPOOL 9e1a156fbbff34148a1debc1f4a6d23aea687213a45cac7feb57134dcbd59fa95a22558e15e5c237ae6c3a7851282c72b49ee6e94c9fff8940feee13d42f08ad diff --git a/app-emulation/libcacard/libcacard-0.1.2.ebuild b/app-emulation/libcacard/libcacard-0.1.2.ebuild new file mode 100644 index 000000000000..78a3c4b1a49b --- /dev/null +++ b/app-emulation/libcacard/libcacard-0.1.2.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +DESCRIPTION="Library for emulating CAC cards" +HOMEPAGE="http://spice-space.org/" +SRC_URI="http://spice-space.org/download/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86" +IUSE="static-libs" + +RDEPEND=">=dev-libs/nss-3.13 + >=sys-apps/pcsc-lite-1.8" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +src_configure() { + # --enable-passthru works only on W$ + econf \ + $(use_enable static-libs static) +} + +src_install() { + default + use static-libs || rm "${D}"/usr/lib*/*.la +} diff --git a/app-emulation/libcacard/metadata.xml b/app-emulation/libcacard/metadata.xml new file mode 100644 index 000000000000..6804d7590f41 --- /dev/null +++ b/app-emulation/libcacard/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>virtualization</herd> + <maintainer> + <email>dev-zero@gentoo.org</email> + <name>Tiziano Müller</name> + </maintainer> +</pkgmetadata> diff --git a/app-emulation/libguestfs-appliance/Manifest b/app-emulation/libguestfs-appliance/Manifest new file mode 100644 index 000000000000..47caa127259f --- /dev/null +++ b/app-emulation/libguestfs-appliance/Manifest @@ -0,0 +1,2 @@ +DIST appliance-1.26.0.tar.xz 94753208 SHA256 446e8f0cfb24977843049984879d471760a1f56dd9f891f2a66c16827c7dfbcf SHA512 5d493ed6e8601dde8d5a45debfee71696b96a36d0f69d42838 |