From owner-freebsd-www@FreeBSD.ORG Mon Jun 16 10:50:16 2003 Return-Path: Delivered-To: freebsd-www@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 945E037B401 for ; Mon, 16 Jun 2003 10:50:16 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7375C43FAF for ; Mon, 16 Jun 2003 10:50:15 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h5GHoFUp032183 for ; Mon, 16 Jun 2003 10:50:15 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h5GHoFhW032182; Mon, 16 Jun 2003 10:50:15 -0700 (PDT) Resent-Date: Mon, 16 Jun 2003 10:50:15 -0700 (PDT) Resent-Message-Id: <200306161750.h5GHoFhW032182@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-www@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "Simon L.Nielsen" Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB04F37B401 for ; Mon, 16 Jun 2003 10:40:17 -0700 (PDT) Received: from arthur.nitro.dk (port324.ds1-khk.adsl.cybercity.dk [212.242.113.79]) by mx1.FreeBSD.org (Postfix) with ESMTP id CF8D843F75 for ; Mon, 16 Jun 2003 10:40:16 -0700 (PDT) (envelope-from simon@arthur.nitro.dk) Received: by arthur.nitro.dk (Postfix, from userid 1000) id 51C1910BF8B; Mon, 16 Jun 2003 19:40:15 +0200 (CEST) Message-Id: <20030616174015.51C1910BF8B@arthur.nitro.dk> Date: Mon, 16 Jun 2003 19:40:15 +0200 (CEST) From: "Simon L.Nielsen" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: www/53381: [patch] Bring ports.cgi up to date with new releases X-BeenThere: freebsd-www@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: "Simon L.Nielsen" List-Id: FreeBSD Project Webmasters List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jun 2003 17:50:16 -0000 >Number: 53381 >Category: www >Synopsis: [patch] Bring ports.cgi up to date with new releases >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-www >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jun 16 10:50:14 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Simon L. Nielsen >Release: FreeBSD 5.1-BETA i386 >Organization: >Environment: >Description: This patch fixes several things in ports.cgi : * Make the script know about FreeBSD 4.8-REL and 5.1-REL. * s/5.0-CURRENT/5.1-CURRENT/ * s/4.7-STABLE/4.8-STABLE/ * Fix odd link to http://www.FreeBSD.org/ports/ instead of mailto:www@freebsd.org (this was reported some time ago on the www@freebsd.org list) * Use INDEX-5 for FreeBSD 5.x release * Use .tbz packages for FreeBSD 5.x release * Use tags to find the correct INDEX version. This also makes maintenance of this script simpler, since it does not have to know about release dates. * Do not use revision / date for -STABLE and -CURRENT (HEAD will contain the needed version). Note: Only tested on 5.1 with perl v5.6.1, since I only have 5.x development servers, but I do not see any reason that it should not work on 4.x with perl 5.0. >How-To-Repeat: >Fix: --- www-portscgi.patch begins here --- Index: ports.cgi =================================================================== RCS file: /home/ncvs/www/en/cgi/ports.cgi,v retrieving revision 1.66 diff -u -d -r1.66 ports.cgi --- ports.cgi 15 May 2003 12:08:05 -0000 1.66 +++ ports.cgi 16 Jun 2003 17:25:30 -0000 @@ -58,57 +58,36 @@ local($pia64) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ia64'; local($psparc64) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/sparc64'; - $remotePrefixFtpPackagesDefault = '4.7-STABLE/i386'; + $remotePrefixFtpPackagesDefault = '4.8-STABLE/i386'; %remotePrefixFtpPackages = ( - '5.0-CURRENT/i386', "$p/packages-current/All", - '4.7-STABLE/i386', " $p/packages-4-stable/All", + '5.1-CURRENT/i386', "$p/packages-current/All", + '4.8-STABLE/i386', " $p/packages-4-stable/All", + '5.1-RELEASE/i386', "$p/packages-5.1-release/All", '5.0-RELEASE/i386', "$p/packages-5.0-release/All", + '4.8-RELEASE/i386', "$p/packages-4.8-release/All", '4.7-RELEASE/i386', "$p/packages-4.7-release/All", - '4.6-RELEASE/i386', "$p/packages-4.6-release/All", - '5.0-CURRENT/alpha', "$palpha/packages-current/All", - '4.7-STABLE/alpha', "$palpha/packages-4-stable/All", + '5.1-CURRENT/alpha', "$palpha/packages-current/All", + '4.8-STABLE/alpha', "$palpha/packages-4-stable/All", + '5.1-RELEASE/alpha', "$palpha/packages-5.1-release/All", '5.0-RELEASE/alpha', "$palpha/packages-5.0-release/All", + '4.8-RELEASE/alpha', "$palpha/packages-4.8-release/All", '4.7-RELEASE/alpha', "$palpha/packages-4.7-release/All", - '4.6-RELEASE/alpha', "$palpha/packages-4.6-release/All", - '5.0-CURRENT/ia64', "$pia64/packages-current/All", + '5.1-CURRENT/ia64', "$pia64/packages-current/All", + '5.1-RELEASE/ia64', "$pia64/packages-5.1-release/All", '5.0-RELEASE/ia64', "$pia64/packages-5.0-release/All", - '5.0-CURRENT/sparc64', "$psparc64/packages-current/All", + '5.1-CURRENT/sparc64', "$psparc64/packages-current/All", + '5.1-RELEASE/sparc64', "$psparc64/packages-5.1-release/All", '5.0-RELEASE/sparc64', "$psparc64/packages-5.0-release/All", ); - %relDate = - ( - '5.0-CURRENT/i386', 'today', - '4.7-STABLE/i386', 'today', - - '5.0-RELEASE/i386', '2003-01-19 17:34:28 UTC', - '4.7-RELEASE/i386', '2002-10-10 14:47:54 UTC', - '4.6-RELEASE/i386', '2002-06-15 23:01:20 UTC', - - '5.0-CURRENT/alpha', 'today', - '4.7-STABLE/alpha', 'today', - - '5.0-RELEASE/alpha', '2003-01-19 17:34:28 UTC', - '4.7-RELEASE/alpha', '2002-10-10 14:47:54 UTC', - '4.6-RELEASE/alpha', '2002-06-15 23:01:20 UTC', - - '5.0-CURRENT/ia64', 'today', - - '5.0-RELEASE/ia64', '2003-01-19 17:34:28 UTC', - - '5.0-CURRENT/sparc64', 'today', - - '5.0-RELEASE/sparc64', '2003-01-19 17:34:28 UTC', - ); - $remotePrefixHtml = '../ports'; @@ -132,7 +111,6 @@ $mailtoAdvanced = 'yes'; # the URL if you click at the E-Mail address (see below) - $mailtoURL = 'http://www.FreeBSD.org/ports/'; $mailtoURL = "mailto:$mailto" if !$mailtoURL; # security @@ -144,11 +122,42 @@ # make plain text URLs clickable cgi script $url = 'url.cgi'; + # extension type for packages + $packageExt = 'tgz'; + local($packageDB) = '../ports/packages.exists'; &packages_exist($packageDB, *packages) if -f $packageDB; } +# Parse selected version string and set version dependend settings +sub parse_release { + if($release =~ /^(\d+)\.(\d+)(\.(\d+))?-(CURRENT|STABLE|RELEASE)\/(i386|alpha|ia64|sparc64|amd64)$/) { + $release_major = $1; + $release_minor = $2; + $release_patch = $4; + if($release_patch eq "") { + $release_patch = "0"; + } + $release_type = $5; + $release_arch = $6; + if($release_type eq "RELEASE") { + $release_tag = "RELEASE_" . $release_major . "_" . $release_minor . + "_" . $release_patch; + } + } else { + &header; + print "Internal error: Could not parse release string ('$release')

