View | Details | Raw Unified | Return to bug 53381
Collapse All | Expand All

(-)ports.cgi (-39 / +55 lines)
Lines 58-114 Link Here
58
    local($pia64) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ia64';
58
    local($pia64) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ia64';
59
    local($psparc64) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/sparc64';
59
    local($psparc64) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/sparc64';
60
60
61
    $remotePrefixFtpPackagesDefault = '4.7-STABLE/i386';
61
    $remotePrefixFtpPackagesDefault = '4.8-STABLE/i386';
62
    %remotePrefixFtpPackages = 
62
    %remotePrefixFtpPackages = 
63
	(
63
	(
64
	 '5.0-CURRENT/i386', "$p/packages-current/All",
64
	 '5.1-CURRENT/i386', "$p/packages-current/All",
65
	 '4.7-STABLE/i386', " $p/packages-4-stable/All",
65
	 '4.8-STABLE/i386', " $p/packages-4-stable/All",
66
66
67
	 '5.1-RELEASE/i386', "$p/packages-5.1-release/All",
67
	 '5.0-RELEASE/i386', "$p/packages-5.0-release/All",
68
	 '5.0-RELEASE/i386', "$p/packages-5.0-release/All",
69
	 '4.8-RELEASE/i386', "$p/packages-4.8-release/All",
68
	 '4.7-RELEASE/i386', "$p/packages-4.7-release/All",
70
	 '4.7-RELEASE/i386', "$p/packages-4.7-release/All",
69
	 '4.6-RELEASE/i386', "$p/packages-4.6-release/All",
70
71
71
	 '5.0-CURRENT/alpha', "$palpha/packages-current/All",
72
	 '5.1-CURRENT/alpha', "$palpha/packages-current/All",
72
	 '4.7-STABLE/alpha',  "$palpha/packages-4-stable/All",
73
	 '4.8-STABLE/alpha',  "$palpha/packages-4-stable/All",
73
74
75
	 '5.1-RELEASE/alpha', "$palpha/packages-5.1-release/All",
74
	 '5.0-RELEASE/alpha', "$palpha/packages-5.0-release/All",
76
	 '5.0-RELEASE/alpha', "$palpha/packages-5.0-release/All",
77
	 '4.8-RELEASE/alpha', "$palpha/packages-4.8-release/All",
75
	 '4.7-RELEASE/alpha', "$palpha/packages-4.7-release/All",
78
	 '4.7-RELEASE/alpha', "$palpha/packages-4.7-release/All",
76
	 '4.6-RELEASE/alpha', "$palpha/packages-4.6-release/All",
77
79
78
	 '5.0-CURRENT/ia64', "$pia64/packages-current/All",
80
	 '5.1-CURRENT/ia64', "$pia64/packages-current/All",
79
81
82
	 '5.1-RELEASE/ia64', "$pia64/packages-5.1-release/All",
80
	 '5.0-RELEASE/ia64', "$pia64/packages-5.0-release/All",
83
	 '5.0-RELEASE/ia64', "$pia64/packages-5.0-release/All",
81
84
82
	 '5.0-CURRENT/sparc64', "$psparc64/packages-current/All",
85
	 '5.1-CURRENT/sparc64', "$psparc64/packages-current/All",
83
86
87
	 '5.1-RELEASE/sparc64', "$psparc64/packages-5.1-release/All",
84
	 '5.0-RELEASE/sparc64', "$psparc64/packages-5.0-release/All",
88
	 '5.0-RELEASE/sparc64', "$psparc64/packages-5.0-release/All",
85
	);
89
	);
86
90
87
    %relDate = 
88
	(
89
	 '5.0-CURRENT/i386', 'today',
90
	 '4.7-STABLE/i386', 'today',
91
92
	 '5.0-RELEASE/i386', '2003-01-19 17:34:28 UTC',
93
	 '4.7-RELEASE/i386', '2002-10-10 14:47:54 UTC',
94
	 '4.6-RELEASE/i386', '2002-06-15 23:01:20 UTC',
95
96
	 '5.0-CURRENT/alpha', 'today',
97
	 '4.7-STABLE/alpha', 'today',
98
99
	 '5.0-RELEASE/alpha', '2003-01-19 17:34:28 UTC',
100
	 '4.7-RELEASE/alpha', '2002-10-10 14:47:54 UTC',
101
	 '4.6-RELEASE/alpha', '2002-06-15 23:01:20 UTC',
102
103
	 '5.0-CURRENT/ia64', 'today',
104
105
	 '5.0-RELEASE/ia64', '2003-01-19 17:34:28 UTC',
106
107
	 '5.0-CURRENT/sparc64', 'today',
108
109
	 '5.0-RELEASE/sparc64', '2003-01-19 17:34:28 UTC',
110
	  );
111
112
    $remotePrefixHtml =
91
    $remotePrefixHtml =
113
	'../ports';
92
	'../ports';
114
93
Lines 132-138 Link Here
132
    $mailtoAdvanced = 'yes';
111
    $mailtoAdvanced = 'yes';
133
112
134
    # the URL if you click at the E-Mail address (see below)
113
    # the URL if you click at the E-Mail address (see below)
135
    $mailtoURL = 'http://www.FreeBSD.org/ports/';
136
    $mailtoURL = "mailto:$mailto" if !$mailtoURL;
114
    $mailtoURL = "mailto:$mailto" if !$mailtoURL;
137
115
138
    # security
116
    # security
