]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
pakfire.cgi: Changes to install and remove confirmation pages
authorStephen Cuka <stephen@firemypi.org>
Sat, 10 May 2025 16:19:37 +0000 (10:19 -0600)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 12 May 2025 14:49:02 +0000 (14:49 +0000)
- On install confirmation page, add list of packages to install
   - if package is already installed, don't show it on the list

 - On install and remove confirmation pages, pad out translation
   of "Package:" to length of 10 so that the column spacing doesn't
   change for different languages.

 - Display dependencies for package(s) to remove in 'parent -> child'
   format.

 - Display packages in use in 'parent -> child' format.

 - Add translations for new text in all langs.

 - functional changes
   - When removing a package, remove it's dependencies.
   - Don't allow a package or dependency to be removed if other
     installed packages depend on it.

Signed-off-by: Stephen Cuka <stephen@firemypi.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 files changed:
doc/language_issues.de
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.it
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
html/cgi-bin/pakfire.cgi
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl
langs/es/cgi-bin/es.pl
langs/fr/cgi-bin/fr.pl
langs/it/cgi-bin/it.pl
langs/nl/cgi-bin/nl.pl
langs/pl/cgi-bin/pl.pl
langs/ru/cgi-bin/ru.pl
langs/tr/cgi-bin/tr.pl

index a8626e352bf2cf5a16b5f1055d73e5fc20972964..66a7e9eb3ff583ddc0fa23b039b88b40b854dde4 100644 (file)
@@ -634,8 +634,11 @@ WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependecies found
 WARNING: translation string unused: pakfire health check
 WARNING: translation string unused: pakfire no dependecies found
+WARNING: translation string unused: pakfire possible dependency
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvdeps wait
+WARNING: translation string unused: pakfire uninstall all
+WARNING: translation string unused: pakfire uninstall package
 WARNING: translation string unused: pakfire update daily
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
index 1fdb40a87788e465267c8c580a46b4fc859191ef..6e1f70de06b0c4e8bc3a4528f7c049076d572174 100644 (file)
@@ -1474,28 +1474,34 @@ WARNING: untranslated string: pakfire check deps = Checking dependencies...
 WARNING: untranslated string: pakfire configuration = Pakfire Configuration
 WARNING: untranslated string: pakfire confirm upgrades = Do you want to install all upgrades?
 WARNING: untranslated string: pakfire core update level = Core-Update-Level
+WARNING: untranslated string: pakfire deps = Package dependencies:
+WARNING: untranslated string: pakfire errors = Errors occurred:
 WARNING: untranslated string: pakfire finished = Pakfire has finished! Returning...
 WARNING: untranslated string: pakfire finished error = Pakfire has finished! Errors occurred, please check the log output before proceeding.
 WARNING: untranslated string: pakfire install = Install
 WARNING: untranslated string: pakfire install description = Please select one or more add-ons to install.
 WARNING: untranslated string: pakfire install package = Packages to install:
+WARNING: untranslated string: pakfire installed = already installed
 WARNING: untranslated string: pakfire installed addons = Installed Add-ons:
+WARNING: untranslated string: pakfire inuse = Packages in use:
 WARNING: untranslated string: pakfire invalid tree = Invalid repository selected
+WARNING: untranslated string: pakfire keep = Packages to keep due to dependencies:
 WARNING: untranslated string: pakfire last core list update = Last core list update made
 WARNING: untranslated string: pakfire last package update = Last packages list update made
 WARNING: untranslated string: pakfire last serverlist update = Last server list update made
 WARNING: untranslated string: pakfire last update = Last update made
-WARNING: untranslated string: pakfire possible dependency =  There may be depending packages, here is a list of packages that need to be installed.
+WARNING: untranslated string: pakfire no deps = No dependencies found.
+WARNING: untranslated string: pakfire no remove = Due to dependencies, no packages can be removed.
+WARNING: untranslated string: pakfire package = Package:
 WARNING: untranslated string: pakfire refresh list = Refresh List
+WARNING: untranslated string: pakfire remove package = Packages to remove:
 WARNING: untranslated string: pakfire return = Return to Pakfire
 WARNING: untranslated string: pakfire system state = System Status
 WARNING: untranslated string: pakfire tree = Repository
 WARNING: untranslated string: pakfire tree stable = Stable
 WARNING: untranslated string: pakfire tree testing = Testing
 WARNING: untranslated string: pakfire tree unstable = Unstable
-WARNING: untranslated string: pakfire uninstall all = Do you want to uninstall the following packages?
 WARNING: untranslated string: pakfire uninstall description = Please select one or more add-ons to remove.
-WARNING: untranslated string: pakfire uninstall package = You want to uninstall the following packages: 
 WARNING: untranslated string: pakfire updating = Updating pakfire database, please wait...
 WARNING: untranslated string: pakfire upgrade = Upgrade
 WARNING: untranslated string: pakfire upgrades = Available Upgrades:
index 6ff02aa04289743d49945a71dd5fc35738f9d9f8..27a235de5830c89d2d56d25ecee3a6301242e202 100644 (file)
@@ -688,8 +688,11 @@ WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
 WARNING: translation string unused: pakfire no dependencies found
