Option to store built AUR packages in a custom directory
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
@@ -65,6 +65,12 @@ namespace Pamac {
|
||||
Gtk.FileChooserButton aur_build_dir_file_chooser;
|
||||
[GtkChild]
|
||||
Gtk.CheckButton check_aur_updates_checkbutton;
|
||||
[GtkChild]
|
||||
Gtk.Switch aur_keep_pkgs_button;
|
||||
[GtkChild]
|
||||
Gtk.Label aur_move_dir_label;
|
||||
[GtkChild]
|
||||
Gtk.FileChooserButton aur_move_dir_file_chooser;
|
||||
#endif
|
||||
[GtkChild]
|
||||
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
|
||||
}
|
||||
|
||||
|
@@ -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,6 +1403,9 @@ namespace Pamac {
|
||||
foreach (unowned string path in standard_output.split ("\n")) {
|
||||
if (path != "" && !(path in built_pkgs)) {
|
||||
built_pkgs += path;
|
||||
if(aur_keep_pkgs) {
|
||||
yield spawn_in_term ({"cp", path, aur_move_dir});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2094,7 +2099,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 +2111,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
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user