summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/epatch.eclass11
1 files changed, 6 insertions, 5 deletions
diff --git a/eclass/epatch.eclass b/eclass/epatch.eclass
index 1ea657a3b6f8..da9364136777 100644
--- a/eclass/epatch.eclass
+++ b/eclass/epatch.eclass
@@ -19,6 +19,8 @@ case ${EAPI:-0} in
die "${ECLASS}: banned in EAPI=${EAPI}; use eapply* instead";;
esac
+inherit estack
+
# @VARIABLE: EPATCH_SOURCE
# @DESCRIPTION:
# Default directory to search for patches.
@@ -209,14 +211,13 @@ epatch() {
# Let people filter things dynamically
if [[ -n ${EPATCH_EXCLUDE}${EPATCH_USER_EXCLUDE} ]] ; then
# let people use globs in the exclude
- local prev_noglob=$(shopt -p -o noglob)
- set -o noglob
+ eshopts_push -o noglob
local ex
for ex in ${EPATCH_EXCLUDE} ; do
if [[ ${patchname} == ${ex} ]] ; then
einfo " Skipping ${patchname} due to EPATCH_EXCLUDE ..."
- ${prev_noglob}
+ eshopts_pop
continue 2
fi
done
@@ -224,12 +225,12 @@ epatch() {
for ex in ${EPATCH_USER_EXCLUDE} ; do
if [[ ${patchname} == ${ex} ]] ; then
einfo " Skipping ${patchname} due to EPATCH_USER_EXCLUDE ..."
- ${prev_noglob}
+ eshopts_pop
continue 2
fi
done
- ${prev_noglob}
+ eshopts_pop
fi
if [[ ${SINGLE_PATCH} == "yes" ]] ; then