From 9366e99627f23f3c397128947433d9c7363d35a5 Mon Sep 17 00:00:00 2001 From: "timeless%mozdev.org" <> Date: Tue, 9 Jan 2007 16:39:51 +0000 Subject: 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. --- enter_bug.cgi | 99 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 50 insertions(+), 49 deletions(-) (limited to 'enter_bug.cgi') 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";}; } } -- cgit v1.2.3-24-g4f1b