Summary
Description: Unnamed repository; edit this file to name it for gitweb.
Last Change: Wed 2/3/10 13:04
Recent Commits
>
--git a/pts-core/functions/pts-functions-install.php b/pts-core/functions/pts-functions-install.php
index b3a0ab4..5d11d1d 100644
--- a/pts-core/functions/pts-functions-install.php
+++ b/pts-core/functions/pts-functions-install.php
@@ -88,26 +88,40 @@ function pts_external_dependency_generic($Name)
if(is_file(MISC_LOCATION . "distro-xml/generic-packages.xml"))
{
$xml_parser = new tandem_XmlReader(file_get_contents(MISC_LOCATION . "distro-xml/generic-packages.xml"));
- $package_name = $xml_parser->getXMLValue("PhoronixTestSuite/Package/Name");
- $title = $xml_parser->getXMLValue("PhoronixTestSuite/Package/Title");
- $description = $xml_parser->getXMLValue("PhoronixTestSuite/Package/Description");
- $possible_packages = $xml_parser->getXMLValue("PhoronixTestSuite/Package/PossibleNames");
+ $package_name = $xml_parser->getXMLArrayValues("PhoronixTestSuite/ExternalDependencies/Package/GenericName");
+ $title = $xml_parser->getXMLArrayValues("PhoronixTestSuite/ExternalDependencies/Package/Title");
+ $possible_packages = $xml_parser->getXMLArrayValues("PhoronixTestSuite/ExternalDependencies/Package/PossibleNames");
+ $file_check = $xml_parser->getXMLArrayValues("PhoronixTestSuite/ExternalDependencies/Package/FileCheck");
$selection = -1;
-
- for($i = 0; $i < count($title); $i++)
+ for($i = 0; $i < count($title) && $selection == -1; $i++)
+ {
if($Name == $package_name[$i])
{
$selection = $i;
- break;
- }
- if($selection != -1)
- $generic_information = $title[$selection] . "\n" . $description[$selection] . "\n\nPossible Package Names: " . $possible_packages[$selection];
+ if(pts_file_missing_check(explode(",", $file_check[$selection])))
+ $generic_information = "=================================\n" . $title[$selection] . "\n=================================\nPossible Package Names: " . $possible_packages[$selection] . "\n\n";
+ }
+ }
}
return $generic_information;
}
+function pts_file_missing_check($file_arr)
+{
+ $file_missing = false;
+
+ foreach($file_arr as $file)
+ {
+ $file = trim($file);
+
+ if(!is_file($file) && !is_dir($file) && !is_link($file))
+ $file_missing = true;
+ }
+
+ return $file_missing;
+}
function pts_install_external_dependencies($Benchmark, &$INSTALL_OBJ)
{
if(pts_benchmark_type($Benchmark) != "BENCHMARK")
@@ -122,7 +136,6 @@ function pts_install_external_dependencies($Benchmark, &$INSTALL_OBJ)
$dependencies = explode(", ", $dependencies);
- $dep_match_count = 0;
$vendor = strtolower(os_vendor());
if(is_file(MISC_LOCATION . "distro-xml/" . $vendor . "-packages.xml"))
@@ -130,19 +143,38 @@ function pts_install_external_dependencies($Benchmark, &$INSTALL_OBJ)
$xml_parser = new tandem_XmlReader(file_get_contents(MISC_LOCATION . "distro-xml/" . $vendor . "-packages.xml"));
$generic_package = $xml_parser->getXMLArrayValues("PhoronixTestSuite/ExternalDependencies/Package/GenericName");
$distro_package = $xml_parser->getXMLArrayValues("PhoronixTestSuite/ExternalDependencies/Package/PackageName");
+ $file_check = $xml_parser->getXMLArrayValues("PhoronixTestSuite/ExternalDependencies/Package/FileCheck");
for($i = 0; $i < count($generic_package); $i++)
if(!empty($generic_package[$i]) && in_array($generic_package[$i], $dependencies))
+ {
if(!in_array($distro_package[$i], $INSTALL_OBJ))
{
- array_push($INSTALL_OBJ, $distro_package[$i]);
- $dep_match_count++;
+ if(!empty($file_check[$i]))
+ {
+ $files = explode(",", $file_check[$i]);
+ $add_dependency = pts_file_missing_check($files);
+ }
+ else
+ $add_dependency = true;
+
+ echo $add_dependency;
+
+ if($add_dependency)
+ array_push($INSTALL_OBJ, $distro_package[$i]);
}
+ }
}
-
- if($dep_match_count == 0)
+ else
{
- echo "No packages found for your distribution (" . os_vendor() . ").";
+ $package_string = "";
+ foreach($dependencies as $dependency)
+ {
+ $package_string .= pts_external_dependency_generic($dependency);
+ }
+
+ if(!empty($package_string))
+ echo "\nSome additional dependencies are required to run this benchmark, and they could not be installed automatically for your distribution by the Phoronix Test Suite. Below are the software packages that must be installed for this benchmark to run properly.\n\n" . $package_string;
}
}
diff --git a/pts/benchmark-profiles/specviewperf9.xml b/pts/benchmark-profiles/specviewperf9.xml
index 7cce9ad..d4ce884 100644
--- a/pts/benchmark-profiles/specviewperf9.xml
+++ b/pts/benchmark-profiles/specviewperf9.xml
@@ -17,7 +17,6 @@
<ResultScale>Weighted Geometric Mean</ResultScale>
<Proportion>HIB</Proportion>
<Description>This test runs SPECViewPerf 9.</Description>
- <Notes> </Notes>
</Information>
<Settings>
<Option>
diff --git a/pts/misc-files/distro-xml/generic-packages.xml b/pts/misc-files/distro-xml/generic-packages.xml
new file mode 100644
index 0000000..27c3a96
--- /dev/null
+++ b/pts/misc-files/distro-xml/generic-packages.xml
@@ -0,0 +1,34 @@
+<PhoronixTestSuite>
+ <ExternalDependencies>
+ <Package>
+ <GenericName>gtk-development</GenericName>
+ <Title>GTK Development Files</Title>
+ <PossibleNames>libgtk2.0-dev</PossibleNames>
+ <FileCheck>/usr/include/gtk-2.0</FileCheck>
+ </Package>
+ <Package>
+ <GenericName>sdl-development</GenericName>
+ <Title>SDL Development Files</Title>
+ <PossibleNames>libsdl1.2-dev</PossibleNames>
+ <FileCheck>/usr/include/SDL/SDL.h, /usr/include/SDL/SDL_gfxPrimitives.h, /usr/include/SDL/SDL_net.h, /usr/include/SDL/SDL_image.h</FileCheck>
+ </Package>
+ <Package>
+ <GenericName>glut</GenericName>
+ <Title>OpenGL Utility Kit (GLUT)</Title>
+ <PossibleNames>freeglut3-dev</PossibleNames>
+ <FileCheck>/usr/lib/libglut.so.3, /usr/include/GL/glut.h</FileCheck>
+ </Package>
+ <Package>
+ <GenericName>csh</GenericName>
+ <Title>CSH</Title>
+ <PossibleNames>csh</PossibleNames>
+ <FileCheck>/bin/bsd-csh</FileCheck>
+ </Package>
+ <Package>
+ <GenericName>libpng-development</GenericName>
+ <Title>libpng (PNG Image) Development Files</Title>
+ <PossibleNames>libpng12-dev</PossibleNames>
+ <FileCheck>/usr/include/libpng12/png.h</FileCheck>
+ </Package>
+ </ExternalDependencies>
+</PhoronixTestSuite>
diff --git a/pts/misc-files/distro-xml/ubuntu-packages.xml b/pts/misc-files/distro-xml/ubuntu-packages.xml
index c01d3a1..5c69f01 100644
--- a/pts/misc-files/distro-xml/ubuntu-packages.xml
+++ b/pts/misc-files/distro-xml/ubuntu-packages.xml
@@ -3,22 +3,27 @@
<Package>
<GenericName>gtk-development</GenericName>
<PackageName>libgtk2.0-dev</PackageName>
+ <FileCheck>/usr/include/gtk-2.0</FileCheck>
</Package>
<Package>
<GenericName>sdl-development</GenericName>
<PackageName>libsdl1.2-dev libsdl-gfx1.2-dev libsdl-net1.2-dev libsdl-image1.2-dev</PackageName>
+ <FileCheck>/usr/include/SDL/SDL.h, /usr/include/SDL/SDL_gfxPrimitives.h, /usr/include/SDL/SDL_net.h, /usr/include/SDL/SDL_image.h</FileCheck>
</Package>
<Package>
<GenericName>glut</GenericName>
<PackageName>freeglut3 freeglut3-dev</PackageName>
+ <FileCheck>/usr/lib/libglut.so.3, /usr/include/GL/glut.h</FileCheck>
</Package>
<Package>
<GenericName>csh</GenericName>
<PackageName>csh</PackageName>
+ <FileCheck>/bin/bsd-csh</FileCheck>
</Package>
<Package>
<GenericName>libpng-development</GenericName>
<PackageName>libpng12-dev</PackageName>
+ <FileCheck>/usr/include/libpng12/png.h</FileCheck>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>
<
Copyright © 2010 by Phoronix Media