|
|
|
@@ -1,7 +1,7 @@
|
|
|
|
|
/*
|
|
|
|
|
* pamac-vala
|
|
|
|
|
*
|
|
|
|
|
* Copyright (C) 2017 Chris Cromer <cromer@cromnix.org>
|
|
|
|
|
* Copyright (C) 2017-2019 Chris Cromer <cromer@cromnix.org>
|
|
|
|
|
* Copyright (C) 2014-2017 Guillaume Benoit <guillaume@manjaro.org>
|
|
|
|
|
*
|
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
@@ -18,9 +18,6 @@
|
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// i18n
|
|
|
|
|
const string GETTEXT_PACKAGE = "pamac";
|
|
|
|
|
|
|
|
|
|
Pamac.SystemDaemon system_daemon;
|
|
|
|
|
MainLoop loop;
|
|
|
|
|
|
|
|
|
@@ -140,7 +137,7 @@ namespace Pamac {
|
|
|
|
|
refreshed = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void set_environment_variables (HashTable<string,string> variables) {
|
|
|
|
|
public void set_environment_variables (HashTable<string,string> variables) throws DBusError, IOError {
|
|
|
|
|
string[] keys = { "HTTP_USER_AGENT",
|
|
|
|
|
"http_proxy",
|
|
|
|
|
"https_proxy",
|
|
|
|
@@ -155,7 +152,7 @@ namespace Pamac {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ErrorInfos get_current_error () {
|
|
|
|
|
public ErrorInfos get_current_error () throws DBusError, IOError {
|
|
|
|
|
return current_error;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -277,7 +274,7 @@ namespace Pamac {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public string[] get_mirrors_countries () {
|
|
|
|
|
public string[] get_mirrors_countries () throws DBusError, IOError {
|
|
|
|
|
string[] countries = {};
|
|
|
|
|
try {
|
|
|
|
|
string countries_str;
|
|
|
|
@@ -297,7 +294,7 @@ namespace Pamac {
|
|
|
|
|
return countries;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool get_lock (GLib.BusName sender) {
|
|
|
|
|
public bool get_lock (GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
if (lock_id == sender) {
|
|
|
|
|
return true;
|
|
|
|
|
} else if (lock_id == "") {
|
|
|
|
@@ -307,7 +304,7 @@ namespace Pamac {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool unlock (GLib.BusName sender) {
|
|
|
|
|
public bool unlock (GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
if (lock_id == sender) {
|
|
|
|
|
lock_id = new BusName ("");
|
|
|
|
|
return true;
|
|
|
|
@@ -354,14 +351,14 @@ namespace Pamac {
|
|
|
|
|
return authorized;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void start_get_authorization (GLib.BusName sender) {
|
|
|
|
|
public void start_get_authorization (GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
check_authorization.begin (sender, (obj, res) => {
|
|
|
|
|
bool authorized = check_authorization.end (res);
|
|
|
|
|
get_authorization_finished (authorized);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void start_save_pamac_config () {
|
|
|
|
|
public void start_save_pamac_config () throws DBusError, IOError {
|
|
|
|
|
var pamac_config = new Pamac.Config ();
|
|
|
|
|
pamac_config.reload ();
|
|
|
|
|
#if DISABLE_AUR
|
|
|
|
@@ -379,7 +376,7 @@ namespace Pamac {
|
|
|
|
|
write_alpm_config_finished ((alpm_handle.checkspace == 1));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void start_write_alpm_config (HashTable<string,Variant> new_alpm_conf_, GLib.BusName sender) {
|
|
|
|
|
public void start_write_alpm_config (HashTable<string,Variant> new_alpm_conf_, GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
check_authorization.begin (sender, (obj, res) => {
|
|
|
|
|
bool authorized = check_authorization.end (res);
|
|
|
|
|
if (authorized ) {
|
|
|
|
@@ -413,7 +410,7 @@ namespace Pamac {
|
|
|
|
|
generate_mirrors_list_finished ();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void start_generate_mirrors_list (GLib.BusName sender) {
|
|
|
|
|
public void start_generate_mirrors_list (GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
check_authorization.begin (sender, (obj, res) => {
|
|
|
|
|
bool authorized = check_authorization.end (res);
|
|
|
|
|
if (authorized) {
|
|
|
|
@@ -426,7 +423,7 @@ namespace Pamac {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void clean_cache (uint64 keep_nb, bool only_uninstalled, GLib.BusName sender) {
|
|
|
|
|
public void clean_cache (uint64 keep_nb, bool only_uninstalled, GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
check_authorization.begin (sender, (obj, res) => {
|
|
|
|
|
bool authorized = check_authorization.end (res);
|
|
|
|
|
if (authorized) {
|
|
|
|
@@ -446,7 +443,7 @@ namespace Pamac {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void start_write_mirrors_config (HashTable<string,Variant> new_mirrors_conf, GLib.BusName sender) {
|
|
|
|
|
public void start_write_mirrors_config (HashTable<string,Variant> new_mirrors_conf, GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
check_authorization.begin (sender, (obj, res) => {
|
|
|
|
|
var mirrors_config = new MirrorsConfig ("/etc/pacman-mirrors.conf");
|
|
|
|
|
bool authorized = check_authorization.end (res);
|
|
|
|
@@ -458,7 +455,7 @@ namespace Pamac {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void start_set_pkgreason (string pkgname, uint reason, GLib.BusName sender) {
|
|
|
|
|
public void start_set_pkgreason (string pkgname, uint reason, GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
check_authorization.begin (sender, (obj, res) => {
|
|
|
|
|
bool authorized = check_authorization.end (res);
|
|
|
|
|
if (authorized) {
|
|
|
|
@@ -535,7 +532,7 @@ namespace Pamac {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void start_refresh (bool force, GLib.BusName sender) {
|
|
|
|
|
public void start_refresh (bool force, GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
if (lock_id != sender) {
|
|
|
|
|
refresh_finished (false);
|
|
|
|
|
return;
|
|
|
|
@@ -644,7 +641,7 @@ namespace Pamac {
|
|
|
|
|
private async void check_aur_dep_list (string[] pkgnames) {
|
|
|
|
|
string[] dep_types = {"Depends", "MakeDepends", "CheckDepends"};
|
|
|
|
|
string[] dep_to_check = {};
|
|
|
|
|
Json.Array results = yield AUR.multiinfo (pkgnames);
|
|
|
|
|
Json.Array results = yield multiinfo (pkgnames);
|
|
|
|
|
results.foreach_element ((array, index, node) => {
|
|
|
|
|
unowned Json.Object? pkg_info = node.get_object ();
|
|
|
|
|
// create fake db desc file
|
|
|
|
@@ -722,12 +719,12 @@ namespace Pamac {
|
|
|
|
|
try {
|
|
|
|
|
dos.put_string ("%s\n".printf (_node.get_string ()));
|
|
|
|
|
} catch (GLib.Error e) {
|
|
|
|
|
GLib.stderr.printf("%s\n", e.message);
|
|
|
|
|
stderr.printf("%s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
dos.put_string ("\n");
|
|
|
|
|
} catch (GLib.Error e) {
|
|
|
|
|
GLib.stderr.printf("%s\n", e.message);
|
|
|
|
|
stderr.printf("%s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// provides
|
|
|
|
@@ -739,12 +736,12 @@ namespace Pamac {
|
|
|
|
|
try {
|
|
|
|
|
dos.put_string ("%s\n".printf (_node.get_string ()));
|
|
|
|
|
} catch (GLib.Error e) {
|
|
|
|
|
GLib.stderr.printf("%s\n", e.message);
|
|
|
|
|
stderr.printf("%s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
dos.put_string ("\n");
|
|
|
|
|
} catch (GLib.Error e) {
|
|
|
|
|
GLib.stderr.printf("%s\n", e.message);
|
|
|
|
|
stderr.printf("%s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// replaces
|
|
|
|
@@ -756,17 +753,17 @@ namespace Pamac {
|
|
|
|
|
try {
|
|
|
|
|
dos.put_string ("%s\n".printf (_node.get_string ()));
|
|
|
|
|
} catch (GLib.Error e) {
|
|
|
|
|
GLib.stderr.printf("%s\n", e.message);
|
|
|
|
|
stderr.printf("%s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
dos.put_string ("\n");
|
|
|
|
|
} catch (GLib.Error e) {
|
|
|
|
|
GLib.stderr.printf("%s\n", e.message);
|
|
|
|
|
stderr.printf("%s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch (GLib.Error e) {
|
|
|
|
|
GLib.stderr.printf("%s\n", e.message);
|
|
|
|
|
stderr.printf("%s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
@@ -803,7 +800,10 @@ namespace Pamac {
|
|
|
|
|
};
|
|
|
|
|
get_updates_finished (updates);
|
|
|
|
|
} else {
|
|
|
|
|
#if DISABLE_AUR
|
|
|
|
|
#else
|
|
|
|
|
string[] local_pkgs = {};
|
|
|
|
|
#endif
|
|
|
|
|
unowned Alpm.List<unowned Alpm.Package> pkgcache = alpm_handle.localdb.pkgcache;
|
|
|
|
|
while (pkgcache != null) {
|
|
|
|
|
unowned Alpm.Package installed_pkg = pkgcache.data;
|
|
|
|
@@ -842,8 +842,8 @@ namespace Pamac {
|
|
|
|
|
if (check_aur_updates) {
|
|
|
|
|
// get aur updates
|
|
|
|
|
if (!aur_updates_checked) {
|
|
|
|
|
AUR.multiinfo.begin (local_pkgs, (obj, res) => {
|
|
|
|
|
aur_updates_results = AUR.multiinfo.end (res);
|
|
|
|
|
multiinfo.begin (local_pkgs, (obj, res) => {
|
|
|
|
|
aur_updates_results = multiinfo.end (res);
|
|
|
|
|
aur_updates_checked = true;
|
|
|
|
|
var updates = Updates () {
|
|
|
|
|
is_syncfirst = false,
|
|
|
|
@@ -899,9 +899,9 @@ namespace Pamac {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if DISABLE_AUR
|
|
|
|
|
public void start_get_updates () {
|
|
|
|
|
public void start_get_updates () throws DBusError, IOError {
|
|
|
|
|
#else
|
|
|
|
|
public void start_get_updates (bool check_aur_updates_) {
|
|
|
|
|
public void start_get_updates (bool check_aur_updates_) throws DBusError, IOError {
|
|
|
|
|
check_aur_updates = check_aur_updates_;
|
|
|
|
|
#endif
|
|
|
|
|
try {
|
|
|
|
@@ -938,7 +938,13 @@ namespace Pamac {
|
|
|
|
|
if (errno != 0) {
|
|
|
|
|
current_error.details = { Alpm.strerror (errno) };
|
|
|
|
|
}
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
try {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
} catch (IOError e) {
|
|
|
|
|
stderr.printf ("IOError: %s\n", e.message);
|
|
|
|
|
} catch (DBusError e) {
|
|
|
|
|
stderr.printf ("DBusError: %s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
success = false;
|
|
|
|
|
} else {
|
|
|
|
|
success = trans_prepare_real ();
|
|
|
|
@@ -947,7 +953,7 @@ namespace Pamac {
|
|
|
|
|
trans_prepare_finished (success);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void start_sysupgrade_prepare (bool enable_downgrade_, string[] temporary_ignorepkgs_, GLib.BusName sender) {
|
|
|
|
|
public void start_sysupgrade_prepare (bool enable_downgrade_, string[] temporary_ignorepkgs_, GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
if (lock_id != sender) {
|
|
|
|
|
trans_prepare_finished (false);
|
|
|
|
|
return;
|
|
|
|
@@ -1162,7 +1168,13 @@ namespace Pamac {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
current_error.details = (owned) details;
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
try {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
} catch (IOError e) {
|
|
|
|
|
stderr.printf ("IOError: %s\n", e.message);
|
|
|
|
|
} catch (DBusError e) {
|
|
|
|
|
stderr.printf ("DBusError: %s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
success = false;
|
|
|
|
|
} else {
|
|
|
|
|
// Search for holdpkg in target list
|
|
|
|
@@ -1180,7 +1192,13 @@ namespace Pamac {
|
|
|
|
|
if (found_locked_pkg) {
|
|
|
|
|
current_error.message = _("Failed to prepare transaction");
|
|
|
|
|
current_error.details = (owned) details;
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
try {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
} catch (IOError e) {
|
|
|
|
|
stderr.printf ("IOError: %s\n", e.message);
|
|
|
|
|
} catch (DBusError e) {
|
|
|
|
|
stderr.printf ("DBusError: %s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
success = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -1215,7 +1233,13 @@ namespace Pamac {
|
|
|
|
|
if (success) {
|
|
|
|
|
success = trans_prepare_real ();
|
|
|
|
|
} else {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
try {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
} catch (IOError e) {
|
|
|
|
|
stderr.printf ("IOError: %s\n", e.message);
|
|
|
|
|
} catch (DBusError e) {
|
|
|
|
|
stderr.printf ("DBusError: %s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
trans_prepare_finished (success);
|
|
|
|
@@ -1378,7 +1402,13 @@ namespace Pamac {
|
|
|
|
|
}
|
|
|
|
|
pkgs_to_remove.next ();
|
|
|
|
|
}
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
try {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
} catch (IOError e) {
|
|
|
|
|
stderr.printf ("IOError: %s\n", e.message);
|
|
|
|
|
} catch (DBusError e) {
|
|
|
|
|
stderr.printf ("DBusError: %s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
Process.spawn_command_line_sync ("rm -f %ssync/aur.db".printf (alpm_handle.dbpath));
|
|
|
|
|
} catch (SpawnError e) {
|
|
|
|
@@ -1391,7 +1421,13 @@ namespace Pamac {
|
|
|
|
|
trans_prepare ();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
try {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
} catch (IOError e) {
|
|
|
|
|
stderr.printf ("IOError: %s\n", e.message);
|
|
|
|
|
} catch (DBusError e) {
|
|
|
|
|
stderr.printf ("DBusError: %s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!success) {
|
|
|
|
@@ -1408,14 +1444,14 @@ namespace Pamac {
|
|
|
|
|
string[] to_install_,
|
|
|
|
|
string[] to_remove_,
|
|
|
|
|
string[] to_load_,
|
|
|
|
|
GLib.BusName sender) {
|
|
|
|
|
GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
#else
|
|
|
|
|
public void start_trans_prepare (Alpm.TransFlag flags_,
|
|
|
|
|
string[] to_install_,
|
|
|
|
|
string[] to_remove_,
|
|
|
|
|
string[] to_load_,
|
|
|
|
|
string[] to_build_,
|
|
|
|
|
GLib.BusName sender) {
|
|
|
|
|
GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
#endif
|
|
|
|
|
if (lock_id != sender) {
|
|
|
|
|
trans_prepare_finished (false);
|
|
|
|
@@ -1451,14 +1487,14 @@ namespace Pamac {
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void choose_provider (int provider) {
|
|
|
|
|
public void choose_provider (int provider) throws DBusError, IOError {
|
|
|
|
|
provider_mutex.lock ();
|
|
|
|
|
choosen_provider = provider;
|
|
|
|
|
provider_cond.signal ();
|
|
|
|
|
provider_mutex.unlock ();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public TransactionSummary get_transaction_summary () {
|
|
|
|
|
public TransactionSummary get_transaction_summary () throws DBusError, IOError {
|
|
|
|
|
UpdateInfos[] to_install = {};
|
|
|
|
|
UpdateInfos[] to_upgrade = {};
|
|
|
|
|
UpdateInfos[] to_downgrade = {};
|
|
|
|
@@ -1502,9 +1538,9 @@ namespace Pamac {
|
|
|
|
|
to_remove += (owned) infos;
|
|
|
|
|
pkgs_to_remove.next ();
|
|
|
|
|
}
|
|
|
|
|
UpdateInfos[] conflicts_to_remove = {};
|
|
|
|
|
#if DISABLE_AUR
|
|
|
|
|
#else
|
|
|
|
|
UpdateInfos[] conflicts_to_remove = {};
|
|
|
|
|
foreach (unowned UpdateInfos infos in aur_conflicts_to_remove){
|
|
|
|
|
conflicts_to_remove += infos;
|
|
|
|
|
}
|
|
|
|
@@ -1540,7 +1576,13 @@ namespace Pamac {
|
|
|
|
|
current_error.errno = (uint) errno;
|
|
|
|
|
// cancel the download return an EXTERNAL_DOWNLOAD error
|
|
|
|
|
if (errno == Alpm.Errno.EXTERNAL_DOWNLOAD && cancellable.is_cancelled ()) {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
try {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
} catch (IOError e) {
|
|
|
|
|
stderr.printf ("IOError: %s\n", e.message);
|
|
|
|
|
} catch (DBusError e) {
|
|
|
|
|
stderr.printf ("DBusError: %s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
trans_commit_finished (false);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@@ -1595,7 +1637,13 @@ namespace Pamac {
|
|
|
|
|
}
|
|
|
|
|
success = false;
|
|
|
|
|
}
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
try {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
} catch (IOError e) {
|
|
|
|
|
stderr.printf ("IOError: %s\n", e.message);
|
|
|
|
|
} catch (DBusError e) {
|
|
|
|
|
stderr.printf ("DBusError: %s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
to_install_as_dep.foreach_remove ((pkgname, val) => {
|
|
|
|
|
unowned Alpm.Package? pkg = alpm_handle.localdb.get_pkg (pkgname);
|
|
|
|
|
if (pkg != null) {
|
|
|
|
@@ -1607,7 +1655,7 @@ namespace Pamac {
|
|
|
|
|
trans_commit_finished (success);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void start_trans_commit (GLib.BusName sender) {
|
|
|
|
|
public void start_trans_commit (GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
check_authorization.begin (sender, (obj, res) => {
|
|
|
|
|
bool authorized = check_authorization.end (res);
|
|
|
|
|
if (authorized) {
|
|
|
|
@@ -1617,13 +1665,19 @@ namespace Pamac {
|
|
|
|
|
stderr.printf ("Thread Error %s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
try {
|
|
|
|
|
trans_release (lock_id);
|
|
|
|
|
} catch (IOError e) {
|
|
|
|
|
stderr.printf ("IOError: %s\n", e.message);
|
|
|
|
|
} catch (DBusError e) {
|
|
|
|
|
stderr.printf ("DBusError: %s\n", e.message);
|
|
|
|
|
}
|
|
|
|
|
trans_commit_finished (false);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void trans_release (GLib.BusName sender) {
|
|
|
|
|
public void trans_release (GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
if (lock_id != sender) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@@ -1631,7 +1685,7 @@ namespace Pamac {
|
|
|
|
|
remove_ignorepkgs ();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void trans_cancel (GLib.BusName sender) {
|
|
|
|
|
public void trans_cancel (GLib.BusName sender) throws DBusError, IOError {
|
|
|
|
|
if (lock_id != sender) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@@ -1644,7 +1698,7 @@ namespace Pamac {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[DBus (no_reply = true)]
|
|
|
|
|
public void quit () {
|
|
|
|
|
public void quit () throws DBusError, IOError {
|
|
|
|
|
// wait for all tasks to be processed
|
|
|
|
|
ThreadPool.free ((owned) thread_pool, false, true);
|
|
|
|
|
loop.quit ();
|
|
|
|
@@ -2066,8 +2120,10 @@ void on_bus_acquired (DBusConnection conn) {
|
|
|
|
|
|
|
|
|
|
void main () {
|
|
|
|
|
// i18n
|
|
|
|
|
Intl.bindtextdomain(Constants.GETTEXT_PACKAGE, Path.build_filename(Constants.DATADIR,"locale"));
|
|
|
|
|
Intl.setlocale (LocaleCategory.ALL, "");
|
|
|
|
|
Intl.textdomain (GETTEXT_PACKAGE);
|
|
|
|
|
Intl.textdomain(Constants.GETTEXT_PACKAGE);
|
|
|
|
|
Intl.bind_textdomain_codeset(Constants.GETTEXT_PACKAGE, "utf-8" );
|
|
|
|
|
|
|
|
|
|
Bus.own_name (BusType.SYSTEM,
|
|
|
|
|
"org.pamac.system",
|
|
|
|
|