[PackageKit-commit] packagekit: Branch 'master' - 34 commits
Richard Hughes
hughsient at kemper.freedesktop.org
Thu Jul 1 03:23:11 PDT 2010
NEWS | 39
RELEASE | 12
backends/apt/aptBackend.py | 47
backends/apt/pk-backend-apt.c | 20
backends/aptcc/apt.cpp | 32
backends/aptcc/get-distro-upgrade.py | 44
backends/aptcc/pk-backend-aptcc.cpp | 48
backends/entropy/entropyBackend.py | 10
backends/pacman/backend-install.c | 136 -
backends/pacman/backend-install.h | 2
backends/pacman/backend-packages.c | 3
backends/pacman/backend-pacman.c | 2
backends/pacman/backend-remove.c | 13
backends/pacman/backend-transaction.c | 49
backends/pacman/backend-transaction.h | 3
backends/ports/portsBackend.rb | 19
backends/urpmi/helpers/perl_packagekit/enums.pm | 2
backends/urpmi/helpers/perl_packagekit/prints.pm | 2
backends/urpmi/helpers/urpmi-dispatched-backend.pl | 6
backends/urpmi/helpers/urpmi_backend/actions.pm | 2
backends/urpmi/helpers/urpmi_backend/filters.pm | 2
backends/urpmi/helpers/urpmi_backend/groups.pm | 2
backends/urpmi/helpers/urpmi_backend/open_db.pm | 2
backends/urpmi/helpers/urpmi_backend/tools.pm | 2
backends/urpmi/pk-backend-urpmi.c | 2
backends/yum/yumBackend.py | 14
backends/zypp/pk-backend-zypp.cpp | 3
backends/zypp/zypp-utils.cpp | 6
client/Makefile.am | 32
client/egg-test.c | 1
client/egg-test.h | 1
client/pk-console.c | 64
client/pk-monitor.c | 23
client/pk-self-test.c | 47
configure.ac | 23
contrib/PackageKit.spec.in | 15
contrib/browser-plugin/pk-plugin-install.c | 3
contrib/command-not-found/CommandNotFound.conf | 11
contrib/command-not-found/pk-command-not-found.c | 32
contrib/gtk-module/Makefile.am | 28
contrib/gtk-module/gtk-2.0/Makefile.am | 10
contrib/gtk-module/gtk-3.0/Makefile.am | 16
contrib/gtk-module/pk-gtk-module.c | 6
data/Makefile.am | 2
data/tests/Makefile.am | 1
data/tests/pk-spawn-dispatcher.py | 2
data/tests/pk-spawn-test-sigquit.py | 30
docs/html/pk-download.html | 1
docs/html/pk-matrix.html | 2
lib/packagekit-glib2/COPYING | 502 +++++
lib/packagekit-glib2/Makefile.am | 12
lib/packagekit-glib2/egg-test.c | 1
lib/packagekit-glib2/egg-test.h | 1
lib/packagekit-glib2/pk-bitfield.c | 249 --
lib/packagekit-glib2/pk-bitfield.h | 22
lib/packagekit-glib2/pk-catalog.c | 110 -
lib/packagekit-glib2/pk-catalog.h | 22
lib/packagekit-glib2/pk-category.c | 22
lib/packagekit-glib2/pk-category.h | 22
lib/packagekit-glib2/pk-client-sync.c | 22
lib/packagekit-glib2/pk-client-sync.h | 22
lib/packagekit-glib2/pk-client.c | 512 -----
lib/packagekit-glib2/pk-client.h | 22
lib/packagekit-glib2/pk-common.c | 78
lib/packagekit-glib2/pk-common.h | 22
lib/packagekit-glib2/pk-console-shared.c | 62
lib/packagekit-glib2/pk-console-shared.h | 22
lib/packagekit-glib2/pk-control-sync.c | 22
lib/packagekit-glib2/pk-control-sync.h | 22
lib/packagekit-glib2/pk-control.c | 308 ---
lib/packagekit-glib2/pk-control.h | 22
lib/packagekit-glib2/pk-desktop.c | 110 -
lib/packagekit-glib2/pk-desktop.h | 22
lib/packagekit-glib2/pk-details.c | 22
lib/packagekit-glib2/pk-details.h | 22
lib/packagekit-glib2/pk-distro-upgrade.c | 22
lib/packagekit-glib2/pk-distro-upgrade.h | 22
lib/packagekit-glib2/pk-enum.c | 208 --
lib/packagekit-glib2/pk-enum.h | 22
lib/packagekit-glib2/pk-error.c | 22
lib/packagekit-glib2/pk-error.h | 22
lib/packagekit-glib2/pk-eula-required.c | 22
lib/packagekit-glib2/pk-eula-required.h | 22
lib/packagekit-glib2/pk-files.c | 22
lib/packagekit-glib2/pk-files.h | 22
lib/packagekit-glib2/pk-media-change-required.c | 22
lib/packagekit-glib2/pk-media-change-required.h | 22
lib/packagekit-glib2/pk-message.c | 22
lib/packagekit-glib2/pk-message.h | 22
lib/packagekit-glib2/pk-package-id.c | 149 -
lib/packagekit-glib2/pk-package-id.h | 22
lib/packagekit-glib2/pk-package-ids.c | 68
lib/packagekit-glib2/pk-package-ids.h | 22
lib/packagekit-glib2/pk-package-sack-sync.c | 22
lib/packagekit-glib2/pk-package-sack-sync.h | 22
lib/packagekit-glib2/pk-package-sack.c | 245 --
lib/packagekit-glib2/pk-package-sack.h | 22
lib/packagekit-glib2/pk-package.c | 93 -
lib/packagekit-glib2/pk-package.h | 22
lib/packagekit-glib2/pk-progress-bar.c | 57
lib/packagekit-glib2/pk-progress-bar.h | 22
lib/packagekit-glib2/pk-progress.c | 49
lib/packagekit-glib2/pk-progress.h | 22
lib/packagekit-glib2/pk-repo-detail.c | 22
lib/packagekit-glib2/pk-repo-detail.h | 22
lib/packagekit-glib2/pk-repo-signature-required.c | 22
lib/packagekit-glib2/pk-repo-signature-required.h | 22
lib/packagekit-glib2/pk-require-restart.c | 22
lib/packagekit-glib2/pk-require-restart.h | 22
lib/packagekit-glib2/pk-results.c | 123 -
lib/packagekit-glib2/pk-results.h | 22
lib/packagekit-glib2/pk-self-test.c | 1916 ++++++++++++++++++++-
lib/packagekit-glib2/pk-service-pack.c | 95 -
lib/packagekit-glib2/pk-service-pack.h | 22
lib/packagekit-glib2/pk-source.c | 22
lib/packagekit-glib2/pk-source.h | 22
lib/packagekit-glib2/pk-task-sync.c | 22
lib/packagekit-glib2/pk-task-sync.h | 22
lib/packagekit-glib2/pk-task-text.c | 116 -
lib/packagekit-glib2/pk-task-text.h | 22
lib/packagekit-glib2/pk-task-wrapper.c | 109 -
lib/packagekit-glib2/pk-task-wrapper.h | 22
lib/packagekit-glib2/pk-task.c | 111 -
lib/packagekit-glib2/pk-task.h | 22
lib/packagekit-glib2/pk-transaction-list.c | 140 -
lib/packagekit-glib2/pk-transaction-list.h | 22
lib/packagekit-glib2/pk-transaction-past.c | 22
lib/packagekit-glib2/pk-transaction-past.h | 22
lib/packagekit-glib2/pk-update-detail.c | 22
lib/packagekit-glib2/pk-update-detail.h | 22
lib/python/packagekit/backend.py | 16
po/ja.po | 665 +++----
po/zh_CN.po | 1386 ++++++++-------
po/zh_TW.po | 44
src/Makefile.am | 5
src/egg-string.c | 221 --
src/egg-test.c | 357 ---
src/egg-test.h | 48
src/pk-backend-internal.h | 1
src/pk-backend-spawn.c | 365 ----
src/pk-backend-spawn.h | 5
src/pk-backend.c | 454 ----
src/pk-cache.c | 28
src/pk-conf.c | 61
src/pk-dbus.c | 25
src/pk-engine.c | 267 --
src/pk-file-monitor.c | 24
src/pk-inhibit.c | 108 -
src/pk-lsof.c | 39
src/pk-main.c | 12
src/pk-notify.c | 28
src/pk-proc.c | 32
src/pk-self-test.c | 1882 ++++++++++++++++++++
src/pk-spawn.c | 413 ----
src/pk-spawn.h | 3
src/pk-store.c | 110 -
src/pk-syslog.c | 28
src/pk-time.c | 229 --
src/pk-time.h | 14
src/pk-transaction-db.c | 197 --
src/pk-transaction-db.h | 6
src/pk-transaction-extra.c | 25
src/pk-transaction-list.c | 623 ------
src/pk-transaction-list.h | 7
src/pk-transaction.c | 233 --
src/pk-transaction.h | 4
166 files changed, 7125 insertions(+), 8370 deletions(-)
New commits:
commit 80bf759941d910eed15aa4dbe047a3e51391f462
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Jul 1 11:22:45 2010 +0100
Release version 0.6.6
diff --git a/NEWS b/NEWS
index de58c8c..15f1381 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,42 @@
+Version 0.6.6
+~~~~~~~~~~~~~
+Released: 2010-07-01
+
+Translations:
+ - Updates to Chinese translation (chenh)
+ - Updates to Japanese translation (khasida)
+ - Updates to Chinese (Taiwan) translation (zerng07)
+
+Libraries:
+ - glib: Explicitly mark the library as LGPLv2 by using the correct boilerplate code (Richard Hughes)
+
+Backends:
+ - apt: Adapt to split arguments from the Python backend (Sebastian Heinlein)
+ - apt: Adapt to an API change to allow OR searches (Sebastian Heinlein)
+ - apt: Fix group searching (Sebastian Heinlein)
+ - aptcc: Added distro upgrade support (Daniel Nicoletti)
+ - entropy: Implement forward compatibility support (Fabio Erculiani)
+ - pacman: Update for pacman-glib 3.4.0 (Jonathan Conder)
+ - ports: Use distfiles size, for uninstalled packages (Anders F Bjorklund)
+ - urpmi: Fix update-system command and only_trusted parameter (Aurelien Lefebvre)
+ - yum: Don't crash with an internal error if the .discinfo is malformed (Richard Hughes)
+ - zypp: Disable get_zypp in intialize (Michael Meeks)
+ - zypp: Fix FPE when there are no repos (Michael Meeks)
+ - zypp: Don't crash checking status of non-patches (Michael Meeks)
+
+New Features:
+ - Add a MaxSearchTime entry in CommandNotFound.conf and default to 2000ms (Richard Hughes)
+ - Assign names to our idle sources when using new versions of glib2 (Richard Hughes)
+ - Build the gtk-module for gtk-3.0 as well as gtk-2.0 if available (Richard Hughes)
+ - Port 'make check' to GTest rather than using our homegrown EggTest functionality (Richard Hughes)
+ - Get the control properties async when the user starts the pkmon tool (Richard Hughes)
+
+Bugfixes:
+ - Only set a cancelled error after we've given the backend a fighting chance to process the request (Richard Hughes)
+ - Move the packagekitd binary to libexec (Richard Hughes)
+ - Ensure we clear the cancel timer when we finish a PkBackend transaction (Richard Hughes)
+ - Ensure filters are properly split for spawned backends (Richard Hughes)
+
Version 0.6.5
~~~~~~~~~~~~~
Released: 2010-06-02
diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index b7d6aae..be146bc 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -68,6 +68,7 @@ Releases are normally on the first working Monday of each month.
</p>
<table>
<tr><td><b>Version</b></td><td> </td><td><b>Date</b></td></tr>
+<tr><td>0.6.6</td><td></td><td>2010-07-01</td></tr>
<tr><td>0.6.5</td><td></td><td>2010-06-02</td></tr>
<tr><td>0.6.4</td><td></td><td>2010-05-06</td></tr>
<tr><td>0.6.3</td><td></td><td>2010-03-29</td></tr>
commit e38582033a527ffc32983bb8b0151a52dff7ac66
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Jul 1 10:31:35 2010 +0100
Get the control properties async when the user starts the pkmon tool
diff --git a/client/pk-monitor.c b/client/pk-monitor.c
index c8f5b21..6763eef 100644
--- a/client/pk-monitor.c
+++ b/client/pk-monitor.c
@@ -79,7 +79,7 @@ static void
pk_monitor_notify_network_status_cb (PkControl *control, GParamSpec *pspec, gpointer data)
{
PkNetworkEnum state;
- g_object_get (control, "network-status", &state, NULL);
+ g_object_get (control, "network-state", &state, NULL);
g_print ("network status=%s\n", pk_network_enum_to_string (state));
}
@@ -337,6 +337,23 @@ pk_monitor_transaction_list_removed_cb (PkTransactionList *tlist, const gchar *t
}
/**
+ * pk_control_properties_cb:
+ **/
+static void
+pk_control_properties_cb (PkControl *control, GAsyncResult *res, gpointer user_data)
+{
+ gboolean ret;
+ GError *error = NULL;
+
+ /* get result */
+ ret = pk_control_get_properties_finish (control, res, &error);
+ if (!ret) {
+ g_print ("%s: %s", _("Failed to get properties"), error->message);
+ g_error_free (error);
+ }
+}
+
+/**
* main:
**/
int
@@ -393,8 +410,10 @@ main (int argc, char *argv[])
G_CALLBACK (pk_monitor_notify_locked_cb), NULL);
g_signal_connect (control, "notify::connected",
G_CALLBACK (pk_monitor_notify_connected_cb), NULL);
- g_signal_connect (control, "notify::network-status",
+ g_signal_connect (control, "notify::network-state",
G_CALLBACK (pk_monitor_notify_network_status_cb), NULL);
+ pk_control_get_properties_async (control, NULL,
+ (GAsyncReadyCallback) pk_control_properties_cb, NULL);
tlist = pk_transaction_list_new ();
g_signal_connect (tlist, "added",
commit 07965ec5d41e0e0eb368e0c04c7d59c217b80281
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Jun 29 12:05:27 2010 +0100
Ensure filters are properly split for spawned backends
diff --git a/lib/python/packagekit/backend.py b/lib/python/packagekit/backend.py
index 4e5c341..50e1e25 100644
--- a/lib/python/packagekit/backend.py
+++ b/lib/python/packagekit/backend.py
@@ -652,24 +652,24 @@ class PackageKitBaseBackend:
self.resolve(filters, package_ids)
self.finished()
elif cmd == 'search-details':
- options = args[0]
+ filters = args[0].split(';')
values = _to_unicode(args[1]).split(PACKAGE_IDS_DELIM)
- self.search_details(options, values)
+ self.search_details(filters, values)
self.finished()
elif cmd == 'search-file':
- options = args[0]
+ filters = args[0].split(';')
values = args[1].split(PACKAGE_IDS_DELIM)
- self.search_file(options, values)
+ self.search_file(filters, values)
self.finished()
elif cmd == 'search-group':
- options = args[0]
+ filters = args[0].split(';')
values = args[1].split(PACKAGE_IDS_DELIM)
- self.search_group(options, values)
+ self.search_group(filters, values)
self.finished()
elif cmd == 'search-name':
- options = args[0]
+ filters = args[0].split(';')
values = _to_unicode(args[1]).split(PACKAGE_IDS_DELIM)
- self.search_name(options, values)
+ self.search_name(filters, values)
self.finished()
elif cmd == 'signature-install':
package = args[0]
commit 7dd8db95bcaad1f86ff2c494b3111d363d3e8c98
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Jun 29 11:36:47 2010 +0100
trivial: fix 'make distcheck'
diff --git a/client/Makefile.am b/client/Makefile.am
index 4f2be44..f3de665 100644
--- a/client/Makefile.am
+++ b/client/Makefile.am
@@ -57,6 +57,8 @@ PK_GLIB2_LIBS = \
$(NULL)
pkcon_SOURCES = \
+ egg-debug.c \
+ egg-debug.h \
pk-console.c \
$(NULL)
@@ -72,6 +74,8 @@ pkcon_CFLAGS = \
$(NULL)
pkmon_SOURCES = \
+ egg-debug.c \
+ egg-debug.h \
pk-monitor.c \
$(NULL)
commit 6d365a61981e398a184eb1ba4cf0a1dd852c6e95
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Jun 29 11:27:27 2010 +0100
Port 'make check' to GTest rather than using our homegrown EggTest functionality
diff --git a/client/Makefile.am b/client/Makefile.am
index 2fb64a1..4f2be44 100644
--- a/client/Makefile.am
+++ b/client/Makefile.am
@@ -102,34 +102,6 @@ pkgenpack_CFLAGS = \
$(WARNINGFLAGS_C) \
$(NULL)
-if EGG_BUILD_TESTS
-
-check_PROGRAMS = \
- pk-self-test
-
-pk_self_test_SOURCES = \
- egg-debug.c \
- egg-debug.h \
- egg-string.c \
- egg-string.h \
- egg-test.c \
- egg-test.h \
- pk-self-test.c \
- $(NULL)
-
-pk_self_test_LDADD = \
- $(GLIB_LIBS) \
- $(DBUS_LIBS) \
- $(SELFTEST_LIBS) \
- $(ARCHIVE_LIBS) \
- $(PK_GLIB2_LIBS) \
- $(NULL)
-
-pk_self_test_CFLAGS = -DEGG_TEST $(AM_CFLAGS)
-
-TESTS = pk-self-test
-endif
-
clean-local:
rm -f *~
rm -f *.1
diff --git a/client/egg-test.c b/client/egg-test.c
deleted file mode 120000
index bdc6509..0000000
--- a/client/egg-test.c
+++ /dev/null
@@ -1 +0,0 @@
-../src/egg-test.c
\ No newline at end of file
diff --git a/client/egg-test.h b/client/egg-test.h
deleted file mode 120000
index 89f8622..0000000
--- a/client/egg-test.h
+++ /dev/null
@@ -1 +0,0 @@
-../src/egg-test.h
\ No newline at end of file
diff --git a/client/pk-console.c b/client/pk-console.c
index 077ccaf..9fea6bb 100644
--- a/client/pk-console.c
+++ b/client/pk-console.c
@@ -1765,67 +1765,3 @@ out_last:
return retval;
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-egg_test_console (EggTest *test)
-{
- gchar *text_safe;
-
- if (!egg_test_start (test, "PkConsole"))
- return;
-
- /************************************************************
- **************** Padding ******************
- ************************************************************/
- egg_test_title (test, "pad smaller");
- text_safe = pk_strpad ("richard", 10);
- if (g_strcmp0 (text_safe, "richard ") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the padd '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "pad NULL");
- text_safe = pk_strpad (NULL, 10);
- if (g_strcmp0 (text_safe, " ") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the padd '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "pad nothing");
- text_safe = pk_strpad ("", 10);
- if (g_strcmp0 (text_safe, " ") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the padd '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "pad over");
- text_safe = pk_strpad ("richardhughes", 10);
- if (g_strcmp0 (text_safe, "richardhughes") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the padd '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "pad zero");
- text_safe = pk_strpad ("rich", 0);
- if (g_strcmp0 (text_safe, "rich") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the padd '%s'", text_safe);
- g_free (text_safe);
- egg_test_end (test);
-}
-#endif
-
diff --git a/client/pk-self-test.c b/client/pk-self-test.c
deleted file mode 100644
index 8ace1a5..0000000
--- a/client/pk-self-test.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
- *
- * Copyright (C) 2008 Richard Hughes <richard at hughsie.com>
- * Copyright (C) 2008 Shishir Goel <crazyontheedge at gmail.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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "config.h"
-
-#include <glib.h>
-#include <glib-object.h>
-#include "egg-test.h"
-#include "egg-debug.h"
-
-/* prototypes */
-void pk_genpack_test (EggTest *test);
-
-int
-main (int argc, char **argv)
-{
- EggTest *test;
-
- g_type_init ();
- test = egg_test_init ();
- egg_debug_init (&argc, &argv);
-
- /* tests go here */
- //pk_genpack_test (test);
-
- return (egg_test_finish (test));
-}
-
diff --git a/data/tests/Makefile.am b/data/tests/Makefile.am
index 58bcf89..aa719e2 100644
--- a/data/tests/Makefile.am
+++ b/data/tests/Makefile.am
@@ -8,6 +8,7 @@ TEST_FILES = \
pk-spawn-test.sh \
pk-spawn-proxy.sh \
pk-spawn-test-sigquit.sh \
+ pk-spawn-test-sigquit.py \
pk-spawn-test-profiling.sh \
pk-spawn-dispatcher.py \
$(NULL)
diff --git a/data/tests/pk-spawn-dispatcher.py b/data/tests/pk-spawn-dispatcher.py
index c7cd2ac..0cd6885 100755
--- a/data/tests/pk-spawn-dispatcher.py
+++ b/data/tests/pk-spawn-dispatcher.py
@@ -32,7 +32,7 @@ class PackageKitYumBackend(PackageKitBaseBackend):
def search_name(self,filters,key):
# check we escape spaces properly
- if key == 'power manager':
+ if key == ['power manager']:
self.package("polkit;0.0.1;i386;data",INFO_AVAILABLE,"PolicyKit daemon")
def main():
diff --git a/data/tests/pk-spawn-test-sigquit.py b/data/tests/pk-spawn-test-sigquit.py
new file mode 100644
index 0000000..badc36f
--- /dev/null
+++ b/data/tests/pk-spawn-test-sigquit.py
@@ -0,0 +1,30 @@
+#!/usr/bin/python
+#
+# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+# Copyright (C) 2010 Richard Hughes <richard at hughsie.com>
+
+from signal import *
+from time import sleep
+from sys import stdout
+
+def process_quit(signum, frame):
+ exit()
+
+def main():
+ signal(SIGQUIT, process_quit)
+
+ for i in [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
+ stdout.write("percentage\t%i\n" % (i * 10))
+ stdout.flush()
+ sleep(0.3)
+
+if __name__ == "__main__":
+ main()
diff --git a/lib/packagekit-glib2/Makefile.am b/lib/packagekit-glib2/Makefile.am
index 0cbe0a6..8fdce5e 100644
--- a/lib/packagekit-glib2/Makefile.am
+++ b/lib/packagekit-glib2/Makefile.am
@@ -16,6 +16,7 @@ INCLUDES = \
-DPK_COMPILATION \
-DPK_DB_DIR=\""$(PK_DB_DIR)"\" \
-DLOCALSTATEDIR=\""$(localstatedir)"\" \
+ -DTESTDATADIR=\""$(top_srcdir)/data/tests"\" \
-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
-DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\"
@@ -192,19 +193,12 @@ check_PROGRAMS = \
pk-self-test
pk_self_test_SOURCES = \
- $(libpackagekit_glib2_la_SOURCES) \
- egg-test.h \
- egg-test.c \
- pk-task-wrapper.c \
- pk-task-wrapper.h \
- pk-task-text.c \
- pk-task-text.h \
- pk-console-shared.c \
- pk-console-shared.h \
pk-self-test.c \
$(NULL)
pk_self_test_LDADD = \
+ libpackagekit-glib2.la \
+ libpackagekitprivate.a \
$(GLIB_LIBS) \
$(DBUS_LIBS) \
$(SELFTEST_LIBS) \
diff --git a/lib/packagekit-glib2/egg-test.c b/lib/packagekit-glib2/egg-test.c
deleted file mode 120000
index ad24c4f..0000000
--- a/lib/packagekit-glib2/egg-test.c
+++ /dev/null
@@ -1 +0,0 @@
-../../src/egg-test.c
\ No newline at end of file
diff --git a/lib/packagekit-glib2/egg-test.h b/lib/packagekit-glib2/egg-test.h
deleted file mode 120000
index 5a65e4a..0000000
--- a/lib/packagekit-glib2/egg-test.h
+++ /dev/null
@@ -1 +0,0 @@
-../../src/egg-test.h
\ No newline at end of file
diff --git a/lib/packagekit-glib2/pk-bitfield.c b/lib/packagekit-glib2/pk-bitfield.c
index 2cdeb6a..b769de1 100644
--- a/lib/packagekit-glib2/pk-bitfield.c
+++ b/lib/packagekit-glib2/pk-bitfield.c
@@ -326,230 +326,3 @@ out:
g_strfreev (split);
return filters_enum;
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_bitfield_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- gchar *text;
- PkBitfield filter;
- gint value;
- PkBitfield values;
-
- if (!egg_test_start (test, "PkBitfield"))
- return;
-
- /************************************************************/
- egg_test_title (test, "check we can convert filter bitfield to text (none)");
- text = pk_filter_bitfield_to_string (pk_bitfield_value (PK_FILTER_ENUM_NONE));
- if (g_strcmp0 (text, "none") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "text was %s", text);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "check we can invert a bit 1 -> 0");
- values = pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT) | pk_bitfield_value (PK_FILTER_ENUM_NOT_NEWEST);
- pk_bitfield_invert (values, PK_FILTER_ENUM_NOT_DEVELOPMENT);
- if (values == pk_bitfield_value (PK_FILTER_ENUM_NOT_NEWEST))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "values were %" PK_BITFIELD_FORMAT, values);
-
- /************************************************************/
- egg_test_title (test, "check we can invert a bit 0 -> 1");
- values = 0;
- pk_bitfield_invert (values, PK_FILTER_ENUM_NOT_DEVELOPMENT);
- if (values == pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "values were %" PK_BITFIELD_FORMAT, values);
-
- /************************************************************/
- egg_test_title (test, "check we can convert filter bitfield to text (single)");
- text = pk_filter_bitfield_to_string (pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT));
- if (g_strcmp0 (text, "~devel") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "text was %s", text);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "check we can convert filter bitfield to text (plural)");
- text = pk_filter_bitfield_to_string (pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT) |
- pk_bitfield_value (PK_FILTER_ENUM_GUI) |
- pk_bitfield_value (PK_FILTER_ENUM_NEWEST));
- if (g_strcmp0 (text, "~devel;gui;newest") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "text was %s", text);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "check we can convert filter text to bitfield (none)");
- filter = pk_filter_bitfield_from_string ("none");
- if (filter == pk_bitfield_value (PK_FILTER_ENUM_NONE))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "filter was %" PK_BITFIELD_FORMAT, filter);
-
- /************************************************************/
- egg_test_title (test, "check we can convert filter text to bitfield (single)");
- filter = pk_filter_bitfield_from_string ("~devel");
- if (filter == pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "filter was %" PK_BITFIELD_FORMAT, filter);
-
- /************************************************************/
- egg_test_title (test, "check we can convert filter text to bitfield (plural)");
- filter = pk_filter_bitfield_from_string ("~devel;gui;newest");
- if (filter == (pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT) |
- pk_bitfield_value (PK_FILTER_ENUM_GUI) |
- pk_bitfield_value (PK_FILTER_ENUM_NEWEST)))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "filter was %" PK_BITFIELD_FORMAT, filter);
-
- /************************************************************/
- egg_test_title (test, "check we can add / remove bitfield");
- filter = pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT) |
- pk_bitfield_value (PK_FILTER_ENUM_GUI) |
- pk_bitfield_value (PK_FILTER_ENUM_NEWEST);
- pk_bitfield_add (filter, PK_FILTER_ENUM_NOT_FREE);
- pk_bitfield_remove (filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
- text = pk_filter_bitfield_to_string (filter);
- if (g_strcmp0 (text, "gui;~free;newest") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "text was %s", text);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "check we can test enum presence");
- filter = pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT) |
- pk_bitfield_value (PK_FILTER_ENUM_GUI) |
- pk_bitfield_value (PK_FILTER_ENUM_NEWEST);
- if (pk_bitfield_contain (filter, PK_FILTER_ENUM_NOT_DEVELOPMENT))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong boolean");
-
- /************************************************************/
- egg_test_title (test, "check we can test enum false-presence");
- if (!pk_bitfield_contain (filter, PK_FILTER_ENUM_FREE))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong boolean");
-
- /************************************************************/
- egg_test_title (test, "check we can add / remove bitfield to nothing");
- filter = pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT);
- pk_bitfield_remove (filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
- text = pk_filter_bitfield_to_string (filter);
- if (g_strcmp0 (text, "none") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "text was %s", text);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "role bitfield from enums (unknown)");
- values = pk_bitfield_from_enums (PK_ROLE_ENUM_UNKNOWN, -1);
- if (values == pk_bitfield_value (PK_ROLE_ENUM_UNKNOWN))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned bitfield %" PK_BITFIELD_FORMAT, values);
-
- /************************************************************/
- egg_test_title (test, "role bitfield from enums (random)");
- values = pk_bitfield_from_enums (PK_ROLE_ENUM_SEARCH_GROUP, PK_ROLE_ENUM_SEARCH_DETAILS, -1);
- if (values == (pk_bitfield_value (PK_ROLE_ENUM_SEARCH_DETAILS) |
- pk_bitfield_value (PK_ROLE_ENUM_SEARCH_GROUP)))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned bitfield %" PK_BITFIELD_FORMAT, values);
-
- /************************************************************/
- egg_test_title (test, "group bitfield from enums (unknown)");
- values = pk_bitfield_from_enums (PK_GROUP_ENUM_UNKNOWN, -1);
- if (values == pk_bitfield_value (PK_GROUP_ENUM_UNKNOWN))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned bitfield %" PK_BITFIELD_FORMAT, values);
-
- /************************************************************/
- egg_test_title (test, "group bitfield from enums (random)");
- values = pk_bitfield_from_enums (PK_GROUP_ENUM_ACCESSIBILITY, -1);
- if (values == (pk_bitfield_value (PK_GROUP_ENUM_ACCESSIBILITY)))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned bitfield %" PK_BITFIELD_FORMAT, values);
-
- /************************************************************/
- egg_test_title (test, "group bitfield to text (unknown)");
- values = pk_bitfield_from_enums (PK_GROUP_ENUM_UNKNOWN, -1);
- text = pk_group_bitfield_to_string (values);
- if (g_strcmp0 (text, "unknown") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned bitfield text %s (%" PK_BITFIELD_FORMAT ")", text, values);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "group bitfield to text (first and last)");
- values = pk_bitfield_from_enums (PK_GROUP_ENUM_ACCESSIBILITY, PK_GROUP_ENUM_UNKNOWN, -1);
- text = pk_group_bitfield_to_string (values);
- if (g_strcmp0 (text, "unknown;accessibility") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned bitfield text %s (%" PK_BITFIELD_FORMAT ")", text, values);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "group bitfield to text (random)");
- values = pk_bitfield_from_enums (PK_GROUP_ENUM_UNKNOWN, PK_GROUP_ENUM_REPOS, -1);
- text = pk_group_bitfield_to_string (values);
- if (g_strcmp0 (text, "unknown;repos") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned bitfield text %s (%" PK_BITFIELD_FORMAT ")", text, values);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "priority check missing");
- values = pk_bitfield_value (PK_ROLE_ENUM_SEARCH_DETAILS) |
- pk_bitfield_value (PK_ROLE_ENUM_SEARCH_GROUP);
- value = pk_bitfield_contain_priority (values, PK_ROLE_ENUM_SEARCH_FILE, -1);
- if (value == -1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned priority %i when should be missing", value);
-
- /************************************************************/
- egg_test_title (test, "priority check first");
- value = pk_bitfield_contain_priority (values, PK_ROLE_ENUM_SEARCH_GROUP, -1);
- if (value == PK_ROLE_ENUM_SEARCH_GROUP)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned wrong value; %i", value);
-
- /************************************************************/
- egg_test_title (test, "priority check second, correct");
- value = pk_bitfield_contain_priority (values, PK_ROLE_ENUM_SEARCH_FILE, PK_ROLE_ENUM_SEARCH_GROUP, -1);
- if (value == PK_ROLE_ENUM_SEARCH_GROUP)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned wrong value; %i", value);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-catalog.c b/lib/packagekit-glib2/pk-catalog.c
index 40dbbd9..64a311b 100644
--- a/lib/packagekit-glib2/pk-catalog.c
+++ b/lib/packagekit-glib2/pk-catalog.c
@@ -648,91 +648,3 @@ pk_catalog_new (void)
catalog = g_object_new (PK_TYPE_CATALOG, NULL);
return PK_CATALOG (catalog);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-static void
-pk_catalog_test_lookup_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkCatalog *catalog = PK_CATALOG (object);
- GError *error = NULL;
- GPtrArray *array;
- guint i;
- PkPackage *package;
-
- /* get the results */
- array = pk_catalog_lookup_finish (catalog, res, &error);
- if (array == NULL) {
- egg_test_failed (test, "failed to lookup catalog: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* check size */
- if (array->len != 3) {
- egg_test_failed (test, "incorrect size, expecting 3 got %i", array->len);
- goto out;
- }
-
- /* list for shits and giggles */
- for (i=0; i<array->len; i++) {
- package = g_ptr_array_index (array, i);
- egg_debug ("%i\t%s", i, pk_package_get_id (package));
- }
-out:
- if (array != NULL)
- g_ptr_array_unref (array);
- egg_test_loop_quit (test);
-}
-
-static void
-pk_catalog_test_progress_cb (PkProgress *progress, PkProgressType type, EggTest *test)
-{
- PkStatusEnum status;
- if (type == PK_PROGRESS_TYPE_STATUS) {
- g_object_get (progress,
- "status", &status,
- NULL);
- egg_debug ("now %s", pk_status_enum_to_string (status));
- }
-}
-
-void
-pk_catalog_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- PkCatalog *catalog;
- gchar *path;
-
- if (!egg_test_start (test, "PkCatalog"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- catalog = pk_catalog_new ();
- egg_test_assert (test, catalog != NULL);
-
- /************************************************************/
- egg_test_title (test, "get test file");
- path = egg_test_get_data_file ("test.catalog");
- egg_test_assert (test, path != NULL);
-
- /************************************************************/
- egg_test_title (test, "lookup catalog");
- pk_catalog_lookup_async (catalog, path, NULL,
- (PkProgressCallback) pk_catalog_test_progress_cb, test,
- (GAsyncReadyCallback) pk_catalog_test_lookup_cb, test);
- egg_test_loop_wait (test, 150000);
- egg_test_success (test, "resolvd, searched, etc. in %i", egg_test_elapsed (test));
-
- g_object_unref (catalog);
- g_free (path);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index 60d8d10..25cb19d 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -4170,493 +4170,3 @@ pk_client_new (void)
client = g_object_new (PK_TYPE_CLIENT, NULL);
return PK_CLIENT (client);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-#include "pk-control-sync.h"
-#include "pk-client-sync.h"
-
-static void
-pk_client_test_resolve_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkClient *client = PK_CLIENT (object);
- GError *error = NULL;
- PkResults *results = NULL;
- PkExitEnum exit_enum;
- GPtrArray *packages;
- gboolean idle;
-
- /* get the results */
- results = pk_client_generic_finish (client, res, &error);
- if (results == NULL) {
- egg_test_failed (test, "failed to resolve: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- exit_enum = pk_results_get_exit_code (results);
- if (exit_enum != PK_EXIT_ENUM_SUCCESS)
- egg_test_failed (test, "failed to resolve success: %s", pk_exit_enum_to_string (exit_enum));
-
- packages = pk_results_get_package_array (results);
- if (packages == NULL)
- egg_test_failed (test, "no packages!");
-
- /* check idle */
- g_object_get (client, "idle", &idle, NULL);
- if (!idle)
- egg_test_failed (test, "not idle in finished handler");
-
- if (packages->len != 2)
- egg_test_failed (test, "invalid number of packages: %i", packages->len);
-
- g_ptr_array_unref (packages);
-
- egg_debug ("results exit enum = %s", pk_exit_enum_to_string (exit_enum));
-out:
- if (results != NULL)
- g_object_unref (results);
- egg_test_loop_quit (test);
-}
-
-static void
-pk_client_test_get_details_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkClient *client = PK_CLIENT (object);
- GError *error = NULL;
- PkResults *results = NULL;
- PkExitEnum exit_enum;
- GPtrArray *details;
-
- /* get the results */
- results = pk_client_generic_finish (client, res, &error);
- if (results == NULL) {
- egg_test_failed (test, "failed to resolve: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- exit_enum = pk_results_get_exit_code (results);
- if (exit_enum != PK_EXIT_ENUM_SUCCESS)
- egg_test_failed (test, "failed to get details: %s", pk_exit_enum_to_string (exit_enum));
-
- details = pk_results_get_details_array (results);
- if (details == NULL)
- egg_test_failed (test, "no details!");
-
- if (details->len != 1)
- egg_test_failed (test, "invalid number of details: %i", details->len);
-
- g_ptr_array_unref (details);
-
- egg_debug ("results exit enum = %s", pk_exit_enum_to_string (exit_enum));
-out:
- if (results != NULL)
- g_object_unref (results);
- egg_test_loop_quit (test);
-}
-
-static void
-pk_client_test_get_updates_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkClient *client = PK_CLIENT (object);
- GError *error = NULL;
- PkResults *results = NULL;
- PkExitEnum exit_enum;
- PkPackageSack *sack;
- guint size;
-
- /* get the results */
- results = pk_client_generic_finish (client, res, &error);
- if (results == NULL) {
- egg_test_failed (test, "failed to resolve: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- exit_enum = pk_results_get_exit_code (results);
- if (exit_enum != PK_EXIT_ENUM_SUCCESS)
- egg_test_failed (test, "failed to get updates: %s", pk_exit_enum_to_string (exit_enum));
-
- sack = pk_results_get_package_sack (results);
- if (sack == NULL)
- egg_test_failed (test, "no details!");
-
- /* check size */
- size = pk_package_sack_get_size (sack);
- if (size != 3)
- egg_test_failed (test, "invalid number of updates: %i", size);
-
- g_object_unref (sack);
-
- egg_debug ("results exit enum = %s", pk_exit_enum_to_string (exit_enum));
-out:
- if (results != NULL)
- g_object_unref (results);
- egg_test_loop_quit (test);
-}
-
-static void
-pk_client_test_search_name_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkClient *client = PK_CLIENT (object);
- GError *error = NULL;
- PkResults *results = NULL;
- PkExitEnum exit_enum;
- PkError *error_code = NULL;
-
- /* get the results */
- results = pk_client_generic_finish (client, res, &error);
- if (results == NULL) {
- egg_test_failed (test, "failed to resolve: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- exit_enum = pk_results_get_exit_code (results);
- if (exit_enum != PK_EXIT_ENUM_CANCELLED)
- egg_test_failed (test, "failed to cancel search: %s", pk_exit_enum_to_string (exit_enum));
-
- /* check error code */
- error_code = pk_results_get_error_code (results);
- if (pk_error_get_code (error_code) != PK_ERROR_ENUM_TRANSACTION_CANCELLED)
- egg_test_failed (test, "failed to get error code: %i", pk_error_get_code (error_code));
- if (g_strcmp0 (pk_error_get_details (error_code), "The task was stopped successfully") != 0 &&
- g_strcmp0 (pk_error_get_details (error_code), "transaction was cancelled") != 0)
- egg_test_failed (test, "failed to get error message: %s", pk_error_get_details (error_code));
-out:
- if (error_code != NULL)
- g_object_unref (error_code);
- if (results != NULL)
- g_object_unref (results);
- egg_test_loop_quit (test);
-}
-
-static guint _progress_cb = 0;
-static guint _status_cb = 0;
-static guint _package_cb = 0;
-static guint _allow_cancel_cb = 0;
-gchar *_tid = NULL;
-
-static void
-pk_client_test_progress_cb (PkProgress *progress, PkProgressType type, EggTest *test)
-{
- gchar *tid;
- if (type == PK_PROGRESS_TYPE_PACKAGE_ID)
- _package_cb++;
- if (type == PK_PROGRESS_TYPE_PERCENTAGE)
- _progress_cb++;
- if (type == PK_PROGRESS_TYPE_SUBPERCENTAGE)
- _progress_cb++;
- if (type == PK_PROGRESS_TYPE_ALLOW_CANCEL)
- _allow_cancel_cb++;
- if (type == PK_PROGRESS_TYPE_STATUS)
- _status_cb++;
-
- /* get the running transaction id if we've not set it before */
- g_object_get (progress, "transaction-id", &tid, NULL);
- if (tid != NULL && _tid == NULL)
- _tid = g_strdup (tid);
- g_free (tid);
-}
-
-static gboolean
-pk_client_test_cancel_cb (GCancellable *cancellable)
-{
- egg_warning ("cancelling method");
- g_cancellable_cancel (cancellable);
- return FALSE;
-}
-
-static void
-pk_client_test_download_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkClient *client = PK_CLIENT (object);
- GError *error = NULL;
- PkResults *results = NULL;
- PkExitEnum exit_enum;
- PkFiles *item;
- GPtrArray *array = NULL;
- guint len;
- gchar *package_id = NULL;
- gchar **files = NULL;
-
- /* get the results */
- results = pk_client_generic_finish (client, res, &error);
- if (results == NULL) {
- egg_test_failed (test, "failed to download: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- exit_enum = pk_results_get_exit_code (results);
- if (exit_enum != PK_EXIT_ENUM_SUCCESS)
- egg_test_failed (test, "failed to download: %s", pk_exit_enum_to_string (exit_enum));
-
- /* check number */
- array = pk_results_get_files_array (results);
- if (array->len != 2)
- egg_test_failed (test, "invalid number of files: %i", array->len);
-
- /* check a result */
- item = g_ptr_array_index (array, 0);
- g_object_get (item,
- "package-id", &package_id,
- "files", &files,
- NULL);
- if (g_strcmp0 (package_id, "powertop-common;1.8-1.fc8;i386;fedora") != 0)
- egg_test_failed (test, "invalid package_id: %s", package_id);
- len = g_strv_length (files);
- if (len != 1)
- egg_test_failed (test, "invalid number of files: %i", len);
- if (g_strcmp0 (files[0], "/tmp/powertop-common-1.8-1.fc8.rpm") != 0)
- egg_test_failed (test, "invalid filename: %s, maybe not rewritten", files[0]);
-out:
- g_strfreev (files);
- g_free (package_id);
- g_ptr_array_unref (array);
- if (results != NULL)
- g_object_unref (results);
- egg_test_loop_quit (test);
-}
-
-static void
-pk_client_test_recursive_signal_cb (PkControl *control, EggTest *test)
-{
- gboolean ret;
- ret = pk_control_get_properties (control, NULL, NULL);
- if (!ret)
- egg_test_failed (test, "could not get properties sync");
-}
-
-/**
- * pk_client_test_notify_idle_cb:
- **/
-static void
-pk_client_test_notify_idle_cb (PkClient *client, GParamSpec *pspec, EggTest *test)
-{
- gboolean idle;
- g_object_get (client, "idle", &idle, NULL);
- egg_debug ("idle=%i", idle);
-}
-
-void
-pk_client_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- PkClient *client;
- gchar **package_ids;
- gchar *file;
- GCancellable *cancellable;
- gboolean ret;
- gchar **values;
- GError *error = NULL;
- PkProgress *progress;
- gchar *tid;
- PkRoleEnum role;
- PkStatusEnum status;
- PkResults *results;
-
- if (!egg_test_start (test, "PkClient"))
- return;
-
- /************************************************************/
- egg_test_title (test, "test user temp");
- file = pk_client_get_user_temp ("self-test", NULL);
- if (g_str_has_suffix (file, "/.PackageKit/self-test") && g_str_has_prefix (file, "/home/"))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "temp was %s", file);
- g_free (file);
-
- /************************************************************/
- egg_test_title (test, "test native TRUE");
- ret = pk_client_is_file_native ("/tmp");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "test native FALSE");
- ret = pk_client_is_file_native ("/tmp/.gvfs/moo");
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "test resolve NULL");
- file = pk_client_real_path (NULL);
- if (file == NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "test resolve /etc/hosts");
- file = pk_client_real_path ("/etc/hosts");
- if (file != NULL && g_strcmp0 (file, "/etc/hosts") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got: %s", file);
- g_free (file);
-
- /************************************************************/
- egg_test_title (test, "test resolve /etc/../etc/hosts");
- file = pk_client_real_path ("/etc/../etc/hosts");
- if (file != NULL && g_strcmp0 (file, "/etc/hosts") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got: %s", file);
- g_free (file);
-
- /************************************************************/
- egg_test_title (test, "get client");
- client = pk_client_new ();
- g_signal_connect (client, "notify::idle",
- G_CALLBACK (pk_client_test_notify_idle_cb), test);
- egg_test_assert (test, client != NULL);
-
- /************************************************************/
- egg_test_title (test, "check idle");
- g_object_get (client, "idle", &ret, NULL);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "resolve package");
- package_ids = pk_package_ids_from_string ("glib2;2.14.0;i386;fedora&powertop");
- pk_client_resolve_async (client, pk_bitfield_value (PK_FILTER_ENUM_INSTALLED), package_ids, NULL,
- (PkProgressCallback) pk_client_test_progress_cb, test,
- (GAsyncReadyCallback) pk_client_test_resolve_cb, test);
- g_strfreev (package_ids);
- egg_test_loop_wait (test, 15000);
- egg_test_success (test, "resolved in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "check idle");
- g_object_get (client, "idle", &ret, NULL);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get progress of past transaction");
- progress = pk_client_get_progress (client, _tid, NULL, &error);
- g_object_get (progress,
- "transaction-id", &tid,
- "role", &role,
- "status", &status,
- NULL);
- if (g_strcmp0 (tid, _tid) != 0)
- egg_test_failed (test, "incorrect transaction-id, got %s, expected %s", tid, _tid);
- if (role != PK_ROLE_ENUM_RESOLVE)
- egg_test_failed (test, "incorrect role, got %s", pk_role_enum_to_string (role));
- if (status != PK_STATUS_ENUM_FINISHED)
- egg_test_failed (test, "incorrect status, got %s", pk_status_enum_to_string (status));
- egg_test_success (test, "got progress in %i", egg_test_elapsed (test));
- g_object_unref (progress);
- g_free (tid);
- g_free (_tid);
-
- /************************************************************/
- egg_test_title (test, "got progress updates");
- if (_progress_cb > 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %i updates", _progress_cb);
-
- /************************************************************/
- egg_test_title (test, "got status updates");
- if (_status_cb > 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %i updates", _status_cb);
-
- /* reset */
- _progress_cb = 0;
- _status_cb = 0;
-// _package_cb = 0;
-
- /************************************************************/
- egg_test_title (test, "get details about package");
- package_ids = pk_package_ids_from_id ("powertop;1.8-1.fc8;i386;fedora");
- pk_client_get_details_async (client, package_ids, NULL,
- (PkProgressCallback) pk_client_test_progress_cb, test,
- (GAsyncReadyCallback) pk_client_test_get_details_cb, test);
- g_strfreev (package_ids);
- egg_test_loop_wait (test, 15000);
- egg_test_success (test, "resolved in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "got progress updates");
- if (_progress_cb > 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %i updates", _progress_cb);
-
- /************************************************************/
- egg_test_title (test, "got status updates");
- if (_status_cb > 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %i updates", _status_cb);
-
- /* reset */
- _progress_cb = 0;
- _status_cb = 0;
-// _package_cb = 0;
-
- /************************************************************/
- egg_test_title (test, "get updates");
- pk_client_get_updates_async (client, pk_bitfield_value (PK_FILTER_ENUM_NONE), NULL,
- (PkProgressCallback) pk_client_test_progress_cb, test,
- (GAsyncReadyCallback) pk_client_test_get_updates_cb, test);
- egg_test_loop_wait (test, 15000);
- egg_test_success (test, "got updates in %i", egg_test_elapsed (test));
-
- /* it takes more than 50ms to get the progress of the transaction, and if
- * getting updates from internal cache, then it'll take a shed load less
- * than this to complete */
- if (egg_test_elapsed (test) > 100) {
- /************************************************************/
- egg_test_title (test, "got status updates");
- if (_status_cb > 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %i updates", _status_cb);
- }
-
- /************************************************************/
- egg_test_title (test, "search by name");
- cancellable = g_cancellable_new ();
- values = g_strsplit ("power", "&", -1);
- pk_client_search_names_async (client, pk_bitfield_value (PK_FILTER_ENUM_NONE), values, cancellable,
- (PkProgressCallback) pk_client_test_progress_cb, test,
- (GAsyncReadyCallback) pk_client_test_search_name_cb, test);
- g_timeout_add (1000, (GSourceFunc) pk_client_test_cancel_cb, cancellable);
- egg_test_loop_wait (test, 15000);
- egg_test_success (test, "cancelled in %i", egg_test_elapsed (test));
-
- g_strfreev (values);
- g_cancellable_reset (cancellable);
-
- /************************************************************/
- egg_test_title (test, "do downloads");
- package_ids = pk_package_ids_from_id ("powertop;1.8-1.fc8;i386;fedora");
- pk_client_download_packages_async (client, package_ids, "/tmp", cancellable,
- (PkProgressCallback) pk_client_test_progress_cb, test,
- (GAsyncReadyCallback) pk_client_test_download_cb, test);
- g_strfreev (package_ids);
- egg_test_loop_wait (test, 15000);
- egg_test_success (test, "downloaded and copied in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "test recursive signal handling");
- g_signal_connect (client->priv->control, "repo-list-changed", G_CALLBACK (pk_client_test_recursive_signal_cb), test);
- results = pk_client_repo_set_data (client, "dave", "moo", "data", NULL, NULL, NULL, NULL);
- egg_test_assert (test, (results != NULL));
-
- g_object_unref (results);
- g_object_unref (cancellable);
- g_object_unref (client);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-common.c b/lib/packagekit-glib2/pk-common.c
index a21c6a1..0a4ea00 100644
--- a/lib/packagekit-glib2/pk-common.c
+++ b/lib/packagekit-glib2/pk-common.c
@@ -163,59 +163,3 @@ pk_ptr_array_to_strv (GPtrArray *array)
return value;
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_common_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- gchar *present;
- GDate *date;
-
- if (!egg_test_start (test, "PkCommon"))
- return;
-
- /************************************************************
- ************** iso8601 ****************
- ************************************************************/
- egg_test_title (test, "get present iso8601");
- present = pk_iso8601_present ();
- if (present != NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "present is NULL");
- g_free (present);
-
- /************************************************************
- ************** Date handling ****************
- ************************************************************/
- egg_test_title (test, "zero length date");
- date = pk_iso8601_to_date ("");
- egg_test_assert (test, (date == NULL));
-
- /************************************************************/
- egg_test_title (test, "no day specified");
- date = pk_iso8601_to_date ("2004-01");
- egg_test_assert (test, (date == NULL));
-
- /************************************************************/
- egg_test_title (test, "date _and_ time specified");
- date = pk_iso8601_to_date ("2009-05-08 13:11:12");
- egg_test_assert (test, (date->day == 8 && date->month == 5 && date->year == 2009));
- g_date_free (date);
-
- /************************************************************/
- egg_test_title (test, "correct date format");
- date = pk_iso8601_to_date ("2004-02-01");
- egg_test_assert (test, (date->day == 1 && date->month == 2 && date->year == 2004));
- g_date_free (date);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-console-shared.c b/lib/packagekit-glib2/pk-console-shared.c
index c345d21..7bc2e43 100644
--- a/lib/packagekit-glib2/pk-console-shared.c
+++ b/lib/packagekit-glib2/pk-console-shared.c
@@ -695,43 +695,3 @@ pk_role_enum_to_localised_present (PkRoleEnum role)
}
return text;
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_console_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- gboolean ret;
-
- if (!egg_test_start (test, "PkConsole"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get prompt 1");
- ret = pk_console_get_prompt ("press enter", TRUE);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get prompt 2");
- ret = pk_console_get_prompt ("press enter", TRUE);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get prompt 3");
- ret = pk_console_get_prompt ("press Y", TRUE);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get prompt 3");
- ret = pk_console_get_prompt ("press N", TRUE);
- egg_test_assert (test, !ret);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-control.c b/lib/packagekit-glib2/pk-control.c
index db2de52..170c967 100644
--- a/lib/packagekit-glib2/pk-control.c
+++ b/lib/packagekit-glib2/pk-control.c
@@ -2554,261 +2554,3 @@ pk_control_new (void)
}
return PK_CONTROL (pk_control_object);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-#include "pk-control-sync.h"
-
-static guint _refcount = 0;
-
-static void
-pk_control_test_get_tid_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkControl *control = PK_CONTROL (object);
- GError *error = NULL;
- gchar *tid;
-
- /* get the result */
- tid = pk_control_get_tid_finish (control, res, &error);
- if (tid == NULL) {
- egg_test_failed (test, "failed to get transaction: %s", error->message);
- g_error_free (error);
- return;
- }
-
- egg_debug ("tid = %s", tid);
- g_free (tid);
- if (--_refcount == 0)
- egg_test_loop_quit (test);
-}
-
-static void
-pk_control_test_get_properties_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkControl *control = PK_CONTROL (object);
- GError *error = NULL;
- gboolean ret;
- PkBitfield roles;
- PkBitfield filters;
- PkBitfield groups;
- gchar *text;
-
- /* get the result */
- ret = pk_control_get_properties_finish (control, res, &error);
- if (!ret) {
- egg_test_failed (test, "failed to get properties: %s", error->message);
- g_error_free (error);
- return;
- }
-
- /* get values */
- g_object_get (control,
- "mime-types", &text,
- "roles", &roles,
- "filters", &filters,
- "groups", &groups,
- NULL);
-
- /* check mime_types */
- if (g_strcmp0 (text, "application/x-rpm;application/x-deb") != 0) {
- egg_test_failed (test, "data incorrect: %s", text);
- return;
- }
- g_free (text);
-
- /* check roles */
- text = pk_role_bitfield_to_string (roles);
- if (g_strcmp0 (text, "cancel;get-depends;get-details;get-files;get-packages;get-repo-list;"
- "get-requires;get-update-detail;get-updates;install-files;install-packages;install-signature;"
- "refresh-cache;remove-packages;repo-enable;repo-set-data;resolve;rollback;"
- "search-details;search-file;search-group;search-name;update-packages;update-system;"
- "what-provides;download-packages;get-distro-upgrades;simulate-install-packages;"
- "simulate-remove-packages;simulate-update-packages") != 0) {
- egg_test_failed (test, "data incorrect: %s", text);
- return;
- }
- g_free (text);
-
- /* check filters */
- text = pk_filter_bitfield_to_string (filters);
- if (g_strcmp0 (text, "installed;devel;gui") != 0) {
- egg_test_failed (test, "data incorrect: %s", text);
- return;
- }
- g_free (text);
-
- /* check groups */
- text = pk_group_bitfield_to_string (groups);
- if (g_strcmp0 (text, "accessibility;games;system") != 0) {
- egg_test_failed (test, "data incorrect: %s", text);
- return;
- }
- egg_debug ("groups = %s", text);
-
- g_free (text);
-
- if (--_refcount == 0)
- egg_test_loop_quit (test);
-}
-
-static void
-pk_control_test_get_time_since_action_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkControl *control = PK_CONTROL (object);
- GError *error = NULL;
- guint seconds;
-
- /* get the result */
- seconds = pk_control_get_time_since_action_finish (control, res, &error);
- if (seconds == 0) {
- egg_test_failed (test, "failed to get time: %s", error->message);
- g_error_free (error);
- return;
- }
-
- egg_test_loop_quit (test);
-}
-
-static void
-pk_control_test_can_authorize_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkControl *control = PK_CONTROL (object);
- GError *error = NULL;
- PkAuthorizeEnum auth;
-
- /* get the result */
- auth = pk_control_can_authorize_finish (control, res, &error);
- if (auth == PK_AUTHORIZE_ENUM_UNKNOWN) {
- egg_test_failed (test, "failed to get auth: %s", error->message);
- g_error_free (error);
- return;
- }
-
- egg_test_loop_quit (test);
-}
-
-void
-pk_control_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- PkControl *control;
- guint version;
- GError *error = NULL;
- gboolean ret;
- gchar *text;
- PkBitfield roles;
- guint i;
- const guint LOOP_SIZE = 5;
-
- if (!egg_test_start (test, "PkControl"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get control");
- control = pk_control_new ();
- egg_test_assert (test, control != NULL);
-
- /************************************************************/
- egg_test_title (test, "get TID async");
- _refcount = 1;
- pk_control_get_tid_async (control, NULL, (GAsyncReadyCallback) pk_control_test_get_tid_cb, test);
- egg_test_loop_wait (test, 5000);
- egg_test_success (test, "got tid in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "get multiple TIDs async");
- _refcount = LOOP_SIZE;
- for (i=0; i<_refcount; i++) {
- egg_debug ("getting #%i", i+1);
- pk_control_get_tid_async (control, NULL, (GAsyncReadyCallback) pk_control_test_get_tid_cb, test);
- }
- egg_test_loop_wait (test, 5000);
- egg_test_success (test, "got %i tids in %i", LOOP_SIZE, egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "get properties async");
- _refcount = 1;
- pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) pk_control_test_get_properties_cb, test);
- egg_test_loop_wait (test, 5000);
- egg_test_success (test, "got properties types in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "get properties async (again, to test caching)");
- _refcount = 1;
- pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) pk_control_test_get_properties_cb, test);
- egg_test_loop_wait (test, 5000);
- egg_test_success (test, "got properties in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "do multiple requests async");
- _refcount = LOOP_SIZE * 4;
- for (i=0; i<_refcount; i++) {
- egg_debug ("getting #%i", i+1);
- pk_control_get_tid_async (control, NULL, (GAsyncReadyCallback) pk_control_test_get_tid_cb, test);
- pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) pk_control_test_get_properties_cb, test);
- pk_control_get_tid_async (control, NULL, (GAsyncReadyCallback) pk_control_test_get_tid_cb, test);
- pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) pk_control_test_get_properties_cb, test);
- }
- egg_test_loop_wait (test, 5000);
- egg_test_success (test, "got %i 2*properties and 2*tids in %i", LOOP_SIZE, egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "get time since async");
- pk_control_get_time_since_action_async (control, PK_ROLE_ENUM_GET_UPDATES, NULL, (GAsyncReadyCallback) pk_control_test_get_time_since_action_cb, test);
- egg_test_loop_wait (test, 5000);
- egg_test_success (test, "got get time since in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "get auth state async");
- pk_control_can_authorize_async (control, "org.freedesktop.packagekit.system-update", NULL,
- (GAsyncReadyCallback) pk_control_test_can_authorize_cb, test);
- egg_test_loop_wait (test, 5000);
- egg_test_success (test, "get auth state in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "version major");
- g_object_get (control, "version-major", &version, NULL);
- egg_test_assert (test, (version == PK_MAJOR_VERSION));
-
- /************************************************************/
- egg_test_title (test, "version minor");
- g_object_get (control, "version-minor", &version, NULL);
- egg_test_assert (test, (version == PK_MINOR_VERSION));
-
- /************************************************************/
- egg_test_title (test, "version micro");
- g_object_get (control, "version-micro", &version, NULL);
- egg_test_assert (test, (version == PK_MICRO_VERSION));
-
- /************************************************************/
- egg_test_title (test, "get properties sync");
- ret = pk_control_get_properties (control, NULL, &error);
- if (!ret)
- egg_test_failed (test, "failed to get properties: %s", error->message);
-
- /* get data */
- g_object_get (control,
- "roles", &roles,
- NULL);
-
- /* check data */
- text = pk_role_bitfield_to_string (roles);
- if (g_strcmp0 (text, "cancel;get-depends;get-details;get-files;get-packages;get-repo-list;"
- "get-requires;get-update-detail;get-updates;install-files;install-packages;install-signature;"
- "refresh-cache;remove-packages;repo-enable;repo-set-data;resolve;rollback;"
- "search-details;search-file;search-group;search-name;update-packages;update-system;"
- "what-provides;download-packages;get-distro-upgrades;simulate-install-packages;"
- "simulate-remove-packages;simulate-update-packages") != 0) {
- egg_test_failed (test, "data incorrect: %s", text);
- }
- egg_test_success (test, "got correct roles");
- g_free (text);
-
- g_object_unref (control);
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-desktop.c b/lib/packagekit-glib2/pk-desktop.c
index ced2b74..ad61550 100644
--- a/lib/packagekit-glib2/pk-desktop.c
+++ b/lib/packagekit-glib2/pk-desktop.c
@@ -322,91 +322,3 @@ pk_desktop_new (void)
}
return PK_DESKTOP (pk_desktop_object);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_desktop_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- PkDesktop *desktop;
- gboolean ret;
- gchar *package;
- GPtrArray *array;
- GError *error = NULL;
-
- if (!egg_test_start (test, "PkDesktop"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get desktop");
- desktop = pk_desktop_new ();
- egg_test_assert (test, desktop != NULL);
-
- /************************************************************/
- egg_test_title (test, "get package when not valid");
- package = pk_desktop_get_package_for_file (desktop, "/usr/share/applications/gpk-update-viewer.desktop", NULL);
- egg_test_assert (test, package == NULL);
-
- /* file does not exist */
- ret = g_file_test (PK_DESKTOP_DEFAULT_DATABASE, G_FILE_TEST_EXISTS);
- if (!ret) {
- egg_warning ("skipping checks as database does not exist");
- goto out;
- }
-
- /************************************************************/
- egg_test_title (test, "open database");
- ret = pk_desktop_open_database (desktop, &error);
- if (ret)
- egg_test_success (test, "%ims", egg_test_elapsed (test));
- else
- egg_test_failed (test, "failed to open: %s", error->message);
-
- /************************************************************/
- egg_test_title (test, "get package");
- package = pk_desktop_get_package_for_file (desktop, "/usr/share/applications/gpk-update-viewer.desktop", NULL);
-
- /* dummy, not yum */
- if (g_strcmp0 (package, "vips-doc") == 0) {
- egg_test_success (test, "created db with dummy, skipping remaining tests");
- goto out;
- }
- if (g_strcmp0 (package, "gnome-packagekit") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "package was: %s", package);
- g_free (package);
-
- /************************************************************/
- egg_test_title (test, "get files");
- array = pk_desktop_get_files_for_package (desktop, "gnome-packagekit", NULL);
- if (array == NULL)
- egg_test_failed (test, "array NULL");
- else if (array->len >= 5)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "length=%i", array->len);
- g_ptr_array_unref (array);
-
- /************************************************************/
- egg_test_title (test, "get shown files");
- array = pk_desktop_get_shown_for_package (desktop, "gnome-packagekit", NULL);
- if (array == NULL)
- egg_test_failed (test, "array NULL");
- else if (array->len > 3)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "length=%i", array->len);
- g_ptr_array_unref (array);
-out:
- g_object_unref (desktop);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-enum.c b/lib/packagekit-glib2/pk-enum.c
index 3daee63..ac0fdcf 100644
--- a/lib/packagekit-glib2/pk-enum.c
+++ b/lib/packagekit-glib2/pk-enum.c
@@ -1172,189 +1172,3 @@ pk_authorize_type_enum_to_string (PkAuthorizeEnum authorize_type)
{
return pk_enum_find_string (enum_authorize_type, authorize_type);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_enum_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- const gchar *string;
- PkRoleEnum role_value;
- guint i;
-
- if (!egg_test_start (test, "PkEnum"))
- return;
-
- /************************************************************/
- egg_test_title (test, "find role_value");
- role_value = pk_enum_find_value (enum_role, "search-file");
- if (role_value == PK_ROLE_ENUM_SEARCH_FILE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "find string");
- string = pk_enum_find_string (enum_role, PK_ROLE_ENUM_SEARCH_FILE);
- if (g_strcmp0 (string, "search-file") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "find value");
- role_value = pk_role_enum_from_string ("search-file");
- if (role_value == PK_ROLE_ENUM_SEARCH_FILE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "find string");
- string = pk_role_enum_to_string (PK_ROLE_ENUM_SEARCH_FILE);
- if (g_strcmp0 (string, "search-file") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the role bitfield");
- for (i=1; i<PK_ROLE_ENUM_LAST; i++) {
- string = pk_role_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the status bitfield");
- for (i=1; i<PK_STATUS_ENUM_LAST; i++) {
- string = pk_status_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the exit bitfield");
- for (i=0; i<PK_EXIT_ENUM_LAST; i++) {
- string = pk_exit_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the filter bitfield");
- for (i=0; i<PK_FILTER_ENUM_LAST; i++) {
- string = pk_filter_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the restart bitfield");
- for (i=0; i<PK_RESTART_ENUM_LAST; i++) {
- string = pk_restart_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the error_code bitfield");
- for (i=0; i<PK_ERROR_ENUM_LAST; i++) {
- string = pk_error_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the group bitfield");
- for (i=1; i<PK_GROUP_ENUM_LAST; i++) {
- string = pk_group_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the info bitfield");
- for (i=1; i<PK_INFO_ENUM_LAST; i++) {
- string = pk_info_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the sig_type bitfield");
- for (i=0; i<PK_SIGTYPE_ENUM_LAST; i++) {
- string = pk_sig_type_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the upgrade bitfield");
- for (i=0; i<PK_DISTRO_UPGRADE_ENUM_LAST; i++) {
- string = pk_distro_upgrade_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the license bitfield");
- for (i=0; i<PK_LICENSE_ENUM_LAST; i++) {
- string = pk_license_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we convert all the media type bitfield");
- for (i=0; i<PK_MEDIA_TYPE_ENUM_LAST; i++) {
- string = pk_media_type_enum_to_string (i);
- if (string == NULL) {
- egg_test_failed (test, "failed to get %i", i);
- break;
- }
- }
- egg_test_success (test, NULL);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-package-id.c b/lib/packagekit-glib2/pk-package-id.c
index 6c671f2..fb2afc1 100644
--- a/lib/packagekit-glib2/pk-package-id.c
+++ b/lib/packagekit-glib2/pk-package-id.c
@@ -221,130 +221,3 @@ out:
g_strfreev (parts);
return value;
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_package_id_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- gboolean ret;
- gchar *text;
- gchar **sections;
-
- if (!egg_test_start (test, "PkPackageId"))
- return;
-
- /************************************************************/
- egg_test_title (test, "check not valid - NULL");
- ret = pk_package_id_check (NULL);
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "check not valid - no name");
- ret = pk_package_id_check (";0.0.1;i386;fedora");
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "check not valid - invalid");
- ret = pk_package_id_check ("moo;0.0.1;i386");
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "check valid");
- ret = pk_package_id_check ("moo;0.0.1;i386;fedora");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "id build");
- text = pk_package_id_build ("moo", "0.0.1", "i386", "fedora");
- if (g_strcmp0 (text, "moo;0.0.1;i386;fedora") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
- g_free (text);
-
- egg_test_title (test, "id build partial");
- text = pk_package_id_build ("moo", NULL, NULL, NULL);
- if (g_strcmp0 (text, "moo;;;") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got '%s', expected '%s'", text, "moo;;;");
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "test printable");
- text = pk_package_id_to_printable ("moo;0.0.1;i386;fedora");
- if (g_strcmp0 (text, "moo-0.0.1.i386") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "printable is '%s'", text);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "test printable no arch");
- text = pk_package_id_to_printable ("moo;0.0.1;;");
- if (g_strcmp0 (text, "moo-0.0.1") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "printable is '%s'", text);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "test printable just name");
- text = pk_package_id_to_printable ("moo;;;");
- if (g_strcmp0 (text, "moo") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "printable is '%s'", text);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "test on real packageid");
- sections = pk_package_id_split ("kde-i18n-csb;4:3.5.8~pre20071001-0ubuntu1;all;");
- if (sections != NULL &&
- g_strcmp0 (sections[0], "kde-i18n-csb") == 0 &&
- g_strcmp0 (sections[1], "4:3.5.8~pre20071001-0ubuntu1") == 0 &&
- g_strcmp0 (sections[2], "all") == 0 &&
- g_strcmp0 (sections[3], "") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %s, %s, %s, %s", sections[0], sections[1], sections[2], sections[3]);
- g_strfreev (sections);
-
- /************************************************************/
- egg_test_title (test, "test on short packageid");
- sections = pk_package_id_split ("kde-i18n-csb;4:3.5.8~pre20071001-0ubuntu1;;");
- if (sections != NULL &&
- g_strcmp0 (sections[0], "kde-i18n-csb") == 0 &&
- g_strcmp0 (sections[1], "4:3.5.8~pre20071001-0ubuntu1") == 0 &&
- g_strcmp0 (sections[2], "") == 0 &&
- g_strcmp0 (sections[3], "") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %s, %s, %s, %s", sections[0], sections[1], sections[2], sections[3]);
- g_strfreev (sections);
-
- /************************************************************/
- egg_test_title (test, "test fail under");
- sections = pk_package_id_split ("foo;moo");
- egg_test_assert (test, sections == NULL);
-
- /************************************************************/
- egg_test_title (test, "test fail over");
- sections = pk_package_id_split ("foo;moo;dave;clive;dan");
- egg_test_assert (test, sections == NULL);
-
- /************************************************************/
- egg_test_title (test, "test fail missing first");
- sections = pk_package_id_split (";0.1.2;i386;data");
- egg_test_assert (test, sections == NULL);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-package-ids.c b/lib/packagekit-glib2/pk-package-ids.c
index a8a1809..d0c7b68 100644
--- a/lib/packagekit-glib2/pk-package-ids.c
+++ b/lib/packagekit-glib2/pk-package-ids.c
@@ -245,49 +245,3 @@ pk_package_ids_remove_id (gchar **package_ids, const gchar *package_id)
}
return result;
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_package_ids_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- gboolean ret;
- gchar *package_ids_blank[] = {};
- gchar **package_ids;
-
- if (!egg_test_start (test, "PkPackageIds"))
- return;
-
- /************************************************************
- **************** IDENTS ******************
- ************************************************************/
-
- egg_test_title (test, "parse va_list");
- package_ids = pk_package_ids_from_string ("foo;0.0.1;i386;fedora&bar;0.1.1;noarch;livna");
- egg_test_assert (test, package_ids != NULL);
-
- /************************************************************/
- egg_test_title (test, "verify size");
- egg_test_assert (test, (g_strv_length (package_ids) == 2));
-
- /************************************************************/
- egg_test_title (test, "verify blank");
- ret = pk_package_ids_check (package_ids_blank);
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "verify");
- ret = pk_package_ids_check (package_ids);
- egg_test_assert (test, ret);
-
- g_strfreev (package_ids);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-package-sack.c b/lib/packagekit-glib2/pk-package-sack.c
index 2f02286..a6dfaa8 100644
--- a/lib/packagekit-glib2/pk-package-sack.c
+++ b/lib/packagekit-glib2/pk-package-sack.c
@@ -1100,226 +1100,3 @@ pk_package_sack_new (void)
sack = g_object_new (PK_TYPE_PACKAGE_SACK, NULL);
return PK_PACKAGE_SACK (sack);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-static void
-pk_package_sack_test_resolve_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkPackageSack *sack = PK_PACKAGE_SACK (object);
- GError *error = NULL;
- gboolean ret;
-
- /* get the result */
- ret = pk_package_sack_merge_generic_finish (sack, res, &error);
- if (!ret) {
- egg_test_failed (test, "failed to merge resolve: %s", error->message);
- g_error_free (error);
- return;
- }
-
- egg_test_loop_quit (test);
-}
-
-static void
-pk_package_sack_test_details_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkPackageSack *sack = PK_PACKAGE_SACK (object);
- GError *error = NULL;
- gboolean ret;
-
- /* get the result */
- ret = pk_package_sack_merge_generic_finish (sack, res, &error);
- if (!ret) {
- egg_test_failed (test, "failed to merge details: %s", error->message);
- g_error_free (error);
- return;
- }
-
- egg_test_loop_quit (test);
-}
-
-static void
-pk_package_sack_test_update_detail_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkPackageSack *sack = PK_PACKAGE_SACK (object);
- GError *error = NULL;
- gboolean ret;
-
- /* get the result */
- ret = pk_package_sack_merge_generic_finish (sack, res, &error);
- if (!ret) {
- egg_test_failed (test, "failed to merge update detail: %s", error->message);
- g_error_free (error);
- return;
- }
-
- egg_test_loop_quit (test);
-}
-
-/**
- * pk_package_sack_test_filter_cb:
- **/
-static gboolean
-pk_package_sack_test_filter_cb (PkPackage *package, gpointer user_data)
-{
- PkInfoEnum info;
- info = pk_package_get_info (package);
- if (info == PK_INFO_ENUM_UNKNOWN)
- return FALSE;
- return TRUE;
-}
-
-void
-pk_package_sack_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- gboolean ret;
- PkPackageSack *sack;
- PkPackage *package;
- gchar *text;
- guint size;
- PkInfoEnum info = PK_INFO_ENUM_UNKNOWN;
- guint64 bytes;
-
- if (!egg_test_start (test, "PkPackageSack"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get package_sack");
- sack = pk_package_sack_new ();
- egg_test_assert (test, sack != NULL);
-
- /************************************************************/
- egg_test_title (test, "get size of unused package sack");
- size = pk_package_sack_get_size (sack);
- egg_test_assert (test, (size == 0));
-
- /************************************************************/
- egg_test_title (test, "remove package not present");
- ret = pk_package_sack_remove_package_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "find package not present");
- package = pk_package_sack_find_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
- egg_test_assert (test, (package == NULL));
-
- /************************************************************/
- egg_test_title (test, "add package");
- ret = pk_package_sack_add_package_by_id (sack, "powertop;1.8-1.fc8;i386;fedora", NULL);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get size of package sack");
- size = pk_package_sack_get_size (sack);
- egg_test_assert (test, (size == 1));
-
- /************************************************************/
- egg_test_title (test, "merge resolve results");
- pk_package_sack_resolve_async (sack, NULL, NULL, NULL, (GAsyncReadyCallback) pk_package_sack_test_resolve_cb, test);
- egg_test_loop_wait (test, 5000);
- egg_test_success (test, "resolved in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "find package which is present");
- package = pk_package_sack_find_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
- egg_test_assert (test, (package != NULL));
-
- /************************************************************/
- egg_test_title (test, "check new summary");
- g_object_get (package,
- "info", &info,
- "summary", &text,
- NULL);
- egg_test_assert (test, (g_strcmp0 (text, "Power consumption monitor") == 0));
-
- /************************************************************/
- egg_test_title (test, "check new info");
- egg_test_assert (test, (info == PK_INFO_ENUM_INSTALLED));
-
- g_free (text);
- g_object_unref (package);
-
- /************************************************************/
- egg_test_title (test, "merge details results");
- pk_package_sack_get_details_async (sack, NULL, NULL, NULL, (GAsyncReadyCallback) pk_package_sack_test_details_cb, test);
- egg_test_loop_wait (test, 5000);
- egg_test_success (test, "got details in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "find package which is present");
- package = pk_package_sack_find_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
- egg_test_assert (test, (package != NULL));
-
- /************************************************************/
- egg_test_title (test, "check new url");
- g_object_get (package,
- "url", &text,
- NULL);
- egg_test_assert (test, (g_strcmp0 (text, "http://live.gnome.org/powertop") == 0));
- g_object_unref (package);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "merge update detail results");
- pk_package_sack_get_update_detail_async (sack, NULL, NULL, NULL, (GAsyncReadyCallback) pk_package_sack_test_update_detail_cb, test);
- egg_test_loop_wait (test, 5000);
- egg_test_success (test, "got update detail in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "find package which is present");
- package = pk_package_sack_find_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
- egg_test_assert (test, (package != NULL));
-
- /************************************************************/
- egg_test_title (test, "check new vendor url");
- g_object_get (package,
- "update-vendor-url", &text,
- NULL);
- egg_test_assert (test, (g_strcmp0 (text, "http://www.distro-update.org/page?moo;Bugfix release for powertop") == 0));
-
- g_free (text);
- g_object_unref (package);
-
- /************************************************************/
- egg_test_title (test, "chck size in bytes");
- bytes = pk_package_sack_get_total_bytes (sack);
- egg_test_assert (test, (bytes == 103424));
-
- /************************************************************/
- egg_test_title (test, "remove package");
- ret = pk_package_sack_remove_package_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get size of package sack");
- size = pk_package_sack_get_size (sack);
- egg_test_assert (test, (size == 0));
-
- /************************************************************/
- egg_test_title (test, "remove already removed package");
- ret = pk_package_sack_remove_package_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "remove by filter");
- pk_package_sack_add_package_by_id (sack, "powertop;1.8-1.fc8;i386;fedora", NULL);
- pk_package_sack_add_package_by_id (sack, "powertop-debuginfo;1.8-1.fc8;i386;fedora", NULL);
- ret = pk_package_sack_remove_by_filter (sack, pk_package_sack_test_filter_cb, test);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "check all removed");
- size = pk_package_sack_get_size (sack);
- egg_test_assert (test, (size == 0));
-
- g_object_unref (sack);
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-package.c b/lib/packagekit-glib2/pk-package.c
index 5235689..d2d9341 100644
--- a/lib/packagekit-glib2/pk-package.c
+++ b/lib/packagekit-glib2/pk-package.c
@@ -790,74 +790,3 @@ pk_package_new (void)
package = g_object_new (PK_TYPE_PACKAGE, NULL);
return PK_PACKAGE (package);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_package_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- gboolean ret;
- PkPackage *package;
- const gchar *id;
- gchar *text;
-
- if (!egg_test_start (test, "PkPackage"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get package");
- package = pk_package_new ();
- egg_test_assert (test, package != NULL);
-
- /************************************************************/
- egg_test_title (test, "get id of unset package");
- id = pk_package_get_id (package);
- egg_test_assert (test, (id == NULL));
-
- /************************************************************/
- egg_test_title (test, "get id of unset package");
- g_object_get (package, "package-id", &text, NULL);
- egg_test_assert (test, (text == NULL));
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "set invalid id");
- ret = pk_package_set_id (package, "gnome-power-manager", NULL);
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "set invalid id (sections)");
- ret = pk_package_set_id (package, "gnome-power-manager;0.1.2;i386", NULL);
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "set invalid name");
- ret = pk_package_set_id (package, ";0.1.2;i386;fedora", NULL);
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "set valid name");
- ret = pk_package_set_id (package, "gnome-power-manager;0.1.2;i386;fedora", NULL);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get id of set package");
- id = pk_package_get_id (package);
- egg_test_assert (test, (g_strcmp0 (id, "gnome-power-manager;0.1.2;i386;fedora") == 0));
-
- /************************************************************/
- egg_test_title (test, "get name of set package");
- g_object_get (package, "package-id", &text, NULL);
- egg_test_assert (test, (g_strcmp0 (text, "gnome-power-manager;0.1.2;i386;fedora") == 0));
- g_free (text);
-
- g_object_unref (package);
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-progress-bar.c b/lib/packagekit-glib2/pk-progress-bar.c
index e93d7cf..2124fcc 100644
--- a/lib/packagekit-glib2/pk-progress-bar.c
+++ b/lib/packagekit-glib2/pk-progress-bar.c
@@ -335,32 +335,3 @@ pk_progress_bar_new (void)
self = g_object_new (PK_TYPE_PROGRESS_BAR, NULL);
return PK_PROGRESS_BAR (self);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-egg_test_progress_bar (EggTest *test)
-{
- PkProgressBar *self;
-
- if (!egg_test_start (test, "PkProgressBar"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- self = pk_progress_bar_new ();
- if (self != NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- g_object_unref (self);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-progress.c b/lib/packagekit-glib2/pk-progress.c
index 0be34a8..532c94b 100644
--- a/lib/packagekit-glib2/pk-progress.c
+++ b/lib/packagekit-glib2/pk-progress.c
@@ -674,30 +674,3 @@ pk_progress_new (void)
progress = g_object_new (PK_TYPE_PROGRESS, NULL);
return PK_PROGRESS (progress);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_progress_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- PkProgress *progress;
-
- if (!egg_test_start (test, "PkProgress"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get progress");
- progress = pk_progress_new ();
- egg_test_assert (test, progress != NULL);
-
- g_object_unref (progress);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-results.c b/lib/packagekit-glib2/pk-results.c
index a627dff..294008b 100644
--- a/lib/packagekit-glib2/pk-results.c
+++ b/lib/packagekit-glib2/pk-results.c
@@ -929,104 +929,3 @@ pk_results_new (void)
results = g_object_new (PK_TYPE_RESULTS, NULL);
return PK_RESULTS (results);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_results_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- gboolean ret;
- PkResults *results;
- PkExitEnum exit_enum;
- GPtrArray *packages;
- PkPackage *item;
- PkInfoEnum info;
- gchar *package_id;
- gchar *summary;
-
- if (!egg_test_start (test, "PkResults"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get results");
- results = pk_results_new ();
- egg_test_assert (test, results != NULL);
-
- /************************************************************/
- egg_test_title (test, "get exit code of unset results");
- exit_enum = pk_results_get_exit_code (results);
- egg_test_assert (test, (exit_enum == PK_EXIT_ENUM_UNKNOWN));
-
- /************************************************************/
- egg_test_title (test, "get package list of unset results");
- packages = pk_results_get_package_array (results);
- egg_test_assert (test, (packages->len == 0));
- g_ptr_array_unref (packages);
-
- /************************************************************/
- egg_test_title (test, "set valid exit code");
- ret = pk_results_set_exit_code (results, PK_EXIT_ENUM_CANCELLED);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get exit code of set results");
- exit_enum = pk_results_get_exit_code (results);
- egg_test_assert (test, (exit_enum == PK_EXIT_ENUM_CANCELLED));
-
- /************************************************************/
- egg_test_title (test, "add package");
- item = pk_package_new ();
- g_object_set (item,
- "info", PK_INFO_ENUM_AVAILABLE,
- "package-id", "gnome-power-manager;0.1.2;i386;fedora",
- "summary", "Power manager for GNOME",
- NULL);
- ret = pk_results_add_package (results, item);
- g_object_unref (item);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get package list of set results");
- packages = pk_results_get_package_array (results);
- egg_test_assert (test, (packages->len == 1));
-
- /************************************************************/
- egg_test_title (test, "check data");
- item = g_ptr_array_index (packages, 0);
- g_object_get (item,
- "info", &info,
- "package-id", &package_id,
- "summary", &summary,
- NULL);
- egg_test_assert (test, (info == PK_INFO_ENUM_AVAILABLE &&
- g_strcmp0 ("gnome-power-manager;0.1.2;i386;fedora", package_id) == 0 &&
- g_strcmp0 ("Power manager for GNOME", summary) == 0));
- g_object_ref (item);
- g_ptr_array_unref (packages);
- g_free (package_id);
- g_free (summary);
-
- /************************************************************/
- egg_test_title (test, "check ref");
- g_object_get (item,
- "info", &info,
- "package-id", &package_id,
- "summary", &summary,
- NULL);
- egg_test_assert (test, (info == PK_INFO_ENUM_AVAILABLE &&
- g_strcmp0 ("gnome-power-manager;0.1.2;i386;fedora", package_id) == 0 &&
- g_strcmp0 ("Power manager for GNOME", summary) == 0));
- g_object_unref (item);
- g_free (package_id);
- g_free (summary);
-
- g_object_unref (results);
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-self-test.c b/lib/packagekit-glib2/pk-self-test.c
index 2b5fa56..07c31c4 100644
--- a/lib/packagekit-glib2/pk-self-test.c
+++ b/lib/packagekit-glib2/pk-self-test.c
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007-2009 Richard Hughes <richard at hughsie.com>
+ * Copyright (C) 2007-2010 Richard Hughes <richard at hughsie.com>
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
@@ -22,7 +22,7 @@
#include "config.h"
#include <glib-object.h>
-#include "egg-test.h"
+
#include "egg-debug.h"
#include "egg-string.h"
@@ -43,37 +43,1879 @@
#include "pk-task-wrapper.h"
#include "pk-transaction-list.h"
#include "pk-version.h"
+#include "pk-control-sync.h"
+#include "pk-client-sync.h"
+#include "pk-progress-bar.h"
+#include "pk-service-pack.h"
+
+/** ver:1.0 ***********************************************************/
+static GMainLoop *_test_loop = NULL;
+static guint _test_loop_timeout_id = 0;
+
+static gboolean
+_g_test_hang_check_cb (gpointer user_data)
+{
+ guint timeout_ms = *((guint*) user_data);
+ g_main_loop_quit (_test_loop);
+ g_warning ("loop not completed in %ims", timeout_ms);
+ g_assert_not_reached ();
+ return FALSE;
+}
+
+/**
+ * _g_test_loop_run_with_timeout:
+ **/
+static void
+_g_test_loop_run_with_timeout (guint timeout_ms)
+{
+ g_assert (_test_loop_timeout_id == 0);
+ _test_loop = g_main_loop_new (NULL, FALSE);
+ _test_loop_timeout_id = g_timeout_add (timeout_ms, _g_test_hang_check_cb, &timeout_ms);
+ g_main_loop_run (_test_loop);
+}
+
+#if 0
+static gboolean
+_g_test_hang_wait_cb (gpointer user_data)
+{
+ g_main_loop_quit (_test_loop);
+ _test_loop_timeout_id = 0;
+ return FALSE;
+}
+
+/**
+ * _g_test_loop_wait:
+ **/
+static void
+_g_test_loop_wait (guint timeout_ms)
+{
+ g_assert (_test_loop_timeout_id == 0);
+ _test_loop = g_main_loop_new (NULL, FALSE);
+ _test_loop_timeout_id = g_timeout_add (timeout_ms, _g_test_hang_wait_cb, &timeout_ms);
+ g_main_loop_run (_test_loop);
+}
+#endif
+
+/**
+ * _g_test_loop_quit:
+ **/
+static void
+_g_test_loop_quit (void)
+{
+ if (_test_loop_timeout_id > 0) {
+ g_source_remove (_test_loop_timeout_id);
+ _test_loop_timeout_id = 0;
+ }
+ if (_test_loop != NULL) {
+ g_main_loop_quit (_test_loop);
+ g_main_loop_unref (_test_loop);
+ _test_loop = NULL;
+ }
+}
+
+/**********************************************************************/
+
+static void
+pk_test_bitfield_func (void)
+{
+ gchar *text;
+ PkBitfield filter;
+ gint value;
+ PkBitfield values;
+
+ /* check we can convert filter bitfield to text (none) */
+ text = pk_filter_bitfield_to_string (pk_bitfield_value (PK_FILTER_ENUM_NONE));
+ g_assert_cmpstr (text, ==, "none");
+ g_free (text);
+
+ /* check we can invert a bit 1 -> 0 */
+ values = pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT) | pk_bitfield_value (PK_FILTER_ENUM_NOT_NEWEST);
+ pk_bitfield_invert (values, PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ g_assert_cmpint (values, ==, pk_bitfield_value (PK_FILTER_ENUM_NOT_NEWEST));
+
+ /* check we can invert a bit 0 -> 1 */
+ values = 0;
+ pk_bitfield_invert (values, PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ g_assert_cmpint (values, ==, pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT));
+
+ /* check we can convert filter bitfield to text (single) */
+ text = pk_filter_bitfield_to_string (pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT));
+ g_assert_cmpstr (text, ==, "~devel");
+ g_free (text);
+
+ /* check we can convert filter bitfield to text (plural) */
+ text = pk_filter_bitfield_to_string (pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT) |
+ pk_bitfield_value (PK_FILTER_ENUM_GUI) |
+ pk_bitfield_value (PK_FILTER_ENUM_NEWEST));
+ g_assert_cmpstr (text, ==, "~devel;gui;newest");
+ g_free (text);
+
+ /* check we can convert filter text to bitfield (none) */
+ filter = pk_filter_bitfield_from_string ("none");
+ g_assert_cmpint (filter, ==, pk_bitfield_value (PK_FILTER_ENUM_NONE));
+
+ /* check we can convert filter text to bitfield (single) */
+ filter = pk_filter_bitfield_from_string ("~devel");
+ g_assert_cmpint (filter, ==, pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT));
+
+ /* check we can convert filter text to bitfield (plural) */
+ filter = pk_filter_bitfield_from_string ("~devel;gui;newest");
+ g_assert_cmpint (filter, ==, (pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT) |
+ pk_bitfield_value (PK_FILTER_ENUM_GUI) |
+ pk_bitfield_value (PK_FILTER_ENUM_NEWEST)));
+
+ /* check we can add / remove bitfield */
+ filter = pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT) |
+ pk_bitfield_value (PK_FILTER_ENUM_GUI) |
+ pk_bitfield_value (PK_FILTER_ENUM_NEWEST);
+ pk_bitfield_add (filter, PK_FILTER_ENUM_NOT_FREE);
+ pk_bitfield_remove (filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ text = pk_filter_bitfield_to_string (filter);
+ g_assert_cmpstr (text, ==, "gui;~free;newest");
+ g_free (text);
+
+ /* check we can test enum presence */
+ filter = pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT) |
+ pk_bitfield_value (PK_FILTER_ENUM_GUI) |
+ pk_bitfield_value (PK_FILTER_ENUM_NEWEST);
+ g_assert (pk_bitfield_contain (filter, PK_FILTER_ENUM_NOT_DEVELOPMENT));
+
+ /* check we can test enum false-presence */
+ g_assert (!pk_bitfield_contain (filter, PK_FILTER_ENUM_FREE));
+
+ /* check we can add / remove bitfield to nothing */
+ filter = pk_bitfield_value (PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ pk_bitfield_remove (filter, PK_FILTER_ENUM_NOT_DEVELOPMENT);
+ text = pk_filter_bitfield_to_string (filter);
+ g_assert_cmpstr (text, ==, "none");
+ g_free (text);
+
+ /* role bitfield from enums (unknown) */
+ values = pk_bitfield_from_enums (PK_ROLE_ENUM_UNKNOWN, -1);
+ g_assert_cmpint (values, ==, pk_bitfield_value (PK_ROLE_ENUM_UNKNOWN));
+
+ /* role bitfield from enums (random) */
+ values = pk_bitfield_from_enums (PK_ROLE_ENUM_SEARCH_GROUP, PK_ROLE_ENUM_SEARCH_DETAILS, -1);
+ g_assert_cmpint (values, ==, (pk_bitfield_value (PK_ROLE_ENUM_SEARCH_DETAILS) |
+ pk_bitfield_value (PK_ROLE_ENUM_SEARCH_GROUP)));
+
+ /* group bitfield from enums (unknown) */
+ values = pk_bitfield_from_enums (PK_GROUP_ENUM_UNKNOWN, -1);
+ g_assert_cmpint (values, ==, pk_bitfield_value (PK_GROUP_ENUM_UNKNOWN));
+
+ /* group bitfield from enums (random) */
+ values = pk_bitfield_from_enums (PK_GROUP_ENUM_ACCESSIBILITY, -1);
+ g_assert_cmpint (values, ==, (pk_bitfield_value (PK_GROUP_ENUM_ACCESSIBILITY)));
+
+ /* group bitfield to text (unknown) */
+ values = pk_bitfield_from_enums (PK_GROUP_ENUM_UNKNOWN, -1);
+ text = pk_group_bitfield_to_string (values);
+ g_assert_cmpstr (text, ==, "unknown");
+ g_free (text);
+
+ /* group bitfield to text (first and last) */
+ values = pk_bitfield_from_enums (PK_GROUP_ENUM_ACCESSIBILITY, PK_GROUP_ENUM_UNKNOWN, -1);
+ text = pk_group_bitfield_to_string (values);
+ g_assert_cmpstr (text, ==, "unknown;accessibility");
+ g_free (text);
+
+ /* group bitfield to text (random) */
+ values = pk_bitfield_from_enums (PK_GROUP_ENUM_UNKNOWN, PK_GROUP_ENUM_REPOS, -1);
+ text = pk_group_bitfield_to_string (values);
+ g_assert_cmpstr (text, ==, "unknown;repos");
+ g_free (text);
+
+ /* priority check missing */
+ values = pk_bitfield_value (PK_ROLE_ENUM_SEARCH_DETAILS) |
+ pk_bitfield_value (PK_ROLE_ENUM_SEARCH_GROUP);
+ value = pk_bitfield_contain_priority (values, PK_ROLE_ENUM_SEARCH_FILE, -1);
+ g_assert_cmpint (value, ==, -1);
+
+ /* priority check first */
+ value = pk_bitfield_contain_priority (values, PK_ROLE_ENUM_SEARCH_GROUP, -1);
+ g_assert_cmpint (value, ==, PK_ROLE_ENUM_SEARCH_GROUP);
+
+ /* priority check second, correct */
+ value = pk_bitfield_contain_priority (values, PK_ROLE_ENUM_SEARCH_FILE, PK_ROLE_ENUM_SEARCH_GROUP, -1);
+ g_assert_cmpint (value, ==, PK_ROLE_ENUM_SEARCH_GROUP);
+}
+
+static void
+pk_test_catalog_lookup_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkCatalog *catalog = PK_CATALOG (object);
+ GError *error = NULL;
+ GPtrArray *array;
+ guint i;
+ PkPackage *package;
+
+ /* get the results */
+ array = pk_catalog_lookup_finish (catalog, res, &error);
+ g_assert_no_error (error);
+ g_assert (array != NULL);
+ g_assert_cmpint (array->len, ==, 3);
+
+ /* list for shits and giggles */
+ for (i=0; i<array->len; i++) {
+ package = g_ptr_array_index (array, i);
+ egg_debug ("%i\t%s", i, pk_package_get_id (package));
+ }
+ g_ptr_array_unref (array);
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_catalog_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data)
+{
+ PkStatusEnum status;
+ if (type == PK_PROGRESS_TYPE_STATUS) {
+ g_object_get (progress,
+ "status", &status,
+ NULL);
+ egg_debug ("now %s", pk_status_enum_to_string (status));
+ }
+}
+
+static void
+pk_test_catalog_func (void)
+{
+ PkCatalog *catalog;
+
+ catalog = pk_catalog_new ();
+ g_assert (catalog != NULL);
+
+ /* lookup catalog */
+ pk_catalog_lookup_async (catalog, TESTDATADIR "/test.catalog", NULL,
+ (PkProgressCallback) pk_test_catalog_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_test_catalog_lookup_cb, NULL);
+ _g_test_loop_run_with_timeout (150000);
+ egg_debug ("resolvd, searched, etc. in %f", g_test_timer_elapsed ());
+
+ g_object_unref (catalog);
+}
+
+static void
+pk_test_client_resolve_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkClient *client = PK_CLIENT (object);
+ GError *error = NULL;
+ PkResults *results = NULL;
+ PkExitEnum exit_enum;
+ GPtrArray *packages;
+ gboolean idle;
+
+ /* get the results */
+ results = pk_client_generic_finish (client, res, &error);
+ g_assert_no_error (error);
+ g_assert (results != NULL);
+
+ exit_enum = pk_results_get_exit_code (results);
+ g_assert_cmpint (exit_enum, ==, PK_EXIT_ENUM_SUCCESS);
+
+ packages = pk_results_get_package_array (results);
+ g_assert (packages != NULL);
+
+ /* check idle */
+ g_object_get (client, "idle", &idle, NULL);
+ g_assert (idle);
+ g_assert_cmpint (packages->len, ==, 2);
+
+ g_ptr_array_unref (packages);
+
+ egg_debug ("results exit enum = %s", pk_exit_enum_to_string (exit_enum));
+
+ g_object_unref (results);
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_client_get_details_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkClient *client = PK_CLIENT (object);
+ GError *error = NULL;
+ PkResults *results = NULL;
+ PkExitEnum exit_enum;
+ GPtrArray *details;
+
+ /* get the results */
+ results = pk_client_generic_finish (client, res, &error);
+ g_assert_no_error (error);
+ g_assert (results != NULL);
+
+ exit_enum = pk_results_get_exit_code (results);
+ g_assert_cmpint (exit_enum, ==, PK_EXIT_ENUM_SUCCESS);
+
+ details = pk_results_get_details_array (results);
+ g_assert (details != NULL);
+ g_assert_cmpint (details->len, ==, 1);
+
+ g_ptr_array_unref (details);
+
+ egg_debug ("results exit enum = %s", pk_exit_enum_to_string (exit_enum));
+
+ g_object_unref (results);
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_client_get_updates_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkClient *client = PK_CLIENT (object);
+ GError *error = NULL;
+ PkResults *results = NULL;
+ PkExitEnum exit_enum;
+ PkPackageSack *sack;
+ guint size;
+
+ /* get the results */
+ results = pk_client_generic_finish (client, res, &error);
+ g_assert_no_error (error);
+ g_assert (results != NULL);
+
+ exit_enum = pk_results_get_exit_code (results);
+ g_assert_cmpint (exit_enum, ==, PK_EXIT_ENUM_SUCCESS);
+
+ sack = pk_results_get_package_sack (results);
+ g_assert (sack != NULL);
+
+ /* check size */
+ size = pk_package_sack_get_size (sack);
+ g_assert_cmpint (size, ==, 3);
+
+ g_object_unref (sack);
+
+ egg_debug ("results exit enum = %s", pk_exit_enum_to_string (exit_enum));
+
+ g_object_unref (results);
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_client_search_name_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkClient *client = PK_CLIENT (object);
+ GError *error = NULL;
+ PkResults *results = NULL;
+ PkExitEnum exit_enum;
+ PkError *error_code = NULL;
+
+ /* get the results */
+ results = pk_client_generic_finish (client, res, &error);
+ g_assert_no_error (error);
+ g_assert (results != NULL);
+
+ exit_enum = pk_results_get_exit_code (results);
+ g_assert_cmpint (exit_enum, ==, PK_EXIT_ENUM_CANCELLED);
+
+ /* check error code */
+ error_code = pk_results_get_error_code (results);
+ g_assert_cmpint (pk_error_get_code (error_code), ==, PK_ERROR_ENUM_TRANSACTION_CANCELLED);
+ g_assert_cmpstr (pk_error_get_details (error_code), ==, "The task was stopped successfully");
+// g_assert_cmpstr (pk_error_get_details (error_code), ==, "transaction was cancelled");
+
+ if (error_code != NULL)
+ g_object_unref (error_code);
+ if (results != NULL)
+ g_object_unref (results);
+ _g_test_loop_quit ();
+}
+
+static guint _progress_cb = 0;
+static guint _status_cb = 0;
+static guint _package_cb = 0;
+static guint _allow_cancel_cb = 0;
+gchar *_tid = NULL;
+
+static void
+pk_test_client_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data)
+{
+ gchar *tid;
+ if (type == PK_PROGRESS_TYPE_PACKAGE_ID)
+ _package_cb++;
+ if (type == PK_PROGRESS_TYPE_PERCENTAGE)
+ _progress_cb++;
+ if (type == PK_PROGRESS_TYPE_SUBPERCENTAGE)
+ _progress_cb++;
+ if (type == PK_PROGRESS_TYPE_ALLOW_CANCEL)
+ _allow_cancel_cb++;
+ if (type == PK_PROGRESS_TYPE_STATUS)
+ _status_cb++;
+
+ /* get the running transaction id if we've not set it before */
+ g_object_get (progress, "transaction-id", &tid, NULL);
+ if (tid != NULL && _tid == NULL)
+ _tid = g_strdup (tid);
+ g_free (tid);
+}
+
+static gboolean
+pk_test_client_cancel_cb (GCancellable *cancellable)
+{
+ egg_warning ("cancelling method");
+ g_cancellable_cancel (cancellable);
+ return FALSE;
+}
+
+static void
+pk_test_client_download_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkClient *client = PK_CLIENT (object);
+ GError *error = NULL;
+ PkResults *results = NULL;
+ PkExitEnum exit_enum;
+ PkFiles *item;
+ GPtrArray *array = NULL;
+ gchar *package_id = NULL;
+ gchar **files = NULL;
+
+ /* get the results */
+ results = pk_client_generic_finish (client, res, &error);
+ g_assert_no_error (error);
+ g_assert (results != NULL);
+
+ exit_enum = pk_results_get_exit_code (results);
+ g_assert_cmpint (exit_enum, ==, PK_EXIT_ENUM_SUCCESS);
+
+ /* check number */
+ array = pk_results_get_files_array (results);
+ g_assert_cmpint (array->len, ==, 2);
+
+ /* check a result */
+ item = g_ptr_array_index (array, 0);
+ g_object_get (item,
+ "package-id", &package_id,
+ "files", &files,
+ NULL);
+ g_assert_cmpstr (package_id, ==, "powertop-common;1.8-1.fc8;i386;fedora");
+ g_assert_cmpint (g_strv_length (files), ==, 1);
+ g_assert_cmpstr (files[0], ==, "/tmp/powertop-common-1.8-1.fc8.rpm");
+
+ g_strfreev (files);
+ g_free (package_id);
+ g_ptr_array_unref (array);
+ if (results != NULL)
+ g_object_unref (results);
+ _g_test_loop_quit ();
+}
+
+#if 0
+static void
+pk_test_client_recursive_signal_cb (PkControl *control, gpointer user_data)
+{
+ gboolean ret;
+ ret = pk_control_get_properties (control, NULL, NULL);
+ g_assert (ret);
+}
+#endif
+
+static void
+pk_test_client_notify_idle_cb (PkClient *client, GParamSpec *pspec, gpointer user_data)
+{
+ gboolean idle;
+ g_object_get (client, "idle", &idle, NULL);
+ egg_debug ("idle=%i", idle);
+}
+
+static void
+pk_test_client_func (void)
+{
+ PkClient *client;
+ gchar **package_ids;
+// gchar *file;
+ GCancellable *cancellable;
+ gboolean ret;
+ gchar **values;
+ GError *error = NULL;
+ PkProgress *progress;
+ gchar *tid;
+ PkRoleEnum role;
+ PkStatusEnum status;
+// PkResults *results;
+
+#if 0
+ /* test user temp */
+ file = pk_client_get_user_temp ("self-test", NULL);
+ g_assert (g_str_has_suffix (file, "/.PackageKit/self-test"));
+ g_assert (g_str_has_prefix (file, "/home/"));
+ g_free (file);
+
+ /* test native TRUE */
+ ret = pk_client_is_file_native ("/tmp");
+ g_assert (ret);
+
+ /* test native FALSE */
+ ret = pk_client_is_file_native ("/tmp/.gvfs/moo");
+ g_assert (!ret);
+
+ /* test resolve NULL */
+ file = pk_client_real_path (NULL);
+ g_assert (file == NULL);
+
+ /* test resolve /etc/hosts */
+ file = pk_client_real_path ("/etc/hosts");
+ g_assert_cmpstr (file, ==, "/etc/hosts");
+ g_free (file);
+
+ /* test resolve /etc/../etc/hosts */
+ file = pk_client_real_path ("/etc/../etc/hosts");
+ g_assert_cmpstr (file, ==, "/etc/hosts");
+ g_free (file);
+#endif
+
+ /* get client */
+ client = pk_client_new ();
+ g_signal_connect (client, "notify::idle",
+ G_CALLBACK (pk_test_client_notify_idle_cb), NULL);
+ g_assert (client != NULL);
+
+ /* check idle */
+ g_object_get (client, "idle", &ret, NULL);
+ g_assert (ret);
+
+ /* resolve package */
+ package_ids = pk_package_ids_from_string ("glib2;2.14.0;i386;fedora&powertop");
+ pk_client_resolve_async (client, pk_bitfield_value (PK_FILTER_ENUM_INSTALLED), package_ids, NULL,
+ (PkProgressCallback) pk_test_client_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_test_client_resolve_cb, NULL);
+ g_strfreev (package_ids);
+ _g_test_loop_run_with_timeout (15000);
+ egg_debug ("resolved in %f", g_test_timer_elapsed ());
+
+ /* check idle */
+ g_object_get (client, "idle", &ret, NULL);
+ g_assert (ret);
+
+ /* get progress of past transaction */
+ progress = pk_client_get_progress (client, _tid, NULL, &error);
+ g_object_get (progress,
+ "transaction-id", &tid,
+ "role", &role,
+ "status", &status,
+ NULL);
+ g_assert_cmpstr (tid, ==, _tid);
+ g_assert_cmpint (role, ==, PK_ROLE_ENUM_RESOLVE);
+ g_assert_cmpint (status, ==, PK_STATUS_ENUM_FINISHED);
+ egg_debug ("got progress in %f", g_test_timer_elapsed ());
+ g_object_unref (progress);
+ g_free (tid);
+ g_free (_tid);
+
+ /* got updates */
+ g_assert_cmpint (_progress_cb, >, 0);
+ g_assert_cmpint (_status_cb, >, 0);
+
+ /* reset */
+ _progress_cb = 0;
+ _status_cb = 0;
+// _package_cb = 0;
+
+ /* get details about package */
+ package_ids = pk_package_ids_from_id ("powertop;1.8-1.fc8;i386;fedora");
+ pk_client_get_details_async (client, package_ids, NULL,
+ (PkProgressCallback) pk_test_client_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_test_client_get_details_cb, NULL);
+ g_strfreev (package_ids);
+ _g_test_loop_run_with_timeout (15000);
+ egg_debug ("resolved in %f", g_test_timer_elapsed ());
+
+ /* got updates */
+ g_assert_cmpint (_progress_cb, >, 0);
+ g_assert_cmpint (_status_cb, >, 0);
+
+ /* reset */
+ _progress_cb = 0;
+ _status_cb = 0;
+// _package_cb = 0;
+
+ /* get updates */
+ pk_client_get_updates_async (client, pk_bitfield_value (PK_FILTER_ENUM_NONE), NULL,
+ (PkProgressCallback) pk_test_client_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_test_client_get_updates_cb, NULL);
+ _g_test_loop_run_with_timeout (15000);
+ egg_debug ("got updates in %f", g_test_timer_elapsed ());
+
+ /* it takes more than 50ms to get the progress of the transaction, and if
+ * getting updates from internal cache, then it'll take a shed load less
+ * than this to complete */
+ if (g_test_timer_elapsed () > 100) {
+ /* got status updates */
+ g_assert_cmpint (_status_cb, >, 0);
+ }
+
+ /* search by name */
+ cancellable = g_cancellable_new ();
+ values = g_strsplit ("power", "&", -1);
+ pk_client_search_names_async (client, pk_bitfield_value (PK_FILTER_ENUM_NONE), values, cancellable,
+ (PkProgressCallback) pk_test_client_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_test_client_search_name_cb, NULL);
+ g_timeout_add (1000, (GSourceFunc) pk_test_client_cancel_cb, cancellable);
+ _g_test_loop_run_with_timeout (15000);
+ egg_debug ("cancelled in %f", g_test_timer_elapsed ());
+
+ g_strfreev (values);
+ g_cancellable_reset (cancellable);
+
+ /* do downloads */
+ package_ids = pk_package_ids_from_id ("powertop;1.8-1.fc8;i386;fedora");
+ pk_client_download_packages_async (client, package_ids, "/tmp", cancellable,
+ (PkProgressCallback) pk_test_client_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_test_client_download_cb, NULL);
+ g_strfreev (package_ids);
+ _g_test_loop_run_with_timeout (15000);
+ egg_debug ("downloaded and copied in %f", g_test_timer_elapsed ());
+
+ /* test recursive signal handling */
+#if 0
+ g_signal_connect (client->priv->control, "repo-list-changed", G_CALLBACK (pk_test_client_recursive_signal_cb), NULL);
+ results = pk_client_repo_set_data (client, "dave", "moo", "data", NULL, NULL, NULL, NULL);
+ g_assert (results != NULL);
+ g_object_unref (results);
+#endif
+
+ g_object_unref (cancellable);
+ g_object_unref (client);
+}
+
+static void
+pk_test_common_func (void)
+{
+ gchar *present;
+ GDate *date;
+
+ /************************************************************
+ ************** iso8601 ****************
+ ************************************************************/
+ /* get present iso8601 */
+ present = pk_iso8601_present ();
+ g_assert (present != NULL);
+ g_free (present);
+
+ /************************************************************
+ ************** Date handling ****************
+ ************************************************************/
+ /* zero length date */
+ date = pk_iso8601_to_date ("");
+ g_assert (date == NULL);
+
+ /* no day specified */
+ date = pk_iso8601_to_date ("2004-01");
+ g_assert (date == NULL);
+
+ /* date _and_ time specified */
+ date = pk_iso8601_to_date ("2009-05-08 13:11:12");
+ g_assert_cmpint (date->day, ==, 8);
+ g_assert_cmpint (date->month, ==, 5);
+ g_assert_cmpint (date->year, ==, 2009);
+ g_date_free (date);
+
+ /* correct date format */
+ date = pk_iso8601_to_date ("2004-02-01");
+ g_assert_cmpint (date->day, ==, 1);
+ g_assert_cmpint (date->month, ==, 2);
+ g_assert_cmpint (date->year, ==, 2004);
+ g_date_free (date);
+}
+
+static void
+pk_test_console_func (void)
+{
+ gboolean ret;
+
+ /* get prompt 1 */
+ ret = pk_console_get_prompt ("press enter", TRUE);
+ g_assert (ret);
+
+ /* get prompt 2 */
+ ret = pk_console_get_prompt ("press enter", TRUE);
+ g_assert (ret);
+
+ /* get prompt 3 */
+ ret = pk_console_get_prompt ("press Y", TRUE);
+ g_assert (ret);
+
+ /* get prompt 3 */
+ ret = pk_console_get_prompt ("press N", TRUE);
+ g_assert (!ret);
+}
+
+static guint _refcount = 0;
+
+static void
+pk_test_control_get_tid_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkControl *control = PK_CONTROL (object);
+ GError *error = NULL;
+ gchar *tid;
+
+ /* get the result */
+ tid = pk_control_get_tid_finish (control, res, &error);
+ g_assert_no_error (error);
+ g_assert (tid != NULL);
+
+ egg_debug ("tid = %s", tid);
+ g_free (tid);
+ if (--_refcount == 0)
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_control_get_properties_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkControl *control = PK_CONTROL (object);
+ GError *error = NULL;
+ gboolean ret;
+ PkBitfield roles;
+ PkBitfield filters;
+ PkBitfield groups;
+ gchar *text;
+
+ /* get the result */
+ ret = pk_control_get_properties_finish (control, res, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+
+ /* get values */
+ g_object_get (control,
+ "mime-types", &text,
+ "roles", &roles,
+ "filters", &filters,
+ "groups", &groups,
+ NULL);
+
+ /* check mime_types */
+ g_assert_cmpstr (text, ==, "application/x-rpm;application/x-deb");
+ g_free (text);
+
+ /* check roles */
+ text = pk_role_bitfield_to_string (roles);
+ g_assert_cmpstr (text, ==, "cancel;get-depends;get-details;get-files;get-packages;get-repo-list;"
+ "get-requires;get-update-detail;get-updates;install-files;install-packages;install-signature;"
+ "refresh-cache;remove-packages;repo-enable;repo-set-data;resolve;rollback;"
+ "search-details;search-file;search-group;search-name;update-packages;update-system;"
+ "what-provides;download-packages;get-distro-upgrades;simulate-install-packages;"
+ "simulate-remove-packages;simulate-update-packages");
+ g_free (text);
+
+ /* check filters */
+ text = pk_filter_bitfield_to_string (filters);
+ g_assert_cmpstr (text, ==, "installed;devel;gui");
+ g_free (text);
+
+ /* check groups */
+ text = pk_group_bitfield_to_string (groups);
+ g_assert_cmpstr (text, ==, "accessibility;games;system");
+ egg_debug ("groups = %s", text);
+
+ g_free (text);
+
+ if (--_refcount == 0)
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_control_get_time_since_action_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkControl *control = PK_CONTROL (object);
+ GError *error = NULL;
+ guint seconds;
+
+ /* get the result */
+ seconds = pk_control_get_time_since_action_finish (control, res, &error);
+ g_assert_no_error (error);
+ g_assert_cmpint (seconds, !=, 0);
+
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_control_can_authorize_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkControl *control = PK_CONTROL (object);
+ GError *error = NULL;
+ PkAuthorizeEnum auth;
+
+ /* get the result */
+ auth = pk_control_can_authorize_finish (control, res, &error);
+ g_assert_no_error (error);
+ g_assert_cmpint (auth, !=, PK_AUTHORIZE_ENUM_UNKNOWN);
+
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_control_func (void)
+{
+ PkControl *control;
+ guint version;
+ GError *error = NULL;
+ gboolean ret;
+ gchar *text;
+ PkBitfield roles;
+ guint i;
+ const guint LOOP_SIZE = 5;
+
+ /* get control */
+ control = pk_control_new ();
+ g_assert (control != NULL);
+
+ /* get TID async */
+ _refcount = 1;
+ pk_control_get_tid_async (control, NULL, (GAsyncReadyCallback) pk_test_control_get_tid_cb, NULL);
+ _g_test_loop_run_with_timeout (5000);
+ egg_debug ("got tid in %f", g_test_timer_elapsed ());
+
+ /* get multiple TIDs async */
+ _refcount = LOOP_SIZE;
+ for (i=0; i<_refcount; i++) {
+ egg_debug ("getting #%i", i+1);
+ pk_control_get_tid_async (control, NULL, (GAsyncReadyCallback) pk_test_control_get_tid_cb, NULL);
+ }
+ _g_test_loop_run_with_timeout (5000);
+ egg_debug ("got %i tids in %f", LOOP_SIZE, g_test_timer_elapsed ());
+
+ /* get properties async */
+ _refcount = 1;
+ pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) pk_test_control_get_properties_cb, NULL);
+ _g_test_loop_run_with_timeout (5000);
+ egg_debug ("got properties types in %f", g_test_timer_elapsed ());
+
+ /* get properties async (again, to test caching) */
+ _refcount = 1;
+ pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) pk_test_control_get_properties_cb, NULL);
+ _g_test_loop_run_with_timeout (5000);
+ egg_debug ("got properties in %f", g_test_timer_elapsed ());
+
+ /* do multiple requests async */
+ _refcount = LOOP_SIZE * 4;
+ for (i=0; i<_refcount; i++) {
+ egg_debug ("getting #%i", i+1);
+ pk_control_get_tid_async (control, NULL, (GAsyncReadyCallback) pk_test_control_get_tid_cb, NULL);
+ pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) pk_test_control_get_properties_cb, NULL);
+ pk_control_get_tid_async (control, NULL, (GAsyncReadyCallback) pk_test_control_get_tid_cb, NULL);
+ pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) pk_test_control_get_properties_cb, NULL);
+ }
+ _g_test_loop_run_with_timeout (5000);
+ egg_debug ("got %i 2*properties and 2*tids in %f", LOOP_SIZE, g_test_timer_elapsed ());
+
+ /* get time since async */
+ pk_control_get_time_since_action_async (control, PK_ROLE_ENUM_GET_UPDATES, NULL, (GAsyncReadyCallback) pk_test_control_get_time_since_action_cb, NULL);
+ _g_test_loop_run_with_timeout (5000);
+ egg_debug ("got get time since in %f", g_test_timer_elapsed ());
+
+ /* get auth state async */
+ pk_control_can_authorize_async (control, "org.freedesktop.packagekit.system-update", NULL,
+ (GAsyncReadyCallback) pk_test_control_can_authorize_cb, NULL);
+ _g_test_loop_run_with_timeout (5000);
+ egg_debug ("get auth state in %f", g_test_timer_elapsed ());
+
+ /* version major */
+ g_object_get (control, "version-major", &version, NULL);
+ g_assert_cmpint (version, ==, PK_MAJOR_VERSION);
+
+ /* version minor */
+ g_object_get (control, "version-minor", &version, NULL);
+ g_assert_cmpint (version, ==, PK_MINOR_VERSION);
+
+ /* version micro */
+ g_object_get (control, "version-micro", &version, NULL);
+ g_assert_cmpint (version, ==, PK_MICRO_VERSION);
+
+ /* get properties sync */
+ ret = pk_control_get_properties (control, NULL, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+
+ /* get data */
+ g_object_get (control,
+ "roles", &roles,
+ NULL);
+
+ /* check data */
+ text = pk_role_bitfield_to_string (roles);
+ g_assert_cmpstr (text, ==, "cancel;get-depends;get-details;get-files;get-packages;get-repo-list;"
+ "get-requires;get-update-detail;get-updates;install-files;install-packages;install-signature;"
+ "refresh-cache;remove-packages;repo-enable;repo-set-data;resolve;rollback;"
+ "search-details;search-file;search-group;search-name;update-packages;update-system;"
+ "what-provides;download-packages;get-distro-upgrades;simulate-install-packages;"
+ "simulate-remove-packages;simulate-update-packages");
+ g_free (text);
+
+ g_object_unref (control);
+}
+
+static void
+pk_test_desktop_func (void)
+{
+ PkDesktop *desktop;
+ gboolean ret;
+ gchar *package;
+ GPtrArray *array;
+ GError *error = NULL;
+
+ desktop = pk_desktop_new ();
+ g_assert (desktop != NULL);
+
+ /* get package when not valid */
+ package = pk_desktop_get_package_for_file (desktop, "/usr/share/applications/gpk-update-viewer.desktop", NULL);
+ g_assert (package == NULL);
+
+ /* file does not exist */
+ ret = g_file_test (PK_DESKTOP_DEFAULT_DATABASE, G_FILE_TEST_EXISTS);
+ if (!ret) {
+ egg_warning ("skipping checks as database does not exist");
+ goto out;
+ }
+
+ /* open database */
+ ret = pk_desktop_open_database (desktop, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+
+ /* get package */
+ package = pk_desktop_get_package_for_file (desktop, "/usr/share/applications/gpk-update-viewer.desktop", NULL);
+
+ /* dummy, not yum */
+ if (g_strcmp0 (package, "vips-doc") == 0); {
+ egg_debug ("created db with dummy, skipping remaining tests");
+ goto out;
+ }
+ g_assert_cmpstr (package, ==, "gnome-packagekit");
+ g_free (package);
+
+ /* get files */
+ array = pk_desktop_get_files_for_package (desktop, "gnome-packagekit", NULL);
+ g_assert (array != NULL);
+ g_assert_cmpint (array->len, >=, 5);
+ g_ptr_array_unref (array);
+
+ /* get shown files */
+ array = pk_desktop_get_shown_for_package (desktop, "gnome-packagekit", NULL);
+ g_assert (array != NULL);
+ g_assert_cmpint (array->len, >=, 3);
+ g_ptr_array_unref (array);
+out:
+ g_object_unref (desktop);
+}
+
+static void
+pk_test_enum_func (void)
+{
+ const gchar *string;
+ PkRoleEnum role_value;
+ guint i;
+
+ /* find value */
+ role_value = pk_role_enum_from_string ("search-file");
+ g_assert_cmpint (role_value, ==, PK_ROLE_ENUM_SEARCH_FILE);
+
+ /* find string */
+ string = pk_role_enum_to_string (PK_ROLE_ENUM_SEARCH_FILE);
+ g_assert_cmpstr (string, ==, "search-file");
+
+ /* check we convert all the role bitfield */
+ for (i=1; i<PK_ROLE_ENUM_LAST; i++) {
+ string = pk_role_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the status bitfield */
+ for (i=1; i<PK_STATUS_ENUM_LAST; i++) {
+ string = pk_status_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the exit bitfield */
+ for (i=0; i<PK_EXIT_ENUM_LAST; i++) {
+ string = pk_exit_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the filter bitfield */
+ for (i=0; i<PK_FILTER_ENUM_LAST; i++) {
+ string = pk_filter_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the restart bitfield */
+ for (i=0; i<PK_RESTART_ENUM_LAST; i++) {
+ string = pk_restart_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the error_code bitfield */
+ for (i=0; i<PK_ERROR_ENUM_LAST; i++) {
+ string = pk_error_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the group bitfield */
+ for (i=1; i<PK_GROUP_ENUM_LAST; i++) {
+ string = pk_group_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the info bitfield */
+ for (i=1; i<PK_INFO_ENUM_LAST; i++) {
+ string = pk_info_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the sig_type bitfield */
+ for (i=0; i<PK_SIGTYPE_ENUM_LAST; i++) {
+ string = pk_sig_type_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the upgrade bitfield */
+ for (i=0; i<PK_DISTRO_UPGRADE_ENUM_LAST; i++) {
+ string = pk_distro_upgrade_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the license bitfield */
+ for (i=0; i<PK_LICENSE_ENUM_LAST; i++) {
+ string = pk_license_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+
+ /* check we convert all the media type bitfield */
+ for (i=0; i<PK_MEDIA_TYPE_ENUM_LAST; i++) {
+ string = pk_media_type_enum_to_string (i);
+ if (string == NULL) {
+ /* so we get the value of i in the assert text */
+ g_assert_cmpint (0, ==, i);
+ break;
+ }
+ }
+}
+
+static void
+pk_test_package_id_func (void)
+{
+ gboolean ret;
+ gchar *text;
+ gchar **sections;
+
+ /* check not valid - NULL */
+ ret = pk_package_id_check (NULL);
+ g_assert (!ret);
+
+ /* check not valid - no name */
+ ret = pk_package_id_check (";0.0.1;i386;fedora");
+ g_assert (!ret);
+
+ /* check not valid - invalid */
+ ret = pk_package_id_check ("moo;0.0.1;i386");
+ g_assert (!ret);
+
+ /* check valid */
+ ret = pk_package_id_check ("moo;0.0.1;i386;fedora");
+ g_assert (ret);
+
+ /* id build */
+ text = pk_package_id_build ("moo", "0.0.1", "i386", "fedora");
+ g_assert_cmpstr (text, ==, "moo;0.0.1;i386;fedora");
+ g_free (text);
+
+ /* id build partial */
+ text = pk_package_id_build ("moo", NULL, NULL, NULL);
+ g_assert_cmpstr (text, ==, "moo;;;");
+ g_free (text);
+
+ /* test printable */
+ text = pk_package_id_to_printable ("moo;0.0.1;i386;fedora");
+ g_assert_cmpstr (text, ==, "moo-0.0.1.i386");
+ g_free (text);
+
+ /* test printable no arch */
+ text = pk_package_id_to_printable ("moo;0.0.1;;");
+ g_assert_cmpstr (text, ==, "moo-0.0.1");
+ g_free (text);
+
+ /* test printable just name */
+ text = pk_package_id_to_printable ("moo;;;");
+ g_assert_cmpstr (text, ==, "moo");
+ g_free (text);
+
+ /* test on real packageid */
+ sections = pk_package_id_split ("kde-i18n-csb;4:3.5.8~pre20071001-0ubuntu1;all;");
+ g_assert (sections != NULL);
+ g_assert_cmpstr (sections[0], ==, "kde-i18n-csb");
+ g_assert_cmpstr (sections[1], ==, "4:3.5.8~pre20071001-0ubuntu1");
+ g_assert_cmpstr (sections[2], ==, "all");
+ g_assert_cmpstr (sections[3], ==, "");
+ g_strfreev (sections);
+
+ /* test on short packageid */
+ sections = pk_package_id_split ("kde-i18n-csb;4:3.5.8~pre20071001-0ubuntu1;;");
+ g_assert (sections != NULL);
+ g_assert_cmpstr (sections[0], ==, "kde-i18n-csb");
+ g_assert_cmpstr (sections[1], ==, "4:3.5.8~pre20071001-0ubuntu1");
+ g_assert_cmpstr (sections[2], ==, "");
+ g_assert_cmpstr (sections[3], ==, "");
+ g_strfreev (sections);
+
+ /* test fail under */
+ sections = pk_package_id_split ("foo;moo");
+ g_assert (sections == NULL);
+
+ /* test fail over */
+ sections = pk_package_id_split ("foo;moo;dave;clive;dan");
+ g_assert (sections == NULL);
+
+ /* test fail missing first */
+ sections = pk_package_id_split (";0.1.2;i386;data");
+ g_assert (sections == NULL);
+}
+
+static void
+pk_test_package_ids_func (void)
+{
+ gboolean ret;
+ gchar *package_ids_blank[] = {};
+ gchar **package_ids;
+
+ /* parse va_list */
+ package_ids = pk_package_ids_from_string ("foo;0.0.1;i386;fedora&bar;0.1.1;noarch;livna");
+ g_assert (package_ids != NULL);
+
+ /* verify size */
+ g_assert_cmpint (g_strv_length (package_ids), ==, 2);
+
+ /* verify blank */
+ ret = pk_package_ids_check (package_ids_blank);
+ g_assert (!ret);
+
+ /* verify */
+ ret = pk_package_ids_check (package_ids);
+ g_assert (ret);
+
+ g_strfreev (package_ids);
+}
+
+static void
+pk_test_package_sack_resolve_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkPackageSack *sack = PK_PACKAGE_SACK (object);
+ GError *error = NULL;
+ gboolean ret;
+
+ /* get the result */
+ ret = pk_package_sack_merge_generic_finish (sack, res, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_package_sack_details_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkPackageSack *sack = PK_PACKAGE_SACK (object);
+ GError *error = NULL;
+ gboolean ret;
+
+ /* get the result */
+ ret = pk_package_sack_merge_generic_finish (sack, res, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_package_sack_update_detail_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkPackageSack *sack = PK_PACKAGE_SACK (object);
+ GError *error = NULL;
+ gboolean ret;
+
+ /* get the result */
+ ret = pk_package_sack_merge_generic_finish (sack, res, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+
+ _g_test_loop_quit ();
+}
+
+/**
+ * pk_test_package_sack_filter_cb:
+ **/
+static gboolean
+pk_test_package_sack_filter_cb (PkPackage *package, gpointer user_data)
+{
+ if (pk_package_get_info (package) == PK_INFO_ENUM_UNKNOWN)
+ return FALSE;
+ return TRUE;
+}
+
+static void
+pk_test_package_sack_func (void)
+{
+ gboolean ret;
+ PkPackageSack *sack;
+ PkPackage *package;
+ gchar *text;
+ guint size;
+ PkInfoEnum info = PK_INFO_ENUM_UNKNOWN;
+ guint64 bytes;
+
+ sack = pk_package_sack_new ();
+ g_assert (sack != NULL);
+
+ /* get size of unused package sack */
+ size = pk_package_sack_get_size (sack);
+ g_assert (size == 0);
+
+ /* remove package not present */
+ ret = pk_package_sack_remove_package_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
+ g_assert (!ret);
+
+ /* find package not present */
+ package = pk_package_sack_find_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
+ g_assert (package == NULL);
+
+ /* add package */
+ ret = pk_package_sack_add_package_by_id (sack, "powertop;1.8-1.fc8;i386;fedora", NULL);
+ g_assert (ret);
+
+ /* get size of package sack */
+ size = pk_package_sack_get_size (sack);
+ g_assert (size == 1);
+
+ /* merge resolve results */
+ pk_package_sack_resolve_async (sack, NULL, NULL, NULL, (GAsyncReadyCallback) pk_test_package_sack_resolve_cb, NULL);
+ _g_test_loop_run_with_timeout (5000);
+ egg_debug ("resolved in %f", g_test_timer_elapsed ());
+
+ /* find package which is present */
+ package = pk_package_sack_find_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
+ g_assert (package != NULL);
+
+ /* check new summary */
+ g_object_get (package,
+ "info", &info,
+ "summary", &text,
+ NULL);
+ g_assert_cmpstr (text, ==, "Power consumption monitor");
+
+ /* check new info */
+ g_assert_cmpint (info, ==, PK_INFO_ENUM_INSTALLED);
+
+ g_free (text);
+ g_object_unref (package);
+
+ /* merge details results */
+ pk_package_sack_get_details_async (sack, NULL, NULL, NULL, (GAsyncReadyCallback) pk_test_package_sack_details_cb, NULL);
+ _g_test_loop_run_with_timeout (5000);
+ egg_debug ("got details in %f", g_test_timer_elapsed ());
+
+ /* find package which is present */
+ package = pk_package_sack_find_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
+ g_assert (package != NULL);
+
+ /* check new url */
+ g_object_get (package,
+ "url", &text,
+ NULL);
+ g_assert_cmpstr (text, ==, "http://live.gnome.org/powertop");
+ g_object_unref (package);
+ g_free (text);
+
+ /* merge update detail results */
+ pk_package_sack_get_update_detail_async (sack, NULL, NULL, NULL, (GAsyncReadyCallback) pk_test_package_sack_update_detail_cb, NULL);
+ _g_test_loop_run_with_timeout (5000);
+ egg_debug ("got update detail in %f", g_test_timer_elapsed ());
+
+ /* find package which is present */
+ package = pk_package_sack_find_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
+ g_assert (package != NULL);
+
+ /* check new vendor url */
+ g_object_get (package,
+ "update-vendor-url", &text,
+ NULL);
+ g_assert_cmpstr (text, ==, "http://www.distro-update.org/page?moo;Bugfix release for powertop");
+
+ g_free (text);
+ g_object_unref (package);
+
+ /* chck size in bytes */
+ bytes = pk_package_sack_get_total_bytes (sack);
+ g_assert_cmpint (bytes, ==, 103424);
+
+ /* remove package */
+ ret = pk_package_sack_remove_package_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
+ g_assert (ret);
+
+ /* get size of package sack */
+ size = pk_package_sack_get_size (sack);
+ g_assert_cmpint (size, ==, 0);
+
+ /* remove already removed package */
+ ret = pk_package_sack_remove_package_by_id (sack, "powertop;1.8-1.fc8;i386;fedora");
+ g_assert (!ret);
+
+ /* remove by filter */
+ pk_package_sack_add_package_by_id (sack, "powertop;1.8-1.fc8;i386;fedora", NULL);
+ pk_package_sack_add_package_by_id (sack, "powertop-debuginfo;1.8-1.fc8;i386;fedora", NULL);
+ ret = pk_package_sack_remove_by_filter (sack, pk_test_package_sack_filter_cb, NULL);
+ g_assert (ret);
+
+ /* check all removed */
+ size = pk_package_sack_get_size (sack);
+ g_assert_cmpint (size, ==, 0);
+
+ g_object_unref (sack);
+}
+
+static void
+pk_test_progress_func (void)
+{
+ PkProgress *progress;
+
+ progress = pk_progress_new ();
+ g_assert (progress != NULL);
+
+ g_object_unref (progress);
+}
+
+static void
+pk_test_progress_bar (void)
+{
+ PkProgressBar *progress_bar;
+
+ progress_bar = pk_progress_bar_new ();
+ g_assert (progress_bar != NULL);
+
+ g_object_unref (progress_bar);
+}
+
+static void
+pk_test_results_func (void)
+{
+ gboolean ret;
+ PkResults *results;
+ PkExitEnum exit_enum;
+ GPtrArray *packages;
+ PkPackage *item;
+ PkInfoEnum info;
+ gchar *package_id;
+ gchar *summary;
+
+ /* get results */
+ results = pk_results_new ();
+ g_assert (results != NULL);
+
+ /* get exit code of unset results */
+ exit_enum = pk_results_get_exit_code (results);
+ g_assert_cmpint (exit_enum, ==, PK_EXIT_ENUM_UNKNOWN);
+
+ /* get package list of unset results */
+ packages = pk_results_get_package_array (results);
+ g_assert_cmpint (packages->len, ==, 0);
+ g_ptr_array_unref (packages);
+
+ /* set valid exit code */
+ ret = pk_results_set_exit_code (results, PK_EXIT_ENUM_CANCELLED);
+ g_assert (ret);
+
+ /* get exit code of set results */
+ exit_enum = pk_results_get_exit_code (results);
+ g_assert_cmpint (exit_enum, ==, PK_EXIT_ENUM_CANCELLED);
+
+ /* add package */
+ item = pk_package_new ();
+ g_object_set (item,
+ "info", PK_INFO_ENUM_AVAILABLE,
+ "package-id", "gnome-power-manager;0.1.2;i386;fedora",
+ "summary", "Power manager for GNOME",
+ NULL);
+ ret = pk_results_add_package (results, item);
+ g_object_unref (item);
+ g_assert (ret);
+
+ /* get package list of set results */
+ packages = pk_results_get_package_array (results);
+ g_assert_cmpint (packages->len, ==, 1);
+
+ /* check data */
+ item = g_ptr_array_index (packages, 0);
+ g_object_get (item,
+ "info", &info,
+ "package-id", &package_id,
+ "summary", &summary,
+ NULL);
+ g_assert_cmpint (info, ==, PK_INFO_ENUM_AVAILABLE);
+ g_assert_cmpstr ("gnome-power-manager;0.1.2;i386;fedora", ==, package_id);
+ g_assert_cmpstr ("Power manager for GNOME", ==, summary);
+ g_object_ref (item);
+ g_ptr_array_unref (packages);
+ g_free (package_id);
+ g_free (summary);
+
+ /* check ref */
+ g_object_get (item,
+ "info", &info,
+ "package-id", &package_id,
+ "summary", &summary,
+ NULL);
+ g_assert_cmpint (info, ==, PK_INFO_ENUM_AVAILABLE);
+ g_assert_cmpstr ("gnome-power-manager;0.1.2;i386;fedora", ==, package_id);
+ g_assert_cmpstr ("Power manager for GNOME", ==, summary);
+ g_object_unref (item);
+ g_free (package_id);
+ g_free (summary);
+
+ g_object_unref (results);
+}
+
+static void
+pk_test_service_pack_create_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkServicePack *pack = PK_SERVICE_PACK (object);
+ GError *error = NULL;
+ gboolean ret;
+
+ /* get the results */
+ ret = pk_service_pack_generic_finish (pack, res, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_service_pack_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data)
+{
+ PkStatusEnum status;
+ if (type == PK_PROGRESS_TYPE_STATUS) {
+ g_object_get (progress,
+ "status", &status,
+ NULL);
+ egg_debug ("now %s", pk_status_enum_to_string (status));
+ }
+}
+
+static void
+pk_test_service_pack_func (void)
+{
+ PkServicePack *pack;
+ gchar **package_ids;
+
+ pack = pk_service_pack_new ();
+ g_assert (pack != NULL);
+
+ /* install package */
+ package_ids = pk_package_ids_from_id ("glib2;2.14.0;i386;fedora");
+ pk_service_pack_create_for_package_ids_async (pack, "dave.servicepack", package_ids, NULL, NULL,
+ (PkProgressCallback) pk_test_service_pack_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_test_service_pack_create_cb, NULL);
+ g_strfreev (package_ids);
+ _g_test_loop_run_with_timeout (150000);
+ egg_debug ("installed in %f", g_test_timer_elapsed ());
+
+ g_object_unref (pack);
+}
+
+static void
+pk_test_task_install_packages_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkTask *task = PK_TASK (object);
+ GError *error = NULL;
+ PkResults *results;
+
+ /* get the results */
+ results = pk_task_generic_finish (task, res, &error);
+ g_assert (results == NULL);
+ g_assert_cmpstr (error->message, ==, "could not do untrusted question as no klass support");
+
+ g_error_free (error);
+ if (results != NULL)
+ g_object_unref (results);
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_task_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data)
+{
+ PkStatusEnum status;
+ if (type == PK_PROGRESS_TYPE_STATUS) {
+ g_object_get (progress,
+ "status", &status,
+ NULL);
+ egg_debug ("now %s", pk_status_enum_to_string (status));
+ }
+}
+
+static void
+pk_test_task_func (void)
+{
+ PkTask *task;
+ gchar **package_ids;
+
+ task = pk_task_new ();
+ g_assert (task != NULL);
+
+ /* install package */
+ package_ids = pk_package_ids_from_id ("glib2;2.14.0;i386;fedora");
+ pk_task_install_packages_async (task, package_ids, NULL,
+ (PkProgressCallback) pk_test_task_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_test_task_install_packages_cb, NULL);
+ g_strfreev (package_ids);
+ _g_test_loop_run_with_timeout (150000);
+ egg_debug ("installed in %f", g_test_timer_elapsed ());
+
+ g_object_unref (task);
+}
+
+static void
+pk_test_task_text_install_packages_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkTaskText *task = PK_TASK_TEXT (object);
+ GError *error = NULL;
+ PkResults *results;
+ PkExitEnum exit_enum;
+ GPtrArray *packages;
+
+ /* get the results */
+ results = pk_task_generic_finish (PK_TASK (task), res, &error);
+ g_assert_no_error (error);
+ g_assert (results != NULL);
+
+ exit_enum = pk_results_get_exit_code (results);
+ g_assert_cmpint (exit_enum, ==, PK_EXIT_ENUM_SUCCESS);
+
+ packages = pk_results_get_package_array (results);
+ g_assert (packages != NULL);
+ g_assert_cmpint (packages->len, ==, 4);
+
+ g_ptr_array_unref (packages);
+
+ egg_debug ("results exit enum = %s", pk_exit_enum_to_string (exit_enum));
+
+ if (results != NULL)
+ g_object_unref (results);
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_task_text_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data)
+{
+ PkStatusEnum status;
+ if (type == PK_PROGRESS_TYPE_STATUS) {
+ g_object_get (progress,
+ "status", &status,
+ NULL);
+ egg_debug ("now %s", pk_status_enum_to_string (status));
+ }
+}
+
+static void
+pk_test_task_text_func (void)
+{
+ PkTaskText *task;
+ gchar **package_ids;
+
+ task = pk_task_text_new ();
+ g_assert (task != NULL);
+
+ /* For testing, you will need to manually do:
+ pkcon repo-set-data dummy use-gpg 1
+ pkcon repo-set-data dummy use-eula 1
+ pkcon repo-set-data dummy use-media 1
+ */
+
+ /* install package */
+ package_ids = pk_package_ids_from_id ("vips-doc;7.12.4-2.fc8;noarch;linva");
+ pk_task_install_packages_async (PK_TASK (task), package_ids, NULL,
+ (PkProgressCallback) pk_test_task_text_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_test_task_text_install_packages_cb, NULL);
+ g_strfreev (package_ids);
+ _g_test_loop_run_with_timeout (150000);
+ egg_debug ("installed in %f", g_test_timer_elapsed ());
+
+ g_object_unref (task);
+}
+
+static void
+pk_test_task_wrapper_install_packages_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkTaskWrapper *task = PK_TASK_WRAPPER (object);
+ GError *error = NULL;
+ PkResults *results;
+ PkExitEnum exit_enum;
+ GPtrArray *packages;
+
+ /* get the results */
+ results = pk_task_generic_finish (PK_TASK (task), res, &error);
+ g_assert_no_error (error);
+ g_assert (results != NULL);
+
+ exit_enum = pk_results_get_exit_code (results);
+ g_assert_cmpint (exit_enum, ==, PK_EXIT_ENUM_SUCCESS);
+
+ packages = pk_results_get_package_array (results);
+ g_assert (packages != NULL);
+ g_assert_cmpint (packages->len, ==, 4);
+
+ g_ptr_array_unref (packages);
+
+ egg_debug ("results exit enum = %s", pk_exit_enum_to_string (exit_enum));
+
+ if (results != NULL)
+ g_object_unref (results);
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_task_wrapper_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data)
+{
+ PkStatusEnum status;
+ if (type == PK_PROGRESS_TYPE_STATUS) {
+ g_object_get (progress,
+ "status", &status,
+ NULL);
+ egg_debug ("now %s", pk_status_enum_to_string (status));
+ }
+}
+
+static void
+pk_test_task_wrapper_func (void)
+{
+ PkTaskWrapper *task;
+ gchar **package_ids;
+
+ task = pk_task_wrapper_new ();
+ g_assert (task != NULL);
+
+ /* install package */
+ package_ids = pk_package_ids_from_id ("vips-doc;7.12.4-2.fc8;noarch;linva");
+ pk_task_install_packages_async (PK_TASK (task), package_ids, NULL,
+ (PkProgressCallback) pk_test_task_wrapper_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_test_task_wrapper_install_packages_cb, NULL);
+ g_strfreev (package_ids);
+ _g_test_loop_run_with_timeout (150000);
+ egg_debug ("installed in %f", g_test_timer_elapsed ());
+
+ g_object_unref (task);
+}
+
+guint _added = 0;
+guint _removed = 0;
+//guint _refcount = 0;
+
+static void
+pk_test_transaction_list_resolve_cb (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+ PkClient *client = PK_CLIENT (object);
+ GError *error = NULL;
+ PkResults *results = NULL;
+ PkExitEnum exit_enum;
+
+ /* get the results */
+ results = pk_client_generic_finish (client, res, &error);
+ g_assert_no_error (error);
+ g_assert (results != NULL);
+
+ exit_enum = pk_results_get_exit_code (results);
+ g_assert_cmpint (exit_enum, ==, PK_EXIT_ENUM_SUCCESS);
+
+ if (results != NULL)
+ g_object_unref (results);
+ if (--_refcount == 0)
+ _g_test_loop_quit ();
+}
+
+static void
+pk_test_transaction_list_added_cb (PkTransactionList *tlist, const gchar *tid, gpointer user_data)
+{
+ egg_debug ("added %s", tid);
+ _added++;
+}
+
+static void
+pk_test_transaction_list_removed_cb (PkTransactionList *tlist, const gchar *tid, gpointer user_data)
+{
+ egg_debug ("removed %s", tid);
+ _removed++;
+}
+
+static gboolean
+pk_transaction_list_delay_cb (gpointer user_data)
+{
+ _g_test_loop_quit ();
+ return FALSE;
+}
+
+static void
+pk_test_transaction_list_func (void)
+{
+ PkTransactionList *tlist;
+ PkClient *client;
+ gchar **package_ids;
+
+ /* get transaction_list object */
+ tlist = pk_transaction_list_new ();
+ g_assert (tlist != NULL);
+ g_signal_connect (tlist, "added",
+ G_CALLBACK (pk_test_transaction_list_added_cb), NULL);
+ g_signal_connect (tlist, "removed",
+ G_CALLBACK (pk_test_transaction_list_removed_cb), NULL);
+
+ /* get client */
+ client = pk_client_new ();
+ g_assert (client != NULL);
+
+ /* resolve package */
+ package_ids = pk_package_ids_from_string ("glib2;2.14.0;i386;fedora&powertop");
+ _refcount = 2;
+ pk_client_resolve_async (client, pk_bitfield_value (PK_FILTER_ENUM_INSTALLED), package_ids, NULL, NULL, NULL,
+ (GAsyncReadyCallback) pk_test_transaction_list_resolve_cb, NULL);
+ pk_client_resolve_async (client, pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED), package_ids, NULL, NULL, NULL,
+ (GAsyncReadyCallback) pk_test_transaction_list_resolve_cb, NULL);
+ g_strfreev (package_ids);
+ _g_test_loop_run_with_timeout (15000);
+ egg_debug ("resolved in %f", g_test_timer_elapsed ());
+
+ /* wait for remove */
+ g_timeout_add (100, (GSourceFunc) pk_transaction_list_delay_cb, NULL);
+ _g_test_loop_run_with_timeout (15000);
+ egg_debug ("resolved in %f", g_test_timer_elapsed ());
+
+ /* correct number of added signals */
+ g_assert_cmpint (_added, ==, 2);
+
+ /* correct number of removed signals */
+ g_assert_cmpint (_removed, ==, 2);
+
+ g_object_unref (tlist);
+ g_object_unref (client);
+}
+
+static void
+pk_test_package_func (void)
+{
+ gboolean ret;
+ PkPackage *package;
+ const gchar *id;
+ gchar *text;
+
+ /* get package */
+ package = pk_package_new ();
+ g_assert (package != NULL);
+
+ /* get id of unset package */
+ id = pk_package_get_id (package);
+ g_assert_cmpstr (id, ==, NULL);
+
+ /* get id of unset package */
+ g_object_get (package, "package-id", &text, NULL);
+ g_assert_cmpstr (text, ==, NULL);
+ g_free (text);
+
+ /* set invalid id */
+ ret = pk_package_set_id (package, "gnome-power-manager", NULL);
+ g_assert (!ret);
+
+ /* set invalid id (sections) */
+ ret = pk_package_set_id (package, "gnome-power-manager;0.1.2;i386", NULL);
+ g_assert (!ret);
+
+ /* set invalid name */
+ ret = pk_package_set_id (package, ";0.1.2;i386;fedora", NULL);
+ g_assert (!ret);
+
+ /* set valid name */
+ ret = pk_package_set_id (package, "gnome-power-manager;0.1.2;i386;fedora", NULL);
+ g_assert (ret);
+
+ /* get id of set package */
+ id = pk_package_get_id (package);
+ g_assert_cmpstr (id, ==, "gnome-power-manager;0.1.2;i386;fedora");
+
+ /* get name of set package */
+ g_object_get (package, "package-id", &text, NULL);
+ g_assert_cmpstr (text, ==, "gnome-power-manager;0.1.2;i386;fedora");
+ g_free (text);
+
+ g_object_unref (package);
+}
int
main (int argc, char **argv)
{
- EggTest *test;
-
g_type_init ();
- test = egg_test_init ();
+
egg_debug_init (&argc, &argv);
+ g_test_init (&argc, &argv, NULL);
/* tests go here */
- egg_string_test (test);
- pk_common_test (test);
- pk_enum_test (test);
- pk_desktop_test (test);
- pk_bitfield_test (test);
- pk_package_id_test (test);
- pk_package_ids_test (test);
- pk_progress_test (test);
- pk_results_test (test);
- pk_package_test (test);
- pk_control_test (test);
- pk_transaction_list_test (test);
- pk_client_test (test);
- pk_catalog_test (test);
- pk_package_sack_test (test);
- pk_task_test (test);
- pk_task_wrapper_test (test);
- pk_task_text_test (test);
- pk_console_test (test);
-
- return (egg_test_finish (test));
+ g_test_add_func ("/packagekit-glib2/common", pk_test_common_func);
+ g_test_add_func ("/packagekit-glib2/enum", pk_test_enum_func);
+ g_test_add_func ("/packagekit-glib2/desktop", pk_test_desktop_func);
+ g_test_add_func ("/packagekit-glib2/bitfield", pk_test_bitfield_func);
+ g_test_add_func ("/packagekit-glib2/package-id", pk_test_package_id_func);
+ g_test_add_func ("/packagekit-glib2/package-ids", pk_test_package_ids_func);
+ g_test_add_func ("/packagekit-glib2/progress", pk_test_progress_func);
+ g_test_add_func ("/packagekit-glib2/results", pk_test_results_func);
+ g_test_add_func ("/packagekit-glib2/package", pk_test_package_func);
+ g_test_add_func ("/packagekit-glib2/control", pk_test_control_func);
+ g_test_add_func ("/packagekit-glib2/transaction-list", pk_test_transaction_list_func);
+ g_test_add_func ("/packagekit-glib2/client", pk_test_client_func);
+ g_test_add_func ("/packagekit-glib2/catalog", pk_test_catalog_func);
+ g_test_add_func ("/packagekit-glib2/package-sack", pk_test_package_sack_func);
+ g_test_add_func ("/packagekit-glib2/task", pk_test_task_func);
+ g_test_add_func ("/packagekit-glib2/task-wrapper", pk_test_task_wrapper_func);
+ g_test_add_func ("/packagekit-glib2/task-text", pk_test_task_text_func);
+ g_test_add_func ("/packagekit-glib2/console", pk_test_console_func);
+ g_test_add_func ("/packagekit-glib2/progress-bar", pk_test_progress_bar);
+ g_test_add_func ("/packagekit-glib2/service-pack", pk_test_service_pack_func);
+
+ return g_test_run ();
}
diff --git a/lib/packagekit-glib2/pk-service-pack.c b/lib/packagekit-glib2/pk-service-pack.c
index 110e603..b2ee394 100644
--- a/lib/packagekit-glib2/pk-service-pack.c
+++ b/lib/packagekit-glib2/pk-service-pack.c
@@ -1098,76 +1098,3 @@ pk_service_pack_new (void)
pack = g_object_new (PK_TYPE_SERVICE_PACK, NULL);
return PK_SERVICE_PACK (pack);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-static void
-pk_service_pack_test_create_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkServicePack *pack = PK_SERVICE_PACK (object);
- GError *error = NULL;
- gboolean ret;
-
- /* get the results */
- ret = pk_service_pack_generic_finish (pack, res, &error);
- if (!ret) {
- egg_test_failed (test, "failed to create pack: %s", error->message);
- g_error_free (error);
- goto out;
- }
-out:
- egg_test_loop_quit (test);
-}
-
-static void
-pk_service_pack_test_progress_cb (PkProgress *progress, PkProgressType type, EggTest *test)
-{
- PkStatusEnum status;
- if (type == PK_PROGRESS_TYPE_STATUS) {
- g_object_get (progress,
- "status", &status,
- NULL);
- egg_debug ("now %s", pk_status_enum_to_string (status));
- }
-}
-
-void
-pk_service_pack_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- PkServicePack *pack;
- gchar **package_ids;
-
- if (!egg_test_start (test, "PkServicePack"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- pack = pk_service_pack_new ();
- egg_test_assert (test, pack != NULL);
-
- /************************************************************/
- egg_test_title (test, "get service_pack");
- pack = pk_service_pack_new ();
- egg_test_assert (test, pack != NULL);
-
- /************************************************************/
- egg_test_title (test, "install package");
- package_ids = pk_package_ids_from_id ("glib2;2.14.0;i386;fedora");
- pk_service_pack_create_for_package_ids_async (pack, "dave.servicepack", package_ids, NULL, NULL,
- (PkProgressCallback) pk_service_pack_test_progress_cb, test,
- (GAsyncReadyCallback) pk_service_pack_test_create_cb, test);
- g_strfreev (package_ids);
- egg_test_loop_wait (test, 150000);
- egg_test_success (test, "installed in %i", egg_test_elapsed (test));
-
- g_object_unref (pack);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-task-text.c b/lib/packagekit-glib2/pk-task-text.c
index b576d5e..4fbec23 100644
--- a/lib/packagekit-glib2/pk-task-text.c
+++ b/lib/packagekit-glib2/pk-task-text.c
@@ -445,97 +445,3 @@ pk_task_text_new (void)
task = g_object_new (PK_TYPE_TASK_TEXT, NULL);
return PK_TASK_TEXT (task);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-#include <packagekit-glib2/pk-package-ids.h>
-
-static void
-pk_task_text_test_install_packages_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkTaskText *task = PK_TASK_TEXT (object);
- GError *error = NULL;
- PkResults *results;
- PkExitEnum exit_enum;
- GPtrArray *packages;
-
- /* get the results */
- results = pk_task_generic_finish (PK_TASK (task), res, &error);
- if (results == NULL) {
- egg_test_failed (test, "failed to resolve: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- exit_enum = pk_results_get_exit_code (results);
- if (exit_enum != PK_EXIT_ENUM_SUCCESS)
- egg_test_failed (test, "failed to resolve success: %s", pk_exit_enum_to_string (exit_enum));
-
- packages = pk_results_get_package_array (results);
- if (packages == NULL)
- egg_test_failed (test, "no packages!");
-
- if (packages->len != 4)
- egg_test_failed (test, "invalid number of packages: %i", packages->len);
-
- g_ptr_array_unref (packages);
-
- egg_debug ("results exit enum = %s", pk_exit_enum_to_string (exit_enum));
-out:
- if (results != NULL)
- g_object_unref (results);
- egg_test_loop_quit (test);
-}
-
-static void
-pk_task_text_test_progress_cb (PkProgress *progress, PkProgressType type, EggTest *test)
-{
- PkStatusEnum status;
- if (type == PK_PROGRESS_TYPE_STATUS) {
- g_object_get (progress,
- "status", &status,
- NULL);
- egg_debug ("now %s", pk_status_enum_to_string (status));
- }
-}
-
-void
-pk_task_text_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- PkTaskText *task;
- gchar **package_ids;
-
- if (!egg_test_start (test, "PkTaskText"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get task_text");
- task = pk_task_text_new ();
- egg_test_assert (test, task != NULL);
-
- /* For testing, you will need to manually do:
- pkcon repo-set-data dummy use-gpg 1
- pkcon repo-set-data dummy use-eula 1
- pkcon repo-set-data dummy use-media 1
- */
-
- /************************************************************/
- egg_test_title (test, "install package");
- package_ids = pk_package_ids_from_id ("vips-doc;7.12.4-2.fc8;noarch;linva");
- pk_task_install_packages_async (PK_TASK (task), package_ids, NULL,
- (PkProgressCallback) pk_task_text_test_progress_cb, test,
- (GAsyncReadyCallback) pk_task_text_test_install_packages_cb, test);
- g_strfreev (package_ids);
- egg_test_loop_wait (test, 150000);
- egg_test_success (test, "installed in %i", egg_test_elapsed (test));
-
- g_object_unref (task);
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-task-wrapper.c b/lib/packagekit-glib2/pk-task-wrapper.c
index 4bfbcb2..91bbb60 100644
--- a/lib/packagekit-glib2/pk-task-wrapper.c
+++ b/lib/packagekit-glib2/pk-task-wrapper.c
@@ -206,90 +206,3 @@ pk_task_wrapper_new (void)
task = g_object_new (PK_TYPE_TASK_WRAPPER, NULL);
return PK_TASK_WRAPPER (task);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include <packagekit-glib2/pk-package-ids.h>
-#include "egg-test.h"
-
-static void
-pk_task_wrapper_test_install_packages_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkTaskWrapper *task = PK_TASK_WRAPPER (object);
- GError *error = NULL;
- PkResults *results;
- PkExitEnum exit_enum;
- GPtrArray *packages;
-
- /* get the results */
- results = pk_task_generic_finish (PK_TASK (task), res, &error);
- if (results == NULL) {
- egg_test_failed (test, "failed to install: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- exit_enum = pk_results_get_exit_code (results);
- if (exit_enum != PK_EXIT_ENUM_SUCCESS)
- egg_test_failed (test, "failed to install packages: %s", pk_exit_enum_to_string (exit_enum));
-
- packages = pk_results_get_package_array (results);
- if (packages == NULL)
- egg_test_failed (test, "no packages!");
-
- if (packages->len != 4)
- egg_test_failed (test, "invalid number of packages: %i", packages->len);
-
- g_ptr_array_unref (packages);
-
- egg_debug ("results exit enum = %s", pk_exit_enum_to_string (exit_enum));
-out:
- if (results != NULL)
- g_object_unref (results);
- egg_test_loop_quit (test);
-}
-
-static void
-pk_task_wrapper_test_progress_cb (PkProgress *progress, PkProgressType type, EggTest *test)
-{
- PkStatusEnum status;
- if (type == PK_PROGRESS_TYPE_STATUS) {
- g_object_get (progress,
- "status", &status,
- NULL);
- egg_debug ("now %s", pk_status_enum_to_string (status));
- }
-}
-
-void
-pk_task_wrapper_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- PkTaskWrapper *task;
- gchar **package_ids;
-
- if (!egg_test_start (test, "PkTaskWrapper"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get task_wrapper");
- task = pk_task_wrapper_new ();
- egg_test_assert (test, task != NULL);
-
- /************************************************************/
- egg_test_title (test, "install package");
- package_ids = pk_package_ids_from_id ("vips-doc;7.12.4-2.fc8;noarch;linva");
- pk_task_install_packages_async (PK_TASK (task), package_ids, NULL,
- (PkProgressCallback) pk_task_wrapper_test_progress_cb, test,
- (GAsyncReadyCallback) pk_task_wrapper_test_install_packages_cb, test);
- g_strfreev (package_ids);
- egg_test_loop_wait (test, 150000);
- egg_test_success (test, "installed in %i", egg_test_elapsed (test));
-
- g_object_unref (task);
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-task.c b/lib/packagekit-glib2/pk-task.c
index 2b60e43..e4e8c6a 100644
--- a/lib/packagekit-glib2/pk-task.c
+++ b/lib/packagekit-glib2/pk-task.c
@@ -2257,80 +2257,3 @@ pk_task_new (void)
task = g_object_new (PK_TYPE_TASK, NULL);
return PK_TASK (task);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include <packagekit-glib2/pk-package-ids.h>
-#include "egg-test.h"
-
-static void
-pk_task_test_install_packages_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkTask *task = PK_TASK (object);
- GError *error = NULL;
- PkResults *results;
-
- /* get the results */
- results = pk_task_generic_finish (task, res, &error);
- if (results != NULL) {
- egg_test_failed (test, "finish should fail!");
- goto out;
- }
-
- /* check error */
- if (g_strcmp0 (error->message, "could not do untrusted question as no klass support") != 0) {
- egg_test_failed (test, "wrong message: %s", error->message);
- g_error_free (error);
- goto out;
- }
-out:
- g_error_free (error);
- if (results != NULL)
- g_object_unref (results);
- egg_test_loop_quit (test);
-}
-
-static void
-pk_task_test_progress_cb (PkProgress *progress, PkProgressType type, EggTest *test)
-{
- PkStatusEnum status;
- if (type == PK_PROGRESS_TYPE_STATUS) {
- g_object_get (progress,
- "status", &status,
- NULL);
- egg_debug ("now %s", pk_status_enum_to_string (status));
- }
-}
-
-void
-pk_task_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- PkTask *task;
- gchar **package_ids;
-
- if (!egg_test_start (test, "PkTask"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get task");
- task = pk_task_new ();
- egg_test_assert (test, task != NULL);
-
- /************************************************************/
- egg_test_title (test, "install package");
- package_ids = pk_package_ids_from_id ("glib2;2.14.0;i386;fedora");
- pk_task_install_packages_async (task, package_ids, NULL,
- (PkProgressCallback) pk_task_test_progress_cb, test,
- (GAsyncReadyCallback) pk_task_test_install_packages_cb, test);
- g_strfreev (package_ids);
- egg_test_loop_wait (test, 150000);
- egg_test_success (test, "installed in %i", egg_test_elapsed (test));
-
- g_object_unref (task);
- egg_test_end (test);
-}
-#endif
-
diff --git a/lib/packagekit-glib2/pk-transaction-list.c b/lib/packagekit-glib2/pk-transaction-list.c
index f6b14d7..0f8eec7 100644
--- a/lib/packagekit-glib2/pk-transaction-list.c
+++ b/lib/packagekit-glib2/pk-transaction-list.c
@@ -302,121 +302,3 @@ pk_transaction_list_new (void)
tlist = g_object_new (PK_TYPE_TRANSACTION_LIST, NULL);
return PK_TRANSACTION_LIST (tlist);
}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-#include <packagekit-glib2/pk-client.h>
-#include <packagekit-glib2/pk-package-ids.h>
-
-guint _added = 0;
-guint _removed = 0;
-guint _refcount = 0;
-
-static void
-pk_transaction_list_test_resolve_cb (GObject *object, GAsyncResult *res, EggTest *test)
-{
- PkClient *client = PK_CLIENT (object);
- GError *error = NULL;
- PkResults *results = NULL;
- PkExitEnum exit_enum;
-
- /* get the results */
- results = pk_client_generic_finish (client, res, &error);
- if (results == NULL) {
- egg_test_failed (test, "failed to resolve: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- exit_enum = pk_results_get_exit_code (results);
- if (exit_enum != PK_EXIT_ENUM_SUCCESS)
- egg_test_failed (test, "failed to resolve success: %s", pk_exit_enum_to_string (exit_enum));
-out:
- if (results != NULL)
- g_object_unref (results);
- if (--_refcount == 0)
- egg_test_loop_quit (test);
-}
-
-static void
-pk_transaction_list_test_added_cb (PkTransactionList *tlist, const gchar *tid, EggTest *test)
-{
- egg_debug ("added %s", tid);
- _added++;
-}
-
-static void
-pk_transaction_list_test_removed_cb (PkTransactionList *tlist, const gchar *tid, EggTest *test)
-{
- egg_debug ("removed %s", tid);
- _removed++;
-}
-
-static gboolean
-pk_transaction_list_delay_cb (EggTest *test)
-{
- egg_test_loop_quit (test);
- return FALSE;
-}
-
-void
-pk_transaction_list_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- PkTransactionList *tlist;
- PkClient *client;
- gchar **package_ids;
-
- if (!egg_test_start (test, "PkTransactionList"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get transaction_list object");
- tlist = pk_transaction_list_new ();
- egg_test_assert (test, tlist != NULL);
- g_signal_connect (tlist, "added",
- G_CALLBACK (pk_transaction_list_test_added_cb), test);
- g_signal_connect (tlist, "removed",
- G_CALLBACK (pk_transaction_list_test_removed_cb), test);
-
- /************************************************************/
- egg_test_title (test, "get client");
- client = pk_client_new ();
- egg_test_assert (test, client != NULL);
-
- /************************************************************/
- egg_test_title (test, "resolve package");
- package_ids = pk_package_ids_from_string ("glib2;2.14.0;i386;fedora&powertop");
- _refcount = 2;
- pk_client_resolve_async (client, pk_bitfield_value (PK_FILTER_ENUM_INSTALLED), package_ids, NULL, NULL, NULL,
- (GAsyncReadyCallback) pk_transaction_list_test_resolve_cb, test);
- pk_client_resolve_async (client, pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED), package_ids, NULL, NULL, NULL,
- (GAsyncReadyCallback) pk_transaction_list_test_resolve_cb, test);
- g_strfreev (package_ids);
- egg_test_loop_wait (test, 15000);
- egg_test_success (test, "resolved in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "wait for remove");
- g_timeout_add (100, (GSourceFunc) pk_transaction_list_delay_cb, test);
- egg_test_loop_wait (test, 15000);
- egg_test_success (test, "resolved in %i", egg_test_elapsed (test));
-
- /************************************************************/
- egg_test_title (test, "correct number of added signals");
- egg_test_assert (test, (_added == 2));
-
- /************************************************************/
- egg_test_title (test, "correct number of removed signals");
- egg_test_assert (test, (_removed == 2));
-
- g_object_unref (tlist);
- g_object_unref (client);
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/Makefile.am b/src/Makefile.am
index 50215ae..501a3a0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -28,6 +28,7 @@ INCLUDES = \
-DPK_DATA=\"$(pkgdatadir)\" \
-DLOCALSTATEDIR=\""$(localstatedir)"\" \
-DPK_DB_DIR=\""$(PK_DB_DIR)"\" \
+ -DTESTDATADIR=\""$(top_srcdir)/data/tests"\" \
-DPK_COMPILATION \
-DPOLKIT_LOCAL_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
-I$(top_srcdir)/lib \
@@ -209,8 +210,6 @@ check_PROGRAMS = \
pk_self_test_SOURCES = \
pk-self-test.c \
- egg-test.h \
- egg-test.c \
$(shared_SOURCES) \
$(NULL)
diff --git a/src/egg-string.c b/src/egg-string.c
index f04f94c..73eb1f8 100644
--- a/src/egg-string.c
+++ b/src/egg-string.c
@@ -231,224 +231,3 @@ egg_strreplace (const gchar *text, const gchar *find, const gchar *replace)
return retval;
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-egg_string_test (gpointer user_data)
-{
- EggTest *test = (EggTest *) user_data;
- gboolean ret;
- gchar *text_safe;
- const gchar *temp;
- guint length;
- gint value;
- guint uvalue;
- gchar **id1;
- gchar **id2;
-
- if (!egg_test_start (test, "EggString"))
- return;
-
- /************************************************************
- **************** String array equal ******************
- ************************************************************/
- egg_test_title (test, "egg_strvequal same argument");
- id1 = g_strsplit ("the quick brown fox", " ", 0);
- if (egg_strvequal (id1, id1))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "incorrect ret when both same");
- g_strfreev (id1);
-
- /************************************************************/
- egg_test_title (test, "egg_strvequal same");
- id1 = g_strsplit ("the quick brown fox", " ", 0);
- id2 = g_strsplit ("the quick brown fox", " ", 0);
- if (egg_strvequal (id1, id2))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "incorrect ret when both same");
- g_strfreev (id1);
- g_strfreev (id2);
-
- /************************************************************/
- egg_test_title (test, "egg_strvequal different lengths");
- id1 = g_strsplit ("the quick brown", " ", 0);
- id2 = g_strsplit ("the quick brown fox", " ", 0);
- if (!egg_strvequal (id1, id2))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "incorrect ret when both same");
- g_strfreev (id1);
- g_strfreev (id2);
-
- /************************************************************/
- egg_test_title (test, "egg_strvequal different");
- id1 = g_strsplit ("the quick brown fox", " ", 0);
- id2 = g_strsplit ("richard hughes maintainer dude", " ", 0);
- if (!egg_strvequal (id1, id2))
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "same when different");
- g_strfreev (id1);
- g_strfreev (id2);
-
- /************************************************************
- **************** Zero ******************
- ************************************************************/
- temp = NULL;
- egg_test_title (test, "test strzero (null)");
- ret = egg_strzero (NULL);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed null");
-
- /************************************************************/
- egg_test_title (test, "test strzero (null first char)");
- ret = egg_strzero ("");
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed null");
-
- /************************************************************/
- egg_test_title (test, "test strzero (long string)");
- ret = egg_strzero ("Richard");
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "zero length word!");
-
- /************************************************************/
- egg_test_title (test, "id strcmp pass");
- ret = (g_strcmp0 ("moo;0.0.1;i386;fedora", "moo;0.0.1;i386;fedora") == 0);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "id strcmp fail");
- ret = (g_strcmp0 ("moo;0.0.1;i386;fedora", "moo;0.0.2;i386;fedora") == 0);
- egg_test_assert (test, !ret);
-
- /************************************************************
- **************** strlen ******************
- ************************************************************/
- egg_test_title (test, "strlen bigger");
- length = egg_strlen ("123456789", 20);
- if (length == 9)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the strlen %i", length);
-
- /************************************************************/
- egg_test_title (test, "strlen smaller");
- length = egg_strlen ("123456789", 5);
- if (length == 5)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the strlen %i", length);
-
- /************************************************************/
- egg_test_title (test, "strlen correct");
- length = egg_strlen ("123456789", 9);
- if (length == 9)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the strlen %i", length);
-
- /************************************************************
- **************** Replace ******************
- ************************************************************/
- egg_test_title (test, "replace start");
- text_safe = egg_strreplace ("richard\nhughes", "r", "e");
- if (g_strcmp0 (text_safe, "eichaed\nhughes") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the replace '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "replace none");
- text_safe = egg_strreplace ("richard\nhughes", "dave", "e");
- if (g_strcmp0 (text_safe, "richard\nhughes") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the replace '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "replace end");
- text_safe = egg_strreplace ("richard\nhughes", "s", "e");
- if (g_strcmp0 (text_safe, "richard\nhughee") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the replace '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "replace unicode");
- text_safe = egg_strreplace ("richard\n- hughes", "\n- ", "\n⢠");
- if (g_strcmp0 (text_safe, "richard\n⢠hughes") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the replace '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************
- ************** Convert numbers ****************
- ************************************************************/
- egg_test_title (test, "convert valid number");
- ret = egg_strtoint ("234", &value);
- if (ret && value == 234)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "value is %i", value);
-
- /************************************************************/
- egg_test_title (test, "convert negative valid number");
- ret = egg_strtoint ("-234", &value);
- if (ret && value == -234)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "value is %i", value);
-
- /************************************************************/
- egg_test_title (test, "don't convert invalid number");
- ret = egg_strtoint ("dave", &value);
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "value is %i", value);
-
- /************************************************************/
- egg_test_title (test, "convert NULL to a number");
- ret = egg_strtouint (NULL, &uvalue);
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "value is %i", uvalue);
-
- /************************************************************/
- egg_test_title (test, "convert valid uint number");
- ret = egg_strtouint ("234", &uvalue);
- if (ret && uvalue == 234)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "value is %i", uvalue);
-
- /************************************************************/
- egg_test_title (test, "convert invalid uint number");
- ret = egg_strtouint ("-234", &uvalue);
- if (ret == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "value is %i", uvalue);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/egg-test.c b/src/egg-test.c
deleted file mode 100644
index 99c0fe8..0000000
--- a/src/egg-test.c
+++ /dev/null
@@ -1,360 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
- *
- * Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdlib.h>
-#include <glib.h>
-#include <string.h>
-#include <glib/gprintf.h>
-
-#include "egg-test.h"
-
-struct EggTest {
- guint total;
- guint succeeded;
- gboolean started;
- gboolean titled;
- gchar *type;
- GTimer *timer;
- GMainLoop *loop;
- guint hang_loop_id;
- gpointer user_data;
-};
-
-/**
- * egg_test_init:
- **/
-EggTest *
-egg_test_init ()
-{
- EggTest *test;
- test = g_new (EggTest, 1);
- test->total = 0;
- test->succeeded = 0;
- test->type = NULL;
- test->started = FALSE;
- test->titled = FALSE;
- test->timer = g_timer_new ();
- test->loop = g_main_loop_new (NULL, FALSE);
- test->hang_loop_id = 0;
- return test;
-}
-
-/**
- * egg_test_loop_quit:
- **/
-void
-egg_test_loop_quit (EggTest *test)
-{
- /* disable the loop watch */
- if (test->hang_loop_id != 0) {
- g_source_remove (test->hang_loop_id);
- test->hang_loop_id = 0;
- }
- g_main_loop_quit (test->loop);
-}
-
-/**
- * egg_test_hang_check:
- **/
-static gboolean
-egg_test_hang_check (gpointer data)
-{
- EggTest *test = (EggTest *) data;
- g_main_loop_quit (test->loop);
- return FALSE;
-}
-
-/**
- * egg_test_loop_wait:
- **/
-void
-egg_test_loop_wait (EggTest *test, guint timeout)
-{
- test->hang_loop_id = g_timeout_add (timeout, egg_test_hang_check, test);
-#if GLIB_CHECK_VERSION(2,25,8)
- g_source_set_name_by_id (test->hang_loop_id, "[EggTest] egg-test-hang");
-#endif
- g_main_loop_run (test->loop);
-}
-
-/**
- * egg_test_loop_check:
- **/
-void
-egg_test_loop_check (EggTest *test)
-{
- guint elapsed = egg_test_elapsed (test);
- egg_test_title (test, "did we timeout out of the loop");
- if (test->hang_loop_id == 0) {
- egg_test_success (test, "loop blocked for %ims", elapsed);
- } else {
- egg_test_failed (test, "hangcheck saved us after %ims", elapsed);
- }
-}
-
-/**
- * egg_test_set_user_data:
- **/
-void
-egg_test_set_user_data (EggTest *test, gpointer user_data)
-{
- test->user_data = user_data;
-}
-
-/**
- * egg_test_get_user_data:
- **/
-gpointer
-egg_test_get_user_data (EggTest *test)
-{
- return test->user_data;
-}
-
-/**
- * egg_test_finish:
- **/
-gint
-egg_test_finish (EggTest *test)
-{
- gint retval;
- g_print ("test passes (%u/%u) : ", test->succeeded, test->total);
- if (test->succeeded == test->total) {
- g_print ("ALL OKAY\n");
- retval = 0;
- } else {
- g_print ("%u FAILURE(S)\n", test->total - test->succeeded);
- retval = 1;
- }
-
- g_timer_destroy (test->timer);
- g_main_loop_unref (test->loop);
- g_free (test);
-
- return retval;
-}
-
-/**
- * egg_test_elapsed:
- *
- * Returns: time in ms
- **/
-guint
-egg_test_elapsed (EggTest *test)
-{
- gdouble time_s;
- time_s = g_timer_elapsed (test->timer, NULL);
- return (guint) (time_s * 1000.0f);
-}
-
-/**
- * egg_test_start:
- **/
-gboolean
-egg_test_start (EggTest *test, const gchar *name)
-{
- if (test->started) {
- g_print ("Not ended test! Cannot start!\n");
- exit (1);
- }
- test->type = g_strdup (name);
- test->started = TRUE;
- return TRUE;
-}
-
-/**
- * egg_test_end:
- **/
-void
-egg_test_end (EggTest *test)
-{
- if (test->started == FALSE) {
- g_print ("Not started test! Cannot finish!\n");
- exit (1);
- }
-
- /* disable hang check */
- if (test->hang_loop_id != 0) {
- g_source_remove (test->hang_loop_id);
- test->hang_loop_id = 0;
- }
-
- /* remove all the test callbacks */
- while (g_source_remove_by_user_data (test))
- g_print ("WARNING: removed callback for test module");
-
- /* check we don't have any pending iterations */
- if (g_main_context_pending (NULL)) {
- g_print ("WARNING: Pending event in context! Running to completion... ");
- while (g_main_context_pending (NULL))
- g_main_context_iteration (NULL, TRUE);
- g_print ("Done!\n");
- }
-
- test->started = FALSE;
- g_free (test->type);
-}
-
-/**
- * egg_test_title:
- **/
-void
-egg_test_title (EggTest *test, const gchar *format, ...)
-{
- va_list args;
- gchar *va_args_buffer = NULL;
-
- /* already titled? */
- if (test->titled) {
- g_print ("Already titled!\n");
- exit (1);
- }
-
- /* reset the value egg_test_elapsed replies with */
- g_timer_reset (test->timer);
-
- va_start (args, format);
- g_vasprintf (&va_args_buffer, format, args);
- va_end (args);
- g_print ("> check #%u\t%s: \t%s...", test->total+1, test->type, va_args_buffer);
- g_free (va_args_buffer);
-
- test->titled = TRUE;
- test->total++;
-}
-
-/**
- * egg_test_success:
- **/
-void
-egg_test_success (EggTest *test, const gchar *format, ...)
-{
- va_list args;
- gchar *va_args_buffer = NULL;
-
- /* not titled? */
- if (!test->titled) {
- g_print ("Not titled!\n");
- exit (1);
- }
- if (format == NULL) {
- g_print ("...OK\n");
- goto finish;
- }
- va_start (args, format);
- g_vasprintf (&va_args_buffer, format, args);
- va_end (args);
- g_print ("...OK [%s]\n", va_args_buffer);
- g_free (va_args_buffer);
-finish:
- test->titled = FALSE;
- test->succeeded++;
-}
-
-/**
- * egg_test_failed:
- **/
-void
-egg_test_failed (EggTest *test, const gchar *format, ...)
-{
- va_list args;
- gchar *va_args_buffer = NULL;
-
- /* not titled? */
- if (!test->titled) {
- g_print ("Not titled!\n");
- exit (1);
- }
- if (format == NULL) {
- g_print ("FAILED\n");
- goto failed;
- }
- va_start (args, format);
- g_vasprintf (&va_args_buffer, format, args);
- va_end (args);
- g_print ("FAILED [%s]\n", va_args_buffer);
- g_free (va_args_buffer);
-failed:
- exit (1);
-}
-
-/**
- * egg_test_assert:
- **/
-void
-egg_test_assert (EggTest *test, gboolean value)
-{
- if (value)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-}
-
-/**
- * egg_test_title_assert:
- **/
-void
-egg_test_title_assert (EggTest *test, const gchar *text, gboolean value)
-{
- egg_test_title (test, "%s", text);
- if (value)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-}
-
-/**
- * egg_test_get_data_file:
- **/
-gchar *
-egg_test_get_data_file (const gchar *filename)
-{
- gboolean ret;
- gchar *full;
-
- /* check to see if we are being run in the build root */
- full = g_build_filename ("..", "data", "tests", filename, NULL);
- ret = g_file_test (full, G_FILE_TEST_EXISTS);
- if (ret)
- return full;
- g_free (full);
-
- /* check to see if we are being run in the build root */
- full = g_build_filename ("..", "..", "data", "tests", filename, NULL);
- ret = g_file_test (full, G_FILE_TEST_EXISTS);
- if (ret)
- return full;
- g_free (full);
-
- /* check to see if we are being run in make check */
- full = g_build_filename ("..", "..", "data", "tests", filename, NULL);
- ret = g_file_test (full, G_FILE_TEST_EXISTS);
- if (ret)
- return full;
- g_free (full);
- full = g_build_filename ("..", "..", "..", "data", "tests", filename, NULL);
- ret = g_file_test (full, G_FILE_TEST_EXISTS);
- if (ret)
- return full;
- g_print ("[WARN] failed to find '%s'\n", full);
- g_free (full);
- return NULL;
-}
-
diff --git a/src/egg-test.h b/src/egg-test.h
deleted file mode 100644
index 1b05092..0000000
--- a/src/egg-test.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
- *
- * Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef __EGG_TEST_H
-#define __EGG_TEST_H
-
-#include <glib.h>
-#include <string.h>
-
-typedef struct EggTest EggTest;
-
-gboolean egg_test_start (EggTest *test, const gchar *name);
-void egg_test_end (EggTest *test);
-void egg_test_title (EggTest *test, const gchar *format, ...);
-void egg_test_title_assert (EggTest *test, const gchar *text, gboolean value);
-void egg_test_assert (EggTest *test, gboolean value);
-void egg_test_success (EggTest *test, const gchar *format, ...);
-void egg_test_failed (EggTest *test, const gchar *format, ...) G_GNUC_NORETURN;
-EggTest *egg_test_init (void);
-gint egg_test_finish (EggTest *test);
-guint egg_test_elapsed (EggTest *test);
-void egg_test_loop_quit (EggTest *test);
-void egg_test_loop_wait (EggTest *test, guint timeout);
-void egg_test_loop_check (EggTest *test);
-void egg_test_set_user_data (EggTest *test, gpointer user_data);
-gpointer egg_test_get_user_data (EggTest *test);
-gchar *egg_test_get_data_file (const gchar *filename);
-
-#endif /* __EGG_TEST_H */
-
diff --git a/src/pk-backend-internal.h b/src/pk-backend-internal.h
index 0628f71..bb7df4e 100644
--- a/src/pk-backend-internal.h
+++ b/src/pk-backend-internal.h
@@ -68,6 +68,7 @@ gboolean pk_backend_set_root (PkBackend *backend,
const gchar *root);
gchar *pk_backend_get_name (PkBackend *backend)
G_GNUC_WARN_UNUSED_RESULT;
+gboolean pk_backend_get_is_finished (PkBackend *backend);
gchar *pk_backend_get_description (PkBackend *backend)
G_GNUC_WARN_UNUSED_RESULT;
gchar *pk_backend_get_author (PkBackend *backend)
diff --git a/src/pk-backend-spawn.c b/src/pk-backend-spawn.c
index 220f036..f43e489 100644
--- a/src/pk-backend-spawn.c
+++ b/src/pk-backend-spawn.c
@@ -73,6 +73,16 @@ struct PkBackendSpawnPrivate
G_DEFINE_TYPE (PkBackendSpawn, pk_backend_spawn, G_TYPE_OBJECT)
/**
+ * pk_backend_spawn_get_backend:
+ **/
+PkBackend *
+pk_backend_spawn_get_backend (PkBackendSpawn *backend_spawn)
+{
+ g_return_val_if_fail (PK_IS_BACKEND_SPAWN (backend_spawn), NULL);
+ return backend_spawn->priv->backend;
+}
+
+/**
* pk_backend_spawn_set_filter_stdout:
**/
gboolean
@@ -145,9 +155,6 @@ pk_backend_spawn_start_kill_timer (PkBackendSpawn *backend_spawn)
/**
* pk_backend_spawn_parse_stdout:
- *
- * If you are editing this function creating a new backend,
- * then you are probably doing something wrong.
**/
static gboolean
pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
@@ -594,24 +601,34 @@ pk_backend_spawn_exit_cb (PkSpawn *spawn, PkSpawnExitType exit_enum, PkBackendSp
}
/**
- * pk_backend_spawn_stdout_cb:
+ * pk_backend_spawn_inject_data:
**/
-static void
-pk_backend_spawn_stdout_cb (PkBackendSpawn *spawn, const gchar *line, PkBackendSpawn *backend_spawn)
+gboolean
+pk_backend_spawn_inject_data (PkBackendSpawn *backend_spawn, const gchar *line)
{
gboolean ret;
- g_return_if_fail (PK_IS_BACKEND_SPAWN (backend_spawn));
+ g_return_val_if_fail (PK_IS_BACKEND_SPAWN (backend_spawn), FALSE);
/* do we ignore with a filter func ? */
if (backend_spawn->priv->stdout_func != NULL) {
ret = backend_spawn->priv->stdout_func (backend_spawn->priv->backend, line);
if (!ret)
- return;
+ return TRUE;
}
- ret = pk_backend_spawn_parse_stdout (backend_spawn, line);
+ return pk_backend_spawn_parse_stdout (backend_spawn, line);
+}
+
+/**
+ * pk_backend_spawn_stdout_cb:
+ **/
+static void
+pk_backend_spawn_stdout_cb (PkBackendSpawn *spawn, const gchar *line, PkBackendSpawn *backend_spawn)
+{
+ gboolean ret;
+ ret = pk_backend_spawn_inject_data (backend_spawn, line);
if (!ret)
- egg_debug ("failed to parse '%s'", line);
+ egg_debug ("failed to parse: %s", line);
}
/**
@@ -641,7 +658,7 @@ pk_backend_spawn_stderr_cb (PkBackendSpawn *spawn, const gchar *line, PkBackendS
* Our proxy variable is typically 'username:password at server:port'
* but http_proxy expects 'http://username:password@server:port/'
**/
-static gchar *
+gchar *
pk_backend_spawn_convert_uri (const gchar *proxy)
{
GString *string;
@@ -823,6 +840,7 @@ pk_backend_spawn_helper_va_list (PkBackendSpawn *backend_spawn, const gchar *exe
gchar **argv;
gchar **envp;
PkHintEnum background;
+ GError *error = NULL;
PkBackendSpawnPrivate *priv = backend_spawn->priv;
#if PK_BUILD_LOCAL
const gchar *directory;
@@ -873,10 +891,11 @@ pk_backend_spawn_helper_va_list (PkBackendSpawn *backend_spawn, const gchar *exe
priv->finished = FALSE;
envp = pk_backend_spawn_get_envp (backend_spawn);
- ret = pk_spawn_argv (priv->spawn, argv, envp);
+ ret = pk_spawn_argv (priv->spawn, argv, envp, &error);
if (!ret) {
pk_backend_error_code (priv->backend, PK_ERROR_ENUM_INTERNAL_ERROR,
- "Spawn of helper '%s' failed", argv[0]);
+ "Spawn of helper '%s' failed", argv[0], error->message);
+ g_error_free (error);
pk_backend_finished (priv->backend);
}
g_free (filename);
@@ -1061,320 +1080,3 @@ pk_backend_spawn_new (void)
return PK_BACKEND_SPAWN (backend_spawn);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-static GMainLoop *loop;
-static guint number_packages = 0;
-
-/**
- * pk_backend_spawn_test_finished_cb:
- **/
-static void
-pk_backend_spawn_test_finished_cb (PkBackend *backend, PkExitEnum exit, PkBackendSpawn *backend_spawn)
-{
- g_main_loop_quit (loop);
-}
-
-/**
- * pk_backend_spawn_test_package_cb:
- **/
-static void
-pk_backend_spawn_test_package_cb (PkBackend *backend, PkInfoEnum info,
- const gchar *package_id, const gchar *summary,
- PkBackendSpawn *backend_spawn)
-{
- number_packages++;
-}
-
-static gchar **
-pk_backend_spawn_va_list_to_argv_test (const gchar *first_element, ...)
-{
- va_list args;
- gchar **array;
-
- /* get the argument list */
- va_start (args, first_element);
- array = pk_backend_spawn_va_list_to_argv (first_element, &args);
- va_end (args);
-
- return array;
-}
-
-void
-pk_backend_test_spawn (EggTest *test)
-{
- PkBackendSpawn *backend_spawn;
- PkBackend *backend;
- const gchar *text;
- guint refcount;
- gboolean ret;
- gchar *uri;
- gchar **array;
-
- loop = g_main_loop_new (NULL, FALSE);
-
- if (!egg_test_start (test, "PkBackendSpawn"))
- return;
-
- /************************************************************
- **************** splitting va_list **************
- ************************************************************/
- egg_test_title (test, "va_list_to_argv single");
- array = pk_backend_spawn_va_list_to_argv_test ("richard", NULL);
- if (g_strcmp0 (array[0], "richard") == 0 &&
- array[1] == NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "incorrect array '%s'", array[0]);
- g_strfreev (array);
-
- /************************************************************/
- egg_test_title (test, "va_list_to_argv triple");
- array = pk_backend_spawn_va_list_to_argv_test ("richard", "phillip", "hughes", NULL);
- if (g_strcmp0 (array[0], "richard") == 0 &&
- g_strcmp0 (array[1], "phillip") == 0 &&
- g_strcmp0 (array[2], "hughes") == 0 &&
- array[3] == NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "incorrect array '%s','%s','%s'", array[0], array[1], array[2]);
- g_strfreev (array);
-
- /************************************************************/
- egg_test_title (test, "get an backend_spawn");
- backend_spawn = pk_backend_spawn_new ();
- egg_test_assert (test, backend_spawn != NULL);
-
- /* private copy for unref testing */
- backend = backend_spawn->priv->backend;
- /* incr ref count so we don't kill the object */
- g_object_ref (backend);
-
- /************************************************************/
- egg_test_title (test, "get backend name");
- text = pk_backend_spawn_get_name (backend_spawn);
- if (text == NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "invalid name %s", text);
-
- /************************************************************/
- egg_test_title (test, "set backend name");
- ret = pk_backend_spawn_set_name (backend_spawn, "test_spawn");
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "invalid set name");
-
- /************************************************************/
- egg_test_title (test, "get backend name");
- text = pk_backend_spawn_get_name (backend_spawn);
- if (g_strcmp0 (text, "test_spawn") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "invalid name %s", text);
-
- /* needed to avoid an error */
- ret = pk_backend_set_name (backend_spawn->priv->backend, "test_spawn");
- ret = pk_backend_lock (backend_spawn->priv->backend);
-
- /************************************************************
- ********** Check parsing common error ***********
- ************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout Percentage1");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "percentage\t0");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout Percentage2");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "percentage\tbrian");
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout Percentage3");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "percentage\t12345");
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout Percentage4");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "percentage\t");
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout Percentage5");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "percentage");
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout Subpercentage");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "subpercentage\t17");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout NoPercentageUpdates");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "no-percentage-updates");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout failure");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "error\tnot-present-woohoo\tdescription text");
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not detect incorrect enum");
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout Status");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "status\tquery");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout RequireRestart");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "requirerestart\tsystem\tgnome-power-manager;0.0.1;i386;data");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout RequireRestart invalid enum");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "requirerestart\tmooville\tgnome-power-manager;0.0.1;i386;data");
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not detect incorrect enum");
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout RequireRestart invalid PackageId");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "requirerestart\tsystem\tdetails about the restart");
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not detect incorrect package id");
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout AllowUpdate1");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "allow-cancel\ttrue");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_stdout AllowUpdate2");
- ret = pk_backend_spawn_parse_stdout (backend_spawn, "allow-cancel\tbrian");
- egg_test_assert (test, !ret);
-
- /************************************************************
- ********** Check uri conversion ***********
- ************************************************************/
- egg_test_title (test, "convert proxy uri (bare)");
- uri = pk_backend_spawn_convert_uri ("username:password at server:port");
- egg_test_assert (test, (g_strcmp0 (uri, "http://username:password@server:port/") == 0));
- g_free (uri);
-
- /************************************************************/
- egg_test_title (test, "convert proxy uri (full)");
- uri = pk_backend_spawn_convert_uri ("http://username:password@server:port/");
- egg_test_assert (test, (g_strcmp0 (uri, "http://username:password@server:port/") == 0));
- g_free (uri);
-
- /************************************************************/
- egg_test_title (test, "convert proxy uri (partial)");
- uri = pk_backend_spawn_convert_uri ("ftp://username:password@server:port");
- egg_test_assert (test, (g_strcmp0 (uri, "ftp://username:password@server:port/") == 0));
- g_free (uri);
-
- /************************************************************
- ********** Check parsing common out ***********
- ************************************************************/
- egg_test_title (test, "test pk_backend_spawn_parse_common_out Package");
- ret = pk_backend_spawn_parse_stdout (backend_spawn,
- "package\tinstalled\tgnome-power-manager;0.0.1;i386;data\tMore useless software");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "manually unlock as we have no engine");
- ret = pk_backend_unlock (backend_spawn->priv->backend);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not unlock");
-
- /* reset */
- g_object_unref (backend_spawn);
-
- /************************************************************/
- egg_test_title (test, "test we unref'd all but one of the PkBackend instances");
- refcount = G_OBJECT(backend)->ref_count;
- if (refcount == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "refcount invalid %i", refcount);
-
- /* new */
- backend_spawn = pk_backend_spawn_new ();
-
- /************************************************************/
- egg_test_title (test, "set backend name");
- ret = pk_backend_spawn_set_name (backend_spawn, "test_spawn");
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "invalid set name");
-
- /* so we can spin until we finish */
- g_signal_connect (backend_spawn->priv->backend, "finished",
- G_CALLBACK (pk_backend_spawn_test_finished_cb), backend_spawn);
- /* so we can count the returned packages */
- g_signal_connect (backend_spawn->priv->backend, "package",
- G_CALLBACK (pk_backend_spawn_test_package_cb), backend_spawn);
-
- /* needed to avoid an error */
- ret = pk_backend_lock (backend_spawn->priv->backend);
-
- /************************************************************
- ********** Use a spawned helper ***********
- ************************************************************/
- egg_test_title (test, "test search-name.sh running");
- ret = pk_backend_spawn_helper (backend_spawn, "search-name.sh", "none", "bar", NULL);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "cannot spawn search-name.sh");
-
- /* wait for finished */
- g_main_loop_run (loop);
-
- /************************************************************/
- egg_test_title (test, "test number of packages");
- if (number_packages == 2)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong number of packages %i", number_packages);
-
- /************************************************************/
- egg_test_title (test, "manually unlock as we have no engine");
- ret = pk_backend_unlock (backend_spawn->priv->backend);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not unlock");
-
- /* done */
- g_object_unref (backend_spawn);
-
- /************************************************************/
- egg_test_title (test, "test we unref'd all but one of the PkBackend instances");
- refcount = G_OBJECT(backend)->ref_count;
- if (refcount == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "refcount invalid %i", refcount);
-
- /* we ref'd it manually for checking, so we need to unref it */
- g_object_unref (backend);
- g_main_loop_unref (loop);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-backend-spawn.h b/src/pk-backend-spawn.h
index 627161e..570a480 100644
--- a/src/pk-backend-spawn.h
+++ b/src/pk-backend-spawn.h
@@ -62,6 +62,11 @@ gboolean pk_backend_spawn_set_name (PkBackendSpawn *backend_spawn,
gboolean pk_backend_spawn_set_allow_sigkill (PkBackendSpawn *backend_spawn,
gboolean allow_sigkill);
+PkBackend *pk_backend_spawn_get_backend (PkBackendSpawn *backend_spawn);
+gchar *pk_backend_spawn_convert_uri (const gchar *proxy);
+gboolean pk_backend_spawn_inject_data (PkBackendSpawn *backend_spawn,
+ const gchar *line);
+
/* filtering */
typedef gboolean (*PkBackendSpawnFilterFunc) (PkBackend *backend,
const gchar *data);
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 4fb17af..7d6d44d 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -1792,6 +1792,15 @@ pk_backend_repo_list_changed (PkBackend *backend)
}
/**
+ * pk_backend_get_is_finished:
+ **/
+gboolean
+pk_backend_get_is_finished (PkBackend *backend)
+{
+ return backend->priv->finished;
+}
+
+/**
* pk_backend_error_timeout_delay_cb:
*
* We have to call Finished() within PK_BACKEND_FINISHED_ERROR_TIMEOUT of ErrorCode(), enforce this.
@@ -3235,384 +3244,3 @@ pk_backend_new (void)
return PK_BACKEND (pk_backend_object);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-#include <glib/gstdio.h>
-
-static guint number_messages = 0;
-static guint number_packages = 0;
-
-/**
- * pk_backend_test_message_cb:
- **/
-static void
-pk_backend_test_message_cb (PkBackend *backend, PkMessageEnum message, const gchar *details, gpointer data)
-{
- egg_debug ("details=%s", details);
- number_messages++;
-}
-
-/**
- * pk_backend_test_finished_cb:
- **/
-static void
-pk_backend_test_finished_cb (PkBackend *backend, PkExitEnum exit, EggTest *test)
-{
- egg_test_loop_quit (test);
-}
-
-/**
- * pk_backend_test_watch_file_cb:
- **/
-static void
-pk_backend_test_watch_file_cb (PkBackend *backend, gpointer data)
-{
- EggTest *test = (EggTest *) data;
- egg_test_loop_quit (test);
-}
-
-static gboolean
-pk_backend_test_func_true (PkBackend *backend)
-{
- g_usleep (1000*1000);
- /* trigger duplicate test */
- pk_backend_package (backend, PK_INFO_ENUM_AVAILABLE, "vips-doc;7.12.4-2.fc8;noarch;linva", "The vips documentation package.");
- pk_backend_package (backend, PK_INFO_ENUM_AVAILABLE, "vips-doc;7.12.4-2.fc8;noarch;linva", "The vips documentation package.");
- pk_backend_finished (backend);
- return TRUE;
-}
-
-static gboolean
-pk_backend_test_func_immediate_false (PkBackend *backend)
-{
- pk_backend_finished (backend);
- return FALSE;
-}
-
-/**
- * pk_backend_test_package_cb:
- **/
-static void
-pk_backend_test_package_cb (PkBackend *backend, PkPackage *item, EggTest *test)
-{
- egg_debug ("package:%s", pk_package_get_id (item));
- number_packages++;
-}
-
-void
-pk_backend_test (EggTest *test)
-{
- PkBackend *backend;
- PkConf *conf;
- gchar *text;
- gchar *text_safe;
- gboolean ret;
- const gchar *filename;
- gboolean developer_mode;
-
- if (!egg_test_start (test, "PkBackend"))
- return;
-
- /************************************************************
- **************** REPLACE CHARS ******************
- ************************************************************/
- egg_test_title (test, "test replace unsafe (okay)");
- text_safe = pk_backend_strsafe ("Richard Hughes");
- if (g_strcmp0 (text_safe, "Richard Hughes") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the replace unsafe '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "test replace UTF8 unsafe (okay)");
- text_safe = pk_backend_strsafe ("Gölas");
- if (g_strcmp0 (text_safe, "Gölas") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the replace unsafe '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "test replace unsafe (one invalid)");
- text_safe = pk_backend_strsafe ("Richard\rHughes");
- if (g_strcmp0 (text_safe, "Richard Hughes") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the replace unsafe '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "test replace unsafe (multiple invalid)");
- text_safe = pk_backend_strsafe (" Richard\rHughes\f");
- if (g_strcmp0 (text_safe, " Richard Hughes ") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed the replace unsafe '%s'", text_safe);
- g_free (text_safe);
-
- /************************************************************/
- egg_test_title (test, "get an backend");
- backend = pk_backend_new ();
- if (backend != NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- /* connect */
- g_signal_connect (backend, "package",
- G_CALLBACK (pk_backend_test_package_cb), test);
-
- /************************************************************/
- egg_test_title (test, "create a config file");
- filename = "/tmp/dave";
- ret = g_file_set_contents (filename, "foo", -1, NULL);
- if (ret) {
- egg_test_success (test, "set contents");
- } else
- egg_test_failed (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "set up a watch file on a config file");
- ret = pk_backend_watch_file (backend, filename, pk_backend_test_watch_file_cb, test);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "eula valid");
-
- /************************************************************/
- egg_test_title (test, "change the config file");
- ret = g_file_set_contents (filename, "bar", -1, NULL);
- if (ret) {
- egg_test_success (test, "set contents");
- } else
- egg_test_failed (test, NULL);
-
- /* wait for config file change */
- egg_test_loop_wait (test, 2000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "delete the config file");
- ret = g_unlink (filename);
- egg_test_assert (test, !ret);
-
- g_signal_connect (backend, "message", G_CALLBACK (pk_backend_test_message_cb), NULL);
- g_signal_connect (backend, "finished", G_CALLBACK (pk_backend_test_finished_cb), test);
-
- /************************************************************/
- egg_test_title (test, "get eula that does not exist");
- ret = pk_backend_is_eula_valid (backend, "license_foo");
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "eula valid");
-
- /************************************************************/
- egg_test_title (test, "accept eula");
- ret = pk_backend_accept_eula (backend, "license_foo");
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "eula was not accepted");
-
- /************************************************************/
- egg_test_title (test, "get eula that does exist");
- ret = pk_backend_is_eula_valid (backend, "license_foo");
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "eula valid");
-
- /************************************************************/
- egg_test_title (test, "accept eula (again)");
- ret = pk_backend_accept_eula (backend, "license_foo");
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "eula was accepted twice");
-
- /************************************************************/
- egg_test_title (test, "load an invalid backend");
- ret = pk_backend_set_name (backend, "invalid");
- if (ret == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "try to load a valid backend");
- ret = pk_backend_set_name (backend, "dummy");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "load an valid backend again");
- ret = pk_backend_set_name (backend, "dummy");
- if (ret == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "loaded twice");
-
- /************************************************************/
- egg_test_title (test, "lock an valid backend");
- ret = pk_backend_lock (backend);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to lock");
-
- /************************************************************/
- egg_test_title (test, "lock a backend again");
- ret = pk_backend_lock (backend);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "locked twice should succeed");
-
- /************************************************************/
- egg_test_title (test, "check we are out of init");
- if (backend->priv->during_initialize == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "not out of init");
-
- /************************************************************/
- egg_test_title (test, "get backend name");
- text = pk_backend_get_name (backend);
- if (g_strcmp0 (text, "dummy") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "invalid name %s", text);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "unlock an valid backend");
- ret = pk_backend_unlock (backend);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to unlock");
-
- /************************************************************/
- egg_test_title (test, "unlock an valid backend again");
- ret = pk_backend_unlock (backend);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "unlocked twice, should succeed");
-
- /************************************************************/
- egg_test_title (test, "check we are not finished");
- if (backend->priv->finished == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "we did not clear finish!");
-
- /************************************************************/
- egg_test_title (test, "check we have no error");
- if (backend->priv->set_error == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "an error has already been set");
-
- /************************************************************/
- egg_test_title (test, "lock again");
- ret = pk_backend_lock (backend);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to unlock");
-
- /************************************************************/
- egg_test_title (test, "wait for a thread to return true");
- ret = pk_backend_thread_create (backend, pk_backend_test_func_true);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wait for a thread failed");
-
- /* wait for Finished */
- egg_test_loop_wait (test, 2000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "check duplicate filter");
- if (number_packages == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong number of packages: %i", number_packages);
-
- /* reset */
- pk_backend_reset (backend);
-
- /************************************************************/
- egg_test_title (test, "wait for a thread to return false (straight away)");
- ret = pk_backend_thread_create (backend, pk_backend_test_func_immediate_false);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "returned false!");
-
- /* wait for Finished */
- egg_test_loop_wait (test, PK_BACKEND_FINISHED_TIMEOUT_GRACE + 100);
- egg_test_loop_check (test);
-
- /************************************************************/
- pk_backend_reset (backend);
- pk_backend_error_code (backend, PK_ERROR_ENUM_GPG_FAILURE, "test error");
-
- /* wait for finished */
- egg_test_loop_wait (test, PK_BACKEND_FINISHED_ERROR_TIMEOUT + 400);
- egg_test_loop_check (test);
-
- /************************************************************
- **************** CANCEL TRISTATE ******************
- ************************************************************/
- egg_test_title (test, "get allow cancel after reset");
- pk_backend_reset (backend);
- ret = pk_backend_get_allow_cancel (backend);
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "set allow cancel TRUE");
- ret = pk_backend_set_allow_cancel (backend, TRUE);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "set allow cancel TRUE (repeat)");
- ret = pk_backend_set_allow_cancel (backend, TRUE);
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "set allow cancel FALSE");
- ret = pk_backend_set_allow_cancel (backend, FALSE);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "set allow cancel FALSE (after reset)");
- pk_backend_reset (backend);
- ret = pk_backend_set_allow_cancel (backend, FALSE);
- egg_test_assert (test, ret);
-
- /* if running in developer mode, then expect a Message */
- conf = pk_conf_new ();
- developer_mode = pk_conf_get_bool (conf, "DeveloperMode");
- g_object_unref (conf);
- if (developer_mode) {
- /************************************************************/
- egg_test_title (test, "check we enforce finished after error_code");
- if (number_messages == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "we messaged %i times!", number_messages);
- }
-
- g_object_unref (backend);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-cache.c b/src/pk-cache.c
index 8272b32..18c694c 100644
--- a/src/pk-cache.c
+++ b/src/pk-cache.c
@@ -174,31 +174,3 @@ pk_cache_new (void)
return PK_CACHE (pk_cache_object);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-egg_test_cache (EggTest *test)
-{
- PkCache *cache;
-
- if (!egg_test_start (test, "PkCache"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- cache = pk_cache_new ();
- if (cache != NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- g_object_unref (cache);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-conf.c b/src/pk-conf.c
index 3441e25..bfed952 100644
--- a/src/pk-conf.c
+++ b/src/pk-conf.c
@@ -230,64 +230,3 @@ pk_conf_new (void)
return PK_CONF (pk_conf_object);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_conf_test (EggTest *test)
-{
- PkConf *conf;
- gchar *text;
- gint value;
-
- if (!egg_test_start (test, "PkConf"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- conf = pk_conf_new ();
- egg_test_assert (test, conf != NULL);
-
- /************************************************************/
- egg_test_title (test, "get the default backend");
- text = pk_conf_get_string (conf, "DefaultBackend");
- if (text != PK_CONF_VALUE_STRING_MISSING)
- egg_test_success (test, "got default backend '%s'", text);
- else
- egg_test_failed (test, "got NULL!");
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "get a string that doesn't exist");
- text = pk_conf_get_string (conf, "FooBarBaz");
- if (text == PK_CONF_VALUE_STRING_MISSING)
- egg_test_success (test, "got NULL", text);
- else
- egg_test_failed (test, "got return value '%s'", text);
- g_free (text);
-
- /************************************************************/
- egg_test_title (test, "get the shutdown timeout");
- value = pk_conf_get_int (conf, "ShutdownTimeout");
- if (value != PK_CONF_VALUE_INT_MISSING)
- egg_test_success (test, "got ShutdownTimeout '%i'", value);
- else
- egg_test_failed (test, "got %i", value);
-
- /************************************************************/
- egg_test_title (test, "get an int that doesn't exist");
- value = pk_conf_get_int (conf, "FooBarBaz");
- if (value == PK_CONF_VALUE_INT_MISSING)
- egg_test_success (test, "got %i", value);
- else
- egg_test_failed (test, "got return value '%i'", value);
-
- g_object_unref (conf);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-dbus.c b/src/pk-dbus.c
index 758298b..9ec83a3 100644
--- a/src/pk-dbus.c
+++ b/src/pk-dbus.c
@@ -290,28 +290,3 @@ pk_dbus_new (void)
return PK_DBUS (pk_dbus_object);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-egg_test_dbus (EggTest *test)
-{
- PkDbus *dbus;
-
- if (!egg_test_start (test, "PkDbus"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- dbus = pk_dbus_new ();
- egg_test_assert (test, dbus != NULL);
-
- g_object_unref (dbus);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-engine.c b/src/pk-engine.c
index 2db8d44..4cf94bc 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -1784,259 +1784,3 @@ pk_engine_new (void)
return PK_ENGINE (engine);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-static PkNotify *notify = NULL;
-static gboolean _quit = FALSE;
-static gboolean _locked = FALSE;
-static gboolean _restart_schedule = FALSE;
-
-/**
- * pk_test_quit_cb:
- **/
-static void
-pk_test_quit_cb (PkEngine *engine, EggTest *test)
-{
- _quit = TRUE;
-}
-
-/**
- * pk_test_changed_cb:
- **/
-static void
-pk_test_changed_cb (PkEngine *engine, EggTest *test)
-{
- g_object_get (engine,
- "locked", &_locked,
- NULL);
-}
-
-/**
- * pk_test_updates_changed_cb:
- **/
-static void
-pk_test_updates_changed_cb (PkEngine *engine, EggTest *test)
-{
- egg_test_loop_quit (test);
-}
-
-/**
- * pk_test_repo_list_changed_cb:
- **/
-static void
-pk_test_repo_list_changed_cb (PkEngine *engine, EggTest *test)
-{
- egg_test_loop_quit (test);
-}
-
-/**
- * pk_test_restart_schedule_cb:
- **/
-static void
-pk_test_restart_schedule_cb (PkEngine *engine, EggTest *test)
-{
- _restart_schedule = TRUE;
- egg_test_loop_quit (test);
-}
-
-/**
- * pk_test_emit_updates_changed_cb:
- **/
-static gboolean
-pk_test_emit_updates_changed_cb (EggTest *test)
-{
- PkNotify *notify2;
- notify2 = pk_notify_new ();
- pk_notify_updates_changed (notify2);
- g_object_unref (notify2);
- return FALSE;
-}
-
-/**
- * pk_test_emit_repo_list_changed_cb:
- **/
-static gboolean
-pk_test_emit_repo_list_changed_cb (EggTest *test)
-{
- PkNotify *notify2;
- notify2 = pk_notify_new ();
- pk_notify_repo_list_changed (notify2);
- g_object_unref (notify2);
- return FALSE;
-}
-
-void
-pk_engine_test (EggTest *test)
-{
- gboolean ret;
- PkEngine *engine;
- PkBackend *backend;
- PkInhibit *inhibit;
- guint idle;
- gchar *state;
- guint elapsed;
-
- if (!egg_test_start (test, "PkEngine"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get a backend instance");
- backend = pk_backend_new ();
- egg_test_assert (test, backend != NULL);
-
- /************************************************************/
- egg_test_title (test, "get a notify instance");
- notify = pk_notify_new ();
- egg_test_assert (test, notify != NULL);
-
- /* set the type, as we have no pk-main doing this for us */
- /************************************************************/
- egg_test_title (test, "set the backend name");
- ret = pk_backend_set_name (backend, "dummy");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get an engine instance");
- engine = pk_engine_new ();
- egg_test_assert (test, engine != NULL);
-
- /* connect up signals */
- g_signal_connect (engine, "quit",
- G_CALLBACK (pk_test_quit_cb), test);
- g_signal_connect (engine, "changed",
- G_CALLBACK (pk_test_changed_cb), test);
- g_signal_connect (engine, "updates-changed",
- G_CALLBACK (pk_test_updates_changed_cb), test);
- g_signal_connect (engine, "repo-list-changed",
- G_CALLBACK (pk_test_repo_list_changed_cb), test);
- g_signal_connect (engine, "restart-schedule",
- G_CALLBACK (pk_test_restart_schedule_cb), test);
-
- /************************************************************
- ********** GET IDLE TIMES ***********
- ************************************************************/
- egg_test_title (test, "get idle at startup");
- idle = pk_engine_get_seconds_idle (engine);
- if (idle < 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "idle = %i", idle);
-
- /* wait 5 seconds */
- egg_test_loop_wait (test, 5000);
-
- /************************************************************/
- egg_test_title (test, "get idle at idle");
- idle = pk_engine_get_seconds_idle (engine);
- if (idle < 6 && idle > 4)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "idle = %i", idle);
-
- /************************************************************/
- egg_test_title (test, "get idle after method");
- pk_engine_get_daemon_state (engine, &state, NULL);
- g_free (state);
- idle = pk_engine_get_seconds_idle (engine);
- if (idle < 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "idle = %i", idle);
-
- /************************************************************
- ********** TEST PROXY NOTIFY ***********
- ************************************************************/
- egg_test_title (test, "force test notify updates-changed");
- g_timeout_add (25, (GSourceFunc) pk_test_emit_updates_changed_cb, test);
- egg_test_success (test, NULL);
- egg_test_loop_wait (test, 50);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "force test notify repo-list-changed");
- g_timeout_add (25, (GSourceFunc) pk_test_emit_repo_list_changed_cb, test);
- egg_test_success (test, NULL);
- egg_test_loop_wait (test, 50);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "force test notify wait updates-changed");
- pk_notify_wait_updates_changed (notify, 500);
- egg_test_loop_wait (test, 1000);
- elapsed = egg_test_elapsed (test);
- if (elapsed > 400 && elapsed < 600)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to quit (%i)", elapsed);
-
- /************************************************************
- ********** LOCKING ***********
- ************************************************************/
- egg_test_title (test, "test locked");
- inhibit = pk_inhibit_new ();
- pk_inhibit_add (inhibit, GUINT_TO_POINTER (999));
- if (_locked)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "not locked");
-
- /************************************************************/
- egg_test_title (test, "test locked");
- pk_inhibit_remove (inhibit, GUINT_TO_POINTER (999));
- if (!_locked)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "not locked");
- g_object_unref (inhibit);
-
- /************************************************************/
- egg_test_title (test, "test not locked");
- if (!_locked)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "still locked");
-
- /************************************************************
- ********** BINARY UPGRADE TEST ***********
- ************************************************************/
- egg_test_title_assert (test, "restart_schedule not set", !_restart_schedule);
- ret = g_file_set_contents (SBINDIR "/packagekitd", "overwrite", -1, NULL);
-
- /************************************************************/
- egg_test_title_assert (test, "touched binary file", ret);
- egg_test_loop_wait (test, 5000);
-
- /************************************************************/
- egg_test_title (test, "get idle after we touched the binary");
- idle = pk_engine_get_seconds_idle (engine);
- if (idle == G_MAXUINT)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "idle = %i", idle);
-
- /************************************************************/
- egg_test_title_assert (test, "restart_schedule set", _restart_schedule);
-
- /************************************************************
- ********** DAEMON QUIT ***********
- ************************************************************/
- egg_test_title_assert (test, "not already quit", !_quit);
- egg_test_title (test, "suggest quit with no transactions (should get quit signal)");
- pk_engine_suggest_daemon_quit (engine, NULL);
- if (_quit)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not quit");
-
- g_object_unref (backend);
- g_object_unref (notify);
- g_object_unref (engine);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-file-monitor.c b/src/pk-file-monitor.c
index 8036657..7c78c28 100644
--- a/src/pk-file-monitor.c
+++ b/src/pk-file-monitor.c
@@ -176,27 +176,3 @@ pk_file_monitor_new (void)
return PK_FILE_MONITOR (file_monitor);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_file_monitor_test (EggTest *test)
-{
- PkFileMonitor *file_monitor;
-
- if (!egg_test_start (test, "PkFileMonitor"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get a file_monitor");
- file_monitor = pk_file_monitor_new ();
- egg_test_assert (test, file_monitor != NULL);
- g_object_unref (file_monitor);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-inhibit.c b/src/pk-inhibit.c
index 8aa7286..5f0b034 100644
--- a/src/pk-inhibit.c
+++ b/src/pk-inhibit.c
@@ -288,111 +288,3 @@ pk_inhibit_new (void)
return PK_INHIBIT (pk_inhibit_object);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_inhibit_test (EggTest *test)
-{
- PkInhibit *inhibit;
- gboolean ret;
-
- if (!egg_test_start (test, "PkInhibit"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- inhibit = pk_inhibit_new ();
- if (inhibit != NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "check we have a connection");
- if (inhibit->priv->proxy != NULL)
- egg_test_success (test, "got proxy");
- else
- egg_test_failed (test, "could not get proxy");
-
- /************************************************************/
- egg_test_title (test, "check we are not inhibited");
- ret = pk_inhibit_locked (inhibit);
- if (ret == FALSE)
- egg_test_success (test, "marked correctly");
- else
- egg_test_failed (test, "not marked correctly");
-
- /************************************************************/
- egg_test_title (test, "add 123");
- ret = pk_inhibit_add (inhibit, GUINT_TO_POINTER (123));
- if (ret)
- egg_test_success (test, "inhibited");
- else
- egg_test_failed (test, "could not inhibit");
-
- /************************************************************/
- egg_test_title (test, "check we are inhibited");
- ret = pk_inhibit_locked (inhibit);
- if (ret)
- egg_test_success (test, "marked correctly");
- else
- egg_test_failed (test, "not marked correctly");
-
- /************************************************************/
- egg_test_title (test, "add 123 (again)");
- ret = pk_inhibit_add (inhibit, GUINT_TO_POINTER (123));
- if (ret == FALSE)
- egg_test_success (test, "correctly ignored second");
- else
- egg_test_failed (test, "added the same number twice");
-
- /************************************************************/
- egg_test_title (test, "add 456");
- ret = pk_inhibit_add (inhibit, GUINT_TO_POINTER (456));
- if (ret)
- egg_test_success (test, "inhibited");
- else
- egg_test_failed (test, "could not inhibit");
-
- /************************************************************/
- egg_test_title (test, "remove 123");
- ret = pk_inhibit_remove (inhibit, GUINT_TO_POINTER (123));
- if (ret)
- egg_test_success (test, "removed first inhibit");
- else
- egg_test_failed (test, "could not remove inhibit");
-
- /************************************************************/
- egg_test_title (test, "check we are still inhibited");
- ret = pk_inhibit_locked (inhibit);
- if (ret)
- egg_test_success (test, "marked correctly");
- else
- egg_test_failed (test, "not marked correctly");
-
- /************************************************************/
- egg_test_title (test, "remove 456");
- ret = pk_inhibit_remove (inhibit, GUINT_TO_POINTER (456));
- if (ret)
- egg_test_success (test, "removed second inhibit");
- else
- egg_test_failed (test, "could not remove inhibit");
-
- /************************************************************/
- egg_test_title (test, "check we are not inhibited");
- ret = pk_inhibit_locked (inhibit);
- if (ret == FALSE)
- egg_test_success (test, "marked correctly");
- else
- egg_test_failed (test, "not marked correctly");
-
- g_object_unref (inhibit);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-lsof.c b/src/pk-lsof.c
index e9945fd..79b7136 100644
--- a/src/pk-lsof.c
+++ b/src/pk-lsof.c
@@ -315,42 +315,3 @@ pk_lsof_new (void)
return PK_LSOF (lsof);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_lsof_test (EggTest *test)
-{
- gboolean ret;
- PkLsof *lsof;
- GPtrArray *pids;
- gchar *files[] = { "/usr/lib/libssl3.so", NULL };
-
- if (!egg_test_start (test, "PkLsof"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- lsof = pk_lsof_new ();
- egg_test_assert (test, lsof != NULL);
-
- /************************************************************/
- egg_test_title (test, "refresh lsof data");
- ret = pk_lsof_refresh (lsof);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get pids for files");
- pids = pk_lsof_get_pids_for_filenames (lsof, files);
- egg_test_assert (test, pids->len > 0);
- g_ptr_array_unref (pids);
-
- g_object_unref (lsof);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-notify.c b/src/pk-notify.c
index cddc9dc..d533224 100644
--- a/src/pk-notify.c
+++ b/src/pk-notify.c
@@ -190,28 +190,3 @@ pk_notify_new (void)
return PK_NOTIFY (pk_notify_object);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-egg_test_notify (EggTest *test)
-{
- PkNotify *notify;
-
- if (!egg_test_start (test, "PkNotify"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- notify = pk_notify_new ();
- egg_test_assert (test, notify != NULL);
-
- g_object_unref (notify);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-proc.c b/src/pk-proc.c
index ba4aa69..7967d19 100644
--- a/src/pk-proc.c
+++ b/src/pk-proc.c
@@ -341,35 +341,3 @@ pk_proc_new (void)
return PK_PROC (proc);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_proc_test (EggTest *test)
-{
- gboolean ret;
- PkProc *proc;
-// gchar *files[] = { "/sbin/udevd", NULL };
-
- if (!egg_test_start (test, "PkProc"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- proc = pk_proc_new ();
- egg_test_assert (test, proc != NULL);
-
- /************************************************************/
- egg_test_title (test, "refresh proc data");
- ret = pk_proc_refresh (proc);
- egg_test_assert (test, ret);
-
- g_object_unref (proc);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-self-test.c b/src/pk-self-test.c
index 7035ee8..c6c29c4 100644
--- a/src/pk-self-test.c
+++ b/src/pk-self-test.c
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007 Richard Hughes <richard at hughsie.com>
+ * Copyright (C) 2007-2010 Richard Hughes <richard at hughsie.com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -19,60 +19,1864 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include <config.h>
+
#include <glib.h>
#include <glib-object.h>
-#include "egg-test.h"
-#include <egg-debug.h>
-
-/* prototypes */
-void egg_string_test (EggTest *test);
-void pk_lsof_test (EggTest *test);
-void pk_proc_test (EggTest *test);
-void pk_conf_test (EggTest *test);
-void pk_store_test (EggTest *test);
-void pk_inhibit_test (EggTest *test);
-void pk_spawn_test (EggTest *test);
-void pk_transaction_list_test (EggTest *test);
-void pk_transaction_db_test (EggTest *test);
-void pk_time_test (EggTest *test);
-void pk_backend_test (EggTest *test);
-void pk_backend_test_spawn (EggTest *test);
-void pk_file_monitor_test (EggTest *test);
-void pk_engine_test (EggTest *test);
+#include <glib/gstdio.h>
+
+#include "pk-backend.h"
+#include "pk-backend-internal.h"
+#include "pk-backend-spawn.h"
+#include "pk-cache.h"
+#include "pk-conf.h"
+#include "pk-dbus.h"
+#include "pk-engine.h"
+#include "pk-file-monitor.h"
+#include "pk-inhibit.h"
+#include "pk-lsof.h"
+#include "pk-notify.h"
+#include "pk-proc.h"
+#include "pk-syslog.h"
+#include "pk-spawn.h"
+#include "pk-time.h"
+#include "pk-transaction-db.h"
+#include "pk-transaction-db.h"
+#include "pk-transaction-extra.h"
+#include "pk-transaction.h"
+#include "pk-transaction-list.h"
+
+/** ver:1.0 ***********************************************************/
+static GMainLoop *_test_loop = NULL;
+static guint _test_loop_timeout_id = 0;
+
+static gboolean
+_g_test_hang_check_cb (gpointer user_data)
+{
+ guint timeout_ms = *((guint*) user_data);
+ g_main_loop_quit (_test_loop);
+ g_warning ("loop not completed in %ims", timeout_ms);
+ g_assert_not_reached ();
+ return FALSE;
+}
+
+/**
+ * _g_test_loop_run_with_timeout:
+ **/
+static void
+_g_test_loop_run_with_timeout (guint timeout_ms)
+{
+ g_assert (_test_loop_timeout_id == 0);
+ _test_loop = g_main_loop_new (NULL, FALSE);
+ _test_loop_timeout_id = g_timeout_add (timeout_ms, _g_test_hang_check_cb, &timeout_ms);
+ g_main_loop_run (_test_loop);
+}
+
+static gboolean
+_g_test_hang_wait_cb (gpointer user_data)
+{
+ g_main_loop_quit (_test_loop);
+ _test_loop_timeout_id = 0;
+ return FALSE;
+}
+
+/**
+ * _g_test_loop_wait:
+ **/
+static void
+_g_test_loop_wait (guint timeout_ms)
+{
+ g_assert (_test_loop_timeout_id == 0);
+ _test_loop = g_main_loop_new (NULL, FALSE);
+ _test_loop_timeout_id = g_timeout_add (timeout_ms, _g_test_hang_wait_cb, &timeout_ms);
+ g_main_loop_run (_test_loop);
+}
+
+/**
+ * _g_test_loop_quit:
+ **/
+static void
+_g_test_loop_quit (void)
+{
+ if (_test_loop_timeout_id > 0) {
+ g_source_remove (_test_loop_timeout_id);
+ _test_loop_timeout_id = 0;
+ }
+ if (_test_loop != NULL) {
+ g_main_loop_quit (_test_loop);
+ g_main_loop_unref (_test_loop);
+ _test_loop = NULL;
+ }
+}
+
+/**********************************************************************/
+
+static guint number_messages = 0;
+static guint number_packages = 0;
+
+/**
+ * pk_test_backend_message_cb:
+ **/
+static void
+pk_test_backend_message_cb (PkBackend *backend, PkMessageEnum message, const gchar *details, gpointer data)
+{
+ egg_debug ("details=%s", details);
+ number_messages++;
+}
+
+/**
+ * pk_test_backend_finished_cb:
+ **/
+static void
+pk_test_backend_finished_cb (PkBackend *backend, PkExitEnum exit, gpointer user_data)
+{
+ _g_test_loop_quit ();
+}
+
+/**
+ * pk_test_backend_watch_file_cb:
+ **/
+static void
+pk_test_backend_watch_file_cb (PkBackend *backend, gpointer user_data)
+{
+ _g_test_loop_quit ();
+}
+
+static gboolean
+pk_test_backend_func_true (PkBackend *backend)
+{
+ g_usleep (1000*1000);
+ /* trigger duplicate test */
+ pk_backend_package (backend, PK_INFO_ENUM_AVAILABLE, "vips-doc;7.12.4-2.fc8;noarch;linva", "The vips documentation package.");
+ pk_backend_package (backend, PK_INFO_ENUM_AVAILABLE, "vips-doc;7.12.4-2.fc8;noarch;linva", "The vips documentation package.");
+ pk_backend_finished (backend);
+ return TRUE;
+}
+
+static gboolean
+pk_test_backend_func_immediate_false (PkBackend *backend)
+{
+ pk_backend_finished (backend);
+ return FALSE;
+}
+
+/**
+ * pk_test_backend_package_cb:
+ **/
+static void
+pk_test_backend_package_cb (PkBackend *backend, PkPackage *package, gpointer user_data)
+{
+ egg_debug ("package:%s", pk_package_get_id (package));
+ number_packages++;
+}
+
+static void
+pk_test_backend_func (void)
+{
+ PkBackend *backend;
+ PkConf *conf;
+ gchar *text;
+ gchar *text_safe;
+ gboolean ret;
+ const gchar *filename;
+ gboolean developer_mode;
+
+ /* get an backend */
+ backend = pk_backend_new ();
+ g_assert (backend != NULL);
+
+ /* connect */
+ g_signal_connect (backend, "package",
+ G_CALLBACK (pk_test_backend_package_cb), NULL);
+
+ /* create a config file */
+ filename = "/tmp/dave";
+ ret = g_file_set_contents (filename, "foo", -1, NULL);
+ g_assert (ret);
+
+ /* set up a watch file on a config file */
+ ret = pk_backend_watch_file (backend, filename, (PkBackendFileChanged) pk_test_backend_watch_file_cb, NULL);
+ g_assert (ret);
+
+ /* change the config file */
+ ret = g_file_set_contents (filename, "bar", -1, NULL);
+ g_assert (ret);
+
+ /* wait for config file change */
+ _g_test_loop_run_with_timeout (5000);
+
+ /* delete the config file */
+ ret = g_unlink (filename);
+ g_assert (!ret);
+
+ g_signal_connect (backend, "message", G_CALLBACK (pk_test_backend_message_cb), NULL);
+ g_signal_connect (backend, "finished", G_CALLBACK (pk_test_backend_finished_cb), NULL);
+
+ /* get eula that does not exist */
+ ret = pk_backend_is_eula_valid (backend, "license_foo");
+ g_assert (!ret);
+
+ /* accept eula */
+ ret = pk_backend_accept_eula (backend, "license_foo");
+ g_assert (ret);
+
+ /* get eula that does exist */
+ ret = pk_backend_is_eula_valid (backend, "license_foo");
+ g_assert (ret);
+
+ /* accept eula (again) */
+ ret = pk_backend_accept_eula (backend, "license_foo");
+ g_assert (!ret);
+
+ /* load an invalid backend */
+ ret = pk_backend_set_name (backend, "invalid");
+ g_assert (!ret);
+
+ /* try to load a valid backend */
+ ret = pk_backend_set_name (backend, "dummy");
+ g_assert (ret);
+
+ /* load an valid backend again */
+ ret = pk_backend_set_name (backend, "dummy");
+ g_assert (!ret);
+
+ /* lock an valid backend */
+ ret = pk_backend_lock (backend);
+ g_assert (ret);
+
+ /* lock a backend again */
+ ret = pk_backend_lock (backend);
+ g_assert (ret);
+
+ /* get backend name */
+ text = pk_backend_get_name (backend);
+ g_assert_cmpstr (text, ==, "dummy");
+ g_free (text);
+
+ /* unlock an valid backend */
+ ret = pk_backend_unlock (backend);
+ g_assert (ret);
+
+ /* unlock an valid backend again */
+ ret = pk_backend_unlock (backend);
+ g_assert (ret);
+
+ /* check we are not finished */
+ ret = pk_backend_get_is_finished (backend);
+ g_assert (!ret);
+
+ /* check we have no error */
+ ret = pk_backend_has_set_error_code (backend);
+ g_assert (!ret);
+
+ /* lock again */
+ ret = pk_backend_lock (backend);
+ g_assert (ret);
+
+ /* wait for a thread to return true */
+ ret = pk_backend_thread_create (backend, pk_test_backend_func_true);
+ g_assert (ret);
+
+ /* wait for Finished */
+ _g_test_loop_wait (2000);
+
+ /* check duplicate filter */
+ g_assert_cmpint (number_packages, ==, 1);
+
+ /* reset */
+ pk_backend_reset (backend);
+
+ /* wait for a thread to return false (straight away) */
+ ret = pk_backend_thread_create (backend, pk_test_backend_func_immediate_false);
+ g_assert (ret);
+
+ /* wait for Finished */
+ _g_test_loop_wait (10);
+
+ pk_backend_reset (backend);
+ pk_backend_error_code (backend, PK_ERROR_ENUM_GPG_FAILURE, "test error");
+
+ /* wait for finished */
+// _g_test_loop_run_with_timeout (PK_BACKEND_FINISHED_ERROR_TIMEOUT + 400);
+
+ /* get allow cancel after reset */
+ pk_backend_reset (backend);
+ ret = pk_backend_get_allow_cancel (backend);
+ g_assert (!ret);
+
+ /* set allow cancel TRUE */
+ ret = pk_backend_set_allow_cancel (backend, TRUE);
+ g_assert (ret);
+
+ /* set allow cancel TRUE (repeat) */
+ ret = pk_backend_set_allow_cancel (backend, TRUE);
+ g_assert (!ret);
+
+ /* set allow cancel FALSE */
+ ret = pk_backend_set_allow_cancel (backend, FALSE);
+ g_assert (ret);
+
+ /* set allow cancel FALSE (after reset) */
+ pk_backend_reset (backend);
+ ret = pk_backend_set_allow_cancel (backend, FALSE);
+ g_assert (ret);
+
+ /* if running in developer mode, then expect a Message */
+ conf = pk_conf_new ();
+ developer_mode = pk_conf_get_bool (conf, "DeveloperMode");
+ g_object_unref (conf);
+ if (developer_mode) {
+ /* check we enforce finished after error_code */
+ g_assert_cmpint (number_messages, ==, 1);
+ }
+
+ g_object_unref (backend);
+}
+
+static guint _backend_spawn_number_packages = 0;
+
+/**
+ * pk_test_backend_spawn_finished_cb:
+ **/
+static void
+pk_test_backend_spawn_finished_cb (PkBackend *backend, PkExitEnum exit, PkBackendSpawn *backend_spawn)
+{
+ _g_test_loop_quit ();
+}
+
+/**
+ * pk_test_backend_spawn_package_cb:
+ **/
+static void
+pk_test_backend_spawn_package_cb (PkBackend *backend, PkInfoEnum info,
+ const gchar *package_id, const gchar *summary,
+ PkBackendSpawn *backend_spawn)
+{
+ _backend_spawn_number_packages++;
+}
+
+static void
+pk_test_backend_spawn_func (void)
+{
+ PkBackendSpawn *backend_spawn;
+ PkBackend *backend;
+ const gchar *text;
+ guint refcount;
+ gboolean ret;
+ gchar *uri;
+ gchar **array;
+
+ /* get an backend_spawn */
+ backend_spawn = pk_backend_spawn_new ();
+ g_assert (backend_spawn != NULL);
+
+ /* private copy for unref testing */
+ backend = pk_backend_spawn_get_backend (backend_spawn);
+ /* incr ref count so we don't kill the object */
+ g_object_ref (backend);
+
+ /* get backend name */
+ text = pk_backend_spawn_get_name (backend_spawn);
+ g_assert_cmpstr (text, ==, NULL);
+
+ /* set backend name */
+ ret = pk_backend_spawn_set_name (backend_spawn, "test_spawn");
+ g_assert (ret);
+
+ /* get backend name */
+ text = pk_backend_spawn_get_name (backend_spawn);
+ g_assert_cmpstr (text, ==, "test_spawn");
+
+ /* needed to avoid an error */
+ ret = pk_backend_set_name (backend, "test_spawn");
+ g_assert (ret);
+ ret = pk_backend_lock (backend);
+ g_assert (ret);
+
+ /* test pk_backend_spawn_inject_data Percentage1 */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "percentage\t0");
+ g_assert (ret);
+
+ /* test pk_backend_spawn_inject_data Percentage2 */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "percentage\tbrian");
+ g_assert (!ret);
+
+ /* test pk_backend_spawn_inject_data Percentage3 */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "percentage\t12345");
+ g_assert (!ret);
+
+ /* test pk_backend_spawn_inject_data Percentage4 */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "percentage\t");
+ g_assert (!ret);
+
+ /* test pk_backend_spawn_inject_data Percentage5 */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "percentage");
+ g_assert (!ret);
+
+ /* test pk_backend_spawn_inject_data Subpercentage */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "subpercentage\t17");
+ g_assert (ret);
+
+ /* test pk_backend_spawn_inject_data NoPercentageUpdates");
+ ret = pk_backend_spawn_inject_data (backend_spawn, "no-percentage-updates");
+ g_assert (ret);
+
+ /* test pk_backend_spawn_inject_data failure */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "error\tnot-present-woohoo\tdescription text");
+ g_assert (!ret);
+
+ /* test pk_backend_spawn_inject_data Status */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "status\tquery");
+ g_assert (ret);
+
+ /* test pk_backend_spawn_inject_data RequireRestart */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "requirerestart\tsystem\tgnome-power-manager;0.0.1;i386;data");
+ g_assert (ret);
+
+ /* test pk_backend_spawn_inject_data RequireRestart invalid enum */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "requirerestart\tmooville\tgnome-power-manager;0.0.1;i386;data");
+ g_assert (!ret);
+
+ /* test pk_backend_spawn_inject_data RequireRestart invalid PackageId */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "requirerestart\tsystem\tdetails about the restart");
+ g_assert (!ret);
+
+ /* test pk_backend_spawn_inject_data AllowUpdate1 */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "allow-cancel\ttrue");
+ g_assert (ret);
+
+ /* test pk_backend_spawn_inject_data AllowUpdate2 */
+ ret = pk_backend_spawn_inject_data (backend_spawn, "allow-cancel\tbrian");
+ g_assert (!ret);
+
+ /* convert proxy uri (bare) */
+ uri = pk_backend_spawn_convert_uri ("username:password at server:port");
+ g_assert_cmpstr (uri, ==, "http://username:password@server:port/");
+ g_free (uri);
+
+ /* convert proxy uri (full) */
+ uri = pk_backend_spawn_convert_uri ("http://username:password@server:port/");
+ g_assert_cmpstr (uri, ==, "http://username:password@server:port/");
+ g_free (uri);
+
+ /* convert proxy uri (partial) */
+ uri = pk_backend_spawn_convert_uri ("ftp://username:password@server:port");
+ g_assert_cmpstr (uri, ==, "ftp://username:password@server:port/");
+ g_free (uri);
+
+ /* test pk_backend_spawn_parse_common_out Package */
+ ret = pk_backend_spawn_inject_data (backend_spawn,
+ "package\tinstalled\tgnome-power-manager;0.0.1;i386;data\tMore useless software");
+ g_assert (ret);
+
+ /* manually unlock as we have no engine */
+ ret = pk_backend_unlock (backend);
+ g_assert (ret);
+
+ /* reset */
+ g_object_unref (backend_spawn);
+
+ /* test we unref'd all but one of the PkBackend instances */
+ refcount = G_OBJECT(backend)->ref_count;
+ g_assert_cmpint (refcount, ==, 1);
+
+ /* new */
+ backend_spawn = pk_backend_spawn_new ();
+
+ /* set backend name */
+ ret = pk_backend_spawn_set_name (backend_spawn, "test_spawn");
+ g_assert (ret);
+
+ /* so we can spin until we finish */
+ g_signal_connect (backend, "finished",
+ G_CALLBACK (pk_test_backend_spawn_finished_cb), backend_spawn);
+ /* so we can count the returned packages */
+ g_signal_connect (backend, "package",
+ G_CALLBACK (pk_test_backend_spawn_package_cb), backend_spawn);
+
+ /* needed to avoid an error */
+ ret = pk_backend_lock (backend);
+
+ /* test search-name.sh running */
+ ret = pk_backend_spawn_helper (backend_spawn, "search-name.sh", "none", "bar", NULL);
+ g_assert (ret);
+
+ /* wait for finished */
+ _g_test_loop_run_with_timeout (10000);
+
+ /* test number of packages */
+ g_assert_cmpint (_backend_spawn_number_packages, ==, 2);
+
+ /* manually unlock as we have no engine */
+ ret = pk_backend_unlock (backend);
+ g_assert (ret);
+
+ /* done */
+ g_object_unref (backend_spawn);
+
+ /* test we unref'd all but one of the PkBackend instances */
+ refcount = G_OBJECT(backend)->ref_count;
+ g_assert_cmpint (refcount, ==, 1);
+
+ /* we ref'd it manually for checking, so we need to unref it */
+ g_object_unref (backend);
+}
+
+static void
+pk_test_cache_func (void)
+{
+ PkCache *cache;
+
+ cache = pk_cache_new ();
+ g_assert (cache != NULL);
+
+ g_object_unref (cache);
+}
+
+static void
+pk_test_conf_func (void)
+{
+ PkConf *conf;
+ gchar *text;
+ gint value;
+
+ conf = pk_conf_new ();
+ g_assert (conf != NULL);
+
+ /* get the default backend */
+ text = pk_conf_get_string (conf, "DefaultBackend");
+ g_assert (text != PK_CONF_VALUE_STRING_MISSING);
+ g_free (text);
+
+ /* get a string that doesn't exist */
+ text = pk_conf_get_string (conf, "FooBarBaz");
+ g_assert (text == PK_CONF_VALUE_STRING_MISSING);
+ g_free (text);
+
+ /* get the shutdown timeout */
+ value = pk_conf_get_int (conf, "ShutdownTimeout");
+ g_assert (value != PK_CONF_VALUE_INT_MISSING);
+
+ /* get an int that doesn't exist */
+ value = pk_conf_get_int (conf, "FooBarBaz");
+ g_assert_cmpint (value, ==, PK_CONF_VALUE_INT_MISSING);
+
+ g_object_unref (conf);
+}
+
+static void
+pk_test_dbus_func (void)
+{
+ PkDbus *dbus;
+
+ dbus = pk_dbus_new ();
+ g_assert (dbus != NULL);
+
+ g_object_unref (dbus);
+}
+
+static PkNotify *notify = NULL;
+static gboolean _quit = FALSE;
+static gboolean _locked = FALSE;
+static gboolean _restart_schedule = FALSE;
+
+/**
+ * pk_test_engine_quit_cb:
+ **/
+static void
+pk_test_engine_quit_cb (PkEngine *engine, gpointer user_data)
+{
+ _quit = TRUE;
+}
+
+/**
+ * pk_test_engine_changed_cb:
+ **/
+static void
+pk_test_engine_changed_cb (PkEngine *engine, gpointer user_data)
+{
+ g_object_get (engine,
+ "locked", &_locked,
+ NULL);
+}
+
+/**
+ * pk_test_engine_updates_changed_cb:
+ **/
+static void
+pk_test_engine_updates_changed_cb (PkEngine *engine, gpointer user_data)
+{
+ _g_test_loop_quit ();
+}
+
+/**
+ * pk_test_engine_repo_list_changed_cb:
+ **/
+static void
+pk_test_engine_repo_list_changed_cb (PkEngine *engine, gpointer user_data)
+{
+ _g_test_loop_quit ();
+}
+
+/**
+ * pk_test_engine_restart_schedule_cb:
+ **/
+static void
+pk_test_engine_restart_schedule_cb (PkEngine *engine, gpointer user_data)
+{
+ _restart_schedule = TRUE;
+ _g_test_loop_quit ();
+}
+
+/**
+ * pk_test_engine_emit_updates_changed_cb:
+ **/
+static gboolean
+pk_test_engine_emit_updates_changed_cb (void)
+{
+ PkNotify *notify2;
+ notify2 = pk_notify_new ();
+ pk_notify_updates_changed (notify2);
+ g_object_unref (notify2);
+ return FALSE;
+}
+
+/**
+ * pk_test_engine_emit_repo_list_changed_cb:
+ **/
+static gboolean
+pk_test_engine_emit_repo_list_changed_cb (void)
+{
+ PkNotify *notify2;
+ notify2 = pk_notify_new ();
+ pk_notify_repo_list_changed (notify2);
+ g_object_unref (notify2);
+ return FALSE;
+}
+
+static void
+pk_test_engine_func (void)
+{
+ gboolean ret;
+ PkEngine *engine;
+ PkBackend *backend;
+ PkInhibit *inhibit;
+ guint idle;
+ gchar *state;
+ gdouble elapsed;
+
+ backend = pk_backend_new ();
+ g_assert (backend != NULL);
+
+ notify = pk_notify_new ();
+ g_assert (notify != NULL);
+
+ /* set the type, as we have no pk-main doing this for us */
+ /* set the backend name */
+ ret = pk_backend_set_name (backend, "dummy");
+ g_assert (ret);
+
+ /* get an engine instance */
+ engine = pk_engine_new ();
+ g_assert (engine != NULL);
+
+ /* connect up signals */
+ g_signal_connect (engine, "quit",
+ G_CALLBACK (pk_test_engine_quit_cb), NULL);
+ g_signal_connect (engine, "changed",
+ G_CALLBACK (pk_test_engine_changed_cb), NULL);
+ g_signal_connect (engine, "updates-changed",
+ G_CALLBACK (pk_test_engine_updates_changed_cb), NULL);
+ g_signal_connect (engine, "repo-list-changed",
+ G_CALLBACK (pk_test_engine_repo_list_changed_cb), NULL);
+ g_signal_connect (engine, "restart-schedule",
+ G_CALLBACK (pk_test_engine_restart_schedule_cb), NULL);
+
+ /* get idle at startup */
+ idle = pk_engine_get_seconds_idle (engine);
+ g_assert_cmpint (idle, <, 1);
+
+ /* wait 5 seconds */
+ _g_test_loop_wait (5000);
+
+ /* get idle at idle */
+ idle = pk_engine_get_seconds_idle (engine);
+ g_assert_cmpint (idle, <, 6);
+ g_assert_cmpint (idle, >, 4);
+
+ /* get idle after method */
+ pk_engine_get_daemon_state (engine, &state, NULL);
+ g_free (state);
+ idle = pk_engine_get_seconds_idle (engine);
+ g_assert_cmpint (idle, <, 1);
+
+ /* force test notify updates-changed */
+ g_timeout_add (25, (GSourceFunc) pk_test_engine_emit_updates_changed_cb, NULL);
+ _g_test_loop_wait (50);
+
+ /* force test notify repo-list-changed */
+ g_timeout_add (25, (GSourceFunc) pk_test_engine_emit_repo_list_changed_cb, NULL);
+ _g_test_loop_wait (50);
+
+ /* force test notify wait updates-changed */
+ g_test_timer_start ();
+ pk_notify_wait_updates_changed (notify, 500);
+ _g_test_loop_run_with_timeout (1000);
+ elapsed = g_test_timer_elapsed ();
+ g_assert_cmpfloat (elapsed, >, 0.4);
+ g_assert_cmpfloat (elapsed, <, 0.6);
+
+ /* test locked */
+ inhibit = pk_inhibit_new ();
+ pk_inhibit_add (inhibit, GUINT_TO_POINTER (999));
+ g_assert (_locked);
+
+ /* test locked */
+ pk_inhibit_remove (inhibit, GUINT_TO_POINTER (999));
+ g_assert (!_locked);
+ g_object_unref (inhibit);
+
+ /* test not locked */
+ g_assert (!_locked);
+ g_assert (!_restart_schedule);
+
+ ret = g_file_set_contents (SBINDIR "/packagekitd", "overwrite", -1, NULL);
+ g_assert (ret);
+ _g_test_loop_wait (5000);
+
+ /* get idle after we touched the binary */
+ idle = pk_engine_get_seconds_idle (engine);
+ g_assert_cmpint (idle, ==, G_MAXUINT);
+ g_assert (_restart_schedule);
+ g_assert (!_quit);
+
+ /* suggest quit with no transactions (should get quit signal) */
+ pk_engine_suggest_daemon_quit (engine, NULL);
+ g_assert (_quit);
+
+ g_object_unref (backend);
+ g_object_unref (notify);
+ g_object_unref (engine);
+}
+
+static void
+pk_test_file_monitor_func (void)
+{
+ PkFileMonitor *file_monitor;
+
+ /* get a file_monitor */
+ file_monitor = pk_file_monitor_new ();
+ g_assert (file_monitor != NULL);
+ g_object_unref (file_monitor);
+}
+
+static void
+pk_test_inhibit_func (void)
+{
+ PkInhibit *inhibit;
+ gboolean ret;
+
+ inhibit = pk_inhibit_new ();
+ g_assert (inhibit != NULL);
+
+ /* check we are not inhibited */
+ ret = pk_inhibit_locked (inhibit);
+ g_assert (!ret);
+
+ /* add 123 */
+ ret = pk_inhibit_add (inhibit, GUINT_TO_POINTER (123));
+ g_assert (ret);
+
+ /* check we are inhibited */
+ ret = pk_inhibit_locked (inhibit);
+ g_assert (ret);
+
+ /* add 123 (again) */
+ ret = pk_inhibit_add (inhibit, GUINT_TO_POINTER (123));
+ g_assert (!ret);
+
+ /* add 456 */
+ ret = pk_inhibit_add (inhibit, GUINT_TO_POINTER (456));
+ g_assert (ret);
+
+ /* remove 123" */
+ ret = pk_inhibit_remove (inhibit, GUINT_TO_POINTER (123));
+ g_assert (ret);
+
+ /* check we are still inhibited */
+ ret = pk_inhibit_locked (inhibit);
+ g_assert (ret);
+
+ /* remove 456 */
+ ret = pk_inhibit_remove (inhibit, GUINT_TO_POINTER (456));
+ g_assert (ret);
+
+ /* check we are not inhibited */
+ ret = pk_inhibit_locked (inhibit);
+ g_assert (!ret);
+
+ g_object_unref (inhibit);
+}
+
+static void
+pk_test_lsof_func (void)
+{
+ gboolean ret;
+ PkLsof *lsof;
+ GPtrArray *pids;
+ gchar *files[] = { "/usr/lib/libssl3.so", NULL };
+
+ lsof = pk_lsof_new ();
+ g_assert (lsof != NULL);
+
+ /* refresh lsof data */
+ ret = pk_lsof_refresh (lsof);
+ g_assert (ret);
+
+ /* get pids for files */
+ pids = pk_lsof_get_pids_for_filenames (lsof, files);
+ g_assert_cmpint (pids->len, >, 0);
+ g_ptr_array_unref (pids);
+
+ g_object_unref (lsof);
+}
+
+static void
+pk_test_notify_func (void)
+{
+ PkNotify *notify;
+
+ notify = pk_notify_new ();
+ g_assert (notify != NULL);
+
+ g_object_unref (notify);
+}
+
+static void
+pk_test_proc_func (void)
+{
+ gboolean ret;
+ PkProc *proc;
+// gchar *files[] = { "/sbin/udevd", NULL };
+
+ proc = pk_proc_new ();
+ g_assert (proc != NULL);
+
+ /* refresh proc data */
+ ret = pk_proc_refresh (proc);
+ g_assert (ret);
+
+ g_object_unref (proc);
+}
+
+PkSpawnExitType mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
+guint stdout_count = 0;
+guint finished_count = 0;
+
+/**
+ * pk_test_exit_cb:
+ **/
+static void
+pk_test_exit_cb (PkSpawn *spawn, PkSpawnExitType exit, gpointer user_data)
+{
+ egg_debug ("spawn exit=%i", exit);
+ mexit = exit;
+ finished_count++;
+ _g_test_loop_quit ();
+}
+
+/**
+ * pk_test_stdout_cb:
+ **/
+static void
+pk_test_stdout_cb (PkSpawn *spawn, const gchar *line, gpointer user_data)
+{
+ egg_debug ("stdout '%s'", line);
+ stdout_count++;
+}
+
+static gboolean
+cancel_cb (gpointer data)
+{
+ PkSpawn *spawn = PK_SPAWN(data);
+ pk_spawn_kill (spawn);
+ return FALSE;
+}
+
+static void
+new_spawn_object (PkSpawn **pspawn)
+{
+ if (*pspawn != NULL)
+ g_object_unref (*pspawn);
+ *pspawn = pk_spawn_new ();
+ g_signal_connect (*pspawn, "exit",
+ G_CALLBACK (pk_test_exit_cb), NULL);
+ g_signal_connect (*pspawn, "stdout",
+ G_CALLBACK (pk_test_stdout_cb), NULL);
+ stdout_count = 0;
+}
+
+static gboolean
+idle_cb (gpointer user_data)
+{
+ /* make sure dispatcher has closed when run idle add */
+ g_assert_cmpint (mexit, ==, PK_SPAWN_EXIT_TYPE_DISPATCHER_EXIT);
+ return FALSE;
+}
+
+static void
+pk_test_spawn_func (void)
+{
+ PkSpawn *spawn = NULL;
+ GError *error = NULL;
+ gboolean ret;
+ gchar *file;
+ gchar **argv;
+ gchar **envp;
+ guint elapsed;
+
+ new_spawn_object (&spawn);
+
+ /* make sure return error for missing file */
+ mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
+ argv = g_strsplit ("pk-spawn-test-xxx.sh", " ", 0);
+ ret = pk_spawn_argv (spawn, argv, NULL, &error);
+ g_assert_error (error, 1, 0);
+ g_strfreev (argv);
+ g_assert (!ret);
+ g_clear_error (&error);
+
+ /* make sure finished wasn't called */
+ g_assert_cmpint (mexit, ==, PK_SPAWN_EXIT_TYPE_UNKNOWN);
+
+ /* make sure run correct helper */
+ mexit = -1;
+ argv = g_strsplit (TESTDATADIR "/pk-spawn-test.sh", " ", 0);
+ ret = pk_spawn_argv (spawn, argv, NULL, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_strfreev (argv);
+
+ /* wait for finished */
+ _g_test_loop_run_with_timeout (10000);
+
+ /* make sure finished okay */
+ g_assert_cmpint (mexit, ==, PK_SPAWN_EXIT_TYPE_SUCCESS);
+
+ /* make sure finished was called only once */
+ g_assert_cmpint (finished_count, ==, 1);
+
+ /* make sure we got the right stdout data */
+ g_assert_cmpint (stdout_count, ==, 4+11);
+
+ /* get new object */
+ new_spawn_object (&spawn);
+
+ /* make sure we set the proxy */
+ mexit = -1;
+ argv = g_strsplit (TESTDATADIR "/pk-spawn-proxy.sh", " ", 0);
+ envp = g_strsplit ("http_proxy=username:password at server:port "
+ "ftp_proxy=username:password at server:port", " ", 0);
+ ret = pk_spawn_argv (spawn, argv, envp, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_strfreev (argv);
+ g_strfreev (envp);
+
+ /* wait for finished */
+ _g_test_loop_run_with_timeout (10000);
+
+ /* get new object */
+ new_spawn_object (&spawn);
+
+ /* make sure run correct helper, and cancel it using SIGKILL */
+ mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
+ argv = g_strsplit (TESTDATADIR "/pk-spawn-test.sh", " ", 0);
+ ret = pk_spawn_argv (spawn, argv, NULL, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_strfreev (argv);
+
+ g_timeout_add_seconds (1, cancel_cb, spawn);
+ /* wait for finished */
+ _g_test_loop_run_with_timeout (5000);
+
+ /* make sure finished in SIGKILL */
+ g_assert_cmpint (mexit, ==, PK_SPAWN_EXIT_TYPE_SIGKILL);
+
+ /* get new object */
+ new_spawn_object (&spawn);
+
+ /* make sure dumb helper ignores SIGQUIT */
+ mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
+ argv = g_strsplit (TESTDATADIR "/pk-spawn-test.sh", " ", 0);
+ g_object_set (spawn,
+ "allow-sigkill", FALSE,
+ NULL);
+ ret = pk_spawn_argv (spawn, argv, NULL, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_strfreev (argv);
+
+ g_timeout_add_seconds (1, cancel_cb, spawn);
+ /* wait for finished */
+ _g_test_loop_run_with_timeout (10000);
+
+ /* make sure finished in SIGQUIT */
+ g_assert_cmpint (mexit, ==, PK_SPAWN_EXIT_TYPE_SIGQUIT);
+
+ /* get new object */
+ new_spawn_object (&spawn);
+
+ /* make sure run correct helper, and SIGQUIT it */
+ mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
+ argv = g_strsplit (TESTDATADIR "/pk-spawn-test-sigquit.py", " ", 0);
+ ret = pk_spawn_argv (spawn, argv, NULL, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_strfreev (argv);
+
+ g_timeout_add (1000, cancel_cb, spawn);
+ /* wait for finished */
+ _g_test_loop_run_with_timeout (2000);
+
+ /* make sure finished in SIGQUIT */
+ g_assert_cmpint (mexit, ==, PK_SPAWN_EXIT_TYPE_SIGQUIT);
+
+ /* run lots of data for profiling */
+ argv = g_strsplit (TESTDATADIR "/pk-spawn-test-profiling.sh", " ", 0);
+ ret = pk_spawn_argv (spawn, argv, NULL, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_strfreev (argv);
+
+ /* get new object */
+ new_spawn_object (&spawn);
+
+ /* run the dispatcher */
+ mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
+ argv = g_strsplit (TESTDATADIR "/pk-spawn-dispatcher.py\tsearch-name\tnone\tpower manager", "\t", 0);
+ envp = g_strsplit ("NETWORK=TRUE LANG=C BACKGROUND=TRUE INTERACTIVE=TRUE", " ", 0);
+ ret = pk_spawn_argv (spawn, argv, envp, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+
+ /* wait 2+2 seconds for the dispatcher */
+ _g_test_loop_wait (4000);
+
+ /* we got a package (+finished)? */
+ g_assert_cmpint (stdout_count, ==, 2);
+
+ /* dispatcher still alive? */
+ g_assert (pk_spawn_is_running (spawn));
+
+ /* run the dispatcher with new input */
+ ret = pk_spawn_argv (spawn, argv, envp, &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+
+ /* this may take a while */
+ _g_test_loop_wait (100);
+
+ /* we got another package (and finished) */
+ g_assert_cmpint (stdout_count, ==, 4);
+
+ /* see if pk_spawn_exit blocks (required) */
+ g_idle_add (idle_cb, NULL);
+
+ /* ask dispatcher to close */
+ ret = pk_spawn_exit (spawn);
+ g_assert (ret);
+
+ /* ask dispatcher to close (again, should be closing) */
+ ret = pk_spawn_exit (spawn);
+ g_assert (!ret);
+
+ /* this may take a while */
+ _g_test_loop_wait (100);
+
+ /* did dispatcher close? */
+ g_assert (!pk_spawn_is_running (spawn));
+
+ /* did we get the right exit code */
+ g_assert_cmpint (mexit, ==, PK_SPAWN_EXIT_TYPE_DISPATCHER_EXIT);
+
+ /* ask dispatcher to close (again) */
+ ret = pk_spawn_exit (spawn);
+ g_assert (!ret);
+
+ g_strfreev (argv);
+ g_strfreev (envp);
+ g_object_unref (spawn);
+}
+
+static void
+pk_test_store_func (void)
+{
+ PkStore *store;
+ gboolean ret;
+ const gchar *data_string;
+ guint data_uint;
+ gboolean data_bool;
+
+ store = pk_store_new ();
+ g_assert (store != NULL);
+
+ /* set a blank string */
+ ret = pk_store_set_string (store, "dave2", "");
+ g_assert (ret);
+
+ /* set a ~bool */
+ ret = pk_store_set_bool (store, "roger2", FALSE);
+ g_assert (ret);
+
+ /* set a zero uint */
+ ret = pk_store_set_uint (store, "linda2", 0);
+ g_assert (ret);
+
+ /* get a blank string */
+ data_string = pk_store_get_string (store, "dave2");
+ g_assert_cmpstr (data_string, ==, "");
+
+ /* get a ~bool */
+ data_bool = pk_store_get_bool (store, "roger2");
+ g_assert (!data_bool);
+
+ /* get a zero uint */
+ data_uint = pk_store_get_uint (store, "linda2");
+ g_assert_cmpint (data_uint, ==, 0);
+
+ /* set a string */
+ ret = pk_store_set_string (store, "dave", "ania");
+ g_assert (ret);
+
+ /* set a bool */
+ ret = pk_store_set_bool (store, "roger", TRUE);
+ g_assert (ret);
+
+ /* set a uint */
+ ret = pk_store_set_uint (store, "linda", 999);
+ g_assert (ret);
+
+ /* get a string */
+ data_string = pk_store_get_string (store, "dave");
+ g_assert_cmpstr (data_string, ==, "ania");
+
+ /* get a bool */
+ data_bool = pk_store_get_bool (store, "roger");
+ g_assert (data_bool);
+
+ /* get a uint */
+ data_uint = pk_store_get_uint (store, "linda");
+ g_assert_cmpint (data_uint, ==, 999);
+
+ g_object_unref (store);
+}
+
+static void
+pk_test_syslog_func (void)
+{
+ PkSyslog *syslog;
+
+ syslog = pk_syslog_new ();
+ g_assert (syslog != NULL);
+
+ g_object_unref (syslog);
+}
+
+static void
+pk_test_time_func (void)
+{
+ PkTime *pktime = NULL;
+ gboolean ret;
+ guint value;
+
+ pktime = pk_time_new ();
+ g_assert (pktime != NULL);
+
+ /* get elapsed correctly at startup */
+ value = pk_time_get_elapsed (pktime);
+ g_assert_cmpint (value, <, 10);
+
+ /* ignore remaining correctly */
+ value = pk_time_get_remaining (pktime);
+ g_assert_cmpint (value, ==, 0);
+
+ g_usleep (1000*1000);
+
+ /* get elapsed correctly */
+ value = pk_time_get_elapsed (pktime);
+ g_assert_cmpint (value, >, 900);
+ g_assert_cmpint (value, <, 1100);
+
+ /* ignore remaining correctly when not enough entries */
+ value = pk_time_get_remaining (pktime);
+ g_assert_cmpint (value, ==, 0);
+
+ /* make sure we can add data */
+ ret = pk_time_add_data (pktime, 10);
+ g_assert (ret);
+
+ /* make sure we can get remaining correctly */
+ value = 20;
+ while (value < 60) {
+ pk_time_advance_clock (pktime, 2000);
+ pk_time_add_data (pktime, value);
+ value += 10;
+ }
+ value = pk_time_get_remaining (pktime);
+ g_assert_cmpint (value, >, 9);
+ g_assert_cmpint (value, <, 11);
+
+ /* reset */
+ g_object_unref (pktime);
+ pktime = pk_time_new ();
+
+ /* make sure we can do long times */
+ value = 10;
+ pk_time_add_data (pktime, 0);
+ while (value < 60) {
+ pk_time_advance_clock (pktime, 4*60*1000);
+ pk_time_add_data (pktime, value);
+ value += 10;
+ }
+ value = pk_time_get_remaining (pktime);
+ g_assert_cmpint (value, >=, 1199);
+ g_assert_cmpint (value, <=, 1201);
+
+ g_object_unref (pktime);
+}
+
+static void
+pk_test_transaction_func (void)
+{
+ PkTransaction *transaction = NULL;
+ gboolean ret;
+ GError *error = NULL;
+
+ /* get PkTransaction object */
+ transaction = pk_transaction_new ();
+ g_assert (transaction != NULL);
+
+ /* test a fail filter (null) */
+ ret = pk_transaction_filter_check (NULL, &error);
+ g_assert_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID);
+ g_assert (!ret);
+ g_clear_error (&error);
+
+ /* test a fail filter () */
+ ret = pk_transaction_filter_check ("", &error);
+ g_assert_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID);
+ g_assert (!ret);
+ g_clear_error (&error);
+
+ /* test a fail filter (;) */
+ ret = pk_transaction_filter_check (";", &error);
+ g_assert_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID);
+ g_assert (!ret);
+ g_clear_error (&error);
+
+ /* test a fail filter (invalid) */
+ ret = pk_transaction_filter_check ("moo", &error);
+ g_assert_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID);
+ g_assert (!ret);
+
+ g_clear_error (&error);
+
+ /* test a fail filter (invalid, multiple) */
+ ret = pk_transaction_filter_check ("moo;foo", &error);
+ g_assert_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID);
+ g_assert (!ret);
+ g_clear_error (&error);
+
+ /* test a fail filter (valid then zero length) */
+ ret = pk_transaction_filter_check ("gui;;", &error);
+ g_assert_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID);
+ g_assert (!ret);
+ g_clear_error (&error);
+
+ /* test a pass filter (none) */
+ ret = pk_transaction_filter_check ("none", &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_clear_error (&error);
+
+ /* test a pass filter (single) */
+ ret = pk_transaction_filter_check ("gui", &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_clear_error (&error);
+
+ /* test a pass filter (multiple) */
+ ret = pk_transaction_filter_check ("devel;~gui", &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_clear_error (&error);
+
+ /* test a pass filter (multiple2) */
+ ret = pk_transaction_filter_check ("~gui;~installed", &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_clear_error (&error);
+
+ /* validate incorrect text */
+ ret = pk_transaction_strvalidate ("richard$hughes", &error);
+ g_assert_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID);
+ g_assert (!ret);
+ g_clear_error (&error);
+
+ /* validate correct text */
+ ret = pk_transaction_strvalidate ("richardhughes", &error);
+ g_assert_no_error (error);
+ g_assert (ret);
+ g_clear_error (&error);
+
+ g_object_unref (transaction);
+}
+
+static void
+pk_test_transaction_db_func (void)
+{
+ PkTransactionDb *db;
+ guint value;
+ gchar *tid;
+ gboolean ret;
+ gdouble ms;
+ gchar *proxy_http = NULL;
+ gchar *proxy_ftp = NULL;
+ gchar *root = NULL;
+ guint seconds;
+
+ /* remove the self check file */
+#if PK_BUILD_LOCAL
+ ret = g_file_test (PK_TRANSACTION_DB_FILE, G_FILE_TEST_EXISTS);
+ if (ret) {
+ /* remove old local database */
+ egg_warning ("Removing %s", PK_TRANSACTION_DB_FILE);
+ value = g_unlink (PK_TRANSACTION_DB_FILE);
+ g_assert (value == 0);
+ }
+#endif
+
+ /* check we created quickly */
+ g_test_timer_start ();
+ db = pk_transaction_db_new ();
+ ms = g_test_timer_elapsed ();
+ g_assert_cmpfloat (ms, <, 1.5);
+ g_object_unref (db);
+
+ /* check we opened quickly */
+ g_test_timer_start ();
+ db = pk_transaction_db_new ();
+ ms = g_test_timer_elapsed ();
+ g_assert_cmpfloat (ms, <, 0.1);
+
+ /* do we get the correct time on a blank database */
+ value = pk_transaction_db_action_time_since (db, PK_ROLE_ENUM_REFRESH_CACHE);
+ g_assert_cmpint (value, ==, G_MAXUINT);
+
+ /* get an tid object */
+ g_test_timer_start ();
+ tid = pk_transaction_db_generate_id (db);
+ ms = g_test_timer_elapsed ();
+ g_assert_cmpfloat (ms, <, 0.001);
+ g_free (tid);
+
+ /* get an tid object (no wait) */
+ g_test_timer_start ();
+ tid = pk_transaction_db_generate_id (db);
+ ms = g_test_timer_elapsed ();
+ g_assert_cmpfloat (ms, <, 0.005);
+ g_free (tid);
+
+ /* set the correct time */
+ ret = pk_transaction_db_action_time_reset (db, PK_ROLE_ENUM_REFRESH_CACHE);
+ g_assert (ret);
+
+ /* do the deferred write */
+ g_test_timer_start ();
+ while (g_main_context_pending (NULL))
+ g_main_context_iteration (NULL, TRUE);
+ ms = g_test_timer_elapsed ();
+ g_assert_cmpfloat (ms, >, 0.001);
+
+ g_usleep (2*1000*1000);
+
+ /* do we get the correct time */
+ value = pk_transaction_db_action_time_since (db, PK_ROLE_ENUM_REFRESH_CACHE);
+ g_assert_cmpint (value, >, 1);
+ g_assert_cmpint (value, <=, 4);
+
+ /* can we set the proxies */
+ ret = pk_transaction_db_set_proxy (db, 500, "session1", "127.0.0.1:80", "127.0.0.1:21");
+ g_assert (ret);
+
+ /* can we set the proxies (overwrite) */
+ ret = pk_transaction_db_set_proxy (db, 500, "session1", "127.0.0.1:8000", "127.0.0.1:21");
+ g_assert (ret);
+
+ /* can we get the proxies (non-existant user) */
+ ret = pk_transaction_db_get_proxy (db, 501, "session1", &proxy_http, &proxy_ftp);
+ g_assert (!ret);
+ g_assert_cmpstr (proxy_http, ==, NULL);
+ g_assert_cmpstr (proxy_ftp, ==, NULL);
+
+ /* can we get the proxies (non-existant session) */
+ ret = pk_transaction_db_get_proxy (db, 500, "session2", &proxy_http, &proxy_ftp);
+ g_assert (!ret);
+ g_assert_cmpstr (proxy_http, ==, NULL);
+ g_assert_cmpstr (proxy_ftp, ==, NULL);
+
+ /* can we get the proxies (match) */
+ ret = pk_transaction_db_get_proxy (db, 500, "session1", &proxy_http, &proxy_ftp);
+ g_assert (ret);
+ g_assert_cmpstr (proxy_http, ==, "127.0.0.1:8000");
+ g_assert_cmpstr (proxy_ftp, ==, "127.0.0.1:21");
+
+ /* can we set the root */
+ ret = pk_transaction_db_set_root (db, 500, "session1", "/mnt/chroot");
+ g_assert (ret);
+
+ /* can we set the root (overwrite) */
+ ret = pk_transaction_db_set_root (db, 500, "session1", "/mnt/chroot2");
+ g_assert (ret);
+
+ /* can we get the root (non-existant user) */
+ ret = pk_transaction_db_get_root (db, 501, "session1", &root);
+ g_assert (!ret);
+ g_assert_cmpstr (root, ==, NULL);
+
+ /* can we get the root (match) */
+ ret = pk_transaction_db_get_root (db, 500, "session1", &root);
+ g_assert_cmpstr (root, ==, "/mnt/chroot2");
+
+ g_free (root);
+ g_free (proxy_http);
+ g_free (proxy_ftp);
+ g_object_unref (db);
+}
+
+static void
+pk_test_transaction_extra_func (void)
+{
+ PkTransactionExtra *extra;
+
+ extra = pk_transaction_extra_new ();
+ g_assert (extra != NULL);
+
+ g_object_unref (extra);
+}
+
+static PkTransactionDb *db = NULL;
+
+/**
+ * pk_test_transaction_list_finished_cb:
+ **/
+static void
+pk_test_transaction_list_finished_cb (PkTransaction *transaction, const gchar *exit_text, guint time, gpointer user_data)
+{
+ _g_test_loop_quit ();
+}
+
+/**
+ * pk_test_transaction_list_create_transaction:
+ **/
+static gchar *
+pk_test_transaction_list_create_transaction (PkTransactionList *tlist)
+{
+ gchar *tid;
+
+ /* get tid */
+ tid = pk_transaction_db_generate_id (db);
+
+ /* create PkTransaction instance */
+ pk_transaction_list_create (tlist, tid, ":0", NULL);
+
+ return tid;
+}
+
+static void
+pk_test_transaction_list_func (void)
+{
+ PkTransactionList *tlist;
+ PkCache *cache;
+ gboolean ret;
+ gchar *tid;
+ guint size;
+ gchar **array;
+ PkTransaction *transaction;
+ gchar *tid_item1;
+ gchar *tid_item2;
+ gchar *tid_item3;
+ gboolean running, committed, finished;
+
+ /* remove the self check file */
+#if PK_BUILD_LOCAL
+ ret = g_file_test ("./transactions.db", G_FILE_TEST_EXISTS);
+ if (ret) {
+ /* remove old local database */
+ egg_warning ("Removing %s", "./transactions.db");
+ size = g_unlink ("./transactions.db");
+ g_assert (size == 0);
+ }
+#endif
+
+ /* we get a cache object to reproduce the engine having it ref'd */
+ cache = pk_cache_new ();
+ db = pk_transaction_db_new ();
+
+ /* get a transaction list object */
+ tlist = pk_transaction_list_new ();
+ g_assert (tlist != NULL);
+
+ /* make sure we get a valid tid */
+ tid = pk_transaction_db_generate_id (db);
+ g_assert (tid != NULL);
+
+ /* create a transaction object */
+ ret = pk_transaction_list_create (tlist, tid, ":0", NULL);
+ g_assert (ret);
+
+ /* make sure we get the right object back */
+ transaction = pk_transaction_list_get_transaction (tlist, tid, &running, &committed, &finished);
+ g_assert (transaction != NULL);
+ g_assert (!running);
+ g_assert (!committed);
+ g_assert (!finished);
+
+ /* get size one we have in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 1);
+
+ /* get transactions (committed, not finished) in progress */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 0);
+ g_strfreev (array);
+
+ /* add again the same tid (should fail) */
+ ret = pk_transaction_list_create (tlist, tid, ":0", NULL);
+ g_assert (!ret);
+
+ /* remove without ever committing */
+ ret = pk_transaction_list_remove (tlist, tid);
+ g_assert (ret);
+
+ /* get size none we have in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 0);
+
+ /* get a new tid */
+ g_free (tid);
+ tid = pk_transaction_db_generate_id (db);
+
+ /* create another transaction */
+ ret = pk_transaction_list_create (tlist, tid, ":0", NULL);
+ g_assert (ret);
+
+ PkBackend *backend;
+ backend = pk_backend_new ();
+ /* try to load a valid backend */
+ ret = pk_backend_set_name (backend, "dummy");
+ g_assert (ret);
+
+ /* lock an valid backend */
+ ret = pk_backend_lock (backend);
+ g_assert (ret);
+
+ /* get from db */
+ transaction = pk_transaction_list_get_transaction (tlist, tid, NULL, NULL, NULL);
+ g_assert (transaction != NULL);
+ g_signal_connect (transaction, "finished",
+ G_CALLBACK (pk_test_transaction_list_finished_cb), NULL);
+
+ /* this tests the run-on-commit action */
+ pk_transaction_get_updates (transaction, "none", NULL);
+
+ /* make sure transaction has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid, &running, &committed, &finished);
+ g_assert (running);
+ g_assert (committed);
+ g_assert (!finished);
+
+ /* get present role */
+ ret = pk_transaction_list_role_present (tlist, PK_ROLE_ENUM_GET_UPDATES);
+ g_assert (ret);
+
+ /* get non-present role */
+ ret = pk_transaction_list_role_present (tlist, PK_ROLE_ENUM_SEARCH_NAME);
+ g_assert (!ret);
+
+ /* get size we have in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 1);
+
+ /* get transactions (committed, not finished) in progress */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 1);
+ g_strfreev (array);
+
+ /* wait for Finished */
+ _g_test_loop_run_with_timeout (2000);
+
+ /* get size one we have in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 1);
+
+ /* get transactions (committed, not finished) in progress (none) */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 0);
+ g_strfreev (array);
+
+ /* remove already removed */
+ ret = pk_transaction_list_remove (tlist, tid);
+ g_assert (!ret);
+
+ /* wait for Cleanup */
+ _g_test_loop_wait (10000);
+
+ /* make sure queue empty */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 0);
+
+ g_free (tid);
+
+ tid = pk_test_transaction_list_create_transaction (tlist);
+ transaction = pk_transaction_list_get_transaction (tlist, tid, NULL, NULL, NULL);
+ g_signal_connect (transaction, "finished",
+ G_CALLBACK (pk_test_transaction_list_finished_cb), NULL);
+
+ pk_transaction_get_updates (transaction, "none", NULL);
+
+ /* wait for cached results*/
+ _g_test_loop_run_with_timeout (1000);
+
+ /* make sure transaction has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid, &running, &committed, &finished);
+ g_assert (!running);
+ g_assert (committed);
+ g_assert (finished);
+
+ /* get transactions (committed, not finished) in progress (none, as cached) */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 0);
+ g_strfreev (array);
+
+ /* get size we have in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 1);
+
+ /* wait for Cleanup */
+ _g_test_loop_wait (10000);
+
+ /* get transactions (committed, not finished) in progress (none, as cached) */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 0);
+ g_strfreev (array);
+
+ /* get size we have in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 0);
+
+ /* create three instances in list */
+ tid_item1 = pk_test_transaction_list_create_transaction (tlist);
+ tid_item2 = pk_test_transaction_list_create_transaction (tlist);
+ tid_item3 = pk_test_transaction_list_create_transaction (tlist);
+
+ /* get all transactions in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 3);
+
+ /* get transactions (committed, not finished) committed */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 0);
+ g_strfreev (array);
+
+ transaction = pk_transaction_list_get_transaction (tlist, tid_item1, NULL, NULL, NULL);
+ g_signal_connect (transaction, "finished",
+ G_CALLBACK (pk_test_transaction_list_finished_cb), NULL);
+ transaction = pk_transaction_list_get_transaction (tlist, tid_item2, NULL, NULL, NULL);
+ g_signal_connect (transaction, "finished",
+ G_CALLBACK (pk_test_transaction_list_finished_cb), NULL);
+ transaction = pk_transaction_list_get_transaction (tlist, tid_item3, NULL, NULL, NULL);
+ g_signal_connect (transaction, "finished",
+ G_CALLBACK (pk_test_transaction_list_finished_cb), NULL);
+
+ /* this starts one action */
+ array = g_strsplit ("dave", " ", -1);
+ transaction = pk_transaction_list_get_transaction (tlist, tid_item1, NULL, NULL, NULL);
+ pk_transaction_search_details (transaction, "none", array, NULL);
+ g_strfreev (array);
+
+ /* this should be chained after the first action completes */
+ array = g_strsplit ("power", " ", -1);
+ transaction = pk_transaction_list_get_transaction (tlist, tid_item2, NULL, NULL, NULL);
+ pk_transaction_search_names (transaction, "none", array, NULL);
+ g_strfreev (array);
+
+ /* this starts be chained after the second action completes */
+ array = g_strsplit ("paul", " ", -1);
+ transaction = pk_transaction_list_get_transaction (tlist, tid_item3, NULL, NULL, NULL);
+ pk_transaction_search_details (transaction, "none", array, NULL);
+ g_strfreev (array);
+
+ /* get transactions (committed, not finished) in progress (all) */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 3);
+ g_strfreev (array);
+
+ /* wait for first action */
+ _g_test_loop_run_with_timeout (10000);
+
+ /* get all transactions in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 3);
+
+ /* get transactions (committed, not finished) (two, first one finished) */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 2);
+ g_strfreev (array);
+
+ /* make sure transaction1 has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid_item1, &running, &committed, &finished);
+ g_assert (!running);
+ g_assert (committed);
+ g_assert (finished);
+
+ /* make sure transaction2 has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid_item2, &running, &committed, &finished);
+ g_assert (running);
+ g_assert (committed);
+ g_assert (!finished);
+
+ /* make sure transaction3 has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid_item3, &running, &committed, &finished);
+ g_assert (!running);
+ g_assert (committed);
+ g_assert (!finished);
+
+ /* wait for second action */
+ _g_test_loop_run_with_timeout (10000);
+
+ /* get all transactions in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 3);
+
+ /* get transactions (committed, not finished) in progress (one) */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 1);
+ g_strfreev (array);
+
+ /* make sure transaction1 has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid_item1, &running, &committed, &finished);
+ g_assert (!running);
+ g_assert (committed);
+ g_assert (finished);
+
+ /* make sure transaction2 has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid_item2, &running, &committed, &finished);
+ g_assert (!running);
+ g_assert (committed);
+ g_assert (finished);
+
+ /* make sure transaction3 has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid_item3, &running, &committed, &finished);
+ g_assert (running);
+ g_assert (committed);
+ g_assert (!finished);
+
+ /* wait for third action */
+ _g_test_loop_run_with_timeout (10000);
+
+ /* get all transactions in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 3);
+
+ /* get transactions (committed, not finished) in progress (none) */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 0);
+ g_strfreev (array);
+
+ /* make sure transaction1 has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid_item1, &running, &committed, &finished);
+ g_assert (!running);
+ g_assert (committed);
+ g_assert (finished);
+
+ /* make sure transaction2 has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid_item2, &running, &committed, &finished);
+ g_assert (!running);
+ g_assert (committed);
+ g_assert (finished);
+
+ /* make sure transaction3 has correct flags */
+ pk_transaction_list_get_transaction (tlist, tid_item3, &running, &committed, &finished);
+ g_assert (!running);
+ g_assert (committed);
+ g_assert (finished);
+
+ /* wait for Cleanup */
+ _g_test_loop_wait (5000);
+
+ /* get both transactions in queue */
+ size = pk_transaction_list_get_size (tlist);
+ g_assert_cmpint (size, ==, 0);
+
+ /* get transactions (committed, not finished) in progress (neither - again) */
+ array = pk_transaction_list_get_array (tlist);
+ size = g_strv_length (array);
+ g_assert_cmpint (size, ==, 0);
+ g_strfreev (array);
+
+ g_object_unref (tlist);
+ g_object_unref (backend);
+ g_object_unref (cache);
+ g_object_unref (db);
+}
int
main (int argc, char **argv)
{
- EggTest *test;
-
if (! g_thread_supported ())
g_thread_init (NULL);
g_type_init ();
- test = egg_test_init ();
egg_debug_init (&argc, &argv);
-
- /* egg */
- egg_string_test (test);
+ g_test_init (&argc, &argv, NULL);
/* components */
- pk_proc_test (test);
- pk_lsof_test (test);
- pk_file_monitor_test (test);
- pk_time_test (test);
- pk_conf_test (test);
- pk_store_test (test);
- pk_inhibit_test (test);
- pk_spawn_test (test);
- pk_transaction_list_test (test);
- pk_transaction_db_test (test);
+ g_test_add_func ("/packagekit/notify", pk_test_proc_func);
+ g_test_add_func ("/packagekit/proc", pk_test_proc_func);
+ g_test_add_func ("/packagekit/lsof", pk_test_lsof_func);
+ g_test_add_func ("/packagekit/file-monitor", pk_test_file_monitor_func);
+ g_test_add_func ("/packagekit/time", pk_test_time_func);
+ g_test_add_func ("/packagekit/dbus", pk_test_dbus_func);
+ g_test_add_func ("/packagekit/syslog", pk_test_dbus_func);
+ g_test_add_func ("/packagekit/conf", pk_test_conf_func);
+ g_test_add_func ("/packagekit/cache", pk_test_conf_func);
+ g_test_add_func ("/packagekit/store", pk_test_store_func);
+ g_test_add_func ("/packagekit/inhibit", pk_test_inhibit_func);
+ g_test_add_func ("/packagekit/spawn", pk_test_spawn_func);
+ g_test_add_func ("/packagekit/transaction", pk_test_transaction_func);
+ g_test_add_func ("/packagekit/transaction-list", pk_test_transaction_list_func);
+ g_test_add_func ("/packagekit/transaction-db", pk_test_transaction_db_func);
+ g_test_add_func ("/packagekit/transaction-extra", pk_test_transaction_extra_func);
/* backend stuff */
- pk_backend_test (test);
- pk_backend_test_spawn (test);
+ g_test_add_func ("/packagekit/backend", pk_test_backend_func);
+ g_test_add_func ("/packagekit/backend_spawn", pk_test_backend_spawn_func);
/* system */
- pk_engine_test (test);
+ g_test_add_func ("/packagekit/engine", pk_test_engine_func);
- return (egg_test_finish (test));
+ return g_test_run ();
}
diff --git a/src/pk-spawn.c b/src/pk-spawn.c
index 38a1549..2e04a09 100644
--- a/src/pk-spawn.c
+++ b/src/pk-spawn.c
@@ -491,9 +491,10 @@ out:
*
**/
gboolean
-pk_spawn_argv (PkSpawn *spawn, gchar **argv, gchar **envp)
+pk_spawn_argv (PkSpawn *spawn, gchar **argv, gchar **envp, GError **error)
{
gboolean ret;
+ GError *error_local = NULL;
gboolean idleio;
guint i;
guint len;
@@ -502,6 +503,7 @@ pk_spawn_argv (PkSpawn *spawn, gchar **argv, gchar **envp)
const gchar *key;
g_return_val_if_fail (PK_IS_SPAWN (spawn), FALSE);
+ g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
g_return_val_if_fail (argv != NULL, FALSE);
len = g_strv_length (argv);
@@ -515,7 +517,7 @@ pk_spawn_argv (PkSpawn *spawn, gchar **argv, gchar **envp)
/* check we are not using a closing instance */
if (spawn->priv->is_sending_exit) {
- egg_warning ("trying to use instance that is in the process of exiting");
+ g_set_error_literal (error, 1, 0, "trying to use instance that is in the process of exiting");
return FALSE;
}
@@ -567,7 +569,13 @@ pk_spawn_argv (PkSpawn *spawn, gchar **argv, gchar **envp)
&spawn->priv->stdin_fd,
&spawn->priv->stdout_fd,
&spawn->priv->stderr_fd,
- NULL);
+ &error_local);
+ /* we failed to invoke the helper */
+ if (!ret) {
+ g_set_error (error, 1, 0, "failed to spawn %s: %s", argv[0], error_local->message);
+ g_error_free (error_local);
+ return FALSE;
+ }
/* get the nice value and ensure we are in the valid range */
key = "BackendSpawnNiceValue";
@@ -594,12 +602,6 @@ pk_spawn_argv (PkSpawn *spawn, gchar **argv, gchar **envp)
pk_ioprio_set_idle (spawn->priv->child_pid);
}
- /* we failed to invoke the helper */
- if (!ret) {
- egg_warning ("failed to spawn '%s'", argv[0]);
- return FALSE;
- }
-
/* save this so we can check the dispatcher name */
g_free (spawn->priv->last_argv0);
spawn->priv->last_argv0 = g_strdup (argv[0]);
@@ -812,386 +814,3 @@ pk_spawn_new (void)
return PK_SPAWN (spawn);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-PkSpawnExitType mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
-guint stdout_count = 0;
-guint finished_count = 0;
-
-/**
- * pk_test_exit_cb:
- **/
-static void
-pk_test_exit_cb (PkSpawn *spawn, PkSpawnExitType exit, EggTest *test)
-{
- egg_debug ("spawn exit=%i", exit);
- mexit = exit;
- finished_count++;
- egg_test_loop_quit (test);
-}
-
-/**
- * pk_test_stdout_cb:
- **/
-static void
-pk_test_stdout_cb (PkSpawn *spawn, const gchar *line, EggTest *test)
-{
- egg_debug ("stdout '%s'", line);
- stdout_count++;
-}
-
-static gboolean
-cancel_cb (gpointer data)
-{
- PkSpawn *spawn = PK_SPAWN(data);
- pk_spawn_kill (spawn);
- return FALSE;
-}
-
-static void
-new_spawn_object (EggTest *test, PkSpawn **pspawn)
-{
- if (*pspawn != NULL)
- g_object_unref (*pspawn);
- *pspawn = pk_spawn_new ();
- g_signal_connect (*pspawn, "exit",
- G_CALLBACK (pk_test_exit_cb), test);
- g_signal_connect (*pspawn, "stdout",
- G_CALLBACK (pk_test_stdout_cb), test);
- stdout_count = 0;
-}
-
-static gboolean
-idle_cb (gpointer data)
-{
- EggTest *test = (EggTest*) data;
-
- egg_test_title (test, "make sure dispatcher has closed when run idle add");
- if (mexit == PK_SPAWN_EXIT_TYPE_DISPATCHER_EXIT)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "mexit was %i", mexit);
-
- /* never repeat */
- return FALSE;
-}
-
-void
-pk_spawn_test (EggTest *test)
-{
- PkSpawn *spawn = NULL;
- gboolean ret;
- gchar *file;
- gchar *path;
- gchar **argv;
- gchar **envp;
- guint elapsed;
-
- if (!egg_test_start (test, "PkSpawn"))
- return;
-
- /* get new object */
- new_spawn_object (test, &spawn);
-
- /************************************************************
- ********** Generic tests ***********
- ************************************************************/
- egg_test_title (test, "make sure return error for missing file");
- mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
- argv = g_strsplit ("pk-spawn-test-xxx.sh", " ", 0);
- ret = pk_spawn_argv (spawn, argv, NULL);
- g_strfreev (argv);
- if (!ret)
- egg_test_success (test, "failed to run invalid file");
- else
- egg_test_failed (test, "ran incorrect file");
-
- /************************************************************/
- egg_test_title (test, "make sure finished wasn't called");
- if (mexit == PK_SPAWN_EXIT_TYPE_UNKNOWN)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "Called finish for bad file!");
-
- /************************************************************/
- egg_test_title (test, "make sure run correct helper");
- mexit = -1;
- path = egg_test_get_data_file ("pk-spawn-test.sh");
- argv = g_strsplit (path, " ", 0);
- ret = pk_spawn_argv (spawn, argv, NULL);
- g_free (path);
- g_strfreev (argv);
- if (ret)
- egg_test_success (test, "ran correct file");
- else
- egg_test_failed (test, "did not run helper");
-
- /* wait for finished */
- egg_test_loop_wait (test, 10000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "make sure finished okay");
- if (mexit == PK_SPAWN_EXIT_TYPE_SUCCESS)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "finish was okay!");
-
- /************************************************************/
- egg_test_title (test, "make sure finished was called only once");
- if (finished_count == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "finish was called %i times!", finished_count);
-
- /************************************************************/
- egg_test_title (test, "make sure we got the right stdout data");
- if (stdout_count == 4+11)
- egg_test_success (test, "correct stdout count");
- else
- egg_test_failed (test, "wrong stdout count %i", stdout_count);
-
- /* get new object */
- new_spawn_object (test, &spawn);
-
- /************************************************************
- ********** envp tests ***********
- ************************************************************/
- egg_test_title (test, "make sure we set the proxy");
- mexit = -1;
- path = egg_test_get_data_file ("pk-spawn-proxy.sh");
- argv = g_strsplit (path, " ", 0);
- envp = g_strsplit ("http_proxy=username:password at server:port "
- "ftp_proxy=username:password at server:port", " ", 0);
- ret = pk_spawn_argv (spawn, argv, envp);
- g_free (path);
- g_strfreev (argv);
- g_strfreev (envp);
- if (ret)
- egg_test_success (test, "ran correct file");
- else
- egg_test_failed (test, "did not run helper");
-
- /* wait for finished */
- egg_test_loop_wait (test, 10000);
- egg_test_loop_check (test);
-
- /* get new object */
- new_spawn_object (test, &spawn);
-
- /************************************************************
- ********** Killing tests ***********
- ************************************************************/
- egg_test_title (test, "make sure run correct helper, and cancel it using SIGKILL");
- mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
- path = egg_test_get_data_file ("pk-spawn-test.sh");
- argv = g_strsplit (path, " ", 0);
- ret = pk_spawn_argv (spawn, argv, NULL);
- g_free (path);
- g_strfreev (argv);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not run helper");
-
- g_timeout_add_seconds (1, cancel_cb, spawn);
- /* wait for finished */
- egg_test_loop_wait (test, 5000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "make sure finished in SIGKILL");
- if (mexit == PK_SPAWN_EXIT_TYPE_SIGKILL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "finish %i!", mexit);
-
- /* get new object */
- new_spawn_object (test, &spawn);
-
- /************************************************************/
- egg_test_title (test, "make sure dumb helper ignores SIGQUIT");
- mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
- path = egg_test_get_data_file ("pk-spawn-test.sh");
- argv = g_strsplit (path, " ", 0);
- g_object_set (spawn,
- "allow-sigkill", FALSE,
- NULL);
- ret = pk_spawn_argv (spawn, argv, NULL);
- g_free (path);
- g_strfreev (argv);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not run helper");
-
- g_timeout_add_seconds (1, cancel_cb, spawn);
- /* wait for finished */
- egg_test_loop_wait (test, 10000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "make sure finished in SIGQUIT");
- if (mexit == PK_SPAWN_EXIT_TYPE_SIGQUIT)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "finish %i!", mexit);
-
- /* get new object */
- new_spawn_object (test, &spawn);
-
- /************************************************************/
- egg_test_title (test, "make sure run correct helper, and SIGQUIT it");
- mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
- path = egg_test_get_data_file ("pk-spawn-test-sigquit.sh");
- argv = g_strsplit (path, " ", 0);
- ret = pk_spawn_argv (spawn, argv, NULL);
- g_free (path);
- g_strfreev (argv);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not run helper");
-
- g_timeout_add_seconds (1, cancel_cb, spawn);
- /* wait for finished */
- egg_test_loop_wait (test, 2000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "make sure finished in SIGQUIT");
- if (mexit == PK_SPAWN_EXIT_TYPE_SIGQUIT)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "finish %i!", mexit);
-
- /************************************************************/
- egg_test_title (test, "run lots of data for profiling");
- path = egg_test_get_data_file ("pk-spawn-test-profiling.sh");
- argv = g_strsplit (path, " ", 0);
- ret = pk_spawn_argv (spawn, argv, NULL);
- g_free (path);
- g_strfreev (argv);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not run profiling helper");
-
- /* get new object */
- new_spawn_object (test, &spawn);
-
- /************************************************************
- ********** Can we send commands to a dispatcher ***********
- ************************************************************/
- egg_test_title (test, "run the dispatcher");
- mexit = PK_SPAWN_EXIT_TYPE_UNKNOWN;
- file = egg_test_get_data_file ("pk-spawn-dispatcher.py");
- path = g_strdup_printf ("%s\tsearch-name\tnone\tpower manager", file);
- argv = g_strsplit (path, "\t", 0);
- envp = g_strsplit ("NETWORK=TRUE LANG=C BACKGROUND=TRUE", " ", 0);
- ret = pk_spawn_argv (spawn, argv, envp);
- g_free (file);
- g_free (path);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not run dispatcher");
-
- /************************************************************/
- egg_test_title (test, "wait 2+2 seconds for the dispatcher");
- /* wait 2 seconds, and make sure we are still running */
- egg_test_loop_wait (test, 4000);
- elapsed = egg_test_elapsed (test);
- if (elapsed > 3900 && elapsed < 4100)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "dispatcher exited");
-
- /************************************************************/
- egg_test_title (test, "we got a package (+finished)?");
- if (stdout_count == 2)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not get a package");
-
- /************************************************************/
- egg_test_title (test, "dispatcher still alive?");
- if (spawn->priv->stdin_fd != -1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "dispatcher no longer alive");
-
- /************************************************************/
- egg_test_title (test, "run the dispatcher with new input");
- ret = pk_spawn_argv (spawn, argv, envp);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not run dispatcher with new input");
-
- /* this may take a while */
- egg_test_loop_wait (test, 100);
-
- /************************************************************/
- egg_test_title (test, "we got another package (not finished after bugfix)?");
- if (stdout_count == 3)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not get a package: count was %i", stdout_count);
-
- /* see if pk_spawn_exit blocks (required) */
- g_idle_add (idle_cb, test);
-
- /************************************************************/
- egg_test_title (test, "ask dispatcher to close");
- ret = pk_spawn_exit (spawn);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to close dispatcher");
-
- /************************************************************/
- egg_test_title (test, "ask dispatcher to close (again, should be closing)");
- ret = pk_spawn_exit (spawn);
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "attempted to close twice");
-
- /* this may take a while */
- egg_test_loop_wait (test, 100);
-
- /************************************************************/
- egg_test_title (test, "did dispatcher close?");
- if (spawn->priv->stdin_fd == -1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "dispatcher still running");
-
- /************************************************************/
- egg_test_title (test, "did we get the right exit code");
- if (mexit == PK_SPAWN_EXIT_TYPE_DISPATCHER_EXIT)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "finish %i!", mexit);
-
- /************************************************************/
- egg_test_title (test, "ask dispatcher to close (again)");
- ret = pk_spawn_exit (spawn);
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "dispatcher closed twice");
-
- g_strfreev (argv);
- g_strfreev (envp);
- g_object_unref (spawn);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-spawn.h b/src/pk-spawn.h
index 308f2e8..c81b6d1 100644
--- a/src/pk-spawn.h
+++ b/src/pk-spawn.h
@@ -68,7 +68,8 @@ PkSpawn *pk_spawn_new (void);
gboolean pk_spawn_argv (PkSpawn *spawn,
gchar **argv,
- gchar **envp)
+ gchar **envp,
+ GError **error)
G_GNUC_WARN_UNUSED_RESULT;
gboolean pk_spawn_is_running (PkSpawn *spawn);
gboolean pk_spawn_kill (PkSpawn *spawn);
diff --git a/src/pk-store.c b/src/pk-store.c
index 9b39c1f..85ccb5c 100644
--- a/src/pk-store.c
+++ b/src/pk-store.c
@@ -374,113 +374,3 @@ pk_store_new (void)
return PK_STORE (store);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_store_test (EggTest *test)
-{
- PkStore *store;
- gboolean ret;
- const gchar *data_string;
- guint data_uint;
- gboolean data_bool;
-
- if (!egg_test_start (test, "PkStore"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an store");
- store = pk_store_new ();
- if (store != NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- /************************************************************/
- egg_test_title (test, "set a blank string");
- ret = pk_store_set_string (store, "dave2", "");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "set a ~bool");
- ret = pk_store_set_bool (store, "roger2", FALSE);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "set a zero uint");
- ret = pk_store_set_uint (store, "linda2", 0);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get a blank string");
- data_string = pk_store_get_string (store, "dave2");
- if (g_strcmp0 (data_string, "") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "data was %s", data_string);
-
- /************************************************************/
- egg_test_title (test, "get a ~bool");
- data_bool = pk_store_get_bool (store, "roger2");
- if (!data_bool)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "data was %i", data_bool);
-
- /************************************************************/
- egg_test_title (test, "get a zero uint");
- data_uint = pk_store_get_uint (store, "linda2");
- if (data_uint == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "data was %i", data_uint);
-
- /************************************************************/
- egg_test_title (test, "set a string");
- ret = pk_store_set_string (store, "dave", "ania");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "set a bool");
- ret = pk_store_set_bool (store, "roger", TRUE);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "set a uint");
- ret = pk_store_set_uint (store, "linda", 999);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "get a string");
- data_string = pk_store_get_string (store, "dave");
- if (g_strcmp0 (data_string, "ania") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "data was %s", data_string);
-
- /************************************************************/
- egg_test_title (test, "get a bool");
- data_bool = pk_store_get_bool (store, "roger");
- if (data_bool)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "data was %i", data_bool);
-
- /************************************************************/
- egg_test_title (test, "get a uint");
- data_uint = pk_store_get_uint (store, "linda");
- if (data_uint == 999)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "data was %i", data_uint);
-
- g_object_unref (store);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-syslog.c b/src/pk-syslog.c
index 1a322f5..69d21c8 100644
--- a/src/pk-syslog.c
+++ b/src/pk-syslog.c
@@ -127,31 +127,3 @@ pk_syslog_new (void)
return PK_SYSLOG (pk_syslog_object);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-egg_test_syslog (EggTest *test)
-{
- PkSyslog *self;
-
- if (!egg_test_start (test, "PkSyslog"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- self = pk_syslog_new ();
- if (self != NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, NULL);
-
- g_object_unref (self);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-time.c b/src/pk-time.c
index 40a0061..41791b4 100644
--- a/src/pk-time.c
+++ b/src/pk-time.c
@@ -79,28 +79,28 @@ G_DEFINE_TYPE (PkTime, pk_time, G_TYPE_OBJECT)
* Return value: if we set the average limits correctly
**/
gboolean
-pk_time_set_average_limits (PkTime *self, guint average_min, guint average_max)
+pk_time_set_average_limits (PkTime *pktime, guint average_min, guint average_max)
{
- g_return_val_if_fail (PK_IS_TIME (self), FALSE);
- self->priv->average_min = average_min;
- self->priv->average_max = average_max;
+ g_return_val_if_fail (PK_IS_TIME (pktime), FALSE);
+ pktime->priv->average_min = average_min;
+ pktime->priv->average_max = average_max;
return TRUE;
}
/**
* pk_time_set_value_limits:
- * @self: This class instance
+ * @pktime: This class instance
* @average_min: the smallest value that is acceptable for time (in seconds)
* @average_max: the largest value that is acceptable for time (in seconds)
*
* Return value: if we set the value limits correctly
**/
gboolean
-pk_time_set_value_limits (PkTime *self, guint value_min, guint value_max)
+pk_time_set_value_limits (PkTime *pktime, guint value_min, guint value_max)
{
- g_return_val_if_fail (PK_IS_TIME (self), FALSE);
- self->priv->value_min = value_min;
- self->priv->value_max = value_max;
+ g_return_val_if_fail (PK_IS_TIME (pktime), FALSE);
+ pktime->priv->value_min = value_min;
+ pktime->priv->value_max = value_max;
return TRUE;
}
@@ -110,15 +110,15 @@ pk_time_set_value_limits (PkTime *self, guint value_min, guint value_max)
* Returns time running in ms
**/
guint
-pk_time_get_elapsed (PkTime *self)
+pk_time_get_elapsed (PkTime *pktime)
{
gdouble elapsed;
- g_return_val_if_fail (PK_IS_TIME (self), 0);
+ g_return_val_if_fail (PK_IS_TIME (pktime), 0);
- elapsed = g_timer_elapsed (self->priv->timer, NULL);
+ elapsed = g_timer_elapsed (pktime->priv->timer, NULL);
elapsed *= 1000;
- elapsed += self->priv->time_offset;
+ elapsed += pktime->priv->time_offset;
return (guint) elapsed;
}
@@ -142,7 +142,7 @@ pk_time_get_gradient (PkTimeItem *item1, PkTimeItem *item2)
* Returns time in seconds
**/
guint
-pk_time_get_remaining (PkTime *self)
+pk_time_get_remaining (PkTime *pktime)
{
guint i;
guint averaged = 0;
@@ -155,9 +155,9 @@ pk_time_get_remaining (PkTime *self)
PkTimeItem *item;
PkTimeItem *item_prev;
- g_return_val_if_fail (PK_IS_TIME (self), 0);
+ g_return_val_if_fail (PK_IS_TIME (pktime), 0);
- length = self->priv->array->len;
+ length = pktime->priv->array->len;
if (length < 2) {
egg_debug ("array too small");
return 0;
@@ -165,8 +165,8 @@ pk_time_get_remaining (PkTime *self)
/* get as many as we can */
for (i=length-1; i>0; i--) {
- item_prev = g_ptr_array_index (self->priv->array, i-1);
- item = g_ptr_array_index (self->priv->array, i);
+ item_prev = g_ptr_array_index (pktime->priv->array, i-1);
+ item = g_ptr_array_index (pktime->priv->array, i);
grad = pk_time_get_gradient (item, item_prev);
// egg_debug ("gradient between %i/%i=%f", i-1, i, grad);
if (grad < 0.00001 || grad > 100) {
@@ -174,14 +174,14 @@ pk_time_get_remaining (PkTime *self)
} else {
grad_ave += grad;
averaged++;
- if (averaged > self->priv->average_max) {
+ if (averaged > pktime->priv->average_max) {
break;
}
}
}
egg_debug ("averaged %i points", averaged);
- if (averaged < self->priv->average_min) {
+ if (averaged < pktime->priv->average_min) {
egg_debug ("not enough samples for accurate time: %i", averaged);
return 0;
}
@@ -191,11 +191,11 @@ pk_time_get_remaining (PkTime *self)
egg_debug ("grad_ave=%f", grad_ave);
/* just for debugging */
- elapsed = pk_time_get_elapsed (self);
+ elapsed = pk_time_get_elapsed (pktime);
egg_debug ("elapsed=%i", elapsed);
/* 100 percent to be complete */
- item = g_ptr_array_index (self->priv->array, length - 1);
+ item = g_ptr_array_index (pktime->priv->array, length - 1);
percentage_left = 100 - item->percentage;
egg_debug ("percentage_left=%i", percentage_left);
estimated = (gfloat) percentage_left / grad_ave;
@@ -204,9 +204,9 @@ pk_time_get_remaining (PkTime *self)
estimated /= 1000;
egg_debug ("estimated=%f seconds", estimated);
- if (estimated < self->priv->value_min) {
+ if (estimated < pktime->priv->value_min) {
estimated = 0;
- } else if (estimated > self->priv->value_max) {
+ } else if (estimated > pktime->priv->value_max) {
estimated = 0;
}
return (guint) estimated;
@@ -216,22 +216,22 @@ pk_time_get_remaining (PkTime *self)
* pk_time_add_data:
**/
gboolean
-pk_time_add_data (PkTime *self, guint percentage)
+pk_time_add_data (PkTime *pktime, guint percentage)
{
PkTimeItem *item;
guint elapsed;
- g_return_val_if_fail (PK_IS_TIME (self), FALSE);
+ g_return_val_if_fail (PK_IS_TIME (pktime), FALSE);
/* check we are going up */
- if (percentage < self->priv->last_percentage) {
+ if (percentage < pktime->priv->last_percentage) {
egg_warning ("percentage cannot go down!");
return FALSE;
}
- self->priv->last_percentage = percentage;
+ pktime->priv->last_percentage = percentage;
/* get runtime in ms */
- elapsed = pk_time_get_elapsed (self);
+ elapsed = pk_time_get_elapsed (pktime);
egg_debug ("adding %i at %i (ms)", percentage, elapsed);
@@ -239,27 +239,38 @@ pk_time_add_data (PkTime *self, guint percentage)
item = g_new0 (PkTimeItem, 1);
item->time = elapsed;
item->percentage = percentage;
- g_ptr_array_add (self->priv->array, item);
+ g_ptr_array_add (pktime->priv->array, item);
return TRUE;
}
/**
+ * pk_time_advance_clock:
+ *
+ * This function is only really useful for testing the PkTime functionality.
+ **/
+void
+pk_time_advance_clock (PkTime *pktime, guint offset)
+{
+ pktime->priv->time_offset += offset;
+}
+
+/**
* pk_time_free_data:
**/
static gboolean
-pk_time_free_data (PkTime *self)
+pk_time_free_data (PkTime *pktime)
{
guint i;
guint length;
gpointer mem;
- g_return_val_if_fail (PK_IS_TIME (self), FALSE);
+ g_return_val_if_fail (PK_IS_TIME (pktime), FALSE);
- length = self->priv->array->len;
+ length = pktime->priv->array->len;
for (i=0; i<length; i++) {
- mem = g_ptr_array_index (self->priv->array, 0);
- g_ptr_array_remove_index (self->priv->array, 0);
+ mem = g_ptr_array_index (pktime->priv->array, 0);
+ g_ptr_array_remove_index (pktime->priv->array, 0);
g_free (mem);
}
return TRUE;
@@ -269,18 +280,18 @@ pk_time_free_data (PkTime *self)
* pk_time_reset:
**/
gboolean
-pk_time_reset (PkTime *self)
+pk_time_reset (PkTime *pktime)
{
- g_return_val_if_fail (PK_IS_TIME (self), FALSE);
+ g_return_val_if_fail (PK_IS_TIME (pktime), FALSE);
- self->priv->time_offset = 0;
- self->priv->last_percentage = 0;
- self->priv->average_min = PK_TIME_AVERAGE_DEFAULT_MIN;
- self->priv->average_max = PK_TIME_AVERAGE_DEFAULT_MAX;
- self->priv->value_min = PK_TIME_VALUE_DEFAULT_MIN;
- self->priv->value_max = PK_TIME_VALUE_DEFAULT_MAX;
- g_timer_reset (self->priv->timer);
- pk_time_free_data (self);
+ pktime->priv->time_offset = 0;
+ pktime->priv->last_percentage = 0;
+ pktime->priv->average_min = PK_TIME_AVERAGE_DEFAULT_MIN;
+ pktime->priv->average_max = PK_TIME_AVERAGE_DEFAULT_MAX;
+ pktime->priv->value_min = PK_TIME_VALUE_DEFAULT_MIN;
+ pktime->priv->value_max = PK_TIME_VALUE_DEFAULT_MAX;
+ g_timer_reset (pktime->priv->timer);
+ pk_time_free_data (pktime);
return TRUE;
}
@@ -302,12 +313,12 @@ pk_time_class_init (PkTimeClass *klass)
* @time: This class instance
**/
static void
-pk_time_init (PkTime *self)
+pk_time_init (PkTime *pktime)
{
- self->priv = PK_TIME_GET_PRIVATE (self);
- self->priv->array = g_ptr_array_new ();
- self->priv->timer = g_timer_new ();
- pk_time_reset (self);
+ pktime->priv = PK_TIME_GET_PRIVATE (pktime);
+ pktime->priv->array = g_ptr_array_new ();
+ pktime->priv->timer = g_timer_new ();
+ pk_time_reset (pktime);
}
/**
@@ -317,15 +328,15 @@ pk_time_init (PkTime *self)
static void
pk_time_finalize (GObject *object)
{
- PkTime *self;
+ PkTime *pktime;
g_return_if_fail (PK_IS_TIME (object));
- self = PK_TIME (object);
- g_return_if_fail (self->priv != NULL);
- g_ptr_array_foreach (self->priv->array, (GFunc) g_free, NULL);
- g_ptr_array_free (self->priv->array, TRUE);
- g_timer_destroy (self->priv->timer);
+ pktime = PK_TIME (object);
+ g_return_if_fail (pktime->priv != NULL);
+ g_ptr_array_foreach (pktime->priv->array, (GFunc) g_free, NULL);
+ g_ptr_array_free (pktime->priv->array, TRUE);
+ g_timer_destroy (pktime->priv->timer);
G_OBJECT_CLASS (pk_time_parent_class)->finalize (object);
}
@@ -338,108 +349,8 @@ pk_time_finalize (GObject *object)
PkTime *
pk_time_new (void)
{
- PkTime *self;
- self = g_object_new (PK_TYPE_TIME, NULL);
- return PK_TIME (self);
-}
-
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-pk_time_test (EggTest *test)
-{
- PkTime *self = NULL;
- gboolean ret;
- guint value;
-
- if (!egg_test_start (test, "PkTime"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get PkTime object");
- self = pk_time_new ();
- egg_test_assert (test, self != NULL);
-
- /************************************************************/
- egg_test_title (test, "get elapsed correctly at startup");
- value = pk_time_get_elapsed (self);
- if (value < 10)
- egg_test_success (test, "elapsed at startup %i", value);
- else
- egg_test_failed (test, "elapsed at startup %i", value);
-
- /************************************************************/
- egg_test_title (test, "ignore remaining correctly");
- value = pk_time_get_remaining (self);
- if (value == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %i, not zero!", value);
-
- /************************************************************/
- g_usleep (1000*1000);
-
- /************************************************************/
- egg_test_title (test, "get elapsed correctly");
- value = pk_time_get_elapsed (self);
- if (value > 900 && value < 1100)
- egg_test_success (test, "elapsed ~1000ms: %i", value);
- else
- egg_test_failed (test, "elapsed not ~1000ms: %i", value);
-
- /************************************************************/
- egg_test_title (test, "ignore remaining correctly when not enough entries");
- value = pk_time_get_remaining (self);
- if (value == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %i, not zero!", value);
-
- /************************************************************/
- egg_test_title (test, "make sure we can add data");
- ret = pk_time_add_data (self, 10);
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "make sure we can get remaining correctly");
- value = 20;
- while (value < 60) {
- self->priv->time_offset += 2000;
- pk_time_add_data (self, value);
- value += 10;
- }
- value = pk_time_get_remaining (self);
- if (value > 9 && value < 11)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %i", value);
-
- /* reset */
- g_object_unref (self);
- self = pk_time_new ();
-
- /************************************************************/
- egg_test_title (test, "make sure we can do long times");
- value = 10;
- pk_time_add_data (self, 0);
- while (value < 60) {
- self->priv->time_offset += 4*60*1000;
- pk_time_add_data (self, value);
- value += 10;
- }
- value = pk_time_get_remaining (self);
- if (value >= 1199 && value <= 1201)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got %i", value);
-
- g_object_unref (self);
-
- egg_test_end (test);
+ PkTime *pktime;
+ pktime = g_object_new (PK_TYPE_TIME, NULL);
+ return PK_TIME (pktime);
}
-#endif
diff --git a/src/pk-time.h b/src/pk-time.h
index 76085ef..e2ea1a5 100644
--- a/src/pk-time.h
+++ b/src/pk-time.h
@@ -51,15 +51,17 @@ typedef struct
GType pk_time_get_type (void);
PkTime *pk_time_new (void);
-gboolean pk_time_add_data (PkTime *time,
+gboolean pk_time_add_data (PkTime *pktime,
guint percentage);
-gboolean pk_time_reset (PkTime *time);
-guint pk_time_get_elapsed (PkTime *time);
-guint pk_time_get_remaining (PkTime *time);
-gboolean pk_time_set_average_limits (PkTime *time,
+void pk_time_advance_clock (PkTime *pktime,
+ guint offset);
+gboolean pk_time_reset (PkTime *pktime);
+guint pk_time_get_elapsed (PkTime *pktime);
+guint pk_time_get_remaining (PkTime *pktime);
+gboolean pk_time_set_average_limits (PkTime *pktime,
guint average_min,
guint average_max);
-gboolean pk_time_set_value_limits (PkTime *time,
+gboolean pk_time_set_value_limits (PkTime *pktime,
guint value_min,
guint value_max);
diff --git a/src/pk-transaction-db.c b/src/pk-transaction-db.c
index e06ce1e..71ca3cf 100644
--- a/src/pk-transaction-db.c
+++ b/src/pk-transaction-db.c
@@ -50,12 +50,6 @@ static void pk_transaction_db_finalize (GObject *object);
#define PK_TRANSACTION_DB_ID_FILE_OBSOLETE LOCALSTATEDIR "/lib/PackageKit/job_count.dat"
-#if PK_BUILD_LOCAL
-#define PK_TRANSACTION_DB_FILE "./transactions.db"
-#else
-#define PK_TRANSACTION_DB_FILE PK_DB_DIR "/transactions.db"
-#endif
-
struct PkTransactionDbPrivate
{
sqlite3 *db;
@@ -1087,187 +1081,3 @@ pk_transaction_db_new (void)
return PK_TRANSACTION_DB (tdb);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include <glib/gstdio.h>
-#include "egg-test.h"
-
-void
-pk_transaction_db_test (EggTest *test)
-{
- PkTransactionDb *db;
- guint value;
- gchar *tid;
- gboolean ret;
- guint ms;
- gchar *proxy_http = NULL;
- gchar *proxy_ftp = NULL;
- gchar *root = NULL;
- guint seconds;
-
- if (!egg_test_start (test, "PkTransactionDb"))
- return;
-
- /* remove the self check file */
-#if PK_BUILD_LOCAL
- ret = g_file_test (PK_TRANSACTION_DB_FILE, G_FILE_TEST_EXISTS);
- if (ret) {
- egg_test_title (test, "remove old local database");
- egg_warning ("Removing %s", PK_TRANSACTION_DB_FILE);
- value = g_unlink (PK_TRANSACTION_DB_FILE);
- egg_test_assert (test, (value == 0));
- }
-#endif
-
- /************************************************************/
- egg_test_title (test, "check we created quickly");
- db = pk_transaction_db_new ();
- ms = egg_test_elapsed (test);
- if (ms < 1500)
- egg_test_success (test, "acceptable time %ims", ms);
- else
- egg_test_failed (test, "took a long time: %ims", ms);
- g_object_unref (db);
-
- /************************************************************/
- egg_test_title (test, "check we opened quickly");
- db = pk_transaction_db_new ();
- ms = egg_test_elapsed (test);
- if (ms < 100)
- egg_test_success (test, "acceptable time %ims", ms);
- else
- egg_test_failed (test, "took a long time: %ims", ms);
-
- /************************************************************/
- egg_test_title (test, "do we get the correct time on a blank database");
- value = pk_transaction_db_action_time_since (db, PK_ROLE_ENUM_REFRESH_CACHE);
- if (value == G_MAXUINT)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to get correct time, got %i", value);
-
- /************************************************************
- **************** IDENT ******************
- ************************************************************/
- egg_test_title (test, "get an tid object");
- tid = pk_transaction_db_generate_id (db);
- ms = egg_test_elapsed (test);
- if (ms < 10)
- egg_test_success (test, "acceptable time %ims", ms);
- else
- egg_test_failed (test, "took a long time: %ims", ms);
- g_free (tid);
-
- /************************************************************/
- egg_test_title (test, "get an tid object (no wait)");
- tid = pk_transaction_db_generate_id (db);
- ms = egg_test_elapsed (test);
- if (ms < 5)
- egg_test_success (test, "acceptable time %ims", ms);
- else
- egg_test_failed (test, "took a long time: %ims", ms);
- g_free (tid);
-
- /************************************************************/
- egg_test_title (test, "set the correct time");
- ret = pk_transaction_db_action_time_reset (db, PK_ROLE_ENUM_REFRESH_CACHE);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to reset value");
-
- /************************************************************/
- egg_test_title (test, "do the deferred write");
- while (g_main_context_pending (NULL))
- g_main_context_iteration (NULL, TRUE);
- ms = egg_test_elapsed (test);
- if (ms > 1)
- egg_test_success (test, "acceptable time %ims", ms);
- else
- egg_test_failed (test, "took too short time: %ims", ms);
-
- g_usleep (2*1000*1000);
-
- /************************************************************/
- egg_test_title (test, "do we get the correct time");
- value = pk_transaction_db_action_time_since (db, PK_ROLE_ENUM_REFRESH_CACHE);
- if (value > 1 && value <= 4)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to get correct time, %u", value);
-
- /************************************************************
- **************** PROXIES ******************
- ************************************************************/
- egg_test_title (test, "can we set the proxies");
- ret = pk_transaction_db_set_proxy (db, 500, "session1", "127.0.0.1:80", "127.0.0.1:21");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "can we set the proxies (overwrite)");
- ret = pk_transaction_db_set_proxy (db, 500, "session1", "127.0.0.1:8000", "127.0.0.1:21");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "can we get the proxies (non-existant user)");
- ret = pk_transaction_db_get_proxy (db, 501, "session1", &proxy_http, &proxy_ftp);
- if (proxy_http == NULL && proxy_ftp == NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to get correct proxies, %s and %s", proxy_http, proxy_ftp);
-
- /************************************************************/
- egg_test_title (test, "can we get the proxies (non-existant session)");
- ret = pk_transaction_db_get_proxy (db, 500, "session2", &proxy_http, &proxy_ftp);
- if (proxy_http == NULL && proxy_ftp == NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to get correct proxies, %s and %s", proxy_http, proxy_ftp);
-
- /************************************************************/
- egg_test_title (test, "can we get the proxies (match)");
- ret = pk_transaction_db_get_proxy (db, 500, "session1", &proxy_http, &proxy_ftp);
- if (g_strcmp0 (proxy_http, "127.0.0.1:8000") == 0 &&
- g_strcmp0 (proxy_ftp, "127.0.0.1:21") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to get correct proxies, %s and %s", proxy_http, proxy_ftp);
-
- /************************************************************
- **************** ROOT ******************
- ************************************************************/
- egg_test_title (test, "can we set the root");
- ret = pk_transaction_db_set_root (db, 500, "session1", "/mnt/chroot");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "can we set the root (overwrite)");
- ret = pk_transaction_db_set_root (db, 500, "session1", "/mnt/chroot2");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "can we get the root (non-existant user)");
- ret = pk_transaction_db_get_root (db, 501, "session1", &root);
- if (root == NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to get correct root: %s", root);
-
- /************************************************************/
- egg_test_title (test, "can we get the root (match)");
- ret = pk_transaction_db_get_root (db, 500, "session1", &root);
- if (g_strcmp0 (root, "/mnt/chroot2") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to get correct root: %s", root);
-
- g_free (root);
- g_free (proxy_http);
- g_free (proxy_ftp);
- g_object_unref (db);
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-transaction-db.h b/src/pk-transaction-db.h
index 05eef5a..e38ec8a 100644
--- a/src/pk-transaction-db.h
+++ b/src/pk-transaction-db.h
@@ -34,6 +34,12 @@ G_BEGIN_DECLS
#define PK_IS_TRANSACTION_DB_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PK_TYPE_TRANSACTION_DB))
#define PK_TRANSACTION_DB_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PK_TYPE_TRANSACTION_DB, PkTransactionDbClass))
+#if PK_BUILD_LOCAL
+#define PK_TRANSACTION_DB_FILE "./transactions.db"
+#else
+#define PK_TRANSACTION_DB_FILE PK_DB_DIR "/transactions.db"
+#endif
+
typedef struct PkTransactionDbPrivate PkTransactionDbPrivate;
typedef struct
diff --git a/src/pk-transaction-extra.c b/src/pk-transaction-extra.c
index 5f8f772..c18f5be 100644
--- a/src/pk-transaction-extra.c
+++ b/src/pk-transaction-extra.c
@@ -1254,28 +1254,3 @@ pk_transaction_extra_new (void)
return PK_POST_TRANS (extra);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-egg_test_extra_trans (EggTest *test)
-{
- PkTransactionExtra *extra;
-
- if (!egg_test_start (test, "PkTransactionExtra"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get an instance");
- extra = pk_transaction_extra_new ();
- egg_test_assert (test, extra != NULL);
-
- g_object_unref (extra);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-transaction-list.c b/src/pk-transaction-list.c
index 569adf1..37c41ba 100644
--- a/src/pk-transaction-list.c
+++ b/src/pk-transaction-list.c
@@ -112,6 +112,26 @@ pk_transaction_list_get_from_tid (PkTransactionList *tlist, const gchar *tid)
}
/**
+ * pk_transaction_list_get_transaction:
+ **/
+PkTransaction *
+pk_transaction_list_get_transaction (PkTransactionList *tlist, const gchar *tid,
+ gboolean *running, gboolean *committed, gboolean *finished)
+{
+ PkTransactionItem *item;
+ item = pk_transaction_list_get_from_tid (tlist, tid);
+ if (item == NULL)
+ return NULL;
+ if (running != NULL)
+ *running = item->running;
+ if (committed != NULL)
+ *committed = item->committed;
+ if (finished != NULL)
+ *finished = item->finished;
+ return item->transaction;
+}
+
+/**
* pk_transaction_list_role_present:
*
* if there is a queued transaction with this role, useful to avoid having
@@ -917,588 +937,3 @@ pk_transaction_list_new (void)
return PK_TRANSACTION_LIST (pk_transaction_list_object);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-#include "pk-backend-internal.h"
-#include "pk-cache.h"
-#include "pk-transaction-db.h"
-
-static PkTransactionDb *db = NULL;
-
-/**
- * pk_transaction_list_test_finished_cb:
- **/
-static void
-pk_transaction_list_test_finished_cb (PkTransaction *transaction, const gchar *exit_text, guint time, EggTest *test)
-{
- egg_test_loop_quit (test);
-}
-
-/**
- * pk_transaction_list_test_delay_cb:
- **/
-static void
-pk_transaction_list_test_delay_cb (EggTest *test)
-{
- egg_debug ("quitting loop");
- egg_test_loop_quit (test);
-}
-
-/**
- * pk_transaction_list_test_get_item:
- **/
-static PkTransactionItem *
-pk_transaction_list_test_get_item (PkTransactionList *tlist)
-{
- PkTransactionItem *item;
- gchar *tid;
-
- /* get tid */
- tid = pk_transaction_db_generate_id (db);
-
- /* create PkTransaction instance */
- pk_transaction_list_create (tlist, tid, ":0", NULL);
- item = pk_transaction_list_get_from_tid (tlist, tid);
- g_free (tid);
-
- /* return object */
- return item;
-}
-
-void
-pk_transaction_list_test (EggTest *test)
-{
- PkTransactionList *tlist;
- PkCache *cache;
- gboolean ret;
- gchar *tid;
- guint size;
- gchar **array;
- PkTransactionItem *item;
- PkTransactionItem *item1;
- PkTransactionItem *item2;
- PkTransactionItem *item3;
-
- if (!egg_test_start (test, "PkTransactionList"))
- return;
-
- /* remove the self check file */
-#if PK_BUILD_LOCAL
- ret = g_file_test ("./transactions.db", G_FILE_TEST_EXISTS);
- if (ret) {
- egg_test_title (test, "remove old local database");
- egg_warning ("Removing %s", "./transactions.db");
- size = g_unlink ("./transactions.db");
- egg_test_assert (test, (size == 0));
- }
-#endif
-
- /* we get a cache object to reproduce the engine having it ref'd */
- cache = pk_cache_new ();
- db = pk_transaction_db_new ();
-
- /************************************************************/
- egg_test_title (test, "get a transaction list object");
- tlist = pk_transaction_list_new ();
- egg_test_assert (test, tlist != NULL);
-
- /************************************************************/
- egg_test_title (test, "make sure we get a valid tid");
- tid = pk_transaction_db_generate_id (db);
- if (tid != NULL)
- egg_test_success (test, "got tid %s", tid);
- else
- egg_test_failed (test, "failed to get tid");
-
- /************************************************************/
- egg_test_title (test, "create a transaction object");
- ret = pk_transaction_list_create (tlist, tid, ":0", NULL);
- if (ret)
- egg_test_success (test, "created transaction %s", tid);
- else
- egg_test_failed (test, "failed to create transaction");
-
- /************************************************************/
- egg_test_title (test, "make sure we get the right object back");
- item = pk_transaction_list_get_from_tid (tlist, tid);
- if (item != NULL &&
- (g_strcmp0 (item->tid, tid) == 0) &&
- item->transaction != NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "could not find in db");
-
- /************************************************************/
- egg_test_title (test, "make sure item has correct flags");
- if (item->running == FALSE && item->committed == FALSE && item->finished == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item->running, item->committed, item->finished);
-
- /************************************************************/
- egg_test_title (test, "get size one we have in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) in progress");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- /************************************************************/
- egg_test_title (test, "add again the same tid (should fail)");
- ret = pk_transaction_list_create (tlist, tid, ":0", NULL);
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "added the same tid twice");
-
- /************************************************************/
- egg_test_title (test, "remove without ever committing");
- ret = pk_transaction_list_remove (tlist, tid);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to remove");
-
- /************************************************************/
- egg_test_title (test, "get size none we have in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /* get a new tid */
- g_free (tid);
- tid = pk_transaction_db_generate_id (db);
-
- /************************************************************/
- egg_test_title (test, "create another item");
- ret = pk_transaction_list_create (tlist, tid, ":0", NULL);
- if (ret)
- egg_test_success (test, "created transaction %s", tid);
- else
- egg_test_failed (test, "failed to create transaction");
-
- /************************************************************/
- PkBackend *backend;
- backend = pk_backend_new ();
- egg_test_title (test, "try to load a valid backend");
- ret = pk_backend_set_name (backend, "dummy");
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "lock an valid backend");
- ret = pk_backend_lock (backend);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "failed to lock");
-
- /************************************************************/
- egg_test_title (test, "get from db");
- item = pk_transaction_list_get_from_tid (tlist, tid);
- if (item != NULL &&
- (g_strcmp0 (item->tid, tid) == 0) &&
- item->transaction != NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "could not find in db");
-
- g_signal_connect (item->transaction, "finished",
- G_CALLBACK (pk_transaction_list_test_finished_cb), test);
-
- /* this tests the run-on-commit action */
- pk_transaction_get_updates (item->transaction, "none", NULL);
-
- /************************************************************/
- egg_test_title (test, "make sure item has correct flags");
- if (item->running == TRUE && item->committed == TRUE && item->finished == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item->running, item->committed, item->finished);
-
- /************************************************************/
- egg_test_title (test, "get present role");
- ret = pk_transaction_list_role_present (tlist, PK_ROLE_ENUM_GET_UPDATES);
- if (ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not get role");
-
- /************************************************************/
- egg_test_title (test, "get non-present role");
- ret = pk_transaction_list_role_present (tlist, PK_ROLE_ENUM_SEARCH_NAME);
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "got missing role");
-
- /************************************************************/
- egg_test_title (test, "get size we have in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) in progress");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- /* wait for Finished */
- egg_test_loop_wait (test, 2000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "get size one we have in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) in progress (none)");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- /************************************************************/
- egg_test_title (test, "remove already removed");
- ret = pk_transaction_list_remove (tlist, tid);
- if (!ret)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "tried to remove");
-
- /* wait for Cleanup */
- g_timeout_add_seconds (5, (GSourceFunc) pk_transaction_list_test_delay_cb, test);
- egg_test_loop_wait (test, 10000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "make sure queue empty");
- size = pk_transaction_list_get_size (tlist);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- g_free (tid);
-
- /************************************************************
- *************** Get updates from cache *****************
- ************************************************************/
- item = pk_transaction_list_test_get_item (tlist);
- g_signal_connect (item->transaction, "finished",
- G_CALLBACK (pk_transaction_list_test_finished_cb), test);
-
- pk_transaction_get_updates (item->transaction, "none", NULL);
-
- /* wait for cached results*/
- egg_test_loop_wait (test, 1000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "make sure item has correct flags");
- if (item->running == FALSE && item->committed == TRUE && item->finished == TRUE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item->running, item->committed, item->finished);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) in progress (none, as cached)");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- /************************************************************/
- egg_test_title (test, "get size we have in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /* wait for Cleanup */
- g_timeout_add_seconds (5, (GSourceFunc) pk_transaction_list_test_delay_cb, test);
- egg_test_loop_wait (test, 10000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) in progress (none, as cached)");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- /************************************************************/
- egg_test_title (test, "get size we have in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /************************************************************
- **************** Chained transactions ******************
- ************************************************************/
-
- /* create three instances in list */
- item1 = pk_transaction_list_test_get_item (tlist);
- item2 = pk_transaction_list_test_get_item (tlist);
- item3 = pk_transaction_list_test_get_item (tlist);
-
- /************************************************************/
- egg_test_title (test, "get all items in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 3)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) committed");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- g_signal_connect (item1->transaction, "finished",
- G_CALLBACK (pk_transaction_list_test_finished_cb), test);
- g_signal_connect (item2->transaction, "finished",
- G_CALLBACK (pk_transaction_list_test_finished_cb), test);
- g_signal_connect (item3->transaction, "finished",
- G_CALLBACK (pk_transaction_list_test_finished_cb), test);
-
- /* this starts one action */
- array = g_strsplit ("dave", " ", -1);
- pk_transaction_search_details (item1->transaction, "none", array, NULL);
- g_strfreev (array);
-
- /* this should be chained after the first action completes */
- array = g_strsplit ("power", " ", -1);
- pk_transaction_search_names (item2->transaction, "none", array, NULL);
- g_strfreev (array);
-
- /* this starts be chained after the second action completes */
- array = g_strsplit ("paul", " ", -1);
- pk_transaction_search_details (item3->transaction, "none", array, NULL);
- g_strfreev (array);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) in progress (all)");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 3)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- /* wait for first action */
- egg_test_loop_wait (test, 10000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "get all items in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 3)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) (two, first one finished)");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 2)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- /************************************************************/
- egg_test_title (test, "make sure item1 has correct flags");
- if (item1->running == FALSE && item1->committed == TRUE && item1->finished == TRUE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item1->running, item1->committed, item1->finished);
-
- /************************************************************/
- egg_test_title (test, "make sure item2 has correct flags");
- if (item2->running == TRUE && item2->committed == TRUE && item2->finished == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item2->running, item2->committed, item2->finished);
-
- /************************************************************/
- egg_test_title (test, "make sure item3 has correct flags");
- if (item3->running == FALSE && item3->committed == TRUE && item3->finished == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item3->running, item3->committed, item3->finished);
-
- /* wait for second action */
- egg_test_loop_wait (test, 10000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "get all items in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 3)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) in progress (one)");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 1)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- /************************************************************/
- egg_test_title (test, "make sure item1 has correct flags");
- if (item1->running == FALSE && item1->committed == TRUE && item1->finished == TRUE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item1->running, item1->committed, item1->finished);
-
- /************************************************************/
- egg_test_title (test, "make sure item2 has correct flags");
- if (item2->running == FALSE && item2->committed == TRUE && item2->finished == TRUE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item2->running, item2->committed, item2->finished);
-
- /************************************************************/
- egg_test_title (test, "make sure item3 has correct flags");
- if (item3->running == TRUE && item3->committed == TRUE && item3->finished == FALSE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item3->running, item3->committed, item3->finished);
-
- /* wait for third action */
- egg_test_loop_wait (test, 10000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "get all items in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 3)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) in progress (none)");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- /************************************************************/
- egg_test_title (test, "make sure item1 has correct flags");
- if (item1->running == FALSE && item1->committed == TRUE && item1->finished == TRUE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item1->running, item1->committed, item1->finished);
-
- /************************************************************/
- egg_test_title (test, "make sure item2 has correct flags");
- if (item2->running == FALSE && item2->committed == TRUE && item2->finished == TRUE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item2->running, item2->committed, item2->finished);
-
- /************************************************************/
- egg_test_title (test, "make sure item3 has correct flags");
- if (item3->running == FALSE && item3->committed == TRUE && item3->finished == TRUE)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "wrong flags: running[%i] committed[%i] finished[%i]",
- item3->running, item3->committed, item3->finished);
-
- /* wait for Cleanup */
- g_timeout_add_seconds (5, (GSourceFunc) pk_transaction_list_test_delay_cb, test);
- egg_test_loop_wait (test, 10000);
- egg_test_loop_check (test);
-
- /************************************************************/
- egg_test_title (test, "get both items in queue");
- size = pk_transaction_list_get_size (tlist);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
-
- /************************************************************/
- egg_test_title (test, "get transactions (committed, not finished) in progress (neither - again)");
- array = pk_transaction_list_get_array (tlist);
- size = g_strv_length (array);
- if (size == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "size %i", size);
- g_strfreev (array);
-
- g_object_unref (tlist);
- g_object_unref (backend);
- g_object_unref (cache);
- g_object_unref (db);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-transaction-list.h b/src/pk-transaction-list.h
index 25bd62b..2f75cab 100644
--- a/src/pk-transaction-list.h
+++ b/src/pk-transaction-list.h
@@ -60,7 +60,7 @@ gboolean pk_transaction_list_create (PkTransactionList *tlist,
GError **error);
gboolean pk_transaction_list_remove (PkTransactionList *tlist,
const gchar *tid);
-gboolean pk_transaction_list_set_background (PkTransactionList *tlist,
+gboolean pk_transaction_list_set_background (PkTransactionList *tlist,
const gchar *tid,
gboolean background);
gboolean pk_transaction_list_commit (PkTransactionList *tlist,
@@ -73,6 +73,11 @@ gchar **pk_transaction_list_get_array (PkTransactionList *tlist)
gchar *pk_transaction_list_get_state (PkTransactionList *tlist)
G_GNUC_WARN_UNUSED_RESULT;
guint pk_transaction_list_get_size (PkTransactionList *tlist);
+PkTransaction *pk_transaction_list_get_transaction (PkTransactionList *tlist,
+ const gchar *tid,
+ gboolean *running,
+ gboolean *committed,
+ gboolean *finished);
G_END_DECLS
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index 055a641..356b33d 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -2036,8 +2036,8 @@ pk_transaction_strvalidate_char (gchar item)
*
* Return value: %TRUE if the string is valid
**/
-static gboolean
-pk_transaction_strvalidate (const gchar *text)
+gboolean
+pk_transaction_strvalidate (const gchar *text, GError **error)
{
guint i;
guint length;
@@ -2045,13 +2045,15 @@ pk_transaction_strvalidate (const gchar *text)
/* maximum size is 1024 */
length = egg_strlen (text, 1024);
if (length > 1024) {
- egg_warning ("input too long: %u", length);
+ g_set_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
+ "Invalid input passed to daemon: input too long: %u", length);
return FALSE;
}
for (i=0; i<length; i++) {
if (pk_transaction_strvalidate_char (text[i]) == FALSE) {
- egg_warning ("invalid char '%c' in text!", text[i]);
+ g_set_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
+ "Invalid input passed to daemon: char '%c' in text!", text[i]);
return FALSE;
}
}
@@ -2095,12 +2097,9 @@ pk_transaction_search_check_item (const gchar *values, GError **error)
"The search string length is too large");
return FALSE;
}
- ret = pk_transaction_strvalidate (values);
- if (!ret) {
- g_set_error_literal (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
- "Invalid search term");
+ ret = pk_transaction_strvalidate (values, error);
+ if (!ret)
return FALSE;
- }
return TRUE;
}
@@ -2126,10 +2125,10 @@ out:
/**
* pk_transaction_filter_check:
**/
-static gboolean
+gboolean
pk_transaction_filter_check (const gchar *filter, GError **error)
{
- gchar **sections;
+ gchar **sections = NULL;
guint i;
guint length;
gboolean ret = FALSE;
@@ -2140,16 +2139,13 @@ pk_transaction_filter_check (const gchar *filter, GError **error)
if (egg_strzero (filter)) {
g_set_error_literal (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
"filter zero length");
- return FALSE;
+ goto out;
}
/* check for invalid input */
- ret = pk_transaction_strvalidate (filter);
- if (!ret) {
- g_set_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
- "Invalid filter term: %s", filter);
- return FALSE;
- }
+ ret = pk_transaction_strvalidate (filter, error);
+ if (!ret)
+ goto out;
/* split by delimeter ';' */
sections = g_strsplit (filter, ";", 0);
@@ -2157,17 +2153,18 @@ pk_transaction_filter_check (const gchar *filter, GError **error)
for (i=0; i<length; i++) {
/* only one wrong part is enough to fail the filter */
if (egg_strzero (sections[i])) {
+ ret = FALSE;
g_set_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
- "Single empty section of filter: %s", filter);
+ "Single empty section of filter: %s", filter);
goto out;
}
if (pk_filter_enum_from_string (sections[i]) == PK_FILTER_ENUM_UNKNOWN) {
+ ret = FALSE;
g_set_error (error, PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
- "Unknown filter part: %s", sections[i]);
+ "Unknown filter part: %s", sections[i]);
goto out;
}
}
- ret = TRUE;
out:
g_strfreev (sections);
return ret;
@@ -2509,10 +2506,8 @@ pk_transaction_accept_eula (PkTransaction *transaction, const gchar *eula_id, DB
}
/* check for sanity */
- ret = pk_transaction_strvalidate (eula_id);
+ ret = pk_transaction_strvalidate (eula_id, &error);
if (!ret) {
- error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
- "Invalid input passed to daemon");
pk_transaction_release_tid (transaction);
pk_transaction_dbus_return_error (context, error);
return;
@@ -3815,10 +3810,8 @@ pk_transaction_install_signature (PkTransaction *transaction, const gchar *sig_t
}
/* check for sanity */
- ret = pk_transaction_strvalidate (key_id);
+ ret = pk_transaction_strvalidate (key_id, &error);
if (!ret) {
- error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
- "Invalid input passed to daemon");
pk_transaction_release_tid (transaction);
pk_transaction_dbus_return_error (context, error);
return;
@@ -4013,10 +4006,8 @@ pk_transaction_repo_enable (PkTransaction *transaction, const gchar *repo_id, gb
}
/* check for sanity */
- ret = pk_transaction_strvalidate (repo_id);
+ ret = pk_transaction_strvalidate (repo_id, &error);
if (!ret) {
- error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
- "Invalid input passed to daemon");
pk_transaction_release_tid (transaction);
pk_transaction_dbus_return_error (context, error);
return;
@@ -4073,10 +4064,8 @@ pk_transaction_repo_set_data (PkTransaction *transaction, const gchar *repo_id,
}
/* check for sanity */
- ret = pk_transaction_strvalidate (repo_id);
+ ret = pk_transaction_strvalidate (repo_id, &error);
if (!ret) {
- error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
- "Invalid input passed to daemon");
pk_transaction_release_tid (transaction);
pk_transaction_dbus_return_error (context, error);
return;
@@ -4159,10 +4148,8 @@ pk_transaction_resolve (PkTransaction *transaction, const gchar *filter,
/* check each package for sanity */
for (i=0; i<length; i++) {
- ret = pk_transaction_strvalidate (packages[i]);
+ ret = pk_transaction_strvalidate (packages[i], &error);
if (!ret) {
- error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
- "Invalid input passed to daemon");
pk_transaction_release_tid (transaction);
pk_transaction_dbus_return_error (context, error);
return;
@@ -4221,10 +4208,8 @@ pk_transaction_rollback (PkTransaction *transaction, const gchar *transaction_id
}
/* check for sanity */
- ret = pk_transaction_strvalidate (transaction_id);
+ ret = pk_transaction_strvalidate (transaction_id, &error);
if (!ret) {
- error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INPUT_INVALID,
- "Invalid input passed to daemon");
pk_transaction_release_tid (transaction);
pk_transaction_dbus_return_error (context, error);
return;
@@ -5664,154 +5649,3 @@ pk_transaction_new (void)
return PK_TRANSACTION (transaction);
}
-/***************************************************************************
- *** MAKE CHECK TESTS ***
- ***************************************************************************/
-#ifdef EGG_TEST
-#include "egg-test.h"
-
-void
-egg_test_transaction (EggTest *test)
-{
- PkTransaction *transaction = NULL;
- gboolean ret;
- const gchar *temp;
- GError *error = NULL;
-#ifdef USE_SECURITY_POLKIT
- const gchar *action;
-#endif
-
- if (!egg_test_start (test, "PkTransaction"))
- return;
-
- /************************************************************/
- egg_test_title (test, "get PkTransaction object");
- transaction = pk_transaction_new ();
- egg_test_assert (test, transaction != NULL);
-
- /************************************************************
- **************** MAP ROLES ******************
- ************************************************************/
-#ifdef USE_SECURITY_POLKIT
- egg_test_title (test, "map valid role to action");
- action = pk_transaction_role_to_action_only_trusted (PK_ROLE_ENUM_UPDATE_PACKAGES);
- if (g_strcmp0 (action, "org.freedesktop.packagekit.system-update") == 0)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not get correct action '%s'", action);
-
- /************************************************************/
- egg_test_title (test, "map invalid role to action");
- action = pk_transaction_role_to_action_only_trusted (PK_ROLE_ENUM_SEARCH_NAME);
- if (action == NULL)
- egg_test_success (test, NULL);
- else
- egg_test_failed (test, "did not get correct action '%s'", action);
-#endif
-
- /************************************************************
- **************** FILTERS ******************
- ************************************************************/
- temp = NULL;
- egg_test_title (test, "test a fail filter (null)");
- ret = pk_transaction_filter_check (temp, &error);
- egg_test_assert (test, !ret);
- g_clear_error (&error);
-
- /************************************************************/
- temp = "";
- egg_test_title (test, "test a fail filter ()");
- ret = pk_transaction_filter_check (temp, &error);
- egg_test_assert (test, !ret);
- g_clear_error (&error);
-
- /************************************************************/
- temp = ";";
- egg_test_title (test, "test a fail filter (;)");
- ret = pk_transaction_filter_check (temp, &error);
- egg_test_assert (test, !ret);
- g_clear_error (&error);
-
- /************************************************************/
- temp = "moo";
- egg_test_title (test, "test a fail filter (invalid)");
- ret = pk_transaction_filter_check (temp, &error);
- egg_test_assert (test, !ret);
-
- g_clear_error (&error);
-
- /************************************************************/
- temp = "moo;foo";
- egg_test_title (test, "test a fail filter (invalid, multiple)");
- ret = pk_transaction_filter_check (temp, &error);
- egg_test_assert (test, !ret);
- g_clear_error (&error);
-
- /************************************************************/
- temp = "gui;;";
- egg_test_title (test, "test a fail filter (valid then zero length)");
- ret = pk_transaction_filter_check (temp, &error);
- egg_test_assert (test, !ret);
- g_clear_error (&error);
-
- /************************************************************/
- temp = "none";
- egg_test_title (test, "test a pass filter (none)");
- ret = pk_transaction_filter_check (temp, &error);
- egg_test_assert (test, ret);
- g_clear_error (&error);
-
- /************************************************************/
- temp = "gui";
- egg_test_title (test, "test a pass filter (single)");
- ret = pk_transaction_filter_check (temp, &error);
- egg_test_assert (test, ret);
- g_clear_error (&error);
-
- /************************************************************/
- temp = "devel;~gui";
- egg_test_title (test, "test a pass filter (multiple)");
- ret = pk_transaction_filter_check (temp, &error);
- egg_test_assert (test, ret);
- g_clear_error (&error);
-
- /************************************************************/
- temp = "~gui;~installed";
- egg_test_title (test, "test a pass filter (multiple2)");
- ret = pk_transaction_filter_check (temp, &error);
- egg_test_assert (test, ret);
- g_clear_error (&error);
-
- /************************************************************
- **************** validate text **************
- ************************************************************/
- egg_test_title (test, "validate correct char 1");
- ret = pk_transaction_strvalidate_char ('a');
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "validate correct char 2");
- ret = pk_transaction_strvalidate_char ('~');
- egg_test_assert (test, ret);
-
- /************************************************************/
- egg_test_title (test, "validate incorrect char");
- ret = pk_transaction_strvalidate_char ('$');
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "validate incorrect text");
- ret = pk_transaction_strvalidate ("richard$hughes");
- egg_test_assert (test, !ret);
-
- /************************************************************/
- egg_test_title (test, "validate correct text");
- ret = pk_transaction_strvalidate ("richardhughes");
- egg_test_assert (test, ret);
-
- g_object_unref (transaction);
-
- egg_test_end (test);
-}
-#endif
-
diff --git a/src/pk-transaction.h b/src/pk-transaction.h
index db758f2..5de3eab 100644
--- a/src/pk-transaction.h
+++ b/src/pk-transaction.h
@@ -222,6 +222,10 @@ void pk_transaction_what_provides (PkTransaction *transaction,
const gchar *type,
gchar **values,
DBusGMethodInvocation *context);
+gboolean pk_transaction_filter_check (const gchar *filter,
+ GError **error);
+gboolean pk_transaction_strvalidate (const gchar *textr,
+ GError **error);
G_END_DECLS
commit bef88a9e2e2f4e533fba40ca008fd486d11ec8ba
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Jun 29 11:23:52 2010 +0100
Ensure we clear the cancel timer when we finish a PkBackend transaction to avoid the next transaction getting cancelled automatically
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 5c8173f..4fb17af 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -2074,6 +2074,12 @@ pk_backend_finished (PkBackend *backend)
/* safe to check now */
g_return_val_if_fail (backend->priv->locked != FALSE, FALSE);
+ /* no longer need to cancel */
+ if (backend->priv->cancel_id != 0) {
+ g_source_remove (backend->priv->cancel_id);
+ backend->priv->cancel_id = 0;
+ }
+
/* find out what we just did */
role_text = pk_role_enum_to_string (backend->priv->role);
egg_debug ("finished role %s", role_text);
commit 80a2ead6e470b82ddba9d52b3fb852056ee6b554
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Jun 29 11:23:01 2010 +0100
trivial: print the overwriting role in pk_backend_set_role_internal()
diff --git a/src/pk-backend.c b/src/pk-backend.c
index f17ffd7..5c8173f 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -1980,8 +1980,9 @@ pk_backend_set_role_internal (PkBackend *backend, PkRoleEnum role)
{
/* Should only be called once... */
if (backend->priv->role != PK_ROLE_ENUM_UNKNOWN) {
- egg_warning ("cannot set role more than once, already %s",
- pk_role_enum_to_string (backend->priv->role));
+ egg_warning ("cannot set role to %s, already %s",
+ pk_role_enum_to_string (role),
+ pk_role_enum_to_string (backend->priv->role));
return FALSE;
}
commit a24e9e1263ad53a5fd0e6eadef23fdd42121c168
Merge: 406d453... d122718...
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Mon Jun 28 13:18:26 2010 -0300
Merge branch 'master' of git+ssh://git.packagekit.org/srv/git/PackageKit
commit 406d45300f7c6484e427c889e799261aadc87087
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Mon Jun 28 13:17:10 2010 -0300
aptcc: Added distro upgrade support
Added debconf support
diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index f7505af..2ba57d5 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -816,19 +816,19 @@ vector<string> searchMimeType (PkBackend *backend, gchar **values, bool &error,
// regex_t re;
// gchar *value;
// gchar *values_str;
-//
+//
// values_str = g_strjoinv("|", values);
// value = g_strdup_printf("^X-AppInstall-Codecs=\\(.*;\\)\\?\\(%s\\)\\(;.*\\)\\?$",
// values_str);
// g_free(values_str);
-//
+//
// if(regcomp(&re, value, REG_NOSUB) != 0) {
// egg_debug("Regex compilation error");
// g_free(value);
// return vector<string>();
// }
// g_free(value);
-//
+//
// DIR *dp;
// struct dirent *dirp;
// if (!(dp = opendir("/usr/share/app-install/desktop/"))) {
@@ -837,7 +837,7 @@ vector<string> searchMimeType (PkBackend *backend, gchar **values, bool &error,
// error = true;
// return vector<string>();
// }
-//
+//
// string line;
// while ((dirp = readdir(dp)) != NULL) {
// if (_cancel) {
@@ -867,7 +867,7 @@ vector<string> searchMimeType (PkBackend *backend, gchar **values, bool &error,
// }
// }
// }
-//
+//
// closedir(dp);
// regfree(&re);
// return packageList;
@@ -1079,7 +1079,7 @@ bool aptcc::removingEssentialPackages(pkgCacheFile &Cache)
List.c_str()));
return true;
}
-
+
return false;
}
@@ -1220,24 +1220,24 @@ void aptcc::updateInterface(int fd, int writeFd)
string orig_file, new_file;
// go to first ' and read until the end
- for(;str[i] != '\'' || str[i] == 0; i++)
+ for(;str[i] != '\'' || str[i] == 0; i++)
/*nothing*/
;
i++;
- for(;str[i] != '\'' || str[i] == 0; i++)
+ for(;str[i] != '\'' || str[i] == 0; i++)
orig_file.append(1, str[i]);
i++;
// same for second ' and read until the end
- for(;str[i] != '\'' || str[i] == 0; i++)
+ for(;str[i] != '\'' || str[i] == 0; i++)
/*nothing*/
;
i++;
- for(;str[i] != '\'' || str[i] == 0; i++)
+ for(;str[i] != '\'' || str[i] == 0; i++)
new_file.append(1, str[i]);
i++;
- gchar *confmsg;
+ gchar *confmsg;
confmsg = g_strdup_printf("The configuration file '%s' "
"(modified by you or a script) "
"has a newer version '%s'.\n"
@@ -1681,7 +1681,15 @@ cout << "How odd.. The sizes didn't match, email apt at packages.debian.org";
setlocale(LC_ALL, "C");
// Debconf handlying
- setenv("DEBIAN_FRONTEND", "dbus", 1);
+ gchar *socket;
+ if (socket = pk_backend_get_frontend_socket(m_backend)) {
+ setenv("DEBIAN_FRONTEND", "passthrough", 1);
+ setenv("DEBCONF_PIPE", socket, 1);
+ } else {
+ // we don't have a socket set, let's fallback to noninteractive
+ setenv("DEBIAN_FRONTEND", "noninteractive", 1);
+ }
+
gchar *locale;
// Set the LANGUAGE so debconf messages get localization
if (locale = pk_backend_get_locale(m_backend)) {
diff --git a/backends/aptcc/get-distro-upgrade.py b/backends/aptcc/get-distro-upgrade.py
new file mode 100755
index 0000000..1cda1a9
--- /dev/null
+++ b/backends/aptcc/get-distro-upgrade.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+Provides an apt backend to PackageKit
+
+Copyright (C) 2007 Ali Sabil <ali.sabil at gmail.com>
+Copyright (C) 2007 Tom Parker <palfrey at tevp.net>
+Copyright (C) 2008-2009 Sebastian Heinlein <glatzor at ubuntu.com>
+Copyright (C) 2010 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
+
+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.
+"""
+
+# TODO get rid of this python file
+import sys;
+import time;
+
+try:
+ from UpdateManager.Core.MetaRelease import MetaReleaseCore
+except ImportError:
+ META_RELEASE_SUPPORT = False
+else:
+ META_RELEASE_SUPPORT = True
+
+# Could not load the UpdateManager
+if META_RELEASE_SUPPORT == False:
+ sys.exit(1);
+
+#FIXME Evil to start the download during init
+meta_release = MetaReleaseCore(False, False)
+
+#FIXME: should use a lock
+while meta_release.downloading:
+ time.sleep(1)
+
+#FIXME: Add support for description
+if meta_release.new_dist != None:
+ print meta_release.new_dist.name;
+ print meta_release.new_dist.version;
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index 4566b95..5bf9ac5 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -20,6 +20,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include <stdio.h>
#include <apt-pkg/init.h>
#include <apt-pkg/algorithms.h>
@@ -220,6 +221,51 @@ backend_get_requires (PkBackend *backend, PkBitfield filters, gchar **package_id
pk_backend_thread_create (backend, backend_get_depends_or_requires_thread);
}
+
+static gboolean
+backend_get_distro_upgrades_thread (PkBackend *backend)
+{
+ FILE *fpipe;
+ char releaseName[256];
+ char releaseVersion[256];
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+
+ if (!(fpipe = (FILE*)popen("./get-distro-upgrade.py", "r"))) {
+ goto out;
+ }
+
+ if (fgets(releaseName, sizeof releaseName, fpipe)) {
+ goto out;
+ }
+
+ if (fgets(releaseVersion, sizeof releaseVersion, fpipe)) {
+ goto out;
+ }
+ pclose(fpipe);
+
+ pk_backend_distro_upgrade (backend,
+ PK_DISTRO_UPGRADE_ENUM_STABLE,
+ g_strdup_printf("%s %s", releaseName, releaseVersion),
+ "The latest stable release");
+
+ pk_backend_finished (backend);
+ return true;
+
+out:
+ pk_backend_finished (backend);
+ return false;
+}
+
+/**
+ * backend_get_distro_upgrades:
+ */
+static void
+backend_get_distro_upgrades (PkBackend *backend)
+{
+ pk_backend_thread_create (backend, backend_get_distro_upgrades_thread);
+}
+
static gboolean
backend_get_files_thread (PkBackend *backend)
{
@@ -1463,7 +1509,7 @@ extern "C" PK_BACKEND_OPTIONS (
NULL, /* get_categories */
backend_get_depends, /* get_depends */
backend_get_details, /* get_details */
- NULL, /* get_distro_upgrades */
+ backend_get_distro_upgrades, /* get_distro_upgrades */
backend_get_files, /* get_files */
backend_get_packages, /* get_packages */
backend_get_repo_list, /* get_repo_list */
diff --git a/docs/html/pk-matrix.html b/docs/html/pk-matrix.html
index b923dab..ec8d93b 100644
--- a/docs/html/pk-matrix.html
+++ b/docs/html/pk-matrix.html
@@ -117,7 +117,7 @@
<tr>
<td><b>GetDistroUpgrades</b></td>
<td><img src="img/status-good.png" alt="[yes]"/></td><!-- apt -->
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- aptcc -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- aptcc -->
<td><img src="img/status-bad.png" alt="[no]"/></td><!-- alpm -->
<td><img src="img/status-bad.png" alt="[no]"/></td><!-- box -->
<td><img src="img/status-bad.png" alt="[no]"/></td><!-- conary -->
commit d122718318f588735c53189437422b55c1c4fb14
Author: Anders F Bjorklund <afb at users.sourceforge.net>
Date: Mon Jun 28 11:45:47 2010 +0200
ports: use distfiles size, for uninstalled packages
diff --git a/backends/ports/portsBackend.rb b/backends/ports/portsBackend.rb
index 7e92026..7e0e545 100755
--- a/backends/ports/portsBackend.rb
+++ b/backends/ports/portsBackend.rb
@@ -480,6 +480,23 @@ GROUPS = {
end
end
+ def _distsize(origin)
+ portdir = $portsdb.portdir(origin)
+ file = $portsdb.make_var('MD5_FILE', portdir) # 'distinfo'
+ dist_dir = $portsdb.make_var('DISTDIR', $portsdb.my_portdir)
+ distsize = 0
+ open(file) do |f|
+ f.each do |line|
+ if /^SIZE \((.*)\) = ([0-9]+)/ =~ line
+ if not File.exist?(File.join(dist_dir, $1))
+ distsize += $2.to_i
+ end
+ end
+ end
+ end
+ return distsize
+ end
+
def get_details(package_ids)
status(STATUS_INFO)
package_ids.each do |package|
@@ -506,7 +523,7 @@ GROUPS = {
desc = desc.gsub(/\n/, ';')
desc = desc.gsub(/\t/, ' ')
end
- size = pkg.totalsize || 0
+ size = pkg.totalsize || _distsize(port.origin)
details(package, license, group, desc, www, size)
end
else
commit 2b79865440d4ff89bb7daca617ebed296fe83f76
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Fri Jun 25 12:43:52 2010 +0200
APT: Fix group searching. Missed an API change.
diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index b2539bb..1d91c6a 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -607,11 +607,11 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._emit_visible_package(filters, pkg)
break
- def search_group(self, filters_str, group):
+ def search_group(self, filters_str, groups):
"""
Implement the apt2-search-group functionality
"""
- pklog.info("Searching for group: %s" % group)
+ pklog.info("Searching for groups: %s" % groups)
self.status(STATUS_QUERY)
self.percentage(None)
self._check_init(progress=False)
@@ -621,7 +621,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
filters = filters_str.split(";")
for pkg in self._cache:
- if self._get_package_group(pkg) == group:
+ if self._get_package_group(pkg) in groups:
self._emit_visible_package(filters, pkg)
def search_name(self, filters_str, values):
commit cb52a7ef6bcc6cc73849593f5b75b435638e5376
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Fri Jun 25 10:13:57 2010 +0200
APT: Adapt to an API change to allow OR searches (from last December)
diff --git a/backends/apt/pk-backend-apt.c b/backends/apt/pk-backend-apt.c
index 7c8e5c5..79ec435 100644
--- a/backends/apt/pk-backend-apt.c
+++ b/backends/apt/pk-backend-apt.c
@@ -331,48 +331,60 @@ backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow
* pk_backend_search_details:
*/
static void
-backend_search_details (PkBackend *backend, PkBitfield filters, const gchar *search)
+backend_search_details (PkBackend *backend, PkBitfield filters, gchar **values)
{
gchar *filters_text;
+ gchar *search;
filters_text = pk_filter_bitfield_to_string (filters);
+ search = g_strjoinv ("&", values);
pk_backend_spawn_helper (spawn, "aptBackend.py", "search-details", filters_text, search, NULL);
g_free (filters_text);
+ g_free (search);
}
/**
* pk_backend_search_file:
*/
static void
-backend_search_file (PkBackend *backend, PkBitfield filters, const gchar *search)
+backend_search_file (PkBackend *backend, PkBitfield filters, gchar **values)
{
gchar *filters_text;
+ gchar *search;
filters_text = pk_filter_bitfield_to_string (filters);
+ search = g_strjoinv ("&", values);
pk_backend_spawn_helper (spawn, "aptBackend.py", "search-file", filters_text, search, NULL);
g_free (filters_text);
+ g_free (search);
}
/**
* pk_backend_search_group:
*/
static void
-backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search)
+backend_search_group (PkBackend *backend, PkBitfield filters, gchar **values)
{
gchar *filters_text;
+ gchar *search;
filters_text = pk_filter_bitfield_to_string (filters);
+ search = g_strjoinv ("&", values);
pk_backend_spawn_helper (spawn, "aptBackend.py", "search-group", filters_text, search, NULL);
g_free (filters_text);
+ g_free (search);
}
/**
* pk_backend_search_name:
*/
static void
-backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search)
+backend_search_name (PkBackend *backend, PkBitfield filters, gchar **values)
{
gchar *filters_text;
+ gchar *search;
filters_text = pk_filter_bitfield_to_string (filters);
+ search = g_strjoinv ("&", values);
pk_backend_spawn_helper (spawn, "aptBackend.py", "search-name", filters_text, search, NULL);
g_free (filters_text);
+ g_free (search);
}
/**
commit 2e48cf3c1d23d8c6c3d5811d893882c1616bdd5a
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Fri Jun 25 09:33:10 2010 +0200
APT: Trivial. Fix an oversight from the last commit
diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index eec7500..b2539bb 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -548,7 +548,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
Works only for installed file if apt-file isn't installed.
"""
- pklog.info("Searching for file: %s" % filenames_string)
+ pklog.info("Searching for file: %s" % filenames)
self.status(STATUS_QUERY)
self.percentage(None)
self._check_init(progress=False)
commit 0a7e2306c0e9190a06cafcd82e6e4683808412bf
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Fri Jun 25 09:26:52 2010 +0200
APT: Adapt to splitted arguments from the Python backend
diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 474ac85..eec7500 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -543,7 +543,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
# Methods ( client -> engine -> backend )
- def search_file(self, filters, filenames_string):
+ def search_file(self, filters_str, filenames):
"""Search for files in packages.
Works only for installed file if apt-file isn't installed.
@@ -554,13 +554,15 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._check_init(progress=False)
self.allow_cancel(True)
- filenames = filenames_string.split("&")
+ #FIXME: Should be done by the backend class
+ filters = filters_str.split(";")
+
result_names = set()
# Optionally make use of apt-file's Contents cache to search for not
# installed files. But still search for installed files additionally
# to make sure that we provide up-to-date results
if os.path.exists("/usr/bin/apt-file") and \
- FILTER_INSTALLED not in filters.split(";"):
+ FILTER_INSTALLED not in filters:
#FIXME: Make use of rapt-file on Debian if the network is available
#FIXME: Show a warning to the user if the apt-file cache is several
# weeks old
@@ -605,7 +607,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._emit_visible_package(filters, pkg)
break
- def search_group(self, filters, group):
+ def search_group(self, filters_str, group):
"""
Implement the apt2-search-group functionality
"""
@@ -615,11 +617,14 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._check_init(progress=False)
self.allow_cancel(True)
+ #FIXME: Should be done by the backend class
+ filters = filters_str.split(";")
+
for pkg in self._cache:
if self._get_package_group(pkg) == group:
self._emit_visible_package(filters, pkg)
- def search_name(self, filters, values):
+ def search_name(self, filters_str, values):
"""
Implement the apt2-search-name functionality
"""
@@ -634,12 +639,15 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self._check_init(progress=False)
self.allow_cancel(True)
+ #FIXME: Should be done by the backend class
+ filters = filters_str.split(";")
+
for pkg_name in self._cache.keys():
if matches(values, pkg_name):
self._emit_all_visible_pkg_versions(filters,
self._cache[pkg_name])
- def search_details(self, filters, values):
+ def search_details(self, filters_str, values):
"""
Implement the apt2-search-details functionality
"""
@@ -650,6 +658,9 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self.allow_cancel(True)
results = []
+ #FIXME: Should be done by the backend class
+ filters = filters_str.split(";")
+
if XAPIAN_SUPPORT == True:
search_flags = (xapian.QueryParser.FLAG_BOOLEAN |
xapian.QueryParser.FLAG_PHRASE |
@@ -1088,7 +1099,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self.error(ERROR_INTERNAL_ERROR,
"Please make sure that python-software-properties is"
"correctly installed.")
- filter_list = filters.split(";")
repos = PackageKitSoftwareProperties()
# Emit distro components as virtual repositories
for comp in repos.distro.source_template.components:
@@ -1099,7 +1109,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
comp.name)
#FIXME: There is no inconsitent state in PackageKit
enabled = repos.get_comp_download_state(comp)[0]
- if not FILTER_DEVELOPMENT in filter_list:
+ if not FILTER_DEVELOPMENT in filters:
self.repo_detail(repo_id,
description.decode(DEFAULT_ENCODING),
enabled)
@@ -1112,13 +1122,13 @@ class PackageKitAptBackend(PackageKitBaseBackend):
template.name)
#FIXME: There is no inconsitent state in PackageKit
enabled = repos.get_comp_child_state(template)[0]
- if not FILTER_DEVELOPMENT in filter_list:
+ if not FILTER_DEVELOPMENT in filters:
self.repo_detail(repo_id,
description.decode(DEFAULT_ENCODING),
enabled)
# Emit distro's cdrom sources
for source in repos.get_cdrom_sources():
- if FILTER_NOT_DEVELOPMENT in filter_list and \
+ if FILTER_NOT_DEVELOPMENT in filters and \
source.type in ("deb-src", "rpm-src"):
continue
enabled = not source.disabled
@@ -1129,7 +1139,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
self.repo_detail(repo_id, description.decode(DEFAULT_ENCODING),
enabled)
# Emit distro's virtual source code repositoriy
- if not FILTER_NOT_DEVELOPMENT in filter_list:
+ if not FILTER_NOT_DEVELOPMENT in filters:
repo_id = "%s_source" % repos.distro.id
enabled = repos.get_source_code_state() or False
#FIXME: no translation :(
@@ -1139,7 +1149,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
enabled)
# Emit third party repositories
for source in repos.get_isv_sources():
- if FILTER_NOT_DEVELOPMENT in filter_list and \
+ if FILTER_NOT_DEVELOPMENT in filters and \
source.type in ("deb-src", "rpm-src"):
continue
enabled = not source.disabled
@@ -1570,8 +1580,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
"""Send a blocked package signal for the given
apt.package.BaseDependency.
"""
- filters_lst = filters.split(";")
- if FILTER_INSTALLED in filters_lst:
+ if FILTER_INSTALLED in filters:
return
if pkg:
summary = pkg.summary
@@ -2021,9 +2030,9 @@ class PackageKitAptBackend(PackageKitBaseBackend):
"""
Return True if the package should be shown in the user interface
"""
- if filters == FILTER_NONE:
+ if filters == [FILTER_NONE]:
return True
- for filter in filters.split(";"):
+ for filter in filters:
if (filter == FILTER_INSTALLED and not pkg.isInstalled) or \
(filter == FILTER_NOT_INSTALLED and pkg.isInstalled) or \
(filter == FILTER_SUPPORTED and not \
commit bb540392bcc9be20c75d5d2059d59b74ab028df3
Author: Michael Meeks <michael.meeks at novell.com>
Date: Wed Jun 23 12:44:58 2010 +0100
Don't crash checking status of non-patches.
diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
index 86ea3fd..7fb3aca 100644
--- a/backends/zypp/zypp-utils.cpp
+++ b/backends/zypp/zypp-utils.cpp
@@ -777,6 +777,9 @@ zypp_get_updates (PkBackend *backend)
gboolean
zypp_get_restart (PkRestartEnum &restart, zypp::Patch::constPtr patch)
{
+ if (patch == NULL)
+ return false;
+
// set the restart flag if a restart is needed
if (restart != PK_RESTART_ENUM_SYSTEM && (patch->reloginSuggested () ||
patch->restartSuggested () ||
commit b9460af7429630144b01fab9dd08aa2c2534b700
Author: Michael Meeks <michael.meeks at novell.com>
Date: Wed Jun 23 10:44:54 2010 +0100
fix FPE when there are no repos.
diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
index 0c2272c..86ea3fd 100644
--- a/backends/zypp/zypp-utils.cpp
+++ b/backends/zypp/zypp-utils.cpp
@@ -1028,7 +1028,6 @@ zypp_refresh_cache (PkBackend *backend, gboolean force)
int i = 1;
int num_of_repos = repos.size ();
- int percentage_increment = 100 / num_of_repos;
gchar *repo_messages = NULL;
for (std::list <zypp::RepoInfo>::iterator it = repos.begin(); it != repos.end(); it++, i++) {
@@ -1065,7 +1064,7 @@ zypp_refresh_cache (PkBackend *backend, gboolean force)
}
// Update the percentage completed
- pk_backend_set_percentage (backend, i == num_of_repos ? 100 : i * percentage_increment);
+ pk_backend_set_percentage (backend, i >= num_of_repos ? 100 : (100 * i) / num_of_repos);
}
if (repo_messages != NULL)
pk_backend_message (backend, PK_MESSAGE_ENUM_CONNECTION_REFUSED, repo_messages);
commit 8fa210808d58d3c6cc45fdfd1acb7a7d73015acd
Author: Michael Meeks <michael.meeks at novell.com>
Date: Fri May 21 17:22:49 2010 +0100
Disable get_zypp in intialize - initialize has to be fairly fast otherwise
we get dbus method timeouts killing eg. gpk-application on first start as
it calls GetAll properties.
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index 378bcdc..b371424 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -83,7 +83,7 @@ static void
backend_initialize (PkBackend *backend)
{
zypp_logging ();
- get_zypp (backend);
+// disabled get_zypp() - too slow for a dbus timeout after zypper clean -a
egg_debug ("zypp_backend_initialize");
EventDirector *eventDirector = new EventDirector (backend);
_eventDirectors [backend] = eventDirector;
@@ -1092,6 +1092,7 @@ backend_install_signature_thread (PkBackend *backend)
{
pk_backend_set_status (backend, PK_STATUS_ENUM_SIG_CHECK);
const gchar *key_id = pk_backend_get_string (backend, "key_id");
+ const gchar *package_id = pk_backend_get_string (backend, "package_id");
_signatures[backend]->push_back ((std::string)(key_id));
pk_backend_finished (backend);
commit 0db859bf598b4fab7f296631e384a3fc67658061
Author: Aurelien Lefebvre <alkh at mandriva.org>
Date: Mon Jun 21 20:44:54 2010 +0200
Updated my email address in source code
diff --git a/backends/urpmi/helpers/perl_packagekit/enums.pm b/backends/urpmi/helpers/perl_packagekit/enums.pm
index 4a2df62..a4eb92a 100644
--- a/backends/urpmi/helpers/perl_packagekit/enums.pm
+++ b/backends/urpmi/helpers/perl_packagekit/enums.pm
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2008 Aurelien Lefebvre <alefebvre at mandriva.com>
+# Copyright (C) 2008 Aurelien Lefebvre <alkh at mandriva.org>
#
# Licensed under the GNU General Public License Version 2
#
diff --git a/backends/urpmi/helpers/perl_packagekit/prints.pm b/backends/urpmi/helpers/perl_packagekit/prints.pm
index af1a9ee..db3fdbc 100644
--- a/backends/urpmi/helpers/perl_packagekit/prints.pm
+++ b/backends/urpmi/helpers/perl_packagekit/prints.pm
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2008 Aurelien Lefebvre <alefebvre at mandriva.com>
+# Copyright (C) 2008 Aurelien Lefebvre <alkh at mandriva.org>
#
# Licensed under the GNU General Public License Version 2
#
diff --git a/backends/urpmi/helpers/urpmi-dispatched-backend.pl b/backends/urpmi/helpers/urpmi-dispatched-backend.pl
index de1012f..8b709e6 100755
--- a/backends/urpmi/helpers/urpmi-dispatched-backend.pl
+++ b/backends/urpmi/helpers/urpmi-dispatched-backend.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2008 Aurelien Lefebvre <alefebvre at mandriva.com>
+# Copyright (C) 2008 Aurelien Lefebvre <alkh at mandriva.org>
#
# Licensed under the GNU General Public License Version 2
#
diff --git a/backends/urpmi/helpers/urpmi_backend/actions.pm b/backends/urpmi/helpers/urpmi_backend/actions.pm
index af3dcb1..7b65b4c 100644
--- a/backends/urpmi/helpers/urpmi_backend/actions.pm
+++ b/backends/urpmi/helpers/urpmi_backend/actions.pm
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2008 Aurelien Lefebvre <alefebvre at mandriva.com>
+# Copyright (C) 2008 Aurelien Lefebvre <alkh at mandriva.org>
#
# Licensed under the GNU General Public License Version 2
#
diff --git a/backends/urpmi/helpers/urpmi_backend/filters.pm b/backends/urpmi/helpers/urpmi_backend/filters.pm
index b8d2a7d..7cb064b 100644
--- a/backends/urpmi/helpers/urpmi_backend/filters.pm
+++ b/backends/urpmi/helpers/urpmi_backend/filters.pm
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2008 Aurelien Lefebvre <alefebvre at mandriva.com>
+# Copyright (C) 2008 Aurelien Lefebvre <alkh at mandriva.org>
#
# Licensed under the GNU General Public License Version 2
#
diff --git a/backends/urpmi/helpers/urpmi_backend/groups.pm b/backends/urpmi/helpers/urpmi_backend/groups.pm
index 9c92600..92b0360 100644
--- a/backends/urpmi/helpers/urpmi_backend/groups.pm
+++ b/backends/urpmi/helpers/urpmi_backend/groups.pm
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2008 Aurelien Lefebvre <alefebvre at mandriva.com>
+# Copyright (C) 2008 Aurelien Lefebvre <alkh at mandriva.org>
#
# Licensed under the GNU General Public License Version 2
#
diff --git a/backends/urpmi/helpers/urpmi_backend/open_db.pm b/backends/urpmi/helpers/urpmi_backend/open_db.pm
index aeec0a4..f765146 100644
--- a/backends/urpmi/helpers/urpmi_backend/open_db.pm
+++ b/backends/urpmi/helpers/urpmi_backend/open_db.pm
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2008 Aurelien Lefebvre <alefebvre at mandriva.com>
+# Copyright (C) 2008 Aurelien Lefebvre <alkh at mandriva.org>
#
# Licensed under the GNU General Public License Version 2
#
diff --git a/backends/urpmi/helpers/urpmi_backend/tools.pm b/backends/urpmi/helpers/urpmi_backend/tools.pm
index 4869b98..bb6d0d1 100644
--- a/backends/urpmi/helpers/urpmi_backend/tools.pm
+++ b/backends/urpmi/helpers/urpmi_backend/tools.pm
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2008 Aurelien Lefebvre <alefebvre at mandriva.com>
+# Copyright (C) 2008 Aurelien Lefebvre <alkh at mandriva.org>
#
# Licensed under the GNU General Public License Version 2
#
diff --git a/backends/urpmi/pk-backend-urpmi.c b/backends/urpmi/pk-backend-urpmi.c
index 3d1a468..0a1cfa3 100644
--- a/backends/urpmi/pk-backend-urpmi.c
+++ b/backends/urpmi/pk-backend-urpmi.c
@@ -362,7 +362,7 @@ backend_get_distro_upgrades (PkBackend *backend)
PK_BACKEND_OPTIONS (
"URPMI", /* description */
- "Aurelien Lefebvre <alefebvre at mandriva.com>", /* author */
+ "Aurelien Lefebvre <alkh at mandriva.org>", /* author */
backend_initialize, /* initalize */
backend_destroy, /* destroy */
backend_get_groups, /* get_groups */
commit fe8dc5a1f15561f54baf28545e23098115d56350
Author: Aurelien Lefebvre <alkh at mandriva.org>
Date: Mon Jun 21 20:41:27 2010 +0200
urpmi: fix update-system command and only_trusted parameter
incorrectly modified two calls to perform_installation to pass options hash as a reference,
causing the parameters to not be interpreted correctly by
perform_installation, breaking update-system command and causing
only_trusted to be ignored in these cases.
Fix that by passing the options as key/value pairs as expected by
perform_installation.
diff --git a/backends/urpmi/helpers/urpmi-dispatched-backend.pl b/backends/urpmi/helpers/urpmi-dispatched-backend.pl
index 9a0cf72..de1012f 100755
--- a/backends/urpmi/helpers/urpmi-dispatched-backend.pl
+++ b/backends/urpmi/helpers/urpmi-dispatched-backend.pl
@@ -383,7 +383,7 @@ sub install_packages {
caseinsensitive => 0,
all => 0);
eval {
- perform_installation($urpm, \%requested, { only_trusted => $only_trusted });
+ perform_installation($urpm, \%requested, only_trusted => $only_trusted);
};
_finished();
}
@@ -716,7 +716,7 @@ sub update_system {
my $only_trusted = @{$args}[0];
eval {
- perform_installation($urpm, {}, { auto_select => 1, only_trusted => $only_trusted});
+ perform_installation($urpm, {}, auto_select => 1, only_trusted => $only_trusted);
};
_finished();
}
commit df8ccae7032823ce516675b23dc0ce21c60ea94e
Author: chenh <chenh at fedoraproject.org>
Date: Mon Jun 21 12:07:55 2010 +0000
l10n: Updates to Chinese (China) (zh_CN) translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 938c4ac..310598f 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -5,19 +5,21 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Huan Chen <chenhuan.gt at gmail.com>, 2010.
+# Huan Chen <chenhuan dot gt at gmail dot com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: pavucontrol.master-tx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-06-14 19:32+0000\n"
-"PO-Revision-Date: 2010-06-15 14:02+0800\n"
-"Last-Translator: Huan Chen <chenhuan.gt at gmail.com>\n"
-"Language-Team: trans-zh_cn at lists.fedoraproject.com\n"
+"PO-Revision-Date: 2010-06-21 20:02+0800\n"
+"Last-Translator: Huan Chen <chenhuan dot gt at gmail dot com>\n"
+"Language-Team: trans hyphen zh underline cn at lists dot fedoraproject dot "
+"com\n"
"Language: zh\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Virtaal 0.5.2\n"
+"X-Generator: Virtaal 0.6.1\n"
#. TRANSLATORS: this is an atomic transaction
#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
@@ -67,7 +69,7 @@ msgstr "å½ä»¤è¡"
#. TRANSLATORS: this is the user ID of the user that started the action
#: ../client/pk-console.c:193
msgid "User ID"
-msgstr "ç¨æ·ç¼å·"
+msgstr "ç¨æ·æ è¯ç¬¦"
#. TRANSLATORS: this is the username, e.g. hughsie
#: ../client/pk-console.c:200
@@ -77,7 +79,7 @@ msgstr "ç¨æ·å"
#. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
#: ../client/pk-console.c:204
msgid "Real name"
-msgstr "çå®å§å"
+msgstr "çå"
#: ../client/pk-console.c:212
msgid "Affected packages:"
@@ -85,12 +87,12 @@ msgstr "åå½±åå
ï¼"
#: ../client/pk-console.c:214
msgid "Affected packages: None"
-msgstr "åå½±åå
ï¼æ "
+msgstr "åå½±åçå
ï¼æ "
#. TRANSLATORS: this is the distro, e.g. Fedora 10
#: ../client/pk-console.c:249
msgid "Distribution"
-msgstr "åè¡ç"
+msgstr "ååå
"
#. TRANSLATORS: this is type of update, stable or testing
#: ../client/pk-console.c:251
@@ -111,12 +113,12 @@ msgstr "ç±»å«"
#. TRANSLATORS: this is group identifier
#: ../client/pk-console.c:283
msgid "ID"
-msgstr "ç¼å·"
+msgstr "æ è¯ç¬¦"
#. TRANSLATORS: this is the parent group
#: ../client/pk-console.c:286
msgid "Parent"
-msgstr "ä¸çº§ç»"
+msgstr "ä¸çº§"
#. TRANSLATORS: this is the name of the parent group
#: ../client/pk-console.c:289
@@ -131,7 +133,7 @@ msgstr "å¾æ "
#. TRANSLATORS: this is a header for the package that can be updated
#: ../client/pk-console.c:341
msgid "Details about the update:"
-msgstr "æ´æ°ç»èï¼"
+msgstr "å
³äºæ´æ°çç»èï¼"
#. TRANSLATORS: details about the update, package name and version
#. TRANSLATORS: the package that is being processed
@@ -162,12 +164,12 @@ msgstr "åºå¼"
#. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
#: ../client/pk-console.c:358 ../lib/packagekit-glib2/pk-task-text.c:211
msgid "Vendor"
-msgstr "ä¾åºå"
+msgstr "åå"
#. TRANSLATORS: details about the update, the bugzilla URLs
#: ../client/pk-console.c:362
msgid "Bugzilla"
-msgstr "缺é·ç»ç»è
ï¼Bugzillaï¼å°å"
+msgstr "缺é·ç»ç»å¨ï¼Bugzillaï¼"
#. TRANSLATORS: details about the update, the CVE URLs
#: ../client/pk-console.c:366
@@ -177,17 +179,17 @@ msgstr "å
Œ
±æ¼æ´åæ´é²ï¼CVEï¼å°å"
#. TRANSLATORS: details about the update, if the package requires a restart
#: ../client/pk-console.c:370
msgid "Restart"
-msgstr "éå¯"
+msgstr "éæ°å¯å¨"
#. TRANSLATORS: details about the update, any description of the update
#: ../client/pk-console.c:374
msgid "Update text"
-msgstr "å级æè¿°"
+msgstr "å级ææ¬"
#. TRANSLATORS: details about the update, the changelog for the package
#: ../client/pk-console.c:378
msgid "Changes"
-msgstr "æ´æ¹æ¥å¿"
+msgstr "æ´æ¹"
#. TRANSLATORS: details about the update, the ongoing state of the update
#: ../client/pk-console.c:382
@@ -197,7 +199,7 @@ msgstr "ç¶æ"
#. TRANSLATORS: details about the update, date the update was issued
#: ../client/pk-console.c:386
msgid "Issued"
-msgstr "ç¾å"
+msgstr "åºç°"
#. TRANSLATORS: details about the update, date the update was updated
#. TRANSLATORS: The action of the package, in past tense
@@ -218,27 +220,27 @@ msgstr "å·²ç¦ç¨"
#. TRANSLATORS: a package requires the system to be restarted
#: ../client/pk-console.c:461
msgid "System restart required by:"
-msgstr "éè¦ç³»ç»éå¯çå
ï¼"
+msgstr "è¦æ±ç³»ç»éæ°å¯å¨ï¼"
#. TRANSLATORS: a package requires the session to be restarted
#: ../client/pk-console.c:464
msgid "Session restart required:"
-msgstr "éè¦éå¯ä¼è¯çå
ï¼"
+msgstr "è¦æ±éæ°å¯å¨ä¼è¯ï¼"
#. TRANSLATORS: a package requires the system to be restarted due to a security update
#: ../client/pk-console.c:467
msgid "System restart (security) required by:"
-msgstr "éè¦ç³»ç»éå¯çå®å
¨æ´æ°å
ï¼"
+msgstr "è¦æ±ç³»ç»éæ°å¯å¨ï¼å®å
¨ï¼ï¼"
#. TRANSLATORS: a package requires the session to be restarted due to a security update
#: ../client/pk-console.c:470
msgid "Session restart (security) required:"
-msgstr "éè¦ä¼è¯éå¯çå®å
¨æ´æ°å
ï¼"
+msgstr "è¦æ±ä¼è¯éæ°å¯å¨ï¼å®å
¨ï¼ï¼"
#. TRANSLATORS: a package requires the application to be restarted
#: ../client/pk-console.c:473
msgid "Application restart required by:"
-msgstr "éè¦åºç¨ç¨åºéå¯çå
ï¼"
+msgstr "è¦æ±åºç¨ç¨åºéæ°å¯å¨ï¼"
#. TRANSLATORS: This a list of details about the package
#: ../client/pk-console.c:508
@@ -258,7 +260,7 @@ msgstr "æ æ件"
#. TRANSLATORS: This a list files contained in the package
#: ../client/pk-console.c:565
msgid "Package files"
-msgstr "å
æ件æ¸
å"
+msgstr "å
çæ件"
#. TRANSLATORS: the percentage complete of the transaction
#: ../client/pk-console.c:633
@@ -285,21 +287,21 @@ msgstr "严éé误"
#: ../contrib/command-not-found/pk-command-not-found.c:454
#: ../contrib/command-not-found/pk-command-not-found.c:634
msgid "The transaction failed"
-msgstr "该äºå¡å¤±è´¥"
+msgstr "æ¤äºå¡å¤±è´¥"
#. TRANSLATORS: print a message when there are no updates
#: ../client/pk-console.c:727
msgid "There are no updates available at this time."
-msgstr "å½å没æå¯è£
çæ´æ°ã"
+msgstr "å½å没æå¯ç¨çæ´æ°ã"
#: ../client/pk-console.c:750
msgid "There are no upgrades available at this time."
-msgstr "å½å没æå¯è£
çæ´æ°ã"
+msgstr "å½å没æå¯ç¨çå级ã"
#. TRANSLATORS: a package needs to restart their system
#: ../client/pk-console.c:817
msgid "Please restart the computer to complete the update."
-msgstr "请éå¯çµè以å®ææ´æ°ã"
+msgstr "请éæ°å¯å¨çµè以å®ææ´æ°ã"
#. TRANSLATORS: a package needs to restart the session
#: ../client/pk-console.c:820
@@ -311,7 +313,7 @@ msgstr "请注é并ç»å½ä»¥å®ææ´æ°ã"
msgid ""
"Please restart the computer to complete the update as important security "
"updates have been installed."
-msgstr "å 为系ç»å·²å®è£
äºéè¦çå®å
¨æ´æ°ï¼è¯·éå¯ç³»ç»ä»¥å®ææ´æ°ã"
+msgstr "å 为系ç»å·²å®è£
äºéè¦çå®å
¨æ´æ°ï¼è¯·éæ°å¯å¨ç³»ç»ä»¥å®ææ´æ°ã"
#. TRANSLATORS: a package needs to restart the session (due to security)
#: ../client/pk-console.c:826
@@ -326,25 +328,25 @@ msgstr "å 为系ç»å·²å®è£
äºéè¦çå®å
¨æ´æ°ï¼è¯·æ³¨é并ç»å½ä»¥å®
msgid ""
"Expected package name, actually got file. Try using 'pkcon install-local %s' "
"instead."
-msgstr ""
+msgstr "é¢æä¸çå
åï¼å®é
ä¸å·²ç»å¾å°äºæ件ãå°è¯æ¢ç¨âpkcon install-local %sâå®è£
ã"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
#: ../client/pk-console.c:860
#, c-format
msgid "This tool could not find any available package: %s"
-msgstr "æ¬å·¥å
·æ²¡è½æ¾å°ä»»ä½å¯è£
å
ï¼%s"
+msgstr "æ¬å·¥å
·æªè½æ¾å°ä»»ä½å¯ç¨å
ï¼%s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
#: ../client/pk-console.c:888
#, c-format
msgid "This tool could not find the installed package: %s"
-msgstr "æ¬å·¥å
·æ²¡è½æ¾å°å·²è£
å
ï¼%s"
+msgstr "æ¬å·¥å
·æªè½æ¾å°å·²å®è£
å
ï¼%s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
#: ../client/pk-console.c:916 ../client/pk-console.c:944
#, c-format
msgid "This tool could not find the package: %s"
-msgstr "æ¬å·¥å
·æ²¡è½æ¾å°è¯¥å
ï¼%s"
+msgstr "æ¬å·¥å
·æªè½æ¾å°æ¤å
ï¼%s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
@@ -365,7 +367,7 @@ msgstr "å®æ¤è¿ç¨å¨äºå¡ä¸éï¼mid-transactionï¼å´©æº"
#. TRANSLATORS: This is the header to the --help menu
#: ../client/pk-console.c:1147
msgid "PackageKit Console Interface"
-msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼æ§å¶æ¥å£"
+msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼æ§å¶å°æ¥å£"
#. these are commands we can use with pkcon
#: ../client/pk-console.c:1149
@@ -375,145 +377,146 @@ msgstr "åå½ä»¤ï¼"
#. TRANSLATORS: we keep a database updated with the time that an action was last executed
#: ../client/pk-console.c:1228
msgid "Failed to get the time since this action was last completed"
-msgstr ""
+msgstr "èªä»æ¤å¨ä½æåä¸æ¬¡å®æå¼å§è·åæ¶é´å¤±è´¥"
#. TRANSLATORS: command line argument, just show the version string
#: ../client/pk-console.c:1268 ../client/pk-monitor.c:356
msgid "Show the program version and exit"
-msgstr ""
+msgstr "æ¾ç¤ºç¨åºçæ¬å¹¶éåº"
#. TRANSLATORS: command line argument, use a filter to narrow down results
#: ../client/pk-console.c:1271
msgid "Set the filter, e.g. installed"
-msgstr "设置è¿æ»¤å¨ï¼å¦ï¼å·²è£
"
+msgstr "设置è¿æ»¤å¨ï¼å¦ï¼å·²å®è£
"
#. TRANSLATORS: command line argument, use a non-standard install prefix
#: ../client/pk-console.c:1274
msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
-msgstr ""
+msgstr "设置å®è£
æ ¹ï¼å¦ï¼â/âæâ/mnt/ltspâ"
#. TRANSLATORS: command line argument, work asynchronously
#: ../client/pk-console.c:1277
msgid "Exit without waiting for actions to complete"
-msgstr ""
+msgstr "ä¸çå¾
å¨ä½å®æå³éåº"
#. command line argument, do we ask questions
#: ../client/pk-console.c:1280
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
msgid "Install the packages without asking for confirmation"
-msgstr ""
+msgstr "æ é确认å³å®è£
å
"
#. TRANSLATORS: command line argument, this command is not a priority
#: ../client/pk-console.c:1283
msgid "Run the command using idle network bandwidth and also using less power"
-msgstr ""
+msgstr "使ç¨é²ç½®ç½ç»å¸¦å®½åæ´å°è½æºè¿è¡å½ä»¤"
#. TRANSLATORS: command line argument, just output without fancy formatting
#: ../client/pk-console.c:1286
msgid ""
"Print to screen a machine readable output, rather than using animated widgets"
-msgstr ""
+msgstr "å¨å±å¹ä¸æ¾ç¤ºæºå¨å¯è¯»çè¾åºï¼èä¸ç¨çå¨çå°å·¥å
·"
#. TRANSLATORS: we failed to contact the daemon
#: ../client/pk-console.c:1308
msgid "Failed to contact PackageKit"
-msgstr ""
+msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼è系失败"
#. TRANSLATORS: The user specified an incorrect filter
#: ../client/pk-console.c:1369
msgid "The proxy could not be set"
-msgstr ""
+msgstr "代ç设置失败"
#. TRANSLATORS: The user specified an incorrect filter
#: ../client/pk-console.c:1381
msgid "The install root could not be set"
-msgstr ""
+msgstr "å®è£
æ ¹è®¾ç½®å¤±è´¥"
#. TRANSLATORS: The user specified an incorrect filter
#: ../client/pk-console.c:1393
msgid "The filter specified was invalid"
-msgstr ""
+msgstr "æå®è¿æ»¤å¨æ æ"
#. TRANSLATORS: a search type can be name, details, file, etc
#: ../client/pk-console.c:1412
msgid "A search type is required, e.g. name"
-msgstr ""
+msgstr "éè¦æ索类åï¼å¦ï¼å称"
#. TRANSLATORS: the user needs to provide a search term
#: ../client/pk-console.c:1419 ../client/pk-console.c:1431
#: ../client/pk-console.c:1443 ../client/pk-console.c:1455
msgid "A search term is required"
-msgstr ""
+msgstr "éè¦æç´¢åè¯"
#. TRANSLATORS: the search type was provided, but invalid
#: ../client/pk-console.c:1465
msgid "Invalid search type"
-msgstr ""
+msgstr "æ ææ索类å"
#. TRANSLATORS: the user did not specify what they wanted to install
#: ../client/pk-console.c:1471
msgid "A package name to install is required"
-msgstr ""
+msgstr "éè¦å¾
å®è£
çå
å"
#. TRANSLATORS: the user did not specify what they wanted to install
#: ../client/pk-console.c:1480
msgid "A filename to install is required"
-msgstr ""
+msgstr "éè¦å¾
å®è£
çæ件å"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
#: ../client/pk-console.c:1492
+#, fuzzy
msgid "A type, key_id and package_id are required"
-msgstr ""
+msgstr "éè¦ç±»åãå¯é¥æ è¯ç¬¦åå
æ è¯ç¬¦"
#. TRANSLATORS: the user did not specify what they wanted to remove
#: ../client/pk-console.c:1503
msgid "A package name to remove is required"
-msgstr ""
+msgstr "éè¦å¾
å é¤çå
å"
#. TRANSLATORS: the user did not specify anything about what to download or where
#: ../client/pk-console.c:1512
msgid "A destination directory and the package names to download are required"
-msgstr ""
+msgstr "éè¦ç®çç®å½åå¾
ä¸è½½çå
å"
#. TRANSLATORS: the directory does not exist, so we can't continue
#: ../client/pk-console.c:1519
msgid "Directory not found"
-msgstr "ç®å½æ²¡æ¾å°"
+msgstr "ç®å½æªæ¾å°"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
#: ../client/pk-console.c:1528
msgid "A licence identifier (eula-id) is required"
-msgstr ""
+msgstr "éè¦è®¸å¯æ è¯ç¬¦ï¼æç»ç¨æ·è®¸å¯åè®®æ è¯ç¬¦ï¼"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
#: ../client/pk-console.c:1539
msgid "A transaction identifier (tid) is required"
-msgstr ""
+msgstr "éè¦äºå¡æ è¯ç¬¦"
#. TRANSLATORS: The user did not specify a package name
#: ../client/pk-console.c:1560
msgid "A package name to resolve is required"
-msgstr ""
+msgstr "éè¦å¾
解æçå
å"
#. TRANSLATORS: The user did not specify a repository (software source) name
#: ../client/pk-console.c:1571 ../client/pk-console.c:1582
msgid "A repository name is required"
-msgstr ""
+msgstr "éè¦è½¯ä»¶åºå"
#. TRANSLATORS: The user didn't provide any data
#: ../client/pk-console.c:1593
msgid "A repo name, parameter and value are required"
-msgstr ""
+msgstr "éè¦è½¯ä»¶åºåãåæ°åå¼"
#. TRANSLATORS: The user didn't specify what action to use
#: ../client/pk-console.c:1610
msgid "An action, e.g. 'update-system' is required"
-msgstr ""
+msgstr "éè¦å¨ä½ï¼å¦ï¼âæ´æ°ç³»ç»â"
#. TRANSLATORS: The user specified an invalid action
#: ../client/pk-console.c:1617
msgid "A correct role is required"
-msgstr ""
+msgstr "éè¦æ£ç¡®çè§è²"
#. TRANSLATORS: The user did not provide a package name
#. TRANSLATORS: This is when the user fails to supply the package name
@@ -521,18 +524,18 @@ msgstr ""
#: ../client/pk-console.c:1651 ../client/pk-console.c:1671
#: ../client/pk-console.c:1680 ../client/pk-generate-pack.c:316
msgid "A package name is required"
-msgstr ""
+msgstr "éè¦å
å"
#. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
#: ../client/pk-console.c:1660
msgid "A package provide string is required"
-msgstr ""
+msgstr "éè¦å
æä¾å符串"
#. TRANSLATORS: The user tried to use an unsupported option on the command line
#: ../client/pk-console.c:1741
#, c-format
msgid "Option '%s' is not supported"
-msgstr ""
+msgstr "é项â%sâä¸è¢«æ¯æ"
#. TRANSLATORS: Generic failure of what they asked to do
#: ../client/pk-console.c:1751
@@ -542,109 +545,109 @@ msgstr "å½ä»¤å¤±è´¥"
#. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
#: ../client/pk-generate-pack.c:255
msgid "Set the file name of dependencies to be excluded"
-msgstr ""
+msgstr "设置å¾
æé¤ä¾èµçæ件å"
#. TRANSLATORS: the output location
#: ../client/pk-generate-pack.c:258
msgid "The output file or directory (the current directory is used if omitted)"
-msgstr ""
+msgstr "è¾åºæ件æç®å½ï¼å¦çç¥å使ç¨å½åç®å½ï¼"
#. TRANSLATORS: put a list of packages in the pack
#: ../client/pk-generate-pack.c:261
msgid "The package to be put into the service pack"
-msgstr ""
+msgstr "å¾
æ¾å
¥æå¡å
çå
"
#. TRANSLATORS: put all pending updates in the pack
#: ../client/pk-generate-pack.c:264
msgid "Put all updates available in the service pack"
-msgstr ""
+msgstr "æ¾å
¥ææå¯ç¨æ´æ°å°æå¡å
ä¸"
#. TRANSLATORS: This is when the user fails to supply the correct arguments
#: ../client/pk-generate-pack.c:300
msgid "Neither --package or --updates option selected."
-msgstr ""
+msgstr "--package å --updates é项é½ä¸éã"
#. TRANSLATORS: This is when the user fails to supply just one argument
#: ../client/pk-generate-pack.c:308
msgid "Both options selected."
-msgstr ""
+msgstr "两个é项é½éã"
#. TRANSLATORS: This is when the user fails to supply the output
#: ../client/pk-generate-pack.c:324
msgid "A output directory or file name is required"
-msgstr ""
+msgstr "éè¦è¾åºç®å½ææ件åã"
#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to startup
#: ../client/pk-generate-pack.c:342
-#, fuzzy
msgid "The daemon failed to startup"
-msgstr "å®æ¤ç¨åºå¨å¯å¨æ¶å´©æº"
+msgstr "å®æ¤è¿ç¨å¯å¨å¤±è´¥"
#. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
#. TRANSLATORS: This is when the backend doesn't have the capability to download
#: ../client/pk-generate-pack.c:353 ../client/pk-generate-pack.c:359
msgid "The package manager cannot perform this type of operation."
-msgstr ""
+msgstr "å
管çå¨ä¸è½æ§è¡æ¤ç±»æä½ã"
#. TRANSLATORS: This is when the distro didn't include libarchive support into PK
#: ../client/pk-generate-pack.c:366
msgid ""
"Service packs cannot be created as PackageKit was not built with libarchive "
"support."
-msgstr ""
+msgstr "å 为å
å·¥å
·ç®±ï¼PackageKitï¼æªç¼è¯ææ¯ælibarchiveï¼æå¡å
ä¸è½è¢«å建ã"
#. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
#: ../client/pk-generate-pack.c:377
+#, fuzzy
msgid "If specifying a file, the service pack name must end with"
-msgstr ""
+msgstr "è¥æå®æ件ï¼æå¡å
åå¿
须以å
¶ç»æ¢"
#. TRANSLATORS: This is when file already exists
#: ../client/pk-generate-pack.c:393
msgid "A pack with the same name already exists, do you want to overwrite it?"
-msgstr ""
+msgstr "ååæå¡å
å·²åå¨ï¼æ¨è¦è¦çå®ï¼"
#. TRANSLATORS: This is when the pack was not overwritten
#: ../client/pk-generate-pack.c:396
msgid "The pack was not overwritten."
-msgstr ""
+msgstr "æå¡å
æªè¢«è¦çã"
#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
#: ../client/pk-generate-pack.c:409
msgid "Failed to create directory:"
-msgstr "该ç®å½å建失败ï¼"
+msgstr "å建ç®å½å¤±è´¥ï¼"
#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
#: ../client/pk-generate-pack.c:421
msgid "Failed to open package list."
-msgstr ""
+msgstr "æå¼å
æ¸
å失败ã"
#. TRANSLATORS: The package name is being matched up to available packages
#: ../client/pk-generate-pack.c:430
msgid "Finding package name."
-msgstr ""
+msgstr "æ¥æ¾å
åã"
#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
#: ../client/pk-generate-pack.c:434
#, c-format
msgid "Failed to find package '%s': %s"
-msgstr ""
+msgstr "æ¥æ¾â%sâå
失败ï¼%s"
#. TRANSLATORS: This is telling the user we are in the process of making the pack
#: ../client/pk-generate-pack.c:442
msgid "Creating service pack..."
-msgstr ""
+msgstr "æ£å¨å建æå¡å
â¦â¦"
#. TRANSLATORS: we succeeded in making the file
#: ../client/pk-generate-pack.c:457
#, c-format
msgid "Service pack created '%s'"
-msgstr ""
+msgstr "æå¡å
å建å®æâ%sâ"
#. TRANSLATORS: we failed to make te file
#: ../client/pk-generate-pack.c:462
#, c-format
msgid "Failed to create '%s': %s"
-msgstr "â%sâæ件å建失败ï¼%s"
+msgstr "å建ââ%sâæ件失败ï¼%s"
#: ../client/pk-monitor.c:286
msgid "Failed to get daemon state"
@@ -653,29 +656,29 @@ msgstr "å®æ¤è¿ç¨ç¶æè·å失败"
#. TRANSLATORS: this is a program that monitors PackageKit
#: ../client/pk-monitor.c:372
msgid "PackageKit Monitor"
-msgstr ""
+msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼çè§å¨"
#. TRANSLATORS: when we are getting data from the daemon
#: ../contrib/browser-plugin/pk-plugin-install.c:497
msgid "Getting package information..."
-msgstr ""
+msgstr "æ£å¨è·åå
ä¿¡æ¯â¦â¦"
#. TRANSLATORS: run an applicaiton
#: ../contrib/browser-plugin/pk-plugin-install.c:503
#, c-format
msgid "Run %s"
-msgstr ""
+msgstr "è¿è¡ %s"
#. TRANSLATORS: show the installed version of a package
#: ../contrib/browser-plugin/pk-plugin-install.c:509
msgid "Installed version"
-msgstr ""
+msgstr "å·²å®è£
çæ¬"
#. TRANSLATORS: run the application now
#: ../contrib/browser-plugin/pk-plugin-install.c:517
#, c-format
msgid "Run version %s now"
-msgstr ""
+msgstr "ç°å¨è¿è¡ %s ç"
#. TRANSLATORS: run the application now
#: ../contrib/browser-plugin/pk-plugin-install.c:523
@@ -702,32 +705,32 @@ msgstr "çæ¬"
#. TRANSLATORS: noting found, so can't install
#: ../contrib/browser-plugin/pk-plugin-install.c:543
msgid "No packages found for your system"
-msgstr ""
+msgstr "æªæ¾å°éç¨äºæ¨ç³»ç»çå
"
#. TRANSLATORS: package is being installed
#: ../contrib/browser-plugin/pk-plugin-install.c:548
msgid "Installing..."
-msgstr "å®è£
ä¸â¦â¦"
+msgstr "æ£å¨å®è£
â¦â¦"
#. TRANSLATORS: downloading repo data so we can search
#: ../contrib/command-not-found/pk-command-not-found.c:367
msgid "Downloading details about the software sources."
-msgstr ""
+msgstr "æ£å¨ä¸è½½å
³äºè½¯ä»¶æºçç»èã"
#. TRANSLATORS: downloading file lists so we can search
#: ../contrib/command-not-found/pk-command-not-found.c:371
msgid "Downloading filelists (this may take some time to complete)."
-msgstr ""
+msgstr "æ£å¨ä¸è½½æ件æ¸
åï¼è¿å¯è½è¦è±äºæ¶é´å®æï¼ã"
#. TRANSLATORS: waiting for native lock
#: ../contrib/command-not-found/pk-command-not-found.c:375
msgid "Waiting for package manager lock."
-msgstr ""
+msgstr "æ£å¨çå¾
å
管çå¨éã"
#. TRANSLATORS: loading package cache so we can search
#: ../contrib/command-not-found/pk-command-not-found.c:379
msgid "Loading list of packages."
-msgstr ""
+msgstr "è½½å
¥å
æ¸
å"
#. TRANSLATORS: we failed to find the package, this shouldn't happen
#: ../contrib/command-not-found/pk-command-not-found.c:445
@@ -742,110 +745,110 @@ msgstr "å¯å¨å¤±è´¥ï¼"
#. TRANSLATORS: we failed to install the package
#: ../contrib/command-not-found/pk-command-not-found.c:625
msgid "Failed to install packages"
-msgstr ""
+msgstr "å®è£
å
失败"
#. TRANSLATORS: tool that gets called when the command is not found
#: ../contrib/command-not-found/pk-command-not-found.c:701
msgid "PackageKit Command Not Found"
-msgstr ""
+msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼å½ä»¤æªæ¾å°"
#. TRANSLATORS: the prefix of all the output telling the user why it's not executing
#: ../contrib/command-not-found/pk-command-not-found.c:727
msgid "Command not found."
-msgstr "å½ä»¤æ²¡æ¾å°ã"
+msgstr "å½ä»¤æªæ¾å°ã"
#. TRANSLATORS: tell the user what we think the command is
#: ../contrib/command-not-found/pk-command-not-found.c:745
msgid "Similar command is:"
-msgstr ""
+msgstr "ç¸ä¼¼å½ä»¤æ¯ï¼"
#. TRANSLATORS: Ask the user if we should run the similar command
#: ../contrib/command-not-found/pk-command-not-found.c:755
msgid "Run similar command:"
-msgstr ""
+msgstr "è¿è¡ç¸ä¼¼å½ä»¤ï¼"
#. TRANSLATORS: show the user a list of commands that they could have meant
#. TRANSLATORS: show the user a list of commands we could run
#: ../contrib/command-not-found/pk-command-not-found.c:769
#: ../contrib/command-not-found/pk-command-not-found.c:778
msgid "Similar commands are:"
-msgstr ""
+msgstr "ç¸ä¼¼å½ä»¤æ¯ï¼"
#. TRANSLATORS: ask the user to choose a file to run
#: ../contrib/command-not-found/pk-command-not-found.c:785
msgid "Please choose a command to run"
-msgstr ""
+msgstr "请éæ©æ¬²è¿è¡çå½ä»¤"
#. TRANSLATORS: tell the user what package provides the command
#: ../contrib/command-not-found/pk-command-not-found.c:803
msgid "The package providing this file is:"
-msgstr ""
+msgstr "æä¾æ¤æ件çå
æ¯ï¼"
#. TRANSLATORS: as the user if we want to install a package to provide the command
#: ../contrib/command-not-found/pk-command-not-found.c:808
#, c-format
msgid "Install package '%s' to provide command '%s'?"
-msgstr ""
+msgstr "å®è£
â%sâå
以æä¾â%sâå½ä»¤ï¼"
#. TRANSLATORS: Show the user a list of packages that provide this command
#: ../contrib/command-not-found/pk-command-not-found.c:832
msgid "Packages providing this file are:"
-msgstr ""
+msgstr "æä¾æ¤æ件çå
æ¯ï¼"
#. TRANSLATORS: Show the user a list of packages that they can install to provide this command
#: ../contrib/command-not-found/pk-command-not-found.c:842
msgid "Suitable packages are:"
-msgstr ""
+msgstr "åéçå
æ¯ï¼"
#. get selection
#. TRANSLATORS: ask the user to choose a file to install
#: ../contrib/command-not-found/pk-command-not-found.c:851
msgid "Please choose a package to install"
-msgstr ""
+msgstr "请éæ©æ¬²å®è£
çå
"
#. TRANSLATORS: we are starting to install the packages
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:197
msgid "Starting install"
-msgstr ""
+msgstr "æ£å¨å¯å¨å®è£
"
#. TRANSLATORS: we couldn't find the package name, non-fatal
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:409
#, c-format
msgid "Failed to find the package %s, or already installed: %s"
-msgstr ""
+msgstr "æ¥æ¾ %s å
失败ï¼æå·²å®è£
ï¼%s"
#. command line argument, simulate what would be done, but don't actually do it
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
msgid ""
"Don't actually install any packages, only simulate what would be installed"
-msgstr ""
+msgstr "å®é
ä¸å®è£
ä»»ä½å
ï¼åªæ¯æ¨¡æå°è¢«å®è£
çå
容"
#. command line argument, do we skip packages that depend on the ones specified
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
msgid "Do not install dependencies of the core packages"
-msgstr ""
+msgstr "ä¸å®è£
æ ¸å¿å
çä¾èµå
"
#. command line argument, do we operate quietly
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
msgid "Do not display information or progress"
-msgstr ""
+msgstr "ä¸æ¾ç¤ºä¿¡æ¯æè¿åº¦"
#. TRANSLATORS: tool that gets called when the command is not found
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:542
msgid "PackageKit Debuginfo Installer"
-msgstr ""
+msgstr "å
å·¥å
·ç®±è°è¯ä¿¡æ¯å®è£
å¨"
#. TRANSLATORS: the use needs to specify a list of package names on the command line
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
#, c-format
msgid "ERROR: Specify package names to install."
-msgstr ""
+msgstr "é误ï¼æå®æ¬²å®è£
çå
åã"
#. TRANSLATORS: we are getting the list of repositories
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
#, c-format
msgid "Getting sources list"
-msgstr "è·å软件æºæ¸
å"
+msgstr "æ£å¨è·åæºæ¸
å"
#. TRANSLATORS: operation was not successful
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:602
@@ -873,97 +876,97 @@ msgstr "å®æã"
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:620
#, c-format
msgid "Found %i enabled and %i disabled sources."
-msgstr ""
+msgstr "æ¾å° %i 个å¯ç¨çå %i 个ç¦ç¨çæºã"
#. TRANSLATORS: we're finding repositories that match out pattern
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:627
#, c-format
msgid "Finding debugging sources"
-msgstr ""
+msgstr "æ£å¨æ¥æ¾è°è¯æº"
#. TRANSLATORS: tell the user what we found
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:660
#, c-format
msgid "Found %i disabled debuginfo repos."
-msgstr ""
+msgstr "æ¾å° %i 个ç¦ç¨çè°è¯ä¿¡æ¯è½¯ä»¶ä»åºã"
#. TRANSLATORS: we're now enabling all the debug sources we found
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:667
#, c-format
msgid "Enabling debugging sources"
-msgstr ""
+msgstr "æ£å¨å¯ç¨è°è¯æº"
#. TRANSLATORS: tell the user how many we enabled
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:695
#, c-format
msgid "Enabled %i debugging sources."
-msgstr ""
+msgstr "å¯ç¨ç %i 个è°è¯æºã"
#. TRANSLATORS: we're now finding packages that match in all the repos
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:702
#, c-format
msgid "Finding debugging packages"
-msgstr ""
+msgstr "æ£å¨æ¥æ¾è°è¯å
"
#. TRANSLATORS: we couldn't find the package name, non-fatal
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:714
#, c-format
msgid "Failed to find the package %s: %s"
-msgstr ""
+msgstr "æ¥æ¾ %s å
失败ï¼%s"
#. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:737
#, c-format
msgid "Failed to find the debuginfo package %s: %s"
-msgstr ""
+msgstr "æ¥æ¾è°è¯ä¿¡æ¯å
%s 失败ï¼%s"
#. TRANSLATORS: no debuginfo packages could be found to be installed
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:765
#, c-format
msgid "Found no packages to install."
-msgstr ""
+msgstr "æªæ¾å°æ¬²å®è£
çå
ã"
#. TRANSLATORS: tell the user we found some packages, and then list them
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:779
#, c-format
msgid "Found %i packages:"
-msgstr ""
+msgstr "æ¾å°%i 个å
ï¼"
#. TRANSLATORS: tell the user we are searching for deps
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
#, c-format
msgid "Finding packages that depend on these packages"
-msgstr ""
+msgstr "æ£å¨æ¥æ¾ä¾èµäºè¿äºå
çå
"
#. TRANSLATORS: could not install, detailed error follows
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:808
#, c-format
msgid "Could not find dependant packages: %s"
-msgstr ""
+msgstr "æªè½æ¾å°è¢«ä¾èµå
ï¼%s"
#. TRANSLATORS: tell the user we found some more packages
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:824
#, c-format
msgid "Found %i extra packages."
-msgstr ""
+msgstr "æ¾å° %i 个é¢å¤çå
ã"
#. TRANSLATORS: tell the user we found some more packages
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:828
#, c-format
msgid "No extra packages required."
-msgstr ""
+msgstr "ä¸è¦æ±æé¢å¤çå
ã"
#. TRANSLATORS: tell the user we found some packages (and deps), and then list them
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
#, c-format
msgid "Found %i packages to install:"
-msgstr ""
+msgstr "æ¾å° %i 个å
以ä¾å®è£
ï¼"
#. TRANSLATORS: simulate mode is a testing mode where we quit before the action
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:850
#, c-format
msgid "Not installing packages in simulate mode"
-msgstr ""
+msgstr "å¨æ¨¡æ模å¼ä¸ä¸ä¼å®è£
å
"
#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
#. TRANSLATORS: transaction state, installing packages
@@ -971,31 +974,31 @@ msgstr ""
#: ../lib/packagekit-glib2/pk-console-shared.c:289
#, c-format
msgid "Installing packages"
-msgstr ""
+msgstr "æ£å¨å®è£
å
"
#. TRANSLATORS: could not install, detailed error follows
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:875
#, c-format
msgid "Could not install packages: %s"
-msgstr ""
+msgstr "æªè½å®è£
å
ï¼%s"
#. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:907
#, c-format
msgid "Disabling sources previously enabled"
-msgstr ""
+msgstr "ç¦ç¨ä¹åå¯ç¨çæº"
#. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:919
#, c-format
msgid "Could not disable the debugging sources: %s"
-msgstr ""
+msgstr "æªè½ç¦ç¨è°è¯æºï¼%s"
#. TRANSLATORS: we disabled all the debugging repos that we enabled before
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:934
#, c-format
msgid "Disabled %i debugging sources."
-msgstr ""
+msgstr "ç¦ç¨äº %i 个è°è¯æºã"
#. TRANSLATORS: couldn't open device to write
#: ../contrib/device-rebind/pk-device-rebind.c:62
@@ -1016,36 +1019,36 @@ msgstr "设å¤åå
¥å¤±è´¥"
#. TRANSLATORS: the device could not be found in sysfs
#: ../contrib/device-rebind/pk-device-rebind.c:176
msgid "Device could not be found"
-msgstr ""
+msgstr "设å¤æªè¢«æ¾å°"
#. TRANSLATORS: we failed to release the current driver
#: ../contrib/device-rebind/pk-device-rebind.c:203
msgid "Failed to unregister driver"
-msgstr ""
+msgstr "注é驱å¨å¤±è´¥"
#. TRANSLATORS: we failed to bind the old driver
#: ../contrib/device-rebind/pk-device-rebind.c:212
msgid "Failed to register driver"
-msgstr "驱å¨ç¨åºæ³¨å失败"
+msgstr "注å驱å¨å¤±è´¥"
#. TRANSLATORS: user did not specify a device sysfs path that exists
#: ../contrib/device-rebind/pk-device-rebind.c:261
msgid "Device path not found"
-msgstr ""
+msgstr "设å¤è·¯å¾æªæ¾å°"
#. TRANSLATORS: user did not specify a valid device sysfs path
#: ../contrib/device-rebind/pk-device-rebind.c:269
msgid "Incorrect device path specified"
-msgstr ""
+msgstr "æå®äºä¸æ£ç¡®ç设å¤è·¯å¾"
#: ../contrib/device-rebind/pk-device-rebind.c:294
msgid "Show extra debugging information"
-msgstr ""
+msgstr "æ¾ç¤ºé¢å¤è°è¯ä¿¡æ¯"
#. command line argument, simulate what would be done, but don't actually do it
#: ../contrib/device-rebind/pk-device-rebind.c:297
msgid "Don't actually touch the hardware, only simulate what would be done"
-msgstr ""
+msgstr "å®é
ä¸ä¸è§¦å硬件ï¼åªæ¯æ¨¡æå°è¦å®æçæä½"
#. TRANSLATORS: command line option: a list of files to install
#: ../contrib/device-rebind/pk-device-rebind.c:300
@@ -1055,64 +1058,64 @@ msgstr "设å¤è·¯å¾"
#. TRANSLATORS: tool that gets called when the device needs reloading after installing firmware
#: ../contrib/device-rebind/pk-device-rebind.c:315
msgid "PackageKit Device Reloader"
-msgstr ""
+msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼è®¾å¤éæ°è½½å
¥å¨"
#. TRANSLATORS: user did not specify a valid device sysfs path
#: ../contrib/device-rebind/pk-device-rebind.c:323
msgid "You need to specify at least one valid device path"
-msgstr ""
+msgstr "æ¨å¿
é¡»æå®è³å°ä¸ä¸ªææ设å¤è·¯å¾"
#. TRANSLATORS: user did not specify a valid device sysfs path
#: ../contrib/device-rebind/pk-device-rebind.c:333
msgid "This script can only be used by the root user"
-msgstr ""
+msgstr "æ¤èæ¬åªè½ç± root ç¨æ·ä½¿ç¨"
#. TRANSLATORS: we're going to verify the path first
#: ../contrib/device-rebind/pk-device-rebind.c:342
msgid "Verifying device path"
-msgstr ""
+msgstr "æ£å¨éªè¯è®¾å¤è·¯å¾"
#. TRANSLATORS: user did not specify a device sysfs path that exists
#: ../contrib/device-rebind/pk-device-rebind.c:347
msgid "Failed to verify device path"
-msgstr ""
+msgstr "éªè¯è·¯å¾å¤±è´¥"
#. TRANSLATORS: we're going to try
#: ../contrib/device-rebind/pk-device-rebind.c:361
msgid "Attempting to rebind device"
-msgstr ""
+msgstr "å°è¯éæ°ç»å®è®¾å¤"
#. TRANSLATORS: we failed to release the current driver
#: ../contrib/device-rebind/pk-device-rebind.c:366
msgid "Failed to rebind device"
-msgstr ""
+msgstr "éæ°ç»å®è®¾å¤å¤±è´¥"
#: ../data/packagekit-catalog.xml.in.h:1
msgid "PackageKit Catalog"
-msgstr ""
+msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼ç±»å«"
#: ../data/packagekit-package-list.xml.in.h:1
msgid "PackageKit Package List"
-msgstr ""
+msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼å
æ¸
å"
#: ../data/packagekit-servicepack.xml.in.h:1
msgid "PackageKit Service Pack"
-msgstr ""
+msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼æå¡å
"
#: ../lib/packagekit-glib2/pk-console-shared.c:65
#, c-format
msgid "Please enter a number from 1 to %i: "
-msgstr ""
+msgstr "请è¾å
¥ä» 1 å° %i ä¹é´çä¸ä¸ªæ°ï¼"
#. TRANSLATORS: more than one package could be found that matched, to follow is a list of possible packages
#: ../lib/packagekit-glib2/pk-console-shared.c:191
msgid "More than one package matches:"
-msgstr ""
+msgstr "è¶
è¿ä¸ä¸ªå
å¹é
ï¼"
#. TRANSLATORS: This finds out which package in the list to use
#: ../lib/packagekit-glib2/pk-console-shared.c:202
msgid "Please choose the correct package: "
-msgstr ""
+msgstr "请éæ©æ£ç¡®çå
ï¼"
#. TRANSLATORS: This is when the transaction status is not known
#: ../lib/packagekit-glib2/pk-console-shared.c:257
@@ -1122,176 +1125,176 @@ msgstr "æªç¥ç¶æ"
#. TRANSLATORS: transaction state, the daemon is in the process of starting
#: ../lib/packagekit-glib2/pk-console-shared.c:261
msgid "Starting"
-msgstr "å¯å¨ä¸"
+msgstr "æ£å¨å¯å¨"
#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
#: ../lib/packagekit-glib2/pk-console-shared.c:265
msgid "Waiting in queue"
-msgstr "å¨éåä¸çå¾
ä¸"
+msgstr "æ£å¨éåä¸çå¾
"
#. TRANSLATORS: transaction state, just started
#: ../lib/packagekit-glib2/pk-console-shared.c:269
msgid "Running"
-msgstr "è¿è¡ä¸"
+msgstr "æ£å¨è¿è¡"
#. TRANSLATORS: transaction state, is querying data
#: ../lib/packagekit-glib2/pk-console-shared.c:273
msgid "Querying"
-msgstr "æ¥è¯¢ä¸"
+msgstr "æ£å¨æ¥è¯¢"
#. TRANSLATORS: transaction state, getting data from a server
#: ../lib/packagekit-glib2/pk-console-shared.c:277
msgid "Getting information"
-msgstr ""
+msgstr "æ£å¨è·åä¿¡æ¯"
#. TRANSLATORS: transaction state, removing packages
#: ../lib/packagekit-glib2/pk-console-shared.c:281
msgid "Removing packages"
-msgstr ""
+msgstr "æ£å¨å é¤å
"
#. TRANSLATORS: transaction state, downloading package files
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:285
#: ../lib/packagekit-glib2/pk-console-shared.c:663
msgid "Downloading packages"
-msgstr ""
+msgstr "æ£å¨ä¸è½½å
"
#. TRANSLATORS: transaction state, refreshing internal lists
#: ../lib/packagekit-glib2/pk-console-shared.c:293
msgid "Refreshing software list"
-msgstr ""
+msgstr "æ£å¨å·æ°è½¯ä»¶æ¸
å"
#. TRANSLATORS: transaction state, installing updates
#: ../lib/packagekit-glib2/pk-console-shared.c:297
msgid "Installing updates"
-msgstr "æ´æ°å®è£
ä¸"
+msgstr "æ£å¨å®è£
æ´æ°"
#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
#: ../lib/packagekit-glib2/pk-console-shared.c:301
msgid "Cleaning up packages"
-msgstr ""
+msgstr "æ£å¨æ¸
çå
"
#. TRANSLATORS: transaction state, obsoleting old packages
#: ../lib/packagekit-glib2/pk-console-shared.c:305
msgid "Obsoleting packages"
-msgstr ""
+msgstr "æ£å¨åºå¼å
"
#. TRANSLATORS: transaction state, checking the transaction before we do it
#: ../lib/packagekit-glib2/pk-console-shared.c:309
msgid "Resolving dependencies"
-msgstr ""
+msgstr "æ£å¨è§£æä¾èµå
³ç³»"
#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
#: ../lib/packagekit-glib2/pk-console-shared.c:313
msgid "Checking signatures"
-msgstr ""
+msgstr "æ£å¨æ£æ¥ç¾å"
#. TRANSLATORS: transaction state, when we return to a previous system state
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:317
#: ../lib/packagekit-glib2/pk-console-shared.c:623
msgid "Rolling back"
-msgstr "åæ»ä¸"
+msgstr "æ£å¨åæ»"
#. TRANSLATORS: transaction state, when we're doing a test transaction
#: ../lib/packagekit-glib2/pk-console-shared.c:321
msgid "Testing changes"
-msgstr ""
+msgstr "æ£å¨æµè¯æ´æ¹"
#. TRANSLATORS: transaction state, when we're writing to the system package database
#: ../lib/packagekit-glib2/pk-console-shared.c:325
msgid "Committing changes"
-msgstr ""
+msgstr "æ£å¨æ交æ´æ¹"
#. TRANSLATORS: transaction state, requesting data from a server
#: ../lib/packagekit-glib2/pk-console-shared.c:329
msgid "Requesting data"
-msgstr ""
+msgstr "æ£å¨è¯·æ±æ°æ®"
#. TRANSLATORS: transaction state, all done!
#: ../lib/packagekit-glib2/pk-console-shared.c:333
msgid "Finished"
-msgstr "å·²ç»æ"
+msgstr "å®æäº"
#. TRANSLATORS: transaction state, in the process of cancelling
#: ../lib/packagekit-glib2/pk-console-shared.c:337
msgid "Cancelling"
-msgstr ""
+msgstr "æ£å¨åæ¶"
#. TRANSLATORS: transaction state, downloading metadata
#: ../lib/packagekit-glib2/pk-console-shared.c:341
msgid "Downloading repository information"
-msgstr ""
+msgstr "æ£å¨ä¸è½½è½¯ä»¶ä»åºä¿¡æ¯"
#. TRANSLATORS: transaction state, downloading metadata
#: ../lib/packagekit-glib2/pk-console-shared.c:345
msgid "Downloading list of packages"
-msgstr ""
+msgstr "æ£å¨ä¸è½½å
æ¸
å"
#. TRANSLATORS: transaction state, downloading metadata
#: ../lib/packagekit-glib2/pk-console-shared.c:349
msgid "Downloading file lists"
-msgstr ""
+msgstr "æ£å¨ä¸è½½æ件æ¸
å"
#. TRANSLATORS: transaction state, downloading metadata
#: ../lib/packagekit-glib2/pk-console-shared.c:353
msgid "Downloading lists of changes"
-msgstr ""
+msgstr "æ£å¨ä¸è½½æ´æ¹æ¸
å"
#. TRANSLATORS: transaction state, downloading metadata
#: ../lib/packagekit-glib2/pk-console-shared.c:357
msgid "Downloading groups"
-msgstr ""
+msgstr "æ£å¨ä¸è½½ç»"
#. TRANSLATORS: transaction state, downloading metadata
#: ../lib/packagekit-glib2/pk-console-shared.c:361
msgid "Downloading update information"
-msgstr ""
+msgstr "æ£å¨ä¸è½½æ´æ°ä¿¡æ¯"
#. TRANSLATORS: transaction state, repackaging delta files
#: ../lib/packagekit-glib2/pk-console-shared.c:365
msgid "Repackaging files"
-msgstr ""
+msgstr "æ£å¨éæ°æå
æ件"
#. TRANSLATORS: transaction state, loading databases
#: ../lib/packagekit-glib2/pk-console-shared.c:369
msgid "Loading cache"
-msgstr ""
+msgstr "æ£å¨è½½å
¥ç¼å"
#. TRANSLATORS: transaction state, scanning for running processes
#: ../lib/packagekit-glib2/pk-console-shared.c:373
msgid "Scanning applications"
-msgstr ""
+msgstr "æ£å¨æ«æåºç¨ç¨åº"
#. TRANSLATORS: transaction state, generating a list of packages installed on the system
#: ../lib/packagekit-glib2/pk-console-shared.c:377
msgid "Generating package lists"
-msgstr ""
+msgstr "æ£å¨çæå
æ¸
å"
#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
#: ../lib/packagekit-glib2/pk-console-shared.c:381
msgid "Waiting for package manager lock"
-msgstr ""
+msgstr "æ£å¨çå¾
å
管çå¨é"
#. TRANSLATORS: transaction state, waiting for user to type in a password
#: ../lib/packagekit-glib2/pk-console-shared.c:385
msgid "Waiting for authentication"
-msgstr ""
+msgstr "æ£å¨çå¾
身份éªè¯"
#. TRANSLATORS: transaction state, we are updating the list of processes
#: ../lib/packagekit-glib2/pk-console-shared.c:389
msgid "Updating running applications"
-msgstr ""
+msgstr "æ£å¨æ´æ°è¿è¡ä¸çåºç¨ç¨åº"
#. TRANSLATORS: transaction state, we are checking executable files currently in use
#: ../lib/packagekit-glib2/pk-console-shared.c:393
msgid "Checking applications in use"
-msgstr ""
+msgstr "æ£å¨æ£æ¥ä½¿ç¨ä¸çåºç¨ç¨åº"
#. TRANSLATORS: transaction state, we are checking for libraries currently in use
#: ../lib/packagekit-glib2/pk-console-shared.c:397
msgid "Checking libraries in use"
-msgstr ""
+msgstr "æ£å¨æ£æ¥ä½¿ç¨ä¸çåºæ件"
#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
#: ../lib/packagekit-glib2/pk-console-shared.c:401
@@ -1338,12 +1341,12 @@ msgstr "å±è½"
#: ../lib/packagekit-glib2/pk-console-shared.c:448
#: ../lib/packagekit-glib2/pk-console-shared.c:521
msgid "Installed"
-msgstr "å·²å®è£
"
+msgstr "å·²å®è£
äº"
#. TRANSLATORS: The state of a package, i.e. not installed
#: ../lib/packagekit-glib2/pk-console-shared.c:453
msgid "Available"
-msgstr "å¯è£
"
+msgstr "å¯ç¨äº"
#. TRANSLATORS: The action of the package, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:471
@@ -1353,61 +1356,61 @@ msgstr "æ£å¨ä¸è½½"
#. TRANSLATORS: The action of the package, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:475
msgid "Updating"
-msgstr "æ´æ°ä¸"
+msgstr "æ£å¨æ´æ°"
#. TRANSLATORS: The action of the package, in present tense
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:479
#: ../lib/packagekit-glib2/pk-console-shared.c:599
msgid "Installing"
-msgstr "å®è£
ä¸"
+msgstr "æ£å¨å®è£
"
#. TRANSLATORS: The action of the package, in present tense
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:483
#: ../lib/packagekit-glib2/pk-console-shared.c:595
msgid "Removing"
-msgstr "å é¤ä¸"
+msgstr "æ£å¨å é¤"
#. TRANSLATORS: The action of the package, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:487
msgid "Cleaning up"
-msgstr ""
+msgstr "æ£å¨æ¸
ç"
#. TRANSLATORS: The action of the package, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:491
msgid "Obsoleting"
-msgstr "åºå¼ä¸"
+msgstr "æ£å¨åºå¼"
#. TRANSLATORS: The action of the package, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:495
msgid "Reinstalling"
-msgstr "éè£
ä¸"
+msgstr "æ£å¨éæ°å®è£
"
#. TRANSLATORS: The action of the package, in past tense
#: ../lib/packagekit-glib2/pk-console-shared.c:513
msgid "Downloaded"
-msgstr "ä¸è½½"
+msgstr "ä¸è½½äº"
#. TRANSLATORS: The action of the package, in past tense
#: ../lib/packagekit-glib2/pk-console-shared.c:525
msgid "Removed"
-msgstr "移é¤"
+msgstr "移é¤äº"
#. TRANSLATORS: The action of the package, in past tense
#: ../lib/packagekit-glib2/pk-console-shared.c:529
msgid "Cleaned up"
-msgstr "æ¸
ç"
+msgstr "æ¸
çäº"
#. TRANSLATORS: The action of the package, in past tense
#: ../lib/packagekit-glib2/pk-console-shared.c:533
msgid "Obsoleted"
-msgstr "åºå¼"
+msgstr "åºå¼äº"
#. TRANSLATORS: The action of the package, in past tense
#: ../lib/packagekit-glib2/pk-console-shared.c:537
msgid "Reinstalled"
-msgstr ""
+msgstr "éæ°å®è£
äº"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:555
@@ -1417,173 +1420,173 @@ msgstr "æªç¥è§è²ç±»å"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:559
msgid "Getting dependencies"
-msgstr ""
+msgstr "æ£å¨è·åä¾èµå
³ç³»"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:563
msgid "Getting update details"
-msgstr ""
+msgstr "æ£å¨è·åæ´æ°ç»è"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:567
msgid "Getting details"
-msgstr ""
+msgstr "æ£å¨è·åç»è"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:571
msgid "Getting requires"
-msgstr ""
+msgstr "æ£å¨è·åè¦æ±"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:575
msgid "Getting updates"
-msgstr ""
+msgstr "æ£å¨è·åæ´æ°"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:579
msgid "Searching by details"
-msgstr ""
+msgstr "æ£å¨æç»èæç´¢"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:583
msgid "Searching by file"
-msgstr ""
+msgstr "æ£å¨ææ件æç´¢"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:587
msgid "Searching groups"
-msgstr ""
+msgstr "æ£å¨æç´¢ç»"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:591
msgid "Searching by name"
-msgstr ""
+msgstr "æ£å¨æå称æç´¢"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:603
msgid "Installing files"
-msgstr "æ件å®è£
ä¸"
+msgstr "æ£å¨å®è£
æ件"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:607
msgid "Refreshing cache"
-msgstr ""
+msgstr "æ£å¨å·æ°ç¼å"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:611
msgid "Updating packages"
-msgstr "å
æ´æ°ä¸"
+msgstr "æ£å¨æ´æ°å
"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:615
msgid "Updating system"
-msgstr "ç³»ç»æ´æ°ä¸"
+msgstr "æ£å¨æ´æ°ç³»ç»"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:619
msgid "Canceling"
-msgstr "åæ¶ä¸"
+msgstr "æ£å¨åæ¶"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:627
msgid "Getting repositories"
-msgstr ""
+msgstr "æ£å¨è·å软件ä»åº"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:631
msgid "Enabling repository"
-msgstr ""
+msgstr "æ£å¨å¯ç¨è½¯ä»¶ä»åº"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:635
msgid "Setting data"
-msgstr "æ°æ®è®¾ç½®ä¸"
+msgstr "æ£å¨è®¾ç½®æ°æ®"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:639
msgid "Resolving"
-msgstr "解æä¸"
+msgstr "æ£å¨è§£æ"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:643
msgid "Getting file list"
-msgstr "æ件æ¸
åè·åä¸"
+msgstr "æ£å¨è·åæ件æ¸
å"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:647
msgid "Getting provides"
-msgstr "æä¾ä¿¡æ¯ï¼providesï¼è·åä¸"
+msgstr "æ£å¨è·åæä¾"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:651
msgid "Installing signature"
-msgstr ""
+msgstr "æ£å¨å®è£
ç¾å"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:655
msgid "Getting packages"
-msgstr "å
è·åä¸"
+msgstr "æ£å¨è·åå
"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:659
msgid "Accepting EULA"
-msgstr ""
+msgstr "æ£å¨æ¥åæç»ç¨æ·è®¸å¯åè®®ï¼EULAï¼"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:667
msgid "Getting upgrades"
-msgstr "å级å
è·åä¸"
+msgstr "æ£å¨è·åå级"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:671
msgid "Getting categories"
-msgstr ""
+msgstr "æ£å¨è·åç±»å«"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:675
msgid "Getting transactions"
-msgstr ""
+msgstr "æ£å¨è·åäºå¡"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:679
#: ../lib/packagekit-glib2/pk-console-shared.c:683
msgid "Simulating install"
-msgstr ""
+msgstr "æ£å¨æ¨¡æå®è£
"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:687
msgid "Simulating remove"
-msgstr ""
+msgstr "æ£å¨æ¨¡æå é¤"
#. TRANSLATORS: The role of the transaction, in present tense
#: ../lib/packagekit-glib2/pk-console-shared.c:691
msgid "Simulating update"
-msgstr ""
+msgstr "æ£å¨æ¨¡ææ´æ°"
#. TRANSLATORS: ask the user if they are comfortable installing insecure packages
#: ../lib/packagekit-glib2/pk-task-text.c:69
msgid "Do you want to allow installing of unsigned software?"
-msgstr ""
+msgstr "æ¨æ¯å¦è¦åææªç¾å软件çå®è£
ï¼"
#. TRANSLATORS: tell the user we've not done anything
#: ../lib/packagekit-glib2/pk-task-text.c:74
msgid "The unsigned software will not be installed."
-msgstr ""
+msgstr "æªç¾å软件å°ä¸è¢«å®è£
ã"
#. TRANSLATORS: the package repository is signed by a key that is not recognised
#: ../lib/packagekit-glib2/pk-task-text.c:123
msgid "Software source signature required"
-msgstr ""
+msgstr "éè¦è½¯ä»¶æºç¾å"
#. TRANSLATORS: the package repository name
#: ../lib/packagekit-glib2/pk-task-text.c:129
msgid "Software source name"
-msgstr ""
+msgstr "软件æºå"
#. TRANSLATORS: the key URL
#: ../lib/packagekit-glib2/pk-task-text.c:132
msgid "Key URL"
-msgstr "å¯é¥å°åï¼URLï¼"
+msgstr "å¯é¥ç»ä¸èµæºå®ä½ç¬¦ï¼URLï¼"
#. TRANSLATORS: the username of the key
#: ../lib/packagekit-glib2/pk-task-text.c:135
@@ -1593,32 +1596,32 @@ msgstr "å¯é¥ç¨æ·"
#. TRANSLATORS: the key ID, usually a few hex digits
#: ../lib/packagekit-glib2/pk-task-text.c:138
msgid "Key ID"
-msgstr "å¯é¥ç¼å·"
+msgstr "å¯é¥æ è¯ç¬¦"
#. TRANSLATORS: the key fingerprint, again, yet more hex
#: ../lib/packagekit-glib2/pk-task-text.c:141
msgid "Key fingerprint"
-msgstr ""
+msgstr "å¯é¥æ纹"
#. TRANSLATORS: the timestamp (a bit like a machine readable time)
#: ../lib/packagekit-glib2/pk-task-text.c:144
msgid "Key Timestamp"
-msgstr ""
+msgstr "å¯é¥æ¶æ³"
#. TRANSLATORS: ask the user if they want to import
#: ../lib/packagekit-glib2/pk-task-text.c:157
msgid "Do you accept this signature?"
-msgstr ""
+msgstr "æ¨æ¯å¦æ¥åæ¤ç¾åï¼"
#. TRANSLATORS: tell the user we've not done anything
#: ../lib/packagekit-glib2/pk-task-text.c:162
msgid "The signature was not accepted."
-msgstr "\t\t\t"
+msgstr "ç¾åæªè¢«æ¥åã"
#. TRANSLATORS: this is another name for a software licence that has to be read before installing
#: ../lib/packagekit-glib2/pk-task-text.c:205
msgid "End user licence agreement required"
-msgstr ""
+msgstr "éè¦æç»ç¨æ·è®¸å¯åè®®"
#. TRANSLATORS: the EULA text itself (long and boring)
#: ../lib/packagekit-glib2/pk-task-text.c:214
@@ -1628,17 +1631,17 @@ msgstr "åè®®"
#. TRANSLATORS: ask the user if they've read and accepted the EULA
#: ../lib/packagekit-glib2/pk-task-text.c:223
msgid "Do you accept this agreement?"
-msgstr ""
+msgstr "æ¨æ¯å¦æ¥åæ¤åè®®ï¼"
#. TRANSLATORS: tell the user we've not done anything
#: ../lib/packagekit-glib2/pk-task-text.c:228
msgid "The agreement was not accepted."
-msgstr ""
+msgstr "åè®®æªè¢«æ¥åã"
#. TRANSLATORS: the user needs to change media inserted into the computer
#: ../lib/packagekit-glib2/pk-task-text.c:267
msgid "Media change required"
-msgstr ""
+msgstr "è¦æ±ä»è´¨æ´æ¹"
#. TRANSLATORS: the type, e.g. DVD, CD, etc
#: ../lib/packagekit-glib2/pk-task-text.c:270
@@ -1653,52 +1656,52 @@ msgstr "ä»è´¨æ ç¾"
#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
#: ../lib/packagekit-glib2/pk-task-text.c:276
msgid "Text"
-msgstr "æè¿°"
+msgstr "ææ¬"
#. TRANSLATORS: ask the user to insert the media
#: ../lib/packagekit-glib2/pk-task-text.c:282
msgid "Please insert the correct media"
-msgstr ""
+msgstr "请æå
¥æ£ç¡®çä»è´¨"
#. TRANSLATORS: tell the user we've not done anything as they are lazy
#: ../lib/packagekit-glib2/pk-task-text.c:287
msgid "The correct media was not inserted."
-msgstr ""
+msgstr "æ£ç¡®çä»è´¨æªè¢«æå
¥ã"
#. TRANSLATORS: When processing, we might have to remove other dependencies
#: ../lib/packagekit-glib2/pk-task-text.c:302
msgid "The following packages have to be removed:"
-msgstr ""
+msgstr "ä¸åå
å¿
须被å é¤ï¼"
#. TRANSLATORS: When processing, we might have to install other dependencies
#: ../lib/packagekit-glib2/pk-task-text.c:307
msgid "The following packages have to be installed:"
-msgstr ""
+msgstr "ä¸åå
å¿
须被å®è£
ï¼"
#. TRANSLATORS: When processing, we might have to update other dependencies
#: ../lib/packagekit-glib2/pk-task-text.c:312
msgid "The following packages have to be updated:"
-msgstr ""
+msgstr "ä¸åå
å¿
须被æ´æ°ï¼"
#. TRANSLATORS: When processing, we might have to reinstall other dependencies
#: ../lib/packagekit-glib2/pk-task-text.c:317
msgid "The following packages have to be reinstalled:"
-msgstr ""
+msgstr "ä¸åå
å¿
须被éæ°å®è£
ï¼"
#. TRANSLATORS: When processing, we might have to downgrade other dependencies
#: ../lib/packagekit-glib2/pk-task-text.c:322
msgid "The following packages have to be downgraded:"
-msgstr ""
+msgstr "ä¸åå
å¿
须被é级ï¼"
#. TRANSLATORS: ask the user if the proposed changes are okay
#: ../lib/packagekit-glib2/pk-task-text.c:382
msgid "Proceed with changes?"
-msgstr ""
+msgstr "ä¼´éæ´æ¹ç»§ç»ï¼"
#. TRANSLATORS: tell the user we didn't do anything
#: ../lib/packagekit-glib2/pk-task-text.c:387
msgid "The transaction did not proceed."
-msgstr ""
+msgstr "äºå¡æªç»§ç»ã"
#. SECURITY:
#. - Normal users do not require admin authentication to accept new
@@ -1708,65 +1711,65 @@ msgstr ""
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:7
msgid "Accept EULA"
-msgstr ""
+msgstr "æ¥åæç»ç¨æ·è®¸å¯åè®®ï¼EULAï¼"
#: ../policy/org.freedesktop.packagekit.policy.in.h:8
msgid "Authentication is required to accept a EULA"
-msgstr ""
+msgstr "æ¥åæç»ç¨æ·è®¸å¯åè®®éç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:9
msgid ""
"Authentication is required to cancel a task that was not started by yourself"
-msgstr ""
+msgstr "åæ¶ä¸é¡¹éæ¨å¯å¨çä»»å¡éç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:10
msgid "Authentication is required to change software source parameters"
-msgstr ""
+msgstr "æ´æ¹è½¯ä»¶æºåæ°éç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:11
msgid ""
"Authentication is required to change the location used to decompress packages"
-msgstr ""
+msgstr "æ´æ¹è§£åå
æç¨ä½ç½®éç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:12
msgid ""
"Authentication is required to consider a key used for signing packages as "
"trusted"
-msgstr ""
+msgstr "èèç¾åå
为已信任æç¨å¯é¥éç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:13
msgid "Authentication is required to install a signed package"
-msgstr ""
+msgstr "å®è£
å·²ç¾åå
éç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:14
msgid "Authentication is required to install an untrusted package"
-msgstr ""
+msgstr "å®è£
æªä¿¡ä»»å
éç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:15
msgid "Authentication is required to refresh the system sources"
-msgstr ""
+msgstr "å·æ°ç³»ç»æºéç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:16
msgid "Authentication is required to reload the device with a new driver"
-msgstr ""
+msgstr "ç¨æ°é©±å¨éæ°è½½å
¥è®¾å¤éç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:17
msgid "Authentication is required to remove packages"
-msgstr ""
+msgstr "å é¤å
éç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:18
msgid "Authentication is required to rollback a transaction"
-msgstr ""
+msgstr "åæ»äºå¡éç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:19
msgid ""
"Authentication is required to set the network proxy used for downloading "
"packages"
-msgstr ""
+msgstr "设置ä¸è½½å
æç¨ç½ç»ä»£çéç»èº«ä»½éªè¯"
#: ../policy/org.freedesktop.packagekit.policy.in.h:20
msgid "Authentication is required to update packages"
-msgstr ""
+msgstr "æ´æ°å
éç»èº«ä»½éªè¯"
#. SECURITY:
#. - Normal users are allowed to cancel their own task without
@@ -1775,7 +1778,7 @@ msgstr ""
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:26
msgid "Cancel foreign task"
-msgstr ""
+msgstr "åæ¶å¤æ¥ä»»å¡"
#. SECURITY:
#. - This is used when users want to install to a different prefix, for
@@ -1785,7 +1788,7 @@ msgstr ""
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:33
msgid "Change location that packages are installed"
-msgstr ""
+msgstr "æ´æ¹å
å®è£
ä½ç½®"
#. SECURITY:
#. - Normal users require admin authentication to enable or disable
@@ -1794,7 +1797,7 @@ msgstr ""
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:39
msgid "Change software source parameters"
-msgstr ""
+msgstr "æ´æ¹è½¯ä»¶æºåæ°"
#. SECURITY:
#. - Normal users do not need authentication to install signed packages
@@ -1814,7 +1817,7 @@ msgstr "å®è£
å·²ç¾åå
"
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:53
msgid "Install untrusted local file"
-msgstr ""
+msgstr "å®è£
æªä¿¡ä»»æ¬å°æ件"
#. SECURITY:
#. - Normal users do not require admin authentication to refresh the
@@ -1833,7 +1836,7 @@ msgstr "å·æ°ç³»ç»æºç¼å"
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:66
msgid "Reload a device"
-msgstr "éæ°å 载设å¤"
+msgstr "éæ°è½½å
¥è®¾å¤"
#. SECURITY:
#. - Normal users require admin authentication to remove packages as
@@ -1846,7 +1849,7 @@ msgstr "éæ°å 载设å¤"
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:76
msgid "Remove package"
-msgstr "移é¤å
"
+msgstr "å é¤å
"
#. SECURITY:
#. - Normal users require admin authentication to rollback system state
@@ -1855,7 +1858,7 @@ msgstr "移é¤å
"
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:82
msgid "Rollback to a previous transaction"
-msgstr ""
+msgstr "åæ»å°åä¸ä¸ªäºå¡"
#. SECURITY:
#. - Normal users do not require admin authentication to set the proxy
@@ -1873,7 +1876,7 @@ msgstr "设置ç½ç»ä»£ç"
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:94
msgid "Trust a key used for signing packages"
-msgstr ""
+msgstr "ä¿¡ä»»ç¾åå
æç¨å¯é¥"
#. SECURITY:
#. - Normal users do not require admin authentication to update the
@@ -1889,17 +1892,18 @@ msgstr "æ´æ°å
"
#. TRANSLATORS: failed due to DBus security
#: ../src/pk-main.c:87
msgid "Startup failed due to security policies on this machine."
-msgstr ""
+msgstr "å æ¬æºå®å
¨çç¥é æå¯å¨å¤±è´¥ã"
#. TRANSLATORS: only two ways this can fail...
#: ../src/pk-main.c:89
msgid "This can happen for two reasons:"
-msgstr ""
+msgstr "æ¤äºåºç°å¯æ两个åå ï¼"
#. TRANSLATORS: only allowed to be owned by root
#: ../src/pk-main.c:91
+#, fuzzy
msgid "The correct user is not launching the executable (usually root)"
-msgstr ""
+msgstr "æ£ç¡®çç¨æ·æ²¡æå¯å¨æ¤å¯æ§è¡æ件ï¼éå¸¸æ¯ rootï¼"
#. TRANSLATORS: or we are installed in a prefix
#: ../src/pk-main.c:93
@@ -1946,8 +1950,9 @@ msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼æå¡"
#. TRANSLATORS: fatal error, dbus is not running
#: ../src/pk-main.c:267
+#, fuzzy
msgid "Cannot connect to the system bus"
-msgstr "ä¸è½è¿æ¥å°ç³»ç»æ»çº¿"
+msgstr "ä¸è½è¿æ¥å°ç³»ç» dbus"
#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
#: ../src/pk-main.c:318
@@ -1961,7 +1966,7 @@ msgstr "è¦å®è£
è°è¯å
ï¼éè¦å¯ç¨é¢å¤æºã"
#. TRANSLATORS: is not GPG signed
#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
msgid "The software is not from a trusted source."
-msgstr "该软件ä¸æ¯æ¥èªåä¿¡ä»»æºã"
+msgstr "æ¤è½¯ä»¶ä¸æ¯æ¥èªä¿¡ä»»æºã"
#: ../src/pk-polkit-action-lookup.c:176
msgid "Do not update this package unless you are sure it is safe to do so."
@@ -1987,7 +1992,7 @@ msgstr "太å¤å
"
#. TRANSLATORS: if the transaction is forced to install only trusted packages
#: ../src/pk-polkit-action-lookup.c:339
msgid "Only trusted"
-msgstr "ä»
åä¿¡ä»»å
"
+msgstr "ä»
已信任å
"
#. TRANSLATORS: turn on all debugging
#: ../src/egg-debug.c:388
commit 720e4631dc6b86cc06637ae966de3f7a538c0a0a
Author: Jonathan Conder <j at skurvy.no-ip.org>
Date: Sun Jun 20 01:34:24 2010 +1200
pacman: update for pacman-glib 3.4.0
diff --git a/backends/pacman/backend-install.c b/backends/pacman/backend-install.c
index 53dfe8d..5c188cc 100644
--- a/backends/pacman/backend-install.c
+++ b/backends/pacman/backend-install.c
@@ -51,46 +51,6 @@ backend_transaction_list_targets (PkBackend *backend)
return list;
}
-static void
-backend_transaction_packages (PkBackend *backend, PacmanTransaction *transaction)
-{
- const PacmanList *removes, *packages;
-
- g_return_if_fail (backend != NULL);
- g_return_if_fail (transaction != NULL);
-
- /* emit packages that would have been installed */
- for (packages = pacman_transaction_get_packages (transaction); packages != NULL; packages = pacman_list_next (packages)) {
- PacmanPackage *package = (PacmanPackage *) pacman_list_get (packages);
-
- for (removes = pacman_package_get_removes (package); removes != NULL; removes = pacman_list_next (removes)) {
- PacmanPackage *remove = (PacmanPackage *) pacman_list_get (removes);
-
- if (backend_cancelled (backend)) {
- break;
- } else {
- PkRoleEnum role = pk_backend_get_role (backend);
- if (role == PK_ROLE_ENUM_SIMULATE_UPDATE_PACKAGES) {
- backend_package (backend, remove, PK_INFO_ENUM_OBSOLETING);
- } else {
- backend_package (backend, remove, PK_INFO_ENUM_REMOVING);
- }
- }
- }
-
- if (backend_cancelled (backend)) {
- break;
- } else {
- const gchar *name = pacman_package_get_name (package);
- if (pacman_database_find_package (local_database, name) != NULL) {
- backend_package (backend, package, PK_INFO_ENUM_UPDATING);
- } else {
- backend_package (backend, package, PK_INFO_ENUM_INSTALLING);
- }
- }
- }
-}
-
static gboolean
backend_download_packages_thread (PkBackend *backend)
{
@@ -174,7 +134,7 @@ backend_install_files_thread (PkBackend *backend)
* backend_install_files:
**/
void
-backend_install_files (PkBackend *backend, gboolean only_trusted, gchar **full_paths)
+backend_install_files (PkBackend *backend, gboolean only_trusted, gchar **full_paths)
{
g_return_if_fail (backend != NULL);
g_return_if_fail (full_paths != NULL);
@@ -183,6 +143,52 @@ backend_install_files (PkBackend *backend, gboolean only_trusted, gchar **full_p
}
static gboolean
+backend_simulate_install_files_thread (PkBackend *backend)
+{
+ guint iterator;
+ PacmanList *list = NULL;
+
+ gchar **full_paths;
+
+ PacmanTransaction *transaction = NULL;
+ PacmanTransactionFlags flags = PACMAN_TRANSACTION_FLAGS_NONE;
+
+ g_return_val_if_fail (backend != NULL, FALSE);
+
+ full_paths = pk_backend_get_strv (backend, "full_paths");
+
+ g_return_val_if_fail (full_paths != NULL, FALSE);
+
+ /* prepare the transaction */
+ for (iterator = 0; full_paths[iterator] != NULL; ++iterator) {
+ list = pacman_list_add (list, full_paths[iterator]);
+ }
+ if (list != NULL) {
+ transaction = backend_transaction_simulate (backend, PACMAN_TRANSACTION_INSTALL, flags, list);
+ pacman_list_free (list);
+
+ if (transaction != NULL) {
+ /* emit packages that would have been installed or removed */
+ backend_transaction_packages (backend, transaction);
+ }
+ }
+
+ return backend_transaction_finished (backend, transaction);
+}
+
+/**
+ * backend_install_files:
+ **/
+void
+backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
+{
+ g_return_if_fail (backend != NULL);
+ g_return_if_fail (full_paths != NULL);
+
+ backend_run (backend, PK_STATUS_ENUM_SETUP, backend_simulate_install_files_thread);
+}
+
+static gboolean
backend_install_packages_thread (PkBackend *backend)
{
PacmanList *list;
@@ -257,46 +263,46 @@ backend_update_packages_thread (PkBackend *backend)
PacmanList *list, *asdeps = NULL;
/* FS#5331: use only_trusted */
PacmanTransaction *transaction = NULL;
- PacmanTransactionFlags flags = PACMAN_TRANSACTION_FLAGS_NONE, dflags = PACMAN_TRANSACTION_FLAGS_INSTALL_IMPLICIT;
+ PacmanTransactionFlags sflags = PACMAN_TRANSACTION_FLAGS_NONE, mflags = PACMAN_TRANSACTION_FLAGS_INSTALL_IMPLICIT;
+ g_return_val_if_fail (local_database != NULL, FALSE);
g_return_val_if_fail (backend != NULL, FALSE);
/* prepare the transaction */
list = backend_transaction_list_targets (backend);
if (list != NULL) {
- transaction = backend_transaction_simulate (backend, PACMAN_TRANSACTION_SYNC, flags, list);
+ transaction = backend_transaction_simulate (backend, PACMAN_TRANSACTION_SYNC, sflags, list);
pacman_list_free_full (list, g_free);
if (transaction != NULL) {
- const PacmanList *packages;
+ const PacmanList *installs, *removes;
- /* check for packages that should be installed as deps */
- for (packages = pacman_transaction_get_packages (transaction); packages != NULL; packages = pacman_list_next (packages)) {
- PacmanPackage *package = (PacmanPackage *) pacman_list_get (packages);
- const PacmanList *removes = pacman_package_get_removes (package);
+ /* change the install reason of for packages that replace only dependencies of other packages */
+ for (installs = pacman_transaction_get_installs (transaction); installs != NULL; installs = pacman_list_next (installs)) {
+ PacmanPackage *install = (PacmanPackage *) pacman_list_get (installs);
+ const gchar *name = pacman_package_get_name (install);
if (backend_cancelled (backend)) {
break;
- } else if (removes != NULL) {
- for (; removes != NULL; removes = pacman_list_next (removes)) {
+ } else if (pacman_database_find_package (local_database, name) == NULL) {
+ const PacmanList *replaces = pacman_package_get_replaces (install);
+
+ for (removes = pacman_transaction_get_removes (transaction); removes != NULL; removes = pacman_list_next (removes)) {
PacmanPackage *remove = (PacmanPackage *) pacman_list_get (removes);
+ const gchar *replace = pacman_package_get_name (remove);
if (backend_cancelled (backend)) {
break;
- } else if (pacman_package_was_explicitly_installed (remove)) {
- break;
+ } else if (pacman_list_find_string (replaces, replace)) {
+ if (pacman_package_was_explicitly_installed (remove)) {
+ break;
+ }
}
}
- /* if all removes were installed as dependencies, do the same for this package */
+ /* none of the replaced packages were installed explicitly */
if (removes == NULL) {
- const gchar *name, *repo;
- PacmanDatabase *database = pacman_package_get_database (package);
-
- name = pacman_package_get_name (package);
- repo = pacman_database_get_name (database);
-
- asdeps = pacman_list_add (asdeps, g_strdup_printf ("%s/%s", repo, name));
+ asdeps = pacman_list_add (asdeps, g_strdup (name));
}
}
}
@@ -306,11 +312,11 @@ backend_update_packages_thread (PkBackend *backend)
}
/* mark replacements as deps if required */
- if (transaction != NULL && asdeps != NULL) {
- g_object_unref (transaction);
- transaction = backend_transaction_run (backend, PACMAN_TRANSACTION_SYNC, dflags, asdeps);
- pacman_list_free_full (asdeps, g_free);
- } else if (asdeps != NULL) {
+ if (asdeps != NULL) {
+ if (transaction != NULL) {
+ g_object_unref (transaction);
+ transaction = backend_transaction_run (backend, PACMAN_TRANSACTION_MODIFY, mflags, asdeps);
+ }
pacman_list_free_full (asdeps, g_free);
}
diff --git a/backends/pacman/backend-install.h b/backends/pacman/backend-install.h
index 5b45b20..0685a48 100644
--- a/backends/pacman/backend-install.h
+++ b/backends/pacman/backend-install.h
@@ -29,6 +29,8 @@ void backend_download_packages (PkBackend *backend,
void backend_install_files (PkBackend *backend,
gboolean only_trusted,
gchar **full_paths);
+void backend_simulate_install_files (PkBackend *backend,
+ gchar **full_paths);
void backend_install_packages (PkBackend *backend,
gboolean only_trusted,
diff --git a/backends/pacman/backend-packages.c b/backends/pacman/backend-packages.c
index af35f69..a00f107 100644
--- a/backends/pacman/backend-packages.c
+++ b/backends/pacman/backend-packages.c
@@ -254,8 +254,7 @@ backend_get_details_thread (PkBackend *backend)
if (pacman_package_get_database (package) == local_database) {
size = pacman_package_get_installed_size (package);
} else {
- /* FS#18769: change to get_download_size */
- size = pacman_package_get_size (package);
+ size = pacman_package_get_download_size (package);
}
licenses = g_string_free (string, FALSE);
diff --git a/backends/pacman/backend-pacman.c b/backends/pacman/backend-pacman.c
index a032403..8586790 100644
--- a/backends/pacman/backend-pacman.c
+++ b/backends/pacman/backend-pacman.c
@@ -246,7 +246,7 @@ PK_BACKEND_OPTIONS (
backend_update_packages, /* update_packages */
NULL, /* update_system */
backend_what_provides, /* what_provides */
- NULL, /* simulate_install_files */
+ backend_simulate_install_files, /* simulate_install_files */
backend_simulate_install_packages, /* simulate_install_packages */
backend_simulate_remove_packages, /* simulate_remove_packages */
backend_simulate_update_packages /* simulate_update_packages */
diff --git a/backends/pacman/backend-remove.c b/backends/pacman/backend-remove.c
index 3ff47e1..b31218b 100644
--- a/backends/pacman/backend-remove.c
+++ b/backends/pacman/backend-remove.c
@@ -121,17 +121,8 @@ backend_simulate_remove_packages_thread (PkBackend *backend)
pacman_list_free_full (list, g_free);
if (transaction != NULL) {
- const PacmanList *packages;
-
- /* emit packages that would have been removed */
- for (packages = pacman_transaction_get_packages (transaction); packages != NULL; packages = pacman_list_next (packages)) {
- PacmanPackage *package = (PacmanPackage *) pacman_list_get (packages);
- if (backend_cancelled (backend)) {
- break;
- } else {
- backend_package (backend, package, PK_INFO_ENUM_REMOVING);
- }
- }
+ /* emit packages that would have been installed or removed */
+ backend_transaction_packages (backend, transaction);
}
}
diff --git a/backends/pacman/backend-transaction.c b/backends/pacman/backend-transaction.c
index 99e629a..b16458d 100644
--- a/backends/pacman/backend-transaction.c
+++ b/backends/pacman/backend-transaction.c
@@ -123,7 +123,7 @@ transaction_download_start (PacmanTransaction *transaction, BackendDownloadData
}
/* find a new package for the current file */
- for (packages = pacman_transaction_get_packages (transaction); packages != NULL; packages = pacman_list_next (packages)) {
+ for (packages = pacman_transaction_get_installs (transaction); packages != NULL; packages = pacman_list_next (packages)) {
PacmanPackage *package = (PacmanPackage *) pacman_list_get (packages);
if (pacman_package_has_filename (package, filename)) {
download->package = package;
@@ -402,6 +402,9 @@ backend_transaction_simulate (PkBackend *backend, PacmanTransactionType type, gu
case PACMAN_TRANSACTION_INSTALL:
transaction = pacman_manager_install (pacman, flags, &error);
break;
+ case PACMAN_TRANSACTION_MODIFY:
+ transaction = pacman_manager_modify (pacman, flags, &error);
+ break;
case PACMAN_TRANSACTION_REMOVE:
transaction = pacman_manager_remove (pacman, flags, &error);
break;
@@ -450,6 +453,50 @@ backend_transaction_run (PkBackend *backend, PacmanTransactionType type, guint32
return backend_transaction_commit (backend, transaction);
}
+void
+backend_transaction_packages (PkBackend *backend, PacmanTransaction *transaction)
+{
+ const PacmanList *installs, *removes;
+ PkInfoEnum info;
+
+ g_return_if_fail (local_database != NULL);
+ g_return_if_fail (backend != NULL);
+ g_return_if_fail (transaction != NULL);
+
+ /* emit packages that would have been installed */
+ for (installs = pacman_transaction_get_installs (transaction); installs != NULL; installs = pacman_list_next (installs)) {
+ PacmanPackage *install = (PacmanPackage *) pacman_list_get (installs);
+
+ if (backend_cancelled (backend)) {
+ break;
+ } else {
+ const gchar *name = pacman_package_get_name (install);
+ if (pacman_database_find_package (local_database, name) != NULL) {
+ backend_package (backend, install, PK_INFO_ENUM_UPDATING);
+ } else {
+ backend_package (backend, install, PK_INFO_ENUM_INSTALLING);
+ }
+ }
+ }
+
+ if (pk_backend_get_role (backend) == PK_ROLE_ENUM_SIMULATE_UPDATE_PACKAGES) {
+ info = PK_INFO_ENUM_OBSOLETING;
+ } else {
+ info = PK_INFO_ENUM_REMOVING;
+ }
+
+ /* emit packages that would have been removed */
+ for (removes = pacman_transaction_get_removes (transaction); removes != NULL; removes = pacman_list_next (removes)) {
+ PacmanPackage *remove = (PacmanPackage *) pacman_list_get (removes);
+
+ if (backend_cancelled (backend)) {
+ break;
+ } else {
+ backend_package (backend, remove, info);
+ }
+ }
+}
+
PacmanTransaction *
backend_transaction_commit (PkBackend *backend, PacmanTransaction *transaction)
{
diff --git a/backends/pacman/backend-transaction.h b/backends/pacman/backend-transaction.h
index 29dde88..a7db49a 100644
--- a/backends/pacman/backend-transaction.h
+++ b/backends/pacman/backend-transaction.h
@@ -26,6 +26,7 @@
typedef enum {
PACMAN_TRANSACTION_INSTALL,
+ PACMAN_TRANSACTION_MODIFY,
PACMAN_TRANSACTION_REMOVE,
PACMAN_TRANSACTION_SYNC,
PACMAN_TRANSACTION_UPDATE,
@@ -45,6 +46,8 @@ PacmanTransaction *backend_transaction_run (PkBackend *backend,
guint32 flags,
const PacmanList *targets);
+void backend_transaction_packages (PkBackend *backend,
+ PacmanTransaction *transaction);
PacmanTransaction *backend_transaction_commit (PkBackend *backend,
PacmanTransaction *transaction);
gboolean backend_transaction_finished (PkBackend *backend,
commit fedeb7b53eceb00759d5c5aa765cf66bb2f1bc7d
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Jun 16 17:52:08 2010 +0100
Move the packagekitd binary to libexec
According to the FHS, packagekitd is system activated, and not designed
to be run by the end user. So move it where it belongs.
diff --git a/contrib/PackageKit.spec.in b/contrib/PackageKit.spec.in
index b600ac0..215e3f5 100644
--- a/contrib/PackageKit.spec.in
+++ b/contrib/PackageKit.spec.in
@@ -306,7 +306,7 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%{_datadir}/polkit-1/actions/*.policy
%{_datadir}/mime/packages/packagekit-*.xml
%{_datadir}/PackageKit/pk-upgrade-distro.sh
-%{_sbindir}/packagekitd
+%{_libexecdir}/packagekitd
%{_bindir}/pkmon
%{_bindir}/pkcon
%{_bindir}/pkgenpack
diff --git a/data/Makefile.am b/data/Makefile.am
index 391fb90..7bd5c4c 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -28,7 +28,7 @@ servicemaindir = $(DBUS_SERVICES_DIR)
servicemain_in_files = org.freedesktop.PackageKit.service.in
servicemain_DATA = $(servicemain_in_files:.service.in=.service)
$(servicemain_DATA): $(servicemain_in_files) Makefile
- @sed -e "s|\@servicedir\@|$(sbindir)|" -e "s|\@PACKAGEKIT_USER\@|$(PACKAGEKIT_USER)|" $< > $@
+ @sed -e "s|\@servicedir\@|$(libexecdir)|" -e "s|\@PACKAGEKIT_USER\@|$(PACKAGEKIT_USER)|" $< > $@
databasedir = $(PK_DB_DIR)
database_DATA = \
diff --git a/src/Makefile.am b/src/Makefile.am
index 250b0e2..50215ae 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -112,7 +112,7 @@ shared_SOURCES += \
pk-network-stack-connman.c
endif
-sbin_PROGRAMS = \
+libexec_PROGRAMS = \
packagekitd \
$(NULL)
commit aab7a985eb903c1404d0890614af926f61863de4
Author: chenh <chenh at fedoraproject.org>
Date: Tue Jun 15 06:10:24 2010 +0000
l10n: Updates to Chinese (China) (zh_CN) translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/po/zh_CN.po b/po/zh_CN.po
index a4307b3..938c4ac 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -4,782 +4,802 @@
# Simplified Chinese Version of pavucontrol.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
+# Huan Chen <chenhuan.gt at gmail.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: pavucontrol.master-tx\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 10:34+0000\n"
-"PO-Revision-Date: 2010-01-09 19:54+0800\n"
-"Last-Translator: å®æé <guanminglin at gmail.com>\n"
-"Language-Team: Simplified Chinese <zh at li.org>\n"
+"POT-Creation-Date: 2010-06-14 19:32+0000\n"
+"PO-Revision-Date: 2010-06-15 14:02+0800\n"
+"Last-Translator: Huan Chen <chenhuan.gt at gmail.com>\n"
+"Language-Team: trans-zh_cn at lists.fedoraproject.com\n"
+"Language: zh\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Virtaal 0.5.2\n"
#. TRANSLATORS: this is an atomic transaction
#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
-#: ../client/pk-console.c:175
-#: ../client/pk-console.c:597
+#: ../client/pk-console.c:176 ../client/pk-console.c:598
msgid "Transaction"
-msgstr "å¤ç"
+msgstr "äºå¡"
#. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:177
+#: ../client/pk-console.c:178
msgid "System time"
msgstr "ç³»ç»æ¶é´"
#. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:179
+#: ../client/pk-console.c:180
msgid "Succeeded"
msgstr "æå"
-#: ../client/pk-console.c:179
+#: ../client/pk-console.c:180
msgid "True"
msgstr "æ£ç¡®"
-#: ../client/pk-console.c:179
+#: ../client/pk-console.c:180
msgid "False"
msgstr "é误"
#. TRANSLATORS: this is the transactions role, e.g. "update-system"
#. TRANSLATORS: the trasaction role, e.g. update-system
-#: ../client/pk-console.c:181
-#: ../src/pk-polkit-action-lookup.c:332
+#: ../client/pk-console.c:182 ../src/pk-polkit-action-lookup.c:332
msgid "Role"
-msgstr "ä»»å¡"
+msgstr "è§è²"
#. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:186
+#: ../client/pk-console.c:187
msgid "Duration"
msgstr "æç»æ¶é´"
-#: ../client/pk-console.c:186
+#: ../client/pk-console.c:187
msgid "(seconds)"
msgstr "(ç§)"
#. TRANSLATORS: this is The command line used to do the action
#. TRANSLATORS: the command line of the thing that wants the authentication
-#: ../client/pk-console.c:190
-#: ../src/pk-polkit-action-lookup.c:346
+#: ../client/pk-console.c:191 ../src/pk-polkit-action-lookup.c:346
msgid "Command line"
msgstr "å½ä»¤è¡"
#. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:192
+#: ../client/pk-console.c:193
msgid "User ID"
-msgstr "ç¨æ·ID"
+msgstr "ç¨æ·ç¼å·"
#. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:199
+#: ../client/pk-console.c:200
msgid "Username"
msgstr "ç¨æ·å"
#. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:203
+#: ../client/pk-console.c:204
msgid "Real name"
msgstr "çå®å§å"
-#: ../client/pk-console.c:211
+#: ../client/pk-console.c:212
msgid "Affected packages:"
-msgstr "åå½±åçå
"
+msgstr "åå½±åå
ï¼"
-#: ../client/pk-console.c:213
+#: ../client/pk-console.c:214
msgid "Affected packages: None"
-msgstr "åå½±åçå
ï¼æ "
+msgstr "åå½±åå
ï¼æ "
#. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:248
+#: ../client/pk-console.c:249
msgid "Distribution"
-msgstr "åé
"
+msgstr "åè¡ç"
#. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:250
+#: ../client/pk-console.c:251
msgid "Type"
msgstr "ç±»å"
#. TRANSLATORS: this is any summary text describing the upgrade
#. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:252
-#: ../client/pk-console.c:291
+#: ../client/pk-console.c:253 ../client/pk-console.c:292
msgid "Summary"
msgstr "æè¦"
#. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:280
+#: ../client/pk-console.c:281
msgid "Category"
msgstr "ç±»å«"
#. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:282
+#: ../client/pk-console.c:283
msgid "ID"
-msgstr "ID"
+msgstr "ç¼å·"
#. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:285
+#: ../client/pk-console.c:286
msgid "Parent"
-msgstr "ç¸å¯¹ç"
+msgstr "ä¸çº§ç»"
#. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:288
+#: ../client/pk-console.c:289
msgid "Name"
msgstr "å称"
#. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:294
+#: ../client/pk-console.c:295
msgid "Icon"
msgstr "å¾æ "
#. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:340
+#: ../client/pk-console.c:341
msgid "Details about the update:"
-msgstr "å
³äº æ´æ°ç详ç»ä¿¡æ¯"
+msgstr "æ´æ°ç»èï¼"
#. TRANSLATORS: details about the update, package name and version
#. TRANSLATORS: the package that is being processed
#. TRANSLATORS: the package that is not signed by a known key
#. TRANSLATORS: the package name that was trying to be installed
#. TRANSLATORS: title, the names of the packages that the method is processing
-#: ../client/pk-console.c:346
-#: ../client/pk-console.c:616
+#: ../client/pk-console.c:347 ../client/pk-console.c:617
#: ../lib/packagekit-glib2/pk-task-text.c:126
#: ../lib/packagekit-glib2/pk-task-text.c:208
#: ../src/pk-polkit-action-lookup.c:357
+#, fuzzy
msgid "Package"
msgid_plural "Packages"
msgstr[0] ""
msgstr[1] ""
#. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:349
+#: ../client/pk-console.c:350
msgid "Updates"
msgstr "æ´æ°"
#. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:353
+#: ../client/pk-console.c:354
msgid "Obsoletes"
-msgstr "éæ§ç"
+msgstr "åºå¼"
#. TRANSLATORS: details about the update, the vendor URLs
#. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:357
-#: ../lib/packagekit-glib2/pk-task-text.c:211
+#: ../client/pk-console.c:358 ../lib/packagekit-glib2/pk-task-text.c:211
msgid "Vendor"
-msgstr "Vendor"
+msgstr "ä¾åºå"
#. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:361
+#: ../client/pk-console.c:362
msgid "Bugzilla"
-msgstr "Bugzilla"
+msgstr "缺é·ç»ç»è
ï¼Bugzillaï¼å°å"
#. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:365
+#: ../client/pk-console.c:366
msgid "CVE"
-msgstr "CVE"
+msgstr "å
Œ
±æ¼æ´åæ´é²ï¼CVEï¼å°å"
#. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:369
+#: ../client/pk-console.c:370
msgid "Restart"
msgstr "éå¯"
#. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:373
+#: ../client/pk-console.c:374
msgid "Update text"
msgstr "å级æè¿°"
#. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:377
+#: ../client/pk-console.c:378
msgid "Changes"
-msgstr "æ´æ¹"
+msgstr "æ´æ¹æ¥å¿"
#. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:381
+#: ../client/pk-console.c:382
msgid "State"
msgstr "ç¶æ"
#. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:385
+#: ../client/pk-console.c:386
msgid "Issued"
-msgstr "Issued"
+msgstr "ç¾å"
#. TRANSLATORS: details about the update, date the update was updated
#. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:389
-#: ../lib/packagekit-glib2/pk-console-shared.c:510
+#: ../client/pk-console.c:390 ../lib/packagekit-glib2/pk-console-shared.c:517
msgid "Updated"
-msgstr "æ´æ°ç"
+msgstr "æ´æ°"
#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:425
+#: ../client/pk-console.c:426
msgid "Enabled"
-msgstr "å¯ç¨ç"
+msgstr "å·²å¯ç¨"
#. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:428
+#: ../client/pk-console.c:429
msgid "Disabled"
-msgstr "ç¦ç¨ç"
+msgstr "å·²ç¦ç¨"
#. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:460
+#: ../client/pk-console.c:461
msgid "System restart required by:"
-msgstr "è¦æ±ç³»ç»éå¯ï¼"
+msgstr "éè¦ç³»ç»éå¯çå
ï¼"
#. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:463
+#: ../client/pk-console.c:464
msgid "Session restart required:"
-msgstr "è¦æ±ä¼è¯éå¯ï¼"
+msgstr "éè¦éå¯ä¼è¯çå
ï¼"
#. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:466
+#: ../client/pk-console.c:467
msgid "System restart (security) required by:"
-msgstr "è¦æ±(å®å
¨)çéå¯ç³»ç»ï¼"
+msgstr "éè¦ç³»ç»éå¯çå®å
¨æ´æ°å
ï¼"
#. TRANSLATORS: a package requires the session to be restarted due to a security update
-#: ../client/pk-console.c:469
+#: ../client/pk-console.c:470
msgid "Session restart (security) required:"
-msgstr "è¦æ±ä¼è¯(å®å
¨)çéå¯"
+msgstr "éè¦ä¼è¯éå¯çå®å
¨æ´æ°å
ï¼"
#. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:472
+#: ../client/pk-console.c:473
msgid "Application restart required by:"
-msgstr "è¦æ±åºç¨ç¨åºéæ°å¯å¨ï¼"
+msgstr "éè¦åºç¨ç¨åºéå¯çå
ï¼"
#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:507
+#: ../client/pk-console.c:508
msgid "Package description"
msgstr "å
æè¿°"
#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:538
+#: ../client/pk-console.c:539
msgid "Message:"
msgstr "æ¶æ¯ï¼"
#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:559
+#: ../client/pk-console.c:560
msgid "No files"
-msgstr "没ææ件"
+msgstr "æ æ件"
#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:564
+#: ../client/pk-console.c:565
msgid "Package files"
-msgstr "å
æ件"
+msgstr "å
æ件æ¸
å"
#. TRANSLATORS: the percentage complete of the transaction
-#: ../client/pk-console.c:632
+#: ../client/pk-console.c:633
msgid "Percentage"
msgstr "ç¾åæ¯"
#. TRANSLATORS: the status of the transaction (e.g. downloading)
-#: ../client/pk-console.c:650
+#: ../client/pk-console.c:651
msgid "Status"
msgstr "ç¶æ"
#. TRANSLATORS: the results from the transaction
-#: ../client/pk-console.c:678
+#: ../client/pk-console.c:680
msgid "Results:"
msgstr "ç»æï¼"
#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:685
+#: ../client/pk-console.c:687
msgid "Fatal error"
-msgstr "è´å½çé误"
+msgstr "严éé误"
#. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:694
-#: ../contrib/command-not-found/pk-command-not-found.c:432
-#: ../contrib/command-not-found/pk-command-not-found.c:603
+#: ../client/pk-console.c:696
+#: ../contrib/command-not-found/pk-command-not-found.c:454
+#: ../contrib/command-not-found/pk-command-not-found.c:634
msgid "The transaction failed"
-msgstr "å¤ç失败"
+msgstr "该äºå¡å¤±è´¥"
#. TRANSLATORS: print a message when there are no updates
-#: ../client/pk-console.c:721
+#: ../client/pk-console.c:727
msgid "There are no updates available at this time."
-msgstr "å½å没æå¯ç¨çæ´æ°"
+msgstr "å½å没æå¯è£
çæ´æ°ã"
+
+#: ../client/pk-console.c:750
+msgid "There are no upgrades available at this time."
+msgstr "å½å没æå¯è£
çæ´æ°ã"
#. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:808
+#: ../client/pk-console.c:817
msgid "Please restart the computer to complete the update."
-msgstr "请éå¯ç³»ç»ä»¥å®ææ´æ°"
+msgstr "请éå¯çµè以å®ææ´æ°ã"
#. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:811
+#: ../client/pk-console.c:820
msgid "Please logout and login to complete the update."
-msgstr "请éæ°ç»å½ä»¥å®ææ´æ°"
+msgstr "请注é并ç»å½ä»¥å®ææ´æ°ã"
#. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:814
-msgid "Please restart the computer to complete the update as important security updates have been installed."
-msgstr "请éå¯ç³»ç»ä¸å®æç³»ç»éè¦çå®å
¨æ´æ°"
+#: ../client/pk-console.c:823
+msgid ""
+"Please restart the computer to complete the update as important security "
+"updates have been installed."
+msgstr "å 为系ç»å·²å®è£
äºéè¦çå®å
¨æ´æ°ï¼è¯·éå¯ç³»ç»ä»¥å®ææ´æ°ã"
#. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:817
-msgid "Please logout and login to complete the update as important security updates have been installed."
-msgstr "请éæ°ç»å½ä»¥å®æéè¦çå®å
¨æ´æ°"
+#: ../client/pk-console.c:826
+msgid ""
+"Please logout and login to complete the update as important security updates "
+"have been installed."
+msgstr "å 为系ç»å·²å®è£
äºéè¦çå®å
¨æ´æ°ï¼è¯·æ³¨é并ç»å½ä»¥å®ææ´æ°ã"
+
+#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
+#: ../client/pk-console.c:852
+#, c-format
+msgid ""
+"Expected package name, actually got file. Try using 'pkcon install-local %s' "
+"instead."
+msgstr ""
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:840
+#: ../client/pk-console.c:860
#, c-format
msgid "This tool could not find any available package: %s"
-msgstr "æªè½æ¾å°å¯ç¨çç软件å
: %s"
+msgstr "æ¬å·¥å
·æ²¡è½æ¾å°ä»»ä½å¯è£
å
ï¼%s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:868
+#: ../client/pk-console.c:888
#, c-format
msgid "This tool could not find the installed package: %s"
-msgstr "æªè½æ¾å°å·²å®è£
ç软件å
:%s"
+msgstr "æ¬å·¥å
·æ²¡è½æ¾å°å·²è£
å
ï¼%s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:896
-#: ../client/pk-console.c:924
+#: ../client/pk-console.c:916 ../client/pk-console.c:944
#, c-format
msgid "This tool could not find the package: %s"
-msgstr "æªè½æ¾å°è½¯ä»¶å
: %s"
+msgstr "æ¬å·¥å
·æ²¡è½æ¾å°è¯¥å
ï¼%s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:952
-#: ../client/pk-console.c:980
-#: ../client/pk-console.c:1008
-#: ../client/pk-console.c:1036
-#: ../client/pk-console.c:1064
+#: ../client/pk-console.c:972 ../client/pk-console.c:1000
+#: ../client/pk-console.c:1028 ../client/pk-console.c:1056
+#: ../client/pk-console.c:1084
#, c-format
msgid "This tool could not find all the packages: %s"
-msgstr "æªè½æ¾å°ææç软件å
:%s"
+msgstr "æ¬å·¥å
·æ²¡è½æ¾å°ææå
ï¼%s"
#. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1093
+#: ../client/pk-console.c:1113
msgid "The daemon crashed mid-transaction!"
-msgstr "å®æ¤ç¨åºåå¤ççè¿ç¨ä¸å´©æº"
+msgstr "å®æ¤è¿ç¨å¨äºå¡ä¸éï¼mid-transactionï¼å´©æº"
#. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1127
+#: ../client/pk-console.c:1147
msgid "PackageKit Console Interface"
-msgstr "PackageKit æ§å¶æ¥å£"
+msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼æ§å¶æ¥å£"
#. these are commands we can use with pkcon
-#: ../client/pk-console.c:1129
+#: ../client/pk-console.c:1149
msgid "Subcommands:"
msgstr "åå½ä»¤ï¼"
#. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:1208
+#: ../client/pk-console.c:1228
msgid "Failed to get the time since this action was last completed"
msgstr ""
#. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1244
-#: ../client/pk-monitor.c:280
+#: ../client/pk-console.c:1268 ../client/pk-monitor.c:356
msgid "Show the program version and exit"
msgstr ""
#. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1247
+#: ../client/pk-console.c:1271
msgid "Set the filter, e.g. installed"
-msgstr "设置è¿æ»¤å¨ å·²å®è£
è¿ç"
+msgstr "设置è¿æ»¤å¨ï¼å¦ï¼å·²è£
"
+
+#. TRANSLATORS: command line argument, use a non-standard install prefix
+#: ../client/pk-console.c:1274
+msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
+msgstr ""
#. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1250
+#: ../client/pk-console.c:1277
msgid "Exit without waiting for actions to complete"
msgstr ""
#. command line argument, do we ask questions
-#: ../client/pk-console.c:1253
+#: ../client/pk-console.c:1280
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
msgid "Install the packages without asking for confirmation"
msgstr ""
#. TRANSLATORS: command line argument, this command is not a priority
-#: ../client/pk-console.c:1256
+#: ../client/pk-console.c:1283
msgid "Run the command using idle network bandwidth and also using less power"
msgstr ""
#. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1259
-msgid "Print to screen a machine readable output, rather than using animated widgets"
+#: ../client/pk-console.c:1286
+msgid ""
+"Print to screen a machine readable output, rather than using animated widgets"
msgstr ""
#. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1281
+#: ../client/pk-console.c:1308
msgid "Failed to contact PackageKit"
msgstr ""
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1339
+#: ../client/pk-console.c:1369
+msgid "The proxy could not be set"
+msgstr ""
+
+#. TRANSLATORS: The user specified an incorrect filter
+#: ../client/pk-console.c:1381
+msgid "The install root could not be set"
+msgstr ""
+
+#. TRANSLATORS: The user specified an incorrect filter
+#: ../client/pk-console.c:1393
msgid "The filter specified was invalid"
msgstr ""
#. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1358
+#: ../client/pk-console.c:1412
msgid "A search type is required, e.g. name"
msgstr ""
#. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1365
-#: ../client/pk-console.c:1377
-#: ../client/pk-console.c:1389
-#: ../client/pk-console.c:1401
+#: ../client/pk-console.c:1419 ../client/pk-console.c:1431
+#: ../client/pk-console.c:1443 ../client/pk-console.c:1455
msgid "A search term is required"
msgstr ""
#. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1411
+#: ../client/pk-console.c:1465
msgid "Invalid search type"
msgstr ""
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1417
+#: ../client/pk-console.c:1471
msgid "A package name to install is required"
msgstr ""
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1426
+#: ../client/pk-console.c:1480
msgid "A filename to install is required"
msgstr ""
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1438
+#: ../client/pk-console.c:1492
msgid "A type, key_id and package_id are required"
msgstr ""
#. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1449
+#: ../client/pk-console.c:1503
msgid "A package name to remove is required"
msgstr ""
#. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1458
+#: ../client/pk-console.c:1512
msgid "A destination directory and the package names to download are required"
msgstr ""
#. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1465
+#: ../client/pk-console.c:1519
msgid "Directory not found"
-msgstr "ç®å½æªè½æ¾å°"
+msgstr "ç®å½æ²¡æ¾å°"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1474
+#: ../client/pk-console.c:1528
msgid "A licence identifier (eula-id) is required"
msgstr ""
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1485
+#: ../client/pk-console.c:1539
msgid "A transaction identifier (tid) is required"
msgstr ""
#. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1506
+#: ../client/pk-console.c:1560
msgid "A package name to resolve is required"
msgstr ""
#. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1517
-#: ../client/pk-console.c:1528
+#: ../client/pk-console.c:1571 ../client/pk-console.c:1582
msgid "A repository name is required"
msgstr ""
#. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1539
+#: ../client/pk-console.c:1593
msgid "A repo name, parameter and value are required"
msgstr ""
#. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1556
+#: ../client/pk-console.c:1610
msgid "An action, e.g. 'update-system' is required"
msgstr ""
#. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1563
+#: ../client/pk-console.c:1617
msgid "A correct role is required"
msgstr ""
#. TRANSLATORS: The user did not provide a package name
#. TRANSLATORS: This is when the user fails to supply the package name
-#: ../client/pk-console.c:1573
-#: ../client/pk-console.c:1588
-#: ../client/pk-console.c:1597
-#: ../client/pk-console.c:1617
-#: ../client/pk-console.c:1626
-#: ../client/pk-generate-pack.c:298
+#: ../client/pk-console.c:1627 ../client/pk-console.c:1642
+#: ../client/pk-console.c:1651 ../client/pk-console.c:1671
+#: ../client/pk-console.c:1680 ../client/pk-generate-pack.c:316
msgid "A package name is required"
msgstr ""
#. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:1606
+#: ../client/pk-console.c:1660
msgid "A package provide string is required"
msgstr ""
#. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:1686
+#: ../client/pk-console.c:1741
#, c-format
msgid "Option '%s' is not supported"
msgstr ""
#. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1696
+#: ../client/pk-console.c:1751
msgid "Command failed"
msgstr "å½ä»¤å¤±è´¥"
#. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
-#: ../client/pk-generate-pack.c:237
+#: ../client/pk-generate-pack.c:255
msgid "Set the file name of dependencies to be excluded"
msgstr ""
#. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:240
-msgid "The output file or directory (the current directory is used if ommitted)"
+#: ../client/pk-generate-pack.c:258
+msgid "The output file or directory (the current directory is used if omitted)"
msgstr ""
#. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:243
+#: ../client/pk-generate-pack.c:261
msgid "The package to be put into the service pack"
msgstr ""
#. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:246
+#: ../client/pk-generate-pack.c:264
msgid "Put all updates available in the service pack"
msgstr ""
#. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:282
+#: ../client/pk-generate-pack.c:300
msgid "Neither --package or --updates option selected."
msgstr ""
#. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:290
+#: ../client/pk-generate-pack.c:308
msgid "Both options selected."
msgstr ""
#. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:306
+#: ../client/pk-generate-pack.c:324
msgid "A output directory or file name is required"
msgstr ""
-#. TRANSLATORS: This is when the dameon is not-installed/broken and fails to startup
-#: ../client/pk-generate-pack.c:324
-msgid "The dameon failed to startup"
-msgstr ""
+#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to startup
+#: ../client/pk-generate-pack.c:342
+#, fuzzy
+msgid "The daemon failed to startup"
+msgstr "å®æ¤ç¨åºå¨å¯å¨æ¶å´©æº"
#. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
#. TRANSLATORS: This is when the backend doesn't have the capability to download
-#: ../client/pk-generate-pack.c:335
-#: ../client/pk-generate-pack.c:341
+#: ../client/pk-generate-pack.c:353 ../client/pk-generate-pack.c:359
msgid "The package manager cannot perform this type of operation."
msgstr ""
#. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:348
-msgid "Service packs cannot be created as PackageKit was not built with libarchive support."
+#: ../client/pk-generate-pack.c:366
+msgid ""
+"Service packs cannot be created as PackageKit was not built with libarchive "
+"support."
msgstr ""
#. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:359
+#: ../client/pk-generate-pack.c:377
msgid "If specifying a file, the service pack name must end with"
msgstr ""
#. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:375
+#: ../client/pk-generate-pack.c:393
msgid "A pack with the same name already exists, do you want to overwrite it?"
msgstr ""
#. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:378
+#: ../client/pk-generate-pack.c:396
msgid "The pack was not overwritten."
msgstr ""
#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:391
+#: ../client/pk-generate-pack.c:409
msgid "Failed to create directory:"
-msgstr "å建æ件夹失败"
+msgstr "该ç®å½å建失败ï¼"
#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:403
+#: ../client/pk-generate-pack.c:421
msgid "Failed to open package list."
msgstr ""
#. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:412
+#: ../client/pk-generate-pack.c:430
msgid "Finding package name."
msgstr ""
#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:416
+#: ../client/pk-generate-pack.c:434
#, c-format
msgid "Failed to find package '%s': %s"
msgstr ""
#. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:424
+#: ../client/pk-generate-pack.c:442
msgid "Creating service pack..."
msgstr ""
#. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:439
+#: ../client/pk-generate-pack.c:457
#, c-format
msgid "Service pack created '%s'"
msgstr ""
#. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:444
+#: ../client/pk-generate-pack.c:462
#, c-format
msgid "Failed to create '%s': %s"
-msgstr "å建 '%s': %s 失败"
+msgstr "â%sâæ件å建失败ï¼%s"
-#: ../client/pk-monitor.c:210
+#: ../client/pk-monitor.c:286
msgid "Failed to get daemon state"
-msgstr "è·åå®ç¨åºæ¤ç¶æ失败"
+msgstr "å®æ¤è¿ç¨ç¶æè·å失败"
#. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:296
+#: ../client/pk-monitor.c:372
msgid "PackageKit Monitor"
msgstr ""
#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:495
+#: ../contrib/browser-plugin/pk-plugin-install.c:497
msgid "Getting package information..."
msgstr ""
#. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:501
+#: ../contrib/browser-plugin/pk-plugin-install.c:503
#, c-format
msgid "Run %s"
msgstr ""
#. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:507
+#: ../contrib/browser-plugin/pk-plugin-install.c:509
msgid "Installed version"
msgstr ""
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:515
+#: ../contrib/browser-plugin/pk-plugin-install.c:517
#, c-format
msgid "Run version %s now"
msgstr ""
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:521
+#: ../contrib/browser-plugin/pk-plugin-install.c:523
msgid "Run now"
-msgstr "马ä¸è¿è¡"
+msgstr "ç°å¨è¿è¡"
#. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:527
+#: ../contrib/browser-plugin/pk-plugin-install.c:529
#, c-format
msgid "Update to version %s"
-msgstr "æ´æ°å° %s"
+msgstr "æ´æ°å°çæ¬ %s"
#. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:533
+#: ../contrib/browser-plugin/pk-plugin-install.c:535
#, c-format
msgid "Install %s now"
-msgstr "ç°å¨å·²å®è£
%s"
+msgstr "ç°å¨å®è£
%s"
#. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:536
+#: ../contrib/browser-plugin/pk-plugin-install.c:538
msgid "Version"
msgstr "çæ¬"
#. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:541
+#: ../contrib/browser-plugin/pk-plugin-install.c:543
msgid "No packages found for your system"
msgstr ""
#. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:546
+#: ../contrib/browser-plugin/pk-plugin-install.c:548
msgid "Installing..."
-msgstr "æ£å¨å®è£
â¦â¦"
+msgstr "å®è£
ä¸â¦â¦"
#. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:365
+#: ../contrib/command-not-found/pk-command-not-found.c:367
msgid "Downloading details about the software sources."
msgstr ""
#. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:369
+#: ../contrib/command-not-found/pk-command-not-found.c:371
msgid "Downloading filelists (this may take some time to complete)."
msgstr ""
#. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:373
+#: ../contrib/command-not-found/pk-command-not-found.c:375
msgid "Waiting for package manager lock."
msgstr ""
#. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:377
+#: ../contrib/command-not-found/pk-command-not-found.c:379
msgid "Loading list of packages."
msgstr ""
#. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:423
+#: ../contrib/command-not-found/pk-command-not-found.c:445
msgid "Failed to search for file"
-msgstr "æç´¢æ件失败"
+msgstr "æ件æ索失败"
#. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:566
+#: ../contrib/command-not-found/pk-command-not-found.c:597
msgid "Failed to launch:"
msgstr "å¯å¨å¤±è´¥ï¼"
#. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:594
+#: ../contrib/command-not-found/pk-command-not-found.c:625
msgid "Failed to install packages"
msgstr ""
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:670
+#: ../contrib/command-not-found/pk-command-not-found.c:701
msgid "PackageKit Command Not Found"
msgstr ""
#. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:699
+#: ../contrib/command-not-found/pk-command-not-found.c:727
msgid "Command not found."
-msgstr "å½ä»¤æ²¡ææ¾å°"
+msgstr "å½ä»¤æ²¡æ¾å°ã"
#. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:706
+#: ../contrib/command-not-found/pk-command-not-found.c:745
msgid "Similar command is:"
msgstr ""
#. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:716
+#: ../contrib/command-not-found/pk-command-not-found.c:755
msgid "Run similar command:"
msgstr ""
#. TRANSLATORS: show the user a list of commands that they could have meant
#. TRANSLATORS: show the user a list of commands we could run
-#: ../contrib/command-not-found/pk-command-not-found.c:730
-#: ../contrib/command-not-found/pk-command-not-found.c:739
+#: ../contrib/command-not-found/pk-command-not-found.c:769
+#: ../contrib/command-not-found/pk-command-not-found.c:778
msgid "Similar commands are:"
msgstr ""
#. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:746
+#: ../contrib/command-not-found/pk-command-not-found.c:785
msgid "Please choose a command to run"
msgstr ""
#. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:764
+#: ../contrib/command-not-found/pk-command-not-found.c:803
msgid "The package providing this file is:"
msgstr ""
#. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:769
+#: ../contrib/command-not-found/pk-command-not-found.c:808
#, c-format
msgid "Install package '%s' to provide command '%s'?"
msgstr ""
#. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:793
+#: ../contrib/command-not-found/pk-command-not-found.c:832
msgid "Packages providing this file are:"
msgstr ""
#. TRANSLATORS: Show the user a list of packages that they can install to provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:803
+#: ../contrib/command-not-found/pk-command-not-found.c:842
msgid "Suitable packages are:"
msgstr ""
#. get selection
#. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:812
+#: ../contrib/command-not-found/pk-command-not-found.c:851
msgid "Please choose a package to install"
msgstr ""
@@ -796,7 +816,8 @@ msgstr ""
#. command line argument, simulate what would be done, but don't actually do it
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
-msgid "Don't actually install any packages, only simulate what would be installed"
+msgid ""
+"Don't actually install any packages, only simulate what would be installed"
msgstr ""
#. command line argument, do we skip packages that depend on the ones specified
@@ -824,7 +845,7 @@ msgstr ""
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
#, c-format
msgid "Getting sources list"
-msgstr "è·åèµæºå表"
+msgstr "è·å软件æºæ¸
å"
#. TRANSLATORS: operation was not successful
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:602
@@ -834,7 +855,7 @@ msgstr "è·åèµæºå表"
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:872
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:916
msgid "FAILED."
-msgstr "失败"
+msgstr "失败ã"
#. TRANSLATORS: all completed 100%
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:617
@@ -846,7 +867,7 @@ msgstr "失败"
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:931
#, c-format
msgid "OK."
-msgstr "å®æ"
+msgstr "å®æã"
#. TRANSLATORS: tell the user what we found
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:620
@@ -947,7 +968,7 @@ msgstr ""
#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
#. TRANSLATORS: transaction state, installing packages
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
-#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#: ../lib/packagekit-glib2/pk-console-shared.c:289
#, c-format
msgid "Installing packages"
msgstr ""
@@ -979,18 +1000,18 @@ msgstr ""
#. TRANSLATORS: couldn't open device to write
#: ../contrib/device-rebind/pk-device-rebind.c:62
msgid "Failed to open file"
-msgstr "æå¼æ件失败"
+msgstr "æ件æå¼å¤±è´¥"
#. TRANSLATORS: could not write to the device
#: ../contrib/device-rebind/pk-device-rebind.c:71
msgid "Failed to write to the file"
-msgstr "åå
¥æ件失败"
+msgstr "æ件åå
¥å¤±è´¥"
#. TRANSLATORS: we failed to release the current driver
#: ../contrib/device-rebind/pk-device-rebind.c:111
#: ../contrib/device-rebind/pk-device-rebind.c:148
msgid "Failed to write to device"
-msgstr "åå
¥è®¾å¤å¤±è´¥"
+msgstr "设å¤åå
¥å¤±è´¥"
#. TRANSLATORS: the device could not be found in sysfs
#: ../contrib/device-rebind/pk-device-rebind.c:176
@@ -1005,7 +1026,7 @@ msgstr ""
#. TRANSLATORS: we failed to bind the old driver
#: ../contrib/device-rebind/pk-device-rebind.c:212
msgid "Failed to register driver"
-msgstr "注å驱å¨å¤±è´¥"
+msgstr "驱å¨ç¨åºæ³¨å失败"
#. TRANSLATORS: user did not specify a device sysfs path that exists
#: ../contrib/device-rebind/pk-device-rebind.c:261
@@ -1078,464 +1099,464 @@ msgstr ""
msgid "PackageKit Service Pack"
msgstr ""
-#: ../lib/packagekit-glib2/pk-console-shared.c:59
+#: ../lib/packagekit-glib2/pk-console-shared.c:65
#, c-format
msgid "Please enter a number from 1 to %i: "
msgstr ""
#. TRANSLATORS: more than one package could be found that matched, to follow is a list of possible packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:183
+#: ../lib/packagekit-glib2/pk-console-shared.c:191
msgid "More than one package matches:"
msgstr ""
#. TRANSLATORS: This finds out which package in the list to use
-#: ../lib/packagekit-glib2/pk-console-shared.c:196
+#: ../lib/packagekit-glib2/pk-console-shared.c:202
msgid "Please choose the correct package: "
msgstr ""
#. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:250
+#: ../lib/packagekit-glib2/pk-console-shared.c:257
msgid "Unknown state"
msgstr "æªç¥ç¶æ"
#. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:254
+#: ../lib/packagekit-glib2/pk-console-shared.c:261
msgid "Starting"
-msgstr "æ£å¨å¼å§"
+msgstr "å¯å¨ä¸"
#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:258
+#: ../lib/packagekit-glib2/pk-console-shared.c:265
msgid "Waiting in queue"
-msgstr "éåçå¾
"
+msgstr "å¨éåä¸çå¾
ä¸"
#. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:262
+#: ../lib/packagekit-glib2/pk-console-shared.c:269
msgid "Running"
-msgstr "æ£å¨è¿è¡"
+msgstr "è¿è¡ä¸"
#. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:266
+#: ../lib/packagekit-glib2/pk-console-shared.c:273
msgid "Querying"
-msgstr "æ¥è¯¢"
+msgstr "æ¥è¯¢ä¸"
#. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../lib/packagekit-glib2/pk-console-shared.c:277
msgid "Getting information"
msgstr ""
#. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#: ../lib/packagekit-glib2/pk-console-shared.c:281
msgid "Removing packages"
msgstr ""
#. TRANSLATORS: transaction state, downloading package files
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:278
-#: ../lib/packagekit-glib2/pk-console-shared.c:656
+#: ../lib/packagekit-glib2/pk-console-shared.c:285
+#: ../lib/packagekit-glib2/pk-console-shared.c:663
msgid "Downloading packages"
msgstr ""
#. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:286
+#: ../lib/packagekit-glib2/pk-console-shared.c:293
msgid "Refreshing software list"
msgstr ""
#. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:290
+#: ../lib/packagekit-glib2/pk-console-shared.c:297
msgid "Installing updates"
-msgstr "æ£å¨å®è£
æ´æ°"
+msgstr "æ´æ°å®è£
ä¸"
#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:294
+#: ../lib/packagekit-glib2/pk-console-shared.c:301
msgid "Cleaning up packages"
msgstr ""
#. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:298
+#: ../lib/packagekit-glib2/pk-console-shared.c:305
msgid "Obsoleting packages"
msgstr ""
#. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:309
msgid "Resolving dependencies"
msgstr ""
#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
-#: ../lib/packagekit-glib2/pk-console-shared.c:306
+#: ../lib/packagekit-glib2/pk-console-shared.c:313
msgid "Checking signatures"
msgstr ""
#. TRANSLATORS: transaction state, when we return to a previous system state
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:310
-#: ../lib/packagekit-glib2/pk-console-shared.c:616
+#: ../lib/packagekit-glib2/pk-console-shared.c:317
+#: ../lib/packagekit-glib2/pk-console-shared.c:623
msgid "Rolling back"
-msgstr "åæ»"
+msgstr "åæ»ä¸"
#. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:314
+#: ../lib/packagekit-glib2/pk-console-shared.c:321
msgid "Testing changes"
msgstr ""
#. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:318
+#: ../lib/packagekit-glib2/pk-console-shared.c:325
msgid "Committing changes"
msgstr ""
#. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:322
+#: ../lib/packagekit-glib2/pk-console-shared.c:329
msgid "Requesting data"
msgstr ""
#. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:326
+#: ../lib/packagekit-glib2/pk-console-shared.c:333
msgid "Finished"
-msgstr "ç»æ"
+msgstr "å·²ç»æ"
#. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:330
+#: ../lib/packagekit-glib2/pk-console-shared.c:337
msgid "Cancelling"
msgstr ""
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:334
+#: ../lib/packagekit-glib2/pk-console-shared.c:341
msgid "Downloading repository information"
msgstr ""
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:338
+#: ../lib/packagekit-glib2/pk-console-shared.c:345
msgid "Downloading list of packages"
msgstr ""
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:342
+#: ../lib/packagekit-glib2/pk-console-shared.c:349
msgid "Downloading file lists"
msgstr ""
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:346
+#: ../lib/packagekit-glib2/pk-console-shared.c:353
msgid "Downloading lists of changes"
msgstr ""
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:350
+#: ../lib/packagekit-glib2/pk-console-shared.c:357
msgid "Downloading groups"
msgstr ""
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:354
+#: ../lib/packagekit-glib2/pk-console-shared.c:361
msgid "Downloading update information"
msgstr ""
#. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:358
+#: ../lib/packagekit-glib2/pk-console-shared.c:365
msgid "Repackaging files"
msgstr ""
#. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:362
+#: ../lib/packagekit-glib2/pk-console-shared.c:369
msgid "Loading cache"
msgstr ""
#. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:366
+#: ../lib/packagekit-glib2/pk-console-shared.c:373
msgid "Scanning applications"
msgstr ""
#. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:370
+#: ../lib/packagekit-glib2/pk-console-shared.c:377
msgid "Generating package lists"
msgstr ""
#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
-#: ../lib/packagekit-glib2/pk-console-shared.c:374
+#: ../lib/packagekit-glib2/pk-console-shared.c:381
msgid "Waiting for package manager lock"
msgstr ""
#. TRANSLATORS: transaction state, waiting for user to type in a password
-#: ../lib/packagekit-glib2/pk-console-shared.c:378
+#: ../lib/packagekit-glib2/pk-console-shared.c:385
msgid "Waiting for authentication"
msgstr ""
#. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:382
+#: ../lib/packagekit-glib2/pk-console-shared.c:389
msgid "Updating running applications"
msgstr ""
#. TRANSLATORS: transaction state, we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:386
+#: ../lib/packagekit-glib2/pk-console-shared.c:393
msgid "Checking applications in use"
msgstr ""
#. TRANSLATORS: transaction state, we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:390
+#: ../lib/packagekit-glib2/pk-console-shared.c:397
msgid "Checking libraries in use"
msgstr ""
#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:394
+#: ../lib/packagekit-glib2/pk-console-shared.c:401
msgid "Copying files"
-msgstr "æ·è´æ件"
+msgstr "æ件å¤å¶ä¸"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:412
+#: ../lib/packagekit-glib2/pk-console-shared.c:419
msgid "Trivial"
msgstr ""
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:416
+#: ../lib/packagekit-glib2/pk-console-shared.c:423
msgid "Normal"
msgstr "æ®é"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:420
+#: ../lib/packagekit-glib2/pk-console-shared.c:427
msgid "Important"
-msgstr "éè¦ç"
+msgstr "éè¦"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:424
+#: ../lib/packagekit-glib2/pk-console-shared.c:431
msgid "Security"
msgstr "å®å
¨"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:428
+#: ../lib/packagekit-glib2/pk-console-shared.c:435
msgid "Bug fix "
-msgstr "Bug ä¿®å¤"
+msgstr "缺é·ä¿®å¤"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:432
+#: ../lib/packagekit-glib2/pk-console-shared.c:439
msgid "Enhancement"
msgstr "å¢å¼º"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:436
+#: ../lib/packagekit-glib2/pk-console-shared.c:443
msgid "Blocked"
-msgstr ""
+msgstr "å±è½"
#. TRANSLATORS: The state of a package
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:441
-#: ../lib/packagekit-glib2/pk-console-shared.c:514
+#: ../lib/packagekit-glib2/pk-console-shared.c:448
+#: ../lib/packagekit-glib2/pk-console-shared.c:521
msgid "Installed"
msgstr "å·²å®è£
"
#. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:446
+#: ../lib/packagekit-glib2/pk-console-shared.c:453
msgid "Available"
-msgstr ""
+msgstr "å¯è£
"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:471
msgid "Downloading"
msgstr "æ£å¨ä¸è½½"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:475
msgid "Updating"
-msgstr ""
+msgstr "æ´æ°ä¸"
#. TRANSLATORS: The action of the package, in present tense
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:472
-#: ../lib/packagekit-glib2/pk-console-shared.c:592
+#: ../lib/packagekit-glib2/pk-console-shared.c:479
+#: ../lib/packagekit-glib2/pk-console-shared.c:599
msgid "Installing"
-msgstr ""
+msgstr "å®è£
ä¸"
#. TRANSLATORS: The action of the package, in present tense
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:476
-#: ../lib/packagekit-glib2/pk-console-shared.c:588
+#: ../lib/packagekit-glib2/pk-console-shared.c:483
+#: ../lib/packagekit-glib2/pk-console-shared.c:595
msgid "Removing"
-msgstr "移é¤"
+msgstr "å é¤ä¸"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:480
+#: ../lib/packagekit-glib2/pk-console-shared.c:487
msgid "Cleaning up"
msgstr ""
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:484
+#: ../lib/packagekit-glib2/pk-console-shared.c:491
msgid "Obsoleting"
-msgstr ""
+msgstr "åºå¼ä¸"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:488
+#: ../lib/packagekit-glib2/pk-console-shared.c:495
msgid "Reinstalling"
-msgstr ""
+msgstr "éè£
ä¸"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:506
+#: ../lib/packagekit-glib2/pk-console-shared.c:513
msgid "Downloaded"
-msgstr "å·²ä¸è½½"
+msgstr "ä¸è½½"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:518
+#: ../lib/packagekit-glib2/pk-console-shared.c:525
msgid "Removed"
-msgstr "å·²ç»ç§»é¤"
+msgstr "移é¤"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:522
+#: ../lib/packagekit-glib2/pk-console-shared.c:529
msgid "Cleaned up"
msgstr "æ¸
ç"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:526
+#: ../lib/packagekit-glib2/pk-console-shared.c:533
msgid "Obsoleted"
-msgstr ""
+msgstr "åºå¼"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:530
+#: ../lib/packagekit-glib2/pk-console-shared.c:537
msgid "Reinstalled"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:548
+#: ../lib/packagekit-glib2/pk-console-shared.c:555
msgid "Unknown role type"
-msgstr "æªç¥ä»»å¡ç±»å"
+msgstr "æªç¥è§è²ç±»å"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:552
+#: ../lib/packagekit-glib2/pk-console-shared.c:559
msgid "Getting dependencies"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:556
+#: ../lib/packagekit-glib2/pk-console-shared.c:563
msgid "Getting update details"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:560
+#: ../lib/packagekit-glib2/pk-console-shared.c:567
msgid "Getting details"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:564
+#: ../lib/packagekit-glib2/pk-console-shared.c:571
msgid "Getting requires"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:568
+#: ../lib/packagekit-glib2/pk-console-shared.c:575
msgid "Getting updates"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:572
+#: ../lib/packagekit-glib2/pk-console-shared.c:579
msgid "Searching by details"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:576
+#: ../lib/packagekit-glib2/pk-console-shared.c:583
msgid "Searching by file"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:580
+#: ../lib/packagekit-glib2/pk-console-shared.c:587
msgid "Searching groups"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:584
+#: ../lib/packagekit-glib2/pk-console-shared.c:591
msgid "Searching by name"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:596
+#: ../lib/packagekit-glib2/pk-console-shared.c:603
msgid "Installing files"
-msgstr "æ£å¨å®è£
æ件"
+msgstr "æ件å®è£
ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:600
+#: ../lib/packagekit-glib2/pk-console-shared.c:607
msgid "Refreshing cache"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:604
+#: ../lib/packagekit-glib2/pk-console-shared.c:611
msgid "Updating packages"
-msgstr ""
+msgstr "å
æ´æ°ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:608
+#: ../lib/packagekit-glib2/pk-console-shared.c:615
msgid "Updating system"
-msgstr "æ´æ°ç³»ç»"
+msgstr "ç³»ç»æ´æ°ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:612
+#: ../lib/packagekit-glib2/pk-console-shared.c:619
msgid "Canceling"
-msgstr "æ£å¨åæ¶"
+msgstr "åæ¶ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:620
+#: ../lib/packagekit-glib2/pk-console-shared.c:627
msgid "Getting repositories"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:624
+#: ../lib/packagekit-glib2/pk-console-shared.c:631
msgid "Enabling repository"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:628
+#: ../lib/packagekit-glib2/pk-console-shared.c:635
msgid "Setting data"
-msgstr "é
ç½®æ°æ®"
+msgstr "æ°æ®è®¾ç½®ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:632
+#: ../lib/packagekit-glib2/pk-console-shared.c:639
msgid "Resolving"
-msgstr "解å³"
+msgstr "解æä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:636
+#: ../lib/packagekit-glib2/pk-console-shared.c:643
msgid "Getting file list"
-msgstr "è·å¾æ件å表"
+msgstr "æ件æ¸
åè·åä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:640
+#: ../lib/packagekit-glib2/pk-console-shared.c:647
msgid "Getting provides"
-msgstr "è·å¾æä¾è
"
+msgstr "æä¾ä¿¡æ¯ï¼providesï¼è·åä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:644
+#: ../lib/packagekit-glib2/pk-console-shared.c:651
msgid "Installing signature"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:648
+#: ../lib/packagekit-glib2/pk-console-shared.c:655
msgid "Getting packages"
-msgstr "è·åå
"
+msgstr "å
è·åä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:652
+#: ../lib/packagekit-glib2/pk-console-shared.c:659
msgid "Accepting EULA"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:660
+#: ../lib/packagekit-glib2/pk-console-shared.c:667
msgid "Getting upgrades"
-msgstr "å¼å§å级"
+msgstr "å级å
è·åä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:664
+#: ../lib/packagekit-glib2/pk-console-shared.c:671
msgid "Getting categories"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:668
+#: ../lib/packagekit-glib2/pk-console-shared.c:675
msgid "Getting transactions"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:672
-#: ../lib/packagekit-glib2/pk-console-shared.c:676
+#: ../lib/packagekit-glib2/pk-console-shared.c:679
+#: ../lib/packagekit-glib2/pk-console-shared.c:683
msgid "Simulating install"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:680
+#: ../lib/packagekit-glib2/pk-console-shared.c:687
msgid "Simulating remove"
msgstr ""
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:684
+#: ../lib/packagekit-glib2/pk-console-shared.c:691
msgid "Simulating update"
msgstr ""
@@ -1562,17 +1583,17 @@ msgstr ""
#. TRANSLATORS: the key URL
#: ../lib/packagekit-glib2/pk-task-text.c:132
msgid "Key URL"
-msgstr ""
+msgstr "å¯é¥å°åï¼URLï¼"
#. TRANSLATORS: the username of the key
#: ../lib/packagekit-glib2/pk-task-text.c:135
msgid "Key user"
-msgstr ""
+msgstr "å¯é¥ç¨æ·"
#. TRANSLATORS: the key ID, usually a few hex digits
#: ../lib/packagekit-glib2/pk-task-text.c:138
msgid "Key ID"
-msgstr ""
+msgstr "å¯é¥ç¼å·"
#. TRANSLATORS: the key fingerprint, again, yet more hex
#: ../lib/packagekit-glib2/pk-task-text.c:141
@@ -1592,7 +1613,7 @@ msgstr ""
#. TRANSLATORS: tell the user we've not done anything
#: ../lib/packagekit-glib2/pk-task-text.c:162
msgid "The signature was not accepted."
-msgstr ""
+msgstr "\t\t\t"
#. TRANSLATORS: this is another name for a software licence that has to be read before installing
#: ../lib/packagekit-glib2/pk-task-text.c:205
@@ -1602,7 +1623,7 @@ msgstr ""
#. TRANSLATORS: the EULA text itself (long and boring)
#: ../lib/packagekit-glib2/pk-task-text.c:214
msgid "Agreement"
-msgstr "åæ"
+msgstr "åè®®"
#. TRANSLATORS: ask the user if they've read and accepted the EULA
#: ../lib/packagekit-glib2/pk-task-text.c:223
@@ -1622,17 +1643,17 @@ msgstr ""
#. TRANSLATORS: the type, e.g. DVD, CD, etc
#: ../lib/packagekit-glib2/pk-task-text.c:270
msgid "Media type"
-msgstr "åªä½ç±»å"
+msgstr "ä»è´¨ç±»å"
#. TRANSLATORS: the media label, usually like 'disk-1of3'
#: ../lib/packagekit-glib2/pk-task-text.c:273
msgid "Media label"
-msgstr "åªä½æ ç¾"
+msgstr "ä»è´¨æ ç¾"
#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
#: ../lib/packagekit-glib2/pk-task-text.c:276
msgid "Text"
-msgstr ""
+msgstr "æè¿°"
#. TRANSLATORS: ask the user to insert the media
#: ../lib/packagekit-glib2/pk-task-text.c:282
@@ -1694,7 +1715,8 @@ msgid "Authentication is required to accept a EULA"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:9
-msgid "Authentication is required to cancel a task that was not started by yourself"
+msgid ""
+"Authentication is required to cancel a task that was not started by yourself"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:10
@@ -1702,38 +1724,47 @@ msgid "Authentication is required to change software source parameters"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:11
-msgid "Authentication is required to consider a key used for signing packages as trusted"
+msgid ""
+"Authentication is required to change the location used to decompress packages"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:12
-msgid "Authentication is required to install a signed package"
+msgid ""
+"Authentication is required to consider a key used for signing packages as "
+"trusted"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:13
-msgid "Authentication is required to install an untrusted package"
+msgid "Authentication is required to install a signed package"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:14
-msgid "Authentication is required to refresh the system sources"
+msgid "Authentication is required to install an untrusted package"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:15
-msgid "Authentication is required to reload the device with a new driver"
+msgid "Authentication is required to refresh the system sources"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:16
-msgid "Authentication is required to remove packages"
+msgid "Authentication is required to reload the device with a new driver"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:17
-msgid "Authentication is required to rollback a transaction"
+msgid "Authentication is required to remove packages"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:18
-msgid "Authentication is required to set the network proxy used for downloading packages"
+msgid "Authentication is required to rollback a transaction"
msgstr ""
#: ../policy/org.freedesktop.packagekit.policy.in.h:19
+msgid ""
+"Authentication is required to set the network proxy used for downloading "
+"packages"
+msgstr ""
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:20
msgid "Authentication is required to update packages"
msgstr ""
@@ -1742,16 +1773,26 @@ msgstr ""
#. authentication, but a different user id needs the admin password
#. to cancel another users task.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:25
+#: ../policy/org.freedesktop.packagekit.policy.in.h:26
msgid "Cancel foreign task"
msgstr ""
#. SECURITY:
+#. - This is used when users want to install to a different prefix, for
+#. instance to a LTSP image or a virtual machine.
+#. - This could be used to overwrite files not owned by the user using
+#. a carefully created package file.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:33
+msgid "Change location that packages are installed"
+msgstr ""
+
+#. SECURITY:
#. - Normal users require admin authentication to enable or disable
#. software sources as this can be used to enable new updates or
#. install different versions of software.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:31
+#: ../policy/org.freedesktop.packagekit.policy.in.h:39
msgid "Change software source parameters"
msgstr ""
@@ -1761,9 +1802,9 @@ msgstr ""
#. - Paranoid users (or parents!) can change this to 'auth_admin' or
#. 'auth_admin_keep'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:38
+#: ../policy/org.freedesktop.packagekit.policy.in.h:46
msgid "Install signed package"
-msgstr "å®è£
å·²æ è®°ç软件å
"
+msgstr "å®è£
å·²ç¾åå
"
#. SECURITY:
#. - Normal users require admin authentication to install untrusted or
@@ -1771,7 +1812,7 @@ msgstr "å®è£
å·²æ è®°ç软件å
"
#. password would be a massive security hole.
#. - This is not retained as each package should be authenticated.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:45
+#: ../policy/org.freedesktop.packagekit.policy.in.h:53
msgid "Install untrusted local file"
msgstr ""
@@ -1779,9 +1820,9 @@ msgstr ""
#. - Normal users do not require admin authentication to refresh the
#. cache, as this doesn't actually install or remove software.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:50
+#: ../policy/org.freedesktop.packagekit.policy.in.h:58
msgid "Refresh system sources"
-msgstr "å·æ°ç³»ç»æº"
+msgstr "å·æ°ç³»ç»æºç¼å"
#. SECURITY:
#. - Normal users require admin authentication to rebind a driver
@@ -1790,9 +1831,9 @@ msgstr "å·æ°ç³»ç»æº"
#. try to rebind drivers in use, for instance security authentication
#. devices.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:58
+#: ../policy/org.freedesktop.packagekit.policy.in.h:66
msgid "Reload a device"
-msgstr "éæ°è½½å
¥è®¾å¤"
+msgstr "éæ°å 载设å¤"
#. SECURITY:
#. - Normal users require admin authentication to remove packages as
@@ -1803,16 +1844,16 @@ msgstr "éæ°è½½å
¥è®¾å¤"
#. be removed. If this is not possible, change this authentication to
#. 'auth_admin'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:68
+#: ../policy/org.freedesktop.packagekit.policy.in.h:76
msgid "Remove package"
-msgstr "移é¤è½¯ä»¶å
"
+msgstr "移é¤å
"
#. SECURITY:
#. - Normal users require admin authentication to rollback system state
#. as this will change a large number of packages, and could expose the
#. system to previously patched security vulnerabilities.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:74
+#: ../policy/org.freedesktop.packagekit.policy.in.h:82
msgid "Rollback to a previous transaction"
msgstr ""
@@ -1820,9 +1861,9 @@ msgstr ""
#. - Normal users do not require admin authentication to set the proxy
#. used for downloading packages.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:79
+#: ../policy/org.freedesktop.packagekit.policy.in.h:87
msgid "Set network proxy"
-msgstr "设置æ°çç½ç»ä»£ç"
+msgstr "设置ç½ç»ä»£ç"
#. SECURITY:
#. - Normal users require admin authentication to add signing keys.
@@ -1830,7 +1871,7 @@ msgstr "设置æ°çç½ç»ä»£ç"
#. without a secure authentication.
#. - This is not kept as each package should be authenticated.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:86
+#: ../policy/org.freedesktop.packagekit.policy.in.h:94
msgid "Trust a key used for signing packages"
msgstr ""
@@ -1841,9 +1882,9 @@ msgstr ""
#. - Changing this to anything other than 'yes' will break unattended
#. updates.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:94
+#: ../policy/org.freedesktop.packagekit.policy.in.h:102
msgid "Update packages"
-msgstr "æ´æ°è½¯ä»¶å
"
+msgstr "æ´æ°å
"
#. TRANSLATORS: failed due to DBus security
#: ../src/pk-main.c:87
@@ -1862,89 +1903,91 @@ msgstr ""
#. TRANSLATORS: or we are installed in a prefix
#: ../src/pk-main.c:93
-msgid "The org.freedesktop.PackageKit.conf file is not installed in the system directory:"
-msgstr "org.freedesktop.PackageKit.conf æ件没æåç³»ç»ç®å½ä¸å®è£
"
+msgid ""
+"The org.freedesktop.PackageKit.conf file is not installed in the system "
+"directory:"
+msgstr "org.freedesktop.PackageKit.conf æ件没æå®è£
å¨ç³»ç»ç®å½ä¸"
#. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
-#: ../src/pk-main.c:199
+#: ../src/pk-main.c:200
msgid "Packaging backend to use, e.g. dummy"
-msgstr "å
è£
å端使ç¨ï¼ä¾å¦ï¼dummy"
+msgstr "使ç¨çæå
å端ï¼å¦ï¼dummy"
#. TRANSLATORS: if we should run in the background
-#: ../src/pk-main.c:202
+#: ../src/pk-main.c:203
+#, fuzzy
msgid "Daemonize and detach from the terminal"
-msgstr "æ 交äºåå°ç¨åº ä»ç»ç«¯å离"
+msgstr "å®æ¤è¿ç¨å并è±ç¦»ç»ç«¯"
#. TRANSLATORS: if we should not monitor how long we are inactive for
-#: ../src/pk-main.c:205
+#: ../src/pk-main.c:206
msgid "Disable the idle timer"
-msgstr "ç¦ç¨ æ ç¨ç 计æ¶å¨"
+msgstr "ç¦ç¨ç©ºé²è®¡æ¶å¨"
#. TRANSLATORS: show version
-#: ../src/pk-main.c:208
+#: ../src/pk-main.c:209
msgid "Show version and exit"
msgstr "æ¾ç¤ºçæ¬å¹¶éåº"
#. TRANSLATORS: exit after we've started up, used for user profiling
-#: ../src/pk-main.c:211
+#: ../src/pk-main.c:212
msgid "Exit after a small delay"
msgstr "ç¨åéåº"
#. TRANSLATORS: exit straight away, used for automatic profiling
-#: ../src/pk-main.c:214
+#: ../src/pk-main.c:215
msgid "Exit after the engine has loaded"
-msgstr "å¼æè½½å
¥åéåº"
+msgstr "å¼æå è½½åéåº"
#. TRANSLATORS: describing the service that is running
-#: ../src/pk-main.c:229
+#: ../src/pk-main.c:230
msgid "PackageKit service"
-msgstr "PackageKit æå¡"
+msgstr "å
å·¥å
·ç®±ï¼PackageKitï¼æå¡"
#. TRANSLATORS: fatal error, dbus is not running
-#: ../src/pk-main.c:266
+#: ../src/pk-main.c:267
msgid "Cannot connect to the system bus"
-msgstr "ä¸è½é¾æ¥å°ç³»ç»æ»çº¿"
+msgstr "ä¸è½è¿æ¥å°ç³»ç»æ»çº¿"
#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
-#: ../src/pk-main.c:317
+#: ../src/pk-main.c:318
msgid "Error trying to start:"
-msgstr "å¯å¨å¤±è´¥ï¼"
+msgstr "å°è¯å¯å¨å¤±è´¥ï¼"
#: ../src/pk-polkit-action-lookup.c:150
msgid "To install debugging packages, extra sources need to be enabled"
-msgstr "è¦å®è£
è°è¯è½¯ä»¶å
ï¼éè¦å¯ç¨ é¢å¤ çæº"
+msgstr "è¦å®è£
è°è¯å
ï¼éè¦å¯ç¨é¢å¤æºã"
#. TRANSLATORS: is not GPG signed
-#: ../src/pk-polkit-action-lookup.c:171
-#: ../src/pk-polkit-action-lookup.c:190
+#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
msgid "The software is not from a trusted source."
-msgstr "该软件ä¸æ¯ä»ä¿¡ä»»çæºä¸å¾å°ç"
+msgstr "该软件ä¸æ¯æ¥èªåä¿¡ä»»æºã"
#: ../src/pk-polkit-action-lookup.c:176
msgid "Do not update this package unless you are sure it is safe to do so."
-msgstr "ä¸å级è¿ä¸ªå
ï¼é¤éä½ è½å¤ç¡®å®è¿äºæä½æ¯å®å
¨ç"
+msgstr "ä¸è¦æ´æ°è¿ä¸ªå
ï¼é¤éæ¨ç¡®ä¿¡è¿ä¹åæ¯å®å
¨çã"
#: ../src/pk-polkit-action-lookup.c:177
msgid "Do not update these packages unless you are sure it is safe to do so."
-msgstr "ä¸å级è¿äºå
ï¼é¤éä½ è½å¤ç¡®å®è¿äºæä½æ¯å®å
¨ç"
+msgstr "ä¸è¦æ´æ°è¿äºå
ï¼é¤éæ¨ç¡®ä¿¡è¿ä¹åæ¯å®å
¨çã"
#: ../src/pk-polkit-action-lookup.c:195
msgid "Do not install this package unless you are sure it is safe to do so."
-msgstr "è¿ä¸ªå®è£
å
å°ä¸è¢«å®è£
ï¼é¤éä½ è½å¤ç¡®å®è¿äºæä½æ¯å®å
¨ç"
+msgstr "ä¸è¦å®è£
è¿äºå
ï¼é¤éæ¨ç¡®ä¿¡è¿ä¹åæ¯å®å
¨çã"
#: ../src/pk-polkit-action-lookup.c:196
msgid "Do not install these packages unless you are sure it is safe to do so."
-msgstr "è¿äºå
å°ä¸è¢«å®è£
ï¼é¤éä½ è½å¤ç¡®å®è¿äºæä½æ¯å®å
¨ç"
+msgstr "ä¸è¦å®è£
è¿äºå
ï¼é¤éæ¨ç¡®ä¿¡è¿ä¹åæ¯å®å
¨çã"
#. TRANSLATORS: too many packages to list each one
#: ../src/pk-polkit-action-lookup.c:273
msgid "Many packages"
-msgstr "许å¤å
"
+msgstr "太å¤å
"
#. TRANSLATORS: if the transaction is forced to install only trusted packages
#: ../src/pk-polkit-action-lookup.c:339
msgid "Only trusted"
-msgstr "被信任ç"
+msgstr "ä»
åä¿¡ä»»å
"
#. TRANSLATORS: turn on all debugging
#: ../src/egg-debug.c:388
@@ -1952,58 +1995,73 @@ msgid "Show debugging information for all files"
msgstr "æ¾ç¤ºæææ件çè°è¯ä¿¡æ¯"
#. TRANSLATORS: a list of modules to debug
-#: ../src/egg-debug.c:459
+#: ../src/egg-debug.c:458
msgid "Debug these specific modules"
-msgstr "è°è¯è¿äºç¹å®ç模å"
+msgstr "è°è¯è¿äºæå®æ¨¡å"
#. TRANSLATORS: a list of functions to debug
-#: ../src/egg-debug.c:462
+#: ../src/egg-debug.c:461
msgid "Debug these specific functions"
-msgstr "è°è¯è¿äºç¹å®çå½æ°"
+msgstr "è°è¯è¿äºæå®å½æ°"
#. TRANSLATORS: save to a log
-#: ../src/egg-debug.c:465
+#: ../src/egg-debug.c:464
msgid "Log debugging data to a file"
-msgstr "è°è¯æ¥å¿ä¿¡æ¯åå
¥æ件"
+msgstr "å°è°è¯ä¿¡æ¯è®°å
¥æ件"
-#: ../src/egg-debug.c:469
+#: ../src/egg-debug.c:468
msgid "Debugging Options"
msgstr "è°è¯é项"
-#: ../src/egg-debug.c:469
+#: ../src/egg-debug.c:468
msgid "Show debugging options"
msgstr "æ¾ç¤ºè°è¯é项"
#~ msgid "Adjust the volume level"
#~ msgstr "è°èé³éæ°´å¹³"
+
#~ msgid "PulseAudio Volume Control"
#~ msgstr "PulseAudio é³éæ§å¶"
+
#~ msgid "Volume Control"
#~ msgstr "é³éæ§å¶"
+
#~ msgid "50%"
#~ msgstr "50%"
+
#~ msgid "<b>Port:</b>"
#~ msgstr "<b>端å£ï¼</b>"
+
#~ msgid "<b>Profile:</b>"
#~ msgstr "<b>侧åï¼</b>"
+
#~ msgid "<b>S_how:</b>"
#~ msgstr "<b>æ¾ç¤º(_h)ï¼</b>"
+
#~ msgid "<b>Sho_w:</b>"
#~ msgstr "<b>æ¾ç¤º(_w)ï¼</b>"
+
#~ msgid "<b>_Show:</b>"
#~ msgstr "<b>æ¾ç¤º(_S)ï¼</b>"
+
#~ msgid "<b>left-front</b>"
#~ msgstr "<b>å·¦-å</b>"
+
#~ msgid "<i>No application is currently playing audio.</i>"
#~ msgstr "<i>没æç¨åºæ£å¨ææ¾é³é¢ã</i>"
+
#~ msgid "<i>No application is currently recording audio.</i>"
#~ msgstr "<i>没æç¨åºæ£å¨å½é³ã</i>"
+
#~ msgid "<i>No cards available for configuration</i>"
#~ msgstr "<i>没æå¯ç¨æ¥é
ç½®ç声å¡</i>"
+
#~ msgid "<i>No input devices available</i>"
#~ msgstr "<i>没æå¯ç¨çè¾å
¥è®¾å¤</i>"
+
#~ msgid "<i>No output devices available</i>"
#~ msgstr "<i>没æå¯ç¨çè¾åºè®¾å¤</i>"
+
#~ msgid ""
#~ "All Input Devices\n"
#~ "All Except Monitors\n"
@@ -2016,6 +2074,7 @@ msgstr "æ¾ç¤ºè°è¯é项"
#~ "硬件è¾å
¥è®¾å¤\n"
#~ "èæè¾å
¥è®¾å¤\n"
#~ "çè§å¨"
+
#~ msgid ""
#~ "All Output Devices\n"
#~ "Hardware Output Devices\n"
@@ -2024,6 +2083,7 @@ msgstr "æ¾ç¤ºè°è¯é项"
#~ "å
¨é¨è¾åºè®¾å¤\n"
#~ "硬件è¾åºè®¾å¤\n"
#~ "èæè¾åºè®¾å¤"
+
#~ msgid ""
#~ "All Streams\n"
#~ "Applications\n"
@@ -2032,122 +2092,179 @@ msgstr "æ¾ç¤ºè°è¯é项"
#~ "æææµåªä½\n"
#~ "ç¨åº\n"
#~ "èææµåªä½"
+
#~ msgid "Lock channels together"
#~ msgstr "éå®å£°é"
+
#~ msgid "Mute audio"
#~ msgstr "é³é¢éé³"
+
#~ msgid "Set as fallback"
#~ msgstr "设å®ä¸ºåæ¾"
+
#~ msgid "_Input Devices"
#~ msgstr "è¾å
¥è®¾å¤(_I)"
+
#~ msgid "_Output Devices"
#~ msgstr "è¾åºè®¾å¤(_O)"
+
#~ msgid "_Playback"
#~ msgstr "åæ¾(_P)"
+
#~ msgid "Card callback failure"
#~ msgstr "声å¡åå«å¤±è´¥"
+
#~ msgid "Sink callback failure"
#~ msgstr "Sink åå«å¤±è´¥"
+
#~ msgid "Source callback failure"
#~ msgstr "æºåå«å¤±è´¥"
+
#~ msgid "Sink input callback failure"
#~ msgstr "Sink è¾å
¥åå«å¤±è´¥"
+
#~ msgid "Source output callback failure"
#~ msgstr "æºè¾åºåå«å¤±è´¥"
+
#~ msgid "Client callback failure"
#~ msgstr "客æ·ç«¯åå«å¤±è´¥"
+
#~ msgid "Server info callback failure"
#~ msgstr "æå¡å¨ä¿¡æ¯åå«å¤±è´¥"
+
#~ msgid "Failed to initialize stream_restore extension: %s"
#~ msgstr "åå§å stream_restore æ©å±å¤±è´¥ï¼%s"
+
#~ msgid "pa_ext_stream_restore_read() failed"
#~ msgstr "pa_ext_stream_restore_read() 失败"
+
#~ msgid "pa_context_get_sink_info_by_index() failed"
#~ msgstr "pa_context_get_sink_info_by_index() 失败"
+
#~ msgid "pa_context_get_source_info_by_index() failed"
#~ msgstr "pa_context_get_source_info_by_index() 失败"
+
#~ msgid "pa_context_get_sink_input_info() failed"
#~ msgstr "pa_context_get_sink_input_info() 失败"
+
#~ msgid "pa_context_get_client_info() failed"
#~ msgstr "pa_context_get_client_info() 失败"
+
#~ msgid "pa_context_get_server_info() failed"
#~ msgstr "pa_context_get_server_info() 失败"
+
#~ msgid "pa_context_get_card_info_by_index() failed"
#~ msgstr "pa_context_get_card_info_by_index() 失败"
+
#~ msgid "pa_context_subscribe() failed"
#~ msgstr "pa_context_subscribe() 失败"
+
#~ msgid "pa_context_client_info_list() failed"
#~ msgstr "pa_context_client_info_list() 失败"
+
#~ msgid "pa_context_get_card_info_list() failed"
#~ msgstr "pa_context_get_card_info_list() 失败"
+
#~ msgid "pa_context_get_sink_info_list() failed"
#~ msgstr "pa_context_get_sink_info_list() 失败"
+
#~ msgid "pa_context_get_source_info_list() failed"
#~ msgstr "pa_context_get_source_info_list() 失败"
+
#~ msgid "pa_context_get_sink_input_info_list() failed"
#~ msgstr "pa_context_get_sink_input_info_list() 失败"
+
#~ msgid "pa_context_get_source_output_info_list() failed"
#~ msgstr "pa_context_get_source_output_info_list() 失败"
+
#~ msgid "pa_context_set_card_profile_by_index() failed"
#~ msgstr "pa_context_set_card_profile_by_index() failed"
+
#~ msgid "<small>Silence</small>"
#~ msgstr "<small>éé³</small>"
+
#~ msgid "<small>Min</small>"
#~ msgstr "<small>æå°</small>"
+
#~ msgid "<small>Max</small>"
#~ msgstr "<small>æ大</small>"
+
#~ msgid "<small><i>Base</i></small>"
#~ msgstr "<small><i>ä½é³</i></small>"
+
#~ msgid "Peak detect"
#~ msgstr "å°å³°æ¢æµ"
+
#~ msgid "Failed to connect monitoring stream"
#~ msgstr "æ æ³è¿æ¥å°çè§æµåªä½"
+
#~ msgid ""
#~ "Ignoring sink-input due to it being designated as an event and thus "
#~ "handled by the Event widget"
#~ msgstr "忽ç¥æ¼è¾å
¥ï¼å 为已å°å
¶æå®ä¸ºä¸ä¸ªäºä»¶ï¼æ以ç±äºä»¶ç¨åºå¤çã"
+
#~ msgid "System Sounds"
#~ msgstr "ç³»ç»å£°é³"
+
#~ msgid "pa_ext_stream_restore_write() failed"
#~ msgstr "pa_ext_stream_restore_write() 失败"
+
#~ msgid "Terminate Playback"
#~ msgstr "ç»æ¢åæ¾"
+
#~ msgid "pa_context_set_sink_input_volume() failed"
#~ msgstr "pa_context_set_sink_input_volume() 失败"
+
#~ msgid "pa_context_set_sink_input_mute() failed"
#~ msgstr "pa_context_set_sink_input_mute() 失败"
+
#~ msgid "pa_context_kill_sink_input() failed"
#~ msgstr "pa_context_kill_sink_input() 失败"
+
#~ msgid "pa_context_move_sink_input_by_index() failed"
#~ msgstr "pa_context_move_sink_input_by_index() 失败"
+
#~ msgid "pa_context_set_sink_volume_by_index() failed"
#~ msgstr "pa_context_set_sink_volume_by_index() 失败"
+
#~ msgid "Volume Control Feedback Sound"
#~ msgstr "é³éæ§å¶åé¦å£°é³"
+
#~ msgid "pa_context_set_sink_mute_by_index() failed"
#~ msgstr "pa_context_set_sink_mute_by_index() 失败"
+
#~ msgid "pa_context_set_default_sink() failed"
#~ msgstr "pa_context_set_default_sink() 失败"
+
#~ msgid "pa_context_set_sink_port_by_index() failed"
#~ msgstr "pa_context_set_sink_port_by_index() 失败"
+
#~ msgid "from"
#~ msgstr "æ¥èª"
+
#~ msgid "Terminate Recording"
#~ msgstr "ç»æ¢å½å¶"
+
#~ msgid "Unknown input"
#~ msgstr "æªç¥è¾å
¥"
+
#~ msgid "pa_context_kill_source_output() failed"
#~ msgstr "pa_context_kill_source_output() 失败"
+
#~ msgid "pa_context_move_source_output_by_index() failed"
#~ msgstr "pa_context_move_source_output_by_index() 失败"
+
#~ msgid "pa_context_set_source_volume_by_index() failed"
#~ msgstr "pa_context_set_source_volume_by_index() 失败"
+
#~ msgid "pa_context_set_source_mute_by_index() failed"
#~ msgstr "pa_context_set_source_mute_by_index() 失败"
+
#~ msgid "pa_context_set_default_source() failed"
#~ msgstr "pa_context_set_default_source() 失败"
+
#~ msgid "pa_context_set_source_port_by_index() failed"
#~ msgstr "pa_context_set_source_port_by_index() 失败"
+
#~ msgid "Terminate"
#~ msgstr "ç»æ¢"
-
commit fe1f036f3376b36800cef03673e9c694d6ee9dfd
Author: Fabio Erculiani <lxnay at sabayon.org>
Date: Mon Jun 14 19:10:02 2010 +0200
entropy: implement forward compatibility support
diff --git a/backends/entropy/entropyBackend.py b/backends/entropy/entropyBackend.py
index cd3516b..6e18650 100755
--- a/backends/entropy/entropyBackend.py
+++ b/backends/entropy/entropyBackend.py
@@ -1026,7 +1026,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
self._log_message(__name__, "get_packages: done %s/100" % (percent,))
self.percentage(percent)
- pkg_ids = repo_db.listAllIdpackages()
+ try:
+ pkg_ids = repo_db.listAllIdpackages()
+ except AttributeError:
+ pkg_ids = repo_db.listAllPackageIds()
pkgs.update((repo, x, repo_db,) for x in pkg_ids)
# now filter
@@ -1585,7 +1588,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
repo_all_cats if cat_name not in all_matched_categories])
for cat_id in etp_cat_ids:
- pkg_ids = repo_db.listIdPackagesInIdcategory(cat_id)
+ try:
+ pkg_ids = repo_db.listIdPackagesInIdcategory(cat_id)
+ except AttributeError:
+ pkg_ids = repo_db.listPackageIdsInCategoryId(cat_id)
pkgs.update((repo, x, repo_db,) for x in pkg_ids)
# now filter
commit 91062c028cdadefe2af5aa2adcbe3c9dde90bde1
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Jun 8 15:45:14 2010 +0100
Build the gtk-module for gtk-3.0 as well as gtk-2.0 if available
diff --git a/configure.ac b/configure.ac
index 321444e..3c679f2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -438,12 +438,24 @@ dnl ---------------------------------------------------------------------------
AC_ARG_ENABLE(gtk_module, AS_HELP_STRING([--enable-gtk-module],[Build GTK module functionality]),
enable_gtk_module=$enableval,enable_gtk_module=yes)
if test x$enable_gtk_module = xyes; then
- PKG_CHECK_MODULES(PK_GTK_MODULE, gtk+-2.0 >= 2.14.0 pangoft2 fontconfig dbus-glib-1,
- build_gtk_module=yes, build_gtk_module=no)
+ PKG_CHECK_MODULES(PK_GTK_MODULE_GTK2, gtk+-2.0 >= 2.14.0 pangoft2 fontconfig dbus-glib-1,
+ build_gtk_module_gtk2=yes, build_gtk_module_gtk2=no)
+ PKG_CHECK_MODULES(PK_GTK_MODULE_GTK3, gtk+-3.0 pangoft2 fontconfig dbus-glib-1,
+ build_gtk_module_gtk3=yes, build_gtk_module_gtk3=no)
+ # if either are true, visit the gtk-module directory
+ if test $build_gtk_module_gtk2 = "yes" -o $build_gtk_module_gtk3 = "yes"; then
+ build_gtk_module=yes
+ else
+ build_gtk_module=no
+ fi
else
build_gtk_module=no
+ build_gtk_module_gtk2=no
+ build_gtk_module_gtk3=no
fi
AM_CONDITIONAL(PK_BUILD_GTK_MODULE, test $build_gtk_module = "yes")
+AM_CONDITIONAL(PK_BUILD_GTK_MODULE_GTK2, test $build_gtk_module_gtk2 = "yes")
+AM_CONDITIONAL(PK_BUILD_GTK_MODULE_GTK3, test $build_gtk_module_gtk3 = "yes")
dnl ---------------------------------------------------------------------------
dnl - Able to build BASH command-not-found functionality
@@ -774,6 +786,8 @@ contrib/Makefile
contrib/browser-plugin/Makefile
contrib/gstreamer-plugin/Makefile
contrib/gtk-module/Makefile
+contrib/gtk-module/gtk-2.0/Makefile
+contrib/gtk-module/gtk-3.0/Makefile
contrib/yum-packagekit/Makefile
contrib/command-not-found/Makefile
contrib/cron/Makefile
@@ -846,7 +860,8 @@ echo "
Networking stacks: ${networking_apis}
Browser plugin: ${build_browser_plugin}
GStreamer plugin: ${build_gstreamer_plugin}
- Pango module: ${build_gtk_module}
+ Pango module (GTK2): ${build_gtk_module_gtk2}
+ Pango module (GTK3): ${build_gtk_module_gtk3}
BASH Command not found: ${build_command_not_found}
Cron scripts: ${build_cron}
debuginfo-install: ${build_debuginfo_install}
diff --git a/contrib/PackageKit.spec.in b/contrib/PackageKit.spec.in
index 8e0f9b4..b600ac0 100644
--- a/contrib/PackageKit.spec.in
+++ b/contrib/PackageKit.spec.in
@@ -31,6 +31,7 @@ BuildRequires: sqlite-devel
BuildRequires: NetworkManager-devel
BuildRequires: polkit-devel >= 0.92
BuildRequires: libtool
+BuildRequires: gtk3
BuildRequires: docbook-utils
BuildRequires: gnome-doc-utils
BuildRequires: python-devel
@@ -246,7 +247,7 @@ make install DESTDIR=$RPM_BUILD_ROOT
rm -f $RPM_BUILD_ROOT%{_libdir}/libpackagekit*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/packagekit-plugin.la
-rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la
+rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-?.0/modules/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/polkit-1/extensions/libpackagekit-action-lookup.la
touch $RPM_BUILD_ROOT%{_localstatedir}/cache/PackageKit/groups.sqlite
@@ -391,7 +392,7 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%files gtk-module
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
-%{_libdir}/gtk-2.0/modules/*.so
+%{_libdir}/gtk-?.0/modules/*.so
%files command-not-found
%defattr(-,root,root,-)
diff --git a/contrib/gtk-module/Makefile.am b/contrib/gtk-module/Makefile.am
index e18a935..861b761 100644
--- a/contrib/gtk-module/Makefile.am
+++ b/contrib/gtk-module/Makefile.am
@@ -1,26 +1,14 @@
-NULL =
-APP = gedit --new-window GLASS.txt
+SUBDIRS =
-moduledir = $(LIBDIR)/gtk-2.0/modules
-module_LTLIBRARIES = libpk-gtk-module.la
-libpk_gtk_module_la_SOURCES = pk-gtk-module.c
-libpk_gtk_module_la_LIBADD = $(PK_GTK_MODULE_LIBS)
-libpk_gtk_module_la_LDFLAGS = -module -avoid-version
-libpk_gtk_module_la_CFLAGS = $(PK_GTK_MODULE_CFLAGS) $(WARNINGFLAGS_C)
+if PK_BUILD_GTK_MODULE_GTK2
+SUBDIRS += gtk-2.0
+endif
-clean-local:
- rm -f *~
-
-local: all
- GTK_MODULES="$$GTK_MODULES:$$PWD/.libs/libpk-gtk-module.so" $(APP)
+if PK_BUILD_GTK_MODULE_GTK3
+SUBDIRS += gtk-3.0
+endif
EXTRA_DIST = \
README \
- GLASS.txt \
- $(NULL)
-
-MAINTAINERCLEANFILES = \
- *~ \
- Makefile.in \
- $(NULL)
+ GLASS.txt
diff --git a/contrib/gtk-module/gtk-2.0/Makefile.am b/contrib/gtk-module/gtk-2.0/Makefile.am
new file mode 100644
index 0000000..5397a08
--- /dev/null
+++ b/contrib/gtk-module/gtk-2.0/Makefile.am
@@ -0,0 +1,10 @@
+moduledir = $(LIBDIR)/gtk-2.0/modules
+module_LTLIBRARIES = libpk-gtk-module.la
+libpk_gtk_module_la_SOURCES = ../pk-gtk-module.c
+libpk_gtk_module_la_LIBADD = $(PK_GTK_MODULE_GTK2_LIBS)
+libpk_gtk_module_la_LDFLAGS = -module -avoid-version
+libpk_gtk_module_la_CFLAGS = $(PK_GTK_MODULE_GTK2_CFLAGS) $(WARNINGFLAGS_C)
+
+clean-local:
+ rm -f *~
+
diff --git a/contrib/gtk-module/gtk-3.0/Makefile.am b/contrib/gtk-module/gtk-3.0/Makefile.am
new file mode 100644
index 0000000..a5e1f4e
--- /dev/null
+++ b/contrib/gtk-module/gtk-3.0/Makefile.am
@@ -0,0 +1,16 @@
+NULL =
+APP = gedit --new-window GLASS.txt
+
+moduledir = $(LIBDIR)/gtk-3.0/modules
+module_LTLIBRARIES = libpk-gtk-module.la
+libpk_gtk_module_la_SOURCES = ../pk-gtk-module.c
+libpk_gtk_module_la_LIBADD = $(PK_GTK_MODULE_GTK3_LIBS)
+libpk_gtk_module_la_LDFLAGS = -module -avoid-version
+libpk_gtk_module_la_CFLAGS = $(PK_GTK_MODULE_GTK3_CFLAGS) $(WARNINGFLAGS_C)
+
+clean-local:
+ rm -f *~
+
+local: all
+ GTK_MODULES="$$GTK_MODULES:$$PWD/.libs/libpk-gtk-module.so" $(APP)
+
commit e7fd639093a641257f8ec1dae38fa0c7073e35b5
Author: Richard Hughes <richard at hughsie.com>
Date: Sat Jun 5 22:33:18 2010 +0100
yum: don't crash with an internal error if the .discinfo is malformed
diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index e2878b9..f7bd2e4 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -3297,12 +3297,22 @@ class PackageKitYumBase(yum.YumBase):
f = open(discinfo, "r")
lines = f.readlines()
f.close()
- media_id_tmp = lines[0].strip()
- disc_number_tmp = int(lines[3].strip())
+
+ # not enough lines to be a valid .discinfo
+ if len(lines) < 4:
+ continue
# check this is the right disk
+ media_id_tmp = lines[0].strip()
if cmp(media_id_tmp, media_id) != 0:
continue
+
+ # disc number can be random things like 'ALL'
+ disc_number_tmp = 1
+ try:
+ disc_number_tmp = int(lines[3].strip())
+ except ValueError, e:
+ pass
if disc_number_tmp != disc_number:
continue
return root
commit a1cd508feceb9edccd6db7db30ef627d8fc4b179
Author: Richard Hughes <richard at hughsie.com>
Date: Sat Jun 5 15:27:32 2010 +0100
Assign names to our idle sources when using new versions of glib2
This makes it possible to profile more accurately using systemtap
diff --git a/contrib/browser-plugin/pk-plugin-install.c b/contrib/browser-plugin/pk-plugin-install.c
index 5abdde8..aeb9c2d 100644
--- a/contrib/browser-plugin/pk-plugin-install.c
+++ b/contrib/browser-plugin/pk-plugin-install.c
@@ -123,6 +123,9 @@ pk_plugin_install_set_status (PkPluginInstall *self, PkPluginInstallPackageStatu
if (status == INSTALLING) {
self->priv->timeout = g_timeout_add (80, spinner_timeout, self);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (self->priv->timeout, "[PkPluginInstall] spinner");
+#endif
}
else if (self->priv->timeout) {
g_source_remove (self->priv->timeout);
diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c
index 3e13886..92305dd 100644
--- a/contrib/command-not-found/pk-command-not-found.c
+++ b/contrib/command-not-found/pk-command-not-found.c
@@ -430,6 +430,9 @@ pk_cnf_find_available (const gchar *cmd, guint max_search_time)
cancel_id = g_timeout_add (max_search_time,
(GSourceFunc) pk_cnf_cancel_cb,
cancellable);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (cancel_id, "[PkCommandNotFount] cancel");
+#endif
/* do search */
filters = pk_bitfield_from_enums (PK_FILTER_ENUM_NOT_INSTALLED,
diff --git a/contrib/gtk-module/pk-gtk-module.c b/contrib/gtk-module/pk-gtk-module.c
index 78fa350..b615972 100644
--- a/contrib/gtk-module/pk-gtk-module.c
+++ b/contrib/gtk-module/pk-gtk-module.c
@@ -153,9 +153,13 @@ out:
static void
queue_install_fonts_tag (const char *tag)
{
+ guint idle_id;
if (tags == NULL) {
tags = g_ptr_array_new ();
- g_idle_add (pk_install_fonts_idle_cb, NULL);
+ idle_id = g_idle_add (pk_install_fonts_idle_cb, NULL);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (idle_id, "[PkGtkModule] install fonts");
+#endif
}
g_ptr_array_add (tags, (gpointer) g_strdup (tag));
diff --git a/lib/packagekit-glib2/pk-control.c b/lib/packagekit-glib2/pk-control.c
index cf4d65b..db2de52 100644
--- a/lib/packagekit-glib2/pk-control.c
+++ b/lib/packagekit-glib2/pk-control.c
@@ -1854,7 +1854,12 @@ pk_control_transaction_list_changed_cb (DBusGProxy *proxy, gchar **transaction_i
/* we have to do this idle as the transaction list will change when not yet finished */
egg_debug ("emit transaction-list-changed (when idle)");
- control->priv->transaction_list_changed_id = g_idle_add ((GSourceFunc) pk_control_transaction_list_changed_idle_cb, store);
+ control->priv->transaction_list_changed_id =
+ g_idle_add ((GSourceFunc) pk_control_transaction_list_changed_idle_cb, store);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (control->priv->transaction_list_changed_id,
+ "[PkControl] transaction-list-changed");
+#endif
}
/**
@@ -1892,7 +1897,12 @@ pk_control_restart_schedule_cb (DBusGProxy *proxy, PkControl *control)
/* we have to do this idle as the transaction list will change when not yet finished */
egg_debug ("emit restart-schedule (when idle)");
- store->control->priv->restart_schedule_id = g_idle_add ((GSourceFunc) pk_control_restart_schedule_idle_cb, store);
+ store->control->priv->restart_schedule_id =
+ g_idle_add ((GSourceFunc) pk_control_restart_schedule_idle_cb, store);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (store->control->priv->restart_schedule_id,
+ "[PkControl] restart-schedule");
+#endif
}
/**
@@ -1930,7 +1940,12 @@ pk_control_updates_changed_cb (DBusGProxy *proxy, PkControl *control)
/* we have to do this idle as the transaction list will change when not yet finished */
egg_debug ("emit updates-changed (when idle)");
- control->priv->updates_changed_id = g_idle_add ((GSourceFunc) pk_control_updates_changed_idle_cb, store);
+ control->priv->updates_changed_id =
+ g_idle_add ((GSourceFunc) pk_control_updates_changed_idle_cb, store);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (control->priv->updates_changed_id,
+ "[PkControl] updates-changed");
+#endif
}
/**
@@ -1968,7 +1983,12 @@ pk_control_repo_list_changed_cb (DBusGProxy *proxy, PkControl *control)
/* we have to do this idle as the transaction list will change when not yet finished */
egg_debug ("emit repo-list-changed (when idle)");
- control->priv->repo_list_changed_id = g_idle_add ((GSourceFunc) pk_control_repo_list_changed_idle_cb, store);
+ control->priv->repo_list_changed_id =
+ g_idle_add ((GSourceFunc) pk_control_repo_list_changed_idle_cb, store);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (control->priv->repo_list_changed_id,
+ "[PkControl] repo-list-changed");
+#endif
}
/**
diff --git a/lib/packagekit-glib2/pk-progress-bar.c b/lib/packagekit-glib2/pk-progress-bar.c
index 113824d..e93d7cf 100644
--- a/lib/packagekit-glib2/pk-progress-bar.c
+++ b/lib/packagekit-glib2/pk-progress-bar.c
@@ -151,7 +151,11 @@ pk_progress_bar_draw_pulse_bar (PkProgressBar *self)
if (TRUE) {
self->priv->pulse_state.position = 1;
self->priv->pulse_state.move_forward = TRUE;
- self->priv->timer_id = g_timeout_add (PK_PROGRESS_BAR_PULSE_TIMEOUT, (GSourceFunc) pk_progress_bar_pulse_bar, self);
+ self->priv->timer_id = g_timeout_add (PK_PROGRESS_BAR_PULSE_TIMEOUT,
+ (GSourceFunc) pk_progress_bar_pulse_bar, self);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (self->priv->timer_id, "[PkProgressBar] pulse");
+#endif
}
}
diff --git a/lib/packagekit-glib2/pk-task.c b/lib/packagekit-glib2/pk-task.c
index bd4755a..2b60e43 100644
--- a/lib/packagekit-glib2/pk-task.c
+++ b/lib/packagekit-glib2/pk-task.c
@@ -708,6 +708,7 @@ out:
gboolean
pk_task_user_accepted (PkTask *task, guint request)
{
+ guint idle_id;
PkTaskState *state;
/* get the not-yet-completed request */
@@ -717,7 +718,10 @@ pk_task_user_accepted (PkTask *task, guint request)
return FALSE;
}
- g_idle_add ((GSourceFunc) pk_task_user_accepted_idle_cb, state);
+ idle_id = g_idle_add ((GSourceFunc) pk_task_user_accepted_idle_cb, state);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (idle_id, "[PkTask] user-accept");
+#endif
return TRUE;
}
@@ -756,6 +760,7 @@ out:
gboolean
pk_task_user_declined (PkTask *task, guint request)
{
+ guint idle_id;
PkTaskState *state;
/* get the not-yet-completed request */
@@ -765,7 +770,10 @@ pk_task_user_declined (PkTask *task, guint request)
return FALSE;
}
- g_idle_add ((GSourceFunc) pk_task_user_declined_idle_cb, state);
+ idle_id = g_idle_add ((GSourceFunc) pk_task_user_declined_idle_cb, state);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (idle_id, "[PkTask] user-declined");
+#endif
return TRUE;
}
diff --git a/src/egg-test.c b/src/egg-test.c
index 1f62d64..99c0fe8 100644
--- a/src/egg-test.c
+++ b/src/egg-test.c
@@ -89,6 +89,9 @@ void
egg_test_loop_wait (EggTest *test, guint timeout)
{
test->hang_loop_id = g_timeout_add (timeout, egg_test_hang_check, test);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (test->hang_loop_id, "[EggTest] egg-test-hang");
+#endif
g_main_loop_run (test->loop);
}
diff --git a/src/pk-backend-spawn.c b/src/pk-backend-spawn.c
index 6856337..220f036 100644
--- a/src/pk-backend-spawn.c
+++ b/src/pk-backend-spawn.c
@@ -138,6 +138,9 @@ pk_backend_spawn_start_kill_timer (PkBackendSpawn *backend_spawn)
/* close down the dispatcher if it is still open after this much time */
priv->kill_id = g_timeout_add_seconds (timeout, (GSourceFunc) pk_backend_spawn_exit_timeout_cb, backend_spawn);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (priv->kill_id, "[PkBackendSpawn] exit");
+#endif
}
/**
diff --git a/src/pk-backend.c b/src/pk-backend.c
index dbc8b4e..f17ffd7 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -1886,6 +1886,9 @@ pk_backend_error_code (PkBackend *backend, PkErrorEnum error_code, const gchar *
/* we only allow a short time to send finished after error_code */
backend->priv->signal_error_timeout = g_timeout_add (PK_BACKEND_FINISHED_ERROR_TIMEOUT,
pk_backend_error_timeout_delay_cb, backend);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (backend->priv->signal_error_timeout, "[PkBackend] error-code");
+#endif
/* some error codes have a different exit code */
need_untrusted = pk_backend_error_code_is_need_untrusted (error_code);
@@ -2134,7 +2137,11 @@ pk_backend_finished (PkBackend *backend)
/* we have to run this idle as the command may finish before the transaction
* has been sent to the client. I love async... */
egg_debug ("adding finished %p to timeout loop", backend);
- backend->priv->signal_finished = g_timeout_add (PK_BACKEND_FINISHED_TIMEOUT_GRACE, pk_backend_finished_delay, backend);
+ backend->priv->signal_finished = g_timeout_add (PK_BACKEND_FINISHED_TIMEOUT_GRACE,
+ pk_backend_finished_delay, backend);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (backend->priv->signal_finished, "[PkBackend] finished");
+#endif
return TRUE;
}
@@ -2154,7 +2161,11 @@ pk_backend_thread_finished_cb (PkBackend *backend)
void
pk_backend_thread_finished (PkBackend *backend)
{
- g_idle_add ((GSourceFunc) pk_backend_thread_finished_cb, backend);
+ guint idle_id;
+ idle_id = g_idle_add ((GSourceFunc) pk_backend_thread_finished_cb, backend);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (idle_id, "[PkBackend] finished");
+#endif
}
/**
@@ -2745,6 +2756,9 @@ pk_backend_cancel (PkBackend *backend)
/* set an error if the backend didn't do it for us */
backend->priv->cancel_id = g_timeout_add (PK_BACKEND_CANCEL_ACTION_TIMEOUT,
(GSourceFunc) pk_backend_cancel_cb, backend);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (backend->priv->cancel_id, "[PkBackend] cancel");
+#endif
}
/**
diff --git a/src/pk-engine.c b/src/pk-engine.c
index fa0ae7d..2db8d44 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -603,12 +603,19 @@ pk_engine_state_has_changed (PkEngine *engine, const gchar *reason, GError **err
engine->priv->timeout_normal_id = 0; }
/* wait a little delay in case we get multiple requests */
- if (is_priority)
+ if (is_priority) {
engine->priv->timeout_priority_id = g_timeout_add_seconds (engine->priv->timeout_priority,
pk_engine_state_changed_cb, engine);
- else
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (engine->priv->timeout_priority_id, "[PkEngine] priority");
+#endif
+ } else {
engine->priv->timeout_normal_id = g_timeout_add_seconds (engine->priv->timeout_normal,
pk_engine_state_changed_cb, engine);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (engine->priv->timeout_normal_id, "[PkEngine] normal");
+#endif
+ }
/* reset the timer */
pk_engine_reset_timer (engine);
diff --git a/src/pk-main.c b/src/pk-main.c
index c1494c7..55f1ca6 100644
--- a/src/pk-main.c
+++ b/src/pk-main.c
@@ -192,6 +192,7 @@ main (int argc, char *argv[])
PkSyslog *syslog = NULL;
GError *error = NULL;
GOptionContext *context;
+ guint timer_id = 0;
const GOptionEntry options[] = {
{ "backend", '\0', 0, G_OPTION_ARG_STRING, &backend_name,
@@ -325,8 +326,12 @@ main (int argc, char *argv[])
g_timeout_add_seconds (20, (GSourceFunc) timed_exit_cb, loop);
/* only poll every 10 seconds when we are alive */
- if (exit_idle_time != 0 && !disable_timer)
- g_timeout_add_seconds (5, (GSourceFunc) pk_main_timeout_check_cb, engine);
+ if (exit_idle_time != 0 && !disable_timer) {
+ timer_id = g_timeout_add_seconds (5, (GSourceFunc) pk_main_timeout_check_cb, engine);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (timer_id, "[PkMain] main poll");
+#endif
+ }
/* immediatly exit */
if (immediate_exit)
@@ -339,6 +344,9 @@ out:
/* log the shutdown */
pk_syslog_add (syslog, PK_SYSLOG_TYPE_INFO, "daemon quit");
+ if (timer_id > 0)
+ g_source_remove (timer_id);
+
g_main_loop_unref (loop);
g_object_unref (syslog);
g_object_unref (conf);
diff --git a/src/pk-notify.c b/src/pk-notify.c
index 76f302f..cddc9dc 100644
--- a/src/pk-notify.c
+++ b/src/pk-notify.c
@@ -111,6 +111,9 @@ pk_notify_wait_updates_changed (PkNotify *notify, guint timeout)
/* schedule */
notify->priv->timeout_id = g_timeout_add (timeout, pk_notify_finished_updates_changed_cb, notify);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (notify->priv->timeout_id, "[PkNotify] updates-changed");
+#endif
return TRUE;
}
diff --git a/src/pk-spawn.c b/src/pk-spawn.c
index 7091b60..38a1549 100644
--- a/src/pk-spawn.c
+++ b/src/pk-spawn.c
@@ -378,9 +378,12 @@ pk_spawn_kill (PkSpawn *spawn)
}
/* the program might not be able to handle SIGQUIT, give it a few seconds and then SIGKILL it */
- if (spawn->priv->allow_sigkill)
+ if (spawn->priv->allow_sigkill) {
spawn->priv->kill_id = g_timeout_add (PK_SPAWN_SIGKILL_DELAY, (GSourceFunc) pk_spawn_sigkill_cb, spawn);
-
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (spawn->priv->kill_id, "[PkSpawn] sigkill");
+#endif
+ }
return TRUE;
}
@@ -617,6 +620,9 @@ pk_spawn_argv (PkSpawn *spawn, gchar **argv, gchar **envp)
/* poll quickly */
spawn->priv->poll_id = g_timeout_add (PK_SPAWN_POLL_DELAY, (GSourceFunc) pk_spawn_check_child, spawn);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (spawn->priv->poll_id, "[PkSpawn] main poll");
+#endif
return TRUE;
}
diff --git a/src/pk-transaction-db.c b/src/pk-transaction-db.c
index ede1d5c..e06ce1e 100644
--- a/src/pk-transaction-db.c
+++ b/src/pk-transaction-db.c
@@ -561,7 +561,12 @@ pk_transaction_db_generate_id (PkTransactionDb *tdb)
* next time we are idle (but ensure we do this on shutdown) */
if (tdb->priv->database_save_id == 0) {
egg_debug ("deferring low priority write until idle");
- tdb->priv->database_save_id = g_idle_add_full (G_PRIORITY_LOW, (GSourceFunc) pk_transaction_db_defer_write_job_count_cb, tdb, NULL);
+ tdb->priv->database_save_id =
+ g_idle_add_full (G_PRIORITY_LOW, (GSourceFunc)
+ pk_transaction_db_defer_write_job_count_cb, tdb, NULL);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (tdb->priv->database_save_id, "[PkTransactionDb] save");
+#endif
}
/* make the tid */
diff --git a/src/pk-transaction-list.c b/src/pk-transaction-list.c
index 70cebdb..569adf1 100644
--- a/src/pk-transaction-list.c
+++ b/src/pk-transaction-list.c
@@ -297,6 +297,9 @@ pk_transaction_list_run_item (PkTransactionList *tlist, PkTransactionItem *item)
/* add this idle, so that we don't have a deep out-of-order callchain */
item->idle_id = g_idle_add ((GSourceFunc) pk_transaction_list_run_idle_cb, item);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (item->idle_id, "[PkTransactionList] run");
+#endif
}
/**
@@ -379,6 +382,9 @@ pk_transaction_list_transaction_finished_cb (PkTransaction *transaction, const g
/* give the client a few seconds to still query the runner */
timeout = pk_conf_get_int (tlist->priv->conf, "TransactionKeepFinishedTimeout");
item->remove_id = g_timeout_add_seconds (timeout, (GSourceFunc) pk_transaction_list_remove_item_cb, item);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (item->remove_id, "[PkTransactionList] remove");
+#endif
/* do the next transaction now if we have another queued */
item = pk_transaction_list_get_next_item (tlist);
@@ -515,6 +521,9 @@ pk_transaction_list_create (PkTransactionList *tlist, const gchar *tid, const gc
/* the client only has a finite amount of time to use the object, else it's destroyed */
timeout = pk_conf_get_int (tlist->priv->conf, "TransactionCreateCommitTimeout");
item->commit_id = g_timeout_add_seconds (timeout, (GSourceFunc) pk_transaction_list_no_commit_cb, item);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (item->commit_id, "[PkTransactionList] commit");
+#endif
egg_debug ("adding transaction %p, item %p", item->transaction, item);
g_ptr_array_add (tlist->priv->array, item);
@@ -817,6 +826,9 @@ pk_transaction_list_wedge_check1 (PkTransactionList *tlist)
/* we have to do this twice, as we might idle add inbetween a transition */
egg_warning ("list is consistent, scheduling another check");
tlist->priv->unwedge2_id = g_timeout_add (500, (GSourceFunc) pk_transaction_list_wedge_check2, tlist);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (tlist->priv->unwedge2_id, "[PkTransactionList] wedge-check");
+#endif
}
/* always repeat */
@@ -854,7 +866,11 @@ pk_transaction_list_init (PkTransactionList *tlist)
tlist->priv->conf = pk_conf_new ();
tlist->priv->array = g_ptr_array_new ();
tlist->priv->unwedge2_id = 0;
- tlist->priv->unwedge1_id = g_timeout_add_seconds (PK_TRANSACTION_WEDGE_CHECK, (GSourceFunc) pk_transaction_list_wedge_check1, tlist);
+ tlist->priv->unwedge1_id = g_timeout_add_seconds (PK_TRANSACTION_WEDGE_CHECK,
+ (GSourceFunc) pk_transaction_list_wedge_check1, tlist);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (tlist->priv->unwedge1_id, "[PkTransactionList] wedge-check (main)");
+#endif
}
/**
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index a6e5adb..055a641 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -2495,6 +2495,7 @@ pk_transaction_accept_eula (PkTransaction *transaction, const gchar *eula_id, DB
{
gboolean ret;
GError *error = NULL;
+ guint idle_id;
g_return_if_fail (PK_IS_TRANSACTION (transaction));
g_return_if_fail (transaction->priv->tid != NULL);
@@ -2536,7 +2537,10 @@ pk_transaction_accept_eula (PkTransaction *transaction, const gchar *eula_id, DB
}
/* we are done */
- g_idle_add ((GSourceFunc) pk_transaction_finished_idle_cb, transaction);
+ idle_id = g_idle_add ((GSourceFunc) pk_transaction_finished_idle_cb, transaction);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (idle_id, "[PkTransaction] finished from accept");
+#endif
/* return from async with success */
pk_transaction_dbus_return (context);
@@ -3159,6 +3163,8 @@ pk_transaction_get_packages (PkTransaction *transaction, const gchar *filter, DB
gboolean
pk_transaction_get_old_transactions (PkTransaction *transaction, guint number, GError **error)
{
+ guint idle_id;
+
g_return_val_if_fail (PK_IS_TRANSACTION (transaction), FALSE);
g_return_val_if_fail (transaction->priv->tid != NULL, FALSE);
@@ -3166,7 +3172,10 @@ pk_transaction_get_old_transactions (PkTransaction *transaction, guint number, G
pk_transaction_set_role (transaction, PK_ROLE_ENUM_GET_OLD_TRANSACTIONS);
pk_transaction_db_get_list (transaction->priv->transaction_db, number);
- g_idle_add ((GSourceFunc) pk_transaction_finished_idle_cb, transaction);
+ idle_id = g_idle_add ((GSourceFunc) pk_transaction_finished_idle_cb, transaction);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (idle_id, "[PkTransaction] finished from get-old-transactions");
+#endif
return TRUE;
}
@@ -3408,6 +3417,7 @@ pk_transaction_try_emit_cache (PkTransaction *transaction)
PkMessage *message;
PkExitEnum exit_enum;
guint i;
+ guint idle_id;
/* get results */
results = pk_cache_get_results (transaction->priv->cache, transaction->priv->role);
@@ -3449,7 +3459,10 @@ pk_transaction_try_emit_cache (PkTransaction *transaction)
pk_transaction_status_changed_emit (transaction, PK_STATUS_ENUM_FINISHED);
/* we are done */
- g_idle_add ((GSourceFunc) pk_transaction_finished_idle_cb, transaction);
+ idle_id = g_idle_add ((GSourceFunc) pk_transaction_finished_idle_cb, transaction);
+#if GLIB_CHECK_VERSION(2,25,8)
+ g_source_set_name_by_id (idle_id, "[PkTransaction] try-emit-cache");
+#endif
out:
if (package_array != NULL)
commit 886787fdb119c4e974ef44cc1ffcb31bc0b42407
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Jun 4 12:52:58 2010 +0100
cnf: Add a MaxSearchTime entry in CommandNotFound.conf and default to 2000ms
diff --git a/contrib/command-not-found/CommandNotFound.conf b/contrib/command-not-found/CommandNotFound.conf
index b43831e..b71b8f3 100644
--- a/contrib/command-not-found/CommandNotFound.conf
+++ b/contrib/command-not-found/CommandNotFound.conf
@@ -60,3 +60,14 @@ SingleInstall=ask
# default=warn
MultipleInstall=warn
+# Controls how long we should allow the user to wait when searching for
+# additional packages.
+# This can be set to very small numbers to avoid distracting the user, although
+# some entries may not be found if the caches need refreshing or metadata
+# downloading.
+#
+# Value is the number of milliseconds to allow.
+#
+# default=2000
+MaxSearchTime=2000
+
diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c
index a07da45..3e13886 100644
--- a/contrib/command-not-found/pk-command-not-found.c
+++ b/contrib/command-not-found/pk-command-not-found.c
@@ -53,6 +53,7 @@ typedef struct {
gboolean software_source_search;
gboolean similar_name_search;
gchar **locations;
+ guint max_search_time;
} PkCnfPolicyConfig;
static PkTask *task = NULL;
@@ -388,12 +389,23 @@ pk_cnf_progress_cb (PkProgress *progress, PkProgressType type, gpointer data)
}
/**
+ * pk_cnf_cancel_cb:
+ */
+static gboolean
+pk_cnf_cancel_cb (GCancellable *_cancellable)
+{
+ egg_warning ("Cancelling request");
+ g_cancellable_cancel (cancellable);
+ return FALSE;
+}
+
+/**
* pk_cnf_find_available:
*
* Find software we could install
**/
static gchar **
-pk_cnf_find_available (const gchar *cmd)
+pk_cnf_find_available (const gchar *cmd, guint max_search_time)
{
PkPackage *item;
gchar **package_ids = NULL;
@@ -406,6 +418,7 @@ pk_cnf_find_available (const gchar *cmd)
PkBitfield filters;
PkResults *results = NULL;
PkError *error_code = NULL;
+ guint cancel_id;
/* create new array of full paths */
len = g_strv_length ((gchar **)prefixes);
@@ -413,6 +426,11 @@ pk_cnf_find_available (const gchar *cmd)
for (i=0; prefixes[i] != NULL; i++)
values[i] = g_build_filename (prefixes[i], cmd, NULL);
+ /* only allow searching for a limited amount of time */
+ cancel_id = g_timeout_add (max_search_time,
+ (GSourceFunc) pk_cnf_cancel_cb,
+ cancellable);
+
/* do search */
filters = pk_bitfield_from_enums (PK_FILTER_ENUM_NOT_INSTALLED,
PK_FILTER_ENUM_NEWEST,
@@ -442,6 +460,8 @@ pk_cnf_find_available (const gchar *cmd)
package_ids[i] = g_strdup (pk_package_get_id (item));
}
out:
+ if (cancel_id > 0)
+ g_source_remove (cancel_id);
if (error_code != NULL)
g_object_unref (error_code);
if (results != NULL)
@@ -534,12 +554,17 @@ pk_cnf_get_config (void)
config->software_source_search = g_key_file_get_boolean (file, "CommandNotFound", "SoftwareSourceSearch", NULL);
config->similar_name_search = g_key_file_get_boolean (file, "CommandNotFound", "SimilarNameSearch", NULL);
config->locations = g_key_file_get_string_list (file, "CommandNotFound", "SearchLocations", NULL, NULL);
+ config->max_search_time = g_key_file_get_integer (file, "CommandNotFound", "MaxSearchTime", NULL);
/* fallback */
if (config->locations == NULL) {
egg_warning ("not found SearchLocations, using fallback");
config->locations = g_strsplit ("/usr/bin;/usr/sbin", ";", -1);
}
+ if (config->max_search_time == 0) {
+ egg_warning ("not found MaxSearchTime, using fallback");
+ config->max_search_time = 2000;
+ }
out:
g_free (path);
g_key_file_free (file);
@@ -764,7 +789,7 @@ main (int argc, char *argv[])
/* only search using PackageKit if configured to do so */
} else if (config->software_source_search) {
- package_ids = pk_cnf_find_available (argv[1]);
+ package_ids = pk_cnf_find_available (argv[1], config->max_search_time);
if (package_ids == NULL)
goto out;
len = g_strv_length (package_ids);
commit a48a24afc49dc5ffb9bbd6d813f1ae182f152d89
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Jun 4 12:25:39 2010 +0100
Only set a cancelled error after we've given the backend a fighting chance to process the request
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 759e730..dbc8b4e 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -79,6 +79,16 @@
*/
#define PK_BACKEND_FINISHED_TIMEOUT_GRACE 10 /* ms */
+
+/**
+ * PK_BACKEND_CANCEL_ACTION_TIMEOUT:
+ *
+ * The time in ms we cancel the transaction ourselves if the backend is ignoring
+ * us. This means the backend will still be running, but results will not be
+ * sent over the dbus interface.
+ */
+#define PK_BACKEND_CANCEL_ACTION_TIMEOUT 2000 /* ms */
+
struct _PkBackendPrivate
{
gboolean during_initialize;
@@ -106,6 +116,7 @@ struct _PkBackendPrivate
guint signal_error_timeout;
guint signal_finished;
guint speed;
+ guint cancel_id;
GHashTable *eulas;
GModule *handle;
GThread *thread;
@@ -2489,6 +2500,9 @@ pk_backend_finalize (GObject *object)
g_object_unref (backend->priv->conf);
g_hash_table_destroy (backend->priv->eulas);
+ if (backend->priv->cancel_id > 0)
+ g_source_remove (backend->priv->cancel_id);
+
if (backend->priv->handle != NULL)
g_module_close (backend->priv->handle);
egg_debug ("parent_class->finalize");
@@ -2702,6 +2716,22 @@ pk_backend_reset (PkBackend *backend)
}
/**
+ * pk_backend_cancel_cb:
+ */
+static gboolean
+pk_backend_cancel_cb (PkBackend *backend)
+{
+ /* set an error if the backend didn't do it for us */
+ if (!backend->priv->set_error) {
+ egg_warning ("backend failed to exit in %ims, cancelling ourselves", PK_BACKEND_CANCEL_ACTION_TIMEOUT);
+ pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "transaction was cancelled");
+ pk_backend_finished (backend);
+ }
+ backend->priv->cancel_id = 0;
+ return FALSE;
+}
+
+/**
* pk_backend_cancel:
*/
void
@@ -2713,8 +2743,8 @@ pk_backend_cancel (PkBackend *backend)
backend->priv->desc->cancel (backend);
/* set an error if the backend didn't do it for us */
- if (!backend->priv->set_error)
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "transaction was cancelled");
+ backend->priv->cancel_id = g_timeout_add (PK_BACKEND_CANCEL_ACTION_TIMEOUT,
+ (GSourceFunc) pk_backend_cancel_cb, backend);
}
/**
@@ -3141,6 +3171,7 @@ pk_backend_init (PkBackend *backend)
backend->priv->locked = FALSE;
backend->priv->use_threads = FALSE;
backend->priv->signal_finished = 0;
+ backend->priv->cancel_id = 0;
backend->priv->speed = 0;
backend->priv->signal_error_timeout = 0;
backend->priv->during_initialize = FALSE;
commit e340880c24ba0b121494b26f09bf586c96823c6c
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Jun 4 11:19:20 2010 +0100
glib: Explicitly mark the library as LGPLv2 by using the correct boilerplate code
diff --git a/contrib/PackageKit.spec.in b/contrib/PackageKit.spec.in
index 8939599..8e0f9b4 100644
--- a/contrib/PackageKit.spec.in
+++ b/contrib/PackageKit.spec.in
@@ -7,7 +7,7 @@ Summary: Package management service
Name: PackageKit
Version: #VERSION#
Release: 0.#BUILD#%{?alphatag}%{?dist}
-License: GPLv2+
+License: GPLv2+ and LGPLv2+
URL: http://www.packagekit.org
Source0: http://www.packagekit.org/releases/%{name}-%{version}.tar.gz
diff --git a/lib/packagekit-glib2/COPYING b/lib/packagekit-glib2/COPYING
new file mode 100644
index 0000000..4362b49
--- /dev/null
+++ b/lib/packagekit-glib2/COPYING
@@ -0,0 +1,502 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/lib/packagekit-glib2/pk-bitfield.c b/lib/packagekit-glib2/pk-bitfield.c
index 38f8b70..2cdeb6a 100644
--- a/lib/packagekit-glib2/pk-bitfield.c
+++ b/lib/packagekit-glib2/pk-bitfield.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-bitfield.h b/lib/packagekit-glib2/pk-bitfield.h
index 195c9a1..3c5a8e0 100644
--- a/lib/packagekit-glib2/pk-bitfield.h
+++ b/lib/packagekit-glib2/pk-bitfield.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-catalog.c b/lib/packagekit-glib2/pk-catalog.c
index 0bc2c4a..40dbbd9 100644
--- a/lib/packagekit-glib2/pk-catalog.c
+++ b/lib/packagekit-glib2/pk-catalog.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-catalog.h b/lib/packagekit-glib2/pk-catalog.h
index 3501112..2e7c360 100644
--- a/lib/packagekit-glib2/pk-catalog.h
+++ b/lib/packagekit-glib2/pk-catalog.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-category.c b/lib/packagekit-glib2/pk-category.c
index 82cd79f..e71c4c4 100644
--- a/lib/packagekit-glib2/pk-category.c
+++ b/lib/packagekit-glib2/pk-category.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-category.h b/lib/packagekit-glib2/pk-category.h
index 3f90eb6..b1d8bbc 100644
--- a/lib/packagekit-glib2/pk-category.h
+++ b/lib/packagekit-glib2/pk-category.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-client-sync.c b/lib/packagekit-glib2/pk-client-sync.c
index 9e9e5ad..3947683 100644
--- a/lib/packagekit-glib2/pk-client-sync.c
+++ b/lib/packagekit-glib2/pk-client-sync.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "config.h"
diff --git a/lib/packagekit-glib2/pk-client-sync.h b/lib/packagekit-glib2/pk-client-sync.h
index abfb2a2..f2068a9 100644
--- a/lib/packagekit-glib2/pk-client-sync.h
+++ b/lib/packagekit-glib2/pk-client-sync.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __PK_CLIENT_SYNC_H
diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index f10972f..60d8d10 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-client.h b/lib/packagekit-glib2/pk-client.h
index d4e93a6..2643237 100644
--- a/lib/packagekit-glib2/pk-client.h
+++ b/lib/packagekit-glib2/pk-client.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-common.c b/lib/packagekit-glib2/pk-common.c
index d07b103..a21c6a1 100644
--- a/lib/packagekit-glib2/pk-common.c
+++ b/lib/packagekit-glib2/pk-common.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-common.h b/lib/packagekit-glib2/pk-common.h
index b93188e..2a9668d 100644
--- a/lib/packagekit-glib2/pk-common.h
+++ b/lib/packagekit-glib2/pk-common.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-console-shared.c b/lib/packagekit-glib2/pk-console-shared.c
index 7cfa6b7..c345d21 100644
--- a/lib/packagekit-glib2/pk-console-shared.c
+++ b/lib/packagekit-glib2/pk-console-shared.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "config.h"
diff --git a/lib/packagekit-glib2/pk-console-shared.h b/lib/packagekit-glib2/pk-console-shared.h
index a027741..12de4dc 100644
--- a/lib/packagekit-glib2/pk-console-shared.h
+++ b/lib/packagekit-glib2/pk-console-shared.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __PK_CONSOLE_SHARED_H
diff --git a/lib/packagekit-glib2/pk-control-sync.c b/lib/packagekit-glib2/pk-control-sync.c
index 8da2ec0..3950f28 100644
--- a/lib/packagekit-glib2/pk-control-sync.c
+++ b/lib/packagekit-glib2/pk-control-sync.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "config.h"
diff --git a/lib/packagekit-glib2/pk-control-sync.h b/lib/packagekit-glib2/pk-control-sync.h
index c25f536..ed33006 100644
--- a/lib/packagekit-glib2/pk-control-sync.h
+++ b/lib/packagekit-glib2/pk-control-sync.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __PK_CONTROL_SYNC_H
diff --git a/lib/packagekit-glib2/pk-control.c b/lib/packagekit-glib2/pk-control.c
index 4982036..cf4d65b 100644
--- a/lib/packagekit-glib2/pk-control.c
+++ b/lib/packagekit-glib2/pk-control.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-control.h b/lib/packagekit-glib2/pk-control.h
index 7292cda..920629e 100644
--- a/lib/packagekit-glib2/pk-control.h
+++ b/lib/packagekit-glib2/pk-control.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-desktop.c b/lib/packagekit-glib2/pk-desktop.c
index 80af9dd..ced2b74 100644
--- a/lib/packagekit-glib2/pk-desktop.c
+++ b/lib/packagekit-glib2/pk-desktop.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-desktop.h b/lib/packagekit-glib2/pk-desktop.h
index d3292a1..92ff8ed 100644
--- a/lib/packagekit-glib2/pk-desktop.h
+++ b/lib/packagekit-glib2/pk-desktop.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-details.c b/lib/packagekit-glib2/pk-details.c
index 2f1f3b3..2a38db5 100644
--- a/lib/packagekit-glib2/pk-details.c
+++ b/lib/packagekit-glib2/pk-details.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-details.h b/lib/packagekit-glib2/pk-details.h
index 423754d..eb4982b 100644
--- a/lib/packagekit-glib2/pk-details.h
+++ b/lib/packagekit-glib2/pk-details.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-distro-upgrade.c b/lib/packagekit-glib2/pk-distro-upgrade.c
index 7728b32..4aff032 100644
--- a/lib/packagekit-glib2/pk-distro-upgrade.c
+++ b/lib/packagekit-glib2/pk-distro-upgrade.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-distro-upgrade.h b/lib/packagekit-glib2/pk-distro-upgrade.h
index 5d6cd33..a9ba9d1 100644
--- a/lib/packagekit-glib2/pk-distro-upgrade.h
+++ b/lib/packagekit-glib2/pk-distro-upgrade.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-enum.c b/lib/packagekit-glib2/pk-enum.c
index a8de42f..3daee63 100644
--- a/lib/packagekit-glib2/pk-enum.c
+++ b/lib/packagekit-glib2/pk-enum.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-enum.h b/lib/packagekit-glib2/pk-enum.h
index 2b121b7..984d1fe 100644
--- a/lib/packagekit-glib2/pk-enum.h
+++ b/lib/packagekit-glib2/pk-enum.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-error.c b/lib/packagekit-glib2/pk-error.c
index 4d2b86b..284a7e9 100644
--- a/lib/packagekit-glib2/pk-error.c
+++ b/lib/packagekit-glib2/pk-error.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-error.h b/lib/packagekit-glib2/pk-error.h
index 44f5472..933df47 100644
--- a/lib/packagekit-glib2/pk-error.h
+++ b/lib/packagekit-glib2/pk-error.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-eula-required.c b/lib/packagekit-glib2/pk-eula-required.c
index 0525af4..8adb764 100644
--- a/lib/packagekit-glib2/pk-eula-required.c
+++ b/lib/packagekit-glib2/pk-eula-required.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-eula-required.h b/lib/packagekit-glib2/pk-eula-required.h
index bba8877..7ebafc0 100644
--- a/lib/packagekit-glib2/pk-eula-required.h
+++ b/lib/packagekit-glib2/pk-eula-required.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-files.c b/lib/packagekit-glib2/pk-files.c
index 6243a14..3061990 100644
--- a/lib/packagekit-glib2/pk-files.c
+++ b/lib/packagekit-glib2/pk-files.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-files.h b/lib/packagekit-glib2/pk-files.h
index a2a9d07..2b42930 100644
--- a/lib/packagekit-glib2/pk-files.h
+++ b/lib/packagekit-glib2/pk-files.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-media-change-required.c b/lib/packagekit-glib2/pk-media-change-required.c
index be69131..8a694f7 100644
--- a/lib/packagekit-glib2/pk-media-change-required.c
+++ b/lib/packagekit-glib2/pk-media-change-required.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-media-change-required.h b/lib/packagekit-glib2/pk-media-change-required.h
index b7b4b01..026b6a0 100644
--- a/lib/packagekit-glib2/pk-media-change-required.h
+++ b/lib/packagekit-glib2/pk-media-change-required.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-message.c b/lib/packagekit-glib2/pk-message.c
index 96beb0e..e3286f1 100644
--- a/lib/packagekit-glib2/pk-message.c
+++ b/lib/packagekit-glib2/pk-message.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-message.h b/lib/packagekit-glib2/pk-message.h
index c329bf0..4214476 100644
--- a/lib/packagekit-glib2/pk-message.h
+++ b/lib/packagekit-glib2/pk-message.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-package-id.c b/lib/packagekit-glib2/pk-package-id.c
index 425e722..6c671f2 100644
--- a/lib/packagekit-glib2/pk-package-id.c
+++ b/lib/packagekit-glib2/pk-package-id.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-package-id.h b/lib/packagekit-glib2/pk-package-id.h
index 63b6402..38c9ce5 100644
--- a/lib/packagekit-glib2/pk-package-id.h
+++ b/lib/packagekit-glib2/pk-package-id.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-package-ids.c b/lib/packagekit-glib2/pk-package-ids.c
index b9c05dc..a8a1809 100644
--- a/lib/packagekit-glib2/pk-package-ids.c
+++ b/lib/packagekit-glib2/pk-package-ids.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-package-ids.h b/lib/packagekit-glib2/pk-package-ids.h
index dd8816e..35d639d 100644
--- a/lib/packagekit-glib2/pk-package-ids.h
+++ b/lib/packagekit-glib2/pk-package-ids.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-package-sack-sync.c b/lib/packagekit-glib2/pk-package-sack-sync.c
index 6ba6102..5e42876 100644
--- a/lib/packagekit-glib2/pk-package-sack-sync.c
+++ b/lib/packagekit-glib2/pk-package-sack-sync.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "config.h"
diff --git a/lib/packagekit-glib2/pk-package-sack-sync.h b/lib/packagekit-glib2/pk-package-sack-sync.h
index 778bacc..c17d897 100644
--- a/lib/packagekit-glib2/pk-package-sack-sync.h
+++ b/lib/packagekit-glib2/pk-package-sack-sync.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __PK_PACKAGE_SACK_SYNC_H
diff --git a/lib/packagekit-glib2/pk-package-sack.c b/lib/packagekit-glib2/pk-package-sack.c
index 29e895b..2f02286 100644
--- a/lib/packagekit-glib2/pk-package-sack.c
+++ b/lib/packagekit-glib2/pk-package-sack.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-package-sack.h b/lib/packagekit-glib2/pk-package-sack.h
index a05665c..56f00e2 100644
--- a/lib/packagekit-glib2/pk-package-sack.h
+++ b/lib/packagekit-glib2/pk-package-sack.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-package.c b/lib/packagekit-glib2/pk-package.c
index 8fe7dad..5235689 100644
--- a/lib/packagekit-glib2/pk-package.c
+++ b/lib/packagekit-glib2/pk-package.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-package.h b/lib/packagekit-glib2/pk-package.h
index 96a7a40..60d0a10 100644
--- a/lib/packagekit-glib2/pk-package.h
+++ b/lib/packagekit-glib2/pk-package.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-progress-bar.c b/lib/packagekit-glib2/pk-progress-bar.c
index e14389c..113824d 100644
--- a/lib/packagekit-glib2/pk-progress-bar.c
+++ b/lib/packagekit-glib2/pk-progress-bar.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <glib.h>
diff --git a/lib/packagekit-glib2/pk-progress-bar.h b/lib/packagekit-glib2/pk-progress-bar.h
index 7b534e1..b31ed52 100644
--- a/lib/packagekit-glib2/pk-progress-bar.h
+++ b/lib/packagekit-glib2/pk-progress-bar.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __PK_PROGRESS_BAR_H
diff --git a/lib/packagekit-glib2/pk-progress.c b/lib/packagekit-glib2/pk-progress.c
index 19a0693..0be34a8 100644
--- a/lib/packagekit-glib2/pk-progress.c
+++ b/lib/packagekit-glib2/pk-progress.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-progress.h b/lib/packagekit-glib2/pk-progress.h
index 3aada72..ff961cb 100644
--- a/lib/packagekit-glib2/pk-progress.h
+++ b/lib/packagekit-glib2/pk-progress.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-repo-detail.c b/lib/packagekit-glib2/pk-repo-detail.c
index a729b66..af22127 100644
--- a/lib/packagekit-glib2/pk-repo-detail.c
+++ b/lib/packagekit-glib2/pk-repo-detail.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-repo-detail.h b/lib/packagekit-glib2/pk-repo-detail.h
index 4d8aebb..a6bcda9 100644
--- a/lib/packagekit-glib2/pk-repo-detail.h
+++ b/lib/packagekit-glib2/pk-repo-detail.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-repo-signature-required.c b/lib/packagekit-glib2/pk-repo-signature-required.c
index 24a81e4..2518923 100644
--- a/lib/packagekit-glib2/pk-repo-signature-required.c
+++ b/lib/packagekit-glib2/pk-repo-signature-required.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-repo-signature-required.h b/lib/packagekit-glib2/pk-repo-signature-required.h
index 78752e5..10a0c8d 100644
--- a/lib/packagekit-glib2/pk-repo-signature-required.h
+++ b/lib/packagekit-glib2/pk-repo-signature-required.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-require-restart.c b/lib/packagekit-glib2/pk-require-restart.c
index 2fb9eb6..8acbd23 100644
--- a/lib/packagekit-glib2/pk-require-restart.c
+++ b/lib/packagekit-glib2/pk-require-restart.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-require-restart.h b/lib/packagekit-glib2/pk-require-restart.h
index daed242..2f13879 100644
--- a/lib/packagekit-glib2/pk-require-restart.h
+++ b/lib/packagekit-glib2/pk-require-restart.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-results.c b/lib/packagekit-glib2/pk-results.c
index 30c25c3..a627dff 100644
--- a/lib/packagekit-glib2/pk-results.c
+++ b/lib/packagekit-glib2/pk-results.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-results.h b/lib/packagekit-glib2/pk-results.h
index aa82e38..2c26fe1 100644
--- a/lib/packagekit-glib2/pk-results.h
+++ b/lib/packagekit-glib2/pk-results.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-self-test.c b/lib/packagekit-glib2/pk-self-test.c
index 97e1240..2b5fa56 100644
--- a/lib/packagekit-glib2/pk-self-test.c
+++ b/lib/packagekit-glib2/pk-self-test.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "config.h"
diff --git a/lib/packagekit-glib2/pk-service-pack.c b/lib/packagekit-glib2/pk-service-pack.c
index 3a70105..110e603 100644
--- a/lib/packagekit-glib2/pk-service-pack.c
+++ b/lib/packagekit-glib2/pk-service-pack.c
@@ -3,21 +3,21 @@
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
* Copyright (C) 2008 Shishir Goel <crazyontheedge at gmail.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-service-pack.h b/lib/packagekit-glib2/pk-service-pack.h
index e52726a..3a7cbeb 100644
--- a/lib/packagekit-glib2/pk-service-pack.h
+++ b/lib/packagekit-glib2/pk-service-pack.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-source.c b/lib/packagekit-glib2/pk-source.c
index 7bc2f9b..603500d 100644
--- a/lib/packagekit-glib2/pk-source.c
+++ b/lib/packagekit-glib2/pk-source.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-source.h b/lib/packagekit-glib2/pk-source.h
index 5230af9..25a7bb9 100644
--- a/lib/packagekit-glib2/pk-source.h
+++ b/lib/packagekit-glib2/pk-source.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-task-sync.c b/lib/packagekit-glib2/pk-task-sync.c
index a6b9b9c..331b975 100644
--- a/lib/packagekit-glib2/pk-task-sync.c
+++ b/lib/packagekit-glib2/pk-task-sync.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "config.h"
diff --git a/lib/packagekit-glib2/pk-task-sync.h b/lib/packagekit-glib2/pk-task-sync.h
index 666f83b..fb9fc35 100644
--- a/lib/packagekit-glib2/pk-task-sync.h
+++ b/lib/packagekit-glib2/pk-task-sync.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __PK_TASK_SYNC_H
diff --git a/lib/packagekit-glib2/pk-task-text.c b/lib/packagekit-glib2/pk-task-text.c
index bd37c85..b576d5e 100644
--- a/lib/packagekit-glib2/pk-task-text.c
+++ b/lib/packagekit-glib2/pk-task-text.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "config.h"
diff --git a/lib/packagekit-glib2/pk-task-text.h b/lib/packagekit-glib2/pk-task-text.h
index 697ccc9..5885aa2 100644
--- a/lib/packagekit-glib2/pk-task-text.h
+++ b/lib/packagekit-glib2/pk-task-text.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __PK_TASK_TEXT_H
diff --git a/lib/packagekit-glib2/pk-task-wrapper.c b/lib/packagekit-glib2/pk-task-wrapper.c
index 732e621..4bfbcb2 100644
--- a/lib/packagekit-glib2/pk-task-wrapper.c
+++ b/lib/packagekit-glib2/pk-task-wrapper.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "config.h"
diff --git a/lib/packagekit-glib2/pk-task-wrapper.h b/lib/packagekit-glib2/pk-task-wrapper.h
index 13d1356..2e50851 100644
--- a/lib/packagekit-glib2/pk-task-wrapper.h
+++ b/lib/packagekit-glib2/pk-task-wrapper.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __PK_TASK_WRAPPER_H
diff --git a/lib/packagekit-glib2/pk-task.c b/lib/packagekit-glib2/pk-task.c
index c2fa44d..bd4755a 100644
--- a/lib/packagekit-glib2/pk-task.c
+++ b/lib/packagekit-glib2/pk-task.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-task.h b/lib/packagekit-glib2/pk-task.h
index 16f36df..14371e3 100644
--- a/lib/packagekit-glib2/pk-task.h
+++ b/lib/packagekit-glib2/pk-task.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-transaction-list.c b/lib/packagekit-glib2/pk-transaction-list.c
index 47b8edb..f6b14d7 100644
--- a/lib/packagekit-glib2/pk-transaction-list.c
+++ b/lib/packagekit-glib2/pk-transaction-list.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-transaction-list.h b/lib/packagekit-glib2/pk-transaction-list.h
index b1990f0..4e2a78d 100644
--- a/lib/packagekit-glib2/pk-transaction-list.h
+++ b/lib/packagekit-glib2/pk-transaction-list.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2007-2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-transaction-past.c b/lib/packagekit-glib2/pk-transaction-past.c
index a680e25..9b19eef 100644
--- a/lib/packagekit-glib2/pk-transaction-past.c
+++ b/lib/packagekit-glib2/pk-transaction-past.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-transaction-past.h b/lib/packagekit-glib2/pk-transaction-past.h
index a9a9518..fcec8a5 100644
--- a/lib/packagekit-glib2/pk-transaction-past.h
+++ b/lib/packagekit-glib2/pk-transaction-past.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
diff --git a/lib/packagekit-glib2/pk-update-detail.c b/lib/packagekit-glib2/pk-update-detail.c
index ab80a69..9fa66fd 100644
--- a/lib/packagekit-glib2/pk-update-detail.c
+++ b/lib/packagekit-glib2/pk-update-detail.c
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
diff --git a/lib/packagekit-glib2/pk-update-detail.h b/lib/packagekit-glib2/pk-update-detail.h
index d1f01b9..025090f 100644
--- a/lib/packagekit-glib2/pk-update-detail.h
+++ b/lib/packagekit-glib2/pk-update-detail.h
@@ -2,21 +2,21 @@
*
* Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
*
- * Licensed under the GNU General Public License Version 2
+ * Licensed under the GNU Lesser General Public License Version 2.1
*
- * 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 library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * This library 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if !defined (__PACKAGEKIT_H_INSIDE__) && !defined (PK_COMPILATION)
commit 0e8e984dff58fcb8ee073fc9f9e7d3b997123590
Author: zerng07 <zerng07 at fedoraproject.org>
Date: Thu Jun 3 14:47:30 2010 +0000
l10n: Updates to Chinese (Taiwan) (zh_TW) translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/po/zh_TW.po b/po/zh_TW.po
index b7d3a2c..f47283f 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: packagekit.master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-04 11:16+0000\n"
-"PO-Revision-Date: 2010-05-05 18:03+0800\n"
+"PO-Revision-Date: 2010-06-03 22:44+0800\n"
"Last-Translator: Cheng-Chia Tseng <pswo10680 at gmail.com>\n"
"Language-Team: chinese-l10n at googlegroups.com\n"
"MIME-Version: 1.0\n"
@@ -201,7 +201,7 @@ msgstr "çæ
"
#. TRANSLATORS: details about the update, date the update was issued
#: ../client/pk-console.c:386
msgid "Issued"
-msgstr "å·²ç¼ä½ç"
+msgstr "å·²ç¼ä½"
#. TRANSLATORS: details about the update, date the update was updated
#. TRANSLATORS: The action of the package, in past tense
@@ -233,12 +233,12 @@ msgstr "éè¦éæ°ååä½æ¥é段ï¼"
#. TRANSLATORS: a package requires the system to be restarted due to a security update
#: ../client/pk-console.c:467
msgid "System restart (security) required by:"
-msgstr "系統éæ°åå(å®å
¨æ§)被æ¤éæ±ï¼"
+msgstr "系統éæ°åå (å®å
¨æ§) 被æ¤éæ±ï¼"
#. TRANSLATORS: a package requires the session to be restarted due to a security update
#: ../client/pk-console.c:470
msgid "Session restart (security) required:"
-msgstr "éè¦éæ°åå(å®å
¨æ§)ä½æ¥é段ï¼"
+msgstr "éè¦éæ°åå (å®å
¨æ§) ä½æ¥é段ï¼"
#. TRANSLATORS: a package requires the application to be restarted
#: ../client/pk-console.c:473
@@ -414,7 +414,7 @@ msgstr "使ç¨éç½®çç¶²è·¯é »å¯¬èè¼å°çè½æºä¾å·è¡æ令"
#. TRANSLATORS: command line argument, just output without fancy formatting
#: ../client/pk-console.c:1286
msgid "Print to screen a machine readable output, rather than using animated widgets"
-msgstr "å°æ©å¨å¯è®ç輸åºåå°å°ç«é¢ï¼èä¸æ¯ä½¿ç¨åç«çå°å·¥å
·"
+msgstr "å°æ©å¨å¯è®ç輸åºåå°å°ç«é¢ï¼èä¸æ¯ä½¿ç¨åç«åçå°å·¥å
·"
#. TRANSLATORS: we failed to contact the daemon
#: ../client/pk-console.c:1308
@@ -472,7 +472,7 @@ msgstr "éè¦æå®ä¸åé¡åãkey_id 以å package_id"
#. TRANSLATORS: the user did not specify what they wanted to remove
#: ../client/pk-console.c:1503
msgid "A package name to remove is required"
-msgstr "éè¦æ³ç§»é¤çå¥ä»¶å稱"
+msgstr "éè¦æè¦ç§»é¤çå¥ä»¶å稱"
#. TRANSLATORS: the user did not specify anything about what to download or where
#: ../client/pk-console.c:1512
@@ -487,7 +487,7 @@ msgstr "æ¾ä¸å°ç®é"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
#: ../client/pk-console.c:1528
msgid "A licence identifier (eula-id) is required"
-msgstr "éè¦æå®ä¸åææ¬åç´çæ¨ç¤ºç¬¦èï¼eula-idï¼"
+msgstr "éè¦æå®ä¸åææ¬åç´ç辨è符è (eula-id)"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
#: ../client/pk-console.c:1539
@@ -497,13 +497,13 @@ msgstr "éè¦èçäºé
èå¥ç¬¦ (tid)"
#. TRANSLATORS: The user did not specify a package name
#: ../client/pk-console.c:1560
msgid "A package name to resolve is required"
-msgstr "éè¦æ¬²è§£æçå¥ä»¶ä¹å稱"
+msgstr "éè¦æå®æ³è§£æå¥ä»¶çå稱"
#. TRANSLATORS: The user did not specify a repository (software source) name
#: ../client/pk-console.c:1571
#: ../client/pk-console.c:1582
msgid "A repository name is required"
-msgstr "éè¦å¥ä»¶åº«çå稱"
+msgstr "éè¦æå®å¥ä»¶åº«å稱"
#. TRANSLATORS: The user didn't provide any data
#: ../client/pk-console.c:1593
@@ -518,7 +518,7 @@ msgstr "éè¦æå®ä¸é
åä½ï¼ä¾å¦ï¼ãupdate-systemã"
#. TRANSLATORS: The user specified an invalid action
#: ../client/pk-console.c:1617
msgid "A correct role is required"
-msgstr "éè¦æ£ç¢ºçä»»å"
+msgstr "éè¦æå®æ£ç¢ºçä»»å"
#. TRANSLATORS: The user did not provide a package name
#. TRANSLATORS: This is when the user fails to supply the package name
@@ -529,18 +529,18 @@ msgstr "éè¦æ£ç¢ºçä»»å"
#: ../client/pk-console.c:1680
#: ../client/pk-generate-pack.c:316
msgid "A package name is required"
-msgstr "éè¦å¥ä»¶å稱"
+msgstr "éè¦æä¾å¥ä»¶å稱"
#. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
#: ../client/pk-console.c:1660
msgid "A package provide string is required"
-msgstr "éè¦å¥ä»¶çæä¾å串"
+msgstr "éè¦æå®å¥ä»¶æä¾å串"
#. TRANSLATORS: The user tried to use an unsupported option on the command line
#: ../client/pk-console.c:1740
#, c-format
msgid "Option '%s' is not supported"
-msgstr "ã%sãé¸é
ä¸è¢«æ¯æ´"
+msgstr "ä¸æ¯æ´ '%s' é¸é
"
#. TRANSLATORS: Generic failure of what they asked to do
#: ../client/pk-console.c:1750
@@ -555,7 +555,7 @@ msgstr "è¨å®è¦æé¤çç¸ä¾æªå"
#. TRANSLATORS: the output location
#: ../client/pk-generate-pack.c:258
msgid "The output file or directory (the current directory is used if omitted)"
-msgstr "輸åºæªæç®éï¼è¥çç¥ç話æ使ç¨ç®åçç®éï¼"
+msgstr "輸åºæªæç®é (è¥çç¥ç話æ使ç¨ç®åçç®é)"
#. TRANSLATORS: put a list of packages in the pack
#: ../client/pk-generate-pack.c:261
@@ -723,7 +723,7 @@ msgstr "æ£å¨ä¸è¼éæ¼è»é«ä¾æºç詳細è³æã"
#. TRANSLATORS: downloading file lists so we can search
#: ../contrib/command-not-found/pk-command-not-found.c:370
msgid "Downloading filelists (this may take some time to complete)."
-msgstr "æ£å¨ä¸è¼æªæ¡æ¸
å®ï¼éæè±ä¸ä¸æ®µæéæè½å®æï¼ã"
+msgstr "æ£å¨ä¸è¼æªæ¡æ¸
å® (éæè±ä¸ä¸æ®µæéæè½å®æ)ã"
#. TRANSLATORS: waiting for native lock
#: ../contrib/command-not-found/pk-command-not-found.c:374
@@ -1316,7 +1316,7 @@ msgstr "ä¸è¬"
#. TRANSLATORS: The type of update
#: ../lib/packagekit-glib2/pk-console-shared.c:421
msgid "Important"
-msgstr "é大"
+msgstr "éè¦"
#. TRANSLATORS: The type of update
#: ../lib/packagekit-glib2/pk-console-shared.c:425
@@ -1343,7 +1343,7 @@ msgstr "å·²é»æ"
#: ../lib/packagekit-glib2/pk-console-shared.c:442
#: ../lib/packagekit-glib2/pk-console-shared.c:515
msgid "Installed"
-msgstr "å·²å®è£ç"
+msgstr "å·²å®è£"
#. TRANSLATORS: The state of a package, i.e. not installed
#: ../lib/packagekit-glib2/pk-console-shared.c:447
@@ -1663,12 +1663,12 @@ msgstr "æå"
#. TRANSLATORS: ask the user to insert the media
#: ../lib/packagekit-glib2/pk-task-text.c:282
msgid "Please insert the correct media"
-msgstr "è«æå
¥æ£ç¢ºçåªé«"
+msgstr "è«æå
¥æ£ç¢ºåªé«"
#. TRANSLATORS: tell the user we've not done anything as they are lazy
#: ../lib/packagekit-glib2/pk-task-text.c:287
msgid "The correct media was not inserted."
-msgstr "æ²ææå
¥æ£ç¢ºçåªé«ã"
+msgstr "æ²ææå
¥æ£ç¢ºåªé«ã"
#. TRANSLATORS: When processing, we might have to remove other dependencies
#: ../lib/packagekit-glib2/pk-task-text.c:302
@@ -1703,7 +1703,7 @@ msgstr "è¦èçè®æ´åï¼"
#. TRANSLATORS: tell the user we didn't do anything
#: ../lib/packagekit-glib2/pk-task-text.c:387
msgid "The transaction did not proceed."
-msgstr "éåèçäºé
æ²æé²è¡ã"
+msgstr "該èçäºé
æ²æå·è¡ã"
#. SECURITY:
#. - Normal users do not require admin authentication to accept new
@@ -1774,7 +1774,7 @@ msgstr "è¦æ´æ°å¥ä»¶éå
ç¶é身份èªè"
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:26
msgid "Cancel foreign task"
-msgstr "åæ¶å¤ä¾çå·¥ä½"
+msgstr "åæ¶å¤ä¾å·¥ä½"
#. SECURITY:
#. - This is used when users want to install to a different prefix, for
@@ -1898,7 +1898,7 @@ msgstr "éå¯è½æå
©ç¨®åå ï¼"
#. TRANSLATORS: only allowed to be owned by root
#: ../src/pk-main.c:91
msgid "The correct user is not launching the executable (usually root)"
-msgstr "æ£ç¢ºç使ç¨è
ï¼ä¸è¬çº rootï¼æ²æååå¯å·è¡æª"
+msgstr "æ£ç¢ºç使ç¨è
(ä¸è¬çº root) æ²æååå¯å·è¡æª"
#. TRANSLATORS: or we are installed in a prefix
#: ../src/pk-main.c:93
commit de478bc3df00b3dd09cd1047a078f1227bf1008f
Author: khasida <khasida at fedoraproject.org>
Date: Thu Jun 3 03:16:41 2010 +0000
l10n: Updates to Japanese (ja) translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/po/ja.po b/po/ja.po
index 0829490..e99bb9d 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -4,132 +4,133 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Hyu_gabaru Ryu_ichi <hyu_gabaru at yahoo.co.jp>, 2009.
-# Kiyoto Hashida <khashida at redhat.com>, 2009.
+# Kiyoto Hashida <khashida at redhat.com>, 2009, 2010.
msgid ""
msgstr ""
"Project-Id-Version: ja\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-10 02:27+0000\n"
-"PO-Revision-Date: 2009-12-10 17:05+0900\n"
+"POT-Creation-Date: 2010-06-02 22:36+0000\n"
+"PO-Revision-Date: 2010-06-03 11:32+0900\n"
"Last-Translator: Kiyoto Hashida <khashida at redhat.com>\n"
"Language-Team: Japanese <jp at li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: Plural-Forms: nplurals=1; plural=0;\n\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"\n"
"X-Generator: KBabel 1.11.4\n"
#. TRANSLATORS: this is an atomic transaction
#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
-#: ../client/pk-console.c:175 ../client/pk-console.c:597
+#: ../client/pk-console.c:176 ../client/pk-console.c:598
msgid "Transaction"
msgstr "ãã©ã³ã¶ã¯ã·ã§ã³"
#. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:177
+#: ../client/pk-console.c:178
msgid "System time"
msgstr "ã·ã¹ãã æå»"
#. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:179
+#: ../client/pk-console.c:180
msgid "Succeeded"
msgstr "æå"
-#: ../client/pk-console.c:179
+#: ../client/pk-console.c:180
msgid "True"
msgstr "ç"
-#: ../client/pk-console.c:179
+#: ../client/pk-console.c:180
msgid "False"
msgstr "å½"
#. TRANSLATORS: this is the transactions role, e.g. "update-system"
#. TRANSLATORS: the trasaction role, e.g. update-system
-#: ../client/pk-console.c:181 ../src/pk-polkit-action-lookup.c:332
+#: ../client/pk-console.c:182 ../src/pk-polkit-action-lookup.c:332
msgid "Role"
msgstr "ãã¼ã«"
#. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:186
+#: ../client/pk-console.c:187
msgid "Duration"
msgstr "æé"
-#: ../client/pk-console.c:186
+#: ../client/pk-console.c:187
msgid "(seconds)"
msgstr "(ç§)"
#. TRANSLATORS: this is The command line used to do the action
#. TRANSLATORS: the command line of the thing that wants the authentication
-#: ../client/pk-console.c:190 ../src/pk-polkit-action-lookup.c:346
+#: ../client/pk-console.c:191 ../src/pk-polkit-action-lookup.c:346
msgid "Command line"
msgstr "ã³ãã³ãã©ã¤ã³"
#. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:192
+#: ../client/pk-console.c:193
msgid "User ID"
msgstr "å©ç¨è
ID"
#. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:199
+#: ../client/pk-console.c:200
msgid "Username"
msgstr "å©ç¨è
å"
#. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:203
+#: ../client/pk-console.c:204
msgid "Real name"
msgstr "å®å"
-#: ../client/pk-console.c:211
+#: ../client/pk-console.c:212
msgid "Affected packages:"
msgstr "å½±é¿ãããããã±ã¼ã¸:"
-#: ../client/pk-console.c:213
+#: ../client/pk-console.c:214
msgid "Affected packages: None"
msgstr "å½±é¿ãããããã±ã¼ã¸: ãªã"
#. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:248
+#: ../client/pk-console.c:249
msgid "Distribution"
msgstr "é
å¸ç©"
#. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:250
+#: ../client/pk-console.c:251
msgid "Type"
msgstr "ã¿ã¤ã"
#. TRANSLATORS: this is any summary text describing the upgrade
#. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:252 ../client/pk-console.c:291
+#: ../client/pk-console.c:253 ../client/pk-console.c:292
msgid "Summary"
msgstr "æ¦è¦"
#. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:280
+#: ../client/pk-console.c:281
msgid "Category"
msgstr "åºå"
#. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:282
+#: ../client/pk-console.c:283
msgid "ID"
msgstr "ID"
#. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:285
+#: ../client/pk-console.c:286
msgid "Parent"
msgstr "親"
#. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:288
+#: ../client/pk-console.c:289
msgid "Name"
msgstr "åå"
#. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:294
+#: ../client/pk-console.c:295
msgid "Icon"
msgstr "ã¢ã¤ã³ã³"
#. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:340
+#: ../client/pk-console.c:341
msgid "Details about the update:"
msgstr "æ´æ°ã®è©³ç´°:"
@@ -138,170 +139,175 @@ msgstr "æ´æ°ã®è©³ç´°:"
#. TRANSLATORS: the package that is not signed by a known key
#. TRANSLATORS: the package name that was trying to be installed
#. TRANSLATORS: title, the names of the packages that the method is processing
-#: ../client/pk-console.c:346 ../client/pk-console.c:616
+#: ../client/pk-console.c:347 ../client/pk-console.c:617
#: ../lib/packagekit-glib2/pk-task-text.c:126
#: ../lib/packagekit-glib2/pk-task-text.c:208
#: ../src/pk-polkit-action-lookup.c:357
msgid "Package"
msgid_plural "Packages"
-msgstr[0] "ããã±ã¼ã¸"
+msgstr[0] "ããã±ã¼ã¸ "
+msgstr[1] "ããã±ã¼ã¸é "
#. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:349
+#: ../client/pk-console.c:350
msgid "Updates"
msgstr "æ´æ°"
#. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:353
+#: ../client/pk-console.c:354
msgid "Obsoletes"
msgstr "æ§ç"
#. TRANSLATORS: details about the update, the vendor URLs
#. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:357 ../lib/packagekit-glib2/pk-task-text.c:211
+#: ../client/pk-console.c:358 ../lib/packagekit-glib2/pk-task-text.c:211
msgid "Vendor"
msgstr "ä¾çµ¦å
"
#. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:361
+#: ../client/pk-console.c:362
msgid "Bugzilla"
msgstr "Bugzilla"
#. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:365
+#: ../client/pk-console.c:366
msgid "CVE"
msgstr "CVE"
#. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:369
+#: ../client/pk-console.c:370
msgid "Restart"
msgstr "åã¹ã¿ã¼ã"
#. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:373
+#: ../client/pk-console.c:374
msgid "Update text"
msgstr "æ´æ°ããã¹ã"
#. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:377
+#: ../client/pk-console.c:378
msgid "Changes"
msgstr "å¤æ´"
#. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:381
+#: ../client/pk-console.c:382
msgid "State"
msgstr "ç¶æ
"
#. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:385
+#: ../client/pk-console.c:386
msgid "Issued"
msgstr "çºè¡æ¸"
#. TRANSLATORS: details about the update, date the update was updated
#. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:389 ../lib/packagekit-glib2/pk-console-shared.c:510
+#: ../client/pk-console.c:390 ../lib/packagekit-glib2/pk-console-shared.c:517
msgid "Updated"
msgstr "æ´æ°æ¸"
#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:425
+#: ../client/pk-console.c:426
msgid "Enabled"
msgstr "æå¹"
#. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:428
+#: ../client/pk-console.c:429
msgid "Disabled"
msgstr "ç¡å¹"
#. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:460
+#: ../client/pk-console.c:461
msgid "System restart required by:"
msgstr "以ä¸ã«ããã·ã¹ãã ã®åèµ·åãå¿
è¦ã§ã:"
#. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:463
+#: ../client/pk-console.c:464
msgid "Session restart required:"
msgstr "ã»ãã·ã§ã³ã®åèµ·åãå¿
è¦ã§ã:"
#. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:466
+#: ../client/pk-console.c:467
msgid "System restart (security) required by:"
msgstr "以ä¸ã«ããã·ã¹ãã åèµ·å (ã»ãã¥ãªãã£ã¼) ãå¿
è¦ã§ã:"
#. TRANSLATORS: a package requires the session to be restarted due to a security update
-#: ../client/pk-console.c:469
+#: ../client/pk-console.c:470
msgid "Session restart (security) required:"
msgstr "ã»ãã·ã§ã³åèµ·å (ã»ãã¥ãªãã£ã¼) ãå¿
è¦:"
#. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:472
+#: ../client/pk-console.c:473
msgid "Application restart required by:"
msgstr "以ä¸ã«ããã¢ããªã±ã¼ã·ã§ã³ã®åèµ·åãå¿
è¦:"
#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:507
+#: ../client/pk-console.c:508
msgid "Package description"
msgstr "ããã±ã¼ã¸ã®èª¬æ"
#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:538
+#: ../client/pk-console.c:539
msgid "Message:"
msgstr "ã¡ãã»ã¼ã¸:"
#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:559
+#: ../client/pk-console.c:560
msgid "No files"
msgstr "ãã¡ã¤ã«ãªã"
#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:564
+#: ../client/pk-console.c:565
msgid "Package files"
msgstr "ããã±ã¼ã¸ãã¡ã¤ã«"
#. TRANSLATORS: the percentage complete of the transaction
-#: ../client/pk-console.c:632
+#: ../client/pk-console.c:633
msgid "Percentage"
msgstr "ãã¼ã»ã³ãã¼ã¸"
#. TRANSLATORS: the status of the transaction (e.g. downloading)
-#: ../client/pk-console.c:650
+#: ../client/pk-console.c:651
msgid "Status"
msgstr "ç¶æ
"
#. TRANSLATORS: the results from the transaction
-#: ../client/pk-console.c:678
+#: ../client/pk-console.c:680
msgid "Results:"
msgstr "çµæ:"
#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:685
+#: ../client/pk-console.c:687
msgid "Fatal error"
msgstr "é大ãªã¨ã©ã¼"
#. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:694
-#: ../contrib/command-not-found/pk-command-not-found.c:432
-#: ../contrib/command-not-found/pk-command-not-found.c:603
+#: ../client/pk-console.c:696
+#: ../contrib/command-not-found/pk-command-not-found.c:433
+#: ../contrib/command-not-found/pk-command-not-found.c:606
msgid "The transaction failed"
msgstr "ãã©ã³ã¶ã¯ã·ã§ã³ã失æ"
#. TRANSLATORS: print a message when there are no updates
-#: ../client/pk-console.c:721
+#: ../client/pk-console.c:727
msgid "There are no updates available at this time."
msgstr "ç¾æç¹ã§ã¯å©ç¨å¯è½ãªæ´æ°ã¯ããã¾ããã"
+#: ../client/pk-console.c:750
+msgid "There are no upgrades available at this time."
+msgstr "ç¾æç¹ã§ã¯å©ç¨å¯è½ãªã¢ããã°ã¬ã¼ãã¯ããã¾ããã"
+
#. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:808
+#: ../client/pk-console.c:817
msgid "Please restart the computer to complete the update."
msgstr "æ´æ°ãå®äºããããã«ã³ã³ãã¥ã¼ã¿ã¼ãåèµ·åãã¦ãã ããã"
#. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:811
+#: ../client/pk-console.c:820
msgid "Please logout and login to complete the update."
msgstr "æ´æ°ãå®äºããããã«ãã°ã¢ã¦ããããã°ã¤ã³ãã¦ãã ããã"
#. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:814
+#: ../client/pk-console.c:823
msgid ""
"Please restart the computer to complete the update as important security "
"updates have been installed."
@@ -310,7 +316,7 @@ msgstr ""
"ãã¥ã¼ã¿ã¼ãåèµ·åãã¦ãã ããã"
#. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:817
+#: ../client/pk-console.c:826
msgid ""
"Please logout and login to complete the update as important security updates "
"have been installed."
@@ -318,20 +324,30 @@ msgstr ""
"é大ãªã»ãã¥ãªãã£ã¼æ´æ°ãã¤ã³ã¹ãã¼ã«ãããã®ã§ãæ´æ°ãå®äºããããã«ãã°ã¢"
"ã¦ãã¨ãã°ã¤ã³ãè¡ã£ã¦ä¸ããã"
+#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
+#: ../client/pk-console.c:852
+#, c-format
+msgid ""
+"Expected package name, actually got file. Try using 'pkcon install-local %s' "
+"instead."
+msgstr ""
+"äºæãããããã±ã¼ã¸åã¯å®éã«ã¯ãã¡ã¤ã«ãæã¡ã¾ãã代ããã« 'pkcon install-local %s' ã "
+"試ãã¦ä¸ããã"
+
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:840
+#: ../client/pk-console.c:860
#, c-format
msgid "This tool could not find any available package: %s"
msgstr "ãã®ãã¼ã«ã§ã¯åãæ±ããããã±ã¼ã¸ãè¦ã¤ãããã¾ãã: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:868
+#: ../client/pk-console.c:888
#, c-format
msgid "This tool could not find the installed package: %s"
msgstr "ãã®ãã¼ã«ã§ã¯ã¤ã³ã¹ãã¼ã«ãããããã±ã¼ã¸ãè¦ã¤ãããã¾ãã: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:896 ../client/pk-console.c:924
+#: ../client/pk-console.c:916 ../client/pk-console.c:944
#, c-format
msgid "This tool could not find the package: %s"
msgstr "ãã®ãã¼ã«ã§ã¯ããã±ã¼ã¸ãè¦ã¤ãããã¾ãã: %s"
@@ -340,227 +356,242 @@ msgstr "ãã®ãã¼ã«ã§ã¯ããã±ã¼ã¸ãè¦ã¤ãããã¾ãã: %s"
#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:952 ../client/pk-console.c:980
-#: ../client/pk-console.c:1008 ../client/pk-console.c:1036
-#: ../client/pk-console.c:1064
+#: ../client/pk-console.c:972 ../client/pk-console.c:1000
+#: ../client/pk-console.c:1028 ../client/pk-console.c:1056
+#: ../client/pk-console.c:1084
#, c-format
msgid "This tool could not find all the packages: %s"
msgstr "ãã®ãã¼ã«ã§ã¯å
¨ããã±ã¼ã¸ãè¦ã¤ãããã¾ãã: %s"
#. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1093
+#: ../client/pk-console.c:1113
msgid "The daemon crashed mid-transaction!"
msgstr "ãã©ã³ã¶ã¯ã·ã§ã³ä¸ã«ãã¼ã¢ã³ãã¯ã©ãã·ã¥ãã¾ãã!"
#. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1127
+#: ../client/pk-console.c:1147
msgid "PackageKit Console Interface"
msgstr "PackageKit ã³ã³ã½ã¼ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹"
#. these are commands we can use with pkcon
-#: ../client/pk-console.c:1129
+#: ../client/pk-console.c:1149
msgid "Subcommands:"
msgstr "ãµãã³ãã³ã:"
#. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:1208
+#: ../client/pk-console.c:1228
msgid "Failed to get the time since this action was last completed"
msgstr "ãã®ã¢ã¯ã·ã§ã³ã¯ç´åã«å®äºãããã®ã ã£ãã®ã§ãæå»ãå¾ãã®ã«å¤±æãã¾ãã"
#. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1244 ../client/pk-monitor.c:280
+#: ../client/pk-console.c:1268 ../client/pk-monitor.c:356
msgid "Show the program version and exit"
msgstr "ããã°ã©ã ã®ãã¼ã¸ã§ã³ã表示ãã¦çµäº"
#. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1247
+#: ../client/pk-console.c:1271
msgid "Set the filter, e.g. installed"
msgstr "ã¤ã³ã¹ãã¼ã«æ¸ãªã©ã®ãã£ã«ã¿ã¼ãè¨å®"
+#. TRANSLATORS: command line argument, use a non-standard install prefix
+#: ../client/pk-console.c:1274
+msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
+msgstr "ã¤ã³ã¹ãã¼ã« root ãã»ãããã¾ããä¾ã'/' å㯠'/mnt/ltsp'"
+
#. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1250
+#: ../client/pk-console.c:1277
msgid "Exit without waiting for actions to complete"
msgstr "ã¢ã¯ã·ã§ã³ãå®äºããã®ãå¾
ããã«çµäº"
#. command line argument, do we ask questions
-#: ../client/pk-console.c:1253
+#: ../client/pk-console.c:1280
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
msgid "Install the packages without asking for confirmation"
msgstr "確èªãè¦æ±ããã«ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«"
#. TRANSLATORS: command line argument, this command is not a priority
-#: ../client/pk-console.c:1256
+#: ../client/pk-console.c:1283
msgid "Run the command using idle network bandwidth and also using less power"
msgstr "éä¼ã®ãããã¯ã¼ã¯ãã³ãå¹
ã¨ããå°ãªãé»åã使ç¨ãã¦ã³ãã³ããå®è¡"
#. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1259
+#: ../client/pk-console.c:1286
msgid "Print to screen a machine readable output, rather than using animated widgets"
msgstr "åç»ã®ã¦ã£ã¸ã§ããã®ä½¿ç¨ã§ã¯ãªãããã·ã³å¯èªã®åºåãç»é¢ã«è¡¨ç¤º"
#. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1281
+#: ../client/pk-console.c:1308
msgid "Failed to contact PackageKit"
msgstr "PackageKit ã¸ã®æ¥è§¦ã«å¤±æ"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1339
+#: ../client/pk-console.c:1369
+msgid "The proxy could not be set"
+msgstr "ãããã·ãã»ããåºæ¥ã¾ããã§ãã"
+
+#. TRANSLATORS: The user specified an incorrect filter
+#: ../client/pk-console.c:1381
+msgid "The install root could not be set"
+msgstr "ã¤ã³ã¹ãã¼ã« root ãã»ããåºæ¥ã¾ããã§ãã"
+
+#. TRANSLATORS: The user specified an incorrect filter
+#: ../client/pk-console.c:1393
msgid "The filter specified was invalid"
msgstr "æå®ããããã£ã«ã¿ã¼ã¯ç¡å¹ã§ã"
#. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1358
+#: ../client/pk-console.c:1412
msgid "A search type is required, e.g. name"
msgstr "ååã®ãããªãæ¤ç´¢ã¿ã¤ããå¿
è¦ã§ã"
#. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1365 ../client/pk-console.c:1377
-#: ../client/pk-console.c:1389 ../client/pk-console.c:1401
+#: ../client/pk-console.c:1419 ../client/pk-console.c:1431
+#: ../client/pk-console.c:1443 ../client/pk-console.c:1455
msgid "A search term is required"
msgstr "æ¤ç´¢èªãå¿
è¦ã§ã"
#. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1411
+#: ../client/pk-console.c:1465
msgid "Invalid search type"
msgstr "ä¸å½ãªæ¤ç´¢ã¿ã¤ã"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1417
+#: ../client/pk-console.c:1471
msgid "A package name to install is required"
msgstr "ã¤ã³ã¹ãã¼ã«ããããã±ã¼ã¸åãå¿
è¦ã§ã"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1426
+#: ../client/pk-console.c:1480
msgid "A filename to install is required"
msgstr "ã¤ã³ã¹ãã¼ã«ãããã¡ã¤ã«åãå¿
è¦ã§ã"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1438
+#: ../client/pk-console.c:1492
msgid "A type, key_id and package_id are required"
msgstr "ã¿ã¤ãã¨ããã¼ idãããã±ã¼ã¸ id ãå¿
è¦ã§ã"
#. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1449
+#: ../client/pk-console.c:1503
msgid "A package name to remove is required"
msgstr "åé¤ããããã±ã¼ã¸åãå¿
è¦ã§ã"
#. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1458
+#: ../client/pk-console.c:1512
msgid "A destination directory and the package names to download are required"
msgstr "ãã¦ã³ãã¼ãããå®å
ãã£ã¬ã¯ããªã¼ã¨ããã±ã¼ã¸åãå¿
è¦ã§ã"
#. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1465
+#: ../client/pk-console.c:1519
msgid "Directory not found"
msgstr "ãã£ã¬ã¯ããªã¼ãè¦ã¤ããã¾ãã"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1474
+#: ../client/pk-console.c:1528
msgid "A licence identifier (eula-id) is required"
msgstr "ã©ã¤ã»ã³ã¹ ID (eula-id) ãå¿
è¦ã§ã"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1485
+#: ../client/pk-console.c:1539
msgid "A transaction identifier (tid) is required"
msgstr "ãã©ã³ã¶ã¯ã·ã§ã³ ID (tid) ãå¿
è¦ã§ã "
#. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1506
+#: ../client/pk-console.c:1560
msgid "A package name to resolve is required"
msgstr "åé¤ããããã±ã¼ã¸åãå¿
è¦ã§ã"
#. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1517 ../client/pk-console.c:1528
+#: ../client/pk-console.c:1571 ../client/pk-console.c:1582
msgid "A repository name is required"
msgstr "ãªãã¸ããªã¼åãå¿
è¦ã§ã"
#. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1539
+#: ../client/pk-console.c:1593
msgid "A repo name, parameter and value are required"
msgstr "ãªãã¸ããªã¼åã¨ããã©ã¡ã¼ã¿ã¼ãå¤ãå¿
è¦ã§ã"
#. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1556
+#: ../client/pk-console.c:1610
msgid "An action, e.g. 'update-system' is required"
msgstr "'update-system' ã®ãããªã¢ã¯ã·ã§ã³ãå¿
è¦ã§ã"
#. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1563
+#: ../client/pk-console.c:1617
msgid "A correct role is required"
msgstr "æ£ãããã¼ã«ãå¿
è¦ã§ã"
#. TRANSLATORS: The user did not provide a package name
#. TRANSLATORS: This is when the user fails to supply the package name
-#: ../client/pk-console.c:1573 ../client/pk-console.c:1588
-#: ../client/pk-console.c:1597 ../client/pk-console.c:1617
-#: ../client/pk-console.c:1626 ../client/pk-generate-pack.c:298
+#: ../client/pk-console.c:1627 ../client/pk-console.c:1642
+#: ../client/pk-console.c:1651 ../client/pk-console.c:1671
+#: ../client/pk-console.c:1680 ../client/pk-generate-pack.c:316
msgid "A package name is required"
msgstr "ããã±ã¼ã¸åãå¿
è¦ã§ã"
#. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:1606
+#: ../client/pk-console.c:1660
msgid "A package provide string is required"
msgstr "ããã±ã¼ã¸ã®æä¾ããæååãå¿
è¦ã§ã"
#. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:1686
+#: ../client/pk-console.c:1741
#, c-format
msgid "Option '%s' is not supported"
msgstr "ãªãã·ã§ã³ '%s' ã¯ãµãã¼ãããã¦ãã¾ãã"
#. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1696
+#: ../client/pk-console.c:1751
msgid "Command failed"
msgstr "ã³ãã³ã失æ"
#. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
-#: ../client/pk-generate-pack.c:237
+#: ../client/pk-generate-pack.c:255
msgid "Set the file name of dependencies to be excluded"
msgstr "ä¾åã®ãããã¡ã¤ã«åã¯é¤ãããããã«è¨å®ãã"
#. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:240
-msgid "The output file or directory (the current directory is used if ommitted)"
-msgstr "åºåãã¡ã¤ã«ãããã£ã¬ã¯ããªã¼ (çç¥ããã¨ç¾å¨ã®ãã£ã¬ã¯ããªã¼)"
+#: ../client/pk-generate-pack.c:258
+msgid "The output file or directory (the current directory is used if omitted)"
+msgstr "åºåãã¡ã¤ã«ãããã£ã¬ã¯ããªã¼ (çç¥ããã¨ç¾å¨ã®ãã£ã¬ã¯ããªã¼ã使ç¨)"
#. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:243
+#: ../client/pk-generate-pack.c:261
msgid "The package to be put into the service pack"
msgstr "ãµã¼ãã¹ããã¯ã«å
¥ããããããã±ã¼ã¸"
#. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:246
+#: ../client/pk-generate-pack.c:264
msgid "Put all updates available in the service pack"
msgstr "å©ç¨å¯è½ãªå
¨ã¦ã®æ´æ°ããµã¼ãã¹ããã¯ã«å
¥ãã"
#. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:282
+#: ../client/pk-generate-pack.c:300
msgid "Neither --package or --updates option selected."
msgstr "--package ãªãã·ã§ã³ã --updates ãªãã·ã§ã³ãé¸æããã¦ãã¾ããã"
#. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:290
+#: ../client/pk-generate-pack.c:308
msgid "Both options selected."
msgstr "両æ¹ã®ãªãã·ã§ã³ãé¸æããã¾ããã"
#. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:306
+#: ../client/pk-generate-pack.c:324
msgid "A output directory or file name is required"
msgstr "åºåãã£ã¬ã¯ããªã¼ããã¡ã¤ã«åãå¿
è¦ã§ã"
-#. TRANSLATORS: This is when the dameon is not-installed/broken and fails to startup
-#: ../client/pk-generate-pack.c:324
-msgid "The dameon failed to startup"
+#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to startup
+#: ../client/pk-generate-pack.c:342
+msgid "The daemon failed to startup"
msgstr "ãã¼ã¢ã³ã®èµ·åã«å¤±æãã¾ãã"
#. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
#. TRANSLATORS: This is when the backend doesn't have the capability to download
-#: ../client/pk-generate-pack.c:335 ../client/pk-generate-pack.c:341
+#: ../client/pk-generate-pack.c:353 ../client/pk-generate-pack.c:359
msgid "The package manager cannot perform this type of operation."
msgstr "ããã±ã¼ã¸ããã¼ã¸ã£ã¼ã¯ãã®ç¨®ã®æä½ã¯ã§ãã¾ããã"
#. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:348
+#: ../client/pk-generate-pack.c:366
msgid ""
"Service packs cannot be created as PackageKit was not built with libarchive "
"support."
@@ -569,158 +600,158 @@ msgstr ""
"ã¾ããã"
#. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:359
+#: ../client/pk-generate-pack.c:377
msgid "If specifying a file, the service pack name must end with"
msgstr "ãã¡ã¤ã«ãæå®ããã®ãªãããµã¼ãã¹ããã¯åãããã§çµããå¿
è¦ãããã¾ã"
#. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:375
+#: ../client/pk-generate-pack.c:393
msgid "A pack with the same name already exists, do you want to overwrite it?"
msgstr "åä¸åã®ããã¯ãæ¢ã«ããã¾ãããä¸æ¸ããã¾ãã?"
#. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:378
+#: ../client/pk-generate-pack.c:396
msgid "The pack was not overwritten."
msgstr "ããã¯ã¯ä¸æ¸ãããã¾ããã§ããã"
#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:391
+#: ../client/pk-generate-pack.c:409
msgid "Failed to create directory:"
msgstr "ãã£ã¬ã¯ããªã¼ã®ä½æã«å¤±æãã¾ãã:"
#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:403
+#: ../client/pk-generate-pack.c:421
msgid "Failed to open package list."
msgstr "ããã±ã¼ã¸ä¸è¦§ãéãã®ã«å¤±æãã¾ããã"
#. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:412
+#: ../client/pk-generate-pack.c:430
msgid "Finding package name."
msgstr "ããã±ã¼ã¸åãæ¢ãã¦ãã¾ãã"
#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:416
+#: ../client/pk-generate-pack.c:434
#, c-format
msgid "Failed to find package '%s': %s"
msgstr "ããã±ã¼ã¸ '%s' ã®æç´¢ã«å¤±æãã¾ãã: %s"
#. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:424
+#: ../client/pk-generate-pack.c:442
msgid "Creating service pack..."
msgstr "ãµã¼ãã¹ããã¯ãä½æä¸..."
#. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:439
+#: ../client/pk-generate-pack.c:457
#, c-format
msgid "Service pack created '%s'"
msgstr "ãµã¼ãã¹ãã㯠'%s' ãä½æããã¾ããã"
#. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:444
+#: ../client/pk-generate-pack.c:462
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s' ã®ä½æã«å¤±æãã¾ãã: %s"
-#: ../client/pk-monitor.c:210
+#: ../client/pk-monitor.c:286
msgid "Failed to get daemon state"
msgstr "ãã¼ã¢ã³ã®ç¶æ
ãå¾ãã®ã«å¤±æãã¾ãã"
#. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:296
+#: ../client/pk-monitor.c:372
msgid "PackageKit Monitor"
msgstr "PackageKit ã¢ãã¿ã¼"
#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:495
+#: ../contrib/browser-plugin/pk-plugin-install.c:494
msgid "Getting package information..."
msgstr "ããã±ã¼ã¸ã®æ
å ±ãç²å¾ä¸..."
#. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:501
+#: ../contrib/browser-plugin/pk-plugin-install.c:500
#, c-format
msgid "Run %s"
msgstr "%s å®è¡"
#. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:507
+#: ../contrib/browser-plugin/pk-plugin-install.c:506
msgid "Installed version"
msgstr "ã¤ã³ã¹ãã¼ã«ããããã¼ã¸ã§ã³"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:515
+#: ../contrib/browser-plugin/pk-plugin-install.c:514
#, c-format
msgid "Run version %s now"
msgstr "ãã¼ã¸ã§ã³ %s ãããã«å®è¡"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:521
+#: ../contrib/browser-plugin/pk-plugin-install.c:520
msgid "Run now"
msgstr "ããã«å®è¡"
#. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:527
+#: ../contrib/browser-plugin/pk-plugin-install.c:526
#, c-format
msgid "Update to version %s"
msgstr "ãã¼ã¸ã§ã³ %s ã«æ´æ°"
#. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:533
+#: ../contrib/browser-plugin/pk-plugin-install.c:532
#, c-format
msgid "Install %s now"
msgstr "%s ãããã«ã¤ã³ã¹ãã¼ã«"
#. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:536
+#: ../contrib/browser-plugin/pk-plugin-install.c:535
msgid "Version"
msgstr "ãã¼ã¸ã§ã³"
#. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:541
+#: ../contrib/browser-plugin/pk-plugin-install.c:540
msgid "No packages found for your system"
msgstr "ã¦ã¼ã¶ã¼ã®ã·ã¹ãã ç¨ã®ããã±ã¼ã¸ãè¦ã¤ããã¾ãã"
#. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:546
+#: ../contrib/browser-plugin/pk-plugin-install.c:545
msgid "Installing..."
msgstr "ã¤ã³ã¹ãã¼ã«ä¸..."
#. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:365
+#: ../contrib/command-not-found/pk-command-not-found.c:366
msgid "Downloading details about the software sources."
msgstr "ã½ããã¦ã§ã¢ã½ã¼ã¹ã«ã¤ãã¦ã®è©³ç´°ããã¦ã³ãã¼ãä¸ã"
#. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:369
+#: ../contrib/command-not-found/pk-command-not-found.c:370
msgid "Downloading filelists (this may take some time to complete)."
msgstr "ãã¡ã¤ã«ä¸è¦§ããã¦ã³ãã¼ãä¸ (å®äºã¾ã§æéããããããããã¾ãã)ã"
#. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:373
+#: ../contrib/command-not-found/pk-command-not-found.c:374
msgid "Waiting for package manager lock."
msgstr "ããã±ã¼ã¸ããã¼ã¸ã£ã¼ã®ããã¯ãå¾
ã£ã¦ãã¾ãã"
#. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:377
+#: ../contrib/command-not-found/pk-command-not-found.c:378
msgid "Loading list of packages."
msgstr "ããã±ã¼ã¸ã®ä¸è¦§ããã¼ãä¸ã"
#. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:423
+#: ../contrib/command-not-found/pk-command-not-found.c:424
msgid "Failed to search for file"
msgstr "ãã¡ã¤ã«ã®æ¢ç´¢ã«å¤±æãã¾ãã"
#. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:566
+#: ../contrib/command-not-found/pk-command-not-found.c:569
msgid "Failed to launch:"
msgstr "èµ·åã«å¤±æ:"
#. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:594
+#: ../contrib/command-not-found/pk-command-not-found.c:597
msgid "Failed to install packages"
msgstr "ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ã§ãã¾ãã"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:670
+#: ../contrib/command-not-found/pk-command-not-found.c:673
msgid "PackageKit Command Not Found"
msgstr "PackageKit ã³ãã³ããè¦ã¤ããã¾ãã"
@@ -730,51 +761,51 @@ msgid "Command not found."
msgstr "ã³ãã³ããè¦ã¤ããã¾ããã"
#. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:706
+#: ../contrib/command-not-found/pk-command-not-found.c:717
msgid "Similar command is:"
msgstr "ããä¼¼ãã³ãã³ãã¯:"
#. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:716
+#: ../contrib/command-not-found/pk-command-not-found.c:727
msgid "Run similar command:"
msgstr "ããä¼¼ãã³ãã³ããå®è¡:"
#. TRANSLATORS: show the user a list of commands that they could have meant
#. TRANSLATORS: show the user a list of commands we could run
-#: ../contrib/command-not-found/pk-command-not-found.c:730
-#: ../contrib/command-not-found/pk-command-not-found.c:739
+#: ../contrib/command-not-found/pk-command-not-found.c:741
+#: ../contrib/command-not-found/pk-command-not-found.c:750
msgid "Similar commands are:"
msgstr "ããä¼¼ãã³ãã³ãã¯:"
#. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:746
+#: ../contrib/command-not-found/pk-command-not-found.c:757
msgid "Please choose a command to run"
msgstr "å®è¡ããã³ãã³ããé¸ãã§ãã ãã"
#. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:764
+#: ../contrib/command-not-found/pk-command-not-found.c:775
msgid "The package providing this file is:"
msgstr "ãã®ãã¡ã¤ã«ãæä¾ãã¦ããããã±ã¼ã¸ã¯:"
#. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:769
+#: ../contrib/command-not-found/pk-command-not-found.c:780
#, c-format
msgid "Install package '%s' to provide command '%s'?"
msgstr "ã³ãã³ã %2$s' ãæä¾ããããã«ããã±ã¼ã¸ '%1$s' ãã¤ã³ã¹ãã¼ã«ãã¾ãã?"
#. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:793
+#: ../contrib/command-not-found/pk-command-not-found.c:804
msgid "Packages providing this file are:"
msgstr "ãã®ãã¡ã¤ã«ãæä¾ãã¦ããããã±ã¼ã¸ã¯:"
#. TRANSLATORS: Show the user a list of packages that they can install to provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:803
+#: ../contrib/command-not-found/pk-command-not-found.c:814
msgid "Suitable packages are:"
msgstr "é©åãªããã±ã¼ã¸ã¯:"
#. get selection
#. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:812
+#: ../contrib/command-not-found/pk-command-not-found.c:823
msgid "Please choose a package to install"
msgstr "ã¤ã³ã¹ãã¼ã«ããããã±ã¼ã¸ãé¸ãã§ãã ãã"
@@ -944,7 +975,7 @@ msgstr "ã·ãã¥ã¬ã¼ãã¢ã¼ãã§ã¯ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ã
#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
#. TRANSLATORS: transaction state, installing packages
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
-#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#: ../lib/packagekit-glib2/pk-console-shared.c:289
#, c-format
msgid "Installing packages"
msgstr "ããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ä¸"
@@ -974,92 +1005,92 @@ msgid "Disabled %i debugging sources."
msgstr "%i åã®ãããã°ã½ã¼ã¹ãç¡å¹åãã¾ãã"
#. TRANSLATORS: couldn't open device to write
-#: ../contrib/device-rebind/pk-device-rebind.c:61
+#: ../contrib/device-rebind/pk-device-rebind.c:62
msgid "Failed to open file"
msgstr "ãã¡ã¤ã«ãéãã®ã«å¤±æãã¾ãã"
#. TRANSLATORS: could not write to the device
-#: ../contrib/device-rebind/pk-device-rebind.c:70
+#: ../contrib/device-rebind/pk-device-rebind.c:71
msgid "Failed to write to the file"
msgstr "ãã¡ã¤ã«ã¸æ¸ãè¾¼ãã®ã«å¤±æãã¾ãã"
#. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:110
-#: ../contrib/device-rebind/pk-device-rebind.c:147
+#: ../contrib/device-rebind/pk-device-rebind.c:111
+#: ../contrib/device-rebind/pk-device-rebind.c:148
msgid "Failed to write to device"
msgstr "è£
ç½®ã¸æ¸ãè¾¼ãã®ã«å¤±æãã¾ãã"
#. TRANSLATORS: the device could not be found in sysfs
-#: ../contrib/device-rebind/pk-device-rebind.c:175
+#: ../contrib/device-rebind/pk-device-rebind.c:176
msgid "Device could not be found"
msgstr "è£
ç½®ãè¦ã¤ãããã¾ãã"
#. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:202
+#: ../contrib/device-rebind/pk-device-rebind.c:203
msgid "Failed to unregister driver"
msgstr "ãã©ã¤ãã¼ãç»é²è§£é¤ã§ãã¾ããã§ãã"
#. TRANSLATORS: we failed to bind the old driver
-#: ../contrib/device-rebind/pk-device-rebind.c:211
+#: ../contrib/device-rebind/pk-device-rebind.c:212
msgid "Failed to register driver"
msgstr "ãã©ã¤ãã¼ãç»é²ã§ãã¾ããã§ãã"
#. TRANSLATORS: user did not specify a device sysfs path that exists
-#: ../contrib/device-rebind/pk-device-rebind.c:260
+#: ../contrib/device-rebind/pk-device-rebind.c:261
msgid "Device path not found"
msgstr "è£
ç½®ã¸ã®ãã¹ãè¦ã¤ããã¾ãã"
#. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:268
+#: ../contrib/device-rebind/pk-device-rebind.c:269
msgid "Incorrect device path specified"
msgstr "æå®ãããè£
ç½®ã¸ã®ãã¹ãæ£ããããã¾ãã"
-#: ../contrib/device-rebind/pk-device-rebind.c:293
+#: ../contrib/device-rebind/pk-device-rebind.c:294
msgid "Show extra debugging information"
msgstr "追å ã®ãããã°æ
å ±ã表示"
#. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/device-rebind/pk-device-rebind.c:296
+#: ../contrib/device-rebind/pk-device-rebind.c:297
msgid "Don't actually touch the hardware, only simulate what would be done"
msgstr "ãã¼ãã¦ã§ã¢ã«å®éã«è§¦ããªãã§ãå®è¡ããããã¨ã模å£ãã¦ä¸ãã"
#. TRANSLATORS: command line option: a list of files to install
-#: ../contrib/device-rebind/pk-device-rebind.c:299
+#: ../contrib/device-rebind/pk-device-rebind.c:300
msgid "Device paths"
msgstr "ããã¤ã¹ãã¹"
#. TRANSLATORS: tool that gets called when the device needs reloading after installing firmware
-#: ../contrib/device-rebind/pk-device-rebind.c:314
+#: ../contrib/device-rebind/pk-device-rebind.c:315
msgid "PackageKit Device Reloader"
msgstr "PackageKit ããã¤ã¹ãªãã¼ãã¼"
#. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:322
+#: ../contrib/device-rebind/pk-device-rebind.c:323
msgid "You need to specify at least one valid device path"
msgstr "æå¹ãªããã¤ã¹ãå°ãªãã¨ãï¼ã¤æå®ããå¿
è¦ãããã¾ã"
#. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:332
+#: ../contrib/device-rebind/pk-device-rebind.c:333
msgid "This script can only be used by the root user"
msgstr "ãã®ã¹ã¯ãªãã㯠root ã¦ã¼ã¶ã¼ã§ã®ã¿ä½¿ç¨å¯è½ã§ã"
#. TRANSLATORS: we're going to verify the path first
-#: ../contrib/device-rebind/pk-device-rebind.c:341
+#: ../contrib/device-rebind/pk-device-rebind.c:342
msgid "Verifying device path"
msgstr "ããã¤ã¹ãã¹ã確証ãã¾ã"
#. TRANSLATORS: user did not specify a device sysfs path that exists
-#: ../contrib/device-rebind/pk-device-rebind.c:346
+#: ../contrib/device-rebind/pk-device-rebind.c:347
msgid "Failed to verify device path"
msgstr "ããã¤ã¹ãã¹ã®ç¢ºè¨¼ã«å¤±æãã¾ãã"
#. TRANSLATORS: we're going to try
-#: ../contrib/device-rebind/pk-device-rebind.c:360
+#: ../contrib/device-rebind/pk-device-rebind.c:361
msgid "Attempting to rebind device"
msgstr "ããã¤ã¹ã®åãã¤ã³ãã試ã¿ã¾ã"
#. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:365
+#: ../contrib/device-rebind/pk-device-rebind.c:366
msgid "Failed to rebind device"
msgstr "ããã¤ã¹ã®åãã¤ã³ãã«å¤±æ"
@@ -1075,464 +1106,464 @@ msgstr "PackageKit ããã±ã¼ã¸ãªã¹ã"
msgid "PackageKit Service Pack"
msgstr "PackageKit ãµã¼ãã¹ããã¯"
-#: ../lib/packagekit-glib2/pk-console-shared.c:59
+#: ../lib/packagekit-glib2/pk-console-shared.c:65
#, c-format
msgid "Please enter a number from 1 to %i: "
msgstr "1 ãã %i ã¾ã§ã®æ°åãï¼ã¤å
¥åãã¦ä¸ãã: "
#. TRANSLATORS: more than one package could be found that matched, to follow is a list of possible packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:183
+#: ../lib/packagekit-glib2/pk-console-shared.c:191
msgid "More than one package matches:"
msgstr "è¤æ°ã®ããã±ã¼ã¸ãä¸è´ãã¦ãã¾ã:"
#. TRANSLATORS: This finds out which package in the list to use
-#: ../lib/packagekit-glib2/pk-console-shared.c:196
+#: ../lib/packagekit-glib2/pk-console-shared.c:202
msgid "Please choose the correct package: "
msgstr "ç¾å¨ã®ããã±ã¼ã¸ãé¸æãã¦ä¸ãã: "
#. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:250
+#: ../lib/packagekit-glib2/pk-console-shared.c:257
msgid "Unknown state"
msgstr "ä¸æãªç¶æ
"
#. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:254
+#: ../lib/packagekit-glib2/pk-console-shared.c:261
msgid "Starting"
msgstr "éå§ä¸"
#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:258
+#: ../lib/packagekit-glib2/pk-console-shared.c:265
msgid "Waiting in queue"
msgstr "ãã¥ã¼ã§å¾
æ©ä¸"
#. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:262
+#: ../lib/packagekit-glib2/pk-console-shared.c:269
msgid "Running"
msgstr "å®è¡ä¸"
#. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:266
+#: ../lib/packagekit-glib2/pk-console-shared.c:273
msgid "Querying"
msgstr "ã¯ã¨ãªä¸"
#. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../lib/packagekit-glib2/pk-console-shared.c:277
msgid "Getting information"
msgstr "æ
å ±ãåå¾ä¸"
#. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#: ../lib/packagekit-glib2/pk-console-shared.c:281
msgid "Removing packages"
msgstr "ããã±ã¼ã¸ãåé¤ä¸"
#. TRANSLATORS: transaction state, downloading package files
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:278
-#: ../lib/packagekit-glib2/pk-console-shared.c:656
+#: ../lib/packagekit-glib2/pk-console-shared.c:285
+#: ../lib/packagekit-glib2/pk-console-shared.c:663
msgid "Downloading packages"
msgstr "ããã±ã¼ã¸ããã¦ã³ãã¼ãä¸"
#. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:286
+#: ../lib/packagekit-glib2/pk-console-shared.c:293
msgid "Refreshing software list"
msgstr "ã½ããã¦ã§ã¢ãªã¹ãããªãã¬ãã·ã¥ä¸"
#. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:290
+#: ../lib/packagekit-glib2/pk-console-shared.c:297
msgid "Installing updates"
msgstr "æ´æ°ãã¤ã³ã¹ãã¼ã«ä¸"
#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:294
+#: ../lib/packagekit-glib2/pk-console-shared.c:301
msgid "Cleaning up packages"
msgstr "ããã±ã¼ã¸ãã¯ãªã¼ã³ã¢ããä¸"
#. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:298
+#: ../lib/packagekit-glib2/pk-console-shared.c:305
msgid "Obsoleting packages"
msgstr "æ§ããã±ã¼ã¸ãåºåä¸"
#. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:309
msgid "Resolving dependencies"
msgstr "ä¾åé¢ä¿ã解決ä¸"
#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
-#: ../lib/packagekit-glib2/pk-console-shared.c:306
+#: ../lib/packagekit-glib2/pk-console-shared.c:313
msgid "Checking signatures"
msgstr "ç½²åããã§ãã¯ä¸"
#. TRANSLATORS: transaction state, when we return to a previous system state
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:310
-#: ../lib/packagekit-glib2/pk-console-shared.c:616
+#: ../lib/packagekit-glib2/pk-console-shared.c:317
+#: ../lib/packagekit-glib2/pk-console-shared.c:623
msgid "Rolling back"
msgstr "å
ã«æ»ãä¸"
#. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:314
+#: ../lib/packagekit-glib2/pk-console-shared.c:321
msgid "Testing changes"
msgstr "å¤æ´ããã¹ãä¸"
#. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:318
+#: ../lib/packagekit-glib2/pk-console-shared.c:325
msgid "Committing changes"
msgstr "å¤æ´ãã³ãããä¸"
#. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:322
+#: ../lib/packagekit-glib2/pk-console-shared.c:329
msgid "Requesting data"
msgstr "ãã¼ã¿ãè¦æ±ä¸"
#. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:326
+#: ../lib/packagekit-glib2/pk-console-shared.c:333
msgid "Finished"
msgstr "çµäº"
#. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:330
+#: ../lib/packagekit-glib2/pk-console-shared.c:337
msgid "Cancelling"
msgstr "ãã£ã³ã»ã«ä¸"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:334
+#: ../lib/packagekit-glib2/pk-console-shared.c:341
msgid "Downloading repository information"
msgstr "ã¬ãã¸ããªæ
å ±ããã¦ã³ãã¼ãä¸"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:338
+#: ../lib/packagekit-glib2/pk-console-shared.c:345
msgid "Downloading list of packages"
msgstr "ããã±ã¼ã¸ãªã¹ãããã¦ã³ãã¼ãä¸"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:342
+#: ../lib/packagekit-glib2/pk-console-shared.c:349
msgid "Downloading file lists"
msgstr "ãã¡ã¤ã«ãªã¹ãããã¦ã³ãã¼ãä¸"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:346
+#: ../lib/packagekit-glib2/pk-console-shared.c:353
msgid "Downloading lists of changes"
msgstr "å¤æ´ã®ãªã¹ãããã¦ã³ãã¼ãä¸"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:350
+#: ../lib/packagekit-glib2/pk-console-shared.c:357
msgid "Downloading groups"
msgstr "ã°ã«ã¼ãããã¦ã³ãã¼ãä¸"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:354
+#: ../lib/packagekit-glib2/pk-console-shared.c:361
msgid "Downloading update information"
msgstr "æ´æ°æ
å ±ããã¦ã³ãã¼ãä¸"
#. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:358
+#: ../lib/packagekit-glib2/pk-console-shared.c:365
msgid "Repackaging files"
msgstr "ãã¡ã¤ã«ãåããã±ã¼ã¸ä¸"
#. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:362
+#: ../lib/packagekit-glib2/pk-console-shared.c:369
msgid "Loading cache"
msgstr "ãã£ãã·ã¥ããã¼ãä¸"
#. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:366
+#: ../lib/packagekit-glib2/pk-console-shared.c:373
msgid "Scanning applications"
msgstr "ã¢ããªã±ã¼ã·ã§ã³ãã¹ãã£ã³ä¸"
#. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:370
+#: ../lib/packagekit-glib2/pk-console-shared.c:377
msgid "Generating package lists"
msgstr "ããã±ã¼ã¸ãªã¹ããçæä¸"
#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
-#: ../lib/packagekit-glib2/pk-console-shared.c:374
+#: ../lib/packagekit-glib2/pk-console-shared.c:381
msgid "Waiting for package manager lock"
msgstr "ããã±ã¼ã¸ããã¼ã¸ã£ããã¯ãå¾
ã¡åãä¸"
#. TRANSLATORS: transaction state, waiting for user to type in a password
-#: ../lib/packagekit-glib2/pk-console-shared.c:378
+#: ../lib/packagekit-glib2/pk-console-shared.c:385
msgid "Waiting for authentication"
msgstr "èªè¨¼ãå¾
ã¡åãä¸"
#. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:382
+#: ../lib/packagekit-glib2/pk-console-shared.c:389
msgid "Updating running applications"
msgstr "å®è¡ã¢ããªã±ã¼ã·ã§ã³ã®æ´æ°ä¸"
#. TRANSLATORS: transaction state, we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:386
+#: ../lib/packagekit-glib2/pk-console-shared.c:393
msgid "Checking applications in use"
msgstr "使ç¨ä¸ã¢ããªã±ã¼ã·ã§ã³ããã§ãã¯ä¸"
#. TRANSLATORS: transaction state, we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:390
+#: ../lib/packagekit-glib2/pk-console-shared.c:397
msgid "Checking libraries in use"
msgstr "使ç¨ä¸ã©ã¤ãã©ãªããã§ãã¯ä¸"
#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:394
+#: ../lib/packagekit-glib2/pk-console-shared.c:401
msgid "Copying files"
msgstr "ãã¡ã¤ã«è¤åä¸"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:412
+#: ../lib/packagekit-glib2/pk-console-shared.c:419
msgid "Trivial"
msgstr "äºç´°ãª"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:416
+#: ../lib/packagekit-glib2/pk-console-shared.c:423
msgid "Normal"
msgstr "é常"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:420
+#: ../lib/packagekit-glib2/pk-console-shared.c:427
msgid "Important"
msgstr "éè¦"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:424
+#: ../lib/packagekit-glib2/pk-console-shared.c:431
msgid "Security"
msgstr "ã»ãã¥ãªãã£ã¼"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:428
+#: ../lib/packagekit-glib2/pk-console-shared.c:435
msgid "Bug fix "
msgstr "ãã°ä¿®æ£"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:432
+#: ../lib/packagekit-glib2/pk-console-shared.c:439
msgid "Enhancement"
msgstr "æ©è½è¿½å "
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:436
+#: ../lib/packagekit-glib2/pk-console-shared.c:443
msgid "Blocked"
msgstr "ãããã¯ããã¦ãã¾ã"
#. TRANSLATORS: The state of a package
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:441
-#: ../lib/packagekit-glib2/pk-console-shared.c:514
+#: ../lib/packagekit-glib2/pk-console-shared.c:448
+#: ../lib/packagekit-glib2/pk-console-shared.c:521
msgid "Installed"
msgstr "ã¤ã³ã¹ãã¼ã«æ¸ã¿"
#. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:446
+#: ../lib/packagekit-glib2/pk-console-shared.c:453
msgid "Available"
msgstr "å©ç¨å¯è½"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:471
msgid "Downloading"
msgstr "ãã¦ã³ãã¼ãä¸"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:475
msgid "Updating"
msgstr "æ´æ°ä¸"
#. TRANSLATORS: The action of the package, in present tense
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:472
-#: ../lib/packagekit-glib2/pk-console-shared.c:592
+#: ../lib/packagekit-glib2/pk-console-shared.c:479
+#: ../lib/packagekit-glib2/pk-console-shared.c:599
msgid "Installing"
msgstr "ã¤ã³ã¹ãã¼ã«ä¸"
#. TRANSLATORS: The action of the package, in present tense
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:476
-#: ../lib/packagekit-glib2/pk-console-shared.c:588
+#: ../lib/packagekit-glib2/pk-console-shared.c:483
+#: ../lib/packagekit-glib2/pk-console-shared.c:595
msgid "Removing"
msgstr "åé¤ä¸"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:480
+#: ../lib/packagekit-glib2/pk-console-shared.c:487
msgid "Cleaning up"
msgstr "ã¯ãªã¼ã³ã¢ããä¸"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:484
+#: ../lib/packagekit-glib2/pk-console-shared.c:491
msgid "Obsoleting"
msgstr "æ§ãã¡ã¤ã«åºåä¸"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:488
+#: ../lib/packagekit-glib2/pk-console-shared.c:495
msgid "Reinstalling"
msgstr "åã¤ã³ã¹ãã¼ã«ä¸"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:506
+#: ../lib/packagekit-glib2/pk-console-shared.c:513
msgid "Downloaded"
msgstr "ãã¦ã³ãã¼ãæ¸ã¿"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:518
+#: ../lib/packagekit-glib2/pk-console-shared.c:525
msgid "Removed"
msgstr "åé¤æ¸ã¿"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:522
+#: ../lib/packagekit-glib2/pk-console-shared.c:529
msgid "Cleaned up"
msgstr "ã¯ãªã¼ã³ã¢ããæ¸ã¿"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:526
+#: ../lib/packagekit-glib2/pk-console-shared.c:533
msgid "Obsoleted"
msgstr "æ§ãã¡ã¤ã«åé¡æ¸ã¿"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:530
+#: ../lib/packagekit-glib2/pk-console-shared.c:537
msgid "Reinstalled"
msgstr "åã¤ã³ã¹ãã¼ã«æ¸ã¿"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:548
+#: ../lib/packagekit-glib2/pk-console-shared.c:555
msgid "Unknown role type"
msgstr "ä¸æãªãã¼ã«ã¿ã¤ã"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:552
+#: ../lib/packagekit-glib2/pk-console-shared.c:559
msgid "Getting dependencies"
msgstr "ä¾åé¢ä¿ãåå¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:556
+#: ../lib/packagekit-glib2/pk-console-shared.c:563
msgid "Getting update details"
msgstr "æ´æ°ã®è©³ç´°ãåå¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:560
+#: ../lib/packagekit-glib2/pk-console-shared.c:567
msgid "Getting details"
msgstr "詳細ãåå¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:564
+#: ../lib/packagekit-glib2/pk-console-shared.c:571
msgid "Getting requires"
msgstr "è¦æ±ãåå¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:568
+#: ../lib/packagekit-glib2/pk-console-shared.c:575
msgid "Getting updates"
msgstr "æ´æ°ãåå¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:572
+#: ../lib/packagekit-glib2/pk-console-shared.c:579
msgid "Searching by details"
msgstr "詳細ã§æ¤ç´¢ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:576
+#: ../lib/packagekit-glib2/pk-console-shared.c:583
msgid "Searching by file"
msgstr "ãã¡ã¤ã«ã§æ¤ç´¢ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:580
+#: ../lib/packagekit-glib2/pk-console-shared.c:587
msgid "Searching groups"
msgstr "ã°ã«ã¼ãæ¤ç´¢ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:584
+#: ../lib/packagekit-glib2/pk-console-shared.c:591
msgid "Searching by name"
msgstr "ååã§æ¤ç´¢ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:596
+#: ../lib/packagekit-glib2/pk-console-shared.c:603
msgid "Installing files"
msgstr "ãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:600
+#: ../lib/packagekit-glib2/pk-console-shared.c:607
msgid "Refreshing cache"
msgstr "ãã£ãã·ã¥ããªãã¬ãã·ã¥ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:604
+#: ../lib/packagekit-glib2/pk-console-shared.c:611
msgid "Updating packages"
msgstr "ããã±ã¼ã¸ãæ´æ°ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:608
+#: ../lib/packagekit-glib2/pk-console-shared.c:615
msgid "Updating system"
msgstr "ã·ã¹ãã ãæ´æ°ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:612
+#: ../lib/packagekit-glib2/pk-console-shared.c:619
msgid "Canceling"
msgstr "ãã£ã³ã»ã«ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:620
+#: ../lib/packagekit-glib2/pk-console-shared.c:627
msgid "Getting repositories"
msgstr "ã¬ãã¸ããªãåå¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:624
+#: ../lib/packagekit-glib2/pk-console-shared.c:631
msgid "Enabling repository"
msgstr "ã¬ãã¸ããªãæå¹åä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:628
+#: ../lib/packagekit-glib2/pk-console-shared.c:635
msgid "Setting data"
msgstr "ãã¼ã¿ãè¨å®ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:632
+#: ../lib/packagekit-glib2/pk-console-shared.c:639
msgid "Resolving"
msgstr "解é¤ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:636
+#: ../lib/packagekit-glib2/pk-console-shared.c:643
msgid "Getting file list"
msgstr "ãã¡ã¤ã«ãªã¹ããåå¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:640
+#: ../lib/packagekit-glib2/pk-console-shared.c:647
msgid "Getting provides"
msgstr "provide ãåå¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:644
+#: ../lib/packagekit-glib2/pk-console-shared.c:651
msgid "Installing signature"
msgstr "ç½²åãã¤ã³ã¹ãã¼ã«ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:648
+#: ../lib/packagekit-glib2/pk-console-shared.c:655
msgid "Getting packages"
msgstr "ããã±ã¼ã¸ãç²å¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:652
+#: ../lib/packagekit-glib2/pk-console-shared.c:659
msgid "Accepting EULA"
msgstr "EULA ãåå
¥ãä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:660
+#: ../lib/packagekit-glib2/pk-console-shared.c:667
msgid "Getting upgrades"
msgstr "æ´æ°ãç²å¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:664
+#: ../lib/packagekit-glib2/pk-console-shared.c:671
msgid "Getting categories"
msgstr "åºåãç²å¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:668
+#: ../lib/packagekit-glib2/pk-console-shared.c:675
msgid "Getting transactions"
msgstr "ãã©ã³ã¶ã¯ã·ã§ã³ãç²å¾ä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:672
-#: ../lib/packagekit-glib2/pk-console-shared.c:676
+#: ../lib/packagekit-glib2/pk-console-shared.c:679
+#: ../lib/packagekit-glib2/pk-console-shared.c:683
msgid "Simulating install"
msgstr "ã¤ã³ã¹ãã¼ã«ãã·ãã¥ã¬ã¼ãä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:680
+#: ../lib/packagekit-glib2/pk-console-shared.c:687
msgid "Simulating remove"
msgstr "åé¤ãã·ãã¥ã¬ã¼ãä¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:684
+#: ../lib/packagekit-glib2/pk-console-shared.c:691
msgid "Simulating update"
msgstr "æ´æ°ãã·ãã¥ã¬ã¼ãä¸"
@@ -1699,44 +1730,48 @@ msgid "Authentication is required to change software source parameters"
msgstr "ã½ããã¦ã§ã¢ã®ã½ã¼ã¹ãã©ã¡ã¼ã¿ãå¤æ´ããã«ã¯èªè¨¼ãå¿
è¦ã§ã"
#: ../policy/org.freedesktop.packagekit.policy.in.h:11
+msgid "Authentication is required to change the location used to decompress packages"
+msgstr "ããã±ã¼ã¸ã®å±éã«ä½¿ç¨ãããå ´æãå¤æ´ããã«ã¯ èªè¨¼ãå¿
è¦ã§ã"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:12
msgid ""
"Authentication is required to consider a key used for signing packages as "
"trusted"
msgstr "ããã±ã¼ã¸ç½²åã«ä½¿ç¨ããããã¼ãä¿¡é ¼ã§ããã¨å¤å®ããã«ã¯èªè¨¼ãå¿
è¦ã§ã"
-#: ../policy/org.freedesktop.packagekit.policy.in.h:12
+#: ../policy/org.freedesktop.packagekit.policy.in.h:13
msgid "Authentication is required to install a signed package"
msgstr "ç½²åä»ãã®ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããã«ã¯èªè¨¼ãå¿
è¦ã§ã"
-#: ../policy/org.freedesktop.packagekit.policy.in.h:13
+#: ../policy/org.freedesktop.packagekit.policy.in.h:14
msgid "Authentication is required to install an untrusted package"
msgstr "ä¿¡é ¼ã§ããªãããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããã«ã¯èªè¨¼ãå¿
è¦ã§ã"
-#: ../policy/org.freedesktop.packagekit.policy.in.h:14
+#: ../policy/org.freedesktop.packagekit.policy.in.h:15
msgid "Authentication is required to refresh the system sources"
msgstr "ã·ã¹ãã ã½ã¼ã¹ããªãã¬ãã·ã¥ããã«ã¯èªè¨¼ãå¿
è¦ã§ã"
-#: ../policy/org.freedesktop.packagekit.policy.in.h:15
+#: ../policy/org.freedesktop.packagekit.policy.in.h:16
msgid "Authentication is required to reload the device with a new driver"
msgstr "æ°è¦ãã©ã¤ãã¼ã§ããã¤ã¹ãåãã¼ãããã«ã¯èªè¨¼ãå¿
è¦ã§ã"
-#: ../policy/org.freedesktop.packagekit.policy.in.h:16
+#: ../policy/org.freedesktop.packagekit.policy.in.h:17
msgid "Authentication is required to remove packages"
msgstr "ããã±ã¼ã¸ãåé¤ããã«ã¯èªè¨¼ãå¿
è¦ã§ã"
-#: ../policy/org.freedesktop.packagekit.policy.in.h:17
+#: ../policy/org.freedesktop.packagekit.policy.in.h:18
msgid "Authentication is required to rollback a transaction"
msgstr "ãã©ã³ã¶ã¯ã·ã§ã³ãå
ã«æ»ãã«ã¯èªè¨¼ãå¿
è¦ã§ã"
-#: ../policy/org.freedesktop.packagekit.policy.in.h:18
+#: ../policy/org.freedesktop.packagekit.policy.in.h:19
msgid ""
"Authentication is required to set the network proxy used for downloading "
"packages"
msgstr ""
-"ããã±ã¼ã¸ã®ãã¦ã³ãã¼ãã«ä½¿ç¨ããããããã¯ã¼ã¯ãããã·ãã»ããããã«ã¯ "
-"èªè¨¼ãå¿
è¦ã§ã"
+"ããã±ã¼ã¸ã®ãã¦ã³ãã¼ãã«ä½¿ç¨ããããããã¯ã¼ã¯ãããã·ãã»ããããã«ã¯ èªè¨¼"
+"ãå¿
è¦ã§ã"
-#: ../policy/org.freedesktop.packagekit.policy.in.h:19
+#: ../policy/org.freedesktop.packagekit.policy.in.h:20
msgid "Authentication is required to update packages"
msgstr "ããã±ã¼ã¸ãæ´æ°ããã«ã¯èªè¨¼ãå¿
è¦ã§ã"
@@ -1745,16 +1780,26 @@ msgstr "ããã±ã¼ã¸ãæ´æ°ããã«ã¯èªè¨¼ãå¿
è¦ã§ã"
#. authentication, but a different user id needs the admin password
#. to cancel another users task.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:25
+#: ../policy/org.freedesktop.packagekit.policy.in.h:26
msgid "Cancel foreign task"
msgstr "ä»äººã®ã¿ã¹ã¯ããã£ã³ã»ã«"
#. SECURITY:
+#. - This is used when users want to install to a different prefix, for
+#. instance to a LTSP image or a virtual machine.
+#. - This could be used to overwrite files not owned by the user using
+#. a carefully created package file.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:33
+msgid "Change location that packages are installed"
+msgstr "ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ãããå ´æãå¤æ´ãã"
+
+#. SECURITY:
#. - Normal users require admin authentication to enable or disable
#. software sources as this can be used to enable new updates or
#. install different versions of software.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:31
+#: ../policy/org.freedesktop.packagekit.policy.in.h:39
msgid "Change software source parameters"
msgstr "ã½ããã¦ã§ã¢ã®ã½ã¼ã¹ãã©ã¡ã¼ã¿ãå¤æ´"
@@ -1764,7 +1809,7 @@ msgstr "ã½ããã¦ã§ã¢ã®ã½ã¼ã¹ãã©ã¡ã¼ã¿ãå¤æ´"
#. - Paranoid users (or parents!) can change this to 'auth_admin' or
#. 'auth_admin_keep'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:38
+#: ../policy/org.freedesktop.packagekit.policy.in.h:46
msgid "Install signed package"
msgstr "ç½²åä»ãã®ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«"
@@ -1774,7 +1819,7 @@ msgstr "ç½²åä»ãã®ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«"
#. password would be a massive security hole.
#. - This is not retained as each package should be authenticated.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:45
+#: ../policy/org.freedesktop.packagekit.policy.in.h:53
msgid "Install untrusted local file"
msgstr "ä¿¡é ¼ã§ããªããã¼ã«ã«ãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«"
@@ -1782,7 +1827,7 @@ msgstr "ä¿¡é ¼ã§ããªããã¼ã«ã«ãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«"
#. - Normal users do not require admin authentication to refresh the
#. cache, as this doesn't actually install or remove software.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:50
+#: ../policy/org.freedesktop.packagekit.policy.in.h:58
msgid "Refresh system sources"
msgstr "ã·ã¹ãã ã½ã¼ã¹ããªãã¬ãã·ã¥"
@@ -1793,7 +1838,7 @@ msgstr "ã·ã¹ãã ã½ã¼ã¹ããªãã¬ãã·ã¥"
#. try to rebind drivers in use, for instance security authentication
#. devices.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:58
+#: ../policy/org.freedesktop.packagekit.policy.in.h:66
msgid "Reload a device"
msgstr "ããã¤ã¹ãåãã¼ã"
@@ -1806,7 +1851,7 @@ msgstr "ããã¤ã¹ãåãã¼ã"
#. be removed. If this is not possible, change this authentication to
#. 'auth_admin'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:68
+#: ../policy/org.freedesktop.packagekit.policy.in.h:76
msgid "Remove package"
msgstr "ããã±ã¼ã¸ãåé¤"
@@ -1815,7 +1860,7 @@ msgstr "ããã±ã¼ã¸ãåé¤"
#. as this will change a large number of packages, and could expose the
#. system to previously patched security vulnerabilities.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:74
+#: ../policy/org.freedesktop.packagekit.policy.in.h:82
msgid "Rollback to a previous transaction"
msgstr "以åã®ãã©ã³ã¶ã¯ã·ã§ã³ã«æ»ã"
@@ -1823,7 +1868,7 @@ msgstr "以åã®ãã©ã³ã¶ã¯ã·ã§ã³ã«æ»ã"
#. - Normal users do not require admin authentication to set the proxy
#. used for downloading packages.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:79
+#: ../policy/org.freedesktop.packagekit.policy.in.h:87
msgid "Set network proxy"
msgstr "ãããã¯ã¼ã¯ãããã·ãã»ãã"
@@ -1833,7 +1878,7 @@ msgstr "ãããã¯ã¼ã¯ãããã·ãã»ãã"
#. without a secure authentication.
#. - This is not kept as each package should be authenticated.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:86
+#: ../policy/org.freedesktop.packagekit.policy.in.h:94
msgid "Trust a key used for signing packages"
msgstr "ããã±ã¼ã¸ã®ç½²åã«ä½¿ç¨ããããã¼ãä¿¡é ¼"
@@ -1844,7 +1889,7 @@ msgstr "ããã±ã¼ã¸ã®ç½²åã«ä½¿ç¨ããããã¼ãä¿¡é ¼"
#. - Changing this to anything other than 'yes' will break unattended
#. updates.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:94
+#: ../policy/org.freedesktop.packagekit.policy.in.h:102
msgid "Update packages"
msgstr "ããã±ã¼ã¸ãæ´æ°"
@@ -1868,7 +1913,9 @@ msgstr "æ£ããã¦ã¼ã¶ã¼ãå®è¡å¯è½ãã¡ã¤ã«ãéå§ãã¦ããªã
msgid ""
"The org.freedesktop.PackageKit.conf file is not installed in the system "
"directory:"
-msgstr "org.freedesktop.PackageKit.conf ãã¡ã¤ã«ãã·ã¹ãã ãã£ã¬ã¯ããªã«ã¤ã³ã¹ãã¼ã«ããã¦ããªã:"
+msgstr ""
+"org.freedesktop.PackageKit.conf ãã¡ã¤ã«ãã·ã¹ãã ãã£ã¬ã¯ããªã«ã¤ã³ã¹ãã¼ã«"
+"ããã¦ããªã:"
#. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
#: ../src/pk-main.c:199
@@ -1918,8 +1965,8 @@ msgstr "ã¹ã¿ã¼ãã®è©¦è¡ã§ã¨ã©ã¼:"
#: ../src/pk-polkit-action-lookup.c:150
msgid "To install debugging packages, extra sources need to be enabled"
msgstr ""
-"ãããã®ã³ã°ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããã«ã¯ãã¨ãã¹ãã©ã½ã¼ã¹ãæå¹ã«ãªã "
-"å¿
è¦ããã¾ã"
+"ãããã®ã³ã°ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããã«ã¯ãã¨ãã¹ãã©ã½ã¼ã¹ãæå¹ã«ãªã å¿
"
+"è¦ããã¾ã"
#. TRANSLATORS: is not GPG signed
#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
@@ -1932,15 +1979,21 @@ msgstr "å®è¡ãå®å
¨ãªãã¨ã確信ã§ããªãéãã¯ãã®ããã±ã¼
#: ../src/pk-polkit-action-lookup.c:177
msgid "Do not update these packages unless you are sure it is safe to do so."
-msgstr "å®è¡ãå®å
¨ãªãã¨ã確信ã§ããªãéãã¯ãããã®ããã±ã¼ã¸ç¾¤ãæ´æ°ããªãã§ä¸ããã"
+msgstr ""
+"å®è¡ãå®å
¨ãªãã¨ã確信ã§ããªãéãã¯ãããã®ããã±ã¼ã¸ç¾¤ãæ´æ°ããªãã§ä¸ã"
+"ãã"
#: ../src/pk-polkit-action-lookup.c:195
msgid "Do not install this package unless you are sure it is safe to do so."
-msgstr "å®è¡ãå®å
¨ãªãã¨ã確信ã§ããªãéãã¯ãã®ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããªãã§ä¸ããã"
+msgstr ""
+"å®è¡ãå®å
¨ãªãã¨ã確信ã§ããªãéãã¯ãã®ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããªãã§ä¸ã"
+"ãã"
#: ../src/pk-polkit-action-lookup.c:196
msgid "Do not install these packages unless you are sure it is safe to do so."
-msgstr "å®è¡ãå®å
¨ãªãã¨ã確信ã§ããªãéãã¯ãããã®ããã±ã¼ã¸ç¾¤ãã¤ã³ã¹ãã¼ã«ããªãã§ä¸ããã"
+msgstr ""
+"å®è¡ãå®å
¨ãªãã¨ã確信ã§ããªãéãã¯ãããã®ããã±ã¼ã¸ç¾¤ãã¤ã³ã¹ãã¼ã«ããªã"
+"ã§ä¸ããã"
#. TRANSLATORS: too many packages to list each one
#: ../src/pk-polkit-action-lookup.c:273
@@ -1958,25 +2011,25 @@ msgid "Show debugging information for all files"
msgstr "å
¨ã¦ã®ãã¡ã¤ã«ç¨ã«ãããã°æ
å ±ã表示"
#. TRANSLATORS: a list of modules to debug
-#: ../src/egg-debug.c:459
+#: ../src/egg-debug.c:458
msgid "Debug these specific modules"
msgstr "ãããã®ç¹å®ã®ã¢ã¸ã¥ã¼ã«ãããã°"
#. TRANSLATORS: a list of functions to debug
-#: ../src/egg-debug.c:462
+#: ../src/egg-debug.c:461
msgid "Debug these specific functions"
msgstr "ãããã®ç¹å®ã®æ©è½ãããã°"
#. TRANSLATORS: save to a log
-#: ../src/egg-debug.c:465
+#: ../src/egg-debug.c:464
msgid "Log debugging data to a file"
msgstr "ãããã®ã³ã°ãã¼ã¿ããã¡ã¤ã«ã«ãã°"
-#: ../src/egg-debug.c:469
+#: ../src/egg-debug.c:468
msgid "Debugging Options"
msgstr "ãããã®ã³ã°ãªãã·ã§ã³"
-#: ../src/egg-debug.c:469
+#: ../src/egg-debug.c:468
msgid "Show debugging options"
msgstr "ãããã°ãªãã·ã§ã³ã表示"
commit 3ab408f760040a8e3913ce55544ba261169b7f3b
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Jun 2 21:45:19 2010 +0100
trivial: sync the fedora spec file with upstream
diff --git a/contrib/PackageKit.spec.in b/contrib/PackageKit.spec.in
index fe39b91..8939599 100644
--- a/contrib/PackageKit.spec.in
+++ b/contrib/PackageKit.spec.in
@@ -49,12 +49,6 @@ BuildRequires: pm-utils-devel
BuildRequires: fontconfig-devel
BuildRequires: gobject-introspection-devel
-# for the fancy new yum accelerator
-BuildRequires: rpm-devel
-BuildRequires: libsoup-devel
-BuildRequires: bzip2-devel
-BuildRequires: zlib-devel
-
# functionality moved to udev itself
Obsoletes: PackageKit-udev-helper < %{version}-%{release}
Obsoletes: udev-packagekit < %{version}-%{release}
commit 60f0dbeece8dc8f2b089d843705a80382856c237
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Jun 2 11:11:47 2010 +0100
trivial: post release version bump
diff --git a/RELEASE b/RELEASE
index 5b5ca6c..4bfad3e 100644
--- a/RELEASE
+++ b/RELEASE
@@ -2,10 +2,10 @@ PackageKit Release Notes
1. Write NEWS entries for PackageKit in the same format as usual.
-git shortlog PACKAGEKIT_0_6_4.. | grep -i -v trivial | grep -v Merge > NEWS.new
+git shortlog PACKAGEKIT_0_6_5.. | grep -i -v trivial | grep -v Merge > NEWS.new
--------------------------------------------------------------------------------
-Version 0.6.5
+Version 0.6.6
~~~~~~~~~~~~~
Released: 2010-xx-xx
@@ -28,8 +28,8 @@ Bugfixes:
4. Commit changes in PackageKit git:
-git commit -a -m "Release version 0.6.5"
-git tag -s -f -m "Release 0.6.5" PACKAGEKIT_0_6_5
+git commit -a -m "Release version 0.6.6"
+git tag -s -f -m "Release 0.6.6" PACKAGEKIT_0_6_6
<gpg password>
git push --tags
git push
@@ -54,9 +54,9 @@ git push
10. Send an email to packagekit at lists.freedesktop.org
=================================================
-Subject: PackageKit 0.6.5 released!
+Subject: PackageKit 0.6.6 released!
-Today I released PackageKit 0.6.5.
+Today I released PackageKit 0.6.6.
PackageKit release notes: http://cgit.freedesktop.org/packagekit/tree/NEWS
diff --git a/configure.ac b/configure.ac
index ae0dfc6..321444e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ(2.63)
m4_define([pk_major_version], [0])
m4_define([pk_minor_version], [6])
-m4_define([pk_micro_version], [5])
+m4_define([pk_micro_version], [6])
m4_define([pk_version],
[pk_major_version.pk_minor_version.pk_micro_version])
More information about the PackageKit-commit
mailing list