+WARNING: translation string unused: pakfire possible dependency
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
+WARNING: translation string unused: pakfire uninstall all
+WARNING: translation string unused: pakfire uninstall package
 WARNING: translation string unused: pakfire update daily
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
index 2b9cd9d50432d066830e34d4b9dc72efd2a46ffd..e51bc1f1935ec8586b0724aaae6d0d9b1f3825f8 100644 (file)
@@ -663,8 +663,11 @@ WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
 WARNING: translation string unused: pakfire no dependencies found
+WARNING: translation string unused: pakfire possible dependency
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
+WARNING: translation string unused: pakfire uninstall all
+WARNING: translation string unused: pakfire uninstall package
 WARNING: translation string unused: pakfire update daily
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
index 445a1a76c71e43828b9f41593cb0abbf5a19b35f..e5373abe555efebb2c6dc3dffe812a17b03a0997 100644 (file)
@@ -617,8 +617,11 @@ WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
 WARNING: translation string unused: pakfire no dependencies found
+WARNING: translation string unused: pakfire possible dependency
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
+WARNING: translation string unused: pakfire uninstall all
+WARNING: translation string unused: pakfire uninstall package
 WARNING: translation string unused: pakfire update daily
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
index 055d8e98d33b3dcfa7059158e731c73a5edef696..ce8781c815ffd649e45f0b1e5b581b36412bbc6a 100644 (file)
@@ -616,8 +616,11 @@ WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
 WARNING: translation string unused: pakfire no dependencies found
+WARNING: translation string unused: pakfire possible dependency
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
+WARNING: translation string unused: pakfire uninstall all
+WARNING: translation string unused: pakfire uninstall package
 WARNING: translation string unused: pakfire update daily
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
index e0a57174d818641db3bacba60ea7cde8a76cd8d8..64402a03011fcb2d3b660f17abc1b05c2edc461b 100644 (file)
@@ -541,8 +541,11 @@ WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
 WARNING: translation string unused: pakfire no dependencies found
+WARNING: translation string unused: pakfire possible dependency
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
+WARNING: translation string unused: pakfire uninstall all
+WARNING: translation string unused: pakfire uninstall package
 WARNING: translation string unused: pakfire update daily
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
index 5745996bc6f23c214ad6259ef3bc8ef3eabe8de7..3d8004c0f696daf5ff4eacb5ffc872bb87e8892e 100644 (file)
@@ -536,8 +536,11 @@ WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
 WARNING: translation string unused: pakfire no dependencies found
+WARNING: translation string unused: pakfire possible dependency
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
+WARNING: translation string unused: pakfire uninstall all
+WARNING: translation string unused: pakfire uninstall package
 WARNING: translation string unused: pakfire update daily
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
index 833d450ab58ad001b439936c8905532eadd13d70..c3b678026dde25a00ccd72f37b2b3d81da0f8eba 100644 (file)
@@ -646,8 +646,11 @@ WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
 WARNING: translation string unused: pakfire no dependencies found
+WARNING: translation string unused: pakfire possible dependency
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
+WARNING: translation string unused: pakfire uninstall all
+WARNING: translation string unused: pakfire uninstall package
 WARNING: translation string unused: pakfire update daily
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
index 3cd5b156342dee4fe8c3a5cbae6c25853a591b25..159d63c9d8b0c4f9b76d6f32fcced116091ddc66 100644 (file)
@@ -319,7 +319,7 @@ END
        if (@errors)
        {
                chomp @errors;
-               print "\nErrors occurred:\n";
+               print "\n$Lang::tr{'pakfire errors'}\n";
                foreach (@errors)
                {
                        print "$_\n";
@@ -339,40 +339,24 @@ END
        @all_deps = grep { ! $dedupe{ $_ }++ } @all_deps;
 
        # build dependencies tree
-       my @search = @pkgs_deps;
-       my @pkgs_deps_tree;
-       my @temp;
-       do
-       {
-               @temp = ();
-               foreach my $i (@search)
-               {
-                       (my $child) = $i =~ /.+:(.+)/;
-                       foreach my $j (@all_deps)
-                       {
-                               (my $all_deps_parent) = $j =~ /(.+):.+/;
-                               (my $all_deps_child) = $j =~ /.+:(.+)/;
-                               if ( $child eq $all_deps_parent )
-                               {
-                                       push @temp, "$i:$all_deps_child";
-                               }
-                       }
-               }
-               push @pkgs_deps_tree, @temp;
-               @search = @temp;
-       } until ( ! (@search));
-
+       my @pkgs_deps_tree = build_tree(\@pkgs_deps, \@all_deps);
        push @pkgs_deps, @pkgs_deps_tree;
-
        @pkgs_deps = sort @pkgs_deps;
 
        my @installed = get_package_names($instdir);
 
-       # display dependencies
-       print "\nPackage dependencies:\n";
+       # display summary
+       print "\n$Lang::tr{'pakfire deps'}\n";
+       my $package_display;
+       if ($mainsettings{'LANGUAGE'} eq "ru")
+       {
+               $package_display = $Lang::tr{'pakfire package'} . " ";
+       } else {
+               $package_display = sprintf("%-10s", $Lang::tr{'pakfire package'});
+       }
        foreach my $i (@pkgs)
        {
-               print "\n  Package:  $i\n";
+               print "\n  $package_display  $i\n";
                if (grep (/^$i/, @pkgs_deps))
                {
                        foreach my $j (@pkgs_deps)
@@ -382,16 +366,39 @@ END
                                        (my $child) = $j =~ /.+:(.+)/;
                                        if (grep (/$child/, @installed))
                                        {
-                                               print "            " . (arrow_format($j)) . "<span style='font-size:80%'> (already installed)</span>\n";
+                                               print "              " . (arrow_format($j)) . "<span style='font-size:80%'> ($Lang::tr{'pakfire installed'})</span>\n";
                                        } else {
-                                               print "            " . (arrow_format($j)) . "\n";
+                                               print "              " . (arrow_format($j)) . "\n";
                                        }
                                }
                        }
                } else {
-                       print "            No dependencies found.\n";
+                       print "              $Lang::tr{'pakfire no deps'}\n";
+               }
+       }
+
+       my @pkgs_install = @pkgs;
+       foreach my $i (@pkgs_deps)
+       {
+               (my $child) = $i =~ /.+:(.+)/;
+               push @pkgs_install, $child;
+       }
+       my %dedupe;
+       @pkgs_install = grep { ! $dedupe{ $_ }++ } @pkgs_install;
+       foreach my $i (@installed)
+       {
+               if (grep (/$i/, @pkgs_install))
+               {
+                       @pkgs_install = grep { $_ ne $i } @pkgs_install;
                }
        }
