diff options
author | idl0r <idl0r@gentoo.org> | 2010-07-03 08:56:48 +0000 |
---|---|---|
committer | idl0r <idl0r@gentoo.org> | 2010-07-03 08:56:48 +0000 |
commit | 3bdac54db0ca280aff9653141925a7b4efb77973 (patch) | |
tree | 29c3b9e86766a6d9fd732dc1b3561c01dd4187ae /src/ekeyword/ekeyword | |
parent | ekeyword: Stabilize stable architectures only when using "all", bug 304133. (diff) | |
download | gentoolkit-3bdac54db0ca280aff9653141925a7b4efb77973.tar.gz gentoolkit-3bdac54db0ca280aff9653141925a7b4efb77973.tar.bz2 gentoolkit-3bdac54db0ca280aff9653141925a7b4efb77973.zip |
ekeyword: Fix stabilization with "all", bug 304133#c11.
svn path=/trunk/gentoolkit-dev/; revision=792
Diffstat (limited to 'src/ekeyword/ekeyword')
-rwxr-xr-x | src/ekeyword/ekeyword | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/ekeyword/ekeyword b/src/ekeyword/ekeyword index 293f0cf..9528911 100755 --- a/src/ekeyword/ekeyword +++ b/src/ekeyword/ekeyword @@ -150,13 +150,22 @@ for my $f (@ARGV) { # Don't add stable keywords for != stable architectures if(length($leader) eq 0) { + my @new; foreach my $tmp (split(/\s/, $quoted)) { - my (undef, $_arch, undef) = ($tmp =~ m/$kw_re/o); + my ($_leader, $_arch, undef) = ($tmp =~ m/$kw_re/o); + $_leader = "" if !defined($_leader); + $_arch = "" if !defined($_arch); - if($ARCH{$_arch} and $ARCH{$_arch} eq 3) { - $quoted =~ s/\Q~${_arch}\E/${_arch}/; + if($_leader eq "~" && ($ARCH{$_arch} && $ARCH{$_arch} eq 3) ) { + push(@new, $_arch); + next; + } + else { + push(@new, "${_leader}${_arch}"); + next; } } + $quoted = join(" ", @new); } else { $quoted =~ s/(^|\s)~?(?=\w)/$1$leader/g; |