\n"; + &footer; &footer2; &exit(0); + } + + if($release_major == 5) { + $packageExt = 'tbz'; + $ports_database = 'ports/INDEX-5'; + } +} + + sub packages_exist { local($file, *p) = @_; @@ -171,6 +180,8 @@ sub last_update { local($file) = "$cvsroot/$ports_database,v"; local($date) = 'unknown'; + local($filebasename) = $ports_database; + $filebasename =~ s/ports\///; open(DB, $file) || do { &warn("$file: $!\n"); &exit; @@ -184,7 +195,7 @@ } } close DB; - return $date . "; based on revision " . $head; + return $date . "; based on " . $filebasename . " revision " . $head; } sub last_update_message { @@ -240,9 +251,12 @@ local($date, *var, *msec) = @_; local(@co) = ('co', '-p'); - if ($date =~ /^rev([1-9]+\.[0-9]+)$/) { + if ($date =~ /^rev([1-9]+\.[0-9]+)$/ || + $date =~ /^(RELEASE_\d+_\d+_\d+)$/) { # diff by revision push(@co, ('-r', $1)); + } elsif ($date eq "") { + # Get HEAD, no date or revision } else { # diff by date push(@co, ('-D', $date)); @@ -403,7 +417,7 @@ $packages{"$version.tgz"}) || $release ne $remotePrefixFtpPackagesDefault ) { - print qq[Package :\n]; + print qq[Package :\n]; } print qq[Changes : Download @@ -682,6 +696,8 @@ if !$release || !defined($remotePrefixFtpPackages{$release}); $script_name = &env('SCRIPT_NAME'); +&parse_release; + if ($path_info eq "/source") { print "Content-type: text/plain\n\n"; open(R, $0) || do { print "ick!\n"; &exit; }; @@ -729,7 +745,7 @@ # search if ($query) { - &readindex($relDate{$release}, *today, *msec); + &readindex($release_tag, *today, *msec); $query =~ s/([^\w\^])/\\$1/g; &search_ports; } Index: ports.cgi --- www-portscgi.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted: