diff options
author | Mystery Man <unknown@mandriva.org> | 2005-05-25 08:56:46 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2005-05-25 08:56:46 +0000 |
commit | 45e61de16e073594e8532af5b1fff8e76901ee88 (patch) | |
tree | eda23f712150bace0146c6011c39319484f1a715 /perl-install/standalone/drakbug | |
parent | 2be3766b2c1fafa44da4b93b2851044d977a128a (diff) | |
download | drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar.gz drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar.bz2 drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar.xz drakx-backup-do-not-use-MDK10-LACIE-restore-2.zip |
This commit was manufactured by cvs2svn to create tagMDK10-LACIE-restore-2
'MDK10-LACIE-restore-2'.
Diffstat (limited to 'perl-install/standalone/drakbug')
-rwxr-xr-x | perl-install/standalone/drakbug | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/perl-install/standalone/drakbug b/perl-install/standalone/drakbug deleted file mode 100755 index 7cde789fa..000000000 --- a/perl-install/standalone/drakbug +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/bin/perl - -# Drak Bug Report -# Copyright (C) 2002-2005 Mandriva (daouda at mandriva dot com) -# Stew Benedict (sbenedict at mandriva dot com) -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -use strict; -use diagnostics; -use lib qw(/usr/lib/libDrakX); -use any; -use standalone; -use common; -use ugtk2 qw(:all); -use Config; - -my ($bugzilla, $wizard_name); -my $prog; -my $incident = 0; -my ($bugdesc, $table, $comb_app, $com_app, $button_pkg, $package, $distrocode, $kernel); - -foreach (@ARGV) { - next unless defined $_; - /^--report$/ && shift @ARGV and $prog = shift @ARGV; - /^--incident$/ && shift @ARGV and do { $incident = 1; $prog = shift @ARGV }; -} - -my $window = ugtk2->new(N("Mandriva Linux Bug Report Tool"), center => 1); -$window->{rwindow}->set_border_width(5); -$window->{window}->signal_connect("delete_event", sub { ugtk2->exit(0) }); - -my $mdk_app = { - N("Mandriva Linux Control Center") => 'drakconf', - N("First Time Wizard") => 'drakfw', - N("Synchronization tool") => 'draksync', - N("Standalone Tools") => ['adduserdrake', 'diskdrake', 'drakautoinst', 'drakbackup', 'drakboot', 'DrakBug', 'DrakClock', 'DrakConnect', 'drakfloppy', 'drakfirewall', 'drakfont', 'drakgw', 'DrakSec', 'draksplash', 'drakvpn', 'drakxservices', 'drakxtools', 'drakxtv', 'keyboardrake', 'logdrake', 'mousedrake', 'net_monitor', 'printerdrake', 'scannerdrake', 'XFdrake'], - N("HardDrake") => 'harddrake2', - N("Mandriva Online") => 'mdkonline', - N("Menudrake") => 'menudrake', - N("Msec") => 'msec', - N("Remote Control") => 'rfbdrake', - N("Software Manager") => 'rpmdrake', - N("Urpmi") => 'urpmi', - N("Windows Migration tool") => 'transfugdrake', - N("Userdrake") => 'userdrake', - N("Configuration Wizards") => 'wizdrake', - }; - -my @generic_tool = keys %$mdk_app; -my @all_drakxtools = @{ $mdk_app->{N("Standalone Tools")} }; -push(@generic_tool,@all_drakxtools); - -my $kernel_release = chomp_(`uname -r`); -my $mandrake_release = chomp_(cat_('/etc/mandrakelinux-release')); -#- unused for now -#- (my $mandrake_version) = $mandrake_release =~ /(\d+\.\d+)/; - -if ($mandrake_release =~ /(official|community)/i) { - $distrocode = $mandrake_release; - $distrocode =~ s/^.*?(\d+\.\d+) \((\w+)\).*$/$1-\l$2/; -} else { - $distrocode = "cooker"; -} -$bugzilla = 'http://qa.mandriva.com/enter_bug.cgi'; -$wizard_name = "Bugzilla"; - -$table = create_packtable({ col_spacings => 5, row_spacings => 10 }, - [ Gtk2::Label->new(N("Select Mandriva Tool:")), $comb_app = Gtk2::ComboBox->new_text ], - [ Gtk2::Label->new(N("or Application Name\n(or Full Path):")), - gtkpack_(Gtk2::HBox->new(0,5), - 1, $com_app = gtkset_editable(Gtk2::Entry->new, 1), - 0, $button_pkg = Gtk2::Button->new(N("Find Package")), - )], - [ Gtk2::Label->new(N("Package: ")), $package = Gtk2::Entry->new_with_text("...") ], # complain on gtk-perl@ml - [ Gtk2::Label->new(N("Kernel:")), gtkset_editable(Gtk2::Entry->new_with_text($kernel_release), 0) ] - ); -$comb_app->set_popdown_strings("", sort(@generic_tool)); - -gtkadd($window->{window}, - gtkpack_(Gtk2::VBox->new(0,5), - 0, gtkpack(Gtk2::HBox->new(0,0), - gtkpack(gtkset_justify(Gtk2::WrappedLabel->new($mandrake_release), "left")), - ), - 0, gtkpack(Gtk2::HSeparator->new), - 0, gtkadd($table), - 0, gtkpack(Gtk2::HBox->new(0,0), - gtkpack(gtkset_justify(Gtk2::WrappedLabel->new(formatAlaTeX(N("To submit a bug report, click on the report button. \nThis will open a web browser window on %s where you'll find a form to fill in. The information displayed above will be transferred to that server. \nThings useful to include in your report are the output of lspci, kernel version, and /proc/cpuinfo.", $wizard_name))), "left")), - ), - 0, gtkpack(Gtk2::HSeparator->new), - 0, gtkpack_(Gtk2::HBox->new(0,0), - 0, gtksignal_connect(Gtk2::Button->new(N("Help")), clicked => sub { system("drakhelp --id drakbug &") }), - 1, Gtk2::Label->new(""), - 0, gtksignal_connect(Gtk2::Button->new(N("Report")), clicked => sub { - my $options = "mdkbugreport=1"; - $options .= "&incident=1" if $incident; - my $p = $package->get_text; - my ($product, $version) = $p =~ /^(.*)-([^-]+-[^-]+mdk)$/; - my $app = $comb_app->entry->get_text; - my $component = if_(member($app, @all_drakxtools), $app) || $mdk_app->{$app}; - $options .= "&product=$product" if $product; - # this could probably be cleaner but whatever, it works (vdanen) - if ($component eq "scannerdrake" && $product ne "drakxtools") { - $component = $product; - } - $options .= "&component=$component"; - $options .= "&version=$version" if $version; - $options .= "&distro_code=$distrocode"; - $options .= "&kernel=$kernel_release" if $kernel_release; - print($bugzilla . "?" . $options . "\n"); - system("/usr/bin/www-browser $bugzilla?$options &"); - } - ), - 0, gtksignal_connect(Gtk2::Button->new(N("Close")), clicked => sub { ugtk2->exit(0) }), - ))); - -if (defined $prog) { - update_app($prog); - $comb_app->set_text($prog); -}; -$comb_app->entry->signal_connect('changed', sub { update_app($comb_app->entry->get_text) }); - -$button_pkg->signal_connect('clicked', sub { - my $pkg_name = get_package($com_app->get_text); - $package->set_text($pkg_name); - }); - -$window->{window}->show_all; -$window->main; -ugtk2->exit(0); - -sub update_app { - my ($text) = @_; - my $app_choice; - $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}"; - if (member($text,@all_drakxtools) || $text eq N("Standalone Tools")) { - $app_choice = chomp_(`rpm -q drakxtools`); - } elsif (exists($mdk_app->{$text}) && $text ne N("Standalone Tools")) { - $app_choice = get_package($mdk_app->{$text}); - } else { - LOOP: while (my ($key, $value) = each %$mdk_app) { - next if $key eq N("Standalone Tools"); - if ($value eq $text) { - $app_choice = get_package($text); - $prog = $key; - last LOOP; - } - } - - } - $app_choice ? $package->set_text($app_choice) : $package->set_text(N("Not installed")); -} - -my %packages; - -sub get_package { - my ($executable) = @_; - my ($rpm_package, $which_app); - $rpm_package = $packages{$executable}; - if (!defined $rpm_package) { - $which_app = chomp_(`which '$executable' 2> /dev/null`); - # deush, rpm can takes some time aka it'll sleeps if something has opened rpm db ! - $rpm_package = $which_app eq "" ? N("Package not installed") : chomp_(`rpm -qf '$which_app' 2>&1`); - $packages{$executable} = $rpm_package; - } - $rpm_package; -} - - |