| 1 | # Copyright 1999-2012 Gentoo Foundation |
1 | # Copyright 1999-2012 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.405 2012/09/28 15:18:04 ulm Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.406 2012/10/07 06:22:01 vapier Exp $ |
| 4 | |
4 | |
| 5 | # @ECLASS: eutils.eclass |
5 | # @ECLASS: eutils.eclass |
| 6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 7 | # base-system@gentoo.org |
7 | # base-system@gentoo.org |
| 8 | # @BLURB: many extra (but common) functions that are used in ebuilds |
8 | # @BLURB: many extra (but common) functions that are used in ebuilds |
| … | |
… | |
| 549 | |
549 | |
| 550 | # @FUNCTION: epatch_user |
550 | # @FUNCTION: epatch_user |
| 551 | # @USAGE: |
551 | # @USAGE: |
| 552 | # @DESCRIPTION: |
552 | # @DESCRIPTION: |
| 553 | # Applies user-provided patches to the source tree. The patches are |
553 | # Applies user-provided patches to the source tree. The patches are |
| 554 | # taken from /etc/portage/patches/<CATEGORY>/<PF|P|PN>/, where the first |
554 | # taken from /etc/portage/patches/<CATEGORY>/<PF|P|PN>[:SLOT]/, where the first |
| 555 | # of these three directories to exist will be the one to use, ignoring |
555 | # of these three directories to exist will be the one to use, ignoring |
| 556 | # any more general directories which might exist as well. They must end |
556 | # any more general directories which might exist as well. They must end |
| 557 | # in ".patch" to be applied. |
557 | # in ".patch" to be applied. |
| 558 | # |
558 | # |
| 559 | # User patches are intended for quick testing of patches without ebuild |
559 | # User patches are intended for quick testing of patches without ebuild |
| … | |
… | |
| 581 | local applied="${T}/epatch_user.log" |
581 | local applied="${T}/epatch_user.log" |
| 582 | [[ -e ${applied} ]] && return 2 |
582 | [[ -e ${applied} ]] && return 2 |
| 583 | |
583 | |
| 584 | # don't clobber any EPATCH vars that the parent might want |
584 | # don't clobber any EPATCH vars that the parent might want |
| 585 | local EPATCH_SOURCE check base=${PORTAGE_CONFIGROOT%/}/etc/portage/patches |
585 | local EPATCH_SOURCE check base=${PORTAGE_CONFIGROOT%/}/etc/portage/patches |
| 586 | for check in ${CATEGORY}/{${P}-${PR},${P},${PN}}; do |
586 | for check in ${CATEGORY}/{${P}-${PR},${P},${PN}}{,:${SLOT}}; do |
| 587 | EPATCH_SOURCE=${base}/${CTARGET}/${check} |
587 | EPATCH_SOURCE=${base}/${CTARGET}/${check} |
| 588 | [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${base}/${CHOST}/${check} |
588 | [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${base}/${CHOST}/${check} |
| 589 | [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${base}/${check} |
589 | [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${base}/${check} |
| 590 | if [[ -d ${EPATCH_SOURCE} ]] ; then |
590 | if [[ -d ${EPATCH_SOURCE} ]] ; then |
| 591 | EPATCH_SOURCE=${EPATCH_SOURCE} \ |
591 | EPATCH_SOURCE=${EPATCH_SOURCE} \ |