<?php
/*******
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
*******/
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<?php
$uri = $HTTP_GET_VARS[ "uri"];
$host = getenv ("HTTP_HOST");
if (!$host)
$host = "rpmfind.net";
if ($query) {
echo "<title>RPM resource $query</title>";
} else {
echo "<title>Search the RPM repository on $host</title>";
}
?>
<meta name="GENERATOR" content="rpm2html 1.5">
</head>
<body bgcolor="#ffffff" text="#000000">
<table border=5 cellspacing=5 cellpadding=5>
<tbody>
<tr>
<td><a href="/linux/RPM/index.html">Index</a></td>
<td><a href="/linux/RPM/Groups.html">index by Group</a></td>
<td><a href="/linux/RPM/Distribs.html">index by Distribution</a></td>
<td><a href="/linux/RPM/Vendors.html">index by Vendor</a></td>
<td><a href="/linux/RPM/ByDate.html">index by creation date</a></td>
<td><a href="/linux/RPM/ByName.html">index by Name</a></td>
<td><a href="http://rpmfind.net/linux/rpm2html/mirrors.html">Mirrors</a></td>
<td><a href="http://fr.rpmfind.net/linux/rpm2html/help.html">Help</a></td>
</tr>
</tbody></table>
<?php
// We handle only the first argument so far
$query = ltrim ($query);
$list = explode (" ", $query);
$query = $list[0];
if (! $query) {
echo "<h1 align='center'>Search the RPM repository on $host</h1>";
}
// TODO: the form entry does not work in lynx ... crap ...
?>
<p> The search service is very recent and definitely incomplete,
but it should find package by either name (<b>apache</b>),
provides(<b>webserver</b>), absolute file names (<b>/usr/bin/apache</b>),
binaries (<b>gprof</b>) or shared libraries (<b>libXm.so.2</b>) in
standard path. It does not support multiple arguments yet...
<p>
<form action="<?php echo "$PHP_SELF", "?query=", rawurlencode($query) ?>"
enctype="application/x-www-form-urlencoded" method="GET">
<input name="query" type="TEXT" size="60" value="<?php echo $query ?>">
<input name=submit type=submit value="Search ...">
</form>
<?php
if ($host == "fr.rpmfind.net") {
echo "
<p> The French mirror bandwidth is saturated, in case of troubles
check <a href='http://fr2.rpmfind.net/linux/rpm2html/search.php'
>fr2.rpmfind.net</a> mirror at INSA.";
}
?>
<?php
if (($query) && (strlen($query) <= 50)) {
echo "<h1 align='center'>RPM resource $query</h1>";
if (strstr ($query, '/')) {
// Assumes it's a file query
$file = $query;
} else if (strstr ($query, '-')) {
// looks like one gonna have to cut this into
// package/version/release/arch strings
// TODO
$package = $query;
} else {
$package=$query;
}
$link = mysql_connect ("localhost", "nobody");
// pconnect was leading to
// Warning: Unknown command in /serveur/WWW/public/linux/rpm2html/search.php
// on line 66
// Could not connect to the database:
// $link = mysql_pconnect ("localhost", "nobody");
if (!$link) {
echo "<p> Could not connect to the database: ", mysql_error();
} else {
mysql_select_db("rpmfind", $link);
$origquery = $query;
$j = 0;
if ($package) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Packages,Distribs WHERE Packages.Name='$package' and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
} else {
echo "<p> Query for package $package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Provides,Packages,Distribs WHERE Provides.Resource='$package' and Packages.ID=Provides.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
} else {
echo "<p> Query for resource $package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Packages,Distribs WHERE Packages.Name LIKE 'lib$package%' and Packages.Dist=Distribs.ID ");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query="lib$package";
} else {
echo "<p> Query for package $package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Packages,Distribs WHERE Packages.Name LIKE '$package%' and Packages.Dist=Distribs.ID");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
} else {
echo "<p> Query for package $package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Provides,Packages,Distribs WHERE Provides.Resource LIKE 'lib$package%' and Packages.ID=Provides.ID and Packages.Dist=Distribs.ID");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query="lib$package";
} else {
echo "<p> Query for resource $package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Provides,Packages,Distribs WHERE Provides.Resource LIKE '$package%' and Packages.ID=Provides.ID and Packages.Dist=Distribs.ID");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
} else {
echo "<p> Query for resource $package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='/bin/$package' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query = "/bin/$package";
} else {
echo "<p> Query for file /bin/$package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='/usr/bin/$package' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query = "/usr/bin/$package";
} else {
echo "<p> Query for file /usr/bin/$package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='/sbin/$package' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query = "/sbin/$package";
} else {
echo "<p> Query for file /sbin/$package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='/usr/sbin/$package' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query = "/usr/sbin/$package";
} else {
echo "<p> Query for file /usr/sbin/$package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='/opt/bin/$package' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query = "/opt/bin/$package";
} else {
echo "<p> Query for file /opt/bin/$package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='/usr/X11R6/bin/$package' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query = "/usr/X11R6/bin/$package";
} else {
echo "<p> Query for file /usr/X11R6/bin/$package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='/usr/lib/$package' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query = "/usr/lib/$package";
} else {
echo "<p> Query for file /usr/lib/$package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='/lib/$package' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query = "/lib/$package";
} else {
echo "<p> Query for file /lib/$package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='/opt/lib/$package' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query = "/opt/lib/$package";
} else {
echo "<p> Query for file /opt/lib/$package failed\n";
}
}
if (($package) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='/usr/X11R6/lib/$package' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
else
$query = "/usr/X11R6/lib/$package";
} else {
echo "<p> Query for file /usr/X11R6/lib/$package failed\n";
}
}
if (($file) && ($j == 0)) {
$result = mysql_query ("SELECT Packages.ID,Packages.filename,Packages.Name,Packages.Version,Packages.Release,Packages.Arch,Packages.Summary,Distribs.Name,Distribs.Path,Distribs.color,Distribs.Directory,Distribs.HTML FROM Files,Packages,Distribs WHERE Files.Path='$file' and Packages.ID=Files.ID and Packages.Dist=Distribs.ID ORDER BY Packages.Name,Packages.Version,Packages.Release");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
mysql_free_result($result);
} else {
echo "<p> Query for resource $file failed\n";
}
}
if ($result) {
if ($j > 0) {
printf("<h3 align='center'> Found %d RPM for $query\n</h3>", $j);
printf("<table><tbody>\n");
printf("<tr><td>Package</td><td>Summary</td><td>Distribution</td><td>Download</td></tr>\n");
$prevname="";
for ($i = $j - 1; $i >= 0; $i--) {
$path = mysql_result($result, $i, 1);
$name = mysql_result($result, $i, 2);
$version = mysql_result($result, $i, 3);
$release = mysql_result($result, $i, 4);
$arch = mysql_result($result, $i, 5);
$summary = mysql_result($result, $i, 6);
$dist = mysql_result($result, $i, 7);
$subdir = mysql_result($result, $i, 8);
$color = mysql_result($result, $i, 9);
$directory = mysql_result($result, $i, 10);
$html = mysql_result($result, $i, 11);
if ($prevname != $name) {
if ($prevname != "")
echo "</tbody></table> <br> <table><tbody>";
$prevname = $name;
}
echo "<tr bgcolor='$color'>";
if (($subdir) && ($directory) && (!$html)) {
$rpmsubdir = substr($path, strlen($directory));
$pos = strpos($rpmsubdir, "$name-$version-$release");
if ($pos == false) {
$pos = strpos($rpmsubdir, "$name");
}
if ($pos == false) {
echo "<td></td>";
} else {
$rpmsubdir = substr($rpmsubdir, 0, $pos);
echo "<td><a href='http://$host/linux/RPM/$subdir/$rpmsubdir/$name-$version-$release.$arch.html'>$name-$version-$release-$arch.html</a></td>";
}
} else {
echo "<td></td>";
}
echo "<td>$summary</td>";
echo "<td>$dist</td>";
$url = strstr($path, '/linux');
if (!$url)
$url = strstr($path, '/pub');
if ($url) {
if (($host == "rpmfind.net") ||
($host == "www.rpmfind.net"))
echo "<td><a href='ftp://ftp.rpmfind.net$url'>$name-$version-$release-$arch.rpm</a></td>";
else
echo "<td><a href='ftp://$host$url'>$name-$version-$release-$arch.rpm</a></td>";
} else
echo "<td>$name-$version-$release-$arch.rpm</td>";
echo "</tr>";
}
printf("</tbody></table>\n");
mysql_free_result($result);
} else {
echo "<p> No package found of name $query\n";
}
}
$result = mysql_query ("SELECT ID,Count,Results FROM Queries WHERE Value='$origquery'");
if ($result) {
$i = mysql_num_rows($result);
if ($i == 0) {
mysql_free_result($result);
mysql_query ("INSERT INTO Queries (Value,Count,Results) VALUES ('$origquery',1,$j)");
} else {
$id = mysql_result($result, 0, 0);
$count = mysql_result($result, 0, 1);
$results = mysql_result($result, 0, 2);
$count ++;
$results += $j;
mysql_query ("UPDATE Queries SET Count=$count,Results=$results WHERE ID=$id");
}
}
mysql_close($link);
}
}
?>
<hr>
<p>Generated by <a href="http://rpmfind.net/linux/rpm2html/">rpm2html 1.5</a>
<p><a href="mailto:Daniel.Veillard@imag.fr">Daniel Veillard</a>
</body>
</html>
Webmaster