diff --git a/data/interface/preferences_dialog.ui b/data/interface/preferences_dialog.ui index 135c5c2..15e65b1 100644 --- a/data/interface/preferences_dialog.ui +++ b/data/interface/preferences_dialog.ui @@ -847,6 +847,65 @@ All AUR users should be familiar with the build process. 3 + + + True + False + 26 + 12 + True + + + True + True + Keep built packages + end + 6 + 6 + 6 + 6 + + + False + True + 1 + + + + + True + False + start + True + + + False + True + 0 + + + + + True + False + end + 24 + select-folder + + + + False + True + 2 + + + + + False + True + 3 + + aur diff --git a/data/org.pamac.aur.gschema.xml b/data/org.pamac.aur.gschema.xml index aef3a61..7129f24 100644 --- a/data/org.pamac.aur.gschema.xml +++ b/data/org.pamac.aur.gschema.xml @@ -28,5 +28,19 @@ Directory where to build packages that come from the AUR + + false + Copy AUR packages + + Save built packages on disk + + + + "" + AUR package directory + + Directory where to move built packages that come from the AUR + + diff --git a/po/de.po b/po/de.po index 4e69fda..3745dbd 100644 --- a/po/de.po +++ b/po/de.po @@ -27,7 +27,7 @@ msgstr "" "Project-Id-Version: manjaro-pamac\n" "Report-Msgid-Bugs-To: cromer@cromnix.org\n" "POT-Creation-Date: 2020-03-29 21:48-0300\n" -"PO-Revision-Date: 2017-07-30 02:40+0000\n" +"PO-Revision-Date: 2021-07-08 16:25+0200\n" "Last-Translator: philm \n" "Language-Team: German (http://www.transifex.com/manjarolinux/manjaro-pamac/" "language/de/)\n" @@ -92,17 +92,17 @@ msgstr "Paket %s hat keine gültige Architektur" #: ../src/pamac-system-daemon/system_daemon.vala #, c-format msgid "unable to satisfy dependency '%s' required by %s" -msgstr "" +msgstr "Kann Abhängigkeit '%s' von %s nicht erfüllen" #: ../src/pamac-system-daemon/system_daemon.vala #, c-format msgid "installing %s (%s) breaks dependency '%s' required by %s" -msgstr "" +msgstr "Installation von %s (%s) verletzt Abhängigkeit '%s' von %s" #: ../src/pamac-system-daemon/system_daemon.vala #, c-format msgid "removing %s breaks dependency '%s' required by %s" -msgstr "" +msgstr "Entfernen von %s verletzt Abhängigkeit '%s' von %s" #: ../src/pamac-system-daemon/system_daemon.vala #, c-format @@ -112,7 +112,7 @@ msgstr "%s und %s stehen im Konflikt zueinander" #: ../src/pamac-system-daemon/system_daemon.vala #, c-format msgid "%s needs to be removed but it is a locked package" -msgstr "%s soll entfernt werden, ist aber ein gesperrtes Paket " +msgstr "%s soll entfernt werden, ist aber ein gesperrtes Paket" #: ../src/pamac-system-daemon/system_daemon.vala msgid "Failed to commit transaction" @@ -190,7 +190,7 @@ msgstr "Wird neu installiert" #: ../src/transaction.vala msgid "To upgrade" -msgstr "" +msgstr "Zu aktualisieren" #: ../src/transaction.vala ../src/pamac-manager/manager_window.vala msgid "Total download size" @@ -344,11 +344,11 @@ msgstr "Es gibt nichts zu tun" #: ../src/transaction.vala msgid "Transaction successful" -msgstr "" +msgstr "Transaktion erfolgreich" #: ../src/transaction.vala msgid "The transaction has been completed successfully" -msgstr "" +msgstr "Die Transaktion wurde erfolgreich abgeschlossen" #: ../src/transaction.vala msgid "Transaction successfully finished" @@ -356,15 +356,17 @@ msgstr "Vorgang erfolgreich abgeschlossen" #: ../src/transaction.vala msgid "Transaction failed" -msgstr "" +msgstr "Transaktion fehlgeschlagen" #: ../src/transaction.vala msgid "The transaction failed and no packages have been updated/installed" msgstr "" +"Die Transaktion ist fehlgeschlagen und es wurden keine Pakete aktualisiert/" +"installiert" #: ../src/pamac-install/installer.vala msgid "Unable to lock database!" -msgstr "" +msgstr "Kann Datenbank nicht sperren!" #: ../src/pamac-tray/tray.vala ../src/pamac-manager/manager_window.vala msgid "Your system is up-to-date" @@ -396,7 +398,7 @@ msgstr "Pamac wird bereits ausgeführt" #: ../src/pamac-manager/manager.vala msgid "Refresh Databases" -msgstr "" +msgstr "Datenbanken aktualisieren" #: ../src/pamac-manager/manager.vala ../data/interface/manager_window.ui msgid "View History" @@ -417,7 +419,7 @@ msgstr "Über" #: ../src/pamac-manager/manager.vala msgid "Quit" -msgstr "" +msgstr "Schließen" #: ../src/pamac-manager/manager_window.vala msgid "Deselect" @@ -425,7 +427,7 @@ msgstr "Abwählen" #: ../src/pamac-manager/manager_window.vala msgid "Upgrade" -msgstr "" +msgstr "Aktualisieren" #: ../src/pamac-manager/manager_window.vala ../data/interface/manager_window.ui msgid "Install" @@ -480,11 +482,11 @@ msgstr "Paketquelle" #: ../src/pamac-manager/manager_window.vala msgid "Download size" -msgstr "" +msgstr "Download Größe" #: ../src/pamac-manager/manager_window.vala msgid "Installed size" -msgstr "" +msgstr "Installierte Größe" #: ../src/pamac-manager/manager_window.vala ../data/interface/manager_window.ui msgid "Groups" @@ -603,7 +605,11 @@ msgstr "Anzahl der im Cache verbleibenden Paketversionen" #: ../src/preferences_dialog.vala msgid "Build directory" -msgstr "" +msgstr "Build Verzeichnis" + +#: ../src/preferences_dialog.vala +msgid "Package directory" +msgstr "Paket Verzeichnis" #: ../src/preferences_dialog.vala msgid "Worldwide" @@ -664,7 +670,7 @@ msgstr "Paketquellen" #: ../data/interface/manager_window.ui msgid "Updates" -msgstr "" +msgstr "Aktualisierungen" #: ../data/interface/manager_window.ui msgid "Version" @@ -724,7 +730,7 @@ msgstr "Suche nach Aktualisierungen" #: ../data/interface/preferences_dialog.ui msgid "Update files databases (more details but slower)" -msgstr "" +msgstr "Aktualisiere Datei-Datenbanken (mehr Details, aber langsamer)" #: ../data/interface/preferences_dialog.ui msgid "Hide tray icon when no update available" @@ -742,19 +748,19 @@ msgstr "Allgemein" #: ../data/interface/preferences_dialog.ui msgid "Background color:" -msgstr "" +msgstr "Hintergrund Farbe:" #: ../data/interface/preferences_dialog.ui msgid "Text color:" -msgstr "" +msgstr "Text Farbe:" #: ../data/interface/preferences_dialog.ui msgid "Font:" -msgstr "" +msgstr "Schrift:" #: ../data/interface/preferences_dialog.ui msgid "Terminal" -msgstr "" +msgstr "Terminal" #: ../data/interface/preferences_dialog.ui msgid "Use mirrors from:" @@ -798,6 +804,10 @@ msgstr "Suche standardmäßig im AUR" msgid "Check for updates from AUR" msgstr "Suche nach Aktualisierungen aus dem AUR" +#: ../data/interface/preferences_dialog.ui +msgid "Keep built packages" +msgstr "Behalte erstellte Pakete" + #: ../data/interface/preferences_dialog.ui msgid "Remove only the versions of uninstalled packages" msgstr "Entferne nur Versionen von deinstallierten Paketen" diff --git a/src/pamac_config.vala b/src/pamac_config.vala index 28284d0..d907293 100644 --- a/src/pamac_config.vala +++ b/src/pamac_config.vala @@ -31,6 +31,8 @@ namespace Pamac { public bool search_aur { get; private set; } public string aur_build_dir { get; private set; } public bool check_aur_updates { get; private set; } + public bool aur_keep_pkgs { get; private set; } + public string aur_move_dir { get; private set; } #endif public uint64 keep_num_pkgs { get; private set; } public bool rm_only_uninstalled { get; private set; } @@ -92,6 +94,8 @@ namespace Pamac { search_aur = settings.get_boolean ("search-in-aur"); check_aur_updates = settings.get_boolean ("check-aur-updates"); aur_build_dir = settings.get_string ("build-directory"); + aur_keep_pkgs = settings.get_boolean("aur-keep-pkgs"); + aur_move_dir = settings.get_string("move-directory"); #endif } } diff --git a/src/preferences_dialog.vala b/src/preferences_dialog.vala index bf1bc17..cc6f07b 100644 --- a/src/preferences_dialog.vala +++ b/src/preferences_dialog.vala @@ -65,6 +65,12 @@ namespace Pamac { unowned Gtk.FileChooserButton aur_build_dir_file_chooser; [GtkChild] unowned Gtk.CheckButton check_aur_updates_checkbutton; + [GtkChild] + unowned Gtk.Switch aur_keep_pkgs_button; + [GtkChild] + unowned Gtk.Label aur_move_dir_label; + [GtkChild] + unowned Gtk.FileChooserButton aur_move_dir_file_chooser; #endif [GtkChild] unowned Gtk.Label cache_keep_nb_label; @@ -94,6 +100,7 @@ namespace Pamac { stack.remove (aur_config_box); #else aur_build_dir_label.set_markup (dgettext (null, "Build directory") +":"); + aur_move_dir_label.set_markup (dgettext (null, "Package directory") +":"); #endif remove_unrequired_deps_button.active = transaction.recurse; update_files_db_button.active = transaction.update_files_db; @@ -193,6 +200,13 @@ namespace Pamac { search_aur_checkbutton.toggled.connect (on_search_aur_checkbutton_toggled); aur_build_dir_file_chooser.file_set.connect (on_aur_build_dir_set); check_aur_updates_checkbutton.toggled.connect (on_check_aur_updates_checkbutton_toggled); + aur_keep_pkgs_button.sensitive = transaction.enable_aur; + aur_keep_pkgs_button.active = transaction.aur_keep_pkgs; + aur_keep_pkgs_button.state_set.connect(on_aur_keep_pkgs_button_state_set); + aur_move_dir_label.sensitive = transaction.enable_aur && transaction.aur_keep_pkgs; + aur_move_dir_file_chooser.sensitive = transaction.enable_aur && transaction.aur_keep_pkgs; + aur_move_dir_file_chooser.set_filename(transaction.aur_move_dir); + aur_move_dir_file_chooser.file_set.connect(on_aur_move_dir_set); #endif } @@ -289,6 +303,14 @@ namespace Pamac { transaction.start_save_pamac_config (); return true; } + + bool on_aur_keep_pkgs_button_state_set (bool new_state) { + var settings = new Settings ("org.pamac.aur"); + settings.set_boolean ("aur-keep-pkgs", new_state); + config_changed(); + transaction.start_save_pamac_config (); + return true; + } void on_search_aur_checkbutton_toggled () { var settings = new Settings ("org.pamac.aur"); @@ -303,6 +325,13 @@ namespace Pamac { config_changed(); transaction.start_save_pamac_config (); } + + void on_aur_move_dir_set () { + var settings = new Settings ("org.pamac.aur"); + settings.set_string ("move-directory", aur_move_dir_file_chooser.get_filename ()); + config_changed(); + transaction.start_save_pamac_config (); + } void on_check_aur_updates_checkbutton_toggled () { var settings = new Settings ("org.pamac.aur"); @@ -341,6 +370,10 @@ namespace Pamac { aur_build_dir_file_chooser.sensitive = transaction.enable_aur; check_aur_updates_checkbutton.active = transaction.check_aur_updates; check_aur_updates_checkbutton.sensitive = transaction.enable_aur; + aur_keep_pkgs_button.sensitive = transaction.enable_aur; + aur_keep_pkgs_button.state = transaction.aur_keep_pkgs; + aur_move_dir_label.sensitive = transaction.enable_aur && transaction.aur_keep_pkgs; + aur_move_dir_file_chooser.sensitive = transaction.enable_aur && transaction.aur_keep_pkgs; #endif } diff --git a/src/transaction.vala b/src/transaction.vala index ef0541d..c3d25c9 100644 --- a/src/transaction.vala +++ b/src/transaction.vala @@ -114,7 +114,7 @@ namespace Pamac { public signal void save_pamac_config_finished (bool recurse, uint64 refresh_period, bool no_update_hide_icon); #else public signal void save_pamac_config_finished (bool recurse, uint64 refresh_period, bool no_update_hide_icon, - bool enable_aur, bool search_aur, string aur_build_dir, bool check_aur_updates); + bool enable_aur, bool search_aur, string aur_build_dir, bool check_aur_updates, bool aur_keep_pkgs, string aur_move_dir); #endif public signal void write_alpm_config_finished (bool checkspace); public signal void write_mirrors_config_finished (string choosen_country, string choosen_generation_method); @@ -146,6 +146,8 @@ namespace Pamac { public bool enable_aur { get { return pamac_config.enable_aur; } } public bool search_aur { get { return pamac_config.search_aur; } } public string aur_build_dir { get { return pamac_config.aur_build_dir; } } + public bool aur_keep_pkgs { get { return pamac_config.aur_keep_pkgs; } } + public string aur_move_dir { get { return pamac_config.aur_move_dir; } } #endif public uint64 keep_num_pkgs { get { return pamac_config.keep_num_pkgs; } } public bool rm_only_uninstalled { get { return pamac_config.rm_only_uninstalled; } } @@ -228,7 +230,7 @@ namespace Pamac { public signal void save_pamac_config_finished (bool recurse, uint64 refresh_period, bool no_update_hide_icon); #else public signal void save_pamac_config_finished (bool recurse, uint64 refresh_period, bool no_update_hide_icon, - bool enable_aur, bool search_aur, string aur_build_dir, bool check_aur_updates); + bool enable_aur, bool search_aur, string aur_build_dir, bool check_aur_updates, bool aur_keep_pkgs, string aur_move_dir); #endif public signal void write_alpm_config_finished (bool checkspace); public signal void write_mirrors_config_finished (string choosen_country, string choosen_generation_method); @@ -1401,12 +1403,20 @@ namespace Pamac { foreach (unowned string path in standard_output.split ("\n")) { if (path != "" && !(path in built_pkgs)) { built_pkgs += path; + if(aur_keep_pkgs) { + File pkg_file = GLib.File.new_for_path (path); + File target_file = GLib.File.new_build_filename (aur_move_dir, pkg_file.get_basename()); + pkg_file.copy (target_file, OVERWRITE); + } } } } } catch (SpawnError e) { stderr.printf ("SpawnError: %s\n", e.message); status = 1; + } catch (GLib.Error e) { + stderr.printf ("GLib Error: %s\n", e.message); + status = 1; } } } @@ -2094,7 +2104,7 @@ namespace Pamac { void on_save_pamac_config_finished (bool recurse, uint64 refresh_period, bool no_update_hide_icon) { #else void on_save_pamac_config_finished (bool recurse, uint64 refresh_period, bool no_update_hide_icon, - bool enable_aur, bool search_aur, string aur_build_dir, bool check_aur_updates) { + bool enable_aur, bool search_aur, string aur_build_dir, bool check_aur_updates, bool aur_keep_pkgs, string aur_move_dir) { #endif system_daemon.save_pamac_config_finished.disconnect (on_save_pamac_config_finished); pamac_config.reload (); @@ -2106,7 +2116,7 @@ namespace Pamac { save_pamac_config_finished (recurse, refresh_period, no_update_hide_icon); #else save_pamac_config_finished (recurse, refresh_period, no_update_hide_icon, - enable_aur, search_aur, aur_build_dir, check_aur_updates); + enable_aur, search_aur, aur_build_dir, check_aur_updates, aur_keep_pkgs, aur_move_dir); #endif }