* Make the script know about FreeBSD 4.8-RELEASE and 5.1-RELEASE.
* Remove FreeBSD 4.6-RELEASE. * s/5.0-CURRENT/5.1-CURRENT/. * s/4.7-STABLE/4.8-STABLE/. * Use INDEX-5 for FreeBSD 5.x releases. * Use .tbz packages for FreeBSD 5.x releases. * Use CVS 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 INDEX version). * 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 mailing list). PR: www/53381 Submitted by: myself Approved by: ceri (mentor)
This commit is contained in:
parent
8a5acbfbed
commit
3473871ab3
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=17642
1 changed files with 57 additions and 41 deletions
|
@ -24,7 +24,7 @@
|
|||
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
# SUCH DAMAGE.
|
||||
#
|
||||
# $FreeBSD: www/en/cgi/ports.cgi,v 1.66 2003/05/15 12:08:05 ceri Exp $
|
||||
# $FreeBSD: www/en/cgi/ports.cgi,v 1.67 2003/07/20 21:03:14 simon Exp $
|
||||
#
|
||||
# ports.cgi - search engine for FreeBSD ports
|
||||
# o search for a port by name or description
|
||||
|
@ -58,57 +58,36 @@ sub init_variables {
|
|||
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 @@ sub init_variables {
|
|||
$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 @@ sub init_variables {
|
|||
# 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')<br><br>\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 packages_exist {
|
|||
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 @@ sub last_update {
|
|||
}
|
||||
}
|
||||
close DB;
|
||||
return $date . "; based on revision " . $head;
|
||||
return $date . "; based on " . $filebasename . " revision " . $head;
|
||||
}
|
||||
|
||||
sub last_update_message {
|
||||
|
@ -240,9 +251,12 @@ sub readindex {
|
|||
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));
|
||||
|
@ -405,7 +419,7 @@ sub out {
|
|||
$packages{"$version.tgz"}) ||
|
||||
$release ne $remotePrefixFtpPackagesDefault
|
||||
) {
|
||||
print qq[<A HREF="$remotePrefixFtpPackages{$release}/$version.tgz">Package</A> <B>:</B>\n];
|
||||
print qq[<A HREF="$remotePrefixFtpPackages{$release}/$version.$packageExt">Package</A> <B>:</B>\n];
|
||||
}
|
||||
print qq[<A HREF="$l">Changes</A> <B>:</B>
|
||||
<A HREF="$pathDownload">Download</A>
|
||||
|
@ -586,7 +600,7 @@ sub footer {
|
|||
<img ALIGN="RIGHT" src="/gifs/powerlogo.gif">
|
||||
© 1996-2002 by Wolfram Schneider. All rights reserved.<br>
|
||||
};
|
||||
#print q{$FreeBSD: www/en/cgi/ports.cgi,v 1.66 2003/05/15 12:08:05 ceri Exp $} . "<br>\n";
|
||||
#print q{$FreeBSD: www/en/cgi/ports.cgi,v 1.67 2003/07/20 21:03:14 simon Exp $} . "<br>\n";
|
||||
print qq{Please direct questions about this service to
|
||||
<I><A HREF="$mailtoURL">$mailto</A></I><br>\n};
|
||||
print qq{General questions about FreeBSD ports should be sent to } .
|
||||
|
@ -684,6 +698,8 @@ $release = $remotePrefixFtpPackagesDefault
|
|||
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; };
|
||||
|
@ -731,7 +747,7 @@ $counter = 0;
|
|||
|
||||
# search
|
||||
if ($query) {
|
||||
&readindex($relDate{$release}, *today, *msec);
|
||||
&readindex($release_tag, *today, *msec);
|
||||
$query =~ s/([^\w\^])/\\$1/g;
|
||||
&search_ports;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue