$host :: .../app-arch/xz-utils %% ekeyword ~amd64-linux xz-utils-9999.ebuild xz-utils-9999.ebuild $host :: .../app-arch/xz-utils %% ekeyword amd64 xz-utils-9999.ebuild xz-utils-9999.ebuild - KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux" + KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux" *Something* is weird with ekeyword. Try "ecopy app-arch/xz-utils" to see the behavior.
Oh, ecleankw can't handle: "^\tKEYWORDS=" - works fine without a tab...
ah, I cannot understand why there is ^KEYWORDS in ecleankw. This patch tests fine for me in both cases: %% svn di Index: ecleankw =================================================================== --- ecleankw (revision 50848) +++ ecleankw (working copy) @@ -32,7 +32,7 @@ for f in $files ; do echo -n "Processing $f ... " newkw="" - eval $(egrep "^KEYWORDS=" "$f") + eval $(egrep "KEYWORDS=" "$f") for kw in $KEYWORDS ; do for mkw in $my_keywords ; do kw=${kw/-fbsd/-freebsd} @@ -45,7 +45,7 @@ done done sed -i \ - -e "s|^KEYWORDS=.*$|KEYWORDS=\"${newkw:1}\"|" \ + -e "s|KEYWORDS=.*$|KEYWORDS=\"${newkw:1}\"|" \ "$f" echo "${newkw:1}" done Please enlighten me on why it anchors the variable to the beginning of the line only. :)
I suggest changing the pattern to only match whitespace, e.g. '[ \t]*KEYWORDS' in the right regexp dialect
you don't want to match ACCEPT_KEYWORDS="bla" what's the problem here to continue and fix the bug?
No problem, I just need to do it :)
He who fixes this must decide what to do with multiple KEYWORDS= lines. It is easy to support indented KEYWORDS=, but this happens IMO only when it is in an if-construct (for live-ebuilds) in which case we never know what line to touch.