update ekeyword for GLEP 22 keywords
authoragriffis <agriffis@gentoo.org>
Thu, 16 Sep 2004 01:11:27 +0000 (01:11 -0000)
committeragriffis <agriffis@gentoo.org>
Thu, 16 Sep 2004 01:11:27 +0000 (01:11 -0000)
svn path=/; revision=134

trunk/src/ekeyword/ChangeLog
trunk/src/ekeyword/ekeyword

index 274889708f51056ed01cc5e50fe265df88b4d785..6af10ddd44e36ed3b5d1fede68b403fb3096ea0c 100644 (file)
@@ -1,3 +1,7 @@
+15 Sep 2004 Aron Griffis <agriffis@gentoo.org>
+       * Update for GLEP 22 keywords
+       * Change copyright line for Gentoo Foundation
+
 12 Apr 2004 Aron Griffis <agriffis@gentoo.org>
        * Add ability to remove keywords with ^, for example:
          ekeyword ^alpha blah.ebuild
index 67f2ea7e8fb8abd76713f09ac79d8ebb2e93e7cd..dc95294f31c3c691b404365e433577722a6f621c 100644 (file)
@@ -1,7 +1,8 @@
 #!/usr/bin/perl -w
 #
-# Copyright 2003, Gentoo Technologies, Inc.
-# Author: Aron Griffis <agriffis@gentoo.org>
+# Copyright 2003-2004, Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# Written by Aron Griffis <agriffis@gentoo.org>
 #
 # ekeyword: Update the KEYWORDS in an ebuild.  For example:
 #
@@ -12,7 +13,7 @@
 #   > KEYWORDS="x86 ppc sparc ~alpha"
 
 
-my ($kw_re) = '^(?:([-~^]?)(\w+)|([-^]\*))$';
+my ($kw_re) = '^(?:([-~^]?)(\w[\w-]*)|([-^]\*))$';
 my (@kw);
 
 # make sure the cmdline consists of keywords and ebuilds
@@ -43,8 +44,8 @@ for my $f (@ARGV) {
        # extract the quoted section from KEYWORDS
        (my $quoted = $_) =~ s/^.*["'](.*?)["'].*/$1/s;
 
-       # replace -* with -star for our convenience below
-       $quoted =~ s/-\*/-star/;
+       # replace -* with -STAR for our convenience below
+       $quoted =~ s/-\*/-STAR/;
 
        for my $k (@kw) {
            my ($leader, $arch, $star) = ($k =~ /$kw_re/o);
@@ -52,7 +53,7 @@ for my $f (@ARGV) {
            # handle -* and ^*
            if (defined $star) {
                $leader = substr $star,0,1;
-               $arch = 'star';
+               $arch = 'STAR';
            }
 
            # remove keywords
@@ -73,7 +74,7 @@ for my $f (@ARGV) {
                    # modify or add keyword
                    unless ($quoted =~ s/[-~]?\Q$arch\E\b/$leader$arch/) {
                        # modification failed, need to add
-                       if ($arch eq 'star') {
+                       if ($arch eq 'STAR') {
                            $quoted = "$leader$arch $quoted";
                        } else {
                            $quoted .= " $leader$arch";
@@ -83,8 +84,8 @@ for my $f (@ARGV) {
            }
        }
 
-       # replace -star with -*
-       $quoted =~ s/-star\b/-*/;
+       # replace -STAR with -*
+       $quoted =~ s/-STAR\b/-*/;
 
        # fixup spacing
        $quoted =~ s/^\s*(.*?)\s*$/$1/; # leading/trailing