[PackageKit-commit] packagekit: Branch 'master' - 39 commits
Richard Hughes
hughsient at kemper.freedesktop.org
Fri Dec 12 09:22:42 PST 2008
backends/alpm/pk-backend-alpm.c | 244 ++++---------
backends/apt/Packages.test | 71 ++++
backends/apt/aptDBUSBackend.py | 53 +-
backends/apt/status.test | 38 ++
backends/apt/test.py | 156 --------
backends/apt/test.sh | 2
backends/apt/tests.py | 155 ++++++++
backends/apt/xterm.list.test | 49 ++
backends/yum/pk-backend-yum.c | 15
backends/yum/yumBackend.py | 7
client/pk-console.c | 5
configure.ac | 3
contrib/PackageKit.spec.in | 1
docs/html/img/gpk-prefs.png |binary
etc/PackageKit.conf.in | 8
lib/packagekit-glib/pk-common.c | 13
lib/packagekit-glib/pk-package-id.c | 56 +++
lib/packagekit-glib/pk-package-id.h | 4
lib/python/packagekit/daemonBackend.py | 1
po/de.po | 382 ++++++++++-----------
po/es.po | 585 ++++++++++++++-------------------
src/pk-network-nm.c | 215 ++++++++++++
22 files changed, 1196 insertions(+), 867 deletions(-)
New commits:
commit 779d271733c24efd005256158ff96e0826c79490
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Dec 12 17:07:01 2008 +0000
trivial: update gpk-prefs screenshot
diff --git a/docs/html/img/gpk-prefs.png b/docs/html/img/gpk-prefs.png
index 4c1ed82..ba64279 100644
Binary files a/docs/html/img/gpk-prefs.png and b/docs/html/img/gpk-prefs.png differ
commit 8b6274d2f16ba45d7ab342866b85413b813a0e1c
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Dec 12 16:04:10 2008 +0000
yum: clear the package sack before we get the updates list to ensure it's correct
diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index 177af47..3aeec02 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -1950,7 +1950,10 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
self.status(STATUS_INFO)
# yum 'helpfully' keeps an array of updates available
- self.yumbase._up = None
+ self.yumbase.up = None
+
+ # clear the package sack so we can get new updates
+ self.yumbase.pkgSack = None
fltlist = filters.split(';')
package_list = []
commit be68163d97756256f555537568e6c3a8e9d5de35
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Dec 12 16:02:37 2008 +0000
feature: use NetworkManager to get the device type so we can return SLOW (GSM or CDMA) or FAST (ethernet) for session policy decisions
diff --git a/src/pk-network-nm.c b/src/pk-network-nm.c
index 18c42c0..84062af 100644
--- a/src/pk-network-nm.c
+++ b/src/pk-network-nm.c
@@ -37,6 +37,8 @@
#include <fcntl.h>
#include <glib/gi18n.h>
+#include <dbus/dbus-glib.h>
+#include <NetworkManager.h>
#include <libnm_glib.h>
#include "egg-debug.h"
@@ -45,10 +47,13 @@
static void pk_network_nm_class_init (PkNetworkNmClass *klass);
static void pk_network_nm_init (PkNetworkNm *network_nm);
-static void pk_network_nm_finalize (GObject *object);
+static void pk_network_nm_finalize (GObject *object);
#define PK_NETWORK_NM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PK_TYPE_NETWORK_NM, PkNetworkNmPrivate))
+/* experimental code */
+#define PK_NETWORK_NM_GET_CONNECTION_TYPE 1
+
/**
* PkNetworkNmPrivate:
*
@@ -58,6 +63,7 @@ struct _PkNetworkNmPrivate
{
libnm_glib_ctx *ctx;
guint callback_id;
+ DBusGConnection *bus;
};
enum {
@@ -70,6 +76,176 @@ static guint signals [PK_NETWORK_NM_LAST_SIGNAL] = { 0 };
G_DEFINE_TYPE (PkNetworkNm, pk_network_nm, G_TYPE_OBJECT)
/**
+ * pk_network_nm_prioritise_connection_type:
+ *
+ * GSM is more important than ethernet, so if we are using an
+ * important connection even bridged we should prioritise it
+ **/
+static NMDeviceType
+pk_network_nm_prioritise_connection_type (NMDeviceType type_old, NMDeviceType type_new)
+{
+ NMDeviceType type = type_old;
+ /* by sheer fluke we can use the enum ordering */
+ if (type_new > type_old)
+ type = type_new;
+ return type;
+}
+
+/**
+ * pk_network_nm_get_active_connection_type_for_device:
+ **/
+static NMDeviceType
+pk_network_nm_get_active_connection_type_for_device (PkNetworkNm *network_nm, const gchar *device)
+{
+ gboolean ret;
+ GError *error = NULL;
+ DBusGProxy *proxy;
+ GValue value = { 0 };
+ NMDeviceType type = NM_DEVICE_TYPE_UNKNOWN;
+
+ /* get if the device is default */
+ proxy = dbus_g_proxy_new_for_name (network_nm->priv->bus, "org.freedesktop.NetworkManager",
+ device, "org.freedesktop.DBus.Properties");
+ ret = dbus_g_proxy_call (proxy, "Get", &error,
+ G_TYPE_STRING, "org.freedesktop.NetworkManager.Device",
+ G_TYPE_STRING, "DeviceType",
+ G_TYPE_INVALID,
+ G_TYPE_VALUE, &value,
+ G_TYPE_INVALID);
+ if (!ret) {
+ g_warning ("Error getting DeviceType: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+ type = g_value_get_uint (&value);
+ egg_debug ("type: %i", type);
+out:
+ g_object_unref (proxy);
+ return type;
+}
+
+/**
+ * pk_network_nm_get_active_connection_type_for_connection:
+ **/
+static NMDeviceType
+pk_network_nm_get_active_connection_type_for_connection (PkNetworkNm *network_nm, const gchar *active_connection)
+{
+ guint i;
+ gboolean ret;
+ GError *error = NULL;
+ DBusGProxy *proxy;
+ const gchar *device;
+ GValue value_default = { 0 };
+ GValue value_devices = { 0 };
+ gboolean is_default;
+ GPtrArray *devices;
+ NMDeviceType type_tmp;
+ NMDeviceType type = NM_DEVICE_TYPE_UNKNOWN;
+
+
+ /* get if the device is default */
+ proxy = dbus_g_proxy_new_for_name (network_nm->priv->bus, "org.freedesktop.NetworkManager",
+ active_connection, "org.freedesktop.DBus.Properties");
+ ret = dbus_g_proxy_call (proxy, "Get", &error,
+ G_TYPE_STRING, "org.freedesktop.NetworkManager.Connection.Active",
+ G_TYPE_STRING, "Default",
+ G_TYPE_INVALID,
+ G_TYPE_VALUE, &value_default,
+ G_TYPE_INVALID);
+ if (!ret) {
+ g_warning ("Error getting Default: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+ is_default = g_value_get_boolean (&value_default);
+ egg_debug ("is_default: %i", is_default);
+ if (!is_default) {
+ egg_debug ("not default, skipping");
+ goto out;
+ }
+
+ /* get the physical devices for the connection */
+ ret = dbus_g_proxy_call (proxy, "Get", &error,
+ G_TYPE_STRING, "org.freedesktop.NetworkManager.Connection.Active",
+ G_TYPE_STRING, "Devices",
+ G_TYPE_INVALID,
+ G_TYPE_VALUE, &value_devices,
+ G_TYPE_INVALID);
+ if (!ret) {
+ g_warning ("Error getting Devices: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ devices = g_value_get_boxed (&value_devices);
+ egg_debug ("number of devices: %i", devices->len);
+ if (devices->len == 0)
+ goto out;
+
+ /* find the types of the active connection */
+ for (i=0; i<devices->len; i++) {
+ device = g_ptr_array_index (devices, i);
+ type_tmp = pk_network_nm_get_active_connection_type_for_device (network_nm, device);
+ type = pk_network_nm_prioritise_connection_type (type, type_tmp);
+ }
+
+out:
+ g_object_unref (proxy);
+ return type;
+}
+
+/**
+ * pk_network_nm_get_active_connection_type:
+ **/
+static NMDeviceType
+pk_network_nm_get_active_connection_type (PkNetworkNm *network_nm)
+{
+ guint i;
+ gboolean ret;
+ DBusGProxy *proxy;
+ GError *error = NULL;
+ GPtrArray *active_connections = NULL;
+ const gchar *active_connection;
+ GValue value = { 0 };
+ NMDeviceType type_tmp;
+ NMDeviceType type = NM_DEVICE_TYPE_UNKNOWN;
+
+ /* get proxy */
+ proxy = dbus_g_proxy_new_for_name (network_nm->priv->bus, "org.freedesktop.NetworkManager",
+ "/org/freedesktop/NetworkManager",
+ "org.freedesktop.DBus.Properties");
+ ret = dbus_g_proxy_call (proxy, "Get", &error,
+ G_TYPE_STRING, "org.freedesktop.NetworkManager",
+ G_TYPE_STRING, "ActiveConnections",
+ G_TYPE_INVALID,
+ G_TYPE_VALUE, &value,
+ G_TYPE_INVALID);
+ if (!ret) {
+ g_warning ("Error getting ActiveConnections: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ active_connections = g_value_get_boxed (&value);
+ egg_debug ("active connections: %i", active_connections->len);
+ if (active_connections->len == 0)
+ goto out;
+
+ /* find the active connection */
+ for (i=0; i<active_connections->len; i++) {
+ active_connection = g_ptr_array_index (active_connections, i);
+ type_tmp = pk_network_nm_get_active_connection_type_for_connection (network_nm, active_connection);
+ type = pk_network_nm_prioritise_connection_type (type, type_tmp);
+ }
+
+out:
+ g_object_unref (proxy);
+ g_ptr_array_foreach (active_connections, (GFunc) g_free, NULL);
+ g_ptr_array_free (active_connections, TRUE);
+ return type;
+}
+
+/**
* pk_network_nm_get_network_state:
* @network_nm: a valid #PkNetworkNm instance
*
@@ -78,11 +254,36 @@ G_DEFINE_TYPE (PkNetworkNm, pk_network_nm, G_TYPE_OBJECT)
PkNetworkEnum
pk_network_nm_get_network_state (PkNetworkNm *network_nm)
{
- libnm_glib_state state;
PkNetworkEnum ret;
+#ifdef PK_NETWORK_NM_GET_CONNECTION_TYPE
+ NMDeviceType type;
+#else
+ libnm_glib_state state;
+#endif
g_return_val_if_fail (PK_IS_NETWORK_NM (network_nm), PK_NETWORK_ENUM_UNKNOWN);
+#ifdef PK_NETWORK_NM_GET_CONNECTION_TYPE
+ /* get connection type */
+ type = pk_network_nm_get_active_connection_type (network_nm);
+ switch (type) {
+ case NM_DEVICE_TYPE_UNKNOWN:
+ ret = PK_NETWORK_ENUM_OFFLINE;
+ break;
+ case NM_DEVICE_TYPE_ETHERNET:
+ ret = PK_NETWORK_ENUM_FAST;
+ break;
+ case NM_DEVICE_TYPE_WIFI:
+ ret = PK_NETWORK_ENUM_ONLINE;
+ break;
+ case NM_DEVICE_TYPE_GSM:
+ case NM_DEVICE_TYPE_CDMA:
+ ret = PK_NETWORK_ENUM_SLOW;
+ break;
+ default:
+ ret = PK_NETWORK_ENUM_ONLINE;
+ }
+#else
state = libnm_glib_get_network_state (network_nm->priv->ctx);
switch (state) {
case LIBNM_NO_NETWORK_CONNECTION:
@@ -91,6 +292,8 @@ pk_network_nm_get_network_state (PkNetworkNm *network_nm)
default:
ret = PK_NETWORK_ENUM_ONLINE;
}
+#endif
+ egg_debug ("network state is %s", pk_network_enum_to_text (ret));
return ret;
}
@@ -133,6 +336,7 @@ pk_network_nm_class_init (PkNetworkNmClass *klass)
static void
pk_network_nm_init (PkNetworkNm *network_nm)
{
+ GError *error = NULL;
GMainContext *context;
network_nm->priv = PK_NETWORK_NM_GET_PRIVATE (network_nm);
@@ -142,6 +346,13 @@ pk_network_nm_init (PkNetworkNm *network_nm)
libnm_glib_register_callback (network_nm->priv->ctx,
pk_network_nm_nm_changed_cb,
network_nm, context);
+
+ /* get system connection */
+ network_nm->priv->bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
+ if (network_nm->priv->bus == NULL) {
+ egg_warning ("Couldn't connect to system bus: %s", error->message);
+ g_error_free (error);
+ }
}
/**
commit d4e7a90fab5cd686f3f6add1340db7144915f8a2
Merge: d02cb8b... 4e391ea...
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Dec 12 12:31:27 2008 +0000
Merge branch 'master' of git+ssh://hughsie@git.packagekit.org/srv/git/PackageKit
commit d02cb8bb75f0d8fdc3311e66d174e92edfa8fd19
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Dec 12 11:56:54 2008 +0000
trivial: add preupgrade to the fedora spec file
diff --git a/contrib/PackageKit.spec.in b/contrib/PackageKit.spec.in
index 5c394d6..ae4116e 100644
--- a/contrib/PackageKit.spec.in
+++ b/contrib/PackageKit.spec.in
@@ -26,6 +26,7 @@ Requires: PackageKit-yum = %{version}-%{release}
Requires: shared-mime-info
Requires: python-sqlite2
Requires: comps-extras
+Requires: preupgrade
BuildRequires: glib2-devel >= %{glib2_version}
BuildRequires: dbus-devel >= %{dbus_version}
commit 4e391eaf043615d7eb99d8e2c915de221b228075
Author: Domingo Becker <domingobecker at gmail.com>
Date: Fri Dec 12 11:44:48 2008 +0000
updated Spanish translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/po/es.po b/po/es.po
index 860ebaf..6ff6bcb 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: packagekit\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-11-19 16:26+0000\n"
-"PO-Revision-Date: 2008-10-27 09:04-0300\n"
+"POT-Creation-Date: 2008-11-24 01:31+0000\n"
+"PO-Revision-Date: 2008-12-12 09:37-0300\n"
"Last-Translator: Domingo Becker <domingobecker at gmail.com>\n"
"Language-Team: Spanish <fedora-trans-es at redhat.com>\n"
"MIME-Version: 1.0\n"
@@ -17,516 +17,515 @@ msgstr ""
"X-Poedit-Language: Spanish\n"
#. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:286
+#: ../client/pk-console.c:287
msgid "Details about the update:"
msgstr "Detalles acerca de la actualización:"
-#: ../client/pk-console.c:479
+#: ../client/pk-console.c:480
msgid "Please restart the computer to complete the update."
msgstr "Por favor, reinicie la computadora para completar la actualización"
-#: ../client/pk-console.c:481
+#: ../client/pk-console.c:482
msgid "Please logout and login to complete the update."
msgstr "Por favor, salga y vuelva a entrar para completar la actualización."
-#: ../client/pk-console.c:483
+#: ../client/pk-console.c:484
msgid "Please restart the application as it is being used."
msgstr "Por favor, reinicie la aplicación que está usando."
#. TRANSLATORS: The package is already installed on the system
-#: ../client/pk-console.c:595
+#: ../client/pk-console.c:596
#, c-format
-msgid "The package '%s' is already installed"
-msgstr "El paquete '%s' ya está instalado"
+msgid "The package %s is already installed"
+msgstr "El paquete %s ya está instalado"
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:603
+#: ../client/pk-console.c:604
#, c-format
-msgid "The package '%s' could not be installed: %s"
-msgstr "El paquete '%s' no se pudo instalar: %s"
+msgid "The package %s could not be installed: %s"
+msgstr "El paquete %s no se pudo instalar: %s"
#. TRANSLATORS: There was a programming error that shouldn't happen. The detailed error follows
-#: ../client/pk-console.c:628 ../client/pk-console.c:655
-#: ../client/pk-console.c:751 ../client/pk-console.c:868
-#: ../client/pk-tools-common.c:61 ../client/pk-tools-common.c:79
+#: ../client/pk-console.c:629
+#: ../client/pk-console.c:656
+#: ../client/pk-console.c:752
+#: ../client/pk-console.c:869
+#: ../client/pk-tools-common.c:61
+#: ../client/pk-tools-common.c:79
#: ../client/pk-tools-common.c:86
#, c-format
msgid "Internal error: %s"
msgstr "Error interno: %s"
#. TRANSLATORS: There was an error installing the packages. The detailed error follows
-#: ../client/pk-console.c:636 ../client/pk-console.c:1263
+#: ../client/pk-console.c:637
+#: ../client/pk-console.c:1264
#, c-format
msgid "This tool could not install the packages: %s"
msgstr "Esta herramienta no pudo instalar los paquetes: %s"
#. TRANSLATORS: There was an error installing the files. The detailed error follows
-#: ../client/pk-console.c:663
+#: ../client/pk-console.c:664
#, c-format
msgid "This tool could not install the files: %s"
msgstr "Esta herramienta no pudo instalar los archivos: %s"
#. TRANSLATORS: The package name was not found in the installed list. The detailed error follows
-#: ../client/pk-console.c:719
+#: ../client/pk-console.c:720
#, c-format
-msgid "This tool could not remove '%s': %s"
-msgstr "Esta herramienta no pudo eliminar '%s': %s"
+msgid "This tool could not remove %s: %s"
+msgstr "Esta herramienta no pudo eliminar %s: %s"
#. TRANSLATORS: There was an error removing the packages. The detailed error follows
-#: ../client/pk-console.c:742 ../client/pk-console.c:813
+#: ../client/pk-console.c:743
+#: ../client/pk-console.c:781
+#: ../client/pk-console.c:814
#, c-format
msgid "This tool could not remove the packages: %s"
msgstr "Esta herramienta no pudo eliminar los paquetes: %s"
-#. TRANSLATORS: There was an error removing the packages. The detailed error follows
-#: ../client/pk-console.c:780
-#, c-format
-msgid "This tool could not remove the packages: '%s'"
-msgstr "Esta herramienta no pudo eliminar los paquetes: '%s'"
-
#. TRANSLATORS: When removing, we might have to remove other dependencies
-#: ../client/pk-console.c:792
+#: ../client/pk-console.c:793
msgid "The following packages have to be removed:"
msgstr "Los siguientes paquetes se eliminarán:"
#. TRANSLATORS: We are checking if it's okay to remove a list of packages
-#: ../client/pk-console.c:799
+#: ../client/pk-console.c:800
msgid "Proceed removing additional packages?"
msgstr "¿De acuerdo con eliminar los paquetes adicionales?"
#. TRANSLATORS: We did not remove any packages
-#: ../client/pk-console.c:804
+#: ../client/pk-console.c:805
msgid "The package removal was canceled!"
msgstr "¡La eliminación de paquetes fue cancelada!"
#. TRANSLATORS: The package name was not found in any software sources
-#: ../client/pk-console.c:845
+#: ../client/pk-console.c:846
#, c-format
-msgid "This tool could not download the package '%s' as it could not be found"
-msgstr ""
-"Esta herramienta no pudo descargar el paquete '%s' debido a que no fue "
-"encontrado"
+msgid "This tool could not download the package %s as it could not be found"
+msgstr "Esta herramienta no pudo descargar el paquete %s debido a que no fue encontrado"
#. TRANSLATORS: Could not download the packages for some reason. The detailed error follows
-#: ../client/pk-console.c:876
+#: ../client/pk-console.c:877
#, c-format
msgid "This tool could not download the packages: %s"
msgstr "Esta herramienta no pudo descargar los paquetes: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:903 ../client/pk-console.c:912
+#: ../client/pk-console.c:904
+#: ../client/pk-console.c:913
#, c-format
-msgid "This tool could not update '%s': %s"
-msgstr "Esta herramienta no pudo actualizar '%s': %s"
+msgid "This tool could not update %s: %s"
+msgstr "Esta herramienta no pudo actualizar %s: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:934 ../client/pk-console.c:942
+#: ../client/pk-console.c:935
+#: ../client/pk-console.c:943
#, c-format
-msgid "This tool could not get the requirements for '%s': %s"
-msgstr "Esta herramienta no pudo obtener los requerimientos de '%s': %s"
+msgid "This tool could not get the requirements for %s: %s"
+msgstr "Esta herramienta no pudo obtener los requerimientos de %s: %s"
#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
-#: ../client/pk-console.c:964 ../client/pk-console.c:972
+#: ../client/pk-console.c:965
+#: ../client/pk-console.c:973
#, c-format
-msgid "This tool could not get the dependencies for '%s': %s"
-msgstr "Esta herramienta no pudo obtener las dependencias de '%s': %s"
+msgid "This tool could not get the dependencies for %s: %s"
+msgstr "Esta herramienta no pudo obtener las dependencias de %s: %s"
#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
-#: ../client/pk-console.c:994 ../client/pk-console.c:1002
+#: ../client/pk-console.c:995
+#: ../client/pk-console.c:1003
#, c-format
-msgid "This tool could not get package details for '%s': %s"
-msgstr "Esta herramienta no pudo obtener los detalles del paquete '%s': %s"
+msgid "This tool could not get package details for %s: %s"
+msgstr "Esta herramienta no pudo obtener los detalles del paquete %s: %s"
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1024
+#: ../client/pk-console.c:1025
#, c-format
-msgid "This tool could not find the files for '%s': %s"
-msgstr "Esta herramienta no pudo encontrar los archivos de '%s': %s"
+msgid "This tool could not find the files for %s: %s"
+msgstr "Esta herramienta no pudo encontrar los archivos de %s: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:1032
+#: ../client/pk-console.c:1033
#, c-format
-msgid "This tool could not get the file list for '%s': %s"
-msgstr "Esta herramienta no pudo obtener la lista de archivos de '%s': %s"
+msgid "This tool could not get the file list for %s: %s"
+msgstr "Esta herramienta no pudo obtener la lista de archivos de %s: %s"
#. TRANSLATORS: There was an error getting the list of packages. The filename follows
-#: ../client/pk-console.c:1054
+#: ../client/pk-console.c:1055
#, c-format
msgid "File already exists: %s"
-msgstr ""
+msgstr "El archivo ya existe: %s"
#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1059 ../client/pk-console.c:1115
-#: ../client/pk-console.c:1190
-#, fuzzy
+#: ../client/pk-console.c:1060
+#: ../client/pk-console.c:1116
+#: ../client/pk-console.c:1191
msgid "Getting package list"
-msgstr "Extrayendo información de paquetes..."
+msgstr "Obteniendo la lista de paquetes"
#. TRANSLATORS: There was an error getting the list of packages. The detailed error follows
-#: ../client/pk-console.c:1065 ../client/pk-console.c:1121
-#: ../client/pk-console.c:1196
-#, fuzzy, c-format
+#: ../client/pk-console.c:1066
+#: ../client/pk-console.c:1122
+#: ../client/pk-console.c:1197
+#, c-format
msgid "This tool could not get package list: %s"
-msgstr "Esta herramienta no pudo eliminar los paquetes: %s"
+msgstr "Esta herramienta no pudo obtener la lista de paquetes: %s"
#. TRANSLATORS: There was an error saving the list
-#: ../client/pk-console.c:1076
-#, fuzzy, c-format
+#: ../client/pk-console.c:1077
msgid "Failed to save to disk"
-msgstr "Fállo al obtener última hora"
+msgstr "Falló al guardar en el disco"
#. TRANSLATORS: There was an error getting the list. The filename follows
-#: ../client/pk-console.c:1110 ../client/pk-console.c:1185
+#: ../client/pk-console.c:1111
+#: ../client/pk-console.c:1186
#, c-format
msgid "File does not exist: %s"
-msgstr ""
+msgstr "El archivo no existe: %s"
#. TRANSLATORS: header to a list of packages newly added
-#: ../client/pk-console.c:1142
-#, fuzzy
+#: ../client/pk-console.c:1143
msgid "Packages to add"
-msgstr "Monitor de PackageKit"
+msgstr "Paquetes a agregar"
#. TRANSLATORS: header to a list of packages removed
-#: ../client/pk-console.c:1150
-#, fuzzy
+#: ../client/pk-console.c:1151
msgid "Packages to remove"
-msgstr "Servicio PackageKit"
+msgstr "Paquetes a eliminar"
#. TRANSLATORS: We didn't find any differences
-#: ../client/pk-console.c:1218
-#, fuzzy, c-format
+#: ../client/pk-console.c:1219
msgid "No new packages need to be installed"
-msgstr "El paquete '%s' no se pudo instalar: %s"
+msgstr "No hay paquetes nuevos para instalar"
#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1224
+#: ../client/pk-console.c:1225
msgid "To install"
-msgstr ""
+msgstr "A instalar"
#. TRANSLATORS: searching takes some time....
-#: ../client/pk-console.c:1235
+#: ../client/pk-console.c:1236
msgid "Searching for package: "
-msgstr ""
+msgstr "Buscando el paquete:"
#. TRANSLATORS: package was not found -- this is the end of a string ended in ...
-#: ../client/pk-console.c:1239
-#, fuzzy
+#: ../client/pk-console.c:1240
msgid "not found."
-msgstr "Directorio no encontrado"
+msgstr "no encontrado."
#. TRANSLATORS: We didn't find any packages to install
-#: ../client/pk-console.c:1250
-#, fuzzy, c-format
+#: ../client/pk-console.c:1251
msgid "No packages can be found to install"
-msgstr "No se encontró ningún paquete para su sistema"
+msgstr "No se encontró ningún paquete para instalar"
#. TRANSLATORS: installing new packages from package list
-#: ../client/pk-console.c:1256
-#, fuzzy
+#: ../client/pk-console.c:1257
msgid "Installing packages"
-msgstr "Instalar paquete"
+msgstr "Instalando paquetes"
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1292
+#: ../client/pk-console.c:1293
#, c-format
-msgid "This tool could not find the update details for '%s': %s"
-msgstr "Esta herramienta no pudo encontrar los detalles de '%s': %s"
+msgid "This tool could not find the update details for %s: %s"
+msgstr "Esta herramienta no pudo encontrar los detalles de actualización de %s: %s"
#. TRANSLATORS: There was an error getting the details about the update for the package. The detailed error follows
-#: ../client/pk-console.c:1300
+#: ../client/pk-console.c:1301
#, c-format
-msgid "This tool could not get the update details for '%s': %s"
-msgstr ""
-"Esta herramienta no pudo obtener los detalles de actualización de '%s': %s"
+msgid "This tool could not get the update details for %s: %s"
+msgstr "Esta herramienta no pudo obtener los detalles de actualización de %s: %s"
#. TRANSLATORS: This was an unhandled error, and we don't have _any_ context
-#: ../client/pk-console.c:1346
+#: ../client/pk-console.c:1347
msgid "Error:"
msgstr "Error:"
#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:1360
+#: ../client/pk-console.c:1361
msgid "Package description"
msgstr "Descripción del paquete"
#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:1393
+#: ../client/pk-console.c:1394
msgid "Package files"
msgstr "Archivos del paquete"
#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:1402
+#: ../client/pk-console.c:1403
msgid "No files"
msgstr "No hay archivos"
#. TRANSLATORS: This a request for a GPG key signature from the backend, which the client will prompt for later
-#: ../client/pk-console.c:1425
+#: ../client/pk-console.c:1426
msgid "Repository signature required"
msgstr "Se requiere la firma del repositorio"
#. TRANSLATORS: This a prompt asking the user to import the security key
-#: ../client/pk-console.c:1435
+#: ../client/pk-console.c:1436
msgid "Do you accept this signature?"
msgstr "¿Acepta esta firma?"
#. TRANSLATORS: This is where the user declined the security key
-#: ../client/pk-console.c:1439
+#: ../client/pk-console.c:1440
msgid "The signature was not accepted."
msgstr "La firma no fue aceptada."
#. TRANSLATORS: This a request for a EULA
-#: ../client/pk-console.c:1473
+#: ../client/pk-console.c:1474
msgid "End user license agreement required"
msgstr "Se requiere un acuerdo de licencia de usuario final"
#. TRANSLATORS: This a prompt asking the user to agree to the license
-#: ../client/pk-console.c:1480
+#: ../client/pk-console.c:1481
msgid "Do you agree to this license?"
msgstr "¿Está de acuerdo con esta licencia?"
#. TRANSLATORS: This is where the user declined the license
-#: ../client/pk-console.c:1484
+#: ../client/pk-console.c:1485
msgid "The license was refused."
msgstr "La licencia fue rechazada."
#. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1513
+#: ../client/pk-console.c:1514
msgid "The daemon crashed mid-transaction!"
msgstr "El servicio terminó en medio de una transacción!"
#. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1566
+#: ../client/pk-console.c:1567
msgid "PackageKit Console Interface"
msgstr "Interfaz de Consola de PackageKit"
-#: ../client/pk-console.c:1566
+#: ../client/pk-console.c:1567
msgid "Subcommands:"
msgstr "Subcomandos:"
-#: ../client/pk-console.c:1657 ../client/pk-generate-pack.c:183
-#: ../client/pk-monitor.c:114 ../src/pk-main.c:196
+#: ../client/pk-console.c:1658
+#: ../client/pk-generate-pack.c:184
+#: ../client/pk-monitor.c:115
+#: ../src/pk-main.c:191
msgid "Show extra debugging information"
msgstr "Mostrar información extra de depuración"
-#: ../client/pk-console.c:1659 ../client/pk-monitor.c:116
+#: ../client/pk-console.c:1660
+#: ../client/pk-monitor.c:117
msgid "Show the program version and exit"
msgstr "Mostrar la versión del programa y salir"
-#: ../client/pk-console.c:1661
+#: ../client/pk-console.c:1662
msgid "Set the filter, e.g. installed"
msgstr "Defina el filtro, ej. installado"
-#: ../client/pk-console.c:1663
+#: ../client/pk-console.c:1664
msgid "Exit without waiting for actions to complete"
msgstr "Salir sin esperar que las acciones se completen"
#. TRANSLATORS: This is when we could not connect to the system bus, and is fatal
-#: ../client/pk-console.c:1685
+#: ../client/pk-console.c:1691
msgid "This tool could not connect to system DBUS."
msgstr "Esta herramienta no se pudo conectar al DBUS del sistema."
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1770
+#: ../client/pk-console.c:1776
msgid "The filter specified was invalid"
-msgstr ""
+msgstr "El filtro especificado fue inválido"
-#: ../client/pk-console.c:1787
+#: ../client/pk-console.c:1793
msgid "You need to specify a search type, e.g. name"
msgstr "Debe especificar el tipo de búsqueda, por ejemplo, nombre"
-#: ../client/pk-console.c:1792 ../client/pk-console.c:1799
-#: ../client/pk-console.c:1806 ../client/pk-console.c:1813
-#: ../client/pk-console.c:1924 ../client/pk-console.c:1934
-#: ../client/pk-console.c:1941 ../client/pk-console.c:1948
+#: ../client/pk-console.c:1798
+#: ../client/pk-console.c:1805
+#: ../client/pk-console.c:1812
+#: ../client/pk-console.c:1819
+#: ../client/pk-console.c:1930
+#: ../client/pk-console.c:1940
+#: ../client/pk-console.c:1947
+#: ../client/pk-console.c:1954
msgid "You need to specify a search term"
msgstr "Debe especificar un término de búsqueda"
-#: ../client/pk-console.c:1818
+#: ../client/pk-console.c:1824
msgid "Invalid search type"
msgstr "Tipo de búsqueda inválido"
-#: ../client/pk-console.c:1823
+#: ../client/pk-console.c:1829
msgid "You need to specify a package or file to install"
msgstr "Debe especificar un paquete o archivo a instalar"
-#: ../client/pk-console.c:1830
+#: ../client/pk-console.c:1836
msgid "You need to specify a type, key_id and package_id"
msgstr "Debe especificar un tipo, key_id y package_id"
-#: ../client/pk-console.c:1837
+#: ../client/pk-console.c:1843
msgid "You need to specify a package to remove"
msgstr "Debe especificar un paquete a eliminar"
-#: ../client/pk-console.c:1843
-msgid ""
-"You need to specify the destination directory and then the packages to "
-"download"
-msgstr ""
-"Debe especificar el directorio destino y luego los paquetes a descargar"
+#: ../client/pk-console.c:1849
+msgid "You need to specify the destination directory and then the packages to download"
+msgstr "Debe especificar el directorio destino y luego los paquetes a descargar"
-#: ../client/pk-console.c:1848
+#: ../client/pk-console.c:1854
msgid "Directory not found"
msgstr "Directorio no encontrado"
-#: ../client/pk-console.c:1854
+#: ../client/pk-console.c:1860
msgid "You need to specify a licence identifier (eula-id)"
msgstr "Debe especificar un identificador de licencia (eula-id)"
-#: ../client/pk-console.c:1870
+#: ../client/pk-console.c:1876
msgid "You need to specify a package name to resolve"
msgstr "Debe especificar un nombre de paquete a resolver"
-#: ../client/pk-console.c:1879 ../client/pk-console.c:1886
+#: ../client/pk-console.c:1885
+#: ../client/pk-console.c:1892
msgid "You need to specify a repository name"
msgstr "Debe especificar un nombre de repositorio"
-#: ../client/pk-console.c:1893
+#: ../client/pk-console.c:1899
msgid "You need to specify a repo name/parameter and value"
msgstr "Debe especificar un nombre/parametro de repositorio y valor"
-#: ../client/pk-console.c:1906
+#: ../client/pk-console.c:1912
msgid "You need to specify an action, e.g. 'update-system'"
msgstr "Debe especificar una acción, por ejemplo, 'update-system'"
-#: ../client/pk-console.c:1911
+#: ../client/pk-console.c:1917
msgid "You need to specify a correct role"
msgstr "Debe especificar un rol correcto"
-#: ../client/pk-console.c:1916
+#: ../client/pk-console.c:1922
msgid "Failed to get last time"
msgstr "Fállo al obtener última hora"
-#: ../client/pk-console.c:1955
+#: ../client/pk-console.c:1961
msgid "You need to specify a package to find the details for"
msgstr "Debe especificar un paquete para el que buscar la descripción"
-#: ../client/pk-console.c:1962
+#: ../client/pk-console.c:1968
msgid "You need to specify a package to find the files for"
msgstr "Debe especificar un paquete para el que buscar los archivos"
-#: ../client/pk-console.c:1969
-#, fuzzy
+#: ../client/pk-console.c:1975
msgid "You need to specify a list file to create"
-msgstr "Debe especificar un término de tiempo"
+msgstr "Debe especificar un archivo de lista a crear"
-#: ../client/pk-console.c:1977 ../client/pk-console.c:1985
-#, fuzzy
+#: ../client/pk-console.c:1983
+#: ../client/pk-console.c:1991
msgid "You need to specify a list file to open"
-msgstr "Debe especificar un término de tiempo"
+msgstr "Debe especificar un archivo de lista a abrir"
#. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:2038
+#: ../client/pk-console.c:2044
#, c-format
msgid "Option '%s' is not supported"
msgstr "La opción '%s' no está soportada"
#. TRANSLATORS: User does not have permission to do this
-#: ../client/pk-console.c:2051
+#: ../client/pk-console.c:2057
msgid "You don't have the necessary privileges for this operation"
msgstr "No tiene los privilegios necesarios para esta operación"
#. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:2054
+#: ../client/pk-console.c:2060
msgid "Command failed"
msgstr "Commando falló"
#. TRANSLATORS: This is the state of the transaction
-#: ../client/pk-generate-pack.c:99
+#: ../client/pk-generate-pack.c:100
msgid "Downloading"
msgstr "Descargando"
#. TRANSLATORS: This is when the main packages are being downloaded
-#: ../client/pk-generate-pack.c:119
+#: ../client/pk-generate-pack.c:120
msgid "Downloading packages"
msgstr "Descargando paquetes"
#. TRANSLATORS: This is when the dependency packages are being downloaded
-#: ../client/pk-generate-pack.c:124
+#: ../client/pk-generate-pack.c:125
msgid "Downloading dependencies"
msgstr "Descargando dependencias"
-#: ../client/pk-generate-pack.c:185
+#: ../client/pk-generate-pack.c:186
msgid "Set the file name of dependencies to be excluded"
msgstr "Ponga el nombre del archivo de dependencias a excluir"
-#: ../client/pk-generate-pack.c:187
+#: ../client/pk-generate-pack.c:188
msgid "The output directory (the current directory is used if ommitted)"
msgstr "El directorio de salida (el directorio actual se usará si se omite)"
-#: ../client/pk-generate-pack.c:189
+#: ../client/pk-generate-pack.c:190
msgid "The package to be put into the service pack"
msgstr "El paquete será puesto en el paquete de servicio"
-#: ../client/pk-generate-pack.c:191
+#: ../client/pk-generate-pack.c:192
msgid "Put all updates available in the service pack"
msgstr "Poner todas las actualizaciones disponibles en el paquete de servicio"
#. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:214
+#: ../client/pk-generate-pack.c:220
msgid "Neither --package or --updates option selected."
msgstr "No se seleccionó ni la opción --package o --updates."
#. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:222
+#: ../client/pk-generate-pack.c:228
msgid "Both options selected."
msgstr "Se seleccionaron ambas opciones."
#. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:255
+#: ../client/pk-generate-pack.c:261
msgid "A pack with the same name already exists, do you want to overwrite it?"
msgstr "Ya existe un paquete con ese nombre, ¿desea sobreescribirlo ?"
#. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:258
+#: ../client/pk-generate-pack.c:264
msgid "The pack was not overwritten."
msgstr "El paquete no fue sobrescrito."
#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:270
+#: ../client/pk-generate-pack.c:276
msgid "Failed to create directory:"
msgstr "No se pudo crear el directorio:"
#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:279
+#: ../client/pk-generate-pack.c:285
msgid "Failed to open package list."
msgstr "Falló al abrir la lista de paquetes."
#. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:289
+#: ../client/pk-generate-pack.c:295
msgid "Finding package name."
msgstr "Buscando el nombre de paquete."
#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:293
+#: ../client/pk-generate-pack.c:299
#, c-format
msgid "Failed to find package '%s': %s"
msgstr "Falló al buscar el paquete '%s': %s"
#. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:309
+#: ../client/pk-generate-pack.c:315
msgid "Creating service pack..."
msgstr "Creando el paquete de servicios..."
#. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:316
+#: ../client/pk-generate-pack.c:322
#, c-format
msgid "Service pack created '%s'"
msgstr "El paqute de servicio '%s' fue creado"
#. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:320
+#: ../client/pk-generate-pack.c:326
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Falló al crear '%s': %s"
-#: ../client/pk-monitor.c:126
+#: ../client/pk-monitor.c:132
msgid "PackageKit Monitor"
msgstr "Monitor de PackageKit"
#. TRANSLATORS: The package was not found in any software sources
#: ../client/pk-tools-common.c:114
-#, c-format
msgid "The package could not be found"
msgstr "No se pudo encontrar el paquete"
@@ -546,55 +545,55 @@ msgid "Please enter a number from 1 to %i: "
msgstr "Por favor ingrese un número de 1 a %i:"
#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/packagekit-plugin/src/contents.cpp:291
+#: ../contrib/packagekit-plugin/src/contents.cpp:294
msgid "Getting package information..."
msgstr "Extrayendo información de paquetes..."
#. TRANSLATORS: run an applicaiton
-#: ../contrib/packagekit-plugin/src/contents.cpp:297
+#: ../contrib/packagekit-plugin/src/contents.cpp:300
#, c-format
msgid "Run %s"
msgstr "Ejecutar %s"
#. TRANSLATORS: show the installed version of a package
-#: ../contrib/packagekit-plugin/src/contents.cpp:303
+#: ../contrib/packagekit-plugin/src/contents.cpp:306
msgid "Installed version"
msgstr "Versión instalada"
#. TRANSLATORS: run the application now
-#: ../contrib/packagekit-plugin/src/contents.cpp:311
+#: ../contrib/packagekit-plugin/src/contents.cpp:314
#, c-format
msgid "Run version %s now"
msgstr "Correr la versión %s ahora"
-#: ../contrib/packagekit-plugin/src/contents.cpp:317
+#: ../contrib/packagekit-plugin/src/contents.cpp:320
msgid "Run now"
msgstr "Correr ahora"
#. TRANSLATORS: update to a new version of the package
-#: ../contrib/packagekit-plugin/src/contents.cpp:323
+#: ../contrib/packagekit-plugin/src/contents.cpp:326
#, c-format
msgid "Update to version %s"
msgstr "Actualizar a la versión %s"
#. TRANSLATORS: To install a package
-#: ../contrib/packagekit-plugin/src/contents.cpp:329
+#: ../contrib/packagekit-plugin/src/contents.cpp:332
#, c-format
msgid "Install %s now"
msgstr "Instalar %s ahora"
#. TRANSLATORS: the version of the package
-#: ../contrib/packagekit-plugin/src/contents.cpp:332
+#: ../contrib/packagekit-plugin/src/contents.cpp:335
msgid "Version"
msgstr "Versión"
#. TRANSLATORS: noting found, so can't install
-#: ../contrib/packagekit-plugin/src/contents.cpp:337
+#: ../contrib/packagekit-plugin/src/contents.cpp:340
msgid "No packages found for your system"
msgstr "No se encontró ningún paquete para su sistema"
#. TRANSLATORS: package is being installed
-#: ../contrib/packagekit-plugin/src/contents.cpp:342
+#: ../contrib/packagekit-plugin/src/contents.cpp:345
msgid "Installing..."
msgstr "Instalando..."
@@ -610,194 +609,141 @@ msgstr "Grupo de Servicio de PackageKit"
msgid "PackageKit Package List"
msgstr "Lista de Paquetes de PackageKit"
-#: ../policy/org.freedesktop.packagekit.policy.in.h:1
-msgid "Accept EULA"
-msgstr "Aceptar EULA"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:2
-msgid "Authentication is required to accept a EULA"
-msgstr "Se requiere autenticación para aceptar una EULA"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:3
-msgid "Authentication is required to change software source parameters"
-msgstr ""
-"Se requiere autenticación para cambiar los parametros de fuente de software"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:4
-#, fuzzy
-msgid ""
-"Authentication is required to consider a key used for signing packages as "
-"trusted"
-msgstr "Se requiere autenticación para refrescar la lista de paquetes"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:5
-#, fuzzy
-msgid "Authentication is required to install a signed package"
-msgstr "Se requiere autenticación para instalar un paquete"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:6
-#, fuzzy
-msgid "Authentication is required to install an untrusted package"
-msgstr "Se requiere autenticación para instalar un paquete"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:7
-#, fuzzy
-msgid "Authentication is required to refresh the system sources"
-msgstr "Se requiere autenticación para refrescar la lista de paquetes"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:8
-msgid "Authentication is required to remove packages"
-msgstr "Se requiere autenticación para eliminar paquetes"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:9
-msgid "Authentication is required to rollback a transaction"
-msgstr "Se requiere autenticación para deshacer una transaccion"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:10
-#, fuzzy
-msgid ""
-"Authentication is required to set the network proxy used for downloading "
-"packages"
-msgstr "Se requiere autenticación para eliminar paquetes"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:11
-msgid "Authentication is required to update packages"
-msgstr "Se requiere autenticación para actualizar paquetes"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:12
-msgid "Change software source parameters"
-msgstr "Cambiar los parametros de fuente de software"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:13
-msgid "Install local file"
-msgstr "Instalar archivo local"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:14
-#, fuzzy
-msgid "Install untrusted local file"
-msgstr "Instalar archivo local"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:15
-msgid "Refresh system sources"
-msgstr ""
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:16
-msgid "Remove package"
-msgstr "Eliminar paquete"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:17
-msgid "Rollback to a previous transaction"
-msgstr "Deshacer hasta una transaccion previa"
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:18
-msgid "Set network proxy"
-msgstr ""
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:19
-msgid "Trust a key used for signing packages"
-msgstr ""
-
-#: ../policy/org.freedesktop.packagekit.policy.in.h:20
-#, fuzzy
-msgid "Update packages"
-msgstr "Actualizar paquete"
-
-#: ../src/pk-main.c:85
+#: ../src/pk-main.c:86
msgid "Startup failed due to security policies on this machine."
msgstr "El arranque falló debito a polÃticas de seguridad en esta máquina."
-#: ../src/pk-main.c:86
+#: ../src/pk-main.c:87
msgid "This can happen for two reasons:"
msgstr "Esto puede pasar por dos razones:"
-#: ../src/pk-main.c:87
+#: ../src/pk-main.c:88
msgid "The correct user is not launching the executable (usually root)"
msgstr "El usuario correcto no esta lanzando el ejecutable (usualmente root)"
-#: ../src/pk-main.c:88
-msgid ""
-"The org.freedesktop.PackageKit.conf file is not installed in the system "
-"directory:"
-msgstr ""
-"El archivo org.freedesktop.PackageKit.conf no está instalado en el "
-"directorio del sistema:"
+#: ../src/pk-main.c:89
+msgid "The org.freedesktop.PackageKit.conf file is not installed in the system directory:"
+msgstr "El archivo org.freedesktop.PackageKit.conf no está instalado en el directorio del sistema:"
-#: ../src/pk-main.c:192
+#: ../src/pk-main.c:187
msgid "Packaging backend to use, e.g. dummy"
msgstr "Administrador de paquetes a usar, ej. dummy"
-#: ../src/pk-main.c:194
+#: ../src/pk-main.c:189
msgid "Daemonize and detach from the terminal"
msgstr "Demonizar y desadjuntar de la terminal"
-#: ../src/pk-main.c:198
+#: ../src/pk-main.c:193
msgid "Disable the idle timer"
msgstr "Deshabilitar el idle timer"
-#: ../src/pk-main.c:200
+#: ../src/pk-main.c:195
msgid "Show version and exit"
msgstr "Mostrar version y salir"
-#: ../src/pk-main.c:202
+#: ../src/pk-main.c:197
msgid "Exit after a small delay"
msgstr "Salir luego de una pequeña pausa"
-#: ../src/pk-main.c:204
+#: ../src/pk-main.c:199
msgid "Exit after the engine has loaded"
msgstr "Salir luego de que el motor este cargado"
-#: ../src/pk-main.c:214
+#: ../src/pk-main.c:213
msgid "PackageKit service"
msgstr "Servicio PackageKit"
-#: ../src/pk-main.c:250
+#: ../src/pk-main.c:249
msgid "Cannot connect to the system bus"
msgstr "No se pudo conectar al bus del sistema"
-#: ../src/pk-main.c:296
+#: ../src/pk-main.c:298
#, c-format
msgid "Error trying to start: %s\n"
msgstr "Error intentando arrancar: %s\n"
+#~ msgid "This tool could not remove the packages: '%s'"
+#~ msgstr "Esta herramienta no pudo eliminar los paquetes: '%s'"
+#~ msgid "Accept EULA"
+#~ msgstr "Aceptar EULA"
+#~ msgid "Authentication is required to accept a EULA"
+#~ msgstr "Se requiere autenticación para aceptar una EULA"
+#~ msgid "Authentication is required to change software source parameters"
+#~ msgstr ""
+#~ "Se requiere autenticación para cambiar los parametros de fuente de "
+#~ "software"
+
+#, fuzzy
+#~ msgid ""
+#~ "Authentication is required to consider a key used for signing packages as "
+#~ "trusted"
+#~ msgstr "Se requiere autenticación para refrescar la lista de paquetes"
+
+#, fuzzy
+#~ msgid "Authentication is required to install a signed package"
+#~ msgstr "Se requiere autenticación para instalar un paquete"
+
+#, fuzzy
+#~ msgid "Authentication is required to install an untrusted package"
+#~ msgstr "Se requiere autenticación para instalar un paquete"
+
+#, fuzzy
+#~ msgid "Authentication is required to refresh the system sources"
+#~ msgstr "Se requiere autenticación para refrescar la lista de paquetes"
+#~ msgid "Authentication is required to remove packages"
+#~ msgstr "Se requiere autenticación para eliminar paquetes"
+#~ msgid "Authentication is required to rollback a transaction"
+#~ msgstr "Se requiere autenticación para deshacer una transaccion"
+
+#, fuzzy
+#~ msgid ""
+#~ "Authentication is required to set the network proxy used for downloading "
+#~ "packages"
+#~ msgstr "Se requiere autenticación para eliminar paquetes"
+#~ msgid "Authentication is required to update packages"
+#~ msgstr "Se requiere autenticación para actualizar paquetes"
+#~ msgid "Change software source parameters"
+#~ msgstr "Cambiar los parametros de fuente de software"
+#~ msgid "Install local file"
+#~ msgstr "Instalar archivo local"
+
+#, fuzzy
+#~ msgid "Install untrusted local file"
+#~ msgstr "Instalar archivo local"
+#~ msgid "Remove package"
+#~ msgstr "Eliminar paquete"
+#~ msgid "Rollback to a previous transaction"
+#~ msgstr "Deshacer hasta una transaccion previa"
+
+#, fuzzy
+#~ msgid "Update packages"
+#~ msgstr "Actualizar paquete"
#~ msgid "Okay to import key?"
#~ msgstr "¿De acuerto con importer la clave?"
-
#~ msgid "Did not import key"
#~ msgstr "No se importó la clave"
-
#~ msgid "Do you agree?"
#~ msgstr "¿Está de acuerdo?"
-
#~ msgid "Update detail"
#~ msgstr "Actualizar detalle"
-
#~ msgid "A system restart is required"
#~ msgstr "Se requiere reiniciar el sistema"
-
#~ msgid "A logout and login is required"
#~ msgstr "Se requiere reiniciar la sesión"
-
#~ msgid "An application restart is required"
#~ msgstr "Se requiere reiniciar una aplicación"
-
#~ msgid "Could not find package to install"
#~ msgstr "No se pudo encontrar un paquete para instalar"
-
#~ msgid "Could not find package to remove"
#~ msgstr "No se pudo encontrar el paquete a eliminar"
-
#~ msgid "Cancelled!"
#~ msgstr "Cancelado!"
-
#~ msgid "Could not find package to update"
#~ msgstr "No se pudo encontrar el paquete a actualizar"
-
#~ msgid "Could not find what packages require"
#~ msgstr "No se pudo encontrar cuales paquetes requiere este paquete"
-
#~ msgid "Could not find details for"
#~ msgstr "No se pudieron obtener los detalles de "
-
#~ msgid "Could not find a package match"
#~ msgstr "No se pudo encontrar un paquete coincidente"
@@ -808,103 +754,80 @@ msgstr "Error intentando arrancar: %s\n"
#, fuzzy
#~ msgid "Could not set database readonly"
#~ msgstr "No se pudo abrir la base de datos: %s"
-
#~ msgid "Could not open database: %s"
#~ msgstr "No se pudo abrir la base de datos: %s"
-
#~ msgid "You probably need to run this program as the root user"
#~ msgstr "Probablemente necesita ejecutar este programa como el usuario root"
-
#~ msgid "<span color='#%06x' underline='single' size='larger'>Run %s</span>"
#~ msgstr ""
#~ "<span color='#%06x' underline='single' size='larger'>Ejecutar %s</span>"
-
#~ msgid "<big>%s</big>"
#~ msgstr "<big>%s</big>"
-
#~ msgid ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Run version %s now</span>"
#~ msgstr ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Ejecutar versión %s ahora</span>"
-
#~ msgid ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Run now</span>"
#~ msgstr ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Ejecutar ahora</span>"
-
#~ msgid ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Upgrade to version %s</span>"
#~ msgstr ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Actualizar a la versión %s</span>"
-
#~ msgid ""
#~ "<span color='#%06x' underline='single' size='larger'>Install %s Now</span>"
#~ msgstr ""
#~ "<span color='#%06x' underline='single' size='larger'>Instalar %s Ahora</"
#~ "span>"
-
#~ msgid ""
#~ "\n"
#~ "<small>Version: %s</small>"
#~ msgstr ""
#~ "\n"
#~ "<small>Versión: %s</small>"
-
#~ msgid "failed to download: invalid package_id and/or directory"
#~ msgstr "falló la descarga: id de paquete inválido y/o directorio"
-
#~ msgid "Could not find a valid metadata file"
#~ msgstr "No se pudo encontrar un archivo de metadatos válido"
-
#~ msgid "Okay to download the additional packages"
#~ msgstr "Listo para descargar los paquetes adicionales"
-
#~ msgid "You need to specify the pack name and packages to be packed\n"
#~ msgstr "Debe especificar el nombre de grupo y los paquetes a agrupar\n"
-
#~ msgid ""
#~ "Invalid name for the service pack, Specify a name with .servicepack "
#~ "extension\n"
#~ msgstr ""
#~ "Nombre inválido para el paquete de servicio. Especifique un nombre con la "
#~ "extensión .servicepack\n"
-
#~ msgid "Authentication is required to install a local file"
#~ msgstr "Se requiere autenticación para instalar un archivo local"
-
#~ msgid "Authentication is required to install a security signature"
#~ msgstr "Se requiere autenticación para instalar una firma de seguridad"
-
#~ msgid "Authentication is required to update all packages"
#~ msgstr "Se requiere autenticación para actualizar todos los paquetes"
-
#~ msgid "Install security signature"
#~ msgstr "Instalar firma de seguridad"
-
#~ msgid "Refresh package lists"
#~ msgstr "Refrescar lista de paquetes"
-
#~ msgid "Update all packages"
#~ msgstr "Actualizar todos los paquetes"
-
#~ msgid ""
#~ "Could not find a package with that name to install, or package already "
#~ "installed"
#~ msgstr ""
#~ "No se pudo encontrar un paquete con ese nombre para instalar, o el "
#~ "paquete ya está instalado"
-
#~ msgid "Could not find a package with that name to update"
#~ msgstr "No se pudo encontrar un paquete con ese nombre para actualizar"
-
#~ msgid "Could not find a description for this package"
#~ msgstr "No se pudo encontrar una descripcion para este paquete"
-
#~ msgid "You need to specify a package to find the description for"
#~ msgstr "Debe especificar un paquete para el que buscar la descripción"
+
commit 4dad099a0391a6b031883a280150cf0f0d235693
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Dec 12 10:57:00 2008 +0000
trivial: formatting fix
diff --git a/client/pk-console.c b/client/pk-console.c
index db42eac..b226c2d 100644
--- a/client/pk-console.c
+++ b/client/pk-console.c
@@ -265,7 +265,7 @@ pk_console_transaction_cb (PkClient *client, const PkTransactionObj *obj, gpoint
if (lines_len > 0)
g_print (" %s\n", _("Affected packages:"));
else
- g_print (" %s\n", _("No affected packages"));
+ g_print (" %s\n", _("Affected packages: None"));
for (i=0; i<lines_len; i++) {
parts = g_strsplit (lines[i], "\t", 3);
id = pk_package_id_new_from_string (parts[1]);
commit 27b43644a940530062f86cc86af7c609c05f38df
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Dec 12 10:42:08 2008 +0000
trivial: don't print an empty list if nothing was done in pkcon get-transactions
diff --git a/client/pk-console.c b/client/pk-console.c
index 9768e83..db42eac 100644
--- a/client/pk-console.c
+++ b/client/pk-console.c
@@ -260,9 +260,12 @@ pk_console_transaction_cb (PkClient *client, const PkTransactionObj *obj, gpoint
}
/* TRANSLATORS: these are packages touched by the transaction */
- g_print (" %s:\n", _("Affected packages"));
lines = g_strsplit (obj->data, "\n", -1);
lines_len = g_strv_length (lines);
+ if (lines_len > 0)
+ g_print (" %s\n", _("Affected packages:"));
+ else
+ g_print (" %s\n", _("No affected packages"));
for (i=0; i<lines_len; i++) {
parts = g_strsplit (lines[i], "\t", 3);
id = pk_package_id_new_from_string (parts[1]);
commit f08b884164846806d27999b9a2585d5eb83c17a9
Merge: 92b83e4... 653022c...
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Dec 11 17:54:45 2008 +0000
Merge branch 'master' of git+ssh://hughsie@git.packagekit.org/srv/git/PackageKit
commit 653022ce960662d239152e1e96ac25915ed17b8e
Author: Valeriy Lyasotskiy <onestep at ukr.net>
Date: Thu Dec 11 19:07:45 2008 +0200
alpm: code modified to use PkPackageId accessors; alpm: download_packages stuff moved to its own thread
diff --git a/backends/alpm/pk-backend-alpm.c b/backends/alpm/pk-backend-alpm.c
index a48e894..f2e57e0 100644
--- a/backends/alpm/pk-backend-alpm.c
+++ b/backends/alpm/pk-backend-alpm.c
@@ -107,6 +107,27 @@ pkg_from_package_id_str (const gchar *package_id_str)
return pkg;
}
+gboolean
+pkg_equal (pmpkg_t *p1, pmpkg_t *p2)
+{
+ if (g_strcmp0 (alpm_pkg_get_name (p1), alpm_pkg_get_name (p2)) != 0)
+ return FALSE;
+ if (g_strcmp0 (alpm_pkg_get_version (p1), alpm_pkg_get_version (p2)) != 0)
+ return FALSE;
+ return TRUE;
+}
+
+gboolean
+pkg_equals_to (pmpkg_t *pkg, const gchar *name, const gchar *version)
+{
+ if (g_strcmp0 (alpm_pkg_get_name (pkg), name) != 0)
+ return FALSE;
+ if (version != NULL)
+ if (g_strcmp0 (alpm_pkg_get_version (pkg), version) != 0)
+ return FALSE;
+ return TRUE;
+}
+
void
cb_trans_evt (pmtransevt_t event, void *data1, void *data2)
{
@@ -163,7 +184,7 @@ cb_trans_evt (pmtransevt_t event, void *data1, void *data2)
void
cb_trans_conv (pmtransconv_t conv, void *data1, void *data2, void *data3, int *response)
{
- // TODO: Add code here
+ // TODO: check if some code needs to be placed there
}
void
@@ -189,11 +210,12 @@ cb_dl_progress (const char *filename, off_t xfered, off_t total)
gchar *package_id = NULL;
gchar **package_ids = pk_backend_get_strv (backend_instance, "package_ids");
for (iterator = 0; package_id == NULL && iterator < g_strv_length (package_ids); ++iterator) {
- PkPackageId *pk_package_id = pk_package_id_new_from_string (package_ids[iterator]);
- gchar *pkginfo = g_strjoin ("-", pk_package_id->name, pk_package_id->version, NULL);
- if (strstr (filename, pkginfo) != NULL)
+ PkPackageId *id = pk_package_id_new_from_string (package_ids[iterator]);
+ gchar *pkginfo = g_strjoin ("-", pk_package_id_get_name (id), pk_package_id_get_version (id), NULL);
+ if (g_str_has_prefix (filename, pkginfo))
package_id = package_ids[iterator];
g_free (pkginfo);
+ pk_package_id_free (id);
}
/* emit package */
@@ -209,60 +231,6 @@ cb_dl_progress (const char *filename, off_t xfered, off_t total)
// pk_backend_set_percentage ((PkBackend *) backend_instance, percent);
}
-gboolean
-update_subprogress (void *data)
-{
- if (subprogress_percentage == -1)
- return FALSE;
-
- egg_debug ("alpm: subprogress is %i", subprogress_percentage);
-
- pk_backend_set_percentage ((PkBackend *) data, subprogress_percentage);
- return TRUE;
-}
-
-gboolean
-update_progress (void *data)
-{
- if (progress_percentage == -1)
- return FALSE;
-
- pk_backend_set_percentage ((PkBackend *) data, progress_percentage);
- return TRUE;
-}
-
-gpointer
-state_notify (void *backend)
-{
- g_timeout_add (300, update_subprogress, backend);
- return backend;
-}
-
-gboolean
-pkg_equal (pmpkg_t *p1, pmpkg_t *p2)
-{
-/*
- egg_debug (alpm_pkg_get_name (p1));
- egg_debug (alpm_pkg_get_name (p2));
-*/
- if (strcmp (alpm_pkg_get_name (p1), alpm_pkg_get_name (p2)) != 0)
- return FALSE;
- if (strcmp (alpm_pkg_get_version (p1), alpm_pkg_get_version (p2)) != 0)
- return FALSE;
- return TRUE;
-}
-
-gboolean
-pkg_equals_to (pmpkg_t *pkg, const gchar *name, const gchar *version)
-{
- if (strcmp (alpm_pkg_get_name (pkg), name) != 0)
- return FALSE;
- if (version != NULL)
- if (strcmp (alpm_pkg_get_version (pkg), version) != 0)
- return FALSE;
- return TRUE;
-}
-
void
emit_package (PkBackend *backend, pmpkg_t *pkg, const gchar *repo, PkInfoEnum info)
{
@@ -685,12 +653,13 @@ backend_cancel (PkBackend *backend)
/**
* backend_download_packages:
*/
-static void
-backend_download_packages (PkBackend *backend, gchar **package_ids, const gchar *directory)
+static gboolean
+backend_download_packages_thread (PkBackend *backend)
{
- pk_backend_set_status (backend, PK_STATUS_ENUM_DOWNLOAD);
+ gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
+ const gchar *directory = pk_backend_get_string (backend, "directory");
- egg_debug ("alpm: downloading package to %s", directory);
+ egg_debug ("alpm: downloading packages to %s", directory);
/* old cachedirs list automatically gets freed in alpm, so make a copy */
alpm_list_t *cachedirs = NULL;
@@ -702,42 +671,36 @@ backend_download_packages (PkBackend *backend, gchar **package_ids, const gchar
alpm_option_add_cachedir (directory);
/* create a new transaction */
- if (alpm_trans_init (PM_TRANS_TYPE_SYNC, PM_TRANS_FLAG_NODEPS | PM_TRANS_FLAG_DOWNLOADONLY, cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
+ if (alpm_trans_init (PM_TRANS_TYPE_SYNC, PM_TRANS_FLAG_NODEPS | PM_TRANS_FLAG_DOWNLOADONLY, cb_trans_evt, cb_trans_conv, cb_trans_progress) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
pk_backend_finished (backend);
- return;
+ return FALSE;
}
- egg_debug ("alpm: transaction initialized");
/* add targets to the transaction */
int iterator;
for (iterator = 0; iterator < g_strv_length (package_ids); ++iterator) {
- PkPackageId *package_id = pk_package_id_new_from_string (package_ids[iterator]);
- if (alpm_trans_addtarget (package_id->name) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
+ PkPackageId *id = pk_package_id_new_from_string (package_ids[iterator]);
+ if (alpm_trans_addtarget ((char *) pk_package_id_get_name (id)) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
alpm_trans_release ();
pk_backend_finished (backend);
- return;
+ return FALSE;
}
- egg_debug ("alpm: %s added to transaction queue", package_id->name);
- pk_package_id_free (package_id);
+ pk_package_id_free (id);
}
alpm_list_t *data = NULL;
/* prepare and commit transaction */
- if (alpm_trans_prepare (&data) == -1 || alpm_trans_commit (&data) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
+ if (alpm_trans_prepare (&data) != 0 || alpm_trans_commit (&data) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
alpm_trans_release ();
pk_backend_finished (backend);
- return;
+ return FALSE;
}
alpm_trans_release ();
- egg_debug ("alpm: transaction released");
/* emit/cleanup downloaded files list */
for (list_iterator = downloaded_files; list_iterator; list_iterator = alpm_list_next (list_iterator)) {
@@ -752,6 +715,19 @@ backend_download_packages (PkBackend *backend, gchar **package_ids, const gchar
alpm_option_set_cachedirs (cachedirs);
pk_backend_finished (backend);
+ return TRUE;
+}
+
+/**
+ * backend_download_packages:
+ */
+static void
+backend_download_packages (PkBackend *backend, gchar **package_ids, const gchar *directory)
+{
+ pk_backend_set_status (backend, PK_STATUS_ENUM_DOWNLOAD);
+ pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+
+ pk_backend_thread_create (backend, backend_download_packages_thread);
}
int
@@ -1071,15 +1047,17 @@ backend_get_update_detail (PkBackend *backend, gchar **package_ids)
int iterator;
for (iterator = 0; iterator < g_strv_length (package_ids); ++iterator) {
// TODO: add changelog code here
- PkPackageId *pk_package_id = pk_package_id_new_from_string (package_ids[iterator]);
+ PkPackageId *id = pk_package_id_new_from_string (package_ids[iterator]);
- pmpkg_t *installed_pkg = alpm_db_get_pkg (alpm_option_get_localdb (), pk_package_id->name);
+ pmpkg_t *installed_pkg = alpm_db_get_pkg (alpm_option_get_localdb (), pk_package_id_get_name (id));
gchar *installed_package_id = installed_pkg ? pkg_to_package_id_str (installed_pkg, ALPM_LOCAL_DB_ALIAS) : NULL;
pk_backend_update_detail (backend, package_ids[iterator], installed_package_id, "", "", "", "", PK_RESTART_ENUM_NONE,
installed_pkg ? "Update to latest available version" : "Install as a dependency for another update",
NULL, PK_UPDATE_STATE_ENUM_UNKNOWN, NULL, NULL);
g_free (installed_package_id);
+
+ pk_package_id_free (id);
}
pk_backend_finished (backend);
@@ -1123,23 +1101,19 @@ backend_get_updates (PkBackend *backend, PkBitfield filters)
static gboolean
backend_install_files_thread (PkBackend *backend)
{
- pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-
gchar **full_paths = pk_backend_get_strv (backend, "full_paths");
/* create a new transaction */
- if (alpm_trans_init (PM_TRANS_TYPE_UPGRADE, 0, cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) {
+ if (alpm_trans_init (PM_TRANS_TYPE_UPGRADE, 0, cb_trans_evt, cb_trans_conv, cb_trans_progress) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
pk_backend_finished (backend);
return FALSE;
}
- egg_debug ("alpm: transaction initialized");
/* add targets to the transaction */
int iterator;
for (iterator = 0; iterator < g_strv_length (full_paths); ++iterator) {
- if (alpm_trans_addtarget (full_paths[iterator]) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
+ if (alpm_trans_addtarget (full_paths[iterator]) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
alpm_trans_release ();
pk_backend_finished (backend);
@@ -1150,19 +1124,8 @@ backend_install_files_thread (PkBackend *backend)
alpm_list_t *data = NULL;
- /* prepare transaction */
- if (alpm_trans_prepare (&data) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
- alpm_trans_release ();
- pk_backend_finished (backend);
- return FALSE;
- }
- egg_debug ("alpm: transaction prepared");
-
- /* commit transaction */
- if (alpm_trans_commit (&data) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
+ /* prepare and commit transaction */
+ if (alpm_trans_prepare (&data) != 0 || alpm_trans_commit (&data) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
alpm_trans_release ();
pk_backend_finished (backend);
@@ -1170,7 +1133,6 @@ backend_install_files_thread (PkBackend *backend)
}
alpm_trans_release ();
- egg_debug ("alpm: transaction released");
pk_backend_finished (backend);
return TRUE;
@@ -1183,6 +1145,7 @@ static void
backend_install_files (PkBackend *backend, gboolean trusted, gchar **full_paths)
{
pk_backend_set_status (backend, PK_STATUS_ENUM_INSTALL);
+ pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
pk_backend_thread_create (backend, backend_install_files_thread);
}
@@ -1193,48 +1156,32 @@ backend_install_files (PkBackend *backend, gboolean trusted, gchar **full_paths)
static gboolean
backend_install_packages_thread (PkBackend *backend)
{
- pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-
gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
/* create a new transaction */
- if (alpm_trans_init (PM_TRANS_TYPE_SYNC, PM_TRANS_FLAG_NODEPS, cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) {
+ if (alpm_trans_init (PM_TRANS_TYPE_SYNC, PM_TRANS_FLAG_NODEPS, cb_trans_evt, cb_trans_conv, cb_trans_progress) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
pk_backend_finished (backend);
return FALSE;
}
- egg_debug ("alpm: %s", "transaction initialized");
/* add targets to the transaction */
int iterator;
for (iterator = 0; iterator < g_strv_length (package_ids); ++iterator) {
- PkPackageId *package_id = pk_package_id_new_from_string (package_ids[iterator]);
- if (alpm_trans_addtarget (package_id->name) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
+ PkPackageId *id = pk_package_id_new_from_string (package_ids[iterator]);
+ if (alpm_trans_addtarget ((char *) pk_package_id_get_name (id)) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
alpm_trans_release ();
pk_backend_finished (backend);
return FALSE;
- } else
- egg_debug ("alpm: %s added to transaction queue", package_id->name);
- pk_package_id_free (package_id);
+ }
+ pk_package_id_free (id);
}
alpm_list_t *data = NULL;
- /* prepare transaction */
- if (alpm_trans_prepare (&data) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
- alpm_trans_release ();
- pk_backend_finished (backend);
- return FALSE;
- }
- egg_debug ("alpm: %s", "transaction prepared");
-
- /* commit transaction */
- if (alpm_trans_commit (&data) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
+ /* prepare and commit transaction */
+ if (alpm_trans_prepare (&data) != 0 || alpm_trans_commit (&data) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
alpm_trans_release ();
pk_backend_finished (backend);
@@ -1242,7 +1189,6 @@ backend_install_packages_thread (PkBackend *backend)
}
alpm_trans_release ();
- egg_debug ("alpm: %s", "transaction released");
pk_backend_finished (backend);
return TRUE;
@@ -1254,6 +1200,8 @@ backend_install_packages_thread (PkBackend *backend)
static void
backend_install_packages (PkBackend *backend, gchar **package_ids)
{
+ pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+
pk_backend_thread_create (backend, backend_install_packages_thread);
}
@@ -1263,29 +1211,23 @@ backend_install_packages (PkBackend *backend, gchar **package_ids)
static gboolean
backend_refresh_cache_thread (PkBackend *backend)
{
- pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
-
if (alpm_trans_init (PM_TRANS_TYPE_SYNC, PM_TRANS_FLAG_NOSCRIPTLET, cb_trans_evt, cb_trans_conv, cb_trans_progress) != 0) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerror (pm_errno));
+ pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
pk_backend_finished (backend);
return FALSE;
}
- egg_debug ("alpm: %s", "transaction initialized");
- alpm_list_t *dbs = alpm_option_get_syncdbs ();
alpm_list_t *iterator;
- for (iterator = dbs; iterator; iterator = alpm_list_next (iterator)) {
- int update_result = alpm_db_update (FALSE, (pmdb_t *) alpm_list_getdata (iterator));
- egg_debug ("alpm: update_result is %i", update_result);
- if (update_result == -1) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerror (pm_errno));
+ for (iterator = alpm_option_get_syncdbs (); iterator; iterator = alpm_list_next (iterator)) {
+ pmdb_t *db = (pmdb_t *) alpm_list_getdata (iterator);
+ if (alpm_db_update (FALSE, db) == -1) {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
pk_backend_finished (backend);
return FALSE;
}
}
alpm_trans_release ();
- egg_debug ("alpm: %s", "transaction released");
pk_backend_finished (backend);
return TRUE;
@@ -1298,12 +1240,13 @@ static void
backend_refresh_cache (PkBackend *backend, gboolean force)
{
if (!pk_backend_is_online (backend)) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_NO_NETWORK, "Cannot refresh cache whilst offline");
+ pk_backend_error_code (backend, PK_ERROR_ENUM_NO_NETWORK, "Can not refresh cache in offline mode");
pk_backend_finished (backend);
return;
}
pk_backend_set_status (backend, PK_STATUS_ENUM_REFRESH_CACHE);
+ pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
pk_backend_thread_create (backend, backend_refresh_cache_thread);
}
@@ -1324,43 +1267,29 @@ backend_remove_packages_thread (PkBackend *backend)
flags |= PM_TRANS_FLAG_CASCADE;
/* create a new transaction */
- if (alpm_trans_init (PM_TRANS_TYPE_REMOVE, flags, cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) {
+ if (alpm_trans_init (PM_TRANS_TYPE_REMOVE, flags, cb_trans_evt, cb_trans_conv, cb_trans_progress) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
pk_backend_finished (backend);
return FALSE;
}
- egg_debug ("alpm: %s", "transaction initialized");
/* add targets to the transaction */
int iterator;
for (iterator = 0; iterator < g_strv_length (package_ids); ++iterator) {
- PkPackageId *package_id = pk_package_id_new_from_string (package_ids[iterator]);
- if (alpm_trans_addtarget (package_id->name) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
+ PkPackageId *id = pk_package_id_new_from_string (package_ids[iterator]);
+ if (alpm_trans_addtarget ((char *) pk_package_id_get_name (id)) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
alpm_trans_release ();
pk_backend_finished (backend);
return FALSE;
- } else
- egg_debug ("alpm: %s added to transaction queue", package_id->name);
- pk_package_id_free (package_id);
+ }
+ pk_package_id_free (id);
}
alpm_list_t *data = NULL;
- /* prepare transaction */
- if (alpm_trans_prepare (&data) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
- alpm_trans_release ();
- pk_backend_finished (backend);
- return FALSE;
- }
- egg_debug ("alpm: %s", "transaction prepared");
-
- /* commit transaction */
- if (alpm_trans_commit (&data) == -1) {
- egg_warning ("alpm: %s", alpm_strerrorlast ());
+ /* prepare and commit transaction */
+ if (alpm_trans_prepare (&data) != 0 || alpm_trans_commit (&data) != 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, alpm_strerrorlast ());
alpm_trans_release ();
pk_backend_finished (backend);
@@ -1368,7 +1297,6 @@ backend_remove_packages_thread (PkBackend *backend)
}
alpm_trans_release ();
- egg_debug ("alpm: %s", "transaction released");
pk_backend_finished (backend);
return TRUE;
@@ -1504,7 +1432,9 @@ backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search
static void
backend_update_packages (PkBackend *backend, gchar **package_ids)
{
- backend_install_packages (backend, package_ids);
+ pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
+
+ pk_backend_thread_create (backend, backend_install_packages_thread);
}
/**
commit 92b83e40f1e4c2d08dff72dd23c328a96e995c5c
Merge: 1b848c6... ab1b294...
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Dec 11 17:01:41 2008 +0000
Merge branch 'master' of git+ssh://hughsie@git.packagekit.org/srv/git/PackageKit
commit 1b848c6482ecdb45c6b0a46bacbac736447deddc
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Dec 11 16:55:54 2008 +0000
trivial: filter out Presto stdout from the yum spawned backend
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index b9ac83e..7631ab8 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -43,6 +43,18 @@ backend_stderr_cb (PkBackend *backend, const gchar *output)
}
/**
+ * backend_stdout_cb:
+ */
+static gboolean
+backend_stdout_cb (PkBackend *backend, const gchar *output)
+{
+ /* unsigned rpm, this will be picked up by yum and and exception will be thrown */
+ if (strstr (output, "Presto") != NULL)
+ return FALSE;
+ return TRUE;
+}
+
+/**
* backend_initialize:
* This should only be run once per backend load, i.e. not every transaction
*/
@@ -52,6 +64,7 @@ backend_initialize (PkBackend *backend)
egg_debug ("backend: initialize");
spawn = pk_backend_spawn_new ();
pk_backend_spawn_set_filter_stderr (spawn, backend_stderr_cb);
+ pk_backend_spawn_set_filter_stdout (spawn, backend_stdout_cb);
pk_backend_spawn_set_name (spawn, "yum");
}
commit ab1b29472ef36dbf9ad2fe8368598cae2c1f19ab
Merge: 6bbb187... 23ed7d9...
Author: Valeriy Lyasotskiy <onestep at ukr.net>
Date: Thu Dec 11 18:46:34 2008 +0200
Merge branch 'master' of git+ssh://onestep_ua@git.packagekit.org/srv/git/PackageKit
commit 6bbb1871d2d6a06bf92e544f7eca51c8ee10c6f7
Author: Valeriy Lyasotskiy <onestep at ukr.net>
Date: Thu Dec 11 18:36:09 2008 +0200
glib: Added accessors for PkPackageId
diff --git a/lib/packagekit-glib/pk-package-id.c b/lib/packagekit-glib/pk-package-id.c
index 6938b1a..f1259d8 100644
--- a/lib/packagekit-glib/pk-package-id.c
+++ b/lib/packagekit-glib/pk-package-id.c
@@ -60,6 +60,62 @@ pk_package_id_new (void)
}
/**
+ * pk_package_id_get_name:
+ *
+ * Gets name property from given #PkPackageId object
+ *
+ * Return value: name property of given #PkPackageId object
+ **/
+const gchar *
+pk_package_id_get_name (const PkPackageId *id)
+{
+ g_return_val_if_fail (id != NULL, NULL);
+ return id->name;
+}
+
+/**
+ * pk_package_id_get_version:
+ *
+ * Gets version property from given #PkPackageId object
+ *
+ * Return value: version property of given #PkPackageId object
+ **/
+const gchar *
+pk_package_id_get_version (const PkPackageId *id)
+{
+ g_return_val_if_fail (id != NULL, NULL);
+ return id->version;
+}
+
+/**
+ * pk_package_id_get_arch:
+ *
+ * Gets arch property from given #PkPackageId object
+ *
+ * Return value: arch property of given #PkPackageId object
+ **/
+const gchar *
+pk_package_id_get_arch (const PkPackageId *id)
+{
+ g_return_val_if_fail (id != NULL, NULL);
+ return id->arch;
+}
+
+/**
+ * pk_package_id_get_data:
+ *
+ * Gets data property from given #PkPackageId object
+ *
+ * Return value: data property of given #PkPackageId object
+ **/
+const gchar *
+pk_package_id_get_data (const PkPackageId *id)
+{
+ g_return_val_if_fail (id != NULL, NULL);
+ return id->data;
+}
+
+/**
* pk_strsplit:
* @id: the ; delimited string to split
* @parts: how many parts the delimted string should be split into
diff --git a/lib/packagekit-glib/pk-package-id.h b/lib/packagekit-glib/pk-package-id.h
index 875e96b..b7278ad 100644
--- a/lib/packagekit-glib/pk-package-id.h
+++ b/lib/packagekit-glib/pk-package-id.h
@@ -44,6 +44,10 @@ typedef struct {
/* objects */
PkPackageId *pk_package_id_new (void);
+const gchar *pk_package_id_get_name (const PkPackageId *id);
+const gchar *pk_package_id_get_version (const PkPackageId *id);
+const gchar *pk_package_id_get_arch (const PkPackageId *id);
+const gchar *pk_package_id_get_data (const PkPackageId *id);
PkPackageId *pk_package_id_new_from_string (const gchar *package_id)
G_GNUC_WARN_UNUSED_RESULT;
PkPackageId *pk_package_id_new_from_list (const gchar *name,
commit b1c96db1302b3443be6d8c7fedf8ea8bad64c86c
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Dec 11 12:20:57 2008 +0000
trivial: add another option to the config file so we can play with testing updates
diff --git a/etc/PackageKit.conf.in b/etc/PackageKit.conf.in
index e63484f..d94ce75 100644
--- a/etc/PackageKit.conf.in
+++ b/etc/PackageKit.conf.in
@@ -82,3 +82,11 @@ UpdatePackageList=true
# default=true
UpdateCheckProcesses=true
+# Check for updates in testing repositories when we chack for updates
+#
+# NOTE: Don't enable this if you do not want testing updates to be checked
+# as this will increase the network bandwidth used.
+#
+# default=true
+CheckTestingRepos=true
+
commit e7d4c227c74b7ff7d7eb8d89a319579f2225bbaf
Merge: cdfb790... 57b216b...
Author: Valeriy Lyasotskiy <onestep at ukr.net>
Date: Wed Dec 10 19:42:16 2008 +0200
Merge branch 'master' of git+ssh://onestep_ua@git.packagekit.org/srv/git/PackageKit
commit 23ed7d93ea6b078b04f830459f80ce92092b24da
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Dec 10 16:28:42 2008 +0000
yum: catch another exception from yum when doing self.yumbase.comps.return_group, possibly triggered by deselecting all sources
diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index 8504639..177af47 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -446,6 +446,8 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
grp = self.yumbase.comps.return_group(grpid)
except yum.Errors.RepoError, e:
self.error(ERROR_NO_CACHE, _to_unicode(e))
+ except yum.Errors.GroupsError, e:
+ self.error(ERROR_GROUP_NOT_FOUND, _to_unicode(e))
except Exception, e:
self.error(ERROR_INTERNAL_ERROR, _to_unicode(e))
else:
commit 57b216b991421cef5f83847234500e3f02474366
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Dec 10 15:17:02 2008 +0000
trivial: post release version bump
diff --git a/configure.ac b/configure.ac
index aedd0bf..84eb7fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ(2.52)
-AC_INIT(PackageKit, 0.4.0)
+AC_INIT(PackageKit, 0.4.1)
AC_CONFIG_SRCDIR(src)
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
AM_CONFIG_HEADER(config.h)
commit 56bbfb692c7c2ff9d4158d30aaead0947da9bb76
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 11:38:45 2008 +0100
APT: Add check for updates, add numbers to the test name to make them sortable, use variables where possible for internal strings
diff --git a/backends/apt/tests.py b/backends/apt/tests.py
index bf8bb89..09531bd 100755
--- a/backends/apt/tests.py
+++ b/backends/apt/tests.py
@@ -54,7 +54,7 @@ class AptBackendTestCase(mox.MoxTestBase):
self.mox.StubOutWithMock(self.backend, cb)
@nose.tools.timed(10)
- def testInit(self):
+ def test_00_Init(self):
"""Test the initialization"""
self.mox.ReplayAll()
self.backend.Init()
@@ -72,7 +72,7 @@ class AptBackendTestCase(mox.MoxTestBase):
self.assertEqual(pkg.candidateVersion, "235-1")
@nose.tools.timed(10)
- def testRefresh(self):
+ def test_01_Refresh(self):
"""Test the Refresh of the cache method"""
self.backend.Finished(EXIT_SUCCESS)
self.mox.ReplayAll()
@@ -83,27 +83,39 @@ class AptBackendTestCase(mox.MoxTestBase):
self.assertTrue(self.backend._cache.has_key("synaptic"))
@nose.tools.timed(10)
- def testSearchName(self):
+ def test_20_SearchName(self):
"""Test the doSearchName method"""
- self.backend.Package('installed', 'xterm;235-1;i386;',
- 'X terminal emulator')
+ self.backend.Package(INFO_INSTALLED, "xterm;235-1;i386;",
+ "X terminal emulator")
self.backend.Finished(EXIT_SUCCESS)
self.mox.ReplayAll()
- self.backend.doSearchName("none", "xterm")
+ self.backend.doSearchName(FILTER_NONE, "xterm")
while threading.activeCount() > 1:
time.sleep(0.1)
@nose.tools.timed(10)
- def testSearchFile(self):
+ def test_20_SearchFile(self):
"""Test the doSearchFile method"""
- self.backend.Package('installed', 'xterm;235-1;i386;',
- 'X terminal emulator')
+ self.backend.Package(INFO_INSTALLED, "xterm;235-1;i386;",
+ "X terminal emulator")
self.backend.Finished(EXIT_SUCCESS)
self.mox.ReplayAll()
- self.backend.doSearchFile("none", "xterm")
+ self.backend.doSearchFile(FILTER_NONE, "bin/xterm")
while threading.activeCount() > 1:
time.sleep(0.1)
+ @nose.tools.timed(10)
+ def test_20_GetUpdates(self):
+ """Test the doGetUpdates method"""
+ self.backend.Package(INFO_NORMAL, "xterm;237-1;i386;",
+ "X terminal emulator")
+ self.backend.Finished(EXIT_SUCCESS)
+ self.mox.ReplayAll()
+ self.backend.doGetUpdates(FILTER_NONE)
+ while threading.activeCount() > 1:
+ time.sleep(0.1)
+
+
def setup():
"""Create a temporary and very simple chroot for apt"""
apt_pkg.InitConfig()
commit fed8c107bd19ec5fb7e81d3019f9bda67132f9e4
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 11:28:22 2008 +0100
APT: Register callbacks centrally for the test
diff --git a/backends/apt/tests.py b/backends/apt/tests.py
index 0ec6f43..bf8bb89 100755
--- a/backends/apt/tests.py
+++ b/backends/apt/tests.py
@@ -50,6 +50,8 @@ class AptBackendTestCase(mox.MoxTestBase):
"""Create a mox factory and a backend instance"""
mox.MoxTestBase.setUp(self)
self.backend = PackageKitAptBackend(None, None)
+ for cb in ["Package", "Finished"]:
+ self.mox.StubOutWithMock(self.backend, cb)
@nose.tools.timed(10)
def testInit(self):
@@ -72,7 +74,6 @@ class AptBackendTestCase(mox.MoxTestBase):
@nose.tools.timed(10)
def testRefresh(self):
"""Test the Refresh of the cache method"""
- self.mox.StubOutWithMock(self.backend, "Finished")
self.backend.Finished(EXIT_SUCCESS)
self.mox.ReplayAll()
self.backend.doRefreshCache(False)
@@ -84,9 +85,9 @@ class AptBackendTestCase(mox.MoxTestBase):
@nose.tools.timed(10)
def testSearchName(self):
"""Test the doSearchName method"""
- self.mox.StubOutWithMock(self.backend, "Package")
self.backend.Package('installed', 'xterm;235-1;i386;',
'X terminal emulator')
+ self.backend.Finished(EXIT_SUCCESS)
self.mox.ReplayAll()
self.backend.doSearchName("none", "xterm")
while threading.activeCount() > 1:
@@ -95,9 +96,9 @@ class AptBackendTestCase(mox.MoxTestBase):
@nose.tools.timed(10)
def testSearchFile(self):
"""Test the doSearchFile method"""
- self.mox.StubOutWithMock(self.backend, "Package")
self.backend.Package('installed', 'xterm;235-1;i386;',
'X terminal emulator')
+ self.backend.Finished(EXIT_SUCCESS)
self.mox.ReplayAll()
self.backend.doSearchFile("none", "xterm")
while threading.activeCount() > 1:
commit 56a80151586a1b1a0964d954dd75f625ae84b155
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 11:21:25 2008 +0100
APT: Fix refresh: After calling refresh the cache has to be reopened
diff --git a/backends/apt/aptDBUSBackend.py b/backends/apt/aptDBUSBackend.py
index 9281850..df1173e 100755
--- a/backends/apt/aptDBUSBackend.py
+++ b/backends/apt/aptDBUSBackend.py
@@ -1331,6 +1331,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self.ErrorCode(ERROR_UNKNOWN, "Refreshing cache failed: %s" % e)
self.Finished(EXIT_FAILED)
return
+ self._open_cache(prange=(95,100))
self.PercentageChanged(100)
self.Finished(EXIT_SUCCESS)
commit 2716c79a251913beed2a72dad396cc2cc582f75c
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 11:21:04 2008 +0100
APT: Add a test repository Packages file
diff --git a/backends/apt/Packages.test b/backends/apt/Packages.test
new file mode 100644
index 0000000..b696056
--- /dev/null
+++ b/backends/apt/Packages.test
@@ -0,0 +1,71 @@
+Package: xterm
+Priority: optional
+Section: x11
+Installed-Size: 1112
+Maintainer: Debian X Strike Force <debian-x at lists.debian.org>
+Architecture: i386
+Version: 237-1
+Provides: x-terminal-emulator
+Suggests: xfonts-cyrillic
+Filename: pool/main/x/xterm/xterm_235-1_i386.deb
+Size: 466530
+MD5sum: ec97de9afffcbc5932dddfa9090f6fbe
+SHA1: 7aedb7fc5dd906ad35246cf7442e250311aa2130
+SHA256: 517f01858734b253584c28bb9951acbb6a082d1274c6ec6c079f7567bf067d71
+Description: X terminal emulator
+ xterm is a terminal emulator for the X Window System. It provides DEC VT102
+ and Tektronix 4014 compatible terminals for programs that cannot use the
+ window system directly. This version implements ISO/ANSI colors and most of
+ the control sequences used by DEC VT220 terminals.
+ .
+ This package provides four commands: xterm, which is the traditional
+ terminal emulator; uxterm, which is a wrapper around xterm that is
+ intelligent about locale settings (especially those which use the UTF-8
+ character encoding), but which requires the luit program from the x11-utils
+ package; koi8rxterm, a wrapper similar to uxterm for locales that use the
+ KOI8-R character set; and lxterm, a simple wrapper that chooses which of the
+ previous commands to execute based on the user's locale settings.
+ .
+ A complete list of control sequences supported by the X terminal emulator
+ is provided in /usr/share/doc/xterm.
+ .
+ The xterm program uses bitmap images provided by the xbitmaps package.
+ .
+ Those interested in using koi8rxterm will likely want to install the
+ xfonts-cyrillic package as well.
+Homepage: http://invisible-island.net/xterm/xterm.html
+Tag: implemented-in::c, interface::x11, role::program, scope::utility, uitoolkit::athena, x11::application, x11::terminal
+Task: desktop
+
+Package: synaptic
+Priority: optional
+Section: admin
+Installed-Size: 5812
+Maintainer: Michael Vogt <mvo at debian.org>
+Architecture: i386
+Version: 0.62.1
+Replaces: gsynaptic
+Provides: gsynaptic
+Depends: xterm
+Suggests: dwww
+Conflicts: gsynaptic, menu (<< 2.1.11)
+Filename: pool/main/s/synaptic/synaptic_0.62.1_i386.deb
+Size: 2094122
+MD5sum: 91b86003eea53002e0c2a0ea50596e37
+SHA1: e533c3345911d5c8471b54a8a7b51ae52e59982b
+SHA256: a399168d801efa1616d7b1178b4c3eda70c612716374411708d05956f3c99874
+Description: Graphical package manager
+ Synaptic is a graphical package management tool based on GTK+ and APT.
+ Synaptic enables you to install, upgrade and remove software packages in
+ a user friendly way.
+ .
+ Besides these basic functions the following features are provided:
+ * Search and filter the list of available packages
+ * Perform smart system upgrades
+ * Fix broken package dependencies
+ * Edit the list of used repositories (sources.list)
+ * Download the latest changelog of a package
+ * Configure packages through the debconf system
+ * Browse all available documentation related to a package (dwww is required)
+Tag: admin::package-management, implemented-in::c++, interface::x11, role::program, scope::application, suite::debian, uitoolkit::gtk, works-with::software:package, x11::application
+
commit b107014b81e08c2879d2362c299d20c68d53ab1b
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 11:20:39 2008 +0100
APT: Fix status test file by removing all dependencies of xterm
diff --git a/backends/apt/status.test b/backends/apt/status.test
index 3617e09..2bba0ae 100644
--- a/backends/apt/status.test
+++ b/backends/apt/status.test
@@ -7,8 +7,6 @@ Maintainer: Debian X Strike Force <debian-x at lists.debian.org>
Architecture: i386
Version: 235-1
Provides: x-terminal-emulator
-Depends: xbitmaps, libc6 (>= 2.7-1), libfontconfig1 (>= 2.4.0), libice6 (>= 1:1.0.0), libncurses5 (>= 5.6+20071006-3), libsm6, libx11-6, libxaw7, libxext6, libxft2 (>> 2.1.1), libxmu6, libxt6
-Recommends: x11-utils | xutils
Suggests: xfonts-cyrillic
Conffiles:
/etc/X11/app-defaults/KOI8RXTerm dd942bff017ee9cfc2bb97bbdd7378b6
commit 05aa4adecffd183fdf087feccaf02f7e2fd53d4e
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 11:19:57 2008 +0100
APT: Add test for doInit and doRefresh
diff --git a/backends/apt/tests.py b/backends/apt/tests.py
index 4792fa9..0ec6f43 100755
--- a/backends/apt/tests.py
+++ b/backends/apt/tests.py
@@ -52,6 +52,36 @@ class AptBackendTestCase(mox.MoxTestBase):
self.backend = PackageKitAptBackend(None, None)
@nose.tools.timed(10)
+ def testInit(self):
+ """Test the initialization"""
+ self.mox.ReplayAll()
+ self.backend.Init()
+ while threading.activeCount() > 1:
+ time.sleep(0.1)
+ binary = os.path.join(TEMPDIR,
+ apt_pkg.Config["Dir::Cache"],
+ apt_pkg.Config["Dir::Cache::pkgcache"])
+ source = os.path.join(TEMPDIR,
+ apt_pkg.Config["Dir::Cache"],
+ apt_pkg.Config["Dir::Cache::srcpkgcache"])
+ self.assertTrue(os.path.exists(source))
+ self.assertTrue(os.path.exists(binary))
+ pkg = self.backend._cache["xterm"]
+ self.assertEqual(pkg.candidateVersion, "235-1")
+
+ @nose.tools.timed(10)
+ def testRefresh(self):
+ """Test the Refresh of the cache method"""
+ self.mox.StubOutWithMock(self.backend, "Finished")
+ self.backend.Finished(EXIT_SUCCESS)
+ self.mox.ReplayAll()
+ self.backend.doRefreshCache(False)
+ while threading.activeCount() > 1:
+ time.sleep(0.1)
+ self.assertEqual(self.backend._cache["xterm"].candidateVersion, "237-1")
+ self.assertTrue(self.backend._cache.has_key("synaptic"))
+
+ @nose.tools.timed(10)
def testSearchName(self):
"""Test the doSearchName method"""
self.mox.StubOutWithMock(self.backend, "Package")
@@ -77,15 +107,24 @@ def setup():
"""Create a temporary and very simple chroot for apt"""
apt_pkg.InitConfig()
config = apt_pkg.Config
+ config.Set("Dir::Etc::sourcelist",
+ os.path.join(TEMPDIR, "etc/apt/sources.list"))
+ config.Set("Dir::Etc::sourceparts", "")
config.Set("Dir", TEMPDIR)
config.Set("Dir::State::status",
os.path.join(TEMPDIR, "var/lib/dpkg/status"))
- os.makedirs(os.path.join(TEMPDIR, "var/lib/apt/lists"))
- os.makedirs(os.path.join(TEMPDIR, "var/cache/apt/partial"))
+ os.makedirs(os.path.join(TEMPDIR, "var/lib/apt/lists/partial"))
+ os.makedirs(os.path.join(TEMPDIR, "var/cache/apt/archives/partial"))
os.makedirs(os.path.join(TEMPDIR, "var/lib/dpkg/info"))
+ os.makedirs(os.path.join(TEMPDIR, "etc/apt"))
+ os.makedirs(os.path.join(TEMPDIR, "repo"))
+ shutil.copy("Packages.test", os.path.join(TEMPDIR, "repo/Packages"))
shutil.copy("status.test", os.path.join(TEMPDIR, "var/lib/dpkg/status"))
shutil.copy("xterm.list.test", os.path.join(TEMPDIR,
"var/lib/dpkg/info/xterm.list"))
+ sources = open(os.path.join(TEMPDIR, "etc/apt/sources.list"), "w")
+ sources.write("deb file://%s/repo/ ./\n" % TEMPDIR)
+ sources.close()
def teardown():
commit 2507c9f2fff0e190ff0c5da06d81b3644b1bf46d
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 08:48:18 2008 +0100
APT: Shorten wait for join of test threads
diff --git a/backends/apt/tests.py b/backends/apt/tests.py
index 1aa1bfe..4792fa9 100755
--- a/backends/apt/tests.py
+++ b/backends/apt/tests.py
@@ -60,7 +60,7 @@ class AptBackendTestCase(mox.MoxTestBase):
self.mox.ReplayAll()
self.backend.doSearchName("none", "xterm")
while threading.activeCount() > 1:
- time.sleep(1)
+ time.sleep(0.1)
@nose.tools.timed(10)
def testSearchFile(self):
@@ -71,7 +71,7 @@ class AptBackendTestCase(mox.MoxTestBase):
self.mox.ReplayAll()
self.backend.doSearchFile("none", "xterm")
while threading.activeCount() > 1:
- time.sleep(1)
+ time.sleep(0.1)
def setup():
"""Create a temporary and very simple chroot for apt"""
commit 842472a2391f0a53b5a3461e42bf26467eb24811
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 08:44:02 2008 +0100
APT: Do not register the test backend on the dbus
diff --git a/backends/apt/tests.py b/backends/apt/tests.py
index 0cfe4c2..1aa1bfe 100755
--- a/backends/apt/tests.py
+++ b/backends/apt/tests.py
@@ -35,15 +35,11 @@ import unittest
import apt
import apt_pkg
-import dbus
-import dbus.mainloop.glib
-import gobject
import mox
import nose.tools
-from aptDBUSBackend import PackageKitAptBackend, PACKAGEKIT_DBUS_SERVICE
+from aptDBUSBackend import PackageKitAptBackend
from packagekit.enums import *
-from packagekit.daemonBackend import PACKAGEKIT_DBUS_INTERFACE, PACKAGEKIT_DBUS_PATH
TEMPDIR = tempfile.mkdtemp(prefix="apt-backend-test")
@@ -53,17 +49,7 @@ class AptBackendTestCase(mox.MoxTestBase):
def setUp(self):
"""Create a mox factory and a backend instance"""
mox.MoxTestBase.setUp(self)
- dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
- bus = dbus.SessionBus()
- bus_name = dbus.service.BusName(PACKAGEKIT_DBUS_SERVICE, bus=bus)
- self.backend = PackageKitAptBackend(bus_name, PACKAGEKIT_DBUS_PATH)
- self.loop = gobject.MainLoop()
-
- def tearDown(self):
- mox.MoxTestBase.tearDown(self)
- context = self.loop.get_context()
- while context.pending():
- context.iteration()
+ self.backend = PackageKitAptBackend(None, None)
@nose.tools.timed(10)
def testSearchName(self):
@@ -87,7 +73,6 @@ class AptBackendTestCase(mox.MoxTestBase):
while threading.activeCount() > 1:
time.sleep(1)
-
def setup():
"""Create a temporary and very simple chroot for apt"""
apt_pkg.InitConfig()
@@ -102,6 +87,7 @@ def setup():
shutil.copy("xterm.list.test", os.path.join(TEMPDIR,
"var/lib/dpkg/info/xterm.list"))
+
def teardown():
"""Clear up temporary files"""
if os.path.exists(TEMPDIR):
commit f3f05a2f99a6edbdc0d9f0dbaba6d5bb39e177eb
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 08:27:31 2008 +0100
APT: Add a test for file search
diff --git a/backends/apt/tests.py b/backends/apt/tests.py
index b98486e..0cfe4c2 100755
--- a/backends/apt/tests.py
+++ b/backends/apt/tests.py
@@ -76,6 +76,18 @@ class AptBackendTestCase(mox.MoxTestBase):
while threading.activeCount() > 1:
time.sleep(1)
+ @nose.tools.timed(10)
+ def testSearchFile(self):
+ """Test the doSearchFile method"""
+ self.mox.StubOutWithMock(self.backend, "Package")
+ self.backend.Package('installed', 'xterm;235-1;i386;',
+ 'X terminal emulator')
+ self.mox.ReplayAll()
+ self.backend.doSearchFile("none", "xterm")
+ while threading.activeCount() > 1:
+ time.sleep(1)
+
+
def setup():
"""Create a temporary and very simple chroot for apt"""
apt_pkg.InitConfig()
@@ -85,8 +97,10 @@ def setup():
os.path.join(TEMPDIR, "var/lib/dpkg/status"))
os.makedirs(os.path.join(TEMPDIR, "var/lib/apt/lists"))
os.makedirs(os.path.join(TEMPDIR, "var/cache/apt/partial"))
- os.makedirs(os.path.join(TEMPDIR, "var/lib/dpkg"))
+ os.makedirs(os.path.join(TEMPDIR, "var/lib/dpkg/info"))
shutil.copy("status.test", os.path.join(TEMPDIR, "var/lib/dpkg/status"))
+ shutil.copy("xterm.list.test", os.path.join(TEMPDIR,
+ "var/lib/dpkg/info/xterm.list"))
def teardown():
"""Clear up temporary files"""
diff --git a/backends/apt/xterm.list.test b/backends/apt/xterm.list.test
new file mode 100644
index 0000000..4afffb9
--- /dev/null
+++ b/backends/apt/xterm.list.test
@@ -0,0 +1,49 @@
+/.
+/usr
+/usr/bin
+/usr/bin/koi8rxterm
+/usr/bin/lxterm
+/usr/bin/resize
+/usr/bin/uxterm
+/usr/bin/xterm
+/usr/share
+/usr/share/man
+/usr/share/man/man1
+/usr/share/man/man1/lxterm.1.gz
+/usr/share/man/man1/uxterm.1.gz
+/usr/share/man/man1/xterm.1.gz
+/usr/share/man/man1/koi8rxterm.1.gz
+/usr/share/man/man1/resize.1.gz
+/usr/share/lintian
+/usr/share/lintian/overrides
+/usr/share/lintian/overrides/xterm
+/usr/share/doc
+/usr/share/doc/xterm
+/usr/share/doc/xterm/ctlseqs.txt.gz
+/usr/share/doc/xterm/xterm.termcap.gz
+/usr/share/doc/xterm/xterm.log.html
+/usr/share/doc/xterm/xterm.faq.html
+/usr/share/doc/xterm/xterm.faq.gz
+/usr/share/doc/xterm/changelog.Debian.gz
+/usr/share/doc/xterm/README.Debian
+/usr/share/doc/xterm/copyright
+/usr/share/doc/xterm/README.i18n.gz
+/usr/share/doc/xterm/ctlseqs.ms.gz
+/usr/share/doc/xterm/xterm.terminfo.gz
+/usr/share/doc-base
+/usr/share/doc-base/xterm-ctlseqs
+/usr/share/doc-base/xterm-faq
+/usr/share/menu
+/usr/share/menu/xterm
+/usr/share/pixmaps
+/usr/share/pixmaps/xterm-color_32x32.xpm
+/usr/share/pixmaps/xterm-color_48x48.xpm
+/usr/share/pixmaps/xterm_32x32.xpm
+/usr/share/pixmaps/xterm_48x48.xpm
+/etc
+/etc/X11
+/etc/X11/app-defaults
+/etc/X11/app-defaults/KOI8RXTerm
+/etc/X11/app-defaults/UXTerm
+/etc/X11/app-defaults/XTerm
+/etc/X11/app-defaults/XTerm-color
commit fa40140f8d0b7793585c0656cafc872dbb5b5c2c
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 08:24:32 2008 +0100
APT: Iterate over all pending events in the main loop during tests to allow the dbus object to unregister
diff --git a/backends/apt/tests.py b/backends/apt/tests.py
index ec63a2e..b98486e 100755
--- a/backends/apt/tests.py
+++ b/backends/apt/tests.py
@@ -37,6 +37,7 @@ import apt
import apt_pkg
import dbus
import dbus.mainloop.glib
+import gobject
import mox
import nose.tools
@@ -52,10 +53,17 @@ class AptBackendTestCase(mox.MoxTestBase):
def setUp(self):
"""Create a mox factory and a backend instance"""
mox.MoxTestBase.setUp(self)
- loop = dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
- bus = dbus.SessionBus(mainloop=loop)
+ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+ bus = dbus.SessionBus()
bus_name = dbus.service.BusName(PACKAGEKIT_DBUS_SERVICE, bus=bus)
self.backend = PackageKitAptBackend(bus_name, PACKAGEKIT_DBUS_PATH)
+ self.loop = gobject.MainLoop()
+
+ def tearDown(self):
+ mox.MoxTestBase.tearDown(self)
+ context = self.loop.get_context()
+ while context.pending():
+ context.iteration()
@nose.tools.timed(10)
def testSearchName(self):
commit 40a8c0f7d14c4b87db952f92187f718dfbe266e9
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 08:18:25 2008 +0100
APT: Do not report a package twice if the file search string matches more than once
diff --git a/backends/apt/aptDBUSBackend.py b/backends/apt/aptDBUSBackend.py
index 87c7399..9281850 100755
--- a/backends/apt/aptDBUSBackend.py
+++ b/backends/apt/aptDBUSBackend.py
@@ -555,7 +555,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
for installed_file in self._get_installed_files(pkg):
if filename in installed_file:
self._emit_visible_package(filters, pkg)
- continue
+ break
self.Finished(EXIT_SUCCESS)
@serialize
commit 2d67f19bfae2eacbb70ce9c96ed8abd7501e12c3
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 07:47:44 2008 +0100
APT: Use the root of apt to search for files
diff --git a/backends/apt/aptDBUSBackend.py b/backends/apt/aptDBUSBackend.py
index a30bcf1..87c7399 100755
--- a/backends/apt/aptDBUSBackend.py
+++ b/backends/apt/aptDBUSBackend.py
@@ -1931,7 +1931,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
This method should be obsolete by the apt.package.Package.installedFiles
attribute as soon as the consolidate branch of python-apt gets merged
"""
- path = "/var/lib/dpkg/info/%s.list" % pkg.name
+ path = os.path.join(apt_pkg.Config["Dir"],
+ "var/lib/dpkg/info/%s.list" % pkg.name)
try:
list = open(path)
files = list.read().decode().split("\n")
commit 935d929773ded2776ebb477feb231997c0de7b32
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 07:44:12 2008 +0100
APT: Start a new testing framework using mox and nose - Google's toilettes are really a source of inspiration
diff --git a/backends/apt/status.test b/backends/apt/status.test
new file mode 100644
index 0000000..3617e09
--- /dev/null
+++ b/backends/apt/status.test
@@ -0,0 +1,40 @@
+Package: xterm
+Status: install ok installed
+Priority: optional
+Section: x11
+Installed-Size: 1112
+Maintainer: Debian X Strike Force <debian-x at lists.debian.org>
+Architecture: i386
+Version: 235-1
+Provides: x-terminal-emulator
+Depends: xbitmaps, libc6 (>= 2.7-1), libfontconfig1 (>= 2.4.0), libice6 (>= 1:1.0.0), libncurses5 (>= 5.6+20071006-3), libsm6, libx11-6, libxaw7, libxext6, libxft2 (>> 2.1.1), libxmu6, libxt6
+Recommends: x11-utils | xutils
+Suggests: xfonts-cyrillic
+Conffiles:
+ /etc/X11/app-defaults/KOI8RXTerm dd942bff017ee9cfc2bb97bbdd7378b6
+ /etc/X11/app-defaults/UXTerm 952670ddfbb90d0a7c36e87e7a796595
+ /etc/X11/app-defaults/XTerm ec0c680b99b0f69f8d5d3318bd1a862e
+ /etc/X11/app-defaults/XTerm-color 657eb990e33aeddb17c7e2185321878c
+Description: X terminal emulator
+ xterm is a terminal emulator for the X Window System. It provides DEC VT102
+ and Tektronix 4014 compatible terminals for programs that cannot use the
+ window system directly. This version implements ISO/ANSI colors and most of
+ the control sequences used by DEC VT220 terminals.
+ .
+ This package provides four commands: xterm, which is the traditional
+ terminal emulator; uxterm, which is a wrapper around xterm that is
+ intelligent about locale settings (especially those which use the UTF-8
+ character encoding), but which requires the luit program from the x11-utils
+ package; koi8rxterm, a wrapper similar to uxterm for locales that use the
+ KOI8-R character set; and lxterm, a simple wrapper that chooses which of the
+ previous commands to execute based on the user's locale settings.
+ .
+ A complete list of control sequences supported by the X terminal emulator
+ is provided in /usr/share/doc/xterm.
+ .
+ The xterm program uses bitmap images provided by the xbitmaps package.
+ .
+ Those interested in using koi8rxterm will likely want to install the
+ xfonts-cyrillic package as well.
+Homepage: http://invisible-island.net/xterm/xterm.html
+
diff --git a/backends/apt/test.py b/backends/apt/test.py
deleted file mode 100755
index 9a2d716..0000000
--- a/backends/apt/test.py
+++ /dev/null
@@ -1,156 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-"""
-Provides unit test of the apt backend of PackageKit
-
-Copyright (C) 2008 Sebastian Heinlein <glatzor at ubuntu.com>
-
-Licensed under the GNU General Public License Version 2
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-Licensed under the GNU General Public License Version 2
-"""
-
-__author__ = "Sebastian Heinlein <devel at glatzor.de>"
-
-import os
-import shutil
-import subprocess
-import time
-import unittest
-
-import apt
-import dbus
-import gobject
-
-import apt
-import apt_pkg
-import aptDBUSBackend
-from packagekit.enums import *
-import packagekit.client
-
-PKG_ID = 'yum;3.2.12-1.2;i386;Debian'
-
-apt_pkg.InitConfig()
-root = os.path.join(os.getcwd(), "testroot")
-config = apt_pkg.Config
-config.Set("Dir", root)
-config.Set("Dir::State::status",
- os.path.join(root, "/var/lib/dpkg/status"))
-
-class AptBackendTestCase(unittest.TestCase):
-
- def setUp(self):
- """
- Setup the package client which tiggers the tests and an apt cache to
- compare the results
- """
- self.running = True
- self.pk = packagekit.client.PackageKitClient()
- self.cache = apt.Cache()
- self.cache.open(None)
-
- def tearDown(self):
- """
- Completely remove the client interface and the cache
- """
- del(self.pk)
- del(self.cache)
-
- def _setUpChroot(self):
- if os.path.exists("testroot/"):
- shutil.rmtree("testroot/")
-
- def testGetUpdates(self):
- """
- Perfrom a call of GetUpdates and compare the results to the ones from
- an apt cache implementation
-
- FIXME: Should smart be used here instead of apt?
- """
- # Get updates from packagekit
- pkgs = self.pk.GetUpdates()
- # get updates from apt
- self.cache.upgrade()
- blocked = map(lambda p: p.name,
- filter(lambda p: p.isUpgradable and not p.markedUpgrade,
- self.cache))
- marked = map(lambda p: p.name, self.cache.getChanges())
- for p in pkgs:
- name = p.id.split(";")[0]
- if p.info == INFO_BLOCKED:
- if name in blocked:
- blocked.remove(name)
- else:
- self.fail("PackageKit reported a blocked update in "
- "contrast to apt")
- else:
- if name in marked:
- marked.remove(name)
- else:
- self.fail("PackageKit returned an update in "
- "contrast to apt")
- self.assertTrue(marked == blocked == [],
- "PackageKit didn't return all updates:"
- "blocked: %s, available: %s" % (blocked, marked))
-
- def testResolve(self):
- """
- Check if PackageKit can resolve the package name xterm to a correct
- package id
- """
- pkgs = self.pk.Resolve("none", "xterm")
- self.failUnless(len(pkgs) == 1 and pkgs[0].id.startswith("xterm;"),
- "PackageKit returned wrong package(s) for xterm:"
- "%s" % pkgs)
-
- def testInstallPackages(self):
- """
- Check installation of a package
- """
- if self.cache["yum"].isInstalled:
- self.pk.RemovePackages([PKG_ID], self._callback)
- self.pk.InstallPackages([PKG_ID], self._callback)
- self.cache.open(None)
- self.assertTrue(self.cache["yum"].isInstalled,
- "yum was not installed")
-
- def testRemovePackages(self):
- """
- Check removal of a package
- """
- if not self.cache["yum"].isInstalled:
- self.pk.InstallPackages([PKG_ID], self._callback)
- self.pk.RemovePackages([PKG_ID], self._callback)
- self.cache.open(None)
- self.assertFalse(self.cache["yum"].isInstalled,
- "yum is still installed")
-
- def _callback(self, status, percentage, subpercentage, elapsed,
- remaining, allow_cancel):
- """
- Callback for packagekit methods which take a long time.
- This method isn't currently of any use
- """
- return True
-
-
-def main():
- unittest.main()
-
-if __name__ == '__main__':
- main()
-
-# vim: ts=4 et sts=4
diff --git a/backends/apt/test.sh b/backends/apt/test.sh
new file mode 100755
index 0000000..425ec0b
--- /dev/null
+++ b/backends/apt/test.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+nosetests --with-coverage --cover-package=aptDBUSBackend --pdb tests.py
diff --git a/backends/apt/tests.py b/backends/apt/tests.py
new file mode 100755
index 0000000..ec63a2e
--- /dev/null
+++ b/backends/apt/tests.py
@@ -0,0 +1,95 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+Provides unit test of the apt backend of PackageKit
+
+Copyright (C) 2008 Sebastian Heinlein <glatzor at ubuntu.com>
+
+Licensed under the GNU General Public License Version 2
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+Licensed under the GNU General Public License Version 2
+"""
+
+__author__ = "Sebastian Heinlein <devel at glatzor.de>"
+
+import threading
+import time
+import os
+import shutil
+import sys
+import tempfile
+import unittest
+
+import apt
+import apt_pkg
+import dbus
+import dbus.mainloop.glib
+import mox
+import nose.tools
+
+from aptDBUSBackend import PackageKitAptBackend, PACKAGEKIT_DBUS_SERVICE
+from packagekit.enums import *
+from packagekit.daemonBackend import PACKAGEKIT_DBUS_INTERFACE, PACKAGEKIT_DBUS_PATH
+
+TEMPDIR = tempfile.mkdtemp(prefix="apt-backend-test")
+
+class AptBackendTestCase(mox.MoxTestBase):
+ """Test suite for the APT backend"""
+
+ def setUp(self):
+ """Create a mox factory and a backend instance"""
+ mox.MoxTestBase.setUp(self)
+ loop = dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+ bus = dbus.SessionBus(mainloop=loop)
+ bus_name = dbus.service.BusName(PACKAGEKIT_DBUS_SERVICE, bus=bus)
+ self.backend = PackageKitAptBackend(bus_name, PACKAGEKIT_DBUS_PATH)
+
+ @nose.tools.timed(10)
+ def testSearchName(self):
+ """Test the doSearchName method"""
+ self.mox.StubOutWithMock(self.backend, "Package")
+ self.backend.Package('installed', 'xterm;235-1;i386;',
+ 'X terminal emulator')
+ self.mox.ReplayAll()
+ self.backend.doSearchName("none", "xterm")
+ while threading.activeCount() > 1:
+ time.sleep(1)
+
+def setup():
+ """Create a temporary and very simple chroot for apt"""
+ apt_pkg.InitConfig()
+ config = apt_pkg.Config
+ config.Set("Dir", TEMPDIR)
+ config.Set("Dir::State::status",
+ os.path.join(TEMPDIR, "var/lib/dpkg/status"))
+ os.makedirs(os.path.join(TEMPDIR, "var/lib/apt/lists"))
+ os.makedirs(os.path.join(TEMPDIR, "var/cache/apt/partial"))
+ os.makedirs(os.path.join(TEMPDIR, "var/lib/dpkg"))
+ shutil.copy("status.test", os.path.join(TEMPDIR, "var/lib/dpkg/status"))
+
+def teardown():
+ """Clear up temporary files"""
+ if os.path.exists(TEMPDIR):
+ shutil.rmtree(TEMPDIR)
+
+def usage():
+ print "ERROR: Run ./test.sh instead"
+ sys.exit(1)
+
+if __name__ == "__main__":
+ usage()
+
+# vim: ts=4 et sts=4
commit f890a0a421387888eb2468ee889988f36ff36db6
Merge: a4136be... d2a4e4b...
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 06:30:54 2008 +0100
Merge branch 'master' of git+ssh://glatzor@git.packagekit.org/srv/git/PackageKit
commit a4136be320a58c9c9aee441443a38fb8fcb95d64
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 06:30:24 2008 +0100
APT: Fix order of locking and threading
diff --git a/backends/apt/aptDBUSBackend.py b/backends/apt/aptDBUSBackend.py
index 87b2649..a30bcf1 100755
--- a/backends/apt/aptDBUSBackend.py
+++ b/backends/apt/aptDBUSBackend.py
@@ -535,8 +535,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._canceled.set()
self._canceled.wait()
- @threaded
@serialize
+ @threaded
def doSearchFile(self, filters, filename):
'''
Implement the apt2-search-file functionality
@@ -558,8 +558,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
continue
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doSearchGroup(self, filters, group):
'''
Implement the apt2-search-group functionality
@@ -576,8 +576,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._emit_visible_package(filters, pkg)
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doSearchName(self, filters, search):
'''
Implement the apt2-search-name functionality
@@ -594,8 +594,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._emit_visible_package(filters, pkg)
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doSearchDetails(self, filters, search):
'''
Implement the apt2-search-details functionality
@@ -639,8 +639,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doGetDistroUpgrades(self):
'''
Implement the {backend}-get-distro-upgrades functionality
@@ -676,8 +676,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
"The latest stable release")
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doGetUpdates(self, filters):
'''
Implement the {backend}-get-update functionality
@@ -743,8 +743,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._cache.clear()
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doGetUpdateDetail(self, pkg_ids):
'''
Implement the {backend}-get-update-details functionality
@@ -802,8 +802,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
changelog, state, issued, updated)
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doGetDetails(self, pkg_ids):
'''
Implement the {backend}-get-details functionality
@@ -835,8 +835,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
pkg.homepage, pkg.packageSize)
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
@unlock_cache_afterwards
def doUpdateSystem(self):
'''
@@ -860,8 +860,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self.PercentageChanged(100)
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
@unlock_cache_afterwards
def doRemovePackages(self, ids, deps=True, auto=False):
'''
@@ -911,8 +911,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self.PercentageChanged(100)
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doGetRepoList(self, filters):
'''
Implement the {backend}-get-repo-list functionality
@@ -992,8 +992,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self.RepoDetail(repo_id, description, enabled)
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doRepoEnable(self, repo_id, enable):
'''
Implement the {backend}-repo-enable functionality
@@ -1079,8 +1079,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
return
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
@unlock_cache_afterwards
def doUpdatePackages(self, ids):
'''
@@ -1127,8 +1127,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
pklog.debug("Sending success signal")
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doDownloadPackages(self, ids, dest):
'''
Implement the {backend}-download-packages functionality
@@ -1193,8 +1193,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
pklog.debug("Sending success signal")
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
@unlock_cache_afterwards
def doInstallPackages(self, ids):
'''
@@ -1240,8 +1240,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
pklog.debug("Sending success signal")
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
@unlock_cache_afterwards
def doInstallFiles(self, trusted, full_paths):
'''
@@ -1309,8 +1309,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self.PercentageChanged(100)
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
@unlock_cache_afterwards
def doRefreshCache(self, force):
'''
@@ -1334,8 +1334,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self.PercentageChanged(100)
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doGetPackages(self, filters):
'''
Implement the apt2-get-packages functionality
@@ -1352,8 +1352,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._emit_package(pkg)
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doResolve(self, filters, names):
'''
Implement the apt2-resolve functionality
@@ -1374,8 +1374,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
return
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doGetDepends(self, filter, ids, recursive=False):
'''
Implement the apt2-get-depends functionality
@@ -1442,8 +1442,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._cache.clear()
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doGetRequires(self, filter, ids, recursive=False):
'''
Implement the apt2-get-requires functionality
@@ -1499,8 +1499,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._cache.clear()
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doWhatProvides(self, filters, provides_type, search):
def get_mapping_db(path):
"""
@@ -1588,8 +1588,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
return
self.Finished(EXIT_SUCCESS)
- @threaded
@serialize
+ @threaded
def doGetFiles(self, package_ids):
"""
Emit the Files signal which includes the files included in a package
commit 3737a78f2065d7d00a6ffceca10b63c122e0b584
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 10 06:17:33 2008 +0100
Daemon backend: Separate object creation and running
diff --git a/backends/apt/aptDBUSBackend.py b/backends/apt/aptDBUSBackend.py
index 8d1626f..87b2649 100755
--- a/backends/apt/aptDBUSBackend.py
+++ b/backends/apt/aptDBUSBackend.py
@@ -2183,6 +2183,7 @@ def run():
bus = dbus.SystemBus(mainloop=loop)
bus_name = dbus.service.BusName(PACKAGEKIT_DBUS_SERVICE, bus=bus)
manager = PackageKitAptBackend(bus_name, PACKAGEKIT_DBUS_PATH)
+ manager.run()
def main():
parser = optparse.OptionParser(description="APT backend for PackageKit")
diff --git a/lib/python/packagekit/daemonBackend.py b/lib/python/packagekit/daemonBackend.py
index 6929e26..35ad9f5 100644
--- a/lib/python/packagekit/daemonBackend.py
+++ b/lib/python/packagekit/daemonBackend.py
@@ -171,6 +171,7 @@ class PackageKitBaseBackend(dbus.service.Object):
self.loop = gobject.MainLoop()
+ def run(self):
gobject.timeout_add_seconds(INACTIVE_CHECK_INTERVAL,
self.check_for_inactivity)
self.last_action_time = time.time()
commit d2a4e4b53800b353d10554202836aa8714274551
Author: Fabian Affolter <fabian at bernewireless.net>
Date: Tue Dec 9 22:09:33 2008 +0000
Updated German translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/po/de.po b/po/de.po
index fa640e2..9018279 100644
--- a/po/de.po
+++ b/po/de.po
@@ -14,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: packagekit.master.de\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-11-20 01:35+0000\n"
-"PO-Revision-Date: 2008-11-20 12:45+0100\n"
+"POT-Creation-Date: 2008-11-24 01:31+0000\n"
+"PO-Revision-Date: 2008-12-09 22:43+0100\n"
"Last-Translator: Fabian Affolter <fab at fedoraproject.org>\n"
"Language-Team: German <i18 at redhat.com>\n"
"MIME-Version: 1.0\n"
@@ -23,42 +23,42 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: KBabel 1.11.4\n"
+"X-Poedit-Language: German\n"
#. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:286
+#: ../client/pk-console.c:287
msgid "Details about the update:"
msgstr "Details über die Aktualisierung"
-#: ../client/pk-console.c:479
+#: ../client/pk-console.c:480
msgid "Please restart the computer to complete the update."
-msgstr "Bitte starten Sie den Computer neu, um das Update abzuschlieÃen."
+msgstr "Bitte starten Sie den Computer neu, um das Update abzuschliessen."
-#: ../client/pk-console.c:481
+#: ../client/pk-console.c:482
msgid "Please logout and login to complete the update."
msgstr "Bitte erneut einloggen um das Update abzuschlieÃen."
-#: ../client/pk-console.c:483
-#, fuzzy
+#: ../client/pk-console.c:484
msgid "Please restart the application as it is being used."
msgstr "Starten Sie die Anwendung neu, da sie benutzt wird."
#. TRANSLATORS: The package is already installed on the system
-#: ../client/pk-console.c:595
+#: ../client/pk-console.c:596
#, c-format
-msgid "The package '%s' is already installed"
-msgstr "Das Paket '%s' ist bereits installiert"
+msgid "The package %s is already installed"
+msgstr "Das Paket %s ist bereits installiert"
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:603
+#: ../client/pk-console.c:604
#, c-format
-msgid "The package '%s' could not be installed: %s"
-msgstr "Das Paket '%s' konnte nicht installiert werden: %s"
+msgid "The package %s could not be installed: %s"
+msgstr "Das Paket %s konnte nicht installiert werden: %s"
#. TRANSLATORS: There was a programming error that shouldn't happen. The detailed error follows
-#: ../client/pk-console.c:628
-#: ../client/pk-console.c:655
-#: ../client/pk-console.c:751
-#: ../client/pk-console.c:868
+#: ../client/pk-console.c:629
+#: ../client/pk-console.c:656
+#: ../client/pk-console.c:752
+#: ../client/pk-console.c:869
#: ../client/pk-tools-common.c:61
#: ../client/pk-tools-common.c:79
#: ../client/pk-tools-common.c:86
@@ -67,475 +67,469 @@ msgid "Internal error: %s"
msgstr "Interner Fehler: %s"
#. TRANSLATORS: There was an error installing the packages. The detailed error follows
-#: ../client/pk-console.c:636
-#: ../client/pk-console.c:1263
+#: ../client/pk-console.c:637
+#: ../client/pk-console.c:1264
#, c-format
msgid "This tool could not install the packages: %s"
msgstr "Konnte folgende Pakete nicht installieren: %s"
#. TRANSLATORS: There was an error installing the files. The detailed error follows
-#: ../client/pk-console.c:663
+#: ../client/pk-console.c:664
#, c-format
msgid "This tool could not install the files: %s"
msgstr "Die Dateien konnten nicht installieren werden: %s"
#. TRANSLATORS: The package name was not found in the installed list. The detailed error follows
-#: ../client/pk-console.c:719
+#: ../client/pk-console.c:720
#, c-format
-msgid "This tool could not remove '%s': %s"
-msgstr "Konnte nicht entfernen '%s': %s"
+msgid "This tool could not remove %s: %s"
+msgstr "Dieses Werkzeug konnte %s nicht entfernen: %s"
#. TRANSLATORS: There was an error removing the packages. The detailed error follows
-#: ../client/pk-console.c:742
-#: ../client/pk-console.c:813
+#: ../client/pk-console.c:743
+#: ../client/pk-console.c:781
+#: ../client/pk-console.c:814
#, c-format
msgid "This tool could not remove the packages: %s"
msgstr "Konnte folgende Pakete nicht entfernen: %s"
-#. TRANSLATORS: There was an error removing the packages. The detailed error follows
-#: ../client/pk-console.c:780
-#, c-format
-msgid "This tool could not remove the packages: '%s'"
-msgstr "Dieser Werkzeug konnte das Paket nicht entfernen: '%s'"
-
#. TRANSLATORS: When removing, we might have to remove other dependencies
-#: ../client/pk-console.c:792
+#: ../client/pk-console.c:793
msgid "The following packages have to be removed:"
msgstr "Die folgenden Pakete müssen entfernt werden:"
#. TRANSLATORS: We are checking if it's okay to remove a list of packages
-#: ../client/pk-console.c:799
+#: ../client/pk-console.c:800
msgid "Proceed removing additional packages?"
msgstr "Sollen die zusätzlichen Pakete entfernt werden?"
#. TRANSLATORS: We did not remove any packages
-#: ../client/pk-console.c:804
+#: ../client/pk-console.c:805
msgid "The package removal was canceled!"
msgstr "Die Entfernung der Pakete wurde abgebrochen!"
#. TRANSLATORS: The package name was not found in any software sources
-#: ../client/pk-console.c:845
+#: ../client/pk-console.c:846
#, c-format
-msgid "This tool could not download the package '%s' as it could not be found"
-msgstr "Das Paket '%s' konnte nicht gefunden und heruntergeladen werden"
+msgid "This tool could not download the package %s as it could not be found"
+msgstr "Dieses Werkzeug konnte das Paket %s konnte nicht finden und somit nicht herunterladen"
#. TRANSLATORS: Could not download the packages for some reason. The detailed error follows
-#: ../client/pk-console.c:876
+#: ../client/pk-console.c:877
#, c-format
msgid "This tool could not download the packages: %s"
msgstr "Konnte folgende Pakete nicht herunterladen: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:903
-#: ../client/pk-console.c:912
+#: ../client/pk-console.c:904
+#: ../client/pk-console.c:913
#, c-format
-msgid "This tool could not update '%s': %s"
-msgstr "Konnte nicht aktualisieren '%s': %s"
+msgid "This tool could not update %s: %s"
+msgstr "Dieses Werkzeug konnte %s nicht aktualisieren: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:934
-#: ../client/pk-console.c:942
+#: ../client/pk-console.c:935
+#: ../client/pk-console.c:943
#, c-format
-msgid "This tool could not get the requirements for '%s': %s"
-msgstr "Konnte die Vorraussetzungen nicht bekommen für '%s': %s"
+msgid "This tool could not get the requirements for %s: %s"
+msgstr "Dieses Werkzeug konnte die Voraussetzungen für %s nicht beziehen: %s"
#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
-#: ../client/pk-console.c:964
-#: ../client/pk-console.c:972
+#: ../client/pk-console.c:965
+#: ../client/pk-console.c:973
#, c-format
-msgid "This tool could not get the dependencies for '%s': %s"
-msgstr "Es konnten keine Abhängigkeiten für '%s' gezogen werden: %s"
+msgid "This tool could not get the dependencies for %s: %s"
+msgstr "Dieses Werkzeug konnten keine Abhängigkeiten für %s beziehen: %s"
#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
-#: ../client/pk-console.c:994
-#: ../client/pk-console.c:1002
+#: ../client/pk-console.c:995
+#: ../client/pk-console.c:1003
#, c-format
-msgid "This tool could not get package details for '%s': %s"
-msgstr "Konnte die Paketdetails nicht abrufen für '%s': %s"
+msgid "This tool could not get package details for %s: %s"
+msgstr "Dieses Werkzeug konnte die Paketdetails für %s nicht abrufen: %s"
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1024
+#: ../client/pk-console.c:1025
#, c-format
-msgid "This tool could not find the files for '%s': %s"
-msgstr "Die Dateien für '%s' konnten nicht gefunden werden: %s"
+msgid "This tool could not find the files for %s: %s"
+msgstr "Dieses Werkzeug konnte die Dateien für %s nicht finden: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:1032
+#: ../client/pk-console.c:1033
#, c-format
-msgid "This tool could not get the file list for '%s': %s"
-msgstr "Die Datei-Liste für '%s konnte nicht erstellt werden ': %s"
+msgid "This tool could not get the file list for %s: %s"
+msgstr "Dieses Werkzeug konnte die Datei-Liste für %s nicht beziehen: %s"
#. TRANSLATORS: There was an error getting the list of packages. The filename follows
-#: ../client/pk-console.c:1054
+#: ../client/pk-console.c:1055
#, c-format
msgid "File already exists: %s"
msgstr "Datei bereits vorhanden: %s"
#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1059
-#: ../client/pk-console.c:1115
-#: ../client/pk-console.c:1190
+#: ../client/pk-console.c:1060
+#: ../client/pk-console.c:1116
+#: ../client/pk-console.c:1191
msgid "Getting package list"
msgstr "Beziehe Paket-Liste"
#. TRANSLATORS: There was an error getting the list of packages. The detailed error follows
-#: ../client/pk-console.c:1065
-#: ../client/pk-console.c:1121
-#: ../client/pk-console.c:1196
+#: ../client/pk-console.c:1066
+#: ../client/pk-console.c:1122
+#: ../client/pk-console.c:1197
#, c-format
msgid "This tool could not get package list: %s"
msgstr "Konnte folgende Pakete nicht beziehen: %s"
#. TRANSLATORS: There was an error saving the list
-#: ../client/pk-console.c:1076
+#: ../client/pk-console.c:1077
msgid "Failed to save to disk"
msgstr "Speicher auf die Festplatte fehlgeschlagen"
#. TRANSLATORS: There was an error getting the list. The filename follows
-#: ../client/pk-console.c:1110
-#: ../client/pk-console.c:1185
+#: ../client/pk-console.c:1111
+#: ../client/pk-console.c:1186
#, c-format
msgid "File does not exist: %s"
msgstr "Datei nicht vorhanden: %s"
#. TRANSLATORS: header to a list of packages newly added
-#: ../client/pk-console.c:1142
+#: ../client/pk-console.c:1143
msgid "Packages to add"
msgstr "Paket zum Hinzufügen"
#. TRANSLATORS: header to a list of packages removed
-#: ../client/pk-console.c:1150
+#: ../client/pk-console.c:1151
msgid "Packages to remove"
msgstr "Pakete zum Entfernen"
#. TRANSLATORS: We didn't find any differences
-#: ../client/pk-console.c:1218
+#: ../client/pk-console.c:1219
msgid "No new packages need to be installed"
msgstr "Keine neuen Pakete müssen installiert werden"
#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1224
+#: ../client/pk-console.c:1225
msgid "To install"
-msgstr "ZUm Installieren"
+msgstr "Zum Installieren"
#. TRANSLATORS: searching takes some time....
-#: ../client/pk-console.c:1235
+#: ../client/pk-console.c:1236
msgid "Searching for package: "
msgstr "Suche nach Paket:"
#. TRANSLATORS: package was not found -- this is the end of a string ended in ...
-#: ../client/pk-console.c:1239
+#: ../client/pk-console.c:1240
msgid "not found."
msgstr "nicht gefunden."
#. TRANSLATORS: We didn't find any packages to install
-#: ../client/pk-console.c:1250
+#: ../client/pk-console.c:1251
msgid "No packages can be found to install"
msgstr "Keine Pakete zum Installieren gefunden"
#. TRANSLATORS: installing new packages from package list
-#: ../client/pk-console.c:1256
+#: ../client/pk-console.c:1257
msgid "Installing packages"
msgstr "Installiere Pakete"
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1292
+#: ../client/pk-console.c:1293
#, c-format
-msgid "This tool could not find the update details for '%s': %s"
-msgstr "Es konnten für '%s' keine Aktualisierungsdetails gefunden werden : %s"
+msgid "This tool could not find the update details for %s: %s"
+msgstr "Dieses Werkzeug konnte für %s keine Aktualisierungsdetails finden : %s"
#. TRANSLATORS: There was an error getting the details about the update for the package. The detailed error follows
-#: ../client/pk-console.c:1300
+#: ../client/pk-console.c:1301
#, c-format
-msgid "This tool could not get the update details for '%s': %s"
-msgstr "Es konnten keine Aktualisierungsdetails für '%s' gefunden werden: %s"
+msgid "This tool could not get the update details for %s: %s"
+msgstr "Dieses Werkzeug konnten keine Aktualisierungsdetails für '%s' finden: %s"
#. TRANSLATORS: This was an unhandled error, and we don't have _any_ context
-#: ../client/pk-console.c:1346
+#: ../client/pk-console.c:1347
msgid "Error:"
msgstr "Fehler:"
#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:1360
+#: ../client/pk-console.c:1361
msgid "Package description"
msgstr "Paketbeschreibung"
#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:1393
+#: ../client/pk-console.c:1394
msgid "Package files"
msgstr "Paket-Dateien"
#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:1402
+#: ../client/pk-console.c:1403
msgid "No files"
msgstr "Keine Dateien"
#. TRANSLATORS: This a request for a GPG key signature from the backend, which the client will prompt for later
-#: ../client/pk-console.c:1425
+#: ../client/pk-console.c:1426
msgid "Repository signature required"
msgstr "Signatur der Paketquellen benötigt"
#. TRANSLATORS: This a prompt asking the user to import the security key
-#: ../client/pk-console.c:1435
+#: ../client/pk-console.c:1436
msgid "Do you accept this signature?"
msgstr "Akzeptieren Sie diese Signatur?"
#. TRANSLATORS: This is where the user declined the security key
-#: ../client/pk-console.c:1439
+#: ../client/pk-console.c:1440
msgid "The signature was not accepted."
msgstr "Diese Signatur wurde nicht akzeptiert."
#. TRANSLATORS: This a request for a EULA
-#: ../client/pk-console.c:1473
+#: ../client/pk-console.c:1474
msgid "End user license agreement required"
msgstr "Endbenutzer Lizenzvereinbarung benötigt"
#. TRANSLATORS: This a prompt asking the user to agree to the license
-#: ../client/pk-console.c:1480
+#: ../client/pk-console.c:1481
msgid "Do you agree to this license?"
msgstr "Sind Sie mit dieser Lizenz einverstanden?"
#. TRANSLATORS: This is where the user declined the license
-#: ../client/pk-console.c:1484
+#: ../client/pk-console.c:1485
msgid "The license was refused."
msgstr "Die Lizenz wurde zurückgewiesen."
#. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1513
+#: ../client/pk-console.c:1514
msgid "The daemon crashed mid-transaction!"
msgstr "Der Dämon stürzte während der Transaktion ab!"
#. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1566
+#: ../client/pk-console.c:1567
msgid "PackageKit Console Interface"
msgstr "PackageKit-Konsolen-Interface"
-#: ../client/pk-console.c:1566
+#: ../client/pk-console.c:1567
msgid "Subcommands:"
msgstr "Unterbefehle:"
-#: ../client/pk-console.c:1657
-#: ../client/pk-generate-pack.c:183
-#: ../client/pk-monitor.c:114
-#: ../src/pk-main.c:190
+#: ../client/pk-console.c:1658
+#: ../client/pk-generate-pack.c:184
+#: ../client/pk-monitor.c:115
+#: ../src/pk-main.c:191
msgid "Show extra debugging information"
-msgstr "Zeige extra Debug-Informationen"
+msgstr "Zeige weitere Debug-Informationen"
-#: ../client/pk-console.c:1659
-#: ../client/pk-monitor.c:116
+#: ../client/pk-console.c:1660
+#: ../client/pk-monitor.c:117
msgid "Show the program version and exit"
msgstr "Zeige Programm-Version und beende"
-#: ../client/pk-console.c:1661
+#: ../client/pk-console.c:1662
msgid "Set the filter, e.g. installed"
msgstr "Setze den Filter, z.B. installiert"
-#: ../client/pk-console.c:1663
+#: ../client/pk-console.c:1664
msgid "Exit without waiting for actions to complete"
msgstr "Beende, ohne auf Beendigung der Aktionen zu warten"
#. TRANSLATORS: This is when we could not connect to the system bus, and is fatal
-#: ../client/pk-console.c:1685
+#: ../client/pk-console.c:1691
msgid "This tool could not connect to system DBUS."
msgstr "Dieses Werkzeug konnte nicht zum System-DBUS verbinden."
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1770
+#: ../client/pk-console.c:1776
msgid "The filter specified was invalid"
msgstr "Der angegebene Filter war ungültig"
-#: ../client/pk-console.c:1787
+#: ../client/pk-console.c:1793
msgid "You need to specify a search type, e.g. name"
msgstr "Sie müssen einen Suchtyp angeben, z.B. einen Namen"
-#: ../client/pk-console.c:1792
-#: ../client/pk-console.c:1799
-#: ../client/pk-console.c:1806
-#: ../client/pk-console.c:1813
-#: ../client/pk-console.c:1924
-#: ../client/pk-console.c:1934
-#: ../client/pk-console.c:1941
-#: ../client/pk-console.c:1948
+#: ../client/pk-console.c:1798
+#: ../client/pk-console.c:1805
+#: ../client/pk-console.c:1812
+#: ../client/pk-console.c:1819
+#: ../client/pk-console.c:1930
+#: ../client/pk-console.c:1940
+#: ../client/pk-console.c:1947
+#: ../client/pk-console.c:1954
msgid "You need to specify a search term"
msgstr "Sie müssen einen Suchwert angeben"
-#: ../client/pk-console.c:1818
+#: ../client/pk-console.c:1824
msgid "Invalid search type"
msgstr "Ungültiger Suchtyp"
-#: ../client/pk-console.c:1823
+#: ../client/pk-console.c:1829
msgid "You need to specify a package or file to install"
msgstr "Sie müssen ein Paket oder eine Datei zum installieren angeben"
-#: ../client/pk-console.c:1830
+#: ../client/pk-console.c:1836
msgid "You need to specify a type, key_id and package_id"
msgstr "Sie müssen einen Typ, Schlüssel_id und Paket_id auswählen"
-#: ../client/pk-console.c:1837
+#: ../client/pk-console.c:1843
msgid "You need to specify a package to remove"
msgstr "Sie müssen ein Paket zum Löschen angeben"
-#: ../client/pk-console.c:1843
+#: ../client/pk-console.c:1849
msgid "You need to specify the destination directory and then the packages to download"
msgstr "Sie müssen ein Zielverzeichnis und dann die Pakete zum herunterladen angeben"
-#: ../client/pk-console.c:1848
+#: ../client/pk-console.c:1854
msgid "Directory not found"
msgstr "Verzeichnis nicht gefunden"
-#: ../client/pk-console.c:1854
+#: ../client/pk-console.c:1860
msgid "You need to specify a licence identifier (eula-id)"
msgstr "Sie müssen eine Lizenz (eula-id) angeben"
-#: ../client/pk-console.c:1870
+#: ../client/pk-console.c:1876
msgid "You need to specify a package name to resolve"
msgstr "Sie müssen einen Paketnamen zum Auflösen angeben"
-#: ../client/pk-console.c:1879
-#: ../client/pk-console.c:1886
+#: ../client/pk-console.c:1885
+#: ../client/pk-console.c:1892
msgid "You need to specify a repository name"
msgstr "Sie müssen einen Repository-Namen angeben"
-#: ../client/pk-console.c:1893
+#: ../client/pk-console.c:1899
msgid "You need to specify a repo name/parameter and value"
-msgstr "Sie müssen einen Repositorynamen/Parameter und Wert angeben"
+msgstr "Sie müssen einen Repository-Namen/Parameter und Wert angeben"
-#: ../client/pk-console.c:1906
+#: ../client/pk-console.c:1912
msgid "You need to specify an action, e.g. 'update-system'"
msgstr "Sie müssen eine Aktion angeben, z.B. 'update-system'"
-#: ../client/pk-console.c:1911
+#: ../client/pk-console.c:1917
msgid "You need to specify a correct role"
msgstr "Sie müssen eine korrekte Rolle angeben"
-#: ../client/pk-console.c:1916
+#: ../client/pk-console.c:1922
msgid "Failed to get last time"
msgstr "Die letzte Zeit konnte nicht herausgefunden werden"
-#: ../client/pk-console.c:1955
+#: ../client/pk-console.c:1961
msgid "You need to specify a package to find the details for"
msgstr "Sie müssen ein Paket, für das nach Details gesucht wird, angeben"
-#: ../client/pk-console.c:1962
+#: ../client/pk-console.c:1968
msgid "You need to specify a package to find the files for"
msgstr "Sie müssen ein Paket, für das nach Dateien gesucht wird, angeben"
-#: ../client/pk-console.c:1969
+#: ../client/pk-console.c:1975
msgid "You need to specify a list file to create"
msgstr "Sie müssen eine Dateiliste zum Erzeugen angeben"
-#: ../client/pk-console.c:1977
-#: ../client/pk-console.c:1985
+#: ../client/pk-console.c:1983
+#: ../client/pk-console.c:1991
msgid "You need to specify a list file to open"
msgstr "Sie müssen eine Dateiliste zum Ãffnen angeben"
#. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:2038
+#: ../client/pk-console.c:2044
#, c-format
msgid "Option '%s' is not supported"
msgstr "Option '%s' wird nicht unterstützt"
#. TRANSLATORS: User does not have permission to do this
-#: ../client/pk-console.c:2051
+#: ../client/pk-console.c:2057
msgid "You don't have the necessary privileges for this operation"
msgstr "Sie haben nicht die notwendigen Privilegien für diese Operation"
#. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:2054
+#: ../client/pk-console.c:2060
msgid "Command failed"
msgstr "Befehl fehlgeschlagen"
#. TRANSLATORS: This is the state of the transaction
-#: ../client/pk-generate-pack.c:99
+#: ../client/pk-generate-pack.c:100
msgid "Downloading"
msgstr "Lade herunter"
#. TRANSLATORS: This is when the main packages are being downloaded
-#: ../client/pk-generate-pack.c:119
+#: ../client/pk-generate-pack.c:120
msgid "Downloading packages"
msgstr "Lade Pakete herunter"
#. TRANSLATORS: This is when the dependency packages are being downloaded
-#: ../client/pk-generate-pack.c:124
+#: ../client/pk-generate-pack.c:125
msgid "Downloading dependencies"
-msgstr "Lade Abhängihkeiten herunter"
+msgstr "Lade Abhängigkeiten herunter"
-#: ../client/pk-generate-pack.c:185
+#: ../client/pk-generate-pack.c:186
msgid "Set the file name of dependencies to be excluded"
msgstr "Setze den Dateiname der Abhängigkeiten, die ausgeschlossen werden"
-#: ../client/pk-generate-pack.c:187
+#: ../client/pk-generate-pack.c:188
msgid "The output directory (the current directory is used if ommitted)"
msgstr "Das Ausgabe-Verzeichnis ()"
-#: ../client/pk-generate-pack.c:189
-#, fuzzy
+#: ../client/pk-generate-pack.c:190
msgid "The package to be put into the service pack"
-msgstr "Das Paket in das Service-Pack integrieren"
+msgstr "Das Paket in das Service-Paket integrieren"
-#: ../client/pk-generate-pack.c:191
+#: ../client/pk-generate-pack.c:192
msgid "Put all updates available in the service pack"
-msgstr "Füge alle Aktualisierungen dem Service-Pack hinzu"
+msgstr "Füge alle Aktualisierungen dem Service-Paket hinzu"
#. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:214
+#: ../client/pk-generate-pack.c:220
msgid "Neither --package or --updates option selected."
msgstr "Weder --package noch --updates wurden als Option gewählt."
#. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:222
+#: ../client/pk-generate-pack.c:228
msgid "Both options selected."
msgstr "Beide Optionen ausgewählt."
#. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:255
+#: ../client/pk-generate-pack.c:261
msgid "A pack with the same name already exists, do you want to overwrite it?"
-msgstr "Ein Pack mit dem selben Namen existiert bereits, möchten Sie es überschreiben?"
+msgstr "Ein Paket mit dem selben Namen existiert bereits, möchten Sie es überschreiben?"
#. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:258
+#: ../client/pk-generate-pack.c:264
msgid "The pack was not overwritten."
-msgstr "Das Pack wurde nicht überschrieben."
+msgstr "Das Paket wurde nicht überschrieben."
#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:270
+#: ../client/pk-generate-pack.c:276
msgid "Failed to create directory:"
msgstr "Verzeichnis konnte nicht erstellt werden:"
#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:279
+#: ../client/pk-generate-pack.c:285
msgid "Failed to open package list."
msgstr "Konnte Paketliste nicht öffnen."
#. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:289
+#: ../client/pk-generate-pack.c:295
msgid "Finding package name."
msgstr "Suche Paketname."
#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:293
+#: ../client/pk-generate-pack.c:299
#, c-format
msgid "Failed to find package '%s': %s"
msgstr "Paket '%s' konnte nicht gefunden werden: %s"
#. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:309
+#: ../client/pk-generate-pack.c:315
msgid "Creating service pack..."
-msgstr "Erstelle Servicepack..."
+msgstr "Erstelle Servicepack ..."
#. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:316
+#: ../client/pk-generate-pack.c:322
#, c-format
msgid "Service pack created '%s'"
msgstr "Servicepack erstellt '%s'"
#. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:320
+#: ../client/pk-generate-pack.c:326
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Erzeugen von '%s' fehlgeschlagen: %s"
-#: ../client/pk-monitor.c:126
+#: ../client/pk-monitor.c:132
msgid "PackageKit Monitor"
msgstr "PackageKit-Monitor"
@@ -560,57 +554,57 @@ msgid "Please enter a number from 1 to %i: "
msgstr "Bitte geben Sie eine Zahl zwischen 1 und %i ein: "
#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/packagekit-plugin/src/contents.cpp:291
+#: ../contrib/packagekit-plugin/src/contents.cpp:294
msgid "Getting package information..."
-msgstr "Bekomme Paket-Informationen..."
+msgstr "Bekomme Paket-Informationen ..."
#. TRANSLATORS: run an applicaiton
-#: ../contrib/packagekit-plugin/src/contents.cpp:297
+#: ../contrib/packagekit-plugin/src/contents.cpp:300
#, c-format
msgid "Run %s"
msgstr "Starte %s"
#. TRANSLATORS: show the installed version of a package
-#: ../contrib/packagekit-plugin/src/contents.cpp:303
+#: ../contrib/packagekit-plugin/src/contents.cpp:306
msgid "Installed version"
msgstr "Installierte Version"
#. TRANSLATORS: run the application now
-#: ../contrib/packagekit-plugin/src/contents.cpp:311
+#: ../contrib/packagekit-plugin/src/contents.cpp:314
#, c-format
msgid "Run version %s now"
msgstr "Starte Version %s jetzt"
-#: ../contrib/packagekit-plugin/src/contents.cpp:317
+#: ../contrib/packagekit-plugin/src/contents.cpp:320
msgid "Run now"
msgstr "Starte jetzt"
#. TRANSLATORS: update to a new version of the package
-#: ../contrib/packagekit-plugin/src/contents.cpp:323
+#: ../contrib/packagekit-plugin/src/contents.cpp:326
#, c-format
msgid "Update to version %s"
msgstr "Aktualisiere auf Version %s"
#. TRANSLATORS: To install a package
-#: ../contrib/packagekit-plugin/src/contents.cpp:329
+#: ../contrib/packagekit-plugin/src/contents.cpp:332
#, c-format
msgid "Install %s now"
msgstr "Installiere %s jetzt"
#. TRANSLATORS: the version of the package
-#: ../contrib/packagekit-plugin/src/contents.cpp:332
+#: ../contrib/packagekit-plugin/src/contents.cpp:335
msgid "Version"
msgstr "Version"
#. TRANSLATORS: noting found, so can't install
-#: ../contrib/packagekit-plugin/src/contents.cpp:337
+#: ../contrib/packagekit-plugin/src/contents.cpp:340
msgid "No packages found for your system"
msgstr "Keine Pakete für Ihr System gefunden"
#. TRANSLATORS: package is being installed
-#: ../contrib/packagekit-plugin/src/contents.cpp:342
+#: ../contrib/packagekit-plugin/src/contents.cpp:345
msgid "Installing..."
-msgstr "Installiere..."
+msgstr "Installiere ..."
#: ../data/packagekit-catalog.xml.in.h:1
msgid "PackageKit Catalog"
@@ -624,60 +618,62 @@ msgstr "PackageKit Service-Pack"
msgid "PackageKit Package List"
msgstr "PackageKit-Paketliste"
-#: ../src/pk-main.c:85
+#: ../src/pk-main.c:86
msgid "Startup failed due to security policies on this machine."
msgstr "Startfehler wegen Sicherheitseinstellungen auf diesem Rechner"
-#: ../src/pk-main.c:86
+#: ../src/pk-main.c:87
msgid "This can happen for two reasons:"
msgstr "Dies kann aus zwei Gründen passieren:"
-#: ../src/pk-main.c:87
+#: ../src/pk-main.c:88
msgid "The correct user is not launching the executable (usually root)"
msgstr "Der korrekte Benutzer führt nicht das Programm aus (normalerweise root)"
-#: ../src/pk-main.c:88
+#: ../src/pk-main.c:89
msgid "The org.freedesktop.PackageKit.conf file is not installed in the system directory:"
msgstr "Die org.freedesktop.PackageKit.conf-Datei ist nicht auf Ihrem Rechner im system-Verzeichnis:"
-#: ../src/pk-main.c:186
+#: ../src/pk-main.c:187
msgid "Packaging backend to use, e.g. dummy"
msgstr "Verwende Packaging-Backend z.B. dummy"
-#: ../src/pk-main.c:188
+#: ../src/pk-main.c:189
msgid "Daemonize and detach from the terminal"
msgstr "Dämonisiere und löse vom Terminal ab"
-#: ../src/pk-main.c:192
+#: ../src/pk-main.c:193
msgid "Disable the idle timer"
msgstr "Deaktiviere Idle-Timer"
-#: ../src/pk-main.c:194
+#: ../src/pk-main.c:195
msgid "Show version and exit"
msgstr "Zeige Version und beende"
-#: ../src/pk-main.c:196
+#: ../src/pk-main.c:197
msgid "Exit after a small delay"
msgstr "Beende nach kurzer Verzögerung"
-#: ../src/pk-main.c:198
+#: ../src/pk-main.c:199
#, fuzzy
msgid "Exit after the engine has loaded"
msgstr "Beende, nachdem die Kern geladen wurde"
-#: ../src/pk-main.c:207
+#: ../src/pk-main.c:213
msgid "PackageKit service"
msgstr "PackageKit-Dienst"
-#: ../src/pk-main.c:243
+#: ../src/pk-main.c:249
msgid "Cannot connect to the system bus"
msgstr "Konnte nicht zum System-Bus verbinden"
-#: ../src/pk-main.c:292
+#: ../src/pk-main.c:298
#, c-format
msgid "Error trying to start: %s\n"
msgstr "Fehler beim Starten von: %s\n"
+#~ msgid "This tool could not remove the packages: '%s'"
+#~ msgstr "Dieser Werkzeug konnte das Paket nicht entfernen: '%s'"
#~ msgid "Update detail"
#~ msgstr "Details werden aktualisiert"
#~ msgid "A system restart is required"
commit 3de708d4b378c5aa4fbeddb60d158f22c9ebb110
Author: Richard Hughes <hughsie at localhost.localdomain>
Date: Tue Dec 9 16:47:11 2008 +0000
yum: don't show DeprecationWarnings from yum
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 7b77f6f..b9ac83e 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -37,6 +37,8 @@ backend_stderr_cb (PkBackend *backend, const gchar *output)
return FALSE;
if (strstr (output, "GPG") != NULL)
return FALSE;
+ if (strstr (output, "DeprecationWarning") != NULL)
+ return FALSE;
return TRUE;
}
commit a28a0b614482ea87783b21ca9d0bbf6ad5031ec2
Author: Richard Hughes <hughsie at localhost.localdomain>
Date: Tue Dec 9 16:18:33 2008 +0000
trivial: add the empty m4 directory into git
diff --git a/m4/.gitignore b/m4/.gitignore
new file mode 100644
index 0000000..e69de29
commit a5df7a0c196e2d4280212ca000ec5ec65945c043
Author: Richard Hughes <hughsie at localhost.localdomain>
Date: Tue Dec 9 16:17:16 2008 +0000
bugfix: define a macro directory so we work with newer versions of libtool
diff --git a/configure.ac b/configure.ac
index f78e27c..aedd0bf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,6 +4,7 @@ AC_INIT(PackageKit, 0.4.0)
AC_CONFIG_SRCDIR(src)
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
AM_CONFIG_HEADER(config.h)
+AC_CONFIG_MACRO_DIR([m4])
# Should we enable extra stuff automatically?
# set no for release builds, yes for development builds
commit cdfb790c20b2838d6f436dc163ec8081a8299cf9
Author: Valeriy Lyasotskiy <onestep at ukr.net>
Date: Tue Nov 18 12:15:58 2008 +0200
feature: added arch linux recognition code to pk_get_distro_id
diff --git a/lib/packagekit-glib/pk-common.c b/lib/packagekit-glib/pk-common.c
index 032f4b7..dfe5ad4 100644
--- a/lib/packagekit-glib/pk-common.c
+++ b/lib/packagekit-glib/pk-common.c
@@ -150,6 +150,19 @@ pk_get_distro_id (void)
goto out;
}
+ /* check for Arch */
+ ret = g_file_test ("/etc/arch-release", G_FILE_TEST_EXISTS);
+ if (ret) {
+ /* we can't get arch from /etc */
+ arch = pk_get_machine_type ();
+ if (arch == NULL)
+ goto out;
+
+ /* complete! */
+ distro = g_strdup_printf ("arch-current-%s", arch);
+ goto out;
+ }
+
out:
g_strfreev (split);
g_free (arch);
More information about the PackageKit-commit
mailing list