| Summary: | eutils.eclass: epatch doesn't omit EPATCH_EXCLUDE entries | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | José Manuel Ferrer Ortiz <jmfo1982> |
| Component: | Eclasses | Assignee: | Gentoo's Team for Core System packages <base-system> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
José Manuel Ferrer Ortiz
2010-01-10 14:39:22 UTC
The problem is in eutils.eclass file, inside epatch method code. The wrong code is:
local ex
for ex in ${EPATCH_EXCLUDE} ; do
[[ ${patchname} == ${ex} ]] && continue
done
The problem is that the continue statement doesn't do what the author of that code wanted to, i.e. continue running the outer for loop (actually skipping the patch application), but instead it continues running this for loop (which does nothing useful and therefore the patch gets applied unconditionally).
An easy solution is putting the continue statement outside the innermost for loop, for example something like this:
local ex cont="no"
for ex in ${EPATCH_EXCLUDE} ; do
[[ ${patchname} == ${ex} ]] && cont="yes" && break
done
[[ ${cont} == "yes" ]] && continue
Thank you for your time and great mantaining job. Oh, and happy new year and decade :)
*** This bug has been marked as a duplicate of bug 300360 *** |