Lines 144-154 Link Here
144
    # make plain text URLs clickable cgi script
122
    # make plain text URLs clickable cgi script
145
    $url = 'url.cgi';
123
    $url = 'url.cgi';
146
124
125
    # extension type for packages
126
    $packageExt = 'tgz';
127
147
    local($packageDB) = '../ports/packages.exists';
128
    local($packageDB) = '../ports/packages.exists';
148
    &packages_exist($packageDB, *packages) if -f $packageDB;
129
    &packages_exist($packageDB, *packages) if -f $packageDB;
149
130
150
}
131
}
151
132
133
# Parse selected version string and set version dependend settings
134
sub parse_release {
135
    if($release =~ /^(\d+)\.(\d+)(\.(\d+))?-(CURRENT|STABLE|RELEASE)\/(i386|alpha|ia64|sparc64|amd64)$/) {
136
	$release_major = $1;
137
	$release_minor = $2;
138
	$release_patch = $4;
139
	if($release_patch eq "") {
140
	    $release_patch = "0";
141
	}
142
	$release_type = $5;
143
	$release_arch = $6;
144
	if($release_type eq "RELEASE") {
145
	    $release_tag = "RELEASE_" . $release_major . "_" . $release_minor .
146
		"_" . $release_patch;
147
	}
148
    } else {
149
	&header;
150
	print "Internal error: Could not parse release string ('$release')<br><br>\n";
151
	&footer; &footer2; &exit(0);
152
    }
153
154
    if($release_major == 5) {
155
	$packageExt = 'tbz';
156
	$ports_database = 'ports/INDEX-5';
157
    }
158
}
159
160
152
sub packages_exist {
161
sub packages_exist {
153
    local($file, *p) = @_;
162
    local($file, *p) = @_;
154
163
Lines 171-176 Link Here
171
sub last_update {
180
sub last_update {
172
    local($file) = "$cvsroot/$ports_database,v";
181
    local($file) = "$cvsroot/$ports_database,v";
173
    local($date) = 'unknown';
182
    local($date) = 'unknown';
183
    local($filebasename) = $ports_database;
184
    $filebasename =~ s/ports\///;
174
185
175
    open(DB, $file) || do {
186
    open(DB, $file) || do {
176
	&warn("$file: $!\n"); &exit;
187
	&warn("$file: $!\n"); &exit;
Lines 184-190 Link Here
184
	}
195
	}
185
    }
196
    }
186
    close DB;
197
    close DB;
187
    return $date . "; based on  revision " . $head;
198
    return $date . "; based on " . $filebasename . " revision " . $head;
188
}
199
}
189
200
190
sub last_update_message {
201
sub last_update_message {
Lines 240-248 Link Here
240
    local($date, *var, *msec) = @_;
251
    local($date, *var, *msec) = @_;
241
    local(@co) = ('co', '-p');
252
    local(@co) = ('co', '-p');
242
253
243
    if ($date =~ /^rev([1-9]+\.[0-9]+)$/) {
254
    if ($date =~ /^rev([1-9]+\.[0-9]+)$/ ||
255
	$date =~ /^(RELEASE_\d+_\d+_\d+)$/) {
244
	# diff by revision
256
	# diff by revision
245
	push(@co, ('-r', $1));
257
	push(@co, ('-r', $1));
258
    } elsif ($date eq "") {
259
      # Get HEAD, no date or revision
246
    } else {
260
    } else {
247
	# diff by date
261
	# diff by date
248
	push(@co, ('-D', $date));
262
	push(@co, ('-D', $date));
Lines 403-409 Link Here
403
	    $packages{"$version.tgz"}) ||
417
	    $packages{"$version.tgz"}) ||
404
	    $release ne $remotePrefixFtpPackagesDefault
418
	    $release ne $remotePrefixFtpPackagesDefault
405
	    ) {
419
	    ) {
406
	    print qq[<A HREF="$remotePrefixFtpPackages{$release}/$version.tgz">Package</A> <B>:</B>\n];
420
	    print qq[<A HREF="$remotePrefixFtpPackages{$release}/$version.$packageExt">Package</A> <B>:</B>\n];
407
	}
421
	}
408
print qq[<A HREF="$l">Changes</A> <B>:</B>
422
print qq[<A HREF="$l">Changes</A> <B>:</B>
409
<A HREF="$pathDownload">Download</A>
423
<A HREF="$pathDownload">Download</A>
Lines 682-687 Link Here
682
    if !$release  || !defined($remotePrefixFtpPackages{$release});
696
    if !$release  || !defined($remotePrefixFtpPackages{$release});
683
$script_name = &env('SCRIPT_NAME');
697
$script_name = &env('SCRIPT_NAME');
684
698
699
&parse_release;
700
685
if ($path_info eq "/source") {
701
if ($path_info eq "/source") {
686
    print "Content-type: text/plain\n\n";
702
    print "Content-type: text/plain\n\n";
687
    open(R, $0) || do { print "ick!\n"; &exit; };
703
    open(R, $0) || do { print "ick!\n"; &exit; };
Lines 729-735 Link Here
729
745
730
# search
746
# search
731
if ($query) {
747
if ($query) {
732
    &readindex($relDate{$release}, *today, *msec);
748
    &readindex($release_tag, *today, *msec);
733
    $query =~ s/([^\w\^])/\\$1/g;
749
    $query =~ s/([^\w\^])/\\$1/g;
734
    &search_ports;
750
    &search_ports;
735
}
751
}

Return to bug 53381