diff --git a/src/system_daemon.vala b/src/system_daemon.vala index ed36fbd1fb66085cebefb75e5f4de317e9c57d0f..ff2e567ea350974516c5353f7833da1e7d83d623 100644 --- a/src/system_daemon.vala +++ b/src/system_daemon.vala @@ -59,7 +59,7 @@ namespace Pamac { private string[] to_build; private bool sysupgrade; private UpdateInfos[] to_build_infos; - private GenericSet<string?> aur_pkgbases_to_build; + private GLib.List<string> aur_pkgbases_to_build; private GenericSet<string?> aur_desc_list; private GenericSet<string?> already_checked_aur_dep; private HashTable<string, string> to_install_as_dep; @@ -99,7 +99,7 @@ namespace Pamac { public SystemDaemon () { alpm_config = new AlpmConfig ("/etc/pacman.conf"); - aur_pkgbases_to_build = new GenericSet<string?> (str_hash, str_equal); + aur_pkgbases_to_build = new GLib.List<string> (); aur_desc_list = new GenericSet<string?> (str_hash, str_equal); already_checked_aur_dep = new GenericSet<string?> (str_hash, str_equal); to_install_as_dep = new HashTable<string, string> (str_hash, str_equal); @@ -912,7 +912,7 @@ namespace Pamac { to_load = {}; to_build = to_build_; to_build_infos = {}; - aur_pkgbases_to_build.remove_all (); + aur_pkgbases_to_build = new GLib.List<string> (); if (downloading_updates) { cancellable.cancel (); // let time to cancel download updates @@ -1202,7 +1202,7 @@ namespace Pamac { } catch (SpawnError e) { stderr.printf ("SpawnError: %s\n", e.message); } - // get an handle without emit signal callbacks AND fake aur db + // get an handle with fake aur db and without emit signal callbacks alpm_handle = alpm_config.get_handle (); if (alpm_handle == null) { current_error = ErrorInfos () { @@ -1223,7 +1223,7 @@ namespace Pamac { to_remove += debug_pkg_name; } } - // check base-devel group needed to build pkgs + // base-devel group is needed to build pkgs var backup_to_remove = new GenericSet<string?> (str_hash, str_equal); foreach (unowned string name in to_remove) { backup_to_remove.add (name); @@ -1247,7 +1247,7 @@ namespace Pamac { } syncdbs.next (); } - // check git needed to build pkgs + // git is needed to build pkgs if (Alpm.find_satisfier (alpm_handle.localdb.pkgcache, "git") == null) { to_install += "git"; } else { @@ -1305,7 +1305,9 @@ namespace Pamac { if (db != null) { if (db.name == "aur") { // it is a aur pkg to build - aur_pkgbases_to_build.add (trans_pkg.pkgbase); + if (aur_pkgbases_to_build.find_custom (trans_pkg.pkgbase, strcmp) == null) { + aur_pkgbases_to_build.append (trans_pkg.pkgbase); + } var infos = UpdateInfos () { name = trans_pkg.name, old_version = "", @@ -1384,7 +1386,7 @@ namespace Pamac { to_load = to_load_; to_build = to_build_; to_build_infos = {}; - aur_pkgbases_to_build.remove_all (); + aur_pkgbases_to_build = new GLib.List<string> (); sysupgrade = false; if (downloading_updates) { cancellable.cancel ();