summaryrefslogtreecommitdiff
path: root/community/packagekit
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-01-14 23:15:11 +0000
committerroot <root@rshg054.dnsready.net>2012-01-14 23:15:11 +0000
commit2d4aa7f882dac8abb34e973655326c93f584f31f (patch)
treec9404799d0aea846ee22c16108ef00fe8babbb7a /community/packagekit
parentb5f690637837ff269bf5d248ee2dc37ea5236ca8 (diff)
Sat Jan 14 23:15:11 UTC 2012
Diffstat (limited to 'community/packagekit')
-rw-r--r--community/packagekit/PKGBUILD11
-rw-r--r--community/packagekit/alpm.patch313
2 files changed, 96 insertions, 228 deletions
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 <jonno.conder@gmail.com>
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 <config.h>
++#include <locale.h>
+ #include <glib/gstdio.h>
+ #include <sys/utsname.h>
++#include <pk-backend-spawn.h>
-+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 ("<b>");
-+ g_string_append (toutput, alpm_pkg_get_name (tpkg));
-+ g_string_append (toutput, "</b>\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);