diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b17678a --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +profiles/use.local.desc +metadata/pkg_desc_index +metadata/md5-cache/* diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass new file mode 100644 index 0000000..02c7042 --- /dev/null +++ b/eclass/kernel-2.eclass @@ -0,0 +1,1549 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: kernel-2.eclass +# @MAINTAINER: +# Gentoo Kernel project +# @AUTHOR: +# John Mylchreest +# Mike Pagano +# +# @SUPPORTED_EAPIS: 7 8 +# @BLURB: Eclass for kernel packages +# @DESCRIPTION: +# This is the kernel.eclass rewrite for a clean base regarding the 2.6 +# series of kernel with back-compatibility for 2.4 +# Please direct your bugs to the current eclass maintainer :) +# added functionality: +# unipatch - a flexible, singular method to extract, add and remove patches. + +# @ECLASS_VARIABLE: CTARGET +# @INTERNAL +# @DESCRIPTION: +# Utilized for 32-bit userland on ppc64. + +# @ECLASS_VARIABLE: CKV +# @DEFAULT_UNSET +# @DESCRIPTION: +# Used as a comparison kernel version, which is used when +# PV doesnt reflect the genuine kernel version. +# This gets set to the portage style versioning. ie: +# CKV=2.6.11_rc4 + +# @ECLASS_VARIABLE: EXTRAVERSION +# @DEFAULT_UNSET +# @DESCRIPTION: +# The additional version appended to OKV (-gentoo/-gentoo-r1) + +# @ECLASS_VARIABLE: H_SUPPORTEDARCH +# @DEFAULT_UNSET +# @DESCRIPTION: +# this should be a space separated list of ARCH's which +# can be supported by the headers ebuild + +# @ECLASS_VARIABLE: K_BASE_VER +# @DEFAULT_UNSET +# @DESCRIPTION: +# for git-sources, declare the base version this patch is +# based off of. + +# @ECLASS_VARIABLE: K_DEBLOB_AVAILABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# A value of "0" will disable all of the optional deblob +# code. If empty, will be set to "1" if deblobbing is +# possible. Test ONLY for "1". + +# @ECLASS_VARIABLE: K_DEBLOB_TAG +# @DEFAULT_UNSET +# @DESCRIPTION: +# This will be the version of deblob script. It's a upstream SVN tag +# such asw -gnu or -gnu1. + +# @ECLASS_VARIABLE: K_DEFCONFIG +# @DEFAULT_UNSET +# @DESCRIPTION: +# Allow specifying a different defconfig target. +# If length zero, defaults to "defconfig". + +# @ECLASS_VARIABLE: K_EXP_GENPATCHES_PULL +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set, we pull "experimental" regardless of the USE FLAG +# but expect the ebuild maintainer to use K_EXP_GENPATCHES_LIST. + +# @ECLASS_VARIABLE: K_EXP_GENPATCHES_NOUSE +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set, no USE flag will be provided for "experimental"; +# as a result the user cannot choose to apply those patches. + +# @ECLASS_VARIABLE: K_EXP_GENPATCHES_LIST +# @DEFAULT_UNSET +# @DESCRIPTION: +# A list of patches to pick from "experimental" to apply when +# the USE flag is unset and K_EXP_GENPATCHES_PULL is set. + +# @ECLASS_VARIABLE: K_EXTRAEINFO +# @DEFAULT_UNSET +# @DESCRIPTION: +# this is a new-line seperated list of einfo displays in +# postinst and can be used to carry additional postinst +# messages + +# @ECLASS_VARIABLE: K_EXTRAELOG +# @DEFAULT_UNSET +# @DESCRIPTION: +# same as K_EXTRAEINFO except using elog instead of einfo + +# @ECLASS_VARIABLE: K_EXTRAEWARN +# @DEFAULT_UNSET +# @DESCRIPTION: +# same as K_EXTRAEINFO except using ewarn instead of einfo + +# @ECLASS_VARIABLE: K_FROM_GIT +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set, this variable signals that the kernel sources derives +# from a git tree and special handling will be applied so that +# any patches that are applied will actually apply. + +# @ECLASS_VARIABLE: K_GENPATCHES_VER +# @DEFAULT_UNSET +# @DESCRIPTION: +# The version of the genpatches tarball(s) to apply. +# A value of "5" would apply genpatches-2.6.12-5 to +# my-sources-2.6.12.ebuild + +# @ECLASS_VARIABLE: K_LONGTERM +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set, the eclass will search for the kernel source +# in the long term directories on the upstream servers +# as the location has been changed by upstream + +# @ECLASS_VARIABLE: K_NODRYRUN +# @DEFAULT_UNSET +# @DESCRIPTION: +# if this is set then patch --dry-run will not +# be run. Certain patches will fail with this parameter +# See bug #507656 + +# @ECLASS_VARIABLE: K_NOSETEXTRAVERSION +# @DEFAULT_UNSET +# @DESCRIPTION: +# if this is set then EXTRAVERSION will not be +# automatically set within the kernel Makefile + +# @ECLASS_VARIABLE: K_NOUSENAME +# @DEFAULT_UNSET +# @DESCRIPTION: +# if this is set then EXTRAVERSION will not include the +# first part of ${PN} in EXTRAVERSION + +# @ECLASS_VARIABLE: K_NOUSEPR +# @DEFAULT_UNSET +# @DESCRIPTION: +# if this is set then EXTRAVERSION will not include the +# anything based on ${PR}. + +# @ECLASS_VARIABLE: K_PREDEBLOBBED +# @DEFAULT_UNSET +# @DESCRIPTION: +# This kernel was already deblobbed elsewhere. +# If false, either optional deblobbing will be available +# or the license will note the inclusion of linux-firmware code. + +# @ECLASS_VARIABLE: K_PREPATCHED +# @DEFAULT_UNSET +# @DESCRIPTION: +# if the patchset is prepatched (ie: pf-sources, +# zen-sources etc) it will use PR (ie: -r5) as the +# patchset version for and not use it as a true package +# revision + +# @ECLASS_VARIABLE: K_SECURITY_UNSUPPORTED +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set, this kernel is unsupported by Gentoo Security +# to the current eclass maintainer :) + +# @ECLASS_VARIABLE: K_SYMLINK +# @DEFAULT_UNSET +# @DESCRIPTION: +# if this is set, then forcably create symlink anyway + +# @ECLASS_VARIABLE: K_USEPV +# @DEFAULT_UNSET +# @DESCRIPTION: +# When setting the EXTRAVERSION variable, it should +# add PV to the end. +# this is useful for things like wolk. IE: +# EXTRAVERSION would be something like : -wolk-4.19-r1 + +# @ECLASS_VARIABLE: K_WANT_GENPATCHES +# @DEFAULT_UNSET +# @DESCRIPTION: +# Apply genpatches to kernel source. Provide any +# combination of "base", "extras" or "experimental". + +# @ECLASS_VARIABLE: KERNEL_URI +# @DEFAULT_UNSET +# @DESCRIPTION: +# Upstream kernel src URI + +# @ECLASS_VARIABLE: KV +# @DEFAULT_UNSET +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Kernel Version (2.6.0-gentoo/2.6.0-test11-gentoo-r1) + +# @ECLASS_VARIABLE: KV_FULL +# @DEFAULT_UNSET +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Kernel full version + +# @ECLASS_VARIABLE: KV_MAJOR +# @DEFAULT_UNSET +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Kernel major version from ......*" and not "_*" +# this should _NOT_ be used from the ebuild as this is +# reserved for end users passing excludes from the cli + +# @ECLASS_VARIABLE: UNIPATCH_LIST +# @DEFAULT_UNSET +# @DESCRIPTION: +# space delimetered list of patches to be applied to the kernel + +# @ECLASS_VARIABLE: UNIPATCH_LIST_DEFAULT +# @INTERNAL +# @DESCRIPTION: +# Upstream kernel patch archive + +# @ECLASS_VARIABLE: UNIPATCH_LIST_GENPATCHES +# @INTERNAL +# @DESCRIPTION: +# List of genpatches archives to apply to the kernel + +# @ECLASS_VARIABLE: UNIPATCH_STRICTORDER +# @DEFAULT_UNSET +# @DESCRIPTION: +# if this is set places patches into directories of +# order, so they are applied in the order passed +# Changing any other variable in this eclass is not supported; you can request +# for additional variables to be added by contacting the current maintainer. +# If you do change them, there is a chance that we will not fix resulting bugs; +# that of course does not mean we're not willing to help. + +inherit estack toolchain-funcs + +case ${EAPI} in + 7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +# Added by Daniel Ostrow +# This is an ugly hack to get around an issue with a 32-bit userland on ppc64. +# I will remove it when I come up with something more reasonable. +[[ ${PROFILE_ARCH} == ppc64 ]] && CHOST="powerpc64-${CHOST#*-}" + +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} && ${CATEGORY/cross-} != ${CATEGORY} ]]; then + export CTARGET=${CATEGORY/cross-} +fi + +HOMEPAGE="https://www.kernel.org/ https://wiki.gentoo.org/wiki/Kernel ${HOMEPAGE}" +: ${LICENSE:="GPL-2"} + +# No need to run scanelf/strip on kernel sources/headers (bug #134453). +RESTRICT="binchecks strip" + +# set LINUX_HOSTCFLAGS if not already set +: ${LINUX_HOSTCFLAGS:="-Wall -Wstrict-prototypes -Os -fomit-frame-pointer -I${S}/include"} + + +# @FUNCTION: debug-print-kernel2-variables +# @USAGE: +# @DESCRIPTION: +# this function exists only to help debug kernel-2.eclass +# if you are adding new functionality in, put a call to it +# at the start of src_unpack, or during SRC_URI/dep generation. + +debug-print-kernel2-variables() { + for v in PVR CKV OKV KV KV_FULL KV_MAJOR KV_MINOR KV_PATCH RELEASETYPE \ + RELEASE UNIPATCH_LIST_DEFAULT UNIPATCH_LIST_GENPATCHES \ + UNIPATCH_LIST S KERNEL_URI K_WANT_GENPATCHES ; do + debug-print "${v}: ${!v}" + done +} + +# @FUNCTION: handle_genpatches +# @USAGE: [--set-unipatch-list] +# @DESCRIPTION: +# add genpatches to list of patches to apply if wanted + +handle_genpatches() { + local tarball want_unipatch_list + [[ -z ${K_WANT_GENPATCHES} || -z ${K_GENPATCHES_VER} ]] && return 1 + + if [[ -n ${1} ]]; then + # set UNIPATCH_LIST_GENPATCHES only on explicit request + # since that requires 'use' call which can be used only in phase + # functions, while the function is also called in global scope + if [[ ${1} == --set-unipatch-list ]]; then + want_unipatch_list=1 + else + die "Usage: ${FUNCNAME} [--set-unipatch-list]" + fi + fi + + debug-print "Inside handle_genpatches" + local OKV_ARRAY + IFS="." read -r -a OKV_ARRAY <<<"${OKV}" + + # for > 3.0 kernels, handle genpatches tarball name + # genpatches for 3.0 and 3.0.1 might be named + # genpatches-3.0-1.base.tar.xz and genpatches-3.0-2.base.tar.xz + # respectively. Handle this. + + for i in ${K_WANT_GENPATCHES} ; do + if [[ ${KV_MAJOR} -ge 3 ]]; then + if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then + tarball="genpatches-${KV_MAJOR}.${KV_MINOR}-${K_GENPATCHES_VER}.${i}.tar.xz" + else + tarball="genpatches-${KV_MAJOR}.${KV_PATCH}-${K_GENPATCHES_VER}.${i}.tar.xz" + fi + else + tarball="genpatches-${OKV}-${K_GENPATCHES_VER}.${i}.tar.xz" + fi + + local use_cond_start="" use_cond_end="" + + if [[ ${i} == experimental && -z ${K_EXP_GENPATCHES_PULL} && -z ${K_EXP_GENPATCHES_NOUSE} ]]; then + use_cond_start="experimental? ( " + use_cond_end=" )" + + if [[ -n ${want_unipatch_list} ]] && use experimental; then + UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}" + debug-print "genpatches tarball: ${tarball}" + fi + elif [[ -n ${want_unipatch_list} ]]; then + UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}" + debug-print "genpatches tarball: ${tarball}" + fi + GENPATCHES_URI+=" ${use_cond_start}$(echo https://dev.gentoo.org/~{alicef,mpagano,whissi}/dist/genpatches/${tarball})${use_cond_end}" + done +} + +# @FUNCTION: detect_version +# @USAGE: +# @DESCRIPTION: +# this function will detect and set +# - OKV: Original Kernel Version (2.6.0/2.6.0-test11) +# - KV: Kernel Version (2.6.0-gentoo/2.6.0-test11-gentoo-r1) +# - EXTRAVERSION: The additional version appended to OKV (-gentoo/-gentoo-r1) +detect_version() { + # We've already run, so nothing to do here. + [[ -n ${KV_FULL} ]] && return 0 + + # CKV is used as a comparison kernel version, which is used when + # PV doesnt reflect the genuine kernel version. + # this gets set to the portage style versioning. ie: + # CKV=2.6.11_rc4 + CKV=${CKV:-${PV}} + OKV=${OKV:-${CKV}} + OKV=${OKV/_beta/-test} + OKV=${OKV/_rc/-rc} + OKV=${OKV/-r*} + OKV=${OKV/_p*} + + KV_MAJOR=$(ver_cut 1 ${OKV}) + # handle if OKV is X.Y or X.Y.Z (e.g. 3.0 or 3.0.1) + local OKV_ARRAY + IFS="." read -r -a OKV_ARRAY <<<"${OKV}" + + # if KV_MAJOR >= 3, then we have no more KV_MINOR + #if [[ ${KV_MAJOR} -lt 3 ]]; then + if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then + KV_MINOR=$(ver_cut 2 ${OKV}) + KV_PATCH=$(ver_cut 3 ${OKV}) + if [[ ${KV_MAJOR}${KV_MINOR}${KV_PATCH} -ge 269 ]]; then + KV_EXTRA=$(ver_cut 4- ${OKV}) + KV_EXTRA=${KV_EXTRA/[-_]*} + else + KV_PATCH=$(ver_cut 3- ${OKV}) + fi + else + KV_PATCH=$(ver_cut 2 ${OKV}) + KV_EXTRA=$(ver_cut 3- ${OKV}) + KV_EXTRA=${KV_EXTRA/[-_]*} + fi + + debug-print "KV_EXTRA is ${KV_EXTRA}" + + KV_PATCH=${KV_PATCH/[-_]*} + + local v n=0 missing + #if [[ ${KV_MAJOR} -lt 3 ]]; then + if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then + for v in CKV OKV KV_{MAJOR,MINOR,PATCH} ; do + [[ -z ${!v} ]] && n=1 && missing="${missing}${v} "; + done + else + for v in CKV OKV KV_{MAJOR,PATCH} ; do + [[ -z ${!v} ]] && n=1 && missing="${missing}${v} "; + done + fi + + [[ ${n} -eq 1 ]] && \ + eerror "Missing variables: ${missing}" && \ + die "Failed to extract kernel version (try explicit CKV in ebuild)!" + unset v n missing + +# if [[ ${KV_MAJOR} -ge 3 ]]; then + if [[ ${#OKV_ARRAY[@]} -lt 3 ]]; then + KV_PATCH_ARR=(${KV_PATCH//\./ }) + + # at this point 031412, Linus is putting all 3.x kernels in a + # 3.x directory, may need to revisit when 4.x is released + KERNEL_BASE_URI="https://www.kernel.org/pub/linux/kernel/v${KV_MAJOR}.x" + + [[ -n ${K_LONGTERM} ]] && + KERNEL_BASE_URI="${KERNEL_BASE_URI}/longterm/v${KV_MAJOR}.${KV_PATCH_ARR}" + else + #KERNEL_BASE_URI="https://www.kernel.org/pub/linux/kernel/v${KV_MAJOR}.0" + #KERNEL_BASE_URI="https://www.kernel.org/pub/linux/kernel/v${KV_MAJOR}.${KV_MINOR}" + if [[ ${KV_MAJOR} -ge 3 ]]; then + KERNEL_BASE_URI="https://www.kernel.org/pub/linux/kernel/v${KV_MAJOR}.x" + else + KERNEL_BASE_URI="https://www.kernel.org/pub/linux/kernel/v${KV_MAJOR}.${KV_MINOR}" + fi + + [[ -n ${K_LONGTERM} ]] && + #KERNEL_BASE_URI="${KERNEL_BASE_URI}/longterm" + KERNEL_BASE_URI="${KERNEL_BASE_URI}/longterm/v${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" + fi + + debug-print "KERNEL_BASE_URI is ${KERNEL_BASE_URI}" + + if [[ ${#OKV_ARRAY[@]} -ge 3 && ${KV_MAJOR} -ge 3 ]]; then + # handle non genpatch using sources correctly + if [[ -z ${K_WANT_GENPATCHES} && -z ${K_GENPATCHES_VER} && ${KV_PATCH} -gt 0 ]]; then + KERNEL_URI="${KERNEL_BASE_URI}/patch-${OKV}.xz" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV}.xz" + fi + KERNEL_URI="${KERNEL_URI} ${KERNEL_BASE_URI}/linux-${KV_MAJOR}.${KV_MINOR}.tar.xz" + else + KERNEL_URI="${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + fi + + RELEASE=${CKV/${OKV}} + RELEASE=${RELEASE/_beta} + RELEASE=${RELEASE/_rc/-rc} + RELEASE=${RELEASE/_pre/-pre} + # We cannot trivally call kernel_is here, because it calls us to detect the + # version + #kernel_is ge 2 6 && RELEASE=${RELEASE/-pre/-git} + (( KV_MAJOR * 1000 + ${KV_MINOR:-0} >= 2006 )) && RELEASE=${RELEASE/-pre/-git} + RELEASETYPE=${RELEASE//[0-9]} + + # Now we know that RELEASE is the -rc/-git + # and RELEASETYPE is the same but with its numerics stripped + # we can work on better sorting EXTRAVERSION. + # first of all, we add the release + EXTRAVERSION="${RELEASE}" + debug-print "0 EXTRAVERSION:${EXTRAVERSION}" + [[ -n ${KV_EXTRA} && ${KV_MAJOR} -lt 3 ]] && EXTRAVERSION=".${KV_EXTRA}${EXTRAVERSION}" + + debug-print "1 EXTRAVERSION:${EXTRAVERSION}" + if [[ -n ${K_NOUSEPR} ]]; then + # Don't add anything based on PR to EXTRAVERSION + debug-print "1.0 EXTRAVERSION:${EXTRAVERSION}" + elif [[ -n ${K_PREPATCHED} ]]; then + debug-print "1.1 EXTRAVERSION:${EXTRAVERSION}" + EXTRAVERSION="${EXTRAVERSION}-${PN/-*}${PR/r}" + elif [[ ${ETYPE} = sources ]]; then + debug-print "1.2 EXTRAVERSION:${EXTRAVERSION}" + # For some sources we want to use the PV in the extra version + # This is because upstream releases with a completely different + # versioning scheme. + case ${PN/-*} in + wolk) K_USEPV=1;; + vserver) K_USEPV=1;; + esac + + [[ -z ${K_NOUSENAME} ]] && EXTRAVERSION="${EXTRAVERSION}-${PN/-*}" + [[ -n ${K_USEPV} ]] && EXTRAVERSION="${EXTRAVERSION}-${PV//_/-}" + [[ -n ${PR//r0} ]] && EXTRAVERSION="${EXTRAVERSION}-${PR}" + fi + debug-print "2 EXTRAVERSION:${EXTRAVERSION}" + + # The only messing around which should actually effect this is for KV_EXTRA + # since this has to limit OKV to MAJ.MIN.PAT and strip EXTRA off else + # KV_FULL evaluates to MAJ.MIN.PAT.EXT.EXT after EXTRAVERSION + + if [[ -n ${KV_EXTRA} ]]; then + if [[ -n ${KV_MINOR} ]]; then + OKV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" + else + OKV="${KV_MAJOR}.${KV_PATCH}" + fi + KERNEL_URI="${KERNEL_BASE_URI}/patch-${CKV}.xz + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV}.xz" + fi + + # We need to set this using OKV, but we need to set it before we do any + # messing around with OKV based on RELEASETYPE + KV_FULL=${OKV}${EXTRAVERSION} + + # we will set this for backwards compatibility. + S="${WORKDIR}"/linux-${KV_FULL} + KV=${KV_FULL} + + # -rc-git pulls can be achieved by specifying CKV + # for example: + # CKV="2.6.11_rc3_pre2" + # will pull: + # linux-2.6.10.tar.xz & patch-2.6.11-rc3.xz & patch-2.6.11-rc3-git2.xz + + if [[ ${KV_MAJOR}${KV_MINOR} -eq 26 ]]; then + + if [[ ${RELEASETYPE} == -rc || ${RELEASETYPE} == -pre ]]; then + OKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_PATCH} - 1))" + KERNEL_URI="${KERNEL_BASE_URI}/testing/patch-${CKV//_/-}.xz + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.xz" + fi + + if [[ ${RELEASETYPE} == -git ]]; then + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${OKV}${RELEASE}.xz + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${OKV}${RELEASE}.xz" + fi + + if [[ ${RELEASETYPE} == -rc-git ]]; then + OKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_PATCH} - 1))" + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE}.xz + ${KERNEL_BASE_URI}/testing/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE/-git*}.xz + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE/-git*}.xz ${DISTDIR}/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE}.xz" + fi + else + KV_PATCH_ARR=(${KV_PATCH//\./ }) + + # the different majorminor versions have different patch start versions + OKV_DICT=(["2"]="${KV_MAJOR}.$((${KV_PATCH_ARR} - 1))" ["3"]="2.6.39" ["4"]="3.19") + + if [[ ${RELEASETYPE} == -rc || ${RELEASETYPE} == -pre ]]; then + + OKV=${K_BASE_VER:-${OKV_DICT["${KV_MAJOR}"]}} + + # as of 12/5/2017, the rc patch is no longer offered as a compressed + # file, and no longer is it mirrored on kernel.org + if ver_test "${KV_MAJOR}.${KV_PATCH}" -ge "4.12"; then + KERNEL_URI="https://git.kernel.org/torvalds/p/v${KV_FULL}/v${OKV} -> patch-${KV_FULL}.patch + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.patch" + else + KERNEL_URI="${KERNEL_BASE_URI}/testing/patch-${CKV//_/-}.xz + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.xz" + fi + fi + + if [[ ${RELEASETYPE} == -git ]]; then + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${OKV}${RELEASE}.xz + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${OKV}${RELEASE}.xz" + fi + + if [[ ${RELEASETYPE} == -rc-git ]]; then + OKV=${K_BASE_VER:-${OKV_DICT["${KV_MAJOR}"]}} + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.xz + ${KERNEL_BASE_URI}/testing/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.xz + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.xz ${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.xz" + fi + fi + + debug-print-kernel2-variables + + handle_genpatches +} + +# @FUNCTION: kernel_is +# @USAGE: +# @DESCRIPTION: +# user for comparing kernel versions +# or just identifying a version +# e.g kernel_is 2 4 +# e.g kernel_is ge 4.8.11 +# Note: duplicated in linux-info.eclass +kernel_is() { + # ALL of these should be set before we can safely continue this function. + # some of the sources have in the past had only one set. + local v n=0 + for v in OKV KV_{MAJOR,MINOR,PATCH} ; do [[ -z ${!v} ]] && n=1 ; done + [[ ${n} -eq 1 ]] && detect_version + + # Now we can continue + local operator + + case ${1#-} in + lt) operator="-lt"; shift;; + gt) operator="-gt"; shift;; + le) operator="-le"; shift;; + ge) operator="-ge"; shift;; + eq) operator="-eq"; shift;; + *) operator="-eq";; + esac + [[ $# -gt 3 ]] && die "Error in kernel-2_kernel_is(): too many parameters" + + ver_test \ + "${KV_MAJOR:-0}.${KV_MINOR:-0}.${KV_PATCH:-0}" \ + "${operator}" \ + "${1:-${KV_MAJOR:-0}}.${2:-${KV_MINOR:-0}}.${3:-${KV_PATCH:-0}}" +} + +# Capture the sources type and set DEPENDs +if [[ ${ETYPE} == sources ]]; then + BDEPEND="!build? ( sys-apps/sed )" + RDEPEND="!build? ( + app-arch/cpio + dev-lang/perl + sys-devel/bc + sys-devel/bison + sys-devel/flex + sys-devel/make + >=sys-libs/ncurses-5.2 + virtual/libelf + virtual/pkgconfig + )" + + SLOT="${PVR}" + DESCRIPTION="Sources based on the Linux Kernel" + IUSE="symlink build" + + # Bug #266157, deblob for libre support + if [[ -z ${K_PREDEBLOBBED} ]]; then + # deblob less than 5.10 require python 2.7 + if kernel_is lt 5 10; then + K_DEBLOB_AVAILABLE=0 + fi + if [[ ${K_DEBLOB_AVAILABLE} == 1 ]]; then + PYTHON_COMPAT=( python3_{8..10} ) + + inherit python-any-r1 + + IUSE="${IUSE} deblob" + + # Reflect that kernels contain firmware blobs unless otherwise + # stripped. Starting with version 4.14, the whole firmware + # tree has been dropped from the kernel. + kernel_is lt 4 14 && LICENSE+=" !deblob? ( linux-firmware )" + + BDEPEND+=" deblob? ( ${PYTHON_DEPS} )" + + if [[ -n KV_MINOR ]]; then + DEBLOB_PV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" + else + DEBLOB_PV="${KV_MAJOR}.${KV_PATCH}" + fi + + if [[ ${KV_MAJOR} -ge 3 ]]; then + DEBLOB_PV="${KV_MAJOR}.${KV_MINOR}" + fi + + # deblob svn tag, default is -gnu, to change, use K_DEBLOB_TAG in ebuild + K_DEBLOB_TAG=${K_DEBLOB_TAG:--gnu} + DEBLOB_A="deblob-${DEBLOB_PV}" + DEBLOB_CHECK_A="deblob-check-${DEBLOB_PV}" + DEBLOB_HOMEPAGE="https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/tags/" + DEBLOB_URI_PATH="${DEBLOB_PV}${K_DEBLOB_TAG}" + DEBLOB_CHECK_URI="${DEBLOB_HOMEPAGE}/${DEBLOB_URI_PATH}/deblob-check -> ${DEBLOB_CHECK_A}" + DEBLOB_URI="${DEBLOB_HOMEPAGE}/${DEBLOB_URI_PATH}/${DEBLOB_A}" + HOMEPAGE="${HOMEPAGE} ${DEBLOB_HOMEPAGE}" + + KERNEL_URI="${KERNEL_URI} + deblob? ( + ${DEBLOB_URI} + ${DEBLOB_CHECK_URI} + )" + elif kernel_is lt 4 14; then + # Deblobbing is not available, so just mark kernels older + # than 4.14 as tainted with non-libre materials. + LICENSE+=" linux-firmware" + fi + fi + +elif [[ ${ETYPE} == headers ]]; then + DESCRIPTION="Linux system headers" + IUSE="headers-only" + + # Since we should NOT honour KBUILD_OUTPUT in headers + # lets unset it here. + unset KBUILD_OUTPUT + + SLOT="0" +fi + +# Cross-compile support functions + +# @FUNCTION: kernel_header_destdir +# @USAGE: +# @DESCRIPTION: +# return header destination directory +kernel_header_destdir() { + [[ ${CTARGET} == ${CHOST} ]] \ + && echo /usr/include \ + || echo /usr/${CTARGET}/usr/include +} + +# @FUNCTION: cross_pre_c_headers +# @USAGE: +# @DESCRIPTION: +# set use if necessary for cross compile support +cross_pre_c_headers() { + use headers-only && [[ ${CHOST} != ${CTARGET} ]] +} + +# @FUNCTION: env_setup_xmakeopts +# @USAGE: +# @DESCRIPTION: +# set the ARCH/CROSS_COMPILE when cross compiling + +env_setup_xmakeopts() { + # Kernel ARCH != portage ARCH + export KARCH=$(tc-arch-kernel) + + # When cross-compiling, we need to set the ARCH/CROSS_COMPILE + # variables properly or bad things happen ! + xmakeopts="ARCH=${KARCH}" + if [[ ${CTARGET} != ${CHOST} ]] && ! cross_pre_c_headers; then + xmakeopts="${xmakeopts} CROSS_COMPILE=${CTARGET}-" + elif type -p ${CHOST}-ar >/dev/null; then + xmakeopts="${xmakeopts} CROSS_COMPILE=${CHOST}-" + fi + xmakeopts="${xmakeopts} HOSTCC=$(tc-getBUILD_CC) CC=$(tc-getCC) LD=$(tc-getLD) AR=$(tc-getAR) NM=$(tc-getNM) OBJCOPY=$(tc-getOBJCOPY) READELF=$(tc-getREADELF) STRIP=$(tc-getSTRIP)" + export xmakeopts +} + +# @FUNCTION: universal_unpack +# @USAGE: +# @DESCRIPTION: +# unpack kernel sources + +universal_unpack() { + debug-print "Inside universal_unpack" + + local OKV_ARRAY + IFS="." read -r -a OKV_ARRAY <<<"${OKV}" + + cd "${WORKDIR}" || die + if [[ ${#OKV_ARRAY[@]} -ge 3 && ${KV_MAJOR} -ge 3 ]]; then + unpack linux-${KV_MAJOR}.${KV_MINOR}.tar.xz + else + unpack linux-${OKV}.tar.xz + fi + + if [[ -d linux ]]; then + debug-print "Moving linux to linux-${KV_FULL}" + mv linux linux-${KV_FULL} \ + || die "Unable to move source tree to ${KV_FULL}." + elif [[ ${OKV} != ${KV_FULL} ]]; then + if [[ ${#OKV_ARRAY[@]} -ge 3 && ${KV_MAJOR} -ge 3 ]] && + [[ ${ETYPE} = sources ]]; then + debug-print "moving linux-${KV_MAJOR}.${KV_MINOR} to linux-${KV_FULL} " + mv linux-${KV_MAJOR}.${KV_MINOR} linux-${KV_FULL} \ + || die "Unable to move source tree to ${KV_FULL}." + else + debug-print "moving linux-${OKV} to linux-${KV_FULL} " + mv linux-${OKV} linux-${KV_FULL} \ + || die "Unable to move source tree to ${KV_FULL}." + fi + elif [[ ${#OKV_ARRAY[@]} -ge 3 && ${KV_MAJOR} -ge 3 ]]; then + mv linux-${KV_MAJOR}.${KV_MINOR} linux-${KV_FULL} \ + || die "Unable to move source tree to ${KV_FULL}." + fi + cd "${S}" || die + + # remove all backup files + find . -iname "*~" -exec rm {} \; 2>/dev/null + +} + +# @FUNCTION: unpack_set_extraversion +# @USAGE: +# @DESCRIPTION: +# handle EXTRAVERSION + +unpack_set_extraversion() { + sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${EXTRAVERSION}:" "${S}"/Makefile || die +} + +# @FUNCTION: unpack_fix_install_path +# @USAGE: +# @DESCRIPTION: +# Should be done after patches have been applied +# Otherwise patches that modify the same area of Makefile will fail + +unpack_fix_install_path() { + sed -i -e 's:#export\tINSTALL_PATH:export\tINSTALL_PATH:' "${S}"/Makefile || die +} + +# install functions + +# @FUNCTION: install_universal +# @USAGE: +# @DESCRIPTION: +# Fix permissions in tarball + +install_universal() { + chown -R 0:0 "${WORKDIR}"/* &>/dev/null + chmod -R a+r-w+X,u+w "${WORKDIR}"/* +} + +# @FUNCTION: install_headers +# @USAGE: +# @DESCRIPTION: +# Install headers + +install_headers() { + local ddir=$(kernel_header_destdir) + + env_setup_xmakeopts + emake headers_install INSTALL_HDR_PATH="${ED}"${ddir}/.. ${xmakeopts} + + # let other packages install some of these headers + rm -rf "${ED}"${ddir}/scsi || die #glibc/uclibc/etc... + return 0 +} + +# @FUNCTION: install_sources +# @USAGE: +# @DESCRIPTION: +# Install sources + +install_sources() { + local file + + cd "${S}" || die + dodir /usr/src + einfo ">>> Copying sources ..." + + file="$(find ${WORKDIR} -iname "docs" -type d)" + if [[ -n ${file} ]]; then + for file in $(find ${file} -type f); do + echo "${file//*docs\/}" >> "${S}"/patches.txt + echo "===================================================" >> "${S}"/patches.txt + cat ${file} >> "${S}"/patches.txt + echo "===================================================" >> "${S}"/patches.txt + echo "" >> "${S}"/patches.txt + done + fi + + mv "${WORKDIR}"/linux* "${ED}"/usr/src || die + + if [[ -n ${UNIPATCH_DOCS} ]]; then + for i in ${UNIPATCH_DOCS}; do + dodoc "${T}"/${i} + done + fi +} + +# @FUNCTION: preinst_headers +# @USAGE: +# @DESCRIPTION: +# Headers preinst steps + +preinst_headers() { + local ddir=$(kernel_header_destdir) + [[ -L ${EPREFIX}${ddir}/linux ]] && { rm "${EPREFIX}"${ddir}/linux || die; } + [[ -L ${EPREFIX}${ddir}/asm ]] && { rm "${EPREFIX}"${ddir}/asm || die; } +} + +# @FUNCTION: postinst_sources +# @USAGE: +# @DESCRIPTION: +# Sources post installation function. +# see inline comments + +postinst_sources() { + # if we have USE=symlink, then force K_SYMLINK=1 + use symlink && K_SYMLINK=1 + + # We do support security on a deblobbed kernel, bug #555878. + # If some particular kernel version doesn't have security + # supported because of USE=deblob or otherwise, one can still + # set K_SECURITY_UNSUPPORTED on a per ebuild basis. + #[[ ${K_DEBLOB_AVAILABLE} == 1 ]] && \ + # use deblob && \ + # K_SECURITY_UNSUPPORTED=deblob + + # if we are to forcably symlink, delete it if it already exists first. + if [[ ${K_SYMLINK} -gt 0 ]]; then + if [[ -e ${EROOT}/usr/src/linux && ! -L ${EROOT}/usr/src/linux ]] ; then + die "${EROOT}/usr/src/linux exists and is not a symlink" + fi + + ln -snf linux-${KV_FULL} "${EROOT}"/usr/src/linux || die + fi + + # Don't forget to make directory for sysfs + [[ ! -d ${EROOT}/sys ]] && kernel_is 2 6 && { mkdir "${EROOT}"/sys || die ; } + + elog "If you are upgrading from a previous kernel, you may be interested" + elog "in the following document:" + elog " - General upgrade guide: https://wiki.gentoo.org/wiki/Kernel/Upgrade" + + # if K_EXTRAEINFO is set then lets display it now + if [[ -n ${K_EXTRAEINFO} ]]; then + echo ${K_EXTRAEINFO} | fmt | + while read -s ELINE; do einfo "${ELINE}"; done + fi + + # if K_EXTRAELOG is set then lets display it now + if [[ -n ${K_EXTRAELOG} ]]; then + echo ${K_EXTRAELOG} | fmt | + while read -s ELINE; do elog "${ELINE}"; done + fi + + # if K_EXTRAEWARN is set then lets display it now + if [[ -n ${K_EXTRAEWARN} ]]; then + echo ${K_EXTRAEWARN} | fmt | + while read -s ELINE; do ewarn "${ELINE}"; done + fi + + # optionally display security unsupported message + # Start with why + if [[ -n ${K_SECURITY_UNSUPPORTED} ]]; then + ewarn "${PN} is UNSUPPORTED by Gentoo Security." + fi + # And now the general message. + if [[ -n ${K_SECURITY_UNSUPPORTED} ]]; then + ewarn "This means that it is likely to be vulnerable to recent security issues." + ewarn "Upstream kernel developers recommend always running the latest " + ewarn "release of any current long term supported Linux kernel version." + ewarn "To see a list of these versions, their most current release and " + ewarn "long term support status, please go to https://www.kernel.org ." + ewarn "For specific information on why this kernel is unsupported, please read:" + ewarn "https://wiki.gentoo.org/wiki/Project:Kernel_Security" + fi + + # warn sparc users that they need to do cross-compiling with >= 2.6.25(bug #214765) + KV_MAJOR=$(ver_cut 1 ${OKV}) + KV_MINOR=$(ver_cut 2 ${OKV}) + KV_PATCH=$(ver_cut 3 ${OKV}) + if [[ $(tc-arch) = sparc ]]; then + if [[ $(gcc-major-version) -lt 4 && $(gcc-minor-version) -lt 4 ]]; then + if [[ ${KV_MAJOR} -ge 3 ]] || ver_test ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} -gt 2.6.24; then + elog "NOTE: Since 2.6.25 the kernel Makefile has changed in a way that" + elog "you now need to do" + elog " make CROSS_COMPILE=sparc64-unknown-linux-gnu-" + elog "instead of just" + elog " make" + elog "to compile the kernel. For more information please browse to" + elog "https://bugs.gentoo.org/show_bug.cgi?id=214765" + fi + fi + fi +} + +# pkg_setup functions + +# @FUNCTION: setup_headers +# @USAGE: +# @DESCRIPTION: +# Determine if ${PN} supports arch + +setup_headers() { + [[ -z ${H_SUPPORTEDARCH} ]] && H_SUPPORTEDARCH=${PN/-*/} + for i in ${H_SUPPORTEDARCH}; do + [[ $(tc-arch) == ${i} ]] && H_ACCEPT_ARCH="yes" + done + + if [[ ${H_ACCEPT_ARCH} != yes ]]; then + eerror "This version of ${PN} does not support $(tc-arch)." + eerror "Please merge the appropriate sources, in most cases" + eerror "(but not all) this will be called $(tc-arch)-headers." + die "Package unsupported for $(tc-arch)" + fi +} + +# @FUNCTION: unipatch +# @USAGE: +# @DESCRIPTION: +# Universal function that will apply patches to source + +unipatch() { + local i x y z extention PIPE_CMD UNIPATCH_DROP KPATCH_DIR PATCH_DEPTH ELINE + local STRICT_COUNT PATCH_LEVEL myLC_ALL myLANG + + # set to a standard locale to ensure sorts are ordered properly. + myLC_ALL="${LC_ALL}" + myLANG="${LANG}" + LC_ALL="C" + LANG="" + + [[ -z ${KPATCH_DIR} ]] && KPATCH_DIR="${WORKDIR}/patches/" + [[ ! -d ${KPATCH_DIR} ]] && mkdir -p ${KPATCH_DIR} + + # We're gonna need it when doing patches with a predefined patchlevel + eshopts_push -s extglob + + # This function will unpack all passed tarballs, add any passed patches, + # and remove any passed patchnumbers + # usage can be either via an env var or by params + # although due to the nature we pass this within this eclass + # it shall be by param only. + # -z "${UNIPATCH_LIST}" ] && UNIPATCH_LIST="${@}" + UNIPATCH_LIST="${@}" + + #unpack any passed tarballs + for i in ${UNIPATCH_LIST}; do + if echo ${i} | grep -qs -e "\.tar" -e "\.tbz" -e "\.tgz"; then + if [[ -n ${UNIPATCH_STRICTORDER} ]]; then + unset z + STRICT_COUNT=$((10#${STRICT_COUNT:=0} + 1)) + for((y=0; y<$((6 - ${#STRICT_COUNT})); y++)); + do z="${z}0"; + done + PATCH_ORDER="${z}${STRICT_COUNT}" + + mkdir -p "${KPATCH_DIR}/${PATCH_ORDER}" + pushd "${KPATCH_DIR}/${PATCH_ORDER}" >/dev/null || die + unpack ${i##*/} + popd >/dev/null || die + else + pushd "${KPATCH_DIR}" >/dev/null || die + unpack ${i##*/} + popd >/dev/null || die + fi + + [[ ${i} == *:* ]] && elog ">>> Strict patch levels not currently supported for tarballed patchsets" + else + extention=${i/*./} + extention=${extention/:*/} + PIPE_CMD="" + case ${extention} in + xz) PIPE_CMD="xz -dc";; + lzma) PIPE_CMD="lzma -dc";; + bz2) PIPE_CMD="bzip2 -dc";; + patch*) PIPE_CMD="cat";; + diff) PIPE_CMD="cat";; + gz|Z|z) PIPE_CMD="gzip -dc";; + ZIP|zip) PIPE_CMD="unzip -p";; + *) UNIPATCH_DROP="${UNIPATCH_DROP} ${i/:*/}";; + esac + + PATCH_LEVEL=${i/*([^:])?(:)} + i=${i/:*/} + x=${i/*\//} + x=${x/\.${extention}/} + + if [[ -n ${PIPE_CMD} ]]; then + if [[ ! -r ${i} ]]; then + eerror "FATAL: unable to locate:" + eerror "${i}" + eerror "for read-only. The file either has incorrect permissions" + eerror "or does not exist." + die Unable to locate ${i} + fi + + if [[ -n ${UNIPATCH_STRICTORDER} ]]; then + unset z + STRICT_COUNT=$((10#${STRICT_COUNT:=0} + 1)) + for((y=0; y<$((6 - ${#STRICT_COUNT})); y++)); + do z="${z}0"; + done + PATCH_ORDER="${z}${STRICT_COUNT}" + + mkdir -p ${KPATCH_DIR}/${PATCH_ORDER}/ + $(${PIPE_CMD} ${i} > ${KPATCH_DIR}/${PATCH_ORDER}/${x}.patch${PATCH_LEVEL}) || die "uncompressing patch failed" + else + $(${PIPE_CMD} ${i} > ${KPATCH_DIR}/${x}.patch${PATCH_LEVEL}) || die "uncompressing patch failed" + fi + fi + fi + + # If experimental was not chosen by the user, drop experimental patches not in K_EXP_GENPATCHES_LIST. + if [[ ${i} == *genpatches-*.experimental.* && -n ${K_EXP_GENPATCHES_PULL} ]]; then + if [[ -z ${K_EXP_GENPATCHES_NOUSE} ]] && use experimental; then + continue + fi + + local j + for j in ${KPATCH_DIR}/*/50*_*.patch*; do + for k in ${K_EXP_GENPATCHES_LIST} ; do + [[ $(basename ${j}) == ${k}* ]] && continue 2 + done + UNIPATCH_DROP+=" $(basename ${j})" + done + else + UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}" + debug-print "genpatches tarball: ${tarball}" + + local GCC_MAJOR_VER=$(gcc-major-version) + local GCC_MINOR_VER=$(gcc-minor-version) + + # this section should be the target state to handle the cpu opt + # patch for kernels > 4.19.189, 5.4.115, 5.10.33 and 5.11.17, + # 5.12.0 and gcc >= 9 The patch now handles the + # gcc version enabled on the system through the Kconfig file as + # 'depends'. The legacy section can hopefully be retired in the future + # Note the patch for 4.19-5.8 version are the same and the patch for + # 5.8+ version is the same + # eventually we can remove everything except the gcc ver <9 check + # based on stablization, time, kernel removals or a combo of all three + if ( kernel_is eq 4 19 && kernel_is gt 4 19 189 ) || + ( kernel_is eq 5 4 && kernel_is gt 5 4 115 ) || + ( kernel_is eq 5 10 && kernel_is gt 5 10 33 ) || + ( kernel_is eq 5 11 && kernel_is gt 5 11 17 ) || + ( kernel_is eq 5 12 && kernel_is gt 5 12 0 ) || + ( kernel_is ge 5 13); then + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch" + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" + UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch" + UNIPATCH_DROP+=" 5012_enable-cpu-optimizations-for-gcc91.patch" + UNIPATCH_DROP+=" 5013_enable-cpu-optimizations-for-gcc10.patch" + if [[ ${GCC_MAJOR_VER} -lt 9 ]]; then + UNIPATCH_DROP+=" 5010_enable-cpu-optimizations-universal.patch" + fi + # this legacy section should be targeted for removal + # optimization patch for gcc < 8.X and kernel > 4.13 and < 4.19 + elif kernel_is ge 4 13; then + UNIPATCH_DROP+=" 5010_enable-cpu-optimizations-universal.patch" + if [[ ${GCC_MAJOR_VER} -lt 8 && ${GCC_MAJOR_VER} -gt 4 ]]; then + UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch" + UNIPATCH_DROP+=" 5012_enable-cpu-optimizations-for-gcc91.patch" + UNIPATCH_DROP+=" 5013_enable-cpu-optimizations-for-gcc10.patch" + # optimization patch for gcc >= 8 and kernel ge 4.13 + elif [[ ${GCC_MAJOR_VER} -eq 8 ]]; then + # support old kernels for a period. For now, remove as all gcc versions required are masked + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch" + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" + UNIPATCH_DROP+=" 5012_enable-cpu-optimizations-for-gcc91.patch" + UNIPATCH_DROP+=" 5013_enable-cpu-optimizations-for-gcc10.patch" + elif [[ ${GCC_MAJOR_VER} -eq 9 && ${GCC_MINOR_VER} -ge 1 ]]; then + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch" + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" + UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch" + UNIPATCH_DROP+=" 5013_enable-cpu-optimizations-for-gcc10.patch" + elif [[ ${GCC_MAJOR_VER} -eq 10 && ${GCC_MINOR_VER} -ge 1 ]]; then + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch" + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" + UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch" + UNIPATCH_DROP+=" 5012_enable-cpu-optimizations-for-gcc91.patch" + else + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch" + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" + UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch" + UNIPATCH_DROP+=" 5012_enable-cpu-optimizations-for-gcc91.patch" + UNIPATCH_DROP+=" 5013_enable-cpu-optimizations-for-gcc10.patch" + fi + else + UNIPATCH_DROP+=" 5010_enable-cpu-optimizations-universal.patch" + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch" + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" + UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch" + UNIPATCH_DROP+=" 5012_enable-cpu-optimizations-for-gcc91.patch" + UNIPATCH_DROP+=" 5013_enable-cpu-optimizations-for-gcc10.patch" + fi + fi + done + + #populate KPATCH_DIRS so we know where to look to remove the excludes + x=${KPATCH_DIR} + KPATCH_DIR="" + for i in $(find ${x} -type d | sort -n); do + KPATCH_DIR="${KPATCH_DIR} ${i}" + done + + #so now lets get rid of the patchno's we want to exclude + UNIPATCH_DROP="${UNIPATCH_EXCLUDE} ${UNIPATCH_DROP}" + for i in ${UNIPATCH_DROP}; do + ebegin "Excluding Patch #${i}" + for x in ${KPATCH_DIR}; do rm -f ${x}/${i}* 2>/dev/null; done + eend $? + done + + # and now, finally, we patch it :) + for x in ${KPATCH_DIR}; do + for i in $(find ${x} -maxdepth 1 -iname "*.patch*" -or -iname "*.diff*" | sort -n); do + STDERR_T="${T}/${i/*\//}" + STDERR_T="${STDERR_T/.patch*/.err}" + + [[ -z ${i/*.patch*/} ]] && PATCH_DEPTH=${i/*.patch/} + #[[ -z ${i/*.diff*/} ]] && PATCH_DEPTH=${i/*.diff/} + + if [[ -z ${PATCH_DEPTH} ]]; then PATCH_DEPTH=0; fi + + #################################################################### + # IMPORTANT: This code is to support kernels which cannot be # + # tested with the --dry-run parameter # + # # + # These patches contain a removal of a symlink, followed by # + # addition of a file with the same name as the symlink in the # + # same location; this causes the dry-run to fail, see bug #507656. # + # # + # https://bugs.gentoo.org/show_bug.cgi?id=507656 # + #################################################################### + if [[ -n ${K_NODRYRUN} ]]; then + ebegin "Applying ${i/*\//} (-p1)" + patch -p1 --no-backup-if-mismatch -f < ${i} >> ${STDERR_T} + if [[ $? -le 2 ]]; then + eend 0 + rm ${STDERR_T} || die + else + eend 1 + eerror "Failed to apply patch ${i/*\//}" + eerror "Please attach ${STDERR_T} to any bug you may post." + eshopts_pop + die "Failed to apply ${i/*\//} on patch depth 1." + fi + fi + #################################################################### + + while [[ ${PATCH_DEPTH} -lt 5 && -z ${K_NODRYRUN} ]]; do + echo "Attempting Dry-run:" >> ${STDERR_T} + echo "cmd: patch -p${PATCH_DEPTH} --no-backup-if-mismatch --dry-run -f < ${i}" >> ${STDERR_T} + echo "=======================================================" >> ${STDERR_T} + patch -p${PATCH_DEPTH} --no-backup-if-mismatch --dry-run -f < ${i} >> ${STDERR_T} + if [[ $? -eq 0 ]]; then + ebegin "Applying ${i/*\//} (-p${PATCH_DEPTH})" + echo "Attempting patch:" > ${STDERR_T} + echo "cmd: patch -p${PATCH_DEPTH} --no-backup-if-mismatch -f < ${i}" >> ${STDERR_T} + echo "=======================================================" >> ${STDERR_T} + patch -p${PATCH_DEPTH} --no-backup-if-mismatch -f < ${i} >> ${STDERR_T} + if [[ $? -eq 0 ]]; then + eend 0 + rm ${STDERR_T} || die + break + else + eend 1 + eerror "Failed to apply patch ${i/*\//}" + eerror "Please attach ${STDERR_T} to any bug you may post." + eshopts_pop + die "Failed to apply ${i/*\//} on patch depth ${PATCH_DEPTH}." + fi + else + PATCH_DEPTH=$((${PATCH_DEPTH} + 1)) + fi + done + if [[ ${PATCH_DEPTH} -eq 5 ]]; then + eerror "Failed to dry-run patch ${i/*\//}" + eerror "Please attach ${STDERR_T} to any bug you may post." + eshopts_pop + die "Unable to dry-run patch on any patch depth lower than 5." + fi + done + done + + # When genpatches is used, we want to install 0000_README which documents + # the patches that were used; such that the user can see them, bug #301478. + if [[ ! -z ${K_WANT_GENPATCHES} ]]; then + UNIPATCH_DOCS="${UNIPATCH_DOCS} 0000_README" + fi + + # When files listed in UNIPATCH_DOCS are found in KPATCH_DIR's, we copy it + # to the temporary directory and remember them in UNIPATCH_DOCS to install + # them during the install phase. + local tmp + for x in ${KPATCH_DIR}; do + for i in ${UNIPATCH_DOCS}; do + if [[ -f ${x}/${i} ]]; then + tmp="${tmp} ${i}" + cp -f "${x}/${i}" "${T}"/ || die + fi + done + done + UNIPATCH_DOCS="${tmp}" + + # clean up KPATCH_DIR's - fixes bug #53610 + for x in ${KPATCH_DIR}; do rm -Rf ${x}; done + + LC_ALL="${myLC_ALL}" + LANG="${myLANG}" + eshopts_pop +} + +# @FUNCTION: getfilevar +# @USAGE: +# @DESCRIPTION: +# pulled from linux-info + +getfilevar() { + local basefname basedname xarch=$(tc-arch-kernel) + + if [[ -z ${1} && ! -f ${2} ]]; then + eerror "getfilevar requires 2 variables, with the second a valid file." + eerror " getfilevar " + else + basefname=$(basename ${2}) + basedname=$(dirname ${2}) + unset ARCH + + echo -e "include ${basefname}\ne:\n\t@echo \$(${1})" | + make -C "${basedname}" ${BUILD_FIXES} -s -f - e 2>/dev/null + + ARCH=${xarch} + fi +} + +# @FUNCTION: detect_arch +# @USAGE: +# @DESCRIPTION: +# This function sets ARCH_URI and ARCH_PATCH +# with the neccessary info for the arch sepecific compatibility +# patchsets. + +detect_arch() { + local ALL_ARCH LOOP_ARCH LOOP_ARCH_L COMPAT_URI i TC_ARCH_KERNEL + + # COMPAT_URI is the contents of ${ARCH}_URI + # ARCH_URI is the URI for all the ${ARCH}_URI patches + # ARCH_PATCH is ARCH_URI broken into files for UNIPATCH + + ARCH_URI="" + ARCH_PATCH="" + TC_ARCH_KERNEL="" + ALL_ARCH="ALPHA AMD64 ARM HPPA IA64 M68K MIPS PPC PPC64 S390 SH SPARC X86" + + for LOOP_ARCH in ${ALL_ARCH}; do + COMPAT_URI="${LOOP_ARCH}_URI" + COMPAT_URI="${!COMPAT_URI}" + + declare -l LOOP_ARCH_L=${LOOP_ARCH} + + [[ -n ${COMPAT_URI} ]] && \ + ARCH_URI="${ARCH_URI} ${LOOP_ARCH_L}? ( ${COMPAT_URI} )" + + declare -u TC_ARCH_KERNEL=$(tc-arch-kernel) + if [[ ${LOOP_ARCH} == ${TC_ARCH_KERNEL} ]]; then + for i in ${COMPAT_URI}; do + ARCH_PATCH="${ARCH_PATCH} ${DISTDIR}/${i/*\//}" + done + fi + + done +} + +# @FUNCTION: headers___fix +# @USAGE: +# @DESCRIPTION: +# Voodoo to partially fix broken upstream headers. +# note: do not put inline/asm/volatile together (breaks "inline asm volatile") + +headers___fix() { + sed -i \ + -e '/^\#define.*_TYPES_H/{:loop n; bloop}' \ + -e 's:\<\([us]\(8\|16\|32\|64\)\)\>:__\1:g' \ + -e "s/\([[:space:]]\)inline\([[:space:](]\)/\1__inline__\2/g" \ + -e "s/\([[:space:]]\)asm\([[:space:](]\)/\1__asm__\2/g" \ + -e "s/\([[:space:]]\)volatile\([[:space:](]\)/\1__volatile__\2/g" \ + "$@" +} + +# @FUNCTION: kernel-2_src_unpack +# @USAGE: +# @DESCRIPTION: +# unpack sources, handle genpatches, deblob + +kernel-2_src_unpack() { + universal_unpack + debug-print "Doing unipatch" + + # request UNIPATCH_LIST_GENPATCHES in phase since it calls 'use' + handle_genpatches --set-unipatch-list + [[ -n ${UNIPATCH_LIST} || -n ${UNIPATCH_LIST_DEFAULT} || -n ${UNIPATCH_LIST_GENPATCHES} ]] && \ + unipatch "${UNIPATCH_LIST_DEFAULT} ${UNIPATCH_LIST_GENPATCHES} ${UNIPATCH_LIST}" + + debug-print "Doing premake" + + # allow ebuilds to massage the source tree after patching but before + # we run misc `make` functions below + [[ $(type -t kernel-2_hook_premake) == "function" ]] && kernel-2_hook_premake + + debug-print "Doing unpack_set_extraversion" + + [[ -z ${K_NOSETEXTRAVERSION} ]] && unpack_set_extraversion + unpack_fix_install_path + + # Setup xmakeopts and cd into sourcetree. + env_setup_xmakeopts + cd "${S}" || die + + if [[ ${K_DEBLOB_AVAILABLE} == 1 ]] && use deblob; then + cp "${DISTDIR}/${DEBLOB_A}" "${T}" || die "cp ${DEBLOB_A} failed" + cp "${DISTDIR}/${DEBLOB_CHECK_A}" "${T}/deblob-check" || die "cp ${DEBLOB_CHECK_A} failed" + chmod +x "${T}/${DEBLOB_A}" "${T}/deblob-check" || die "chmod deblob scripts failed" + fi + + # fix a problem on ppc where TOUT writes to /usr/src/linux breaking sandbox + # only do this for kernel < 2.6.27 since this file does not exist in later + # kernels + if [[ -n ${KV_MINOR} ]] && ver_test ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} -lt 2.6.27; then + sed -i \ + -e 's|TOUT := .tmp_gas_check|TOUT := $(T).tmp_gas_check|' \ + "${S}"/arch/ppc/Makefile + else + sed -i \ + -e 's|TOUT := .tmp_gas_check|TOUT := $(T).tmp_gas_check|' \ + "${S}"/arch/powerpc/Makefile + fi +} + +# @FUNCTION: kernel-2_src_prepare +# @USAGE: +# @DESCRIPTION: +# Apply any user patches + +kernel-2_src_prepare() { + debug-print "Applying any user patches" + eapply_user +} + +# @FUNCTION: kernel-2_src_compile +# @USAGE: +# @DESCRIPTION: +# conpile headers or run deblob script + +kernel-2_src_compile() { + cd "${S}" || die + + if [[ ${K_DEBLOB_AVAILABLE} == 1 ]] && use deblob; then + einfo ">>> Running deblob script ..." + python_setup + sh "${T}/${DEBLOB_A}" --force || die "Deblob script failed to run!!!" + fi +} + +# @FUNCTION: kernel-2_src_test +# @USAGE: +# @DESCRIPTION: +# if you leave it to the default src_test, it will run make to +# find whether test/check targets are present; since "make test" +# actually produces a few support files, they are installed even +# though the package is binchecks-restricted. +# +# Avoid this altogether by making the function moot. +kernel-2_src_test() { :; } + +# @FUNCTION: kernel-2_pkg_preinst +# @DESCRIPTION: +# if ETYPE = headers, call preinst_headers + +kernel-2_pkg_preinst() { + [[ ${ETYPE} == headers ]] && preinst_headers +} + +# @FUNCTION: kernel-2_src_install +# @USAGE: +# @DESCRIPTION: +# Install headers or sources dependant on ETYPE + +kernel-2_src_install() { + install_universal + [[ ${ETYPE} == headers ]] && install_headers + [[ ${ETYPE} == sources ]] && install_sources +} + +# @FUNCTION: kernel-2_pkg_postinst +# @USAGE: +# @DESCRIPTION: +# call postinst_sources for ETYPE = sources + +kernel-2_pkg_postinst() { + [[ ${ETYPE} == sources ]] && postinst_sources +} + +# @FUNCTION: kernel-2_pkg_setup +# @USAGE: +# @DESCRIPTION: +# check for supported kernel version, die if ETYPE is unknown, call setup_headers +# if necessary + +kernel-2_pkg_setup() { + + ABI="${KERNEL_ABI}" + if [[ ${ETYPE} != sources && ${ETYPE} != headers ]]; then + eerror "Unknown ETYPE=\"${ETYPE}\", must be \"sources\" or \"headers\"" + die "Unknown ETYPE=\"${ETYPE}\", must be \"sources\" or \"headers\"" + fi + + [[ ${ETYPE} == headers ]] && setup_headers + [[ ${ETYPE} == sources ]] && einfo ">>> Preparing to unpack ..." +} + +# @FUNCTION: kernel-2_pkg_postrm +# @USAGE: +# @DESCRIPTION: +# Notify the user that after a depclean, there may be sources +# left behind that need to be manually cleaned + +kernel-2_pkg_postrm() { + # This warning only makes sense for kernel sources. + [[ ${ETYPE} == headers ]] && return 0 + + # If there isn't anything left behind, then don't complain. + [[ -e ${EROOT}/usr/src/linux-${KV_FULL} ]] || return 0 + ewarn "Note: Even though you have successfully unmerged " + ewarn "your kernel package, directories in kernel source location: " + ewarn "${EROOT}/usr/src/linux-${KV_FULL}" + ewarn "with modified files will remain behind. By design, package managers" + ewarn "will not remove these modified files and the directories they reside in." + ewarn "For more detailed kernel removal instructions, please see: " + ewarn "https://wiki.gentoo.org/wiki/Kernel/Removal" +} + +EXPORT_FUNCTIONS src_{unpack,prepare,compile,install,test} \ + pkg_{setup,preinst,postinst,postrm} diff --git a/eclass/sabayon-artwork.eclass b/eclass/sabayon-artwork.eclass new file mode 100644 index 0000000..5bc5e05 --- /dev/null +++ b/eclass/sabayon-artwork.eclass @@ -0,0 +1,19 @@ +# Copyright 2004-2009 Sabayon Project +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS-VARIABLE: KERN_INITRAMFS_SEARCH_NAME +# @DESCRIPTION: +# Argument used by `find` to search inside ${ROOT}boot Linux +# Kernel initramfs files to patch +KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*}" + +# @ECLASS-VARIABLE: PLYMOUTH_THEME +# @DESCRIPTION: +# Default plymouth theme name to use +PLYMOUTH_THEME="${PLYMOUTH_THEME:-sabayon-artwork-plymouth-default}" + +# @ECLASS-VARIABLE: SDDM_THEME +# @DESCRIPTION: +# Default sddm theme name to use +SDDM_THEME="${SDDM_THEME:-sabayon-artwork-sddm-default}" + diff --git a/eclass/sabayon-kernel.eclass b/eclass/sabayon-kernel.eclass new file mode 100644 index 0000000..3ec2c52 --- /dev/null +++ b/eclass/sabayon-kernel.eclass @@ -0,0 +1,986 @@ +# Copyright 2004-2015 Sabayon Project +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS-VARIABLE: K_SABKERNEL_NAME +# @DESCRIPTION: +# The kernel name used by the ebuild, it should be the ending ${PN} part +# for example, of linux-sabayon it is "${PN/${PN/-*}-}" (sabayon) +K_SABKERNEL_NAME="${K_SABKERNEL_NAME:-${PN/${PN/-*}-}}" + +# @ECLASS-VARIABLE: K_SABKERNEL_SELF_TARBALL_NAME +# @DESCRIPTION: +# If the main kernel sources tarball is generated in-house and available +# on the "sabayon" mirror, set this variable to the extension name (see example +# below). This will disable ALL the extra/local patches (since they have to +# be applied inside the tarball). Moreover, K_SABKERNEL_NAME, +# K_KERNEL_PATCH_VER will be ignored. +# Example: +# K_SABKERNEL_SELF_TARBALL_NAME="sabayon" +# This would generate: +# SRC_URI="mirror://sabayon/sys-kernel/linux-${PV}+sabayon.tar.${K_TARBALL_EXT}" +K_SABKERNEL_SELF_TARBALL_NAME="${K_SABKERNEL_SELF_TARBALL_NAME:-}" + +# @ECLASS-VARIABLE: K_SABKERNEL_PATCH_UPSTREAM_TARBALL +# @DESCRIPTION: +# If set to 1, the ebuild will fetch the upstream kernel tarball and +# apply the Sabayon patch against it. This strategy avoids the need of +# creating complete kernel source tarballs. The default value is 0. +K_SABKERNEL_PATCH_UPSTREAM_TARBALL="${K_SABKERNEL_PATCH_UPSTREAM_TARBALL:-0}" + +# @ECLASS-VARIABLE: K_SABKERNEL_FORCE_SUBLEVEL +# @DESCRIPTION: +# Force the rewrite of SUBLEVEL in kernel sources Makefile +K_SABKERNEL_FORCE_SUBLEVEL="${K_SABKERNEL_FORCE_SUBLEVEL:-}" + +# @ECLASS-VARIABLE: K_SABKERNEL_RESET_EXTRAVERSION +# @DESCRIPTION: +# Force the rewrite of EXTRAVERSION in kernel sources Makefile (setting it to "") +K_SABKERNEL_RESET_EXTRAVERSION="${K_SABKERNEL_RESET_EXTRAVERSION:-}" + +# @ECLASS-VARIABLE: K_SABKERNEL_LONGTERM +# @DESCRIPTION: +# Consider Kernel stable patchset as longterm (changing URL) +K_SABKERNEL_LONGTERM="${K_SABKERNEL_LONGTERM:-}" + +# @ECLASS-VARIABLE: K_KERNEL_SOURCES_PKG +# @DESCRIPTION: +# The kernel sources package used to build this kernel binary +K_KERNEL_SOURCES_PKG="${K_KERNEL_SOURCES_PKG:-${CATEGORY}/${PN/*-}-sources-${PVR}}" + +# @ECLASS-VARIABLE: K_KERNEL_PATCH_VER +# @DESCRIPTION: +# If set to "3" for example, it applies the upstream kernel +# patch corresponding to patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.3.${K_TARBALL_EXT} +# @TODO: deprecate and remove once 2.6.x kernels are retired +K_KERNEL_PATCH_VER="${K_KERNEL_PATCH_VER:-}" + +# @ECLASS-VARIABLE: K_KERNEL_PATCH_HOTFIXES +# @DESCRIPTION: +# If there is the need to quickly apply patches to the kernel +# without bumping the kernel patch tarball (for eg. in case +# of just released security fixes), set this variable in your ebuild +# pointing to space separated list of patch paths. +K_KERNEL_PATCH_HOTFIXES="${K_KERNEL_PATCH_HOTFIXES:-}" + +# @ECLASS-VARIABLE: K_KERNEL_DISABLE_PR_EXTRAVERSION +# @DESCRIPTION: +# Set this to "1" if you want to tell kernel-2 eclass to +# not use ${PR} in kernel EXTRAVERSION (K_NOUSEPR). Otherwise, set +# this to "0" to not set K_NOUSEPR at all. +K_KERNEL_DISABLE_PR_EXTRAVERSION="${K_KERNEL_DISABLE_PR_EXTRAVERSION:-1}" + +# @ECLASS-VARIABLE: K_KERNEL_SLOT_USEPVR +# @DESCRIPTION: +# Set this to "1" if you want to use ${PVR} in SLOT variable, instead of ${PV} +# sys-kernel/linux-vserver (vserver-sources) require this. This won't work for +# firmware pkgs. +K_KERNEL_SLOT_USEPVR="${K_KERNEL_SLOT_USEPVR:-0}" + +# @ECLASS-VARIABLE: K_KERNEL_NEW_VERSIONING +# @DESCRIPTION: +# Set this to "1" if your kernel ebuild uses the new Linux kernel upstream +# versioning and ${PV} contains the stable revision, like 3.7.1. +# In the example above, this makes the SLOT variable contain only "3.7". +# The sublevel version can be forced using K_SABKERNEL_FORCE_SUBLEVEL +K_KERNEL_NEW_VERSIONING="${K_KERNEL_NEW_VERSIONING:-0}" + +# @ECLASS-VARIABLE: K_KERNEL_IMAGE_NAME +# @DESCRIPTION: +# Set this to a custom kernel image make target if the default does not +# fit your needs. This value if set, is passed to genkernel through the +# --kernel-target= flag. +K_KERNEL_IMAGE_NAME="${K_KERNEL_IMAGE_NAME:-}" + +# @ECLASS-VARIABLE: K_KERNEL_LTS +# @DESCRIPTION: +# Set this to 1 to mark the kernel as Long Term Stable. "virtual/linux-binary-lts" +# shall be appended to ${PROVIDE}. +K_KERNEL_LTS="${K_KERNEL_LTS:-}" + +# @ECLASS-VARIABLE: K_KERNEL_IMAGE_PATH +# @DESCRIPTION: +# Set this to a custom relative kernel image path to override the default +# one. This value if set, is passed to genkernel through the +# --kernel-binary= flag. +K_KERNEL_IMAGE_PATH="${K_KERNEL_IMAGE_PATH:-}" + +# @ECLASS-VARIABLE: K_SABKERNEL_FIRMWARE +# @DESCRIPTION: +# Set this to "1" if your ebuild is a kernel firmware package +K_FIRMWARE_PACKAGE="${K_FIRMWARE_PACKAGE:-}" + +# @ECLASS-VARIABLE: K_ONLY_SOURCES +# @DESCRIPTION: +# For every kernel binary package, there is a kernel source package associated +# if your ebuild is one of them, set this to "1" +K_ONLY_SOURCES="${K_ONLY_SOURCES:-}" + +# @ECLASS-VARIABLE: K_REQUIRED_LINUX_FIRMWARE_VER +# @DESCRIPTION: +# Minimum required version of sys-kernel/linux-formware package, if any +K_REQUIRED_LINUX_FIRMWARE_VER="${K_REQUIRED_LINUX_FIRMWARE_VER:-}" + +# @ECLASS-VARIABLE: K_WORKAROUND_SOURCES_COLLISION +# @DESCRIPTION: +# For kernel binary packages, Workaround file collisions with kernel +# sources already providing certain files (like Makefile). Used +# by linux-openvz and linux-vserver +K_WORKAROUND_SOURCES_COLLISION="${K_WORKAROUND_SOURCES_COLLISION:-}" + +# @ECLASS-VARIABLE: K_WORKAROUND_USE_REAL_EXTRAVERSION +# @DESCRIPTION: +# Some kernel sources are shipped with their own EXTRAVERSION and +# we're kindly asked to not touch it, if this is your case, set +# this variable and depmod will work correctly. +K_WORKAROUND_USE_REAL_EXTRAVERSION="${K_WORKAROUND_USE_REAL_EXTRAVERSION:-}" + +# @ECLASS-VARIABLE: K_SABKERNEL_ZFS +# @DESCRIPTION: +# If set, this kernel features ZFS. +K_SABKERNEL_ZFS="${K_SABKERNEL_ZFS:-}" + +# @ECLASS-VARIABLE: K_GENKERNEL_ARGS +# @DESCRIPTION: +# Provide extra genkernel arguments using K_GENKERNEL_ARGS +K_GENKERNEL_ARGS="${K_GENKERNEL_ARGS:-}" + +# @ECLASS-VARIABLE: K_MKIMAGE_RAMDISK_ADDRESS +# @DESCRIPTION: +# [ARM ONLY] Provide the ramdisk load address to be used with mkimage +K_MKIMAGE_RAMDISK_ADDRESS="${K_MKIMAGE_RAMDISK_ADDRESS:-}" + +# @ECLASS-VARIABLE: K_MKIMAGE_RAMDISK_ENTRYPOINT +# @DESCRIPTION: +# [ARM ONLY] Provide the ramdisk entry point address to be used with mkimage +K_MKIMAGE_RAMDISK_ENTRYPOINT="${K_MKIMAGE_RAMDISK_ENTRYPOINT:-}" + +# @ECLASS-VARIABLE: K_MKIMAGE_WRAP_INITRAMFS +# @DESCRIPTION: +# [ARM ONLY] Execute mkimage against the generated initramfs Default is yes ("1"). +K_MKIMAGE_WRAP_INITRAMFS="${K_MKIMAGE_WRAP_INITRAMFS:-1}" + +# @ECLASS-VARIABLE: K_MKIMAGE_KERNEL_ADDRESS +# @DESCRIPTION: +# [ARM ONLY] Provide the kernel load address to be used with mkimage +K_MKIMAGE_KERNEL_ADDRESS="${K_MKIMAGE_KERNEL_ADDRESS:-}" + +# @ECLASS-VARIABLE: K_DRACUT_LIVECD +# @DESCRIPTION: +# Add extra dracut arguments required to boot from LiveCD environments. Default is no ("0"). +K_DRACUT_LIVECD="${K_DRACUT_LIVECD:-0}" + +KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*${K_SABKERNEL_NAME}}" + +# Disable deblobbing feature +K_DEBLOB_AVAILABLE=0 +ETYPE="sources" +K_TARBALL_EXT="${K_TARBALL_EXT:-xz}" + +#inherit versionator +if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + CKV="$(ver_cut 1-2 ${PV})" +fi + +inherit multilib kernel-2 sabayon-artwork mount-boot linux-info + +# from kernel-2 eclass +detect_version +detect_arch + +DESCRIPTION="Sabayon Linux kernel functions and phases" + + +K_LONGTERM_URL_STR="" +if [ -n "${K_SABKERNEL_LONGTERM}" ]; then + K_LONGTERM_URL_STR="/longterm/v${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" +fi + +## kernel-2 eclass settings +if [ "${K_SABKERNEL_PATCH_UPSTREAM_TARBALL}" = "1" ]; then + _patch_name="$(ver_cut 1-2 ${PV})-${K_SABKERNEL_SELF_TARBALL_NAME}-${PVR}.patch.xz" + SRC_URI="${KERNEL_URI} + mirror://sabayon/${CATEGORY}/${_patch_name} + " + UNIPATCH_LIST="${UNIPATCH_LIST} ${DISTDIR}/${_patch_name}" + unset _patch_name +elif [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then + SRC_URI="mirror://sabayon/${CATEGORY}/linux-${PVR}+${K_SABKERNEL_SELF_TARBALL_NAME}.tar.${K_TARBALL_EXT}" +else + SRC_URI="${KERNEL_URI}" +fi + +if [ -z "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then + if [ -n "${K_KERNEL_PATCH_VER}" ]; then + K_PATCH_NAME="patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.${K_KERNEL_PATCH_VER}.${K_TARBALL_EXT}" + SRC_URI="${SRC_URI} + mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}${K_LONGTERM_URL_STR}/${K_PATCH_NAME}" + UNIPATCH_LIST="${DISTDIR}/${K_PATCH_NAME} + ${UNIPATCH_LIST}" + fi +fi +if [ -n "${K_KERNEL_PATCH_HOTFIXES}" ]; then + UNIPATCH_LIST="${UNIPATCH_LIST} ${K_KERNEL_PATCH_HOTFIXES}" +fi + +_get_real_kv_full() { + if [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then + echo "${ORIGINAL_KV_FULL}" + elif [[ "${OKV/.*}" -ge "3" ]]; then + # Linux 3.x+ support, KV_FULL is set to: 3.0-sabayon + # need to add another final .0 to the version part + echo "${ORIGINAL_KV_FULL/-/.0-}" + else + echo "${ORIGINAL_KV_FULL}" + fi +} + +# replace "linux" with K_SABKERNEL_NAME, usually replaces +# "linux" with "sabayon" or "server" or "openvz" +KV_FULL="${KV_FULL/${PN/-*}/${K_SABKERNEL_NAME}}" +EXTRAVERSION="${EXTRAVERSION/${PN/-*}/${K_SABKERNEL_NAME}}" +# drop -rX if exists +if [[ -n "${PR//r0}" ]] && [[ "${K_KERNEL_DISABLE_PR_EXTRAVERSION}" = "1" ]] \ + && [[ -z "${K_NOSETEXTRAVERSION}" ]]; then + EXTRAVERSION="${EXTRAVERSION%-r*}" + KV_FULL="${KV_FULL%-r*}" + KV="${KV%-r*}" +fi +# rewrite it +ORIGINAL_KV_FULL="${KV_FULL}" +KV_FULL="$(_get_real_kv_full)" + +# Starting from linux-3.0, we still have to install +# sources stuff into /usr/src/linux-3.0.0-sabayon (example) +# where the last part must always match uname -r +# otherwise kernel-switcher (and RELEASE_LEVEL file) +# will complain badly +KV_OUT_DIR="/usr/src/linux-${KV_FULL}" +S="${WORKDIR}/linux-${KV_FULL}" + + +if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + SLOT="0" +elif [ "${K_KERNEL_SLOT_USEPVR}" = "1" ]; then + SLOT="${PVR}" +elif [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + SLOT="$(ver_cut 1-2 ${PV})" +else + SLOT="${PV}" +fi + +_is_kernel_binary() { + if [ -z "${K_ONLY_SOURCES}" ] && [ -z "${K_FIRMWARE_PACKAGE}" ]; then + # yes it is + return 0 + else + # no it isn't + return 1 + fi +} + +_is_kernel_lts() { + local _ver="$(get_version_component_range 1-2)" + [ "${_ver}" = "3.10" ] && return 0 + [ "${_ver}" = "3.16" ] && return 0 + [ "${_ver}" = "4.1" ] && return 0 + [ "${_ver}" = "4.4" ] && return 0 + [ "${_ver}" = "4.9" ] && return 0 + [ "${_ver}" = "4.14" ] && return 0 + return 1 +} + +# provide extra virtual pkg +if _is_kernel_binary; then + PROVIDE="virtual/linux-binary" +# LTS support + if [ "${K_KERNEL_LTS}" = "1" ] || _is_kernel_lts; then + PROVIDE+=" virtual/linux-binary-lts" + fi +fi + +if [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then + HOMEPAGE="https://github.com/Sabayon/kernel" +else + HOMEPAGE="http://www.sabayon.org" +fi + +# Returns success if _set_config_file_vars was called. +_is_config_file_set() { + [[ ${_config_file_set} = 1 ]] +} + +# Returns the arm kernel config file extension for the current subarch +_get_arm_subarch() { + local target="${CTARGET:-${CHOST}}" + local arm_arch=${target%%-*} + if [[ ${arm_arch} == armv7? ]]; then + echo "armv7" + elif [[ ${arm_arch} == armv6? ]]; then + echo "armv6" + elif [[ ${arm_arch} == armv5? ]]; then + echo "armv5" + fi +} + +_get_arch() { + if use arm; then + _get_arm_subarch + elif use amd64; then + echo "amd64" + elif use x86; then + echo "x86" + fi +} + +_set_config_file_vars() { + # Setup kernel configuration file name + local pvr="${PVR}" + local pv="${PV}" + if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + pvr="$(get_version_component_range 1-2)" + pv="${pvr}" + if [ "${PR}" != "r0" ]; then + pvr+="-${PR}" + fi + fi + + K_SABKERNEL_CONFIG_FILES=() + K_SABKERNEL_CONFIG_FILES+=( "${K_SABKERNEL_NAME}-${pvr}-$(_get_arch).config" ) + K_SABKERNEL_CONFIG_FILES+=( "${K_SABKERNEL_NAME}-${pv}-$(_get_arch).config" ) + K_SABKERNEL_CONFIG_FILES+=( "${K_SABKERNEL_NAME}-$(_get_arch).config" ) + + _config_file_set=1 +} + +if [ -n "${K_ONLY_SOURCES}" ] || [ -n "${K_FIRMWARE_PACKAGE}" ]; then + IUSE="${IUSE}" + DEPEND="sys-apps/sed" + RDEPEND="${RDEPEND}" +else + IUSE="btrfs dmraid dracut iscsi luks lvm mdadm plymouth splash" + if [ -n "${K_SABKERNEL_ZFS}" ]; then + IUSE="${IUSE} zfs" + fi + DEPEND="app-arch/xz-utils + sys-apps/sed + sys-devel/autoconf + sys-devel/make + || ( >=sys-kernel/genkernel-next-5[dmraid(+)?,mdadm(+)?] >=sys-kernel/genkernel-3.4.45-r2 ) + arm? ( dev-embedded/u-boot-tools ) + amd64? ( sys-apps/v86d ) + x86? ( sys-apps/v86d ) + btrfs? ( sys-fs/btrfs-progs ) + splash? ( x11-themes/sabayon-artwork-core ) + lvm? ( sys-fs/lvm2 sys-block/thin-provisioning-tools ) + plymouth? ( + || ( >=sys-kernel/genkernel-next-5 >=sys-kernel/genkernel-5 ) + sys-boot/plymouth + ) + dracut? ( sys-apps/v86d sys-kernel/dracut )" + RDEPEND="sys-apps/sed + sys-kernel/linux-firmware + dracut? ( sys-apps/v86d sys-kernel/dracut )" + if [ -n "${K_REQUIRED_LINUX_FIRMWARE_VER}" ]; then + RDEPEND+=" >=sys-kernel/linux-firmware-${K_REQUIRED_LINUX_FIRMWARE_VER}" + fi +fi + +# internal function +# +# FUNCTION: _update_depmod +# @USAGE: _update_depmod <-r depmod> +# DESCRIPTION: +# It updates the modules.dep file for the current kernel. +# This is more or less the same of linux-mod update_depmod, with the +# exception of accepting parameter which is passed to depmod -r switch +_update_depmod() { + + # if we haven't determined the version yet, we need too. + get_version; + + ebegin "Updating module dependencies for ${KV_FULL}" + if [ -r "${KV_OUT_DIR}"/System.map ]; then + depmod -ae -F "${KV_OUT_DIR}"/System.map -b "${ROOT}" -r "${1}" + eend $? + else + ewarn + ewarn "${KV_OUT_DIR}/System.map not found." + ewarn "You must manually update the kernel module dependencies using depmod." + eend 1 + ewarn + fi +} + +sabayon-kernel_pkg_setup() { + if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + einfo "Preparing kernel firmwares" + else + einfo "Preparing kernel and its modules" + fi +} + +sabayon-kernel_src_unpack() { + local okv="${OKV}" + if [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ] && [ "${K_SABKERNEL_PATCH_UPSTREAM_TARBALL}" != "1" ]; then + OKV="${PVR}+${K_SABKERNEL_SELF_TARBALL_NAME}" + fi + if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then + # workaround for kernel-2's universal_unpack assumptions + UNIPATCH_LIST_DEFAULT= KV_MAJOR=0 kernel-2_src_unpack + else + kernel-2_src_unpack + fi + if [ -n "${K_SABKERNEL_FORCE_SUBLEVEL}" ]; then + # patch out Makefile with proper sublevel + sed -i "s:^SUBLEVEL = .*:SUBLEVEL = ${K_SABKERNEL_FORCE_SUBLEVEL}:" \ + "${S}/Makefile" || die + fi + if [ -n "${K_SABKERNEL_RESET_EXTRAVERSION}" ]; then + sed -i "s:^EXTRAVERSION =.*:EXTRAVERSION = :" "${S}/Makefile" || die + # some sources could have multiple append-based EXTRAVERSIONs + sed -i "s/^EXTRAVERSION :=.*//" "${S}/Makefile" || die + fi + OKV="${okv}" +} + +sabayon-kernel_src_prepare() { + _set_config_file_vars +} + +sabayon-kernel_src_compile() { + if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + _firmwares_src_compile + elif [ -n "${K_ONLY_SOURCES}" ]; then + kernel-2_src_compile + else + _kernel_src_compile + fi +} + +_firmwares_src_compile() { + einfo "Starting to compile firmwares..." + _kernel_copy_config "${S}/.config" + cd "${S}" || die "cannot find source dir" + + export LDFLAGS="" + OLDARCH="${ARCH}" + unset ARCH + emake firmware || die "cannot compile firmwares" + ARCH="${OLDARCH}" +} + +_kernel_copy_config() { + _is_config_file_set \ + || die "Kernel configuration file not set. Was sabayon-kernel_src_prepare() called?" + + local base_path="${DISTDIR}" + if [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then + base_path="${S}/sabayon/config" + fi + + local found= cfg= + for cfg in "${K_SABKERNEL_CONFIG_FILES[@]}"; do + cfg="${base_path}/${cfg}" + if [ -f "${cfg}" ]; then + cp "${cfg}" "${1}" || die "cannot copy kernel config ${cfg} -> ${1}" + elog "Using kernel config: ${cfg}" + found=1 + break + fi + done + [[ -z "${found}" ]] && die "cannot find kernel configs among: ${K_SABKERNEL_CONFIG_FILES[*]}" +} + +_kernel_src_compile() { + # disable sandbox + export SANDBOX_ON=0 + + # needed anyway, even if grub use flag is not used here + if use amd64 || use x86; then + mkdir -p "${WORKDIR}"/boot/grub + else + mkdir -p "${WORKDIR}"/boot + fi + + einfo "Starting to compile kernel..." + _kernel_copy_config "${WORKDIR}"/config + + # do some cleanup + rm -rf "${WORKDIR}"/lib + rm -rf "${WORKDIR}"/cache + rm -rf "${S}"/temp + + # creating workdirs + # some kernels fail with make 3.82 if firmware dir is not created + mkdir "${WORKDIR}"/lib/lib/firmware -p + mkdir "${WORKDIR}"/cache + mkdir "${S}"/temp + + cd "${S}" || die + local GKARGS=() + local GENKERNEL_MODE="all" + GKARGS+=( "--no-menuconfig" "--no-save-config" "--e2fsprogs" "--udev" ) + use btrfs && GKARGS+=( "--btrfs" ) + use splash && GKARGS+=( "--splash=sabayon" ) + use plymouth && GKARGS+=( "--plymouth" "--plymouth-theme=${PLYMOUTH_THEME}" ) + use dmraid && GKARGS+=( "--dmraid" ) + use iscsi && GKARGS+=( "--iscsi" ) + use mdadm && GKARGS+=( "--mdadm" ) + use dracut && GENKERNEL_MODE="kernel" + use dracut && GKARGS+=( "--all-ramdisk-modules" ) + use luks && GKARGS+=( "--luks" ) + use lvm && GKARGS+=( "--lvm" ) + if [ -n "${K_SABKERNEL_ZFS}" ]; then + use zfs && GKARGS+=( "--zfs" ) + fi + + export DEFAULT_KERNEL_SOURCE="${S}" + export CMD_KERNEL_DIR="${S}" + for opt in ${MAKEOPTS}; do + if [ "${opt:0:2}" = "-j" ]; then + mkopts="${opt}" + break + fi + done + [ -z "${mkopts}" ] && mkopts="-j3" + + if [ -n "${K_KERNEL_IMAGE_NAME}" ]; then + GKARGS+=( "--kernel-target=${K_KERNEL_IMAGE_NAME}" ) + elif use arm; then + # backward compat + provide sane defaults. + GKARGS+=( "--kernel-target=uImage" ) + fi + if [ -n "${K_KERNEL_IMAGE_PATH}" ]; then + GKARGS+=( "--kernel-binary=${K_KERNEL_IMAGE_PATH}" ) + elif use arm; then + # backward compat + provide sane defaults. + GKARGS+=( "--kernel-binary=arch/arm/boot/uImage" ) + fi + + # Workaround bug in splash_geninitramfs corrupting the initramfs + # if xz compression is used (newer genkernel >3.4.24) + local support_comp=$(genkernel --help | grep compress-initramfs-type) + if [ -n "${support_comp}" ]; then + GKARGS+=( "--compress-initramfs-type=gzip" ) + fi + + # Use --disklabel if genkernel supports it + local support_disklabel=$(genkernel --help | grep -- --disklabel) + if [ -n "${support_disklabel}" ]; then + GKARGS+=( "--disklabel" ) + fi + + if [ -n "${K_MKIMAGE_KERNEL_ADDRESS}" ]; then + export LOADADDR="${K_MKIMAGE_KERNEL_ADDRESS}" + fi + + + OLDARCH="${ARCH}" + unset ARCH + unset LDFLAGS + DEFAULT_KERNEL_SOURCE="${S}" CMD_KERNEL_DIR="${S}" genkernel "${GKARGS[@]}" ${K_GENKERNEL_ARGS} \ + --kerneldir="${S}" \ + --kernel-config="${WORKDIR}"/config \ + --cachedir="${WORKDIR}"/cache \ + --makeopts="${mkopts}" \ + --tempdir="${S}"/temp \ + --logfile="${WORKDIR}"/genkernel.log \ + --bootdir="${WORKDIR}"/boot \ + --mountboot \ + --module-prefix="${WORKDIR}"/lib \ + ${GENKERNEL_MODE} || die "genkernel failed" + + if [ -n "${K_MKIMAGE_KERNEL_ADDRESS}" ]; then + unset LOADADDR + fi + + ARCH=${OLDARCH} +} + +_setup_mkimage_ramdisk() { + local initramfs=$(ls "${WORKDIR}"/boot/${KERN_INITRAMFS_SEARCH_NAME}* 2> /dev/null) + if [ ! -e "${initramfs}" ] || [ ! -f "${initramfs}" ]; then + ewarn "No initramfs at ${initramfs}, cannot run mkimage on it!" + elif [ "${K_MKIMAGE_WRAP_INITRAMFS}" = "1" ]; then + einfo "Setting up u-boot initramfs for: ${initramfs}" + mkimage -A arm -O linux -T ramdisk -C none -a \ + "${K_MKIMAGE_RAMDISK_ADDRESS}" \ + -e "${K_MKIMAGE_RAMDISK_ENTRYPOINT}" -d "${initramfs}" \ + "${initramfs}.u-boot" || return 1 + mv "${initramfs}.u-boot" "${initramfs}" || return 1 + else + einfo "mkimage won't be called for: ${initramfs}" + fi + return 0 +} + +sabayon-kernel_src_install() { + if [ -n "${K_FIRMWARE_PACKAGE}" ]; then + _firmwares_src_install + elif [ -n "${K_ONLY_SOURCES}" ]; then + _kernel_sources_src_install + else + _kernel_src_install + fi + # File collisions between slots, debug stuff + # not really needed for a kernel + rm -rf "${D}/usr/lib/debug" +} + +_firmwares_src_install() { + dodir /lib/firmware + keepdir /lib/firmware + cd "${S}" || die + emake INSTALL_FW_PATH="${D}/lib/firmware" firmware_install || die "cannot install firmwares" +} + +_kernel_sources_src_install() { + _kernel_copy_config ".config" + kernel-2_src_install + cd "${D}${KV_OUT_DIR}" || die + local oldarch="${ARCH}" + unset ARCH + if ! use sources_standalone; then + make modules_prepare || die "failed to run modules_prepare" + rm .config || die "cannot remove .config" + rm Makefile || die "cannot remove Makefile" + rm -f include/linux/version.h + rm -f include/generated/uapi/linux/version.h + fi + ARCH="${oldarch}" +} + +_kernel_src_install() { + if use arm; then + _setup_mkimage_ramdisk || die "cannot setup mkimage" + fi + + dodir "${KV_OUT_DIR}" + insinto "${KV_OUT_DIR}" + + _kernel_copy_config ".config" + doins ".config" || die "cannot copy kernel config" + doins Makefile || die "cannot copy Makefile" + doins Module.symvers || die "cannot copy Module.symvers" + doins System.map || die "cannot copy System.map" + + # NOTE: this is a workaround caused by linux-info.eclass not + # being ported to EAPI=2 yet + local version_h_dir="include/linux" + local version_h_dir2="include/generated/uapi/linux" + local version_h= + local version_h_src= + for ver_dir in "${version_h_dir}" "${version_h_dir2}"; do + version_h="${ROOT}${KV_OUT_DIR/\//}/${ver_dir}/version.h" + if [ -f "${version_h}" ]; then + einfo "Discarding previously installed version.h to avoid collisions" + addwrite "${version_h}" + rm -f "${version_h}" + fi + + # Include include/linux/version.h to make Portage happy + version_h_src="${S}/${ver_dir}/version.h" + if [ -f "${version_h_src}" ]; then + dodir "${KV_OUT_DIR}/${ver_dir}" + insinto "${KV_OUT_DIR}/${ver_dir}" + doins "${version_h_src}" || die "cannot copy version.h" + fi + done + + insinto "/boot" + doins "${WORKDIR}"/boot/* || die "cannot copy /boot over" + cp -Rp "${WORKDIR}"/lib/* "${D}/" || die "cannot copy /lib over" + + # Install dtbs if found + if use arm; then + local dtb_dir="/lib/dts/${KV_FULL}" + elog "Installing .dtbs (if any) into ${dtb_dir}" + insinto "${dtb_dir}" + local dtb= + for dtb in "${S}/arch/arm/boot/dts"/*.dtb; do + if [ -f "${dtb}" ]; then + elog "Installing dtb: ${dtb}" + doins "${dtb}" + fi + done + fi + + # This doesn't always work because KV_FULL (when K_NOSETEXTRAVERSION=1) doesn't + # reflect the real value used in Makefile + #dosym "../../..${KV_OUT_DIR}" "/lib/modules/${KV_FULL}/source" || die "cannot install source symlink" + #dosym "../../..${KV_OUT_DIR}" "/lib/modules/${KV_FULL}/build" || die "cannot install build symlink" + cd "${D}"/lib/modules/* || die "cannot enter /lib/modules directory, more than one element?" + # cleanup previous + rm -f build source || die + # create sane symlinks + ln -sf "../../..${KV_OUT_DIR}" source || die "cannot create source symlink" + ln -sf "../../..${KV_OUT_DIR}" build || die "cannot create build symlink" + cd "${S}" || die + + # drop ${D}/lib/firmware, virtual/linux-firmwares provides it + rm -rf "${D}/lib/firmware" + + if [ -n "${K_WORKAROUND_SOURCES_COLLISION}" ]; then + # Fixing up Makefile collision if already installed by + # openvz-sources + einfo "Workarounding source package collisions" + make_file="${KV_OUT_DIR/\//}/Makefile" + einfo "Makefile: ${make_file}" + if [ -f "${ROOT}/${make_file}" ]; then + elog "Removing ${D}/${make_file}" + rm -f "${D}/${make_file}" + fi + fi + + # Install kernel configuration information + # useful for Entropy kernel-switcher + # release level is enough for now + base_dir="/etc/kernels/${P}" + dodir "${base_dir}" + insinto "${base_dir}" + echo "${KV_FULL}" > "RELEASE_LEVEL" + doins "RELEASE_LEVEL" + einfo "Installing ${base_dir}/RELEASE_LEVEL file: ${KV_FULL}" + +} + +sabayon-kernel_pkg_preinst() { + if _is_kernel_binary; then + mount-boot_pkg_preinst + fi +} +sabayon-kernel_grub2_mkconfig() { + if [ -x "${ROOT}usr/sbin/grub2-mkconfig" ]; then + # Grub 2.00 + "${ROOT}usr/sbin/grub2-mkconfig" -o "${ROOT}boot/grub/grub.cfg" + elif [ -x "${ROOT}sbin/grub-mkconfig" ]; then + # Grub 1.99 + "${ROOT}sbin/grub-mkdevicemap" --device-map="${ROOT}boot/grub/device.map" + "${ROOT}sbin/grub-mkconfig" -o "${ROOT}boot/grub/grub.cfg" + else + echo + ewarn "Attention, Grub2 is not installed !!!" + ewarn "Grub2 bootloader configuration won't be updated" + echo + fi +} + +_get_real_extraversion() { + make_file="${ROOT}${KV_OUT_DIR}/Makefile" + local extraver=$(grep -r "^EXTRAVERSION =" "${make_file}" | cut -d "=" -f 2 | head -n 1) + local trimmed=${extraver%% } + echo ${trimmed## } +} + +_get_release_level() { + if [[ -n "${K_WORKAROUND_USE_REAL_EXTRAVERSION}" ]]; then + echo "${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}$(_get_real_extraversion)" + elif [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then + echo "${KV_FULL}" + elif [[ "${OKV/.*}" -ge "3" ]] && [[ "${KV_PATCH}" = "0" ]]; then + # Linux 3.x+ support, KV_FULL is set to: 3.0-sabayon + # need to add another final .0 to the version part + echo "${KV_FULL/-/.0-}" + else + echo "${KV_FULL}" + fi +} + +sabayon-kernel_uimage_config() { + # Two cases here: + # 1. /boot/uImage symlink is broken (pkg_postrm) + # 2. /boot/uImage symlink doesn't exist (pkg_postinst) + + if ! has_version app-eselect/eselect-uimage; then + ewarn "app-eselect/eselect-uimage not installed" + ewarn "If you are using this tool, please install it" + return 0 + fi + + local uimage_file=$(eselect uimage show --quiet 2> /dev/null) + if [ -z "${uimage_file}" ]; then + # pick the first listed, sorry! + local eselect_list=$(eselect uimage list --quiet 2> /dev/null) + if [ -n "${eselect_list}" ]; then + eselect uimage set 1 + else + echo + ewarn "No more kernels available, you won't be able to boot" + echo + fi + else + echo + elog "If you use eselect-bzimage, you are currently booting with kernel:" + elog "${uimage_file}" + elog + elog "Use 'eselect uimage' in order to switch between the available ones" + echo + fi +} + +sabayon-kernel_bzimage_config() { + # Two cases here: + # 1. /boot/bzImage symlink is broken (pkg_postrm) + # 2. /boot/bzImage symlink doesn't exist (pkg_postinst) + local kern_arch + use x86 && kern_arch="x86" + use amd64 && kern_arch="x86_64" + + if ! has_version app-eselect/eselect-bzimage; then + ewarn "app-eselect/eselect-bzimage not installed" + ewarn "If you are using this tool, please install it" + return 0 + fi + + local bzimage_file=$(eselect bzimage show --quiet 2> /dev/null) + if [ -z "${bzimage_file}" ]; then + # try to pic what's being installed + local eselect_list=$(eselect bzimage list --quiet 2> /dev/null) + if [ -n "${eselect_list}" ]; then + eselect bzimage set "kernel-genkernel-${kern_arch}-${KV_FULL}" + if [ "${?}" != "0" ]; then + # pick the first available, sorry! + echo + eselect bzimage set 1 + ewarn "Unable to select the right kernel, falling back" + ewarn "to the first available entry. You have been warned" + echo + fi + else + echo + ewarn "No more kernels available, you might not be able to boot" + echo + fi + else + echo + ewarn "You are currently booting with kernel:" + ewarn "${bzimage_file}" + ewarn + ewarn "Use 'eselect bzimage' in order to switch between the available ones" + echo + fi +} + +_dracut_initramfs_create() { + local kver="${1}" + local karch="${2}" + addpredict /etc/ld.so.cache~ + if [ "${K_DRACUT_LIVECD}" = "1" ]; then + elog "Creating dracut initramfs for ${kver} arch: ${karch} (suitable for LiveCDs)" + dracut -a dmsquash-live -a pollcdrom -q -N -f -o systemd \ + -o systemd-initrd -o systemd-networkd -o dracut-systemd --kver="${kver}" \ + "${ROOT}boot/initramfs-genkernel-${karch}-${kver}" + else + elog "Creating dracut initramfs for ${kver} arch: ${karch}" + dracut -q -N -f -o systemd -o systemd-initrd -o systemd-networkd \ + -o dracut-systemd --kver="${kver}" \ + "${ROOT}boot/initramfs-genkernel-${karch}-${kver}" + fi +} + +sabayon-kernel_pkg_postinst() { + if _is_kernel_binary; then + fstab_file="${ROOT}etc/fstab" + einfo "Removing extents option for ext4 drives from ${fstab_file}" + # Remove "extents" from /etc/fstab + if [ -f "${fstab_file}" ]; then + sed -i '/ext4/ s/extents//g' "${fstab_file}" + fi + + # Update kernel initramfs to match user customizations + use splash && update_sabayon_kernel_initramfs_splash + + # Add kernel to grub.conf + if use amd64 || use x86; then + if use amd64; then + local kern_arch="x86_64" + else + local kern_arch="x86" + fi + + # Generate dracut initramfs post-install + use dracut && _dracut_initramfs_create "${KV_FULL}" "${kern_arch}" + + # grub-legacy + if [ -x "${ROOT}usr/sbin/grub-handler" ]; then + "${ROOT}usr/sbin/grub-handler" add \ + "/boot/kernel-genkernel-${kern_arch}-${KV_FULL}" \ + "/boot/initramfs-genkernel-${kern_arch}-${KV_FULL}" + fi + + sabayon-kernel_grub2_mkconfig + fi + + # Setup newly installed kernel on ARM + if use arm; then + sabayon-kernel_uimage_config + fi + # Setup newly installed kernel on x86/amd64 + # This is quite handy for static grub1/grub2 + # configurations (like on Amazon EC2) + if use x86 || use amd64; then + sabayon-kernel_bzimage_config + fi + + kernel-2_pkg_postinst + local depmod_r=$(_get_release_level) + _update_depmod "${depmod_r}" + + elog "Please report kernel bugs at:" + elog "http://bugs.sabayon.org" + + elog "The source code of this kernel is located at" + elog "=${K_KERNEL_SOURCES_PKG}." + elog "Sabayon Linux recommends that portage users install" + elog "${K_KERNEL_SOURCES_PKG} if you want" + elog "to build any packages that install kernel modules" + elog "(such as ati-drivers, nvidia-drivers, virtualbox, etc...)." + else + kernel-2_pkg_postinst + fi +} + +sabayon-kernel_pkg_prerm() { + if _is_kernel_binary; then + mount-boot_pkg_prerm + fi +} + +sabayon-kernel_pkg_postrm() { + if _is_kernel_binary; then + # Remove kernel from grub.conf + if use amd64 || use x86; then + if use amd64; then + local kern_arch="x86_64" + else + local kern_arch="x86" + fi + if [ -x "${ROOT}usr/sbin/grub-handler" ]; then + "${ROOT}usr/sbin/grub-handler" remove \ + "/boot/kernel-genkernel-${kern_arch}-${KV_FULL}" \ + "/boot/initramfs-genkernel-${kern_arch}-${KV_FULL}" + fi + + sabayon-kernel_grub2_mkconfig + fi + + # Setup newly installed kernel on ARM + if use arm; then + sabayon-kernel_uimage_config + fi + # Setup newly installed kernel on x86/amd64 + # This is quite handy for static grub1/grub2 + # configurations (like on Amazon EC2) + if use x86 || use amd64; then + sabayon-kernel_bzimage_config + fi + fi +} + +case ${EAPI:-0} in + [01234]) + die "EAPI ${EAPI:-0} is not supported" +esac + +EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare \ + src_compile src_install pkg_preinst pkg_postinst pkg_prerm pkg_postrm diff --git a/metadata/md5-cache/app-admin/distrobuilder-1.0 b/metadata/md5-cache/app-admin/distrobuilder-1.0 deleted file mode 100644 index 380c7f3..0000000 --- a/metadata/md5-cache/app-admin/distrobuilder-1.0 +++ /dev/null @@ -1,13 +0,0 @@ -BDEPEND=dev-lang/go dev-util/debootstrap net-misc/rsync app-crypt/gnupg sys-fs/squashfs-tools dev-vcs/git >=dev-lang/go-1.10 -DEFINED_PHASES=compile install test unpack -DESCRIPTION=System container image builder for LXC and LXD -EAPI=7 -HOMEPAGE=https://linuxcontainers.org/distrobuilder/introduction/ -INHERIT=golang-vcs-snapshot golang-build -KEYWORDS=~amd64 -LICENSE=Apache-2.0 -RESTRICT=mirror -SLOT=0 -SRC_URI=https://github.com/lxc/distrobuilder/archive/f6b2a160a7e3e5e9d3c5767cf07c8cd03a3eca1d.tar.gz -> app-admin-distrobuilder-1.0.tar.gz https://github.com/antchfx/xpath/archive/496661144dd35339be6985b945ae86a1b17d7064.tar.gz -> github.com-antchfx-xpath-496661144dd35339be6985b945ae86a1b17d7064.tar.gz https://github.com/davecgh/go-spew/archive/d8f796af33cc11cb798c1aaeb27a4ebc5099927d.tar.gz -> github.com-davecgh-go-spew-d8f796af33cc11cb798c1aaeb27a4ebc5099927d.tar.gz https://github.com/flosch/pongo2/archive/bbf5a6c351f4d4e883daa40046a404d7553e0a00.tar.gz -> github.com-flosch-pongo2-bbf5a6c351f4d4e883daa40046a404d7553e0a00.tar.gz https://github.com/gobuffalo/logger/archive/fe10b71a76d5acb502f99cd88d1fd28062906dac.tar.gz -> github.com-gobuffalo-logger-fe10b71a76d5acb502f99cd88d1fd28062906dac.tar.gz https://github.com/gobuffalo/packd/archive/128b5da43f114d0f9af8b4bba549b02e3496dfa8.tar.gz -> github.com-gobuffalo-packd-128b5da43f114d0f9af8b4bba549b02e3496dfa8.tar.gz https://github.com/gobuffalo/packr/archive/c6a5045204dacffbe11d9f6c68485ae7e7fe3d19.tar.gz -> github.com-gobuffalo-packr-c6a5045204dacffbe11d9f6c68485ae7e7fe3d19.tar.gz https://github.com/golang/groupcache/archive/8c9f03a8e57eb486e42badaed3fb287da51807ba.tar.gz -> github.com-golang-groupcache-8c9f03a8e57eb486e42badaed3fb287da51807ba.tar.gz https://github.com/gorilla/websocket/archive/b65e62901fc1c0d968042419e74789f6af455eb9.tar.gz -> github.com-gorilla-websocket-b65e62901fc1c0d968042419e74789f6af455eb9.tar.gz https://github.com/juju/errors/archive/3fe23663418fc1d724868c84f21b7519bbac7441.tar.gz -> github.com-juju-errors-3fe23663418fc1d724868c84f21b7519bbac7441.tar.gz https://github.com/karrick/godirwalk/archive/28c3d9464220f734271ebb33c7da824390ba03c5.tar.gz -> github.com-karrick-godirwalk-28c3d9464220f734271ebb33c7da824390ba03c5.tar.gz https://github.com/lxc/lxd/archive/fcbba262a7b70cb00afdc40e189e6a008f44b2ee.tar.gz -> github.com-lxc-lxd-fcbba262a7b70cb00afdc40e189e6a008f44b2ee.tar.gz https://github.com/markbates/errx/archive/9ba0abfab1fb7dae1b752c31e1731b4c179e7ca0.tar.gz -> github.com-markbates-errx-9ba0abfab1fb7dae1b752c31e1731b4c179e7ca0.tar.gz https://github.com/markbates/oncer/archive/74cf68f7e72ed26f7a701d975dbcee92cd324cbb.tar.gz -> github.com-markbates-oncer-74cf68f7e72ed26f7a701d975dbcee92cd324cbb.tar.gz https://github.com/markbates/safe/archive/6fea05a5732486546a4836b7a1d596c5ec687b98.tar.gz -> github.com-markbates-safe-6fea05a5732486546a4836b7a1d596c5ec687b98.tar.gz https://github.com/mudler/docker-companion/archive/b8b364100616cf6e9c40f8944b418dc1ce2e137e.tar.gz -> github.com-mudler-docker-companion-b8b364100616cf6e9c40f8944b418dc1ce2e137e.tar.gz https://github.com/pkg/errors/archive/614d223910a179a466c1767a985424175c39b465.tar.gz -> github.com-pkg-errors-614d223910a179a466c1767a985424175c39b465.tar.gz https://github.com/pmezard/go-difflib/archive/5d4384ee4fb2527b0a1256a821ebfc92f91efefc.tar.gz -> github.com-pmezard-go-difflib-5d4384ee4fb2527b0a1256a821ebfc92f91efefc.tar.gz https://github.com/sirupsen/logrus/archive/d417be0fe654de640a82370515129985b407c7e3.tar.gz -> github.com-sirupsen-logrus-d417be0fe654de640a82370515129985b407c7e3.tar.gz https://github.com/spf13/cobra/archive/b80aeb17fc46362ff9cea51437a719322f8965ac.tar.gz -> github.com-spf13-cobra-b80aeb17fc46362ff9cea51437a719322f8965ac.tar.gz https://github.com/spf13/pflag/archive/2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab.tar.gz -> github.com-spf13-pflag-2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab.tar.gz https://github.com/stretchr/testify/archive/bb468cc94d35e4c2a709db0e0f5bc54887248c0e.tar.gz -> github.com-stretchr-testify-bb468cc94d35e4c2a709db0e0f5bc54887248c0e.tar.gz https://github.com/golang/crypto/archive/baeed622b8d86045ff442b324772b0ad306a2b3f.tar.gz -> github.com-golang-crypto-baeed622b8d86045ff442b324772b0ad306a2b3f.tar.gz https://github.com/golang/net/archive/d3edc9973b7eb1fb302b0ff2c62357091cea9a30.tar.gz -> github.com-golang-net-d3edc9973b7eb1fb302b0ff2c62357091cea9a30.tar.gz https://github.com/golang/sys/archive/c3d80250170dec19bf61949c81233cede5ddaf61.tar.gz -> github.com-golang-sys-c3d80250170dec19bf61949c81233cede5ddaf61.tar.gz https://github.com/golang/text/archive/06d492aade888ab8698aad35476286b7b555c961.tar.gz -> github.com-golang-text-06d492aade888ab8698aad35476286b7b555c961.tar.gz https://github.com/antchfx/htmlquery/archive/b3aab73e1fab21eda5df53a9fbf67fc053561222.tar.gz -> github.com-antchfx-htmlquery-b3aab73e1fab21eda5df53a9fbf67fc053561222.tar.gz https://github.com/flosch/pongo2/archive/5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9.tar.gz -> github.com-flosch-pongo2-5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9.tar.gz https://github.com/robfig/cron/archive/be2e0b0deed5a68ffee390b4583a13aff8321535.tar.gz -> github.com-robfig-cron-be2e0b0deed5a68ffee390b4583a13aff8321535.tar.gz https://github.com/go-yaml/yaml/archive/53403b58ad1b561927d19068c655246f2db79d48.tar.gz -> github.com-go-yaml-yaml-53403b58ad1b561927d19068c655246f2db79d48.tar.gz -_eclasses_=golang-base b8fb27dacacea08140c53857f439fc7d golang-build f037bca330974d0c1a23c7390ddcba09 golang-vcs-snapshot ee98df2c8a27c4347826db72f6dc2d50 -_md5_=0cea5a98888dc82620fcef940dc5d6c0 diff --git a/metadata/md5-cache/app-admin/distrobuilder-1.0_p126 b/metadata/md5-cache/app-admin/distrobuilder-1.0_p126 deleted file mode 100644 index aaaf148..0000000 --- a/metadata/md5-cache/app-admin/distrobuilder-1.0_p126 +++ /dev/null @@ -1,13 +0,0 @@ -BDEPEND=dev-lang/go dev-util/debootstrap net-misc/rsync app-crypt/gnupg sys-fs/squashfs-tools dev-vcs/git >=dev-lang/go-1.10 -DEFINED_PHASES=compile install test unpack -DESCRIPTION=System container image builder for LXC and LXD -EAPI=7 -HOMEPAGE=https://linuxcontainers.org/distrobuilder/introduction/ -INHERIT=golang-vcs-snapshot golang-build -KEYWORDS=~amd64 -LICENSE=Apache-2.0 -RESTRICT=mirror -SLOT=0 -SRC_URI=https://github.com/lxc/distrobuilder/archive/e72a24977a47aba3168b65cdd2024fd583d2b2e6.tar.gz -> app-admin-distrobuilder-1.0_p126.tar.gz https://github.com/antchfx/xpath/archive/496661144dd35339be6985b945ae86a1b17d7064.tar.gz -> github.com-antchfx-xpath-496661144dd35339be6985b945ae86a1b17d7064.tar.gz https://github.com/davecgh/go-spew/archive/d8f796af33cc11cb798c1aaeb27a4ebc5099927d.tar.gz -> github.com-davecgh-go-spew-d8f796af33cc11cb798c1aaeb27a4ebc5099927d.tar.gz https://github.com/flosch/pongo2/archive/bbf5a6c351f4d4e883daa40046a404d7553e0a00.tar.gz -> github.com-flosch-pongo2-bbf5a6c351f4d4e883daa40046a404d7553e0a00.tar.gz https://github.com/gobuffalo/logger/archive/fe10b71a76d5acb502f99cd88d1fd28062906dac.tar.gz -> github.com-gobuffalo-logger-fe10b71a76d5acb502f99cd88d1fd28062906dac.tar.gz https://github.com/gobuffalo/packd/archive/128b5da43f114d0f9af8b4bba549b02e3496dfa8.tar.gz -> github.com-gobuffalo-packd-128b5da43f114d0f9af8b4bba549b02e3496dfa8.tar.gz https://github.com/gobuffalo/packr/archive/c6a5045204dacffbe11d9f6c68485ae7e7fe3d19.tar.gz -> github.com-gobuffalo-packr-c6a5045204dacffbe11d9f6c68485ae7e7fe3d19.tar.gz https://github.com/golang/groupcache/archive/8c9f03a8e57eb486e42badaed3fb287da51807ba.tar.gz -> github.com-golang-groupcache-8c9f03a8e57eb486e42badaed3fb287da51807ba.tar.gz https://github.com/gorilla/websocket/archive/b65e62901fc1c0d968042419e74789f6af455eb9.tar.gz -> github.com-gorilla-websocket-b65e62901fc1c0d968042419e74789f6af455eb9.tar.gz https://github.com/juju/errors/archive/3fe23663418fc1d724868c84f21b7519bbac7441.tar.gz -> github.com-juju-errors-3fe23663418fc1d724868c84f21b7519bbac7441.tar.gz https://github.com/karrick/godirwalk/archive/28c3d9464220f734271ebb33c7da824390ba03c5.tar.gz -> github.com-karrick-godirwalk-28c3d9464220f734271ebb33c7da824390ba03c5.tar.gz https://github.com/lxc/lxd/archive/fcbba262a7b70cb00afdc40e189e6a008f44b2ee.tar.gz -> github.com-lxc-lxd-fcbba262a7b70cb00afdc40e189e6a008f44b2ee.tar.gz https://github.com/markbates/errx/archive/9ba0abfab1fb7dae1b752c31e1731b4c179e7ca0.tar.gz -> github.com-markbates-errx-9ba0abfab1fb7dae1b752c31e1731b4c179e7ca0.tar.gz https://github.com/markbates/oncer/archive/74cf68f7e72ed26f7a701d975dbcee92cd324cbb.tar.gz -> github.com-markbates-oncer-74cf68f7e72ed26f7a701d975dbcee92cd324cbb.tar.gz https://github.com/markbates/safe/archive/6fea05a5732486546a4836b7a1d596c5ec687b98.tar.gz -> github.com-markbates-safe-6fea05a5732486546a4836b7a1d596c5ec687b98.tar.gz https://github.com/mudler/docker-companion/archive/b8b364100616cf6e9c40f8944b418dc1ce2e137e.tar.gz -> github.com-mudler-docker-companion-b8b364100616cf6e9c40f8944b418dc1ce2e137e.tar.gz https://github.com/pkg/errors/archive/614d223910a179a466c1767a985424175c39b465.tar.gz -> github.com-pkg-errors-614d223910a179a466c1767a985424175c39b465.tar.gz https://github.com/pmezard/go-difflib/archive/5d4384ee4fb2527b0a1256a821ebfc92f91efefc.tar.gz -> github.com-pmezard-go-difflib-5d4384ee4fb2527b0a1256a821ebfc92f91efefc.tar.gz https://github.com/sirupsen/logrus/archive/d417be0fe654de640a82370515129985b407c7e3.tar.gz -> github.com-sirupsen-logrus-d417be0fe654de640a82370515129985b407c7e3.tar.gz https://github.com/spf13/cobra/archive/b80aeb17fc46362ff9cea51437a719322f8965ac.tar.gz -> github.com-spf13-cobra-b80aeb17fc46362ff9cea51437a719322f8965ac.tar.gz https://github.com/spf13/pflag/archive/2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab.tar.gz -> github.com-spf13-pflag-2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab.tar.gz https://github.com/stretchr/testify/archive/bb468cc94d35e4c2a709db0e0f5bc54887248c0e.tar.gz -> github.com-stretchr-testify-bb468cc94d35e4c2a709db0e0f5bc54887248c0e.tar.gz https://github.com/golang/crypto/archive/baeed622b8d86045ff442b324772b0ad306a2b3f.tar.gz -> github.com-golang-crypto-baeed622b8d86045ff442b324772b0ad306a2b3f.tar.gz https://github.com/golang/net/archive/d3edc9973b7eb1fb302b0ff2c62357091cea9a30.tar.gz -> github.com-golang-net-d3edc9973b7eb1fb302b0ff2c62357091cea9a30.tar.gz https://github.com/golang/sys/archive/c3d80250170dec19bf61949c81233cede5ddaf61.tar.gz -> github.com-golang-sys-c3d80250170dec19bf61949c81233cede5ddaf61.tar.gz https://github.com/golang/text/archive/06d492aade888ab8698aad35476286b7b555c961.tar.gz -> github.com-golang-text-06d492aade888ab8698aad35476286b7b555c961.tar.gz https://github.com/antchfx/htmlquery/archive/b3aab73e1fab21eda5df53a9fbf67fc053561222.tar.gz -> github.com-antchfx-htmlquery-b3aab73e1fab21eda5df53a9fbf67fc053561222.tar.gz https://github.com/flosch/pongo2/archive/5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9.tar.gz -> github.com-flosch-pongo2-5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9.tar.gz https://github.com/robfig/cron/archive/be2e0b0deed5a68ffee390b4583a13aff8321535.tar.gz -> github.com-robfig-cron-be2e0b0deed5a68ffee390b4583a13aff8321535.tar.gz https://github.com/go-yaml/yaml/archive/53403b58ad1b561927d19068c655246f2db79d48.tar.gz -> github.com-go-yaml-yaml-53403b58ad1b561927d19068c655246f2db79d48.tar.gz -_eclasses_=golang-base b8fb27dacacea08140c53857f439fc7d golang-build f037bca330974d0c1a23c7390ddcba09 golang-vcs-snapshot ee98df2c8a27c4347826db72f6dc2d50 -_md5_=635f3c38de87137b199908cc31e90d25 diff --git a/metadata/md5-cache/app-admin/nsexec-lbthomsen-1.22_p20180419 b/metadata/md5-cache/app-admin/nsexec-lbthomsen-1.22_p20180419 deleted file mode 100644 index 9952582..0000000 --- a/metadata/md5-cache/app-admin/nsexec-lbthomsen-1.22_p20180419 +++ /dev/null @@ -1,9 +0,0 @@ -DEFINED_PHASES=install -DESCRIPTION=Utilities for non-root LXC containers -EAPI=7 -HOMEPAGE=https://github.com/lbthomsen/nsexec -KEYWORDS=~amd64 -RESTRICT=mirror -SLOT=0 -SRC_URI=https://github.com/lbthomsen/nsexec/archive/13376b1335d3c7bb79e62bd355b558f03a60ed43.tar.gz -_md5_=cbe0e6c10297cab683933357ae63ad6b diff --git a/metadata/md5-cache/app-editors/gmanedit2-0.4.2_p45 b/metadata/md5-cache/app-editors/gmanedit2-0.4.2_p45 deleted file mode 100644 index 69f90c2..0000000 --- a/metadata/md5-cache/app-editors/gmanedit2-0.4.2_p45 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=unpack -DEPEND=x11-libs/gtksourceview:2.0 >=x11-libs/gtk+-2.24.12 -DESCRIPTION=An editor for man pages that runs on X using the GTK+ libraries. -EAPI=7 -HOMEPAGE=https://github.com/Distrotech/gmanedit2 -KEYWORDS=~amd64 -LICENSE=GPL-2 -RDEPEND=x11-libs/gtksourceview:2.0 >=x11-libs/gtk+-2.24.12 -RESTRICT=mirror test -SLOT=0 -SRC_URI=https://api.github.com/repos/Distrotech/gmanedit2/tarball/2c0b06288b56d2384efd7fd80f26546de244f52c -> gmanedit2-0.4.2_p45.tar.gz -_eclasses_=vcs-snapshot b1abf460a493fc59ebb25de0df3f09dd -_md5_=301e6020c79618cf4cc5866c05a1315d diff --git a/metadata/md5-cache/app-editors/manpageeditor-0.1.3_p5 b/metadata/md5-cache/app-editors/manpageeditor-0.1.3_p5 deleted file mode 100644 index 17e4c19..0000000 --- a/metadata/md5-cache/app-editors/manpageeditor-0.1.3_p5 +++ /dev/null @@ -1,16 +0,0 @@ -BDEPEND=sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.2-r1:1.16 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 -DEFINED_PHASES=configure install postinst postrm prepare unpack -DEPEND=spell? ( app-text/aspell ) x11-misc/xdg-utils x11-libs/gtk+:2 x11-libs/gtksourceview:2.0 -DESCRIPTION=Man Page Editor -EAPI=7 -HOMEPAGE=https://github.com/KeithDHedger/ManPageEditor -INHERIT=autotools eutils xdg-utils gnome2-utils vcs-snapshot -IUSE=spell -KEYWORDS=~amd64 ~x86 -LICENSE=GPL-3 -RDEPEND=spell? ( app-text/aspell ) x11-misc/xdg-utils x11-libs/gtk+:2 x11-libs/gtksourceview:2.0 -RESTRICT=mirror test -SLOT=0 -SRC_URI=https://api.github.com/repos/KeithDHedger/ManPageEditor/tarball/00d38c8973634527b59879b4fc65883ed26b493c -> manpageeditor-0.1.3_p5.tar.gz -_eclasses_=autotools c9df06c186913b43eb211100ef5fe2cf edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff gnome2-utils 239e7afa214b50012f83b8bb61de7555 gnuconfig 262062cef0ba4f22b397193da514a350 libtool 241a8f577b9781a42a7421e53448a44e multilib de4beb52bfa93c4c5d96792a6b5e1784 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 vcs-snapshot b1abf460a493fc59ebb25de0df3f09dd wrapper 4251d4c84c25f59094fd557e0063a974 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=793ae26ab12d725ff525b3a7940019fd diff --git a/metadata/md5-cache/app-emulation/lxc-4.0.0 b/metadata/md5-cache/app-emulation/lxc-4.0.0 deleted file mode 100644 index 2369ec3..0000000 --- a/metadata/md5-cache/app-emulation/lxc-4.0.0 +++ /dev/null @@ -1,16 +0,0 @@ -BDEPEND=sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.2-r1:1.16 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig -DEFINED_PHASES=configure install postinst prepare setup -DEPEND=net-libs/gnutls sys-libs/libcap pam? ( sys-libs/pam ) seccomp? ( sys-libs/libseccomp ) selinux? ( sys-libs/libselinux ) >=app-text/docbook-sgml-utils-0.6.14-r2 >=sys-kernel/linux-headers-3.2 -DESCRIPTION=LinuX Containers userspace utilities -EAPI=7 -HOMEPAGE=https://linuxcontainers.org/ -INHERIT=autotools bash-completion-r1 linux-info flag-o-matic systemd readme.gentoo-r1 pam -IUSE=apparmor examples pam seccomp selinux +templates -KEYWORDS=~amd64 ~arm ~arm64 ~ppc64 ~x86 -LICENSE=GPL-2 -PDEPEND=templates? ( app-emulation/lxc-templates ) -RDEPEND=net-libs/gnutls sys-libs/libcap pam? ( sys-libs/pam ) seccomp? ( sys-libs/libseccomp ) selinux? ( sys-libs/libselinux ) sys-apps/util-linux app-misc/pax-utils virtual/awk -SLOT=0 -SRC_URI=https://linuxcontainers.org/downloads/lxc/lxc-4.0.0.tar.gz -_eclasses_=autotools c9df06c186913b43eb211100ef5fe2cf bash-completion-r1 d3a60385655d9b402be765a6de333245 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 gnuconfig 262062cef0ba4f22b397193da514a350 libtool 241a8f577b9781a42a7421e53448a44e linux-info 2f039741fe92bcea55c78806d16ac0f5 multilib de4beb52bfa93c4c5d96792a6b5e1784 pam e44a1dd98f13e1ad76de01e919bde1f1 readme.gentoo-r1 eebd0164fe61f4f7b64a683e83fdceb1 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 -_md5_=b8adf311e1362e04dfbc8f0b5c9539ac diff --git a/metadata/md5-cache/app-emulation/lxc-4.0.0_p9 b/metadata/md5-cache/app-emulation/lxc-4.0.0_p9 deleted file mode 100644 index 10003e8..0000000 --- a/metadata/md5-cache/app-emulation/lxc-4.0.0_p9 +++ /dev/null @@ -1,17 +0,0 @@ -BDEPEND=sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.2-r1:1.16 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig -DEFINED_PHASES=configure install postinst prepare setup -DEPEND=net-libs/gnutls sys-libs/libcap pam? ( sys-libs/pam ) seccomp? ( sys-libs/libseccomp ) selinux? ( sys-libs/libselinux ) >=app-text/docbook-sgml-utils-0.6.14-r2 >=sys-kernel/linux-headers-3.2 -DESCRIPTION=LinuX Containers userspace utilities -EAPI=7 -HOMEPAGE=https://linuxcontainers.org/ -INHERIT=autotools bash-completion-r1 linux-info flag-o-matic systemd readme.gentoo-r1 pam -IUSE=apparmor examples pam seccomp selinux +templates -KEYWORDS=~amd64 ~arm ~arm64 ~ppc64 ~x86 -LICENSE=GPL-2 -PDEPEND=templates? ( app-emulation/lxc-templates ) -RDEPEND=net-libs/gnutls sys-libs/libcap pam? ( sys-libs/pam ) seccomp? ( sys-libs/libseccomp ) selinux? ( sys-libs/libselinux ) sys-apps/util-linux app-misc/pax-utils virtual/awk -RESTRICT=mirror -SLOT=0 -SRC_URI=https://github.com/lxc/lxc/archive/d8ccf906038e7ca3241e572192ffa59999adb923.tar.gz -> app-emulation-lxc-4.0.0_p9.tar.gz -_eclasses_=autotools c9df06c186913b43eb211100ef5fe2cf bash-completion-r1 d3a60385655d9b402be765a6de333245 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 gnuconfig 262062cef0ba4f22b397193da514a350 libtool 241a8f577b9781a42a7421e53448a44e linux-info 2f039741fe92bcea55c78806d16ac0f5 multilib de4beb52bfa93c4c5d96792a6b5e1784 pam e44a1dd98f13e1ad76de01e919bde1f1 readme.gentoo-r1 eebd0164fe61f4f7b64a683e83fdceb1 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 -_md5_=e4dd6c64b5420288573d4fc37db68592 diff --git a/metadata/md5-cache/app-emulation/lxc-4.0.9_p1694 b/metadata/md5-cache/app-emulation/lxc-4.0.9_p1694 deleted file mode 100644 index 9d7057a..0000000 --- a/metadata/md5-cache/app-emulation/lxc-4.0.9_p1694 +++ /dev/null @@ -1,17 +0,0 @@ -BDEPEND=doc? ( app-doc/doxygen ) man? ( app-text/docbook-sgml-utils ) verify-sig? ( app-crypt/openpgp-keys-linuxcontainers ) sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.2-r1:1.16 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig -DEFINED_PHASES=configure install postinst prepare setup -DEPEND=acct-group/lxc acct-user/lxc app-misc/pax-utils sys-apps/util-linux sys-libs/libcap sys-libs/libseccomp virtual/awk caps? ( sys-libs/libcap ) pam? ( sys-libs/pam ) selinux? ( sys-libs/libselinux ) ssl? ( dev-libs/openssl:0= ) >=sys-kernel/linux-headers-4 apparmor? ( sys-apps/apparmor ) -DESCRIPTION=A userspace interface for the Linux kernel containment features -EAPI=7 -HOMEPAGE=https://linuxcontainers.org/ https://github.com/lxc/lxc -INHERIT=autotools bash-completion-r1 linux-info flag-o-matic pam readme.gentoo-r1 systemd -IUSE=apparmor +caps doc man pam selinux +ssl +tools +templates verify-sig -KEYWORDS=amd64 arm64 -LICENSE=LGPL-3 -PDEPEND=templates? ( app-emulation/lxc-templates ) -RDEPEND=acct-group/lxc acct-user/lxc app-misc/pax-utils sys-apps/util-linux sys-libs/libcap sys-libs/libseccomp virtual/awk caps? ( sys-libs/libcap ) pam? ( sys-libs/pam ) selinux? ( sys-libs/libselinux ) ssl? ( dev-libs/openssl:0= ) -RESTRICT=mirror -SLOT=0 -SRC_URI=https://github.com/lxc/lxc/archive/2ccc8081d2f37b34523cd95ec19aece6b006caad.tar.gz -> app-emulation-lxc-4.0.9_p1694.tar.gz -_eclasses_=autotools c9df06c186913b43eb211100ef5fe2cf bash-completion-r1 d3a60385655d9b402be765a6de333245 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 gnuconfig 262062cef0ba4f22b397193da514a350 libtool 241a8f577b9781a42a7421e53448a44e linux-info 2f039741fe92bcea55c78806d16ac0f5 multilib de4beb52bfa93c4c5d96792a6b5e1784 pam e44a1dd98f13e1ad76de01e919bde1f1 readme.gentoo-r1 eebd0164fe61f4f7b64a683e83fdceb1 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 -_md5_=1c96b5a8149c357c9085c77c2b112f76 diff --git a/metadata/md5-cache/app-misc/aha-0.5.1_p10 b/metadata/md5-cache/app-misc/aha-0.5.1_p10 deleted file mode 100644 index 5375c66..0000000 --- a/metadata/md5-cache/app-misc/aha-0.5.1_p10 +++ /dev/null @@ -1,11 +0,0 @@ -DEFINED_PHASES=install prepare unpack -DESCRIPTION=Ansi HTML Adapter -EAPI=7 -HOMEPAGE=https://github.com/theZiz/aha http://ziz.delphigl.com/tool_aha.php -INHERIT=vcs-snapshot toolchain-funcs -KEYWORDS=~amd64 ~x86 -LICENSE=|| ( MPL-1.0 LGPL-2+ ) -SLOT=0 -SRC_URI=https://codeload.github.com/theZiz/aha/tar.gz/986eab3df6a075f4d509511e3a8fcfead6c4c26b -> aha-0.5.1_p10.tar.gz -_eclasses_=multilib de4beb52bfa93c4c5d96792a6b5e1784 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 vcs-snapshot b1abf460a493fc59ebb25de0df3f09dd -_md5_=f8bb865d448d6b8b42f187699c4c1e82 diff --git a/metadata/md5-cache/app-office/gtg-0.4.0-r1 b/metadata/md5-cache/app-office/gtg-0.4.0-r1 deleted file mode 100644 index 4f6a190..0000000 --- a/metadata/md5-cache/app-office/gtg-0.4.0-r1 +++ /dev/null @@ -1,17 +0,0 @@ -BDEPEND=dev-util/itstool >=sys-devel/gettext-0.19.8 test? ( python_single_target_python3_8? ( dev-python/nose[python_targets_python3_8(-)] dev-python/cheetah3[python_targets_python3_8(-)] dev-python/mock[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/nose[python_targets_python3_9(-)] dev-python/cheetah3[python_targets_python3_9(-)] dev-python/mock[python_targets_python3_9(-)] ) app-text/pdfjam app-text/pdftk dev-texlive/texlive-latex ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array -DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test -DEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8[xml(+)] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.9-r1:3.9[xml(+)] ) python_single_target_python3_8? ( dev-python/dbus-python[python_targets_python3_8(-)] dev-python/pygobject:3[python_targets_python3_8(-)] >=dev-python/liblarch-3.0[python_targets_python3_8(-)] dev-python/pyxdg[python_targets_python3_8(-)] dev-python/pycairo[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/dbus-python[python_targets_python3_9(-)] dev-python/pygobject:3[python_targets_python3_9(-)] >=dev-python/liblarch-3.0[python_targets_python3_9(-)] dev-python/pyxdg[python_targets_python3_9(-)] dev-python/pycairo[python_targets_python3_9(-)] ) x11-libs/pango[introspection] x11-libs/gdk-pixbuf[introspection] x11-libs/gtk+:3[introspection] dev-util/desktop-file-utils x11-misc/shared-mime-info -DESCRIPTION=Personal organizer for the GNOME desktop environment -EAPI=7 -HOMEPAGE=https://wiki.gnome.org/Apps/GTG/ -INHERIT=meson python-single-r1 xdg -IUSE=test python_single_target_python3_8 python_single_target_python3_9 -KEYWORDS=amd64 arm64 -LICENSE=GPL-3+ -RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8[xml(+)] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.9-r1:3.9[xml(+)] ) python_single_target_python3_8? ( dev-python/dbus-python[python_targets_python3_8(-)] dev-python/pygobject:3[python_targets_python3_8(-)] >=dev-python/liblarch-3.0[python_targets_python3_8(-)] dev-python/pyxdg[python_targets_python3_8(-)] dev-python/pycairo[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/dbus-python[python_targets_python3_9(-)] dev-python/pygobject:3[python_targets_python3_9(-)] >=dev-python/liblarch-3.0[python_targets_python3_9(-)] dev-python/pyxdg[python_targets_python3_9(-)] dev-python/pycairo[python_targets_python3_9(-)] ) x11-libs/pango[introspection] x11-libs/gdk-pixbuf[introspection] x11-libs/gtk+:3[introspection] -REQUIRED_USE=^^ ( python_single_target_python3_8 python_single_target_python3_9 ) -RESTRICT=!test? ( test ) -SLOT=0 -SRC_URI=https://github.com/getting-things-gnome/gtg/releases/download/v0.4/gtg-0.4.0.tar.xz -_eclasses_=eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 meson 9f3e84959ae1d60e19bc91f212774dcc multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 python-single-r1 9783802d3840cbbd78c02b313df760cc python-utils-r1 7ec9eb6bbbeccd424c0430368962d272 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 xdg 6024fbc93167fad782e2032933654857 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=76e0aaf478b187109c3da6e09d7c8548 diff --git a/metadata/md5-cache/app-office/mytetra-1.44.139 b/metadata/md5-cache/app-office/mytetra-1.44.139 deleted file mode 100644 index 7c055c7..0000000 --- a/metadata/md5-cache/app-office/mytetra-1.44.139 +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile configure install prepare -DEPEND=dev-qt/qtgui:5 dev-qt/qtcore:5 dev-qt/qtxmlpatterns:5 dev-qt/qtsvg:5 -DESCRIPTION=Smart manager for information collecting -EAPI=7 -HOMEPAGE=https://github.com/xintrea/mytetra_dev -INHERIT=qmake-utils -IUSE=debug -KEYWORDS=amd64 -LICENSE=GPL-3 -RDEPEND=dev-qt/qtgui:5 dev-qt/qtcore:5 dev-qt/qtxmlpatterns:5 dev-qt/qtsvg:5 -SLOT=0 -SRC_URI=https://github.com/xintrea/mytetra_dev/archive/v.1.44.139.tar.gz -_eclasses_=multilib de4beb52bfa93c4c5d96792a6b5e1784 qmake-utils f5eb2f69fffe94292aaaf802fb21c8d1 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 -_md5_=49c3342ccb6dbc43ec8001ff4ce42b2b diff --git a/metadata/md5-cache/dev-cpp/gflags-2.2.2 b/metadata/md5-cache/dev-cpp/gflags-2.2.2 deleted file mode 100644 index 7d2efce..0000000 --- a/metadata/md5-cache/dev-cpp/gflags-2.2.2 +++ /dev/null @@ -1,14 +0,0 @@ -BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 -DEFINED_PHASES=compile configure install prepare test -DESCRIPTION=Google's C++ argument parsing library -EAPI=7 -HOMEPAGE=http://gflags.github.io/gflags/ -INHERIT=cmake-multilib -IUSE=static-libs test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 -KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux -LICENSE=BSD -RESTRICT=!test? ( test ) -SLOT=0/2.2 -SRC_URI=https://github.com/gflags/gflags/archive/v2.2.2.tar.gz -> gflags-2.2.2.tar.gz -_eclasses_=cmake-multilib de2335e0bd21535a925d008ee3b98e2a cmake-utils f40ef5c4fb8eda19cca8d6604bef497e edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 multibuild d79bd5b4bc4edcb1f5bc19591f8d4714 multilib de4beb52bfa93c4c5d96792a6b5e1784 multilib-build 75c3a5814f2cb851f641711bfcc100c0 multilib-minimal 4b0f1857965db8869a729948d5277e0b multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=ec6a6a1321d09fb892fd7ba53c2a8418 diff --git a/metadata/md5-cache/dev-cpp/kashmir-2015.08.05 b/metadata/md5-cache/dev-cpp/kashmir-2015.08.05 deleted file mode 100644 index adb84d1..0000000 --- a/metadata/md5-cache/dev-cpp/kashmir-2015.08.05 +++ /dev/null @@ -1,11 +0,0 @@ -BDEPEND=>=dev-vcs/git-1.8.2.1[curl] -DEFINED_PHASES=install unpack -DESCRIPTION=Library is provide functionality that not present in the C++ standard library. -EAPI=7 -HOMEPAGE=https://github.com/Corvusoft/kashmir-dependency -INHERIT=git-r3 -LICENSE=Boost-1.0 -PROPERTIES=live -SLOT=0 -_eclasses_=git-r3 cc875b0c1e9b3bdac1af0f82f3ba29da -_md5_=22112c76ce4c2f9d080699169dbfe9ec diff --git a/metadata/md5-cache/dev-lang/ispc-1.14.1-r1 b/metadata/md5-cache/dev-lang/ispc-1.14.1-r1 deleted file mode 100644 index 96a5974..0000000 --- a/metadata/md5-cache/dev-lang/ispc-1.14.1-r1 +++ /dev/null @@ -1,15 +0,0 @@ -BDEPEND=sys-devel/bison sys-devel/flex dev-util/ninja >=dev-util/cmake-3.20.5 -DEFINED_PHASES=compile configure install prepare setup test -DEPEND=>=sys-devel/clang-9.0:= =dev-lang/python-3.9.9-r1:3.9 >=dev-lang/python-3.8.12_p1-r1:3.8 ) !!sys-devel/llvm:0 -DESCRIPTION=Intel SPMD Program Compiler -EAPI=7 -HOMEPAGE=https://ispc.github.com/ -INHERIT=cmake toolchain-funcs python-any-r1 llvm -IUSE=examples -KEYWORDS=amd64 ~x86 -LICENSE=BSD BSD-2 UoI-NCSA -RDEPEND=>=sys-devel/clang-9.0:= ispc-1.14.1.tar.gz -_eclasses_=cmake 11fee991ab428a3370e5c20fa8231fb6 eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 llvm 19c0cdeff39b0e08d1454df31b588316 multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 python-any-r1 13f6d423c5c5bc519a9b552654cc745f python-utils-r1 7ec9eb6bbbeccd424c0430368962d272 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=e2323d8a82e5e0234346651af4f36bdf diff --git a/metadata/md5-cache/dev-lisp/iterate-1.5 b/metadata/md5-cache/dev-lisp/iterate-1.5 deleted file mode 100644 index e340b20..0000000 --- a/metadata/md5-cache/dev-lisp/iterate-1.5 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=compile install prepare unpack -DESCRIPTION=ITERATE is a lispy and extensible replacement for the Common Lisp LOOP macro -EAPI=6 -HOMEPAGE=http://common-lisp.net/project/iterate/ -INHERIT=common-lisp-3 eutils -KEYWORDS=~amd64 ~ppc ~sparc ~x86 -LICENSE=MIT -PDEPEND=virtual/commonlisp -RDEPEND=!dev-lisp/cl-iterate -SLOT=0 -SRC_URI=http://common-lisp.net/project/iterate/releases/iterate-1.5.tar.gz -_eclasses_=common-lisp-3 d050aea27dd94756c394d5f16f704baf desktop c0d27bf73aa08ca05b663dbd31fbef28 edos2unix 33e347e171066657f91f8b0c72ec8773 epatch 9f813bb3c47cf2e60619a663b87c5f4e estack 055c42df72f76a4f45ec92b35e83cd56 eutils dab5d8ec471d025b79c9e6906bcf3bff ltprune 4f3f2db5ce3ccbeeacdf3f94954043aa multilib de4beb52bfa93c4c5d96792a6b5e1784 preserve-libs dbc9f8d2d49c66467bc327fddd8317bd strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 vcs-clean b690a7e9b6c497cf59326a7545df4283 wrapper 4251d4c84c25f59094fd557e0063a974 -_md5_=71e0f07b3776b48945dd40aa6782714f diff --git a/metadata/md5-cache/dev-python/liblarch-3.0.1-r1 b/metadata/md5-cache/dev-python/liblarch-3.0.1-r1 deleted file mode 100644 index 3505d7b..0000000 --- a/metadata/md5-cache/dev-python/liblarch-3.0.1-r1 +++ /dev/null @@ -1,17 +0,0 @@ -BDEPEND=test? ( dev-python/nose[python_targets_python3_9(-)?] ) python_targets_python3_9? ( >=dev-lang/python-3.9.9-r1:3.9 ) test? ( x11-base/xorg-server[xvfb] x11-apps/xhost ) -DEFINED_PHASES=compile configure install prepare test -DEPEND=dev-python/pygobject:3[python_targets_python3_9(-)?] x11-libs/gtk+:3[introspection] -DESCRIPTION=Library to handle directed acyclic graphs -EAPI=7 -HOMEPAGE=https://wiki.gnome.org/Projects/liblarch -INHERIT=distutils-r1 virtualx -IUSE=test python_targets_python3_9 test -KEYWORDS=amd64 arm64 -LICENSE=LGPL-3+ -RDEPEND=dev-python/pygobject:3[python_targets_python3_9(-)?] x11-libs/gtk+:3[introspection] python_targets_python3_9? ( >=dev-lang/python-3.9.9-r1:3.9 ) -REQUIRED_USE=|| ( python_targets_python3_9 ) -RESTRICT=!test? ( test ) -SLOT=0 -SRC_URI=https://github.com/getting-things-gnome/liblarch/archive/v3.0.1.tar.gz -> liblarch-3.0.1.tar.gz -_eclasses_=distutils-r1 197346452a3983cc5891d518dad6e19a eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 multibuild d79bd5b4bc4edcb1f5bc19591f8d4714 multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b python-r1 4c008ab1e6c02cbead059dfe8b864c26 python-utils-r1 7ec9eb6bbbeccd424c0430368962d272 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 virtualx fa024aa649b6bd544144bf94893d402c -_md5_=fdae537f6070a426a5406e024517cc99 diff --git a/metadata/md5-cache/dev-python/pivy-0.6.5 b/metadata/md5-cache/dev-python/pivy-0.6.5 deleted file mode 100644 index ef3ac89..0000000 --- a/metadata/md5-cache/dev-python/pivy-0.6.5 +++ /dev/null @@ -1,16 +0,0 @@ -BDEPEND=dev-lang/swig python_targets_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8 ) -DEFINED_PHASES=compile configure install prepare test -DEPEND=>=media-libs/coin-4.0.0 quarter? ( media-libs/quarter ) soqt? ( >=media-libs/SoQt-1.6.0 ) -DESCRIPTION=Coin3D bindings for Python -EAPI=7 -HOMEPAGE=https://github.com/coin3d/pivy -INHERIT=distutils-r1 -IUSE=+quarter soqt python_targets_python3_8 -KEYWORDS=~amd64 ~x86 -LICENSE=ISC -RDEPEND=>=media-libs/coin-4.0.0 quarter? ( media-libs/quarter ) soqt? ( >=media-libs/SoQt-1.6.0 ) python_targets_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8 ) -REQUIRED_USE=|| ( python_targets_python3_8 ) || ( quarter soqt ) || ( python_targets_python3_8 ) -SLOT=0 -SRC_URI=https://github.com/coin3d/pivy/archive/0.6.5.tar.gz -> pivy-0.6.5.tar.gz -_eclasses_=distutils-r1 197346452a3983cc5891d518dad6e19a eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 multibuild d79bd5b4bc4edcb1f5bc19591f8d4714 multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b python-r1 4c008ab1e6c02cbead059dfe8b864c26 python-utils-r1 7ec9eb6bbbeccd424c0430368962d272 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 -_md5_=8b4af131a4dc1f1f39587fc082314ebd diff --git a/metadata/md5-cache/dev-python/pyside2-tools-5.15.1 b/metadata/md5-cache/dev-python/pyside2-tools-5.15.1 deleted file mode 100644 index b480998..0000000 --- a/metadata/md5-cache/dev-python/pyside2-tools-5.15.1 +++ /dev/null @@ -1,17 +0,0 @@ -BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 test? ( x11-base/xorg-server[xvfb] x11-apps/xhost ) -DEFINED_PHASES=compile configure install prepare test -DEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8 ) >=dev-python/pyside2-5.15.1[widgets,python_targets_python3_8(-)?] test? ( virtual/pkgconfig ) -DESCRIPTION=PySide development tools (lupdate, rcc, uic) -EAPI=7 -HOMEPAGE=https://wiki.qt.io/PySide2 -INHERIT=cmake-utils python-r1 virtualx -IUSE=test tools python_targets_python3_8 test -KEYWORDS=~amd64 ~x86 -LICENSE=GPL-2 -RDEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8 ) >=dev-python/pyside2-5.15.1[widgets,python_targets_python3_8(-)?] tools? ( !dev-qt/qtchooser ) -REQUIRED_USE=|| ( python_targets_python3_8 ) -RESTRICT=!test? ( test ) -SLOT=0 -SRC_URI=https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-5.15.1-src/pyside-setup-opensource-src-5.15.1.tar.xz -_eclasses_=cmake-utils f40ef5c4fb8eda19cca8d6604bef497e eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 multibuild d79bd5b4bc4edcb1f5bc19591f8d4714 multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 python-r1 4c008ab1e6c02cbead059dfe8b864c26 python-utils-r1 7ec9eb6bbbeccd424c0430368962d272 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 virtualx fa024aa649b6bd544144bf94893d402c wrapper 4251d4c84c25f59094fd557e0063a974 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=bb1433901a69f6b135762c0c7fd557bc diff --git a/metadata/md5-cache/dev-util/sasm-3.11.1 b/metadata/md5-cache/dev-util/sasm-3.11.1 deleted file mode 100644 index 795f7d1..0000000 --- a/metadata/md5-cache/dev-util/sasm-3.11.1 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=configure install prepare -DEPEND=dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtsingleapplication dev-qt/qtwidgets:5 -DESCRIPTION=Simple crossplatform IDE for NASM assembly language -EAPI=7 -HOMEPAGE=http://dman95.github.io/SASM/ -INHERIT=qmake-utils -KEYWORDS=amd64 -LICENSE=GPL-3 -RDEPEND=dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtsingleapplication dev-qt/qtwidgets:5 dev-lang/nasm sys-devel/gdb -SLOT=0 -SRC_URI=https://github.com/Dman95/SASM/archive/v3.11.1.tar.gz -> sasm-3.11.1.tar.gz -_eclasses_=multilib de4beb52bfa93c4c5d96792a6b5e1784 qmake-utils f5eb2f69fffe94292aaaf802fb21c8d1 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 -_md5_=051947cdb025400cfd45d2e47f45175d diff --git a/metadata/md5-cache/games-strategy/freeciv-2.6.3 b/metadata/md5-cache/games-strategy/freeciv-2.6.3 deleted file mode 100644 index a101134..0000000 --- a/metadata/md5-cache/games-strategy/freeciv-2.6.3 +++ /dev/null @@ -1,15 +0,0 @@ -BDEPEND=virtual/pkgconfig !dedicated? ( x11-base/xorg-proto nls? ( sys-devel/gettext ) ) -DEFINED_PHASES=configure install postinst postrm preinst prepare setup -DEPEND=app-arch/bzip2 app-arch/xz-utils net-misc/curl sys-libs/zlib auth? ( !mysql? ( ( !sqlite? ( dev-db/mysql-connector-c:0= ) ) ) mysql? ( dev-db/mysql-connector-c:0= ) sqlite? ( dev-db/sqlite:3 ) ) dedicated? ( aimodules? ( dev-libs/libltdl:0 ) ) !dedicated? ( media-libs/libpng:0 gtk? ( x11-libs/gtk+:2 ) mapimg? ( media-gfx/imagemagick:= ) modpack? ( x11-libs/gtk+:2 ) nls? ( virtual/libintl ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 ) !sdl? ( !gtk? ( x11-libs/gtk+:2 ) ) sdl? ( media-libs/libsdl2[video] media-libs/sdl2-gfx media-libs/sdl2-image[png] media-libs/sdl2-ttf ) server? ( aimodules? ( sys-devel/libtool:2 ) ) sound? ( media-libs/libsdl2[sound] media-libs/sdl2-mixer[vorbis] ) ) readline? ( sys-libs/readline:0= ) system-lua? ( >=dev-lang/lua-5.3:= ) dev-util/desktop-file-utils x11-misc/shared-mime-info -DESCRIPTION=multiplayer strategy game (Civilization Clone) -EAPI=7 -HOMEPAGE=http://www.freeciv.org/ -INHERIT=desktop flag-o-matic qmake-utils xdg -IUSE=aimodules auth dedicated +gtk ipv6 mapimg modpack mysql nls qt5 readline sdl +server +sound sqlite system-lua -KEYWORDS=amd64 -LICENSE=GPL-2+ -RDEPEND=app-arch/bzip2 app-arch/xz-utils net-misc/curl sys-libs/zlib auth? ( !mysql? ( ( !sqlite? ( dev-db/mysql-connector-c:0= ) ) ) mysql? ( dev-db/mysql-connector-c:0= ) sqlite? ( dev-db/sqlite:3 ) ) dedicated? ( aimodules? ( dev-libs/libltdl:0 ) ) !dedicated? ( media-libs/libpng:0 gtk? ( x11-libs/gtk+:2 ) mapimg? ( media-gfx/imagemagick:= ) modpack? ( x11-libs/gtk+:2 ) nls? ( virtual/libintl ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 ) !sdl? ( !gtk? ( x11-libs/gtk+:2 ) ) sdl? ( media-libs/libsdl2[video] media-libs/sdl2-gfx media-libs/sdl2-image[png] media-libs/sdl2-ttf ) server? ( aimodules? ( sys-devel/libtool:2 ) ) sound? ( media-libs/libsdl2[sound] media-libs/sdl2-mixer[vorbis] ) ) readline? ( sys-libs/readline:0= ) system-lua? ( >=dev-lang/lua-5.3:= ) -SLOT=0 -SRC_URI=mirror://sourceforge/freeciv/freeciv-2.6.3.tar.bz2 -_eclasses_=desktop c0d27bf73aa08ca05b663dbd31fbef28 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 multilib de4beb52bfa93c4c5d96792a6b5e1784 qmake-utils f5eb2f69fffe94292aaaf802fb21c8d1 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 xdg 6024fbc93167fad782e2032933654857 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=e38058359a290de97edc8ceb113d4bf0 diff --git a/metadata/md5-cache/media-fonts/opengostfont-0.3-r2 b/metadata/md5-cache/media-fonts/opengostfont-0.3-r2 deleted file mode 100644 index 91c3414..0000000 --- a/metadata/md5-cache/media-fonts/opengostfont-0.3-r2 +++ /dev/null @@ -1,14 +0,0 @@ -BDEPEND=X? ( >=x11-apps/mkfontscale-1.2.0 media-fonts/encodings ) -DEFINED_PHASES=install postinst postrm prepare setup -DEPEND=app-arch/xz-utils || ( >=dev-lang/python-3.9.9-r1:3.9 ) media-gfx/fontforge[python] dev-python/fonttools -DESCRIPTION=Free version of Russian standard (GOST) Type1 fonts -EAPI=7 -HOMEPAGE=https://bitbucket.org/fat_angel/opengostfont -INHERIT=font python-any-r1 -IUSE=X -KEYWORDS=~amd64 ~arm64 ~x85 -LICENSE=OFL-1.1 -SLOT=0 -SRC_URI=https://bitbucket-archive.softwareheritage.org/new-static/f6/f638fddd-3d47-4470-98f8-851196b76418/attachments/opengostfont-src-0.3.tar.xz -> opengostfont-src-0.3.tar.xz -_eclasses_=eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 font 0667878c2b594871023dd1833d05996f multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b python-any-r1 13f6d423c5c5bc519a9b552654cc745f python-utils-r1 7ec9eb6bbbeccd424c0430368962d272 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 -_md5_=53232abc3da2f796774f431008aff985 diff --git a/metadata/md5-cache/media-fonts/opengostfont-1.0-r1 b/metadata/md5-cache/media-fonts/opengostfont-1.0-r1 deleted file mode 100644 index 2e6d9c9..0000000 --- a/metadata/md5-cache/media-fonts/opengostfont-1.0-r1 +++ /dev/null @@ -1,14 +0,0 @@ -BDEPEND=X? ( >=x11-apps/mkfontscale-1.2.0 media-fonts/encodings ) -DEFINED_PHASES=install postinst postrm setup -DEPEND=app-arch/unzip -DESCRIPTION=Open-source version of the fonts by Russian standard GOST 2.304-81 -EAPI=7 -HOMEPAGE=https://fontstorage.com/font/nikita-volchenkov/opengost-a -INHERIT=font -IUSE=X -KEYWORDS=amd64 arm64 x86 -LICENSE=OFL-1.10 -SLOT=0 -SRC_URI=https://webfonts.ru/original/opengosta/opengosta.zip -_eclasses_=font 0667878c2b594871023dd1833d05996f -_md5_=79045401d9a846690a5cdc48934d5409 diff --git a/metadata/md5-cache/media-gfx/freecad-0.18.5 b/metadata/md5-cache/media-gfx/freecad-0.18.5 deleted file mode 100644 index ed2ba00..0000000 --- a/metadata/md5-cache/media-gfx/freecad-0.18.5 +++ /dev/null @@ -1,16 +0,0 @@ -BDEPEND=dev-lang/swig doc? ( app-arch/p7zip ) python_single_target_python3_8? ( !dev-python/pyside-tools:2[python_targets_python3_8(-)] dev-python/pyside2-tools[python_targets_python3_8(-)] ) dev-util/ninja >=dev-util/cmake-3.20.5 -DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test -DEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8 ) >=dev-cpp/eigen-3.3.1:3 dev-libs/OpenNI2[opengl(+)] dev-libs/libspnav[X] dev-libs/xerces-c dev-qt/designer:5 dev-qt/qtconcurrent:5 dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtopengl:5 dev-qt/qtprintsupport:5 dev-qt/qtsvg:5 dev-qt/qtwebkit:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 dev-qt/qtxml:5 >=media-libs/coin-4.0.0[draggers(+),manipulators(+),nodekits(+),simage(+),vrml97(+)] media-libs/freetype media-libs/qhull sci-libs/flann[mpi?,openmp] >=sci-libs/med-4.0.0-r1[mpi(+)?,python,python_single_target_python3_8(-)?] sci-libs/orocos_kdl:= >=sci-libs/opencascade-7.3.0:*[vtk(+)] sys-libs/zlib virtual/glu virtual/libusb:1 virtual/opengl fem? ( >=sci-libs/vtk-6.1.0-r4[boost,mpi?,python,qt5,rendering,python_single_target_python3_8(-)?] ) mesh? ( sci-libs/hdf5:=[fortran,mpi?,zlib] ) mpi? ( virtual/mpi[cxx,fortran,threads] ) openscad? ( media-gfx/openscad ) pcl? ( >=sci-libs/pcl-1.8.1:=[opengl,openni2(+),qt5(+),vtk(+)] ) python_single_target_python3_8? ( !dev-python/pyside:2[gui,svg,python_targets_python3_8(-)] !dev-python/shiboken:2[python_targets_python3_8(-)] dev-libs/boost:=[mpi?,python,threads,python_targets_python3_8(-)] dev-python/matplotlib[python_targets_python3_8(-)] dev-python/numpy[python_targets_python3_8(-)] >=dev-python/pivy-0.6.5[python_targets_python3_8(-)] dev-python/pyside2[gui,svg,python_targets_python3_8(-)] dev-python/shiboken2[python_targets_python3_8(-)] addonmgr? ( dev-python/GitPython[python_targets_python3_8(-)] ) mesh? ( dev-python/pybind11[python_targets_python3_8(-)] ) ) dev-util/desktop-file-utils x11-misc/shared-mime-info -DESCRIPTION=QT based Computer Aided Design application -EAPI=7 -HOMEPAGE=https://www.freecadweb.org/ -INHERIT=check-reqs cmake desktop python-single-r1 xdg -IUSE=debug doc mpi netgen pcl +addonmgr +arch +drawing +fem +idf +image +inspection +material +mesh +openscad +part-design +path +points +raytracing +robot +show +spreadsheet +surface +techdraw +tux -assembly -plot -ship +python_single_target_python3_8 -KEYWORDS=~amd64 -LICENSE=LGPL-2 CC-BY-SA-4.0 -RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8 ) >=dev-cpp/eigen-3.3.1:3 dev-libs/OpenNI2[opengl(+)] dev-libs/libspnav[X] dev-libs/xerces-c dev-qt/designer:5 dev-qt/qtconcurrent:5 dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtopengl:5 dev-qt/qtprintsupport:5 dev-qt/qtsvg:5 dev-qt/qtwebkit:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 dev-qt/qtxml:5 >=media-libs/coin-4.0.0[draggers(+),manipulators(+),nodekits(+),simage(+),vrml97(+)] media-libs/freetype media-libs/qhull sci-libs/flann[mpi?,openmp] >=sci-libs/med-4.0.0-r1[mpi(+)?,python,python_single_target_python3_8(-)?] sci-libs/orocos_kdl:= >=sci-libs/opencascade-7.3.0:*[vtk(+)] sys-libs/zlib virtual/glu virtual/libusb:1 virtual/opengl fem? ( >=sci-libs/vtk-6.1.0-r4[boost,mpi?,python,qt5,rendering,python_single_target_python3_8(-)?] ) mesh? ( sci-libs/hdf5:=[fortran,mpi?,zlib] ) mpi? ( virtual/mpi[cxx,fortran,threads] ) openscad? ( media-gfx/openscad ) pcl? ( >=sci-libs/pcl-1.8.1:=[opengl,openni2(+),qt5(+),vtk(+)] ) python_single_target_python3_8? ( !dev-python/pyside:2[gui,svg,python_targets_python3_8(-)] !dev-python/shiboken:2[python_targets_python3_8(-)] dev-libs/boost:=[mpi?,python,threads,python_targets_python3_8(-)] dev-python/matplotlib[python_targets_python3_8(-)] dev-python/numpy[python_targets_python3_8(-)] >=dev-python/pivy-0.6.5[python_targets_python3_8(-)] dev-python/pyside2[gui,svg,python_targets_python3_8(-)] dev-python/shiboken2[python_targets_python3_8(-)] addonmgr? ( dev-python/GitPython[python_targets_python3_8(-)] ) mesh? ( dev-python/pybind11[python_targets_python3_8(-)] ) ) -REQUIRED_USE=^^ ( python_single_target_python3_8 ) arch? ( mesh ) debug? ( mesh ) drawing? ( spreadsheet ) fem? ( mesh ) inspection? ( mesh points ) netgen? ( fem ) openscad? ( mesh ) path? ( robot ) ship? ( image plot ) techdraw? ( spreadsheet drawing ) -SLOT=0 -SRC_URI=https://github.com/FreeCAD/FreeCAD/archive/0.18.5.tar.gz -> freecad-0.18.5.tar.gz doc? ( https://github.com/FreeCAD/FreeCAD/releases/download/0.18.1/FreeCAD.0_18.Quick.Reference.Guide.7z -> freecad-0.18.5.Quick.Reference.Guide.7z ) -_eclasses_=check-reqs bfb51de63b0462097e40436214dd43c8 cmake 11fee991ab428a3370e5c20fa8231fb6 desktop c0d27bf73aa08ca05b663dbd31fbef28 eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 python-single-r1 9783802d3840cbbd78c02b313df760cc python-utils-r1 7ec9eb6bbbeccd424c0430368962d272 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 xdg 6024fbc93167fad782e2032933654857 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=80888728a977593d96aff0cd90dbbc49 diff --git a/metadata/md5-cache/media-gfx/iscan-plugin-gt1500-2.2.0.1-r2 b/metadata/md5-cache/media-gfx/iscan-plugin-gt1500-2.2.0.1-r2 deleted file mode 100644 index bd9b72d..0000000 --- a/metadata/md5-cache/media-gfx/iscan-plugin-gt1500-2.2.0.1-r2 +++ /dev/null @@ -1,15 +0,0 @@ -BDEPEND=app-arch/rpm2targz -DEFINED_PHASES=compile configure install postinst prerm setup unpack -DEPEND=minimal? ( >=media-gfx/iscan-2.21.0 ) -DESCRIPTION=Epson GT-1500 scanner plugin for SANE 'epkowa' backend. -EAPI=7 -HOMEPAGE=http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX -INHERIT=multilib rpm -IUSE=minimal -KEYWORDS=-* ~amd64 -LICENSE=EPSON EAPL -RDEPEND=minimal? ( >=media-gfx/iscan-2.21.0 ) -SLOT=0 -SRC_URI=http://dev.gentoo.org/~flameeyes/avasys/iscan-plugin-gt-1500-2.2.0-1.x86_64.rpm -_eclasses_=edos2unix 33e347e171066657f91f8b0c72ec8773 estack 055c42df72f76a4f45ec92b35e83cd56 eutils dab5d8ec471d025b79c9e6906bcf3bff multilib de4beb52bfa93c4c5d96792a6b5e1784 rpm f73e907469f65e52192f110dec72dce0 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 -_md5_=58ef166796e1871fd11e3c32d6767ded diff --git a/metadata/md5-cache/media-gfx/ktikz-0.13.1 b/metadata/md5-cache/media-gfx/ktikz-0.13.1 deleted file mode 100644 index d33b8cf..0000000 --- a/metadata/md5-cache/media-gfx/ktikz-0.13.1 +++ /dev/null @@ -1,15 +0,0 @@ -BDEPEND=dev-util/ninja >=dev-util/cmake-3.20.5 -DEFINED_PHASES=compile configure install postinst postrm preinst prepare test -DEPEND=dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qtprintsupport:5 app-text/poppler[qt5] doc? ( dev-qt/qthelp:5 ) kde? ( kde-frameworks/kxmlgui kde-frameworks/ktexteditor kde-frameworks/kparts kde-frameworks/kiconthemes ) virtual/latex-base dev-texlive/texlive-latexextra dev-tex/pgf dev-util/desktop-file-utils x11-misc/shared-mime-info -DESCRIPTION=A QT5-based editor for the TikZ language -EAPI=7 -HOMEPAGE=http://www.hackenberger.at/blog/ktikz-editor-for-the-tikz-language -INHERIT=eutils cmake qmake-utils xdg -IUSE=kde +doc -debug -KEYWORDS=~amd64 -LICENSE=GPL-2 -RDEPEND=dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qtprintsupport:5 app-text/poppler[qt5] doc? ( dev-qt/qthelp:5 ) kde? ( kde-frameworks/kxmlgui kde-frameworks/ktexteditor kde-frameworks/kparts kde-frameworks/kiconthemes ) virtual/latex-base dev-texlive/texlive-latexextra dev-tex/pgf !media-gfx/ktikz:4 -SLOT=5 -SRC_URI=https://github.com/fhackenberger/ktikz/archive/0.13.1.tar.gz -_eclasses_=cmake 11fee991ab428a3370e5c20fa8231fb6 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 qmake-utils f5eb2f69fffe94292aaaf802fb21c8d1 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 xdg 6024fbc93167fad782e2032933654857 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=0a0cf82e86af27322969d62b487c7556 diff --git a/metadata/md5-cache/media-gfx/ktikz-9999 b/metadata/md5-cache/media-gfx/ktikz-9999 deleted file mode 100644 index d3b5d15..0000000 --- a/metadata/md5-cache/media-gfx/ktikz-9999 +++ /dev/null @@ -1,14 +0,0 @@ -BDEPEND=dev-util/ninja >=dev-util/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl] -DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack -DEPEND=dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qtprintsupport:5 app-text/poppler[qt5] doc? ( dev-qt/qthelp:5 ) kde? ( kde-frameworks/kxmlgui kde-frameworks/ktexteditor kde-frameworks/kparts kde-frameworks/kiconthemes ) virtual/latex-base dev-tex/pgf dev-texlive/texlive-latexextra dev-util/desktop-file-utils x11-misc/shared-mime-info -DESCRIPTION=A QT5-based editor for the TikZ language -EAPI=7 -HOMEPAGE=http://www.hackenberger.at/blog/ktikz-editor-for-the-tikz-language -INHERIT=eutils cmake qmake-utils git-r3 xdg -IUSE=kde +doc -debug -LICENSE=GPL-2 -PROPERTIES=live -RDEPEND=dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qtprintsupport:5 app-text/poppler[qt5] doc? ( dev-qt/qthelp:5 ) kde? ( kde-frameworks/kxmlgui kde-frameworks/ktexteditor kde-frameworks/kparts kde-frameworks/kiconthemes ) virtual/latex-base dev-tex/pgf dev-texlive/texlive-latexextra !media-gfx/ktikz:4 -SLOT=5 -_eclasses_=cmake 11fee991ab428a3370e5c20fa8231fb6 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 git-r3 cc875b0c1e9b3bdac1af0f82f3ba29da multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 qmake-utils f5eb2f69fffe94292aaaf802fb21c8d1 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 xdg 6024fbc93167fad782e2032933654857 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=02064e2c69fd5a9d0aabc1c8fc5b7071 diff --git a/metadata/md5-cache/media-libs/draco-1.3.5-r3 b/metadata/md5-cache/media-libs/draco-1.3.5-r3 deleted file mode 100644 index 4dc2662..0000000 --- a/metadata/md5-cache/media-libs/draco-1.3.5-r3 +++ /dev/null @@ -1,16 +0,0 @@ -BDEPEND=dev-util/ninja >=dev-util/cmake-3.20.5 -DEFINED_PHASES=compile configure install prepare test -DEPEND=usd? ( media-libs/openusd ) virtual/pkgconfig -DESCRIPTION=Library for compressing and decompressing 3D geometric objects -EAPI=7 -HOMEPAGE=https://google.github.io/draco/ -INHERIT=cmake -IUSE=+compat -gltf -usd -KEYWORDS=amd64 ~x86 -LICENSE=Apache-2.0 -RDEPEND=usd? ( media-libs/openusd ) -RESTRICT=test -SLOT=0 -SRC_URI=https://github.com/google/draco/archive/1.3.5.tar.gz -> draco-1.3.5.tar.gz -_eclasses_=cmake 11fee991ab428a3370e5c20fa8231fb6 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=5a937bd1d27b0564ef4bb91074a758d3 diff --git a/metadata/md5-cache/media-libs/oidn-1.2.1 b/metadata/md5-cache/media-libs/oidn-1.2.1 deleted file mode 100644 index b89d282..0000000 --- a/metadata/md5-cache/media-libs/oidn-1.2.1 +++ /dev/null @@ -1,16 +0,0 @@ -BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 -DEFINED_PHASES=compile configure install prepare setup test -DEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8 ) dev-cpp/tbb dev-lang/ispc dev-util/cmake -DESCRIPTION=Intel(R) Open Image Denoise library -EAPI=7 -HOMEPAGE=http://www.openimagedenoise.org/ -INHERIT=cmake-utils python-single-r1 eutils -IUSE=+python_single_target_python3_8 -KEYWORDS=amd64 ~x86 -LICENSE=Apache-2.0 -RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8 ) dev-cpp/tbb dev-lang/ispc -REQUIRED_USE=^^ ( python_single_target_python3_8 ) -SLOT=0 -SRC_URI=https://github.com/OpenImageDenoise/oidn/releases/download/v1.2.1/oidn-1.2.1.src.tar.gz -> oidn-1.2.1.tar.gz -_eclasses_=cmake-utils f40ef5c4fb8eda19cca8d6604bef497e eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 python-single-r1 9783802d3840cbbd78c02b313df760cc python-utils-r1 7ec9eb6bbbeccd424c0430368962d272 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=d0a7078a816bd7f4a7015df89318a4ac diff --git a/metadata/md5-cache/media-libs/openusd-9999-r1 b/metadata/md5-cache/media-libs/openusd-9999-r1 deleted file mode 100644 index 6f061d7..0000000 --- a/metadata/md5-cache/media-libs/openusd-9999-r1 +++ /dev/null @@ -1,16 +0,0 @@ -BDEPEND=>=dev-vcs/git-1.8.2.1[curl] dev-util/ninja >=dev-util/cmake-3.20.5 -DEFINED_PHASES=compile configure install prepare setup test unpack -DEPEND=dev-cpp/tbb python? ( python_single_target_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8 ) python_single_target_python3_8? ( dev-libs/boost:=[python,python_targets_python3_8(-)] usdview? ( dev-python/pyside2[python_targets_python3_8(-)] opengl? ( dev-python/pyopengl[python_targets_python3_8(-)] ) ) ) ) opensubdiv? ( >=media-libs/opensubdiv-3.4.3 ) opengl? ( >=media-libs/glew-2.0.0 ) openexr? ( media-libs/openexr ) openimageio? ( media-libs/openimageio:= ) opencolorio? ( media-libs/opencolorio ) osl? ( media-libs/osl ) ptex? ( media-libs/ptex ) openvdb? ( media-gfx/openvdb ) doc? ( app-doc/doxygen[dot] ) embree? ( media-libs/embree ) alembic? ( media-gfx/alembic ) hdf5? ( media-gfx/alembic[hdf5] sci-libs/hdf5[hl] ) draco? ( media-libs/draco ) jemalloc? ( dev-libs/jemalloc ) virtual/pkgconfig -DESCRIPTION=Universal Scene Description -EAPI=7 -HOMEPAGE=http://www.openusd.org -INHERIT=git-r3 cmake python-single-r1 flag-o-matic -IUSE=alembic -doc +draco embree -imaging openimageio opencolorio -test -tools -hdf5 openvdb osl -ptex +jemalloc +python usdview opengl openexr opensubdiv monolithic +python_single_target_python3_8 -KEYWORDS=amd64 -LICENSE=Apache-2.0 -PROPERTIES=live -RDEPEND=dev-cpp/tbb python? ( python_single_target_python3_8? ( >=dev-lang/python-3.8.12_p1-r1:3.8 ) python_single_target_python3_8? ( dev-libs/boost:=[python,python_targets_python3_8(-)] usdview? ( dev-python/pyside2[python_targets_python3_8(-)] opengl? ( dev-python/pyopengl[python_targets_python3_8(-)] ) ) ) ) opensubdiv? ( >=media-libs/opensubdiv-3.4.3 ) opengl? ( >=media-libs/glew-2.0.0 ) openexr? ( media-libs/openexr ) openimageio? ( media-libs/openimageio:= ) opencolorio? ( media-libs/opencolorio ) osl? ( media-libs/osl ) ptex? ( media-libs/ptex ) openvdb? ( media-gfx/openvdb ) doc? ( app-doc/doxygen[dot] ) embree? ( media-libs/embree ) alembic? ( media-gfx/alembic ) hdf5? ( media-gfx/alembic[hdf5] sci-libs/hdf5[hl] ) draco? ( media-libs/draco ) jemalloc? ( dev-libs/jemalloc ) -REQUIRED_USE=^^ ( python_single_target_python3_8 ) openimageio? ( imaging ) opencolorio? ( imaging ) opengl? ( imaging ) opensubdiv? ( imaging ) ptex? ( imaging ) openvdb? ( imaging ) embree? ( imaging ) usdview? ( python opengl ) hdf5? ( alembic ) alembic? ( openexr ) test? ( python ) -SLOT=0 -_eclasses_=cmake 11fee991ab428a3370e5c20fa8231fb6 eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 git-r3 cc875b0c1e9b3bdac1af0f82f3ba29da multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 python-single-r1 9783802d3840cbbd78c02b313df760cc python-utils-r1 7ec9eb6bbbeccd424c0430368962d272 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=d8cf7467f2d732aca5dda651b4846161 diff --git a/metadata/md5-cache/mycategory/myapp-1.12 b/metadata/md5-cache/mycategory/myapp-1.12 deleted file mode 100644 index d2d5b8a..0000000 --- a/metadata/md5-cache/mycategory/myapp-1.12 +++ /dev/null @@ -1,12 +0,0 @@ -DEFINED_PHASES=compile install postinst prepare -DESCRIPTION=MyApplication for demonstrating packaging errors and failures -EAPI=6 -HOMEPAGE=https://github.com/EinstokFair/einflay -INHERIT=eapi7-ver myapp-core -IUSE=symlink debug -KEYWORDS=~amd64 ~x86 ~ppc -LICENSE=GPLv2 -RESTRICT=mirror -SLOT=1.12 -_eclasses_=eapi7-ver 1a0a60ad07c8b32d2faba2d085dc0f24 myapp-core 97b2648d68d66a51edeaee92d3ae7873 -_md5_=0e987b29d1e191babf3f8ba7983f1c12 diff --git a/metadata/md5-cache/mycategory/myapp-1.13 b/metadata/md5-cache/mycategory/myapp-1.13 deleted file mode 100644 index c22ae52..0000000 --- a/metadata/md5-cache/mycategory/myapp-1.13 +++ /dev/null @@ -1,12 +0,0 @@ -DEFINED_PHASES=compile install postinst prepare -DESCRIPTION=MyApplication for demonstrating packaging errors and failures -EAPI=6 -HOMEPAGE=https://github.com/EinstokFair/einflay -INHERIT=eapi7-ver myapp-core -IUSE=symlink debug -KEYWORDS=~amd64 ~x86 ~ppc -LICENSE=GPLv2 -RESTRICT=mirror -SLOT=1.13 -_eclasses_=eapi7-ver 1a0a60ad07c8b32d2faba2d085dc0f24 myapp-core 97b2648d68d66a51edeaee92d3ae7873 -_md5_=0e987b29d1e191babf3f8ba7983f1c12 diff --git a/metadata/md5-cache/myruntime/plugin-for-the-first-use-case-1.12 b/metadata/md5-cache/myruntime/plugin-for-the-first-use-case-1.12 deleted file mode 100644 index b0b8fc1..0000000 --- a/metadata/md5-cache/myruntime/plugin-for-the-first-use-case-1.12 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=compile install prepare -DEPEND=mycategory/myapp -DESCRIPTION=Plugin for myapp -EAPI=6 -HOMEPAGE=https://github.com/EinstokFair/einflay -IUSE=myapp_targets_myapp1-13 myapp_targets_myapp1-12 myapp -KEYWORDS=~amd64 ~ppc ~x86 -LICENSE=GPLv2 -RDEPEND= -RESTRICT=mirror -SLOT=0 -_eclasses_=myapp 615daa39b27e0eec77498a8949a23e56 myapp-core 97b2648d68d66a51edeaee92d3ae7873 -_md5_=a84cd14aec79b3d12d5861c0578b25bc diff --git a/metadata/md5-cache/net-libs/restbed-4.7 b/metadata/md5-cache/net-libs/restbed-4.7 deleted file mode 100644 index 254c47e..0000000 --- a/metadata/md5-cache/net-libs/restbed-4.7 +++ /dev/null @@ -1,15 +0,0 @@ -BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 -DEFINED_PHASES=compile configure install prepare test -DEPEND=dev-cpp/asio dev-cpp/kashmir sys-libs/zlib examples? ( sys-libs/pam virtual/logger ) ssl? ( dev-libs/openssl:= ) test? ( dev-cpp/catch ) -DESCRIPTION=For applications that require seamless and secure communication over HTTP -EAPI=7 -HOMEPAGE=https://github.com/Corvusoft/restbed -INHERIT=cmake-utils -IUSE=examples doc ssl static-libs test -KEYWORDS=~amd64 ~arm64 -LICENSE=AGPL-3 -RDEPEND=dev-cpp/asio dev-cpp/kashmir sys-libs/zlib examples? ( sys-libs/pam virtual/logger ) ssl? ( dev-libs/openssl:= ) -SLOT=0 -SRC_URI=https://github.com/Corvusoft/restbed/archive/refs/tags/4.7.tar.gz -> restbed-4-7.tar.gz -_eclasses_=cmake-utils f40ef5c4fb8eda19cca8d6604bef497e edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic d5e1306543bc457213f68bb18f830d14 multilib de4beb52bfa93c4c5d96792a6b5e1784 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 wrapper 4251d4c84c25f59094fd557e0063a974 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=4271d810faccabc2d48260124a676f64 diff --git a/metadata/md5-cache/net-p2p/retroshare-0.6.6 b/metadata/md5-cache/net-p2p/retroshare-0.6.6 deleted file mode 100644 index 6d702ce..0000000 --- a/metadata/md5-cache/net-p2p/retroshare-0.6.6 +++ /dev/null @@ -1,16 +0,0 @@ -BDEPEND=dev-util/cmake virtual/pkgconfig jsonapi? ( app-doc/doxygen ) -DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend -DEPEND=app-arch/bzip2 dev-libs/openssl:0= >=dev-libs/rapidjson-1.1.0 sys-libs/zlib autologin? ( app-crypt/libsecret ) gui? ( dev-qt/qtcore:5 dev-qt/qtmultimedia:5 dev-qt/qtnetwork:5 dev-qt/qtprintsupport:5 dev-qt/qtscript:5 dev-qt/qtxml:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 x11-libs/libX11 x11-libs/libXScrnSaver ) libupnp? ( net-libs/libupnp ) miniupnp? ( net-libs/miniupnpc ) service? ( dev-qt/qtcore:5 ) sqlcipher? ( dev-db/sqlcipher ) !sqlcipher? ( dev-db/sqlite:3 ) dev-qt/qtcore:5 gui? ( dev-qt/designer:5 ) -DESCRIPTION=P2P private sharing application -EAPI=7 -HOMEPAGE=https://retroshare.cc -INHERIT=desktop edos2unix qmake-utils xdg-utils -IUSE=autologin cli +gui +jsonapi libupnp +miniupnp +service +sqlcipher -KEYWORDS=~amd64 ~x86 -LICENSE=AGPL-3 GPL-2 GPL-3 Apache-2.0 LGPL-3 -RDEPEND=app-arch/bzip2 dev-libs/openssl:0= >=dev-libs/rapidjson-1.1.0 sys-libs/zlib autologin? ( app-crypt/libsecret ) gui? ( dev-qt/qtcore:5 dev-qt/qtmultimedia:5 dev-qt/qtnetwork:5 dev-qt/qtprintsupport:5 dev-qt/qtscript:5 dev-qt/qtxml:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 x11-libs/libX11 x11-libs/libXScrnSaver ) libupnp? ( net-libs/libupnp ) miniupnp? ( net-libs/miniupnpc ) service? ( dev-qt/qtcore:5 ) sqlcipher? ( dev-db/sqlcipher ) !sqlcipher? ( dev-db/sqlite:3 ) -REQUIRED_USE=|| ( gui service ) ?? ( libupnp miniupnp ) service? ( || ( cli jsonapi ) ) -SLOT=0 -SRC_URI=http://download.opensuse.org/repositories/network:/retroshare/Debian_Testing/retroshare-common_0.6.6.orig.tar.gz -> retroshare-0.6.6.tar.gz -_eclasses_=desktop c0d27bf73aa08ca05b663dbd31fbef28 edos2unix 33e347e171066657f91f8b0c72ec8773 multilib de4beb52bfa93c4c5d96792a6b5e1784 qmake-utils f5eb2f69fffe94292aaaf802fb21c8d1 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 xdg-utils 4f29a8b760a594a212abe9c2ba957c31 -_md5_=9129a4722b0bffe41ad2169ddd229454 diff --git a/metadata/md5-cache/sys-fs/lxcfs-4.0.1 b/metadata/md5-cache/sys-fs/lxcfs-4.0.1 deleted file mode 100644 index a5461bf..0000000 --- a/metadata/md5-cache/sys-fs/lxcfs-4.0.1 +++ /dev/null @@ -1,14 +0,0 @@ -BDEPEND=sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.2-r1:1.16 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig -DEFINED_PHASES=configure install preinst prepare unpack -DEPEND=sys-apps/help2man dev-libs/glib:2 sys-fs/fuse:0 -DESCRIPTION=FUSE filesystem for LXC -EAPI=7 -HOMEPAGE=https://linuxcontainers.org/lxcfs/introduction/ -INHERIT=autotools systemd vcs-snapshot -LICENSE=Apache-2.0 -RDEPEND=dev-libs/glib:2 sys-fs/fuse:0 -RESTRICT=mirror -SLOT=0 -SRC_URI=https://github.com/lxc/lxcfs/archive/2df8b9f9b20fb9dd76f8ca8d77eadf3458f25b5b.tar.gz -> sys-fs-lxcfs-4.0.1.tar.gz -_eclasses_=autotools c9df06c186913b43eb211100ef5fe2cf gnuconfig 262062cef0ba4f22b397193da514a350 libtool 241a8f577b9781a42a7421e53448a44e multilib de4beb52bfa93c4c5d96792a6b5e1784 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 vcs-snapshot b1abf460a493fc59ebb25de0df3f09dd -_md5_=8072fc059e49a6fd38af06d7e25f794e diff --git a/metadata/md5-cache/sys-fs/lxcfs-4.0.1_p37 b/metadata/md5-cache/sys-fs/lxcfs-4.0.1_p37 deleted file mode 100644 index d07b1c4..0000000 --- a/metadata/md5-cache/sys-fs/lxcfs-4.0.1_p37 +++ /dev/null @@ -1,15 +0,0 @@ -BDEPEND=sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.2-r1:1.16 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig -DEFINED_PHASES=configure install preinst prepare unpack -DEPEND=sys-apps/help2man dev-libs/glib:2 sys-fs/fuse:0 -DESCRIPTION=FUSE filesystem for LXC -EAPI=7 -HOMEPAGE=https://linuxcontainers.org/lxcfs/introduction/ -INHERIT=autotools systemd vcs-snapshot -KEYWORDS=~amd64 -LICENSE=Apache-2.0 -RDEPEND=dev-libs/glib:2 sys-fs/fuse:0 -RESTRICT=mirror -SLOT=0 -SRC_URI=https://github.com/lxc/lxcfs/archive/584fdce8efeba3ed9416ce706d5a938b58f66103.tar.gz -> sys-fs-lxcfs-4.0.1_p37.tar.gz -_eclasses_=autotools c9df06c186913b43eb211100ef5fe2cf gnuconfig 262062cef0ba4f22b397193da514a350 libtool 241a8f577b9781a42a7421e53448a44e multilib de4beb52bfa93c4c5d96792a6b5e1784 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 vcs-snapshot b1abf460a493fc59ebb25de0df3f09dd -_md5_=95d11fef88a68653b79491067c838097 diff --git a/metadata/md5-cache/sys-kernel/gentoo-sources-5.10.14 b/metadata/md5-cache/sys-kernel/gentoo-sources-5.10.14 deleted file mode 100644 index 22a8b55..0000000 --- a/metadata/md5-cache/sys-kernel/gentoo-sources-5.10.14 +++ /dev/null @@ -1,15 +0,0 @@ -DEFINED_PHASES=compile install postinst postrm preinst prepare setup test unpack -DEPEND=!build? ( sys-apps/sed ) -DESCRIPTION=Full sources including the Gentoo patchset for the 5.10 kernel tree -EAPI=6 -HOMEPAGE=https://dev.gentoo.org/~mpagano/genpatches -INHERIT=kernel-2 -IUSE=experimental symlink build -KEYWORDS=~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 -LICENSE=GPL-2 -RDEPEND=!build? ( app-arch/cpio dev-lang/perl sys-devel/bc sys-devel/bison sys-devel/flex sys-devel/make >=sys-libs/ncurses-5.2 virtual/libelf virtual/pkgconfig ) -RESTRICT=binchecks strip -SLOT=5.10.14 -SRC_URI=https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.xz https://dev.gentoo.org/~alicef/dist/genpatches/genpatches-5.10-15.base.tar.xz https://dev.gentoo.org/~mpagano/dist/genpatches/genpatches-5.10-15.base.tar.xz https://dev.gentoo.org/~whissi/dist/genpatches/genpatches-5.10-15.base.tar.xz https://dev.gentoo.org/~alicef/dist/genpatches/genpatches-5.10-15.extras.tar.xz https://dev.gentoo.org/~mpagano/dist/genpatches/genpatches-5.10-15.extras.tar.xz https://dev.gentoo.org/~whissi/dist/genpatches/genpatches-5.10-15.extras.tar.xz experimental? ( https://dev.gentoo.org/~alicef/dist/genpatches/genpatches-5.10-15.experimental.tar.xz https://dev.gentoo.org/~mpagano/dist/genpatches/genpatches-5.10-15.experimental.tar.xz https://dev.gentoo.org/~whissi/dist/genpatches/genpatches-5.10-15.experimental.tar.xz ) -_eclasses_=eapi7-ver 1a0a60ad07c8b32d2faba2d085dc0f24 estack 055c42df72f76a4f45ec92b35e83cd56 kernel-2 0504e914bab621103eb74f52fad0fc6d multilib de4beb52bfa93c4c5d96792a6b5e1784 toolchain-funcs badd6e329e1f3e6bee99b35bf8763ce8 -_md5_=7c503f9c7b507887aaecdf6d25f63ffe diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index deleted file mode 100644 index 056c477..0000000 --- a/metadata/pkg_desc_index +++ /dev/null @@ -1,9 +0,0 @@ -app-admin/distrobuilder 1.0 1.0_p126: System container image builder for LXC and LXD -app-admin/nsexec-lbthomsen 1.22_p20180419: Utilities for non-root LXC containers -app-emulation/lxc 4.0.0 4.0.0_p9: LinuX Containers userspace utilities -dev-lisp/iterate 1.5: ITERATE is a lispy and extensible replacement for the Common Lisp LOOP macro -media-fonts/emojione-color-font 1.3: A color and B&W emoji SVG-in-OpenType font -media-gfx/ktikz 0.12-r1 9999: A QT5-based editor for the TikZ language -mycategory/myapp 1.12 1.13: MyApplication for demonstrating packaging errors and failures -myruntime/plugin-for-the-first-use-case 1.12: Plugin for myapp -sys-fs/lxcfs 4.0.1 4.0.1_p37: FUSE filesystem for LXC diff --git a/profiles/use.local.desc b/profiles/use.local.desc deleted file mode 100644 index d44c54e..0000000 --- a/profiles/use.local.desc +++ /dev/null @@ -1,8 +0,0 @@ -# This file is deprecated as per GLEP 56 in favor of metadata.xml. -# Please add your descriptions to your package's metadata.xml ONLY. -# * generated automatically using pmaint * - -app-emulation/lxc:apparmor - Enable AppArmor support -app-emulation/lxc:cgmanager - Enable support for cgroup management using app-admin/cgmanager -app-emulation/lxc:templates - Install old style templates through app-emulation/lxc-templates -media-gfx/ktikz:ktexteditor - Using KTextEditor framework diff --git a/sys-kernel/gentoo-sources/gentoo-sources-5.10.14.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-5.10.14.ebuild index b977f16..efa2d81 100644 --- a/sys-kernel/gentoo-sources/gentoo-sources-5.10.14.ebuild +++ b/sys-kernel/gentoo-sources/gentoo-sources-5.10.14.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI="8" ETYPE="sources" K_WANT_GENPATCHES="base extras experimental" K_GENPATCHES_VER="15" diff --git a/sys-kernel/sabayon-sources/Manifest b/sys-kernel/sabayon-sources/Manifest new file mode 100644 index 0000000..90df692 --- /dev/null +++ b/sys-kernel/sabayon-sources/Manifest @@ -0,0 +1,2 @@ +DIST 4.11-sabayon-4.11.12.patch.xz 332976 SHA256 dcadd15c7838272ab7c778121bf65cdf3f121f15b9dc61986416ff1b01fb8d2e SHA512 3de29b62da95f8fe06a164e7e801595fbafef4744d4822246b529dc68758ee21ec9949b95117a46998df835b1aa256a5b5de3f6ab69ddb046257687b30c6428c WHIRLPOOL ffddd03eedf3f34333efa1b3c7ef26ca3d8af5d1459c654518bb7eda4ddcd05f86af6ea1acff5b5e24b98b2bc05e25f228703175aab551a2429d917791644f00 +DIST linux-4.11.tar.xz 95447768 SHA256 b67ecafd0a42b3383bf4d82f0850cbff92a7e72a215a6d02f42ddbafcf42a7d6 SHA512 6610eed97ffb7207c71771198c36179b8244ace7222bebb109507720e26c5f17d918079a56d5febdd8605844d67fb2df0ebe910fa2f2f53690daf6e2a8ad09c3 WHIRLPOOL f577b7c5c209cb8dfef2f1d56d77314fbd53323743a34b900e2559ab0049b7c2d6262bda136dd3d005bc0527788106e0484e46558448a8720dac389a969e5886 diff --git a/sys-kernel/sabayon-sources/files/MAX_ARG_STRLEN.patch b/sys-kernel/sabayon-sources/files/MAX_ARG_STRLEN.patch new file mode 100644 index 0000000..aec6629 --- /dev/null +++ b/sys-kernel/sabayon-sources/files/MAX_ARG_STRLEN.patch @@ -0,0 +1,11 @@ +--- a/include/uapi/linux/binfmts.h ++++ b/include/uapi/linux/binfmts.h +@@ -12,7 +12,7 @@ + * prevent the kernel from being unduly impacted by misaddressed pointers. + * MAX_ARG_STRINGS is chosen to fit in a signed 32-bit integer. + */ +-#define MAX_ARG_STRLEN (PAGE_SIZE * 32) ++#define MAX_ARG_STRLEN 250000 + #define MAX_ARG_STRINGS 0x7FFFFFFF + + /* sizeof(linux_binprm->buf) */ diff --git a/sys-kernel/sabayon-sources/metadata.xml b/sys-kernel/sabayon-sources/metadata.xml new file mode 100644 index 0000000..d74ab10 --- /dev/null +++ b/sys-kernel/sabayon-sources/metadata.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/sys-kernel/sabayon-sources/sabayon-sources-4.11.12.ebuild b/sys-kernel/sabayon-sources/sabayon-sources-4.11.12.ebuild new file mode 100644 index 0000000..db3c370 --- /dev/null +++ b/sys-kernel/sabayon-sources/sabayon-sources-4.11.12.ebuild @@ -0,0 +1,28 @@ +# Copyright 2004-2022 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +KEYWORDS="amd64" + +K_SABKERNEL_NAME="sabayon" +K_SABKERNEL_SELF_TARBALL_NAME="sabayon" +K_ONLY_SOURCES="1" +K_SABKERNEL_FORCE_SUBLEVEL="0" +K_KERNEL_NEW_VERSIONING="1" +K_SABKERNEL_PATCH_UPSTREAM_TARBALL="1" + +inherit sabayon-kernel + +DESCRIPTION="Official Sabayon Linux Standard kernel sources" +RESTRICT="mirror" +IUSE="sources_standalone" + +DEPEND="${DEPEND} + sources_standalone? ( !=sys-kernel/linux-sabayon-${PVR} ) + !sources_standalone? ( =sys-kernel/linux-sabayon-${PVR} )" + +src_prepare() { + default + eapply "${FILESDIR}/MAX_ARG_STRLEN.patch" + sabayon-kernel_src_prepare +}