diff --git a/Manifest.files.gz b/Manifest.files.gz index 9ec2e094aa86..ee21dd4d286f 100644 Binary files a/Manifest.files.gz and b/Manifest.files.gz differ diff --git a/app-admin/Manifest.gz b/app-admin/Manifest.gz index 7e26388b960f..07be87d883b2 100644 Binary files a/app-admin/Manifest.gz and b/app-admin/Manifest.gz differ diff --git a/app-admin/packagekit-base/packagekit-base-1.1.7-r1.ebuild b/app-admin/packagekit-base/packagekit-base-1.1.7-r2.ebuild similarity index 98% rename from app-admin/packagekit-base/packagekit-base-1.1.7-r1.ebuild rename to app-admin/packagekit-base/packagekit-base-1.1.7-r2.ebuild index 4281826ad53c..cf2c12a7ae0e 100644 --- a/app-admin/packagekit-base/packagekit-base-1.1.7-r1.ebuild +++ b/app-admin/packagekit-base/packagekit-base-1.1.7-r2.ebuild @@ -33,7 +33,7 @@ COMMON_DEPEND=" >=app-shells/bash-completion-2 dev-db/sqlite:3 >=dev-libs/dbus-glib-0.74 - >=dev-libs/glib-2.46.0:2[${PYTHON_USEDEP}] + >=dev-libs/glib-2.46.0:2 >=sys-auth/polkit-0.98 >=sys-apps/dbus-1.3.0 ${PYTHON_DEPS} diff --git a/app-admin/passwordsafe/Manifest b/app-admin/passwordsafe/Manifest index 3936e9d4112f..035ef0ae55cf 100644 --- a/app-admin/passwordsafe/Manifest +++ b/app-admin/passwordsafe/Manifest @@ -1,2 +1 @@ -DIST passwordsafe-1.02.1_beta.tar.gz 14068085 BLAKE2B 7a1bff0f2db798e08377436020473a8c6c46f9e64fa85629b6545f70954a3ad05735ee101bea021308589d523724f70fce24447837ee25cf1b897a7703873757 SHA512 c83a0c757f9f74906ffaebf650fd3f422a29f838c7f5430b3d3e32852b35dd92dc413a1c920320af9812d7960f0648e8df8a9d145828f8669e824e9972038067 -DIST passwordsafe-1.04_beta.tar.gz 14329263 BLAKE2B 17f4b0cd0b34f8907530a7da43dfbceab56c9aefd65f2d0ba0356b5a1820e8b4273c68655229a07947693fd6d320bc654065f790c86daff31679b565a57145fe SHA512 5f2d0634be3d3932991f77e96b7b40fee3984407ec8620d82caea089bba49df69444cdf8d2cf431aace43636c5034892a672c338ee98df06473d2569953bdab3 +DIST passwordsafe-1.06_beta.tar.gz 14295034 BLAKE2B 83f480eee16938e396fa01797f67f5bc61984414b7f38b91404caea3dd6b3d31ba0e2ce4d198da048dff9cf1b5c8ba04e8bb9c93351fc21552bbc05a3b9ba486 SHA512 2a5be46e0e90f98c519bf9137f32298672359d1bfeb081a71d67251b35da6c1157e18c35a2c84321ed3fa077cb15ebf9cee763ba13b201ce02965d6642bb246c diff --git a/app-admin/passwordsafe/passwordsafe-1.02.1_beta.ebuild b/app-admin/passwordsafe/passwordsafe-1.02.1_beta.ebuild deleted file mode 100644 index a31827651c2f..000000000000 --- a/app-admin/passwordsafe/passwordsafe-1.02.1_beta.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -WX_GTK_VER="3.0" - -inherit eutils flag-o-matic wxwidgets cmake-utils - -MY_PV="${PV/_beta/BETA}" -DESCRIPTION="Password manager with wxGTK based frontend" -HOMEPAGE="https://pwsafe.org/ https://github.com/pwsafe/pwsafe/" -SRC_URI="https://github.com/pwsafe/pwsafe/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Artistic-2" -SLOT="0" -KEYWORDS="~amd64" -IUSE="minimal test yubikey +xml" - -RDEPEND="xml? ( dev-libs/xerces-c ) - sys-apps/util-linux - x11-libs/libXt - x11-libs/libXtst - x11-libs/wxGTK:${WX_GTK_VER}[X] - !minimal? ( !!app-misc/pwsafe ) - yubikey? ( sys-auth/ykpers )" -DEPEND="${RDEPEND} - app-arch/zip - sys-devel/gettext - test? ( dev-cpp/gtest )" - -S=${WORKDIR}/pwsafe-${MY_PV} - -pkg_pretend() { - einfo "Checking for -std=c++11 support in compiler" - test-flags-CXX -std=c++11 > /dev/null || die -} - -src_prepare() { - cmake-utils_src_prepare - - # binary name pwsafe is in use by app-misc/pwsafe, we use passwordsafe - # instead. Perform required changes in linking files - sed -i install/desktop/pwsafe.desktop -e "s/pwsafe/${PN}/g" || die - sed -i docs/pwsafe.1 \ - -e 's/PWSAFE/PASSWORDSAFE/' \ - -e "s/^.B pwsafe/.B ${PN}/" || die - use test || sed -i -e '/find_package(GTest REQUIRED)/s/^/#/' \ - -e '/add_subdirectory (src\/test)/s/^/#/' CMakeLists.txt || die -} - -src_configure() { - need-wxwidgets unicode - - local mycmakeargs=( $(usex yubikey '' '-DNO_YUBI=ON') - $(usex xml '' '-DNO_XML=ON') ) - - cmake-utils_src_configure -} - -src_install() { - pushd "${BUILD_DIR}" || die - if use minimal; then - newbin pwsafe ${PN} - else - dobin pwsafe - dosym pwsafe /usr/bin/${PN} - fi - insinto /usr/share/locale - doins -r src/ui/wxWidgets/I18N/mos/* - - # The upstream Makefile builds this .zip file from html source material for - # use by the package's internal help system. Must prevent - # Portage from applying additional compression. - docompress -x /usr/share/doc/${PN}/help - insinto /usr/share/doc/${PN}/help - doins help/*.zip - - popd || die - - newman docs/pwsafe.1 ${PN}.1 - - dodoc README.txt docs/{ReleaseNotes.txt,ChangeLog.txt} - - insinto /usr/share/pwsafe/xml - doins xml/* - - newicon install/graphics/pwsafe.png ${PN}.png - newmenu install/desktop/pwsafe.desktop ${PN}.desktop -} diff --git a/app-admin/passwordsafe/passwordsafe-1.04_beta.ebuild b/app-admin/passwordsafe/passwordsafe-1.06_beta.ebuild similarity index 100% rename from app-admin/passwordsafe/passwordsafe-1.04_beta.ebuild rename to app-admin/passwordsafe/passwordsafe-1.06_beta.ebuild diff --git a/app-benchmarks/Manifest.gz b/app-benchmarks/Manifest.gz index 09a6989b9f1f..78f09af2f689 100644 Binary files a/app-benchmarks/Manifest.gz and b/app-benchmarks/Manifest.gz differ diff --git a/app-benchmarks/stress-ng/Manifest b/app-benchmarks/stress-ng/Manifest index e610abc0a057..2b036925d04d 100644 --- a/app-benchmarks/stress-ng/Manifest +++ b/app-benchmarks/stress-ng/Manifest @@ -1 +1 @@ -DIST stress-ng-0.09.36.tar.xz 354012 BLAKE2B 30ee324b122b3760bf197dc8f5f20541f24eb4af48b7dcb9c64332cb5535a8cec8881e42eed4ba45aa84a580f611890de084127a137b3d0ed03d6c011f7b3d27 SHA512 5c50bb4d15179210e385f5e3e37d8bba0ce93a8ff56bd0f4eaded77785636038886752bb154ac2b41b922646223c94f0e08cdf0c075c56402960a7e4619bd323 +DIST stress-ng-0.09.37.tar.xz 354748 BLAKE2B 8910e169c8b14f047691bc931d016a39b90ace613ab10cc7337a90d48ae4ce78b8bcc76d0f5257a627e258de12836293f4bcf73117ccc1ecaab7fe7325f3f0ab SHA512 87014399e4e166bbacd01d65e6660db80ad6653bd6e69088321b6190e3dca1d9997d9f0567433791380c5af97a58b7414fea2d9190c09954a5861e6da303f25f diff --git a/app-benchmarks/stress-ng/stress-ng-0.09.36.ebuild b/app-benchmarks/stress-ng/stress-ng-0.09.37.ebuild similarity index 100% rename from app-benchmarks/stress-ng/stress-ng-0.09.36.ebuild rename to app-benchmarks/stress-ng/stress-ng-0.09.37.ebuild diff --git a/app-dicts/Manifest.gz b/app-dicts/Manifest.gz index 085d5392ac08..99b2e586e83c 100644 Binary files a/app-dicts/Manifest.gz and b/app-dicts/Manifest.gz differ diff --git a/app-dicts/myspell-mi/myspell-mi-20060316-r1.ebuild b/app-dicts/myspell-mi/myspell-mi-20060316-r1.ebuild index 02baf909131e..9835ccbab99a 100644 --- a/app-dicts/myspell-mi/myspell-mi-20060316-r1.ebuild +++ b/app-dicts/myspell-mi/myspell-mi-20060316-r1.ebuild @@ -22,5 +22,5 @@ HOMEPAGE="http://lingucomponent.openoffice.org/" SRC_URI="https://dev.gentoo.org/~jstein/dist/myspell-mi_NZ-${PV}.zip" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd" IUSE="" diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 2a13210a02a9..05593a80131e 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/libvirt/files/libvirt-guests.init-r3 b/app-emulation/libvirt/files/libvirt-guests.init-r3 new file mode 100644 index 000000000000..10797e1b8075 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-guests.init-r3 @@ -0,0 +1,236 @@ +#!/sbin/openrc-run + +description="Virtual Machine Management (libvirt) Guests" + +depend() { + use libvirtd +} + +# set the default to QEMU +[ -z "${LIBVIRT_URIS}" ] && LIBVIRT_URIS="qemu:///system" + +# default to suspending the VM via managedsave +case "${LIBVIRT_SHUTDOWN}" in + managedsave|shutdown|destroy) ;; + *) LIBVIRT_SHUTDOWN="managedsave" ;; +esac + +# default to 500 seconds +[ -z ${LIBVIRT_MAXWAIT} ] && LIBVIRT_MAXWAIT=500 + +gueststatefile="/var/lib/libvirt/libvirt-guests.state" +netstatefile="/var/lib/libvirt/libvirt-net.state" + +do_virsh() { + local hvuri=$1 + shift + + # if unset, default to qemu + [ -z ${hvuri} ] && hvuri="qemu:///system" + # if only qemu was supplied then correct the value + [ "xqemu" = x${hvuri} ] && hvuri="qemu:///system" + + # Silence errors because virsh always throws an error about + # not finding the hypervisor version when connecting to libvirtd + # lastly strip the blank line at the end + LC_ALL=C virsh -c ${hvuri} "$@" 2>/dev/null | head -n -1 +} + +libvirtd_dom_list() { + # Only work with domains by their UUIDs + local hvuri=$1 + shift + + # The grep is to remove dom0 for xen domains. Otherwise we never hit 0 + do_virsh "${hvuri}" list --uuid $@ | grep -v 00000000-0000-0000-0000-000000000000 +} + +libvirtd_dom_count() { + local hvuri=$1 + shift + + libvirtd_dom_list "${hvuri}" $@ | wc -l +} + +libvirtd_net_list() { + # Only work with networks by their UUIDs + local hvuri=$1 + shift + + do_virsh "${hvuri}" net-list --uuid $@ +} + +libvirtd_net_count() { + local hvuri=$1 + shift + + libvirtd_net_list "${hvuri}" $@ | wc -l +} + +libvirtd_dom_stop() { + # stops all persistent or transient domains for a given URI + # $1 - uri + # $2 - persisent/transient + + local uri=$1 + local persist=$2 + local shutdown_type=${LIBVIRT_SHUTDOWN} + local counter=${LIBVIRT_MAXWAIT} + local dom_name= + local dom_as= + local dom_ids= + local uuid= + local dom_count= + + [ "${persist}" = "--transient" ] && shutdown_type="shutdown" + [ -n "${counter}" ] || counter=500 + + einfo " Shutting down domain(s) ..." + + # grab all persistent or transient domains running + dom_ids=$(libvirtd_dom_list ${uri} ${persist}) + + for uuid in ${dom_ids}; do + # Get the name + dom_name=$(do_virsh ${uri} domname ${uuid}) + einfo " ${dom_name}" + # Get autostart state + dom_as=$(do_virsh ${uri} dominfo ${uuid} | \ + awk '$1 == "Autostart:" { print $2 }') + + if [ "${persist}" = "--persistent" ]; then + # Save our running state only if LIBVIRT_IGNORE_AUTOSTART != yes + if [ "x${LIBVIRT_IGNORE_AUTOSTART}" = "xyes" ] && \ + [ ${dom_as} = "enabled" ]; then + : + else + echo "${uri} ${uuid}" >> ${gueststatefile} + fi + + fi + + # Now let's stop it + do_virsh "${uri}" ${shutdown_type} ${uuid} > /dev/null + + done + + dom_count="$(libvirtd_dom_count ${uri} ${persist})" + while [ ${dom_count} -gt 0 ] && [ ${counter} -gt 0 ] ; do + dom_count="$(libvirtd_dom_count ${uri} ${persist})" + sleep 1 + if [ "${shutdown_type}" = "shutdown" ]; then + counter=$((${counter} - 1)) + fi + printf "." + done + + if [ "${shutdown_type}" = "shutdown" ]; then + # grab all domains still running + dom_ids=$(libvirtd_dom_list ${uri} ${persist}) + for uuid in ${dom_ids}; do + dom_name=$(do_virsh ${uri} domname ${uuid}) + eerror " ${dom_name} forcibly stopped" + do_virsh "${uri}" destroy ${uuid} > /dev/null + done + fi +} + +libvirtd_net_stop() { + # stops all persistent or transient domains for a given URI + # $1 - uri + # $2 - persisent/transient + + local uri=$1 + local persist=$2 + local uuid= + local net_name= + + if [ "${LIBVIRT_NET_SHUTDOWN}" != "no" ]; then + + einfo " Shutting down network(s):" + for uuid in $(libvirtd_net_list ${uri} ${persist}); do + net_name=$(do_virsh ${uri} net-name ${uuid}) + einfo " ${net_name}" + + if [ "${persist}" = "--persistent" ]; then + # Save our running state + echo "${uri} ${uuid}" >> ${netstatefile} + + fi + + # Actually stop the network + do_virsh qemu net-destroy ${uuid} > /dev/null + done + + fi +} + +start() { + local uri= + local uuid= + local name= + + for uri in ${LIBVIRT_URIS}; do + do_virsh "${uri}" connect + if [ $? -ne 0 ]; then + eerror "Failed to connect to '${uri}'. Domains may not start." + fi + done + + [ ! -e "${netstatefile}" ] && touch "${netstatefile}" + [ ! -e "${gueststatefile}" ] && touch "${gueststatefile}" + + # if the user didn't want to start any guests up then respect their wish + [ "x${LIBVIRT_START}" = "xno" ] && return 0 + + # start networks + ebegin "Starting libvirt networks" + while read -r uri uuid + do + # ignore trash + [ -z "${uri}" ] || [ -z "${uuid}" ] && continue + + name=$(do_virsh "${uri}" net-name ${uuid}) + einfo " ${name}" + do_virsh "${uri}" net-start ${uuid} > /dev/null + done <"${netstatefile}" + eend 0 + + # start domains + ebegin "Starting libvirt domains" + while read -r uri uuid + do + # ignore trash + [ -z "${uri}" ] || [ -z "${uuid}" ] && continue + + name=$(do_virsh "${uri}" domname ${uuid}) + einfo " ${name}" + do_virsh "${uri}" start ${uuid} > /dev/null + done <"${gueststatefile}" + eend 0 +} + +stop() { + local counter= + local dom_name= + local net_name= + local dom_ids= + local uuid= + local dom_count= + + rm -f "${gueststatefile}" + [ $? -ne 0 ] && eerror "Unable to save domain state" + rm -f "${netstatefile}" + [ $? -ne 0 ] && eerror "Unable to save net state" + + for uri in ${LIBVIRT_URIS}; do + einfo "Stopping libvirt domains and networks for ${uri}" + + libvirtd_dom_stop "${uri}" "--persistent" + libvirtd_dom_stop "${uri}" "--transient" + libvirtd_net_stop "${uri}" "--persistent" + libvirtd_net_stop "${uri}" "--transient" + + einfo "Done stopping domains and networks for ${uri}" + done +} diff --git a/app-emulation/libvirt/libvirt-4.6.0.ebuild b/app-emulation/libvirt/libvirt-4.6.0-r1.ebuild similarity index 99% rename from app-emulation/libvirt/libvirt-4.6.0.ebuild rename to app-emulation/libvirt/libvirt-4.6.0-r1.ebuild index 59de793cf86c..78736067968d 100644 --- a/app-emulation/libvirt/libvirt-4.6.0.ebuild +++ b/app-emulation/libvirt/libvirt-4.6.0-r1.ebuild @@ -348,7 +348,7 @@ src_install() { systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf newinitd "${S}/libvirtd.init" libvirtd || die - newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die + newinitd "${FILESDIR}/libvirt-guests.init-r3" libvirt-guests || die newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index 72b1fb7e4bbd..e6f5276a786e 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -348,7 +348,7 @@ src_install() { systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf newinitd "${S}/libvirtd.init" libvirtd || die - newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die + newinitd "${FILESDIR}/libvirt-guests.init-r3" libvirt-guests || die newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index a59667370be7..d88e6965e983 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -1,47 +1,2 @@ -DIST github.com-dustinkirkland-golang-petname-d3c2ba80e75eeef10c5cf2fc76d2c809637376b3.tar.gz 15127 BLAKE2B 06338b4364d9554a1334c04bd9ea81df7539641ef5ce41d681670b7b65c06160ef67e4bd3ad2529dc7864537d5be6a91be53c5e96335f5dfcab198a8bcae9a9b SHA512 0f63f01857c30fdb179400b80e4391a12675ed17a981e9f55273fcd44e06df3bbecc127cf80bfd73afe1d4c30cf37638d0b581b2dde787abe2c8835dca8dbc2d -DIST github.com-flosch-pongo2-5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9.tar.gz 59915 BLAKE2B 763403cec3bcb27acd6654e7d2d57d198862b0d16c242ec975b46a7cca95560505b3373e8c4b7a53e7fc025523845bee16b90311f8bd341c0d2bfc28987ae0d4 SHA512 c40fc45b7a781067cc80a616b5a843977ff29071f7b36400631a7445d6fd8530144e73ecc1f406b2315be0725a214c62bfafb44f904b76d83384d8df488380ee -DIST github.com-go-errgo-errgo-442357a80af5c6bf9b6d51ae791a39c3421004f3.tar.gz 7453 BLAKE2B 9f231836718860c023a487d0971e152656e0ff39dcd5efdfda8c62577dbf4ae82335bada308d44a4d0af5ec951e5608f40bb9e0a7567c1edce35664c98596744 SHA512 f54cdf5089b7e46f08f75f7f1b0bfb893b1cd0a36d08b925d5ba04d2fa6021e85fe0625235a9e712b09099e2f5cce46aa1700d12c12b0c54ab59c8d13030e820 -DIST github.com-go-httprequest-httprequest-fdaf1bffa25560ba0920e3e29aae85d3677ab32e.tar.gz 52964 BLAKE2B f0dddcd38b9f8ac75a3e45473e22cfab1db88bef19f90431b16d1a3699ab56ef7f0d038ce837c0305600d69bc5ba64dffd344143cd0bc4a10aa5093ca32b0771 SHA512 60688f2e320afaeaeb824226bd586b9e9d7ccde00d9585401ac328d83195a23dc3e4e26b1848bc9998023b732a559963920860f21056416161c31304388aad4d -DIST github.com-go-macaroon-bakery-macaroon-bakery-ec9d2ad6796100720c154f614b6dea8798ec1181.tar.gz 124110 BLAKE2B c05d59504f7cd2d0cdb913b1d06898375fce112e71a1db0c1752628bc9939003a92ad608463cd0e1fa8d75945b9b5a76c0710ebb3ea126cfd67ea01b46229bff SHA512 2965b6441df2790e0378b962fb66672e2316902620223e4ca3a8ddf1ef38e2a76b9cda2a5013e664ef49073aed8f424e1713538626f6ce1929e81e3bacbef45f -DIST github.com-go-macaroon-macaroon-bed2a428da6e56d950bed5b41fcbae3141e5b0d0.tar.gz 22383 BLAKE2B b2d89ccdf4ad0a8c29f44895697a9921d40b9316879f477f608fc5f59683f825a66357e5587d654a55ea80f0c79d6680f5dbb45590b2fea051fca4a7f23a9eb8 SHA512 7ec072cec42266cf8cdd44819c653b8d09b58622fdfa42fb12422c9727e6eb7326519fbeb247fa4840d8c87a5357ae0acd028a8d5757acedc3582810a5cc467b -DIST github.com-go-mgo-mgo-3f83fa5005286a7fe593b055f0d7771a7dce4655.tar.gz 376880 BLAKE2B 800038e0870d8b943604bc5edf9ba566d20fed75f445834801955a19da6add891f96cbf5e19a93d520d90ccc4e9da911ab02cccb710fee67b3fe60e4409a717f SHA512 f0e7948d4672d29d3d0a741961ff8a75d30c556e157698118a32de10e2af8eb2ae6a61feea1c93aff313596d285a048a70dae7339c66760ebb91a1aecfb05845 -DIST github.com-go-retry-retry-01631078ef2fdce601e38cfe5f527fab24c9a6d2.tar.gz 9318 BLAKE2B d5eb408e4c4acf0c2304d951705a1f39f2b2663357f04402f5ee47bfc79182511e3a29568846bb902887aa5efb149ac6a4cf32ecae07a183f845ad8886fe0377 SHA512 71956a468472754313830a7f1afc844020e5ffc8bac4464e369562bde8c1cf5e11814fc110dcb00d243cbc6c13fe7a0423d29b73f0f420df8313666e645a7a24 -DIST github.com-go-tomb-tomb-d5d1b5820637886def9eef33e03a27a9f166942c.tar.gz 5515 BLAKE2B 9ae2c00b43da5958392e0817f448d01374712ce7552c07be0de8204a7f16a7442b195695d51782a375da7aaa83019446438d52a8768317216a7812380be8c1b1 SHA512 03ac20f7608db7c4ce54cc1ad9dfa62d770c32e1806a131909cb5c1ca4a9708b482e58d0e1bda0dbaff56ed36558a96ce2d4453566813967a32eef5245012a8d -DIST github.com-go-yaml-yaml-287cf08546ab5e7e37d55a84f7ed3fd1db036de5.tar.gz 64826 BLAKE2B 47e9182124037317bdfc31137a2715db979146688e637a586f5a7c4a12250d0fcffdbbaa8793e189421d189b1071f48d8588cfda9ac1f3e297bfc244f30bcae7 SHA512 429256bb847defb53dee5c960edc726455397045e7dc2e4833e0e9088f9ec11452e2198961080dc00b8eff9d165df5e0377f4039932df0e46cd960827b8f800d -DIST github.com-golang-crypto-d585fd2cc9195196078f516b69daff6744ef5e84.tar.gz 1443268 BLAKE2B 19bb8d2861225a14ba3f19b2ae96c6640833fea7da52228480634e715b7690afc94e605a5be1b70b263bb3045a0fbcf9f78211c431836d077cca7d076fec1686 SHA512 e82f87394d2a8d96779cc69c8803555b5d23eb02f3d38101ccb9142a892280c32b8123d61a309a041cf5034282b5269ea38b5d29e03c85ca3c62c4fc0802502e -DIST github.com-golang-net-d866cfc389cec985d6fda2859936a575a55a3ab6.tar.gz 930024 BLAKE2B 9ab7175433046805426177276d963bdc356d488672e97cbd696e7d73f376af50a71ed5e8ba8c57e57ad0c6aa091bc8a54b1e67f09cf0085211363f4c33f077c5 SHA512 c841b5ab218f1ea6c8743264c72506ffa90372a7c8dc0fa1b1c22c965bf56e715ecf688acd22b5ecf747b7ded51f2f48fcdc859e4ce9d30911f48e3a6055d599 -DIST github.com-golang-protobuf-1e59b77b52bf8e4b449a57e6f79f21226d571845.tar.gz 268477 BLAKE2B af1775f715a7c8434fe46872d8edf75241c851fb93e1e3f888c5fa1b603397e68c3878c9c69afe618ff1b7ae3d0c219ec96b8648af2fd2c2c9424a33f1710a2e SHA512 07de72078a66528d864da78c88be36351cf79be5235ec9f4ed1d71061a56b9b216fd29984ccfb2a610223a86b80aba2b9ca28a0d36fc2346b23070e25e72e29b -DIST github.com-golang-sys-571f7bbbe08da2a8955aed9d4db316e78630e9a3.tar.gz 789287 BLAKE2B 65b5dea36632e0521d0bb8fb73ae69b89eb533628081f966da956d5f572d9611e817202675aaeefc69492428401067094e1c07cd038cba91bea7e50649b95fce SHA512 7fa096e1a1282155b614c02d3d190fdd94096d2e51447b4dca59dba255edc9316835036e0cc91aa7439047c17e63faf279018e0f6c9e8d2b0b9a12c7e553a93c -DIST github.com-gorilla-mux-5ab525f4fb1678e197ae59401e9050fa0b6cb5fd.tar.gz 33298 BLAKE2B 06f86b8f5a2794ac62a8088495ea7f62fc2e1afbed94d9c700be7ca00ab13fcce092b83e456a022893c46e7447e36f210189ed136271e34028829cac01058713 SHA512 a0e920b3aef17e2c81861343f41f26fe1f579a6589abac89fe00cdd2167f5f1a6fc0e2a1b2dbd69d0b3ea7e08f3c50297f0b7c952043259a220ec95b2ceb30f5 -DIST github.com-gorilla-websocket-cdedf21e585dae942951e34d6defc3215b4280fa.tar.gz 47287 BLAKE2B bc5baecc1779e821841c2b784aa7f43ee9e7a41ca2079c79538447a7645fbf5e87ae981b744ec973345da351114ea133f219d9ac1af5accfe470e8cdf1fca169 SHA512 88b7c5dacff563d88d3d4e06f57e2552ce10108beb239844323f58ff7829c9b717a8023e45805c5a9f649bfbf513d0384e0fab722968936deddc236048306686 -DIST github.com-gosexy-gettext-74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b.tar.gz 9682 BLAKE2B 2f8f662b5cfcfc00361a1aa1e658bb077da7dc42b220288691c92a9ca6555425a13f15b8fd8575e88ba8081e873687fc87b3a39c33efc80757323f7e70de17b5 SHA512 99a00ecfeb4226bba01dbef615f02b22f54959252c9fb99ed55f8c040026305fa54256f78eceb5c02ac6a77842c72fda43d1790590adfdcf3202095ad836a198 -DIST github.com-juju-environschema-7359fc7857abe2b11b5b3e23811a9c64cb6b01e0.tar.gz 17589 BLAKE2B 9c5bda709623cf05123ec0435af3be8017f2d1b2a296e1be3a1a98eac410bc38ab3c3d98848725707cc407b1c42a48f784bf69433854191a83bbaddac356f0c8 SHA512 ffc9d445c01c3b4d810320b3ff230226f6de1beda50660b3ead7eb2b5a0098661aaa4c929bd36b1acdc442d4504dea6c1b12ad94b5a8d0c1e7f79bdfb2abe4d9 -DIST github.com-juju-errors-c7d06af17c68cd34c835053720b21f6549d9b0ee.tar.gz 16210 BLAKE2B 7202acb00a3126943989fd276b9991122895dcb99a5b6e6a966f58e634b037447bbf49316c6c59e98aa9183b77aa07d9b4c4c7ad758ade2704cc3cdcac84a9c7 SHA512 04dfe2f155724d98c31fa2d274a13e77efc34364ffae172fffbc8e14b72f68a6301e6f582c1ff9f37cb105d11a7b3197e2ffa635f410ffb64d54e7c6fd1b9d1a -DIST github.com-juju-go4-40d72ab9641a2a8c36a9c46a51e28367115c8e59.tar.gz 49363 BLAKE2B c037d267cef945e9760cfb8fcfb366553e850423bf98610db03b51154455dd5c6d2d3de91bf37956249f4ffc1ed5fb850b0438fcdea2891929ab4e7de73be989 SHA512 aca20234f5693a48f5cca41eb59e8e2b1320feec05a7961a950e596d9bcc14ed86786d815e0372cced669548cfa9386e9bcf0eb774a42954fd7a2fd095e9890b -DIST github.com-juju-gomaasapi-663f786f595ba1707f56f62f7f4f2284c47c0f1d.tar.gz 101563 BLAKE2B 5ea442af00c6a30ad54e2f75eb2da41c29fb24364b00ab8bd8995f1b4ca2205b32e1d90fcfe03c7517884b4ef830c471e03a118b89f65c21388332027fd8e0a6 SHA512 edca0adf9f48f1c656236203c8686b67f5926f736725a7d910a47804f5005aa642bf1cc8e5a9079c5c50a3cfe6d0c735a645e52a1aa1da5380735f76be9b1436 -DIST github.com-juju-httprequest-77d36ac4b71a6095506c0617d5881846478558cb.tar.gz 49764 BLAKE2B 98a666f5477f9cd46baa13b19918cd07c5b9f8f94390d87a67230331ffd292de99a430ecb5588de045cc2573c7dbfae0c40fe043778d6917f4dcfbcf25cc8961 SHA512 9ab66aebaa650c7d67accf9261f4eaf2ba28ff37846350719b0d83774502b29fd4b179913669f0b833b99142905b4892b71ea76d368c707567e8b4b01378d27f -DIST github.com-juju-idmclient-15392b0e99abe5983297959c737b8d000e43b34c.tar.gz 28723 BLAKE2B a15138e673a26600fbcd8c36a34bcd3e7e904b3afa306fde7d59eb72fc454be797d27f0c05221d290aebc09c5db5f80b458d9a85cfb68358ad17d834b694abc5 SHA512 65d5e8af7873f856250843fd43b14ba8c8ebc114a8fe9734d4073db5dc046079c7fbed9cc3c78aad4c74f886aeb9009c00a009bc6e683f6b5f8162e25a7af7d3 -DIST github.com-juju-loggo-8232ab8918d91c72af1a9fb94d3edbe31d88b790.tar.gz 22060 BLAKE2B 9e6c4cc2ab50ea43f5471510d67f0f134bc2046c3524d571bf4c884a4c09f5df160f4013cf8e05939cddf039c687b3dce512408f7305f320f4b1d17cf209609a SHA512 74ccd8f6f8600a38154d6a12436566111f4073fbbcfa5f0eb57a1813ddd97398d6e906f0b9be09a4304f677870ee70127f4906e9902dd6d767e3ef467e224883 -DIST github.com-juju-names-54f00845ae470a362430a966fe17f35f8784ac92.tar.gz 26092 BLAKE2B ad9f347ad1e2315f40e39ff0601e425dd4567ae53a71884e851a954d08e67df586469e489645951b6c6058a9c4be053089c3c74d3f63208a70862f269261a7de SHA512 de1a6d8cdf82cf19f11354e98a69d1580f4717c92479445f750ac06ef918804e1d35d994e480bdca64b1ecdca91533ec4961dc057bee0d886759f1ade0e87d07 -DIST github.com-juju-persistent-cookiejar-d5e5a8405ef9633c84af42fbcc734ec8dd73c198.tar.gz 23237 BLAKE2B 16eca916ba084dacf905d61f66f9d6ca4f5041a49b3d8849bf2c3f5182db89f29ea9de5fcbde45d8fffd54699c150710447216db0d356cd51eaf784290429ebd SHA512 4e534e305b9433974fc3b5fac6aadad9430ca5b8905c733913360b2a7ee37aa504a546fc1413d43af4938143132618db9890cbd1d22b3a5b91475680a4af84ca -DIST github.com-juju-schema-e4e05803c9a103fdfa880476044100ac17e54830.tar.gz 11859 BLAKE2B 86ac989a6426f3faf791494b319668c2cc86a82ae645301ca6855b50f9a26ff3ccbc241d6d1be261c5d2548952479c9b8ce1ff2db2a335e7b8f71539d42a7a0c SHA512 b9097f06b220c7db1b2fc4305ee28540dc66ff4b8eff7e16186c241430264fb4dd6e190c90fef91543072bfcb6681a5ec8215e890c522297dbbf25aabfacb154 -DIST github.com-juju-utils-4d9b38694f1e441c16421e2320f2b2fbd97fa597.tar.gz 207854 BLAKE2B 284c0990484e76ecca5feba7e40700bb0315e855618554068f9bd5606372242ac49123c5f5f7b4c59e6c16331b07157aba3eec1e7d2589e70a1fe11f24c5cb45 SHA512 5ba34b5804f661c56b8ea94dcf17099f77c061559e859cc0dba057f7aede0998ae55cdf77abb0693b6d44eb7de8dcf1449a7cc4f644d03f3649e5e8575d297eb -DIST github.com-juju-version-1f41e27e54f21acccf9b2dddae063a782a8a7ceb.tar.gz 6965 BLAKE2B d90780eed7a910c07d33e4debc5e877599935d6e377bc19560aeb46c83f93fe90fa323b9712a23b6ae4e4e78fba5c4b1aa9b2be308527b265493d8e25f363605 SHA512 80406755558ad1d1101ae93db00405d8305ad5bddbf3124f86e955ab351d3e7882588b7d13dc605f04413fc961f4fde5fe228058d178bcd666b377c9066f17ff -DIST github.com-juju-webbrowser-54b8c57083b4afb7dc75da7f13e2967b2606a507.tar.gz 3930 BLAKE2B 58b8a759379dd8bd25805c41813d8ac6dff16253ec8ca063a7d93eeeaf7741451d08cebcd323299a8f828de7e87b2db3df63f3f31188eabd6862ab9cad4cde65 SHA512 ac04ae3adaa95fbd3278019629dd6ed12070a93697217098b1755998cbc6143c606e8176c172883fd27d55cea35b9877877b88a7fa5dd6dd4106477744c0b013 -DIST github.com-julienschmidt-httprouter-e1b9828bc9e5904baec057a154c09ca40fe7fae0.tar.gz 22461 BLAKE2B 159deb9cb8fe32f165bf96b9240f68c0fbf35873b6fe9f05c351f690e8a3713eed8a048fe2d917dc0f3622d0c4b84509771f20c9d4eeff8d380bd8b841d19748 SHA512 a8e1610caa188bcde29a603c05e2cc6914949637d17d4f8d7d0efa51edc4c348767af7fdf3072365ed2f26e0947112a5521a88fec383697243a85061b741462c -DIST github.com-lxc-go-lxc-a7d112aed2f5f57f565d6e557671eeef7e76811c.tar.gz 38226 BLAKE2B 62ad90e0a0ae511b8b94857ad8be761f3d8fb0678ee67321934a2be6a931b6623822c51a4f304e59127008d75f5d44a7dd897d35591e6414b906a16c45232466 SHA512 7c2fffc303e4c8f89676e9a704f64698f2c7e35bcdb7376a9917d89e611dba06a8a42267edd58ad8ca099f43cbde41c0c6a99b6950c0bbcdb9f49296ded4da50 -DIST github.com-lxc-lxd-a324ad91230e5353fe746d06636dc59211122e6c.tar.gz 883109 BLAKE2B 9f4b7cf665fe693addbc56b721e0a02e8f64002e7e8bfa2d9a084590f7076c6e991db22a60d4b4070cece7f223fefa5f8ca35a68121edee8fbc9bb1437fb9c7f SHA512 ae1f43fef4a33e48f9c2a002a5e32dd7177eda78449180e147b2b23c8442bc5ad3def120caf2a4e494b4e4b6f1415c51af999fa7c838e3710ce046e3f653b03b -DIST github.com-mattn-go-colorable-6fcc0c1fd9b620311d821b106a400b35dc95c497.tar.gz 8152 BLAKE2B 1bf8a085568b775c6aba6ef292be680e0ac522434b8563936f3061e8d44096b7a17e813b6b9818ecc3e5b3478259c1f364a48182cf46906336fea852e345d45f SHA512 da35fd75832c039baeb089dab06565ea7bda0eaddc14188a1ad21306b268322fd53f01cd48c652a0bae947139d8c8eb0086740edfa1ce7463625a9c9b2d9180b -DIST github.com-mattn-go-isatty-6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c.tar.gz 3383 BLAKE2B 2034048312c4abc88a813d8ad83013f57e9a23477ecd847e92c3cf30e909e209f9a65acacf41d80b3569770c1400e338115c42fd48d358b66f68ccde69a9008d SHA512 1714a9e9ac7ad2ff30825328723b4c9a5c5f7544e876c6fe79b84c72ba1dd9bfcd6ded2308f6fcae8f1c893d22b84d6c72dfd30742edaa2a5b0d8e88eee27421 -DIST github.com-mattn-go-runewidth-97311d9f7767e3d6f422ea06661bc2c7a19e8a5d.tar.gz 22406 BLAKE2B e9f1d0da4d69c110a9b9ef0ec640dcb53bcc101288b15411367760b5710808f64eb8fe6f0d61f77ba89cad2f965da2d4f72d92e42a07986e1cc39777a050a8f8 SHA512 0452fbc64250169ea99fe4eb4e2ef4f81c7bce5b77572789186f749c9c502c29c7146f7ef57971b6b78db0abe33e9926931719dd610f59925e31e6dd6c0b8d70 -DIST github.com-mattn-go-sqlite3-d5ffb5c0cca8778699a929b236766f4a7af674e8.tar.gz 2071644 BLAKE2B e2aecc6c65f68120682afec947740c4c04dc464d09b19f92bcbe1660cc854be721d8b73734eb5aea701426336c88194768dd28b83ce96b4cdb1d1343105d5bda SHA512 daba1d9cfbed25f92fcedeae7588f31bfe8ad1eea30ae7e24fa4a83dee015f06858b05d6ead61d5a22cbf477070a275767132c030eb4697640cd8acd99816fe9 -DIST github.com-mpvl-subtest-f6e4cfd4b9ea1beb9fb5d53afba8c30804a02ae7.tar.gz 1066 BLAKE2B 15c502a85587ed58eb293667116bea860d9ac4986f3b0f13c695cf7de922a1cb1f574c4ae036e63e9caa56d93ba84055ce44eff862a8671d70a35ca681032970 SHA512 12668278478ea7e321ddaf46beb766d5607a9446a108550400c129754f7a701673e4331dc47336d75dab3d403d371656e72ce80555adc36d5ca708420fdb72c4 -DIST github.com-olekukonko-tablewriter-65fec0d89a572b4367094e2058d3ebe667de3b60.tar.gz 15185 BLAKE2B ba0e6cb42e67fddde9d4454c5757128842290daf6356bf44e05112d3759ef9373ae6ac7b82909f3cef7a31ac2b2612fc222861ca3f65190b24f80da9e2e0fa8e SHA512 48aa8d3e5795dc1d16486a1c418b60e51da254091081bc82116a66a7eac277c34814e0d8e598a7946dfbbc851b94a31d6d7e8032eb427bd858a5c3f56d3edbfd -DIST github.com-pborman-uuid-e533369306653d193b93dae055f6083cbf8ba54f.tar.gz 13157 BLAKE2B cc68f4a5f2d1e753d9aa471a4f5cde6dc38cc88b8e4558068701415d89cb7410b79ebd39a77152848b4f30d6af05dbb07c5a9b0c469822ef703d7419c9281b7a SHA512 e1142c36ee10c31c35dd82fec40376f83540cd2b30a0e250e83fcc1aa2f4133cd13c76338c82e6619760fada05be5b62b87ac7958bdcca736459dbb77535a4d0 -DIST github.com-rogpeppe-fastuuid-6724a57986aff9bff1a1770e9347036def7c89f6.tar.gz 2506 BLAKE2B 457d346a717b9ca9b5374369810a11d5e298949d6681e28a0e8cffca1e3e7d160eb67c3d607aae224f0865ec4ed4b0b21c11d9f316295f31efdf21cf4f70bf8a SHA512 ab6c7d2e32d9b72b4495e9465c03b0b97e1a869f464eb49f3eb522cb04f65b2a45f5359a52ce71af2f59cfd986e0d58a0a76dc02c2583ac46eb0e33efd425dd7 -DIST github.com-stretchr-testify-2aa2c176b9dab406a6970f6a55f513e8a8c8b18f.tar.gz 94502 BLAKE2B 11d7fda9655c364de7c05a1ff0a2ead4b18261b016be89d66f118c6afdba7795bf55b54af64090121a0f789ce8708a85000298a5f032d3d578c36483bf64ae03 SHA512 b54e5d558d8419f1a5110c9803d8d120056264b4ccf0119207c1461a650c1a48fad35b4a6fdb681459be51f8bd6a728097e6c7c86bce0c0d828234aea6953ee0 -DIST github.com-syndtr-gocapability-db04d3cc01c8b54962a58ec7e491717d06cfcc16.tar.gz 9899 BLAKE2B 584e75a9c47d28498aedb5c85b3409c79c84ec9fc47a5a9dc77aa117b4e48f681f72a12a03fafa566a405def40b4961bb7343cad0c6ecb3cd9da883a51ed20d6 SHA512 fdd8a3cc1add7570269df6ad8867fd9d2da7bbf751416a5376ff123dcf959be13912b766f5214123e20fabd242a629e02f3bdaf0680782805afb81f6f08a78ae -DIST lxd-2.21.tar.gz 882352 BLAKE2B 80542bcc03c05667ee0207dfbfd2bf41c5a6ef69178aec06ad62fe3521ed012ed9b82c68c0254e0299e8e1dfd274a0622f32bde730480a950ab6ba15ddae5f4b SHA512 9a8ec3a97e4c861a80311dbdecbf5a485c0af85d6ba6b20680ca17e6ac877de3f27cfdcf0a111ba0db2b7c562dfe2f41336b562b7c13350c4543505b3c17357e -DIST lxd-3.1.tar.gz 27979442 BLAKE2B 0b74e3f76a7ab835b042b52b469a6fe11e7077d567e0658d13fab2192fd25d99518d65ba319c981a2e4677319e280cccae26f70ef99e9911264dc028ca5628fd SHA512 61f64d08dd80f7f676f386912f4dfc0d0af38cce0287de7865123b9da667b54ab91d22b76ffe03480e04ae0fbd8dc837d7d519d0e34409377c3d7e6624bf636c -DIST lxd-3.2.tar.gz 28183660 BLAKE2B 9aabc9fd0bd66d3b4e0178448a65ca39c69e4e7a14d01309e0e023501de1c17b2b7887a9da5b84fcfde27db3f521cce3451beace9955232da9bd5e5136bc0043 SHA512 82c37e87d75e328a29b1f2876a24fedec43a253bb72f3ea55fa9cdb928d11947eda723a01e758f90ef77ed4492f86ec6dd5f1f88240d05e771d926dfdc9888fb DIST lxd-3.3.tar.gz 28414680 BLAKE2B 7f3eecf400761548935e6e3c81d894379cd667ffbe6d8ef67a7dd3ad4f1c13846f524fcefc4cdc306674fb990706bda0b2c4ef390f320c41561fa86cf610586c SHA512 ed5d792c1080f2be7f48f34051fbfa28d138b4ccb5405edb13cd630776ec34312da491a1881f77dddbe1a121e589b44952e73ce1e61f2cba72243f3b8f4c0177 +DIST lxd-3.4.tar.gz 24313641 BLAKE2B 6f2db8a690474d020a0d43366e940760c0886c8af60e17ecc6bf1f9747d8454d09d619b723b1794bec503dda82028f7d81edc2d0c33216cbad9c810f2657198d SHA512 f041878fcfd2b45f594d97e748272d44c517f28e181861a604bef23f858c4bd59cc93ac56c24cce6d353743428b66940f11df268ff9f66e83a5c8f1fb95dc3aa diff --git a/app-emulation/lxd/files/lxd-dont-go-get.patch b/app-emulation/lxd/files/lxd-dont-go-get.patch deleted file mode 100644 index a6e25e325b95..000000000000 --- a/app-emulation/lxd/files/lxd-dont-go-get.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- /src/github.com/lxc/lxd/Makefile.orig 2016-07-11 23:34:40.299664675 +0000 -+++ /src/github.com/lxc/lxd/Makefile 2016-07-11 23:37:00.816018727 +0000 -@@ -13,13 +13,11 @@ - - .PHONY: default - default: -- go get -t -v -d ./... - go install -v $(TAGS) $(DEBUG) ./... - @echo "LXD built successfully" - - .PHONY: client - client: -- go get -t -v -d ./... - go install -v $(TAGS) $(DEBUG) ./lxc - @echo "LXD client built successfully" - diff --git a/app-emulation/lxd/files/lxd.confd b/app-emulation/lxd/files/lxd.confd index 3d553276a5e3..8e342cc62d16 100644 --- a/app-emulation/lxd/files/lxd.confd +++ b/app-emulation/lxd/files/lxd.confd @@ -15,13 +15,10 @@ LXD_OPTIONS+=" --group lxd" #LXD_OPTIONS+=" --debug" # For debugging, print a complete stack trace every n seconds -#LXD_OPTIONS+=" --print-goroutines-every 5" +#LXD_OPTIONS+=" --print-goroutines 5" # Enables verbose mode -#LXD_OPTIONS+=" -v" +#LXD_OPTIONS+=" --verbose" # Logfile to log to #LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log" - -# Enables syslog logging -#LXD_OPTIONS+=" --syslog" diff --git a/app-emulation/lxd/files/lxd.confd.1 b/app-emulation/lxd/files/lxd.confd.1 deleted file mode 100644 index 8e342cc62d16..000000000000 --- a/app-emulation/lxd/files/lxd.confd.1 +++ /dev/null @@ -1,24 +0,0 @@ -# Group which owns the shared socket -LXD_OPTIONS+=" --group lxd" - - - -# Enable cpu profiling into the specified file -#LXD_OPTIONS+=" --cpuprofile /tmp/lxc_cpu_profile" - -# Enable memory profiling into the specified file -#LXD_OPTIONS+=" --memprofile /tmp/lxc_mem_profile" - - - -# Enables debug mode -#LXD_OPTIONS+=" --debug" - -# For debugging, print a complete stack trace every n seconds -#LXD_OPTIONS+=" --print-goroutines 5" - -# Enables verbose mode -#LXD_OPTIONS+=" --verbose" - -# Logfile to log to -#LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log" diff --git a/app-emulation/lxd/files/lxd.initd.1 b/app-emulation/lxd/files/lxd.initd.1 new file mode 100644 index 000000000000..b6d3cd4eb264 --- /dev/null +++ b/app-emulation/lxd/files/lxd.initd.1 @@ -0,0 +1,47 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +DAEMON=/usr/sbin/lxd +PIDFILE=/run/lxd.pid + +extra_commands="stopall" + +depend() { + need net + use lxcfs +} + +start() { + ebegin "Starting lxd service" + + start-stop-daemon --start \ + --pidfile ${PIDFILE} \ + --exec ${DAEMON} \ + --background \ + --make-pidfile \ + --env LD_LIBRARY_PATH="/usr/lib/lxd" \ + -- \ + ${LXD_OPTIONS} + + eend $? +} + +stop() { + if [ "$RC_GOINGDOWN" = "YES" ] || [ "$RC_REBOOT" = "YES" ]; then + stopall + else + ebegin "Stopping lxd service (but not containers)" + start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE} + eend $? + fi +} + +stopall() { + ebegin "Stopping lxd service and containers" + if "${DAEMON}" shutdown; then + /etc/init.d/lxd zap + rm -f ${PIDFILE} + fi + eend $? +} diff --git a/app-emulation/lxd/lxd-2.21.ebuild b/app-emulation/lxd/lxd-2.21.ebuild deleted file mode 100644 index caefa812216a..000000000000 --- a/app-emulation/lxd/lxd-2.21.ebuild +++ /dev/null @@ -1,224 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" -EGO_PN_PARENT="github.com/lxc" -EGO_PN="${EGO_PN_PARENT}/lxd" - -# Maintained with https://github.com/hsoft/gentoo-ego-vendor-update -# The "# branch" comments are there for the script, they're important. -EGO_VENDOR=( - "github.com/syndtr/gocapability db04d3cc01c8b54962a58ec7e491717d06cfcc16" - "github.com/dustinkirkland/golang-petname d3c2ba80e75eeef10c5cf2fc76d2c809637376b3" - "github.com/juju/gomaasapi 663f786f595ba1707f56f62f7f4f2284c47c0f1d" - "github.com/juju/loggo 8232ab8918d91c72af1a9fb94d3edbe31d88b790" - "github.com/juju/persistent-cookiejar d5e5a8405ef9633c84af42fbcc734ec8dd73c198" - "github.com/juju/utils 4d9b38694f1e441c16421e2320f2b2fbd97fa597" - "github.com/juju/idmclient 15392b0e99abe5983297959c737b8d000e43b34c" - "github.com/juju/errors c7d06af17c68cd34c835053720b21f6549d9b0ee" - "github.com/juju/go4 40d72ab9641a2a8c36a9c46a51e28367115c8e59" - "github.com/juju/httprequest 77d36ac4b71a6095506c0617d5881846478558cb" - "github.com/juju/version 1f41e27e54f21acccf9b2dddae063a782a8a7ceb" - "github.com/juju/webbrowser 54b8c57083b4afb7dc75da7f13e2967b2606a507" - "github.com/juju/schema e4e05803c9a103fdfa880476044100ac17e54830" - "github.com/gorilla/websocket cdedf21e585dae942951e34d6defc3215b4280fa" - "github.com/gorilla/mux 5ab525f4fb1678e197ae59401e9050fa0b6cb5fd" - "github.com/mpvl/subtest f6e4cfd4b9ea1beb9fb5d53afba8c30804a02ae7" - "github.com/olekukonko/tablewriter 65fec0d89a572b4367094e2058d3ebe667de3b60" - "github.com/golang/protobuf 1e59b77b52bf8e4b449a57e6f79f21226d571845" - "github.com/julienschmidt/httprouter e1b9828bc9e5904baec057a154c09ca40fe7fae0" - "github.com/gosexy/gettext 74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b" - "github.com/stretchr/testify 2aa2c176b9dab406a6970f6a55f513e8a8c8b18f" - "github.com/mattn/go-runewidth 97311d9f7767e3d6f422ea06661bc2c7a19e8a5d" - "github.com/mattn/go-isatty 6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c" - "github.com/mattn/go-colorable 6fcc0c1fd9b620311d821b106a400b35dc95c497" - "github.com/mattn/go-sqlite3 d5ffb5c0cca8778699a929b236766f4a7af674e8" - "github.com/rogpeppe/fastuuid 6724a57986aff9bff1a1770e9347036def7c89f6" - "github.com/pborman/uuid e533369306653d193b93dae055f6083cbf8ba54f" - "github.com/lxc/lxd a324ad91230e5353fe746d06636dc59211122e6c" - "golang.org/x/crypto d585fd2cc9195196078f516b69daff6744ef5e84 github.com/golang/crypto" - "golang.org/x/net d866cfc389cec985d6fda2859936a575a55a3ab6 github.com/golang/net" - "golang.org/x/sys 571f7bbbe08da2a8955aed9d4db316e78630e9a3 github.com/golang/sys" - "gopkg.in/retry.v1 01631078ef2fdce601e38cfe5f527fab24c9a6d2 github.com/go-retry/retry" # branch v1 - "gopkg.in/macaroon.v2 bed2a428da6e56d950bed5b41fcbae3141e5b0d0 github.com/go-macaroon/macaroon" # branch v2 - "gopkg.in/yaml.v2 287cf08546ab5e7e37d55a84f7ed3fd1db036de5 github.com/go-yaml/yaml" # branch v2 - "gopkg.in/juju/names.v2 54f00845ae470a362430a966fe17f35f8784ac92 github.com/juju/names" # branch v2 - "gopkg.in/juju/environschema.v1 7359fc7857abe2b11b5b3e23811a9c64cb6b01e0 github.com/juju/environschema" # branch v1 - "gopkg.in/macaroon-bakery.v2 ec9d2ad6796100720c154f614b6dea8798ec1181 github.com/go-macaroon-bakery/macaroon-bakery" # branch v2 - "gopkg.in/httprequest.v1 fdaf1bffa25560ba0920e3e29aae85d3677ab32e github.com/go-httprequest/httprequest" # branch v1 - "gopkg.in/flosch/pongo2.v3 5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9 github.com/flosch/pongo2" # branch v3.0 - "gopkg.in/mgo.v2 3f83fa5005286a7fe593b055f0d7771a7dce4655 github.com/go-mgo/mgo" # branch v2 - "gopkg.in/tomb.v2 d5d1b5820637886def9eef33e03a27a9f166942c github.com/go-tomb/tomb" # branch v2 - "gopkg.in/errgo.v1 442357a80af5c6bf9b6d51ae791a39c3421004f3 github.com/go-errgo/errgo" # branch v1 - "gopkg.in/lxc/go-lxc.v2 a7d112aed2f5f57f565d6e557671eeef7e76811c github.com/lxc/go-lxc" # branch v2 -) - -ARCHIVE_URI="https://${EGO_PN}/archive/${P}.tar.gz -> ${P}.tar.gz" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64" - -IUSE="+daemon +ipv6 +dnsmasq nls test" - -inherit bash-completion-r1 linux-info systemd user golang-vcs-snapshot - -SRC_URI="${ARCHIVE_URI} - ${EGO_VENDOR_URI}" - -DEPEND=" - >=dev-lang/go-1.7.1 - dev-libs/protobuf - nls? ( sys-devel/gettext ) - test? ( - app-misc/jq - dev-db/sqlite - net-misc/curl - sys-devel/gettext - ) -" - -RDEPEND=" - daemon? ( - app-arch/xz-utils - >=app-emulation/lxc-2.0.7[seccomp] - dnsmasq? ( - net-dns/dnsmasq[dhcp,ipv6?] - ) - net-misc/rsync[xattr] - sys-apps/iproute2[ipv6?] - sys-fs/squashfs-tools - virtual/acl - ) -" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE_IPV4 - ~NF_NAT_MASQUERADE_IPV6 - ~VXLAN -" - -ERROR_BRIDGE="BRIDGE: needed for network commands" -ERROR_DUMMY="DUMMY: needed for network commands" -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_IPV6="IPV6: needed for network commands" -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_MACVLAN="MACVLAN: needed for network commands" -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" -ERROR_NET_IPIP="NET_IPIP: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" -ERROR_VXLAN="VXLAN: needed for network commands" - -PATCHES=( - "${FILESDIR}/${PN}-dont-go-get.patch" -) - -src_prepare() { - default_src_prepare - - # Examples in go-lxc make our build fail. - rm -rf "${S}/src/${EGO_PN}/vendor/gopkg.in/lxc/go-lxc.v2/examples" || die -} - -src_compile() { - export GOPATH="${S}" - - cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" - - tmpgoroot="${T}/goroot" - if use daemon; then - # Build binaries - emake - else - # build client tool - emake client - fi - - use nls && emake build-mo -} - -src_test() { - if use daemon; then - export GOPATH="${S}" - cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" - - emake check - else - einfo "No tests to run for client-only builds" - fi -} - -src_install() { - dobin bin/lxc - if use daemon; then - dosbin bin/lxd - dobin bin/fuidshift - fi - - cd "src/${EGO_PN}" || die "can't cd into ${S}/src/${EGO_PN}" - - if use nls; then - domo po/*.mo - fi - - if use daemon; then - newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd lxd - - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service - fi - - newbashcomp config/bash/lxd-client lxc - - dodoc AUTHORS README.md doc/* -} - -pkg_postinst() { - einfo - einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information," - einfo "including a Quick Start." - - # The messaging below only applies to daemon installs - use daemon || return 0 - - # The control socket will be owned by (and writeable by) this group. - enewgroup lxd - - # Ubuntu also defines an lxd user but it appears unused (the daemon - # must run as root) - - einfo - einfo "Though not strictly required, some features are enabled at run-time" - einfo "when the relevant helper programs are detected:" - einfo "- sys-apps/apparmor" - einfo "- sys-fs/btrfs-progs" - einfo "- sys-fs/lvm2" - einfo "- sys-fs/lxcfs" - einfo "- sys-fs/zfs" - einfo "- sys-process/criu" - einfo - einfo "Since these features can't be disabled at build-time they are" - einfo "not USE-conditional." - einfo - einfo "Networks with bridge.mode=fan are unsupported due to requiring" - einfo "a patched kernel and iproute2." -} diff --git a/app-emulation/lxd/lxd-3.2.ebuild b/app-emulation/lxd/lxd-3.2.ebuild deleted file mode 100644 index 473f52df5378..000000000000 --- a/app-emulation/lxd/lxd-3.2.ebuild +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" - -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" -SLOT="0" -KEYWORDS="amd64" - -IUSE="+daemon +ipv6 +dnsmasq nls test" - -inherit bash-completion-r1 linux-info systemd user - -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" - -DEPEND=" - >=dev-lang/go-1.9.4 - dev-libs/protobuf - nls? ( sys-devel/gettext ) - test? ( - app-misc/jq - net-misc/curl - sys-devel/gettext - ) -" - -RDEPEND=" - daemon? ( - app-arch/xz-utils - >=app-emulation/lxc-2.0.7[seccomp] - dnsmasq? ( - net-dns/dnsmasq[dhcp,ipv6?] - ) - net-misc/rsync[xattr] - sys-apps/iproute2[ipv6?] - sys-fs/squashfs-tools - virtual/acl - ) -" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE_IPV4 - ~NF_NAT_MASQUERADE_IPV6 - ~VXLAN -" - -ERROR_BRIDGE="BRIDGE: needed for network commands" -ERROR_DUMMY="DUMMY: needed for network commands" -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_IPV6="IPV6: needed for network commands" -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_MACVLAN="MACVLAN: needed for network commands" -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" -ERROR_NET_IPIP="NET_IPIP: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" -ERROR_VXLAN="VXLAN: needed for network commands" - -EGO_PN="github.com/lxc/lxd" - -PATCHES=( - "${FILESDIR}/ja-translation-newline.patch" # https://github.com/lxc/lxd/pull/4572 - "${FILESDIR}/de-translation-newline.patch" -) - -# LXD tarball is packaged with a nice "dist" folder containing all dependencies -# that were vendored by upstream at release time. That saves us the trouble of -# vendoring the dependencies ourselves. This is why there was this drastic drop -# in ebuild complexity compared to pre 3.0.0-r2 ebuilds. -src_compile() { - export GOPATH="${S}/dist" - - # We don't use the Makefile here because it builds targets with the - # assumption that `pwd` is in a deep gopath namespace, which we're not. - # It's simpler to manually call "go install" than patching the Makefile. - # - # ABOUT "-tags libsqlite3": we used to link to the system's sqlite3 library - # but since v3.0.0, LXD depends on github.com/CanonicalLtd/dqlite which - # at the time of this writing, depends on patched version of sqlite with - # replication capabilities added. We don't have that patch in dev-db/sqlite. - # Therefore, we let LXD use its own private copy of sqlite. - go install -v -x ${EGO_PN}/lxc || die "Failed to build the client" - - if use daemon; then - go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift" - go install -v -x ${EGO_PN}/lxd || die "Failed to build the daemon" - fi - - use nls && emake build-mo -} - -src_test() { - if use daemon; then - export GOPATH="${S}/dist" - # This is mostly a copy/paste from the Makefile's "check" rule, but - # patching the Makefile to work in a non "fully-qualified" go namespace - # was more complicated than this modest copy/paste. - # Also: sorry, for now a network connection is needed to run tests. - # Will properly bundle test dependencies later. - go get -v -x github.com/rogpeppe/godeps - go get -v -x github.com/remyoudompheng/go-misc/deadcode - go get -v -x github.com/golang/lint/golint - go test -v ${EGO_PN}/lxd - else - einfo "No tests to run for client-only builds" - fi -} - -src_install() { - local bindir="dist/bin" - dobin ${bindir}/lxc - if use daemon; then - dosbin ${bindir}/lxd - dobin ${bindir}/fuidshift - fi - - if use nls; then - domo po/*.mo - fi - - if use daemon; then - newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd.1 lxd - - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service - fi - - newbashcomp scripts/bash/lxd-client lxc - - dodoc AUTHORS README.md doc/* -} - -pkg_postinst() { - einfo - einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information," - einfo "including a Quick Start." - - # The messaging below only applies to daemon installs - use daemon || return 0 - - # The control socket will be owned by (and writeable by) this group. - enewgroup lxd - - # Ubuntu also defines an lxd user but it appears unused (the daemon - # must run as root) - - einfo - einfo "Though not strictly required, some features are enabled at run-time" - einfo "when the relevant helper programs are detected:" - einfo "- sys-apps/apparmor" - einfo "- sys-fs/btrfs-progs" - einfo "- sys-fs/lvm2" - einfo "- sys-fs/lxcfs" - einfo "- sys-fs/zfs" - einfo "- sys-process/criu" - einfo - einfo "Since these features can't be disabled at build-time they are" - einfo "not USE-conditional." - einfo - einfo "Networks with bridge.mode=fan are unsupported due to requiring" - einfo "a patched kernel and iproute2." -} diff --git a/app-emulation/lxd/lxd-3.3.ebuild b/app-emulation/lxd/lxd-3.3.ebuild index 16a412be6a96..393042c8ae5e 100644 --- a/app-emulation/lxd/lxd-3.3.ebuild +++ b/app-emulation/lxd/lxd-3.3.ebuild @@ -8,7 +8,7 @@ HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="+daemon +ipv6 +dnsmasq nls test" @@ -139,7 +139,7 @@ src_install() { if use daemon; then newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd.1 lxd + newconfd "${FILESDIR}"/${PN}.confd lxd systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service fi diff --git a/app-emulation/lxd/lxd-3.1.ebuild b/app-emulation/lxd/lxd-3.4.ebuild similarity index 56% rename from app-emulation/lxd/lxd-3.1.ebuild rename to app-emulation/lxd/lxd-3.4.ebuild index 7f27f52217fb..c5ce43a9eb1c 100644 --- a/app-emulation/lxd/lxd-3.1.ebuild +++ b/app-emulation/lxd/lxd-3.4.ebuild @@ -10,13 +10,14 @@ LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" SLOT="0" KEYWORDS="~amd64" -IUSE="+daemon +ipv6 +dnsmasq nls test" +IUSE="+daemon +ipv6 +dnsmasq nls test tools" -inherit bash-completion-r1 linux-info systemd user +inherit autotools bash-completion-r1 linux-info systemd user SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" DEPEND=" + dev-lang/tcl >=dev-lang/go-1.9.4 dev-libs/protobuf nls? ( sys-devel/gettext ) @@ -31,11 +32,18 @@ RDEPEND=" daemon? ( app-arch/xz-utils >=app-emulation/lxc-2.0.7[seccomp] + dev-libs/lzo + dev-util/xdelta:3 dnsmasq? ( net-dns/dnsmasq[dhcp,ipv6?] ) + net-firewall/ebtables + net-firewall/iptables[ipv6?] + net-libs/libnfnetlink net-misc/rsync[xattr] sys-apps/iproute2[ipv6?] + sys-fs/fuse + sys-fs/lxcfs sys-fs/squashfs-tools virtual/acl ) @@ -77,31 +85,53 @@ ERROR_VXLAN="VXLAN: needed for network commands" EGO_PN="github.com/lxc/lxd" -PATCHES=( - "${FILESDIR}/ja-translation-newline.patch" # https://github.com/lxc/lxd/pull/4572 -) +src_prepare() { + eapply_user + eapply "${FILESDIR}/de-translation-newline.patch" + + cd "${S}/dist/dqlite" || die "Can't cd to dqlite dir" + eautoreconf +} + +src_configure() { + export GOPATH="${S}/dist" + cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" + econf --enable-replication --disable-amalgamation --disable-tcl --libdir=/usr/lib/lxd + + cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" + PKG_CONFIG_PATH="${GOPATH}/sqlite/" econf --libdir=/usr/lib/lxd +} -# LXD tarball is packaged with a nice "dist" folder containing all dependencies -# that were vendored by upstream at release time. That saves us the trouble of -# vendoring the dependencies ourselves. This is why there was this drastic drop -# in ebuild complexity compared to pre 3.0.0-r2 ebuilds. src_compile() { export GOPATH="${S}/dist" + cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" + emake + + cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" + emake CFLAGS="-I${GOPATH}/sqlite" + # We don't use the Makefile here because it builds targets with the # assumption that `pwd` is in a deep gopath namespace, which we're not. # It's simpler to manually call "go install" than patching the Makefile. - # - # ABOUT "-tags libsqlite3": we used to link to the system's sqlite3 library - # but since v3.0.0, LXD depends on github.com/CanonicalLtd/dqlite which - # at the time of this writing, depends on patched version of sqlite with - # replication capabilities added. We don't have that patch in dev-db/sqlite. - # Therefore, we let LXD use its own private copy of sqlite. + cd "${S}" go install -v -x ${EGO_PN}/lxc || die "Failed to build the client" if use daemon; then + + # LXD depends on a patched, bundled sqlite with replication + # capabilities. + export CGO_CFLAGS="-I${GOPATH}/sqlite/ -I${GOPATH}/dqlite/include/" + export CGO_LDFLAGS="-L${GOPATH}/sqlite/.libs/ -L${GOPATH}/dqlite/.libs/" + export LD_LIBRARY_PATH="${GOPATH}/sqlite/.libs/:${GOPATH}/dqlite/.libs/" + + go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" + fi + + if use tools; then go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift" - go install -v -x ${EGO_PN}/lxd || die "Failed to build the daemon" + go install -v -x ${EGO_PN}/lxc-to-lxd || die "Failed to build lxc-to-lxd" + go install -v -x ${EGO_PN}/lxd-benchmark || die "Failed to build lxd-benchmark" fi use nls && emake build-mo @@ -128,8 +158,26 @@ src_install() { local bindir="dist/bin" dobin ${bindir}/lxc if use daemon; then + + export GOPATH="${S}/dist" + cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" + emake DESTDIR="${D}" install + + cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" + emake DESTDIR="${D}" install + + # Must only install libs + rm "${D}/usr/bin/sqlite3" || die "Can't remove custom sqlite3 binary" + rm -r "${D}/usr/include" || die "Can't remove include directory" + + cd "${S}" || die "Can't cd to \${S}" dosbin ${bindir}/lxd + fi + + if use tools; then dobin ${bindir}/fuidshift + dobin ${bindir}/lxc-to-lxd + dobin ${bindir}/lxd-benchmark fi if use nls; then @@ -137,21 +185,21 @@ src_install() { fi if use daemon; then - newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd.1 lxd + newinitd "${FILESDIR}"/${PN}.initd.1 lxd + newconfd "${FILESDIR}"/${PN}.confd lxd systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service fi newbashcomp scripts/bash/lxd-client lxc - dodoc AUTHORS README.md doc/* + dodoc AUTHORS doc/* } pkg_postinst() { - einfo - einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information," - einfo "including a Quick Start." + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." # The messaging below only applies to daemon installs use daemon || return 0 @@ -162,19 +210,23 @@ pkg_postinst() { # Ubuntu also defines an lxd user but it appears unused (the daemon # must run as root) - einfo - einfo "Though not strictly required, some features are enabled at run-time" - einfo "when the relevant helper programs are detected:" - einfo "- sys-apps/apparmor" - einfo "- sys-fs/btrfs-progs" - einfo "- sys-fs/lvm2" - einfo "- sys-fs/lxcfs" - einfo "- sys-fs/zfs" - einfo "- sys-process/criu" - einfo - einfo "Since these features can't be disabled at build-time they are" - einfo "not USE-conditional." - einfo - einfo "Networks with bridge.mode=fan are unsupported due to requiring" - einfo "a patched kernel and iproute2." + elog + elog "Though not strictly required, some features are enabled at run-time" + elog "when the relevant helper programs are detected:" + elog "- sys-apps/apparmor" + elog "- sys-fs/btrfs-progs" + elog "- sys-fs/lvm2" + elog "- sys-fs/zfs" + elog "- sys-process/criu" + elog + elog "Since these features can't be disabled at build-time they are" + elog "not USE-conditional." + elog + elog "Be sure to add your local user to the lxd group." + elog + elog "Networks with bridge.mode=fan are unsupported due to requiring" + elog "a patched kernel and iproute2." } + +# TODO: +# - man page, I don't see cobra generating it diff --git a/app-emulation/lxd/metadata.xml b/app-emulation/lxd/metadata.xml index de08da5ec7d6..3896143698f3 100644 --- a/app-emulation/lxd/metadata.xml +++ b/app-emulation/lxd/metadata.xml @@ -27,7 +27,10 @@ Build the system daemon, not just the client tool - Depend on dnsmasq to provide DHCP and DNS. + Depend on dnsmasq to provide DHCP and DNS + + + Build and install optional tools diff --git a/app-emulation/spice/spice-0.14.0-r1.ebuild b/app-emulation/spice/spice-0.14.0-r1.ebuild deleted file mode 100644 index b3727d668a7e..000000000000 --- a/app-emulation/spice/spice-0.14.0-r1.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) - -inherit autotools ltprune python-any-r1 readme.gentoo-r1 xdg-utils - -DESCRIPTION="SPICE server" -HOMEPAGE="https://www.spice-space.org/" -SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 ~arm64 x86" -IUSE="libressl lz4 sasl smartcard static-libs gstreamer" - -# the libspice-server only uses the headers of libcacard -RDEPEND=" - dev-lang/orc[static-libs(+)?] - >=dev-libs/glib-2.22:2[static-libs(+)?] - media-libs/opus[static-libs(+)?] - sys-libs/zlib[static-libs(+)?] - virtual/jpeg:0=[static-libs(+)?] - >=x11-libs/pixman-0.17.7[static-libs(+)?] - !libressl? ( dev-libs/openssl:0=[static-libs(+)?] ) - libressl? ( dev-libs/libressl:0=[static-libs(+)?] ) - lz4? ( app-arch/lz4:0=[static-libs(+)?] ) - smartcard? ( >=app-emulation/libcacard-0.1.2 ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] ) - gstreamer? ( - media-libs/gstreamer:1.0 - media-libs/gst-plugins-base:1.0 - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - >=app-emulation/spice-protocol-0.12.13 - virtual/pkgconfig - $(python_gen_any_dep ' - >=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] - ') - smartcard? ( app-emulation/qemu[smartcard] )" - -PATCHES=( - "${FILESDIR}"/${P}-libressl_fix.patch - "${FILESDIR}"/${P}-openssl1.1_fix.patch -) - -python_check_deps() { - has_version ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]" - has_version "dev-python/six[${PYTHON_USEDEP}]" -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && python-any-r1_pkg_setup -} - -src_prepare() { - default - - eautoreconf -} - -src_configure() { - # Prevent sandbox violations, bug #586560 - # https://bugzilla.gnome.org/show_bug.cgi?id=744134 - # https://bugzilla.gnome.org/show_bug.cgi?id=744135 - addpredict /dev - - xdg_environment_reset - - local myconf=" - $(use_enable static-libs static) - $(use_enable lz4) - $(use_with sasl) - $(use_enable smartcard) - --enable-gstreamer=$(usex gstreamer "1.0" "no") - --disable-celt051 - " - econf ${myconf} -} - -src_compile() { - # Prevent sandbox violations, bug #586560 - # https://bugzilla.gnome.org/show_bug.cgi?id=744134 - # https://bugzilla.gnome.org/show_bug.cgi?id=744135 - addpredict /dev - - default -} - -src_install() { - default - use static-libs || prune_libtool_files - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog -} diff --git a/app-portage/Manifest.gz b/app-portage/Manifest.gz index 3ca1650bbcfc..050e16ef5b66 100644 Binary files a/app-portage/Manifest.gz and b/app-portage/Manifest.gz differ diff --git a/app-portage/gemato/gemato-14.0.ebuild b/app-portage/gemato/gemato-14.0.ebuild index cd8960201957..47850ca8bb4b 100644 --- a/app-portage/gemato/gemato-14.0.ebuild +++ b/app-portage/gemato/gemato-14.0.ebuild @@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-fbsd" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-fbsd" IUSE="+blake2 bzip2 +gpg lzma sha3 test tools" MODULE_RDEPEND=" diff --git a/app-text/Manifest.gz b/app-text/Manifest.gz index 82e03243da36..dc99b270ecca 100644 Binary files a/app-text/Manifest.gz and b/app-text/Manifest.gz differ diff --git a/app-text/cmigemo/cmigemo-1.3c-r3.ebuild b/app-text/cmigemo/cmigemo-1.3c-r3.ebuild new file mode 100644 index 000000000000..dadb8751f0b9 --- /dev/null +++ b/app-text/cmigemo/cmigemo-1.3c-r3.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit flag-o-matic toolchain-funcs + +MY_P="${P}-MIT" +DESCRIPTION="Migemo library implementation in C" +HOMEPAGE="http://www.kaoriya.net/#CMIGEMO" +SRC_URI="http://www.kaoriya.net/dist/var/${MY_P}.tar.bz2" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~x86" +IUSE="emacs unicode vim-syntax" + +DEPEND=">=app-dicts/migemo-dict-200812[unicode=] + dev-lang/perl + || ( + net-misc/curl + net-misc/wget + net-misc/fetch + ) + app-i18n/nkf" +RDEPEND="${DEPEND} + emacs? ( >=app-text/migemo-0.40-r1 )" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + # Bug #246953 + "${FILESDIR}"/${P}-gentoo.patch + "${FILESDIR}"/${P}-ldflags.patch +) + +src_prepare() { + default + + touch dict/SKK-JISYO.L || die + if use unicode ; then + sed -i -e "/gcc:/s/euc-jp/utf-8/" dict/dict.mak || die + fi + + # Bug #255813 + sed -i -e "/^docdir/s:/doc/migemo:/share/doc/${PF}:" compile/config.mk.in || die +} + +src_compile() { + append-flags -fPIC + # parallel make b0rked + emake -j1 \ + CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + gcc-all +} + +src_install() { + # parallel make b0rked + emake -j1 \ + prefix="${D}/usr" \ + libdir="${D}/usr/$(get_libdir)" \ + gcc-install + + local encoding + if use unicode ; then + encoding="utf-8" + else + encoding="euc-jp" + fi + + mv "${D}/usr/share/migemo/${encoding}/"*.dat "${D}/usr/share/migemo/" || die + rm -rf "${D}/usr/share/migemo/"{cp932,euc-jp,utf-8} || die + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/plugin + doins tools/migemo.vim + fi + + dodoc doc/{README_j,TODO_j,vimigemo}.txt +} + +pkg_postinst() { + if use emacs ; then + elog + elog "Please add to your ~/.emacs" + elog " (setq migemo-command \"cmigemo\")" + elog " (setq migemo-options '(\"-q\" \"--emacs\" \"-i\" \"\\\\a\"))" + elog " (setq migemo-dictionary \"/usr/share/migemo/migemo-dict\")" + elog " (setq migemo-user-dictionary nil)" + elog " (setq migemo-regex-dictionary nil)" + elog "to use cmigemo instead of migemo under emacs." + elog + fi +} diff --git a/app-text/xmldiff/Manifest b/app-text/xmldiff/Manifest index 93a6ee9f46bc..efbfe9d10446 100644 --- a/app-text/xmldiff/Manifest +++ b/app-text/xmldiff/Manifest @@ -1 +1,2 @@ DIST xmldiff-0.6.10.tar.gz 45827 BLAKE2B f4b97d4fa7063f1edb66ab1bd465dc81cd66f35233dcd3d8ae2cc1f13e9e841645ddf8848dcd3bafc45d44da218c8260b36f5210883f3963572b375173e6d687 SHA512 b183a6e94258c4d693fa97e759868dae2dca6088e3cf12cf08b40e82d18a375f02b12d62d0cfc03fb74a5138f32f6614f555b95a3062ba768d1cdaf3391cc95b +DIST xmldiff-1.1.1.tar.gz 36429 BLAKE2B 2d84a1552851b0964ac837a30c61a99a3360292020251aa06ed71723e89b6a8f89a79107c69a317b16d810ee74241d38837d382b0dcb134b43f72f58ee2b6ea2 SHA512 cf65bdd827b76781b693089b8742f6358931456c4fdfd0f4b2a9e13b30101b48379ea9c2bf3dcb32d6d22198769262f2603172ffa877bec2ddfa5fabfdf74326 diff --git a/app-text/xmldiff/metadata.xml b/app-text/xmldiff/metadata.xml index e7734cc5fb8a..30d3057f57c4 100644 --- a/app-text/xmldiff/metadata.xml +++ b/app-text/xmldiff/metadata.xml @@ -12,4 +12,7 @@ used as a library or as a command line tool. It can work either with XML files or DOM trees. + + Shoobx/xmldiff + diff --git a/app-text/xmldiff/xmldiff-0.6.10-r2.ebuild b/app-text/xmldiff/xmldiff-0.6.10-r2.ebuild index e116f9beb7a1..7f33b19bd77d 100644 --- a/app-text/xmldiff/xmldiff-0.6.10-r2.ebuild +++ b/app-text/xmldiff/xmldiff-0.6.10-r2.ebuild @@ -8,7 +8,7 @@ PYTHON_COMPAT=( python2_7 ) inherit distutils-r1 DESCRIPTION="A tool that figures out the differences between two similar XML files" -HOMEPAGE="https://www.logilab.org/project/xmldiff" +HOMEPAGE="https://github.com/Shoobx/xmldiff https://www.logilab.org/project/xmldiff" SRC_URI="ftp://ftp.logilab.fr/pub/${PN}/${P}.tar.gz" LICENSE="GPL-2" diff --git a/app-text/xmldiff/xmldiff-1.1.1.ebuild b/app-text/xmldiff/xmldiff-1.1.1.ebuild new file mode 100644 index 000000000000..955725e5043f --- /dev/null +++ b/app-text/xmldiff/xmldiff-1.1.1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} ) + +inherit distutils-r1 + +DESCRIPTION="A tool that figures out the differences between two similar XML files" +HOMEPAGE="https://github.com/Shoobx/xmldiff https://www.logilab.org/project/xmldiff" +SRC_URI="https://github.com/Shoobx/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~x86-linux" +IUSE="" + +RDEPEND="dev-python/future + dev-python/lxml + dev-python/six" + +DOCS=( AUTHORS.rst CHANGES.rst README.rst TODO.rst ) diff --git a/dev-cpp/Manifest.gz b/dev-cpp/Manifest.gz index 56c6c7aaa53b..6b941d6ed711 100644 Binary files a/dev-cpp/Manifest.gz and b/dev-cpp/Manifest.gz differ diff --git a/dev-cpp/glibmm/Manifest b/dev-cpp/glibmm/Manifest index aef4ee6c9423..49475c5066a4 100644 --- a/dev-cpp/glibmm/Manifest +++ b/dev-cpp/glibmm/Manifest @@ -1,3 +1,4 @@ DIST glibmm-2.50.1.tar.xz 6444576 BLAKE2B dbbdb79d8de9510f9bec770523ca7f4c93d287cbd9890b2fbc08712f6a2815186ee792f6339820a14aa9e4d49c9d1735c6c6651994cc4e03549f0d96b33f87ad SHA512 4f25c75c1628ca2f4db1c29cebc63187d372603066b06aa6a66c6da792f9e02cb4a413e41f058a81e2d5a2b38d625de13df76115b278f010ce2fc493fe6e6bbb DIST glibmm-2.52.1.tar.xz 6451164 BLAKE2B 740178b51a2263ecc4778833fa6f2fd3913cdfc4e93b1a732a1b0ec9d43eb4ed60ab6bea48e02081d75a3ec1f98a149ebff47ced54dcce07e7ae011b2d20452d SHA512 702158762cb28972b315ab98dc00a62e532bda08b6e76dc2a2556e8cb381c2021290891887a4af2fbff5a62bab4d50581be73037dc8e0dc47d5febd6cbeb7bda DIST glibmm-2.54.1.tar.xz 6837384 BLAKE2B 98e4acb5b80786a27195bea43cc425a45219078ef839e97c60c9e3f52b3a0b3c928e19469d679529b5091d8ac1953d4f315ea75618c3fcc8f33d15f6565b5783 SHA512 94f2a4d6972684e25e38ff2e6bcfc1e9c5e4d096856d3419320c14166e27e26b1ad69be434337e9b70c23842989988113521aae7a800ef2f29e81f1ae6c25a13 +DIST glibmm-2.56.0.tar.xz 6859520 BLAKE2B 8d7f0120de211002d587e6ec0d3750dcdce60abae6506395b318be876d5ed680b1451920063f06d6d9655137d50482a9ba936caa0f6da127bb3855e43b4d877f SHA512 65e577009019e30e340ae5fe6e4c854e5a75551b2eb83ad85403d73eb4e77879783162d4c3c354bc37be0be842f0ddffc1977021a5e0c32985fb596d86929c08 diff --git a/dev-cpp/glibmm/glibmm-2.56.0.ebuild b/dev-cpp/glibmm/glibmm-2.56.0.ebuild new file mode 100644 index 000000000000..f1bd461d832f --- /dev/null +++ b/dev-cpp/glibmm/glibmm-2.56.0.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit gnome2 multilib-minimal + +DESCRIPTION="C++ interface for glib2" +HOMEPAGE="https://www.gtkmm.org" + +LICENSE="LGPL-2.1+ GPL-2+" # GPL-2+ applies only to the build system +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="doc debug test" + +RDEPEND=" + >=dev-libs/libsigc++-2.9.1:2[${MULTILIB_USEDEP}] + >=dev-libs/glib-2.55.1:2[${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen ) +" +# dev-cpp/mm-common needed for eautoreconf + +src_prepare() { + if ! use test; then + # don't waste time building tests + sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' \ + -i Makefile.am Makefile.in || die "sed 1 failed" + fi + + # don't build examples - we want to install example sources, not binaries + sed 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' \ + -i Makefile.am Makefile.in || die "sed 2 failed" + + gnome2_src_prepare +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" gnome2_src_configure \ + $(use_enable debug debug-refcounting) \ + $(multilib_native_use_enable doc documentation) \ + --enable-deprecated-api +} + +multilib_src_test() { + cd tests + default + + for i in */test; do + ${i} || die "Running tests failed at ${i}" + done +} + +multilib_src_install() { + gnome2_src_install +} + +multilib_src_install_all() { + einstalldocs + + find examples -type d -name '.deps' -exec rm -rf {} \; 2>/dev/null + find examples -type f -name 'Makefile*' -exec rm -f {} \; 2>/dev/null + dodoc -r examples +} diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz index d04e496e962d..4bc853e559d2 100644 Binary files a/dev-db/Manifest.gz and b/dev-db/Manifest.gz differ diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest index e8c4a3e7e94a..7a72bb867ed6 100644 --- a/dev-db/percona-server/Manifest +++ b/dev-db/percona-server/Manifest @@ -2,3 +2,4 @@ DIST mysql-extras-20171121-1518Z.tar.bz2 313539 BLAKE2B c397fdf7ffb3fcbcecda2093 DIST mysql-extras-20180628-0201Z.tar.bz2 322141 BLAKE2B fce35cfea4ffa9860908fcdf440cd0d714c402c42ee2afb22cec9e727971c216310c7db561ca1b37deebb2cea5137fe24f19b491ad500949e3170ccec3de0b13 SHA512 71a3800ec091b41e41d25536199149eb714c0bbfc0f6fc478e8e4dcaf4cf87a7e4d49c513da3c9badc0de810d7d78c05ad91dd898e45005b42136346237de42a DIST percona-server-5.6.39-83.1.tar.gz 56307662 BLAKE2B 474e497a83e7a8f7bf628b2622a0bfeead0f5003ed87dd4228e85a8b1c75bfdfc40f75604e9ed621f6d143d69bcada29163bf140b765951cf0b23e5660623e52 SHA512 d014bc0ebf8d8f1842b4a79eb0a868e3c9e0e33d3eb3cbf301b5504dcb341e1f2a0d6c2c4003666f59fbf75eb274356ee6b059ff2cddf2b457143ee5e1aba471 DIST percona-server-5.6.40-84.0.tar.gz 52684007 BLAKE2B 11658be2319880f7e8815c7b620b7d460dd7a559316ca96905573b0fa2d7180b084ed425f76f6d850f06862e424b5a8d6ced8356f9075826b77e89e86095eb40 SHA512 b1075933bdf1afb726acd799e834cb45a1d2a15d3f37f313da71f8da03a7b9480d7ccfb4cb6a820fb6ccf58851d8c9473bce975203cd6bc007a2b74b36a1127f +DIST percona-server-5.6.41-84.1.tar.gz 52736448 BLAKE2B 1ec5e17f08274caa3882f829f25bbf74a3b37d2ba208f62376106f0d89e5470f461f7852e365d5da9503d5500702e28f08461e5aa0c5ae6b1a30a0e98dbb426b SHA512 60783154f9ab097083a484c34e584b396eeba4aa53dc8616c467ca9c85cc626be08e3165740703453cc4fb35f3af94ac34260f1e2bb133d60f832661251cbb3c diff --git a/dev-db/percona-server/percona-server-5.6.41.84.1.ebuild b/dev-db/percona-server/percona-server-5.6.41.84.1.ebuild new file mode 100644 index 000000000000..a46ac7790a75 --- /dev/null +++ b/dev-db/percona-server/percona-server-5.6.41.84.1.ebuild @@ -0,0 +1,954 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20180628-0201Z" +PYTHON_COMPAT=( python2_7 ) +CMAKE_MAKEFILE_GENERATOR=emake + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit linux-info python-any-r1 eutils flag-o-matic prefix toolchain-funcs \ + versionator user cmake-utils multilib-minimal + +MY_PV=$(replace_version_separator 3 '-') +MY_PN="Percona-Server" +MY_MAJOR_PV=$(get_version_component_range 1-2) +MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/5.6/release-notes/release-notes_index.html" +SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz" + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://www.percona.com/software/percona-server" +DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team" +LICENSE="GPL-2" +SLOT="0/18" +IUSE="-client-libs cracklib debug jemalloc latin1 libressl numa pam +perl profiling rocksdb selinux + +server static static-libs systemtap tcmalloc test test-suite tokudb tokudb-backup-plugin yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="libressl? ( test )" + +REQUIRED_USE="tokudb-backup-plugin? ( tokudb ) tokudb? ( jemalloc !tcmalloc ) ?? ( tcmalloc jemalloc ) static? ( yassl )" + +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras" + EGIT_CLONE_TYPE=shallow + MY_PATCH_DIR="${WORKDIR}/mysql-extras" +else + MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch + "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch + "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.6.20.patch + "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch + "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch + "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch + "${MY_PATCH_DIR}"/20018_all_percona-server-5.6.39-without-clientlibs-tools.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +# MULTILIB_USEDEP only set for libraries used by the client library +COMMON_DEPEND=" + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + jemalloc? ( dev-libs/jemalloc:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + !yassl? ( + client-libs? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] ) + ) + !client-libs? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) + client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] ) + !client-libs? ( >=sys-libs/zlib-1.2.3:0= ) + sys-libs/ncurses:0= + server? ( + >=dev-libs/boost-1.65.0:= + numa? ( sys-process/numactl ) + pam? ( virtual/pam:0= ) + tokudb? ( app-arch/snappy ) + tokudb-backup-plugin? ( dev-util/valgrind ) + ) + !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) +" +DEPEND="virtual/yacc + static? ( sys-libs/ncurses[static-libs] ) + test? ( + $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]') + dev-perl/JSON + ) + ${COMMON_DEPEND}" +RDEPEND="selinux? ( sec-policy/selinux-mysql ) + abi_x86_32? ( !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] ) + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) + ${COMMON_DEPEND} +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +python_check_deps() { + has_version "dev-python/mysql-python[${PYTHON_USEDEP}]" +} + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]] ; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if use numa; then + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;" + WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die "Unsupported GCC version" + fi + + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die "Unsupported GCC version" + fi + + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + die "FEATURES=test with FEATURES=-userpriv is not supported" + fi + + if has test ${FEATURES} && ! use test ; then + eerror "FEATURES=test requires USE=test." + die "FEATURES=test set but not USE=test" + fi + + use test && python-any-r1_pkg_setup + fi + + # This should come after all of the die statements + enewgroup mysql 60 || die "problem adding 'mysql' group" + enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" +} + +src_unpack() { + unpack ${A} + + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR}/${PN}-${MY_PV}" "${S}" || die +} + +src_prepare() { + if use jemalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die + elif use tcmalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + # Don't build bundled xz-utils + if [[ -d "${S}/storage/tokudb/ft-index" ]] ; then + echo > "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die + sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die + elif [[ -d "${S}/storage/tokudb/PerconaFT" ]] ; then + echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die + sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die + fi + + if [[ -d "${S}/plugin/tokudb-backup-plugin" ]] && ! use tokudb-backup-plugin ; then + rm -r "${S}/plugin/tokudb-backup-plugin/Percona-TokuBackup" || die + fi + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + + cmake-utils_src_prepare +} + +src_configure() { + # bug 508724 mariadb cannot use ld.gold + tc-ld-disable-gold + + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + if use client-libs ; then + multilib-minimal_src_configure + else + multilib_src_configure + fi +} + +multilib_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + if ! multilib_is_native_abi && ! use client-libs ; then + return + fi + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr" + -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX%/}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_SCRIPTDIR=share/mysql/scripts + -DINSTALL_SQLBENCHDIR=NO + -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + ### TODO: make this system but issues with UTF-8 prevent it + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DWITH_LIBEVENT=NO + ) + if use test || use test-suite ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + if ! use client-libs ; then + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + # systemtap only works on native ABI bug 530132 + if multilib_is_native_abi; then + mycmakeargs+=( + -DENABLE_DTRACE=$(usex systemtap) + ) + else + mycmakeargs+=( + -DWITHOUT_TOOLS=1 + -DWITH_READLINE=1 + -DENABLE_DTRACE=0 + ) + fi + + if multilib_is_native_abi && use server ; then + mycmakeargs+=( + -DWITH_PAM=$(usex pam) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DENABLED_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_ROCKSDB=$(usex rocksdb 1 0) + $(usex tokudb '' -DWITHOUT_TOKUDB=1) + ) + + if use tokudb ; then + # TokuDB Backup plugin requires valgrind unconditionally + mycmakeargs+=( + $(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1) + ) + fi + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + if use client-libs ; then + multilib-minimal_src_compile + else + multilib_src_compile + fi +} + +multilib_src_compile() { + cmake-utils_src_compile +} + +# Official test instructions: +# FEATURES='test userpriv -usersandbox' \ +# ebuild percona-server-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die "Failed to create \"${T}/var-tests{,/log}\"" + + # Run mysql tests + pushd "${TESTDIR}" > /dev/null || die "Failed to chdir into \"${TESTDIR}\"" + + touch "${T}/disabled.def" + # These are failing in MySQL 5.6 for now and are believed to be + # false positives: + + local t + for t in main.mysql_client_test \ + binlog.binlog_statement_insert_delayed main.information_schema \ + main.mysqld--help-notwin binlog.binlog_mysqlbinlog_filter \ + perfschema.binlog_edge_mix perfschema.binlog_edge_stmt \ + funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers \ + main.variables main.myisam main.merge_recover \ + engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate \ + engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8 \ + engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate \ + main.percona_bug1289599 main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do + _disable_test "$t" "False positives in Gentoo" + done + + if use numa && use kernel_linux ; then + # bug 584880 + if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then + for t in sys_vars.innodb_buffer_pool_populate_basic ; do + _disable_test "$t" "Test $t requires system with NUMA support" + done + fi + fi + + # Set file limits higher so tests run + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" \ + --testcase-timeout=30 --reorder --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd > /dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + if [[ -n "$failures" ]] ; then + if has usersandbox ${FEATURES}; then + ewarn "Some tests may have failed due to FEATURES=usersandbox" + ewarn "Please confirm test failure with FEATURES=-usersandbox before reporting a bug." + fi + + die "Test failures: $failures" + fi + + einfo "Tests successfully completed" +} + +src_install() { + local MULTILIB_WRAPPED_HEADERS + local MULTILIB_CHOST_TOOLS + if use client-libs ; then + # headers with ABI specific data + MULTILIB_WRAPPED_HEADERS=( + /usr/include/mysql/server/my_config.h + /usr/include/mysql/server/mysql_version.h ) + + # wrap the config scripts + MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + multilib-minimal_src_install + else + multilib_src_install + multilib_src_install_all + fi +} + +# Intentionally override eclass function +multilib_src_install() { + cmake-utils_src_install + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +multilib_src_install_all() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -rf "${ED%/}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test-suite ; then + rm -rf "${D%/}/${MY_SHAREDSTATEDIR#/}/mysql-test" || die + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + mycnf_src="my.cnf-5.6" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok" + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + eprefixify "${TMPDIR}/my.cnf.ok" + newins "${TMPDIR}/my.cnf.ok" my.cnf + + if use server ; then + einfo "Including support files and sample configurations" + docinto "support-files" + for script in \ + "${S}"/support-files/my-*.cnf.sh \ + "${S}"/support-files/magic \ + "${S}"/support-files/ndb-config-2-node.ini.sh + do + [[ -f $script ]] && dodoc "${script}" + done + + docinto "scripts" + for script in "${S}"/scripts/mysql* ; do + [[ ( -f $script ) && ( ${script%.sh} == ${script} ) ]] && dodoc "${script}" + done + fi + + #Remove mytop if perl is not selected + [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +pkg_preinst() { + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${EROOT%/}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${EROOT%/}${MY_LOGDIR}" + + if use server ; then + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog " \"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + local _replacing_version= + for _replacing_version in ${REPLACING_VERSIONS}; do + local _new_version_branch=$(get_version_component_range 1-3 "${PV}") + local _replacing_version_branch=$(get_version_component_range 1-3 "${_replacing_version}") + debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..." + + if ! version_is_at_least "${_new_version_branch}" "${_replacing_version_branch}"; then + debug-print "Upgrading from v${_replacing_version_branch} to v${_new_version_branch} ..." + # https://www.percona.com/blog/2014/09/19/mysql-upgrade-best-practices/ + + einfo + elog "You are upgrading an existing ${PN} installation, you should review" + elog "release notes at ${MY_RELEASE_NOTES_URI}" + elog "and run the mysql_upgrade tool." + einfo + + // Break loop - we only want to show this hint once + break + fi + done + fi + + elog "Since ${PN}-5.6.39.83.1-r1 we no longer provide client libs." + elog "Applications depending on client libs should migrate to virtual/libmysqlclient" + elog "which will pull-in dev-db/mysql-connector-c as their new client lib provider." + einfo + fi +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT%/}"/usr/bin/my_print_defaults + local section="${1}" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" + } + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + local old_MY_DATADIR="${MY_DATADIR}" + local old_HOME="${HOME}" + # my_print_defaults needs to read stuff in $HOME/.my.cnf + export HOME=${EPREFIX%/}/root + + # Make sure the vars are correctly initialized + mysql_init_vars + + [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" + if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" + fi + + if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then + local MY_DATADIR_s="${EROOT%/}/${MY_DATADIR#/}" + MY_DATADIR_s="${MY_DATADIR_s%%/}" + local old_MY_DATADIR_s="${EROOT%/}/${old_MY_DATADIR#/}" + old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" + + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then + if [[ -d "${MY_DATADIR_s}" ]]; then + ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" + ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" + else + elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" + mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ + || die "Moving MY_DATADIR failed" + fi + else + ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Attempting to use ${MY_DATADIR_s}" + else + eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" + die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" + fi + fi + fi + + # These are dir+prefix + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)" + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ -d "${EROOT%/}/${MY_DATADIR#/}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${EROOT%/}/${MY_DATADIR#/}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + if [[ ! -d "${EROOT%/}/${MYSQL_TMPDIR#/}" ]] ; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/${MYSQL_TMPDIR#/}" + fi + if [[ ! -d "${EROOT%/}/${MYSQL_LOG_BIN#/}" ]] ; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/${MYSQL_LOG_BIN#/}" + fi + if [[ ! -d "${EROOT%/}/${MYSQL_RELAY_LOG#/}" ]] ; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/${MYSQL_RELAY_LOG#/}" + fi + + local pwd1="a" + local pwd2="b" + local maxtry=15 + + if [ -z "${MYSQL_ROOT_PASSWORD}" ] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR%/}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR%/}/mysqld-help" + "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in grant-tables host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT%/}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${EROOT%/}/${MY_DATADIR#/}" ]] ; then + install -d -m 750 -o mysql -g mysql "${EROOT%/}/${MY_DATADIR#/}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null + + local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" ) + cmd+=( "--basedir=${EROOT%/}/usr" ${options} "--datadir=${EROOT%/}/${MY_DATADIR#/}" "--tmpdir=${EROOT%/}/${MYSQL_TMPDIR#/}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR%/}"/mysql_install_db.log 2>&1 + if [[ $? -ne 0 ]] ; then + grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EROOT%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${EROOT%/}/${MY_DATADIR#/}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT%/}/usr/sbin/mysqld \ + ${options} \ + --log-warnings=0 \ + --basedir=${EROOT%/}/usr \ + --datadir=${EROOT%/}/${MY_DATADIR#/} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} + --tmpdir=${EROOT%/}/${MYSQL_TMPDIR#/}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]] ; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" + "${EROOT%/}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + if [[ -n "${sqltmp}" ]] ; then + ebegin "Loading \"zoneinfo\", this step may require a few seconds" + "${EROOT%/}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -uroot \ + --password="${MYSQL_ROOT_PASSWORD}" \ + mysql < "${sqltmp}" + rc=$? + eend $? + [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" + fi + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-go/Manifest.gz b/dev-go/Manifest.gz index e21547444d74..59eeac7e2af3 100644 Binary files a/dev-go/Manifest.gz and b/dev-go/Manifest.gz differ diff --git a/dev-go/go-crypto/Manifest b/dev-go/go-crypto/Manifest index defc1d2c4e0f..c6220f177ef4 100644 --- a/dev-go/go-crypto/Manifest +++ b/dev-go/go-crypto/Manifest @@ -1,3 +1,2 @@ -DIST go-crypto-0_pre20150808.tar.gz 876947 BLAKE2B c6da903ec7b5308114f2e2a364d6a2936dc24be4f8f274116c811740f712f13b2926a6f84b6160c450d921dbbeeb7ce48371e593cfa4d8abf80308f3cf07ac26 SHA512 86826102ff7242259d79a31e543a03192d6b68a06635b46ebac349111bb8451605df1ad9b249c08d75895c38fb4ebbbfc716d40c8c981485395164e87db5a519 DIST go-crypto-0_pre20160126.tar.gz 902001 BLAKE2B 54d38a9aea69e01485417cbf8a900135730dca4bc79c9d5d1187eadb11a8dfca9ef6e72056c4ed4ad4a34b172379d94e6beb82ece9031411b8aa12af85200fb2 SHA512 168129ab9581b7348fb3285e045d99a0a837ac7bd65bf9f5e7a220fffbb9e2abf76da5f521c66eea7179eba0ad8da68d6f41cd9624ea40a9da25a18838427846 DIST go-crypto-0_pre20180816.tar.gz 1637516 BLAKE2B 800787412e1e52f70bc3df5b1b638e86ed2c66de86522786d7e3d8959f18d02426270d1f577ebaa8077d7d98c84ca7a358bed951c862a44b9293de8edebb17b4 SHA512 d2b730ba75b49b96f35969802b7321cd2efc89dcd2e8c0b8eaca545cb18287b34ad1c9ecbd07c6b4ace8708575d4586fbe1139d032a7038cc7221ad010d08074 diff --git a/dev-go/go-crypto/go-crypto-0_pre20150808.ebuild b/dev-go/go-crypto/go-crypto-0_pre20150808.ebuild deleted file mode 100644 index 32fa7915de5c..000000000000 --- a/dev-go/go-crypto/go-crypto-0_pre20150808.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -EGO_PN=golang.org/x/crypto/... -EGO_SRC=golang.org/x/crypto - -if [[ ${PV} = *9999* ]]; then - inherit golang-vcs -else - KEYWORDS="~amd64" - EGIT_COMMIT="83f1503f771a82af8a31f358eb825e9efb5dae6c" - SRC_URI="https://github.com/golang/crypto/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - inherit golang-vcs-snapshot -fi -inherit golang-build - -DESCRIPTION="Go supplementary cryptography libraries" -HOMEPAGE="https://godoc.org/golang.org/x/crypto" -LICENSE="BSD" -SLOT="0/${PVR}" -IUSE="" -DEPEND="" -RDEPEND="" - -src_prepare() { - # disable broken tests - sed -e 's:TestAgentForward(:_\0:' \ - -i src/${EGO_SRC}/ssh/test/agent_unix_test.go || die - sed -e 's:TestRunCommandSuccess(:_\0:' \ - -e 's:TestRunCommandStdin(:_\0:' \ - -e 's:TestRunCommandStdinError(:_\0:' \ - -e 's:TestRunCommandWeClosed(:_\0:' \ - -e 's:TestFuncLargeRead(:_\0:' \ - -e 's:TestKeyChange(:_\0:' \ - -e 's:TestValidTerminalMode(:_\0:' \ - -i src/${EGO_SRC}/ssh/test/session_test.go || die -} - -src_compile() { - # Create a writable GOROOT in order to avoid sandbox violations. - cp -sR "$(go env GOROOT)" "${T}/goroot" || die - rm -rf "${T}/goroot/src/${EGO_SRC}" || die - rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || die - export GOROOT="${T}/goroot" - golang-build_src_compile -} diff --git a/dev-go/go-crypto/go-crypto-9999.ebuild b/dev-go/go-crypto/go-crypto-9999.ebuild index 6cee16b68553..6a2b21ad3cb1 100644 --- a/dev-go/go-crypto/go-crypto-9999.ebuild +++ b/dev-go/go-crypto/go-crypto-9999.ebuild @@ -1,15 +1,15 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -EGO_PN=golang.org/x/crypto/... +EAPI=6 EGO_SRC=golang.org/x/crypto +EGO_PN=${EGO_SRC}/... if [[ ${PV} = *9999* ]]; then inherit golang-vcs else - KEYWORDS="~amd64" - EGIT_COMMIT="1e856cbfdf9bc25eefca75f83f25d55e35ae72e0" + KEYWORDS="~amd64 ~arm ~x86" + EGIT_COMMIT="aabede6cba87e37f413b3e60ebfc214f8eeca1b0" SRC_URI="https://github.com/golang/crypto/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" inherit golang-vcs-snapshot fi @@ -20,19 +20,31 @@ HOMEPAGE="https://godoc.org/golang.org/x/crypto" LICENSE="BSD" SLOT="0/${PVR}" IUSE="" -DEPEND="" +DEPEND=">=dev-go/go-sys-0_pre20180816:=" RDEPEND="" src_prepare() { - # disable broken tests - sed -e 's:TestAgentForward(:_\0:' \ - -i src/${EGO_SRC}/ssh/test/agent_unix_test.go || die - sed -e 's:TestRunCommandSuccess(:_\0:' \ - -e 's:TestRunCommandStdin(:_\0:' \ - -e 's:TestRunCommandStdinError(:_\0:' \ - -e 's:TestRunCommandWeClosed(:_\0:' \ - -e 's:TestFuncLargeRead(:_\0:' \ - -e 's:TestKeyChange(:_\0:' \ - -e 's:TestValidTerminalMode(:_\0:' \ - -i src/${EGO_SRC}/ssh/test/session_test.go || die + default + sed -e 's:TestLockOpenSSHAgent(:_\0:' \ + -i src/${EGO_SRC}/ssh/agent/client_test.go || die +} + +src_compile() { + # Exclude $(get_golibdir_gopath) from GOPATH, for bug 577908 which may + # or may not manifest, depending on what libraries are installed. + mkdir -p "${T}/golibdir/src/golang.org/x" || die + ln -s "$(get_golibdir_gopath)/src/golang.org/x/sys" "${T}/golibdir/src/golang.org/x/sys" || die + GOPATH="${S}:${T}/golibdir" GOBIN="$(go env GOROOT)/bin" \ + go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die +} + +src_test() { + # Exclude $(get_golibdir_gopath) from GOPATH + GOPATH="${S}:${T}/golibdir" GOBIN="$(go env GOROOT)/bin" \ + go test -v -work -x "${EGO_PN}" || die +} + +src_install() { + rm -rf "${S}/src/${EGO_SRC}/.git"* || die + golang_install_pkgs } diff --git a/dev-go/go-net/Manifest b/dev-go/go-net/Manifest index c1906307d493..7010e13a6f5c 100644 --- a/dev-go/go-net/Manifest +++ b/dev-go/go-net/Manifest @@ -1,3 +1,2 @@ -DIST go-net-0_pre20150804.tar.gz 539435 BLAKE2B f59222bd025bff05353c328072a028092bdc77c73fc438b78fb7c1aee5d3b152b1242ad5603a9da9e7e0a7bd1684bebe733342c0d5e415d1d1728f6e75e06cbd SHA512 02a9734f8335909a15280e925b11ff03b96fbedd6e48fa5c3f869ab1a8b3062971d634f7043f92cee685c618222b147fdee915f1d5d83bd82cdde171970287e3 DIST go-net-0_pre20160216.tar.gz 741192 BLAKE2B ed4ca3ddc71f794a92746e360157967582958e4de29a46c5e63964694986e5a8a4f95062a1d46881941e8e8dfb848bbd9c4bd3b7008d8f2da357c2cae9a441ae SHA512 75db9098b33ede5621fce36645ebe946fad911c815dae219d74242b15714d1b9a3d8544f5f8c90b58989cea3a46b5688d20f705cb24a7d31f201ec218e69e78f DIST go-net-0_pre20180816.tar.gz 965206 BLAKE2B 018ab877bfa7208bb0ca9b4ede85077ed37c8ee3c7065569646e6c9704715d6810b0286276ea0fa9a271f12ffbe964b41f55ec762711c8a43ccea564607f3265 SHA512 d56f5608e64e8d883a782f0c460f08da20e7d01a97330fad35c8757420ac82fb84b657c3f64e3c4d90a08cc4d8905ab37225d6fab8472e8f1fd3d7be212df8b9 diff --git a/dev-go/go-net/go-net-0_pre20150804.ebuild b/dev-go/go-net/go-net-0_pre20150804.ebuild deleted file mode 100644 index 44adb09a05e9..000000000000 --- a/dev-go/go-net/go-net-0_pre20150804.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -EGO_PN=golang.org/x/net/... -EGO_SRC=golang.org/x/net - -if [[ ${PV} = *9999* ]]; then - inherit golang-vcs -else - KEYWORDS="~amd64" - EGIT_COMMIT="1bc0720082d79ce7ffc6ef6e523d00d46b0dee45" - SRC_URI="https://github.com/golang/net/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - inherit golang-vcs-snapshot -fi -inherit golang-build - -DESCRIPTION="Go supplementary network libraries" -HOMEPAGE="https://godoc.org/golang.org/x/net" -LICENSE="BSD" -SLOT="0/${PVR}" -IUSE="" -DEPEND="dev-go/go-text:=" -RDEPEND="" - -src_prepare() { - # disable broken tests - sed -e 's:TestReadProppatch(:_\0:' \ - -i src/${EGO_SRC}/webdav/xml_test.go || die - sed -e 's:TestPingGoogle(:_\0:' \ - -e 's:TestNonPrivilegedPing(:_\0:' \ - -i src/${EGO_SRC}/icmp/ping_test.go || die -} - -src_compile() { - # Create a writable GOROOT in order to avoid sandbox violations. - cp -sR "$(go env GOROOT)" "${T}/goroot" || die - rm -rf "${T}/goroot/src/${EGO_SRC}" || die - rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || die - export GOROOT="${T}/goroot" - golang-build_src_compile -} diff --git a/dev-go/go-net/go-net-9999.ebuild b/dev-go/go-net/go-net-9999.ebuild index bf416c447af4..f9b9ae5ffca2 100644 --- a/dev-go/go-net/go-net-9999.ebuild +++ b/dev-go/go-net/go-net-9999.ebuild @@ -1,15 +1,15 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -EGO_PN=golang.org/x/net/... +EAPI=6 EGO_SRC=golang.org/x/net +EGO_PN=${EGO_SRC}/... if [[ ${PV} = *9999* ]]; then inherit golang-vcs else - KEYWORDS="~amd64" - EGIT_COMMIT="b6d7b1396ec874c3b00f6c84cd4301a17c56c8ed" + KEYWORDS="~amd64 ~arm ~x86" + EGIT_COMMIT="aaf60122140d3fcf75376d319f0554393160eb50" SRC_URI="https://github.com/golang/net/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" inherit golang-vcs-snapshot fi @@ -20,24 +20,40 @@ HOMEPAGE="https://godoc.org/golang.org/x/net" LICENSE="BSD" SLOT="0/${PVR}" IUSE="" -DEPEND="dev-go/go-crypto:= - dev-go/go-text:=" +DEPEND=">=dev-go/go-crypto-0_pre20180816:= + >=dev-go/go-sys-0_pre20180816:= + >=dev-go/go-text-0.3.0:=" RDEPEND="" src_prepare() { - # disable broken tests - sed -e 's:TestReadProppatch(:_\0:' \ - -i src/${EGO_SRC}/webdav/xml_test.go || die - sed -e 's:TestPingGoogle(:_\0:' \ - -e 's:TestNonPrivilegedPing(:_\0:' \ - -i src/${EGO_SRC}/icmp/ping_test.go || die + default + sed -e 's:TestDiag(:_\0:' \ + -e 's:TestConcurrentNonPrivilegedListenPacket(:_\0:' \ + -i src/${EGO_SRC}/icmp/diag_test.go || die + sed -e 's:TestConcurrentNonPrivilegedListenPacket(:_\0:' \ + -i src/${EGO_SRC}/icmp/diag_test.go || die + sed -e 's:TestMultipartMessageBodyLen(:_\0:' \ + -i src/${EGO_SRC}/icmp/multipart_test.go || die } src_compile() { - # Create a writable GOROOT in order to avoid sandbox violations. - cp -sR "$(go env GOROOT)" "${T}/goroot" || die - rm -rf "${T}/goroot/src/${EGO_SRC}" || die - rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || die - export GOROOT="${T}/goroot" - golang-build_src_compile + local x + mkdir -p "${T}/golibdir/src/golang.org/x" || die + for x in sys text crypto; do + ln -s "$(get_golibdir_gopath)/src/golang.org/x/${x}" "${T}/golibdir/src/golang.org/x/${x}" || die + done + env GOPATH="${S}:${T}/golibdir" GOBIN="${S}/bin" \ + go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die +} + +src_test() { + GOPATH="${S}:${T}/golibdir" GOBIN="${S}/bin" \ + go test -v -work -x "${EGO_PN}" || die +} + +src_install() { + rm -rf "${S}/src/${EGO_SRC}/.git"* || die + golang_install_pkgs + exeinto "$(go env GOROOT)/bin" + doexe bin/* } diff --git a/dev-go/go-sys/Manifest b/dev-go/go-sys/Manifest index 6ced79da8714..2d86569345e7 100644 --- a/dev-go/go-sys/Manifest +++ b/dev-go/go-sys/Manifest @@ -1,3 +1,2 @@ -DIST go-sys-0_pre20150729.tar.gz 529002 BLAKE2B cc51b55c9bad7fffb9bf4d3c00ffb62dbff0e6765873f5a4b07ab4afdc0066a4f8c9d943fa7d8532345207f5bd1eb2b219922f9e7d33d25eb699902b4f5b960c SHA512 f80afa938977f3945ab3f08462eaf5d8db430013240a11b1f8a43911948fd2a8a390192ea9ebf79434b348b2ca520267a0441b922110e70603fff4849e57c487 DIST go-sys-0_pre20160204.tar.gz 542894 BLAKE2B 6f3969e8beb9311a742b61a188826b92fcbb211cc0159870a2dad389710681ae415506f667feed1f82940c2f223acdb21ba8e09a94a322c2ee07948598397937 SHA512 59db0ba47447869f2339ea60b8766e1464f48e22a619da2aecc07977b146a54feb4e3fa4e6076b8d1c2deb11ffab3c820e4a61602f2ce3121df7cb08e0267569 DIST go-sys-0_pre20180816.tar.gz 994494 BLAKE2B 24132a6dc2b8e73a28209418d8e89c62da4620b3ceed30ac51bd2f4e06a9bb37c9402e50f0f18b77ff9b0c4106836db894bb7f8d9b2ea77bca621aeb5999f460 SHA512 ae95fa505beab9791824fec5e4a52590b21d54af314db3219ef7545ab93059a5b8d1a6d3f81353852c72d2f515ad6bc9d6a0b5ae28b5b17a82cedd241165a2e4 diff --git a/dev-go/go-sys/go-sys-0_pre20150729.ebuild b/dev-go/go-sys/go-sys-0_pre20150729.ebuild deleted file mode 100644 index 3a8840f6c759..000000000000 --- a/dev-go/go-sys/go-sys-0_pre20150729.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -EGO_PN=golang.org/x/sys/... -EGO_SRC=golang.org/x/sys - -if [[ ${PV} = *9999* ]]; then - inherit golang-vcs -else - KEYWORDS="~amd64" -EGIT_COMMIT="58da1121af381632b48b2843aeb16299f2e1dc50" - SRC_URI="https://github.com/golang/sys/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - inherit golang-vcs-snapshot -fi -inherit golang-build - -DESCRIPTION="Go packages for low-level interaction with the operating system" -HOMEPAGE="https://godoc.org/golang.org/x/sys" -LICENSE="BSD" -SLOT="0/${PVR}" -IUSE="" -DEPEND="" -RDEPEND="" - -src_compile() { - # Create a writable GOROOT in order to avoid sandbox violations. - cp -sR "$(go env GOROOT)" "${T}/goroot" || die - rm -rf "${T}/goroot/src/${EGO_SRC}" || die - rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || die - export GOROOT="${T}/goroot" - golang-build_src_compile -} diff --git a/dev-go/go-sys/go-sys-9999.ebuild b/dev-go/go-sys/go-sys-9999.ebuild index 9ccb2c39b1ef..9fb94bbaa68a 100644 --- a/dev-go/go-sys/go-sys-9999.ebuild +++ b/dev-go/go-sys/go-sys-9999.ebuild @@ -1,15 +1,14 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=6 EGO_PN=golang.org/x/sys/... -EGO_SRC=golang.org/x/sys if [[ ${PV} = *9999* ]]; then inherit golang-vcs else - KEYWORDS="~amd64" -EGIT_COMMIT="58e109635f5d754f4b3a8a0172db65a52fcab866" + KEYWORDS="~amd64 ~arm ~x86" + EGIT_COMMIT="1c9583448a9c3aa0f9a6a5241bf73c0bd8aafded" SRC_URI="https://github.com/golang/sys/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" inherit golang-vcs-snapshot fi @@ -22,3 +21,18 @@ SLOT="0/${PVR}" IUSE="" DEPEND="" RDEPEND="" + +src_compile() { + GOPATH="${S}" GOBIN="$(go env GOROOT)/bin" \ + go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die +} + +src_test() { + GOPATH="${S}" GOBIN="$(go env GOROOT)/bin" \ + go test -v -work -x "${EGO_PN}" || die +} + +src_install() { + rm -rf "${S}/src/${EGO_PN%/...}/.git"* || die + golang_install_pkgs +} diff --git a/dev-go/go-text/Manifest b/dev-go/go-text/Manifest index b2c4e9e89ff8..16810c9fb0d2 100644 --- a/dev-go/go-text/Manifest +++ b/dev-go/go-text/Manifest @@ -1,3 +1,2 @@ DIST go-text-0.3.0.tar.gz 6102619 BLAKE2B c92e68014a8c157d76741c02acd708771d66bd3dda5b19285f5aa3e073e0fe3fccb9054744d35ea62b681ae4421bb7489238d6868f9314fb26f88e002287abe8 SHA512 bd60dfaa7d9dbfca171a3ba40b51f5663c01257cf3b12b618d35689a97ab2212d316d5716ff09681bf40b099f7e20a0e0df8cfc065699cb6a07ad1dc2e2bc189 -DIST go-text-0_pre20150806.tar.gz 3736536 BLAKE2B afc6a95116426f9b981432c772c374cb3c84d300e81af1599383be74d00830556d36ff614d88e8952b89974ecb238b77725a3d1a83dc65a0f85dafa3d29a2dff SHA512 dd0fc8b5abdfa6f005316bb7828c03a081485e0bd33cbf86c0b83f8bf9240973a7b0a2e6f52ef75f48ec00fc922be21a6c65ff9eb4080f28cb3f280bd4c4f5c6 DIST go-text-0_pre20160211.tar.gz 4015547 BLAKE2B ad85f27761e2fd91a6acff497fe9b720484d51c6d75032c02fe21784dff78b4b900ac95aab394a6db1f7b2c9fb5a3d1cbde8db2aaa4c099b19357d82f747eb89 SHA512 066e53f6e094a6cf3effe1a9376f7bde41c3059099381bb5adf8c84589de4dab9115ce3c8cb7f89f90e2601422f79e3906f8f498d66e364da9f830ede1f7f05f diff --git a/dev-go/go-text/go-text-0_pre20150806.ebuild b/dev-go/go-text/go-text-0_pre20150806.ebuild deleted file mode 100644 index 3fb9794a126a..000000000000 --- a/dev-go/go-text/go-text-0_pre20150806.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -EGO_PN=golang.org/x/text/... -EGO_SRC=golang.org/x/text - -if [[ ${PV} = *9999* ]]; then - inherit golang-vcs -else - KEYWORDS="~amd64" - EGIT_COMMIT="1309a1875a4368c12688b9383c6bcac738c17c29" - SRC_URI="https://github.com/golang/text/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - inherit golang-vcs-snapshot -fi -inherit golang-build - -DESCRIPTION="Go text processing support" -HOMEPAGE="https://godoc.org/golang.org/x/text" -LICENSE="BSD" -SLOT="0/${PVR}" -IUSE="" -DEPEND="" -RDEPEND="" - -src_compile() { - # Create a writable GOROOT in order to avoid sandbox violations. - cp -sR "$(go env GOROOT)" "${T}/goroot" || die - rm -rf "${T}/goroot/src/${EGO_SRC}" || die - rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || die - export GOROOT="${T}/goroot" - golang-build_src_compile -} - -src_test() { - # Create go symlink for TestLinking in display/dict_test.go - mkdir -p "${GOROOT}/bin" - ln -s /usr/bin/go "${GOROOT}/bin/go" || die - golang-build_src_test -} - -src_install() { - golang-build_src_install - export -n GOROOT - exeopts -m0755 -p # preserve timestamps for bug 551486 - exeinto "$(go env GOROOT)/bin" - doexe bin/* -} diff --git a/dev-go/go-text/go-text-9999.ebuild b/dev-go/go-text/go-text-9999.ebuild index 5768c80ac6f4..4d851787c267 100644 --- a/dev-go/go-text/go-text-9999.ebuild +++ b/dev-go/go-text/go-text-9999.ebuild @@ -1,16 +1,16 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=6 -EGO_PN=golang.org/x/text/... EGO_SRC=golang.org/x/text +EGO_PN=${EGO_SRC}/... if [[ ${PV} = *9999* ]]; then inherit golang-vcs else - KEYWORDS="~amd64" - EGIT_COMMIT="df923bbb63f8ea3a26bb743e2a497abd0ab585f7" + KEYWORDS="~amd64 ~arm ~x86" + EGIT_COMMIT="v${PV}" SRC_URI="https://github.com/golang/text/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" inherit golang-vcs-snapshot fi @@ -21,28 +21,28 @@ HOMEPAGE="https://godoc.org/golang.org/x/text" LICENSE="BSD" SLOT="0/${PVR}" IUSE="" -DEPEND="" +DEPEND=">=dev-go/go-tools-0_pre20180817" RDEPEND="" -src_test() { - # Create a writable GOROOT in order to avoid sandbox violations. - cp -sR "$(go env GOROOT)" "${T}/goroot" || die - if [ -d "${T}/goroot/src/${EGO_SRC}" ]; then - rm -rf "${T}/goroot/src/${EGO_SRC}" || die - fi - if [ -d "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" ]; then - rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || - die - fi - - # Create go symlink for TestLinking in display/dict_test.go - mkdir -p "${T}/goroot/bin" - ln -s /usr/bin/go "${T}/goroot/bin/go" || die - - GOROOT="${T}/goroot" golang-build_src_test +src_compile() { + # Create an isolated golibdir in order to avoid an + # "use of internal package not allowed" error when + # and older version is installed. + mkdir -p "${T}/golibdir/src/golang.org/x" || die + ln -s "$(get_golibdir_gopath)/src/golang.org/x/tools" "${T}/golibdir/src/golang.org/x/tools" || die + GOPATH="${S}:${T}/golibdir" GOBIN="${S}/bin" \ + go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die } src_install() { - golang-build_src_install - dobin bin/* + rm -rf "${S}/src/${EGO_SRC}/.git"* || die + golang_install_pkgs + exeopts -m0755 -p # preserve timestamps for bug 551486 + exeinto "$(go env GOROOT)/bin" + doexe bin/* +} + +src_test() { + GOPATH="${S}:${T}/golibdir" GOBIN="${S}/bin" \ + go test -v -work -x "${EGO_PN}" || die } diff --git a/dev-go/go-tools/Manifest b/dev-go/go-tools/Manifest index f9fbac28648b..3c8b3725c646 100644 --- a/dev-go/go-tools/Manifest +++ b/dev-go/go-tools/Manifest @@ -1,7 +1,4 @@ DIST github.com-golang-net-aaf60122140d3fcf75376d319f0554393160eb50.tar.gz 965206 BLAKE2B 018ab877bfa7208bb0ca9b4ede85077ed37c8ee3c7065569646e6c9704715d6810b0286276ea0fa9a271f12ffbe964b41f55ec762711c8a43ccea564607f3265 SHA512 d56f5608e64e8d883a782f0c460f08da20e7d01a97330fad35c8757420ac82fb84b657c3f64e3c4d90a08cc4d8905ab37225d6fab8472e8f1fd3d7be212df8b9 DIST go-favicon.ico 1150 BLAKE2B 7cef9e0c7031531ceaddc56b9e7cb8c09cf3ebf08bbdd53876edcf48d412c55968268190b1fe1814e21efc5669618a5e07d30d7bdbb73b4cbeca9a31b3185fc5 SHA512 194c4b3c360321a10f714b6755d9155de6129682b4070d19b52d0d5706fcbd1d244ea38c33fd77fe1dec85b3e39720dd0a62f5b126803036fbc8337a9d72fea6 -DIST go-tools-0_pre20150823.tar.gz 1633447 BLAKE2B 00866c14139099821fc883ab3908b47481a3ea5af323977fdd84622f43e8998a6fcf6c0a4cbf0c6bb98494d1f4b1fdd0d281447b67a0766af1e5b4f68cf24e27 SHA512 6d906bae8433182e7a105a46b92c4f64ac145196ccc72f8934376fc49e5d554182931745e92229c4571323a6eba9ce2f680b5add3844ecb593a194cbbc1b0b63 -DIST go-tools-0_pre20150902.tar.gz 1630401 BLAKE2B 5f23e4d05c614584bfd2ac77d15ad4b464f083b489b1a687a823d014d848ce38ac5006a379eb46f37e7aba0419b7f1b4d48c053aae89c6ac912366e5ddc487c3 SHA512 437d5178ce5bf6c4d39ad638259e7c18150d2574dffb632003fa0b83a61a9103e666e562aecc6e8412d995e4b5ffacda6bc12b1cfbbea0b22a5ff680a0a7e3e1 -DIST go-tools-0_pre20160121.tar.gz 1768660 BLAKE2B ebc7622967dbb82c6578591c108bba8c96cb7df56360d445b02de1da905ac64b4901057acd36e3d2ab5ec51e5e2ff206efae6a9f9523180e53434adcdad278e3 SHA512 ca4b213a6f398f9bb61a81784fb6dcb4a82994e2d7a95134fc5203ce0f65848d192b2d7c8975a59199db873942c23562866a5607347e060ac0af370d72e067e2 DIST go-tools-0_pre20160220.tar.gz 1827046 BLAKE2B 26b4080540958764c42fffc1cb6a1597705c0a7ea85357b5169f9a0bf6939d7c5475681f6fede8b46a88ef58c72afa9eaa9da3fb66a3bbbb19942d0a1887bbeb SHA512 95c9deb9b01b2f294818fcc847e457ab313d5831a839bf9cfeb1a00a0efd833de3fdfd3ecfe7ecfa2dd236ffcf963e73205d7b5b25fa41ab51c7601dc632bce1 DIST go-tools-0_pre20180817.tar.gz 2321169 BLAKE2B d1ba93b36b62bfbf53770cab6c96019d1a96db0ff6521f591577d866f74a1f65ec24e41a06f81d0040be7122f2e0da734e68d0a72591040265b5f95b324645fe SHA512 1af6c4a58f4d1985dc55e4342d9a4f26ada646ffe87fafdb5bdf876ad972a9f826da257ff9a10956c24dbc90ed9d6935bb78b4f7d30f9e50493c60f7ce92edb1 diff --git a/dev-go/go-tools/go-tools-0_pre20150823-r1.ebuild b/dev-go/go-tools/go-tools-0_pre20150823-r1.ebuild deleted file mode 100644 index 3fcfd947ef6d..000000000000 --- a/dev-go/go-tools/go-tools-0_pre20150823-r1.ebuild +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -EGO_PN="golang.org/x/tools/..." -EGO_SRC="golang.org/x/tools" - -if [[ ${PV} = *9999* ]]; then - inherit golang-vcs -else - EGIT_COMMIT="6c9aff3" - ARCHIVE_URI="https://github.com/golang/tools/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" - inherit golang-vcs-snapshot -fi -inherit golang-build - -DESCRIPTION="Go Tools" -HOMEPAGE="https://godoc.org/golang.org/x/tools" -SRC_URI="${ARCHIVE_URI} - http://golang.org/favicon.ico -> go-favicon.ico" -LICENSE="BSD" -SLOT="0/${PVR}" -IUSE="" -DEPEND="dev-go/go-net:=" -RDEPEND="" - -src_prepare() { - # disable broken tests - sed -e 's:TestWeb(:_\0:' \ - -i src/${EGO_SRC}/cmd/godoc/godoc_test.go || die - sed -e 's:TestVet(:_\0:' \ - -i src/${EGO_SRC}/cmd/vet/vet_test.go || die - sed -e 's:TestImport(:_\0:' \ - -i src/${EGO_SRC}/go/gcimporter/gcimporter_test.go || die - sed -e 's:TestImportStdLib(:_\0:' \ - -i src/${EGO_SRC}/go/importer/import_test.go || die - sed -e 's:TestStdlib(:_\0:' \ - -i src/${EGO_SRC}/go/loader/stdlib_test.go || die - sed -e 's:TestStdlib(:_\0:' \ - -i src/${EGO_SRC}/go/ssa/stdlib_test.go || die - sed -e 's:TestGorootTest(:_\0:' \ - -e 's:TestFoo(:_\0:' \ - -e 's:TestTestmainPackage(:_\0:' \ - -i src/${EGO_SRC}/go/ssa/interp/interp_test.go || die - sed -e 's:TestBar(:_\0:' \ - -e 's:TestFoo(:_\0:' \ - -i src/${EGO_SRC}/go/ssa/interp/testdata/a_test.go || die - sed -e 's:TestCheck(:_\0:' \ - -i src/${EGO_SRC}/go/types/check_test.go || die - sed -e 's:TestStdlib(:_\0:' \ - -e 's:TestStdFixed(:_\0:' \ - -e 's:TestStdKen(:_\0:' \ - -i src/${EGO_SRC}/go/types/stdlib_test.go || die - sed -e 's:TestRepoRootForImportPath(:_\0:' \ - -i src/${EGO_SRC}/go/vcs/vcs_test.go || die - sed -e 's:TestStdlib(:_\0:' \ - -i src/${EGO_SRC}/refactor/lexical/lexical_test.go || die - - # Add favicon to the godoc web interface (bug 551030) - cp "${DISTDIR}"/go-favicon.ico "src/${EGO_SRC}/godoc/static/favicon.ico" || - die - sed -e 's:"example.html",:\0\n\t"favicon.ico",:' \ - -i src/${EGO_SRC}/godoc/static/makestatic.go || die - sed -e 's:\n\0:' \ - -i src/${EGO_SRC}/godoc/static/godoc.html || die -} - -src_compile() { - # Generate static.go with favicon included - pushd src/golang.org/x/tools/godoc/static >/dev/null || die - go run makestatic.go || die - popd >/dev/null - - golang-build_src_compile -} - -src_install() { - # Create a writable GOROOT in order to avoid sandbox violations. - cp -sR "$(go env GOROOT)" "${T}/goroot" || die - - GOROOT="${T}/goroot" golang-build_src_install - - # bug 558818: install binaries in $GOROOT/bin to avoid file collisions - exeinto "$(go env GOROOT)/bin" - doexe bin/* "${T}/goroot/bin/godoc" - dodir /usr/bin - ln "${ED}$(go env GOROOT)/bin/godoc" "${ED}usr/bin/godoc" || die - - if has_version '