X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Fhwinfo%2Fsrc%2Fids%2Fcdb_x11;fp=src%2Fhwinfo%2Fsrc%2Fids%2Fcdb_x11;h=0000000000000000000000000000000000000000;hb=33634aa878e26c61424ed0160174f93431cca3cf;hp=9be446cd917b0581cbaf9d3a55a601f948fadad8;hpb=02c629b9ffbb8ff44d77db122cdbc728a7e87191;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/src/hwinfo/src/ids/cdb_x11 b/src/hwinfo/src/ids/cdb_x11 deleted file mode 100755 index 9be446cd9..000000000 --- a/src/hwinfo/src/ids/cdb_x11 +++ /dev/null @@ -1,349 +0,0 @@ -#!/usr/bin/perl -w -# Copyright (c) 1996 SuSE GmbH Nuernberg, Germany. All rights reserved. -# -# Author: Dirk Hessing , 08/2001 -# -# Exporting hw-data for x11 from developer-CDB - - -use DBI; -use strict; -use IO::Handle; -use Getopt::Long; - -# MySQL-Host / MySQL-User -my $hostname = "cdbintern.suse.de"; -my $mysql_user = "cdbclient"; -my $mysql_passwd = "cdb"; -my $target = "cdb"; - -my $driver = DBI->install_driver('mysql'); -my $dbh = DBI->connect('DBI:mysql:'.$target.':'.$hostname,$mysql_user,$mysql_passwd) - or die "Can't connect to the MySQL Database, table $target"; - -### Log-Handle und STDOUT-Handle auf ungepufferte Ausgabe setzten (schlechtere Performance ;-) -STDOUT->autoflush(); - - -my $dist_name = "Stable"; -my $date = localtime(); - -my (@query,$x,$result,$arch_name,@arch_names,$filename,$count); -my ($product_id,$product_name,$vendor_name,$bus_name,$subclass_name); -my ($vId,$dId,$sdId,$svId); -my (%tooltopics,$tooltopic_name,$vario_name,$charvalue); - -my $opt_dir = "tmp"; - - -# convert to new id format -sub new_id -{ - my ($old_id, $id_class, $tag, $id); - - ($old_id, $id_class) = @_; - - if($old_id =~ /^([us]?)(\S{4})$/) { - $tag = $1; - $id = $2; - } - else { - die "invalid id format: \"$old_id\"\n"; - } - - if($tag eq "" && $id_class && $id_class =~ /^([us]?)(\S{4})$/) { - $tag = $1; - } - - if($tag eq "s") { - $tag = "special "; - } - elsif($tag eq "u") { - $tag = "usb "; - } - elsif($tag eq "") { - $tag = "pci "; - } - else { - die "invalid id format: \"$old_id\"\n"; - } - - return "${tag}0x$id"; -} - - -# write data to FH -sub write_info -{ - my ($arch, $xfree, $has3d, $vId, $dId, $svId, $sdId, $vName, $dName, $tt, $raw, @raw); - - ($arch, $xfree, $has3d, $vId, $dId, $svId, $sdId, $vName, $dName, $tt) = @_; - - return unless $vId ne "" && $dId ne ""; - - # print FH "\n# vId = $vId, dId = $dId, svId = $svId, sdId = $sdId, vName = \"$vName\", dName = \"$dName\"\n"; - - if($svId ne "" && $sdId ne "") { - print FH "\n vendor.id\t\t${\new_id $vId}\n"; - print FH "+vendor.name\t\t$vName\n"; - - print FH "\n vendor.id\t\t${\new_id $vId}\n"; - print FH "&device.id\t\t${\new_id $dId, $vId}\n"; - print FH "&subvendor.id\t\t${\new_id $svId, $vId}\n"; - print FH "&subdevice.id\t\t${\new_id $sdId, $vId}\n"; - print FH "+subdevice.name\t\t$dName\n"; - } - else { - print FH "\n vendor.id\t\t${\new_id $vId}\n"; - print FH "+vendor.name\t\t$vName\n"; - - print FH "\n vendor.id\t\t${\new_id $vId}\n"; - print FH "&device.id\t\t${\new_id $dId, $vId}\n"; - print FH "+device.name\t\t$dName\n"; - } - - if($$tt{resol} ne "") { - $$tt{resol} =~ s/bpp//g; - } - - # Teste ob mehr als ein driver- oder installscript-topic vorhanden ist: - if(($$tt{driver} =~ /,/) || ($$tt{installscript} =~ /,/)) { - warn - "\nMore than one driver- or installscript-topic.\n" . - " Product-id = $product_id, Vario = $vario_name, Arch = $arch\n" . - " Id = (${\new_id $vId}, ${\new_id $dId, $vId}), Name = $dName\n" . - " Driver = \"$$tt{driver}\", script = \"$$tt{installscript}\"\n"; - } - - print FH - "+driver.xfree\t\t$xfree|$$tt{driver}|" . - ($has3d ? "3d" : "") . - "|$$tt{package}|$$tt{extension}|$$tt{option}|$$tt{resol}||$$tt{installscript}|\n"; - - if ($$tt{raw} ne "") { - @raw = (split(',',$$tt{raw})); - foreach $raw (@raw) { - print FH "+driver.xfree.config\t$raw\n"; - } - } -} - - -# get product info and write everything to FH -sub get_info -{ - my ($arch_name, $xfree, $has3d); - - ($arch_name, $vario_name) = @_; - - $xfree = $vario_name =~ /XFree3/ ? 3 : 4; - $has3d = $vario_name =~ /3D/ ? 1 : 0; - - $tooltopics{driver} = ""; - $tooltopics{package} = ""; - $tooltopics{extension} = ""; - $tooltopics{option} = ""; - $tooltopics{resol} = ""; - $tooltopics{installscript} = ""; - $tooltopics{raw} = ""; - - # Product supported=full? - $query[2] = $dbh->prepare("SELECT toolproperty.charvalue FROM toolproperty - LEFT JOIN tooltopic ON toolproperty.tooltopic_id=tooltopic.id - LEFT JOIN arch_dist_l_vario ON toolproperty.arch_dist_l_vario_id=arch_dist_l_vario.id - LEFT JOIN arch ON arch_dist_l_vario.arch_id=arch.id - LEFT JOIN distribution ON arch_dist_l_vario.distribution_id=distribution.id - LEFT JOIN vario ON arch_dist_l_vario.vario_id=vario.id - WHERE toolproperty.product_id=$product_id - AND tooltopic.name='supported' - AND arch.name='$arch_name' - AND distribution.name='$dist_name' - AND vario.name='$vario_name' - AND toolproperty.valid=1 - AND tooltopic.valid=1 - AND arch_dist_l_vario.valid=1") - or die "Can\'t select table toolproperty"; - $query[2]->execute or die "Can\'t select table toolproperty"; - - undef $result; - $count = 0; - while ($x = $query[2]->fetchrow_array) { - $result = $x if defined $x; - multiple_supportedtopics($dbh,$product_id,$product_name,$arch_name,$dist_name,$vario_name) if $count > 0; - $count++; - } - $result = "" if not defined $result; - - if ($result eq "full") { - $query[2] = $dbh->prepare("SELECT tooltopic.name,toolproperty.charvalue FROM toolproperty - LEFT JOIN tooltopic ON toolproperty.tooltopic_id=tooltopic.id - LEFT JOIN arch_dist_l_vario ON toolproperty.arch_dist_l_vario_id=arch_dist_l_vario.id - LEFT JOIN arch ON arch_dist_l_vario.arch_id=arch.id - LEFT JOIN distribution ON arch_dist_l_vario.distribution_id=distribution.id - LEFT JOIN language ON arch_dist_l_vario.lang_id=language.id - LEFT JOIN vario ON arch_dist_l_vario.vario_id=vario.id - WHERE arch.name='$arch_name' - AND distribution.name='$dist_name' - AND vario.name='$vario_name' - AND toolproperty.product_id=$product_id - AND tooltopic.name != 'supported' - AND toolproperty.valid=1 - AND tooltopic.valid=1 - AND arch_dist_l_vario.valid=1") - or die "Can\'t select table toolproperty"; - $query[2]->execute or die "Can\'t select table toolproperty"; - - while ( ($tooltopic_name,$charvalue) = ($query[2]->fetchrow_array) ) { - if (($charvalue eq "none") || ($charvalue eq "None")) { - $charvalue = ""; - } - next if $charvalue eq ""; - if (!$tooltopics{"$tooltopic_name"}) { - $tooltopics{"$tooltopic_name"} = $charvalue; - } else { - $tooltopics{"$tooltopic_name"} .= ",".$charvalue; - } - } - - write_info $arch_name, $xfree, $has3d, $vId, $dId, $svId, $sdId, $vendor_name, $product_name, \%tooltopics; - } -} - - -GetOptions( - 'dir=s' => \$opt_dir -) ; - - -print "\n\nGenerating x11.hwinfo-files, one for each architecture.\n"; -mkdir($opt_dir, 0755) || die "\nmkdir: $opt_dir: $!\n" unless -d $opt_dir; - -print "\nStoring files in \"$opt_dir\"\n\n"; - -$query[0] = $dbh->prepare("SELECT name FROM arch WHERE valid=1") - or die "Can\'t select table arch"; -$query[0]->execute or die "Can\'t select table arch"; -while ($result = $query[0]->fetchrow_array) { - push(@arch_names,$result); -} - -# Für jede Architektur wird eine eigene Datei geschrieben -foreach $arch_name (@arch_names) { - $filename = "$opt_dir/x11.hwinfo.$arch_name"; - open(FH,"> $filename") or die "Can\'t open $filename"; - print FH "#\n"; - print FH "# x11.hwinfo-file for architecture $arch_name\n"; - print FH "#\n"; - print FH "# generated at: $date\n"; - print FH "# data source: CDB\n"; - print FH "# distribution: $dist_name\n"; - print FH "#\n\n\n"; - - $query[0] = $dbh->prepare("SELECT product.id,product.name, - product.vId,product.dId,product.svId,product.sdId, - vendor.longname,product.vId, - bus.name,subclass.name FROM product - LEFT JOIN product_area ON product.id=product_area.product_id - LEFT JOIN groups ON product_area.group_id=groups.id - LEFT JOIN vendor ON product.vendor_id=vendor.id - LEFT JOIN bus ON product.bus_id=bus.id - LEFT JOIN subclass ON product.subclass_id=subclass.id - WHERE groups.name='graphic-developer' - AND product_area.valid=1 - AND product.valid=1") - or die "Can\'t select table product"; - $query[0]->execute or die "Can\'t select table product"; - while ( ($product_id,$product_name,$vId,$dId,$svId,$sdId,$vendor_name,$vId,$bus_name,$subclass_name) = ($query[0]->fetchrow_array) ) { - # Postinitialisierung, falls undefinierte Werte - $vId = "----" if !defined($vId); - $dId = "----" if !defined($dId); - $svId = "----" if !defined($svId); - $sdId = "----" if !defined($sdId); - - $vId = "" if $vId eq "----"; - $dId = "" if $dId eq "----"; - $svId = "" if $svId eq "----"; - $sdId = "" if $sdId eq "----"; - - # Step 1: Erzeuge Zeilen für XFree 3 ohne 3D - get_info $arch_name, "XFree3"; - - # Step 2: Erzeuge Zeilen für XFree 3 mit 3D - get_info $arch_name, "XFree3 with 3D"; - - # Step 2: Erzeuge Zeilen für XFree 4 ohne 3D - get_info $arch_name, "XFree4"; - - # Step 2: Erzeuge Zeilen für XFree 4 mit 3D - get_info $arch_name, "XFree4 with 3D"; - - } # Ende der Produktschleife - close(FH); -} # Ende der Arch-Schleife - - - - -sub multiple_supportedtopics { - my $handle = shift; - my $product_id = shift; - my $product_name = shift; - my $arch_name = shift; - my $dist_name = shift; - my $vario_name = shift; - my ($query,$id,$value,$name,$time,$htime,%topic,$key,$answer,%key); - - my $min_key = "0"; - undef %key; - - print "\n *********** Unconsistency registered *******************"; - print "\nMultiple supported-topics:"; - print "\nProduct_name: $product_name ID=$product_id"; - print "\nArch=$arch_name Dist=$dist_name Vario=$vario_name"; - print "\n"; - - $query = $handle->prepare("SELECT toolproperty.id,tooltopic.name, - toolproperty.charvalue,toolproperty.createtime - FROM toolproperty - LEFT JOIN tooltopic ON toolproperty.tooltopic_id=tooltopic.id - LEFT JOIN arch_dist_l_vario ON toolproperty.arch_dist_l_vario_id=arch_dist_l_vario.id - LEFT JOIN arch ON arch_dist_l_vario.arch_id=arch.id - LEFT JOIN distribution ON arch_dist_l_vario.distribution_id=distribution.id - LEFT JOIN vario ON arch_dist_l_vario.vario_id=vario.id - WHERE toolproperty.product_id=$product_id - AND tooltopic.name='supported' - AND toolproperty.valid=1 - AND arch.name='$arch_name' - AND distribution.name='$dist_name' - AND vario.name='$vario_name'") - or die "Can\'t select table toolproperty"; - $query->execute or die "Can\'t select table toolproperty"; - while (($id,$name,$value,$time) = ($query->fetchrow_array)) { - $htime = localtime($time); - $topic{$id} = $htime." ".$value; - $min_key = $id; - } - foreach $key (sort keys %topic) { - $min_key = $key if $key<$min_key; - } - foreach $key (sort keys %topic) { - print "\nD toolproperty-ID $key: $topic{$key}" if $key != $min_key; - } - print "\n* toolproperty-ID $min_key:$topic{$min_key}"; - print "\n\nDeleting doublettes marked with D (* will be left the valid one) [N|y] ?"; - $answer = ; - chop($answer); - if ( ($answer eq "y") || ($answer eq "Y") ) { - print "\n\nDeleting supported-doublettes.... done\n"; - foreach $key (keys %topic) { - if ($key != $min_key) { - $query = $handle->prepare("DELETE FROM toolproperty - WHERE id=$key") - or die "Can\'t delete from toolproperty"; - $query->execute or die "Can\'t delete from toolproperty"; - } - } - } - return; -} -