From 2d4aa7f882dac8abb34e973655326c93f584f31f Mon Sep 17 00:00:00 2001 From: root Date: Sat, 14 Jan 2012 23:15:11 +0000 Subject: Sat Jan 14 23:15:11 UTC 2012 --- community/packagekit/PKGBUILD | 11 +- community/packagekit/alpm.patch | 313 ++++++++++++---------------------------- 2 files changed, 96 insertions(+), 228 deletions(-) (limited to 'community/packagekit') diff --git a/community/packagekit/PKGBUILD b/community/packagekit/PKGBUILD index d9706478b..268d154f5 100644 --- a/community/packagekit/PKGBUILD +++ b/community/packagekit/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 56266 2011-10-04 10:14:17Z jconder $ +# $Id: PKGBUILD 61985 2012-01-13 10:58:26Z jconder $ # Maintainer: Jonathan Conder pkgbase='packagekit' pkgname=('packagekit' 'packagekit-qt' 'packagekit-qt2' 'packagekit-python') pkgver=0.6.19 -pkgrel=1 +pkgrel=4 pkgdesc="A system designed to make installation and updates of packages easier." arch=('i686' 'x86_64') url="http://www.packagekit.org" @@ -12,14 +12,17 @@ makedepends=('dbus-glib' 'gobject-introspection' 'gtk-doc' 'intltool' 'networkmanager' 'pacman' 'pm-utils' 'polkit' 'python2' 'qt' 'shared-mime-info' 'sqlite3' 'udev') options=('!libtool') -source=("http://www.packagekit.org/releases/PackageKit-$pkgver.tar.xz") -sha256sums=('961c6408de08ebaf15c09e74afd06918d699be8974b5c35c2c9663e5b12b5223') +source=("http://www.packagekit.org/releases/PackageKit-$pkgver.tar.xz" + 'alpm.patch') +sha256sums=('961c6408de08ebaf15c09e74afd06918d699be8974b5c35c2c9663e5b12b5223' + 'a0e23b5e666eb402cd3d1a7b6e9030af33be5c9ddcf40682ae9abba7018e177d') build() { cd "$srcdir/PackageKit-$pkgver" # TODO: remove when this is fixed upstream find -name '*.moc' -print0 | xargs -0 rm + patch -Np1 -i "$srcdir/alpm.patch" sed -i 's@SUBDIRS = test@SUBDIRS =@' 'backends/Makefile.in' sed -i 's@python @python2 @' 'lib/python/packagekit/Makefile.in' diff --git a/community/packagekit/alpm.patch b/community/packagekit/alpm.patch index 75dee853a..5f576d3aa 100644 --- a/community/packagekit/alpm.patch +++ b/community/packagekit/alpm.patch @@ -1,253 +1,118 @@ diff --git a/backends/alpm/pk-backend-alpm.c b/backends/alpm/pk-backend-alpm.c -index 0077329..ba993f0 100644 +index ba993f0..4cc9af2 100644 --- a/backends/alpm/pk-backend-alpm.c +++ b/backends/alpm/pk-backend-alpm.c -@@ -29,6 +29,7 @@ - #include "pk-backend-databases.h" - #include "pk-backend-error.h" - #include "pk-backend-groups.h" -+#include "pk-backend-transaction.h" - - PkBackend *backend = NULL; - GCancellable *cancellable = NULL; -diff --git a/backends/alpm/pk-backend-error.c b/backends/alpm/pk-backend-error.c -index 6383175..255f1fb 100644 ---- a/backends/alpm/pk-backend-error.c -+++ b/backends/alpm/pk-backend-error.c -@@ -25,20 +25,6 @@ - - #include "pk-backend-error.h" - --static void --pk_backend_output_locked (PkBackend *self) --{ -- gchar *output; -- -- g_return_if_fail (self != NULL); -- -- output = g_strdup_printf ("If you are certain no other package manager " -- "is running, you can remove %s\n", -- alpm_option_get_lockfile ()); -- pk_backend_output (self, output); -- g_free (output); --} -- - void - pk_backend_error (PkBackend *self, GError *error) - { -@@ -86,7 +72,6 @@ pk_backend_error (PkBackend *self, GError *error) - - case PM_ERR_HANDLE_LOCK: - code = PK_ERROR_ENUM_CANNOT_GET_LOCK; -- pk_backend_output_locked (self); - break; - - case PM_ERR_DB_OPEN: -@@ -187,15 +172,6 @@ pk_backend_error (PkBackend *self, GError *error) - pk_backend_error_code (self, code, "%s", error->message); - } - --void --pk_backend_output (PkBackend *self, const gchar *output) --{ -- g_return_if_fail (self != NULL); -- g_return_if_fail (output != NULL); -- -- pk_backend_message (self, PK_MESSAGE_ENUM_UNKNOWN, "%s", output); --} -- - GQuark - alpm_error_quark (void) - { -diff --git a/backends/alpm/pk-backend-error.h b/backends/alpm/pk-backend-error.h -index b01b06d..83fe4a5 100644 ---- a/backends/alpm/pk-backend-error.h -+++ b/backends/alpm/pk-backend-error.h -@@ -32,6 +32,4 @@ enum { - - void pk_backend_error (PkBackend *self, GError *error); +@@ -22,8 +22,10 @@ + */ --void pk_backend_output (PkBackend *self, const gchar *output); -- - GQuark alpm_error_quark (void); -diff --git a/backends/alpm/pk-backend-transaction.c b/backends/alpm/pk-backend-transaction.c -index f919309..fdb840e 100644 ---- a/backends/alpm/pk-backend-transaction.c -+++ b/backends/alpm/pk-backend-transaction.c -@@ -32,6 +32,9 @@ static off_t dtotal = 0; - static pmpkg_t *dpkg = NULL; - static GString *dfiles = NULL; + #include ++#include + #include + #include ++#include -+static pmpkg_t *tpkg = NULL; -+static GString *toutput = NULL; -+ - static gchar * - pk_backend_resolve_path (PkBackend *self, const gchar *basename) - { -@@ -332,6 +335,53 @@ pk_backend_transaction_conv_cb (pmtransconv_t question, gpointer data1, + #include "pk-backend-alpm.h" + #include "pk-backend-databases.h" +@@ -194,6 +196,66 @@ pk_backend_logcb (pmloglevel_t level, const gchar *format, va_list args) + g_free (output); } - static void -+pk_backend_output_end (PkBackend *self) ++static void ++pk_backend_initialize_environment (PkBackend *self) +{ -+ g_return_if_fail (self != NULL); ++ gchar *value; + -+ tpkg = NULL; ++ g_return_if_fail (self != NULL); + -+ if (toutput != NULL) { -+ pk_backend_output (self, toutput->str); -+ g_string_free (toutput, TRUE); -+ toutput = NULL; ++ value = pk_backend_get_locale (self); ++ if (value != NULL) { ++ setlocale (LC_ALL, value); ++ g_free (value); + } -+} + -+static void -+pk_backend_output_start (PkBackend *self, pmpkg_t *pkg) -+{ -+ g_return_if_fail (self != NULL); -+ g_return_if_fail (pkg != NULL); ++ value = pk_backend_get_proxy_http (self); ++ if (value != NULL) { ++ gchar *uri = pk_backend_spawn_convert_uri (value); ++ g_setenv ("http_proxy", uri, TRUE); ++ g_free (uri); ++ g_free (value); ++ } + -+ if (tpkg != NULL) { -+ pk_backend_output_end (self); ++ value = pk_backend_get_proxy_https (self); ++ if (value != NULL) { ++ gchar *uri = pk_backend_spawn_convert_uri (value); ++ g_setenv ("https_proxy", uri, TRUE); ++ g_free (uri); ++ g_free (value); + } + -+ tpkg = pkg; -+} ++ value = pk_backend_get_proxy_ftp (self); ++ if (value != NULL) { ++ gchar *uri = pk_backend_spawn_convert_uri (value); ++ g_setenv ("ftp_proxy", uri, TRUE); ++ g_free (uri); ++ g_free (value); ++ } + -+void -+pk_backend_output (PkBackend *self, const gchar *output) -+{ -+ g_return_if_fail (self != NULL); -+ g_return_if_fail (output != NULL); ++ value = pk_backend_get_proxy_socks (self); ++ if (value != NULL) { ++ gchar *uri = pk_backend_spawn_convert_uri (value); ++ g_setenv ("socks_proxy", uri, TRUE); ++ g_free (uri); ++ g_free (value); ++ } + -+ if (tpkg != NULL) { -+ if (toutput == NULL) { -+ toutput = g_string_new (""); -+ g_string_append (toutput, alpm_pkg_get_name (tpkg)); -+ g_string_append (toutput, "\n"); -+ } ++ value = pk_backend_get_no_proxy (self); ++ if (value != NULL) { ++ g_setenv ("no_proxy", value, TRUE); ++ g_free (value); ++ } + -+ g_string_append (toutput, output); -+ } else { -+ PkMessageEnum type = PK_MESSAGE_ENUM_UNKNOWN; -+ pk_backend_message (self, type, "%s", output); ++ value = pk_backend_get_pac (self); ++ if (value != NULL) { ++ gchar *uri = pk_backend_spawn_convert_uri (value); ++ g_setenv ("pac", uri, TRUE); ++ g_free (uri); ++ g_free (value); + } +} + -+static void - pk_backend_transaction_dep_resolve (PkBackend *self) + static gboolean + pk_backend_initialize_alpm (PkBackend *self, GError **error) { - g_return_if_fail (self != NULL); -@@ -355,6 +405,7 @@ pk_backend_transaction_add_start (PkBackend *self, pmpkg_t *pkg) - - pk_backend_set_status (self, PK_STATUS_ENUM_INSTALL); - pk_backend_pkg (self, pkg, PK_INFO_ENUM_INSTALLING); -+ pk_backend_output_start (self, pkg); - } - - static void -@@ -374,20 +425,16 @@ pk_backend_transaction_add_done (PkBackend *self, pmpkg_t *pkg) - - optdepends = alpm_pkg_get_optdepends (pkg); - if (optdepends != NULL) { -- GString *depends = g_string_new (""); -- -- g_string_append_printf (depends, -- "Optional dependencies for %s:\n", -- name); -+ pk_backend_output (self, "Optional dependencies:\n"); - - for (i = optdepends; i != NULL; i = i->next) { -- g_string_append_printf (depends, "%s\n", -- (const gchar *) i->data); -+ const gchar *depend = i->data; -+ gchar *output = g_strdup_printf ("%s\n", depend); -+ pk_backend_output (self, output); -+ g_free (output); - } -- -- pk_backend_output (self, depends->str); -- g_string_free (depends, TRUE); - } -+ pk_backend_output_end (self); - } - - static void -@@ -398,6 +445,7 @@ pk_backend_transaction_remove_start (PkBackend *self, pmpkg_t *pkg) - - pk_backend_set_status (self, PK_STATUS_ENUM_REMOVE); - pk_backend_pkg (self, pkg, PK_INFO_ENUM_REMOVING); -+ pk_backend_output_start (self, pkg); - } - - static void -@@ -413,6 +461,7 @@ pk_backend_transaction_remove_done (PkBackend *self, pmpkg_t *pkg) - - alpm_logaction ("removed %s (%s)\n", name, version); - pk_backend_pkg (self, pkg, PK_INFO_ENUM_FINISHED); -+ pk_backend_output_end (self); - } +@@ -260,6 +322,8 @@ pk_backend_initialize (PkBackend *self) - static void -@@ -438,6 +487,7 @@ pk_backend_transaction_upgrade_start (PkBackend *self, pmpkg_t *pkg, + g_return_if_fail (self != NULL); - pk_backend_set_status (self, state); - pk_backend_pkg (self, pkg, info); -+ pk_backend_output_start (self, pkg); ++ pk_backend_initialize_environment (self); ++ + if (!pk_backend_initialize_alpm (self, &error) || + !pk_backend_initialize_databases (self, &error) || + !pk_backend_initialize_groups (self, &error)) { +@@ -380,3 +444,11 @@ pk_backend_finish (PkBackend *self, GError *error) + pk_backend_thread_finished (self); + return (error == NULL); } - - static void -@@ -463,22 +513,18 @@ pk_backend_transaction_upgrade_done (PkBackend *self, pmpkg_t *pkg, - alpm_pkg_get_optdepends (old), - (alpm_list_fn_cmp) g_strcmp0); - if (optdepends != NULL) { -- GString *depends = g_string_new (""); -- -- g_string_append_printf (depends, -- "New optional dependencies for %s\n", -- name); -+ pk_backend_output (self, "New optional dependencies:\n"); - - for (i = optdepends; i != NULL; i = i->next) { -- g_string_append_printf (depends, "%s\n", -- (const gchar *) i->data); -+ const gchar *depend = i->data; -+ gchar *output = g_strdup_printf ("%s\n", depend); -+ pk_backend_output (self, output); -+ g_free (output); - } - -- pk_backend_output (self, depends->str); -- -- g_string_free (depends, TRUE); - alpm_list_free (optdepends); - } -+ pk_backend_output_end (self); ++ ++void ++pk_backend_transaction_start (PkBackend *self) ++{ ++ g_return_if_fail (self != NULL); ++ ++ pk_backend_initialize_environment (self); ++} +diff --git a/backends/alpm/pk-backend-transaction.c b/backends/alpm/pk-backend-transaction.c +index fdb840e..a4a712f 100644 +--- a/backends/alpm/pk-backend-transaction.c ++++ b/backends/alpm/pk-backend-transaction.c +@@ -280,8 +280,8 @@ pk_backend_install_ignorepkg (PkBackend *self, pmpkg_t *pkg, gint *result) } static void -@@ -896,6 +942,13 @@ pk_backend_transaction_end (PkBackend *self, GError **error) - alpm_option_set_dlcb (NULL); - alpm_option_set_totaldlcb (NULL); - -+ if (dpkg != NULL) { -+ pk_backend_transaction_download_end (self); -+ } -+ if (tpkg != NULL) { -+ pk_backend_output_end (self); -+ } -+ - if (alpm_trans_release () < 0) { - g_set_error_literal (error, ALPM_ERROR, pm_errno, - alpm_strerrorlast ()); -diff --git a/backends/alpm/pk-backend-transaction.h b/backends/alpm/pk-backend-transaction.h -index 7bc1af0..6bb1d69 100644 ---- a/backends/alpm/pk-backend-transaction.h -+++ b/backends/alpm/pk-backend-transaction.h -@@ -41,3 +41,6 @@ gboolean pk_backend_transaction_end (PkBackend *self, +-pk_backend_select_provider (PkBackend *self, pmdepend_t *dep, +- const alpm_list_t *providers) ++pk_backend_select_provider (PkBackend *self, const alpm_list_t *providers, ++ pmdepend_t *dep) + { + gchar *output; - gboolean pk_backend_transaction_finish (PkBackend *self, - GError *error); -+ -+void pk_backend_output (PkBackend *self, -+ const gchar *output); -- cgit v1.2.3-54-g00ecf