+       @pkgs_install = sort @pkgs_install;
+
+       print "\n$Lang::tr{'pakfire install package'}\n\n";
+       foreach (@pkgs_install)
+       {
+               print "              $_\n";
+       }
 
        print <<END;
                        </pre>
@@ -418,34 +425,190 @@ END
        &Header::openbox("100%", "center", $Lang::tr{'remove'});
 
        my @pkgs = split(/\|/, $cgiparams{'DELPAKS'});
-       my @output = &General::system_output("/usr/local/bin/pakfire", "resolvedeps", "--no-colors", @pkgs);
+
        print <<END;
        <table style="width: 100%">
                <tr>
-                       <td colspan='2'>
-                       <p>$Lang::tr{'pakfire uninstall package'} <strong>@{pkgs}</strong><br>$Lang::tr{'pakfire possible dependency'}</p>
-                       <pre>
+                       <td>
+                       $Lang::tr{'pakfire remove package'}  <strong>
+END
+        foreach (my $i = 0; $i < $#pkgs; $i++)
+        {
+                print "$pkgs[$i], ";
+        }
+        print "$pkgs[$#pkgs]";
+
+        print <<END;
+                        </strong>
+                        <br><br>$Lang::tr{'pakfire check deps'}
+                        <pre>
 END
-       foreach (@output) {
-               $_ =~ s/\\e\[[0-1]\;[0-9]+m//g;
-               print "$_\n";
+
+       # get dependencies from metafiles
+       my $instdir = "/opt/pakfire/db/installed";
+       my @inst_deps = deps_from_metafiles($instdir);
+
+       # get package dependencies
+       my @pkgs_deps;
+       foreach my $i (@pkgs)
+       {
+               foreach my $j (@inst_deps)
+               {
+                       (my $child) = $j =~ /.+:(.+)/;
+                       if (grep(/^$i/, $j))
+                       {
+                               push @pkgs_deps, "$i:$child";
+                       }
+               }
        }
-       print <<END;
+
+       # build dependencies tree
+       my @pkgs_deps_tree = build_tree(\@pkgs_deps, \@inst_deps);
+       push @pkgs_deps, @pkgs_deps_tree;
+       @pkgs_deps = sort @pkgs_deps;
+
+       # add dependencies to list of packages to remove
+       my @pkgs_list = @pkgs;
+       foreach (@pkgs_deps)
+       {
+               (my $child) = $_ =~ /.+:(.+)/;
+               push @pkgs_list, $child,
+       }
+
+       my %dedupe;
+       @pkgs_list = grep { ! $dedupe{ $_ }++ } @pkgs_list;
+       @pkgs_list = sort @pkgs_list;
+
+       # find packages in use elsewhere
+       # omit the package if it's in the list to be removed
+       my @pkgs_inuse;
+       foreach my $i (@pkgs_list)
+       {
+               foreach my $j (@inst_deps)
+               {
+                       (my $parent) = $j =~ /(.+):.+/;
+                       (my $child) = $j =~ /.+:(.+)/;
+                       if (( $i eq $child ) && ( ! grep(/$parent/, @pkgs_list)))
+                       {
+                               push @pkgs_inuse, "$j";
+                       }
+               }
+       }
+
+       # build dependencies tree
+       my @pkgs_inuse_tree = build_tree(\@pkgs_inuse, \@inst_deps);
+       push @pkgs_inuse, @pkgs_inuse_tree;
+       @pkgs_inuse = sort @pkgs_inuse;
+
+       # create list of packages to keep
+       my @pkgs_keep;
+       foreach (@pkgs_inuse)
+       {
+               (my $child) = $_ =~ /.+:(.+)/;
+               push @pkgs_keep, $child;
+       }
+
+       my %dedupe;
+       @pkgs_keep = grep { ! $dedupe{ $_ }++ } @pkgs_keep;
+       @pkgs_keep = sort @pkgs_keep;
+
+       # delete packages that are in use from list of packages to remove
+       my @pkgs_remove = @pkgs_list;
+       foreach my $i (@pkgs_keep)
+       {
+               @pkgs_remove = grep { $_ ne $i } @pkgs_remove;
+       }
+
+       # create list for pakfire remove command
+       my $remove_list = join('|', @pkgs_remove);
+
+       # display summary
+       print "\n$Lang::tr{'pakfire deps'}\n";
+       my $package_display;
+       if ($mainsettings{'LANGUAGE'} eq "ru")
+       {
+               $package_display = $Lang::tr{'pakfire package'} . " ";
+       } else {
+               $package_display = sprintf("%-10s", $Lang::tr{'pakfire package'});
+       }
+       foreach my $i (@pkgs)
+       {
+               print "\n  $package_display  $i\n";
+               if (grep (/^$i/, @pkgs_deps))
+               {
+                       foreach my $j (@pkgs_deps)
+                       {
+                               if (grep (/^$i/, $j))
+                               {
+                                       (my $child) = $j =~ /.+:(.+)/;
+                                       print "              " . (arrow_format($j)) . "\n";
+                               }
+                       }
+               } else {
+                       print "              $Lang::tr{'pakfire no deps'}\n";
+               }
+       }
+
+       if (@pkgs_inuse)
+       {
+               print "\n$Lang::tr{'pakfire inuse'}\n\n";
+               foreach (@pkgs_inuse)
+               {
+                       print "              " . (arrow_format($_)) . "\n";
+               }
+       }
+
+       if (@pkgs_keep)
+       {
+               print "\n$Lang::tr{'pakfire keep'}\n\n";
+               foreach (@pkgs_keep)
+               {
+                       print "              $_\n";
+               }
+
+       }
+
+       if (@pkgs_remove)
+       {
+               print "\n$Lang::tr{'pakfire remove package'}\n\n";
+               foreach (@pkgs_remove)
+               {
+                       print "              $_\n";
+               }
+               print <<END;
                        </pre>
                        </td>
                </tr>
-               <tr>
-                       <td colspan='2'>$Lang::tr{'pakfire uninstall all'}</td>
+END
+       } else {
+               print <<END;
+                       </pre>
+                       </td>
                </tr>
                <tr>
-                       <td colspan='2'>&nbsp;</td>
+                       <td align='center' style='padding-top:0px;padding-bottom:8px;color:red'>
+                       $Lang::tr{'pakfire no remove'}
+                       </td>
                </tr>
+END
+       }
+
+       print <<END;
                <tr>
-                       <td align='center'>
+                       <td align='center' style='padding-top:8px;padding-bottom:4px'>
                        <form method='post' action='$ENV{'SCRIPT_NAME'}'>
-                       <input type='hidden' name='DELPAKS' value='$cgiparams{'DELPAKS'}' />
+                       <input type='hidden' name='DELPAKS' value='$remove_list' />
                        <input type='hidden' name='FORCE' value='on' />
-                       <input type='submit' name='ACTION' value='$Lang::tr{'remove'}'/>
+END
+
+       if (@pkgs_remove)
+       {
+               print "<input type='submit' name='ACTION' value='$Lang::tr{'remove'}'/>";
+       } else {
+               print "<input disabled type='submit' name='ACTION' value='$Lang::tr{'remove'}'/>";
+       }
+
+       print <<END;
                        <input type='submit' name='ACTION' value='$Lang::tr{'cancel'}'/>
                        </form>
                        </td>
@@ -803,3 +966,37 @@ sub arrow_format
         $line = substr($line, 0, -4);
         return $line;
 }
+
+# build dependencies tree from array of package
+# dependencies
+sub build_tree
+{
+       my $pref = $_[0];
+       my $dref = $_[1];
+       my @packages = @$pref;
+       my @deps = @$dref;
+       my @tree;
+       my @temp;
+
+       do
+       {
+               @temp = ();
+               foreach my $i (@packages)
+               {
+                       (my $child) = $i =~ /.+:(.+)/;
+                       foreach my $j (@deps)
+                       {
+                               (my $deps_parent) = $j =~ /(.+):.+/;
+                               (my $deps_child) = $j =~ /.+:(.+)/;
+                               if ( $child eq $deps_parent )
+                               {
+                                       push @temp, "$i:$deps_child";
+                               }
+                       }
+               }
+               push @tree, @temp;
+               @packages = @temp;
+       } until ( ! (@packages));
+
+       return @tree;
+}
index 7fd0dae2bba651e79e3b7c974a793970938892b9..edbe968de3b447f27c62c26fb45ad8470c95e93b 100644 (file)
 'pakfire core update auto' => 'Core- und Add-on-Updates automatisch installieren:',
 'pakfire core update level' => 'Core-Update-Level',
 'pakfire dependecies found' => 'Abhängigkeiten gefunden:',
+'pakfire deps' => 'Paketabhängigkeiten:',
+'pakfire errors' => 'Es sind Fehler aufgetreten:',
 'pakfire finished' => 'Pakfire ist fertig! Kehre zurück...',
 'pakfire finished error' => 'Pakfire ist fertig! Fehler sind aufgetreten, bitte überprüfen Sie die Log-Ausgabe, bevor Sie fortfahren.',
 'pakfire health check' => 'Mirrors auf Erreichbarkeit prüfen (Ping):',
 'pakfire install' => 'Installieren',
 'pakfire install description' => 'Bitte wählen Sie ein oder mehrere Add-Ons zur Installation aus.',
 'pakfire install package' => 'Zu installierende Pakete:',
+'pakfire installed' => 'bereits installiert',
 'pakfire installed addons' => 'Installierte Add-ons:',
+'pakfire inuse' => 'Verwendete Pakete:',
 'pakfire invalid tree' => '',
+'pakfire keep' => 'Aufgrund von Abhängigkeiten aufzubewahrende Pakete:',
 'pakfire last core list update' => 'Letztes Corelisten Update ist',
 'pakfire last package update' => 'Letztes Paketlisten Update ist',
 'pakfire last serverlist update' => 'Letztes Serverlisten Update ist',
 'pakfire last update' => 'Letztes Update ist',
 'pakfire no dependecies found' => 'Keine Abhängigkeiten gefunden.',
+'pakfire no deps' => 'Keine Abhängigkeiten gefunden.',
+'pakfire no remove' => 'Aufgrund von Abhängigkeiten können keine Pakete entfernt werden.',
+'pakfire package' => 'Paket:',
 'pakfire possible dependency' => ' Möglicherweise haben diese Pakete Abhängigkeiten, d.h. andere Pakete müssen zusätzlich installiert werden. Dazu sehen Sie unten eine Liste.',
 'pakfire refresh list' => 'Liste aktualisieren',
 'pakfire register' => 'Registrierung am Pakfire-Server:',
+'pakfire remove package' => 'Zu entfernende Pakete:',
 'pakfire resolvdeps wait' => 'Prüfen auf Abhängigkeiten, bitte warten...',
 'pakfire return' => 'Zurück zu Pakfire',
 'pakfire system state' => 'System Status',
index 87e59ad164b535aa2aaf0335c0c04b6783717a7d..4fabe4ba5f6bbaaa8aaaa88d2419550d29b83c6c 100644 (file)
 'pakfire core update auto' => 'Install core and add-on updates automatically:',
 'pakfire core update level' => 'Core-Update-Level',
 'pakfire dependencies found' => 'Dependencies found:',
+'pakfire deps' => 'Package dependencies:',
+'pakfire errors' => 'Errors occurred:',
 'pakfire finished' => 'Pakfire has finished! Returning...',
 'pakfire finished error' => 'Pakfire has finished! Errors occurred, please check the log output before proceeding.',
 'pakfire health check' => 'Check if mirror is reachable (ping):',
 'pakfire install' => 'Install',
 'pakfire install description' => 'Please select one or more add-ons to install.',
 'pakfire install package' => 'Packages to install:',
+'pakfire installed' => 'already installed',
 'pakfire installed addons' => 'Installed Add-ons:',
+'pakfire inuse' => 'Packages in use:',
 'pakfire invalid tree' => 'Invalid repository selected',
+'pakfire keep' => 'Packages to keep due to dependencies:',
 'pakfire last core list update' => 'Last core list update made',
 'pakfire last package update' => 'Last packages list update made',
 'pakfire last serverlist update' => 'Last server list update made',
 'pakfire last update' => 'Last update made',
 'pakfire no dependencies found' => 'No dependencies found.',
+'pakfire no deps' => 'No dependencies found.',
+'pakfire no remove' => 'Due to dependencies, no packages can be removed.',
+'pakfire package' => 'Package:',
 'pakfire possible dependency' => ' There may be depending packages, here is a list of packages that need to be installed.',
 'pakfire refresh list' => 'Refresh List',
 'pakfire register' => 'Register at pakfire-server:',
+'pakfire remove package' => 'Packages to remove:',
 'pakfire resolvedeps wait' => 'Checking for dependencies, please wait...',
 'pakfire return' => 'Return to Pakfire',
 'pakfire system state' => 'System Status',
index a830b215ca2a7bab0357c3d80183b7f4d9565b46..6e9b4f32d6f87acaeabb34b456c1fea606b7a930 100644 (file)
 'pakfire core update auto' => 'Instar actualizaciones principales y complementarias automáticamente:',
 'pakfire core update level' => 'Nivel de actualización del núcleo',
 'pakfire dependencies found' => 'Dependencias encontradas:',
+'pakfire deps' => 'Dependencias del paquete:',
+'pakfire errors' => 'Se produjeron errores:',
 'pakfire finished' => '¡Pakfire ha terminado! Volviendo...',
 'pakfire finished error' => '¡Pakfire ha terminado! Ocurrieron errores, verifique la salida del registro antes de continuar.',
 'pakfire health check' => 'Verificar disponibilidad del espejo (ping):',
 'pakfire install' => 'Instalar',
 'pakfire install description' => 'Seleccione uno o más complementos para instalar.',
 'pakfire install package' => 'Paquetes a instalar:',
+'pakfire installed' => 'ya instalado',
 'pakfire installed addons' => 'Complementos instalados:',
+'pakfire inuse' => 'Paquetes en uso:',
 'pakfire invalid tree' => 'Repositorio no válido seleccionado',
+'pakfire keep' => 'Paquetes a conservar debido a dependencias:',
 'pakfire last core list update' => 'Última lista de actualización de núcleo hecha',
 'pakfire last package update' => 'Última lista de actualización de paquetes hecha',
 'pakfire last serverlist update' => 'Última lista de actualización de servidor hecha',
 'pakfire last update' => 'Última actualización realizada',
 'pakfire no dependencies found' => 'No se encontraron dependencias.',
+'pakfire no deps' => 'No se encontraron dependencias.',
+'pakfire no remove' => 'Debido a las dependencias, no se pueden eliminar paquetes.',
+'pakfire package' => 'Paquete:',
 'pakfire possible dependency' => 'Puede haber paquetes con dependencias, aquí está una lista de paquetes que necesitan ser instalados.',
 'pakfire refresh list' => 'Refrescar Lista',
 'pakfire register' => 'Registrar en el servidor pakfire:',
+'pakfire remove package' => 'Paquetes a eliminar:',
 'pakfire resolvedeps wait' => 'Buscando dependencias, por favor espere...',
 'pakfire return' => 'Regresar a Pakfire',
 'pakfire system state' => 'Estado del sistema',
index 06f50fd93af58db5edda82efee046428afaed69f..39f1d1908a85a804cbb83f3fa26b8eda60341b5d 100644 (file)
 'pakfire core update auto' => 'Installer automatiquement les mises à jour du noyau et des modules :',
 'pakfire core update level' => 'Version de mise à jour du noyau ',
 'pakfire dependencies found' => 'Dépendances trouvées :',
+'pakfire deps' => 'Dépendances du paquet :',
+'pakfire errors' => 'Des erreurs se sont produites :',
 'pakfire finished' => 'Pakfire a fini ! Retour...',
 'pakfire finished error' => 'Pakfire a fini ! Des erreurs se sont produites, veuillez vérifier les rapports système des journaux avant de continuer.',
 'pakfire health check' => 'Vérifier si le miroir est accessible (ping) :',
 'pakfire install' => 'Installer',
 'pakfire install description' => 'Veuillez sélectionner un ou plusieurs modules complémentaires à installer.',
 'pakfire install package' => 'Paquets à installer :',
+'pakfire installed' => 'déjà installé',
 'pakfire installed addons' => 'Modules installés :',
+'pakfire inuse' => 'Paquets en cours d\'utilisation :',
 'pakfire invalid tree' => 'Dépôt choisi invalide',
+'pakfire keep' => 'Paquets à conserver en raison des dépendances :',
 'pakfire last core list update' => 'Dernière mise à jour de la liste du noyau : ',
 'pakfire last package update' => 'Dernière mise à jour de la liste des paquets : ',
 'pakfire last serverlist update' => 'Dernière mise à jour de la liste des serveurs : ',
 'pakfire last update' => 'Dernière mise à jour : ',
 'pakfire no dependencies found' => 'Aucune dépendance trouvée.',
+'pakfire no deps' => 'Aucune dépendance trouvée.',
+'pakfire no remove' => 'En raison des dépendances, aucun paquet ne peut être supprimé.',
+'pakfire package' => 'Paquet :',
 'pakfire possible dependency' => 'Il y a peut-être des dépendances, voici la liste des paquets qu\'il faut (dés)installer.',
 'pakfire refresh list' => 'Actualiser la Liste',
 'pakfire register' => 'S\'inscrire au serveur pakfire :',
+'pakfire remove package' => 'Paquets à supprimer :',
 'pakfire resolvedeps wait' => 'Vérification des dépendances, veuillez patienter...',
 'pakfire return' => 'Retour à Pakfire',
 'pakfire system state' => 'Statut système PakFire ',
index df3c1f9eb9bfe02a399fa570fcea2248eb45a2c0..cf73cf2e5fb6c4d7bf7b4933fe344a4c20321a39 100644 (file)
 'pakfire core update auto' => 'Install core and addon updates automatically:',
 'pakfire core update level' => 'Core-Update-Level',
 'pakfire dependencies found' => 'Dipendenze trovate:',
+'pakfire deps' => 'Dipendenze del pacchetto:',
+'pakfire errors' => 'Si sono verificati degli errori:',
 'pakfire health check' => 'Controllare se il mirror è raggiungibile (ping):',
 'pakfire install' => 'Installare',
 'pakfire install description' => 'Selezionare uno o più componenti aggiuntivi da installare.',
 'pakfire install package' => 'Pacchetti da installare:',
+'pakfire installed' => 'già installato',
 'pakfire installed addons' => 'Addons installati:',
+'pakfire inuse' => 'Pacchetti in uso:',
+'pakfire keep' => 'Pacchetti da mantenere a causa delle dipendenze:',
 'pakfire last core list update' => 'Ultimo aggiornamento della lista di sistema',
 'pakfire last package update' => 'Ultimo aggiornamento della lista pacchetti',
 'pakfire last serverlist update' => 'Ultimo aggiornamento della lista server',
 'pakfire last update' => 'Ultimo aggiornamento di sistema effettuato',
 'pakfire no dependencies found' => 'Nessuna dipendenza trovata.',
+'pakfire no deps' => 'Nessuna dipendenza trovata.',
+'pakfire no remove' => 'A causa delle dipendenze, nessun pacchetto può essere rimosso.',
+'pakfire package' => 'Pacchetto:',
 'pakfire possible dependency' => ' There may be depending packages, here is a list of packages that need to be installed.',
 'pakfire refresh list' => 'Aggiorna le Liste',
 'pakfire register' => 'Registrati sul pakfire-server:',
+'pakfire remove package' => 'Pacchetti da rimuovere:',
 'pakfire resolvedeps wait' => 'Controllo delle dipendenze, attendere prego...',
 'pakfire system state' => 'Stato del Sistema',
 'pakfire uninstall all' => 'Vuoi disinstallare i seguenti pacchetti?',
index da01276a81e249eb2fda9a3226bdf61f9202f458..eaaa3ee406c5d7295649c1a4a44d29f9b01b0100 100644 (file)
 'pakfire core update auto' => 'Installeer core- en extensie-updates automatisch:',
 'pakfire core update level' => 'Core-updateniveau',
 'pakfire dependencies found' => 'Afhankelijkheden gevonden:',
+'pakfire deps' => 'Pakketafhankelijkheden:',
+'pakfire errors' => 'Er zijn fouten opgetreden:',
 'pakfire health check' => 'Controleer of de mirror bereikbaar is  (ping):',
 'pakfire install' => 'Installeren',
 'pakfire install description' => 'Selecteer een of meer add-ons om te installeren.',
 'pakfire install package' => 'Pakketten om te installeren:',
+'pakfire installed' => 'al geïnstalleerd',
 'pakfire installed addons' => 'Geïnstalleerde add-ons:',
+'pakfire inuse' => 'Pakketten in gebruik:',
+'pakfire keep' => 'Pakketten die moeten worden bewaard vanwege afhankelijkheden:',
 'pakfire last core list update' => 'Laatste core-lijst update gemaakt',
 'pakfire last package update' => 'Laatste pakketlijst update gemaakt',
 'pakfire last serverlist update' => 'Laatste serverlijst update gemaakt',
 'pakfire last update' => 'Laatste update gemaakt',
 'pakfire no dependencies found' => 'Geen afhankelijkheden gevonden.',
+'pakfire no deps' => 'Geen afhankelijkheden gevonden.',
+'pakfire no remove' => 'Vanwege afhankelijkheden kunnen er geen pakketten worden verwijderd.',
+'pakfire package' => 'Pakket:',
 'pakfire possible dependency' => ' Er kunnen pakketafhankelijkheden zijn, hier is een lijst met pakketten die moeten worden geïnstalleerd.',
 'pakfire refresh list' => 'Ververs Lijst',
 'pakfire register' => 'Registreer bij de pakfire-server:',
+'pakfire remove package' => 'Te verwijderen pakketten:',
 'pakfire resolvedeps wait' => 'Controleren op afhankelijkheden, even geduld...',
 'pakfire system state' => 'Systeemstatus',
 'pakfire uninstall all' => 'Wilt u de volgende pakketten verwijderen?',
index 9223fb152c98b4392467ad1457ba0350d437d085..68e276202e420ae1d82bf7e1f7394e8f41ef2f82 100644 (file)
 'pakfire core update auto' => 'Instaluj aktualizacje jądra automatycznie:',
 'pakfire core update level' => 'Aktualizacja jądra',
 'pakfire dependencies found' => 'Znaleziono zależności:',
+'pakfire deps' => 'Zależności pakietów:',
+'pakfire errors' => 'Wystąpiły błędy:',
 'pakfire health check' => 'Sprawdź czy mirror jest dostępny (ping):',
 'pakfire install' => 'Instaluj',
 'pakfire install description' => 'Wybierz jeden lub więcej dodatków do zainstalowania.',
 'pakfire install package' => 'Pakiety do zainstalowania:',
+'pakfire installed' => 'już zainstalowany',
 'pakfire installed addons' => 'Zainstalowane dodatki:',
+'pakfire inuse' => 'Pakiety w użyciu:',
+'pakfire keep' => 'Pakiety do zachowania ze względu na zależności:',
 'pakfire last core list update' => 'Sprawdzenie aktualizacja jądra:',
 'pakfire last package update' => 'Ostatnia aktualizacja listy pakietów:',
 'pakfire last serverlist update' => 'Ostatnia aktualizacja listy serwerów:',
 'pakfire last update' => 'Ostatnia aktualizacja:',
 'pakfire no dependencies found' => 'Nie znaleziono zależności.',
+'pakfire no deps' => 'Nie znaleziono zależności.',
+'pakfire no remove' => 'Ze względu na zależności, żadne pakiety nie mogą zostać usunięte.',
+'pakfire package' => 'Pakiet:',
 'pakfire possible dependency' => ' Pewne pakiety mogą wymagać zależności. Oto lista pakietów które muszę zostać zainstalowane.',
 'pakfire refresh list' => 'Odśwież Listę',
 'pakfire register' => 'Register at pakfire-server:',
+'pakfire remove package' => 'Pakiety do usunięcia:',
 'pakfire resolvedeps wait' => 'Sprawdzanie zależności, proszę czekać...',
 'pakfire system state' => 'Status systemu',
 'pakfire uninstall all' => 'Czy chcesz odinstalować następujące pakiety?',
index 34da20ecc1fbebba35f854f19a2ab3e23f19da5f..b782a2d4873fb0cde9e8c9537a23de4f94dd8943 100644 (file)
 'pakfire core update auto' => 'Устанавливать обновления ядра и аддонов автоматически:',
 'pakfire core update level' => 'Уровень обновления системы',
 'pakfire dependencies found' => 'Зависимости найдены:',
+'pakfire deps' => 'Зависимости пакетов:',
+'pakfire errors' => 'Произошли ошибки:',
 'pakfire health check' => 'Пинговать зеркало на доступность:',
 'pakfire install' => 'Установить',
 'pakfire install description' => 'Пожалуйста, выберите одно или несколько дополнений для установки.',
 'pakfire install package' => 'Пакеты для установки:',
+'pakfire installed' => 'уже установлено',
 'pakfire installed addons' => 'Установленные Аддоны:',
+'pakfire inuse' => 'Используемые пакеты:',
+'pakfire keep' => 'Пакеты, которые необходимо сохранить из-за наличия зависимостей:',
 'pakfire last core list update' => 'Обновление core-списков',
 'pakfire last package update' => 'Обновление списка пакетов',
 'pakfire last serverlist update' => 'Обновление серверных списков',
 'pakfire last update' => 'Последнее обновление',
 'pakfire no dependencies found' => 'Зависимости не найдены.',
+'pakfire no deps' => 'Зависимости не найдены.',
+'pakfire no remove' => 'Из-за зависимостей ни один пакет не может быть удален.',
+'pakfire package' => 'Упаковка:',
 'pakfire possible dependency' => ' There may be depending packages, here is a list of packages that need to be installed.',
 'pakfire refresh list' => 'Обновить Список',
 'pakfire register' => 'Регистрировать на pakfire-сервере:',
+'pakfire remove package' => 'Пакеты для удаления:',
 'pakfire resolvedeps wait' => 'Проверка зависимостей, пожалуйста, подождите...',
 'pakfire system state' => 'Статус системы',
 'pakfire uninstall all' => 'Вы хотите удалить следующие пакеты?',
index 4cba99ff16ef87897002d221d13ddcd50d94bd66..02eddaa80b32ef356e908b84275e98d66b7484a5 100644 (file)
 'pakfire core update auto' => 'Otomatik olarak çekirdek ve eklenti güncelleştirmelerini yükle:',
 'pakfire core update level' => 'Çekirdek-Güncelleme-Seviyesi',
 'pakfire dependencies found' => 'Bağımlılıklar bulundu:',
+'pakfire deps' => 'Paket bağımlılıkları:',
+'pakfire errors' => 'Hatalar oluştu:',
 'pakfire health check' => 'Yansımanın ulaşılabilir olup olmadığını kontrol et (ping):',
 'pakfire install' => 'Yükle',
 'pakfire install description' => 'Lütfen yüklemek için bir veya daha fazla eklenti seçin.',
 'pakfire install package' => 'Kurulacak paketler:',
+'pakfire installed' => 'zaten kurulu',
 'pakfire installed addons' => 'Kurulu eklentiler:',
+'pakfire inuse' => 'Kullanımdaki paketler:',
+'pakfire keep' => 'Bağımlılıklar nedeniyle saklanacak paketler:',
 'pakfire last core list update' => 'Son çekirdek listesi güncellemesi',
 'pakfire last package update' => 'Son paket listesi güncellemesi',
 'pakfire last serverlist update' => 'Son sunucu listesi güncellemesi',
 'pakfire last update' => 'Son güncelleme',
 'pakfire no dependencies found' => 'Hiçbir bağımlılık bulunamadı.',
+'pakfire no deps' => 'Bağımlılık bulunamadı.',
+'pakfire no remove' => 'Bağımlılıklar nedeniyle hiçbir paket kaldırılamaz.',
+'pakfire package' => 'Paket:',
 'pakfire possible dependency' => ' Yüklenemesi gereken paketlerin yüklenebilmesi için buradaki paketlere ihtiyaç duyulabilir.',
 'pakfire refresh list' => 'Listeyi Yenile',
 'pakfire register' => 'Pakfire sunucusuna kayıt:',
+'pakfire remove package' => 'Kaldırılacak paketler:',
 'pakfire resolvedeps wait' => 'Bağımlılıklar kontrol ediliyor, lütfen bekleyin...',
 'pakfire system state' => 'Sistem durumu',
 'pakfire uninstall all' => 'Aşağıdaki paketleri kaldırmak istiyor musunuz?',