diff options
author | timeless%mozdev.org <> | 2007-01-09 17:39:51 +0100 |
---|---|---|
committer | timeless%mozdev.org <> | 2007-01-09 17:39:51 +0100 |
commit | 9366e99627f23f3c397128947433d9c7363d35a5 (patch) | |
tree | d3d7a2f134c753b3d47f0d0bb77f726f56e0b1ad | |
parent | 6b6c8c06c64d25dca019d9270695da428e19c1cd (diff) | |
download | bugzilla-9366e99627f23f3c397128947433d9c7363d35a5.tar.gz bugzilla-9366e99627f23f3c397128947433d9c7363d35a5.tar.xz |
Bug 344547 [Version 2.20+] bugzilla.mozilla.org thinks I'm using Mac OS X 10.3, when I am using Mac OS X 10.4
r=justdave a=justdave
This is a meme change. enter_bug has supported lists for a while, but the code for the most part didn't take advantage of it.
This is round one of the change, where each match is added to the list of possibles starting with the best match.
enter_bug will already pick the first available match and use it.
-rwxr-xr-x | enter_bug.cgi | 99 |
1 files changed, 50 insertions, 49 deletions
diff --git a/enter_bug.cgi b/enter_bug.cgi index 4496f010e..15d90a3cd 100755 --- a/enter_bug.cgi +++ b/enter_bug.cgi @@ -244,7 +244,7 @@ sub pickos { return formvalue('op_sys'); } - my @os; + my @os = (); if (Bugzilla->params->{'defaultopsys'}) { @os = Bugzilla->params->{'defaultopsys'}; @@ -253,57 +253,58 @@ sub pickos { # item in @os that is a valid platform choice. If # no choice is valid, we return "Other". for ($ENV{'HTTP_USER_AGENT'}) { - /\(.*IRIX.*\)/ && do {@os = "IRIX"; last;}; - /\(.*OSF.*\)/ && do {@os = "OSF/1"; last;}; - /\(.*Linux.*\)/ && do {@os = "Linux"; last;}; - /\(.*Solaris.*\)/ && do {@os = "Solaris"; last;}; - /\(.*SunOS 5.*\)/ && do {@os = "Solaris"; last;}; - /\(.*SunOS.*sun4u.*\)/ && do {@os = "Solaris"; last;}; - /\(.*SunOS.*\)/ && do {@os = "SunOS"; last;}; - /\(.*HP-?UX.*\)/ && do {@os = "HP-UX"; last;}; - /\(.*BSD\/(?:OS|386).*\)/ && do {@os = "BSDI"; last;}; - /\(.*FreeBSD.*\)/ && do {@os = "FreeBSD"; last;}; - /\(.*OpenBSD.*\)/ && do {@os = "OpenBSD"; last;}; - /\(.*NetBSD.*\)/ && do {@os = "NetBSD"; last;}; - /\(.*BeOS.*\)/ && do {@os = "BeOS"; last;}; - /\(.*AIX.*\)/ && do {@os = "AIX"; last;}; - /\(.*OS\/2.*\)/ && do {@os = "OS/2"; last;}; - /\(.*QNX.*\)/ && do {@os = "Neutrino"; last;}; - /\(.*VMS.*\)/ && do {@os = "OpenVMS"; last;}; - /\(.*Windows XP.*\)/ && do {@os = "Windows XP"; last;}; - /\(.*Windows NT 5\.2.*\)/ && do {@os = "Windows Server 2003"; last;}; - /\(.*Windows NT 5\.1.*\)/ && do {@os = "Windows XP"; last;}; - /\(.*Windows 2000.*\)/ && do {@os = "Windows 2000"; last;}; - /\(.*Windows NT 5.*\)/ && do {@os = "Windows 2000"; last;}; - /\(.*Win.*9[8x].*4\.9.*\)/ && do {@os = "Windows ME"; last;}; - /\(.*Win(?:dows |)M[Ee].*\)/ && do {@os = "Windows ME"; last;}; - /\(.*Win(?:dows |)98.*\)/ && do {@os = "Windows 98"; last;}; - /\(.*Win(?:dows |)95.*\)/ && do {@os = "Windows 95"; last;}; - /\(.*Win(?:dows |)16.*\)/ && do {@os = "Windows 3.1"; last;}; - /\(.*Win(?:dows[ -]|)NT.*\)/ && do {@os = "Windows NT"; last;}; - /\(.*Windows.*NT.*\)/ && do {@os = "Windows NT"; last;}; - /\(.*32bit.*\)/ && do {@os = "Windows 95"; last;}; - /\(.*16bit.*\)/ && do {@os = "Windows 3.1"; last;}; - /\(.*Mac OS 9.*\)/ && do {@os = "Mac System 9.x"; last;}; - /\(.*Mac OS 8\.6.*\)/ && do {@os = "Mac System 8.6"; last;}; - /\(.*Mac OS 8\.5.*\)/ && do {@os = "Mac System 8.5"; last;}; + /\(.*IRIX.*\)/ && do {push @os, "IRIX"; }; + /\(.*OSF.*\)/ && do {push @os, "OSF/1";}; + /\(.*Linux.*\)/ && do {push @os, "Linux";}; + /\(.*Solaris.*\)/ && do {push @os, "Solaris";}; + /\(.*SunOS 5.*\)/ && do {push @os, "Solaris";}; + /\(.*SunOS.*sun4u.*\)/ && do {push @os, "Solaris";}; + /\(.*SunOS.*\)/ && do {push @os, "SunOS";}; + /\(.*HP-?UX.*\)/ && do {push @os, "HP-UX";}; + /\(.*BSD\/(?:OS|386).*\)/ && do {push @os, "BSDI";}; + /\(.*FreeBSD.*\)/ && do {push @os, "FreeBSD";}; + /\(.*OpenBSD.*\)/ && do {push @os, "OpenBSD";}; + /\(.*NetBSD.*\)/ && do {push @os, "NetBSD";}; + /\(.*BeOS.*\)/ && do {push @os, "BeOS";}; + /\(.*AIX.*\)/ && do {push @os, "AIX";}; + /\(.*OS\/2.*\)/ && do {push @os, "OS/2";}; + /\(.*QNX.*\)/ && do {push @os, "Neutrino";}; + /\(.*VMS.*\)/ && do {push @os, "OpenVMS";}; + /\(.*Windows XP.*\)/ && do {push @os, "Windows XP";}; + /\(.*Windows NT 5\.2.*\)/ && do {push @os, "Windows Server 2003";}; + /\(.*Windows NT 5\.1.*\)/ && do {push @os, "Windows XP";}; + /\(.*Windows 2000.*\)/ && do {push @os, "Windows 2000";}; + /\(.*Windows NT 5.*\)/ && do {push @os, "Windows 2000";}; + /\(.*Win.*9[8x].*4\.9.*\)/ && do {push @os, "Windows ME";}; + /\(.*Win(?:dows |)M[Ee].*\)/ && do {push @os, "Windows ME";}; + /\(.*Win(?:dows |)98.*\)/ && do {push @os, "Windows 98";}; + /\(.*Win(?:dows |)95.*\)/ && do {push @os, "Windows 95";}; + /\(.*Win(?:dows |)16.*\)/ && do {push @os, "Windows 3.1";}; + /\(.*Win(?:dows[ -]|)NT.*\)/ && do {push @os, "Windows NT";}; + /\(.*Windows.*NT.*\)/ && do {push @os, "Windows NT";}; + /\(.*32bit.*\)/ && do {push @os, "Windows 95";}; + /\(.*16bit.*\)/ && do {push @os, "Windows 3.1";}; + /\(.*Mac OS 9.*\)/ && do {push @os, "Mac System 9.x";}; + /\(.*Mac OS 8\.6.*\)/ && do {push @os, "Mac System 8.6";}; + /\(.*Mac OS 8\.5.*\)/ && do {push @os, "Mac System 8.5";}; # Bugzilla doesn't have an entry for 8.1 - /\(.*Mac OS 8\.1.*\)/ && do {@os = "Mac System 8.0"; last;}; - /\(.*Mac OS 8\.0.*\)/ && do {@os = "Mac System 8.0"; last;}; - /\(.*Mac OS 8[^.].*\)/ && do {@os = "Mac System 8.0"; last;}; - /\(.*Mac OS 8.*\)/ && do {@os = "Mac System 8.6"; last;}; - /\(.*Mac OS X.*\)/ && do {@os = "Mac OS X 10.0"; last;}; - /\(.*Darwin.*\)/ && do {@os = "Mac OS X 10.0"; last;}; + /\(.*Mac OS 8\.1.*\)/ && do {push @os, "Mac System 8.0";}; + /\(.*Mac OS 8\.0.*\)/ && do {push @os, "Mac System 8.0";}; + /\(.*Mac OS 8[^.].*\)/ && do {push @os, "Mac System 8.0";}; + /\(.*Mac OS 8.*\)/ && do {push @os, "Mac System 8.6";}; + /\(.*Intel.*Mac OS X.*\)/ && do {push @os, "Mac OS X 10.4";}; + /\(.*Mac OS X.*\)/ && do {push @os, ("Mac OS X 10.3", "Mac OS X 10.0");}; + /\(.*Darwin.*\)/ && do {push @os, "Mac OS X 10.0";}; # Silly - /\(.*Mac.*PowerPC.*\)/ && do {@os = "Mac System 9.x"; last;}; - /\(.*Mac.*PPC.*\)/ && do {@os = "Mac System 9.x"; last;}; - /\(.*Mac.*68k.*\)/ && do {@os = "Mac System 8.0"; last;}; + /\(.*Mac.*PowerPC.*\)/ && do {push @os, "Mac System 9.x";}; + /\(.*Mac.*PPC.*\)/ && do {push @os, "Mac System 9.x";}; + /\(.*Mac.*68k.*\)/ && do {push @os, "Mac System 8.0";}; # Evil - /Amiga/i && do {@os = "Other"; last;}; - /WinMosaic/ && do {@os = "Windows 95"; last;}; - /\(.*PowerPC.*\)/ && do {@os = "Mac System 9.x"; last;}; - /\(.*PPC.*\)/ && do {@os = "Mac System 9.x"; last;}; - /\(.*68K.*\)/ && do {@os = "Mac System 8.0"; last;}; + /Amiga/i && do {push @os, "Other";}; + /WinMosaic/ && do {push @os, "Windows 95";}; + /\(.*PowerPC.*\)/ && do {push @os, "Mac System 9.x";}; + /\(.*PPC.*\)/ && do {push @os, "Mac System 9.x";}; + /\(.*68K.*\)/ && do {push @os, "Mac System 8.0";}; } } |