#!/usr/bin/perl

# XAPI 1.0
# By Alfonso E.M. alfonso@el-magnifico.org
# Instalador de paquetes deb con avisos

use UI::Dialog;
#use UI::Dialog::Backend::ZDialog;

$dialog = new UI::Dialog (order => ['zenity','xdialog']);

$|=1;
$file=$ARGV[0];

$info=&get_deb_data($file);

$info.="\n\n Desea continuar ?";

if ($dialog->yesno( 
	title => 'Instalacin de Programas en Guadalinex',
	backtitle => $file,
	height => 30, width=>85,
	text => "$info") ) { 
		system("gksu -m 'Para instalar programas necesita la clave de supervisor (root)' 'dpkg -i $file'");		
	}



sub get_deb_data() {
	my ($deb)=@_;
	$description="";
	open(DEB,"dpkg --info $deb |") or return ("");
	while (<DEB>) {
		chop;
		if (/Package: (.*)/) {$name=$1; }
		if (/Version: (.*)/) {$version=$1; }
		if (/Description: (.*)/) {$description="$1\n"; }
		if (/Installed-Size: (.*)/) {$isize=$1; }
		if (/Maintainer: (.*) <.*>/) {$maintainer=$1; }
		if (/^  (.*)/ && $description ne "") { $description.=$1; }
	}
	close DEB;
$info="
Va a instalar \"$name\" (versin $version) mantenido por \"$maintainer\".

Ocupar $isize Kbytes.

Esta es la descripcin incluida en el paquete:

$description
";
	return $info;
}