X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Fpakfire.cgi;h=ccde0298c3c32b62144e205af98a545aab6e6032;hb=5b2a12ff8ad39591a5a57a0f2122edc2934f5ec3;hp=2c0d7dc0dc41aa2aed018bcdd6753b8eef14d465;hpb=afabe9f7d12f6c7fffeac86c63e9556e28471c02;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/html/cgi-bin/pakfire.cgi b/html/cgi-bin/pakfire.cgi index 2c0d7dc0d..ccde0298c 100644 --- a/html/cgi-bin/pakfire.cgi +++ b/html/cgi-bin/pakfire.cgi @@ -6,9 +6,6 @@ # # This code is distributed under the terms of the GPL # -# (c) Eric Oberlander June 2002 -# -# (c) Darren Critchley June 2003 - added real time clock setting, etc # use strict; @@ -24,8 +21,6 @@ require "/opt/pakfire/lib/functions.pl"; my %pakfiresettings=(); my $errormessage = ''; -my @instlist = `ls /opt/pakfire/cache`; -my $uninstall = 'yes'; &Header::showhttpheaders(); @@ -42,20 +37,53 @@ $pakfiresettings{'AUTOUPDATE'} = ''; &Header::openbigbox('100%', 'left', '', $errormessage); if ($pakfiresettings{'ACTION'} eq 'install'){ -print "Going to install $pakfiresettings{'INSPAKS'}"; -system("/opt/pakfire/pakfire installi $pakfiresettings{'INSPAKS'}") -}elsif ($pakfiresettings{'ACTION'} eq 'remove'){ -foreach (@instlist){ -my @pakname = split(/-/,$_); -my $dependency = `grep "Dependencies.*$pakfiresettings{'DELPAKS'}" /opt/pakfire/db/meta/*$pakname[0]`; -if ($dependency){$errormessage = "We have depending Paket $pakname[0] nothing will be done.
";$uninstall='no';last;}else{$uninstall='yes';} -} -if ($uninstall eq 'yes'){ -print "Going to uninstall $pakfiresettings{'DELPAKS'}"; -system("/opt/pakfire/pakfire uninstalli $pakfiresettings{'DELPAKS'}") -} -} elsif ($pakfiresettings{'ACTION'} eq "$Lang::tr{'save'}") -{ + if ("$pakfiresettings{'FORCE'}" eq "on") { + system("/usr/local/bin/pakfire", "install", "--non-interactive", "$pakfiresettings{'INSPAKS'}", "&"); + sleep(1); + } else { + &Header::openbox("100%", "center", "Abfrage"); + my @output = `/usr/local/bin/pakfire resolvedeps $pakfiresettings{'INSPAKS'}`; + print <Sie maechten folgende Pakete installieren: $pakfiresettings{'INSPAKS'}. Moeglicherweise haben diese Pakete Abhaengigkeiten, d.h. andere Pakete muessen zusaetzlich installiert werden. Dazu sehen sie unten eine Liste. +
		
+END
+		foreach (@output) {
+			print "$_\n";
+		}
+		print <
+		Moechten Sie der Installation aller Pakete zustimmen?
+		 
+		
+ + + + +
+ +
+ + +
+ +END + &Header::closebox(); + &Header::closebigbox(); + &Header::closepage(); + exit; + } +} elsif ($pakfiresettings{'ACTION'} eq 'remove') { + +} elsif ($pakfiresettings{'ACTION'} eq 'update') { + + system("/usr/local/bin/pakfire update --force"); + +} elsif ($pakfiresettings{'ACTION'} eq 'unlock') { + + &Pakfire::lock("off"); + +} elsif ($pakfiresettings{'ACTION'} eq "$Lang::tr{'save'}") { + &General::writehash("${General::swroot}/pakfire/settings", \%pakfiresettings); } @@ -73,7 +101,30 @@ if ($errormessage) { &Header::openbox('100%', 'left', $Lang::tr{'error messages'}); print "$errormessage \n"; &Header::closebox(); - } +} + +if ( -e "/opt/pakfire/pakfire.lock" ) { + &Header::openbox("100%", "center", "Aktiv"); + print < + +
+ +   +
+ + Pakfire fuehrt gerade eine Aufgabe aus... Bitte warten sie, bis diese erfolgreich beendet wurde. + +
+ +
+ +END + &Header::closebox(); + &Header::closebigbox(); + &Header::closepage(); + exit; +} &Header::openbox("100%", "center", "Pakfire"); @@ -94,6 +145,7 @@ print <
+
@@ -104,11 +156,10 @@ print <Installierte Addons: